INES Mapper 067
iNES Mapper 067 represents the Sunsoft-3 mapper, used in Fantasy Zone II (J).
Registers
CHR bank 0 ($8800)
The value written here selects a 2 KiB CHR ROM bank at PPU $0000-$7FFF.
CHR bank 1 ($9800)
The value written here selects a 2 KiB CHR ROM bank at PPU $0800-$08FF.
CHR bank 2 ($A800)
The value written here selects a 2 KiB CHR ROM bank at PPU $1000-$17FF.
CHR bank 3 ($B800)
The value written here selects a 2 KiB CHR ROM bank at PPU $1800-$18FF.
IRQ load ($C800, write twice)
Write the high then low byte of a 16-bit CPU cycle count, much like PPUADDR. This directly affects the current count, not a reload value.
IRQ enable ($D800)
7654 3210 | +------ 0: Pause counter; 1: Count
While bit 4 is true, the 16-bit count decreases by 1 every CPU cycle. Whenever the count wraps from $0000 to $FFFF, the mapper asserts an IRQ and pauses itself. Writes also acknowledge IRQ and reset a latch such that the next $C800 write goes to the high byte of the count.
Mirroring ($E800)
7654 3210 || ++- Nametable mirroring (0: vertical; 1: horizontal; 2: 1-screen from CIRAM $000; 3: 1-screen from CIRAM $400)
PRG bank ($F800)
The value written here selects a 16 KiB CHR ROM bank at CPU $8000-$BFFF. As in mapper 2, $C000-$FFFF is fixed to the last bank of PRG ROM.