INES Mapper 243

From NESdev Wiki
Revision as of 06:48, 17 May 2014 by Lidnariq (talk | contribs) (I confused myself. fix that. Also, FCEUmm is probably the relevant source of information, not Nestopia.)
Jump to navigationJump to search

iNES Mapper 243 describes Sachen's “74LS374N” mapper IC, which in no way resembles its namesake.

The IC as described by Санчез, and as images in GoodNES, does not have any games with more than 64KiB PRG, so it's unclear why Санчез specifies three bits for PRG banking.

 Example Games:
 --------------------------
 Honey
 Poker III 5-in-1
 
 Registers:
 ---------------------------
 Mask: $E101
 
 Both variants-
   $4100:  [.... .AAA]   Address for use with $4101
 
 Variant one (Nestopia calls "374b", FCEUmm calls S74LS374N, both meaning iNES Mapper 150, but what Санчез specified for m243) :
   $4101:   Write only- Data port
      R:2 -> [.... ...B]  High bit of CHR reg AND ALSO sets PRG reg to B.
      R:4 -> [.... ...C]  Middle bit of CHR reg
      R:5 -> [.... .PPP]  PRG reg  (32k @ $8000)
      R:6 -> [.... ..DE]  Low bits of CHR reg
      R:7 -> [.... .MM.]  Mirroring
          %00 = Horz
          %01 = Vert
          %10 = L-shaped; see below
          %11 = 1ScA
   $4100 reads: [.... .aaa]
             aaa = ~AAA XOR (counter & 1)   - where counter toggles on every reset
 
  Variant two (Nestopia calls "374a", FCEUmm calls S74LS374NA, Nocash's specification, all meaning m243) :
   $4101:   Data port
      R:0 -> [.... ....]  Writes reset CHR bank to 3 and PRG bank to 0
      R:2 -> [.... ...B]  High bit of CHR reg
      R:4 -> [.... ...E]  Low bit of CHR reg
      R:5 -> [.... ...P]  PRG reg  (32k @ $8000)
      R:6 -> [.... ..CD]  Middle bits of CHR reg
      R:7 -> [.... ...M]  Mirroring
           0 = Horz
           1 = Vert
 
 Mirroring:
 ---------------------------  
 Mirroring mode %10 is not quite 1ScB:
   [  NTA  ][  NTB  ]
   [  NTB  ][  NTB  ]
 
 CHR Setup:
 ---------------------------  
 8k CHR page @ $0000 is selected according to the BCDE bits.

Of all the images marked as mapper 243 in GoodNES 3.1.4, Nestopia's database leaves ONLY Poker III (Sachen) [!] and Poker III (Sachen) [a1].nes as variant 374a, and refiles the rest as variant 374b (m150).

There are two different dumps of "Poker III" in GoodNES, both marked with [!]. This has caused some confusion. There is no difference in the PRG of these two images! The only difference seems to be the different interpretation of CHR order. Given that Санчез described the pinout, and so presumably actually figured out which pin connected to which pin on the ROMs, it seems likely that his interpretation is the true one.

This still doesn't address the difference in mirroring behavior. Nocash says that no game ever wrote anything other than $05 to the register anyway.

Given the above, it seems that mapper 243 should possibly be deprecated, and all existing dumps either discarded or refiled to mapper 150.

Reference: Санчез, Nestopia's source, Nocash, FCEUmm source