RAM map (Boktai 3)
This is the RAM map for Boktai 3 (J).
EWRAM
Address | Type | Description |
---|---|---|
0x02000580 | void* | Pointer to Django's actor data |
+ 0x30 | i16[3] | Current position |
+ 0x332 | i16[3] | VIT/SPR/STR from equipment |
+ 0x41c | i16[3] | VIT/SPR/STR from stat points & cards |
+ 0x424 | i16 | Current HP |
+ 0x428 | i16 | Current ENE |
+ 0x42C | i16 | Current TRC |
0x02000610 | script* | Bytecode interpreter: Program counter |
0x02000700 | void* | Pointer to #Scratch struct, defaults to 0x0203e200 on hard reset (but moves on soft resets) |
0x0200070c | void* | Pointer to backup of the stat struct (created on screen transitions, reloaded on death, saved to save file when saving) |
0x02000708 | void* | Pointer to #World struct, defaults to 0x0203e200 on hard reset (but moves on soft resets) |
0x0200070c | void* | Pointer to backup of the stat struct |
0x02000710 | void* | Pointer to #Stat struct, defaults to 0x0203c400 on hard reset (but moves on soft resets) |
0x0200eec0 | Boss HP | |
0x020031c1 | i8 | Dialogue box portrait |
Stat struct
Access this struct via 0x02000710. Size: 0x89c. See also: Inventory (Boktai 3).
Offset | Type | Description |
---|---|---|
0x18 | i16[4] | VIT/SPR/STR/? from stat points (updated from *0x0200580 + ?? on screen transitions?) |
0x20 | i16[4] | VIT/SPR/STR/? from cards |
0x28 | i16 | Current HP |
0x2c | i16 | Current ENE |
0x30 | i16[3] | Django position |
0x42 | i16 | Allocatable stat points |
0x48 | i32 | Total EXP |
0x50 | i16[8] | Current equipment (Weapon/Lens/Head/Body/Arms/Legs/?/?) |
0x68 | Quick change list (sword) | |
0x78 | Quick change list (frame) | |
0x90 | Quick change list (lens) | |
0xa0 | i16[48] | Item inventory slots |
0xc0 | Warehouse item box 1 | |
0xe0 | Warehouse item box 2 | |
0x100 | i16[48] | Item inventory durability (negative = chocolate-covered) |
0x160 | Accessory inventory | |
0x180 | Warehouse accessory box 1 | |
0x1a0 | Warehouse accessory box 2 | |
0x1c0 | Sword inventory | |
0x2c0 | Warehouse sword box 1 | |
0x3c0 | Warehouse sword box 2 | |
0x4c0 | Frame inventory | |
0x54a | i32 | Current map's init script ID |
0x596 | i16 | Stuffed dolls (bitmask) |
0x5ac | i16 | Current area ID |
0x5b8 | i32 | Acquired maps |
0x608 | i32 | TRC gauge (0-1000) |
0x610 | i16 | Mr. Rainnot enabled |
0x638 | i32 | Red Django use |
0x63c | i32 | Black Django use |
0x6f0 | Library: Monsters | |
0x701 | Library: Monster items | |
0x720 | Library: Head | |
0x721 | Library: Body | |
0x722 | Library: Body | |
0x723 | Library: Arms | |
0x724 | Library: Legs | |
0x72c | Library: Swords | |
0x740 | i16 | Current map ID |
0x77c | i32 | Solar station balance |
0x780 | char[16] | Player name |
0x780 | char[?] | Coffin bike name |
0x7b0 | i16 | Solar bank balance |
0x7b2 | i16 | Bike battle - points |
0x7b4 | i16 | Bike battle - number of matches |
0x7b6 | i16 | Bike battle - number of wins |
0x7b8 | Bike parts: Front | |
0x7bc | Bike parts: Tires | |
0x7c0 | Bike parts: Body | |
0x7c4 | Bike parts: Special | |
0x7f8 | Bike parts: Color | |
0x81c | Bike parts: Options | |
0x828 | Lens inventory | |
0x838 | Key item inventory | |
0x876 | Solar sensor: Bars |
World struct
Access this struct via 0x02000708. Size: 0x400.
Offset | Type | Description |
---|---|---|
0x14e:1 | bit[4] | Dark Castle B15 wing completion flags |
0x14f:5 | bit[4] | Dark Castle B9 wing completion flags |
0x15d | bit[9] | Titles (Adept/Gladiator/SP Agent/Champion/Dark Hunter/Alchemist/Collector/Doll Master/Storyteller) |
0x19c:4 | bit[20] | ??? (bit 4 = Title: Grand master) |
Scratch struct
Access this struct via 0x02000700.
Offset | Type | Description |
---|
IWRAM
Address | Type | Description |
---|---|---|
0x0300523c | u32 | Actor disable flags |
0x03005260 | u16 | Keypad: down buttons (active-high) |
0x03005262 | u16 | Keypad: pressed buttons (down current frame, up on previous frame) |
0x03005264 | u16 | Keypad: released buttons (up on current frame, down on previous frame) |
0x03005280 | Array | Actor list |
0x030052f4 | struct* | Pointer to current Map file descriptor (usually/always 0x02000010) |
+ 0x00 | i32 | Number of Zones |
+ 0x04 | void* | Pointer to map file tile data |
+ 0x0c | void* | Pointer to map file zones |
+ 0x10 | void* | Pointer to map file unknown block 1 |
+ 0x14 | void* | Pointer to map file unknown block 2 |
0x03005308 | i32 | RNG index |
0x030053f8 | struct* | Pointer to #Global save data (always 0x030025c0) |
0x03005418 | i16[3] | Camera position |
0x03005430 | u32 | RTC date (BCD, yyyymmdd) |
0x03005434 | u8 | RTC hours |
0x03005435 | u8 | RTC minutes |
0x03005436 | u8 | RTC seconds |
0x03005437 | u8 | RTC frames |
0x03005438 | u8 | RTC day of week |
0x0300543a | u8 | Sunrise hours |
0x0300543b | u8 | Sunrise minutes |
0x0300543c | u8 | Sunset hours |
0x0300543d | u8 | Sunset minutes |
0x0300543e | u8 | Unknown, sunrise/sunset related |
0x0300543f | u8 | Unknown, sunrise/sunset related |
0x03005440 | u8 | Hours until sunset |
0x03005441 | u8 | Minutes until sunset |
0x03005442 | u8 | Hours until sunrise |
0x03005443 | u8 | Minutes until sunries |
0x03005448 | i32 | Region latitude |
0x0300544c | i32 | Region longitude |
Global save data
Offset | Type | Description |
---|---|---|
0x00 | i32 | Global frame counter |
0x04 | i32 | Solar sensor calibration (raw_level - 2 at time of calibration)
|
0x0b | u8 | Daylight savings time active |
0x18 | i32 | Region ID |
EEPROM
TODO