Files
libretro/emulators/pdark.yml
T
Abdessamad Derraz bb19a6d5cf feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
2026-10-20 06:14:10 +02:00

90 lines
3.9 KiB
YAML

emulator: Perfect Dark (PC port)
type: standalone
core_classification: game_engine
source: "https://github.com/fgsfdsfgs/perfect_dark"
upstream: "https://github.com/fgsfdsfgs/perfect_dark"
source_branch: port
source_commit: "618a1f33865cc98c6fff95c9a5df8162443a643c"
profiled_date: "2026-10-20"
core_version: "port 2025-06-14"
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 (port/src/fs.c:18, 96-121). At this revision the home path
test reads a failed size lookup as success, so data beside the executable
is not reached outside portable mode. 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:406, 436).
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"