Audio_Heap OK and Documented (#621)

* copy audio_heap progress from main branch

* Add filter bugs

* PR Review + Docs

* format

* typo

* Improve audio buffer notes

* Add documentation

* PR Feedback

* PR Suggestions

* Fix bss

* PR Suggestions

* PR typo

* Fix warning
This commit is contained in:
engineer124
2022-03-24 14:40:31 +11:00
committed by GitHub
parent b852a9a930
commit e77a22e8a9
8 changed files with 1735 additions and 201 deletions
+12 -44
View File
@@ -3301,57 +3301,25 @@ s32 osFlashReadArray(OSIoMesg* mb, s32 priority, u32 pageNum, void* dramAddr, u3
// void func_8018A808(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE4 param_6);
// void func_8018ACC4(void);
// void func_8018AE34(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_8018B0F0(void);
// void func_8018B10C(void);
// void func_8018B250(void);
void AudioHeap_DiscardFont(s32 fontId);
// void func_8018B474(void);
void* AudioHeap_WritebackDCache(void* mem, size_t size);
// void func_8018B520(void);
void* AudioHeap_WritebackDCache(void* addr, size_t size);
void* AudioHeap_AllocAttemptExternal(AudioAllocPool* pool, size_t size);
void* AudioHeap_AllocDmaMemory(AudioAllocPool* pool, u32 size);
// void func_8018B608(void);
void* AudioHeap_AllocDmaMemory(AudioAllocPool* pool, size_t size);
void* AudioHeap_AllocZeroed(AudioAllocPool* pool, size_t size);
// void func_8018B69C(void);
void* AudioHeap_Alloc(AudioAllocPool* pool, size_t size);
void AudioHeap_AllocPoolInit(AudioAllocPool* pool, void* mem, size_t size);
// void func_8018B768(void);
// void func_8018B77C(void);
// void func_8018B7BC(void);
void AudioHeap_InitMainPool(s32 initPoolSize);
// void func_8018B95C(void);
// void func_8018B9E0(void);
// void func_8018BA64(void);
// void func_8018BB28(void);
void AudioHeap_AllocPoolInit(AudioAllocPool* pool, void* addr, size_t size);
void AudioHeap_PopCache(s32 tableType);
void AudioHeap_InitMainPool(size_t initPoolSize);
void* AudioHeap_AllocCached(s32 tableType, size_t size, s32 cache, s32 id);
void* AudioHeap_SearchCaches(s32 tableType, s32 cache, s32 id);
// void func_8018C3D8(void);
// void func_8018C8E8(void);
// void func_8018C93C(void);
// void func_8018C994(void);
// void func_8018CB70(void);
// void func_8018CB78(void);
// void func_8018CC3C(void);
void AudioHeap_LoadFilter(s16* filter, s32 lowPassCutoff, s32 highPassCutoff);
s32 AudioHeap_ResetStep(void);
// void func_8018CFAC(void);
void AudioHeap_Init(void);
void* AudioHeap_SearchPermanentCache(s32 tableType, s32 id);
void* AudioHeap_AllocPermanent(s32 tableType, s32 id, size_t size);
void* AudioHeap_AllocSampleCache(size_t size, s32 fontId, void* sampleAddr, s8 medium, s32 cache);
// void func_8018D6C8(void);
// void func_8018D760(void);
// void func_8018DA50(void);
// void func_8018DBC4(void);
// void func_8018DCB4(void);
// void func_8018DCF8(void);
// void func_8018DD98(void);
// void func_8018DDD4(void);
// void func_8018DF24(void);
// void func_8018DFE0(void);
void* AudioHeap_AllocSampleCache(size_t size, s32 sampleBankId, void* sampleAddr, s8 medium, s32 cache);
void AudioHeap_ApplySampleBankCache(s32 sampleBankId);
// void func_8018E03C(void);
// void func_8018E2A8(void);
// void func_8018E344(void);
// void func_8018E8C8(void);
void AudioHeap_SetReverbData(s32 reverbIndex, u32 dataType, s32 data, s32 flags);
void AudioLoad_DecreaseSampleDmaTtls(void);
void* AudioLoad_DmaSampleData(uintptr_t devAddr, size_t size, s32 arg2, u8* dmaIndexRef, s32 medium);
void AudioLoad_InitSampleDmaBuffers(s32 numNotes);
@@ -3453,7 +3421,7 @@ void AudioSeq_SequenceChannelDisable(SequenceChannel* channel);
// void func_80197B14(void);
// void func_80197C0C(void);
// void func_80197C8C(void);
// void func_80197D24(void);
void AudioSeq_SequencePlayerDisableAsFinished(SequencePlayer* seqPlayer);
void AudioSeq_SequencePlayerDisable(SequencePlayer* seqPlayer);
void AudioSeq_AudioListPushBack(AudioListItem* list, AudioListItem* item);
void* AudioSeq_AudioListPopBack(AudioListItem* list);
@@ -3476,9 +3444,9 @@ void func_80199268(s32* param_1);
// void func_8019AA3C(void);
// void func_8019AAF0(void);
void AudioSeq_ResetSequencePlayer(SequencePlayer* seqPlayer);
// void func_8019AC10(void);
void AudioSeq_InitSequencePlayerChannels(s32 playerIdx);
// void func_8019ACEC(void);
// void func_8019ADBC(void);
void AudioSeq_InitSequencePlayers(void);
void func_8019AE40(s32 param_1, s32 param_2, u32 param_3, s32 param_4);
void func_8019AEC0(UNK_PTR param_1, UNK_PTR param_2);
// void func_8019AF00(void);
+6 -14
View File
@@ -1617,18 +1617,10 @@ extern Vec3s gZeroVec3s;
extern Mtx gIdentityMtx;
extern MtxF gIdentityMtxF;
// extern UNK_TYPE1 D_801D1E70;
// extern UNK_TYPE1 gLowPassFilterData;
// extern UNK_TYPE1 gHighPassFilterData;
// extern UNK_TYPE1 gBandStopFilterData;
// extern UNK_TYPE1 gBandPassFilterData;
// extern UNK_TYPE1 gSawtoothWaveSample;
// extern UNK_TYPE1 gTriangleWaveSample;
// extern UNK_TYPE1 gSineWaveSample;
// extern UNK_TYPE1 gSquareWaveSample;
// extern UNK_TYPE1 gWhiteNoiseSample;
// extern UNK_TYPE1 D_801D4790;
// extern UNK_TYPE1 gEighthPulseWaveSample;
// extern UNK_TYPE1 gQuarterPulseWaveSample;
extern s16 gLowPassFilterData[];
extern s16 gHighPassFilterData[];
extern s16 gBandStopFilterData[];
extern s16 gBandPassFilterData[];
extern s16* gWaveSamples[9];
extern UNK_PTR D_801D4D98;
extern UNK_PTR D_801D4DB0;
@@ -1837,7 +1829,7 @@ extern s8 D_801DB4B8;
// extern UNK_TYPE1 D_801DB8B8;
// extern UNK_TYPE1 D_801DB900;
extern UNK_PTR D_801DB930;
extern AudioSpec D_801DB958[21];
extern AudioSpec gAudioSpecs[21];
// rodata
extern f32 D_801DBDF0;
@@ -3466,7 +3458,7 @@ extern StackEntry sys_flashromStackEntry;
extern OSThread sys_flashromOSThread;
extern s80185D40 D_801FD008;
extern OSMesg D_801FD034;
// extern UNK_TYPE1 D_801FD120;
extern s32 D_801FD120;
// extern UNK_TYPE1 D_801FD140;
// extern UNK_TYPE1 D_801FD158;
// extern UNK_TYPE1 D_801FD198;