Go to the source code of this file.
|
| void | audio_dma_copy_immediate (uintptr_t 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 |
( |
uintptr_t |
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