Page 1 of 1

Extracting ROM files from game collections

Posted: Tue May 24, 2011 9:08 pm
by DinnerX
I’ve wanted to extract the individual ROM files from game collections for some time. This is mainly because Sega Smash Pack: Twin Pack will kick me out to the main menu after awhile on any game I play in Smash Pack 1. No idea why.

For some collections you can easily use tools to decrypt the ROM files that are on the CD or DVD, but for others, like Sega Smash Pack and Sonic Mega Collection, there are no tools. I could have just downloaded the ROM files, but that seemed like cheating.

Anyway long story short eventually I learned enough about computers to get the Roms extracted by cutting them out of the computer’s ram while the collection had the game loaded. I thought someone else might be interested in doing the same thing so here’s a little guide.

In this guide I will extract Sonic the Hedgehog 2 from Sonic Mega Collection (GC)

First rip the Sonic Mega Collection (SMC) disk. Cleanrip for the wii is the easiest way to do this.

Next download and install Hxd. This program is a hex editor that also allows you to view your ram.

After that download the latest 32-Bit build of the Dolphin Gamecube emulator. It has to be the 32-Bit version, because Hxd can only view the ram of 32-Bit programs. For this task it doesn’t really matter if you get good Fps running dolphin so don’t worry about that.

Run dolphin, click GC pad to configure the controllers keys, and then tell dolphin to open your SMC iso you made with cleanrip.

Image
Ta-Da, its Sonic Mega Collection. Oh joy.

Go to the game menu. I find the title screen to be unresponsive and have to mash the start button a ton to get through it.

Now the interesting part begins. Select Sonic the Hedgehog 2 on the menu. If you get a black window but dolphin doesn't crash don’t worry it should be OK still. Pause Dolphin so it quits eating up CPU and start HxD. You may have to run HxD as the administrator.

In HxD pick “Extras” and then “Open Ram.” and select dolphin from the choices.

Image

Image

Click “Search” then “Find.” Click the text and case sensitive options and search for “SEGA GENESIS” (for some games it's SEGA MEGA DRIVE) press F3 to continue searching until you get to something like this.

Image

Now from the Sega genesis row back up 16 rows.

Image

I find it's easiest to count by holding down the mouse button and selecting the rows as I go. Click at the very beginning of the selection after you've counted.

Look up the size of the game cartridge. Wikipedia usually says what megabit a cartridge was. For Sonic the Hedgehog 2 it's 8 megabits. HxD, being a hex editor, likes to work with hexidecimal numbers. To convert the decimal amount of megabits, in this case 8, to a hexidecimal amount of bytes you must take the number of megabits times 12500. For 8 the result is 100000.

Now you can click “Edit” and then “Select Block.” Make sure the “hex” option is set, then select length and put in the number we got in the previous step.

Image

Now click the little paper in the top left of HxD to make a new file. Press Ctrl+v to paste the selection in to this new file. Click file and save as. Save this new file as a romname.bin file, but put something appropriate in place of romname.

There you have it. That is the rom. Now there are all kinds of amusing things that can be done with it, as you probably know if you are reading this guide.

If you want to do this to some other collection use the same basics steps. Start the game in the collection and then cut out the ROM file using HxD.

As some extra tips, if you want to do this for all the games on a collection download a save from gamefaqs so you don't have to unlock the games. Also make a save state in dolphin at the game select menu.

Please post if you've got comments, suggestions, questions, or found a mistake. Sometime I might make another guide on rom extraction if there's interest.

Re: Extracting ROM files from game collections

Posted: Wed May 25, 2011 9:02 am
by DinnerX
Dang, well...I just realized I've been unobservant. :roll: If I understand the large, right under my nose, READ ME correctly moderators are supposed to move topics here? Is that correct? Some mod please delete this thread if that is so. I don't seem to be able too. But perhaps I'm clueless there too. Jee, I feel like a jerk for this, I'm sorry.

Where should I put this thing?

Re: Extracting ROM files from game collections

Posted: Wed May 25, 2011 10:21 am
by fastbilly1
What you did is correct, that readme needs to be updated.

Re: Extracting ROM files from game collections

Posted: Wed May 25, 2011 10:30 am
by Hatta
Hey, that's pretty cool. Would be interesting to do some binary comparisons to see if they changed anything for the compilation.

Re: Extracting ROM files from game collections

Posted: Wed May 25, 2011 10:47 am
by CRTGAMER
Very Slick!
Most Roms are easily found online, but the "I did it myself" is satisfying. This can be especially useful for some roms such as Betas that are in some game collections. Opens up possibilities, maybe Activision Anthology?

Re: Extracting ROM files from game collections

Posted: Wed May 25, 2011 12:28 pm
by DinnerX
fastbilly1 wrote:What you did is correct, that readme needs to be updated.


Yay, glad I ended up doing it right.

Thanks for the complements guys!

It is interesting to see unreleased stuff. In Sonic Mega Collection you can use a code to play a version of Sonic 1 where spikes don't basically instant kill you. I don't think Sega ever released a version like that in cartridge form. Although there have been plenty of hacks along those lines. :lol:

I don't know about atari games, but some systems don't have standard ROM formats which makes them nearly impossible to search for.

Theoretically, a collection could intentionally separate the ROM file in the computer or game system's ram to prevent people from cutting the Rom out of the ram, but I haven't run into that yet.

Re: Extracting ROM files from game collections

Posted: Wed May 25, 2011 12:42 pm
by fastbilly1
Yeah sorry, this forum needs to be updated. It is on the master to do list.