INES Mapper 036: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(rephrase lede because Gluk didn't publish Strike Wolf)
(use same register names as I've used on the pinout. no functional changes.)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:iNES Mappers|036]][[Category:GNROM-like mappers|036]]
[[Category:iNES Mappers|036]][[Category:GNROM-like mappers|036]]
[[iNES Mapper 036]] is assigned to TXC's PCB '''01-22000-400''', featuring a [[74138]], a 74175, and usually a 24-pin ASIC labeled ''05-00002-010''. [http://glukvideo.info/listado-juegos-gluk Two games] are currently known to require this definition.
[[iNES Mapper 036]] is assigned to TXC's PCB '''01-22000-400''', featuring a [[74138]], a 74175, and usually a 24-pin ASIC labeled [[TXC 05-00002-010 pinout|05-00002-010]]. [http://glukvideo.info/listado-juegos-gluk Two games] are currently known to require this definition.
* Strike Wolf
* Strike Wolf (also released as ''Comando de Lobos'')
* Policeman
* Policeman


Line 11: Line 11:


The PRG banking is part of the ASIC:
The PRG banking is part of the ASIC:
Mask: $E100
  read $4100: [xxRR xxxx]
              |||| ||||
              ||++------ Copy internal register 'RR' to data bus.
              ++---++++- open bus
  Mask: $E103
  Mask: $E103
   read $4100-4103: [xxRR xxxx]
   write $4100: If Increment is set, internal register 'RR' <- 'RR'+1
                    |||| ||||
              Otherwise, if Invert is clear, copy internal register 'PP' to 'RR'
                    ||++------ reads show the internal state.
                          if Invert is set, copy '~PP' to 'RR'
                    ++---++++- open bus
   write $4101: [...V ....] - Invert Mode
  write $4100: when M=0, copy PP to RR. When M=1, RR=RR+1
   write $4102: [..PP ....] - Copy data bus to internal register 'PP'. Value is not yet exposed anywhere.
   write $4101: no visible effect
   write $4103: [...C ....] - Increment Mode
   write $4102: [..PP ....] - Request 32 KiB PRG bank
Mask: $8000
   write $4103: [...M ....] - PRG banking mode (0: copy, 1: increment)
   write $8000: copy internal register 'RR' to PRG banking pins
   write $8000-$FFFF: copy RR to PRG banking pins
 
This PRG behavior is confusing but seems to be complete.
 
The ''05-00002-010'' ASIC is connected as:
                .--\/--.
          ¹NC <- |01  24| -> NC
  (r) PRG A16 <- |02  23| -> NC
  (r) PRG A15 <- |03  22| -> NC
          GND ?? |04  21| <- CPU A13 (rn)
          5V ?? |05  20| <- CPU A14 (rn)
          NC <> |06  19| ?? GND
          5V ?? |07  18| <- CPU R/W (n)
          NC <> |08  17| <- /ROMSEL (rn)
          NC <> |09  16| <- M2 (n)
          ¹NC <> |10  15| <- CPU A8 (rn)
  (rn) CPU D5 <> |11  14| <- CPU A1 (rn)
  (rn) CPU D4 <> |12  13| <- CPU A0 (rn)
                '------'
  ¹: pins 1 and 10 could respectively function as PRG A17 and CPU D6 if they were connected
    However, none of pins 6, 8, or 9 behave like CPU D7. Perhaps they were intended for CHR banking?


Three additional games published by Gluk use the same PCB, with no ASIC. They were also released in other regions on different hardware, and ''only'' Gluk's editions are compatible with the above-mentioned CHR banking.
Three additional games published by Gluk use the same PCB, with no ASIC. They were also released in other regions on different hardware, and ''only'' Gluk's editions are compatible with the above-mentioned CHR banking.
Line 47: Line 30:
* Volley ball
* Volley ball
* Puzzle
* Puzzle
Compatibility code left in means that all editions of these three games are emulatable as [[NINA-003-006|NINA-06]].
Compatibility code left in means that Gluk's editions of these three games are also emulatable as [[NINA-003-006|NINA-06]].


See also:
See also:
* http://forums.nesdev.org/viewtopic.php?p=167180#p167180 Thread about dumping Policeman starts here
* http://forums.nesdev.org/viewtopic.php?p=167180#p167180 Thread about dumping Policeman starts here
* The same ASIC showed up in [[iNES Mapper 132]] and [[iNES Mapper 173]], wired differently.

Latest revision as of 19:51, 6 September 2018

iNES Mapper 036 is assigned to TXC's PCB 01-22000-400, featuring a 74138, a 74175, and usually a 24-pin ASIC labeled 05-00002-010. Two games are currently known to require this definition.

  • Strike Wolf (also released as Comando de Lobos)
  • Policeman

Even though these games can evidently be emulated as a weird kind of GNROM, the hardware does something quite different:

The CHR banking is definitely implemented using the two 7400-series ICs:

Mask: $E200
write $4200: [.... CCCC] - Select 8 KiB CHR bank

The PRG banking is part of the ASIC:

Mask: $E100
 read $4100: [xxRR xxxx]
              |||| ||||
              ||++------ Copy internal register 'RR' to data bus.
              ++---++++- open bus
Mask: $E103
 write $4100: If Increment is set, internal register 'RR' <- 'RR'+1
              Otherwise, if Invert is clear, copy internal register 'PP' to 'RR'
                         if Invert is set, copy '~PP' to 'RR'
 write $4101: [...V ....] - Invert Mode
 write $4102: [..PP ....] - Copy data bus to internal register 'PP'. Value is not yet exposed anywhere.
 write $4103: [...C ....] - Increment Mode
Mask: $8000
 write $8000: copy internal register 'RR' to PRG banking pins

Three additional games published by Gluk use the same PCB, with no ASIC. They were also released in other regions on different hardware, and only Gluk's editions are compatible with the above-mentioned CHR banking.

  • F-15 City War
  • Volley ball
  • Puzzle

Compatibility code left in means that Gluk's editions of these three games are also emulatable as NINA-06.

See also: