Nintendo 64

N64 ROM Patcher: Byte Order and Patching Guide

N64 patching has its own classic trap: the same game dumped three different ways — .z64, .n64 and .v64 — which are byte-shuffled versions of each other. A patch built for one byte order fails on the others. Sort the byte order out first and the rest is routine.

  • Updated
  • Checked against Delta Patcher 3.1.6
  • 4 min read
  • Verified against primary sources · how we check

In short

  • N64 dumps come in three byte orders: .z64 (big-endian, native), .v64 and .n64 (byte-shuffled variants).
  • Most patches expect .z64. Convert other formats with a tool like Tool64 before patching.
  • N64 hacks are commonly distributed as BPS (checksum-safe) or XDelta.
  • Patch a copy of your dump, and test in a current N64 emulator or on a flashcart.

.z64 vs .n64 vs .v64: byte order explained

The N64’s processor reads data big-endian, but early dumping hardware and copiers stored ROMs byte-shuffled. The result is three common layouts of the identical game:

N64 byte orders
ExtensionByte orderNotes
.z64Big-endian (native)The format emulators and nearly all patches expect
.v64Byte-swapped“Doctor V64” order; needs converting for most patches
.n64Word-swapped / little-endian-ishAlso needs converting in most cases

The extensions are conventions, not guarantees — a misnamed file is always possible. The practical test: if a patch fails on your dump and the readme names a .z64, convert your file to z64 order and try again.

Converting to .z64 order

  1. Get a conversion tool

    Tool64 is the long-standing utility for shuffling between N64 byte orders. Open your dump in it.

  2. Convert to big-endian (.z64)

    Select the z64 / big-endian output format and save a converted copy. Keep the original file untouched.

  3. Verify the conversion

    Compare the converted file’s checksum against the value the hack’s readme lists. How to calculate checksums. A match means you now hold exactly the file the patch was built for.

Applying the patch

  1. Match the tool to the format

    BPS → Floating IPS (Apply Patch → .bps → ROM → save output). XDelta → Delta Patcher following the standard method. See the BPS guide for details.

  2. Use the converted .z64 dump

    Select the byte-order-corrected file as the original/source file, and the patch as the patch file.

  3. Save with the .z64 extension

    Name the output clearly, e.g. HackName.z64. Keep the extension so emulators and flashcarts recognise it.

  4. Test it

    Load the patched ROM in your N64 emulator. N64 hacks are ambitious — if one area misbehaves, check the hack’s own documentation for known issues before re-patching.

N64 patching problems and fixes

Common N64 patching problems
ProblemLikely causeFix
Patch fails immediatelyWrong byte orderConvert to .z64 order
Checksum error on BPS applyWrong dump or wrong byte orderConvert, then re-verify the checksum
Game boots but graphics are corruptPatched the wrong-order file with validation offStart over from a converted, verified dump
Emulator won’t load the patched fileLost the extension or saved in the wrong orderKeep .z64; emulators detect the rest

N64 patching FAQ

Can I just rename .n64 to .z64?

No — renaming doesn’t change the bytes. The three formats are byte-shuffled versions of each other, so you must actually convert the data with a tool like Tool64, not just rename the file.

Why do N64 hacks use BPS instead of IPS?

N64 ROMs are far larger than the 16MB IPS limit, and BPS carries checksums that catch wrong dumps automatically. See how the formats compare.

Do I need to convert if my emulator plays the dump fine?

Yes, for patching. Emulators auto-detect byte order; patchers need exact bytes. Convert to .z64 order first, every time.

What’s the difference between .z64 and .zip?

Everything. .z64 is a byte-order layout of the ROM; .zip is a compressed archive that may contain a ROM in any byte order. Extract first, then check and convert the byte order.

Flashcarts: EverDrive 64 and friends

A patched .z64 is an ordinary N64 ROM image to a flashcart — copy it to the SD card and play on real hardware. Two practical notes:

  • Keep the .z64 extension and byte order. Flashcart firmware expects the native big-endian layout; a byte-swapped file may refuse to boot even though emulators tolerate it.
  • Large hacks need current firmware. Big N64 hacks (expanded ROMs) can exceed what old firmware handles — update the cart’s OS/firmware before troubleshooting the patch.

After patching: what to expect

N64 hacks are among the most ambitious in ROM hacking — total conversions, new levels, 60fps patches. That ambition means longer load of quirks:

  • Read the hack’s documentation for required emulator settings (some need specific RSP plugins or framebuffer options).
  • If one area of the game misbehaves but the rest works, it’s almost always the hack’s known-issues list, not your patching.
  • Keep both the clean dump and the patch file archived — N64 hack updates are frequent, and re-patching a fresh copy beats re-downloading a dump.

How to tell which byte order you have

Before converting, it helps to confirm what you’re holding. Two quick tells:

  • File size won’t help — all three orders are the same size. Only the byte arrangement differs.
  • Checksums will. A dump’s CRC32/MD5 is computed over the bytes as stored, so each byte order has a different checksum for the same game. If the readme lists a checksum and yours doesn’t match, either the dump or its byte order is wrong — convert to .z64 order and compare again before assuming the dump is bad.

Some tools and emulators display the detected byte order when they open a file — if yours does, trust it over the extension.

Get Delta Patcher for XDelta-based N64 hacks

Version 3.1.6 is free and open source, with builds for Windows, macOS and Linux. Downloads come straight from the developer’s official GitHub releases.

Continue learning