iNES Mapper 195 describes Waixing's FS303 PCB, which has an MMC3 clone and a GAL that can dynamically change which CHR banks are mapped to RAM. Used by the following games:
A compatible circuit board (with unknown PCB code) adds 4 KiB of non-battery-backed PRG-RAM (recognizable as such in the NES 2.0 header) mapped to CPU $5000-$5FFF:
The games write, via the PPU, to specific CHR banks in order to select both which and how many CHR banks are mapped to RAM instead of ROM. Writes to CHR ROM in multiples of 1 KiB:
CHRB~[1Z.D L.L.] || | | | |+-|-+-+---------------- Select first bank and size of CHR RAM: || | $80 = $28-$2B || | $82 = $00-$03 || | $88 = $4C-$4F || | $8A = $64-$67 || | $C0 = $46-$47 || | $C2 = $7C-$7D || | $C8 = $0A-$0B || | $CA = only CHR ROM || +-------------------- If 1, ignore above and always enable CHR ROM / disable CHR RAM |+---------------------- Number of banks of CHR RAM, 0=4KiB, 1=2KiB +----------------------- Must be 1 Power-on value: $80
The PCB mounts 32 KiB of CHR-RAM, although address lines for only 8 KiB are connected. Since CHR A10-A12 are connected to CHR-RAM just as they are connected to CHR-ROM, setting $80 ($28-$2B) will select different 4 KiB of CHR-RAM from setting $88 ($4C-$4F), but the same 4 KiB as setting $82 ($00-$03), because CHR A13 is not connected to CHR-RAM.
Notes:
Mappers 252 and 253, also used for Waixing's localizations, are similar but use a VRC4.
See also: NewRisingSun's findings
Categories: Mappers with scanline IRQs, INES Mappers, MMC3 with CHR ROM and CHR RAM