libtonc
|
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 | |
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 sections | |
#define | REG_BASE MEM_IO |
Background palette address. | |
#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. | |
Palette | |
#define | pal_bg_mem ((COLOR*)MEM_PAL) |
Background palette. | |
#define | pal_obj_mem ((COLOR*)MEM_PAL_OBJ) |
Object palette. | |
#define | pal_bg_bank ((PALBANK*)MEM_PAL) |
Background palette matrix. | |
#define | pal_obj_bank ((PALBANK*)MEM_PAL_OBJ) |
Object palette matrix. | |
VRAM | |
#define | tile_mem ( (CHARBLOCK*)MEM_VRAM) |
Charblocks, 4bpp tiles. | |
#define | tile8_mem ((CHARBLOCK8*)MEM_VRAM) |
Charblocks, 8bpp tiles. | |
#define | tile_mem_obj ( (CHARBLOCK*)MEM_VRAM_OBJ) |
Object charblocks, 4bpp tiles. | |
#define | tile8_mem_obj ((CHARBLOCK8*)MEM_VRAM_OBJ) |
Object charblocks, 4bpp tiles. | |
#define | se_mem ((SCREENBLOCK*)MEM_VRAM) |
Screenblocks as arrays. | |
#define | se_mat ((SCREENMAT*)MEM_VRAM) |
Screenblock as matrices. | |
#define | vid_mem ((COLOR*)MEM_VRAM) |
Main mode 3/5 frame as an array. | |
#define | m3_mem ((M3LINE*)MEM_VRAM) |
Mode 3 frame as a matrix. | |
#define | m4_mem ((M4LINE*)MEM_VRAM) |
Mode 4 first page as a matrix. | |
#define | m5_mem ((M5LINE*)MEM_VRAM) |
Mode 5 first page as a matrix. | |
#define | vid_mem_front ((COLOR*)MEM_VRAM) |
First page array. | |
#define | vid_mem_back ((COLOR*)MEM_VRAM_BACK) |
Second page array. | |
#define | m4_mem_back ((M4LINE*)MEM_VRAM_BACK) |
Mode 4 second page as a matrix. | |
#define | m5_mem_back ((M5LINE*)MEM_VRAM_BACK) |
Mode 5 second page as a matrix. | |
OAM | |
#define | oam_mem ((OBJ_ATTR*)MEM_OAM) |
Object attribute memory. | |
#define | obj_mem ((OBJ_ATTR*)MEM_OAM) |
Object attribute memory. | |
#define | obj_aff_mem ((OBJ_AFFINE*)MEM_OAM) |
Object affine memory. | |
ROM | |
#define | rom_mem ((u16*)MEM_ROM) |
ROM pointer. | |
SRAM | |
#define | sram_mem ((u8*)MEM_SRAM) |
SRAM pointer. | |
Basic memory map.
#define m3_mem ((M3LINE*)MEM_VRAM) |
Mode 3 frame as a matrix.
m3_mem[y][x] = pixel (x, y) ( COLOR )
#define m4_mem ((M4LINE*)MEM_VRAM) |
Mode 4 first page as a matrix.
m4_mem[y][x] = pixel (x, y) ( u8 )
#define m4_mem_back ((M4LINE*)MEM_VRAM_BACK) |
Mode 4 second page as a matrix.
m4_mem[y][x] = pixel (x, y) ( u8 )
#define m5_mem ((M5LINE*)MEM_VRAM) |
Mode 5 first page as a matrix.
m5_mem[y][x] = pixel (x, y) ( COLOR )
#define m5_mem_back ((M5LINE*)MEM_VRAM_BACK) |
Mode 5 second page as a matrix.
m5_mem[y][x] = pixel (x, y) ( COLOR )
#define obj_aff_mem ((OBJ_AFFINE*)MEM_OAM) |
Object affine memory.
obj_aff_mem[i] = object matrix i ( OBJ_AFFINE )
Background palette matrix.
pal_bg_bank[y] = bank y ( COLOR[ ] )
pal_bg_bank[y][x] = color color y*16+x ( COLOR )
#define pal_obj_bank ((PALBANK*)MEM_PAL_OBJ) |
Object palette matrix.
pal_obj_bank[y] = bank y ( COLOR[ ] )
pal_obj_bank[y][x] = color y*16+x ( COLOR )
#define pal_obj_mem ((COLOR*)MEM_PAL_OBJ) |
Object palette.
pal_obj_mem[i] = color i ( COLOR )
#define se_mat ((SCREENMAT*)MEM_VRAM) |
Screenblock as matrices.
se_mat[s] = screenblock s ( SCR_ENTRY[ ][ ] )
se_mat[s][y][x] = screenblock s, entry (x,y) ( SCR_ENTRY )
#define se_mem ((SCREENBLOCK*)MEM_VRAM) |
Screenblocks as arrays.
se_mem[y] = screenblock y ( SCR_ENTRY[ ] )
se_mem[y][x] = screenblock y, entry x ( SCR_ENTRY )
#define tile8_mem ((CHARBLOCK8*)MEM_VRAM) |
#define tile8_mem_obj ((CHARBLOCK8*)MEM_VRAM_OBJ) |
#define tile_mem ( (CHARBLOCK*)MEM_VRAM) |
#define tile_mem_obj ( (CHARBLOCK*)MEM_VRAM_OBJ) |