diff --git a/include/config/config_audio.h b/include/config/config_audio.h index 5111911b..332e09b3 100644 --- a/include/config/config_audio.h +++ b/include/config/config_audio.h @@ -10,7 +10,7 @@ #define CASTLE_MUSIC_FIX /** - * Increase audio heap size to allow for more concurrent notes to be played and for more custom sequences/banks to be imported (not supported for SH). + * Increase audio heap size to allow for larger/more custom sequences/banks/sfx to be imported without causing issues (not supported for SH). */ #define EXPAND_AUDIO_HEAP @@ -21,10 +21,10 @@ * Vanilla by default only generally allocates 16 or 20 notes at once. Memory usage is always determined by the largest of the two values here (~7200 bytes per US/JP note). */ #define MAX_SIMULTANEOUS_NOTES_EMULATOR 40 -#define MAX_SIMULTANEOUS_NOTES_CONSOLE 32 +#define MAX_SIMULTANEOUS_NOTES_CONSOLE 24 /** * Use a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general. * Reverb parameters can be configured in audio/synthesis.c to meet desired aesthetic/performance needs. Currently US/JP only. Hurts emulator and console performance. */ -//#define BETTER_REVERB +// #define BETTER_REVERB diff --git a/src/audio/data.h b/src/audio/data.h index 826ae059..d0395357 100644 --- a/src/audio/data.h +++ b/src/audio/data.h @@ -141,7 +141,7 @@ extern u32 gAudioRandom; #ifdef EXPAND_AUDIO_HEAP #if defined(VERSION_US) || defined(VERSION_JP) || defined(VERSION_EU) -#define EXT_AUDIO_INIT_POOL_SIZE (0x1800 + 0x300) +#define EXT_AUDIO_INIT_POOL_SIZE (0x2000 + 0x300) #define EXT_AUDIO_HEAP_SIZE 0x14D80 #else // SH not yet supported for expanded audio heap @@ -179,9 +179,9 @@ extern OSMesgQueue *D_SH_80350FA8; #endif #if defined(VERSION_EU) || defined(VERSION_SH) -#define AUDIO_INIT_POOL_SIZE (0x1B00 + EXT_AUDIO_INIT_POOL_SIZE + ALIGN16(MAX_SIMULTANEOUS_NOTES * sizeof(struct Note))) +#define AUDIO_INIT_POOL_SIZE (0x2C00 + EXT_AUDIO_INIT_POOL_SIZE) #else -#define AUDIO_INIT_POOL_SIZE (0x1600 + EXT_AUDIO_INIT_POOL_SIZE + ALIGN16(MAX_SIMULTANEOUS_NOTES * sizeof(struct Note))) +#define AUDIO_INIT_POOL_SIZE (0x2500 + EXT_AUDIO_INIT_POOL_SIZE) #endif // TODO: needs validation once EU can compile. EU is very likely incorrect! diff --git a/src/audio/heap.c b/src/audio/heap.c index b94d65ed..3660ce5d 100644 --- a/src/audio/heap.c +++ b/src/audio/heap.c @@ -307,8 +307,8 @@ void puppyprint_get_allocated_pools(s32 *audioPoolList) { &gAudioInitPool, &gNotesAndBuffersPool, &gSeqLoadedPool.persistent.pool, - &gSeqLoadedPool.temporary.pool, &gBankLoadedPool.persistent.pool, + &gSeqLoadedPool.temporary.pool, &gBankLoadedPool.temporary.pool, #ifdef BETTER_REVERB &gBetterReverbPool, diff --git a/src/game/puppyprint.c b/src/game/puppyprint.c index 2b1a64cc..a30f9123 100644 --- a/src/game/puppyprint.c +++ b/src/game/puppyprint.c @@ -310,14 +310,14 @@ void print_ram_overview(void) { } const char *audioPoolNames[NUM_AUDIO_POOLS] = { - "gAudioInitPool", - "gNotesAndBuffersPool", - "gSeqLoadedPool.persistent.pool", - "gSeqLoadedPool.temporary.pool", - "gBankLoadedPool.persistent.pool", - "gBankLoadedPool.temporary.pool", + "Audio Init Pool", + "Notes And Buffers Pool", + "Persistent Sequence Pool", + "Persistent Bank Pool", + "Temporary Sequence Pool", + "Temporary Bank Pool", #ifdef BETTER_REVERB - "gBetterReverbPool", + "Better Reverb Pool", #endif };