work on JASTrack (#2065)

This commit is contained in:
Caroline Madsen 2024-02-06 19:41:47 -05:00 committed by GitHub
parent c19d9b02be
commit a825c39d93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
48 changed files with 898 additions and 1324 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 45.347534% | 1630944 | 3596544
.text | 45.630361% | 1641116 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 51.107875% | 2054880 | 4020672
Total | 51.360867% | 2065052 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 51.107875% | 2054880 | 4020672
main.dol | 51.360867% | 2065052 | 4020672
RELs | 35.736871% | 4109856 | 11500324
Total | 39.718688% | 6164736 | 15520996
Total | 39.784225% | 6174908 | 15520996
## RELs

View File

@ -1,38 +0,0 @@
lbl_80292F90:
/* 80292F90 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80292F94 7C 08 02 A6 */ mflr r0
/* 80292F98 90 01 00 34 */ stw r0, 0x34(r1)
/* 80292F9C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80292FA0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80292FA4 7C 7E 1B 78 */ mr r30, r3
/* 80292FA8 7C 9F 23 78 */ mr r31, r4
/* 80292FAC 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80292FB0 28 00 00 00 */ cmplwi r0, 0
/* 80292FB4 40 82 00 24 */ bne lbl_80292FD8
/* 80292FB8 3C 60 80 29 */ lis r3, cbSeqMain__Q28JASTrack5TListFPv@ha /* 0x80292F6C@ha */
/* 80292FBC 38 63 2F 6C */ addi r3, r3, cbSeqMain__Q28JASTrack5TListFPv@l /* 0x80292F6C@l */
/* 80292FC0 7F C4 F3 78 */ mr r4, r30
/* 80292FC4 48 00 B2 B1 */ bl registerSubFrameCallback__9JASDriverFPFPv_lPv
/* 80292FC8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80292FCC 41 82 00 38 */ beq lbl_80293004
/* 80292FD0 38 00 00 01 */ li r0, 1
/* 80292FD4 98 1E 00 0C */ stb r0, 0xc(r30)
lbl_80292FD8:
/* 80292FD8 38 1E 00 04 */ addi r0, r30, 4
/* 80292FDC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80292FE0 90 01 00 08 */ stw r0, 8(r1)
/* 80292FE4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80292FE8 90 01 00 18 */ stw r0, 0x18(r1)
/* 80292FEC 38 DF 02 40 */ addi r6, r31, 0x240
/* 80292FF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292FF4 38 61 00 10 */ addi r3, r1, 0x10
/* 80292FF8 7F C4 F3 78 */ mr r4, r30
/* 80292FFC 38 A1 00 14 */ addi r5, r1, 0x14
/* 80293000 48 04 9B A9 */ bl Insert__Q27JGadget13TNodeLinkListFQ37JGadget13TNodeLinkList8iteratorPQ27JGadget13TLinkListNode
lbl_80293004:
/* 80293004 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80293008 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8029300C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80293010 7C 08 03 A6 */ mtlr r0
/* 80293014 38 21 00 30 */ addi r1, r1, 0x30
/* 80293018 4E 80 00 20 */ blr

View File

@ -1,6 +0,0 @@
lbl_802919F4:
/* 802919F4 54 80 10 3A */ slwi r0, r4, 2
/* 802919F8 7C 63 02 14 */ add r3, r3, r0
/* 802919FC 80 63 01 70 */ lwz r3, 0x170(r3)
/* 80291A00 90 A3 00 48 */ stw r5, 0x48(r3)
/* 80291A04 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_80292F6C:
/* 80292F6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292F70 7C 08 02 A6 */ mflr r0
/* 80292F74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292F78 48 00 00 A5 */ bl seqMain__Q28JASTrack5TListFv
/* 80292F7C 38 60 00 00 */ li r3, 0
/* 80292F80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292F84 7C 08 03 A6 */ mtlr r0
/* 80292F88 38 21 00 10 */ addi r1, r1, 0x10
/* 80292F8C 4E 80 00 20 */ blr

View File

@ -1,65 +0,0 @@
lbl_80292CA4:
/* 80292CA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292CA8 7C 08 02 A6 */ mflr r0
/* 80292CAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292CB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80292CB4 93 C1 00 08 */ stw r30, 8(r1)
/* 80292CB8 7C 9E 23 78 */ mr r30, r4
/* 80292CBC 7C DF 33 78 */ mr r31, r6
/* 80292CC0 80 06 00 4C */ lwz r0, 0x4c(r6)
/* 80292CC4 2C 03 00 02 */ cmpwi r3, 2
/* 80292CC8 41 82 00 7C */ beq lbl_80292D44
/* 80292CCC 40 80 00 10 */ bge lbl_80292CDC
/* 80292CD0 2C 03 00 00 */ cmpwi r3, 0
/* 80292CD4 40 80 00 14 */ bge lbl_80292CE8
/* 80292CD8 48 00 00 98 */ b lbl_80292D70
lbl_80292CDC:
/* 80292CDC 2C 03 00 04 */ cmpwi r3, 4
/* 80292CE0 40 80 00 90 */ bge lbl_80292D70
/* 80292CE4 48 00 00 40 */ b lbl_80292D24
lbl_80292CE8:
/* 80292CE8 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 80292CEC D0 1E 00 9C */ stfs f0, 0x9c(r30)
/* 80292CF0 C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 80292CF4 D0 1E 00 A0 */ stfs f0, 0xa0(r30)
/* 80292CF8 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80292CFC D0 1E 00 A4 */ stfs f0, 0xa4(r30)
/* 80292D00 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 80292D04 D0 1E 00 A8 */ stfs f0, 0xa8(r30)
/* 80292D08 C0 1F 00 30 */ lfs f0, 0x30(r31)
/* 80292D0C D0 1E 00 AC */ stfs f0, 0xac(r30)
/* 80292D10 C0 1F 00 34 */ lfs f0, 0x34(r31)
/* 80292D14 D0 1E 00 B0 */ stfs f0, 0xb0(r30)
/* 80292D18 7C 03 03 78 */ mr r3, r0
/* 80292D1C 4B FF FE D9 */ bl updateChannel__8JASTrackFP10JASChannelPQ26JASDsp8TChannel
/* 80292D20 48 00 00 50 */ b lbl_80292D70
lbl_80292D24:
/* 80292D24 7F C3 F3 78 */ mr r3, r30
/* 80292D28 38 80 00 00 */ li r4, 0
/* 80292D2C 48 00 7D A5 */ bl release__10JASChannelFUs
/* 80292D30 7F C3 F3 78 */ mr r3, r30
/* 80292D34 48 00 8E C9 */ bl free__10JASChannelFv
/* 80292D38 38 00 00 00 */ li r0, 0
/* 80292D3C 90 1F 00 00 */ stw r0, 0(r31)
/* 80292D40 48 00 00 30 */ b lbl_80292D70
lbl_80292D44:
/* 80292D44 38 60 00 00 */ li r3, 0
/* 80292D48 38 00 00 08 */ li r0, 8
/* 80292D4C 7C 09 03 A6 */ mtctr r0
lbl_80292D50:
/* 80292D50 7C 1F 18 2E */ lwzx r0, r31, r3
/* 80292D54 7C 1E 00 40 */ cmplw r30, r0
/* 80292D58 40 82 00 10 */ bne lbl_80292D68
/* 80292D5C 38 00 00 00 */ li r0, 0
/* 80292D60 7C 1F 19 2E */ stwx r0, r31, r3
/* 80292D64 48 00 00 0C */ b lbl_80292D70
lbl_80292D68:
/* 80292D68 38 63 00 04 */ addi r3, r3, 4
/* 80292D6C 42 00 FF E4 */ bdnz lbl_80292D50
lbl_80292D70:
/* 80292D70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80292D74 83 C1 00 08 */ lwz r30, 8(r1)
/* 80292D78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292D7C 7C 08 03 A6 */ mtlr r0
/* 80292D80 38 21 00 10 */ addi r1, r1, 0x10
/* 80292D84 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_80292220:
/* 80292220 38 A0 00 00 */ li r5, 0
/* 80292224 54 84 10 3A */ slwi r4, r4, 2
/* 80292228 80 03 01 D0 */ lwz r0, 0x1d0(r3)
/* 8029222C 7C 09 03 A6 */ mtctr r0
/* 80292230 28 00 00 00 */ cmplwi r0, 0
/* 80292234 40 81 00 30 */ ble lbl_80292264
lbl_80292238:
/* 80292238 38 05 01 70 */ addi r0, r5, 0x170
/* 8029223C 7C 03 00 2E */ lwzx r0, r3, r0
/* 80292240 28 00 00 00 */ cmplwi r0, 0
/* 80292244 41 82 00 18 */ beq lbl_8029225C
/* 80292248 7C 04 00 2E */ lwzx r0, r4, r0
/* 8029224C 28 00 00 00 */ cmplwi r0, 0
/* 80292250 41 82 00 0C */ beq lbl_8029225C
/* 80292254 38 60 00 00 */ li r3, 0
/* 80292258 4E 80 00 20 */ blr
lbl_8029225C:
/* 8029225C 38 A5 00 04 */ addi r5, r5, 4
/* 80292260 42 00 FF D8 */ bdnz lbl_80292238
lbl_80292264:
/* 80292264 38 60 00 01 */ li r3, 1
/* 80292268 4E 80 00 20 */ blr

View File

@ -1,55 +0,0 @@
lbl_80291AC8:
/* 80291AC8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80291ACC 7C 08 02 A6 */ mflr r0
/* 80291AD0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80291AD4 39 61 00 20 */ addi r11, r1, 0x20
/* 80291AD8 48 0D 06 F9 */ bl _savegpr_26
/* 80291ADC 7C 7A 1B 78 */ mr r26, r3
/* 80291AE0 3B 80 00 00 */ li r28, 0
/* 80291AE4 3B E0 00 00 */ li r31, 0
/* 80291AE8 7F FE FB 78 */ mr r30, r31
lbl_80291AEC:
/* 80291AEC 3B BF 01 30 */ addi r29, r31, 0x130
/* 80291AF0 7F 7A E8 2E */ lwzx r27, r26, r29
/* 80291AF4 28 1B 00 00 */ cmplwi r27, 0
/* 80291AF8 41 82 00 28 */ beq lbl_80291B20
/* 80291AFC 7F 63 DB 78 */ mr r3, r27
/* 80291B00 4B FF FF C9 */ bl close__8JASTrackFv
/* 80291B04 88 1B 02 16 */ lbz r0, 0x216(r27)
/* 80291B08 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 80291B0C 41 82 00 14 */ beq lbl_80291B20
/* 80291B10 7F 63 DB 78 */ mr r3, r27
/* 80291B14 38 80 00 01 */ li r4, 1
/* 80291B18 4B FF F8 05 */ bl __dt__8JASTrackFv
/* 80291B1C 7F DA E9 2E */ stwx r30, r26, r29
lbl_80291B20:
/* 80291B20 3B 9C 00 01 */ addi r28, r28, 1
/* 80291B24 2C 1C 00 10 */ cmpwi r28, 0x10
/* 80291B28 3B FF 00 04 */ addi r31, r31, 4
/* 80291B2C 41 80 FF C0 */ blt lbl_80291AEC
/* 80291B30 3B 60 00 00 */ li r27, 0
/* 80291B34 3B E0 00 00 */ li r31, 0
/* 80291B38 48 00 00 20 */ b lbl_80291B58
lbl_80291B3C:
/* 80291B3C 38 1F 01 70 */ addi r0, r31, 0x170
/* 80291B40 7C 7A 00 2E */ lwzx r3, r26, r0
/* 80291B44 28 03 00 00 */ cmplwi r3, 0
/* 80291B48 41 82 00 08 */ beq lbl_80291B50
/* 80291B4C 48 00 16 65 */ bl releaseAll__Q28JASTrack11TChannelMgrFv
lbl_80291B50:
/* 80291B50 3B 7B 00 01 */ addi r27, r27, 1
/* 80291B54 3B FF 00 04 */ addi r31, r31, 4
lbl_80291B58:
/* 80291B58 80 1A 01 D0 */ lwz r0, 0x1d0(r26)
/* 80291B5C 7C 1B 00 40 */ cmplw r27, r0
/* 80291B60 41 80 FF DC */ blt lbl_80291B3C
/* 80291B64 38 00 00 00 */ li r0, 0
/* 80291B68 90 1A 01 2C */ stw r0, 0x12c(r26)
/* 80291B6C 38 00 00 02 */ li r0, 2
/* 80291B70 98 1A 02 15 */ stb r0, 0x215(r26)
/* 80291B74 39 61 00 20 */ addi r11, r1, 0x20
/* 80291B78 48 0D 06 A5 */ bl _restgpr_26
/* 80291B7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80291B80 7C 08 03 A6 */ mtlr r0
/* 80291B84 38 21 00 20 */ addi r1, r1, 0x20
/* 80291B88 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_80291DAC:
/* 80291DAC 54 80 08 3C */ slwi r0, r4, 1
/* 80291DB0 7C 63 02 14 */ add r3, r3, r0
/* 80291DB4 B0 A3 02 34 */ sth r5, 0x234(r3)
/* 80291DB8 4E 80 00 20 */ blr

View File

@ -1,13 +0,0 @@
lbl_80291B8C:
/* 80291B8C 54 80 10 3A */ slwi r0, r4, 2
/* 80291B90 7C 83 02 14 */ add r4, r3, r0
/* 80291B94 80 04 01 30 */ lwz r0, 0x130(r4)
/* 80291B98 28 00 00 00 */ cmplwi r0, 0
/* 80291B9C 41 82 00 0C */ beq lbl_80291BA8
/* 80291BA0 38 60 00 00 */ li r3, 0
/* 80291BA4 4E 80 00 20 */ blr
lbl_80291BA8:
/* 80291BA8 90 65 01 2C */ stw r3, 0x12c(r5)
/* 80291BAC 90 A4 01 30 */ stw r5, 0x130(r4)
/* 80291BB0 38 60 00 01 */ li r3, 1
/* 80291BB4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80292D88:
/* 80292D88 48 00 00 08 */ b lbl_80292D90
lbl_80292D8C:
/* 80292D8C 7C 03 03 78 */ mr r3, r0
lbl_80292D90:
/* 80292D90 80 03 01 2C */ lwz r0, 0x12c(r3)
/* 80292D94 28 00 00 00 */ cmplwi r0, 0
/* 80292D98 40 82 FF F4 */ bne lbl_80292D8C
/* 80292D9C 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_80292AA4:
/* 80292AA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292AA8 7C 08 02 A6 */ mflr r0
/* 80292AAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292AB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80292AB4 7C 7F 1B 78 */ mr r31, r3
/* 80292AB8 80 63 01 2C */ lwz r3, 0x12c(r3)
/* 80292ABC 28 03 00 00 */ cmplwi r3, 0
/* 80292AC0 41 82 00 18 */ beq lbl_80292AD8
/* 80292AC4 4B FF FF E1 */ bl getTransposeTotal__8JASTrackCFv
/* 80292AC8 88 1F 02 2A */ lbz r0, 0x22a(r31)
/* 80292ACC 7C 00 07 74 */ extsb r0, r0
/* 80292AD0 7C 60 1A 14 */ add r3, r0, r3
/* 80292AD4 48 00 00 0C */ b lbl_80292AE0
lbl_80292AD8:
/* 80292AD8 88 7F 02 2A */ lbz r3, 0x22a(r31)
/* 80292ADC 7C 63 07 74 */ extsb r3, r3
lbl_80292AE0:
/* 80292AE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80292AE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292AE8 7C 08 03 A6 */ mtlr r0
/* 80292AEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80292AF0 4E 80 00 20 */ blr

View File

@ -1,46 +0,0 @@
lbl_8029194C:
/* 8029194C 88 04 02 16 */ lbz r0, 0x216(r4)
/* 80291950 54 05 DF FE */ rlwinm r5, r0, 0x1b, 0x1f, 0x1f
/* 80291954 88 03 02 16 */ lbz r0, 0x216(r3)
/* 80291958 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 8029195C 98 03 02 16 */ stb r0, 0x216(r3)
/* 80291960 A0 04 02 2C */ lhz r0, 0x22c(r4)
/* 80291964 B0 03 02 2C */ sth r0, 0x22c(r3)
/* 80291968 A0 04 02 2E */ lhz r0, 0x22e(r4)
/* 8029196C B0 03 02 2E */ sth r0, 0x22e(r3)
/* 80291970 88 04 02 31 */ lbz r0, 0x231(r4)
/* 80291974 98 03 02 31 */ stb r0, 0x231(r3)
/* 80291978 88 04 02 32 */ lbz r0, 0x232(r4)
/* 8029197C 98 03 02 32 */ stb r0, 0x232(r3)
/* 80291980 80 04 02 20 */ lwz r0, 0x220(r4)
/* 80291984 90 03 02 20 */ stw r0, 0x220(r3)
/* 80291988 38 A0 00 00 */ li r5, 0
/* 8029198C 38 00 00 08 */ li r0, 8
/* 80291990 7C 09 03 A6 */ mtctr r0
lbl_80291994:
/* 80291994 38 C5 01 F4 */ addi r6, r5, 0x1f4
/* 80291998 7C 04 32 AE */ lhax r0, r4, r6
/* 8029199C 7C 03 33 2E */ sthx r0, r3, r6
/* 802919A0 38 A5 00 02 */ addi r5, r5, 2
/* 802919A4 42 00 FF F0 */ bdnz lbl_80291994
/* 802919A8 38 A0 00 00 */ li r5, 0
/* 802919AC 38 00 00 08 */ li r0, 8
/* 802919B0 7C 09 03 A6 */ mtctr r0
lbl_802919B4:
/* 802919B4 38 C5 02 04 */ addi r6, r5, 0x204
/* 802919B8 7C 04 32 AE */ lhax r0, r4, r6
/* 802919BC 7C 03 33 2E */ sthx r0, r3, r6
/* 802919C0 38 A5 00 02 */ addi r5, r5, 2
/* 802919C4 42 00 FF F0 */ bdnz lbl_802919B4
/* 802919C8 88 04 02 14 */ lbz r0, 0x214(r4)
/* 802919CC 98 03 02 14 */ stb r0, 0x214(r3)
/* 802919D0 38 A0 00 00 */ li r5, 0
/* 802919D4 38 00 00 06 */ li r0, 6
/* 802919D8 7C 09 03 A6 */ mtctr r0
lbl_802919DC:
/* 802919DC 38 C5 02 34 */ addi r6, r5, 0x234
/* 802919E0 7C 04 32 2E */ lhzx r0, r4, r6
/* 802919E4 7C 03 33 2E */ sthx r0, r3, r6
/* 802919E8 38 A5 00 02 */ addi r5, r5, 2
/* 802919EC 42 00 FF F0 */ bdnz lbl_802919DC
/* 802919F0 4E 80 00 20 */ blr

View File

@ -1,29 +0,0 @@
lbl_80292AF4:
/* 80292AF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292AF8 7C 08 02 A6 */ mflr r0
/* 80292AFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292B00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80292B04 80 83 01 2C */ lwz r4, 0x12c(r3)
/* 80292B08 28 04 00 00 */ cmplwi r4, 0
/* 80292B0C 41 82 00 2C */ beq lbl_80292B38
/* 80292B10 3B E0 00 00 */ li r31, 0
/* 80292B14 88 03 02 16 */ lbz r0, 0x216(r3)
/* 80292B18 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80292B1C 40 82 00 14 */ bne lbl_80292B30
/* 80292B20 7C 83 23 78 */ mr r3, r4
/* 80292B24 4B FF FF D1 */ bl isMute__8JASTrackCFv
/* 80292B28 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80292B2C 41 82 00 14 */ beq lbl_80292B40
lbl_80292B30:
/* 80292B30 3B E0 00 01 */ li r31, 1
/* 80292B34 48 00 00 0C */ b lbl_80292B40
lbl_80292B38:
/* 80292B38 88 03 02 16 */ lbz r0, 0x216(r3)
/* 80292B3C 54 1F D7 FE */ rlwinm r31, r0, 0x1a, 0x1f, 0x1f
lbl_80292B40:
/* 80292B40 7F E3 FB 78 */ mr r3, r31
/* 80292B44 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80292B48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292B4C 7C 08 03 A6 */ mtlr r0
/* 80292B50 38 21 00 10 */ addi r1, r1, 0x10
/* 80292B54 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_802927A0:
/* 802927A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802927A4 7C 08 02 A6 */ mflr r0
/* 802927A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802927AC 88 03 02 16 */ lbz r0, 0x216(r3)
/* 802927B0 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 802927B4 98 03 02 16 */ stb r0, 0x216(r3)
/* 802927B8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802927BC 41 82 00 0C */ beq lbl_802927C8
/* 802927C0 38 80 00 0A */ li r4, 0xa
/* 802927C4 4B FF FF 45 */ bl noteOffAll__8JASTrackFUs
lbl_802927C8:
/* 802927C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802927CC 7C 08 03 A6 */ mtlr r0
/* 802927D0 38 21 00 10 */ addi r1, r1, 0x10
/* 802927D4 4E 80 00 20 */ blr

View File

@ -1,43 +0,0 @@
lbl_80292708:
/* 80292708 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029270C 7C 08 02 A6 */ mflr r0
/* 80292710 90 01 00 24 */ stw r0, 0x24(r1)
/* 80292714 39 61 00 20 */ addi r11, r1, 0x20
/* 80292718 48 0C FA C1 */ bl _savegpr_28
/* 8029271C 7C 7C 1B 78 */ mr r28, r3
/* 80292720 7C 9D 23 78 */ mr r29, r4
/* 80292724 3B E0 00 00 */ li r31, 0
/* 80292728 48 00 00 18 */ b lbl_80292740
lbl_8029272C:
/* 8029272C 7F 83 E3 78 */ mr r3, r28
/* 80292730 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 80292734 7F A5 EB 78 */ mr r5, r29
/* 80292738 4B FF FA 61 */ bl noteOff__8JASTrackFUlUs
/* 8029273C 3B FF 00 01 */ addi r31, r31, 1
lbl_80292740:
/* 80292740 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 80292744 28 00 00 08 */ cmplwi r0, 8
/* 80292748 41 80 FF E4 */ blt lbl_8029272C
/* 8029274C 3B C0 00 00 */ li r30, 0
/* 80292750 3B E0 00 00 */ li r31, 0
lbl_80292754:
/* 80292754 38 1F 01 30 */ addi r0, r31, 0x130
/* 80292758 7C 7C 00 2E */ lwzx r3, r28, r0
/* 8029275C 28 03 00 00 */ cmplwi r3, 0
/* 80292760 41 82 00 18 */ beq lbl_80292778
/* 80292764 88 03 02 15 */ lbz r0, 0x215(r3)
/* 80292768 28 00 00 01 */ cmplwi r0, 1
/* 8029276C 40 82 00 0C */ bne lbl_80292778
/* 80292770 7F A4 EB 78 */ mr r4, r29
/* 80292774 4B FF FF 95 */ bl noteOffAll__8JASTrackFUs
lbl_80292778:
/* 80292778 3B DE 00 01 */ addi r30, r30, 1
/* 8029277C 2C 1E 00 10 */ cmpwi r30, 0x10
/* 80292780 3B FF 00 04 */ addi r31, r31, 4
/* 80292784 41 80 FF D0 */ blt lbl_80292754
/* 80292788 39 61 00 20 */ addi r11, r1, 0x20
/* 8029278C 48 0C FA 99 */ bl _restgpr_28
/* 80292790 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80292794 7C 08 03 A6 */ mtlr r0
/* 80292798 38 21 00 20 */ addi r1, r1, 0x20
/* 8029279C 4E 80 00 20 */ blr

View File

@ -1,38 +0,0 @@
lbl_80292198:
/* 80292198 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029219C 7C 08 02 A6 */ mflr r0
/* 802921A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802921A4 39 61 00 20 */ addi r11, r1, 0x20
/* 802921A8 48 0D 00 29 */ bl _savegpr_26
/* 802921AC 7C 7A 1B 78 */ mr r26, r3
/* 802921B0 7C 9B 23 78 */ mr r27, r4
/* 802921B4 7C BC 2B 78 */ mr r28, r5
/* 802921B8 3B C0 00 01 */ li r30, 1
/* 802921BC 3B A0 00 00 */ li r29, 0
/* 802921C0 3B E0 00 00 */ li r31, 0
/* 802921C4 48 00 00 34 */ b lbl_802921F8
lbl_802921C8:
/* 802921C8 38 1F 01 70 */ addi r0, r31, 0x170
/* 802921CC 7C 7A 00 2E */ lwzx r3, r26, r0
/* 802921D0 28 03 00 00 */ cmplwi r3, 0
/* 802921D4 41 82 00 1C */ beq lbl_802921F0
/* 802921D8 7F 64 DB 78 */ mr r4, r27
/* 802921DC 7F 85 E3 78 */ mr r5, r28
/* 802921E0 48 00 10 41 */ bl noteOff__Q28JASTrack11TChannelMgrFUlUs
/* 802921E4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802921E8 40 82 00 08 */ bne lbl_802921F0
/* 802921EC 3B C0 00 00 */ li r30, 0
lbl_802921F0:
/* 802921F0 3B BD 00 01 */ addi r29, r29, 1
/* 802921F4 3B FF 00 04 */ addi r31, r31, 4
lbl_802921F8:
/* 802921F8 80 1A 01 D0 */ lwz r0, 0x1d0(r26)
/* 802921FC 7C 1D 00 40 */ cmplw r29, r0
/* 80292200 41 80 FF C8 */ blt lbl_802921C8
/* 80292204 7F C3 F3 78 */ mr r3, r30
/* 80292208 39 61 00 20 */ addi r11, r1, 0x20
/* 8029220C 48 0D 00 11 */ bl _restgpr_26
/* 80292210 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80292214 7C 08 03 A6 */ mtlr r0
/* 80292218 38 21 00 20 */ addi r1, r1, 0x20
/* 8029221C 4E 80 00 20 */ blr

View File

@ -1,37 +0,0 @@
lbl_80293220:
/* 80293220 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80293224 7C 08 02 A6 */ mflr r0
/* 80293228 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029322C 39 61 00 20 */ addi r11, r1, 0x20
/* 80293230 48 0C EF AD */ bl _savegpr_29
/* 80293234 7C 7D 1B 78 */ mr r29, r3
/* 80293238 54 9F 10 3A */ slwi r31, r4, 2
/* 8029323C 7F DD F8 2E */ lwzx r30, r29, r31
/* 80293240 28 1E 00 00 */ cmplwi r30, 0
/* 80293244 40 82 00 0C */ bne lbl_80293250
/* 80293248 38 60 00 00 */ li r3, 0
/* 8029324C 48 00 00 3C */ b lbl_80293288
lbl_80293250:
/* 80293250 54 A0 04 3F */ clrlwi. r0, r5, 0x10
/* 80293254 40 82 00 14 */ bne lbl_80293268
/* 80293258 7F C3 F3 78 */ mr r3, r30
/* 8029325C 38 80 00 00 */ li r4, 0
/* 80293260 48 00 78 71 */ bl release__10JASChannelFUs
/* 80293264 48 00 00 10 */ b lbl_80293274
lbl_80293268:
/* 80293268 7F C3 F3 78 */ mr r3, r30
/* 8029326C 7C A4 2B 78 */ mr r4, r5
/* 80293270 48 00 78 61 */ bl release__10JASChannelFUs
lbl_80293274:
/* 80293274 7F C3 F3 78 */ mr r3, r30
/* 80293278 48 00 89 85 */ bl free__10JASChannelFv
/* 8029327C 38 00 00 00 */ li r0, 0
/* 80293280 7C 1D F9 2E */ stwx r0, r29, r31
/* 80293284 38 60 00 01 */ li r3, 1
lbl_80293288:
/* 80293288 39 61 00 20 */ addi r11, r1, 0x20
/* 8029328C 48 0C EF 9D */ bl _restgpr_29
/* 80293290 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80293294 7C 08 03 A6 */ mtlr r0
/* 80293298 38 21 00 20 */ addi r1, r1, 0x20
/* 8029329C 4E 80 00 20 */ blr

View File

@ -1,30 +0,0 @@
lbl_8029226C:
/* 8029226C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80292270 7C 08 02 A6 */ mflr r0
/* 80292274 90 01 00 24 */ stw r0, 0x24(r1)
/* 80292278 39 61 00 20 */ addi r11, r1, 0x20
/* 8029227C 48 0C FF 5D */ bl _savegpr_28
/* 80292280 7C 7C 1B 78 */ mr r28, r3
/* 80292284 7C 9D 23 78 */ mr r29, r4
/* 80292288 3B C0 00 00 */ li r30, 0
/* 8029228C 3B E0 00 00 */ li r31, 0
lbl_80292290:
/* 80292290 7C BC FA 14 */ add r5, r28, r31
/* 80292294 80 05 00 EC */ lwz r0, 0xec(r5)
/* 80292298 28 00 00 00 */ cmplwi r0, 0
/* 8029229C 41 82 00 14 */ beq lbl_802922B0
/* 802922A0 7F A3 EB 78 */ mr r3, r29
/* 802922A4 7F C4 F3 78 */ mr r4, r30
/* 802922A8 38 A5 00 E4 */ addi r5, r5, 0xe4
/* 802922AC 48 00 88 B9 */ bl setOscInit__10JASChannelFUlPCQ213JASOscillator4Data
lbl_802922B0:
/* 802922B0 3B DE 00 01 */ addi r30, r30, 1
/* 802922B4 28 1E 00 02 */ cmplwi r30, 2
/* 802922B8 3B FF 00 18 */ addi r31, r31, 0x18
/* 802922BC 41 80 FF D4 */ blt lbl_80292290
/* 802922C0 39 61 00 20 */ addi r11, r1, 0x20
/* 802922C4 48 0C FF 61 */ bl _restgpr_28
/* 802922C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802922CC 7C 08 03 A6 */ mtlr r0
/* 802922D0 38 21 00 20 */ addi r1, r1, 0x20
/* 802922D4 4E 80 00 20 */ blr

View File

@ -1,28 +0,0 @@
lbl_80292A3C:
/* 80292A3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292A40 7C 08 02 A6 */ mflr r0
/* 80292A44 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292A48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80292A4C 93 C1 00 08 */ stw r30, 8(r1)
/* 80292A50 7C 7E 1B 78 */ mr r30, r3
/* 80292A54 7C 9F 23 78 */ mr r31, r4
/* 80292A58 88 C3 02 16 */ lbz r6, 0x216(r3)
/* 80292A5C 54 C5 CF FE */ rlwinm r5, r6, 0x19, 0x1f, 0x1f
/* 80292A60 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80292A64 7C 05 00 40 */ cmplw r5, r0
/* 80292A68 41 82 00 24 */ beq lbl_80292A8C
/* 80292A6C 53 E6 3E 30 */ rlwimi r6, r31, 7, 0x18, 0x18
/* 80292A70 98 DE 02 16 */ stb r6, 0x216(r30)
/* 80292A74 4B FF FF 2D */ bl setChannelPauseFlag__8JASTrackFb
/* 80292A78 7F C3 F3 78 */ mr r3, r30
/* 80292A7C 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 80292A80 7C 00 00 34 */ cntlzw r0, r0
/* 80292A84 54 04 D9 7E */ srwi r4, r0, 5
/* 80292A88 48 00 10 35 */ bl interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType
lbl_80292A8C:
/* 80292A8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80292A90 83 C1 00 08 */ lwz r30, 8(r1)
/* 80292A94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292A98 7C 08 03 A6 */ mtlr r0
/* 80292A9C 38 21 00 10 */ addi r1, r1, 0x10
/* 80292AA0 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_802928D0:
/* 802928D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802928D4 7C 08 02 A6 */ mflr r0
/* 802928D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802928DC 38 63 00 5C */ addi r3, r3, 0x5c
/* 802928E0 48 00 0C 9D */ bl readImport__12JASTrackPortFUl
/* 802928E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802928E8 7C 08 03 A6 */ mtlr r0
/* 802928EC 38 21 00 10 */ addi r1, r1, 0x10
/* 802928F0 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_8029297C:
/* 8029297C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292980 7C 08 02 A6 */ mflr r0
/* 80292984 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292988 38 63 00 5C */ addi r3, r3, 0x5c
/* 8029298C 48 00 0C 15 */ bl readExport__12JASTrackPortFUl
/* 80292990 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292994 7C 08 03 A6 */ mtlr r0
/* 80292998 38 21 00 10 */ addi r1, r1, 0x10
/* 8029299C 4E 80 00 20 */ blr

View File

@ -1,31 +0,0 @@
lbl_802931B0:
/* 802931B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802931B4 7C 08 02 A6 */ mflr r0
/* 802931B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802931BC 39 61 00 20 */ addi r11, r1, 0x20
/* 802931C0 48 0C F0 15 */ bl _savegpr_27
/* 802931C4 7C 7B 1B 78 */ mr r27, r3
/* 802931C8 3B A0 00 00 */ li r29, 0
/* 802931CC 3B E0 00 00 */ li r31, 0
/* 802931D0 7F FE FB 78 */ mr r30, r31
lbl_802931D4:
/* 802931D4 7F 9B F8 2E */ lwzx r28, r27, r31
/* 802931D8 28 1C 00 00 */ cmplwi r28, 0
/* 802931DC 41 82 00 1C */ beq lbl_802931F8
/* 802931E0 7F 83 E3 78 */ mr r3, r28
/* 802931E4 38 80 00 00 */ li r4, 0
/* 802931E8 48 00 78 E9 */ bl release__10JASChannelFUs
/* 802931EC 7F 83 E3 78 */ mr r3, r28
/* 802931F0 48 00 8A 0D */ bl free__10JASChannelFv
/* 802931F4 7F DB F9 2E */ stwx r30, r27, r31
lbl_802931F8:
/* 802931F8 3B BD 00 01 */ addi r29, r29, 1
/* 802931FC 2C 1D 00 08 */ cmpwi r29, 8
/* 80293200 3B FF 00 04 */ addi r31, r31, 4
/* 80293204 41 80 FF D0 */ blt lbl_802931D4
/* 80293208 39 61 00 20 */ addi r11, r1, 0x20
/* 8029320C 48 0C F0 15 */ bl _restgpr_27
/* 80293210 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80293214 7C 08 03 A6 */ mtlr r0
/* 80293218 38 21 00 20 */ addi r1, r1, 0x20
/* 8029321C 4E 80 00 20 */ blr

View File

@ -1,45 +0,0 @@
lbl_802929A0:
/* 802929A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802929A4 7C 08 02 A6 */ mflr r0
/* 802929A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802929AC 39 61 00 20 */ addi r11, r1, 0x20
/* 802929B0 48 0C F8 29 */ bl _savegpr_28
/* 802929B4 7C 7C 1B 78 */ mr r28, r3
/* 802929B8 7C 9D 23 78 */ mr r29, r4
/* 802929BC 3B C0 00 00 */ li r30, 0
/* 802929C0 3B E0 00 00 */ li r31, 0
/* 802929C4 48 00 00 24 */ b lbl_802929E8
lbl_802929C8:
/* 802929C8 38 1F 01 70 */ addi r0, r31, 0x170
/* 802929CC 7C 7C 00 2E */ lwzx r3, r28, r0
/* 802929D0 28 03 00 00 */ cmplwi r3, 0
/* 802929D4 41 82 00 0C */ beq lbl_802929E0
/* 802929D8 7F A4 EB 78 */ mr r4, r29
/* 802929DC 48 00 08 C5 */ bl setPauseFlag__Q28JASTrack11TChannelMgrFb
lbl_802929E0:
/* 802929E0 3B DE 00 01 */ addi r30, r30, 1
/* 802929E4 3B FF 00 04 */ addi r31, r31, 4
lbl_802929E8:
/* 802929E8 80 1C 01 D0 */ lwz r0, 0x1d0(r28)
/* 802929EC 7C 1E 00 40 */ cmplw r30, r0
/* 802929F0 41 80 FF D8 */ blt lbl_802929C8
/* 802929F4 3B C0 00 00 */ li r30, 0
/* 802929F8 3B E0 00 00 */ li r31, 0
lbl_802929FC:
/* 802929FC 38 1F 01 30 */ addi r0, r31, 0x130
/* 80292A00 7C 7C 00 2E */ lwzx r3, r28, r0
/* 80292A04 28 03 00 00 */ cmplwi r3, 0
/* 80292A08 41 82 00 0C */ beq lbl_80292A14
/* 80292A0C 7F A4 EB 78 */ mr r4, r29
/* 80292A10 4B FF FF 91 */ bl setChannelPauseFlag__8JASTrackFb
lbl_80292A14:
/* 80292A14 3B DE 00 01 */ addi r30, r30, 1
/* 80292A18 2C 1E 00 10 */ cmpwi r30, 0x10
/* 80292A1C 3B FF 00 04 */ addi r31, r31, 4
/* 80292A20 41 80 FF DC */ blt lbl_802929FC
/* 80292A24 39 61 00 20 */ addi r11, r1, 0x20
/* 80292A28 48 0C F7 FD */ bl _restgpr_28
/* 80292A2C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80292A30 7C 08 03 A6 */ mtlr r0
/* 80292A34 38 21 00 20 */ addi r1, r1, 0x20
/* 80292A38 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_8029285C:
/* 8029285C 38 A0 00 00 */ li r5, 0
/* 80292860 38 00 00 08 */ li r0, 8
/* 80292864 7C 09 03 A6 */ mtctr r0
lbl_80292868:
/* 80292868 7C C4 2A AE */ lhax r6, r4, r5
/* 8029286C 38 05 01 F4 */ addi r0, r5, 0x1f4
/* 80292870 7C C3 03 2E */ sthx r6, r3, r0
/* 80292874 38 A5 00 02 */ addi r5, r5, 2
/* 80292878 42 00 FF F0 */ bdnz lbl_80292868
/* 8029287C 88 83 02 14 */ lbz r4, 0x214(r3)
/* 80292880 80 02 BB D0 */ lwz r0, FILTER_MODE_IIR__6JASDsp(r2)
/* 80292884 7C 80 00 38 */ and r0, r4, r0
/* 80292888 98 03 02 14 */ stb r0, 0x214(r3)
/* 8029288C 88 03 02 14 */ lbz r0, 0x214(r3)
/* 80292890 60 00 00 08 */ ori r0, r0, 8
/* 80292894 98 03 02 14 */ stb r0, 0x214(r3)
/* 80292898 4E 80 00 20 */ blr

View File

@ -1,15 +0,0 @@
lbl_8029289C:
/* 8029289C 38 A0 00 00 */ li r5, 0
/* 802928A0 38 00 00 08 */ li r0, 8
/* 802928A4 7C 09 03 A6 */ mtctr r0
lbl_802928A8:
/* 802928A8 7C C4 2A AE */ lhax r6, r4, r5
/* 802928AC 38 05 02 04 */ addi r0, r5, 0x204
/* 802928B0 7C C3 03 2E */ sthx r6, r3, r0
/* 802928B4 38 A5 00 02 */ addi r5, r5, 2
/* 802928B8 42 00 FF F0 */ bdnz lbl_802928A8
/* 802928BC 88 83 02 14 */ lbz r4, 0x214(r3)
/* 802928C0 80 02 BB D0 */ lwz r0, FILTER_MODE_IIR__6JASDsp(r2)
/* 802928C4 7C 80 03 78 */ or r0, r4, r0
/* 802928C8 98 03 02 14 */ stb r0, 0x214(r3)
/* 802928CC 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_80291DBC:
/* 80291DBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80291DC0 7C 08 02 A6 */ mflr r0
/* 80291DC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80291DC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80291DCC 7C 7F 1B 78 */ mr r31, r3
/* 80291DD0 98 83 02 2B */ stb r4, 0x22b(r3)
/* 80291DD4 48 00 0C D1 */ bl getTransposeTotal__8JASTrackCFv
/* 80291DD8 88 1F 02 2B */ lbz r0, 0x22b(r31)
/* 80291DDC 7C 00 1A 14 */ add r0, r0, r3
/* 80291DE0 98 1F 02 2B */ stb r0, 0x22b(r31)
/* 80291DE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80291DE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80291DEC 7C 08 03 A6 */ mtlr r0
/* 80291DF0 38 21 00 10 */ addi r1, r1, 0x10
/* 80291DF4 4E 80 00 20 */ blr

View File

@ -1,22 +0,0 @@
lbl_80292808:
/* 80292808 3D 20 80 3A */ lis r9, sEnvOsc__8JASTrack@ha /* 0x8039AFE8@ha */
/* 8029280C 84 09 AF E8 */ lwzu r0, sEnvOsc__8JASTrack@l(r9) /* 0x8039AFE8@l */
/* 80292810 90 03 00 E4 */ stw r0, 0xe4(r3)
/* 80292814 C0 09 00 04 */ lfs f0, 4(r9)
/* 80292818 D0 03 00 E8 */ stfs f0, 0xe8(r3)
/* 8029281C 80 09 00 08 */ lwz r0, 8(r9)
/* 80292820 90 03 00 EC */ stw r0, 0xec(r3)
/* 80292824 80 09 00 0C */ lwz r0, 0xc(r9)
/* 80292828 90 03 00 F0 */ stw r0, 0xf0(r3)
/* 8029282C C0 09 00 10 */ lfs f0, 0x10(r9)
/* 80292830 D0 03 00 F4 */ stfs f0, 0xf4(r3)
/* 80292834 C0 09 00 14 */ lfs f0, 0x14(r9)
/* 80292838 D0 03 00 F8 */ stfs f0, 0xf8(r3)
/* 8029283C 38 03 01 14 */ addi r0, r3, 0x114
/* 80292840 90 03 00 EC */ stw r0, 0xec(r3)
/* 80292844 B0 83 01 16 */ sth r4, 0x116(r3)
/* 80292848 B0 A3 01 1C */ sth r5, 0x11c(r3)
/* 8029284C B0 C3 01 22 */ sth r6, 0x122(r3)
/* 80292850 B0 E3 01 24 */ sth r7, 0x124(r3)
/* 80292854 B1 03 02 24 */ sth r8, 0x224(r3)
/* 80292858 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_802927D8:
/* 802927D8 1C 04 00 18 */ mulli r0, r4, 0x18
/* 802927DC 7C 63 02 14 */ add r3, r3, r0
/* 802927E0 D0 23 00 F4 */ stfs f1, 0xf4(r3)
/* 802927E4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_802927E8:
/* 802927E8 1C 04 00 18 */ mulli r0, r4, 0x18
/* 802927EC 7C 63 02 14 */ add r3, r3, r0
/* 802927F0 90 A3 00 EC */ stw r5, 0xec(r3)
/* 802927F4 28 04 00 00 */ cmplwi r4, 0
/* 802927F8 4D 82 00 20 */ beqlr
/* 802927FC 38 00 00 00 */ li r0, 0
/* 80292800 90 03 00 F0 */ stw r0, 0xf0(r3)
/* 80292804 4E 80 00 20 */ blr

View File

@ -1,12 +0,0 @@
lbl_802926E0:
/* 802926E0 1C 84 00 0C */ mulli r4, r4, 0xc
/* 802926E4 38 84 00 9C */ addi r4, r4, 0x9c
/* 802926E8 7C 83 22 14 */ add r4, r3, r4
/* 802926EC D0 24 00 04 */ stfs f1, 4(r4)
/* 802926F0 28 05 00 00 */ cmplwi r5, 0
/* 802926F4 40 82 00 0C */ bne lbl_80292700
/* 802926F8 C0 04 00 04 */ lfs f0, 4(r4)
/* 802926FC D0 04 00 00 */ stfs f0, 0(r4)
lbl_80292700:
/* 80292700 90 A4 00 08 */ stw r5, 8(r4)
/* 80292704 4E 80 00 20 */ blr

View File

@ -1,13 +0,0 @@
lbl_802932A0:
/* 802932A0 38 A0 00 00 */ li r5, 0
/* 802932A4 38 00 00 08 */ li r0, 8
/* 802932A8 7C 09 03 A6 */ mtctr r0
lbl_802932AC:
/* 802932AC 7C C3 28 2E */ lwzx r6, r3, r5
/* 802932B0 28 06 00 00 */ cmplwi r6, 0
/* 802932B4 41 82 00 08 */ beq lbl_802932BC
/* 802932B8 98 86 00 04 */ stb r4, 4(r6)
lbl_802932BC:
/* 802932BC 38 A5 00 04 */ addi r5, r5, 4
/* 802932C0 42 00 FF EC */ bdnz lbl_802932AC
/* 802932C4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80291A08:
/* 80291A08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80291A0C 7C 08 02 A6 */ mflr r0
/* 80291A10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80291A14 48 00 1F 6D */ bl start__10JASSeqCtrlFPvUl
/* 80291A18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80291A1C 7C 08 03 A6 */ mtlr r0
/* 80291A20 38 21 00 10 */ addi r1, r1, 0x10
/* 80291A24 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80292B8C:
/* 80292B8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292B90 7C 08 02 A6 */ mflr r0
/* 80292B94 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292B98 D0 23 02 1C */ stfs f1, 0x21c(r3)
/* 80292B9C 38 80 00 01 */ li r4, 1
/* 80292BA0 88 03 02 16 */ lbz r0, 0x216(r3)
/* 80292BA4 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 80292BA8 98 03 02 16 */ stb r0, 0x216(r3)
/* 80292BAC 4B FF F9 39 */ bl updateTempo__8JASTrackFv
/* 80292BB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292BB4 7C 08 03 A6 */ mtlr r0
/* 80292BB8 38 21 00 10 */ addi r1, r1, 0x10
/* 80292BBC 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80292B58:
/* 80292B58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292B5C 7C 08 02 A6 */ mflr r0
/* 80292B60 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292B64 B0 83 02 26 */ sth r4, 0x226(r3)
/* 80292B68 38 80 00 01 */ li r4, 1
/* 80292B6C 88 03 02 16 */ lbz r0, 0x216(r3)
/* 80292B70 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 80292B74 98 03 02 16 */ stb r0, 0x216(r3)
/* 80292B78 4B FF F9 6D */ bl updateTempo__8JASTrackFv
/* 80292B7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292B80 7C 08 03 A6 */ mtlr r0
/* 80292B84 38 21 00 10 */ addi r1, r1, 0x10
/* 80292B88 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80292BC0:
/* 80292BC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80292BC4 7C 08 02 A6 */ mflr r0
/* 80292BC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292BCC B0 83 02 28 */ sth r4, 0x228(r3)
/* 80292BD0 38 80 00 01 */ li r4, 1
/* 80292BD4 88 03 02 16 */ lbz r0, 0x216(r3)
/* 80292BD8 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 80292BDC 98 03 02 16 */ stb r0, 0x216(r3)
/* 80292BE0 4B FF F9 05 */ bl updateTempo__8JASTrackFv
/* 80292BE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292BE8 7C 08 03 A6 */ mtlr r0
/* 80292BEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80292BF0 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_80291ABC:
/* 80291ABC 38 00 00 01 */ li r0, 1
/* 80291AC0 98 03 02 15 */ stb r0, 0x215(r3)
/* 80291AC4 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_80291A78:
/* 80291A78 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80291A7C 7C 08 02 A6 */ mflr r0
/* 80291A80 90 01 00 24 */ stw r0, 0x24(r1)
/* 80291A84 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80291A88 7C 7F 1B 78 */ mr r31, r3
/* 80291A8C 48 0A BC 69 */ bl OSDisableInterrupts
/* 80291A90 90 61 00 08 */ stw r3, 8(r1)
/* 80291A94 38 80 00 01 */ li r4, 1
/* 80291A98 88 1F 02 16 */ lbz r0, 0x216(r31)
/* 80291A9C 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e
/* 80291AA0 98 1F 02 16 */ stb r0, 0x216(r31)
/* 80291AA4 48 0A BC 79 */ bl OSRestoreInterrupts
/* 80291AA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80291AAC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80291AB0 7C 08 03 A6 */ mtlr r0
/* 80291AB4 38 21 00 20 */ addi r1, r1, 0x20
/* 80291AB8 4E 80 00 20 */ blr

View File

@ -1,54 +0,0 @@
lbl_80292580:
/* 80292580 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80292584 7C 08 02 A6 */ mflr r0
/* 80292588 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029258C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80292590 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */
/* 80292594 39 61 00 20 */ addi r11, r1, 0x20
/* 80292598 48 0C FC 41 */ bl _savegpr_28
/* 8029259C 7C 7C 1B 78 */ mr r28, r3
/* 802925A0 7C 9D 23 78 */ mr r29, r4
/* 802925A4 FF E0 08 90 */ fmr f31, f1
/* 802925A8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802925AC 40 82 00 0C */ bne lbl_802925B8
/* 802925B0 88 1C 02 16 */ lbz r0, 0x216(r28)
/* 802925B4 54 1D F7 FE */ rlwinm r29, r0, 0x1e, 0x1f, 0x1f
lbl_802925B8:
/* 802925B8 38 60 00 00 */ li r3, 0
/* 802925BC 88 1C 02 16 */ lbz r0, 0x216(r28)
/* 802925C0 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 802925C4 98 1C 02 16 */ stb r0, 0x216(r28)
/* 802925C8 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 802925CC 41 82 00 10 */ beq lbl_802925DC
/* 802925D0 7F 83 E3 78 */ mr r3, r28
/* 802925D4 FC 20 F8 90 */ fmr f1, f31
/* 802925D8 4B FF FD 71 */ bl updateTrack__8JASTrackFf
lbl_802925DC:
/* 802925DC C0 1C 02 18 */ lfs f0, 0x218(r28)
/* 802925E0 EF FF 00 32 */ fmuls f31, f31, f0
/* 802925E4 3B C0 00 00 */ li r30, 0
/* 802925E8 3B E0 00 00 */ li r31, 0
lbl_802925EC:
/* 802925EC 38 1F 01 30 */ addi r0, r31, 0x130
/* 802925F0 7C 7C 00 2E */ lwzx r3, r28, r0
/* 802925F4 28 03 00 00 */ cmplwi r3, 0
/* 802925F8 41 82 00 1C */ beq lbl_80292614
/* 802925FC 88 03 02 15 */ lbz r0, 0x215(r3)
/* 80292600 28 00 00 01 */ cmplwi r0, 1
/* 80292604 40 82 00 10 */ bne lbl_80292614
/* 80292608 7F A4 EB 78 */ mr r4, r29
/* 8029260C FC 20 F8 90 */ fmr f1, f31
/* 80292610 4B FF FF 71 */ bl updateSeq__8JASTrackFbf
lbl_80292614:
/* 80292614 3B DE 00 01 */ addi r30, r30, 1
/* 80292618 2C 1E 00 10 */ cmpwi r30, 0x10
/* 8029261C 3B FF 00 04 */ addi r31, r31, 4
/* 80292620 41 80 FF CC */ blt lbl_802925EC
/* 80292624 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */
/* 80292628 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8029262C 39 61 00 20 */ addi r11, r1, 0x20
/* 80292630 48 0C FB F5 */ bl _restgpr_28
/* 80292634 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80292638 7C 08 03 A6 */ mtlr r0
/* 8029263C 38 21 00 30 */ addi r1, r1, 0x30
/* 80292640 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_802928F4:
/* 802928F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802928F8 7C 08 02 A6 */ mflr r0
/* 802928FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292900 38 63 00 5C */ addi r3, r3, 0x5c
/* 80292904 48 00 0C E5 */ bl writeExport__12JASTrackPortFUlUs
/* 80292908 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029290C 7C 08 03 A6 */ mtlr r0
/* 80292910 38 21 00 10 */ addi r1, r1, 0x10
/* 80292914 4E 80 00 20 */ blr

View File

@ -1,29 +0,0 @@
lbl_80292918:
/* 80292918 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029291C 7C 08 02 A6 */ mflr r0
/* 80292920 90 01 00 14 */ stw r0, 0x14(r1)
/* 80292924 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80292928 93 C1 00 08 */ stw r30, 8(r1)
/* 8029292C 7C 7E 1B 78 */ mr r30, r3
/* 80292930 7C 9F 23 78 */ mr r31, r4
/* 80292934 38 7E 00 5C */ addi r3, r30, 0x5c
/* 80292938 48 00 0C 8D */ bl writeImport__12JASTrackPortFUlUs
/* 8029293C 28 1F 00 00 */ cmplwi r31, 0
/* 80292940 41 82 00 0C */ beq lbl_8029294C
/* 80292944 28 1F 00 01 */ cmplwi r31, 1
/* 80292948 40 82 00 1C */ bne lbl_80292964
lbl_8029294C:
/* 8029294C 7F C3 F3 78 */ mr r3, r30
/* 80292950 28 1F 00 00 */ cmplwi r31, 0
/* 80292954 38 80 00 03 */ li r4, 3
/* 80292958 40 82 00 08 */ bne lbl_80292960
/* 8029295C 38 80 00 02 */ li r4, 2
lbl_80292960:
/* 80292960 48 00 11 5D */ bl interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType
lbl_80292964:
/* 80292964 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80292968 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029296C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80292970 7C 08 03 A6 */ mtlr r0
/* 80292974 38 21 00 10 */ addi r1, r1, 0x10
/* 80292978 4E 80 00 20 */ blr

View File

@ -7,7 +7,7 @@
template<size_t N>
class JASBankTable : public JASBankList {
public:
JASBank* getBank(u32 param_0) { return mArray.get(param_0); }
// JASBank* getBank(u32 param_0) { return mArray.get(param_0); }
virtual JASBank* getBank(u32 param_0) const { return mArray.get(param_0); }
void registBank(u32 param_0, JASBank* param_1) { mArray.set(param_0, param_1); }
@ -17,6 +17,7 @@ private:
class JASDefaultBankTable : public JASBankTable<256>, public JASGlobalInstance<JASDefaultBankTable> {
public:
JASDefaultBankTable() : JASGlobalInstance(true) {}
};
#endif /* JASBANKLIST_H */

View File

@ -17,28 +17,28 @@ namespace JASDsp {
class JASChannelParams {
public:
JASChannelParams() {
field_0x0 = 1.0f;
field_0x4 = 1.0f;
mVolume = 1.0f;
mPitch = 1.0f;
field_0x8 = 0.0f;
field_0xc = 0.5f;
field_0x10 = 0.0f;
field_0x14 = 0.0f;
mPan = 0.5f;
mFxMix = 0.0f;
mDolby = 0.0f;
}
void init() {
field_0x0 = 1.0f;
field_0x4 = 1.0f;
mVolume = 1.0f;
mPitch = 1.0f;
field_0x8 = 0.0f;
field_0xc = 0.5f;
field_0x10 = 0.0f;
field_0x14 = 0.0f;
mPan = 0.5f;
mFxMix = 0.0f;
mDolby = 0.0f;
}
f32 field_0x0;
f32 field_0x4;
f32 mVolume;
f32 mPitch;
f32 field_0x8;
f32 field_0xc;
f32 field_0x10;
f32 field_0x14;
f32 mPan;
f32 mFxMix;
f32 mDolby;
};
class JASChannel : public JASPoolAllocObject_MultiThreaded<JASChannel> {

View File

@ -5,16 +5,20 @@
struct JASOscillator {
struct Point {};
struct Point {
/* 0x0 */ s16 _0;
/* 0x2 */ s16 _2;
/* 0x4 */ s16 _4;
};
struct EffectParams {};
struct Data {
/* 0x00 */ u32 _00;
/* 0x04 */ f32 _04;
/* 0x08 */ const short* _08;
/* 0x0C */ const short* _0C;
/* 0x10 */ f32 _10;
/* 0x08 */ const Point* mTable;
/* 0x0C */ const Point* _0C;
/* 0x10 */ f32 mScale;
/* 0x14 */ f32 _14;
};

View File

@ -1,11 +1,15 @@
#ifndef JASTRACK_H
#define JASTRACK_H
#include "JSystem/JAudio2/JASBankTable.h"
#include "JSystem/JAudio2/JASChannel.h"
#include "JSystem/JAudio2/JASGadget.h"
#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JAudio2/JASOscillator.h"
#include "JSystem/JAudio2/JASRegisterParam.h"
#include "JSystem/JAudio2/JASSeqCtrl.h"
#include "JSystem/JAudio2/JASTrackPort.h"
#include "JSystem/JGadget/linklist.h"
struct JASSoundParams;
@ -15,47 +19,43 @@ namespace JASDsp {
extern u32 FILTER_MODE_IIR;
};
struct JASChannel {
/* 8029AAD0 */ void release(u16);
/* 8029AB64 */ void setOscInit(u32, JASOscillator::Data const*);
/* 8029AB98 */ void setMixConfig(u32, u16);
/* 8029ACD4 */ void setKeySweepTarget(s32, u32);
/* 8029BBFC */ void free();
};
struct JASTrack {
struct JASTrack : public JASPoolAllocObject_MultiThreaded<JASTrack> {
enum Status {
STATUS_FREE,
STATUS_RUN,
};
struct TChannelMgr {
struct TChannelMgr : public JASPoolAllocObject_MultiThreaded<TChannelMgr> {
/* 802930DC */ TChannelMgr(JASTrack*);
/* 80293148 */ void init();
/* 802931B0 */ void releaseAll();
/* 80293220 */ void noteOff(u32, u16);
/* 80293220 */ bool noteOff(u32, u16);
/* 802932A0 */ void setPauseFlag(bool);
/* 0x00 */ JASChannel* field_0x0[8];
/* 0x20 */ u8 field_0x20[0x18]; // JASChannelParams
/* 0x00 */ JASChannel* mChannels[8];
/* 0x20 */ JASChannelParams mParams;
/* 0x38 */ short field_0x38[8];
/* 0x48 */ JASSoundParams* field_0x48;
/* 0x4c */ JASTrack* field_0x4c;
/* 0x48 */ JASSoundParams* mSoundParams;
/* 0x4c */ JASTrack* mTrack;
};
struct TList {
/* 80292F6C */ void cbSeqMain(void*);
struct TList : JGadget::TLinkList<JASTrack, -0x240> {
TList() : mCallbackRegistered(false) {}
/* 80292F90 */ void append(JASTrack*);
/* 8029301C */ void seqMain();
/* 8029345C */ ~TList();
/* 8029345C */ ~TList() {}
/* 80292F6C */ static s32 cbSeqMain(void*);
/* 0xC */ bool mCallbackRegistered;
};
struct MoveParam_ {
/* 802932C8 */ MoveParam_();
/* 802932C8 */ MoveParam_() : mValue(0.0f), mTarget(0.0f), mCount(0) {}
/* 0x00 */ f32 field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ int field_0x8;
/* 0x00 */ f32 mValue;
/* 0x04 */ f32 mTarget;
/* 0x08 */ u32 mCount;
};
/* 80291228 */ JASTrack();
@ -70,12 +70,12 @@ struct JASTrack {
/* 80291A78 */ void stopSeq();
/* 80291ABC */ void start();
/* 80291AC8 */ void close();
/* 80291B8C */ void connectChild(u32, JASTrack*);
/* 80291B8C */ bool connectChild(u32, JASTrack*);
/* 80291BB8 */ void closeChild(u32);
/* 80291C30 */ JASTrack* openChild(u32);
/* 80291DAC */ void connectBus(int, int);
/* 80291DBC */ void setLatestKey(u8);
/* 80291DF8 */ void channelStart(JASTrack::TChannelMgr*, u32, u32, u32);
/* 80291DF8 */ JASChannel* channelStart(JASTrack::TChannelMgr*, u32, u32, u32);
/* 80291F38 */ int noteOn(u32, u32, u32);
/* 80292008 */ int gateOn(u32, u32, f32, u32);
/* 80292198 */ int noteOff(u32, u16);
@ -85,7 +85,7 @@ struct JASTrack {
/* 80292348 */ void updateTrack(f32);
/* 802924E4 */ void updateTempo();
/* 80292580 */ void updateSeq(bool, f32);
/* 80292644 */ void seqTimeToDspTime(f32);
/* 80292644 */ u32 seqTimeToDspTime(f32);
/* 802926E0 */ void setParam(u32, f32, u32);
/* 80292708 */ void noteOffAll(u16);
/* 802927A0 */ void mute(bool);
@ -100,22 +100,28 @@ struct JASTrack {
/* 8029297C */ u16 readPort(u32);
/* 802929A0 */ void setChannelPauseFlag(bool);
/* 80292A3C */ void pause(bool);
/* 80292AA4 */ void getTransposeTotal() const;
/* 80292AF4 */ void isMute() const;
/* 80292AA4 */ int getTransposeTotal() const;
/* 80292AF4 */ bool isMute() const;
/* 80292B58 */ void setTempo(u16);
/* 80292B8C */ void setTempoRate(f32);
/* 80292BC0 */ void setTimebase(u16);
/* 80292BF4 */ void updateChannel(JASChannel*, JASDsp::TChannel*);
/* 80292CA4 */ void channelUpdateCallback(u32, JASChannel*, JASDsp::TChannel*, void*);
/* 80292D88 */ void getRootTrack();
/* 80292DA0 */ void tickProc();
/* 80292E9C */ void seqMain();
/* 80292D88 */ JASTrack* getRootTrack();
/* 80292DA0 */ int tickProc();
/* 80292E9C */ int seqMain();
static u8 const sAdsTable[24];
static u8 const sEnvOsc[24];
static u8 const sPitchEnvOsc[24];
/* 80292CA4 */ static void channelUpdateCallback(u32, JASChannel*, JASDsp::TChannel*, void*);
static JASOscillator::Point const sAdsTable[4];
static JASOscillator::Data const sEnvOsc;
static JASOscillator::Data const sPitchEnvOsc;
#ifdef NONMATCHING
static JASDefaultBankTable sDefaultBankTable;
static TList sTrackList;
#else
static u8 sDefaultBankTable[1036];
static u8 sTrackList[16];
#endif
JASSeqCtrl* getSeqCtrl() { return &mSeqCtrl; }
u16 getPort(u32 param_0) { return mTrackPort.get(param_0); }
@ -126,7 +132,7 @@ struct JASTrack {
void writeReg(JASRegisterParam::RegID param_0, u32 param_1) { mRegisterParam.write(param_0, param_1); }
JASTrack* getParent() { return mParent; }
JASTrack* getChild(u32 index) { return mChildren[index]; }
int getChannelMgrCount() { return channelMgrCount; }
int getChannelMgrCount() { return mChannelMgrCount; }
f32 getVibDepth() const { return mVibDepth; }
void setVibDepth(f32 param_0) { mVibDepth = param_0; }
f32 getVibPitch() const { return mVibPitch; }
@ -140,7 +146,7 @@ struct JASTrack {
u16 getTremDelay() const { return mTremDelay; }
void setTremDelay(u32 param_0) { mTremDelay = param_0; }
u8 getStatus() const { return mStatus; }
void setAutoDelete(u8 param_0) { field_0x216.autoDelete = param_0; }
void setAutoDelete(u8 param_0) { mFlags.autoDelete = param_0; }
f32 getPanPower() const { return mPanPower; }
void setPanPower(f32 param_0) { mPanPower = param_0; }
u32 getSkipSample() const { return mSkipSample; }
@ -166,15 +172,15 @@ struct JASTrack {
/* 0x000 */ JASSeqCtrl mSeqCtrl;
/* 0x05C */ JASTrackPort mTrackPort;
/* 0x080 */ JASRegisterParam mRegisterParam;
/* 0x09C */ MoveParam_ field_0x9c[6];
/* 0x0e4 */ u8 mOscParam[0x30]; // JASOscillator::Data[2]
/* 0x114 */ u8 field_0x114[0x18]; // JASOscillator::Point[4]
/* 0x09C */ MoveParam_ mMoveParam[6]; // volume, pitch, fxmix, pan, dolby, distFilter
/* 0x0e4 */ JASOscillator::Data mOscParam[2];
/* 0x114 */ JASOscillator::Point mOscPoint[4];
/* 0x12C */ JASTrack* mParent;
/* 0x130 */ JASTrack* mChildren[16];
/* 0x170 */ TChannelMgr* field_0x170[4];
/* 0x180 */ TChannelMgr field_0x180;
/* 0x1D0 */ int channelMgrCount;
/* 0x1D4 */ void* field_0x1d4;
/* 0x170 */ TChannelMgr* mChannelMgrs[4];
/* 0x180 */ TChannelMgr mDefaultChannelMgr;
/* 0x1D0 */ int mChannelMgrCount;
/* 0x1D4 */ JASDefaultBankTable* mBankTable;
/* 0x1D8 */ f32 field_0x1d8;
/* 0x1DC */ f32 field_0x1dc;
/* 0x1E0 */ f32 mVibDepth;
@ -183,40 +189,36 @@ struct JASTrack {
/* 0x1EC */ f32 mTremPitch;
/* 0x1F0 */ u16 mVibDelay;
/* 0x1F2 */ u16 mTremDelay;
/* 0x1F4 */ short field_0x1f4[8];
/* 0x204 */ short field_0x204[8];
/* 0x214 */ char field_0x214;
/* 0x1F4 */ short mFIR[8];
/* 0x204 */ short mIIR[8];
/* 0x214 */ u8 mFilterMode;
/* 0x215 */ volatile u8 mStatus;
/* 0x216 */ struct {
u8 flag0 : 1;
u8 flag1 : 1;
u8 flag2 : 1;
u8 autoDelete : 1;
u8 flag4 : 1;
u8 flag5 : 1;
u8 flag6 : 1;
u8 flag7 : 1;
} field_0x216;
bool pause : 1;
bool mute : 1;
bool flag2 : 1;
bool autoDelete : 1;
bool flag4 : 1;
bool flag5 : 1;
bool flag6 : 1;
bool flag7 : 1;
} mFlags;
/* 0x218 */ f32 mPanPower;
/* 0x21C */ f32 field_0x21c;
/* 0x21C */ f32 mTempoRate;
/* 0x220 */ u32 mSkipSample;
/* 0x224 */ u16 mDirectRelease;
/* 0x226 */ u16 field_0x226;
/* 0x226 */ u16 mTempo;
/* 0x228 */ u16 mTimebase;
/* 0x22A */ s8 mTranspose;
/* 0x22B */ char field_0x22b;
/* 0x22B */ u8 field_0x22b;
/* 0x22C */ u16 mBankNumber;
/* 0x22E */ u16 mProgNumber;
/* 0x230 */ u8 mBendSense;
/* 0x231 */ u8 mNoteOnPrio;
/* 0x232 */ u8 mReleasePrio;
/* 0x233 */ u8 mGateRate;
/* 0x234 */ u16 field_0x234[6];
/* 0x240 */ u8 field_0x240[0x08]; // TLinkListNode
};
struct JASDefaultBankTable : public JASGlobalInstance<JASDefaultBankTable> {
/* 802934B4 */ ~JASDefaultBankTable();
/* 0x234 */ u16 mMixConfig[6];
/* 0x240 */ JGadget::TLinkListNode field_0x240;
};
#endif /* JASTRACK_H */

View File

@ -138,8 +138,9 @@ asm JASChannel* JASBank::noteOn(JASBank const* param_0, int param_1, u8 param_2,
/* ############################################################################################## */
/* 8039B190-8039B19C 0277F0 000C+00 1/0 0/0 0/0 .rodata OSC_RELEASE_TABLE$260 */
SECTION_RODATA static s16 const OSC_RELEASE_TABLE[6] = {
0x0001, 0x000A, 0x0000, 0x000F, 0x0000, 0x0000,
SECTION_RODATA static JASOscillator::Point const OSC_RELEASE_TABLE[2] = {
{0x0001, 0x000A, 0x0000},
{0x000F, 0x0000, 0x0000},
};
COMPILER_STRIP_GATE(0x8039B190, &OSC_RELEASE_TABLE);

View File

@ -77,9 +77,9 @@ bool JASDrumSet::getParam(int param_0, int param_1, JASInstParam* param_2) const
param_2->field_0x18 = perc->field_0xc;
osc._00 = 0;
osc._04 = 1.0f;
osc._08 = NULL;
osc.mTable = NULL;
osc._0C = NULL;
osc._10 = 1.0f;
osc.mScale = 1.0f;
osc._14 = 0.0f;
if (data_80451274[0] == 0) {

View File

@ -52,14 +52,14 @@ void JASOscillator::initStart(JASOscillator::Data const* data) {
return;
}
if (mData->_08 == NULL) {
if (mData->mTable == NULL) {
_1C = 2;
_08 = 1.0f;
return;
}
_10 = mData->_08[2] / 32768.0f;
_18 = mData->_08[0];
_10 = mData->mTable[0]._4 / 32768.0f;
_18 = mData->mTable[0]._0;
_1C = 1;
}
@ -79,7 +79,7 @@ void JASOscillator::incCounter(f32 param_0) {
/* 8029BFC8-8029BFE4 296908 001C+00 0/0 1/1 0/0 .text getValue__13JASOscillatorCFv */
f32 JASOscillator::getValue() const {
return _08 * mData->_10 + mData->_14;
return _08 * mData->mScale + mData->_14;
}
/* 8029BFE4-8029C0E0 296924 00FC+00 0/0 1/1 0/0 .text release__13JASOscillatorFv */
@ -100,12 +100,12 @@ void JASOscillator::release() {
return;
}
if (mData->_08 != mData->_0C) {
if (mData->mTable != mData->_0C) {
_04 = 0.0f;
_0C = _08;
_10 = mData->_0C[2] / 32768.0f;
_10 = mData->_0C[0]._4 / 32768.0f;
_14 = 0;
_18 = mData->_0C[0];
_18 = mData->_0C[0]._0;
}
_1C = 3;
@ -127,9 +127,9 @@ void JASOscillator::update() {
if (_1C == 2) return;
const short* psVar1;
const Point* psVar1;
if (_1C == 1) {
psVar1 = mData->_08;
psVar1 = mData->mTable;
} else {
psVar1 = mData->_0C;
}
@ -139,12 +139,12 @@ void JASOscillator::update() {
return;
}
while (_04 >= psVar1[_14 * 3 + 1]) {
_04 -= psVar1[_14 * 3 + 1];
while (_04 >= psVar1[_14]._2) {
_04 -= psVar1[_14]._2;
_08 = _10;
_14++;
_0C = _08;
const s16* ps = &psVar1[_14 * 3];
const s16* ps = &psVar1[_14]._0;
switch(ps[0]) {
case 0xf:
_1C = 0;
@ -162,7 +162,7 @@ void JASOscillator::update() {
}
}
updateCurrentValue(psVar1[_14 * 3 + 1]);
updateCurrentValue(psVar1[_14]._2);
}
/* ############################################################################################## */

File diff suppressed because it is too large Load Diff