Spy Hunter has two modes, car and boat. When you transition between the two, the screen scrolls horizontally. (It scrolls vertically the rest of the time.) On a real NES, the background turns blue and does not flicker, but on emulators it fills with "0" tiles as the screen shifts. Also there is no flickering orange on the real NES. Try it with the game genie's infinite lives code (always take the left forks) and see what I mean. [/img]
Which emulators display this glitch? Does swapping the mirroring type have any effect (it's a CNROM title, so this should be hard wired).
I'm not seeing any of the "0" tiles you speak of. Your ROM is set to horizontal mirroring, right?
[quote]I'm not seeing any of the "0" tiles you speak of. Your ROM is set to horizontal mirroring, right?[/quote]
It is now and the zeros went away. In FCE Ultra it looks exactly like it should. The mirroring change fixed it. I thought about the mirroring but didn't change it because I figured that if the mirroring was wrong the whole game would look F*cked up right from the start. Sorry bout this. GoodNES might live up to its name if it checked and fixed bad iNES headers. This is not the first time I have had to fix the header.
Great Hierophant wrote:
I figured that if the mirroring was wrong the whole game would look F*cked up right from the start.
This is true of some scrolling engines (e.g. Challenger, SMB1, and Contra) that place their update seam halfway through the hidden screen, but others seem to keep screen updates in the "overscan", that area that is hidden by the corners of the TV.
Does anyone have a list of other ROMs whose mirroring bits in GoodNES are incorrect? I'm planning on doing a database-based mapper detector in my emulator, and I don't want to run into these issues.
The ones I've found and put in my emulator:
case CRC32_DRAGON_BALL_SHEN_LONG_NO_NAZO_J: /* should be vertical mirroring */
case CRC32_LINUS_MUSIC_DEMO_PD: /* typo in NES^Z */
case CRC32_MACH_RIDER_JU: /* should be vertical mirroring */
case CRC32_PIPE_DREAM_U: /* should be mapper 3: CNROM */
case CRC32_STAR_GATE_J: /* should be mapper 0: NROM */
case CRC32_SUPER_CARS_U: /* should be vertical mirroring */
case CRC32_TOTAL_RECALL_U: /* should be vertical mirroring */
And, M.U.L.E. (U) contains 'GitM...' in its header, maybe other GoodNES roms do too. Same thing goes for Mega Man (U), Jackal (U), Rush'n Attack (U), Startropics (U), Karate Champ (U), etc. that contain 'Diskdude' in the header. So I've done a header check for those, instead of a crc32 check. Many other roms contain garbage in the header, but usually it's outside the data that's used.
NEStoy rulez!
There's another nice tool called "TNINES". It's old, but nice.
Ya, there's a couple of guys complaining about Megaman1 not running/loading on emulators, hehehehe