libtonc: Memory Map

Tonclib

Memory Map

Basic memory map. More...

Modules

 Memory map bit(fields)
 List of all bit(field) definitions of memory mapped items.
 Memory mapped arrays
 These are some macros for easier access of various memory sections. They're all arrays or matrices, using the types that would be the most natural for that concept.
 IO Registers
 IO Alternates
 Alternate names for some of the registers.

Main sections

#define MEM_EWRAM   0x02000000
 External work RAM.
#define MEM_IWRAM   0x03000000
 Internal work RAM.
#define MEM_IO   0x04000000
 I/O registers.
#define MEM_PAL   0x05000000
 Palette. Note: no 8bit write !!
#define MEM_VRAM   0x06000000
 Video RAM. Note: no 8bit write !!
#define MEM_OAM   0x07000000
 Object Attribute Memory (OAM) Note: no 8bit write !!
#define MEM_ROM   0x08000000
 ROM. No write at all (duh).
#define MEM_SRAM   0x0E000000
 Static RAM. 8bit write only.

Main section sizes

#define EWRAM_SIZE   0x40000
#define IWRAM_SIZE   0x08000
#define PAL_SIZE   0x00400
#define VRAM_SIZE   0x18000
#define OAM_SIZE   0x00400
#define SRAM_SIZE   0x10000

Sub section sizes

#define PAL_BG_SIZE   0x00200
 BG palette size.
#define PAL_OBJ_SIZE   0x00200
 Object palette size.
#define CBB_SIZE   0x04000
 Charblock size.
#define SBB_SIZE   0x00800
 Screenblock size.
#define VRAM_BG_SIZE   0x10000
 BG VRAM size.
#define VRAM_OBJ_SIZE   0x08000
 Object VRAM size.
#define M3_SIZE   0x12C00
 Mode 3 buffer size.
#define M4_SIZE   0x09600
 Mode 4 buffer size.
#define M5_SIZE   0x0A000
 Mode 5 buffer size.
#define VRAM_PAGE_SIZE   0x0A000
 Bitmap page size.

Sub sections

#define REG_BASE   MEM_IO
#define MEM_PAL_BG   (MEM_PAL)
 Background palette address.
#define MEM_PAL_OBJ   (MEM_PAL + PAL_BG_SIZE)
 Object palette address.
#define MEM_VRAM_FRONT   (MEM_VRAM)
 Front page address.
#define MEM_VRAM_BACK   (MEM_VRAM + VRAM_PAGE_SIZE)
 Back page address.
#define MEM_VRAM_OBJ   (MEM_VRAM + VRAM_BG_SIZE)
 Object VRAM address.

Detailed Description

Basic memory map.


Generated on Mon Aug 25 17:03:56 2008 for libtonc by  doxygen 1.5.3