Davepatcher, a NES romhacking tool
I made this as sort of a swiss army knife for NES roms, partly out of frustration with all the tools out there. It's used by building and editing scripts, and there's a "Launcher" gui app that comes with it. You can script some nice complicated (or simple!) things to produce rom hacks. One of the nicer features is defining tilemaps so you don't have to do the whole puzzle piece thing every time you want to edit some tiles (I'm looking at you Tile Layer Pro). Instead just edit a .png file that looks something like this:
What else does this do?
* import/export tile data, optionally using a nice defined tilemap
* apply IPS patches, create IPS patches (no RLE yet)
* apply game genie codes
* change rom data in various ways
* display a binary diff
* search, replace, define textmaps to easily change text
* basic scripting stuff like if..then blocks, loops, variables (don't be frightened by this)
The nice thing is you can script it so you can have variations on your hacks, try different things, create multiple versions, etc. Take a look at the samples in the github, and the docs to get a better idea of how this all works.
Let me know what you guys think, or if you find this useful.
Note: The launcher is made with AutoHotkey, and may be reported as a virus. For more information see here: https://www.autohotkey.com/docs/FAQ.htm#Virus
Taken from: http://spiderdave.com/davepatcher/ref.php?q=whyuse
Why Use DavePatcher?
Ok, so you've had great success with a hex editor and tools like Tile Layer Pro etc, so why use DavePatcher?
• Keep track of all your changes, turning them on or off with a setting or script.
Everyone seems to just edit a .nes file directly with a hex editor, tile editor, and various other editors. The problem with this is you don't have good clear way of handling all the seperate changes you make. With the script you can easily see all the changes, and remove or edit them later if you change your mind. You can even script to create multiple builds at once, saving a file before adding more things like debugging stuff or cheats, or alternate versions.
• Better handling of .ips patches.
Ok so you have your rom hack halfway done, and now you find an .ips patch that adds a bunch of cool stuff. The problem is, some of the stuff it changes is changed in your hack too, and you need to apply it *before* your changes. What you'd normally do here is stop, make an .ips using Lunar IPS, apply the cool new .ips file to an unmodified rom, then apply your .ips. Now what to do if you change your mind about the cool patch later or find a better version that conflicts?
With scripting you can just easily apply multiple .ips patches, removing them or rearranging them as you like.
• Edit graphics without assembling tiles
Once you have tilemaps defined, you can edit graphics just by editing a .png file, with everything all arranged neatly, using the correct palette. You can even rip graphics from romhacks using the same method. You could even script something to rip graphics from one game and apply it to another!
• Use as a searching tool
Finding data is as easy as "find a902". If you have a textmap defined, searching for text is as easy as "find text GAME OVER".
• Collaborate and share
It isn't always easy to document everything, but with an organized patch, you can easily coordinate and share changes.