INES Mapper 036: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
(more certainty) |
(should explicitly mention bus conflicts with PRG ROM) |
||
Line 15: | Line 15: | ||
write $4102 or $8000-$FFFF: [..PP ....] - Request 32 KiB PRG bank | write $4102 or $8000-$FFFF: [..PP ....] - Request 32 KiB PRG bank | ||
write $4100: activate bankswitch to bitwise NOT of requested bank | write $4100: activate bankswitch to bitwise NOT of requested bank | ||
then write $8000-$FFFF | then write $8000-$FFFF: correct bankswitch without extra inversion | ||
read $4100: [..PP ....] - Return current 32 KiB PRG bank | read $4100: [..PP ....] - Return current 32 KiB PRG bank | ||
read or write others: ? | read or write others: ? | ||
There are bus conflicts on writes to $8000-$FFFF. | |||
This PRG reverse-engineering is confusing but mostly complete | This PRG reverse-engineering is confusing but mostly complete |
Revision as of 22:55, 3 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. Three games are currently known to use it, mostly published by Gluk Video:
- Strike Wolf
- Policeman
- F-15 City War (no ASIC)
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 write $4102 or $8000-$FFFF: [..PP ....] - Request 32 KiB PRG bank write $4100: activate bankswitch to bitwise NOT of requested bank then write $8000-$FFFF: correct bankswitch without extra inversion read $4100: [..PP ....] - Return current 32 KiB PRG bank read or write others: ? There are bus conflicts on writes to $8000-$FFFF.
This PRG reverse-engineering is confusing but mostly complete
See also:
- http://forums.nesdev.org/viewtopic.php?p=167180#p167180 Thread about dumping Policeman starts here