PC-FXGA のバックアップメモリは PIO でデータを送受信する。
PC-FX のバックアップメモリは、I/O の C80h を操作すると E0000000h(内蔵) と E8000000h(BMP) に現れる。I/O の C80h の bit0 と bit1 が内蔵と外部の制御に対応? データは HALF WORD 単位でアクセスし、下位 8bit が有効な値。アクセスするメモリアドレスは E0000000h + offset * 2 または E8000000h + offset * 2 で求められる。
ROMファンクションを使用することで、PC-FX と FXGA の違いを意識せずにバックアップメモリの操作ができる。
バックアップメモリのファイルシステムは FAT を使用しているらしい。 1セクタは通常 128byte で、FAT は 1 セクタ目に存在する。 0セクタの内容は以下のようになっている。
offset | 内容 |
---|---|
00h〜02h | 24h,8Ah,DFh |
03h〜0Ah | "PCFXSram"(内蔵) or "PCFXCard"(BMP) |
0Bh〜22h | BPB |
23h〜27h | 不明 |
28h〜3Fh | ブート情報 |
40h〜7Fh | 不明(空き?) |
BMP の 28h〜2Fh が "PCFXBOOT" ならば、バックアップメモリからブートできる。内蔵バックアップメモリからは起動できない。PC-FXGA は PIO 経由のバックアップメモリからの起動をサポートしていない。
offset | 内容 |
---|---|
28h(8byte) | "PCFXBOOT" |
30h(1word) | 転送元バックアップメモリオフセット(byte位置) |
34h(1word) | 転送先RAMアドレス |
38h(1word) | 転送サイズ[byte] |
3Ch(1word) | 実行RAMアドレス |