Perfect Dark Port
An existing game or its source code brought to another platform.
Based on Perfect Dark
Original game imageAbout
A work-in-progress port of the Perfect Dark decompilation to modern platforms. The README says it is in a mostly functional state, with single-player and split-screen multiplayer fully working, plus minor graphics and gameplay issues and possibly occasional crashes. It runs on Windows, Linux, macOS and Nintendo Switch, and you must already have a Perfect Dark ROM (the US final version is recommended; PAL and JPN need separate executables).
How it differs from the original
Adds mouselook, dual analog controller support, widescreen, configurable field of view, 60 FPS support, experimental higher frame rates up to 240 FPS, fixes for a couple of original bugs and crashes, basic mod support for loading a few custom levels, a slightly expanded memory heap, and emulation of the Transfer Pak to unlock some cheats automatically.
Getting started
Create a data folder next to the executable, put your ROM named pd.ntsc-final.z64 in it and run the executable; PAL and JPN ROMs go in the same folder with their own executables. An optional Perfect Dark Game Boy Color ROM named pd.gbc enables Transfer Pak emulation. A GPU supporting OpenGL 3.0 or ES3.0 is required, and controls can be rebound in pd.ini.
Known issues & limitations
- There are minor graphics and gameplay issues, and occasional crashes may occur.
- The game will have issues running faster than about 165 FPS; use VSync or `Video.FramerateLimit` to cap it.
- The game has issues running faster than about 165 FPS, so VSync or a framerate limit is advised.
What you need to run it
Features
- You can configure the field of view.
- Basic mod support can load a few custom levels.
- The port emulates Transfer Pak functionality to unlock some cheats automatically.
- The game supports singleplayer and split-screen multiplayer.
- Officially supported platforms include Windows 7+, Linux, macOS, and Nintendo Switch.
How to install
- Download an automatic build for a supported platform.
- Create a `data` directory beside the executable if needed, then put the NTSC ROM there as `pd.ntsc-final.z64` and run `pd.x86_64`.
- For the Switch version, put the folder for your region in `/switch` on the SD card, then put the ROM in that folder's `data` directory.
- Optionally, put a GameBoy Color ROM named `pd.gbc` in `data` to emulate a Transfer Pak and unlock some cheats automatically.
Controls
- Controls can be rebound in `pd.ini`.
- The mouse only controls player 1.
Summarised from the project's README.
FAQ
- What is Perfect Dark Port?
- Perfect Dark Port is an open-source port of Perfect Dark. An existing game or its source code brought to another platform. The original game ran on Windows, Linux, macOS and Switch.
- Do I need the original game files to run Perfect Dark Port?
- Yes. The project does not include the original game's assets, so you need your own copy.

