INES Mapper 155

From NESdev Wiki
Revision as of 13:06, 8 April 2022 by Tepples (talk | contribs) (present consensus is WRAM expansion; link to test ROM for mapper 155 behavior)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

iNES Mapper 155 is assigned to games that require the MMC1A variant of the MMC1. Unlike MMC1B and MMC1C, MMC1A lacks the WRAM disable bit in bit 4 of the PRG bank register ($E000-$FFFF). Games that use this mapper write values between $10 and $1F to the PRG bank register, write to WRAM at $6000-$7FFF, and require the write to succeed.

According to the database shipped with Nestopia 1.4.0, these two Famicom games require this behavior:

  • Tatakae!! Ramen Man: Sakuretsu Choujin 102 Gei (闘将!!拉麺男 炸裂超人一○二芸) (NesCartDB)
  • The Money Game (ザ・マネーゲーム) (NesCartDB)

At first, it was conjectured that this was done as a copy protection mechanism or the programmers just weren't aware that later MMC1 revisions would add a bit for disabling WRAM. Later, it was discovered that MMC1A treats bit 3 of the PRG bank register differently from MMC1B: when bit 4 is true, bit 3 bypasses the fixed bank logic and goes straight to the mapper's PRG ROM A17 output. The explicit use of ora #$10 in The Money Game suggests that this behavior may have been intended to support large WRAM, such that ora #$10 on the value to be written to the PRG bank accesses the first 8 KiB and ora #$18 the second 8 KiB.

The two extant games relying on MMC1A behavior are on SKROM and SJROM. Thus theoretically, this mapper should not have to implement any of the boards that repurpose PRG or CHR pins (SE-, SH-, SN-, SO-, SU-, SX-ROM). In particular, SOROM and SXROM have their own WRAM expansion mechanisms. However, it is probably still wise to pay attention to the caveats listed in MMC1.

External links