Files
libretro/emulators/pdark.yml
T
Abdessamad Derraz 3199bc2a55 fix: state standalone versions from their code
Each standalone profile records where its version is read: the source
at its pin (clk 2026-07-23-136-g9020107, shadps4 0.20.1 WIP, eden
v0.2.0-401-g26a03d2), the APK, binary or archive read (kind package),
or, where no reading can be made, kind unverified with the reason: a
host the tools cannot read, a forge gone or not answering, no build
recorded as read, a pin on another branch. Those keep their value,
unconfirmed.
2026-10-27 19:21:40 +01:00

91 lines
3.9 KiB
YAML

emulator: Perfect Dark (PC port)
type: standalone
core_classification: game_engine
source: "https://github.com/perfect-dark-pc-port/perfect_dark"
upstream: "https://github.com/perfect-dark-pc-port/perfect_dark"
source_branch: port
source_commit: "32a1cb9f268dd3ac73016801025c6bbbfa20130f"
profiled_date: "2026-10-20"
core_version: null
version_basis:
kind: none
display_name: "Perfect Dark (PC port)"
cores: [pdark]
systems: [pdark]
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).
files:
- name: "pd.ntsc-final.z64"
path: "data/pd.ntsc-final.z64"
category: game_data
system: pdark
required: true
size: 33554432
description: "Perfect Dark (USA) (Rev 1) N64 ROM, game code NPDE"
source_ref: "port/src/romdata.c:26-33, 191-209, 382-391"
note: "Read by pd.x86_64.exe, the NTSC v1.1 build."
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
- name: "pd.pal-final.z64"
path: "data/pd.pal-final.z64"
category: game_data
system: pdark
required: false
size: 33554432
description: "Perfect Dark (Europe) N64 ROM, game code NPDP"
source_ref: "port/src/romdata.c:26-27, 34-39, 191-209, 382-391"
note: "Read only by pd.pal.x86_64.exe."
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
- name: "pd.jpn-final.z64"
path: "data/pd.jpn-final.z64"
category: game_data
system: pdark
required: false
size: 33554432
description: "Perfect Dark (Japan) N64 ROM, game code NPDJ"
source_ref: "port/src/romdata.c:26-27, 40-45, 191-209, 382-391"
note: "Read only by pd.jpn.x86_64.exe."
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"
- name: "pd.gbc"
path: "data/pd.gbc"
category: game_data
system: pdark
required: false
size: 4194304
description: "Perfect Dark (Game Boy Color) ROM"
source_ref: "port/src/romdata.c:53-54, 404-448"
note: "Optional. Its presence unlocks the Transfer Pak cheats."
unsourceable: "retail ROM the collection does not hold, and a same-named dump of another game must not stand in"