These are some of the tools used to create the patches and fix the bugs. This section will grow slowly.
CD-Tool
Utility by Pixel (Nicolas Noble). This is an API mainly intended for building Playstation CDs. It provides several interfaces for dealing with the file system, and exposes them as an extension to a Lua interpreter. It's used in this project as a Swiss army scalpel for altering the Suikoden II CD. Note that the Lua compiler/interpreter built into CD-Tool is hacked up a bit. Several standard libraries are missing or replaced, and tables index from zero instead of one. Check the readme for more information.
cd-tool_win32.zipcd-tool_linux.zip
Suikoden II Patch Build Script
For use with CD-Tool. This is offered as an example for now. The zip archive is missing a few files that are required to actually run the script and build a patched ISO.
GSIIpatchbuild.zip
ARMIPS
Utility by Kingcom. ARMIPS is a multipurpose assembler with a number of features that make it useful to patch authors and hackers. Notably, it can create assembled binary fragments, or load a target file and overwrite a specific portion of it with assembled machine code. It can also be used to write sequences of values that are not code. It can be scripted to "load" a file at a given address, which makes it easier to reconcile disassemblies and patches. With a more typical assembler, I'd be building "working" binaries of patch code, and would then have to copy the necessary portions and use them to overwrite the proper values in the target file. ARMIPS can just open the file, and overwrite the specified addresses, after it builds the machine operations.
armips_v07c.zip