RAM map (Boktai 1): Difference between revisions
Appearance
PAL buffers |
Add camera, text output, etc |
||
Line 11: | Line 11: | ||
|- | |- | ||
! Address || Type || Description | ! Address || Type || Description | ||
|- | |||
| 0x02000000 || || [[Heap]] (105 KiB) | |||
|- | |- | ||
| 0x020011c0 || i32 || [[Solar sensor]]: Calibrated level (0=dark, 140=max brightness. Calibrated level = calibration - raw level, then clamp to 0-140) | | 0x020011c0 || i32 || [[Solar sensor]]: Calibrated level (0=dark, 140=max brightness. Calibrated level = calibration - raw level, then clamp to 0-140) | ||
Line 44: | Line 46: | ||
| 0x0203ec00 || byte[0x400] || World struct - backup | | 0x0203ec00 || byte[0x400] || World struct - backup | ||
|- | |- | ||
| 0x0203f000 || byte[ | | 0x0203f000 || byte[0x400] || [[#Scratch struct]] | ||
|} | |} | ||
Line 222: | Line 224: | ||
| 0x03000648 || void* || [[Script directory]]: Script index pointer | | 0x03000648 || void* || [[Script directory]]: Script index pointer | ||
|- | |- | ||
| | | 0x0300064c || void* || Script directory: Script count | ||
|- | |||
| 0x03000650 || void* || Script directory: Script data pointer | |||
|- | |||
| 0x03000654 || void* || Script directory: Special script pointer | |||
|- | |||
| 0x03000658 || void* || Script directory: Script index end pointer | |||
|- | |||
| 0x0300065c || void* || Script directory: String index pointer | |||
|- | |||
| 0x03000660 || void* || Script directory: String data pointer | |||
|- | |- | ||
| 0x03000108 || treasure_data* || Pointer to this map's [[#Treasure data]] (NULL if map has no treasures) | | 0x03000108 || treasure_data* || Pointer to this map's [[#Treasure data]] (NULL if map has no treasures) | ||
Line 251: | Line 263: | ||
|- | |- | ||
| 0x03001cc8 || void* || Pointer to linked list of bat enemies? | | 0x03001cc8 || void* || Pointer to linked list of bat enemies? | ||
|- | |||
| 0x03002578 || i16 || Tile map X coordinate in view space | |||
|- | |||
| 0x0300257a || i16 || Tile map Y coordinate in view space | |||
|- | |||
| 0x030025b0 || i32 || Sprite palette count | |||
|- | |||
| 0x030025b4 || void* || Pointer to sprite palettes | |||
|- | |||
| 0x03002650 || GBA_OBJ[128] || GBA [https://problemkaputt.de/gbatek-lcd-obj-oam-attributes.htm OAM], will be copied to OAM memory every frame | |||
|- | |||
| 0x03002a58 || i32 || OAM size | |||
|- | |||
| 0x03002e80 || u16 || GBA [https://problemkaputt.de/gbatek-lcd-i-o-display-control.htm DISPCNT] register | |||
|- | |- | ||
| 0x03003fb0 || u16[0x100] || OBJ palette buffer (copied to PAL memory every frame) | | 0x03003fb0 || u16[0x100] || OBJ palette buffer (copied to PAL memory every frame) | ||
|- | |- | ||
| 0x030043c4 || void* || ''Pointer'' to background palette buffer (0x200 bytes, in IWRAM, copied to PAL memory every frame) | | 0x030043c4 || void* || ''Pointer'' to background palette buffer (0x200 bytes, in IWRAM, copied to PAL memory every frame) | ||
|- | |||
| 0x030043fc || u8 || Text output: Current X coordinate | |||
|- | |||
| 0x03004400 || u8 || Text output: Character count | |||
|- | |||
| 0x03004404 || u8 || Text output: Line height | |||
|- | |||
| 0x03004408 || u8 || Text output: Start X coordinate | |||
|- | |||
| 0x03004410 || u8 || Text output: Character width | |||
|- | |||
| 0x03004414 || u8 || Text output: Current Y coordinate | |||
|- | |- | ||
| 0x03004438 || u32 || [[Actor]] disable flags | | 0x03004438 || u32 || [[Actor]] disable flags | ||
Line 304: | Line 342: | ||
| 0x030046c4 || struct* || Pointer to [[#Global save data]] (always 0x03000750) | | 0x030046c4 || struct* || Pointer to [[#Global save data]] (always 0x03000750) | ||
|- | |- | ||
| 0x030046e8 || i16[3] || [[Coordinate systems|Camera]] position | | 0x030046e8 || i16[3] || [[Coordinate systems|Camera]] position in view space | ||
|- | |||
| 0x030046f0 || Camera* || Pointer to camera actor | |||
|} | |} | ||