You will need to parse the header (unless it is a so-called "headerless rom") to determine the start and end of the actual ROM image to hash and compare only that. What this means is that you cannot simply compute a full-file hash of the file and compare them. Some files may have extra data at the end of the file (a trailer), such as the ROM cart name - You can detect this by calculating the exact ROM size, and computing the hash for only that many bytes and ignore the rest." The "defacto" header for NES carts is iNES, which is 16 bytes. Original comment: "It is my understanding that the "No Intro" data set hashes are hashes of only the ROM image data - that is, any header, "trainer", and/or "trailer"/extra data is removed. I am changing my original comment to an answer. (It does technically also do hash checking, but its built-in checksum verification and "rename to match filename defined in datfile" ( -rdat) functions are archaic, so you'd need something like DatUtil (EXE and source) to convert more modern hash database formats to what it expects.) (For example, see ucon64 -help -n64 for more info on byte-swapping N64 ROMs.) There's an open-source swiss army knife for ROMs named uCON64 which can serve pretty much any ROM reformatting needs you might have. (byte-swapped, word-swapped, both, or neither) N64 ROMs can take four different forms, depending on how the dumper laid out the data it retrieved. It's also possible your ROMs are in a different format, though less likely. If I remember correctly, it's the first 16 bytes you need to skip on those. In my experience, NES hashes are typically calculated against the ROM data with the iNES header stripped off, so the hashes don't depend on header values which vary from dumper to dumper and may have been modified to automatically trigger emulator-specific compatibility tweaks. Have you tried the hashes from DAT-o-MATIC instead? Those are what I go by. It seems unlikely (although definitely possible still) that somebody would go out of their way to rename bad ROMs to such a strict and specific naming scheme. For example: Zelda II - The Adventure of Link (Europe) (Rev B).nes. This is all very confusing to me since my ROMs follow a very strict naming convention. I want to be sure that I have only the exact data on the cartridges. I hate the thought of having some kind of "hacked" ROMs where some dude in 1997 or something modified the game slightly so that it runs differently. I assume that No-Intros' data is correct, or at least is not so massively incorrect as to give the wrong hashes for every single ROM I own. But even more than that, I would like to know if my guess is even right at all. If possible, I would like to "clean" the ROMs myself with some simple logic or some very trustworthy self-contained script or something. However, I feel very, very scared about running software on my computer, so this would have to be a last resort, plus I'm not sure I can find any usable such software. I also vaguely know about programs that can scan and "repair" dirty ROMs to make them clean. Now, I vaguely know that many ROMs circulating over the decades have been "dirty" ones with modified headers (but otherwise identical game contents), messing up the hashes. Check what SHA1 hash No-Intros claims that this exact file name has in my database: 66883b9eddec933e36b6bff0479cefd2434ffb40Īpparently, every single ROM I have is modified somehow.Calculate the SHA1 hash sum for the file, in this case: 817169b819aadaae52cce6b3d8d2fc24270566d7.Pick a ROM file, such as: Tetris (Europe).nes.My database does contain the correct information from their database. I have very carefully double-checked that it's not a bug in my script. I then looped through all my ROM files and checked if they match their data. Recently, I found out about the "No-Intros" database, and thus made a script to import all the filenames and hashes into my database. These ROMs match exactly those games that I own or owned growing up. I have a collection of ROM files for the NES, SNES, Nintendo 64 and others.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |