farmerbb / RED-Project

ROM Extraction Documentation Project
181 stars 8 forks source link

Gimmick! Special Edition on Steam - can an NES/Famicom ROM be extracted? #107

Open Rot-gut opened 11 months ago

Rot-gut commented 11 months ago

Link to the game: https://store.steampowered.com/app/2131800/Gimmick_Special_Edition/

Not seeing anything that looks like a ROM in there. The biggest file is "AR_win32.mdf" so maybe it's in there?

kjetil-f commented 11 months ago

Wondering if this is a Carbon Engine emulated game. Have people had any luck extracting ROMs from those releases yet?

DrAzathoth commented 11 months ago

I dumped it from RAM, so it is definitely in there somewhere. The ROM I got is a nice clean Japanese one according to No-Intro.

kjetil-f commented 11 months ago

What's your method for dumping from RAM? Never tried that. I guess that could be doable on a lot of compilations and re-releases that uses emulation.

DrAzathoth commented 10 months ago

For Windows, I use Task Manager to create a memory dump of whatever program I want (i.e. Gimmick! Special Edition). Keep in mind the memory dumps can be fairly large.

DrAzathoth commented 10 months ago

It probably would be easier (and cheaper) to get it from Project EGG.

kjetil-f commented 10 months ago

I looked into Project EGG. What is it exactly? Some stort of digital store for old video games, simular to GOG, only it's for old japanese computers and consoles?

Rot-gut commented 10 months ago

Steam Guide happens to have a ROM extraction guide.

https://steamcommunity.com/sharedfiles/filedetails/?id=3003875376

When extracting through a RAM dump file, the MD5 checksum for the .nes file is AD0D8625249774C6C819238F71A86C29 When extracting through Gimmick_ROM_extractor.exe, the MD5 checksum for the .nes file is C9D41739DE68B004F136623AFC4822E2.

No-Intro's .nes file dump MD5 hash is 5ff815533e1044d2c1035a65be37f8f1.

Why are the hashes all different?

https://datomatic.no-intro.org/index.php?page=show_record&s=45&n=0857

RealRelativeEase commented 10 months ago

Why are the hashes all different?

Most re-releases of NES and SNES games have been altered to remove references to Nintendo, like the "Licensed by Nintendo" text on title screens, resulting in different hash values for those ROMs.

DrAzathoth commented 10 months ago

The author of the ROM extraction tool explains this now on the Steam guide, but I will paraphrase it here.

The reason for the RAM dump tool producing a different ROM is because it accidentally created an overdump (which is now fixed); after the fix, it now produces the same ROM as the one extracted from the game itself. The reason for the two hashes being different is due to different iNES headers.

A good way to check if your ROM (especially NES) matches No-Intro is by using this tool: https://www.romhacking.net/hash/ If a match doesn’t appear with the tool itself, then compare the “ROM hash” with its headerless hash from No-Intro. If they match, then it is a No-Intro certified dump of some kind.

P.S. It is good to update the ROM header to No-Intro’s. Theirs is the most up to date and resembles the cartridge’s hardware most accurately. Now that I think about it, NES ROMs and their iNES/iNES 2.0 headers should probably have their own Wiki page to avoid further confusion.