Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To play Halo 64 on a PC, you must first build a Nintendo 64 ROM from your own legally obtained Xbox copy of Halo: Combat Evolved, then load that ROM in the ares N64 emulator with the Expansion Pak option enabled. The multiplayer port includes all 13 multiplayer maps, split-screen for one to four players, bots, several classic game types and Firefight. It does not include online networking. Windows users can use the supplied graphical ROM builder; Linux users and Windows users comfortable with WSL can build from source.

What Halo 64 is—and what you need

Halo 64 is a fan-made adaptation of Halo: Combat Evolved multiplayer for Nintendo 64 hardware. The project uses decompiled game code compiled for the N64 VR4300 processor, then adds a new renderer, menu system, HUD and sound implementation. The multiplayer cartridge contains all 13 multiplayer maps, one-to-four-player local split screen, computer-controlled opponents and Firefight. A separate campaign cartridge exists, but the campaign work is incomplete.

Because the project targets Nintendo 64 hardware rather than a modern PC, you are not installing a conventional Windows game. You create a cartridge image (a .z64 file), configure an N64 emulator to provide the memory the port expects, and then run the image as if it were an N64 game.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Minimum items to prepare

  • Your own legally obtained Xbox copy of Halo: Combat Evolved, supplied as a complete or trimmed disc image (.iso) or as the extracted maps directory.
  • A Windows PC for the graphical builder, or Linux/Windows WSL for the documented source-build route.
  • Enough working memory and disk space for conversion. The Windows builder asks for approximately 3 GB of free memory and 3 GB of temporary disk space. Map conversion under WSL can require roughly 8 GB of memory.
  • An N64 emulator. The project is developed and tested with ares v148, so use ares first when diagnosing compatibility.
  • A controller. A keyboard can be mapped, but an N64-style USB controller fits the port’s stick, C-button and trigger layout more naturally.

Use only game data you are entitled to use

The build tools do not ship retail game assets. The project’s README states that you need your own copy of the Xbox game; the build converts maps from that copy, and the resulting ROM contains converted data that should be kept private. Do not download a prebuilt ROM from an unknown site, redistribute a ROM you generated, or assume that the repository grants permission to share Microsoft’s game data.

#1 Best Overall
Sale
LAPGEAR Home Office Pro Lap Desk - Black Carbon, Fits 15.6” Laptops | Built-In Mouse Pad & Phone Slot, Wide Cushioned Wrist Rest, Dual-Bolster Microbead Cushion, Carry Handle
  • Spacious Design: Measuring 21.1" wide and 14.1" deep, our lap desk comfortably fits most laptops up to 15.6". Extra room for accessories ensures convenience.
  • Enhanced Functionality: Packed with handy features, including a 5x9" precision tracking mouse pad and a built-in phone slot for seamless work or video calls. Plus, enjoy ergonomic support with the integrated cushioned wrist rest.
  • Cool Comfort: Enjoy a stable surface with our lap desk's dual bolster cushion, designed for comfort and airflow, keeping your lap cool during extended use.
  • Durable Surface: Work with confidence on our lap desk's solid surface, featuring a sleek black carbon color, ensuring optimal air circulation to prevent your laptop from overheating.
  • On-the-Go Convenience: With an integrated handle and lightweight design (2.8 lbs), our lap desk is portable for travel or moving around the house, offering flexibility in any space.

The fan project is independent and does not imply endorsement by Microsoft, Bungie or 343 Industries. Keep your original disc image and any extracted maps secured, and share only the project’s code or tools when their license permits it. If you are unsure whether a particular copy or download is lawful in your country, consult local copyright rules before proceeding.

Choose a build method

Route Best for Input Output Important requirements
Halo64RomBuilder.exe Most Windows users Whole or trimmed Xbox .iso, or a maps folder halo-n64.z64 and, if selected, halo-campaign.z64 About 3 GB free memory and 3 GB working disk space
Linux/WSL source build Linux users, developers and Windows users who want the documented command-line build Extracted Xbox maps copied into build/xbox/disc/maps build/n64/halo.z64 WSL/Ubuntu or Linux, Python 3, Pillow, Ninja, Git, build tools and about 8 GB memory during conversion

Both routes create a ROM for an N64 emulator. The graphical builder is normally faster to set up; the source route gives you the project’s documented build environment and is useful when you need to rebuild after changing source files.

Build the ROM on Windows with Halo64RomBuilder

This is the shortest path if you have Windows and do not need to modify the project.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Obtain your source data. Create a disc image from your own Xbox copy, using either a complete image or a trimmed .iso. Alternatively, extract the game’s maps folder. Keep the source in a location you can identify easily; do not use a downloaded image whose ownership you cannot establish.
  2. Start the builder. Launch Halo64RomBuilder.exe. If Windows shows a security warning, verify that the file came from the project’s official release location before allowing it to run.
  3. Select the input. Point the input control at the original-Xbox .iso or at the extracted maps folder. A whole image and a trimmed image are both accepted by the documented builder.
  4. Select cartridges. Choose the multiplayer cartridge for the playable multiplayer port. You may also select the campaign cartridge, but campaign support is incomplete and should be treated as experimental.
  5. Choose an output directory. Select a drive with approximately 3 GB of free working space. The final ROM is smaller than that temporary requirement, but conversion can fail if the builder cannot create intermediate files.
  6. Run the conversion. Start the build and wait for it to finish. Avoid putting the source image on a disconnected external drive while conversion is running.
  7. Check the result. The builder writes halo-n64.z64 for multiplayer and halo-campaign.z64 when the campaign option was selected. Keep these files private and do not upload them.

If the Windows build stops or produces no ROM

  • Close memory-heavy applications and retry; the builder’s approximately 3 GB free-memory requirement is in addition to what Windows itself is using.
  • Confirm that the input is an Xbox image or maps folder, not an unrelated PC installation.
  • Check that the output drive has at least 3 GB free and that you have permission to write there.
  • Use a local NTFS folder with a short path if a path containing unusual characters or a network share causes an input error.
  • If conversion repeatedly fails, use the Linux/WSL route and inspect its build output; the source build exposes more individual stages than the graphical tool.

Build from Linux or Windows WSL

The source instructions support native Linux and Windows Subsystem for Linux. On Windows, install a WSL distribution such as Ubuntu first. Store the repository inside WSL’s Linux filesystem, for example under your home directory, rather than under /mnt/c; the project’s instructions note that Linux-filesystem storage is substantially faster for this workload.

Install the toolchain

Install Git, Python 3, Pillow, Ninja and the normal compiler/build tools for your distribution. The project also requires the libdragon, tiny3d and Invader components described in its README. Follow the versions and environment variables in that README rather than substituting unrelated Nintendo 64 SDKs.

Rank #2
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Prepare the Xbox maps

  1. Extract the maps from your own Xbox disc image using a method that preserves the files expected by the project.
  2. Inside the checked-out project, create or locate build/xbox/disc/maps.
  3. Copy the extracted map files into that directory. Do not put the original ISO itself there unless the build instructions specifically ask for it; this route expects the extracted maps.
  4. Keep the repository and its build directory in WSL’s Linux filesystem. Accessing the files through Windows-mounted storage can make conversion much slower.

Run the documented build

Use the setup and build commands from the project’s README after the dependencies are installed. The completed multiplayer image is written to build/n64/halo.z64. Copy that file to a Windows folder only after the build has finished if you intend to run it with a Windows emulator.

Map conversion can use roughly 8 GB of memory under WSL. If WSL terminates the process, increase the memory limit in your Windows .wslconfig, shut down WSL, and retry. A typical recovery sequence is to close running WSL shells, apply the memory change, run wsl --shutdown in Windows Terminal, reopen Ubuntu and start the build again. Keep enough physical RAM available for Windows as well; assigning all system memory to WSL can make the host unstable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run Halo 64 in ares

ares v148 is the emulator the project names as its development and test target. The ROM must run with the Nintendo 64 Expansion Pak setting enabled. That setting represents the N64’s 8 MB memory configuration; without it, the game may fail to boot, show corrupted graphics or stop when loading a map.

Configure the graphical interface

  1. Install and open ares v148.
  2. Choose the Nintendo 64 system in the system list.
  3. Open the Nintendo 64 settings and enable Expansion Pak. The setting may appear as Nintendo64/ExpansionPak in command-line configuration.
  4. Open the generated halo-n64.z64 or halo.z64 file as an N64 cartridge.
  5. At the title screen, configure a controller for each port you plan to use. Start with one controller and add additional ports after confirming that the ROM boots correctly.

Launch from a Windows command prompt

From the directory containing the ROM, run:

ares.exe --system "Nintendo 64" --setting Nintendo64/ExpansionPak=true halo.z64

Replace halo.z64 with halo-n64.z64 if that is the filename produced by the Windows builder. If ares is not on your PATH, use its full executable path.

Launch the Linux Flatpak build

From the project directory, the documented Flatpak form is:

Rank #3
Sale
Yilador Webcam Cover 3 Pack, 0.03 inch Ultra Thin Laptop Camera Cover Slide | Camera Blocker Slider for iPhone iPad MacBook Pro Computer iMac Cell Phone PC Laptop Accessories, Great for Privacy, Black
  • Note: Not suitable for MacBooks released after 2023 or devices with a protruding front camera; Not applicable to full-screen or notch-style tempered glass screen protectors; Do not use on the rear camera of the phone.
  • 💻 Why Do You Need a Webcam Cover Slide? — Safeguard your privacy by covering your webcam with our reliable webcam cover when not in use. Don't let anyone secretly watch you. Stay protected!
  • ✅ Thin & Stylish — Enhance your laptop's functionality and aesthetics with our 0.027" ultra-thin webcam covers. Seamlessly close your laptop while adding a touch of sophistication.
  • ✅ Fits Most Devices — Compatible with laptops, phones, tablets, desktops! Keep your privacy intact on Ap/ple, Mac/Book, iPh/one, iP/ad, H/P, L/novo, De/ll, Ac/er, As/us, Sa/msung devices.
  • ✅ 365 Days Protection — Our upgraded 3.0 adhesive ensures a strong hold that won't damage your equipment. Experience reliable, long-term privacy protection day in and day out.
flatpak run dev.ares.ares --system "Nintendo 64" --setting Nintendo64/ExpansionPak=true build/n64/halo.z64

ares stores the cartridge EEPROM save file beside the ROM. Keep the ROM in a folder where the emulator can write, and back up the accompanying save file if you want to preserve settings or progress associated with a particular build.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Project64 as a Windows alternative

Project64 is a general-purpose Windows N64 emulator with public Windows releases, a File > Open ROM workflow and configurable controller and emulation options. It is not the emulator named and tested by the Halo 64 project, so use it after trying ares or when ares is unavailable.

Question ares Project64
Project status Documented and tested target for Halo 64. General Windows alternative; Halo 64-specific compatibility may require troubleshooting.
Expansion Pak Enable the Nintendo64/ExpansionPak setting, either in the interface or on the command line. Set the emulated Nintendo 64 memory to Expansion Pak/8 MB in the emulator’s system or ROM settings.
Opening the ROM Open the .z64 image as a Nintendo 64 cartridge. Use File > Open ROM and select the generated image.
Controller setup Map each N64 port and optionally pass rumble to a compatible PC gamepad. Use Project64’s controller configuration; names and menu locations vary by release.
When to choose it Use first for the closest match to the project’s tested environment. Use if you already rely on Project64 or need a Windows-only alternative, accepting that fixes may involve emulator-specific settings.

If Project64 shows a black screen or resets while ares boots the same file, verify the Expansion Pak option before changing plugins or graphics settings. Do not conclude that the ROM is damaged until it has been tested with the project’s target emulator.

Controls and controller choices

The default layout follows an N64 controller rather than a modern dual-stick gamepad:

N64 control Halo 64 action
Analog stick Look and turn
C buttons Move up/down and strafe left/right
Z Fire
R Throw grenade
A Jump
B Reload or perform an action such as picking up an item or entering a vehicle
L Melee
D-pad up/down/left/right Switch weapons, crouch, zoom and switch grenades
START Pause and show the scoreboard

Alternative control schemes

The port includes bumper-jumper, GoldenEye and north control schemes. It also supports inverted look and separate adjustments for stick and C-button look speeds. If the default arrangement feels awkward on a modern pad, change the scheme before remapping every button individually; one of the alternate layouts may already match your preferred muscle memory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
AboveTEK Portable Laptop Lap Desk w/Retractable Left/Right Mouse Pad Tray, Non-Slip Heat Shield Tablet Notebook Computer Stand Table w/Sturdy Stable Work Surface for Bed Sofa Couch or Travel
  • Anti-Slip Surface - Transform your laptop into a mobile workstation with the AboveTEK portable laptop lap desk. The anti-slip surface provides a strong grip for laptops up to 15.6 inches(Diagonal), while the double rubber strip on the bottom ensures a stable display or typing experience on your lap, couch, or bed.
  • Retractable Mouse Pad - Retractable laptop mouse pad extends on both directions for the left/right handed with elevation along the edges for stopping mouse from falling off. The size of laptop tray is 14" X 9.7" and the size of mouse pad is 7.4" X 6.1".
  • Effective Heat Shield - The effective heat shield made of sturdy and thick material protects your laptop from overheating. Prioritizes your comfort and safety, an ideal lap pad or board for working anywhere.
  • EASY to Carry and Store - With an ergonomic and simplistic design, the lap desk is portable to store in a backpack. Only 15" in size, 2.2 lb of weight and with slim 0.6 inch thickness, it is ready to be easily carried around.
  • Widely Applicable - The smooth platform accommodates laptops and tablets up to 15.6 inches(Diagonal), making it a versatile accessory and one of the best gifts for mom, dad, students and professionals. Perfect for use as a laptop bed tray or tablet holder anywhere at home, library, or park.

Rumble and USB controllers

Rumble Pak support is included. The README notes that ares can pass rumble to a PC gamepad with vibration motors. An N64-style USB controller is optional, but its single analog stick and C-button cluster make the documented movement and look controls easier to understand than a conventional keyboard layout.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What you can play

Local multiplayer

The multiplayer cartridge supports one to four people on the same PC through split screen. Connect and configure one controller per player, then select the desired number of views in the multiplayer setup. Performance depends on the number of rendered views, so four-player split screen is a heavier workload than a solo match.

Bots

You can add up to eight bots and choose from four skill levels. Bot count and skill affect both the challenge and the amount of simulation work the emulator must perform. If a crowded match slows down, reduce the bot count before lowering every graphics option.

Game types

Available modes include Slayer, Capture the Flag, King of the Hill, Oddball and Race, along with related team variants. Firefight provides a separate combat-focused option. The port’s map and mode selection is designed for local sessions rather than a persistent online service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Campaign status

The campaign cartridge can be built by the Windows tool, but the project describes campaign support as incomplete. Choose the multiplayer cartridge for the complete playable feature set documented above, and treat the campaign image as an unfinished development build rather than a full replacement for the original campaign.

Best Value
Sale
LAPGEAR Home Office Lap Desk – Pink, Fits 15.6” Laptops | Built-In Mouse Pad & Phone Slot, Integrated Device Ledge, Dual-Bolster Microbead Cushion, Carry Handle
  • Spacious Design: Measuring 21.1" wide and 12" deep, our lap desk comfortably fits most laptops up to 15.6". Extra room for accessories ensures convenience.
  • Enhanced Functionality: Packed with handy features, including a 5x9" precision tracking mouse pad and a built-in phone slot for seamless work or video calls. Plus, enjoy laptop support with the integrated device ledge.
  • Cool Comfort: Enjoy a stable surface with our lap desk's dual bolster cushion, designed for comfort and airflow, keeping your lap cool during extended use.
  • Durable Surface: Work with confidence on our lap desk's solid surface, featuring a blush pink color, ensuring optimal air circulation to prevent your laptop from overheating.
  • On-the-Go Convenience: With an integrated handle and lightweight design (2.14 lbs), our lap desk is portable for travel or moving around the house, offering flexibility in any space.

Improve performance without guessing

There is no single speed expectation for every match. The project identifies map choice, number of views and bot count as important variables. Use the built-in FPS counter while changing one setting at a time so you can tell which change helped.

  • Resolution: Lower it first if the frame rate drops when several views are active.
  • Animation rate: Reduce it if many bots or effects cause simulation and animation work to compete for time.
  • Particles: Lower particle detail when explosions and other effects produce spikes.
  • View-model detail: Reduce it if the weapon view is expensive while the rest of the scene remains responsive.
  • Terrain detail: Lower it on maps where distant geometry is the main source of slowdown.

Test a one-player match after each change, then test the same map with the number of players and bots you actually plan to use. A setting that is smooth in a single view may not remain smooth in four-player split screen.

Troubleshooting checklist

The emulator says there is not enough memory or the game will not boot

  • Enable Nintendo 64 Expansion Pak/8 MB in ares or the equivalent Project64 setting.
  • Confirm that you are opening the generated .z64 file as an N64 game, not as a different cartridge format.
  • Try the same ROM in ares v148 before changing graphics plugins or emulator cores.

The build is killed under WSL

  • Check available host RAM and the WSL memory limit.
  • Increase the memory allocation in .wslconfig, run wsl --shutdown, reopen Ubuntu and restart the build.
  • Move the repository into the WSL Linux filesystem if it is under /mnt/c or another mounted Windows path.

The builder cannot find maps

  • For the Windows tool, select the original Xbox ISO or the maps folder itself.
  • For the source build, copy extracted maps into build/xbox/disc/maps; placing only an ISO there does not satisfy the documented source layout.
  • Check that the extraction completed and that the directory is readable before starting conversion again.

Controls do not respond correctly

  • Open the emulator’s controller configuration and verify that the intended device is assigned to N64 controller port 1.
  • Check the selected Halo control scheme before changing individual bindings.
  • For split screen, assign a separate device to each port and test one player at a time.
  • If rumble is not working, confirm that the physical controller has vibration motors and that ares is allowed to pass rumble through to the PC device.

The game runs slowly

  • Use the FPS counter to establish whether the slowdown appears with more views, more bots or a particular map.
  • Reduce resolution, particles, terrain detail, animation rate or view-model detail in that order, testing after each change.
  • Close other applications that are consuming CPU or memory, especially during four-player sessions.

Can you play Halo 64 online?

No. The project README explicitly says “No networking.” The supported multiplayer experience is local split screen, with bots available when you do not have enough people at the same PC. An emulator’s netplay feature, if it offers one, is not a documented feature of this port and should not be treated as an included online mode.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep your files organized and private

Use separate folders for your legally obtained source image, extracted maps, generated ROM and emulator saves. The generated image may contain converted game data, so do not place it in a public cloud folder, attach it to a forum post or send it to friends. Back up the ares EEPROM file beside the ROM if you want to preserve settings or saved data, and remember that rebuilding the image can create a new file that should be handled with the same privacy precautions.

Quick start checklist

  1. Verify that you own the Xbox game data you will convert.
  2. On Windows, run Halo64RomBuilder; on Linux or WSL, install the documented toolchain and copy maps into build/xbox/disc/maps.
  3. Build the multiplayer image and locate halo-n64.z64 or build/n64/halo.z64.
  4. Open ares v148 and enable Nintendo 64 Expansion Pak (8 MB).
  5. Load the ROM, configure controller port 1 and confirm that a one-player match starts.
  6. Add additional controllers or bots, then tune resolution and detail settings if the FPS counter shows drops.
  7. Keep the generated ROM private; use local split screen or bots because online networking is not included.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.