2019-08-25 06:46:40 +02:00
|
|
|
#include <ultra64.h>
|
|
|
|
|
|
|
|
#include "buffers.h"
|
|
|
|
|
2019-11-03 20:36:27 +01:00
|
|
|
ALIGNED8 u8 gDecompressionHeap[0xD000];
|
2020-04-03 20:57:26 +02:00
|
|
|
#if defined(VERSION_EU) || defined(VERSION_SH)
|
2020-02-03 06:51:26 +01:00
|
|
|
ALIGNED16 u8 gAudioHeap[DOUBLE_SIZE_ON_64_BIT(0x31200) - 0x3800];
|
|
|
|
#else
|
2019-11-03 20:36:27 +01:00
|
|
|
ALIGNED16 u8 gAudioHeap[DOUBLE_SIZE_ON_64_BIT(0x31200)];
|
2020-02-03 06:51:26 +01:00
|
|
|
#endif
|
|
|
|
|
|
|
|
ALIGNED8 u8 gIdleThreadStack[0x800];
|
|
|
|
ALIGNED8 u8 gThread3Stack[0x2000];
|
|
|
|
ALIGNED8 u8 gThread4Stack[0x2000];
|
|
|
|
ALIGNED8 u8 gThread5Stack[0x2000];
|
2020-04-03 20:57:26 +02:00
|
|
|
#ifdef VERSION_SH
|
|
|
|
ALIGNED8 u8 gThread6Stack[0x2000];
|
|
|
|
#endif
|
2020-02-03 06:51:26 +01:00
|
|
|
// 0x400 bytes
|
|
|
|
ALIGNED8 u8 gGfxSPTaskStack[SP_DRAM_STACK_SIZE8];
|
|
|
|
// 0xc00 bytes for f3dex, 0x900 otherwise
|
|
|
|
ALIGNED8 u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
|
|
|
|
// 0x200 bytes
|
|
|
|
ALIGNED8 struct SaveBuffer gSaveBuffer;
|
|
|
|
// 0x190a0 bytes
|
2020-05-07 20:21:22 +02:00
|
|
|
struct GfxPool gGfxPools[GFX_NUM_POOLS];
|
2020-02-03 06:51:26 +01:00
|
|
|
|
2019-08-25 06:46:40 +02:00
|
|
|
|
|
|
|
// Yield buffer for audio, 0x400 bytes. Stubbed out post-JP since the audio
|
|
|
|
// task never yields.
|
|
|
|
#ifdef VERSION_JP
|
2019-11-03 20:36:27 +01:00
|
|
|
ALIGNED8 u8 gAudioSPTaskYieldBuffer[OS_YIELD_AUDIO_SIZE];
|
2019-08-25 06:46:40 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
// Probably Thread 2 stack space. Unreferenced, and stubbed out with f3dex to
|
|
|
|
// avoid an overflowing .buffers segment.
|
2020-02-03 06:51:26 +01:00
|
|
|
#if !defined(F3DEX_GBI_SHARED) && !defined(VERSION_EU)
|
2019-11-03 20:36:27 +01:00
|
|
|
ALIGNED8 u8 gUnusedThread2Stack[0x1400];
|
2019-08-25 06:46:40 +02:00
|
|
|
#endif
|