Jump to content

RAM map (Boktai 1): Difference between revisions

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[?] || [[#Scratch struct]]
| 0x0203f000 || byte[0x400] || [[#Scratch struct]]
|}
|}


Line 222: Line 224:
| 0x03000648 || void* || [[Script directory]]: Script index pointer
| 0x03000648 || void* || [[Script directory]]: Script index pointer
|-
|-
| 0x03000648 || void* || Script directory: Script count
| 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
|}
|}