From 2d45b68231560eaf0001914c8f2da4bd81f9dd59 Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Fri, 1 Sep 2023 01:55:46 -0700 Subject: [PATCH] JASTrackPort, JASSeqCtrl.h, JASSeqParser (#1904) * JASTrackPort OK * JASSeqCtrl.h * JASSeqParser * progress * Move JSU inlines --- Progress.md | 22 +- .../JASSeqParser/__sinit_JASSeqParser_cpp.s | 495 ---- ...cmdBankPrg__12JASSeqParserFP8JASTrackPUl.s | 8 - .../cmdBank__12JASSeqParserFP8JASTrackPUl.s | 6 - ...BusConnect__12JASSeqParserFP8JASTrackPUl.s | 13 - .../cmdCallF__12JASSeqParserFP8JASTrackPUl.s | 23 - .../cmdCall__12JASSeqParserFP8JASTrackPUl.s | 12 - ...PortExport__12JASSeqParserFP8JASTrackPUl.s | 20 - ...PortImport__12JASSeqParserFP8JASTrackPUl.s | 20 - ...ldReadPort__12JASSeqParserFP8JASTrackPUl.s | 32 - ...dWritePort__12JASSeqParserFP8JASTrackPUl.s | 21 - ...CloseTrack__12JASSeqParserFP8JASTrackPUl.s | 12 - .../cmdClrI__12JASSeqParserFP8JASTrackPUl.s | 13 - ...sInterrupt__12JASSeqParserFP8JASTrackPUl.s | 12 - .../cmdDump__12JASSeqParserFP8JASTrackPUl.s | 122 - .../cmdEnvSet__12JASSeqParserFP8JASTrackPUl.s | 16 - .../cmdFIRSet__12JASSeqParserFP8JASTrackPUl.s | 15 - ...dIIRCutOff__12JASSeqParserFP8JASTrackPUl.s | 19 - .../cmdIIRSet__12JASSeqParserFP8JASTrackPUl.s | 23 - ...mdIntTimer__12JASSeqParserFP8JASTrackPUl.s | 8 - .../cmdJmpF__12JASSeqParserFP8JASTrackPUl.s | 24 - .../cmdJmp__12JASSeqParserFP8JASTrackPUl.s | 7 - .../cmdLoopE__12JASSeqParserFP8JASTrackPUl.s | 11 - .../cmdLoopS__12JASSeqParserFP8JASTrackPUl.s | 12 - ...cmdNoteOff__12JASSeqParserFP8JASTrackPUl.s | 14 - .../cmdNoteOn__12JASSeqParserFP8JASTrackPUl.s | 17 - .../cmdNote__12JASSeqParserFP8JASTrackPUl.s | 18 - ...dOpenTrack__12JASSeqParserFP8JASTrackPUl.s | 29 - ...ntReadPort__12JASSeqParserFP8JASTrackPUl.s | 28 - ...tWritePort__12JASSeqParserFP8JASTrackPUl.s | 17 - .../cmdPrg__12JASSeqParserFP8JASTrackPUl.s | 6 - ...mdReadPort__12JASSeqParserFP8JASTrackPUl.s | 25 - ...cmdRegLoad__12JASSeqParserFP8JASTrackPUl.s | 13 - .../cmdRegUni__12JASSeqParserFP8JASTrackPUl.s | 34 - .../cmdRetF__12JASSeqParserFP8JASTrackPUl.s | 24 - .../cmdRetI__12JASSeqParserFP8JASTrackPUl.s | 16 - .../cmdRet__12JASSeqParserFP8JASTrackPUl.s | 15 - ...etIntTable__12JASSeqParserFP8JASTrackPUl.s | 5 - ...tInterrupt__12JASSeqParserFP8JASTrackPUl.s | 12 - ...etLastNote__12JASSeqParserFP8JASTrackPUl.s | 16 - ...SimpleADSR__12JASSeqParserFP8JASTrackPUl.s | 22 - ...cmdSyncCPU__12JASSeqParserFP8JASTrackPUl.s | 28 - .../cmdTempo__12JASSeqParserFP8JASTrackPUl.s | 13 - ...mdWaitByte__12JASSeqParserFP8JASTrackPUl.s | 5 - .../cmdWait__12JASSeqParserFP8JASTrackPUl.s | 15 - ...dWritePort__12JASSeqParserFP8JASTrackPUl.s | 14 - ...12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl.s | 12 - ...execNoteOff__12JASSeqParserFP8JASTrackUl.s | 12 - ...eOnMidi__12JASSeqParserFP8JASTrackUlUlUl.s | 13 - ...arseNoteOff__12JASSeqParserFP8JASTrackUc.s | 16 - ...parseNoteOn__12JASSeqParserFP8JASTrackUc.s | 47 - ...seRegCommand__12JASSeqParserFP8JASTracki.s | 32 - .../parse__12JASSeqParserFP8JASTrack.s | 37 - .../checkExport__12JASTrackPortCFUl.s | 8 - .../checkImport__12JASTrackPortCFUl.s | 8 - .../JASTrackPort/init__12JASTrackPortFv.s | 14 - .../readExport__12JASTrackPortFUl.s | 10 - .../readImport__12JASTrackPortFUl.s | 10 - .../writeExport__12JASTrackPortFUlUs.s | 10 - .../writeImport__12JASTrackPortFUlUs.s | 10 - include/JSystem/JAudio2/JASCalc.h | 2 +- include/JSystem/JAudio2/JASRegisterParam.h | 8 +- include/JSystem/JAudio2/JASSeqCtrl.h | 70 + include/JSystem/JAudio2/JASSeqParser.h | 88 + include/JSystem/JAudio2/JASSeqReader.h | 19 +- include/JSystem/JAudio2/JASTrack.h | 104 +- include/JSystem/JAudio2/JASTrackPort.h | 19 + include/JSystem/JSupport/JSupport.h | 5 + libs/JSystem/JAudio2/JASCalc.cpp | 194 +- libs/JSystem/JAudio2/JASSeqCtrl.cpp | 74 +- libs/JSystem/JAudio2/JASSeqParser.cpp | 2399 +++++++---------- libs/JSystem/JAudio2/JASTrack.cpp | 35 +- libs/JSystem/JAudio2/JASTrackPort.cpp | 106 +- 73 files changed, 1354 insertions(+), 3360 deletions(-) delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/__sinit_JASSeqParser_cpp.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdBankPrg__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdBank__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdBusConnect__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdCallF__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdCall__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortExport__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortImport__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdChildReadPort__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdChildWritePort__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdCloseTrack__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdClrI__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdDisInterrupt__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdDump__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdEnvSet__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdFIRSet__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdIIRCutOff__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdIIRSet__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdIntTimer__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdJmpF__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdJmp__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdLoopE__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdLoopS__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdNoteOff__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdNoteOn__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdNote__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdOpenTrack__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdParentReadPort__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdParentWritePort__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdPrg__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdReadPort__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdRegLoad__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdRegUni__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdRetF__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdRetI__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdRet__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdSetIntTable__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdSetInterrupt__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdSetLastNote__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdSimpleADSR__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdSyncCPU__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdTempo__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdWaitByte__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdWait__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/cmdWritePort__12JASSeqParserFP8JASTrackPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/execCommand__12JASSeqParserFP8JASTrackM12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/execNoteOff__12JASSeqParserFP8JASTrackUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/execNoteOnMidi__12JASSeqParserFP8JASTrackUlUlUl.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/parseNoteOff__12JASSeqParserFP8JASTrackUc.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/parseNoteOn__12JASSeqParserFP8JASTrackUc.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/parseRegCommand__12JASSeqParserFP8JASTracki.s delete mode 100644 asm/JSystem/JAudio2/JASSeqParser/parse__12JASSeqParserFP8JASTrack.s delete mode 100644 asm/JSystem/JAudio2/JASTrackPort/checkExport__12JASTrackPortCFUl.s delete mode 100644 asm/JSystem/JAudio2/JASTrackPort/checkImport__12JASTrackPortCFUl.s delete mode 100644 asm/JSystem/JAudio2/JASTrackPort/init__12JASTrackPortFv.s delete mode 100644 asm/JSystem/JAudio2/JASTrackPort/readExport__12JASTrackPortFUl.s delete mode 100644 asm/JSystem/JAudio2/JASTrackPort/readImport__12JASTrackPortFUl.s delete mode 100644 asm/JSystem/JAudio2/JASTrackPort/writeExport__12JASTrackPortFUlUs.s delete mode 100644 asm/JSystem/JAudio2/JASTrackPort/writeImport__12JASTrackPortFUlUs.s diff --git a/Progress.md b/Progress.md index eb1766199e..c1c48513cc 100644 --- a/Progress.md +++ b/Progress.md @@ -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 | 31.572087% | 1135504 | 3596544 +.text | 31.880161% | 1146584 | 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 | 38.785556% | 1559440 | 4020672 +Total | 39.061132% | 1570520 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 38.785556% | 1559440 | 4020672 -RELs | 34.306025% | 3945304 | 11500324 -Total | 35.466435% | 5504744 | 15520996 +main.dol | 39.061132% | 1570520 | 4020672 +RELs | 34.390440% | 3955012 | 11500324 +Total | 35.600370% | 5525532 | 15520996 ## RELs @@ -432,7 +432,7 @@ d_a_obj_hakai_ftr | 42.324888% | 2272 | 5368 d_a_obj_hasu2 | 41.190476% | 1384 | 3360 d_a_obj_hata | 39.059081% | 1428 | 3656 d_a_obj_hb | 29.310936% | 3420 | 11668 -d_a_obj_hbombkoya | 47.549020% | 3104 | 6528 +d_a_obj_hbombkoya | 78.615196% | 5132 | 6528 d_a_obj_heavySw | 41.214623% | 2796 | 6784 d_a_obj_hfuta | 39.073970% | 2768 | 7084 d_a_obj_hhashi | 33.138856% | 3408 | 10284 @@ -542,15 +542,15 @@ d_a_obj_metalbox | 50.268097% | 1500 | 2984 d_a_obj_mgate | 100.000000% | 4152 | 4152 d_a_obj_mhole | 35.548173% | 2140 | 6020 d_a_obj_mie | 34.891676% | 3672 | 10524 -d_a_obj_mirror_6pole | 49.656751% | 1736 | 3496 +d_a_obj_mirror_6pole | 100.000000% | 3496 | 3496 d_a_obj_mirror_chain | 34.916201% | 3500 | 10024 -d_a_obj_mirror_sand | 46.972860% | 1800 | 3832 +d_a_obj_mirror_sand | 100.000000% | 3832 | 3832 d_a_obj_mirror_screw | 40.374532% | 2156 | 5340 d_a_obj_mirror_table | 38.664122% | 4052 | 10480 d_a_obj_movebox | 36.691330% | 7736 | 21084 d_a_obj_msima | 35.108959% | 3480 | 9912 d_a_obj_mvstair | 35.209479% | 3328 | 9452 -d_a_obj_myogan | 51.677852% | 1848 | 3576 +d_a_obj_myogan | 100.000000% | 3576 | 3576 d_a_obj_nagaisu | 37.130271% | 2360 | 6356 d_a_obj_nameplate | 39.726962% | 2328 | 5860 d_a_obj_nan | 33.293811% | 5616 | 16868 @@ -723,7 +723,7 @@ d_a_tag_escape | 100.000000% | 712 | 712 d_a_tag_event | 31.075697% | 1248 | 4016 d_a_tag_evt | 37.815126% | 1620 | 4284 d_a_tag_evtarea | 100.000000% | 3548 | 3548 -d_a_tag_evtmsg | 39.491150% | 1428 | 3616 +d_a_tag_evtmsg | 99.225664% | 3588 | 3616 d_a_tag_firewall | 35.325132% | 1608 | 4552 d_a_tag_gra | 100.000000% | 800 | 800 d_a_tag_gstart | 100.000000% | 1208 | 1208 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 34.306025% | 3945304 | 11500324 +Total | 34.390440% | 3955012 | 11500324 diff --git a/asm/JSystem/JAudio2/JASSeqParser/__sinit_JASSeqParser_cpp.s b/asm/JSystem/JAudio2/JASSeqParser/__sinit_JASSeqParser_cpp.s deleted file mode 100644 index 0dabf3160d..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/__sinit_JASSeqParser_cpp.s +++ /dev/null @@ -1,495 +0,0 @@ -lbl_80295950: -/* 80295950 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80295954 3C 60 80 3C */ lis r3, lit_486@ha /* 0x803C5BE0@ha */ -/* 80295958 38 C3 5B E0 */ addi r6, r3, lit_486@l /* 0x803C5BE0@l */ -/* 8029595C 3C 60 80 3A */ lis r3, __ptmf_null@ha /* 0x803A2180@ha */ -/* 80295960 84 A3 21 80 */ lwzu r5, __ptmf_null@l(r3) /* 0x803A2180@l */ -/* 80295964 80 83 00 04 */ lwz r4, 4(r3) -/* 80295968 90 A1 00 08 */ stw r5, 8(r1) -/* 8029596C 90 81 00 0C */ stw r4, 0xc(r1) -/* 80295970 80 03 00 08 */ lwz r0, 8(r3) -/* 80295974 90 01 00 10 */ stw r0, 0x10(r1) -/* 80295978 90 A6 02 A0 */ stw r5, 0x2a0(r6) -/* 8029597C 90 86 02 A4 */ stw r4, 0x2a4(r6) -/* 80295980 90 06 02 A8 */ stw r0, 0x2a8(r6) -/* 80295984 38 66 02 A0 */ addi r3, r6, 0x2a0 -/* 80295988 90 A3 00 10 */ stw r5, 0x10(r3) -/* 8029598C 90 83 00 14 */ stw r4, 0x14(r3) -/* 80295990 90 03 00 18 */ stw r0, 0x18(r3) -/* 80295994 90 A3 00 20 */ stw r5, 0x20(r3) -/* 80295998 90 83 00 24 */ stw r4, 0x24(r3) -/* 8029599C 90 03 00 28 */ stw r0, 0x28(r3) -/* 802959A0 90 A3 00 30 */ stw r5, 0x30(r3) -/* 802959A4 90 83 00 34 */ stw r4, 0x34(r3) -/* 802959A8 90 03 00 38 */ stw r0, 0x38(r3) -/* 802959AC 90 A3 00 40 */ stw r5, 0x40(r3) -/* 802959B0 90 83 00 44 */ stw r4, 0x44(r3) -/* 802959B4 90 03 00 48 */ stw r0, 0x48(r3) -/* 802959B8 90 A3 00 50 */ stw r5, 0x50(r3) -/* 802959BC 90 83 00 54 */ stw r4, 0x54(r3) -/* 802959C0 90 03 00 58 */ stw r0, 0x58(r3) -/* 802959C4 90 A3 00 60 */ stw r5, 0x60(r3) -/* 802959C8 90 83 00 64 */ stw r4, 0x64(r3) -/* 802959CC 90 03 00 68 */ stw r0, 0x68(r3) -/* 802959D0 90 A3 00 70 */ stw r5, 0x70(r3) -/* 802959D4 90 83 00 74 */ stw r4, 0x74(r3) -/* 802959D8 90 03 00 78 */ stw r0, 0x78(r3) -/* 802959DC 90 A3 00 80 */ stw r5, 0x80(r3) -/* 802959E0 90 83 00 84 */ stw r4, 0x84(r3) -/* 802959E4 90 03 00 88 */ stw r0, 0x88(r3) -/* 802959E8 90 A3 00 90 */ stw r5, 0x90(r3) -/* 802959EC 90 83 00 94 */ stw r4, 0x94(r3) -/* 802959F0 90 03 00 98 */ stw r0, 0x98(r3) -/* 802959F4 90 A3 00 A0 */ stw r5, 0xa0(r3) -/* 802959F8 90 83 00 A4 */ stw r4, 0xa4(r3) -/* 802959FC 90 03 00 A8 */ stw r0, 0xa8(r3) -/* 80295A00 90 A3 00 B0 */ stw r5, 0xb0(r3) -/* 80295A04 90 83 00 B4 */ stw r4, 0xb4(r3) -/* 80295A08 90 03 00 B8 */ stw r0, 0xb8(r3) -/* 80295A0C 90 A3 00 C0 */ stw r5, 0xc0(r3) -/* 80295A10 90 83 00 C4 */ stw r4, 0xc4(r3) -/* 80295A14 90 03 00 C8 */ stw r0, 0xc8(r3) -/* 80295A18 90 A3 00 D0 */ stw r5, 0xd0(r3) -/* 80295A1C 90 83 00 D4 */ stw r4, 0xd4(r3) -/* 80295A20 90 03 00 D8 */ stw r0, 0xd8(r3) -/* 80295A24 90 A3 00 E0 */ stw r5, 0xe0(r3) -/* 80295A28 90 83 00 E4 */ stw r4, 0xe4(r3) -/* 80295A2C 90 03 00 E8 */ stw r0, 0xe8(r3) -/* 80295A30 90 A3 00 F0 */ stw r5, 0xf0(r3) -/* 80295A34 90 83 00 F4 */ stw r4, 0xf4(r3) -/* 80295A38 90 03 00 F8 */ stw r0, 0xf8(r3) -/* 80295A3C 90 A3 01 00 */ stw r5, 0x100(r3) -/* 80295A40 90 83 01 04 */ stw r4, 0x104(r3) -/* 80295A44 90 03 01 08 */ stw r0, 0x108(r3) -/* 80295A48 81 06 00 00 */ lwz r8, 0(r6) -/* 80295A4C 80 E6 00 04 */ lwz r7, 4(r6) -/* 80295A50 91 03 01 10 */ stw r8, 0x110(r3) -/* 80295A54 90 E3 01 14 */ stw r7, 0x114(r3) -/* 80295A58 80 E6 00 08 */ lwz r7, 8(r6) -/* 80295A5C 90 E3 01 18 */ stw r7, 0x118(r3) -/* 80295A60 81 06 00 0C */ lwz r8, 0xc(r6) -/* 80295A64 80 E6 00 10 */ lwz r7, 0x10(r6) -/* 80295A68 91 03 01 20 */ stw r8, 0x120(r3) -/* 80295A6C 90 E3 01 24 */ stw r7, 0x124(r3) -/* 80295A70 80 E6 00 14 */ lwz r7, 0x14(r6) -/* 80295A74 90 E3 01 28 */ stw r7, 0x128(r3) -/* 80295A78 81 06 00 18 */ lwz r8, 0x18(r6) -/* 80295A7C 80 E6 00 1C */ lwz r7, 0x1c(r6) -/* 80295A80 91 03 01 30 */ stw r8, 0x130(r3) -/* 80295A84 90 E3 01 34 */ stw r7, 0x134(r3) -/* 80295A88 80 E6 00 20 */ lwz r7, 0x20(r6) -/* 80295A8C 90 E3 01 38 */ stw r7, 0x138(r3) -/* 80295A90 81 06 00 24 */ lwz r8, 0x24(r6) -/* 80295A94 80 E6 00 28 */ lwz r7, 0x28(r6) -/* 80295A98 91 03 01 40 */ stw r8, 0x140(r3) -/* 80295A9C 90 E3 01 44 */ stw r7, 0x144(r3) -/* 80295AA0 80 E6 00 2C */ lwz r7, 0x2c(r6) -/* 80295AA4 90 E3 01 48 */ stw r7, 0x148(r3) -/* 80295AA8 90 A3 01 50 */ stw r5, 0x150(r3) -/* 80295AAC 90 83 01 54 */ stw r4, 0x154(r3) -/* 80295AB0 90 03 01 58 */ stw r0, 0x158(r3) -/* 80295AB4 90 A3 01 60 */ stw r5, 0x160(r3) -/* 80295AB8 90 83 01 64 */ stw r4, 0x164(r3) -/* 80295ABC 90 03 01 68 */ stw r0, 0x168(r3) -/* 80295AC0 90 A3 01 70 */ stw r5, 0x170(r3) -/* 80295AC4 90 83 01 74 */ stw r4, 0x174(r3) -/* 80295AC8 90 03 01 78 */ stw r0, 0x178(r3) -/* 80295ACC 81 06 00 30 */ lwz r8, 0x30(r6) -/* 80295AD0 80 E6 00 34 */ lwz r7, 0x34(r6) -/* 80295AD4 91 03 01 80 */ stw r8, 0x180(r3) -/* 80295AD8 90 E3 01 84 */ stw r7, 0x184(r3) -/* 80295ADC 80 E6 00 38 */ lwz r7, 0x38(r6) -/* 80295AE0 90 E3 01 88 */ stw r7, 0x188(r3) -/* 80295AE4 81 06 00 3C */ lwz r8, 0x3c(r6) -/* 80295AE8 80 E6 00 40 */ lwz r7, 0x40(r6) -/* 80295AEC 91 03 01 90 */ stw r8, 0x190(r3) -/* 80295AF0 90 E3 01 94 */ stw r7, 0x194(r3) -/* 80295AF4 80 E6 00 44 */ lwz r7, 0x44(r6) -/* 80295AF8 90 E3 01 98 */ stw r7, 0x198(r3) -/* 80295AFC 81 06 00 48 */ lwz r8, 0x48(r6) -/* 80295B00 80 E6 00 4C */ lwz r7, 0x4c(r6) -/* 80295B04 91 03 01 A0 */ stw r8, 0x1a0(r3) -/* 80295B08 90 E3 01 A4 */ stw r7, 0x1a4(r3) -/* 80295B0C 80 E6 00 50 */ lwz r7, 0x50(r6) -/* 80295B10 90 E3 01 A8 */ stw r7, 0x1a8(r3) -/* 80295B14 81 06 00 54 */ lwz r8, 0x54(r6) -/* 80295B18 80 E6 00 58 */ lwz r7, 0x58(r6) -/* 80295B1C 91 03 01 B0 */ stw r8, 0x1b0(r3) -/* 80295B20 90 E3 01 B4 */ stw r7, 0x1b4(r3) -/* 80295B24 80 E6 00 5C */ lwz r7, 0x5c(r6) -/* 80295B28 90 E3 01 B8 */ stw r7, 0x1b8(r3) -/* 80295B2C 90 A3 01 C0 */ stw r5, 0x1c0(r3) -/* 80295B30 90 83 01 C4 */ stw r4, 0x1c4(r3) -/* 80295B34 90 03 01 C8 */ stw r0, 0x1c8(r3) -/* 80295B38 90 A3 01 D0 */ stw r5, 0x1d0(r3) -/* 80295B3C 90 83 01 D4 */ stw r4, 0x1d4(r3) -/* 80295B40 90 03 01 D8 */ stw r0, 0x1d8(r3) -/* 80295B44 90 A3 01 E0 */ stw r5, 0x1e0(r3) -/* 80295B48 90 83 01 E4 */ stw r4, 0x1e4(r3) -/* 80295B4C 90 03 01 E8 */ stw r0, 0x1e8(r3) -/* 80295B50 90 A3 01 F0 */ stw r5, 0x1f0(r3) -/* 80295B54 90 83 01 F4 */ stw r4, 0x1f4(r3) -/* 80295B58 90 03 01 F8 */ stw r0, 0x1f8(r3) -/* 80295B5C 90 A3 02 00 */ stw r5, 0x200(r3) -/* 80295B60 90 83 02 04 */ stw r4, 0x204(r3) -/* 80295B64 90 03 02 08 */ stw r0, 0x208(r3) -/* 80295B68 81 06 00 60 */ lwz r8, 0x60(r6) -/* 80295B6C 80 E6 00 64 */ lwz r7, 0x64(r6) -/* 80295B70 91 03 02 10 */ stw r8, 0x210(r3) -/* 80295B74 90 E3 02 14 */ stw r7, 0x214(r3) -/* 80295B78 80 E6 00 68 */ lwz r7, 0x68(r6) -/* 80295B7C 90 E3 02 18 */ stw r7, 0x218(r3) -/* 80295B80 81 06 00 6C */ lwz r8, 0x6c(r6) -/* 80295B84 80 E6 00 70 */ lwz r7, 0x70(r6) -/* 80295B88 91 03 02 20 */ stw r8, 0x220(r3) -/* 80295B8C 90 E3 02 24 */ stw r7, 0x224(r3) -/* 80295B90 80 E6 00 74 */ lwz r7, 0x74(r6) -/* 80295B94 90 E3 02 28 */ stw r7, 0x228(r3) -/* 80295B98 81 06 00 78 */ lwz r8, 0x78(r6) -/* 80295B9C 80 E6 00 7C */ lwz r7, 0x7c(r6) -/* 80295BA0 91 03 02 30 */ stw r8, 0x230(r3) -/* 80295BA4 90 E3 02 34 */ stw r7, 0x234(r3) -/* 80295BA8 80 E6 00 80 */ lwz r7, 0x80(r6) -/* 80295BAC 90 E3 02 38 */ stw r7, 0x238(r3) -/* 80295BB0 81 06 00 84 */ lwz r8, 0x84(r6) -/* 80295BB4 80 E6 00 88 */ lwz r7, 0x88(r6) -/* 80295BB8 91 03 02 40 */ stw r8, 0x240(r3) -/* 80295BBC 90 E3 02 44 */ stw r7, 0x244(r3) -/* 80295BC0 80 E6 00 8C */ lwz r7, 0x8c(r6) -/* 80295BC4 90 E3 02 48 */ stw r7, 0x248(r3) -/* 80295BC8 81 06 00 90 */ lwz r8, 0x90(r6) -/* 80295BCC 80 E6 00 94 */ lwz r7, 0x94(r6) -/* 80295BD0 91 03 02 50 */ stw r8, 0x250(r3) -/* 80295BD4 90 E3 02 54 */ stw r7, 0x254(r3) -/* 80295BD8 80 E6 00 98 */ lwz r7, 0x98(r6) -/* 80295BDC 90 E3 02 58 */ stw r7, 0x258(r3) -/* 80295BE0 81 06 00 9C */ lwz r8, 0x9c(r6) -/* 80295BE4 80 E6 00 A0 */ lwz r7, 0xa0(r6) -/* 80295BE8 91 03 02 60 */ stw r8, 0x260(r3) -/* 80295BEC 90 E3 02 64 */ stw r7, 0x264(r3) -/* 80295BF0 80 E6 00 A4 */ lwz r7, 0xa4(r6) -/* 80295BF4 90 E3 02 68 */ stw r7, 0x268(r3) -/* 80295BF8 81 06 00 A8 */ lwz r8, 0xa8(r6) -/* 80295BFC 80 E6 00 AC */ lwz r7, 0xac(r6) -/* 80295C00 91 03 02 70 */ stw r8, 0x270(r3) -/* 80295C04 90 E3 02 74 */ stw r7, 0x274(r3) -/* 80295C08 80 E6 00 B0 */ lwz r7, 0xb0(r6) -/* 80295C0C 90 E3 02 78 */ stw r7, 0x278(r3) -/* 80295C10 81 06 00 B4 */ lwz r8, 0xb4(r6) -/* 80295C14 80 E6 00 B8 */ lwz r7, 0xb8(r6) -/* 80295C18 91 03 02 80 */ stw r8, 0x280(r3) -/* 80295C1C 90 E3 02 84 */ stw r7, 0x284(r3) -/* 80295C20 80 E6 00 BC */ lwz r7, 0xbc(r6) -/* 80295C24 90 E3 02 88 */ stw r7, 0x288(r3) -/* 80295C28 81 06 00 C0 */ lwz r8, 0xc0(r6) -/* 80295C2C 80 E6 00 C4 */ lwz r7, 0xc4(r6) -/* 80295C30 91 03 02 90 */ stw r8, 0x290(r3) -/* 80295C34 90 E3 02 94 */ stw r7, 0x294(r3) -/* 80295C38 80 E6 00 C8 */ lwz r7, 0xc8(r6) -/* 80295C3C 90 E3 02 98 */ stw r7, 0x298(r3) -/* 80295C40 81 06 00 CC */ lwz r8, 0xcc(r6) -/* 80295C44 80 E6 00 D0 */ lwz r7, 0xd0(r6) -/* 80295C48 91 03 02 A0 */ stw r8, 0x2a0(r3) -/* 80295C4C 90 E3 02 A4 */ stw r7, 0x2a4(r3) -/* 80295C50 80 E6 00 D4 */ lwz r7, 0xd4(r6) -/* 80295C54 90 E3 02 A8 */ stw r7, 0x2a8(r3) -/* 80295C58 81 06 00 D8 */ lwz r8, 0xd8(r6) -/* 80295C5C 80 E6 00 DC */ lwz r7, 0xdc(r6) -/* 80295C60 91 03 02 B0 */ stw r8, 0x2b0(r3) -/* 80295C64 90 E3 02 B4 */ stw r7, 0x2b4(r3) -/* 80295C68 80 E6 00 E0 */ lwz r7, 0xe0(r6) -/* 80295C6C 90 E3 02 B8 */ stw r7, 0x2b8(r3) -/* 80295C70 81 06 00 E4 */ lwz r8, 0xe4(r6) -/* 80295C74 80 E6 00 E8 */ lwz r7, 0xe8(r6) -/* 80295C78 91 03 02 C0 */ stw r8, 0x2c0(r3) -/* 80295C7C 90 E3 02 C4 */ stw r7, 0x2c4(r3) -/* 80295C80 80 E6 00 EC */ lwz r7, 0xec(r6) -/* 80295C84 90 E3 02 C8 */ stw r7, 0x2c8(r3) -/* 80295C88 90 A3 02 D0 */ stw r5, 0x2d0(r3) -/* 80295C8C 90 83 02 D4 */ stw r4, 0x2d4(r3) -/* 80295C90 90 03 02 D8 */ stw r0, 0x2d8(r3) -/* 80295C94 90 A3 02 E0 */ stw r5, 0x2e0(r3) -/* 80295C98 90 83 02 E4 */ stw r4, 0x2e4(r3) -/* 80295C9C 90 03 02 E8 */ stw r0, 0x2e8(r3) -/* 80295CA0 90 A3 02 F0 */ stw r5, 0x2f0(r3) -/* 80295CA4 90 83 02 F4 */ stw r4, 0x2f4(r3) -/* 80295CA8 90 03 02 F8 */ stw r0, 0x2f8(r3) -/* 80295CAC 81 06 00 F0 */ lwz r8, 0xf0(r6) -/* 80295CB0 80 E6 00 F4 */ lwz r7, 0xf4(r6) -/* 80295CB4 91 03 03 00 */ stw r8, 0x300(r3) -/* 80295CB8 90 E3 03 04 */ stw r7, 0x304(r3) -/* 80295CBC 80 E6 00 F8 */ lwz r7, 0xf8(r6) -/* 80295CC0 90 E3 03 08 */ stw r7, 0x308(r3) -/* 80295CC4 81 06 00 FC */ lwz r8, 0xfc(r6) -/* 80295CC8 80 E6 01 00 */ lwz r7, 0x100(r6) -/* 80295CCC 91 03 03 10 */ stw r8, 0x310(r3) -/* 80295CD0 90 E3 03 14 */ stw r7, 0x314(r3) -/* 80295CD4 80 E6 01 04 */ lwz r7, 0x104(r6) -/* 80295CD8 90 E3 03 18 */ stw r7, 0x318(r3) -/* 80295CDC 81 06 01 08 */ lwz r8, 0x108(r6) -/* 80295CE0 80 E6 01 0C */ lwz r7, 0x10c(r6) -/* 80295CE4 91 03 03 20 */ stw r8, 0x320(r3) -/* 80295CE8 90 E3 03 24 */ stw r7, 0x324(r3) -/* 80295CEC 80 E6 01 10 */ lwz r7, 0x110(r6) -/* 80295CF0 90 E3 03 28 */ stw r7, 0x328(r3) -/* 80295CF4 81 06 01 14 */ lwz r8, 0x114(r6) -/* 80295CF8 80 E6 01 18 */ lwz r7, 0x118(r6) -/* 80295CFC 91 03 03 30 */ stw r8, 0x330(r3) -/* 80295D00 90 E3 03 34 */ stw r7, 0x334(r3) -/* 80295D04 80 E6 01 1C */ lwz r7, 0x11c(r6) -/* 80295D08 90 E3 03 38 */ stw r7, 0x338(r3) -/* 80295D0C 81 06 01 20 */ lwz r8, 0x120(r6) -/* 80295D10 80 E6 01 24 */ lwz r7, 0x124(r6) -/* 80295D14 91 03 03 40 */ stw r8, 0x340(r3) -/* 80295D18 90 E3 03 44 */ stw r7, 0x344(r3) -/* 80295D1C 80 E6 01 28 */ lwz r7, 0x128(r6) -/* 80295D20 90 E3 03 48 */ stw r7, 0x348(r3) -/* 80295D24 81 06 01 2C */ lwz r8, 0x12c(r6) -/* 80295D28 80 E6 01 30 */ lwz r7, 0x130(r6) -/* 80295D2C 91 03 03 50 */ stw r8, 0x350(r3) -/* 80295D30 90 E3 03 54 */ stw r7, 0x354(r3) -/* 80295D34 80 E6 01 34 */ lwz r7, 0x134(r6) -/* 80295D38 90 E3 03 58 */ stw r7, 0x358(r3) -/* 80295D3C 81 06 01 38 */ lwz r8, 0x138(r6) -/* 80295D40 80 E6 01 3C */ lwz r7, 0x13c(r6) -/* 80295D44 91 03 03 60 */ stw r8, 0x360(r3) -/* 80295D48 90 E3 03 64 */ stw r7, 0x364(r3) -/* 80295D4C 80 E6 01 40 */ lwz r7, 0x140(r6) -/* 80295D50 90 E3 03 68 */ stw r7, 0x368(r3) -/* 80295D54 81 06 01 44 */ lwz r8, 0x144(r6) -/* 80295D58 80 E6 01 48 */ lwz r7, 0x148(r6) -/* 80295D5C 91 03 03 70 */ stw r8, 0x370(r3) -/* 80295D60 90 E3 03 74 */ stw r7, 0x374(r3) -/* 80295D64 80 E6 01 4C */ lwz r7, 0x14c(r6) -/* 80295D68 90 E3 03 78 */ stw r7, 0x378(r3) -/* 80295D6C 81 06 01 50 */ lwz r8, 0x150(r6) -/* 80295D70 80 E6 01 54 */ lwz r7, 0x154(r6) -/* 80295D74 91 03 03 80 */ stw r8, 0x380(r3) -/* 80295D78 90 E3 03 84 */ stw r7, 0x384(r3) -/* 80295D7C 80 E6 01 58 */ lwz r7, 0x158(r6) -/* 80295D80 90 E3 03 88 */ stw r7, 0x388(r3) -/* 80295D84 81 06 01 5C */ lwz r8, 0x15c(r6) -/* 80295D88 80 E6 01 60 */ lwz r7, 0x160(r6) -/* 80295D8C 91 03 03 90 */ stw r8, 0x390(r3) -/* 80295D90 90 E3 03 94 */ stw r7, 0x394(r3) -/* 80295D94 80 E6 01 64 */ lwz r7, 0x164(r6) -/* 80295D98 90 E3 03 98 */ stw r7, 0x398(r3) -/* 80295D9C 81 06 01 68 */ lwz r8, 0x168(r6) -/* 80295DA0 80 E6 01 6C */ lwz r7, 0x16c(r6) -/* 80295DA4 91 03 03 A0 */ stw r8, 0x3a0(r3) -/* 80295DA8 90 E3 03 A4 */ stw r7, 0x3a4(r3) -/* 80295DAC 80 E6 01 70 */ lwz r7, 0x170(r6) -/* 80295DB0 90 E3 03 A8 */ stw r7, 0x3a8(r3) -/* 80295DB4 81 06 01 74 */ lwz r8, 0x174(r6) -/* 80295DB8 80 E6 01 78 */ lwz r7, 0x178(r6) -/* 80295DBC 91 03 03 B0 */ stw r8, 0x3b0(r3) -/* 80295DC0 90 E3 03 B4 */ stw r7, 0x3b4(r3) -/* 80295DC4 80 E6 01 7C */ lwz r7, 0x17c(r6) -/* 80295DC8 90 E3 03 B8 */ stw r7, 0x3b8(r3) -/* 80295DCC 81 06 01 80 */ lwz r8, 0x180(r6) -/* 80295DD0 80 E6 01 84 */ lwz r7, 0x184(r6) -/* 80295DD4 91 03 03 C0 */ stw r8, 0x3c0(r3) -/* 80295DD8 90 E3 03 C4 */ stw r7, 0x3c4(r3) -/* 80295DDC 80 E6 01 88 */ lwz r7, 0x188(r6) -/* 80295DE0 90 E3 03 C8 */ stw r7, 0x3c8(r3) -/* 80295DE4 90 A3 03 D0 */ stw r5, 0x3d0(r3) -/* 80295DE8 90 83 03 D4 */ stw r4, 0x3d4(r3) -/* 80295DEC 90 03 03 D8 */ stw r0, 0x3d8(r3) -/* 80295DF0 90 A3 03 E0 */ stw r5, 0x3e0(r3) -/* 80295DF4 90 83 03 E4 */ stw r4, 0x3e4(r3) -/* 80295DF8 90 03 03 E8 */ stw r0, 0x3e8(r3) -/* 80295DFC 90 A3 03 F0 */ stw r5, 0x3f0(r3) -/* 80295E00 90 83 03 F4 */ stw r4, 0x3f4(r3) -/* 80295E04 90 03 03 F8 */ stw r0, 0x3f8(r3) -/* 80295E08 81 06 01 8C */ lwz r8, 0x18c(r6) -/* 80295E0C 80 E6 01 90 */ lwz r7, 0x190(r6) -/* 80295E10 91 03 04 00 */ stw r8, 0x400(r3) -/* 80295E14 90 E3 04 04 */ stw r7, 0x404(r3) -/* 80295E18 80 E6 01 94 */ lwz r7, 0x194(r6) -/* 80295E1C 90 E3 04 08 */ stw r7, 0x408(r3) -/* 80295E20 81 06 01 98 */ lwz r8, 0x198(r6) -/* 80295E24 80 E6 01 9C */ lwz r7, 0x19c(r6) -/* 80295E28 91 03 04 10 */ stw r8, 0x410(r3) -/* 80295E2C 90 E3 04 14 */ stw r7, 0x414(r3) -/* 80295E30 80 E6 01 A0 */ lwz r7, 0x1a0(r6) -/* 80295E34 90 E3 04 18 */ stw r7, 0x418(r3) -/* 80295E38 81 06 01 A4 */ lwz r8, 0x1a4(r6) -/* 80295E3C 80 E6 01 A8 */ lwz r7, 0x1a8(r6) -/* 80295E40 91 03 04 20 */ stw r8, 0x420(r3) -/* 80295E44 90 E3 04 24 */ stw r7, 0x424(r3) -/* 80295E48 80 E6 01 AC */ lwz r7, 0x1ac(r6) -/* 80295E4C 90 E3 04 28 */ stw r7, 0x428(r3) -/* 80295E50 81 06 01 B0 */ lwz r8, 0x1b0(r6) -/* 80295E54 80 E6 01 B4 */ lwz r7, 0x1b4(r6) -/* 80295E58 91 03 04 30 */ stw r8, 0x430(r3) -/* 80295E5C 90 E3 04 34 */ stw r7, 0x434(r3) -/* 80295E60 80 E6 01 B8 */ lwz r7, 0x1b8(r6) -/* 80295E64 90 E3 04 38 */ stw r7, 0x438(r3) -/* 80295E68 90 A3 04 40 */ stw r5, 0x440(r3) -/* 80295E6C 90 83 04 44 */ stw r4, 0x444(r3) -/* 80295E70 90 03 04 48 */ stw r0, 0x448(r3) -/* 80295E74 90 A3 04 50 */ stw r5, 0x450(r3) -/* 80295E78 90 83 04 54 */ stw r4, 0x454(r3) -/* 80295E7C 90 03 04 58 */ stw r0, 0x458(r3) -/* 80295E80 90 A3 04 60 */ stw r5, 0x460(r3) -/* 80295E84 90 83 04 64 */ stw r4, 0x464(r3) -/* 80295E88 90 03 04 68 */ stw r0, 0x468(r3) -/* 80295E8C 81 06 01 BC */ lwz r8, 0x1bc(r6) -/* 80295E90 80 E6 01 C0 */ lwz r7, 0x1c0(r6) -/* 80295E94 91 03 04 70 */ stw r8, 0x470(r3) -/* 80295E98 90 E3 04 74 */ stw r7, 0x474(r3) -/* 80295E9C 80 E6 01 C4 */ lwz r7, 0x1c4(r6) -/* 80295EA0 90 E3 04 78 */ stw r7, 0x478(r3) -/* 80295EA4 81 06 01 C8 */ lwz r8, 0x1c8(r6) -/* 80295EA8 80 E6 01 CC */ lwz r7, 0x1cc(r6) -/* 80295EAC 91 03 04 80 */ stw r8, 0x480(r3) -/* 80295EB0 90 E3 04 84 */ stw r7, 0x484(r3) -/* 80295EB4 80 E6 01 D0 */ lwz r7, 0x1d0(r6) -/* 80295EB8 90 E3 04 88 */ stw r7, 0x488(r3) -/* 80295EBC 81 06 01 D4 */ lwz r8, 0x1d4(r6) -/* 80295EC0 80 E6 01 D8 */ lwz r7, 0x1d8(r6) -/* 80295EC4 91 03 04 90 */ stw r8, 0x490(r3) -/* 80295EC8 90 E3 04 94 */ stw r7, 0x494(r3) -/* 80295ECC 80 E6 01 DC */ lwz r7, 0x1dc(r6) -/* 80295ED0 90 E3 04 98 */ stw r7, 0x498(r3) -/* 80295ED4 81 06 01 E0 */ lwz r8, 0x1e0(r6) -/* 80295ED8 80 E6 01 E4 */ lwz r7, 0x1e4(r6) -/* 80295EDC 91 03 04 A0 */ stw r8, 0x4a0(r3) -/* 80295EE0 90 E3 04 A4 */ stw r7, 0x4a4(r3) -/* 80295EE4 80 E6 01 E8 */ lwz r7, 0x1e8(r6) -/* 80295EE8 90 E3 04 A8 */ stw r7, 0x4a8(r3) -/* 80295EEC 81 06 01 EC */ lwz r8, 0x1ec(r6) -/* 80295EF0 80 E6 01 F0 */ lwz r7, 0x1f0(r6) -/* 80295EF4 91 03 04 B0 */ stw r8, 0x4b0(r3) -/* 80295EF8 90 E3 04 B4 */ stw r7, 0x4b4(r3) -/* 80295EFC 80 E6 01 F4 */ lwz r7, 0x1f4(r6) -/* 80295F00 90 E3 04 B8 */ stw r7, 0x4b8(r3) -/* 80295F04 81 06 01 F8 */ lwz r8, 0x1f8(r6) -/* 80295F08 80 E6 01 FC */ lwz r7, 0x1fc(r6) -/* 80295F0C 91 03 04 C0 */ stw r8, 0x4c0(r3) -/* 80295F10 90 E3 04 C4 */ stw r7, 0x4c4(r3) -/* 80295F14 80 E6 02 00 */ lwz r7, 0x200(r6) -/* 80295F18 90 E3 04 C8 */ stw r7, 0x4c8(r3) -/* 80295F1C 81 06 02 04 */ lwz r8, 0x204(r6) -/* 80295F20 80 E6 02 08 */ lwz r7, 0x208(r6) -/* 80295F24 91 03 04 D0 */ stw r8, 0x4d0(r3) -/* 80295F28 90 E3 04 D4 */ stw r7, 0x4d4(r3) -/* 80295F2C 80 E6 02 0C */ lwz r7, 0x20c(r6) -/* 80295F30 90 E3 04 D8 */ stw r7, 0x4d8(r3) -/* 80295F34 90 A3 04 E0 */ stw r5, 0x4e0(r3) -/* 80295F38 90 83 04 E4 */ stw r4, 0x4e4(r3) -/* 80295F3C 90 03 04 E8 */ stw r0, 0x4e8(r3) -/* 80295F40 90 A3 04 F0 */ stw r5, 0x4f0(r3) -/* 80295F44 90 83 04 F4 */ stw r4, 0x4f4(r3) -/* 80295F48 90 03 04 F8 */ stw r0, 0x4f8(r3) -/* 80295F4C 81 06 02 10 */ lwz r8, 0x210(r6) -/* 80295F50 80 E6 02 14 */ lwz r7, 0x214(r6) -/* 80295F54 91 03 05 00 */ stw r8, 0x500(r3) -/* 80295F58 90 E3 05 04 */ stw r7, 0x504(r3) -/* 80295F5C 80 E6 02 18 */ lwz r7, 0x218(r6) -/* 80295F60 90 E3 05 08 */ stw r7, 0x508(r3) -/* 80295F64 81 06 02 1C */ lwz r8, 0x21c(r6) -/* 80295F68 80 E6 02 20 */ lwz r7, 0x220(r6) -/* 80295F6C 91 03 05 10 */ stw r8, 0x510(r3) -/* 80295F70 90 E3 05 14 */ stw r7, 0x514(r3) -/* 80295F74 80 E6 02 24 */ lwz r7, 0x224(r6) -/* 80295F78 90 E3 05 18 */ stw r7, 0x518(r3) -/* 80295F7C 90 A3 05 20 */ stw r5, 0x520(r3) -/* 80295F80 90 83 05 24 */ stw r4, 0x524(r3) -/* 80295F84 90 03 05 28 */ stw r0, 0x528(r3) -/* 80295F88 81 06 02 28 */ lwz r8, 0x228(r6) -/* 80295F8C 80 E6 02 2C */ lwz r7, 0x22c(r6) -/* 80295F90 91 03 05 30 */ stw r8, 0x530(r3) -/* 80295F94 90 E3 05 34 */ stw r7, 0x534(r3) -/* 80295F98 80 E6 02 30 */ lwz r7, 0x230(r6) -/* 80295F9C 90 E3 05 38 */ stw r7, 0x538(r3) -/* 80295FA0 81 06 02 34 */ lwz r8, 0x234(r6) -/* 80295FA4 80 E6 02 38 */ lwz r7, 0x238(r6) -/* 80295FA8 91 03 05 40 */ stw r8, 0x540(r3) -/* 80295FAC 90 E3 05 44 */ stw r7, 0x544(r3) -/* 80295FB0 80 E6 02 3C */ lwz r7, 0x23c(r6) -/* 80295FB4 90 E3 05 48 */ stw r7, 0x548(r3) -/* 80295FB8 81 06 02 40 */ lwz r8, 0x240(r6) -/* 80295FBC 80 E6 02 44 */ lwz r7, 0x244(r6) -/* 80295FC0 91 03 05 50 */ stw r8, 0x550(r3) -/* 80295FC4 90 E3 05 54 */ stw r7, 0x554(r3) -/* 80295FC8 80 E6 02 48 */ lwz r7, 0x248(r6) -/* 80295FCC 90 E3 05 58 */ stw r7, 0x558(r3) -/* 80295FD0 81 06 02 4C */ lwz r8, 0x24c(r6) -/* 80295FD4 80 E6 02 50 */ lwz r7, 0x250(r6) -/* 80295FD8 91 03 05 60 */ stw r8, 0x560(r3) -/* 80295FDC 90 E3 05 64 */ stw r7, 0x564(r3) -/* 80295FE0 80 E6 02 54 */ lwz r7, 0x254(r6) -/* 80295FE4 90 E3 05 68 */ stw r7, 0x568(r3) -/* 80295FE8 81 06 02 58 */ lwz r8, 0x258(r6) -/* 80295FEC 80 E6 02 5C */ lwz r7, 0x25c(r6) -/* 80295FF0 91 03 05 70 */ stw r8, 0x570(r3) -/* 80295FF4 90 E3 05 74 */ stw r7, 0x574(r3) -/* 80295FF8 80 E6 02 60 */ lwz r7, 0x260(r6) -/* 80295FFC 90 E3 05 78 */ stw r7, 0x578(r3) -/* 80296000 81 06 02 64 */ lwz r8, 0x264(r6) -/* 80296004 80 E6 02 68 */ lwz r7, 0x268(r6) -/* 80296008 91 03 05 80 */ stw r8, 0x580(r3) -/* 8029600C 90 E3 05 84 */ stw r7, 0x584(r3) -/* 80296010 80 E6 02 6C */ lwz r7, 0x26c(r6) -/* 80296014 90 E3 05 88 */ stw r7, 0x588(r3) -/* 80296018 81 06 02 70 */ lwz r8, 0x270(r6) -/* 8029601C 80 E6 02 74 */ lwz r7, 0x274(r6) -/* 80296020 91 03 05 90 */ stw r8, 0x590(r3) -/* 80296024 90 E3 05 94 */ stw r7, 0x594(r3) -/* 80296028 80 E6 02 78 */ lwz r7, 0x278(r6) -/* 8029602C 90 E3 05 98 */ stw r7, 0x598(r3) -/* 80296030 90 A3 05 A0 */ stw r5, 0x5a0(r3) -/* 80296034 90 83 05 A4 */ stw r4, 0x5a4(r3) -/* 80296038 90 03 05 A8 */ stw r0, 0x5a8(r3) -/* 8029603C 90 A3 05 B0 */ stw r5, 0x5b0(r3) -/* 80296040 90 83 05 B4 */ stw r4, 0x5b4(r3) -/* 80296044 90 03 05 B8 */ stw r0, 0x5b8(r3) -/* 80296048 90 A3 05 C0 */ stw r5, 0x5c0(r3) -/* 8029604C 90 83 05 C4 */ stw r4, 0x5c4(r3) -/* 80296050 90 03 05 C8 */ stw r0, 0x5c8(r3) -/* 80296054 81 06 02 7C */ lwz r8, 0x27c(r6) -/* 80296058 80 E6 02 80 */ lwz r7, 0x280(r6) -/* 8029605C 91 03 05 D0 */ stw r8, 0x5d0(r3) -/* 80296060 90 E3 05 D4 */ stw r7, 0x5d4(r3) -/* 80296064 80 E6 02 84 */ lwz r7, 0x284(r6) -/* 80296068 90 E3 05 D8 */ stw r7, 0x5d8(r3) -/* 8029606C 81 06 02 88 */ lwz r8, 0x288(r6) -/* 80296070 80 E6 02 8C */ lwz r7, 0x28c(r6) -/* 80296074 91 03 05 E0 */ stw r8, 0x5e0(r3) -/* 80296078 90 E3 05 E4 */ stw r7, 0x5e4(r3) -/* 8029607C 80 E6 02 90 */ lwz r7, 0x290(r6) -/* 80296080 90 E3 05 E8 */ stw r7, 0x5e8(r3) -/* 80296084 81 06 02 94 */ lwz r8, 0x294(r6) -/* 80296088 80 E6 02 98 */ lwz r7, 0x298(r6) -/* 8029608C 91 03 05 F0 */ stw r8, 0x5f0(r3) -/* 80296090 90 E3 05 F4 */ stw r7, 0x5f4(r3) -/* 80296094 80 E6 02 9C */ lwz r7, 0x29c(r6) -/* 80296098 90 E3 05 F8 */ stw r7, 0x5f8(r3) -/* 8029609C 90 A6 08 AC */ stw r5, 0x8ac(r6) -/* 802960A0 90 86 08 B0 */ stw r4, 0x8b0(r6) -/* 802960A4 90 06 08 B4 */ stw r0, 0x8b4(r6) -/* 802960A8 39 06 08 AC */ addi r8, r6, 0x8ac -/* 802960AC 80 E6 08 A0 */ lwz r7, 0x8a0(r6) -/* 802960B0 80 66 08 A4 */ lwz r3, 0x8a4(r6) -/* 802960B4 90 E8 00 10 */ stw r7, 0x10(r8) -/* 802960B8 90 68 00 14 */ stw r3, 0x14(r8) -/* 802960BC 80 66 08 A8 */ lwz r3, 0x8a8(r6) -/* 802960C0 90 68 00 18 */ stw r3, 0x18(r8) -/* 802960C4 90 A8 00 20 */ stw r5, 0x20(r8) -/* 802960C8 90 88 00 24 */ stw r4, 0x24(r8) -/* 802960CC 90 08 00 28 */ stw r0, 0x28(r8) -/* 802960D0 90 A8 00 30 */ stw r5, 0x30(r8) -/* 802960D4 90 88 00 34 */ stw r4, 0x34(r8) -/* 802960D8 90 08 00 38 */ stw r0, 0x38(r8) -/* 802960DC 90 A8 00 40 */ stw r5, 0x40(r8) -/* 802960E0 90 88 00 44 */ stw r4, 0x44(r8) -/* 802960E4 90 08 00 48 */ stw r0, 0x48(r8) -/* 802960E8 90 A8 00 50 */ stw r5, 0x50(r8) -/* 802960EC 90 88 00 54 */ stw r4, 0x54(r8) -/* 802960F0 90 08 00 58 */ stw r0, 0x58(r8) -/* 802960F4 90 A8 00 60 */ stw r5, 0x60(r8) -/* 802960F8 90 88 00 64 */ stw r4, 0x64(r8) -/* 802960FC 90 08 00 68 */ stw r0, 0x68(r8) -/* 80296100 38 21 00 20 */ addi r1, r1, 0x20 -/* 80296104 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdBankPrg__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdBankPrg__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index a932163876..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdBankPrg__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80294BB4: -/* 80294BB4 80 65 00 00 */ lwz r3, 0(r5) -/* 80294BB8 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f -/* 80294BBC B0 04 02 2C */ sth r0, 0x22c(r4) -/* 80294BC0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80294BC4 B0 04 02 2E */ sth r0, 0x22e(r4) -/* 80294BC8 38 60 00 00 */ li r3, 0 -/* 80294BCC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdBank__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdBank__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index bd978efc49..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdBank__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80294BD0: -/* 80294BD0 80 05 00 00 */ lwz r0, 0(r5) -/* 80294BD4 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80294BD8 B0 04 02 2C */ sth r0, 0x22c(r4) -/* 80294BDC 38 60 00 00 */ li r3, 0 -/* 80294BE0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdBusConnect__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdBusConnect__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 2854561327..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdBusConnect__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8029491C: -/* 8029491C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294920 7C 08 02 A6 */ mflr r0 -/* 80294924 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294928 7C 83 23 78 */ mr r3, r4 -/* 8029492C 80 85 00 00 */ lwz r4, 0(r5) -/* 80294930 80 A5 00 04 */ lwz r5, 4(r5) -/* 80294934 4B FF D4 79 */ bl connectBus__8JASTrackFii -/* 80294938 38 60 00 00 */ li r3, 0 -/* 8029493C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294940 7C 08 03 A6 */ mtlr r0 -/* 80294944 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294948 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdCallF__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdCallF__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index a5d940b10d..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdCallF__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80294248: -/* 80294248 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029424C 7C 08 02 A6 */ mflr r0 -/* 80294250 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294254 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80294258 93 C1 00 08 */ stw r30, 8(r1) -/* 8029425C 7C 9E 23 78 */ mr r30, r4 -/* 80294260 7C BF 2B 78 */ mr r31, r5 -/* 80294264 80 A5 00 00 */ lwz r5, 0(r5) -/* 80294268 4B FF FA 8D */ bl conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition -/* 8029426C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80294270 41 82 00 10 */ beq lbl_80294280 -/* 80294274 7F C3 F3 78 */ mr r3, r30 -/* 80294278 80 9F 00 04 */ lwz r4, 4(r31) -/* 8029427C 48 00 1F 11 */ bl call__12JASSeqReaderFUl -lbl_80294280: -/* 80294280 38 60 00 00 */ li r3, 0 -/* 80294284 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80294288 83 C1 00 08 */ lwz r30, 8(r1) -/* 8029428C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294290 7C 08 03 A6 */ mtlr r0 -/* 80294294 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294298 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdCall__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdCall__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 93b1cc6c65..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdCall__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8029421C: -/* 8029421C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294220 7C 08 02 A6 */ mflr r0 -/* 80294224 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294228 7C 83 23 78 */ mr r3, r4 -/* 8029422C 80 85 00 00 */ lwz r4, 0(r5) -/* 80294230 48 00 1F 5D */ bl call__12JASSeqReaderFUl -/* 80294234 38 60 00 00 */ li r3, 0 -/* 80294238 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029423C 7C 08 03 A6 */ mtlr r0 -/* 80294240 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294244 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortExport__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortExport__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 8d3bd91d44..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortExport__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80294770: -/* 80294770 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294774 7C 08 02 A6 */ mflr r0 -/* 80294778 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029477C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80294780 7C 9F 23 78 */ mr r31, r4 -/* 80294784 38 7F 00 5C */ addi r3, r31, 0x5c -/* 80294788 80 85 00 00 */ lwz r4, 0(r5) -/* 8029478C 4B FF EE 9D */ bl checkExport__12JASTrackPortCFUl -/* 80294790 7C 60 1B 78 */ mr r0, r3 -/* 80294794 38 7F 00 80 */ addi r3, r31, 0x80 -/* 80294798 38 80 00 03 */ li r4, 3 -/* 8029479C 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 802947A0 4B FF EE E5 */ bl write__16JASRegisterParamFQ216JASRegisterParam5RegIDUl -/* 802947A4 38 60 00 00 */ li r3, 0 -/* 802947A8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802947AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802947B0 7C 08 03 A6 */ mtlr r0 -/* 802947B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802947B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortImport__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortImport__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 85b1279639..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortImport__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80294724: -/* 80294724 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294728 7C 08 02 A6 */ mflr r0 -/* 8029472C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294730 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80294734 7C 9F 23 78 */ mr r31, r4 -/* 80294738 38 7F 00 5C */ addi r3, r31, 0x5c -/* 8029473C 80 85 00 00 */ lwz r4, 0(r5) -/* 80294740 4B FF EE CD */ bl checkImport__12JASTrackPortCFUl -/* 80294744 7C 60 1B 78 */ mr r0, r3 -/* 80294748 38 7F 00 80 */ addi r3, r31, 0x80 -/* 8029474C 38 80 00 03 */ li r4, 3 -/* 80294750 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 80294754 4B FF EF 31 */ bl write__16JASRegisterParamFQ216JASRegisterParam5RegIDUl -/* 80294758 38 60 00 00 */ li r3, 0 -/* 8029475C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80294760 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294764 7C 08 03 A6 */ mtlr r0 -/* 80294768 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029476C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdChildReadPort__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdChildReadPort__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 334481aecc..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdChildReadPort__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_802946AC: -/* 802946AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802946B0 7C 08 02 A6 */ mflr r0 -/* 802946B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802946B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802946BC 48 0C DB 21 */ bl _savegpr_29 -/* 802946C0 7C 7D 1B 78 */ mr r29, r3 -/* 802946C4 7C 9E 23 78 */ mr r30, r4 -/* 802946C8 7C BF 2B 78 */ mr r31, r5 -/* 802946CC 80 05 00 00 */ lwz r0, 0(r5) -/* 802946D0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 802946D4 54 00 F6 BA */ rlwinm r0, r0, 0x1e, 0x1a, 0x1d -/* 802946D8 7C 7E 02 14 */ add r3, r30, r0 -/* 802946DC 80 63 01 30 */ lwz r3, 0x130(r3) -/* 802946E0 28 03 00 00 */ cmplwi r3, 0 -/* 802946E4 41 82 00 24 */ beq lbl_80294708 -/* 802946E8 54 84 07 3E */ clrlwi r4, r4, 0x1c -/* 802946EC 4B FF E2 91 */ bl readPort__8JASTrackFUl -/* 802946F0 7C 60 1B 78 */ mr r0, r3 -/* 802946F4 7F A3 EB 78 */ mr r3, r29 -/* 802946F8 7F C4 F3 78 */ mr r4, r30 -/* 802946FC 80 BF 00 04 */ lwz r5, 4(r31) -/* 80294700 54 06 04 3E */ clrlwi r6, r0, 0x10 -/* 80294704 4B FF F6 C1 */ bl writeReg__12JASSeqParserFP8JASTrackUlUl -lbl_80294708: -/* 80294708 38 60 00 00 */ li r3, 0 -/* 8029470C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294710 48 0C DB 19 */ bl _restgpr_29 -/* 80294714 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80294718 7C 08 03 A6 */ mtlr r0 -/* 8029471C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80294720 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdChildWritePort__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdChildWritePort__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index d00a63de5e..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdChildWritePort__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802945F8: -/* 802945F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802945FC 7C 08 02 A6 */ mflr r0 -/* 80294600 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294604 80 05 00 00 */ lwz r0, 0(r5) -/* 80294608 54 06 06 3E */ clrlwi r6, r0, 0x18 -/* 8029460C 54 00 F6 BA */ rlwinm r0, r0, 0x1e, 0x1a, 0x1d -/* 80294610 7C 64 02 14 */ add r3, r4, r0 -/* 80294614 80 63 01 30 */ lwz r3, 0x130(r3) -/* 80294618 28 03 00 00 */ cmplwi r3, 0 -/* 8029461C 41 82 00 14 */ beq lbl_80294630 -/* 80294620 54 C4 07 3E */ clrlwi r4, r6, 0x1c -/* 80294624 80 05 00 04 */ lwz r0, 4(r5) -/* 80294628 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 8029462C 4B FF E2 ED */ bl writePort__8JASTrackFUlUs -lbl_80294630: -/* 80294630 38 60 00 00 */ li r3, 0 -/* 80294634 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294638 7C 08 03 A6 */ mtlr r0 -/* 8029463C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294640 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdCloseTrack__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdCloseTrack__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 6917ee3dc6..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdCloseTrack__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802941F0: -/* 802941F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802941F4 7C 08 02 A6 */ mflr r0 -/* 802941F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802941FC 7C 83 23 78 */ mr r3, r4 -/* 80294200 80 85 00 00 */ lwz r4, 0(r5) -/* 80294204 4B FF D9 B5 */ bl closeChild__8JASTrackFUl -/* 80294208 38 60 00 00 */ li r3, 0 -/* 8029420C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294210 7C 08 03 A6 */ mtlr r0 -/* 80294214 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294218 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdClrI__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdClrI__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 8de863f9fb..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdClrI__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802949B4: -/* 802949B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802949B8 7C 08 02 A6 */ mflr r0 -/* 802949BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802949C0 38 00 00 00 */ li r0, 0 -/* 802949C4 90 04 00 44 */ stw r0, 0x44(r4) -/* 802949C8 7C 83 23 78 */ mr r3, r4 -/* 802949CC 4B FF F1 AD */ bl checkIntr__10JASSeqCtrlFv -/* 802949D0 38 60 00 00 */ li r3, 0 -/* 802949D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802949D8 7C 08 03 A6 */ mtlr r0 -/* 802949DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802949E0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdDisInterrupt__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdDisInterrupt__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 3faec48235..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdDisInterrupt__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80294988: -/* 80294988 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029498C 7C 08 02 A6 */ mflr r0 -/* 80294990 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294994 7C 83 23 78 */ mr r3, r4 -/* 80294998 80 85 00 00 */ lwz r4, 0(r5) -/* 8029499C 4B FF F1 55 */ bl clrIntrMask__10JASSeqCtrlFUl -/* 802949A0 38 60 00 00 */ li r3, 0 -/* 802949A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802949A8 7C 08 03 A6 */ mtlr r0 -/* 802949AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802949B0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdDump__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdDump__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 087b3615b7..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdDump__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,122 +0,0 @@ -lbl_80295088: -/* 80295088 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029508C 7C 08 02 A6 */ mflr r0 -/* 80295090 90 01 00 24 */ stw r0, 0x24(r1) -/* 80295094 39 61 00 20 */ addi r11, r1, 0x20 -/* 80295098 48 0C D1 41 */ bl _savegpr_28 -/* 8029509C 7C 7C 1B 78 */ mr r28, r3 -/* 802950A0 7C 9F 23 78 */ mr r31, r4 -/* 802950A4 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 802950A8 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 802950AC 4C C6 31 82 */ crclr 6 -/* 802950B0 4B FF BE B5 */ bl JASReport__FPCce -/* 802950B4 80 BF 00 04 */ lwz r5, 4(r31) -/* 802950B8 80 9F 00 00 */ lwz r4, 0(r31) -/* 802950BC 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 802950C0 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 802950C4 38 63 00 35 */ addi r3, r3, 0x35 -/* 802950C8 7C C4 28 50 */ subf r6, r4, r5 -/* 802950CC 4C C6 31 82 */ crclr 6 -/* 802950D0 4B FF BE 95 */ bl JASReport__FPCce -/* 802950D4 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 802950D8 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 802950DC 38 63 00 57 */ addi r3, r3, 0x57 -/* 802950E0 4C C6 31 82 */ crclr 6 -/* 802950E4 4B FF BE 81 */ bl JASReport__FPCce -/* 802950E8 7F 83 E3 78 */ mr r3, r28 -/* 802950EC 7F E4 FB 78 */ mr r4, r31 -/* 802950F0 38 A0 00 02 */ li r5, 2 -/* 802950F4 4B FF EE D5 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 802950F8 7C 7E 1B 78 */ mr r30, r3 -/* 802950FC 7F 83 E3 78 */ mr r3, r28 -/* 80295100 7F E4 FB 78 */ mr r4, r31 -/* 80295104 38 A0 00 01 */ li r5, 1 -/* 80295108 4B FF EE C1 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 8029510C 7C 7D 1B 78 */ mr r29, r3 -/* 80295110 7F 83 E3 78 */ mr r3, r28 -/* 80295114 7F E4 FB 78 */ mr r4, r31 -/* 80295118 38 A0 00 00 */ li r5, 0 -/* 8029511C 4B FF EE AD */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80295120 7C 64 1B 78 */ mr r4, r3 -/* 80295124 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 80295128 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 8029512C 38 63 00 58 */ addi r3, r3, 0x58 -/* 80295130 7F A5 EB 78 */ mr r5, r29 -/* 80295134 7F C6 F3 78 */ mr r6, r30 -/* 80295138 4C C6 31 82 */ crclr 6 -/* 8029513C 4B FF BE 29 */ bl JASReport__FPCce -/* 80295140 7F 83 E3 78 */ mr r3, r28 -/* 80295144 7F E4 FB 78 */ mr r4, r31 -/* 80295148 38 A0 00 03 */ li r5, 3 -/* 8029514C 4B FF EE 7D */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80295150 7C 7D 1B 78 */ mr r29, r3 -/* 80295154 7F 83 E3 78 */ mr r3, r28 -/* 80295158 7F E4 FB 78 */ mr r4, r31 -/* 8029515C 38 A0 00 05 */ li r5, 5 -/* 80295160 4B FF EE 69 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80295164 7C 7E 1B 78 */ mr r30, r3 -/* 80295168 7F 83 E3 78 */ mr r3, r28 -/* 8029516C 7F E4 FB 78 */ mr r4, r31 -/* 80295170 38 A0 00 04 */ li r5, 4 -/* 80295174 4B FF EE 55 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80295178 7C 64 1B 78 */ mr r4, r3 -/* 8029517C 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 80295180 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 80295184 38 63 00 83 */ addi r3, r3, 0x83 -/* 80295188 7F C5 F3 78 */ mr r5, r30 -/* 8029518C 7F A6 EB 78 */ mr r6, r29 -/* 80295190 4C C6 31 82 */ crclr 6 -/* 80295194 4B FF BD D1 */ bl JASReport__FPCce -/* 80295198 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 8029519C 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 802951A0 38 63 00 57 */ addi r3, r3, 0x57 -/* 802951A4 4C C6 31 82 */ crclr 6 -/* 802951A8 4B FF BD BD */ bl JASReport__FPCce -/* 802951AC 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 802951B0 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 802951B4 38 63 00 AE */ addi r3, r3, 0xae -/* 802951B8 A0 9F 00 60 */ lhz r4, 0x60(r31) -/* 802951BC A0 BF 00 62 */ lhz r5, 0x62(r31) -/* 802951C0 A0 DF 00 64 */ lhz r6, 0x64(r31) -/* 802951C4 A0 FF 00 66 */ lhz r7, 0x66(r31) -/* 802951C8 4C C6 31 82 */ crclr 6 -/* 802951CC 4B FF BD 99 */ bl JASReport__FPCce -/* 802951D0 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 802951D4 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 802951D8 38 63 00 D5 */ addi r3, r3, 0xd5 -/* 802951DC A0 9F 00 68 */ lhz r4, 0x68(r31) -/* 802951E0 A0 BF 00 6A */ lhz r5, 0x6a(r31) -/* 802951E4 A0 DF 00 6C */ lhz r6, 0x6c(r31) -/* 802951E8 A0 FF 00 6E */ lhz r7, 0x6e(r31) -/* 802951EC 4C C6 31 82 */ crclr 6 -/* 802951F0 4B FF BD 75 */ bl JASReport__FPCce -/* 802951F4 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 802951F8 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 802951FC 38 63 00 FC */ addi r3, r3, 0xfc -/* 80295200 A0 9F 00 70 */ lhz r4, 0x70(r31) -/* 80295204 A0 BF 00 72 */ lhz r5, 0x72(r31) -/* 80295208 A0 DF 00 74 */ lhz r6, 0x74(r31) -/* 8029520C A0 FF 00 76 */ lhz r7, 0x76(r31) -/* 80295210 4C C6 31 82 */ crclr 6 -/* 80295214 4B FF BD 51 */ bl JASReport__FPCce -/* 80295218 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 8029521C 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 80295220 38 63 01 23 */ addi r3, r3, 0x123 -/* 80295224 A0 9F 00 78 */ lhz r4, 0x78(r31) -/* 80295228 A0 BF 00 7A */ lhz r5, 0x7a(r31) -/* 8029522C A0 DF 00 7C */ lhz r6, 0x7c(r31) -/* 80295230 A0 FF 00 7E */ lhz r7, 0x7e(r31) -/* 80295234 4C C6 31 82 */ crclr 6 -/* 80295238 4B FF BD 2D */ bl JASReport__FPCce -/* 8029523C 3C 60 80 3A */ lis r3, JASSeqParser__stringBase0@ha /* 0x8039B018@ha */ -/* 80295240 38 63 B0 18 */ addi r3, r3, JASSeqParser__stringBase0@l /* 0x8039B018@l */ -/* 80295244 38 63 00 57 */ addi r3, r3, 0x57 -/* 80295248 4C C6 31 82 */ crclr 6 -/* 8029524C 4B FF BD 19 */ bl JASReport__FPCce -/* 80295250 38 60 00 00 */ li r3, 0 -/* 80295254 39 61 00 20 */ addi r11, r1, 0x20 -/* 80295258 48 0C CF CD */ bl _restgpr_28 -/* 8029525C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80295260 7C 08 03 A6 */ mtlr r0 -/* 80295264 38 21 00 20 */ addi r1, r1, 0x20 -/* 80295268 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdEnvSet__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdEnvSet__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 5ebafb3da4..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdEnvSet__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8029488C: -/* 8029488C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294890 7C 08 02 A6 */ mflr r0 -/* 80294894 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294898 80 64 00 00 */ lwz r3, 0(r4) -/* 8029489C 80 05 00 04 */ lwz r0, 4(r5) -/* 802948A0 7C 03 02 14 */ add r0, r3, r0 -/* 802948A4 7C 83 23 78 */ mr r3, r4 -/* 802948A8 80 85 00 00 */ lwz r4, 0(r5) -/* 802948AC 7C 05 03 78 */ mr r5, r0 -/* 802948B0 4B FF DF 39 */ bl setOscTable__8JASTrackFUlPCQ213JASOscillator5Point -/* 802948B4 38 60 00 00 */ li r3, 0 -/* 802948B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802948BC 7C 08 03 A6 */ mtlr r0 -/* 802948C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802948C4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdFIRSet__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdFIRSet__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index d41f28726b..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdFIRSet__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80294AE4: -/* 80294AE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294AE8 7C 08 02 A6 */ mflr r0 -/* 80294AEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294AF0 80 64 00 00 */ lwz r3, 0(r4) -/* 80294AF4 80 05 00 00 */ lwz r0, 0(r5) -/* 80294AF8 7C 03 02 14 */ add r0, r3, r0 -/* 80294AFC 7C 83 23 78 */ mr r3, r4 -/* 80294B00 7C 04 03 78 */ mr r4, r0 -/* 80294B04 4B FF DD 59 */ bl setFIR__8JASTrackFPCs -/* 80294B08 38 60 00 00 */ li r3, 0 -/* 80294B0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294B10 7C 08 03 A6 */ mtlr r0 -/* 80294B14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294B18 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdIIRCutOff__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdIIRCutOff__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 5e7102816d..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdIIRCutOff__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80294B70: -/* 80294B70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294B74 7C 08 02 A6 */ mflr r0 -/* 80294B78 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294B7C 80 05 00 00 */ lwz r0, 0(r5) -/* 80294B80 28 00 00 80 */ cmplwi r0, 0x80 -/* 80294B84 40 80 00 1C */ bge lbl_80294BA0 -/* 80294B88 7C 83 23 78 */ mr r3, r4 -/* 80294B8C 54 05 18 38 */ slwi r5, r0, 3 -/* 80294B90 3C 80 80 3A */ lis r4, CUTOFF_TO_IIR_TABLE__7JASCalc@ha /* 0x8039ABB8@ha */ -/* 80294B94 38 04 AB B8 */ addi r0, r4, CUTOFF_TO_IIR_TABLE__7JASCalc@l /* 0x8039ABB8@l */ -/* 80294B98 7C 80 2A 14 */ add r4, r0, r5 -/* 80294B9C 4B FF DD 01 */ bl setIIR__8JASTrackFPCs -lbl_80294BA0: -/* 80294BA0 38 60 00 00 */ li r3, 0 -/* 80294BA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294BA8 7C 08 03 A6 */ mtlr r0 -/* 80294BAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294BB0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdIIRSet__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdIIRSet__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index ecdcf22694..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdIIRSet__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80294B1C: -/* 80294B1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294B20 7C 08 02 A6 */ mflr r0 -/* 80294B24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294B28 38 60 00 00 */ li r3, 0 -/* 80294B2C 38 C0 00 00 */ li r6, 0 -/* 80294B30 38 E1 00 08 */ addi r7, r1, 8 -/* 80294B34 38 00 00 04 */ li r0, 4 -/* 80294B38 7C 09 03 A6 */ mtctr r0 -lbl_80294B3C: -/* 80294B3C 7C 05 30 2E */ lwzx r0, r5, r6 -/* 80294B40 7C 07 1B 2E */ sthx r0, r7, r3 -/* 80294B44 38 63 00 02 */ addi r3, r3, 2 -/* 80294B48 38 C6 00 04 */ addi r6, r6, 4 -/* 80294B4C 42 00 FF F0 */ bdnz lbl_80294B3C -/* 80294B50 7C 83 23 78 */ mr r3, r4 -/* 80294B54 38 81 00 08 */ addi r4, r1, 8 -/* 80294B58 4B FF DD 45 */ bl setIIR__8JASTrackFPCs -/* 80294B5C 38 60 00 00 */ li r3, 0 -/* 80294B60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294B64 7C 08 03 A6 */ mtlr r0 -/* 80294B68 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294B6C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdIntTimer__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdIntTimer__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 986894d926..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdIntTimer__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80294A20: -/* 80294A20 80 65 00 04 */ lwz r3, 4(r5) -/* 80294A24 80 05 00 00 */ lwz r0, 0(r5) -/* 80294A28 98 04 00 50 */ stb r0, 0x50(r4) -/* 80294A2C 90 64 00 54 */ stw r3, 0x54(r4) -/* 80294A30 90 64 00 58 */ stw r3, 0x58(r4) -/* 80294A34 38 60 00 00 */ li r3, 0 -/* 80294A38 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdJmpF__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdJmpF__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index ff9ad2fa7a..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdJmpF__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80294340: -/* 80294340 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294344 7C 08 02 A6 */ mflr r0 -/* 80294348 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029434C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80294350 93 C1 00 08 */ stw r30, 8(r1) -/* 80294354 7C 9E 23 78 */ mr r30, r4 -/* 80294358 7C BF 2B 78 */ mr r31, r5 -/* 8029435C 80 A5 00 00 */ lwz r5, 0(r5) -/* 80294360 4B FF F9 95 */ bl conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition -/* 80294364 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80294368 41 82 00 14 */ beq lbl_8029437C -/* 8029436C 80 7E 00 00 */ lwz r3, 0(r30) -/* 80294370 80 1F 00 04 */ lwz r0, 4(r31) -/* 80294374 7C 03 02 14 */ add r0, r3, r0 -/* 80294378 90 1E 00 04 */ stw r0, 4(r30) -lbl_8029437C: -/* 8029437C 38 60 00 00 */ li r3, 0 -/* 80294380 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80294384 83 C1 00 08 */ lwz r30, 8(r1) -/* 80294388 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029438C 7C 08 03 A6 */ mtlr r0 -/* 80294390 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294394 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdJmp__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdJmp__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index b037003898..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdJmp__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80294328: -/* 80294328 80 64 00 00 */ lwz r3, 0(r4) -/* 8029432C 80 05 00 00 */ lwz r0, 0(r5) -/* 80294330 7C 03 02 14 */ add r0, r3, r0 -/* 80294334 90 04 00 04 */ stw r0, 4(r4) -/* 80294338 38 60 00 00 */ li r3, 0 -/* 8029433C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdLoopE__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdLoopE__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 5403b8f922..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdLoopE__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80294448: -/* 80294448 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029444C 7C 08 02 A6 */ mflr r0 -/* 80294450 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294454 7C 83 23 78 */ mr r3, r4 -/* 80294458 48 00 1D B9 */ bl loopEnd__12JASSeqReaderFv -/* 8029445C 38 60 00 00 */ li r3, 0 -/* 80294460 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294464 7C 08 03 A6 */ mtlr r0 -/* 80294468 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029446C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdLoopS__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdLoopS__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 94ad2e8be3..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdLoopS__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8029441C: -/* 8029441C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294420 7C 08 02 A6 */ mflr r0 -/* 80294424 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294428 7C 83 23 78 */ mr r3, r4 -/* 8029442C 80 85 00 00 */ lwz r4, 0(r5) -/* 80294430 48 00 1D 9D */ bl loopStart__12JASSeqReaderFUl -/* 80294434 38 60 00 00 */ li r3, 0 -/* 80294438 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029443C 7C 08 03 A6 */ mtlr r0 -/* 80294440 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294444 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdNoteOff__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdNoteOff__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index e9d4a28c73..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdNoteOff__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802944F4: -/* 802944F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802944F8 7C 08 02 A6 */ mflr r0 -/* 802944FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294500 80 A5 00 00 */ lwz r5, 0(r5) -/* 80294504 81 83 00 00 */ lwz r12, 0(r3) -/* 80294508 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 8029450C 7D 89 03 A6 */ mtctr r12 -/* 80294510 4E 80 04 21 */ bctrl -/* 80294514 38 60 00 00 */ li r3, 0 -/* 80294518 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029451C 7C 08 03 A6 */ mtlr r0 -/* 80294520 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294524 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdNoteOn__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdNoteOn__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 94a84650b8..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdNoteOn__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_802944B4: -/* 802944B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802944B8 7C 08 02 A6 */ mflr r0 -/* 802944BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802944C0 7C A7 2B 78 */ mr r7, r5 -/* 802944C4 80 A5 00 04 */ lwz r5, 4(r5) -/* 802944C8 80 C7 00 00 */ lwz r6, 0(r7) -/* 802944CC 80 E7 00 08 */ lwz r7, 8(r7) -/* 802944D0 81 83 00 00 */ lwz r12, 0(r3) -/* 802944D4 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802944D8 7D 89 03 A6 */ mtctr r12 -/* 802944DC 4E 80 04 21 */ bctrl -/* 802944E0 38 60 00 00 */ li r3, 0 -/* 802944E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802944E8 7C 08 03 A6 */ mtlr r0 -/* 802944EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802944F0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdNote__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdNote__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 257bd4c655..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdNote__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80294470: -/* 80294470 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294474 7C 08 02 A6 */ mflr r0 -/* 80294478 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029447C 7C A8 2B 78 */ mr r8, r5 -/* 80294480 80 A5 00 04 */ lwz r5, 4(r5) -/* 80294484 80 C8 00 08 */ lwz r6, 8(r8) -/* 80294488 80 E8 00 0C */ lwz r7, 0xc(r8) -/* 8029448C 81 08 00 00 */ lwz r8, 0(r8) -/* 80294490 81 83 00 00 */ lwz r12, 0(r3) -/* 80294494 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80294498 7D 89 03 A6 */ mtctr r12 -/* 8029449C 4E 80 04 21 */ bctrl -/* 802944A0 38 60 00 00 */ li r3, 0 -/* 802944A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802944A8 7C 08 03 A6 */ mtlr r0 -/* 802944AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802944B0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdOpenTrack__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdOpenTrack__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 02298c636d..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdOpenTrack__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80294188: -/* 80294188 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029418C 7C 08 02 A6 */ mflr r0 -/* 80294190 90 01 00 24 */ stw r0, 0x24(r1) -/* 80294194 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294198 48 0C E0 45 */ bl _savegpr_29 -/* 8029419C 7C 9D 23 78 */ mr r29, r4 -/* 802941A0 83 E5 00 04 */ lwz r31, 4(r5) -/* 802941A4 7F A3 EB 78 */ mr r3, r29 -/* 802941A8 80 85 00 00 */ lwz r4, 0(r5) -/* 802941AC 4B FF DA 85 */ bl openChild__8JASTrackFUl -/* 802941B0 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802941B4 40 82 00 0C */ bne lbl_802941C0 -/* 802941B8 38 60 00 00 */ li r3, 0 -/* 802941BC 48 00 00 1C */ b lbl_802941D8 -lbl_802941C0: -/* 802941C0 80 9D 00 00 */ lwz r4, 0(r29) -/* 802941C4 7F E5 FB 78 */ mr r5, r31 -/* 802941C8 4B FF D8 41 */ bl setSeqData__8JASTrackFPvUl -/* 802941CC 7F C3 F3 78 */ mr r3, r30 -/* 802941D0 4B FF D8 ED */ bl start__8JASTrackFv -/* 802941D4 38 60 00 00 */ li r3, 0 -lbl_802941D8: -/* 802941D8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802941DC 48 0C E0 4D */ bl _restgpr_29 -/* 802941E0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802941E4 7C 08 03 A6 */ mtlr r0 -/* 802941E8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802941EC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdParentReadPort__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdParentReadPort__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index bf7c22c7e8..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdParentReadPort__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80294644: -/* 80294644 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80294648 7C 08 02 A6 */ mflr r0 -/* 8029464C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80294650 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294654 48 0C DB 89 */ bl _savegpr_29 -/* 80294658 7C 7D 1B 78 */ mr r29, r3 -/* 8029465C 7C 9E 23 78 */ mr r30, r4 -/* 80294660 7C BF 2B 78 */ mr r31, r5 -/* 80294664 80 64 01 2C */ lwz r3, 0x12c(r4) -/* 80294668 28 03 00 00 */ cmplwi r3, 0 -/* 8029466C 41 82 00 24 */ beq lbl_80294690 -/* 80294670 80 9F 00 00 */ lwz r4, 0(r31) -/* 80294674 4B FF E3 09 */ bl readPort__8JASTrackFUl -/* 80294678 7C 60 1B 78 */ mr r0, r3 -/* 8029467C 7F A3 EB 78 */ mr r3, r29 -/* 80294680 7F C4 F3 78 */ mr r4, r30 -/* 80294684 80 BF 00 04 */ lwz r5, 4(r31) -/* 80294688 54 06 04 3E */ clrlwi r6, r0, 0x10 -/* 8029468C 4B FF F7 39 */ bl writeReg__12JASSeqParserFP8JASTrackUlUl -lbl_80294690: -/* 80294690 38 60 00 00 */ li r3, 0 -/* 80294694 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294698 48 0C DB 91 */ bl _restgpr_29 -/* 8029469C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802946A0 7C 08 03 A6 */ mtlr r0 -/* 802946A4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802946A8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdParentWritePort__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdParentWritePort__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 2d5a4fb4f4..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdParentWritePort__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_802945BC: -/* 802945BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802945C0 7C 08 02 A6 */ mflr r0 -/* 802945C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802945C8 80 64 01 2C */ lwz r3, 0x12c(r4) -/* 802945CC 28 03 00 00 */ cmplwi r3, 0 -/* 802945D0 41 82 00 14 */ beq lbl_802945E4 -/* 802945D4 80 85 00 00 */ lwz r4, 0(r5) -/* 802945D8 80 05 00 04 */ lwz r0, 4(r5) -/* 802945DC 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 802945E0 4B FF E3 39 */ bl writePort__8JASTrackFUlUs -lbl_802945E4: -/* 802945E4 38 60 00 00 */ li r3, 0 -/* 802945E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802945EC 7C 08 03 A6 */ mtlr r0 -/* 802945F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802945F4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdPrg__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdPrg__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 55e1adeba8..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdPrg__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80294BE4: -/* 80294BE4 80 05 00 00 */ lwz r0, 0(r5) -/* 80294BE8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80294BEC B0 04 02 2E */ sth r0, 0x22e(r4) -/* 80294BF0 38 60 00 00 */ li r3, 0 -/* 80294BF4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdReadPort__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdReadPort__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index a0ddca6e5f..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdReadPort__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80294528: -/* 80294528 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029452C 7C 08 02 A6 */ mflr r0 -/* 80294530 90 01 00 24 */ stw r0, 0x24(r1) -/* 80294534 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294538 48 0C DC A5 */ bl _savegpr_29 -/* 8029453C 7C 7D 1B 78 */ mr r29, r3 -/* 80294540 7C 9E 23 78 */ mr r30, r4 -/* 80294544 7C BF 2B 78 */ mr r31, r5 -/* 80294548 7F C3 F3 78 */ mr r3, r30 -/* 8029454C 80 85 00 00 */ lwz r4, 0(r5) -/* 80294550 4B FF E3 81 */ bl readPortSelf__8JASTrackFUl -/* 80294554 7C 60 1B 78 */ mr r0, r3 -/* 80294558 7F A3 EB 78 */ mr r3, r29 -/* 8029455C 7F C4 F3 78 */ mr r4, r30 -/* 80294560 80 BF 00 04 */ lwz r5, 4(r31) -/* 80294564 54 06 04 3E */ clrlwi r6, r0, 0x10 -/* 80294568 4B FF F8 5D */ bl writeReg__12JASSeqParserFP8JASTrackUlUl -/* 8029456C 38 60 00 00 */ li r3, 0 -/* 80294570 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294574 48 0C DC B5 */ bl _restgpr_29 -/* 80294578 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8029457C 7C 08 03 A6 */ mtlr r0 -/* 80294580 38 21 00 20 */ addi r1, r1, 0x20 -/* 80294584 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdRegLoad__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdRegLoad__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 7842c48571..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdRegLoad__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80294F10: -/* 80294F10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294F14 7C 08 02 A6 */ mflr r0 -/* 80294F18 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294F1C 7C A6 2B 78 */ mr r6, r5 -/* 80294F20 80 A5 00 00 */ lwz r5, 0(r5) -/* 80294F24 80 C6 00 04 */ lwz r6, 4(r6) -/* 80294F28 4B FF EE 9D */ bl writeReg__12JASSeqParserFP8JASTrackUlUl -/* 80294F2C 38 60 00 00 */ li r3, 0 -/* 80294F30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294F34 7C 08 03 A6 */ mtlr r0 -/* 80294F38 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294F3C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdRegUni__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdRegUni__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 772b959436..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdRegUni__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_80294F40: -/* 80294F40 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80294F44 7C 08 02 A6 */ mflr r0 -/* 80294F48 90 01 00 24 */ stw r0, 0x24(r1) -/* 80294F4C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294F50 48 0C D2 8D */ bl _savegpr_29 -/* 80294F54 7C 7D 1B 78 */ mr r29, r3 -/* 80294F58 7C 9E 23 78 */ mr r30, r4 -/* 80294F5C 83 E5 00 04 */ lwz r31, 4(r5) -/* 80294F60 80 05 00 00 */ lwz r0, 0(r5) -/* 80294F64 2C 00 00 0B */ cmpwi r0, 0xb -/* 80294F68 41 82 00 08 */ beq lbl_80294F70 -/* 80294F6C 48 00 00 14 */ b lbl_80294F80 -lbl_80294F70: -/* 80294F70 7F E5 FB 78 */ mr r5, r31 -/* 80294F74 4B FF F0 55 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294F78 7C C3 00 D0 */ neg r6, r3 -/* 80294F7C 48 00 00 0C */ b lbl_80294F88 -lbl_80294F80: -/* 80294F80 38 60 00 00 */ li r3, 0 -/* 80294F84 48 00 00 18 */ b lbl_80294F9C -lbl_80294F88: -/* 80294F88 7F A3 EB 78 */ mr r3, r29 -/* 80294F8C 7F C4 F3 78 */ mr r4, r30 -/* 80294F90 7F E5 FB 78 */ mr r5, r31 -/* 80294F94 4B FF EE 31 */ bl writeReg__12JASSeqParserFP8JASTrackUlUl -/* 80294F98 38 60 00 00 */ li r3, 0 -lbl_80294F9C: -/* 80294F9C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294FA0 48 0C D2 89 */ bl _restgpr_29 -/* 80294FA4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80294FA8 7C 08 03 A6 */ mtlr r0 -/* 80294FAC 38 21 00 20 */ addi r1, r1, 0x20 -/* 80294FB0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdRetF__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdRetF__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 2f976ca1a4..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdRetF__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_802942D4: -/* 802942D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802942D8 7C 08 02 A6 */ mflr r0 -/* 802942DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802942E0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802942E4 7C 9F 23 78 */ mr r31, r4 -/* 802942E8 80 A5 00 00 */ lwz r5, 0(r5) -/* 802942EC 4B FF FA 09 */ bl conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition -/* 802942F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802942F4 41 82 00 1C */ beq lbl_80294310 -/* 802942F8 7F E3 FB 78 */ mr r3, r31 -/* 802942FC 48 00 1F 81 */ bl ret__12JASSeqReaderFv -/* 80294300 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80294304 40 82 00 0C */ bne lbl_80294310 -/* 80294308 38 60 00 00 */ li r3, 0 -/* 8029430C 48 00 00 08 */ b lbl_80294314 -lbl_80294310: -/* 80294310 38 60 00 00 */ li r3, 0 -lbl_80294314: -/* 80294314 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80294318 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029431C 7C 08 03 A6 */ mtlr r0 -/* 80294320 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294324 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdRetI__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdRetI__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 74c5781a0e..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdRetI__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802949E4: -/* 802949E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802949E8 7C 08 02 A6 */ mflr r0 -/* 802949EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802949F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802949F4 7C 9F 23 78 */ mr r31, r4 -/* 802949F8 7F E3 FB 78 */ mr r3, r31 -/* 802949FC 4B FF F1 05 */ bl retIntr__10JASSeqCtrlFv -/* 80294A00 7F E3 FB 78 */ mr r3, r31 -/* 80294A04 4B FF F1 75 */ bl checkIntr__10JASSeqCtrlFv -/* 80294A08 38 60 00 00 */ li r3, 0 -/* 80294A0C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80294A10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294A14 7C 08 03 A6 */ mtlr r0 -/* 80294A18 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294A1C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdRet__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdRet__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 5c2e0462d9..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdRet__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8029429C: -/* 8029429C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802942A0 7C 08 02 A6 */ mflr r0 -/* 802942A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802942A8 7C 83 23 78 */ mr r3, r4 -/* 802942AC 48 00 1F D1 */ bl ret__12JASSeqReaderFv -/* 802942B0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802942B4 20 00 00 00 */ subfic r0, r0, 0 -/* 802942B8 7C 60 01 10 */ subfe r3, r0, r0 -/* 802942BC 38 00 00 00 */ li r0, 0 -/* 802942C0 7C 03 18 78 */ andc r3, r0, r3 -/* 802942C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802942C8 7C 08 03 A6 */ mtlr r0 -/* 802942CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802942D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdSetIntTable__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdSetIntTable__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index fae51675c6..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdSetIntTable__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8029494C: -/* 8029494C 80 05 00 00 */ lwz r0, 0(r5) -/* 80294950 90 04 00 48 */ stw r0, 0x48(r4) -/* 80294954 38 60 00 00 */ li r3, 0 -/* 80294958 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdSetInterrupt__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdSetInterrupt__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index a389c6924d..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdSetInterrupt__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8029495C: -/* 8029495C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294960 7C 08 02 A6 */ mflr r0 -/* 80294964 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294968 7C 83 23 78 */ mr r3, r4 -/* 8029496C 80 85 00 00 */ lwz r4, 0(r5) -/* 80294970 4B FF F1 71 */ bl setIntrMask__10JASSeqCtrlFUl -/* 80294974 38 60 00 00 */ li r3, 0 -/* 80294978 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029497C 7C 08 03 A6 */ mtlr r0 -/* 80294980 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294984 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdSetLastNote__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdSetLastNote__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index a0cfa79a77..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdSetLastNote__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80294804: -/* 80294804 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294808 7C 08 02 A6 */ mflr r0 -/* 8029480C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294810 80 05 00 00 */ lwz r0, 0(r5) -/* 80294814 28 00 01 00 */ cmplwi r0, 0x100 -/* 80294818 40 80 00 10 */ bge lbl_80294828 -/* 8029481C 7C 83 23 78 */ mr r3, r4 -/* 80294820 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80294824 4B FF D5 99 */ bl setLatestKey__8JASTrackFUc -lbl_80294828: -/* 80294828 38 60 00 00 */ li r3, 0 -/* 8029482C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294830 7C 08 03 A6 */ mtlr r0 -/* 80294834 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294838 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdSimpleADSR__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdSimpleADSR__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 5e744a73af..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdSimpleADSR__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_802948C8: -/* 802948C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802948CC 7C 08 02 A6 */ mflr r0 -/* 802948D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802948D4 7C A8 2B 78 */ mr r8, r5 -/* 802948D8 7C 83 23 78 */ mr r3, r4 -/* 802948DC 80 05 00 00 */ lwz r0, 0(r5) -/* 802948E0 7C 04 07 34 */ extsh r4, r0 -/* 802948E4 80 05 00 04 */ lwz r0, 4(r5) -/* 802948E8 7C 05 07 34 */ extsh r5, r0 -/* 802948EC 80 08 00 08 */ lwz r0, 8(r8) -/* 802948F0 7C 06 07 34 */ extsh r6, r0 -/* 802948F4 80 08 00 0C */ lwz r0, 0xc(r8) -/* 802948F8 7C 07 07 34 */ extsh r7, r0 -/* 802948FC 80 08 00 10 */ lwz r0, 0x10(r8) -/* 80294900 54 08 04 3E */ clrlwi r8, r0, 0x10 -/* 80294904 4B FF DF 05 */ bl setOscAdsr__8JASTrackFssssUs -/* 80294908 38 60 00 00 */ li r3, 0 -/* 8029490C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294910 7C 08 03 A6 */ mtlr r0 -/* 80294914 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294918 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdSyncCPU__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdSyncCPU__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 60cf467c48..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdSyncCPU__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80294A3C: -/* 80294A3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294A40 7C 08 02 A6 */ mflr r0 -/* 80294A44 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294A48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80294A4C 7C 9F 23 78 */ mr r31, r4 -/* 80294A50 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 80294A54 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 80294A58 81 8D 8C C0 */ lwz r12, sCallBackFunc__12JASSeqParser(r13) -/* 80294A5C 28 0C 00 00 */ cmplwi r12, 0 -/* 80294A60 41 82 00 1C */ beq lbl_80294A7C -/* 80294A64 7F E3 FB 78 */ mr r3, r31 -/* 80294A68 80 05 00 00 */ lwz r0, 0(r5) -/* 80294A6C 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 80294A70 7D 89 03 A6 */ mtctr r12 -/* 80294A74 4E 80 04 21 */ bctrl -/* 80294A78 7C 60 1B 78 */ mr r0, r3 -lbl_80294A7C: -/* 80294A7C 38 7F 00 80 */ addi r3, r31, 0x80 -/* 80294A80 38 80 00 03 */ li r4, 3 -/* 80294A84 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 80294A88 4B FF EB FD */ bl write__16JASRegisterParamFQ216JASRegisterParam5RegIDUl -/* 80294A8C 38 60 00 00 */ li r3, 0 -/* 80294A90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80294A94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294A98 7C 08 03 A6 */ mtlr r0 -/* 80294A9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294AA0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdTempo__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdTempo__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index ce941bc789..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdTempo__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80294AA4: -/* 80294AA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80294AA8 7C 08 02 A6 */ mflr r0 -/* 80294AAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294AB0 7C 83 23 78 */ mr r3, r4 -/* 80294AB4 80 05 00 00 */ lwz r0, 0(r5) -/* 80294AB8 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 80294ABC 4B FF E0 9D */ bl setTempo__8JASTrackFUs -/* 80294AC0 38 60 00 00 */ li r3, 0 -/* 80294AC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294AC8 7C 08 03 A6 */ mtlr r0 -/* 80294ACC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294AD0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdWaitByte__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdWaitByte__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index e81de22a81..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdWaitByte__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_802947F4: -/* 802947F4 80 05 00 00 */ lwz r0, 0(r5) -/* 802947F8 90 04 00 40 */ stw r0, 0x40(r4) -/* 802947FC 38 60 00 00 */ li r3, 0 -/* 80294800 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdWait__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdWait__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index d324674761..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdWait__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_802947BC: -/* 802947BC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802947C0 7C 08 02 A6 */ mflr r0 -/* 802947C4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802947C8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802947CC 7C 9F 23 78 */ mr r31, r4 -/* 802947D0 7F E3 FB 78 */ mr r3, r31 -/* 802947D4 48 00 1A DD */ bl readMidiValue__12JASSeqReaderFv -/* 802947D8 90 7F 00 40 */ stw r3, 0x40(r31) -/* 802947DC 38 60 00 00 */ li r3, 0 -/* 802947E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802947E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802947E8 7C 08 03 A6 */ mtlr r0 -/* 802947EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802947F0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdWritePort__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdWritePort__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 32fa7c4d4b..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdWritePort__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80294588: -/* 80294588 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029458C 7C 08 02 A6 */ mflr r0 -/* 80294590 90 01 00 14 */ stw r0, 0x14(r1) -/* 80294594 7C 83 23 78 */ mr r3, r4 -/* 80294598 80 85 00 00 */ lwz r4, 0(r5) -/* 8029459C 80 05 00 04 */ lwz r0, 4(r5) -/* 802945A0 54 05 04 3E */ clrlwi r5, r0, 0x10 -/* 802945A4 4B FF E3 51 */ bl writePortSelf__8JASTrackFUlUs -/* 802945A8 38 60 00 00 */ li r3, 0 -/* 802945AC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802945B0 7C 08 03 A6 */ mtlr r0 -/* 802945B4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802945B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/execCommand__12JASSeqParserFP8JASTrackM12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl.s b/asm/JSystem/JAudio2/JASSeqParser/execCommand__12JASSeqParserFP8JASTrackM12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl.s deleted file mode 100644 index b1aa34bcdc..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/execCommand__12JASSeqParserFP8JASTrackM12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8029559C: -/* 8029559C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802955A0 7C 08 02 A6 */ mflr r0 -/* 802955A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802955A8 7C AC 2B 78 */ mr r12, r5 -/* 802955AC 7C E5 3B 78 */ mr r5, r7 -/* 802955B0 48 0C CA D5 */ bl __ptmf_scall -/* 802955B4 60 00 00 00 */ nop -/* 802955B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802955BC 7C 08 03 A6 */ mtlr r0 -/* 802955C0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802955C4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/execNoteOff__12JASSeqParserFP8JASTrackUl.s b/asm/JSystem/JAudio2/JASSeqParser/execNoteOff__12JASSeqParserFP8JASTrackUl.s deleted file mode 100644 index ff642a5bca..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/execNoteOff__12JASSeqParserFP8JASTrackUl.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80295570: -/* 80295570 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80295574 7C 08 02 A6 */ mflr r0 -/* 80295578 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029557C 7C 83 23 78 */ mr r3, r4 -/* 80295580 7C A4 2B 78 */ mr r4, r5 -/* 80295584 38 A0 00 00 */ li r5, 0 -/* 80295588 4B FF CC 11 */ bl noteOff__8JASTrackFUlUs -/* 8029558C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80295590 7C 08 03 A6 */ mtlr r0 -/* 80295594 38 21 00 10 */ addi r1, r1, 0x10 -/* 80295598 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/execNoteOnMidi__12JASSeqParserFP8JASTrackUlUlUl.s b/asm/JSystem/JAudio2/JASSeqParser/execNoteOnMidi__12JASSeqParserFP8JASTrackUlUlUl.s deleted file mode 100644 index 1ccce3f037..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/execNoteOnMidi__12JASSeqParserFP8JASTrackUlUlUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80295540: -/* 80295540 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80295544 7C 08 02 A6 */ mflr r0 -/* 80295548 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029554C 7C 83 23 78 */ mr r3, r4 -/* 80295550 7C A4 2B 78 */ mr r4, r5 -/* 80295554 7C C5 33 78 */ mr r5, r6 -/* 80295558 7C E6 3B 78 */ mr r6, r7 -/* 8029555C 4B FF C9 DD */ bl noteOn__8JASTrackFUlUlUl -/* 80295560 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80295564 7C 08 03 A6 */ mtlr r0 -/* 80295568 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029556C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/parseNoteOff__12JASSeqParserFP8JASTrackUc.s b/asm/JSystem/JAudio2/JASSeqParser/parseNoteOff__12JASSeqParserFP8JASTrackUc.s deleted file mode 100644 index d777ef81fb..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/parseNoteOff__12JASSeqParserFP8JASTrackUc.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802955C8: -/* 802955C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802955CC 7C 08 02 A6 */ mflr r0 -/* 802955D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802955D4 54 A5 07 7F */ clrlwi. r5, r5, 0x1d -/* 802955D8 41 82 00 14 */ beq lbl_802955EC -/* 802955DC 81 83 00 00 */ lwz r12, 0(r3) -/* 802955E0 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802955E4 7D 89 03 A6 */ mtctr r12 -/* 802955E8 4E 80 04 21 */ bctrl -lbl_802955EC: -/* 802955EC 38 60 00 00 */ li r3, 0 -/* 802955F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802955F4 7C 08 03 A6 */ mtlr r0 -/* 802955F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802955FC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/parseNoteOn__12JASSeqParserFP8JASTrackUc.s b/asm/JSystem/JAudio2/JASSeqParser/parseNoteOn__12JASSeqParserFP8JASTrackUc.s deleted file mode 100644 index 7e453fb6a2..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/parseNoteOn__12JASSeqParserFP8JASTrackUc.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_80295600: -/* 80295600 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80295604 7C 08 02 A6 */ mflr r0 -/* 80295608 90 01 00 24 */ stw r0, 0x24(r1) -/* 8029560C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80295610 48 0C CB C5 */ bl _savegpr_27 -/* 80295614 7C 7B 1B 78 */ mr r27, r3 -/* 80295618 7C 9C 23 78 */ mr r28, r4 -/* 8029561C 7C BD 2B 78 */ mr r29, r5 -/* 80295620 80 A4 00 04 */ lwz r5, 4(r4) -/* 80295624 38 05 00 01 */ addi r0, r5, 1 -/* 80295628 90 04 00 04 */ stw r0, 4(r4) -/* 8029562C 8B E5 00 00 */ lbz r31, 0(r5) -/* 80295630 80 A4 00 04 */ lwz r5, 4(r4) -/* 80295634 38 05 00 01 */ addi r0, r5, 1 -/* 80295638 90 04 00 04 */ stw r0, 4(r4) -/* 8029563C 8B C5 00 00 */ lbz r30, 0(r5) -/* 80295640 57 E5 07 7F */ clrlwi. r5, r31, 0x1d -/* 80295644 40 82 00 38 */ bne lbl_8029567C -/* 80295648 7F 83 E3 78 */ mr r3, r28 -/* 8029564C 48 00 0C 65 */ bl readMidiValue__12JASSeqReaderFv -/* 80295650 7C 67 1B 78 */ mr r7, r3 -/* 80295654 7F 63 DB 78 */ mr r3, r27 -/* 80295658 7F 84 E3 78 */ mr r4, r28 -/* 8029565C 57 A5 06 3E */ clrlwi r5, r29, 0x18 -/* 80295660 7F C6 F3 78 */ mr r6, r30 -/* 80295664 7F E8 FB 78 */ mr r8, r31 -/* 80295668 81 9B 00 00 */ lwz r12, 0(r27) -/* 8029566C 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80295670 7D 89 03 A6 */ mtctr r12 -/* 80295674 4E 80 04 21 */ bctrl -/* 80295678 48 00 00 1C */ b lbl_80295694 -lbl_8029567C: -/* 8029567C 57 A6 06 3E */ clrlwi r6, r29, 0x18 -/* 80295680 7F C7 F3 78 */ mr r7, r30 -/* 80295684 81 83 00 00 */ lwz r12, 0(r3) -/* 80295688 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 8029568C 7D 89 03 A6 */ mtctr r12 -/* 80295690 4E 80 04 21 */ bctrl -lbl_80295694: -/* 80295694 38 60 00 00 */ li r3, 0 -/* 80295698 39 61 00 20 */ addi r11, r1, 0x20 -/* 8029569C 48 0C CB 85 */ bl _restgpr_27 -/* 802956A0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802956A4 7C 08 03 A6 */ mtlr r0 -/* 802956A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802956AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/parseRegCommand__12JASSeqParserFP8JASTracki.s b/asm/JSystem/JAudio2/JASSeqParser/parseRegCommand__12JASSeqParserFP8JASTracki.s deleted file mode 100644 index 91ede5074a..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/parseRegCommand__12JASSeqParserFP8JASTracki.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80295864: -/* 80295864 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80295868 7C 08 02 A6 */ mflr r0 -/* 8029586C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80295870 80 C4 00 04 */ lwz r6, 4(r4) -/* 80295874 38 06 00 01 */ addi r0, r6, 1 -/* 80295878 90 04 00 04 */ stw r0, 4(r4) -/* 8029587C 88 E6 00 00 */ lbz r7, 0(r6) -/* 80295880 38 C0 00 00 */ li r6, 0 -/* 80295884 39 00 00 03 */ li r8, 3 -/* 80295888 7C A9 03 A6 */ mtctr r5 -/* 8029588C 2C 05 00 00 */ cmpwi r5, 0 -/* 80295890 40 81 00 20 */ ble lbl_802958B0 -lbl_80295894: -/* 80295894 54 E0 06 31 */ rlwinm. r0, r7, 0, 0x18, 0x18 -/* 80295898 41 82 00 0C */ beq lbl_802958A4 -/* 8029589C 7C C0 43 78 */ or r0, r6, r8 -/* 802958A0 54 06 04 3E */ clrlwi r6, r0, 0x10 -lbl_802958A4: -/* 802958A4 54 E7 0E 3C */ rlwinm r7, r7, 1, 0x18, 0x1e -/* 802958A8 55 08 14 3A */ rlwinm r8, r8, 2, 0x10, 0x1d -/* 802958AC 42 00 FF E8 */ bdnz lbl_80295894 -lbl_802958B0: -/* 802958B0 80 A4 00 04 */ lwz r5, 4(r4) -/* 802958B4 38 05 00 01 */ addi r0, r5, 1 -/* 802958B8 90 04 00 04 */ stw r0, 4(r4) -/* 802958BC 88 A5 00 00 */ lbz r5, 0(r5) -/* 802958C0 4B FF FD F1 */ bl parseCommand__12JASSeqParserFP8JASTrackUcUs -/* 802958C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802958C8 7C 08 03 A6 */ mtlr r0 -/* 802958CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802958D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/parse__12JASSeqParserFP8JASTrack.s b/asm/JSystem/JAudio2/JASSeqParser/parse__12JASSeqParserFP8JASTrack.s deleted file mode 100644 index b366c0e3a2..0000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/parse__12JASSeqParserFP8JASTrack.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_802958D4: -/* 802958D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802958D8 7C 08 02 A6 */ mflr r0 -/* 802958DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802958E0 80 A4 00 04 */ lwz r5, 4(r4) -/* 802958E4 38 05 00 01 */ addi r0, r5, 1 -/* 802958E8 90 04 00 04 */ stw r0, 4(r4) -/* 802958EC 88 A5 00 00 */ lbz r5, 0(r5) -/* 802958F0 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 -/* 802958F4 40 82 00 0C */ bne lbl_80295900 -/* 802958F8 4B FF FD 09 */ bl parseNoteOn__12JASSeqParserFP8JASTrackUc -/* 802958FC 48 00 00 44 */ b lbl_80295940 -lbl_80295900: -/* 80295900 54 A0 06 36 */ rlwinm r0, r5, 0, 0x18, 0x1b -/* 80295904 2C 00 00 90 */ cmpwi r0, 0x90 -/* 80295908 41 82 00 20 */ beq lbl_80295928 -/* 8029590C 40 80 00 2C */ bge lbl_80295938 -/* 80295910 2C 00 00 80 */ cmpwi r0, 0x80 -/* 80295914 41 82 00 08 */ beq lbl_8029591C -/* 80295918 48 00 00 20 */ b lbl_80295938 -lbl_8029591C: -/* 8029591C 54 A5 07 3E */ clrlwi r5, r5, 0x1c -/* 80295920 4B FF FC A9 */ bl parseNoteOff__12JASSeqParserFP8JASTrackUc -/* 80295924 48 00 00 1C */ b lbl_80295940 -lbl_80295928: -/* 80295928 54 A5 07 7E */ clrlwi r5, r5, 0x1d -/* 8029592C 38 A5 00 01 */ addi r5, r5, 1 -/* 80295930 4B FF FF 35 */ bl parseRegCommand__12JASSeqParserFP8JASTracki -/* 80295934 48 00 00 0C */ b lbl_80295940 -lbl_80295938: -/* 80295938 38 C0 00 00 */ li r6, 0 -/* 8029593C 4B FF FD 75 */ bl parseCommand__12JASSeqParserFP8JASTrackUcUs -lbl_80295940: -/* 80295940 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80295944 7C 08 03 A6 */ mtlr r0 -/* 80295948 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029594C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrackPort/checkExport__12JASTrackPortCFUl.s b/asm/JSystem/JAudio2/JASTrackPort/checkExport__12JASTrackPortCFUl.s deleted file mode 100644 index 6ee31c337d..0000000000 --- a/asm/JSystem/JAudio2/JASTrackPort/checkExport__12JASTrackPortCFUl.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80293628: -/* 80293628 A0 63 00 02 */ lhz r3, 2(r3) -/* 8029362C 38 00 00 01 */ li r0, 1 -/* 80293630 7C 00 20 30 */ slw r0, r0, r4 -/* 80293634 7C 63 00 38 */ and r3, r3, r0 -/* 80293638 30 03 FF FF */ addic r0, r3, -1 -/* 8029363C 7C 60 19 10 */ subfe r3, r0, r3 -/* 80293640 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrackPort/checkImport__12JASTrackPortCFUl.s b/asm/JSystem/JAudio2/JASTrackPort/checkImport__12JASTrackPortCFUl.s deleted file mode 100644 index d6a47a9db5..0000000000 --- a/asm/JSystem/JAudio2/JASTrackPort/checkImport__12JASTrackPortCFUl.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8029360C: -/* 8029360C A0 63 00 00 */ lhz r3, 0(r3) -/* 80293610 38 00 00 01 */ li r0, 1 -/* 80293614 7C 00 20 30 */ slw r0, r0, r4 -/* 80293618 7C 63 00 38 */ and r3, r3, r0 -/* 8029361C 30 03 FF FF */ addic r0, r3, -1 -/* 80293620 7C 60 19 10 */ subfe r3, r0, r3 -/* 80293624 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrackPort/init__12JASTrackPortFv.s b/asm/JSystem/JAudio2/JASTrackPort/init__12JASTrackPortFv.s deleted file mode 100644 index 8cc3b95e46..0000000000 --- a/asm/JSystem/JAudio2/JASTrackPort/init__12JASTrackPortFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8029354C: -/* 8029354C 38 80 00 00 */ li r4, 0 -/* 80293550 7C 85 23 78 */ mr r5, r4 -/* 80293554 38 00 00 10 */ li r0, 0x10 -/* 80293558 7C 09 03 A6 */ mtctr r0 -lbl_8029355C: -/* 8029355C 38 04 00 04 */ addi r0, r4, 4 -/* 80293560 7C A3 03 2E */ sthx r5, r3, r0 -/* 80293564 38 84 00 02 */ addi r4, r4, 2 -/* 80293568 42 00 FF F4 */ bdnz lbl_8029355C -/* 8029356C 38 00 00 00 */ li r0, 0 -/* 80293570 B0 03 00 00 */ sth r0, 0(r3) -/* 80293574 B0 03 00 02 */ sth r0, 2(r3) -/* 80293578 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrackPort/readExport__12JASTrackPortFUl.s b/asm/JSystem/JAudio2/JASTrackPort/readExport__12JASTrackPortFUl.s deleted file mode 100644 index 9d5c327084..0000000000 --- a/asm/JSystem/JAudio2/JASTrackPort/readExport__12JASTrackPortFUl.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802935A0: -/* 802935A0 A0 A3 00 02 */ lhz r5, 2(r3) -/* 802935A4 38 00 00 01 */ li r0, 1 -/* 802935A8 7C 00 20 30 */ slw r0, r0, r4 -/* 802935AC 7C A0 00 78 */ andc r0, r5, r0 -/* 802935B0 B0 03 00 02 */ sth r0, 2(r3) -/* 802935B4 54 80 08 3C */ slwi r0, r4, 1 -/* 802935B8 7C 63 02 14 */ add r3, r3, r0 -/* 802935BC A0 63 00 04 */ lhz r3, 4(r3) -/* 802935C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrackPort/readImport__12JASTrackPortFUl.s b/asm/JSystem/JAudio2/JASTrackPort/readImport__12JASTrackPortFUl.s deleted file mode 100644 index e953ff4a7d..0000000000 --- a/asm/JSystem/JAudio2/JASTrackPort/readImport__12JASTrackPortFUl.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8029357C: -/* 8029357C A0 A3 00 00 */ lhz r5, 0(r3) -/* 80293580 38 00 00 01 */ li r0, 1 -/* 80293584 7C 00 20 30 */ slw r0, r0, r4 -/* 80293588 7C A0 00 78 */ andc r0, r5, r0 -/* 8029358C B0 03 00 00 */ sth r0, 0(r3) -/* 80293590 54 80 08 3C */ slwi r0, r4, 1 -/* 80293594 7C 63 02 14 */ add r3, r3, r0 -/* 80293598 A0 63 00 04 */ lhz r3, 4(r3) -/* 8029359C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrackPort/writeExport__12JASTrackPortFUlUs.s b/asm/JSystem/JAudio2/JASTrackPort/writeExport__12JASTrackPortFUlUs.s deleted file mode 100644 index c1d2e48710..0000000000 --- a/asm/JSystem/JAudio2/JASTrackPort/writeExport__12JASTrackPortFUlUs.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802935E8: -/* 802935E8 A0 C3 00 02 */ lhz r6, 2(r3) -/* 802935EC 38 00 00 01 */ li r0, 1 -/* 802935F0 7C 00 20 30 */ slw r0, r0, r4 -/* 802935F4 7C C0 03 78 */ or r0, r6, r0 -/* 802935F8 B0 03 00 02 */ sth r0, 2(r3) -/* 802935FC 54 80 08 3C */ slwi r0, r4, 1 -/* 80293600 7C 63 02 14 */ add r3, r3, r0 -/* 80293604 B0 A3 00 04 */ sth r5, 4(r3) -/* 80293608 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrackPort/writeImport__12JASTrackPortFUlUs.s b/asm/JSystem/JAudio2/JASTrackPort/writeImport__12JASTrackPortFUlUs.s deleted file mode 100644 index 6cdaf4882e..0000000000 --- a/asm/JSystem/JAudio2/JASTrackPort/writeImport__12JASTrackPortFUlUs.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802935C4: -/* 802935C4 A0 C3 00 00 */ lhz r6, 0(r3) -/* 802935C8 38 00 00 01 */ li r0, 1 -/* 802935CC 7C 00 20 30 */ slw r0, r0, r4 -/* 802935D0 7C C0 03 78 */ or r0, r6, r0 -/* 802935D4 B0 03 00 00 */ sth r0, 0(r3) -/* 802935D8 54 80 08 3C */ slwi r0, r4, 1 -/* 802935DC 7C 63 02 14 */ add r3, r3, r0 -/* 802935E0 B0 A3 00 04 */ sth r5, 4(r3) -/* 802935E4 4E 80 00 20 */ blr diff --git a/include/JSystem/JAudio2/JASCalc.h b/include/JSystem/JAudio2/JASCalc.h index 6a8f9c6dd3..0693b35527 100644 --- a/include/JSystem/JAudio2/JASCalc.h +++ b/include/JSystem/JAudio2/JASCalc.h @@ -23,7 +23,7 @@ struct JASCalc { f32 fake2(long x); f32 fake3(); - static u8 const CUTOFF_TO_IIR_TABLE[1024]; + static s16 const CUTOFF_TO_IIR_TABLE[128][4]; }; #endif /* JASCALC_H */ diff --git a/include/JSystem/JAudio2/JASRegisterParam.h b/include/JSystem/JAudio2/JASRegisterParam.h index 76cacdf259..8a5c466555 100644 --- a/include/JSystem/JAudio2/JASRegisterParam.h +++ b/include/JSystem/JAudio2/JASRegisterParam.h @@ -3,9 +3,13 @@ #include "dolphin/types.h" -struct JASRegisterParam { +class JASRegisterParam { +public: enum RegID { - + REG0, + REG1, + REG2, + REG3, }; /* 80293644 */ JASRegisterParam(); diff --git a/include/JSystem/JAudio2/JASSeqCtrl.h b/include/JSystem/JAudio2/JASSeqCtrl.h index 62391b9db5..90ead911eb 100644 --- a/include/JSystem/JAudio2/JASSeqCtrl.h +++ b/include/JSystem/JAudio2/JASSeqCtrl.h @@ -1,5 +1,75 @@ #ifndef JASSEQCTRL_H #define JASSEQCTRL_H +#include "JSystem/JAudio2/JASSeqReader.h" + +class JASTrack; +class JASSeqParser; + +class JASSeqCtrl { +public: + enum IntrType { + INTRTYPE_VALUE_0, + INTRTYPE_VALUE_1, + INTRTYPE_VALUE_2, + INTRTYPE_VALUE_3, + INTRTYPE_VALUE_4, + INTRTYPE_VALUE_5, + INTRTYPE_VALUE_6, + }; + + /* 802938BC */ JASSeqCtrl(); + /* 80293924 */ void init(); + /* 80293980 */ void start(void*, u32); + /* 802939C4 */ int tickProc(JASTrack*); + /* 80293ABC */ void interrupt(JASSeqCtrl::IntrType); + /* 80293AE0 */ void setIntrMask(u32); + /* 80293AF0 */ void clrIntrMask(u32); + /* 80293B00 */ int retIntr(); + /* 80293B28 */ int findIntr(); + /* 80293B78 */ void checkIntr(); + /* 80293BE8 */ void timerProcess(); + + const JASSeqReader* getSeqReader() const { return &mReader; } + void* getBase() { return mReader.getBase(); } + void* getAddr(u32 param_0) { return mReader.getAddr(param_0); } + u8 getByte(u32 param_0) { return mReader.getByte(param_0); } + u16 get16(u32 param_0) { return mReader.get16(param_0); } + u32 get24(int param_0) { return mReader.get24(param_0); } + u32 get32(u32 param_0) { return mReader.get32(param_0); } + void* getCur() { return mReader.getCur(); } + u32 readByte() { return mReader.readByte(); } + u32 read16() { return mReader.read16(); } + u32 read24() { return mReader.read24(); } + bool call(u32 param_0) { return mReader.call(param_0); } + bool ret() { return mReader.ret(); } + void jump(u32 param_0) { mReader.jump(param_0); } + bool loopStart(u32 param_0) { return mReader.loopStart(param_0); } + bool loopEnd() { return mReader.loopEnd(); } + int readMidiValue() { return mReader.readMidiValue(); } + void wait(s32 param_0) { field_0x40 = param_0; } + void clrIntr() { field_0x44 = NULL; } + void setIntrTable(u32 param_0) { field_0x48 = param_0; } + void setIntrTimer(u32 param_0, u32 param_1) { + field_0x50 = param_0; + field_0x54 = param_1; + field_0x58 = param_1; + } + void waitNoteFinish() { field_0x51 = 1; } + + /* 0x00 */ JASSeqReader mReader; + /* 0x3c */ JASSeqParser* field_0x3c; + /* 0x40 */ s32 field_0x40; + /* 0x44 */ void* field_0x44; + /* 0x48 */ u32 field_0x48; + /* 0x4c */ u16 field_0x4c; + /* 0x4e */ u16 field_0x4e; + /* 0x50 */ u8 field_0x50; + /* 0x51 */ u8 field_0x51; + /* 0x52 */ u16 field_0x52; + /* 0x54 */ u32 field_0x54; + /* 0x58 */ u32 field_0x58; + static JASSeqParser sDefaultParser; +}; #endif /* JASSEQCTRL_H */ diff --git a/include/JSystem/JAudio2/JASSeqParser.h b/include/JSystem/JAudio2/JASSeqParser.h index 8cff781352..a9f27ba6f8 100644 --- a/include/JSystem/JAudio2/JASSeqParser.h +++ b/include/JSystem/JAudio2/JASSeqParser.h @@ -3,4 +3,92 @@ #include "dolphin/types.h" +class JASTrack; + +class JASSeqParser { +public: + enum BranchCondition {}; + + struct CmdInfo { + s32 (JASSeqParser::*field_0x0)(JASTrack*, u32*); + u16 field_0xc; + u16 field_0xe; + }; + + /* 80293CAC */ virtual ~JASSeqParser() {} + /* 802958D4 */ virtual s32 parse(JASTrack*); + /* 80295540 */ virtual s32 execNoteOnMidi(JASTrack*, u32, u32, u32); + /* 80295498 */ virtual s32 execNoteOnGate(JASTrack*, u32, u32, u32, u32); + /* 80295570 */ virtual s32 execNoteOff(JASTrack*, u32); + /* 8029559C */ virtual s32 execCommand(JASTrack*, s32 (JASSeqParser::*)(JASTrack*, u32*), u32, u32*); + + /* 80293CF4 */ bool conditionCheck(JASTrack*, JASSeqParser::BranchCondition); + /* 80293DC4 */ void writeReg(JASTrack*, u32, u32); + /* 80293FC8 */ u32 readReg(JASTrack*, u32) const; + /* 80294188 */ s32 cmdOpenTrack(JASTrack*, u32*); + /* 802941F0 */ s32 cmdCloseTrack(JASTrack*, u32*); + /* 8029421C */ s32 cmdCall(JASTrack*, u32*); + /* 80294248 */ s32 cmdCallF(JASTrack*, u32*); + /* 8029429C */ s32 cmdRet(JASTrack*, u32*); + /* 802942D4 */ s32 cmdRetF(JASTrack*, u32*); + /* 80294328 */ s32 cmdJmp(JASTrack*, u32*); + /* 80294340 */ s32 cmdJmpF(JASTrack*, u32*); + /* 80294398 */ s32 cmdJmpTable(JASTrack*, u32*); + /* 802943CC */ s32 cmdCallTable(JASTrack*, u32*); + /* 8029441C */ s32 cmdLoopS(JASTrack*, u32*); + /* 80294448 */ s32 cmdLoopE(JASTrack*, u32*); + /* 80294470 */ s32 cmdNote(JASTrack*, u32*); + /* 802944B4 */ s32 cmdNoteOn(JASTrack*, u32*); + /* 802944F4 */ s32 cmdNoteOff(JASTrack*, u32*); + /* 80294528 */ s32 cmdReadPort(JASTrack*, u32*); + /* 80294588 */ s32 cmdWritePort(JASTrack*, u32*); + /* 802945BC */ s32 cmdParentWritePort(JASTrack*, u32*); + /* 802945F8 */ s32 cmdChildWritePort(JASTrack*, u32*); + /* 80294644 */ s32 cmdParentReadPort(JASTrack*, u32*); + /* 802946AC */ s32 cmdChildReadPort(JASTrack*, u32*); + /* 80294724 */ s32 cmdCheckPortImport(JASTrack*, u32*); + /* 80294770 */ s32 cmdCheckPortExport(JASTrack*, u32*); + /* 802947BC */ s32 cmdWait(JASTrack*, u32*); + /* 802947F4 */ s32 cmdWaitByte(JASTrack*, u32*); + /* 80294804 */ s32 cmdSetLastNote(JASTrack*, u32*); + /* 8029483C */ s32 cmdEnvScaleSet(JASTrack*, u32*); + /* 8029488C */ s32 cmdEnvSet(JASTrack*, u32*); + /* 802948C8 */ s32 cmdSimpleADSR(JASTrack*, u32*); + /* 8029491C */ s32 cmdBusConnect(JASTrack*, u32*); + /* 8029494C */ s32 cmdSetIntTable(JASTrack*, u32*); + /* 8029495C */ s32 cmdSetInterrupt(JASTrack*, u32*); + /* 80294988 */ s32 cmdDisInterrupt(JASTrack*, u32*); + /* 802949B4 */ s32 cmdClrI(JASTrack*, u32*); + /* 802949E4 */ s32 cmdRetI(JASTrack*, u32*); + /* 80294A20 */ s32 cmdIntTimer(JASTrack*, u32*); + /* 80294A3C */ s32 cmdSyncCPU(JASTrack*, u32*); + /* 80294AA4 */ s32 cmdTempo(JASTrack*, u32*); + /* 80294AD4 */ s32 cmdFinish(JASTrack*, u32*); + /* 80294ADC */ s32 cmdNop(JASTrack*, u32*); + /* 80294AE4 */ s32 cmdFIRSet(JASTrack*, u32*); + /* 80294B1C */ s32 cmdIIRSet(JASTrack*, u32*); + /* 80294B70 */ s32 cmdIIRCutOff(JASTrack*, u32*); + /* 80294BB4 */ s32 cmdBankPrg(JASTrack*, u32*); + /* 80294BD0 */ s32 cmdBank(JASTrack*, u32*); + /* 80294BE4 */ s32 cmdPrg(JASTrack*, u32*); + /* 80294BF8 */ s32 cmdParamI(JASTrack*, u32*); + /* 80294C54 */ s32 cmdParamII(JASTrack*, u32*); + /* 80294CB0 */ s32 cmdParamE(JASTrack*, u32*); + /* 80294D2C */ s32 cmdParamEI(JASTrack*, u32*); + /* 80294DA8 */ s32 cmdReg(JASTrack*, u32*); + /* 80294F10 */ s32 cmdRegLoad(JASTrack*, u32*); + /* 80294F40 */ s32 cmdRegUni(JASTrack*, u32*); + /* 80294FB4 */ s32 cmdRegTblLoad(JASTrack*, u32*); + /* 80295088 */ s32 cmdDump(JASTrack*, u32*); + /* 8029526C */ s32 cmdPrintf(JASTrack*, u32*); + /* 802955C8 */ s32 parseNoteOff(JASTrack*, u8); + /* 80295600 */ s32 parseNoteOn(JASTrack*, u8); + /* 802956B0 */ s32 parseCommand(JASTrack*, u8, u16); + /* 80295864 */ s32 parseRegCommand(JASTrack*, int); + + static CmdInfo sCmdInfo[96]; + static CmdInfo sExtCmdInfo[255]; + static u16 (*sCallBackFunc)(JASTrack*, u16); +}; + #endif /* JASSEQPARSER_H */ diff --git a/include/JSystem/JAudio2/JASSeqReader.h b/include/JSystem/JAudio2/JASSeqReader.h index 89e44f1441..6745a63978 100644 --- a/include/JSystem/JAudio2/JASSeqReader.h +++ b/include/JSystem/JAudio2/JASSeqReader.h @@ -26,13 +26,24 @@ public: } u32* getBase() { return field_0x00; } + void* getAddr(u32 param_0) { return (u8*)field_0x00 + param_0; } + u8 getByte(u32 param_0) { return *((u8*)field_0x00 + param_0); } + u16 get16(u32 param_0) { return *(u16*)((u8*)field_0x00 + param_0); } + u32 get32(u32 param_0) { return *(u32*)((u8*)field_0x00 + param_0); } u8* getCur() { return field_0x04; } - - u8 readByte() { - u8* tmp = field_0x04; - field_0x04 += 1; + u32 readByte() { return *field_0x04++; } + u32 read16() { + u16* tmp = (u16*)field_0x04; + field_0x04 += 2; return *tmp; } + u32 read24() { + field_0x04--; + u32* tmp = (u32*)field_0x04; + field_0x04 += 4; + return *tmp & 0x00ffffff; + } + u16 getLoopCount() const { return field_0x08 == 0 ? 0 : field_0x2c[field_0x08 - 1]; } /* 0x00 */ u32* field_0x00; /* 0x04 */ u8* field_0x04; diff --git a/include/JSystem/JAudio2/JASTrack.h b/include/JSystem/JAudio2/JASTrack.h index 3d62e1ccc9..bc8b332fa3 100644 --- a/include/JSystem/JAudio2/JASTrack.h +++ b/include/JSystem/JAudio2/JASTrack.h @@ -3,6 +3,9 @@ #include "JSystem/JAudio2/JASGadget.h" #include "JSystem/JAudio2/JASOscillator.h" +#include "JSystem/JAudio2/JASRegisterParam.h" +#include "JSystem/JAudio2/JASSeqCtrl.h" +#include "JSystem/JAudio2/JASTrackPort.h" struct JASSoundParams; @@ -73,13 +76,13 @@ struct JASTrack { /* 80291AC8 */ void close(); /* 80291B8C */ void connectChild(u32, JASTrack*); /* 80291BB8 */ void closeChild(u32); - /* 80291C30 */ void openChild(u32); + /* 80291C30 */ JASTrack* openChild(u32); /* 80291DAC */ void connectBus(int, int); /* 80291DBC */ void setLatestKey(u8); /* 80291DF8 */ void channelStart(JASTrack::TChannelMgr*, u32, u32, u32); - /* 80291F38 */ void noteOn(u32, u32, u32); - /* 80292008 */ void gateOn(u32, u32, f32, u32); - /* 80292198 */ void noteOff(u32, u16); + /* 80291F38 */ int noteOn(u32, u32, u32); + /* 80292008 */ int gateOn(u32, u32, f32, u32); + /* 80292198 */ int noteOff(u32, u16); /* 80292220 */ bool checkNoteStop(u32) const; /* 8029226C */ void overwriteOsc(JASChannel*); /* 802922D8 */ void updateTimedParam(); @@ -95,10 +98,10 @@ struct JASTrack { /* 80292808 */ void setOscAdsr(s16, s16, s16, s16, u16); /* 8029285C */ void setFIR(s16 const*); /* 8029289C */ void setIIR(s16 const*); - /* 802928D0 */ void readPortSelf(u32); + /* 802928D0 */ u16 readPortSelf(u32); /* 802928F4 */ void writePortSelf(u32, u16); /* 80292918 */ void writePort(u32, u16); - /* 8029297C */ void readPort(u32); + /* 8029297C */ u16 readPort(u32); /* 802929A0 */ void setChannelPauseFlag(bool); /* 80292A3C */ void pause(bool); /* 80292AA4 */ void getTransposeTotal() const; @@ -118,33 +121,72 @@ struct JASTrack { static u8 sDefaultBankTable[1036]; static u8 sTrackList[16]; + JASSeqCtrl* getSeqCtrl() { return &mSeqCtrl; } + u16 getPort(u32 param_0) { return mTrackPort.get(param_0); } + void setPort(u32 param_0, u16 param_1) { mTrackPort.set(param_0, param_1); } + u32 checkPortIn(u32 param_0) { return mTrackPort.checkImport(param_0); } + u32 checkPort(u32 param_0) { return mTrackPort.checkExport(param_0); } + u32 readReg(JASRegisterParam::RegID param_0) { return mRegisterParam.read(param_0); } + 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; } + f32 getVibDepth() const { return mVibDepth; } + void setVibDepth(f32 param_0) { mVibDepth = param_0; } + f32 getVibPitch() const { return mVibPitch; } + void setVibPitch(f32 param_0) { mVibPitch = param_0; } + f32 getTremDepth() const { return mTremDepth; } + void setTremDepth(f32 param_0) { mTremDepth = param_0; } + f32 getTremPitch() const { return mTremPitch; } + void setTremPitch(f32 param_0) { mTremPitch = param_0; } + u16 getVibDelay() const { return mVibDelay; } + void setVibDelay(u32 param_0) { mVibDelay = param_0; } + u16 getTremDelay() const { return mTremDelay; } + void setTremDelay(u32 param_0) { mTremDelay = param_0; } u8 getStatus() const { return mStatus; } - JASTrack* getChild(u32 index) { return field_0x130[index]; } - inline void setAutoDelete(u8 param_0) { - field_0x216.autoDelete = param_0; - } + void setAutoDelete(u8 param_0) { field_0x216.autoDelete = param_0; } + f32 getPanPower() const { return mPanPower; } + void setPanPower(f32 param_0) { mPanPower = param_0; } + u32 getSkipSample() const { return mSkipSample; } + void setSkipSample(u32 param_0) { mSkipSample = param_0; } + u16 getDirectRelease() const { return mDirectRelease; } + void setDirectRelease(u16 param_0) {mDirectRelease = param_0; } + u16 getTimebase() const { return mTimebase; } + s8 getTranspose() const { return mTranspose; } + void setTranspose(u32 param_0) { mTranspose = param_0; } + u16 getBankNumber() const { return mBankNumber; } + void setBankNumber(u16 param_0) { mBankNumber = param_0; } + u16 getProgNumber() const { return mProgNumber; } + void setProgNumber(u16 param_0) { mProgNumber = param_0; } + u8 getBendSense() const { return mBendSense; } + void setBendSense(u8 param_0) { mBendSense = param_0; } + u8 getNoteOnPrio() const { return mNoteOnPrio; } + void setNoteOnPrio(u8 param_0) { mNoteOnPrio = param_0; } + u8 getReleasePrio() const { return mReleasePrio; } + void setReleasePrio(u8 param_0) { mReleasePrio = param_0; } + u8 getGateRate() const { return mGateRate; } + void setGateRate(u8 param_0) { mGateRate = param_0; } - /* 0x000 */ u8 field_0x0[0x5c]; // JASSeqCtrl - /* 0x05C */ u8 field_0x5c[0x24]; // JASTrackPort - /* 0x080 */ u8 field_0x80[0x1c]; // JASRegisterParam + /* 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] /* 0x12C */ JASTrack* mParent; - /* 0x130 */ JASTrack* field_0x130[16]; + /* 0x130 */ JASTrack* mChildren[16]; /* 0x170 */ TChannelMgr* field_0x170[4]; /* 0x180 */ TChannelMgr field_0x180; /* 0x1D0 */ int channelMgrCount; /* 0x1D4 */ void* field_0x1d4; /* 0x1D8 */ f32 field_0x1d8; /* 0x1DC */ f32 field_0x1dc; - /* 0x1E0 */ f32 field_0x1e0; - /* 0x1E4 */ f32 field_0x1e4; - /* 0x1E8 */ f32 field_0x1e8; - /* 0x1EC */ f32 field_0x1ec; - /* 0x1F0 */ u16 field_0x1f0; - /* 0x1F2 */ u16 field_0x1f2; + /* 0x1E0 */ f32 mVibDepth; + /* 0x1E4 */ f32 mVibPitch; + /* 0x1E8 */ f32 mTremDepth; + /* 0x1EC */ f32 mTremPitch; + /* 0x1F0 */ u16 mVibDelay; + /* 0x1F2 */ u16 mTremDelay; /* 0x1F4 */ short field_0x1f4[8]; /* 0x204 */ short field_0x204[8]; /* 0x214 */ char field_0x214; @@ -159,20 +201,20 @@ struct JASTrack { u8 flag6 : 1; u8 flag7 : 1; } field_0x216; - /* 0x218 */ f32 field_0x218; + /* 0x218 */ f32 mPanPower; /* 0x21C */ f32 field_0x21c; - /* 0x220 */ u32 field_0x220; - /* 0x224 */ short field_0x224; + /* 0x220 */ u32 mSkipSample; + /* 0x224 */ u16 mDirectRelease; /* 0x226 */ u16 field_0x226; - /* 0x228 */ u16 field_0x228; - /* 0x22A */ s8 field_0x22a; + /* 0x228 */ u16 mTimebase; + /* 0x22A */ s8 mTranspose; /* 0x22B */ char field_0x22b; - /* 0x22C */ short field_0x22c; - /* 0x22E */ short field_0x22e; - /* 0x230 */ char field_0x230; - /* 0x231 */ char field_0x231; - /* 0x232 */ char field_0x232; - /* 0x233 */ char field_0x233; + /* 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 }; diff --git a/include/JSystem/JAudio2/JASTrackPort.h b/include/JSystem/JAudio2/JASTrackPort.h index f04d3a5d61..6478838258 100644 --- a/include/JSystem/JAudio2/JASTrackPort.h +++ b/include/JSystem/JAudio2/JASTrackPort.h @@ -1,5 +1,24 @@ #ifndef JASTRACKPORT_H #define JASTRACKPORT_H +#include "dolphin/types.h" + +class JASTrackPort { +public: + /* 8029354C */ void init(); + /* 8029357C */ u16 readImport(u32); + /* 802935A0 */ u16 readExport(u32); + /* 802935C4 */ void writeImport(u32, u16); + /* 802935E8 */ void writeExport(u32, u16); + /* 8029360C */ u32 checkImport(u32) const; + /* 80293628 */ u32 checkExport(u32) const; + + u16 get(u32 param_0) { return field_0x4[param_0]; } + void set(u32 param_0, u16 param_1) { field_0x4[param_0] = param_1; } + + u16 field_0x0; + u16 field_0x2; + u16 field_0x4[16]; +}; #endif /* JASTRACKPORT_H */ diff --git a/include/JSystem/JSupport/JSupport.h b/include/JSystem/JSupport/JSupport.h index 93e4077b26..0e46c55826 100644 --- a/include/JSystem/JSupport/JSupport.h +++ b/include/JSystem/JSupport/JSupport.h @@ -11,6 +11,9 @@ T* JSUConvertOffsetToPtr(const void* ptr, const void* offset) { } } +inline u8 JSULoNibble(u8 param_0) { return param_0 & 0x0f; } +inline u8 JSUHiNibble(u8 param_0) {return param_0 >> 4; } + inline u8 JSULoByte(u16 in) { return in & 0xff; } @@ -19,4 +22,6 @@ inline u8 JSUHiByte(u16 in) { return in >> 8; } +inline u16 JSULoHalf(u32 param_0) {return param_0; } + #endif diff --git a/libs/JSystem/JAudio2/JASCalc.cpp b/libs/JSystem/JAudio2/JASCalc.cpp index e47fb092dc..a1eb118308 100644 --- a/libs/JSystem/JAudio2/JASCalc.cpp +++ b/libs/JSystem/JAudio2/JASCalc.cpp @@ -153,71 +153,135 @@ void JASCalc::bzero(void *dest, u32 size) { /* ############################################################################################## */ /* 8039ABB8-8039AFB8 027218 0400+00 0/0 4/4 0/0 .rodata CUTOFF_TO_IIR_TABLE__7JASCalc */ -SECTION_RODATA u8 const JASCalc::CUTOFF_TO_IIR_TABLE[1024] = { - 0x0F, 0x5C, 0x0A, 0x3D, 0x46, 0x65, 0x1E, 0x73, 0x0F, 0x5E, 0x0A, 0x3D, 0x46, 0x64, 0x1E, 0x73, - 0x0F, 0x63, 0x0A, 0x3C, 0x46, 0x61, 0x1E, 0x71, 0x0F, 0x6C, 0x0A, 0x3C, 0x46, 0x5B, 0x1E, 0x6F, - 0x0F, 0x79, 0x0A, 0x3A, 0x46, 0x53, 0x1E, 0x6B, 0x0F, 0x89, 0x0A, 0x39, 0x46, 0x49, 0x1E, 0x67, - 0x0F, 0x9C, 0x0A, 0x37, 0x46, 0x3D, 0x1E, 0x62, 0x0F, 0xB4, 0x0A, 0x35, 0x46, 0x2E, 0x1E, 0x5B, - 0x0F, 0xCE, 0x0A, 0x33, 0x46, 0x1D, 0x1E, 0x54, 0x0F, 0xED, 0x0A, 0x30, 0x46, 0x0A, 0x1E, 0x4C, - 0x10, 0x0F, 0x0A, 0x2D, 0x45, 0xF5, 0x1E, 0x43, 0x10, 0x34, 0x0A, 0x29, 0x45, 0xDE, 0x1E, 0x39, - 0x10, 0x5D, 0x0A, 0x26, 0x45, 0xC4, 0x1E, 0x2D, 0x10, 0x8A, 0x0A, 0x22, 0x45, 0xA8, 0x1E, 0x21, - 0x10, 0xBA, 0x0A, 0x1D, 0x45, 0x8A, 0x1E, 0x14, 0x10, 0xEE, 0x0A, 0x18, 0x45, 0x6A, 0x1E, 0x06, - 0x11, 0x26, 0x0A, 0x13, 0x45, 0x47, 0x1D, 0xF7, 0x11, 0x61, 0x0A, 0x0E, 0x45, 0x22, 0x1D, 0xE7, - 0x11, 0x9F, 0x0A, 0x08, 0x44, 0xFB, 0x1D, 0xD6, 0x11, 0xE1, 0x0A, 0x02, 0x44, 0xD2, 0x1D, 0xC5, - 0x12, 0x27, 0x09, 0xFC, 0x44, 0xA6, 0x1D, 0xB2, 0x12, 0x70, 0x09, 0xF5, 0x44, 0x78, 0x1D, 0x9E, - 0x12, 0xBD, 0x09, 0xEE, 0x44, 0x48, 0x1D, 0x89, 0x13, 0x0E, 0x09, 0xE7, 0x44, 0x16, 0x1D, 0x73, - 0x13, 0x62, 0x09, 0xDF, 0x43, 0xE1, 0x1D, 0x5D, 0x13, 0xB9, 0x09, 0xD7, 0x43, 0xAB, 0x1D, 0x45, - 0x14, 0x15, 0x09, 0xCF, 0x43, 0x72, 0x1D, 0x2C, 0x14, 0x73, 0x09, 0xC7, 0x43, 0x36, 0x1D, 0x13, - 0x14, 0xD6, 0x09, 0xBE, 0x42, 0xF9, 0x1C, 0xF8, 0x15, 0x3C, 0x09, 0xB4, 0x42, 0xB9, 0x1C, 0xDD, - 0x15, 0xA5, 0x09, 0xAB, 0x42, 0x77, 0x1C, 0xC0, 0x16, 0x12, 0x09, 0xA1, 0x42, 0x33, 0x1C, 0xA3, - 0x16, 0x83, 0x09, 0x97, 0x41, 0xED, 0x1C, 0x84, 0x16, 0xF7, 0x09, 0x8C, 0x41, 0xA4, 0x1C, 0x65, - 0x17, 0x6F, 0x09, 0x81, 0x41, 0x59, 0x1C, 0x44, 0x17, 0xEA, 0x09, 0x76, 0x41, 0x0C, 0x1C, 0x23, - 0x18, 0x69, 0x09, 0x6A, 0x40, 0xBD, 0x1C, 0x01, 0x18, 0xEB, 0x09, 0x5F, 0x40, 0x6B, 0x1B, 0xDD, - 0x19, 0x72, 0x09, 0x52, 0x40, 0x18, 0x1B, 0xB9, 0x19, 0xFB, 0x09, 0x46, 0x3F, 0xC2, 0x1B, 0x94, - 0x1A, 0x88, 0x09, 0x39, 0x3F, 0x69, 0x1B, 0x6E, 0x1B, 0x19, 0x09, 0x2C, 0x3F, 0x0F, 0x1B, 0x47, - 0x1B, 0xAE, 0x09, 0x1E, 0x3E, 0xB2, 0x1B, 0x1E, 0x1C, 0x46, 0x09, 0x11, 0x3E, 0x53, 0x1A, 0xF5, - 0x1C, 0xE1, 0x09, 0x02, 0x3D, 0xF2, 0x1A, 0xCB, 0x1D, 0x80, 0x08, 0xF4, 0x3D, 0x8E, 0x1A, 0xA0, - 0x1E, 0x23, 0x08, 0xE5, 0x3D, 0x29, 0x1A, 0x74, 0x1E, 0xC9, 0x08, 0xD6, 0x3C, 0xC1, 0x1A, 0x47, - 0x1F, 0x73, 0x08, 0xC7, 0x3C, 0x57, 0x1A, 0x19, 0x20, 0x20, 0x08, 0xB7, 0x3B, 0xEA, 0x19, 0xEB, - 0x20, 0xD1, 0x08, 0xA7, 0x3B, 0x7C, 0x19, 0xBB, 0x21, 0x86, 0x08, 0x96, 0x3B, 0x0B, 0x19, 0x8A, - 0x22, 0x3E, 0x08, 0x86, 0x3A, 0x98, 0x19, 0x58, 0x22, 0xFA, 0x08, 0x75, 0x3A, 0x22, 0x19, 0x25, - 0x23, 0xB9, 0x08, 0x63, 0x39, 0xAB, 0x18, 0xF2, 0x24, 0x7C, 0x08, 0x51, 0x39, 0x31, 0x18, 0xBD, - 0x25, 0x42, 0x08, 0x3F, 0x38, 0xB5, 0x18, 0x87, 0x26, 0x0C, 0x08, 0x2D, 0x38, 0x37, 0x18, 0x51, - 0x26, 0xDA, 0x08, 0x1A, 0x37, 0xB6, 0x18, 0x19, 0x27, 0xAB, 0x08, 0x07, 0x37, 0x34, 0x17, 0xE1, - 0x28, 0x80, 0x07, 0xF4, 0x36, 0xAF, 0x17, 0xA7, 0x29, 0x58, 0x07, 0xE0, 0x36, 0x28, 0x17, 0x6D, - 0x2A, 0x34, 0x07, 0xCC, 0x35, 0x9E, 0x17, 0x31, 0x2B, 0x14, 0x07, 0xB8, 0x35, 0x12, 0x16, 0xF5, - 0x2B, 0xF7, 0x07, 0xA3, 0x34, 0x85, 0x16, 0xB7, 0x2C, 0xDD, 0x07, 0x8E, 0x33, 0xF4, 0x16, 0x79, - 0x2D, 0xC8, 0x07, 0x79, 0x33, 0x62, 0x16, 0x3A, 0x2E, 0xB5, 0x07, 0x64, 0x32, 0xCD, 0x15, 0xFA, - 0x2F, 0xA7, 0x07, 0x4E, 0x32, 0x37, 0x15, 0xB8, 0x30, 0x9C, 0x07, 0x37, 0x31, 0x9E, 0x15, 0x76, - 0x31, 0x94, 0x07, 0x21, 0x31, 0x02, 0x15, 0x33, 0x32, 0x90, 0x07, 0x0A, 0x30, 0x65, 0x14, 0xEF, - 0x33, 0x90, 0x06, 0xF3, 0x2F, 0xC5, 0x14, 0xAA, 0x34, 0x93, 0x06, 0xDB, 0x2F, 0x23, 0x14, 0x64, - 0x35, 0x9A, 0x06, 0xC3, 0x2E, 0x7F, 0x14, 0x1C, 0x36, 0xA4, 0x06, 0xAB, 0x2D, 0xD8, 0x13, 0xD4, - 0x37, 0xB2, 0x06, 0x92, 0x2D, 0x2F, 0x13, 0x8C, 0x38, 0xC4, 0x06, 0x7A, 0x2C, 0x85, 0x13, 0x42, - 0x39, 0xD9, 0x06, 0x60, 0x2B, 0xD7, 0x12, 0xF7, 0x3A, 0xF1, 0x06, 0x47, 0x2B, 0x28, 0x12, 0xAB, - 0x3C, 0x0E, 0x06, 0x2D, 0x2A, 0x76, 0x12, 0x5E, 0x3D, 0x2E, 0x06, 0x13, 0x29, 0xC2, 0x12, 0x10, - 0x3E, 0x51, 0x05, 0xF8, 0x29, 0x0C, 0x11, 0xC1, 0x3F, 0x78, 0x05, 0xDE, 0x28, 0x54, 0x11, 0x72, - 0x40, 0xA3, 0x05, 0xC2, 0x27, 0x99, 0x11, 0x21, 0x41, 0xD1, 0x05, 0xA7, 0x26, 0xDC, 0x10, 0xCF, - 0x43, 0x02, 0x05, 0x8B, 0x26, 0x1D, 0x10, 0x7D, 0x44, 0x38, 0x05, 0x6F, 0x25, 0x5C, 0x10, 0x29, - 0x45, 0x71, 0x05, 0x53, 0x24, 0x99, 0x0F, 0xD4, 0x46, 0xAD, 0x05, 0x36, 0x23, 0xD3, 0x0F, 0x7F, - 0x47, 0xED, 0x05, 0x19, 0x23, 0x0B, 0x0F, 0x28, 0x49, 0x31, 0x04, 0xFB, 0x22, 0x41, 0x0E, 0xD1, - 0x4A, 0x78, 0x04, 0xDE, 0x21, 0x74, 0x0E, 0x78, 0x4B, 0xC2, 0x04, 0xC0, 0x20, 0xA5, 0x0E, 0x1F, - 0x4D, 0x11, 0x04, 0xA1, 0x1F, 0xD4, 0x0D, 0xC5, 0x4E, 0x63, 0x04, 0x82, 0x1F, 0x01, 0x0D, 0x69, - 0x4F, 0xB8, 0x04, 0x63, 0x1E, 0x2C, 0x0D, 0x0D, 0x51, 0x11, 0x04, 0x44, 0x1D, 0x54, 0x0C, 0xB0, - 0x52, 0x6E, 0x04, 0x24, 0x1C, 0x7A, 0x0C, 0x51, 0x53, 0xCE, 0x04, 0x04, 0x1B, 0x9E, 0x0B, 0xF2, - 0x55, 0x32, 0x03, 0xE4, 0x1A, 0xC0, 0x0B, 0x92, 0x56, 0x99, 0x03, 0xC3, 0x19, 0xDF, 0x0B, 0x31, - 0x58, 0x04, 0x03, 0xA2, 0x18, 0xFD, 0x0A, 0xCF, 0x59, 0x72, 0x03, 0x81, 0x18, 0x18, 0x0A, 0x6C, - 0x5A, 0xE5, 0x03, 0x5F, 0x17, 0x30, 0x0A, 0x08, 0x5C, 0x5A, 0x03, 0x3D, 0x16, 0x47, 0x09, 0xA3, - 0x5D, 0xD3, 0x03, 0x1B, 0x15, 0x5B, 0x09, 0x3D, 0x5F, 0x50, 0x02, 0xF9, 0x14, 0x6D, 0x08, 0xD6, - 0x60, 0xD1, 0x02, 0xD6, 0x13, 0x7D, 0x08, 0x6E, 0x62, 0x55, 0x02, 0xB2, 0x12, 0x8A, 0x08, 0x05, - 0x63, 0xDC, 0x02, 0x8F, 0x11, 0x96, 0x07, 0x9B, 0x65, 0x67, 0x02, 0x6B, 0x10, 0x9F, 0x07, 0x30, - 0x66, 0xF6, 0x02, 0x47, 0x0F, 0xA6, 0x06, 0xC5, 0x68, 0x88, 0x02, 0x22, 0x0E, 0xAA, 0x06, 0x58, - 0x6A, 0x1E, 0x01, 0xFD, 0x0D, 0xAD, 0x05, 0xEA, 0x6B, 0xB7, 0x01, 0xD8, 0x0C, 0xAD, 0x05, 0x7B, - 0x6D, 0x54, 0x01, 0xB2, 0x0B, 0xAB, 0x05, 0x0C, 0x6E, 0xF5, 0x01, 0x8D, 0x0A, 0xA6, 0x04, 0x9B, - 0x70, 0x99, 0x01, 0x66, 0x09, 0xA0, 0x04, 0x2A, 0x72, 0x41, 0x01, 0x40, 0x08, 0x97, 0x03, 0xB7, - 0x73, 0xEC, 0x01, 0x19, 0x07, 0x8C, 0x03, 0x44, 0x75, 0x9B, 0x00, 0xF2, 0x06, 0x7F, 0x02, 0xCF, - 0x77, 0x4D, 0x00, 0xCA, 0x05, 0x6F, 0x02, 0x5A, 0x79, 0x03, 0x00, 0xA3, 0x04, 0x5D, 0x01, 0xE3, - 0x7A, 0xBD, 0x00, 0x7A, 0x03, 0x49, 0x01, 0x6C, 0x7C, 0x7A, 0x00, 0x52, 0x02, 0x33, 0x00, 0xF4, - 0x7E, 0x3B, 0x00, 0x29, 0x01, 0x1B, 0x00, 0x7A, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_RODATA s16 const JASCalc::CUTOFF_TO_IIR_TABLE[128][4] = { + 0x0F5C, 0x0A3D, 0x4665, 0x1E73, + 0x0F5E, 0x0A3D, 0x4664, 0x1E73, + 0x0F63, 0x0A3C, 0x4661, 0x1E71, + 0x0F6C, 0x0A3C, 0x465B, 0x1E6F, + 0x0F79, 0x0A3A, 0x4653, 0x1E6B, + 0x0F89, 0x0A39, 0x4649, 0x1E67, + 0x0F9C, 0x0A37, 0x463D, 0x1E62, + 0x0FB4, 0x0A35, 0x462E, 0x1E5B, + 0x0FCE, 0x0A33, 0x461D, 0x1E54, + 0x0FED, 0x0A30, 0x460A, 0x1E4C, + 0x100F, 0x0A2D, 0x45F5, 0x1E43, + 0x1034, 0x0A29, 0x45DE, 0x1E39, + 0x105D, 0x0A26, 0x45C4, 0x1E2D, + 0x108A, 0x0A22, 0x45A8, 0x1E21, + 0x10BA, 0x0A1D, 0x458A, 0x1E14, + 0x10EE, 0x0A18, 0x456A, 0x1E06, + 0x1126, 0x0A13, 0x4547, 0x1DF7, + 0x1161, 0x0A0E, 0x4522, 0x1DE7, + 0x119F, 0x0A08, 0x44FB, 0x1DD6, + 0x11E1, 0x0A02, 0x44D2, 0x1DC5, + 0x1227, 0x09FC, 0x44A6, 0x1DB2, + 0x1270, 0x09F5, 0x4478, 0x1D9E, + 0x12BD, 0x09EE, 0x4448, 0x1D89, + 0x130E, 0x09E7, 0x4416, 0x1D73, + 0x1362, 0x09DF, 0x43E1, 0x1D5D, + 0x13B9, 0x09D7, 0x43AB, 0x1D45, + 0x1415, 0x09CF, 0x4372, 0x1D2C, + 0x1473, 0x09C7, 0x4336, 0x1D13, + 0x14D6, 0x09BE, 0x42F9, 0x1CF8, + 0x153C, 0x09B4, 0x42B9, 0x1CDD, + 0x15A5, 0x09AB, 0x4277, 0x1CC0, + 0x1612, 0x09A1, 0x4233, 0x1CA3, + 0x1683, 0x0997, 0x41ED, 0x1C84, + 0x16F7, 0x098C, 0x41A4, 0x1C65, + 0x176F, 0x0981, 0x4159, 0x1C44, + 0x17EA, 0x0976, 0x410C, 0x1C23, + 0x1869, 0x096A, 0x40BD, 0x1C01, + 0x18EB, 0x095F, 0x406B, 0x1BDD, + 0x1972, 0x0952, 0x4018, 0x1BB9, + 0x19FB, 0x0946, 0x3FC2, 0x1B94, + 0x1A88, 0x0939, 0x3F69, 0x1B6E, + 0x1B19, 0x092C, 0x3F0F, 0x1B47, + 0x1BAE, 0x091E, 0x3EB2, 0x1B1E, + 0x1C46, 0x0911, 0x3E53, 0x1AF5, + 0x1CE1, 0x0902, 0x3DF2, 0x1ACB, + 0x1D80, 0x08F4, 0x3D8E, 0x1AA0, + 0x1E23, 0x08E5, 0x3D29, 0x1A74, + 0x1EC9, 0x08D6, 0x3CC1, 0x1A47, + 0x1F73, 0x08C7, 0x3C57, 0x1A19, + 0x2020, 0x08B7, 0x3BEA, 0x19EB, + 0x20D1, 0x08A7, 0x3B7C, 0x19BB, + 0x2186, 0x0896, 0x3B0B, 0x198A, + 0x223E, 0x0886, 0x3A98, 0x1958, + 0x22FA, 0x0875, 0x3A22, 0x1925, + 0x23B9, 0x0863, 0x39AB, 0x18F2, + 0x247C, 0x0851, 0x3931, 0x18BD, + 0x2542, 0x083F, 0x38B5, 0x1887, + 0x260C, 0x082D, 0x3837, 0x1851, + 0x26DA, 0x081A, 0x37B6, 0x1819, + 0x27AB, 0x0807, 0x3734, 0x17E1, + 0x2880, 0x07F4, 0x36AF, 0x17A7, + 0x2958, 0x07E0, 0x3628, 0x176D, + 0x2A34, 0x07CC, 0x359E, 0x1731, + 0x2B14, 0x07B8, 0x3512, 0x16F5, + 0x2BF7, 0x07A3, 0x3485, 0x16B7, + 0x2CDD, 0x078E, 0x33F4, 0x1679, + 0x2DC8, 0x0779, 0x3362, 0x163A, + 0x2EB5, 0x0764, 0x32CD, 0x15FA, + 0x2FA7, 0x074E, 0x3237, 0x15B8, + 0x309C, 0x0737, 0x319E, 0x1576, + 0x3194, 0x0721, 0x3102, 0x1533, + 0x3290, 0x070A, 0x3065, 0x14EF, + 0x3390, 0x06F3, 0x2FC5, 0x14AA, + 0x3493, 0x06DB, 0x2F23, 0x1464, + 0x359A, 0x06C3, 0x2E7F, 0x141C, + 0x36A4, 0x06AB, 0x2DD8, 0x13D4, + 0x37B2, 0x0692, 0x2D2F, 0x138C, + 0x38C4, 0x067A, 0x2C85, 0x1342, + 0x39D9, 0x0660, 0x2BD7, 0x12F7, + 0x3AF1, 0x0647, 0x2B28, 0x12AB, + 0x3C0E, 0x062D, 0x2A76, 0x125E, + 0x3D2E, 0x0613, 0x29C2, 0x1210, + 0x3E51, 0x05F8, 0x290C, 0x11C1, + 0x3F78, 0x05DE, 0x2854, 0x1172, + 0x40A3, 0x05C2, 0x2799, 0x1121, + 0x41D1, 0x05A7, 0x26DC, 0x10CF, + 0x4302, 0x058B, 0x261D, 0x107D, + 0x4438, 0x056F, 0x255C, 0x1029, + 0x4571, 0x0553, 0x2499, 0x0FD4, + 0x46AD, 0x0536, 0x23D3, 0x0F7F, + 0x47ED, 0x0519, 0x230B, 0x0F28, + 0x4931, 0x04FB, 0x2241, 0x0ED1, + 0x4A78, 0x04DE, 0x2174, 0x0E78, + 0x4BC2, 0x04C0, 0x20A5, 0x0E1F, + 0x4D11, 0x04A1, 0x1FD4, 0x0DC5, + 0x4E63, 0x0482, 0x1F01, 0x0D69, + 0x4FB8, 0x0463, 0x1E2C, 0x0D0D, + 0x5111, 0x0444, 0x1D54, 0x0CB0, + 0x526E, 0x0424, 0x1C7A, 0x0C51, + 0x53CE, 0x0404, 0x1B9E, 0x0BF2, + 0x5532, 0x03E4, 0x1AC0, 0x0B92, + 0x5699, 0x03C3, 0x19DF, 0x0B31, + 0x5804, 0x03A2, 0x18FD, 0x0ACF, + 0x5972, 0x0381, 0x1818, 0x0A6C, + 0x5AE5, 0x035F, 0x1730, 0x0A08, + 0x5C5A, 0x033D, 0x1647, 0x09A3, + 0x5DD3, 0x031B, 0x155B, 0x093D, + 0x5F50, 0x02F9, 0x146D, 0x08D6, + 0x60D1, 0x02D6, 0x137D, 0x086E, + 0x6255, 0x02B2, 0x128A, 0x0805, + 0x63DC, 0x028F, 0x1196, 0x079B, + 0x6567, 0x026B, 0x109F, 0x0730, + 0x66F6, 0x0247, 0x0FA6, 0x06C5, + 0x6888, 0x0222, 0x0EAA, 0x0658, + 0x6A1E, 0x01FD, 0x0DAD, 0x05EA, + 0x6BB7, 0x01D8, 0x0CAD, 0x057B, + 0x6D54, 0x01B2, 0x0BAB, 0x050C, + 0x6EF5, 0x018D, 0x0AA6, 0x049B, + 0x7099, 0x0166, 0x09A0, 0x042A, + 0x7241, 0x0140, 0x0897, 0x03B7, + 0x73EC, 0x0119, 0x078C, 0x0344, + 0x759B, 0x00F2, 0x067F, 0x02CF, + 0x774D, 0x00CA, 0x056F, 0x025A, + 0x7903, 0x00A3, 0x045D, 0x01E3, + 0x7ABD, 0x007A, 0x0349, 0x016C, + 0x7C7A, 0x0052, 0x0233, 0x00F4, + 0x7E3B, 0x0029, 0x011B, 0x007A, + 0x7FFF, 0x0000, 0x0000, 0x0000, }; COMPILER_STRIP_GATE(0x8039ABB8, &JASCalc::CUTOFF_TO_IIR_TABLE); diff --git a/libs/JSystem/JAudio2/JASSeqCtrl.cpp b/libs/JSystem/JAudio2/JASSeqCtrl.cpp index 76ce2bab09..3bfbf12d2c 100644 --- a/libs/JSystem/JAudio2/JASSeqCtrl.cpp +++ b/libs/JSystem/JAudio2/JASSeqCtrl.cpp @@ -4,81 +4,9 @@ // #include "JSystem/JAudio2/JASSeqCtrl.h" -#include "JSystem/JAudio2/JASSeqReader.h" +#include "JSystem/JAudio2/JASSeqParser.h" #include "JSystem/JAudio2/JASTrack.h" -// -// Types: -// - -// TODO: Use JASSeqParser.hh when possible -struct JASSeqParser { - /* 80293CAC */ inline virtual ~JASSeqParser() {} - /* 802958D4 */ virtual int parse(JASTrack*); - /* 80295540 */ virtual void execNoteOnMidi(JASTrack*, u32, u32, u32); - /* 80295498 */ virtual void execNoteOnGate(JASTrack*, u32, u32, u32, u32); - /* 80295570 */ virtual void execNoteOff(JASTrack*, u32); - /* 8029559C */ virtual void execCommand(JASTrack*, s32 (JASSeqParser::*)(JASTrack*, u32*), u32, u32*); - - static u8 sCmdInfo[1536]; - static u8 sExtCmdInfo[4080]; - static u8 sCallBackFunc[4]; -}; - -struct JASSeqCtrl { - enum IntrType { - INTRTYPE_VALUE_0, - INTRTYPE_VALUE_1, - INTRTYPE_VALUE_2, - INTRTYPE_VALUE_3, - INTRTYPE_VALUE_4, - INTRTYPE_VALUE_5, - INTRTYPE_VALUE_6, - }; - - /* 802938BC */ JASSeqCtrl(); - /* 80293924 */ void init(); - /* 80293980 */ void start(void*, u32); - /* 802939C4 */ int tickProc(JASTrack*); - /* 80293ABC */ void interrupt(JASSeqCtrl::IntrType); - /* 80293AE0 */ void setIntrMask(u32); - /* 80293AF0 */ void clrIntrMask(u32); - /* 80293B00 */ int retIntr(); - /* 80293B28 */ int findIntr(); - /* 80293B78 */ void checkIntr(); - /* 80293BE8 */ void timerProcess(); - - u32 get24(int param_0) { - return mReader.get24(param_0); - } - - /* 0x00 */ JASSeqReader mReader; - /* 0x3c */ JASSeqParser* field_0x3c; - /* 0x40 */ s32 field_0x40; - /* 0x44 */ void* field_0x44; - /* 0x48 */ u32 field_0x48; - /* 0x4c */ u16 field_0x4c; - /* 0x4e */ u16 field_0x4e; - /* 0x50 */ u8 field_0x50; - /* 0x51 */ u8 field_0x51; - /* 0x52 */ u16 field_0x52; - /* 0x54 */ u32 field_0x54; - /* 0x58 */ u32 field_0x58; - static JASSeqParser sDefaultParser; -}; - -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - /* ############################################################################################## */ /* 80451238-80451240 000738 0004+04 3/3 0/0 0/0 .sbss sDefaultParser__10JASSeqCtrl */ JASSeqParser JASSeqCtrl::sDefaultParser; diff --git a/libs/JSystem/JAudio2/JASSeqParser.cpp b/libs/JSystem/JAudio2/JASSeqParser.cpp index 79d0fb03cf..52b113fcf2 100644 --- a/libs/JSystem/JAudio2/JASSeqParser.cpp +++ b/libs/JSystem/JAudio2/JASSeqParser.cpp @@ -4,149 +4,15 @@ // #include "JSystem/JAudio2/JASSeqParser.h" +#include "JSystem/JAudio2/JASCalc.h" +#include "JSystem/JAudio2/JASReport.h" +#include "JSystem/JAudio2/JASSeqCtrl.h" +#include "JSystem/JAudio2/JASTrack.h" +#include "JSystem/JAudio2/JASTrackPort.h" +#include "JSystem/JMath/random.h" +#include "JSystem/JSupport/JSupport.h" #include "dol2asm.h" -// -// Types: -// - -struct JASTrackPort { - /* 8029360C */ void checkImport(u32) const; - /* 80293628 */ void checkExport(u32) const; -}; - -struct JASOscillator { - struct Point {}; -}; - -struct JASTrack { - /* 80291A08 */ void setSeqData(void*, u32); - /* 80291ABC */ void start(); - /* 80291BB8 */ void closeChild(u32); - /* 80291C30 */ void openChild(u32); - /* 80291DAC */ void connectBus(int, int); - /* 80291DBC */ void setLatestKey(u8); - /* 80291F38 */ void noteOn(u32, u32, u32); - /* 80292008 */ void gateOn(u32, u32, f32, u32); - /* 80292198 */ void noteOff(u32, u16); - /* 802926E0 */ void setParam(u32, f32, u32); - /* 802927D8 */ void setOscScale(u32, f32); - /* 802927E8 */ void setOscTable(u32, JASOscillator::Point const*); - /* 80292808 */ void setOscAdsr(s16, s16, s16, s16, u16); - /* 8029285C */ void setFIR(s16 const*); - /* 8029289C */ void setIIR(s16 const*); - /* 802928D0 */ void readPortSelf(u32); - /* 802928F4 */ void writePortSelf(u32, u16); - /* 80292918 */ void writePort(u32, u16); - /* 8029297C */ void readPort(u32); - /* 80292B58 */ void setTempo(u16); - /* 80292BC0 */ void setTimebase(u16); -}; - -struct JASSeqReader { - /* 8029618C */ void call(u32); - /* 802961CC */ void loopStart(u32); - /* 80296210 */ void loopEnd(); - /* 8029627C */ void ret(); - /* 802962B0 */ void readMidiValue(); -}; - -struct JASSeqParser { - struct BranchCondition {}; - - /* 80293CAC */ ~JASSeqParser(); - /* 80293CF4 */ void conditionCheck(JASTrack*, JASSeqParser::BranchCondition); - /* 80293DC4 */ void writeReg(JASTrack*, u32, u32); - /* 80293FC8 */ void readReg(JASTrack*, u32) const; - /* 80294188 */ void cmdOpenTrack(JASTrack*, u32*); - /* 802941F0 */ void cmdCloseTrack(JASTrack*, u32*); - /* 8029421C */ void cmdCall(JASTrack*, u32*); - /* 80294248 */ void cmdCallF(JASTrack*, u32*); - /* 8029429C */ void cmdRet(JASTrack*, u32*); - /* 802942D4 */ void cmdRetF(JASTrack*, u32*); - /* 80294328 */ void cmdJmp(JASTrack*, u32*); - /* 80294340 */ void cmdJmpF(JASTrack*, u32*); - /* 80294398 */ void cmdJmpTable(JASTrack*, u32*); - /* 802943CC */ void cmdCallTable(JASTrack*, u32*); - /* 8029441C */ void cmdLoopS(JASTrack*, u32*); - /* 80294448 */ void cmdLoopE(JASTrack*, u32*); - /* 80294470 */ void cmdNote(JASTrack*, u32*); - /* 802944B4 */ void cmdNoteOn(JASTrack*, u32*); - /* 802944F4 */ void cmdNoteOff(JASTrack*, u32*); - /* 80294528 */ void cmdReadPort(JASTrack*, u32*); - /* 80294588 */ void cmdWritePort(JASTrack*, u32*); - /* 802945BC */ void cmdParentWritePort(JASTrack*, u32*); - /* 802945F8 */ void cmdChildWritePort(JASTrack*, u32*); - /* 80294644 */ void cmdParentReadPort(JASTrack*, u32*); - /* 802946AC */ void cmdChildReadPort(JASTrack*, u32*); - /* 80294724 */ void cmdCheckPortImport(JASTrack*, u32*); - /* 80294770 */ void cmdCheckPortExport(JASTrack*, u32*); - /* 802947BC */ void cmdWait(JASTrack*, u32*); - /* 802947F4 */ void cmdWaitByte(JASTrack*, u32*); - /* 80294804 */ void cmdSetLastNote(JASTrack*, u32*); - /* 8029483C */ void cmdEnvScaleSet(JASTrack*, u32*); - /* 8029488C */ void cmdEnvSet(JASTrack*, u32*); - /* 802948C8 */ void cmdSimpleADSR(JASTrack*, u32*); - /* 8029491C */ void cmdBusConnect(JASTrack*, u32*); - /* 8029494C */ void cmdSetIntTable(JASTrack*, u32*); - /* 8029495C */ void cmdSetInterrupt(JASTrack*, u32*); - /* 80294988 */ void cmdDisInterrupt(JASTrack*, u32*); - /* 802949B4 */ void cmdClrI(JASTrack*, u32*); - /* 802949E4 */ void cmdRetI(JASTrack*, u32*); - /* 80294A20 */ void cmdIntTimer(JASTrack*, u32*); - /* 80294A3C */ void cmdSyncCPU(JASTrack*, u32*); - /* 80294AA4 */ void cmdTempo(JASTrack*, u32*); - /* 80294AD4 */ s32 cmdFinish(JASTrack*, u32*); - /* 80294ADC */ bool cmdNop(JASTrack*, u32*); - /* 80294AE4 */ void cmdFIRSet(JASTrack*, u32*); - /* 80294B1C */ void cmdIIRSet(JASTrack*, u32*); - /* 80294B70 */ void cmdIIRCutOff(JASTrack*, u32*); - /* 80294BB4 */ void cmdBankPrg(JASTrack*, u32*); - /* 80294BD0 */ void cmdBank(JASTrack*, u32*); - /* 80294BE4 */ void cmdPrg(JASTrack*, u32*); - /* 80294BF8 */ void cmdParamI(JASTrack*, u32*); - /* 80294C54 */ void cmdParamII(JASTrack*, u32*); - /* 80294CB0 */ void cmdParamE(JASTrack*, u32*); - /* 80294D2C */ void cmdParamEI(JASTrack*, u32*); - /* 80294DA8 */ void cmdReg(JASTrack*, u32*); - /* 80294F10 */ void cmdRegLoad(JASTrack*, u32*); - /* 80294F40 */ void cmdRegUni(JASTrack*, u32*); - /* 80294FB4 */ void cmdRegTblLoad(JASTrack*, u32*); - /* 80295088 */ void cmdDump(JASTrack*, u32*); - /* 8029526C */ void cmdPrintf(JASTrack*, u32*); - /* 80295498 */ void execNoteOnGate(JASTrack*, u32, u32, u32, u32); - /* 80295540 */ void execNoteOnMidi(JASTrack*, u32, u32, u32); - /* 80295570 */ void execNoteOff(JASTrack*, u32); - /* 8029559C */ void execCommand(JASTrack*, s32 (JASSeqParser::*)(JASTrack*, u32*), u32, u32*); - /* 802955C8 */ void parseNoteOff(JASTrack*, u8); - /* 80295600 */ void parseNoteOn(JASTrack*, u8); - /* 802956B0 */ void parseCommand(JASTrack*, u8, u16); - /* 80295864 */ void parseRegCommand(JASTrack*, int); - /* 802958D4 */ void parse(JASTrack*); - - static u8 sCmdInfo[1536]; - static u8 sExtCmdInfo[4080]; - static u8 sCallBackFunc[4]; -}; - -struct JASSeqCtrl { - /* 80293AE0 */ void setIntrMask(u32); - /* 80293AF0 */ void clrIntrMask(u32); - /* 80293B00 */ void retIntr(); - /* 80293B78 */ void checkIntr(); -}; - -struct JASRegisterParam { - struct RegID {}; - - /* 80293684 */ void write(JASRegisterParam::RegID, u32); - /* 802937B8 */ void read(JASRegisterParam::RegID); -}; - -struct JASCalc { - static u8 const CUTOFF_TO_IIR_TABLE[1024]; -}; - // // Forward References: // @@ -287,940 +153,147 @@ extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; /* 80293CF4-80293DC4 28E634 00D0+00 3/3 0/0 0/0 .text * conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition */ +// regswap +#ifdef NONMATCHING +bool JASSeqParser::conditionCheck(JASTrack* param_0, JASSeqParser::BranchCondition param_1) { + u16 reg = readReg(param_0, 3); + switch (param_1) { + case 0: + return 1; + case 1: + return reg == 0; + case 2: + return reg != 0; + case 3: + return reg == 1; + case 4: + return reg <= 0x8000; + case 5: + return reg > 0x8000; + default: + return 0; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::conditionCheck(JASTrack* param_0, JASSeqParser::BranchCondition param_1) { +asm bool JASSeqParser::conditionCheck(JASTrack* param_0, JASSeqParser::BranchCondition param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition.s" } #pragma pop - -/* ############################################################################################## */ -/* 803C5BE0-803C5BEC -00001 000C+00 1/1 0/0 0/0 .data @486 */ -SECTION_DATA static void* lit_486[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdNoteOn__12JASSeqParserFP8JASTrackPUl, -}; - -/* 803C5BEC-803C5BF8 -00001 000C+00 0/1 0/0 0/0 .data @487 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_487[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdNoteOff__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5BF8-803C5C04 -00001 000C+00 0/1 0/0 0/0 .data @488 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_488[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdNote__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C04-803C5C10 -00001 000C+00 0/1 0/0 0/0 .data @489 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_489[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdSetLastNote__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C10-803C5C1C -00001 000C+00 0/1 0/0 0/0 .data @490 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_490[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdParamE__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C1C-803C5C28 -00001 000C+00 0/1 0/0 0/0 .data @491 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_491[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdParamI__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C28-803C5C34 -00001 000C+00 0/1 0/0 0/0 .data @492 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_492[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdParamEI__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C34-803C5C40 -00001 000C+00 0/1 0/0 0/0 .data @493 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_493[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdParamII__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C40-803C5C4C -00001 000C+00 0/1 0/0 0/0 .data @494 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_494[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdOpenTrack__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C4C-803C5C58 -00001 000C+00 0/1 0/0 0/0 .data @495 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_495[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdCloseTrack__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C58-803C5C64 -00001 000C+00 0/1 0/0 0/0 .data @496 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_496[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdCall__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C64-803C5C70 -00001 000C+00 0/1 0/0 0/0 .data @497 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_497[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdCallF__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C70-803C5C7C -00001 000C+00 0/1 0/0 0/0 .data @498 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_498[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdRet__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C7C-803C5C88 -00001 000C+00 0/1 0/0 0/0 .data @499 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_499[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdRetF__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C88-803C5C94 -00001 000C+00 0/1 0/0 0/0 .data @500 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_500[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdJmp__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5C94-803C5CA0 -00001 000C+00 0/1 0/0 0/0 .data @501 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_501[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdJmpF__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CA0-803C5CAC -00001 000C+00 0/1 0/0 0/0 .data @502 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_502[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdJmpTable__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CAC-803C5CB8 -00001 000C+00 0/1 0/0 0/0 .data @503 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_503[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdCallTable__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CB8-803C5CC4 -00001 000C+00 0/1 0/0 0/0 .data @504 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_504[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdLoopS__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CC4-803C5CD0 -00001 000C+00 0/1 0/0 0/0 .data @505 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_505[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdLoopE__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CD0-803C5CDC -00001 000C+00 0/1 0/0 0/0 .data @506 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_506[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdReadPort__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CDC-803C5CE8 -00001 000C+00 0/1 0/0 0/0 .data @507 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_507[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdWritePort__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CE8-803C5CF4 -00001 000C+00 0/1 0/0 0/0 .data @508 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_508[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdCheckPortImport__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5CF4-803C5D00 -00001 000C+00 0/1 0/0 0/0 .data @509 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_509[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdCheckPortExport__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D00-803C5D0C -00001 000C+00 0/1 0/0 0/0 .data @510 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_510[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdParentWritePort__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D0C-803C5D18 -00001 000C+00 0/1 0/0 0/0 .data @511 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_511[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdChildWritePort__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D18-803C5D24 -00001 000C+00 0/1 0/0 0/0 .data @512 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_512[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdParentReadPort__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D24-803C5D30 -00001 000C+00 0/1 0/0 0/0 .data @513 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_513[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdChildReadPort__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D30-803C5D3C -00001 000C+00 0/1 0/0 0/0 .data @514 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_514[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdRegLoad__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D3C-803C5D48 -00001 000C+00 0/1 0/0 0/0 .data @515 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_515[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdReg__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D48-803C5D54 -00001 000C+00 0/1 0/0 0/0 .data @516 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_516[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdReg__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D54-803C5D60 -00001 000C+00 0/1 0/0 0/0 .data @517 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_517[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdRegUni__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D60-803C5D6C -00001 000C+00 0/1 0/0 0/0 .data @518 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_518[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdRegTblLoad__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D6C-803C5D78 -00001 000C+00 0/1 0/0 0/0 .data @519 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_519[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdTempo__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D78-803C5D84 -00001 000C+00 0/1 0/0 0/0 .data @520 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_520[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdBankPrg__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D84-803C5D90 -00001 000C+00 0/1 0/0 0/0 .data @521 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_521[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdBank__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D90-803C5D9C -00001 000C+00 0/1 0/0 0/0 .data @522 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_522[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdPrg__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5D9C-803C5DA8 -00001 000C+00 0/1 0/0 0/0 .data @523 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_523[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdEnvScaleSet__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DA8-803C5DB4 -00001 000C+00 0/1 0/0 0/0 .data @524 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_524[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdEnvSet__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DB4-803C5DC0 -00001 000C+00 0/1 0/0 0/0 .data @525 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_525[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdSimpleADSR__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DC0-803C5DCC -00001 000C+00 0/1 0/0 0/0 .data @526 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_526[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdBusConnect__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DCC-803C5DD8 -00001 000C+00 0/1 0/0 0/0 .data @527 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_527[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdIIRCutOff__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DD8-803C5DE4 -00001 000C+00 0/1 0/0 0/0 .data @528 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_528[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdIIRSet__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DE4-803C5DF0 -00001 000C+00 0/1 0/0 0/0 .data @529 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_529[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdFIRSet__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DF0-803C5DFC -00001 000C+00 0/1 0/0 0/0 .data @530 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_530[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdWait__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5DFC-803C5E08 -00001 000C+00 0/1 0/0 0/0 .data @531 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_531[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdWaitByte__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E08-803C5E14 -00001 000C+00 0/1 0/0 0/0 .data @532 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_532[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdSetIntTable__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E14-803C5E20 -00001 000C+00 0/1 0/0 0/0 .data @533 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_533[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdSetInterrupt__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E20-803C5E2C -00001 000C+00 0/1 0/0 0/0 .data @534 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_534[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdDisInterrupt__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E2C-803C5E38 -00001 000C+00 0/1 0/0 0/0 .data @535 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_535[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdRetI__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E38-803C5E44 -00001 000C+00 0/1 0/0 0/0 .data @536 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_536[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdClrI__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E44-803C5E50 -00001 000C+00 0/1 0/0 0/0 .data @537 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_537[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdIntTimer__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E50-803C5E5C -00001 000C+00 0/1 0/0 0/0 .data @538 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_538[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdSyncCPU__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E5C-803C5E68 -00001 000C+00 0/1 0/0 0/0 .data @539 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_539[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdPrintf__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E68-803C5E74 -00001 000C+00 0/1 0/0 0/0 .data @540 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_540[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdNop__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - -/* 803C5E74-803C5E80 -00001 000C+00 0/1 0/0 0/0 .data @541 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_541[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdFinish__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop +#endif /* 803C5E80-803C6480 022FA0 0600+00 1/2 0/0 0/0 .data sCmdInfo__12JASSeqParser */ -SECTION_DATA u8 JASSeqParser::sCmdInfo[1536] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0B, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0B, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x10, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xE0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x55, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x55, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA JASSeqParser::CmdInfo JASSeqParser::sCmdInfo[96] = { + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdNoteOn, 0x0003, 0x0000, + &JASSeqParser::cmdNoteOff, 0x0001, 0x0000, + &JASSeqParser::cmdNote, 0x0004, 0x0040, + &JASSeqParser::cmdSetLastNote, 0x0001, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdParamE, 0x0002, 0x0000, + &JASSeqParser::cmdParamI, 0x0002, 0x0004, + &JASSeqParser::cmdParamEI, 0x0003, 0x0010, + &JASSeqParser::cmdParamII, 0x0003, 0x0014, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdOpenTrack, 0x0002, 0x0008, + &JASSeqParser::cmdCloseTrack, 0x0001, 0x0000, + &JASSeqParser::cmdCall, 0x0001, 0x0002, + &JASSeqParser::cmdCallF, 0x0002, 0x0008, + &JASSeqParser::cmdRet, 0x0000, 0x0000, + &JASSeqParser::cmdRetF, 0x0001, 0x0000, + &JASSeqParser::cmdJmp, 0x0001, 0x0002, + &JASSeqParser::cmdJmpF, 0x0002, 0x0008, + &JASSeqParser::cmdJmpTable, 0x0002, 0x000B, + &JASSeqParser::cmdCallTable, 0x0002, 0x000B, + &JASSeqParser::cmdLoopS, 0x0001, 0x0001, + &JASSeqParser::cmdLoopE, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdReadPort, 0x0002, 0x0000, + &JASSeqParser::cmdWritePort, 0x0002, 0x000C, + &JASSeqParser::cmdCheckPortImport, 0x0001, 0x0000, + &JASSeqParser::cmdCheckPortExport, 0x0001, 0x0000, + &JASSeqParser::cmdParentWritePort, 0x0002, 0x000C, + &JASSeqParser::cmdChildWritePort, 0x0002, 0x000C, + &JASSeqParser::cmdParentReadPort, 0x0002, 0x0000, + &JASSeqParser::cmdChildReadPort, 0x0002, 0x0000, + &JASSeqParser::cmdRegLoad, 0x0002, 0x0004, + &JASSeqParser::cmdReg, 0x0003, 0x0030, + &JASSeqParser::cmdReg, 0x0003, 0x0010, + &JASSeqParser::cmdRegUni, 0x0002, 0x0000, + &JASSeqParser::cmdRegTblLoad, 0x0004, 0x00E0, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdTempo, 0x0001, 0x0001, + &JASSeqParser::cmdBankPrg, 0x0001, 0x0001, + &JASSeqParser::cmdBank, 0x0001, 0x0000, + &JASSeqParser::cmdPrg, 0x0001, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdEnvScaleSet, 0x0002, 0x0004, + &JASSeqParser::cmdEnvSet, 0x0002, 0x0008, + &JASSeqParser::cmdSimpleADSR, 0x0005, 0x0155, + &JASSeqParser::cmdBusConnect, 0x0002, 0x0004, + &JASSeqParser::cmdIIRCutOff, 0x0001, 0x0000, + &JASSeqParser::cmdIIRSet, 0x0004, 0x0055, + &JASSeqParser::cmdFIRSet, 0x0001, 0x0002, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdWait, 0x0000, 0x0000, + &JASSeqParser::cmdWaitByte, 0x0001, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdSetIntTable, 0x0001, 0x0002, + &JASSeqParser::cmdSetInterrupt, 0x0001, 0x0001, + &JASSeqParser::cmdDisInterrupt, 0x0001, 0x0001, + &JASSeqParser::cmdRetI, 0x0000, 0x0000, + &JASSeqParser::cmdClrI, 0x0000, 0x0000, + &JASSeqParser::cmdIntTimer, 0x0002, 0x0004, + &JASSeqParser::cmdSyncCPU, 0x0001, 0x0001, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdPrintf, 0x0000, 0x0000, + &JASSeqParser::cmdNop, 0x0000, 0x0000, + &JASSeqParser::cmdFinish, 0x0000, 0x0000, }; -/* 803C6480-803C648C -00001 000C+00 0/1 0/0 0/0 .data @542 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_542[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)cmdDump__12JASSeqParserFP8JASTrackPUl, -}; -#pragma pop - /* 803C648C-803C747C 0235AC 0FF0+00 1/2 0/0 0/0 .data sExtCmdInfo__12JASSeqParser */ -SECTION_DATA u8 JASSeqParser::sExtCmdInfo[4080] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_DATA JASSeqParser::CmdInfo JASSeqParser::sExtCmdInfo[255] = { + NULL, 0x0000, 0x0000, + &JASSeqParser::cmdDump, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, + NULL, 0x0000, 0x0000, }; /* 803C747C-803C7550 -00001 00D4+00 1/1 0/0 0/0 .data @632 */ @@ -1303,6 +376,99 @@ SECTION_SDATA2 static f32 lit_631[1 + 1 /* padding */] = { SECTION_SDATA2 static f64 lit_634 = 4503599627370496.0 /* cast u32 to float */; /* 80293DC4-80293FC8 28E704 0204+00 8/7 0/0 0/0 .text writeReg__12JASSeqParserFP8JASTrackUlUl */ +// matches with literals +#ifdef NONMATCHING +void JASSeqParser::writeReg(JASTrack* param_0, u32 param_1, u32 param_2) { + param_0->writeReg(JASRegisterParam::REG3, param_2); + if (param_1 < 0x40) { + param_0->writeReg(JASRegisterParam::RegID(param_1), param_2); + return; + } + switch (param_1) { + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4a: + case 0x4b: + case 0x4c: + case 0x4d: + case 0x4e: + case 0x4f: + param_0->setPort(param_1 - 0x40, param_2); + break; + case 0x60: + case 0x61: + break; + case 0x62: + param_0->setTimebase(param_2); + break; + case 0x63: + param_0->setTranspose(param_2); + break; + case 0x64: + param_0->setBendSense(param_2); + break; + case 0x65: + param_0->setGateRate(param_2); + break; + case 0x66: + param_0->setSkipSample(param_2); + break; + case 0x67: + param_0->setBankNumber(u8(param_2)); + break; + case 0x68: + param_0->setProgNumber(u8(param_2)); + break; + case 0x69: + param_0->setPanPower(param_2 / 32767.0f); + break; + case 0x6a: + param_0->setReleasePrio(JSUHiByte(param_2)); + param_0->setNoteOnPrio(JSULoByte(param_2)); + break; + case 0x6b: + param_0->setNoteOnPrio(param_2); + break; + case 0x6c: + param_0->setReleasePrio(param_2); + break; + case 0x6d: + param_0->setDirectRelease(param_2); + break; + case 0x6e: + param_0->setVibDepth(param_2 / 1524.0f); + break; + case 0x6f: + param_0->setVibDepth(param_2 / 12192.0f); + break; + case 0x70: + param_0->setTremDepth(param_2 / 256.0f); + break; + case 0x71: + param_0->setVibPitch(param_2 / 64.0f); + break; + case 0x72: + param_0->setTremPitch(param_2 / 64.0f); + break; + case 0x73: + param_0->setVibDelay(param_2); + break; + case 0x74: + param_0->setTremDelay(param_2); + break; + default: + break; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1311,6 +477,7 @@ asm void JASSeqParser::writeReg(JASTrack* param_0, u32 param_1, u32 param_2) { #include "asm/JSystem/JAudio2/JASSeqParser/writeReg__12JASSeqParserFP8JASTrackUlUl.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803C7550-803C7624 -00001 00D4+00 1/1 0/0 0/0 .data @720 */ @@ -1377,285 +544,358 @@ SECTION_SDATA2 static f32 lit_718 = 256.0f; SECTION_SDATA2 static f32 lit_719 = 64.0f; /* 80293FC8-80294188 28E908 01C0+00 7/6 0/0 0/0 .text readReg__12JASSeqParserCFP8JASTrackUl */ +// extra mr instrucions +#ifdef NONMATCHING +u32 JASSeqParser::readReg(JASTrack* param_0, u32 param_1) const { + if (param_1 < 0x40) { + return param_0->readReg(JASRegisterParam::RegID(param_1)); + } + u32 result = 0; + switch (param_1) { + case 0x40: + case 0x41: + case 0x42: + case 0x43: + case 0x44: + case 0x45: + case 0x46: + case 0x47: + case 0x48: + case 0x49: + case 0x4a: + case 0x4b: + case 0x4c: + case 0x4d: + case 0x4e: + case 0x4f: + result = param_0->getPort(param_1 - 0x40); + break; + case 0x60: + u16 r27 = 1; + for (int i = 0; i < 16; i++) { + JASTrack* child = param_0->getChild(i); + if (child && child->getStatus() == 1) { + result |= r27; + } + r27 <<= 1; + } + break; + case 0x61: + result = param_0->getSeqCtrl()->getSeqReader()->getLoopCount(); + break; + case 0x62: + result = param_0->getTimebase(); + break; + case 0x63: + result = param_0->getTranspose(); + break; + case 0x64: + result = param_0->getBendSense(); + break; + case 0x65: + result = param_0->getGateRate(); + break; + case 0x66: + result = param_0->getSkipSample(); + break; + case 0x67: + result = param_0->getBankNumber(); + break; + case 0x68: + result = param_0->getProgNumber(); + break; + case 0x69: + result = param_0->getPanPower() * 32767.0f; + break; + case 0x6a: + result = param_0->getReleasePrio() | param_0->getNoteOnPrio(); + break; + case 0x6b: + result = param_0->getNoteOnPrio(); + break; + case 0x6c: + result = param_0->getReleasePrio(); + break; + case 0x6d: + result = param_0->getDirectRelease(); + break; + case 0x6e: + result = param_0->getVibDepth() * 1524.0f; + break; + case 0x6f: + result = param_0->getVibDepth() * 12192.0f; + break; + case 0x70: + result = param_0->getTremDepth() * 256.0f; + break; + case 0x71: + result = param_0->getVibPitch() * 64.0f; + break; + case 0x72: + result = param_0->getTremPitch() * 64.0f; + break; + case 0x73: + result = param_0->getVibDelay(); + break; + case 0x74: + result = param_0->getTremDelay(); + break; + default: + break; + } + return result; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::readReg(JASTrack* param_0, u32 param_1) const { +asm u32 JASSeqParser::readReg(JASTrack* param_0, u32 param_1) const { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/readReg__12JASSeqParserCFP8JASTrackUl.s" } #pragma pop +#endif /* 80294188-802941F0 28EAC8 0068+00 1/0 0/0 0/0 .text cmdOpenTrack__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdOpenTrack(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdOpenTrack__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdOpenTrack(JASTrack* param_0, u32* param_1) { + u32 r29 = param_1[0]; + u32 r28 = param_1[1]; + JASTrack* child = param_0->openChild(r29); + if (!child) { + return 0; + } + child->setSeqData(param_0->getSeqCtrl()->getBase(), r28); + child->start(); + return 0; } -#pragma pop /* 802941F0-8029421C 28EB30 002C+00 1/0 0/0 0/0 .text cmdCloseTrack__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdCloseTrack(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdCloseTrack__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdCloseTrack(JASTrack* param_0, u32* param_1) { + param_0->closeChild(*param_1); + return 0; } -#pragma pop /* 8029421C-80294248 28EB5C 002C+00 1/0 0/0 0/0 .text cmdCall__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdCall(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdCall__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdCall(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->call(*param_1); + return 0; } -#pragma pop /* 80294248-8029429C 28EB88 0054+00 1/0 0/0 0/0 .text cmdCallF__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdCallF(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdCallF__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdCallF(JASTrack* param_0, u32* param_1) { + if (conditionCheck(param_0, BranchCondition(param_1[0]))) { + param_0->getSeqCtrl()->call(param_1[1]); + } + return 0; } -#pragma pop /* 8029429C-802942D4 28EBDC 0038+00 1/0 0/0 0/0 .text cmdRet__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdRet(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdRet__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdRet(JASTrack* param_0, u32* param_1) { + if (!param_0->getSeqCtrl()->ret()) { + return 0; + } + return 0; } -#pragma pop /* 802942D4-80294328 28EC14 0054+00 1/0 0/0 0/0 .text cmdRetF__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdRetF(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdRetF__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdRetF(JASTrack* param_0, u32* param_1) { + if (conditionCheck(param_0, BranchCondition(param_1[0]))) { + if (!param_0->getSeqCtrl()->ret()) { + return 0; + } + } + return 0; } -#pragma pop /* 80294328-80294340 28EC68 0018+00 1/0 0/0 0/0 .text cmdJmp__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdJmp(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdJmp__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdJmp(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->jump(param_1[0]); + return 0; } -#pragma pop /* 80294340-80294398 28EC80 0058+00 1/0 0/0 0/0 .text cmdJmpF__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdJmpF(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdJmpF__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdJmpF(JASTrack* param_0, u32* param_1) { + if (conditionCheck(param_0, BranchCondition(param_1[0]))) { + param_0->getSeqCtrl()->jump(param_1[1]); + } + return 0; } -#pragma pop /* 80294398-802943CC 28ECD8 0034+00 1/0 0/0 0/0 .text cmdJmpTable__12JASSeqParserFP8JASTrackPUl */ +// instruction order +#ifdef NONMATCHING +s32 JASSeqParser::cmdJmpTable(JASTrack* param_0, u32* param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + seqCtrl->jump(seqCtrl->get24(param_1[1] + param_1[0] * 2 + param_1[0])); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdJmpTable(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdJmpTable(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdJmpTable__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 802943CC-8029441C 28ED0C 0050+00 1/0 0/0 0/0 .text cmdCallTable__12JASSeqParserFP8JASTrackPUl */ +// instruction order +#ifdef NONMATCHING +s32 JASSeqParser::cmdCallTable(JASTrack* param_0, u32* param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + seqCtrl->call(seqCtrl->get24(param_1[1] + param_1[0] * 2 + param_1[0])); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdCallTable(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdCallTable(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdCallTable__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 8029441C-80294448 28ED5C 002C+00 1/0 0/0 0/0 .text cmdLoopS__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdLoopS(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdLoopS__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdLoopS(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->loopStart(param_1[0]); + return 0; } -#pragma pop /* 80294448-80294470 28ED88 0028+00 1/0 0/0 0/0 .text cmdLoopE__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdLoopE(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdLoopE__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdLoopE(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->loopEnd(); + return 0; } -#pragma pop /* 80294470-802944B4 28EDB0 0044+00 1/0 0/0 0/0 .text cmdNote__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdNote(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdNote__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdNote(JASTrack* param_0, u32* param_1) { + execNoteOnGate(param_0, param_1[1], param_1[2], param_1[3], param_1[0]); + return 0; } -#pragma pop /* 802944B4-802944F4 28EDF4 0040+00 1/0 0/0 0/0 .text cmdNoteOn__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdNoteOn(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdNoteOn__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdNoteOn(JASTrack* param_0, u32* param_1) { + execNoteOnMidi(param_0, param_1[1], param_1[0], param_1[2]); + return 0; } -#pragma pop /* 802944F4-80294528 28EE34 0034+00 1/0 0/0 0/0 .text cmdNoteOff__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdNoteOff(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdNoteOff__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdNoteOff(JASTrack* param_0, u32* param_1) { + execNoteOff(param_0, param_1[0]); + return 0; } -#pragma pop /* 80294528-80294588 28EE68 0060+00 1/0 0/0 0/0 .text cmdReadPort__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdReadPort(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdReadPort__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdReadPort(JASTrack* param_0, u32* param_1) { + u16 tmp = param_0->readPortSelf(param_1[0]); + writeReg(param_0, param_1[1], tmp); + return 0; } -#pragma pop /* 80294588-802945BC 28EEC8 0034+00 1/0 0/0 0/0 .text cmdWritePort__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdWritePort(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdWritePort__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdWritePort(JASTrack* param_0, u32* param_1) { + param_0->writePortSelf(param_1[0], param_1[1]); + return 0; } -#pragma pop /* 802945BC-802945F8 28EEFC 003C+00 1/0 0/0 0/0 .text * cmdParentWritePort__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdParentWritePort(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdParentWritePort__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdParentWritePort(JASTrack* param_0, u32* param_1) { + JASTrack* parent = param_0->getParent(); + if (parent) { + parent->writePort(param_1[0], param_1[1]); + } else { + + } + return 0; } -#pragma pop /* 802945F8-80294644 28EF38 004C+00 1/0 0/0 0/0 .text * cmdChildWritePort__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdChildWritePort(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdChildWritePort__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdChildWritePort(JASTrack* param_0, u32* param_1) { + JASTrack* child = param_0->getChild(JSUHiNibble(param_1[0])); + if (child) { + child->writePort(JSULoNibble(param_1[0]), param_1[1]); + } else { + + } + return 0; } -#pragma pop /* 80294644-802946AC 28EF84 0068+00 1/0 0/0 0/0 .text * cmdParentReadPort__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdParentReadPort(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdParentReadPort__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdParentReadPort(JASTrack* param_0, u32* param_1) { + JASTrack* parent = param_0->getParent(); + if (parent) { + u16 tmp = parent->readPort(param_1[0]); + writeReg(param_0, param_1[1], tmp); + } else { + + } + return 0; } -#pragma pop /* 802946AC-80294724 28EFEC 0078+00 1/0 0/0 0/0 .text * cmdChildReadPort__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdChildReadPort(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdChildReadPort__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdChildReadPort(JASTrack* param_0, u32* param_1) { + JASTrack* child = param_0->getChild(JSUHiNibble(param_1[0])); + if (child) { + u16 tmp = child->readPort(JSULoNibble(param_1[0])); + writeReg(param_0, param_1[1], tmp); + } else { + + } + return 0; } -#pragma pop /* 80294724-80294770 28F064 004C+00 1/0 0/0 0/0 .text * cmdCheckPortImport__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdCheckPortImport(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortImport__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdCheckPortImport(JASTrack* param_0, u32* param_1) { + u8 tmp = param_0->checkPortIn(param_1[0]); + param_0->writeReg(JASRegisterParam::REG3, tmp); + return 0; } -#pragma pop /* 80294770-802947BC 28F0B0 004C+00 1/0 0/0 0/0 .text * cmdCheckPortExport__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdCheckPortExport(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdCheckPortExport__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdCheckPortExport(JASTrack* param_0, u32* param_1) { + u8 tmp = param_0->checkPort(param_1[0]); + param_0->writeReg(JASRegisterParam::REG3, tmp); + return 0; } -#pragma pop /* 802947BC-802947F4 28F0FC 0038+00 1/0 0/0 0/0 .text cmdWait__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdWait(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdWait__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdWait(JASTrack* param_0, u32* param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + seqCtrl->wait(seqCtrl->readMidiValue()); + return 0; } -#pragma pop /* 802947F4-80294804 28F134 0010+00 1/0 0/0 0/0 .text cmdWaitByte__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdWaitByte(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdWaitByte__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdWaitByte(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->wait(param_1[0]); + return 0; } -#pragma pop /* 80294804-8029483C 28F144 0038+00 1/0 0/0 0/0 .text cmdSetLastNote__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdSetLastNote(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdSetLastNote__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdSetLastNote(JASTrack* param_0, u32* param_1) { + u32 r31 = param_1[0]; + if (r31 < 256) { + param_0->setLatestKey(r31); + } else { + + } + return 0; } -#pragma pop /* ############################################################################################## */ /* 80455600-80455608 003C00 0004+04 1/1 0/0 0/0 .sdata2 @931 */ @@ -1667,133 +907,105 @@ SECTION_SDATA2 static f32 lit_931[1 + 1 /* padding */] = { /* 8029483C-8029488C 28F17C 0050+00 1/0 0/0 0/0 .text cmdEnvScaleSet__12JASSeqParserFP8JASTrackPUl */ +// matches with literals +#ifdef NONMATCHING +s32 JASSeqParser::cmdEnvScaleSet(JASTrack* param_0, u32* param_1) { + param_0->setOscScale(param_1[0], param_1[1] / 16383.0f); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdEnvScaleSet(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdEnvScaleSet(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdEnvScaleSet__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 8029488C-802948C8 28F1CC 003C+00 1/0 0/0 0/0 .text cmdEnvSet__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdEnvSet(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdEnvSet__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdEnvSet(JASTrack* param_0, u32* param_1) { + param_0->setOscTable(param_1[0], (JASOscillator::Point*)param_0->getSeqCtrl()->getAddr(param_1[1])); + return 0; } -#pragma pop /* 802948C8-8029491C 28F208 0054+00 1/0 0/0 0/0 .text cmdSimpleADSR__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdSimpleADSR(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdSimpleADSR__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdSimpleADSR(JASTrack* param_0, u32* param_1) { + param_0->setOscAdsr(param_1[0], param_1[1], param_1[2], param_1[3], param_1[4]); + return 0; } -#pragma pop /* 8029491C-8029494C 28F25C 0030+00 1/0 0/0 0/0 .text cmdBusConnect__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdBusConnect(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdBusConnect__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdBusConnect(JASTrack* param_0, u32* param_1) { + param_0->connectBus(param_1[0], param_1[1]); + return 0; } -#pragma pop /* 8029494C-8029495C 28F28C 0010+00 1/0 0/0 0/0 .text cmdSetIntTable__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdSetIntTable(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdSetIntTable__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdSetIntTable(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->setIntrTable(param_1[0]); + return 0; } -#pragma pop /* 8029495C-80294988 28F29C 002C+00 1/0 0/0 0/0 .text * cmdSetInterrupt__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdSetInterrupt(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdSetInterrupt__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdSetInterrupt(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->setIntrMask(param_1[0]); + return 0; } -#pragma pop /* 80294988-802949B4 28F2C8 002C+00 1/0 0/0 0/0 .text * cmdDisInterrupt__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdDisInterrupt(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdDisInterrupt__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdDisInterrupt(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->clrIntrMask(param_1[0]); + return 0; } -#pragma pop /* 802949B4-802949E4 28F2F4 0030+00 1/0 0/0 0/0 .text cmdClrI__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdClrI(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdClrI__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdClrI(JASTrack* param_0, u32* param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + seqCtrl->clrIntr(); + seqCtrl->checkIntr(); + return 0; } -#pragma pop /* 802949E4-80294A20 28F324 003C+00 1/0 0/0 0/0 .text cmdRetI__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdRetI(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdRetI__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdRetI(JASTrack* param_0, u32* param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + seqCtrl->retIntr(); + seqCtrl->checkIntr(); + return 0; } -#pragma pop /* 80294A20-80294A3C 28F360 001C+00 1/0 0/0 0/0 .text cmdIntTimer__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdIntTimer(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdIntTimer__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdIntTimer(JASTrack* param_0, u32* param_1) { + param_0->getSeqCtrl()->setIntrTimer(param_1[0], param_1[1]); + return 0; } -#pragma pop /* ############################################################################################## */ /* 80451240-80451244 000740 0004+00 1/1 1/1 0/0 .sbss sCallBackFunc__12JASSeqParser */ -u8 JASSeqParser::sCallBackFunc[4]; +u16 (*JASSeqParser::sCallBackFunc)(JASTrack*, u16); /* 80294A3C-80294AA4 28F37C 0068+00 1/0 0/0 0/0 .text cmdSyncCPU__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdSyncCPU(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdSyncCPU__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdSyncCPU(JASTrack* param_0, u32* param_1) { + u16 r31 = 0xffff; + if (sCallBackFunc) { + r31 = sCallBackFunc(param_0, param_1[0]); + } + param_0->writeReg(JASRegisterParam::REG3, r31); + return 0; } -#pragma pop /* 80294AA4-80294AD4 28F3E4 0030+00 1/0 0/0 0/0 .text cmdTempo__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdTempo(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdTempo__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdTempo(JASTrack* param_0, u32* param_1) { + param_0->setTempo(param_1[0]); + return 0; } -#pragma pop /* 80294AD4-80294ADC 28F414 0008+00 1/0 0/0 0/0 .text cmdFinish__12JASSeqParserFP8JASTrackPUl */ s32 JASSeqParser::cmdFinish(JASTrack* param_0, u32* param_1) { @@ -1801,114 +1013,143 @@ s32 JASSeqParser::cmdFinish(JASTrack* param_0, u32* param_1) { } /* 80294ADC-80294AE4 28F41C 0008+00 1/0 0/0 0/0 .text cmdNop__12JASSeqParserFP8JASTrackPUl */ -bool JASSeqParser::cmdNop(JASTrack* param_0, u32* param_1) { - return false; +s32 JASSeqParser::cmdNop(JASTrack* param_0, u32* param_1) { + return 0; } /* 80294AE4-80294B1C 28F424 0038+00 1/0 0/0 0/0 .text cmdFIRSet__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdFIRSet(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdFIRSet__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdFIRSet(JASTrack* param_0, u32* param_1) { + param_0->setFIR((s16*)param_0->getSeqCtrl()->getAddr(param_1[0])); + return 0; } -#pragma pop /* 80294B1C-80294B70 28F45C 0054+00 1/0 0/0 0/0 .text cmdIIRSet__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdIIRSet(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdIIRSet__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdIIRSet(JASTrack* param_0, u32* param_1) { + s16 stack_10[4]; + for (int i = 0; i < 4; i++) { + stack_10[i] = param_1[i]; + } + param_0->setIIR(stack_10); + return 0; } -#pragma pop /* 80294B70-80294BB4 28F4B0 0044+00 1/0 0/0 0/0 .text cmdIIRCutOff__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdIIRCutOff(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdIIRCutOff__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdIIRCutOff(JASTrack* param_0, u32* param_1) { + u32 r31 = param_1[0]; + if (r31 < 128) { + param_0->setIIR(JASCalc::CUTOFF_TO_IIR_TABLE[r31]); + } else { + + } + return 0; } -#pragma pop /* 80294BB4-80294BD0 28F4F4 001C+00 1/0 0/0 0/0 .text cmdBankPrg__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdBankPrg(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdBankPrg__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdBankPrg(JASTrack* param_0, u32* param_1) { + u16 r31 = JSULoHalf(param_1[0]); + param_0->setBankNumber(JSUHiByte(r31)); + param_0->setProgNumber(JSULoByte(r31)); + return 0; } -#pragma pop /* 80294BD0-80294BE4 28F510 0014+00 1/0 0/0 0/0 .text cmdBank__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdBank(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdBank__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdBank(JASTrack* param_0, u32* param_1) { + param_0->setBankNumber(param_1[0] & 0xff); + return 0; } -#pragma pop /* 80294BE4-80294BF8 28F524 0014+00 1/0 0/0 0/0 .text cmdPrg__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdPrg(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdPrg__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdPrg(JASTrack* param_0, u32* param_1) { + param_0->setProgNumber(param_1[0] & 0xff); + return 0; } -#pragma pop /* ############################################################################################## */ /* 80455608-80455610 003C08 0008+00 4/4 0/0 0/0 .sdata2 @1064 */ SECTION_SDATA2 static f64 lit_1064 = 4503601774854144.0 /* cast s32 to float */; /* 80294BF8-80294C54 28F538 005C+00 1/0 0/0 0/0 .text cmdParamI__12JASSeqParserFP8JASTrackPUl */ +// matches with literals +#ifdef NONMATCHING +s32 JASSeqParser::cmdParamI(JASTrack* param_0, u32* param_1) { + param_0->setParam(param_1[0], s16(param_1[1]) / 32767.0f, 0); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdParamI(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdParamI(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdParamI__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 80294C54-80294CB0 28F594 005C+00 1/0 0/0 0/0 .text cmdParamII__12JASSeqParserFP8JASTrackPUl */ +// matches with literals +#ifdef NONMATCHING +s32 JASSeqParser::cmdParamII(JASTrack* param_0, u32* param_1) { + param_0->setParam(param_1[0], s16(param_1[1]) / 32767.0f, param_1[2]); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdParamII(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdParamII(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdParamII__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 80294CB0-80294D2C 28F5F0 007C+00 1/0 0/0 0/0 .text cmdParamE__12JASSeqParserFP8JASTrackPUl */ +// matches with literals +#ifdef NONMATCHING +s32 JASSeqParser::cmdParamE(JASTrack* param_0, u32* param_1) { + s32* r31 = (s32*)param_1 + 1; + s16 r30 = *r31 << 8; + if ((*r31 & 0x80) == 0) { + r30 = r30 | s16(*r31 << 1); + } + param_0->setParam(param_1[0], r30 / 32767.0f, 0); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdParamE(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdParamE(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdParamE__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 80294D2C-80294DA8 28F66C 007C+00 1/0 0/0 0/0 .text cmdParamEI__12JASSeqParserFP8JASTrackPUl */ +// matches with literals +#ifdef NONMATCHING +s32 JASSeqParser::cmdParamEI(JASTrack* param_0, u32* param_1) { + s32* r31 = (s32*)param_1 + 1; + s16 r30 = *r31 << 8; + if ((*r31 & 0x80) == 0) { + r30 = r30 | s16(*r31 << 1); + } + param_0->setParam(param_1[0], r30 / 32767.0f, param_1[2]); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdParamEI(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdParamEI(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdParamEI__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* ############################################################################################## */ /* 803C7624-803C7650 -00001 002C+00 1/1 0/0 0/0 .data @1124 */ @@ -1933,214 +1174,390 @@ static u8 data_80451244[4]; static u8 oRandom[4 + 4 /* padding */]; /* 80294DA8-80294F10 28F6E8 0168+00 3/0 0/0 0/0 .text cmdReg__12JASSeqParserFP8JASTrackPUl */ +// mullw operand flipped +#ifdef NONMATCHING +s32 JASSeqParser::cmdReg(JASTrack* param_0, u32* param_1) { + u32 r29 = param_1[1]; + u32 r30 = param_1[2]; + switch (param_1[0]) { + case 0: + break; + case 1: + r30 += readReg(param_0, r29); + break; + case 2: + r30 = readReg(param_0, r29) - r30; + break; + case 3: + r30 = readReg(param_0, r29) - r30; + r29 = 3; + break; + case 4: + r30 *= readReg(param_0, r29); + r29 = 0x21; + break; + case 5: + r30 &= readReg(param_0, r29); + break; + case 6: + r30 |= readReg(param_0, r29); + break; + case 7: + r30 ^= readReg(param_0, r29); + break; + case 8: + static JMath::TRandom_fast_ oRandom(0); + u32 tmp = oRandom.get_bit32() >> 9; + r30 = tmp - tmp / r30 * r30; + break; + case 9: + r30 = readReg(param_0, r29) << r30; + break; + case 10: + r30 = readReg(param_0, r29) >> r30; + break; + default: + return 0; + } + writeReg(param_0, r29, r30); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdReg(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdReg(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdReg__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 80294F10-80294F40 28F850 0030+00 1/0 0/0 0/0 .text cmdRegLoad__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdRegLoad(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdRegLoad__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdRegLoad(JASTrack* param_0, u32* param_1) { + writeReg(param_0, param_1[0], param_1[1]); + return 0; } -#pragma pop /* 80294F40-80294FB4 28F880 0074+00 1/0 0/0 0/0 .text cmdRegUni__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdRegUni(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdRegUni__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdRegUni(JASTrack* param_0, u32* param_1) { + u32 r31 = param_1[1]; + s32 r30 = 0; + switch (param_1[0]) { + case 11: + r30 = -readReg(param_0, r31); + break; + default: + return 0; + } + writeReg(param_0, r31, r30); + return 0; } -#pragma pop /* 80294FB4-80295088 28F8F4 00D4+00 1/0 0/0 0/0 .text cmdRegTblLoad__12JASSeqParserFP8JASTrackPUl */ +// case 12, case 14 +#ifdef NONMATCHING +s32 JASSeqParser::cmdRegTblLoad(JASTrack* param_0, u32* param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + u32 p1 = param_1[1]; + u32 p2 = param_1[2]; + u32 p3 = param_1[3]; + u32 r27; + switch (param_1[0]) { + case 12: + r27 = seqCtrl->getByte(p2 + p3); + break; + case 13: + r27 = seqCtrl->get16(p2 + p3 * 2); + break; + case 14: + r27 = seqCtrl->get24(p2 + p3 * 2 + p3); + break; + case 15: + r27 = seqCtrl->get32(p2 + p3 * 4); + break; + case 16: + r27 = seqCtrl->get32(p2 + p3); + break; + default: + return 0; + } + writeReg(param_0, p1, r27); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdRegTblLoad(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdRegTblLoad(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdRegTblLoad__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop - -/* ############################################################################################## */ -/* 8039B018-8039B018 027678 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039B018 = - "--------------- JASTrack (%8x) dump ------------" - "----"; -SECTION_DEAD static char const* const stringBase_8039B04D = " Base: 0x%08x Cur: 0x%08x(0x%06x)"; -SECTION_DEAD static char const* const stringBase_8039B06F = ""; -SECTION_DEAD static char const* const stringBase_8039B070 = - " REG_A: 0x%04x REG_B: 0x%04x REG_S: 0x%04x"; -SECTION_DEAD static char const* const stringBase_8039B09B = - " REG_X: 0x%04x REG_Y: 0x%04x REG_F: 0x%04x"; -SECTION_DEAD static char const* const stringBase_8039B0C6 = - " PORT 0-3: 0x%04x 0x%04x 0x%04x 0x%04x"; -SECTION_DEAD static char const* const stringBase_8039B0ED = - " PORT 4-7: 0x%04x 0x%04x 0x%04x 0x%04x"; -SECTION_DEAD static char const* const stringBase_8039B114 = - " PORT 8-B: 0x%04x 0x%04x 0x%04x 0x%04x"; -SECTION_DEAD static char const* const stringBase_8039B13B = - " PORT C-F: 0x%04x 0x%04x 0x%04x 0x%04x"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039B162 = "\0\0\0\0\0"; -#pragma pop +#endif /* 80295088-8029526C 28F9C8 01E4+00 1/0 0/0 0/0 .text cmdDump__12JASSeqParserFP8JASTrackPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::cmdDump(JASTrack* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/cmdDump__12JASSeqParserFP8JASTrackPUl.s" +s32 JASSeqParser::cmdDump(JASTrack* param_0, u32* param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + JASReport("--------------- JASTrack (%8x) dump ----------------", param_0); + JASReport(" Base: 0x%08x Cur: 0x%08x(0x%06x)", seqCtrl->getBase(), seqCtrl->getCur(), (u8*)seqCtrl->getCur() - (u8*)seqCtrl->getBase()); + JASReport(""); + JASReport(" REG_A: 0x%04x REG_B: 0x%04x REG_S: 0x%04x", readReg(param_0, 0), readReg(param_0, 1), readReg(param_0, 2)); + JASReport(" REG_X: 0x%04x REG_Y: 0x%04x REG_F: 0x%04x", readReg(param_0, 4), readReg(param_0, 5), readReg(param_0, 3)); + JASReport(""); + JASReport(" PORT 0-3: 0x%04x 0x%04x 0x%04x 0x%04x", param_0->getPort(0x0), param_0->getPort(0x1), param_0->getPort(0x2), param_0->getPort(0x3)); + JASReport(" PORT 4-7: 0x%04x 0x%04x 0x%04x 0x%04x", param_0->getPort(0x4), param_0->getPort(0x5), param_0->getPort(0x6), param_0->getPort(0x7)); + JASReport(" PORT 8-B: 0x%04x 0x%04x 0x%04x 0x%04x", param_0->getPort(0x8), param_0->getPort(0x9), param_0->getPort(0xa), param_0->getPort(0xb)); + JASReport(" PORT C-F: 0x%04x 0x%04x 0x%04x 0x%04x", param_0->getPort(0xc), param_0->getPort(0xd), param_0->getPort(0xe), param_0->getPort(0xf)); + JASReport(""); + return 0; } -#pragma pop /* 8029526C-80295498 28FBAC 022C+00 1/0 0/0 0/0 .text cmdPrintf__12JASSeqParserFP8JASTrackPUl */ +// many things +#ifdef NONMATCHING +s32 JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) { + char stack_c[4]; + u32 stack_10[4]; + char buffer[128]; + + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + int r30 = 0; + for (u8 i = 0; i < 128; i++) { + buffer[i] = seqCtrl->readByte(); + if (buffer[i] == 0) { + break; + } + if (buffer[i] == '\\') { + buffer[i] = seqCtrl->readByte(); + if (buffer[i] == 0) { + break; + } + if (buffer[i] == 'n') { + buffer[i] = '\r'; + } + } else if (buffer[i] == '%') { + buffer[i + 1] = seqCtrl->readByte(); + if (buffer[i + 1] == 0) { + break; + } + switch (buffer[i + 1]) { + case 'd': + stack_c[r30] = 0; + break; + case 'x': + stack_c[r30] = 1; + break; + case 's': + stack_c[r30] = 2; + break; + case 'r': + stack_c[r30] = 3; + buffer[i + 1] = 'd'; + break; + case 'R': + stack_c[r30] = 4; + buffer[i + 1] = 'x'; + break; + default: + break; + } + r30++; + } + } + for (u32 i = 0; i < r30; i++) { + stack_10[i] = seqCtrl->readByte(); + switch (stack_c[i]) { + case 2: + stack_10[i] = (u32)seqCtrl->getAddr(stack_10[i]); + break; + case 3: + case 4: + stack_10[i] = readReg(param_0, stack_10[i] & 0xff); + break; + default: + break; + } + } + JASReport(buffer, stack_10[0], stack_10[1], stack_10[2], stack_10[3]); + return 0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) { +asm s32 JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/cmdPrintf__12JASSeqParserFP8JASTrackPUl.s" } #pragma pop +#endif /* 80295498-80295540 28FDD8 00A8+00 1/0 0/0 0/0 .text * execNoteOnGate__12JASSeqParserFP8JASTrackUlUlUlUl */ +// stack shenanigans +#ifdef NONMATCHING +s32 JASSeqParser::execNoteOnGate(JASTrack* param_0, u32 param_1, u32 param_2, u32 param_3, + u32 param_4) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + u8 tmp = param_4; + int r31 = 0; + if (tmp >> 6 & 1) { + r31 |= 2; + } + if (tmp >> 7 & 1) { + r31 |= 1; + } + if (param_3 == 0) { + r31 |= 4; + } + int result = param_0->gateOn(param_1, param_2, param_3, r31); + if (param_3) { + seqCtrl->wait(param_3); + } else { + seqCtrl->waitNoteFinish(); + } + return result; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::execNoteOnGate(JASTrack* param_0, u32 param_1, u32 param_2, u32 param_3, +asm s32 JASSeqParser::execNoteOnGate(JASTrack* param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/execNoteOnGate__12JASSeqParserFP8JASTrackUlUlUlUl.s" } #pragma pop +#endif /* 80295540-80295570 28FE80 0030+00 1/0 0/0 0/0 .text * execNoteOnMidi__12JASSeqParserFP8JASTrackUlUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::execNoteOnMidi(JASTrack* param_0, u32 param_1, u32 param_2, u32 param_3) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/execNoteOnMidi__12JASSeqParserFP8JASTrackUlUlUl.s" +s32 JASSeqParser::execNoteOnMidi(JASTrack* param_0, u32 param_1, u32 param_2, u32 param_3) { + return param_0->noteOn(param_1, param_2, param_3); } -#pragma pop /* 80295570-8029559C 28FEB0 002C+00 1/0 0/0 0/0 .text execNoteOff__12JASSeqParserFP8JASTrackUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::execNoteOff(JASTrack* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/execNoteOff__12JASSeqParserFP8JASTrackUl.s" +s32 JASSeqParser::execNoteOff(JASTrack* param_0, u32 param_1) { + return param_0->noteOff(param_1, 0); } -#pragma pop /* 8029559C-802955C8 28FEDC 002C+00 1/0 0/0 0/0 .text * execCommand__12JASSeqParserFP8JASTrackM12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::execCommand(JASTrack* param_0, s32 (JASSeqParser::*param_1)(JASTrack*, u32*), +s32 JASSeqParser::execCommand(JASTrack* param_0, s32 (JASSeqParser::*param_1)(JASTrack*, u32*), u32 param_2, u32* param_3) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/execCommand__12JASSeqParserFP8JASTrackM12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl.s" + return (this->*param_1)(param_0, param_3); } -#pragma pop /* 802955C8-80295600 28FF08 0038+00 1/1 0/0 0/0 .text parseNoteOff__12JASSeqParserFP8JASTrackUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::parseNoteOff(JASTrack* param_0, u8 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/parseNoteOff__12JASSeqParserFP8JASTrackUc.s" +s32 JASSeqParser::parseNoteOff(JASTrack* param_0, u8 param_1) { + if (param_1 & 7) { + execNoteOff(param_0, param_1 & 7); + } else { + + } + return 0; } -#pragma pop /* 80295600-802956B0 28FF40 00B0+00 1/1 0/0 0/0 .text parseNoteOn__12JASSeqParserFP8JASTrackUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::parseNoteOn(JASTrack* param_0, u8 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/parseNoteOn__12JASSeqParserFP8JASTrackUc.s" +s32 JASSeqParser::parseNoteOn(JASTrack* param_0, u8 param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + u32 r28 = seqCtrl->readByte(); + u32 r27 = seqCtrl->readByte(); + if ((r28 & 7) == 0) { + execNoteOnGate(param_0, param_1, r27, seqCtrl->readMidiValue(), r28); + } else { + execNoteOnMidi(param_0, r28 & 7, param_1, r27); + } + return 0; } -#pragma pop /* 802956B0-80295864 28FFF0 01B4+00 2/2 0/0 0/0 .text parseCommand__12JASSeqParserFP8JASTrackUcUs */ +// ptmf stack +#ifdef NONMATCHING +s32 JASSeqParser::parseCommand(JASTrack* param_0, u8 cmd, u16 param_2) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + CmdInfo* cmdInfo = NULL; + if (cmd != 0xb0) { + cmdInfo = &sCmdInfo[cmd - 0xa0]; + } else { + cmdInfo = &sExtCmdInfo[seqCtrl->readByte() & 0xff]; + } + u16 r28 = cmdInfo->field_0xe | param_2; + u32 stack_28[8]; + for (int i = 0; i < cmdInfo->field_0xc; i++) { + int r27 = 0; + switch (r28 & 3) { + case 0: + r27 = seqCtrl->readByte(); + break; + case 1: + r27 = seqCtrl->read16(); + break; + case 2: + r27 = seqCtrl->read24(); + break; + case 3: + r27 = readReg(param_0, seqCtrl->readByte()); + break; + } + stack_28[i] = r27; + r28 >>= 2; + } + s32 (JASSeqParser::*ptr)(JASTrack*, u32*); + if (!ptr) { + return 0; + } + return execCommand(param_0, ptr, cmdInfo->field_0xc, stack_28); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASSeqParser::parseCommand(JASTrack* param_0, u8 param_1, u16 param_2) { +asm s32 JASSeqParser::parseCommand(JASTrack* param_0, u8 param_1, u16 param_2) { nofralloc #include "asm/JSystem/JAudio2/JASSeqParser/parseCommand__12JASSeqParserFP8JASTrackUcUs.s" } #pragma pop +#endif /* 80295864-802958D4 2901A4 0070+00 1/1 0/0 0/0 .text parseRegCommand__12JASSeqParserFP8JASTracki */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::parseRegCommand(JASTrack* param_0, int param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/parseRegCommand__12JASSeqParserFP8JASTracki.s" +s32 JASSeqParser::parseRegCommand(JASTrack* param_0, int param_1) { + JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); + u8 r30 = seqCtrl->readByte(); + u16 r29 = 0; + u16 r28 = 3; + for (int i = 0; i < param_1; i++) { + if (r30 & 0x80) { + r29 |= r28; + } + r30 <<= 1; + r28 <<= 2; + } + return parseCommand(param_0, seqCtrl->readByte(), r29); } -#pragma pop /* 802958D4-80295950 290214 007C+00 1/0 0/0 0/0 .text parse__12JASSeqParserFP8JASTrack */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASSeqParser::parse(JASTrack* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/parse__12JASSeqParserFP8JASTrack.s" +s32 JASSeqParser::parse(JASTrack* param_0) { + u32 r31 = param_0->getSeqCtrl()->readByte(); + s32 r30 = 0; + if ((r31 & 0x80) == 0) { + r30 = parseNoteOn(param_0, r31); + } else { + switch (r31 & 0xf0) { + case 0x80: + r30 = parseNoteOff(param_0, r31 & 0xf); + break; + case 0x90: + r30 = parseRegCommand(param_0, (r31 & 7) + 1); + break; + default: + r30 = parseCommand(param_0, r31, 0); + break; + } + } + return r30; } -#pragma pop - -/* 80295950-80296108 290290 07B8+00 0/0 1/0 0/0 .text __sinit_JASSeqParser_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_JASSeqParser_cpp() { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/__sinit_JASSeqParser_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80295950, __sinit_JASSeqParser_cpp); -#pragma pop - -/* ############################################################################################## */ -/* 803C7650-803C7670 024770 0020+00 0/0 2/2 0/0 .data __vt__12JASSeqParser */ -SECTION_DATA extern void* __vt__12JASSeqParser[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12JASSeqParserFv, - (void*)parse__12JASSeqParserFP8JASTrack, - (void*)execNoteOnMidi__12JASSeqParserFP8JASTrackUlUlUl, - (void*)execNoteOnGate__12JASSeqParserFP8JASTrackUlUlUlUl, - (void*)execNoteOff__12JASSeqParserFP8JASTrackUl, - (void*)execCommand__12JASSeqParserFP8JASTrackM12JASSeqParserFPCvPvP8JASTrackPUl_lUlPUl, -}; - -/* 8039B018-8039B018 027678 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/JAudio2/JASTrack.cpp b/libs/JSystem/JAudio2/JASTrack.cpp index 86d4be276a..0a9122bd61 100644 --- a/libs/JSystem/JAudio2/JASTrack.cpp +++ b/libs/JSystem/JAudio2/JASTrack.cpp @@ -23,29 +23,6 @@ struct TNodeLinkList { }; // namespace JGadget -struct JASTrackPort { - /* 8029354C */ void init(); - /* 8029357C */ void readImport(u32); - /* 802935A0 */ void readExport(u32); - /* 802935C4 */ void writeImport(u32, u16); - /* 802935E8 */ void writeExport(u32, u16); -}; - -struct JASSeqCtrl { - struct IntrType {}; - - /* 802938BC */ JASSeqCtrl(); - /* 80293924 */ void init(); - /* 80293980 */ void start(void*, u32); - /* 802939C4 */ void tickProc(JASTrack*); - /* 80293ABC */ void interrupt(JASSeqCtrl::IntrType); -}; - -struct JASRegisterParam { - /* 80293644 */ JASRegisterParam(); - /* 80293664 */ void init(); -}; - template struct JASMemPool_MultiThreaded {}; /* JASMemPool_MultiThreaded */ @@ -442,7 +419,7 @@ asm void JASTrack::closeChild(u32 param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASTrack::openChild(u32 param_0) { +asm JASTrack* JASTrack::openChild(u32 param_0) { nofralloc #include "asm/JSystem/JAudio2/JASTrack/openChild__8JASTrackFUl.s" } @@ -484,7 +461,7 @@ asm void JASTrack::channelStart(JASTrack::TChannelMgr* param_0, u32 param_1, u32 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASTrack::noteOn(u32 param_0, u32 param_1, u32 param_2) { +asm int JASTrack::noteOn(u32 param_0, u32 param_1, u32 param_2) { nofralloc #include "asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s" } @@ -501,7 +478,7 @@ SECTION_SDATA2 static f64 lit_954 = 4503599627370496.0 /* cast u32 to float */; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASTrack::gateOn(u32 param_0, u32 param_1, f32 param_2, u32 param_3) { +asm int JASTrack::gateOn(u32 param_0, u32 param_1, f32 param_2, u32 param_3) { nofralloc #include "asm/JSystem/JAudio2/JASTrack/gateOn__8JASTrackFUlUlfUl.s" } @@ -511,7 +488,7 @@ asm void JASTrack::gateOn(u32 param_0, u32 param_1, f32 param_2, u32 param_3) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASTrack::noteOff(u32 param_0, u16 param_1) { +asm int JASTrack::noteOff(u32 param_0, u16 param_1) { nofralloc #include "asm/JSystem/JAudio2/JASTrack/noteOff__8JASTrackFUlUs.s" } @@ -694,7 +671,7 @@ asm void JASTrack::setIIR(s16 const* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASTrack::readPortSelf(u32 param_0) { +asm u16 JASTrack::readPortSelf(u32 param_0) { nofralloc #include "asm/JSystem/JAudio2/JASTrack/readPortSelf__8JASTrackFUl.s" } @@ -724,7 +701,7 @@ asm void JASTrack::writePort(u32 param_0, u16 param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASTrack::readPort(u32 param_0) { +asm u16 JASTrack::readPort(u32 param_0) { nofralloc #include "asm/JSystem/JAudio2/JASTrack/readPort__8JASTrackFUl.s" } diff --git a/libs/JSystem/JAudio2/JASTrackPort.cpp b/libs/JSystem/JAudio2/JASTrackPort.cpp index 1daa7dc839..beeaaf5488 100644 --- a/libs/JSystem/JAudio2/JASTrackPort.cpp +++ b/libs/JSystem/JAudio2/JASTrackPort.cpp @@ -4,108 +4,46 @@ // #include "JSystem/JAudio2/JASTrackPort.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct JASTrackPort { - /* 8029354C */ void init(); - /* 8029357C */ void readImport(u32); - /* 802935A0 */ void readExport(u32); - /* 802935C4 */ void writeImport(u32, u16); - /* 802935E8 */ void writeExport(u32, u16); - /* 8029360C */ void checkImport(u32) const; - /* 80293628 */ void checkExport(u32) const; -}; - -// -// Forward References: -// - -extern "C" void init__12JASTrackPortFv(); -extern "C" void readImport__12JASTrackPortFUl(); -extern "C" void readExport__12JASTrackPortFUl(); -extern "C" void writeImport__12JASTrackPortFUlUs(); -extern "C" void writeExport__12JASTrackPortFUlUs(); -extern "C" void checkImport__12JASTrackPortCFUl(); -extern "C" void checkExport__12JASTrackPortCFUl(); - -// -// External References: -// - -// -// Declarations: -// /* 8029354C-8029357C 28DE8C 0030+00 0/0 1/1 0/0 .text init__12JASTrackPortFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASTrackPort::init() { - nofralloc -#include "asm/JSystem/JAudio2/JASTrackPort/init__12JASTrackPortFv.s" +void JASTrackPort::init() { + for (int i = 0; i < 16; i++) { + field_0x4[i] = 0; + } + field_0x0 = 0; + field_0x2 = 0; } -#pragma pop /* 8029357C-802935A0 28DEBC 0024+00 0/0 1/1 0/0 .text readImport__12JASTrackPortFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASTrackPort::readImport(u32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASTrackPort/readImport__12JASTrackPortFUl.s" +u16 JASTrackPort::readImport(u32 port_num) { + field_0x0 = field_0x0 & ~(1 << port_num); + return field_0x4[port_num]; } -#pragma pop /* 802935A0-802935C4 28DEE0 0024+00 0/0 1/1 0/0 .text readExport__12JASTrackPortFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASTrackPort::readExport(u32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASTrackPort/readExport__12JASTrackPortFUl.s" +u16 JASTrackPort::readExport(u32 port_num) { + field_0x2 = field_0x2 & ~(1 << port_num); + return field_0x4[port_num]; } -#pragma pop /* 802935C4-802935E8 28DF04 0024+00 0/0 1/1 0/0 .text writeImport__12JASTrackPortFUlUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASTrackPort::writeImport(u32 param_0, u16 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASTrackPort/writeImport__12JASTrackPortFUlUs.s" +void JASTrackPort::writeImport(u32 port_num, u16 param_1) { + field_0x0 = field_0x0 | (1 << port_num); + field_0x4[port_num] = param_1; } -#pragma pop /* 802935E8-8029360C 28DF28 0024+00 0/0 1/1 0/0 .text writeExport__12JASTrackPortFUlUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASTrackPort::writeExport(u32 param_0, u16 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASTrackPort/writeExport__12JASTrackPortFUlUs.s" +void JASTrackPort::writeExport(u32 port_num, u16 param_1) { + field_0x2 = field_0x2 | (1 << port_num); + field_0x4[port_num] = param_1; } -#pragma pop /* 8029360C-80293628 28DF4C 001C+00 0/0 1/1 0/0 .text checkImport__12JASTrackPortCFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASTrackPort::checkImport(u32 param_0) const { - nofralloc -#include "asm/JSystem/JAudio2/JASTrackPort/checkImport__12JASTrackPortCFUl.s" +u32 JASTrackPort::checkImport(u32 param_0) const { + return field_0x0 & 1 << param_0 ? 1 : 0; } -#pragma pop /* 80293628-80293644 28DF68 001C+00 0/0 1/1 0/0 .text checkExport__12JASTrackPortCFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASTrackPort::checkExport(u32 param_0) const { - nofralloc -#include "asm/JSystem/JAudio2/JASTrackPort/checkExport__12JASTrackPortCFUl.s" +u32 JASTrackPort::checkExport(u32 param_0) const { + return field_0x2 & 1 << param_0 ? 1 : 0; } -#pragma pop