INES Mapper 189: Difference between revisions
m (Additionally specify which lines are always low.) |
m (The PT8154 is only a N108 clone (neither D6, D7, nor /IRQ are connected)) |
||
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 ( | [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. 1100 0001 0010 0000 | <!-- Thunder Warrior:$4120. 1100 0001 0010 0000 | ||
Master Fighter II:$6132. 1110 0001 0011 0010 | Master Fighter II:$6132. 1110 0001 0011 0010 | ||
Master Fighter 3:$610x. 1110 0001 0000 xxxx | 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. | 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.