INES Mapper 036: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(preliminary results)
(sat down with the cartridge and a cart-swap and did my best to figure out what's going on)
Line 12: Line 12:
The PRG banking is part of the ASIC:
The PRG banking is part of the ASIC:
  Mask: $E103
  Mask: $E103
write $4102 or $8000-$FFFF: [..PP ....] - Request 32 KiB PRG bank
  read $4100-4103: [xxRR xxxx]
write $4100: activate bankswitch to bitwise NOT of requested bank
                    |||| ||||
then write $8000-$FFFF: correct bankswitch without extra inversion
                    ||++------ reads show the internal state.
read $4100-4103: [..PP ....] - Return current 32 KiB PRG bank
                    ++---++++- open bus
write others: ?
  write $4100: when M=0, copy PP to RR. When M=1, RR=RR+1
  write $4101: no visible effect
There are bus conflicts on writes to $8000-$FFFF.
  write $4102: [..PP ....] - Request 32 KiB PRG bank
  write $4103: [...M ....] - PRG banking mode (0: copy, 1: increment)
  write $8000-$FFFF: copy RR to PRG banking pins


This PRG reverse-engineering is confusing but mostly complete
This PRG behavior is confusing but seems to be complete





Revision as of 19:18, 26 April 2016

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, both published by Gluk Video:

  • Strike Wolf
  • 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: $E103
 read $4100-4103: [xxRR xxxx]
                   |||| ||||
                   ||++------ reads show the internal state. 
                   ++---++++- open bus
 write $4100: when M=0, copy PP to RR. When M=1, RR=RR+1
 write $4101: no visible effect
 write $4102: [..PP ....] - Request 32 KiB PRG bank
 write $4103: [...M ....] - PRG banking mode (0: copy, 1: increment)
 write $8000-$FFFF: copy RR to PRG banking pins

This PRG behavior is confusing but seems to be complete


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 all editions of these three games are emulatable as NINA-06.

See also: