summaryrefslogtreecommitdiffstats
path: root/src/core/src/mem_map.h
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-04-01 03:05:51 +0200
committerbunnei <ericbunnie@gmail.com>2014-04-01 03:05:51 +0200
commita36f9492cca6ae44eb6ca33d29900f78b5b372bf (patch)
treea4a23f796c4b38049beb567e08449b18315f711c /src/core/src/mem_map.h
parentgrabbed ppsspp's MemArena (diff)
downloadyuzu-a36f9492cca6ae44eb6ca33d29900f78b5b372bf.tar
yuzu-a36f9492cca6ae44eb6ca33d29900f78b5b372bf.tar.gz
yuzu-a36f9492cca6ae44eb6ca33d29900f78b5b372bf.tar.bz2
yuzu-a36f9492cca6ae44eb6ca33d29900f78b5b372bf.tar.lz
yuzu-a36f9492cca6ae44eb6ca33d29900f78b5b372bf.tar.xz
yuzu-a36f9492cca6ae44eb6ca33d29900f78b5b372bf.tar.zst
yuzu-a36f9492cca6ae44eb6ca33d29900f78b5b372bf.zip
Diffstat (limited to 'src/core/src/mem_map.h')
-rw-r--r--src/core/src/mem_map.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/core/src/mem_map.h b/src/core/src/mem_map.h
index 55f02e285..c72e722df 100644
--- a/src/core/src/mem_map.h
+++ b/src/core/src/mem_map.h
@@ -37,10 +37,17 @@
#define MEM_VRAM_SIZE 0x00600000 ///< VRAM size
#define MEM_DSP_SIZE 0x00080000 ///< DSP memory size
#define MEM_AXI_WRAM_SIZE 0x00080000 ///< AXI WRAM size
-#define MEM_FCRAM_SIZE 0x08000000 ///< FCRAM size
+#define MEM_FCRAM_SIZE 0x08000000 ///< FCRAM size... Really 0x07E00000, but power of 2
+ // works much better
+#define MEM_SCRATCHPAD_SIZE 0x00004000 ///< Typical stack size - TODO: Read from exheader
#define MEM_VRAM_MASK 0x007FFFFF
-#define MEM_FCRAM_MASK (MEM_FCRAM_SIZE - 1) ///< FCRAm mask
+#define MEM_FCRAM_MASK (MEM_FCRAM_SIZE - 1) ///< FCRAM mask
+#define MEM_SCRATCHPAD_MASK (MEM_SCRATCHPAD_SIZE - 1) ///< Scratchpad memory mask
+
+#define MEM_FCRAM_VADDR 0x08000000
+#define MEM_VRAM_VADDR 0x1F000000
+#define MEM_SCRATCHPAD_VADDR (0x10000000 - MEM_SCRATCHPAD_SIZE) ///< Scratchpad virtual address
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -60,6 +67,7 @@ extern u8 *g_base;
// 32-bit: Same as the corresponding physical/virtual pointers.
extern u8* g_fcram; ///< Main memory
extern u8* g_vram; ///< Video memory (VRAM)
+extern u8* g_scratchpad; ///< Stack memory
void Init();
void Shutdown();