|
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) |