INES Mapper 038: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(create page since I've linked to it a few times)
 
m (Updated deprecated bootgod link to NESCartDB equivalent.)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Discrete logic mappers]][[Category:iNES Mappers]]
[[Category:GNROM-like mappers|038]][[Category:iNES Mappers|038]][[Category:in NesCartDB|038]]
Mapper 38 represents another mapper very similiar to [[GxROM|GNROM]] ([[iNES Mapper 066|66]]) except the bits and writeable port moved around.
{{Infobox iNES mapper
|name=iNES Mapper 038
|company=Bit Corp.
|mapper=38
|nescartdbgames=1
|boards=UNL-PCI556
|prgmax=128K
|prgpage=32K
|chrmax=32K
|chrpage=8k
|mirroring=V(hardwired)
|busconflicts=No
}}
{{nesdbbox
|ines|38|iNES 038
}}
[[iNES Mapper 038]] represents the board used for [[wikia:c:bootleggames:Bit Corp.|Bit Corp.]]'s [https://nescartdb.com/profile/view/4103/crime-busters Crime Busters]. It is another mapper almost identical to [[GxROM|GNROM]] ('''66''') except the bits and writeable port moved around.


In Disch's style:
== Registers ==
  $7000-$7FFF: [.... CCPP]
=== Bank Select ($7000-$7FFF) ===
  P = Selects 32kB PRG @ $8000
7  bit  0
  C = Selects 8kB CHR @ $0000
---- ----
xxxx CCPP
      ||||
      ||++- Select 32 KB PRG ROM bank for CPU $8000-$FFFF
      ++--- Select 8 KB CHR ROM bank for PPU $0000-$1FFF


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.
== Hardware ==
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 /ROMSEL and R/W on its enable inputs, but /ROMSEL is 1 while M2 is low, not just while M2 is high and and A15 is low. 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 ==
   FCEUX (2.1.5):
   FCEUX (2.1.5):
   $7000-$7FFF: [CCCC CCPP]
   $7000-$7FFF: [CCCC CCPP]
Line 16: Line 37:
   $6000-$7FFF: [CCCC CC..]
   $6000-$7FFF: [CCCC CC..]
                 [PPPP PPPP]
                 [PPPP PPPP]
''See also:'' [[Oversize]]

Latest revision as of 02:06, 14 September 2023

iNES Mapper 038
Company Bit Corp.
Games 1 in NesCartDB
Boards UNL-PCI556
PRG ROM capacity 128K
PRG ROM window 32K
PRG RAM capacity None
CHR capacity 32K
CHR window 8k
Nametable mirroring V(hardwired)
Bus conflicts No
IRQ No
Audio No
iNES mappers 038
NESCartDB
iNES 038

iNES Mapper 038 represents the board used for Bit Corp.'s Crime Busters. It is another mapper almost identical to GNROM (66) except the bits and writeable port moved around.

Registers

Bank Select ($7000-$7FFF)

7  bit  0
---- ----
xxxx CCPP
     ||||
     ||++- Select 32 KB PRG ROM bank for CPU $8000-$FFFF
     ++--- Select 8 KB CHR ROM bank for PPU $0000-$1FFF

Hardware

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 /ROMSEL and R/W on its enable inputs, but /ROMSEL is 1 while M2 is low, not just while M2 is high and and A15 is low. 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]

See also: Oversize