Go to the source code of this file.
|
void | audio_dma_copy_immediate (u8 *devAddr, void *vAddr, size_t nbytes) |
|
void | audio_dma_copy_async (uintptr_t, void *, size_t, OSMesgQueue *, OSIoMesg *) |
|
void | audio_dma_partial_copy_async (uintptr_t *, u8 **, ssize_t *, OSMesgQueue *, OSIoMesg *) |
|
void | decrease_sample_dma_ttls (void) |
|
void * | dma_sample_data (uintptr_t, u32, s32, u8 *) |
|
void | func_800BB030 (s32) |
|
s32 | func_800BB304 (struct AudioBankSample *) |
|
s32 | func_800BB388 (s32 bankId, s32 instId, s32 arg2) |
|
void | func_800BB43C (ALSeqFile *, u8 *) |
|
void | patch_sound (struct AudioBankSound *sound, u8 *memBase, u8 *offsetBase) |
|
void | func_800BB584 (s32) |
|
void | patch_audio_bank (struct AudioBank *mem, u8 *offset, u32 numInstruments, u32 numDrums) |
|
struct AudioBank * | bank_load_immediate (s32, s32) |
|
struct AudioBank * | bank_load_async (s32, s32, struct SequencePlayer *) |
|
void * | sequence_dma_immediate (s32, s32) |
|
void * | sequence_dma_async (s32, s32, struct SequencePlayer *) |
|
u8 | get_missing_bank (u32 seqId, s32 *nonNullCount, s32 *nullCount) |
|
struct AudioBank * | load_banks_immediate (s32, u8 *) |
|
void | preload_sequence (u32, u8) |
|
void | load_sequence (u32, u32, s32) |
|
void | load_sequence_internal (u32, u32, s32) |
|
◆ AUDIO_FRAME_DMA_QUEUE_SIZE
#define AUDIO_FRAME_DMA_QUEUE_SIZE 0x40 |
◆ IS_SEQUENCE_CHANNEL_VALID
◆ PRELOAD_BANKS
◆ PRELOAD_SEQUENCE
#define PRELOAD_SEQUENCE 1 |
◆ audio_dma_copy_async()
void audio_dma_copy_async |
( |
uintptr_t | devAddr, |
|
|
void * | vAddr, |
|
|
size_t | nbytes, |
|
|
OSMesgQueue * | queue, |
|
|
OSIoMesg * | mesg ) |
Performs an asynchronus (normal priority) DMA copy
◆ audio_dma_copy_immediate()
void audio_dma_copy_immediate |
( |
u8 * | devAddr, |
|
|
void * | vAddr, |
|
|
size_t | nbytes ) |
Performs an immediate DMA copy
◆ audio_dma_partial_copy_async()
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.
◆ bank_load_async()
◆ bank_load_immediate()
◆ decrease_sample_dma_ttls()
void decrease_sample_dma_ttls |
( |
void | | ) |
|
◆ dma_sample_data()
void * dma_sample_data |
( |
uintptr_t | devAddr, |
|
|
u32 | size, |
|
|
s32 | arg2, |
|
|
u8 * | dmaIndexRef ) |
◆ func_800BB030()
void func_800BB030 |
( |
s32 | | ) |
|
◆ func_800BB304()
◆ func_800BB388()
◆ func_800BB43C()
◆ func_800BB584()
void func_800BB584 |
( |
s32 | bankId | ) |
|
◆ get_missing_bank()
u8 get_missing_bank |
( |
u32 | seqId, |
|
|
s32 * | nonNullCount, |
|
|
s32 * | nullCount ) |
◆ load_banks_immediate()
struct AudioBank * load_banks_immediate |
( |
s32 | seqId, |
|
|
u8 * | outDefaultBank ) |
◆ load_sequence()
void load_sequence |
( |
u32 | player, |
|
|
u32 | seqId, |
|
|
s32 | loadAsync ) |
◆ load_sequence_internal()
void load_sequence_internal |
( |
u32 | player, |
|
|
u32 | seqId, |
|
|
s32 | loadAsync ) |
- Bug
- This should set the last bank (i.e. the first in the JSON) as default, not the missing one. This code path never gets taken, though – all sequence loading is synchronous.
◆ patch_audio_bank()
void patch_audio_bank |
( |
struct AudioBank * | mem, |
|
|
u8 * | offset, |
|
|
u32 | numInstruments, |
|
|
u32 | numDrums ) |
Doesn't affect EU, but required for US/JP
Doesn't affect EU, but required for US/JP
◆ patch_sound()
◆ preload_sequence()
void preload_sequence |
( |
u32 | seqId, |
|
|
u8 | preloadMask ) |
- Bug
- should be IS_SEQ_LOAD_COMPLETE
◆ sequence_dma_async()
◆ sequence_dma_immediate()
void * sequence_dma_immediate |
( |
s32 | seqId, |
|
|
s32 | arg1 ) |
◆ D_803B6720
◆ D_803B6738
◆ D_803B6740
◆ D_803B6E60
◆ D_803B70A8
◆ gAlBankSets
◆ gAlCtlHeader
◆ gAlTbl
◆ gAudioBufferParameters
◆ gAudioFrameCount
volatile s32 gAudioFrameCount |
|
extern |
◆ gAudioLibSoundMode
◆ gCtlEntries
◆ gCurrAudioFrameDmaCount
s32 gCurrAudioFrameDmaCount |
|
extern |
◆ gCurrAudioFrameDmaIoMesgBufs
◆ gCurrAudioFrameDmaMesgBufs
◆ gCurrAudioFrameDmaQueue
OSMesgQueue gCurrAudioFrameDmaQueue |
|
extern |
◆ gLayerFreeList
◆ gMaxAudioCmds
◆ gMaxSimultaneousNotes
s32 gMaxSimultaneousNotes |
|
extern |
◆ gNoteFreeLists
◆ gSampleDmaNumListItems
u32 gSampleDmaNumListItems |
|
extern |
◆ gSeqFileHeader
◆ gSequenceChannelNone
◆ gSequenceChannels
◆ gSequenceCount
◆ gSequenceLayers
◆ gSequencePlayers
◆ gTempoInternalToExternal
s16 gTempoInternalToExternal |
|
extern |
◆ load_bss_pad
◆ sSampleDmaListSize1
◆ sSampleDmaReuseQueue1
u8 sSampleDmaReuseQueue1[256] |
|
extern |
◆ sSampleDmaReuseQueue2
u8 sSampleDmaReuseQueue2[256] |
|
extern |
◆ sSampleDmaReuseQueueHead1
u8 sSampleDmaReuseQueueHead1 |
|
extern |
◆ sSampleDmaReuseQueueHead2
u8 sSampleDmaReuseQueueHead2 |
|
extern |
◆ sSampleDmaReuseQueueTail1
u8 sSampleDmaReuseQueueTail1 |
|
extern |
◆ sSampleDmaReuseQueueTail2
u8 sSampleDmaReuseQueueTail2 |
|
extern |
◆ sSampleDmas