GZ, more formally known as the Ocarina of Time Practice ROM, is a trainer and practice utility for Ocarina of Time speedruns. It supports its own file format for input files, .gzm, and it is the preferred format for Ocarina of Time TASes among its community.

Creating the Trainer ROM

  1. Go to https://github.com/glankk/gz/releases and get a Windows package for the latest release
  2. Launch gz-gui.exe and point it to the ROM you want to patch
  3. Hit Go! and save the patched ROM as a new file, it should have a gz- prefix automatically added

Creating the SD card image

  1. Launch a relatively modern version of the Dolphin emulator
  2. Go to Config -> Wii -> SD Card Settings
  3. Set SD Card Path to where you want the resulting image file to be
  4. Set SD Sync Folder to a folder that only contains the macro file for the Trainer ROM
  5. Set SD Card File Size to 64 MB (bigger size shouldn't be needed, and going too big will crash Bizhawk)
  6. Hit Convert Folder to File Now and hit "Yes" to confirm.

Using with BizHawk

  1. Use BizHawk 2.11.1 or newer (for SD card support in the Ares core)
  2. Open Tools -> Multi-disk Bundler
  3. Set Output Bundle Path to where you want the resulting bundle to be
  4. For System select Nintendo 64
  5. Drag'n'drop GZ ROM and SD card image into the dialog (or specify the paths to them manually)
  6. Hit Save and Run
  7. Go to Config -> Controllers and make sure P1 DPad directions are bound to something you can use, those are what the GZ menu uses to navigate, also note how P1 L and P1 R are bound
  8. Press P1 L + P1 R to show and hide the GZ menu, P1 DPad directions to navigate, and P1 L to select the current entry
  9. Navigate to macro menu and inside it select import macro
  10. You should see that the original name of the macro file is there and highlighted, hit P1 L to confirm
  11. Navigate to play macro and select it
If the goal is determining the amount of frames the macro takes in Ares, start dumping video with the most lightweight command before starting the macro replay (ideally with bizhawk's input display visible and with Capture OSD option enabled). That way you'll be able determine which emulated frame it started and ended on and use that difference to set duration in the macro file itself.
Example of an XML file that you've created:
<BizHawk-XMLGame System="N64" Name="gz-oot-1.0-j">
  <LoadAssets>
    <Asset FileName="./gz-oot-1.0-j.z64" />
    <Asset FileName="./sd.raw" />
  </LoadAssets>
</BizHawk-XMLGame>

Setting up on console

Pre-requisites:
Important note when using the Summercart64: The ROM must be loaded from the N64 flashcart menu and not automatically launching it when powering on the console, otherwise, you will not be able to access the SD card's filesystem!
  1. Put the practice ROM and the macro on the SD card and insert it to your flashcart.
  2. Power on your N64 and open the ROM.
  3. Press L+R to show and hide the GZ menu, use the D-Pad to navigate the menus, and press L to select the current entry.
  4. Navigate to the macro menu and inside it select import macro.
  5. Navigate to where the macro is located, then press L to confirm.
  6. Navigate to the play macro entry and select it to play it back.

A note on timing

As of the time of this writing, .gzm files do not provide a deterministic timer, as such a timing is made complicated due to several factors related to how the Nintendo 64 console and Ocarina of Time work. For the purposes of alowing publication of movie files, we currently override the movie_last_recorded field in the file, found in the last 4 bytes, with a framecount that matches the timing measured after syncing the movie in Ares64, under a flat 60 FPS. Note that gzm files are Big endian binary files.

EmulatorResources/GZ last edited by feos on 5/2/2026 4:31 PM
Page History Latest diff List referrers View Source