SRAM
Jump to navigation
Jump to search
The game allows for three save files and keeps a backup of each one.
Each save file uses 1278 bytes but is aligned to 1280 in SRAM.
Checksum Code:
u16 x = 0x5236;
u16 y = 0x5236;
for( int i=0; i<1278; i+=2 )
{
x += *(u16*)(SaveFile+i);
y ^= *(u16*)(SaveFile+i);
}
Deletion
When deleting a save file the game writes 0xFFFE to the first word and leaves the rest untouched.
Layout
(TODO)
| Offset | Length (byte) | Description |
|---|---|---|
| 0x000 | 2 | Map ID |
| 0x010 | 5 | Name |
| 0x01C | 5 | Name |
| 0x048 | 2 | Equipped item |
| 0x04A | 2 | Equipped weapon |
| 0x04C | 2 | Equipped armor |
| 0x090 | 4 | 4 Experience (BCD) |
| 0x0A4 | 1 | Text speed (1-5) |
| 0x0B6 | 1 | Window color (0-2) |
| 0x0C0 | 288 | Event Flags |
| 0x1E0 | 16 | Magirocks |
| 0x4FA | 2 | Checksum ADD |
| 0x4FC | 2 | Checksum XOR |