[CPU - read]
$8000-$bfff Program ROM bank #0 (switchable)
$c000-$ffff Program ROM bank #1 (fixed)
[CPU - write]
$6000 Charcter ROM bank #0 register
$6001 Charcter ROM bank #1 register
$6002 Charcter ROM bank #2 register
$6003 Charcter ROM bank #3 register
$6004 Charcter ROM bank #4 register
$6005 Charcter ROM bank #5 register
$6006 Charcter ROM bank #6 register
$6007 Charcter ROM bank #7 register
bit7:0 Charcter ROM A17:0 (#0-#7 で同じ)
$6008 Program ROM bank #0 register
bit4:0 Program ROM A17:14
$6009 Nametable register
bit1:0 VRAM A10 connection (0:PPU A10, 1:PPU A11, 2:0, 3:1)
$600a IRQ control register
bit0 PHI2 counter control (0:stop, 1:increment)
$600b IRQ countner register #0
bit7:0 PHI2 counter value bit7:0
$600c IRQ countner register #1
bit7:0 PHI2 counter value bit15:8
$600d-$600f unknown
$6010-$7fff mirror area, same as $6000-$600f
$8000-$ffff Program ROM data (デコード不備, バス衝突)
古い解析文書では $6000-$ffff まで register と書かれているが、都合良くひとまとめにするための誤った解釈。 FCG-1 と FCG-2 では $6000-$7fff に register を持つ。
write map $8000-$ffff は ROM からデータが出てきて CPU との出力に衝突する。この領域に register がないので問題にならない。
各 register の write strobe に関与する信号は CPU A15:13 と CPU R/W で φ2 は見ていない。φ2 は IRQ 向けカウンタのみに使用する。
[PPU - read]
0x0000-0x03ff Charcter ROM bank #0
0x0400-0x07ff Charcter ROM bank #1
0x0800-0x0bff Charcter ROM bank #2
0x0c00-0x0fff Charcter ROM bank #3
0x1000-0x13ff Charcter ROM bank #4
0x1400-0x17ff Charcter ROM bank #5
0x1800-0x1bff Charcter ROM bank #6
0x1c00-0x1fff Charcter ROM bank #7
0x2000-0x23ff system VRAM (nametable register)
0:0x000-0x3ff, 1:0x000-0x3ff, 2:0x000-0x3ff, 3:0x400-0x7ff
0x2400-0x27ff system VRAM (nametable register)
0:0x400-0x7ff, 1:0x000-0x3ff, 2:0x000-0x3ff, 3:0x400-0x7ff
0x2800-0x2bff system VRAM (nametable register)
0:0x000-0x3ff, 1:0x400-0x7ff, 2:0x000-0x3ff, 3:0x400-0x7ff
0x2c00-0x2fff system VRAM (nametable register)
0:0x400-0x7ff, 1:0x400-0x7ff, 2:0x000-0x3ff, 3:0x400-0x7ff
[PPU - write]
0x2000-0x2fff system VRAM bank (read と同じ)