This repository houses the code and binary patches and original assets necessary to recreate the Ocarina of Time Randomizer that runs directly on the Nintendo 64 console.
The patches are available both in a single massive patch file for applying to a branch of the decompilation of Ocarina of Time, and separate individual file patches in the same folder structure as the decompilation.
bsdiff patches are available on the latest release page.
Most people should choose the ntsc.bsdiff file to download.
If you are going to run the ROM directly on a PAL console, or have other reasons for wanting it, download the pal.bsdiff file.
You can use this online patcher to apply the patches.
Use the bspatch section.
For OldFile you want an NTSC 1.0 U version of Ocarina of Time with an extension of .z64.
Select the .bsdiff file you downloaded above into the PatchFile box and click run.
The resulting ROM file should be playable on stock Nintendo 64 consoles. You don't even need the RAM expansion.
This project will not run properly on the Wii Virtual Console emulator at present. It will also not work properly on graphics plugins other than Angrylion or ParaLLEl-RDP. Other emulator inaccuracies may also impact your experience. The only supported emulator is Ares.
Contributions are limited. There are various factors at work causing this. If you wish to try and contribute still, start a discussion on the Discord channel.
Building has only been tested on native Linux. WSL and Docker should work just as well but are untested. macOS may require additional setup not supported here.
Follow the installation instructions on the decompilation readme with the additional step after cloning the repository and changing into the new directory checkout the commit the patch file was made against using git again.
git checkout b204d6c089a0c8c64c180f40436682be3848f0e9Continue to follow the README there until you build a working ROM to ensure the build environment is working. To shortcut some of the setup for randomizer, use pal-1.1 as the base version. This is not required though, as the remainder of these build instructions will explain to do so too.
Download the patch file and place it in the oot folder.
Use git to apply the patch file.
git apply ./patchPlace a copy of the PAL 1.1 ROM inside the baseroms/pal-1.1/ folder.
Rename the file to baserom.z64, baserom.n64, or baserom.v64, depending on the original extension.
Set up and extract everything from your ROM with the following command:
make setupThis downloads some dependencies (from pip), and compiles tools for the build process.
Then it generates a new ROM baseroms/pal-1.1/baserom-decompressed.z64.
It will also extract the individual assets from the ROM.
Run make with the compress target to build the ROM. Make sure your path to the project is not too long, otherwise this process may error.
make compressIf all goes well, a new ROM should be built at build/randomizer/oot-randomizer-compressed.z64