diff options
-rw-r--r-- | asm/m4a_1.s | 26 | ||||
-rw-r--r-- | constants/m4a_constants.s | 11 | ||||
-rw-r--r-- | include/gba/m4a_internal.h | 8 |
3 files changed, 26 insertions, 19 deletions
diff --git a/asm/m4a_1.s b/asm/m4a_1.s index 3f079d0ec..2b548cacc 100644 --- a/asm/m4a_1.s +++ b/asm/m4a_1.s @@ -1549,24 +1549,24 @@ ply_note: ldr r1, =gClockTable adds r0, r1 ldrb r0, [r0] - strb r0, [r5, 0x4] + strb r0, [r5, o_MusicPlayerTrack_gateTime] ldr r3, [r5, o_MusicPlayerTrack_cmdPtr] ldrb r0, [r3] cmp r0, 0x80 - bcs _081DDB46 + bhs _081DDB46 strb r0, [r5, o_MusicPlayerTrack_key] adds r3, 0x1 ldrb r0, [r3] cmp r0, 0x80 - bcs _081DDB44 - strb r0, [r5, 0x6] + bhs _081DDB44 + strb r0, [r5, o_MusicPlayerTrack_velocity] adds r3, 0x1 ldrb r0, [r3] cmp r0, 0x80 - bcs _081DDB44 - ldrb r1, [r5, 0x4] + bhs _081DDB44 + ldrb r1, [r5, o_MusicPlayerTrack_gateTime] adds r1, r0 - strb r1, [r5, 0x4] + strb r1, [r5, o_MusicPlayerTrack_gateTime] adds r3, 0x1 _081DDB44: str r3, [r5, o_MusicPlayerTrack_cmdPtr] @@ -1574,16 +1574,16 @@ _081DDB46: movs r0, 0 str r0, [sp, 0x14] adds r4, r5, 0 - adds r4, 0x24 + adds r4, o_MusicPlayerTrack_ToneData_type ldrb r2, [r4] - movs r0, 0xC0 + movs r0, TONEDATA_TYPE_RHY | TONEDATA_TYPE_SPL tst r0, r2 beq _081DDB98 - ldrb r3, [r5, 0x5] - movs r0, 0x40 + ldrb r3, [r5, o_MusicPlayerTrack_key] + movs r0, TONEDATA_TYPE_SPL tst r0, r2 beq _081DDB66 - ldr r1, [r5, 0x2C] + ldr r1, [r5, o_MusicPlayerTrack_ToneData_keySplitTable] adds r1, r3 ldrb r0, [r1] b _081DDB68 @@ -1593,7 +1593,7 @@ _081DDB68: lsls r1, r0, 1 adds r1, r0 lsls r1, 2 - ldr r0, [r5, 0x28] + ldr r0, [r5, o_MusicPlayerTrack_ToneData_wav] adds r1, r0 mov r9, r1 mov r6, r9 diff --git a/constants/m4a_constants.s b/constants/m4a_constants.s index 4b05bc63d..b424a9230 100644 --- a/constants/m4a_constants.s +++ b/constants/m4a_constants.s @@ -2,6 +2,11 @@ .equiv PCM_DMA_BUF_SIZE, 1584 + .equiv TONEDATA_TYPE_CGB, 0x07 + .equiv TONEDATA_TYPE_FIX, 0x08 + .equiv TONEDATA_TYPE_SPL, 0x40 @ key split + .equiv TONEDATA_TYPE_RHY, 0x80 @ rhythm + .macro struct_begin .struct 0 .endm @@ -81,9 +86,9 @@ struct_field o_MusicPlayerTrack_wai, 1 struct_field o_MusicPlayerTrack_patP, 1 struct_field o_MusicPlayerTrack_repN, 1 - struct_field o_MusicPlayerTrack_gat, 1 + struct_field o_MusicPlayerTrack_gateTime, 1 struct_field o_MusicPlayerTrack_key, 1 - struct_field o_MusicPlayerTrack_vel, 1 + struct_field o_MusicPlayerTrack_velocity, 1 struct_field o_MusicPlayerTrack_run, 1 struct_field o_MusicPlayerTrack_keyM, 1 struct_field o_MusicPlayerTrack_pitM, 1 @@ -125,3 +130,5 @@ struct_field o_MusicPlayerTrack_cmdPtr, 4 struct_field o_MusicPlayerTrack_patS, 12 struct_field MusicPlayerTrack_size, 0 + + .equiv o_MusicPlayerTrack_ToneData_keySplitTable, o_MusicPlayerTrack_ToneData_attack diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index c09cde31f..8539af2e0 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -45,8 +45,8 @@ struct WaveData #define TONEDATA_TYPE_CGB 0x07 #define TONEDATA_TYPE_FIX 0x08 -#define TONEDATA_TYPE_SPL 0x40 -#define TONEDATA_TYPE_RHY 0x80 +#define TONEDATA_TYPE_SPL 0x40 // key split +#define TONEDATA_TYPE_RHY 0x80 // rhythm #define TONEDATA_P_S_PAN 0xc0 #define TONEDATA_P_S_PAM TONEDATA_P_S_PAN @@ -241,9 +241,9 @@ struct MusicPlayerTrack u8 wai; u8 patP; u8 repN; - u8 gat; + u8 gateTime; u8 key; - u8 vel; + u8 velocity; u8 run; u8 keyM; u8 pitM; |