INES Mapper 038: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (cat:GNROM)
m (consistent naming...)
Line 7: Line 7:
   C = Selects 8kB CHR @ $0000
   C = Selects 8kB CHR @ $0000


Writes to $F000-$FFFF are very likely to also trigger a bankswitch, but well behaved code has no reason to. The [[74138]] used by this board uses /PRGSEL and R/W on its enable inputs, but /ROMSEL is 1 while M2 is low, not just while M2 and A15 are high. As a result, before M2 is high, if the 2A03's A14, A13, and A12 lines are 1 and R/W is 0, the [[74161]]'s /LOAD line will still load from the data bus.
Writes to $F000-$FFFF are very likely to also trigger a bankswitch, but well behaved code has no reason to. The [[74138]] used by this board uses /PRGSEL and R/W on its enable inputs, but /PRGSEL is 1 while M2 is low, not just while M2 and A15 are high. As a result, before M2 is high, if the 2A03's A14, A13, and A12 lines are 1 and R/W is 0, the [[74161]]'s /LOAD line will still load from the data bus.


Emulator oversize support:
Emulator oversize support:

Revision as of 00:25, 2 July 2012

Mapper 38 represents another mapper very similiar to GNROM (66) except the bits and writeable port moved around.

In Disch's style:

 $7000-$7FFF: [.... CCPP]
  P = Selects 32kB PRG @ $8000
  C = Selects 8kB CHR @ $0000

Writes to $F000-$FFFF are very likely to also trigger a bankswitch, but well behaved code has no reason to. The 74138 used by this board uses /PRGSEL and R/W on its enable inputs, but /PRGSEL is 1 while M2 is low, not just while M2 and A15 are high. As a result, before M2 is high, if the 2A03's A14, A13, and A12 lines are 1 and R/W is 0, the 74161's /LOAD line will still load from the data bus.

Emulator oversize support:

 FCEUX (2.1.5):
  $7000-$7FFF: [CCCC CCPP]

 Nestopia (1.4.0h):
  $6000-$7FFF: [CCCC CC..]
               [PPPP PPPP]