When I try to run a ROM of the game Darkman (which claims to be an exact dump of the cartridge) on most emulators (Nestopia 1.36 and FCEUX for both my PC and GCW Zero (an obscure handheld emulation device)), it just goes to a black screen on startup and I get nothing else. However, when I run it on Nestopia 1.40, it runs just fine. The game doesn't seem to have any unique hardware features that most emulators wouldn't support.
Anyone know why that is?
Why won't Darkman run on most emulators?
Moderator: Moderators
Re: Why won't Darkman run on most emulators?
Works fine in FCEUX, maybe a bad rom file.
You can try taking the CRC32 or SHA1 of the PRG and CHR and compare them with the values from Bootgod's site.
You can try taking the CRC32 or SHA1 of the PRG and CHR and compare them with the values from Bootgod's site.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
Re: Why won't Darkman run on most emulators?
My first guess is a bad header. Nestopia 1.40 contains a database of the correct header corresponding to the PRG+CHR of each good dump. Other emulators rely on the header in the ROM image. What are the first 16 bytes of your ROM image, as shown in a hex editor?
Darkman on NesCartDB says 128 KiB PRG, 128 KiB CHR, MMC1. The header for this configuration is as follows:
Darkman on NesCartDB says 128 KiB PRG, 128 KiB CHR, MMC1. The header for this configuration is as follows:
Code: Select all
4E 45 53 1A 08 10 10 00 00 00 00 00 00 00 00 00
-
- Posts: 33
- Joined: Sat May 13, 2017 7:54 pm
Re: Why won't Darkman run on most emulators?
This is my cartridge version of Darkman:
http://bootgod.dyndns.org:7777/profile.php?id=2086
The header bytes for my ROM are as follows:
4E 45 53 1A 08 10 00 00 00 00 00 00 00 00 00 00
EDIT:
I tried another version with a timestamp of 1/27/2017 of "Darkman (E) [!].nes" (as opposed to the 12/24/1996 version that I had) and it worked perfectly. On investigation between the two versions, I found exactly three bytes to be different. Very strange indeed...I don't know why they would label it as [!] if it was bad...
http://bootgod.dyndns.org:7777/profile.php?id=2086
The header bytes for my ROM are as follows:
4E 45 53 1A 08 10 00 00 00 00 00 00 00 00 00 00
EDIT:
I tried another version with a timestamp of 1/27/2017 of "Darkman (E) [!].nes" (as opposed to the 12/24/1996 version that I had) and it worked perfectly. On investigation between the two versions, I found exactly three bytes to be different. Very strange indeed...I don't know why they would label it as [!] if it was bad...
Re: Why won't Darkman run on most emulators?
This header specifies a mapper number of 0 (NROM). An emulator that honors this will never be able to run the game correctly. Byte 6 should be $10, like tepples posted, to select mapper 1 (MMC1).SuperWill24 wrote:The header bytes for my ROM are as follows:
4E 45 53 1A 08 10 00 00 00 00 00 00 00 00 00 00
AFAIK, [!] attests that the dumped data is correct, but the header, not necessarily. Also, I don't know what the exact procedure is to acknowledge a ROM as [!], but there are cases of files marked that way that were in fact bad dumps. IIRC, there was an SNES Spider-Man game marked [!] that had slightly corrupted sprites.
EDIT: Link about that Spider-Man game.
Re: Why won't Darkman run on most emulators?
I had a ROM that had all the correct data, but indicated the wrong PPU mirroring in the header. It only played correctly in a one emulator, which apparently ignored the mirroring as invalid (?) for its indicated mapper.
nesdoug.com -- blog/tutorial on programming for the NES
Re: Why won't Darkman run on most emulators?
I guess it used an internal database, like Nestopia 1.40.
BTW wasn't those labels made a long time ago by the Goodtools utility? Knowledge of NES hardware may have increased a lot since that ROM got its [!] label. I heard of many cases where [!] is used on bad dumps or incorrect headers so I wouldn't trust it too much.
BTW wasn't those labels made a long time ago by the Goodtools utility? Knowledge of NES hardware may have increased a lot since that ROM got its [!] label. I heard of many cases where [!] is used on bad dumps or incorrect headers so I wouldn't trust it too much.
Re: Why won't Darkman run on most emulators?
The only copy of Jurassic Boy 2 (Sonic clone by Sachen) that could be found online for a long time used the UNIF format and had the wrong NT mirroring specified for the game (the correct setting is 4-screen). It was very common to see screenshots and YouTube videos full of scrolling glitches.dougeff wrote:I had a ROM that had all the correct data, but indicated the wrong PPU mirroring in the header
- MrNorbert1994
- Posts: 986
- Joined: Tue May 06, 2014 1:50 pm
- Location: Szeged, Hungary
- Contact:
Re: Why won't Darkman run on most emulators?
Sounds like that you are using my ROM archive.SuperWill24 wrote:This is my cartridge version of Darkman:
http://bootgod.dyndns.org:7777/profile.php?id=2086
The header bytes for my ROM are as follows:
4E 45 53 1A 08 10 00 00 00 00 00 00 00 00 00 00
EDIT:
I tried another version with a timestamp of 1/27/2017 of "Darkman (E) [!].nes" (as opposed to the 12/24/1996 version that I had) and it worked perfectly. On investigation between the two versions, I found exactly three bytes to be different. Very strange indeed...I don't know why they would label it as [!] if it was bad...
Yeah... the Darkman ROMs had some problems, took me some time to find one that runs in every emulator.
My ROM is actually a softpatch which sets up the controller loop routine to read from the Famicom's expansion port for controller read.