PC-FXGA backup memory uses PIO to send and receive data.
PC-FX uses real backup memory, with I/O at 0xC80. Memory addresses 0xE0000000 (internal) and 0xE8000000 (BMP) are used for access.
bit0 | External/Internal access control? |
---|---|
bit1 | External/Internal access control? |
Memory has to be accessed as a half word for all the data to come through.
By using ROM functions, backup memory can be accessed properly for both PC-FX and PC-FXGA with no changes.
Backup memory sees to be a FAT filesystem. FAT is in the first sector, sectors are generally 128 bytes. Contents of sector 0:
Offset | Contents |
---|---|
0x00 ~ 0x02 | 0x24, 0x8A, 0xDF |
0x03 ~ 0x0Ah | "PCFXSram" (Internal) or "PCFXCard" (BMP) |
0x0B ~ 0x22h | BPB |
0x23 ~ 0x27h | Unknown |
0x28 ~ 0x3Fh | Boot information |
0x40 ~ 0x7Fh | Unknown (free?) |
If 0x28 ~ 0x2F is "PCFXBOOT" on the BMP, it can be booted from. Internal memory cannot be booted from. PC-FXGA doesn't support booting from backup.
Offset | Contents |
---|---|
0x28 (8 byte) | "PCFXBOOT" |
0x30 (1 word) | Backup memory source offset (byte offset) |
0x34 (1 word) | RAM destination |
0x38 (1 word) | Transfer size [in bytes] |
0x3C (1 word) | RAM run length |