Rom handling guide for dummies
Introduction
This simple guide attempts to cover any doubts novice emulator users may have.
While this file has no intention of teaching users how to use emulators, it will
try to instruct players on how to prepare their rom files for use with our patch releases.
Rom Preparation
In order to patch successfully one must prepare their rom files accordingly.
Always refer to the readme file of the patch you intend to use before
doing anything else, you'll save yourself a lot of time and frustration,
trust me on this.
Pay attention to the parameters the readme file specifies;
I will cover some of them.
CRC32
A 32-bit cycle redundancy check.
In layman's terms it basically tells you if the rom you
have matches the the rom the patch requires.
It is also a good idea to have a good rom tool for the system
in question, it checks whether the copy you have
is a verified dump and therefore useable.
Its not uncommon that rom sites will add symbols
to the files they make avaliable. To spare readers
from unnecessary information, suffices to say one
should always look for a [!] on the name of the
file, it signifies a good dump by standard.
Filesize
Readme files will usually contain the filesize
of the proper rom for the patch used, and its usually
expressed in bytes. To check that, make sure
your rom is unzipped and right click it, then
click on properties and check the size in
bytes. If it doesn't match you either have
a bad dump or you need to add or remove
headers from the rom.
Headers
A header us a part if a rom's memory that contains
some basic data about the file, like version and extension;
while it tends to be unecessary for emulation purposes,
some patches require that a header is present to function.
Patching Methods
Soft Patching
Soft Patching refers to the method of applying a patch to a rom to modify
it through the emulator of your choice, for the duration of your usage session.
It is the simplest method and should always be the first attempted by the user
if at all possible.
To use soft patching, follow the steps below, replacing
the generic notations I'll use for tutorial purposes with
the names of your own files:
-> Enable soft patching in your emulator of choice
The support to soft patching and how to enable it varies from emulator to emulator,
please refer to the documentation of your emulator of choice for further instructions.
-> Place your rom file and patch file in the same directory
e.g: I created the directory C:\Games then placed myrom.smc and myrom.ips in there.
If done correctly, the rom will be patched when you run it.
Hard Patching
Hard Patching refers to the method of applying a patch to a rom to modify
it permanently. For this reason, its important to keep clean (unpatched)
copies of your rom handy when hard patching is necessary.
One may ask why use hard patching at all; the main reason being
some patches behave oddly unless hard patching is used and as
much as that is not a common happening, it is a possibility.
To use hard patching, besides a clean copy of the rom and
the patch file one requires a patcher program and despite the
abundance of such programs on the internet, they are fairly
simple and intuitive to use and using any given one is
really a matter of taste or the OS in question.
A good repository of patchers:
http://www.zophar.net/utilities/patchutil.html
Alternatively:
http://www.romhacking.net/?category=2&Platform=&game=&author=&os=&level=&perpage=20&page=utilities&utilsearch=Go&title=&desc=
Troubleshooting
When something goes wrong, here's where to look.
Symptoms
When a patching process goes wrong, the emulator will usually
tell you so, and while it won't yell at you for it or throw a tantrum,
there are ways to tell what could be wrong.
Black screen at startup
This usually means something went wrong in the rom preparation phase,
For example trying to patch a headered rom when a patch expressely requires
otherwise or vice versa will certainly cause these startup hangs.
Get a clean copy of your rom and review the points above, try to
understand what you could have done wrong. If you soft patched
and got this result, try hard patching instead. Note that in the
Genesis' case errors of this nature are usually shown as
a red screen at startup.
Game runs, but it looks / plays glitched, crashes
This usually means an imperfect or somehow deffective or altered
version of the rom was used for the patching, and despite it
apparently working, the end result is not stable or playable
as intended.
Double check the CRC32 value and make sure you're using
a good dump of the rom that has a [!] in its name
Tool repository by function
Here you'll find the necessary tools to perform the operations
explained in this document.
Patchers
These will hard patch a a rom.
http://www.zophar.net/utilities/patchutil.html
Alternatively:
http://www.romhacking.net/?category=2&Platform=&game=&author=&os=&level=&perpage=20&page=utilities&utilsearch=Go&title=&desc=
Suites
Programs that combine one or more functionalities described in this guide.
Snestool
http://www.romhacking.net/utils/18/
Old fashioned but functional rom handling
suite for the SNES, can remove headers
if necessary.
Segatool
http://www.romhacking.net/utils/17/
Same functionality as above but aimed
at Genesis roms.
Nach's Snes Rom Tools - NSRT
http://www.zophar.net/utilities/snesaud.html
A more current tools suite for SNES roms,
can perform a variety of operations
including header handling.
Good Tools
These will verify your rom integrity for you, in
other words if it is a usable dump.
http://www.allgoodthings.us/mambo/index.php?option=com_simpleboard&Itemid=42&func=showcat&catid=4
Closing thoughts
Make sure you read this document carefully, its a lot of information so don't expect to get it all at once. It will become second nature if you let it but it will take a lot of trial and error,
so just do the most fail proof thing ever - practice.
If this document was unable to clear up all your question and provided you tried hard enough
by yourself to solve your problems and couldn't, address your questions to Our Forums.
-Red Soul
Document copyright is (c) Dynamic Designs, 2009