mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 10:23:16 -05:00
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.
90 lines
3.9 KiB
YAML
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"
|