JASSeqParser 99%

This commit is contained in:
LagoLunatic
2024-09-07 23:16:09 -04:00
parent a0fdc414b1
commit 0352a535a4
11 changed files with 167 additions and 120 deletions
+2 -2
View File
@@ -14,7 +14,7 @@ namespace JASystem {
void getAddress(int) const {}
void getBendSense() const {}
void getFlag() const {}
u16 getFlag() const { return field_0x0[3]; }
void getPanPowerBank() const {}
void getPanPowerExt() const {}
void getPanPowerOsc() const {}
@@ -22,7 +22,7 @@ namespace JASystem {
void getPanPowerTrack() const {}
void getPriority() const {}
void setAddress(int, u32) {}
void setFlag(u16) {}
void setFlag(u16 flag) { field_0x0[3] = flag; }
void setPanPower(int i, u16 power) { mPanPower[i] = power; }
/* 0x00 */ u16 field_0x0[6];
+1 -1
View File
@@ -44,7 +44,7 @@ namespace JASystem {
u16 get16(u32) const;
u32 get24(u32) const;
u32 get32(u32) const;
u32 read16();
u16 read16();
u32 read24();
/* 0x00 */ u8* mRawFilePtr;
+7 -1
View File
@@ -7,6 +7,8 @@ namespace JASystem {
class TTrack;
class TSeqParser {
public:
typedef int (TSeqParser::*CmdFunc)(JASystem::TTrack*, u32*);
int cmdOpenTrack(TTrack*, u32*);
int cmdOpenTrackBros(TTrack*, u32*);
int cmdCall(TTrack*, u32*);
@@ -71,7 +73,11 @@ namespace JASystem {
static int (TSeqParser::*sCmdPList[])(TTrack*, u32*);
};
extern const u16 Arglist[0x40][2];
struct Arg_s { // Fake name
u16 m00;
u16 m02;
};
extern const Arg_s Arglist[0x40];
}
#endif /* JASSEQPARSER_H */
+18 -10
View File
@@ -143,6 +143,14 @@ namespace JASystem {
class TNoteMgr {
public:
void setBaseTime(u32 time) { mBaseTime = time; }
u8 getConnectCase() const { return mConnectCase; }
void setConnectCase(u8 val) { mConnectCase = val; }
u8 getLastNote() const { return mLastNote; }
void setLastNote(u8 note) { mLastNote = note; }
bool checkBeforeTieMode() const { return mBeforeTieMode; }
void setBeforeTieMode(bool mode) { mBeforeTieMode = mode; }
void init();
void endProcess();
void setChannel(int, TChannel*);
@@ -151,10 +159,10 @@ namespace JASystem {
/* 0x00 */ TChannel* field_0x0[8];
/* 0x20 */ u16 field_0x20[8];
/* 0x30 */ int field_0x30;
/* 0x34 */ u8 field_0x34;
/* 0x35 */ u8 field_0x35;
/* 0x36 */ u8 field_0x36;
/* 0x30 */ int mBaseTime;
/* 0x34 */ u8 mConnectCase;
/* 0x35 */ u8 mLastNote;
/* 0x36 */ u8 mBeforeTieMode;
};
static const int MAX_CHILDREN = 16;
@@ -227,26 +235,26 @@ namespace JASystem {
TOuterParam* getOuterParam() { return mOuterParam; }
bool checkImport(int i) const { return mTrackPort.checkImport(i); }
bool checkExport(int i) const { return mTrackPort.checkExport(i); }
u8 checkImport(int i) const { return mTrackPort.checkImport(i); }
u8 checkExport(int i) const { return mTrackPort.checkExport(i); }
void getActivity() const {}
void getRoute() const {}
TSeqCtrl* getSeq() { return &mSeqCtrl; }
// void operator delete(void*, u32) {}
// void* operator new(size_t) {}
void pauseTrackAll() {}
void pauseTrackAll() { pause(true, true); }
void unPauseTrackAll() { pause(false, true); }
void setPanPower(int i, u16 power) { mRegisterParam.setPanPower(i, power); }
void setPauseStatus(u8) {}
void setPauseStatus(u8 status) { mPauseStatus = status; }
void setTranspose(s32 transpose) { field_0x37a = transpose; }
void setVolumeMode(u8 mode) { mVolumeMode = mode; }
void unPauseTrackAll() {}
/* 0x000 */ union {
TSeqCtrl mSeqCtrl;
TTrack* next;
};
/* 0x048 */ TTrackPort mTrackPort;
/* 0x088 */ TIntrMgr field_0x88;
/* 0x088 */ TIntrMgr mIntrMgr;
/* 0x0B4 */ TNoteMgr mNoteMgr;
/* 0x0EC */ TVibrate mVibrate;
/* 0x0F8 */ TChannelMgr mChannelUpdater;
@@ -6,6 +6,14 @@
namespace JASystem {
class TIntrMgr {
public:
void disable() { field_0x0 = 0; }
void enable() { field_0x0 = 1; }
void setTimer(u32 param_1, u32 param_2) {
field_0x3 = param_1;
field_0x4 = param_2;
field_0x8 = param_2;
}
void init();
void request(u32);
void setIntr(u32, void*);
+2 -2
View File
@@ -14,8 +14,8 @@ namespace JASystem {
void writeImport(int, u16);
void writeExport(int, u16);
bool checkImport(int i) const { return mImportFlag[i] != 0; }
bool checkExport(int i) const { return mExportFlag[i] != 0; }
u8 checkImport(int i) const { return mImportFlag[i]; }
u8 checkExport(int i) const { return mExportFlag[i]; }
u16 get(u32 i) { return mValue[i]; }
/* 0x00 */ u8 mImportFlag[TRACKPORT_MAX];
+2 -2
View File
@@ -548,7 +548,7 @@ void JAISound::setPauseMode(u8 param_1, u8 param_2) {
break;
case 2:
JASystem::TTrack* track = getSeqParameter()->getRootTrackPointer();
track->pause(true, true);
track->pauseTrackAll();
break;
}
} else {
@@ -559,7 +559,7 @@ void JAISound::setPauseMode(u8 param_1, u8 param_2) {
break;
case 2:
JASystem::TTrack* track = getSeqParameter()->getRootTrackPointer();
track->pause(false, true);
track->unPauseTrackAll();
break;
}
}
+6 -6
View File
@@ -11,10 +11,10 @@ static const int MULTI_MAX = 8;
/* 8027DD54-8027DD94 .text init__Q38JASystem6TTrack8TNoteMgrFv */
void JASystem::TTrack::TNoteMgr::init() {
field_0x30 = 0;
field_0x34 = 0;
field_0x35 = 0;
field_0x36 = 0;
mBaseTime = 0;
mConnectCase = 0;
mLastNote = 0;
mBeforeTieMode = 0;
for (int i = 0; i < MULTI_MAX; i++) {
field_0x0[i] = NULL;
field_0x20[i] = 0;
@@ -23,10 +23,10 @@ void JASystem::TTrack::TNoteMgr::init() {
/* 8027DD94-8027DDBC .text endProcess__Q38JASystem6TTrack8TNoteMgrFv */
void JASystem::TTrack::TNoteMgr::endProcess() {
if (field_0x30 == 0xffffffff) {
if (mBaseTime == 0xffffffff) {
return;
}
if (field_0x34 != 0) {
if (mConnectCase != 0) {
return;
}
field_0x0[0] = NULL;
+2 -2
View File
@@ -108,8 +108,8 @@ u32 JASystem::TSeqCtrl::get32(u32 param_1) const {
}
/* 8027E614-8027E63C .text read16__Q28JASystem8TSeqCtrlFv */
u32 JASystem::TSeqCtrl::read16() {
u32 result = readByte() << 8;
u16 JASystem::TSeqCtrl::read16() {
u16 result = readByte() << 8;
result |= readByte();
return result;
}
+114 -89
View File
@@ -10,7 +10,7 @@
#include "JSystem/JSupport/JSupport.h"
#include "JSystem/JUtility/JUTAssert.h"
int (JASystem::TSeqParser::*JASystem::TSeqParser::sCmdPList[64])(JASystem::TTrack*, u32*) = {
JASystem::TSeqParser::CmdFunc JASystem::TSeqParser::sCmdPList[64] = {
NULL,
&JASystem::TSeqParser::cmdOpenTrack,
&JASystem::TSeqParser::cmdOpenTrackBros,
@@ -77,7 +77,7 @@ int (JASystem::TSeqParser::*JASystem::TSeqParser::sCmdPList[64])(JASystem::TTrac
&JASystem::TSeqParser::cmdFinish,
};
const u16 JASystem::Arglist[0x40][2] = {
const JASystem::Arg_s JASystem::Arglist[0x40] = {
{0x0000, 0x0000},
{0x0002, 0x0008},
{0x0002, 0x0008},
@@ -313,13 +313,13 @@ int JASystem::TSeqParser::cmdChildWritePort(TTrack* track, u32* args) {
/* 8027ED80-8027ED98 .text cmdCheckPortImport__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdCheckPortImport(TTrack* track, u32* args) {
track->mRegisterParam.field_0x0[3] = track->mTrackPort.mImportFlag[args[0]];
track->mRegisterParam.setFlag(track->checkImport(args[0]));
return 0;
}
/* 8027ED98-8027EDB0 .text cmdCheckPortExport__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdCheckPortExport(TTrack* track, u32* args) {
track->mRegisterParam.field_0x0[3] = track->mTrackPort.mExportFlag[args[0]];
track->mRegisterParam.setFlag(track->checkExport(args[0]));
return 0;
}
@@ -335,7 +335,7 @@ int JASystem::TSeqParser::cmdSetLastNote(TTrack* track, u32* args) {
u32 key = args[0];
key += track->getTranspose();
JUT_ASSERT(506, key < 256);
track->mNoteMgr.field_0x35 = key;
track->mNoteMgr.setLastNote(key);
return 0;
}
@@ -412,8 +412,7 @@ int JASystem::TSeqParser::cmdBusConnect(TTrack* track, u32* args) {
/* 8027F088-8027F098 .text cmdPauseStatus__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdPauseStatus(TTrack* track, u32* args) {
/* Nonmatching */
track->mPauseStatus = args[0];
track->setPauseStatus(args[0]);
return 0;
}
@@ -425,32 +424,32 @@ int JASystem::TSeqParser::cmdVolumeMode(TTrack* track, u32* args) {
/* 8027F0A8-8027F0E0 .text cmdSetInterrupt__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdSetInterrupt(TTrack* track, u32* args) {
track->field_0x88.setIntr(args[0], track->getSeq()->getBase() + args[1]);
track->mIntrMgr.setIntr(args[0], track->getSeq()->getBase() + args[1]);
return 0;
}
/* 8027F0E0-8027F10C .text cmdDisInterrupt__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdDisInterrupt(TTrack* track, u32* args) {
track->field_0x88.resetInter(args[0]);
track->mIntrMgr.resetInter(args[0]);
return 0;
}
/* 8027F10C-8027F124 .text cmdClrI__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdClrI(TTrack* track, u32* args) {
track->field_0x88.field_0x0 = 1;
track->mIntrMgr.enable();
track->getSeq()->clrIntr();
return 0;
}
/* 8027F124-8027F134 .text cmdSetI__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdSetI(TTrack* track, u32* args) {
track->field_0x88.field_0x0 = 0;
track->mIntrMgr.disable();
return 0;
}
/* 8027F134-8027F178 .text cmdRetI__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdRetI(TTrack* track, u32* args) {
track->field_0x88.field_0x0 = 1;
track->mIntrMgr.enable();
track->getSeq()->retIntr();
track->tryInterrupt();
return 0;
@@ -458,10 +457,7 @@ int JASystem::TSeqParser::cmdRetI(TTrack* track, u32* args) {
/* 8027F178-8027F194 .text cmdIntTimer__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdIntTimer(TTrack* track, u32* args) {
u32 param2 = args[1];
track->field_0x88.field_0x3 = args[0];
track->field_0x88.field_0x4 = param2;
track->field_0x88.field_0x8 = param2;
track->mIntrMgr.setTimer(args[0], args[1]);
return 0;
}
@@ -471,7 +467,7 @@ int JASystem::TSeqParser::cmdSyncCPU(TTrack* track, u32* args) {
if (TTrack::sCallBackFunc) {
var1 = TTrack::sCallBackFunc(track, args[0]);
}
track->mRegisterParam.field_0x0[3] = var1;
track->mRegisterParam.setFlag(var1);
return 0;
}
@@ -619,19 +615,19 @@ int JASystem::TSeqParser::cmdOscFull(TTrack* track, u32* args) {
/* 8027F698-8027F6A8 .text cmdCheckWave__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdCheckWave(TTrack* track, u32* args) {
track->mRegisterParam.field_0x0[3] = 0;
track->mRegisterParam.setFlag(0);
return 0;
}
/* 8027F6A8-8027F8F4 .text cmdPrintf__Q28JASystem10TSeqParserFPQ28JASystem6TTrackPUl */
int JASystem::TSeqParser::cmdPrintf(TTrack* track, u32* args) {
/* Nonmatching */
char buf[128];
u8 byteArray[4];
int registers[4];
u32 count = 0;
for (u32 i = 0; i < 128; i++) {
u32 i;
for (i = 0; i < 128; i++) {
buf[i] = track->getSeq()->readByte();
if (!buf[i]) {
break;
@@ -642,19 +638,21 @@ int JASystem::TSeqParser::cmdPrintf(TTrack* track, u32* args) {
break;
}
if (buf[i] != 'n') {
continue;
} else {
buf[i] = '\r';
continue;
}
switch (buf[i]) {
case 'n':
buf[i] = '\r';
continue;
default:
continue;
}
}
if (buf[i] != '%') {
continue;
}
buf[++i] = track->getSeq()->readByte();
i++;
buf[i] = track->getSeq()->readByte();
if (!buf[i]) {
break;
}
@@ -685,7 +683,7 @@ int JASystem::TSeqParser::cmdPrintf(TTrack* track, u32* args) {
count++;
}
for (u32 i = 0; i < count; i++) {
for (i = 0; i < count; i++) {
registers[i] = track->getSeq()->readByte();
if (byteArray[i] == 2) {
registers[i] = (int)track->getSeq()->getAddr(registers[i]);
@@ -702,8 +700,36 @@ int JASystem::TSeqParser::cmdPrintf(TTrack* track, u32* args) {
}
/* 8027F8F4-8027FA48 .text Cmd_Process__Q28JASystem10TSeqParserFPQ28JASystem6TTrackUcUs */
int JASystem::TSeqParser::Cmd_Process(TTrack* track, u8, u16) {
/* Nonmatching */
int JASystem::TSeqParser::Cmd_Process(TTrack* track, u8 r5, u16 r6) {
JASystem::Arg_s sp08 = Arglist[r5-0xC0];
u16 r29 = sp08.m02;
r29 |= r6;
u32 sp18[10];
for (int i = 0 ; i < sp08.m00; i++) {
u32 r3 = 0;
switch (r29 & 0x3) {
case 0:
r3 = track->getSeq()->readByte();
break;
case 1:
r3 = track->getSeq()->read16();
break;
case 2:
r3 = track->getSeq()->read24();
break;
case 3:
r3 = track->exchangeRegisterValue(track->getSeq()->readByte());
break;
}
sp18[i] = r3;
r29 >>= 2;
}
JASystem::TSeqParser::CmdFunc cmdFunc = sCmdPList[r5-0xC0];
if (cmdFunc == NULL) {
return 0;
}
(this->*cmdFunc)(track, sp18);
}
/* 8027FA48-8027FB08 .text RegCmd_Process__Q28JASystem10TSeqParserFPQ28JASystem6TTrackii */
@@ -729,7 +755,6 @@ int JASystem::TSeqParser::RegCmd_Process(TTrack* track, int r30, int r31) {
/* 8027FB08-8027FC98 .text cmdSetParam__Q28JASystem10TSeqParserFPQ28JASystem6TTrackUc */
int JASystem::TSeqParser::cmdSetParam(TTrack* track, u8 param_2) {
/* Nonmatching */
u8 flag = track->getSeq()->readByte();
s16 data;
@@ -765,7 +790,7 @@ int JASystem::TSeqParser::cmdSetParam(TTrack* track, u8 param_2) {
val = track->getSeq()->readByte();
break;
case 3:
val = track->getSeq()->read16() & 0xFFFF;
val = track->getSeq()->read16();
break;
}
@@ -791,19 +816,17 @@ int JASystem::TSeqParser::cmdWait(TTrack* track, u8 flag) {
/* 8027FCE4-8027FE08 .text cmdNoteOff__Q28JASystem10TSeqParserFPQ28JASystem6TTrackUc */
int JASystem::TSeqParser::cmdNoteOff(TTrack* track, u8 flag) {
/* Nonmatching */
if (flag == 0xF9) {
u32 r30 = track->getSeq()->readByte();
u32 rdata2 = (track->exchangeRegisterValue(r30 & 0x7) & 0xFF);
JUT_ASSERT(0x496, rdata2 >= 1);
JUT_ASSERT(0x497, rdata2 <= 7);
// flag = rdata2 + 0x80;
// if (r30 & 0x80) {
// flag |= 0x08;
// }
flag = r30 & 0x80 ? (rdata2 + 0x80) | 0x08 : (rdata2 + 0x80);
flag = rdata2;
flag += 0x80;
if (r30 & 0x80) {
flag |= 0x08;
}
}
int r6 = 0;
@@ -820,112 +843,114 @@ int JASystem::TSeqParser::cmdNoteOff(TTrack* track, u8 flag) {
/* 8027FE08-80280148 .text cmdNoteOn__Q28JASystem10TSeqParserFPQ28JASystem6TTrackUc */
int JASystem::TSeqParser::cmdNoteOn(TTrack* track, u8 note) {
/* Nonmatching */
s32 flag = *track->mSeqCtrl.mCurrentFilePtr++;
if (flag & 0x80) {
u32 r27 = track->getSeq()->readByte();
if (r27 & 0x80) {
note = track->exchangeRegisterValue(note);
}
note += track->getTranspose();
int val28 = (flag >> 5) & 0x3;
u8 val27;
if ((flag >> 5) & 0x2) {
val27 = note;
note = track->mNoteMgr.field_0x35;
u8 r26 = (r27 >> 5) & 0x3;
u8 r25;
u32 r24;
u8 r31;
if ((r27 >> 5) & 0x2) {
r31 = note;
note = track->mNoteMgr.getLastNote();
}
u8 val26 = *track->mSeqCtrl.mCurrentFilePtr++;
if (val26 & 0x80) {
val26 = track->exchangeRegisterValue(val26 & 0x7F);
r25 = track->getSeq()->readByte();
if (r25 & 0x80) {
r25 = track->exchangeRegisterValue(r25 & 0x7F);
}
u8 val25;
u8 noteid = flag & 0x7;
int val23 = 0;
u8 r23;
u8 noteid = r27 & 0x7;
int r22 = 0;
if (!noteid) {
val25 = *track->mSeqCtrl.mCurrentFilePtr++;
if (val25 & 0x80) {
val25 = track->exchangeRegisterValue(val25 & 0x7F);
r23 = track->getSeq()->readByte();
if (r23 & 0x80) {
r23 = track->exchangeRegisterValue(r23 & 0x7F);
}
int count = (flag >> 3) & 0x3;
flag = 0;
r24 = 0;
int count = (r27 >> 3) & 0x3;
for (int i = 0; i < count; i++) {
flag <<= 8;
flag |= *track->mSeqCtrl.mCurrentFilePtr++;
r24 <<= 8;
r24 |= track->getSeq()->readByte();
}
if ((u32)count == 1 && flag & 0x80) {
flag = track->exchangeRegisterValue(flag & 0x7F);
if ((u32)count == 1 && r24 & 0x80) {
r24 = track->exchangeRegisterValue(r24 & 0x7F);
}
} else {
if ((flag >> 3) & 0x3) {
if ((r27 >> 3) & 0x3) {
noteid = track->exchangeRegisterValue(noteid - 1);
JUT_ASSERT(0x4FE, noteid < 8);
}
JUT_ASSERT(0x4FE, noteid < 8);
if (val28 & 1) {
val23 = track->exchangeRegisterValue(*track->mSeqCtrl.mCurrentFilePtr++);
val28 = (val28 ^ 1) & 0xFF;
if (r26 & 1) {
r22 = track->exchangeRegisterValue(track->getSeq()->readByte());
r26 ^= 1;
}
flag = -1;
val25 = 100;
r24 = -1;
r23 = 100;
}
track->mNoteMgr.field_0x34 = val28;
s32 time = flag;
if (track->mNoteMgr.field_0x36) {
if (track->mNoteMgr.field_0x34 & 1) {
track->mNoteMgr.setConnectCase(r26);
r27 = r24;
s32 time = r24;
if (track->mNoteMgr.checkBeforeTieMode()) {
if (track->mNoteMgr.getConnectCase() & 1) {
time = -1;
}
if (time != -1) {
time = track->seqTimeToDspTime(time, val25);
time = track->seqTimeToDspTime(time, r23);
}
if (!track->mIsPaused || !(track->mPauseStatus & 0x10)) {
track->gateOn(noteid, note, val26, time);
track->gateOn(noteid, note, r25, time);
}
} else {
if (flag != -1) {
time = track->seqTimeToDspTime(flag, val25);
if ((s32)r24 != -1) {
time = track->seqTimeToDspTime(r24, r23);
}
if (track->mNoteMgr.field_0x34 & 1) {
if (track->mNoteMgr.getConnectCase() & 1) {
time = -1;
}
if (!track->mIsPaused || !(track->mPauseStatus & 0x10)) {
track->noteOn(noteid, note, val26, time, val23);
track->noteOn(noteid, note, r25, time, r22);
}
}
track->mNoteMgr.field_0x30 = flag;
track->mNoteMgr.field_0x36 = track->mNoteMgr.field_0x34 & 1;
if (track->mNoteMgr.field_0x34 & 0x2) {
track->mNoteMgr.setBaseTime(r24);
track->mNoteMgr.setBeforeTieMode(track->mNoteMgr.getConnectCase() & 1);
if (track->mNoteMgr.getConnectCase() & 0x2) {
s32 val = time;
if (time == -1) {
val = track->seqTimeToDspTime(flag, val25);
val = track->seqTimeToDspTime(r27, r23);
}
JASystem::TChannel* channel = track->mNoteMgr.getChannel(0);
if (channel) {
channel->setKeySweepTarget(val27 + track->getTranspose(), val);
channel->setKeySweepTarget((u8)r31 + track->getTranspose(), val);
}
note = val27;
note = r31;
}
track->mNoteMgr.field_0x35 = note;
if (flag == 0xFFFFFFFF) {
track->mNoteMgr.setLastNote(note);
if (r24 == 0xFFFFFFFF) {
return 0;
}
track->mSeqCtrl.mWaitTimer = ((u32)flag) ? flag : -1;
track->getSeq()->wait(r24 ? r27 : -1);
return 1;
}
/* 80280148-8028024C .text conditionCheck__Q28JASystem10TSeqParserFPQ28JASystem6TTrackUc */
bool JASystem::TSeqParser::conditionCheck(TTrack* track, u8 param_2) {
/* Nonmatching */
u16 val = (u32)track->mRegisterParam.field_0x0[3];
u16 val = (u32)track->mRegisterParam.getFlag();
switch (param_2 & 0xF) {
case 0:
return true;
+5 -5
View File
@@ -48,7 +48,7 @@ JASystem::TTrack::TimedParam_::TimedParam_() {}
void JASystem::TTrack::init() {
mSeqCtrl.init();
mTrackPort.init();
field_0x88.init();
mIntrMgr.init();
mNoteMgr.init();
mChannelUpdater.initAllocChannel(0);
initTimed();
@@ -141,8 +141,8 @@ s8 JASystem::TTrack::mainProc() {
mParent->mChannelUpdater.field_0x0++;
}
}
field_0x88.request(7);
field_0x88.timerProcess();
mIntrMgr.request(7);
mIntrMgr.timerProcess();
tryInterrupt();
if (mIsPaused == 0 && (mPauseStatus & 2) == 0) {
// TODO:
@@ -166,7 +166,7 @@ s8 JASystem::TTrack::mainProc() {
/* 80280F80-80280FA8 .text setInterrupt__Q28JASystem6TTrackFUs */
void JASystem::TTrack::setInterrupt(u16 param_1) {
field_0x88.request(param_1);
mIntrMgr.request(param_1);
}
/* 80280FA8-80281004 .text tryInterrupt__Q28JASystem6TTrackFv */
@@ -174,7 +174,7 @@ bool JASystem::TTrack::tryInterrupt() {
if (mSeqCtrl.mPreviousFilePtr) {
return false;
}
void* var1 = field_0x88.checkIntr();
void* var1 = mIntrMgr.checkIntr();
if (var1 == NULL) {
return false;
}