Mario Kart 64
|
#include <ultra64.h>
#include <macros.h>
#include "audio/load.h"
#include "audio/data.h"
#include "audio/heap.h"
#include "audio/internal.h"
#include "audio/playback.h"
#include "audio/synthesis.h"
#include "audio/seqplayer.h"
#include "audio/port_eu.h"
#include "data/gfx_output_buffer.h"
Macros | |
#define | ALIGN16(val) (((val) + 0xF) & ~0xF) |
#define | j i |
#define | PATCH(SRC, BASE, TYPE) SRC = (TYPE)((uintptr_t) SRC + (uintptr_t) BASE) |
#define | PATCH(x, base) (patched = (void *)((uintptr_t) (x) + (uintptr_t) base)) |
#define | BASE_OFFSET_REAL(x, base) (void *)((uintptr_t) (x) + (uintptr_t) base) |
#define | PATCH(x, base) (patched = BASE_OFFSET_REAL(x, base)) |
#define | PATCH_MEM(x) x = PATCH(x, mem) |
#define | BASE_OFFSET(x, base) BASE_OFFSET_REAL(base, x) |
#define BASE_OFFSET | ( | x, | |
base ) BASE_OFFSET_REAL(base, x) |
#define j i |
#define PATCH | ( | x, | |
base ) (patched = BASE_OFFSET_REAL(x, base)) |
void audio_dma_copy_async | ( | uintptr_t | devAddr, |
void * | vAddr, | ||
size_t | nbytes, | ||
OSMesgQueue * | queue, | ||
OSIoMesg * | mesg ) |
Performs an asynchronus (normal priority) DMA copy
Performs an immediate DMA copy
void audio_dma_partial_copy_async | ( | uintptr_t * | devAddr, |
u8 ** | vAddr, | ||
ssize_t * | remaining, | ||
OSMesgQueue * | queue, | ||
OSIoMesg * | mesg ) |
Performs a partial asynchronous (normal priority) DMA copy. This is limited to 0x1000 bytes transfer at once.
s32 func_800BB304 | ( | struct AudioBankSample * | sample | ) |
Doesn't affect EU, but required for US/JP
Doesn't affect EU, but required for US/JP
void patch_sound | ( | struct AudioBankSound * | sound, |
u8 * | memBase, | ||
u8 * | offsetBase ) |
void * sequence_dma_async | ( | s32 | seqId, |
s32 | arg1, | ||
struct SequencePlayer * | seqPlayer ) |
OSMesgQueue D_803B6720 |
OSMesg D_803B6738 |
OSIoMesg D_803B6740 |
s32 D_803B6E60 |
u32 D_803B70A8 |
u8* gAlBankSets |
ALSeqFile* gAlCtlHeader |
ALSeqFile* gAlTbl |
struct AudioBufferParametersEU gAudioBufferParameters |
s8 gAudioLibSoundMode |
s32 gCurrAudioFrameDmaCount |
OSIoMesg gCurrAudioFrameDmaIoMesgBufs[AUDIO_FRAME_DMA_QUEUE_SIZE] |
OSMesg gCurrAudioFrameDmaMesgBufs[AUDIO_FRAME_DMA_QUEUE_SIZE] |
OSMesgQueue gCurrAudioFrameDmaQueue |
struct AudioListItem gLayerFreeList |
s32 gMaxAudioCmds |
s32 gMaxSimultaneousNotes |
u32 gSampleDmaNumListItems |
ALSeqFile* gSeqFileHeader |
struct SequenceChannel gSequenceChannelNone |
struct SequenceChannel gSequenceChannels[SEQUENCE_CHANNELS] |
u16 gSequenceCount |
struct SequenceChannelLayer gSequenceLayers[SEQUENCE_LAYERS] |
struct SequencePlayer gSequencePlayers[SEQUENCE_PLAYERS] |
s16 gTempoInternalToExternal |
s32 load_bss_pad |
char loadAudioString00[] = "Romcopy %x -> %x ,size %x\n" |
Given that (almost) all of these are format strings, it is highly likely that they are meant to be used in some sort of printf variant. But I don't care to try and figure out which function gets which string(s) So I've place them all here instead.
char loadAudioString01[] = "Romcopyend\n" |
char loadAudioString04[] = "BASE %x %x\n" |
char loadAudioString05[] = "LOAD %x %x %x\n" |
char loadAudioString06[] = "INSTTOP %x\n" |
char loadAudioString07[] = "INSTMAP[0] %x\n" |
char loadAudioString08[] = "already flags %d\n" |
char loadAudioString09[] = "already flags %d\n" |
char loadAudioString12[] = "Check %d bank %d\n" |
char loadAudioString13[] = "Cache Check\n" |
char loadAudioString26[] = "Error:Before Sequence-SlowDma remain.\n" |
char loadAudioString31[] = "Heap reset.Synth Change %x \n" |
char loadAudioString32[] = "Heap %x %x %x\n" |
char loadAudioString33[] = "Main Heap Initialize.\n" |
char loadAudioString34[] = "---------- Init Completed. ------------\n" |
char loadAudioString35[] = " Syndrv :[%6d]\n" |
char loadAudioString36[] = " Seqdrv :[%6d]\n" |
char loadAudioString37[] = " audiodata :[%6d]\n" |
char loadAudioString38[] = "---------------------------------------\n" |
u32 sSampleDmaListSize1 |
u8 sSampleDmaReuseQueue1[256] |
u8 sSampleDmaReuseQueue2[256] |
u8 sSampleDmaReuseQueueHead1 |
u8 sSampleDmaReuseQueueHead2 |
u8 sSampleDmaReuseQueueTail1 |
u8 sSampleDmaReuseQueueTail2 |