CloudMax's ROM Patcher v1.1

The tool has been tested and works on the latest version of Chrome, Firefox, Opera and IE.

Internet Explorer 9 and below is not supported due to lack of proper file and binary support.


I cannot guarantee that the tool works properly in all scenarios. Always keep backups.

Importing Textures
0/0
0%

Changelog

Version 1.1 (Released 2/17/2014)
  • The patcher should no longer cause the browser to freeze when comparing two files.
  • You can now provide multiple patch files at once by using .zip archives.
  • patch_format.txt has been rewritten for the most part and is now cleaner & easier to understand.
  • Several new commands has been added, more info about them is available in patch_format.txt.

Contact

You can get in touch with me over at the BadnikNET #zelda IRC.

IRC
Generate Patch

To generate a patch, drop two ROM files on the page together. They must be the same size.

The tool will find the differences in the two files and generate one patch for each of them.

The extension of the ROM must be .z64, .n64 or .v64 (The tool does NOT byteswap the ROM)


Apply Patch

To apply a patch, drop the patch .txt or .zip file and ROM file on the page together.

The extension of the ROM must be .z64, .n64 or .v64 (The tool does NOT byteswap the ROM)


Patch Format

The patch is a .txt file.

Each line represents an address within the ROM, and the hex to write at that location.

The address and hex is separated by a comma (,).

All spaces and tabs are omitted by the patcher, so you may use them to separate things.

Everything written behind a semicolon (;) is treated as a comment and is omitted.

The address can be complicated expressions, or just a static address.


Example

0x00A94000+0x1000,0123 4567 89AB CDEF

This would write 0x0123456789ABCDEF to 0x00A94000+0x1000, which is 0x00A95000.


Zip Packs

You can apply multiple patches at once by placing all the patch .txt files within a folder named patches in the root directory of a zip archive. Like pack.zip/patches/test.txt for example.

You can also place a patch file called "_init.txt" in the root directory of the zip archive.

This file is always read first. variables are carried over to the other patch files.


Advanced

Conditions, pointers, variables, file offsets, and much more is also available.

Read the patch_format.txt file for information on how to use them.