diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdCallTable__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdCallTable__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index 1ad4cc0f8b7..00000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdCallTable__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802943CC: -/* 802943CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802943D0 7C 08 02 A6 */ mflr r0 -/* 802943D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802943D8 80 65 00 00 */ lwz r3, 0(r5) -/* 802943DC 54 60 08 3C */ slwi r0, r3, 1 -/* 802943E0 7C 63 02 14 */ add r3, r3, r0 -/* 802943E4 80 04 00 00 */ lwz r0, 0(r4) -/* 802943E8 80 A5 00 04 */ lwz r5, 4(r5) -/* 802943EC 7C 63 02 14 */ add r3, r3, r0 -/* 802943F0 38 03 FF FF */ addi r0, r3, -1 -/* 802943F4 7C 05 00 2E */ lwzx r0, r5, r0 -/* 802943F8 54 00 02 3E */ clrlwi r0, r0, 8 -/* 802943FC 7C 83 23 78 */ mr r3, r4 -/* 80294400 7C 04 03 78 */ mr r4, r0 -/* 80294404 48 00 1D 89 */ bl call__12JASSeqReaderFUl -/* 80294408 38 60 00 00 */ li r3, 0 -/* 8029440C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80294410 7C 08 03 A6 */ mtlr r0 -/* 80294414 38 21 00 10 */ addi r1, r1, 0x10 -/* 80294418 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdJmpTable__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdJmpTable__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index b83105e748c..00000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdJmpTable__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80294398: -/* 80294398 80 65 00 00 */ lwz r3, 0(r5) -/* 8029439C 54 60 08 3C */ slwi r0, r3, 1 -/* 802943A0 7C 63 02 14 */ add r3, r3, r0 -/* 802943A4 80 C4 00 00 */ lwz r6, 0(r4) -/* 802943A8 80 A5 00 04 */ lwz r5, 4(r5) -/* 802943AC 7C 63 32 14 */ add r3, r3, r6 -/* 802943B0 38 03 FF FF */ addi r0, r3, -1 -/* 802943B4 7C 05 00 2E */ lwzx r0, r5, r0 -/* 802943B8 54 00 02 3E */ clrlwi r0, r0, 8 -/* 802943BC 7C 06 02 14 */ add r0, r6, r0 -/* 802943C0 90 04 00 04 */ stw r0, 4(r4) -/* 802943C4 38 60 00 00 */ li r3, 0 -/* 802943C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/cmdReg__12JASSeqParserFP8JASTrackPUl.s b/asm/JSystem/JAudio2/JASSeqParser/cmdReg__12JASSeqParserFP8JASTrackPUl.s deleted file mode 100644 index cbb21f577bf..00000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/cmdReg__12JASSeqParserFP8JASTrackPUl.s +++ /dev/null @@ -1,95 +0,0 @@ -lbl_80294DA8: -/* 80294DA8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80294DAC 7C 08 02 A6 */ mflr r0 -/* 80294DB0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80294DB4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294DB8 48 0C D4 21 */ bl _savegpr_28 -/* 80294DBC 7C 7C 1B 78 */ mr r28, r3 -/* 80294DC0 7C 9D 23 78 */ mr r29, r4 -/* 80294DC4 83 E5 00 04 */ lwz r31, 4(r5) -/* 80294DC8 83 C5 00 08 */ lwz r30, 8(r5) -/* 80294DCC 80 05 00 00 */ lwz r0, 0(r5) -/* 80294DD0 28 00 00 0A */ cmplwi r0, 0xa -/* 80294DD4 41 81 01 04 */ bgt lbl_80294ED8 -/* 80294DD8 3C A0 80 3C */ lis r5, lit_1124@ha /* 0x803C7624@ha */ -/* 80294DDC 38 A5 76 24 */ addi r5, r5, lit_1124@l /* 0x803C7624@l */ -/* 80294DE0 54 00 10 3A */ slwi r0, r0, 2 -/* 80294DE4 7C 05 00 2E */ lwzx r0, r5, r0 -/* 80294DE8 7C 09 03 A6 */ mtctr r0 -/* 80294DEC 4E 80 04 20 */ bctr -/* 80294DF0 7F E5 FB 78 */ mr r5, r31 -/* 80294DF4 4B FF F1 D5 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294DF8 7F DE 1A 14 */ add r30, r30, r3 -/* 80294DFC 48 00 00 E4 */ b lbl_80294EE0 -/* 80294E00 7F E5 FB 78 */ mr r5, r31 -/* 80294E04 4B FF F1 C5 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294E08 7F DE 18 50 */ subf r30, r30, r3 -/* 80294E0C 48 00 00 D4 */ b lbl_80294EE0 -/* 80294E10 7F E5 FB 78 */ mr r5, r31 -/* 80294E14 4B FF F1 B5 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294E18 7F DE 18 50 */ subf r30, r30, r3 -/* 80294E1C 3B E0 00 03 */ li r31, 3 -/* 80294E20 48 00 00 C0 */ b lbl_80294EE0 -/* 80294E24 7F E5 FB 78 */ mr r5, r31 -/* 80294E28 4B FF F1 A1 */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294E2C 7F DE 19 D6 */ mullw r30, r30, r3 -/* 80294E30 3B E0 00 21 */ li r31, 0x21 -/* 80294E34 48 00 00 AC */ b lbl_80294EE0 -/* 80294E38 7F E5 FB 78 */ mr r5, r31 -/* 80294E3C 4B FF F1 8D */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294E40 7F DE 18 38 */ and r30, r30, r3 -/* 80294E44 48 00 00 9C */ b lbl_80294EE0 -/* 80294E48 7F E5 FB 78 */ mr r5, r31 -/* 80294E4C 4B FF F1 7D */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294E50 7F DE 1B 78 */ or r30, r30, r3 -/* 80294E54 48 00 00 8C */ b lbl_80294EE0 -/* 80294E58 7F E5 FB 78 */ mr r5, r31 -/* 80294E5C 4B FF F1 6D */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294E60 7F DE 1A 78 */ xor r30, r30, r3 -/* 80294E64 48 00 00 7C */ b lbl_80294EE0 -/* 80294E68 88 0D 8C C4 */ lbz r0, data_80451244(r13) -/* 80294E6C 7C 00 07 75 */ extsb. r0, r0 -/* 80294E70 40 82 00 18 */ bne lbl_80294E88 -/* 80294E74 38 6D 8C C8 */ la r3, oRandom(r13) /* 80451248-_SDA_BASE_ */ -/* 80294E78 38 80 00 00 */ li r4, 0 -/* 80294E7C 48 0A 4C 69 */ bl __ct__Q25JMath13TRandom_fast_FUl -/* 80294E80 38 00 00 01 */ li r0, 1 -/* 80294E84 98 0D 8C C4 */ stb r0, data_80451244(r13) -lbl_80294E88: -/* 80294E88 80 8D 8C C8 */ lwz r4, oRandom(r13) -/* 80294E8C 3C 60 00 19 */ lis r3, 0x0019 /* 0x0019660D@ha */ -/* 80294E90 38 03 66 0D */ addi r0, r3, 0x660D /* 0x0019660D@l */ -/* 80294E94 7C 64 01 D6 */ mullw r3, r4, r0 -/* 80294E98 3C 63 3C 6F */ addis r3, r3, 0x3c6f -/* 80294E9C 38 03 F3 5F */ addi r0, r3, -3233 -/* 80294EA0 90 0D 8C C8 */ stw r0, oRandom(r13) -/* 80294EA4 54 03 BA 7E */ srwi r3, r0, 9 -/* 80294EA8 7C 03 F3 96 */ divwu r0, r3, r30 -/* 80294EAC 7C 00 F1 D6 */ mullw r0, r0, r30 -/* 80294EB0 7F C0 18 50 */ subf r30, r0, r3 -/* 80294EB4 48 00 00 2C */ b lbl_80294EE0 -/* 80294EB8 7F E5 FB 78 */ mr r5, r31 -/* 80294EBC 4B FF F1 0D */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294EC0 7C 7E F0 30 */ slw r30, r3, r30 -/* 80294EC4 48 00 00 1C */ b lbl_80294EE0 -/* 80294EC8 7F E5 FB 78 */ mr r5, r31 -/* 80294ECC 4B FF F0 FD */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80294ED0 7C 7E F4 30 */ srw r30, r3, r30 -/* 80294ED4 48 00 00 0C */ b lbl_80294EE0 -lbl_80294ED8: -/* 80294ED8 38 60 00 00 */ li r3, 0 -/* 80294EDC 48 00 00 1C */ b lbl_80294EF8 -lbl_80294EE0: -/* 80294EE0 7F 83 E3 78 */ mr r3, r28 -/* 80294EE4 7F A4 EB 78 */ mr r4, r29 -/* 80294EE8 7F E5 FB 78 */ mr r5, r31 -/* 80294EEC 7F C6 F3 78 */ mr r6, r30 -/* 80294EF0 4B FF EE D5 */ bl writeReg__12JASSeqParserFP8JASTrackUlUl -/* 80294EF4 38 60 00 00 */ li r3, 0 -lbl_80294EF8: -/* 80294EF8 39 61 00 20 */ addi r11, r1, 0x20 -/* 80294EFC 48 0C D3 29 */ bl _restgpr_28 -/* 80294F00 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80294F04 7C 08 03 A6 */ mtlr r0 -/* 80294F08 38 21 00 20 */ addi r1, r1, 0x20 -/* 80294F0C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASSeqParser/conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition.s b/asm/JSystem/JAudio2/JASSeqParser/conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition.s deleted file mode 100644 index 003d35b12ca..00000000000 --- a/asm/JSystem/JAudio2/JASSeqParser/conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition.s +++ /dev/null @@ -1,62 +0,0 @@ -lbl_80293CF4: -/* 80293CF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80293CF8 7C 08 02 A6 */ mflr r0 -/* 80293CFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80293D00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80293D04 7C BF 2B 78 */ mr r31, r5 -/* 80293D08 38 A0 00 03 */ li r5, 3 -/* 80293D0C 48 00 02 BD */ bl readReg__12JASSeqParserCFP8JASTrackUl -/* 80293D10 54 64 04 3E */ clrlwi r4, r3, 0x10 -/* 80293D14 2C 1F 00 03 */ cmpwi r31, 3 -/* 80293D18 41 82 00 50 */ beq lbl_80293D68 -/* 80293D1C 40 80 00 1C */ bge lbl_80293D38 -/* 80293D20 2C 1F 00 01 */ cmpwi r31, 1 -/* 80293D24 41 82 00 2C */ beq lbl_80293D50 -/* 80293D28 40 80 00 34 */ bge lbl_80293D5C -/* 80293D2C 2C 1F 00 00 */ cmpwi r31, 0 -/* 80293D30 40 80 00 18 */ bge lbl_80293D48 -/* 80293D34 48 00 00 78 */ b lbl_80293DAC -lbl_80293D38: -/* 80293D38 2C 1F 00 05 */ cmpwi r31, 5 -/* 80293D3C 41 82 00 58 */ beq lbl_80293D94 -/* 80293D40 40 80 00 6C */ bge lbl_80293DAC -/* 80293D44 48 00 00 34 */ b lbl_80293D78 -lbl_80293D48: -/* 80293D48 38 60 00 01 */ li r3, 1 -/* 80293D4C 48 00 00 64 */ b lbl_80293DB0 -lbl_80293D50: -/* 80293D50 7C 80 00 34 */ cntlzw r0, r4 -/* 80293D54 54 03 D9 7E */ srwi r3, r0, 5 -/* 80293D58 48 00 00 58 */ b lbl_80293DB0 -lbl_80293D5C: -/* 80293D5C 30 04 FF FF */ addic r0, r4, -1 -/* 80293D60 7C 60 21 10 */ subfe r3, r0, r4 -/* 80293D64 48 00 00 4C */ b lbl_80293DB0 -lbl_80293D68: -/* 80293D68 20 04 00 01 */ subfic r0, r4, 1 -/* 80293D6C 7C 00 00 34 */ cntlzw r0, r0 -/* 80293D70 54 03 D9 7E */ srwi r3, r0, 5 -/* 80293D74 48 00 00 3C */ b lbl_80293DB0 -lbl_80293D78: -/* 80293D78 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008000@ha */ -/* 80293D7C 38 03 80 00 */ addi r0, r3, 0x8000 /* 0x00008000@l */ -/* 80293D80 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 80293D84 38 60 FF FF */ li r3, -1 -/* 80293D88 7C 00 20 10 */ subfc r0, r0, r4 -/* 80293D8C 7C 63 01 90 */ subfze r3, r3 -/* 80293D90 48 00 00 20 */ b lbl_80293DB0 -lbl_80293D94: -/* 80293D94 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008000@ha */ -/* 80293D98 38 03 80 00 */ addi r0, r3, 0x8000 /* 0x00008000@l */ -/* 80293D9C 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 80293DA0 7C 00 20 50 */ subf r0, r0, r4 -/* 80293DA4 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80293DA8 48 00 00 08 */ b lbl_80293DB0 -lbl_80293DAC: -/* 80293DAC 38 60 00 00 */ li r3, 0 -lbl_80293DB0: -/* 80293DB0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80293DB4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80293DB8 7C 08 03 A6 */ mtlr r0 -/* 80293DBC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80293DC0 4E 80 00 20 */ blr diff --git a/libs/JSystem/JAudio2/JASSeqParser.cpp b/libs/JSystem/JAudio2/JASSeqParser.cpp index 52b113fcf2f..9cbe077c0f1 100644 --- a/libs/JSystem/JAudio2/JASSeqParser.cpp +++ b/libs/JSystem/JAudio2/JASSeqParser.cpp @@ -153,8 +153,6 @@ 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) { @@ -167,23 +165,13 @@ bool JASSeqParser::conditionCheck(JASTrack* param_0, JASSeqParser::BranchConditi case 3: return reg == 1; case 4: - return reg <= 0x8000; + return 0x8000 <= reg; case 5: - return reg > 0x8000; + return 0x8000 > reg; default: return 0; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JASSeqParser::conditionCheck(JASTrack* param_0, JASSeqParser::BranchCondition param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASSeqParser/conditionCheck__12JASSeqParserFP8JASTrackQ212JASSeqParser15BranchCondition.s" -} -#pragma pop -#endif /* 803C5E80-803C6480 022FA0 0600+00 1/2 0/0 0/0 .data sCmdInfo__12JASSeqParser */ SECTION_DATA JASSeqParser::CmdInfo JASSeqParser::sCmdInfo[96] = { @@ -544,7 +532,7 @@ 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 +// Matches with literals #ifdef NONMATCHING u32 JASSeqParser::readReg(JASTrack* param_0, u32 param_1) const { if (param_1 < 0x40) { @@ -568,8 +556,7 @@ u32 JASSeqParser::readReg(JASTrack* param_0, u32 param_1) const { case 0x4d: case 0x4e: case 0x4f: - result = param_0->getPort(param_1 - 0x40); - break; + return param_0->getPort(param_1 - 0x40); case 0x60: u16 r27 = 1; for (int i = 0; i < 16; i++) { @@ -581,65 +568,45 @@ u32 JASSeqParser::readReg(JASTrack* param_0, u32 param_1) const { } break; case 0x61: - result = param_0->getSeqCtrl()->getSeqReader()->getLoopCount(); - break; + return param_0->getSeqCtrl()->getSeqReader()->getLoopCount(); case 0x62: - result = param_0->getTimebase(); - break; + return param_0->getTimebase(); case 0x63: - result = param_0->getTranspose(); - break; + return param_0->mTranspose; case 0x64: - result = param_0->getBendSense(); - break; + return param_0->getBendSense(); case 0x65: - result = param_0->getGateRate(); - break; + return param_0->getGateRate(); case 0x66: - result = param_0->getSkipSample(); - break; + return param_0->getSkipSample(); case 0x67: - result = param_0->getBankNumber(); - break; + return param_0->getBankNumber(); case 0x68: - result = param_0->getProgNumber(); - break; + return param_0->getProgNumber(); case 0x69: - result = param_0->getPanPower() * 32767.0f; - break; + return param_0->getPanPower() * 32767.0f; case 0x6a: - result = param_0->getReleasePrio() | param_0->getNoteOnPrio(); - break; + return param_0->getReleasePrio() | param_0->getNoteOnPrio(); case 0x6b: - result = param_0->getNoteOnPrio(); - break; + return param_0->getNoteOnPrio(); case 0x6c: - result = param_0->getReleasePrio(); - break; + return param_0->getReleasePrio(); case 0x6d: - result = param_0->getDirectRelease(); - break; + return param_0->getDirectRelease(); case 0x6e: - result = param_0->getVibDepth() * 1524.0f; - break; + return param_0->getVibDepth() * 1524.0f; case 0x6f: - result = param_0->getVibDepth() * 12192.0f; - break; + return param_0->getVibDepth() * 12192.0f; case 0x70: - result = param_0->getTremDepth() * 256.0f; - break; + return param_0->getTremDepth() * 256.0f; case 0x71: - result = param_0->getVibPitch() * 64.0f; - break; + return param_0->getVibPitch() * 64.0f; case 0x72: - result = param_0->getTremPitch() * 64.0f; - break; + return param_0->getTremPitch() * 64.0f; case 0x73: - result = param_0->getVibDelay(); - break; + return param_0->getVibDelay(); case 0x74: - result = param_0->getTremDelay(); - break; + return param_0->getTremDelay(); default: break; } @@ -724,43 +691,23 @@ s32 JASSeqParser::cmdJmpF(JASTrack* param_0, u32* param_1) { } /* 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) { + u32 uVar1 = param_1[0]; + uVar1 += uVar1 * 2; JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); - seqCtrl->jump(seqCtrl->get24(param_1[1] + param_1[0] * 2 + param_1[0])); + seqCtrl->jump(seqCtrl->get24(param_1[1] + uVar1)); return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -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])); + u32 uVar1 = param_1[0]; + uVar1 += uVar1 * 2; + seqCtrl->call(seqCtrl->get24(param_1[1] + uVar1)); return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -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 */ s32 JASSeqParser::cmdLoopS(JASTrack* param_0, u32* param_1) { @@ -1151,31 +1098,7 @@ asm s32 JASSeqParser::cmdParamEI(JASTrack* param_0, u32* param_1) { #pragma pop #endif -/* ############################################################################################## */ -/* 803C7624-803C7650 -00001 002C+00 1/1 0/0 0/0 .data @1124 */ -SECTION_DATA static void* lit_1124[11] = { - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x138), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x48), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x58), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x68), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x7C), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x90), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0xA0), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0xB0), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0xC0), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x110), - (void*)(((char*)cmdReg__12JASSeqParserFP8JASTrackPUl) + 0x120), -}; - -/* 80451244-80451248 000744 0004+00 1/1 0/0 0/0 .sbss None */ -static u8 data_80451244[4]; - -/* 80451248-80451250 000748 0004+04 1/1 0/0 0/0 .sbss oRandom$1099 */ -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]; @@ -1208,7 +1131,7 @@ s32 JASSeqParser::cmdReg(JASTrack* param_0, u32* param_1) { case 8: static JMath::TRandom_fast_ oRandom(0); u32 tmp = oRandom.get_bit32() >> 9; - r30 = tmp - tmp / r30 * r30; + r30 = tmp % r30; break; case 9: r30 = readReg(param_0, r29) << r30; @@ -1222,16 +1145,6 @@ s32 JASSeqParser::cmdReg(JASTrack* param_0, u32* param_1) { writeReg(param_0, r29, r30); return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -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 */ s32 JASSeqParser::cmdRegLoad(JASTrack* param_0, u32* param_1) { @@ -1256,7 +1169,7 @@ s32 JASSeqParser::cmdRegUni(JASTrack* param_0, u32* param_1) { /* 80294FB4-80295088 28F8F4 00D4+00 1/0 0/0 0/0 .text cmdRegTblLoad__12JASSeqParserFP8JASTrackPUl */ -// case 12, case 14 +// case 12 #ifdef NONMATCHING s32 JASSeqParser::cmdRegTblLoad(JASTrack* param_0, u32* param_1) { JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); @@ -1272,7 +1185,8 @@ s32 JASSeqParser::cmdRegTblLoad(JASTrack* param_0, u32* param_1) { r27 = seqCtrl->get16(p2 + p3 * 2); break; case 14: - r27 = seqCtrl->get24(p2 + p3 * 2 + p3); + p3 += p3 *2; + r27 = seqCtrl->get24(p2 + p3); break; case 15: r27 = seqCtrl->get32(p2 + p3 * 4); @@ -1475,7 +1389,7 @@ s32 JASSeqParser::parseNoteOn(JASTrack* param_0, u8 param_1) { /* 802956B0-80295864 28FFF0 01B4+00 2/2 0/0 0/0 .text parseCommand__12JASSeqParserFP8JASTrackUcUs */ -// ptmf stack +// u16 bit or #ifdef NONMATCHING s32 JASSeqParser::parseCommand(JASTrack* param_0, u8 cmd, u16 param_2) { JASSeqCtrl* seqCtrl = param_0->getSeqCtrl(); @@ -1506,7 +1420,7 @@ s32 JASSeqParser::parseCommand(JASTrack* param_0, u8 cmd, u16 param_2) { stack_28[i] = r27; r28 >>= 2; } - s32 (JASSeqParser::*ptr)(JASTrack*, u32*); + s32 (JASSeqParser::*ptr)(JASTrack*, u32*) = cmdInfo->field_0x0; if (!ptr) { return 0; }