Original Post

Hello

I’m from the no-intro-project and as you may know we are dealing with the dumping/redumping and accurate classification of as many systems as possible.

It looks like there are some people around here who are able to dump their games. I’d be pleased if said people were able to redump the games they own to verify existing dumps or fix bad dumps that might be around. Currently all games are considered unverified. Needed are crc + md5-hashes at best and a cart-scan to proof you actually own the game.

I’m also curious about one thing: All other nintendo systems use a system of version history that might also apply to the VBoy. On the NES/N64 + SNES you have to hold the backlabel of the cart in the light and you will identify a 2-digit number “stamped” – not written – in the label. If this number is followed by an A the cart is an upgraded version and might contain a version 1.1 rom. B means 1.2 and so on. There are a few exceptions where the letter refers to something else in the cart like DSP-chips in Mario Kart etc. but it is a good indicator. For handheld systems this number is found on the front label. They slightly changed this system for the DS but I’m willing to believe the VB follows the old system. If anyone dumps a cart please check for this info.

Thanks in advance!

27 Replies

Well, the games I’ve checked now have a “22” or a “09” stamped on them. Most have “22”, and just two or three have “09”. It doesn’t depend on the rarity of the game nor on the country. E.g. My Virtual Bowling (JAP) has a “22” stamped on it, as well as my Wario Land (US). I am not able of dumping the games, so I cannot help with that. I hope this is of some use.

Of the carts I can find/get to, I have MT and Golf carts with “19” and a Pinball with “09”. I have no way to dump carts, at present.

However, I think Red Dragon (or its source code) has a list of CRC32’s for the actual (not GoodVB) known good dumps.

Yeah, I redumped all of my carts several years ago and I think Frostgiant put those CRC’s into RD.

DogP

Thank you for checking your carts. Just thought so. All these appear to be 1.0 versions so far.


@DogP

This sounds amazing. I need to know which games you actually redumped. Do you mean ALL games or just US? Do you mind posting the list together with crcs and maybe a pic of your carts? You know – to be really accurate we have to follow certain rules. We don’t want to end with buggy databases. I’d be in your depth 🙂

And are you definitely sure your dumps are correct meaning did you verify them more than once? Dumping errors caused by the hardware or dust etc. happen too often. Are all your games 1.0 as described before?

I remember a very old thread where crcs were posted by a dumper – guess that was what you mean. I based my current database on this. Still a few games were marked bad like Innsmouth. We probably need a few more redumps.

I redumped every game except the 4 rarest Jap games. I dumped every game several times, but I know at least Insmouse was one that dumped differently every time I dumped it, so I don’t trust that one for sure. I made an app to dump carts over the link cable to the PC, with error checking, but I never got a chance to redump the one(s) that had issues… and now I think I broke my software when I tried messing with it last (and I’d have to dig up my notes again on which games were having problems).

I did write a memory viewer that runs on the VB though, so the several bytes that seem to read differently, I can actually view them on the VB side and see if they’re screwed up and actually change in the system or if it’s just a timing issue, since the VB reading it like it would in the game would definitely have the correct timing.

And although I’ve never looked at all of my labels, I’ve never seen one with an A or B… just numbers (9, 19, 22 and 23 are some of the ones on my desk right now).

DogP

If you find your notes I would highly appreciate this.

From what you tell me I’d like to get a confirmation of the data from a second source to put them all to verified status once and for all.

There is that page from “Enri” with a few unknown crcs:

http://www2.odn.ne.jp/~haf09260/Rpdata/Rpdata.htm

Virtual Fishing – CRC:3950987c – differs from your dump

Innsmouth – CRC: 5f55f0d8

The Virtual Collection differs too from yours:

CRC:d7e55a91

He put a comment about the rom but I can’t read that.

It says マスター出し用 (Master Version?) at 0x0FFDC0 in the rom.

I’d like to bump this old thread because Tauwasser has built a reliable dumper on his own and he already redumped 2/3 of the Virtual Boy library. As expected most games were a match but indeed Innsmouth was dumped improperly until now. This time however it appears to be just fine and the read is the same every time.

Now you see it is always important to verify all games even if they are out since long. It is not the first time we encountered badly dumped games in old sets. This also helps to improve emulator development because you can now 100% rely on the game’s code.

So before wasting lots of money for nothing to find the remaining games I’d like to ask if anyone of you is willing to borrow his games for redumping purposes? Shipping costs (insured if required) will be covered by us of course. These games are still in need of a proper redump:

3-D Tetris (USA)
Jack Bros. (USA)
Mario Clash (Japan, USA)
Nester’s Funky Bowling (USA)
Panic Bomber (USA)
Virtual Bowling (Japan)
Virtual Fishing (Japan)
Virtual Lab (Japan)

I’m especially looking forward to Virtual Fishing because the current dump info is contradictory.

You can either post here or get in touch with us over at no-intro.org

–> http://forums.no-intro.org/

You may also mail to shippa4@hotmail.com

Thanks a lot in advance!

BigFred/No-Intro

The two stamped digits refer to the manufacturing facility the cartridge was made at.

As far as revisions go, it is important to note the product code on the front of the game label. For Virtual Boy, a product code looks like this:

VUE-XX-USA

If USA (or JPN etc) is followed by a -1, then it’s probably revision 1.1. -2 is 1.2 and so on. There are some small exceptions to this rule. For example, the gold Ocarina of Time (N64) product code is NUS-CZGE-USA, where as the regular version is NUS-CZLE-USA. Technically therefore, they are completely separate games, according to Nintendo.

I dumped Virtual Bowling myself and can confirm that the md5/sha1 values in your database are correct.

Where can you find the database? I’d be glad to check my dumps against it.

I remember a few ROMs that were different from what I had previously… but there have been several ROMs floating around for a lot of games, with no authority for what is good… so I’m not sure what others are calling “good”. I personally just stick with my own ROMs, which I trust, since I dumped them myself.

DogP

DogP schrieb:
Where can you find the database?

http://datomatic.no-intro.org/?page=download

M.K. wrote:

DogP schrieb:
Where can you find the database?

http://datomatic.no-intro.org/?page=download

Cool… thanks! I’ll go through the ROMs this weekend.

DogP

You need to click on redumps and then ROM status to get to the list where you can choose from verified/trusted/bad/not verified.

Verified means someone trustworthy confirmed a previously known hash. Trusted are dumps that are new, but we have good reason to believe they are fine. This applies to Innsmouth. You posted about some trouble dumping this game. It seems others had this problem too – the goodtools file is incorrect and so is the hash posted by enri. However Tauwasser’s dumper appears to be 100% reliable (he can tell you more details about this probably).

If you click on one link it will open a new page with all dump-related info for this game. All redumps including the data that the dumper provided – e.g. serials, scans and more. As you can see Tauwasser opened his carts and included chip- and PCB-serials. The more info the better.

I believe the missing not verified dumps are actually good – except for Virtual Fishing. Different dumps are floating around and enri even posted a 3rd crc on his homepage so this is a case that needs to be solved.

@M.K.

this is great. You are referring to these hashes?

CRC32: 20688279
MD5: 5B11D402F7E322C71A7D4FA6503631FA
SHA-1: A5BE7654037050F0A781E70EFEA0191F43D26F06

For a proper confirmation we will need some more data unfortunately (unless it’s someone we know very well but even then there should be a minimum that needs to be reached). A cart picture and serial would be great. Can you open the cart? A PCB-picture is also very valuable at times. What method did you use to dump it?

Did you verify the game’s hash indeed or is this the cart that the dump released in the internet was drawn from? If so this would count as trusted only. Otherwise – if this is a different cart – we can add a nice verified tag. Thanks in advance!

BigFred wrote:
These games are still in need of a proper redump:

3-D Tetris (USA)
Jack Bros. (USA)
Mario Clash (Japan, USA)
Nester’s Funky Bowling (USA)
Panic Bomber (USA)
Virtual Bowling (Japan)
Virtual Fishing (Japan)
Virtual Lab (Japan)

I’m especially looking forward to Virtual Fishing because the current dump info is contradictory.

I checked the hashes from your database against my personal dumps, and they all match (including Virtual Fishing). As a double-check, I just re-ran those carts (except Virtual Bowling, which I don’t own anymore) through a CRC32 calculator program I had written, which runs on the VB and calculates the CRC32 of the cartridge in the system. The CRC32s all matched.

I attached a pic of the carts, which I just ran through the calculator today. I have no idea which carts I actually dumped, since I’ve owned many copies of most games over the years, but odds are extremely low that the CRC32 matches, but the ROM differs (unless it was purposefully manipulated).

BigFred wrote:
This applies to Innsmouth. You posted about some trouble dumping this game. It seems others had this problem too – the goodtools file is incorrect and so is the hash posted by enri. However Tauwasser’s dumper appears to be 100% reliable (he can tell you more details about this probably).

Yep… with my old hand-wired dumper, I had problems with that one… I had redumped my collection with my USB link cable dumper, and (as expected) got reliable dumps (same hashes as your database).

DogP

Attachments:

DogP schrieb:

I checked the hashes from your database against my personal dumps, and they all match (including Virtual Fishing). As a double-check, I just re-ran those carts (except Virtual Bowling, which I don’t own anymore) through a CRC32 calculator program I had written, which runs on the VB and calculates the CRC32 of the cartridge in the system. The CRC32s all matched.
DogP

Now this is a very interesting tool. I can’t remember anyone having written something like that.

About Virtual Fishing: I remember I took the hash (crc32 526CC969) from your old list of hashes which also made it into Red Dragaon afair. Can you please tell me if this was a new dump when you did it and you “released” this dump to the public or did you never do such a thing and just confirmed what you already found in goodvboy at that time? Important to know if this is a one-time-dump or a real confirmation (even if your tool calculates the same hash in the past we encountered original carts which contained faulty chips resulting in “bad” dumps so we never apply a verified to a unique crc no matter how reliable the dumping method).

As I understand your new dumper does always give you the same output-file now? Especially important for this:

DogP schrieb:

Yep… with my old hand-wired dumper, I had problems with that one… I had redumped my collection with my USB link cable dumper, and (as expected) got reliable dumps (same hashes as your database).

DogP

Just to avoid misunderstandings: So this means you also redumped Innsmouth and you can confirm the “new” hash 83CB6A00 that was found recently? Would be very nice to have a confirmation.

Thanks a lot for all this valuable information. With M.K.’s confirmation of V. Bowling it looks like the complete library has now been redumped and verified. Time to celebrate 🙂

Whoa, I see BigFred is doing some advertising here 🙂

BigFred wrote:
I’d like to bump this old thread because Tauwasser has built a reliable dumper on his own and he already redumped 2/3 of the Virtual Boy library.

Well, it’s not like it’s magic. A reader using the GEC is just more reliable than wiring up the ROM IC by hand using wire-wrap.

One of these days I’m going to upload my final hardware/software resources — once I’m not too ashamed of my code anymore. 😉

SirGuntz wrote:
If USA (or JPN etc) is followed by a -1, then it’s probably revision 1.1. -2 is 1.2 and so on.

Well, that is correct. If the label has the product code followed by a -N, then it’s revision N of the label — not the game.

Game revisions are still marked using stamp codes, NN[A], where NN is the factory and A is a letter of the alphabet and only present for revisions.

DogP wrote:
I just re-ran those carts […] through a CRC32 calculator program I had written, which runs on the VB and calculates the CRC32 of the cartridge in the system. The CRC32s all matched.

Well, not to rain on your parade, but that statement doesn’t alleviate our fears in the slightest.

The problem with the Virtual Boy is that Nintendo decided not to encode ROM/RAM size etc. in the game header like they did for every other system — at least up to that point (I’m not too up-to-date on NDS stuff).

So, I imagine that you either input the ROM size manually within your software, or check if the header exists at 0x7FFDE0 & 0x7FFFFF, 0x3FFFFF, 0x1FFFFF etc. programmatically.
The latter is still not too definitive as a game could easily have the same bytes in multiple places, but should be enough.

For instance, I can also confirm the old Innsmouth CRC32, simply by over-dumping and not checking whether or not the first half of the dump is actually identical to the second half.

DogP wrote:
I attached a pic of the carts

Would it be possible for you to take a picture of the cart PCBs? I’m kind of a stickler for accuracy in that regard.

So far, only VUE-AA-01, VUE-AA3A-01 and VUE-(E)BA3A have surfaced, so it would be “easy” to assign the right PCB for each game. But having actual proof would be far preferable IMO.

cYa,

Tauwasser

BigFred wrote:
About Virtual Fishing: I remember I took the hash (crc32 526CC969) from your old list of hashes which also made it into Red Dragaon afair. Can you please tell me if this was a new dump when you did it and you “released” this dump to the public or did you never do such a thing and just confirmed what you already found in goodvboy at that time? Important to know if this is a one-time-dump or a real confirmation (even if your tool calculates the same hash in the past we encountered original carts which contained faulty chips resulting in “bad” dumps so we never apply a verified to a unique crc no matter how reliable the dumping method).

Hmm… honestly I really don’t remember if mine was a new dump or whether it matched an existing dump… it’s been so long since I originally dumped my collection (~2002 or so). I don’t think I ever publicly posted them anywhere, but I sent them to several people on IRC, so they easily could have made their way to the public (I didn’t ask that they be kept private or anything).

I just downloaded one from Emuparadise, and it matches my CRC32 and has a date of 1996… but of course file timestamps can easily be modified, so that doesn’t really tell whether it’s my dump or not. So yeah… it’s possible that my specific cart is different than others’ (and maybe “bad”). I’ll dig through my stuff and see if I still have another Virtual Fishing cart around here (I don’t think I do… but I sometimes dig through boxes and find stuff I don’t remember having… and I tend to buy stuff that I already have several copies of). 🙂 A friend of mine does have one… I can ask him to bring it by next time I see him.

BigFred wrote:
Just to avoid misunderstandings: So this means you also redumped Innsmouth and you can confirm the “new” hash 83CB6A00 that was found recently? Would be very nice to have a confirmation.

Correct… I had redumped my collection with the link cable dumper, and got reliable results on all games (I’d hope the VB could reliably read its own carts). 😉 And yeah, the CRC32 of my Innsmouth dump is 0x83CB6A00. I also just verified my cart again yesterday on the VB with the CRC32 checker.

Tauwasser wrote:
Well, not to rain on your parade, but that statement doesn’t alleviate our fears in the slightest.

The problem with the Virtual Boy is that Nintendo decided not to encode ROM/RAM size etc. in the game header like they did for every other system — at least up to that point (I’m not too up-to-date on NDS stuff).

So, I imagine that you either input the ROM size manually within your software, or check if the header exists at 0x7FFDE0 & 0x7FFFFF, 0x3FFFFF, 0x1FFFFF etc. programmatically.
The latter is still not too definitive as a game could easily have the same bytes in multiple places, but should be enough.

For instance, I can also confirm the old Innsmouth CRC32, simply by over-dumping and not checking whether or not the first half of the dump is actually identical to the second half.

Attached is a screenshot of my test app… it outputs the CRC32 of all the common sizes (homebrew and commercial… simply over-reading if the ROM size is smaller), and you have to decide which is correct (either examine the data to figure out the size, look at the physical ROM used, etc). In the case of Innsmouth, I’m fairly sure it’s well established that it’s a 1MB ROM.

IMO, looking at the size and CRC32 from the no-intro database and comparing that CRC32 with the one of the corresponding size in my test app is a pretty reassuring check that they match. I had written that app because I was troubleshooting problems that I thought might be caused by some crappy flash chips… but it seemed like an appropriate test here too. I don’t have an assembled USB link cable right now or I would have just redumped the carts again.

I’m not quite sure I understand what you’re saying about the old Innsmouth CRC32 though… are you saying the old “good” ROM was correct, but simply over-dumped? That should have been easily caught by a quick check in a hex editor.

Tauwasser wrote:
Would it be possible for you to take a picture of the cart PCBs? I’m kind of a stickler for accuracy in that regard.

Yep, I can… it was getting late last night and I didn’t feel like pulling apart a bunch of carts, but I wanted to post pics at least as “proof” of ownership.

DogP

Attachments:

DogP wrote:
Attached is a screenshot of my test app… it outputs the CRC32 of all the common sizes […], and you have to decide which is correct […].

[…]

I’m not quite sure I understand what you’re saying about the old Innsmouth CRC32 though… are you saying the old “good” ROM was correct, but simply over-dumped? That should have been easily caught by a quick check in a hex editor.

It should have been easily caught, but apparently, it wasn’t caught. After all, some people test by dumping and running an emulator. That would of course work for an overdump, since the vectors are correct.

DogP wrote:
IMO, looking at the size and CRC32 from the no-intro database and comparing that CRC32 with the one of the corresponding size in my test app is a pretty reassuring check that they match.

Well, it doesn’t totally preclude a situation where the publicized size and CRC32 are for a bad dump. Over-dumps will work in emulators, which most figure is good enough, under-dumps at least won’t run — except for the slim chance developers put the vector table at the right spot in the half-size ROM.

I agree it’s somewhat farfetched, but so far, the track record has shown that even for widely dumped, hashed systems, e.g. Game Boy, bad dumps — including bad metadata such as bad ROM size, bad RAM size — do occur.
So it’s preferable to have someone knowledgeable check the dumps out.

DogP wrote:
Yep, I can… it was getting late last night and I didn’t feel like pulling apart a bunch of carts, but I wanted to post pics at least as “proof” of ownership.

Thanks, that’s wonderful!

cYa,

Tauwasser

Tauwasser wrote:
So it’s preferable to have someone knowledgeable check the dumps out.

Yep… no doubt we need knowledgeable people dumping/verifying ROMs… my point was just that by checking the CRC32 of my cart again (quick and easy to do), I could tell with very high confidence that the cart still matched the dump I had previously made (so I don’t question whether my dumper was faulty)… which I can compare with the database. If the cart CRC32 didn’t match my dump, I would have said my dump was suspect. Of course I could add automatic size detection, md5, and sha1 code to the app so the database entry could be generated directly from the cart in the system, but that’d be much more complex, take forever to compute, and probably not fit in RAM. 😉

Anyway, attached are pics of the opened carts, and the numbers stamped on the label are below:
3-D Tetris -22
Jack Bros US – 22
Mario Clash – 12
Nester’s Funky Bowling – 22
Panic Bomber US – 12
Virtual Fishing – 22
Virtual Lab – 22

DogP

 

Write a reply

You must be logged in to reply to this topic.