Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Duke Nukem: Zero Hour
PORTSNATIVE

Duke Nukem: Zero Hour

NATIVE PORTSHOOTER / ACTIONWINDOWSALPHA

Duke Nukem: Zero Hour

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows

View official project

About the project

Duke Nukem Zero Hour es un videojuego de acción-aventura en tercera persona para la consola Nintendo 64 de la saga Duke Nukem.

2 versions of Duke Nukem: Zero Hour

You're viewing: Duke Nukem: Zero Hour

Duke Nukem: Zero Hourgithub.com/Gillou68310/DukeNukemZeroHour
Windows
Current
DNZH Recompgithub.com/sonicdcer/DNZHRecomp
Windows
Linux
macOS
›

Official project information

Author's original READMEOpen on GitHub ↗

Duke Nukem Zero Hour N64 Build Status Code Progress Bytes Progress

A decompilation of Duke Nukem Zero Hour for N64.

Note: To use this repository, you must already own a copy of the game.

Dependencies

The build instructions assume that you will be using Ubuntu 22.04; either natively or via WSL2.

Package requirements can be install via:

sudo apt update
sudo apt install make git build-essential binutils-mips-linux-gnu cpp-mips-linux-gnu python3 python3-pip

Tools requires Python 3.9+. Package requirements can be installed via:

pip3 install --upgrade pip
pip3 install -U splat64[mips]
pip3 install -r requirements.txt

Building

Clone the repository; note the --recursive flag to fetch submodules at the same time:

git clone https://github.com/Gillou68310/DukeNukemZeroHour.git --recursive

Navigate into the freshly cloned repo

cd DukeNukemZeroHour

Place the Duke Nukem Zero Hour US ROM in the root of this repository, name it baserom.us.z64, and then run the first make command to extract the ROM:

make setup

Now build the ROM:

make --jobs

If you did everything correctly, you'll be greeted with the following:

Creating z64: build/us/dukenukemzerohour.z64
OK

Other versions

This repository has support for the French versions of the game too.

To build this version, place your ROM in the root of the repo and rename it to baserom.fr.z64. Pass VERSION=fr to the above make commands.

Docker

A Docker image containing all dependencies can be built and ran as follows:

docker build --no-cache . -t dukenukemzerohour
docker run --rm -ti --mount src=$(pwd),target=/dukenukemzerohour,type=bind dukenukemzerohour

Then continue with the building instructions

When binding windows or mac folder I strongly recommand installing Mutagen Extension for Docker Desktop.

docker --context=desktop-linux-mutagen run --rm -ti --mount src=$(pwd),target=/dukenukemzerohour,type=bind dukenukemzerohour

Debugging

Game can be debugged with gdb through mupen64plus (Windows only for now). In order to have source code information the game should be compiled with modern gcc by adding MODERN=1 to the make command.

Run the gdb server in cmd:

tools\debugger\win32\gdbserver.bat

Then run the gdb client in cmd:

tools\debugger\win32\gdbclient.bat

It's also possible to debug within vscode with the Native Debug extension.

Run the gdb server in cmd:

tools\debugger\win32\gdbserver.bat

Then run the "GDB Client(Win32)" configuration in vscode.

Tools

  • asm-differ; rapidly diff between source/target assembly
  • decomp-permuter; tweaks code, rebuilds, scores; helpful for weird regalloc issues
  • mips2c; assembly to C code translator
  • splat; successor to n64split
View official project
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Shooter / Action
Status
alpha
Original platform
—
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 1

Windows
View on GitHub
Advertisement