Why won't Darkman run on most emulators?

You can talk about almost anything that you want to on this board.

Moderator: Moderators

Post Reply
SuperWill24
Posts: 33
Joined: Sat May 13, 2017 7:54 pm

Why won't Darkman run on most emulators?

Post by SuperWill24 »

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?
User avatar
Dwedit
Posts: 4924
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: Why won't Darkman run on most emulators?

Post by Dwedit »

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.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Why won't Darkman run on most emulators?

Post by tepples »

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:

Code: Select all

4E 45 53 1A  08 10 10 00  00 00 00 00  00 00 00 00
SuperWill24
Posts: 33
Joined: Sat May 13, 2017 7:54 pm

Re: Why won't Darkman run on most emulators?

Post by SuperWill24 »

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...
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Why won't Darkman run on most emulators?

Post by tokumaru »

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
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).

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.
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: Why won't Darkman run on most emulators?

Post by dougeff »

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
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Why won't Darkman run on most emulators?

Post by Pokun »

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.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Why won't Darkman run on most emulators?

Post by tokumaru »

dougeff wrote:I had a ROM that had all the correct data, but indicated the wrong PPU mirroring in the header
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.
User avatar
MrNorbert1994
Posts: 986
Joined: Tue May 06, 2014 1:50 pm
Location: Szeged, Hungary
Contact:

Re: Why won't Darkman run on most emulators?

Post by MrNorbert1994 »

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...
Sounds like that you are using my ROM archive. ;)
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.
Post Reply