Skip to content

Perfect Dark (PC port)

Perfect Dark (PC port) emulates Perfect Dark. It reads 4 files, 1 of them required: without a required file it does not start games.

About this profile
Detail Value
Type standalone
Classification Game engine
Source https://github.com/perfect-dark-pc-port/perfect_dark
Version port 2025-06-14
Revision perfect-dark-pc-port/perfect_dark@32a1cb9f268d, branch port
Profiled 2026-10-20
Profile YAML, JSON
Cores pdark
Systems Perfect Dark
Technical notes

PC port of Perfect Dark built on the decompilation, by fgsfds. Each build plays one ROM revision, chosen at configure time (CMakeLists.txt:35, 86-97): pd.x86_64.exe for ntsc-final, pd.pal.x86_64.exe for pal-final and pd.jpn.x86_64.exe for jpn-final. Game data is read out of that ROM at run time, nothing is extracted ahead.

RetroBat installs the three executables, built on 2025-06-14 at 10:06, a few minutes after the last commit of the port branch that day, which is the pin. Its launcher picks the executable from the pdark_region option or from the ROM file name, and copies the ROM to data/pd.<romid>.z64 in the install folder when that file is missing. ref: emulatorLauncher Generators/PortsLauncher.Generator.cs:107-130, emulatorLauncher Generators/PortsLauncher.Configuration.cs:1257-1290

Files are read from the base directory: --basedir, else data beside the executable in portable mode, else ./data when it exists, else data under the home path when it exists, else data beside the executable (port/src/fs.c:18, 96-121). RetroBat starts the port from its install folder, where ./data exists. The ROM is pd.<romid>.z64 there unless --rom-file names another path. A missing ROM, an archive, a size other than 33554432 bytes, or a header whose game code and title do not match the build ends the program with an error. No hash is checked. ref: port/src/romdata.c:26-50, 186-209, 382-401

pd.gbc, the Game Boy Color Perfect Dark, is checked at startup for its size, title, licensee and checksum bytes. When it passes, the game acts as if the cartridge sat in a Transfer Pak, which unlocks the cheats tied to it (port/src/romdata.c:53-54, 404-448, port/src/main.c:112, src/game/pak.c:5992-6007, src/game/cheats.c:430, 460).

4 files: 1 required, 3 optional.

By kind: 4 game data.

In this collection: 0 in repo, 0 missing and 4 unsourceable.

pd.ntsc-final.z64 required unsourceable game data

Perfect Dark (USA) (Rev 1) N64 ROM, game code NPDE

  • Path: data/pd.ntsc-final.z64
  • System: Perfect Dark
  • Read by pd.x86_64.exe, the NTSC v1.1 build.
  • Not collectable: retail ROM the collection does not hold, and a same-named dump of another game must not stand in (acknowledged gaps)

pd.pal-final.z64 optional unsourceable game data

Perfect Dark (Europe) N64 ROM, game code NPDP

  • Path: data/pd.pal-final.z64
  • System: Perfect Dark
  • Read only by pd.pal.x86_64.exe.
  • Not collectable: retail ROM the collection does not hold, and a same-named dump of another game must not stand in (acknowledged gaps)

pd.jpn-final.z64 optional unsourceable game data

Perfect Dark (Japan) N64 ROM, game code NPDJ

  • Path: data/pd.jpn-final.z64
  • System: Perfect Dark
  • Read only by pd.jpn.x86_64.exe.
  • Not collectable: retail ROM the collection does not hold, and a same-named dump of another game must not stand in (acknowledged gaps)

pd.gbc optional unsourceable game data

Perfect Dark (Game Boy Color) ROM

  • Path: data/pd.gbc
  • System: Perfect Dark
  • Optional. Its presence unlocks the Transfer Pak cheats.
  • Not collectable: retail ROM the collection does not hold, and a same-named dump of another game must not stand in (acknowledged gaps)
.