Skip to content

feat: implement missing NES mappers #21

Description

@tuxnode

Current Status

Implemented mappers:

  • Mapper 0: NROM ✅
  • Mapper 1: MMC1 ✅

Missing Mappers

Mapper Name Complexity Games Description
2 UxROM Simple Castlevania, Mega Man, Contra PRG banking only, no CHR
3 CNROM Simple Double Dragon, Arkanoid CHR banking, 32KB PRG
4 MMC3 Complex Super Mario Bros. 3, Ninja Gaiden PRG/CHR banking, IRQ, scanline counter
7 AxROM Simple Donkey Kong, Battletoads 32KB PRG switching, single-screen mirroring
9 MMC2 Complex Punch-Out!! PRG/CHR banking, latch-based CHR switching
11 Color Dreams Simple Crystal Mines, Zombie Nation Simple PRG/CHR banking
66 GxROM Simple Gradius, Life Force PRG/CHR banking
71 Camerica Simple Codemasters games PRG banking, some with IRQ
163 NITRA Complex Some Chinese games PRG/CHR banking, IRQ
195 WAIXING Complex Some Chinese games PRG/CHR banking, battery-backed SRAM

Priority

  1. MMC3 (4) - Most critical, used by many popular games
  2. UxROM (2) - Very common, simple to implement
  3. CNROM (3) - Common in action games
  4. AxROM (7) - Used by several classic games

Notes

  • Current implementation panics on unsupported mappers
  • Consider adding a stub/warning mode for unsupported mappers instead of panic

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions