INES Mapper 154: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (i'm on crack, there's no way there can be bus conflicts when the n108 disables the prg on writes.)
m (Updated deprecated bootgod link to NESCartDB equivalent.)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:iNES Mappers]][[Category:MMC3-like mappers]]
[[Category:iNES Mappers|154]][[Category:MMC3-like mappers|154]][[Category:in NesCartDB|154]]
Looking at [http://bootgod.dyndns.org:7777/profile.php?id=3837 bootgod's db], it looks like the M bit might be present in both $8000 and $8001 registers, but I can't be certain from the pictures.
[[iNES Mapper 154]] represents '''NAMCOT-3453''', a board used only for the game [https://nescartdb.com/profile/view/3837/devil-man Devil Man].


  Here are Disch's original notes: 
It is identical to [[iNES Mapper 088|Mapper 88]], but with the addition of a single bit allowing for mapper-controlled one-screen mirroring:
  ========================
 
  =  Mapper 154          =
   $8000-$FFFF: [.Mxx xxxx]
  ========================
     x = See [[iNES Mapper 206|mapper 206]] documentation
 
    M = Mirroring
  Example Game:
      0 = 1ScA
  --------------------------
      1 = 1ScB
  Devil Man
 
 
Note that this bit is present over the entire 32kB range; it is not present in only odd or even addresses unlike the associated Namcot 108.
 
 
 
Like mapper 88, if the CHR ROM is larger than 65536 bytes, CHR ROM A16 is connected to PPU A12. This means content in the left pattern table ($0xxx) comes from the first 64kB of CHR-ROM and content in the right pattern table ($1xxx) comes from the last 64kB of CHR-ROM.
  Registers:
  ---------------------------
 
  Range,Mask:   $8000-FFFF, $8001
 
 
     $8000:  [.M.. .AAA]
      M = Mirroring
        0 = 1ScA
        1 = 1ScB
      A = Address for use with $8001
 
 
    $8001:  [DDDD DDDD]
      Data port:
        R:0 ->  CHR reg 0
        R:1 ->  CHR reg 1
        R:2 ->  CHR reg 2
        R:3 ->  CHR reg 3
        R:4 ->  CHR reg 4
        R:5 ->  CHR reg 5
        R:6 ->  PRG reg 0  (8k @ $8000)
        R:7 ->  PRG reg 1  (8k @ $A000)
 
 
 
  CHR Setup:
  ---------------------------
 
        $0000  $0400  $0800  $0C00  $1000  $1400  $1800  $1C00
      +---------------+---------------+-------+-------+-------+-------+
      |    <R:0>    |    <R:1>    |  R:2  |  R:3  |  R:4  |  R:5  |
      +---------------+---------------+-------+-------+-------+-------+
 
  R:0,R:1  select CHR from the first 64k block.  R:2-R:5 select CHR from the second 64k block.
 
  Therefore, you must effectively AND the written values to R:0,R:1 with $3F, and OR the written values to
  R:2-R:5 with $40.
 
 
  PRG Setup:
  ---------------------------
 
        $8000  $A000  $C000  $E000 
      +-------+-------+-------+-------+
      |  R:6  |  R:7  | { -2} | { -1} |
      +-------+-------+-------+-------+

Latest revision as of 01:35, 14 September 2023

iNES Mapper 154 represents NAMCOT-3453, a board used only for the game Devil Man.

It is identical to Mapper 88, but with the addition of a single bit allowing for mapper-controlled one-screen mirroring:

 $8000-$FFFF: [.Mxx xxxx]
   x = See mapper 206 documentation
   M = Mirroring
     0 = 1ScA
     1 = 1ScB

Note that this bit is present over the entire 32kB range; it is not present in only odd or even addresses unlike the associated Namcot 108.

Like mapper 88, if the CHR ROM is larger than 65536 bytes, CHR ROM A16 is connected to PPU A12. This means content in the left pattern table ($0xxx) comes from the first 64kB of CHR-ROM and content in the right pattern table ($1xxx) comes from the last 64kB of CHR-ROM.