It is currently Wed Nov 22, 2017 11:38 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Thu Nov 02, 2017 7:02 pm 
Offline

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


Top
 Profile  
 
PostPosted: Thu Nov 02, 2017 8:15 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3950
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!


Top
 Profile  
 
PostPosted: Thu Nov 02, 2017 8:18 pm 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19244
Location: NE Indiana, USA (NTSC)
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:
4E 45 53 1A  08 10 10 00  00 00 00 00  00 00 00 00


Top
 Profile  
 
PostPosted: Thu Nov 02, 2017 9:32 pm 
Offline

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


Top
 Profile  
 
PostPosted: Thu Nov 02, 2017 10:35 pm 
Offline
User avatar

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


Top
 Profile  
 
PostPosted: Fri Nov 03, 2017 4:24 am 
Online
User avatar

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


Top
 Profile  
 
PostPosted: Fri Nov 03, 2017 4:33 am 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 874
Location: Sweden
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.


Top
 Profile  
 
PostPosted: Fri Nov 03, 2017 7:51 am 
Offline
User avatar

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


Top
 Profile  
 
PostPosted: Fri Nov 10, 2017 11:13 am 
Offline
User avatar

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

_________________
http://mrnorbert1994.uw.hu/


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group