Skip to content

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.

Notifications You must be signed in to change notification settings

flagrama/N64-OoT-Randomizer-Patches

Repository files navigation

Ocarina of Time N64 Randomizer

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.

Usage

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.

Emulators

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.

Contributing

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

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.

Linux

1. Install build dependencies and clone the repository

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 b204d6c089a0c8c64c180f40436682be3848f0e9

Continue 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.

2. Download the patch file

Download the patch file and place it in the oot folder.

3. Apply the patch file

Use git to apply the patch file.

git apply ./patch

4. Prepare a base ROM

Place 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.

5. Set up the ROM and build process

Set up and extract everything from your ROM with the following command:

make setup

This 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.

6. Build 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 compress

If all goes well, a new ROM should be built at build/randomizer/oot-randomizer-compressed.z64

About

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.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages