Talk:INES Mapper 163

From NESdev Wiki
Jump to navigationJump to search

VRAM Scanline switching

Despite its annoying pirate features, this mapper is on the whole rather simple. A complex scanline counter seems unlikely. The games I've seen all use this feature only for a static title screen, which got me to thinking: What if it isn't scanline based at all? I implemented the following setup in Bizhawk and it appeared to work for all of the games that I could try with no graphical glitching:

Whenever PPU A13 transitions from 0 to 1, latch the current value of PPU A9. When the 'c' bit is on, use that latched value instead of PPU A12 as the input to CHR RAM A12.

(Note that Bizhawk implements an accurate PPU fetch pattern, including all dummy fetches). This method is reminiscent of Mapper 096 and can be implemented with discrete hardware or with a very small number of gates in a ASIC or CPLD. Natt (talk) 10:10, 27 January 2014 (MST)

Looks plausible... If there are any differences, they'll pop up if any games ever set the Y scroll to something non-zero. —Lidnariq (talk) 11:34, 27 January 2014 (MST)
That said, a PPUA12-clocked 13-bit counter isn't that complicated either. —Lidnariq (talk) 15:06, 27 January 2014 (MST)
If anyone has such cartridge, then see if you are able to put a program to set Y scroll to nonzero to see if there is a difference which you describe. --Zzo38 (talk) 13:47, 27 January 2014 (MST)
I am in possesion of cartridge using this mapper (Harvest Moon). Mapper is blob-chip and it indeed utilizes PPU-A13, -A12, -A9, -/RD lines Krzysiobal (talk) 18:23, 27 February 2019 (MST) NewRisingSun (talk) 22:32, 27 February 2019 (MST)