INES Mapper 189: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Extra details)
m (The PT8154 is only a N108 clone (neither D6, D7, nor /IRQ are connected))
 
(One intermediate revision by the same user not shown)
Line 46: Line 46:
FCEUX's source comments that there are actually two different PRG mappers here; one pays attention to only the upper nybble while the other pays attention to only the lower nybble. Fortunately, all(?) games that use this mapper write 0 in the unused bits, so the OR behavior described above actually works. If a game ever writes something where the upper and lower nybbles are both nonzero and nonidentical, and the game is 512 KiB or smaller, it's not actually clear what to do.  
FCEUX's source comments that there are actually two different PRG mappers here; one pays attention to only the upper nybble while the other pays attention to only the lower nybble. Fortunately, all(?) games that use this mapper write 0 in the unused bits, so the OR behavior described above actually works. If a game ever writes something where the upper and lower nybbles are both nonzero and nonidentical, and the game is 512 KiB or smaller, it's not actually clear what to do.  


[http://bootgod.dyndns.org:7777/profile.php?id=4266 One game] (a romhack of an HKO) is present in NesCartDB; it shows a PT8154 (MMC3 clone), a 74175 (which only provides 4 bits of PRG banking), and a [[74138]] (to decode the PRG register). At least /ROMSEL, A14, M2, R/W, and one additional address line must connect to the '138, but which exact lines are used vary from game to game.  
[http://bootgod.dyndns.org:7777/profile.php?id=4266 One game] (a romhack of an HKO) is present in NesCartDB; it shows a PT8154 ([[iNES Mapper 206|Namco 108]] clone), a 74175 (which only provides 4 bits of PRG banking), and a [[74138]] (to decode the PRG register). At least /ROMSEL, A14, M2, R/W, and one additional address line must connect to the '138, but which exact lines are used vary from game to game.
<!-- Thunder Warrior:$4120. Master Fighter II:$6132. Master Fighter 3:$610x. Street Fighter II:$4132. -->All four games found in GoodNES do reliably write with A8 high.
<!-- Thunder Warrior:$4120.   1100 0001 0010 0000
    Master Fighter II:$6132. 1110 0001 0011 0010
    Master Fighter 3:$610x. 1110 0001 0000 xxxx
    Street Fighter II:$4132. 1100 0001 0011 0010 -->All four games found in GoodNES do reliably write with A8 high and A6, A7, A9, A10, A11, and A12 low.

Latest revision as of 18:29, 29 April 2016

 Here are Disch's original notes:  
 ========================
 =  Mapper 189          =
 ========================
 
 
 Example Game:
 --------------------------
 Thunder Warrior
 
 
 Notes:
 ---------------------------
 This mapper is a modified MMC3.  Everything operates just as it does on the MMC3, only the normal PRG regs
 (R:6,R:7) are ignored, and a new PRG Reg is used instead.
 
 For details on MMC3, see mapper 004
 
 
 Registers:
 ---------------------------
 Regs at $6000-7FFF means no SRAM
 
 
   $4120-7FFF:  [AAAA BBBB]
      A,B:  PRG Reg
 
 
   $8000-FFFF:  Same as on MMC3
 
 
 PRG Setup:
 --------------------------
 
 'A' and 'B' bits of the $4120 reg seem to be effectively OR'd.
 That is... $30, $03, and $21  will all select page 3
 
      $8000   $A000   $C000   $E000  
     +-------------------------------+
     |             $4120             |
     +-------------------------------+

This mapper seems to be for HKOs and pirate backports.

FCEUX's source comments that there are actually two different PRG mappers here; one pays attention to only the upper nybble while the other pays attention to only the lower nybble. Fortunately, all(?) games that use this mapper write 0 in the unused bits, so the OR behavior described above actually works. If a game ever writes something where the upper and lower nybbles are both nonzero and nonidentical, and the game is 512 KiB or smaller, it's not actually clear what to do.

One game (a romhack of an HKO) is present in NesCartDB; it shows a PT8154 (Namco 108 clone), a 74175 (which only provides 4 bits of PRG banking), and a 74138 (to decode the PRG register). At least /ROMSEL, A14, M2, R/W, and one additional address line must connect to the '138, but which exact lines are used vary from game to game. All four games found in GoodNES do reliably write with A8 high and A6, A7, A9, A10, A11, and A12 low.