Dwedit wrote:So what do you call a romhack that is built from a full rebuildable disassembly of the game? At that point, it's sort of a cross between Homebrew and Rom hacking. It's still based on someone else's code, but you have the full ability to change anything as if you had the source code.
Just a really really advanced romhack?
Need clarification on this: do you mean literally this process and nothing else?
1. Disassemble existing ROM (or use an existing disassembly somewhere)
2. Reassemble disassembled results into a working ROM file (and verified it's 100% identical to the original, if possible)
If that's all that's done, then this isn't a romhack or homebrew, it's instead pointless. :-)
If between steps 1 and 2 there's some kind of modification done, then it's a romhack. A good example is how I did the FF2j/FF2e intro for Neo Demiforce:
1. Demi sent me an IPS patch with all of his work + the CRC32 of the source ROM he used
2. I applied the IPS patch to the same ROM
3a. I disassembled the now-patched ROM
3b. ...split it up into relevant PRG portions
3c. ...reverse-engineered a good portion of the existing intro
3d. ...reworked badly-disassembled stuff (data vs. code)
3e. ...commented a bunch of Square's functions, made labels for them (I re-used theirs due to limited free space)
3f. ...wrote the intro, as well as an RLE compression routine in Perl and an RLE decompression routine in 6502 since the graphics BiGWiERD did were too large to fit natively
3g. ...added my own code using
.incsrc equivalent, making sure it fits, nothing breaks, blah blah
3h. Reassembled results
3i. ...made sure all label-ised addresses were the same (orig vs. intro-ised), just in case existing game routines happened to have something I missed in step 3d that would do something like JSR $addr where now it should be JSR $addr+12 due to the intro injection
3j. ...did a binary compare to ensure the only changed stuff was related to the intro
4. Made an IPS patch vs. the original ROM (so IPS patch included translation + new intro)
5. Gave Demi the IPS patch
In this case, the romhack genre falls into the category of Translation/Translated, because that's what the goal was.