It is currently Tue Oct 17, 2017 8:19 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: ROM Database
PostPosted: Tue Aug 22, 2006 8:14 pm 
Offline
User avatar

Joined: Wed Aug 16, 2006 8:03 pm
Posts: 57
Location: TN, USA
After trying to put a copy of Bomberman 2 onto my wire-jungle UNROM board, basing it on the great nesmapper.txt list most of us probably have, I came across a problem. The particular rom I tried didn't work at all, and made me start to think my hardware had a problem (since it was my first test) until I decided to try a different rom just in case (Contra, which worked fine).

Now that's not saying the nesmapper.txt list is wrong, but I came to find out that the numerous revisions of the game I have use various mappers. The one I tried, for example, was MMC1. So this is obviously a problem, since I have a ton of roms with numerous versions, and am likely to not know which one is actually the same as the one mentioned in nesmapper.txt.

So, a little bit of Perl/MySQL/HTML later, I generated a master list for all the roms from that particular collection. It gives all the useful iNES info, and allows me to sort based on any of those things, both ascending and descending.

Mind you, it's a huge list due to all the versions of each rom, so depending on your computer/browser, it might be a bit slow to parse. And I implemented compression to keep the page size from being nearly 2mb. lol. But if you think it might be of some use to you as well, feel free to check it out.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 23, 2006 5:17 am 
Online
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7224
Location: Chexbres, VD, Switzerland
That is pretty cool.

The aboard name should definitely be added on all "good" ROMs. Unforunatly, it is impossible to own every single released NES/FC game, so a user contribuable system should be done for this.

However, you should mind that some roms has a wrong mapper number because of the "Disk Dude" or any crap present in the iNES header overwriting the high 4 bits of the mapper number.
Also, you seem to include most of hacks for all roms, wich isn't very necesary, I think.
It also shows all [HM02] version of MMC1 games that became mapper 2 after ROM hacking. A few of them (like Dragon Quest 3 (J) and Final Fantasy 2 (J)) became quite popular as mapper 2 games, as they actually are MMC1 games.
Also, sometimes the battery bit is lacking (like in one of the three Just Breed roms), or the mirroring bit is set even if the mirroring is done by the mapper.
[/img]

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 23, 2006 4:59 pm 
Offline
User avatar

Joined: Sat Jul 22, 2006 12:06 pm
Posts: 96
Location: USA
Bregalad wrote:
The aboard name should definitely be added on all "good" ROMs. Unforunatly, it is impossible to own every single released NES/FC game, so a user contribuable system should be done for this.
Perhaps the NES Cart Database can help (well, eventually... it's not equipped to handle Famicom games yet).
Bregalad wrote:
Also, sometimes the battery bit is lacking (like in one of the three Just Breed roms), or the mirroring bit is set even if the mirroring is done by the mapper.
1. I think the version of Just Breed you're talking about is a translation. (Did the person who submitted the ROM to Cowering use a bad IPS patcher...? Or was that person just a lamer?)
2. The version of the iNES standard accepted by most emulators doesn't have a bit to indicate mapper-controlled mirroring.

_________________
Warning: I am not a serious developer (yet), but CS and EE really interest me.
I was -_pentium5.1_- until I screwed up. This is why I screwed up. ^_^


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 23, 2006 8:56 pm 
Offline
User avatar

Joined: Wed Aug 16, 2006 8:03 pm
Posts: 57
Location: TN, USA
That cart database is a million times better than mine. Though it's missing Bomberman 2, which I think I need to find out more info on.

The irony here is that this is the game which caused me problems initially trying to run it on the NES, and prompted me to make my list, yet now that I was able to easily see which of my roms of that game use UNROM, I still can't get it to run on my hardware! Has anyone else experienced trouble out of this game?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 23, 2006 11:13 pm 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
Bomberman 2 is a MMC1 game, it uses WRAM. The UOROM hack was made for a device which has WRAM; your UOROM dev cart doesn't have WRAM.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 23, 2006 11:35 pm 
Offline
User avatar

Joined: Wed Aug 16, 2006 8:03 pm
Posts: 57
Location: TN, USA
I should have mentioned I was referring to the Japanese version, which according to nesmapper.txt, is supposed to be UNROM. boardtable.txt apparently only shows the American version, which is MMC1.

In any case, that'd make sense, if it's depending on WRAM to work. Though the next thing to work on with my board is an easier method than switching my ROM chip out every time to try different games, so WRAM/Bomberman might have to wait a little longer still.

At least I can run the original. lol


Top
 Profile  
 
 Post subject:
PostPosted: Thu Aug 24, 2006 1:43 am 
Online
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7224
Location: Chexbres, VD, Switzerland
I assume that you grabbed the [HM02] version, wich, just like Final Fantasy II and Dragon Quest III, among others, has been hacked from MMC1 to mapper 2 (UNROM) for unknown reasons (I've heard of an early FC emulator not supporting MMC1).

All of these games use basically the UNROM like PRG bankswitching, making the hack possible.
However, the games in question uses SRAM, and sometimes changes the MMC1 controlled mirroring, creating problems in the UNROM version hack.
They run fine on most emulators, but you can forget to actually put them on a UNROM cart.
In summary : DO NOT USE ANY [HM02] ROMS !! Use the good MMC1 version.

The only game wich is actually UNROM in japan and MMC1 in america is Dragon Quest II, as far I know. As a proof, the japanese version use password, and has no WRAM nor battery.

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Aug 24, 2006 8:08 am 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1845
"mapper 2" hacks also probably fail to consider that UNROM suffers from bus conflicts, so when the game tries to PRG swap, it's swapping to a garbage bank, causing the game to crash or lockup when it jumps to $8000-BFFF. This might be what is happening (on top of the lack of WRAM).


Top
 Profile  
 
 Post subject:
PostPosted: Thu Aug 24, 2006 8:43 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
That's true too, there are no bus conflicts on copiers.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Aug 25, 2006 5:03 pm 
Offline
User avatar

Joined: Wed Aug 16, 2006 8:03 pm
Posts: 57
Location: TN, USA
I'm still curious to see if I can get an UNROM version to run on the hardware sometime, just for the heck of it. WRAM would be the first thing to try, which I want to implement anyway sooner or later. But if it comes down to a bus conflict, that shouldn't be hard to test for/fix either. I figure inverting R/W and OR'ing it with /CE should give you the /OE you need for the eeprom to only output during reads. And if you're only using a 128kB board, you should have a free OR already on the 74LS32.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 26, 2006 6:05 am 
Online
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7224
Location: Chexbres, VD, Switzerland
The best way to run it on real hardware it to turn it back to a normal MMC1 verison and put it on a MMC1 card.
I'd have trouble to imagine yourself adding a RAM chip, a battery, and a 74LS04 for inverting on a breadbord that would come across with the real UNROM board in the cartridge. Also there would be additionnal logic to control the input of the RAM such as /RW, /CE and /OE. The MMC1 has all of these functions in chip, and the boad already has slot for the additionnal hardware.

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 26, 2006 12:23 pm 
Offline
User avatar

Joined: Sat Jul 22, 2006 12:06 pm
Posts: 96
Location: USA
Bregalad wrote:
The best way to run it on real hardware it to turn it back to a normal MMC1 verison...
There *are* (presumed-)good dumps available for both the Jap and US versions, which both use MMC1. For the usual legal reasons, that's all I'll say 8)

_________________
Warning: I am not a serious developer (yet), but CS and EE really interest me.
I was -_pentium5.1_- until I screwed up. This is why I screwed up. ^_^


Last edited by 85cocoa on Sun Aug 27, 2006 10:36 pm, edited 2 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 26, 2006 7:25 pm 
Offline
User avatar

Joined: Wed Aug 16, 2006 8:03 pm
Posts: 57
Location: TN, USA
Out of curiosity, what exactly DO all the codes in the rom filenames mean? Stuff like o1, h2, b3, etc. I have a slight understanding of hMxx ones, which I believe is hacked to run on a different mapper. But that's about all I know of these codes.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Aug 26, 2006 9:04 pm 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19086
Location: NE Indiana, USA (NTSC)
http://wiki.pocketheaven.com/GoodCodes


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: Gilbert, Google [Bot] and 4 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