This is the RAM map for Boktai 2 (U). 
EWRAM
| Address | 
Type | 
Description
 | 
| 0x0200184c | 
 | 
Is full moon (*0x030047f6 == 4)
 | 
| 0x02001469 | 
i8 | 
High-level solar sensor state: 0=disabled, 1=waiting for enable, 2=enabled. When going through a screen transition, this will change from 2 -> 0 -> 1 -> 2.
 | 
| 0x0200146c | 
i16 | 
High-level solar sensor: Calibrated level (0=dark, 140=max brightness. Calibrated level = calibration - raw level, then clamp to 0-140)
 | 
| 0x02001470 | 
i16 | 
High-level solar sensor delay: Used for delaying the state 0 -> 1 and 1 -> 2 transitions
 | 
Stat struct
| Offset | 
Type | 
Description
 | 
| 0x30 | 
i16[3] | 
Django(& Sabata?) position
 | 
| 0x50 | 
i32 | 
Total EXP
 | 
| 0x54 | 
i32 | 
Magic inventory (bitmask)
 | 
| 0x23a | 
i16 | 
Solar bank interest rate (stored as (1+r)*64, e.g. 14.0625% = 73)
 | 
| 0x242 | 
i16 | 
Current map ID
 | 
| 0x254 | 
i16 | 
Current area ID
 | 
| 0x24c | 
i32 | 
Current map's init script ID
 | 
World struct
Note: In the Japanese version, this struct is laid out slightly differently.
| Offset | 
Type | 
Description
 | 
| 0x1e8 | 
i16 | 
Current door ID
 | 
Scratch struct
IWRAM
| Address | 
Type | 
Description
 | 
| 0x030026b4 | 
i32 | 
Solar sensor interface: State (0=measuring, 1=resetting, 2=idle)
 | 
| 0x030026b8 | 
i32 | 
Solar sensor interface: Counter (0-511, counts half-cycles of the 74LV4040 counter chip)
 | 
| 0x030026c0 | 
i32 | 
Solar sensor interface: shift out (next value to be written to GPIO_DATA)
 | 
| 0x03002cb8 | 
code* | 
Pointer to TM3 interrupt handler
 | 
| 0x03002cf0 | 
i32 | 
Frames since reset
 | 
| 0x030045a0 | 
void* | 
Bytecode: Program counter
 | 
| 0x03004690 | 
void* | 
Pointer to #Scratch struct, defaults to 0x0203da00 on hard reset (but moves on soft resets)
 | 
| 0x03004698 | 
void* | 
Pointer to #Stat struct, defaults to 0x0203e200 on hard reset (but moves on soft resets)
 | 
| 0x030046a0 | 
void* | 
Pointer to #World struct, defaults to 0x0203c400 on hard reset (but moves on soft resets)
 | 
| 0x030047a8 | 
struct* | 
Pointer to #Global save data (always 0x030016c0)
 | 
| 0x030046b8 | 
i32 | 
RNG index
 | 
| 0x030047e0 | 
u32 | 
RTC date (BCD, yyyymmdd)
 | 
| 0x030047e4 | 
u8 | 
RTC hours
 | 
| 0x030047e5 | 
u8 | 
RTC minutes
 | 
| 0x030047e6 | 
u8 | 
RTC seconds
 | 
| 0x030047cc | 
i32 | 
Solar sensor interface: Timer interval (TM3CNT_LO will be set to -this value)
 | 
| 0x030047f6 | 
i32 | 
Current moon phase
 | 
| 0x030057b8 | 
i32 | 
Solar sensor interface: Is enabled (true/false)
 | 
| 0x030057bc | 
i32 | 
Solar sensor interface: Last result (GPIO_DATA & 8)
 | 
| 0x030057c8 | 
i32 | 
Solar sensor interface: Raw level (counter / 2 when GPIO_DATA & 8 becomes nonzero. 0=max brightness, 255=dark)
 | 
Global save data
EEPROM
TODO
Save data checksums