diff --git a/config/GM8E01_00/symbols.txt b/config/GM8E01_00/symbols.txt index b0a1a7a8..1ebacb4a 100644 --- a/config/GM8E01_00/symbols.txt +++ b/config/GM8E01_00/symbols.txt @@ -22301,7 +22301,7 @@ dataCurveNum = .sbss:0x805A9A98; // type:object size:0x2 scope:local data:2byte dataSmpSDirNum = .sbss:0x805A9A9A; // type:object size:0x2 scope:local data:2byte cstep$1643 = .sbss:0x805A9AA0; // type:object size:0x8 scope:local data:4byte macRealTime = .sbss:0x805A9AA8; // type:object size:0x8 scope:local data:8byte -macTimeQueueRoot = .sbss:0x805A9AB0; // type:object size:0x4 scope:local +macTimeQueueRoot = .sbss:0x805A9AB0; // type:object size:0x4 scope:local data:4byte macActiveMacroRoot = .sbss:0x805A9AB4; // type:object size:0x4 scope:local data:4byte DebugMacroSteps = .sbss:0x805A9AB8; // type:object size:0x8 scope:local data:byte vidFree = .sbss:0x805A9AC0; // type:object size:0x4 scope:local data:4byte @@ -22327,7 +22327,7 @@ dspHrtfHistoryBuffer = .sbss:0x805A9B08; // type:object size:0x4 scope:global da dspSurround = .sbss:0x805A9B0C; // type:object size:0x4 scope:global data:4byte dspITDBuffer = .sbss:0x805A9B10; // type:object size:0x4 scope:global data:4byte dspVoice = .sbss:0x805A9B14; // type:object size:0x4 scope:global data:4byte -salMessageCallback = .sbss:0x805A9B18; // type:object size:0x8 scope:global data:4byte +salMessageCallback = .sbss:0x805A9B18; // type:object size:0x4 scope:global data:4byte runListNum = .sbss:0x805A9B20; // type:object size:0x1 scope:global data:byte startListNumnum = .sbss:0x805A9B21; // type:object size:0x1 scope:global data:byte startGroupNum = .sbss:0x805A9B22; // type:object size:0x1 scope:global data:byte diff --git a/src/musyx/runtime/hardware.c b/src/musyx/runtime/hardware.c index 069a509d..31ddd980 100644 --- a/src/musyx/runtime/hardware.c +++ b/src/musyx/runtime/hardware.c @@ -135,7 +135,7 @@ u32 hwGlobalActivity() { return 0; } void hwSetMesgCallback(SND_MESSAGE_CALLBACK callback) { salMessageCallback = callback; } -void hwSetPriority(u32 idx, u32 priority) { dspVoice[idx].prio = priority; } +void hwSetPriority(u32 v, u32 prio) { dspVoice[v].prio = prio; } void hwInitSamplePlayback(u32 v, u16 smpID, void* newsmp, u32 set_defadsr, u32 prio, u32 callbackUserValue, u32 setSRC, u8 itdMode) { unsigned char i; // r30 diff --git a/src/musyx/runtime/synthvoice.c b/src/musyx/runtime/synthvoice.c index 37a5befd..9801f47f 100644 --- a/src/musyx/runtime/synthvoice.c +++ b/src/musyx/runtime/synthvoice.c @@ -282,7 +282,7 @@ void voiceSetPriority(SYNTH_VOICE* svoice, u8 prio) { voicePrioSortVoicesRoot[prio] = v; svoice->prio = prio; - hwSetPriority((u8)svoice->id, (((u32)prio << 24) | ((u32)svoice->age >> 15))); + hwSetPriority(svoice->id & 0xFF, ((u32)prio << 24) | (svoice->age >> 15)); } #pragma dont_inline on