From d63ed0c17aeae4c0ccdec311212f151ab4200d5c Mon Sep 17 00:00:00 2001 From: zelda2774 <69368340+zelda2774@users.noreply.github.com> Date: Tue, 7 Sep 2021 19:50:50 +0200 Subject: code_800F9280 OK (#945) * Match func_800F9280 * Match func_800FA3DC * Audio_ProcessSeqCmd * macro cleanup * review Co-authored-by: zelda2774 --- src/code/code_800EC960.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/code/code_800EC960.c') diff --git a/src/code/code_800EC960.c b/src/code/code_800EC960.c index fe071b65a..5d928b539 100644 --- a/src/code/code_800EC960.c +++ b/src/code/code_800EC960.c @@ -1,6 +1,22 @@ #include "ultra64.h" #include "global.h" +// TODO: can these macros be shared between files? code_800F9280 seems to use +// versions without any casts... +#define Audio_DisableSeq(seqIdx, fadeOut) Audio_QueueCmdS32(0x83000000 | ((u8)seqIdx << 16), fadeOut) +#define Audio_StartSeq(seqIdx, fadeTimer, seqId) Audio_QueueSeqCmd(0x00000000 | ((u8)seqIdx << 24) | ((u8)(fadeTimer) << 0x10) | (u16)seqId) +#define Audio_SeqCmd7(seqIdx, a, b) Audio_QueueSeqCmd(0x70000000 | ((u8)seqIdx << 0x18) | ((u8)a << 0x10) | (u8)(b)) +#define Audio_SeqCmdC(seqIdx, a, b, c) Audio_QueueSeqCmd(0xC0000000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b << 8) | ((u8)(c))) +#define Audio_SeqCmdA(seqIdx, a) Audio_QueueSeqCmd(0xA0000000 | ((u8)seqIdx << 24) | ((u16)(a))) +#define Audio_SeqCmd1(seqIdx, a) Audio_QueueSeqCmd(0x100000FF | ((u8)seqIdx << 24) | ((u8)(a) << 16)) +#define Audio_SeqCmdB(seqIdx, a, b, c) Audio_QueueSeqCmd(0xB0000000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b << 8) | ((u8)c)) +#define Audio_SeqCmdB40(seqIdx, a, b) Audio_QueueSeqCmd(0xB0004000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b)) +#define Audio_SeqCmd6(seqIdx, a, b, c) Audio_QueueSeqCmd(0x60000000 | ((u8)seqIdx << 24) | ((u8)(a) << 16) | ((u8)b << 8) | ((u8)c)) +#define Audio_SeqCmdE0(seqIdx, a) Audio_QueueSeqCmd(0xE0000000 | ((u8)seqIdx << 24) | ((u8)a)) +#define Audio_SeqCmdE01(seqIdx, a) Audio_QueueSeqCmd(0xE0000100 | ((u8)seqIdx << 24) | ((u16)a)) +#define Audio_SeqCmd8(seqIdx, a, b, c) Audio_QueueSeqCmd(0x80000000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b << 8) | ((u8)c)) +#define Audio_SeqCmdF(seqIdx, a) Audio_QueueSeqCmd(0xF0000000 | ((u8)seqIdx << 24) | ((u8)a)) + typedef struct { /* 0x0 */ f32 unk_00; /* 0x4 */ f32 freqScale; @@ -19,9 +35,9 @@ typedef struct { } FreqLerp; typedef struct { - u16 unk_00; - u16 unk_02; - u8 unk_04[100]; + /* 0x0 */ u16 unk_00; + /* 0x2 */ u16 unk_02; + /* 0x4 */ u8 unk_04[100]; } D_801306DC_s; // size = 0x68 typedef enum { @@ -389,7 +405,6 @@ OcarinaSongInfo gOcarinaSongNotes[14] = { extern u8 D_801333F0; extern u8 gAudioSEFlagSwapOff; extern u8 D_80133408; -extern u8 D_8013340C; extern u8 D_80133418; /** -- cgit v1.2.3