+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  How do I apply ROM hacks?
Pages: [1]
Author Topic: How do I apply ROM hacks?  (Read 383 times)
Danjen
Guest
« on: December 07, 2007, 01:45:12 am »

This identifies me and "t3h ubernoob", but how do I apply a hack to a rom? For instance, I want to try Metroid Legacy, but I'm not sure how to run it with my Super Metroid rom. How does one do this?
Ryusui
Guest
« Reply #1 on: December 07, 2007, 02:07:12 am »

There are two ways.

1. Soft-patching. Just put the (unzipped!) ROM and IPS file in the same directory, and make sure their names (not counting the extensions) match: i.e., "Super_Metroid.smc" and "Super_Metroid.ips" will work, but "Super_Metroid.smc" and "MetroidLegacy.ips" won't.

2. Hard-patching. Use an IPS tool of some sort to apply the patch directly to the ROM. NINJA associates various patch formats with itself, simplifying the process somewhat: if you're a Windows user with .NET Framework 2.0 installed, you might want to try it.

Note that SNES ROMs come in two varieties: headered and unheadered. A header is not necessary for SNES ROMs to run: they're a holdover from the days when copiers were the chief method of running ROMs. A header consists of an additional 512 bytes (200 in hexadecimal) appended to the start of a ROM; there are tools such as NSRT that can tell you if your ROM is headered or not, and add/remove headers as needed.

That said, patches do care what kind of ROM you apply them to: a patch intended for a headered ROM will corrupt an unheadered one and vice versa. Check the documentation that comes with the patch to make sure you're applying it to the right kind of ROM.
creaothceann
Guest
« Reply #2 on: December 07, 2007, 02:30:07 am »

Quote from: Ryusui on December 07, 2007, 02:07:12 am
Just put the (unzipped!) ROM and IPS file in the same directory

Also works with zipped ROMs, e.g. "Metroid Legacy.zip" containing the Super Metroid ROM renamed to "Metroid Legacy.sfc".
Danjen
Guest
« Reply #3 on: December 07, 2007, 02:32:28 am »

Okay so let me make sure I understand this. ROMs run regardless of whether headered or not, but mods and hacks do care about headeredness. They just both have to match up?

And I don't suppose that there is a convenient way to edit ROMs, like a user-friendly object placer? Or is it the boring, old-fashioned hex editing?
Ryusui
Guest
« Reply #4 on: December 07, 2007, 03:07:11 am »

Yes, emulators are capable of checking ROMs for headers and ignoring them if present. An IPS patch, on the other hand, just tells the patcher how to modify the ROM; it doesn't check to see if it's patching the right ROM. Imagine a list of directives describing how to turn a book into a derived work: "replace word 4 of sentence 8 in paragraph 2 on page 43 with 'fhqwhgads'""; replace sentence 2 in paragraph 5 on page 178 with sentence 6 in paragraph 1 on page 87", etc. These directives would be completely screwed up if some publisher added a ten-page foreword to the book beginning at page 1, shifting all the page numbers up by 10 as a result. There are other patch formats which do check to see if they're being applied to the right ROM (NINJA was developed as such a format, though to my understanding the project is dead), but IPS is by far the most prevalent.

As for your second question, the answer is "yes". Some popular games such as Super Mario World and Super Metroid have been reverse-engineered to the point that full-fledged game editors have been written for them; there's even one in the works for Super Mario RPG. Unfortunately, the vast majority of games are more or less uncharted territory. To do any hacking on them, you'd have to deal with hex editing. And to do anything major, like ripping the guts out of the game entirely and rebuilding all the levels from scratch, you'd have no choice but to code your own editor, or else slowly go insane trying to accomplish the equivalent of sculpting a scale replica of Mount Rushmore using only a toothpick. Not to mention either path would involve some serious ASM skill, tracing routines and feeling your way around the guts of the game to figure out what makes it tick.
Danjen
Guest
« Reply #5 on: December 07, 2007, 04:29:07 pm »

And this brings up two more questions I have:
Do you guys host said Metroid editor? If so, could you give me a link or point me in the right direction?

And question number two, what does ASM stand for?
Spikeman
Guest
« Reply #6 on: December 07, 2007, 05:00:04 pm »

Quote from: Danjen on December 07, 2007, 04:29:07 pm
Do you guys host said Metroid editor? If so, could you give me a link or point me in the right direction?

Here. There are Utilities and Documents sections of the site which you can reach via the sidebar to the left. Also you'd be well off reading the FAQ.

Quote
And question number two, what does ASM stand for?

You'd also be well off reading the Dictionary of ROMhacking terms.
Danjen
Guest
« Reply #7 on: December 07, 2007, 05:17:54 pm »

Okay, thanks guys. You all rock. Seriously.  :thumbsup:
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC