Changes

Jump to navigation Jump to search

ROM hacking resources

2,354 bytes added, 23:54, 21 September 2016
General Resources
We know Mario's clothes change color after eating various items. But the tile data drawings are stored just once in the ROM. There's separate palettes telling the game to colorize the same drawing differently each time.
 
==Emulators for ROM Hacking==
Not all emulators are made equal. Often, you'll need to study the game as it runs, for the following reasons:
 
* Cheats: You modified some text and graphics in the final stage, and can't be bothered to replay the whole game legitimately. In case the emulator doesn't support this natively, you might want to consider using Cheat Engine.
* Save States, Rewinding, Fast-Forward, Frame Advance, Pause: You modified something appearing in a very narrow timeframe, or you just want to take clean screenshoots of the game.
* Debuggers w/ Breakpoints: A breakpoint throws a fit and pauses the game if a specific address is tampered with (of course, to know WHICH address it is, you need to find it first with a Cheat Search / RAM Search).
* Debuggers w/ Disassembler: Translates the last few lines of programming executed from hex code to known opcodes telling which instruction is which (LDA/LDR/LD (load to accumulator/register), STA/STR/ST (store to accumulator/register), NOP (do nothing)...). After a breakpoint, it gives you the programming line (in assembly) directly responsible for altering the address the breakpoint was guarding against reading/writing/executing attempts. This is incredibly invaluable to understand the game's programming.
* Debuggers w/ Assembler: Allows the user to write their new lines of programming, which are then converted to the corresponding hex data. It's rare emulators include this, assemblers are often separate tools affecting the ROMs or to be inserted manually by users in ROMs.
* Debuggers w/ Tracers: The emulator logs ALL programming lines executed, from since you started logging, to a text file. It can get huge pretty quickly, so it's best used with breakpoints and frame advance features to better locate what you're looking for.
* Memory Viewers w/ Hex editors: Views the RAM (and possibly other memory areas like SRAM, VRAM, ROM...) as the game is being executed. Either the window is read-only, or can be edited.
* Memory Viewers w/ Tile Editors: Views the VRAM (and possibly other memory areas) and interprets its content as visual data. Emulators 3D systems can also have model viewers and texture viewers.
* Background / OAM Viewers/Dumpers: View the graphics as they are arranged in-game. Can be useful occasionally. Often used for dumping graphics by sprite rippers.
==General Resources==
*[http://fusoya.eludevisibility.org/ FuSoYa's Niche] - Site of the creator of the popular Super Mario World editor, Lunar Magic.  Also hosts a set of tools for ROM expansion, patching, compression, etc.
*[http://www.zophar.net Zophar's Domain] - A site that hosts lots of smaller patches, such as spoofs, as well as a significant amount of major ones.  Hosts a lot of content that can't be found on ROMHacking.net
 
==Programs==
===General purpose 2D graphics/tile editor===
Anonymous user

Navigation menu