INES Mapper 012: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (fix copypasta)
(mapper port location)
Line 13: Line 13:
     L = 256K CHR block for left (low) half of CHR (<$1000)
     L = 256K CHR block for left (low) half of CHR (<$1000)
     R = 256K CHR block for right (high) half of CHR (>=$1000)
     R = 256K CHR block for right (high) half of CHR (>=$1000)
Note: FCEUX instead uses the range $4100-$5FFF. The game itself seems to always write to $4132.


Mapper 12 is also used for FFE disk images. See [[INES Mapper 006|Mapper 6]] for some additional details. (FIXME: does the FFE usage comply with the above info, or is there a conflict between different mapper 12 definitions?)
Mapper 12 is also used for FFE disk images. See [[INES Mapper 006|Mapper 6]] for some additional details. (FIXME: does the FFE usage comply with the above info, or is there a conflict between different mapper 12 definitions?)

Revision as of 21:46, 6 December 2015

This mapper is an MMC3 variant with a simple twist. Writing to $4020-5FFF will set an additional bit for each half of CHR to allow an extra 256K of rom to be addressed. For example, the mapped page for the left half would be %Lxxxxxxxx where %xxxxxxxx is the result of the typical MMC3 logic.

Otherwise all operations appear to be typical for MMC3A.

Maybe the only game that uses this mapper is Dragon Ball Z 5. It depends on this mapper operating as MMC3A variant. Choosing otherwise will result in the game hanging at boot-up as it gets stuck in an infinite loop with the IRQ reload set to 0 and continually getting re-triggered.

 Registers:
 ---------------------------
 
 Range:   $4020-5FFF
 
 $4020:  [...R ...L]
   L = 256K CHR block for left (low) half of CHR (<$1000)
   R = 256K CHR block for right (high) half of CHR (>=$1000)

Note: FCEUX instead uses the range $4100-$5FFF. The game itself seems to always write to $4132.

Mapper 12 is also used for FFE disk images. See Mapper 6 for some additional details. (FIXME: does the FFE usage comply with the above info, or is there a conflict between different mapper 12 definitions?)