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: 31
Joined: Sat May 13, 2017 7:54 pm

Why won't Darkman run on most emulators?

Post by SuperWill24 » Thu Nov 02, 2017 7:02 pm

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: 4236
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

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

Post by Dwedit » Thu Nov 02, 2017 8:15 pm

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: 21746
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 » Thu Nov 02, 2017 8:18 pm

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: 31
Joined: Sat May 13, 2017 7:54 pm

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

Post by SuperWill24 » Thu Nov 02, 2017 9:32 pm

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: 11465
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 » Thu Nov 02, 2017 10:35 pm

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: 2614
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

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

Post by dougeff » Fri Nov 03, 2017 4:24 am

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

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

Post by Pokun » Fri Nov 03, 2017 4:33 am

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: 11465
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 » Fri Nov 03, 2017 7:51 am

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: 732
Joined: Tue May 06, 2014 1:50 pm
Location: Szeged, Hungary
Contact:

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

Post by MrNorbert1994 » Fri Nov 10, 2017 11:13 am

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