Memory mapped arrays
[Memory Map]
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.
More...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. |
Detailed Description
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.
Define Documentation
#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 )
- Note:
- This is a byte-buffer. Not to be used for writing.
#define m4_mem_back ((M4LINE*)MEM_VRAM_BACK) |
Mode 4 second page as a matrix.
m4_mem[y][x] = pixel (x, y) ( u8 )
- Note:
- This is a byte-buffer. Not to be used for writing.
#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 )
#define pal_bg_bank ((PALBANK*)MEM_PAL) |
Background palette matrix.
pal_bg_bank[y] = bank y ( COLOR[ ] )
pal_bg_bank[y][x] = color color y*16+x ( COLOR )
#define pal_bg_mem ((COLOR*)MEM_PAL) |
Background palette.
pal_bg_mem[i] = color i ( 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) |
#define vid_mem ((COLOR*)MEM_VRAM) |
Main mode 3/5 frame as an array.
vid_mem[i] = pixel i ( COLOR )
Generated on Mon Aug 25 17:03:57 2008 for libtonc by
