chore: merge profile batch zero

This commit is contained in:
Abdessamad Derraz committed 2026-11-09 07:59:28 +01:00
commit 4724f1fb09
15 files changed
+369 -272

No files matched your search

+55 -22
View File
@@ -2,14 +2,14 @@ emulator: ares
type: standalone
source: "https://github.com/ares-emulator/ares"
upstream: "https://github.com/ares-emulator/ares"
profiled_date: "2026-10-23"
source_commit: "d400eee9764fe22a8de0247a52757d2021d0539c"
core_version: "v148-143-gd400eee"
profiled_date: "2026-11-09"
source_commit: "dd737665221a6f58c6c4d2547d2f38b0abe3aef0"
core_version: "v148-166-gdd73766"
version_basis:
kind: tag
match: "v[0-9]*"
tag: "v148"
distance: 143
distance: 166
display_name: "ares"
cores: [ares, "ares-sa"]
mode: standalone
@@ -58,7 +58,7 @@ systems:
notes: |
Multi-system emulator by Near (byuu), successor to higan/bsnes. Focuses on
accuracy and preservation. 41 emulators registered at this pin
accuracy and preservation. 40 emulators registered at this pin
(desktop-ui/emulator/emulators.cpp).
Firmware identification uses SHA256 hashes. Filenames are user-defined: ares
@@ -68,7 +68,7 @@ notes: |
Firmware path resolution: settings.paths.firmware (user override) or
{userData}/ares/Firmware/ (default). Per-system firmware assigned in
Settings > Firmware dialog or via scan-by-hash.
ref: desktop-ui/settings/settings.hpp:88-100, desktop-ui/desktop-ui.cpp:68-75
ref: desktop-ui/settings/settings.hpp:89-101, desktop-ui/desktop-ui.cpp:68-75
Systems with fully embedded firmware (no user files needed):
Game Boy (boot.rom), Game Boy Color (boot.rom), Mega Drive (TMSS),
@@ -82,10 +82,21 @@ notes: |
SFC coprocessor firmware auto-injected if missing from ROM image.
ref: mia/medium/super-famicom.cpp:42-62
Neo Geo BIOS: accepts ZIP archive (neogeo.zip) or direct binary. AES looks
for "neo-epo.bin" inside ZIP, MVS looks for "sp-45.sp1". Both apply byte-swap
after loading.
ref: mia/system/neo-geo-aes.cpp:12-30, mia/system/neo-geo-mvs.cpp:12-30
Neo Geo BIOS is not a firmware slot. Neo Geo AES reads aes.zip and the
Arcade emulator, which runs the Neo Geo MVS games, reads neogeo.zip, both
beside the game: in the game's folder, or its parent when that folder is
named neogeo, then in a neogeo/ subfolder of it. A missing archive or
member stops the load with the member and the path it tried. The member is
the BIOS chosen in Settings > Cores, neo-po.bin for the AES and
vs-bios.rom for the MVS by default, among the bios entries the aes and
neogeo sets carry in Database/Arcade.bml. It is byte-swapped on load and no
hash is checked.
ref: desktop-ui/emulator/emulator.cpp:86-94,
desktop-ui/emulator/neo-geo-aes.cpp:43-49,
desktop-ui/emulator/arcade.cpp:456-464,
desktop-ui/settings/settings.hpp:142-146,
desktop-ui/settings/cores.cpp:170-204,
mia/system/neo-geo-aes.cpp:12-32, mia/system/neo-geo-mvs.cpp:12-32
SFC base cartridges (Super Game Boy, Satellaview BS-X, Sufami Turbo) are
games, not firmware: the file opened as the Super Famicom game is the base
@@ -97,11 +108,11 @@ notes: |
signature makes a Sufami Turbo board, serial ZBSJ a BS-X board, serial 042J
or cartridge type 0xE3 a Super Game Boy board.
ref: desktop-ui/emulator/super-famicom.cpp:158-217,
desktop-ui/emulator/emulator.cpp:204-235,
desktop-ui/emulator/emulator.cpp:216-247,
mia/medium/super-famicom.cpp:88-95, mia/medium/super-famicom.cpp:570-602
Systems with no firmware: Arcade, Atari 2600, Famicom, MyVision, PC Engine,
SuperGrafx, SG-1000, SC-3000.
Systems with no firmware: Arcade (Neo Geo MVS games aside), Atari 2600,
Famicom, MyVision, PC Engine, SuperGrafx, SG-1000, SC-3000.
files:
# --- Atari 5200 ---
@@ -157,7 +168,7 @@ files:
sha256: "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50"
validation: [sha256]
description: "Master System BIOS (US)"
note: "Picked for NTSC-U, which the code gives every export cart outside its PAL list through the Boot/Prefer setting. The header does not tell US from Europe (mia/medium/master-system.cpp:54-63, desktop-ui/emulator/emulator.cpp:86-106)."
note: "Picked for NTSC-U, which the code gives every export cart outside its PAL list through the Boot/Prefer setting. The header does not tell US from Europe (mia/medium/master-system.cpp:54-63, desktop-ui/emulator/emulator.cpp:97-117)."
source_ref: "desktop-ui/emulator/master-system.cpp:14, mia/system/master-system.cpp:8 (//optional)"
- name: bios_J.sms
@@ -176,7 +187,7 @@ files:
sha256: "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50"
validation: [sha256]
description: "Master System BIOS (Europe), same binary as US"
note: "Picked for PAL, set by a hash list that also holds Korean and Australian releases or by the Boot/Prefer setting (mia/medium/master-system.cpp:54-275, desktop-ui/emulator/emulator.cpp:86-106)."
note: "Picked for PAL, set by a hash list that also holds Korean and Australian releases or by the Boot/Prefer setting (mia/medium/master-system.cpp:54-275, desktop-ui/emulator/emulator.cpp:97-117)."
source_ref: "desktop-ui/emulator/master-system.cpp:16"
# --- Mega CD ---
@@ -258,18 +269,40 @@ files:
source_ref: "desktop-ui/emulator/msx2.cpp:16"
# --- Neo Geo AES ---
- name: neo-epo.bin
- name: aes.zip
system: neo-geo
required: true
description: "Neo Geo AES BIOS. Accepts neogeo.zip (extracts neo-epo.bin) or direct file. Byte-swapped on load."
source_ref: "desktop-ui/emulator/neo-geo-aes.cpp:14, mia/system/neo-geo-aes.cpp:16"
found_by: name
load_from: content_dir
category: bios_zip
description: "Neo Geo AES BIOS set"
contents:
- name: neo-po.bin
description: "Japan AES, the default BIOS choice"
note: >-
Read beside the AES game, or in a neogeo/ subfolder of the game's
folder. Only the member chosen in Settings > Cores is extracted,
neo-po.bin by default, and byte-swapped. A missing archive or member
stops the load.
source_ref: "desktop-ui/emulator/emulator.cpp:86-94, desktop-ui/emulator/neo-geo-aes.cpp:43-49, desktop-ui/settings/settings.hpp:143, mia/system/neo-geo-aes.cpp:12-32"
# --- Neo Geo MVS ---
- name: sp-45.sp1
- name: neogeo.zip
system: neo-geo
required: true
description: "Neo Geo MVS BIOS. Accepts neogeo.zip (extracts sp-45.sp1) or direct file. Byte-swapped on load."
source_ref: "desktop-ui/emulator/neo-geo-mvs.cpp:15, mia/system/neo-geo-mvs.cpp:16"
found_by: name
load_from: content_dir
category: bios_zip
description: "Neo Geo MVS BIOS set"
contents:
- name: vs-bios.rom
description: "Japan MVS (Ver. 3), the default BIOS choice"
note: >-
Read by the Arcade emulator for a Neo Geo MVS game, beside the game or
in a neogeo/ subfolder of the game's folder. Only the member chosen in
Settings > Cores is extracted, vs-bios.rom by default, and byte-swapped.
A missing archive or member stops the load.
source_ref: "desktop-ui/emulator/emulator.cpp:86-94, desktop-ui/emulator/arcade.cpp:456-464, desktop-ui/settings/settings.hpp:144, mia/system/neo-geo-mvs.cpp:12-32"
# --- Neo Geo Pocket ---
- name: ngp_bios.rom
@@ -382,7 +415,7 @@ files:
sha256: "11052b6499e466bbf0a709b1f9cb6834a9418e66680387912451e971cf8a1fef"
validation: [sha256]
description: "PlayStation BIOS (US)"
note: "Picked for NTSC-U, set by both America licence strings and for an executable. A disc with no recognised licence offers NTSC-U and PAL, and the Boot/Prefer setting picks (mia/medium/playstation.cpp:68-75, 92, desktop-ui/emulator/playstation.cpp:94-101, desktop-ui/emulator/emulator.cpp:86-104)."
note: "Picked for NTSC-U, set by both America licence strings and for an executable. A disc with no recognised licence offers NTSC-U and PAL, and the Boot/Prefer setting picks (mia/medium/playstation.cpp:68-75, 92, desktop-ui/emulator/playstation.cpp:94-101, desktop-ui/emulator/emulator.cpp:97-115)."
source_ref: "desktop-ui/emulator/playstation.cpp:21, desktop-ui/emulator/playstation.cpp:94-101, mia/medium/playstation.cpp:67-75"
- name: scph5500.bin
+15 -15
View File
@@ -4,8 +4,8 @@ core_classification: community_fork
source: "https://github.com/libretro/libretro-cap32"
upstream: "https://github.com/ColinPitrat/caprice32"
profiled_date: "2026-10-23"
source_commit: "8e61dd69d948cea16c3bad734f7b9d0c2a018cc8"
upstream_commit: "8c778bf072a06fb7c23b9cccd179041db7f79a52"
source_commit: "06ad0da5d003ab8f2359300ebce4cf31d4c55b6e"
upstream_commit: "a0d78f0f7c6d19a5d3205d1b231bd4da100ec6f3"
core_version: "4.5.4"
version_basis:
kind: file
@@ -25,7 +25,7 @@ notes: |
All system ROMs are compiled directly into the core binary as C header
arrays in cap32/rom/*.h. No external BIOS files are required.
Embedded ROMs (cap32/cap32.c:345-349, cap32/slots.c:33):
Embedded ROMs (cap32/cap32.c:345-349, cap32/slots.c:34):
- cap32/rom/464.h: OS464_BASIC10[32768] - CPC 464 OS + BASIC 1.0
- cap32/rom/664.h: OS664_BASIC664[32768] - CPC 664 OS + BASIC 1.1
- cap32/rom/6128.h: OS_BASIC11[32768] - CPC 6128 OS + BASIC 1.1
@@ -33,30 +33,30 @@ notes: |
- cap32/rom/6128p.h: OS_6128P[65580] - CPC+ system cartridge
- cap32/rom/cpm.h: CPM, CPM_SYS - CP/M boot memory dumps
ROM selection in emulator_select_ROM() (cap32/cap32.c:1081-1111):
ROM selection in emulator_select_ROM() (cap32/cap32.c:1136-1166):
- CPC 464: OS464_BASIC10, AMSDOS in slot 7 when the content is a disc
- CPC 664: OS664_BASIC664 + AMSDOS in slot 7
- CPC 6128: OS_BASIC11 + AMSDOS in slot 7
- CPC+: OS_6128P loaded as system cartridge via cpr_load()
Core option "cap32_model" lists "464DDI" (libretro/libretro-core.c:501),
Core option "cap32_model" lists "464DDI" (libretro/libretro-core.c:407),
but update_variables() matches only 464, 664, 6128 and 6128+ and leaves any
other value on the 6128 default (libretro/libretro-core.c:1035-1039). A 464
with disc content (slot SLOT_DSK, libretro/libretro-core.c:1865-1866) gets
AMSDOS in slot 7 (cap32/cap32.c:1088-1092).
other value on the 6128 default (libretro/libretro-core.c:1060-1064). A 464
with disc content (slot SLOT_DSK, libretro/libretro-core.c:1899-1900) gets
AMSDOS in slot 7 (cap32/cap32.c:1143-1147).
The array chROMFile names "cpc464.rom", "cpc664.rom", "cpc6128.rom"
(cap32/cap32.c:353-357) and loadConfiguration() parses the rom_path,
slotNN and rom_mf2 keys of ./cap32.cfg (cap32/cap32.c:1842-1859), but no
slotNN and rom_mf2 keys of ./cap32.cfg (cap32/cap32.c:1899-1916), but no
code opens these files. The system directory is resolved in
libretro/libretro-core.c:1606-1625 under a "TODO: future use to load
libretro/libretro-core.c:1640-1659 under a "TODO: future use to load
custom bios" comment and no ROM is read from it.
Keyboard layout patches are applied to the ROM in memory for French
and Spanish layouts via rom_mods.h (cap32/cap32.c:1113-1137).
and Spanish layouts via rom_mods.h (cap32/cap32.c:1168-1192).
CP/M support assembles a 128KB snapshot from the CPM and CPM_SYS arrays
and loads it via snapshot_load_mem() in cap32/slots.c:71-90.
and loads it via snapshot_load_mem() in cap32/slots.c:74-93.
files:
# Standalone loads from rom_path/, libretro embeds all as C arrays.
@@ -124,12 +124,12 @@ files:
platform_details:
bios_mapping:
source_ref: "source cap32/cap32.c:1081-1111, source cap32/cap32.c:345-349"
source_ref: "source cap32/cap32.c:1136-1166, source cap32/cap32.c:345-349"
note: |
All ROMs are embedded. emulator_select_ROM() copies the ROM array for
CPC.model into pbROM. No filesystem lookup occurs in the libretro
port. retro_system_bios_directory is set in
libretro/libretro-core.c:1606-1625 and no ROM is read from it.
libretro/libretro-core.c:1640-1659 and no ROM is read from it.
embedded_roms:
source_ref: "source cap32/rom/464.h, source cap32/rom/664.h, source cap32/rom/6128.h, source cap32/rom/amsdos.h, source cap32/rom/6128p.h, source cap32/rom/cpm.h"
@@ -143,7 +143,7 @@ platform_details:
CPM, CPM_SYS - CP/M memory dumps assembled into a 128KB snapshot
model_rom_map:
source_ref: "source cap32/cap32.c:1081-1111"
source_ref: "source cap32/cap32.c:1136-1166"
note: |
CPC 464: OS464_BASIC10, AMSDOS in ROM slot 7 when the content is a disc
CPC 664: OS664_BASIC664 + AMSDOS in ROM slot 7
+31 -31
View File
@@ -3,8 +3,8 @@ type: standalone
core_classification: game_engine
source: "https://github.com/diasurgical/DevilutionX"
upstream: ~
profiled_date: "2026-10-04"
source_commit: "9d4871587e1a8d9606f97a43d85e939b82f77900"
profiled_date: "2026-11-09"
source_commit: "74ce5cdb15da44b28427ad6ee2b107bd6dcd6f61"
core_version: "1.6.0-dev"
version_basis:
kind: file
@@ -24,41 +24,41 @@ notes: |
macOS Application Support, etc.) via GetMPQSearchPaths().
Load order is defined in Source/engine/assets.cpp:
LoadCoreArchives() (:507) - devilutionx.mpq, fonts.mpq (optional)
LoadLanguageArchive() (:523) - <language code>.mpq, skipped for "en"
LoadGameArchives() (:532) - diabdat.mpq or spawn.mpq (required)
LoadCoreArchives() (:513) - devilutionx.mpq, fonts.mpq (optional)
LoadLanguageArchive() (:529) - <language code>.mpq, skipped for "en"
LoadGameArchives() (:538) - diabdat.mpq or spawn.mpq (required)
hfbard.mpq, hfbarb.mpq (always probed)
LoadHellfireArchives() (:572) - hellfire.mpq + hfmonk/hfmusic/hfvoice
LoadModArchives() (:712) - mods/<name>.mpq for each active mod
LoadHellfireArchives() (:578) - hellfire.mpq + hfmonk/hfmusic/hfvoice
LoadModArchives() (:724) - mods/<name>.mpq for each active mod
diabdat.mpq is matched uppercase first ("DIABDAT.MPQ", GOG/retail CD
convention, line 540), then lowercase (line 544). If neither is found
the loader falls back to spawn.mpq (line 546). Missing BOTH triggers
convention, line 546), then lowercase (line 550). If neither is found
the loader falls back to spawn.mpq (line 552). Missing BOTH triggers
the "diabdat.mpq or spawn.mpq" InsertCDDlg dialog and the game cannot
start.
Hellfire is optional: the engine advertises Diablo even when hellfire
files are absent. If hellfire.mpq is loaded, hfmonk.mpq + hfmusic.mpq
+ hfvoice.mpq must also be present (line 590) or the game aborts.
+ hfvoice.mpq must also be present (line 596) or the game aborts.
devilutionx.mpq is a build artefact packed from the repo's assets/
directory with the smpq tool (CMake option BUILD_ASSETS_MPQ,
CMakeLists.txt:192-205). CMake/Assets.cmake:46-238 lists the packed
CMakeLists.txt:192-205). CMake/Assets.cmake:46-239 lists the packed
files (ASSETS_VERSION, arena, data, fonts, gendata, levels, lua,
plrgfx, txtdata and ui_art, plus data/inv/objcurs-widths.txt and the
ui_art PNGs outside SDL1 and Vita builds), and each Translations/<lang>.po
is compiled with msgfmt to <lang>.gmo and appended
(CMake/Assets.cmake:8-29, 268-272). The archive is written with
(CMake/Assets.cmake:8-29, 269-273). The archive is written with
"smpq -A -M 1 -C BZIP2 -c" from the staged assets directory
(CMake/Assets.cmake:287-294). mods/hf.mpq is built the same way from
(CMake/Assets.cmake:288-295). mods/hf.mpq is built the same way from
the mods/hf file list under the BUILD_MOD_MPQS option
(CMake/Mods.cmake:11-36, 61-71). The compiled
(CMake/Mods.cmake:11-37, 52-62). The compiled
binary expects devilutionx.mpq next to the executable on every
platform except Android, Apple and 3DS/Switch (Source/engine/assets.cpp:511-518), where its
platform except Android, Apple and 3DS/Switch (Source/engine/assets.cpp:517-524), where its
contents are shipped loose. After loading the core archives the engine
reads the asset ASSETS_VERSION and aborts with "Failed to load UI
resources" unless its content is "1\n" (Source/init.cpp:54, 79-85,
Source/diablo.cpp:1225-1239). The same test on fonts\VERSION applies
Source/diablo.cpp:1228-1242). The same test on fonts\VERSION applies
to fonts.mpq when it is loaded (Source/init.cpp:98-114).
fonts.mpq is the CJK + language assets add-on from the
@@ -73,7 +73,7 @@ files:
description: "Diablo retail or GOG MPQ (contains all game data)"
aliases: [DIABDAT.MPQ]
note: "primary game archive, the GOG CD convention uses uppercase"
source_ref: "Source/engine/assets.cpp:539-544"
source_ref: "Source/engine/assets.cpp:545-550"
- name: spawn.mpq
path: devilutionx/spawn.mpq
@@ -82,7 +82,7 @@ files:
required: false
description: "Diablo shareware archive, used when diabdat.mpq is absent"
note: "freely redistributable shareware, triggers gbIsSpawn mode"
source_ref: "Source/engine/assets.cpp:546"
source_ref: "Source/engine/assets.cpp:552"
- name: hellfire.mpq
path: devilutionx/hellfire.mpq
@@ -90,7 +90,7 @@ files:
category: game_data
required: false
description: "Hellfire expansion main archive"
source_ref: "Source/engine/assets.cpp:575"
source_ref: "Source/engine/assets.cpp:581"
- name: hfmonk.mpq
path: devilutionx/hfmonk.mpq
@@ -98,7 +98,7 @@ files:
category: game_data
required: false
description: "Hellfire monk class assets, mandatory when hellfire.mpq is present"
source_ref: "Source/engine/assets.cpp:585"
source_ref: "Source/engine/assets.cpp:591"
- name: hfmusic.mpq
path: devilutionx/hfmusic.mpq
@@ -106,7 +106,7 @@ files:
category: game_data
required: false
description: "Hellfire music, mandatory when hellfire.mpq is present"
source_ref: "Source/engine/assets.cpp:586"
source_ref: "Source/engine/assets.cpp:592"
- name: hfvoice.mpq
path: devilutionx/hfvoice.mpq
@@ -114,7 +114,7 @@ files:
category: game_data
required: false
description: "Hellfire voices, mandatory when hellfire.mpq is present"
source_ref: "Source/engine/assets.cpp:587"
source_ref: "Source/engine/assets.cpp:593"
- name: "hfbard.mpq"
path: "devilutionx/hfbard.mpq"
@@ -122,7 +122,7 @@ files:
category: game_data
required: false
description: "Hellfire bard class assets, loaded when present"
source_ref: "Source/engine/assets.cpp:567"
source_ref: "Source/engine/assets.cpp:573"
- name: "hfbarb.mpq"
path: "devilutionx/hfbarb.mpq"
@@ -130,7 +130,7 @@ files:
category: game_data
required: false
description: "Hellfire barbarian class assets, loaded when present"
source_ref: "Source/engine/assets.cpp:568"
source_ref: "Source/engine/assets.cpp:574"
- name: "devilutionx.mpq"
path: "devilutionx/devilutionx.mpq"
@@ -142,7 +142,7 @@ files:
md5: "5afe4d6624064b41e25a36ac55da29fa"
description: "Engine assets (UI art, fonts, data tables, Lua scripts, compiled translations) packed from the repository's assets/ directory"
note: "Loaded first on every platform except Android, Apple, 3DS and Switch. Its files are also found in an assets/ directory next to the binary when the build installs them loose. The engine aborts when the asset ASSETS_VERSION is absent or is not \"1\\n\". Built by CMake with smpq (MPQ version 1, BZIP2, no attributes) from the file list of CMake/Assets.cmake plus one <lang>.gmo per translation. Shipped beside the binary in the Windows zip and the Linux tarball, and loose under assets/ in the APK. The hashes are those of the 1.5.5 release."
source_ref: "Source/engine/assets.cpp:511-518, 223-226, Source/init.cpp:54, 79-85, Source/diablo.cpp:1225-1239, CMake/Assets.cmake:46-224, 287-294"
source_ref: "Source/engine/assets.cpp:517-524, 223-226, Source/init.cpp:54, 79-85, Source/diablo.cpp:1228-1242, CMake/Assets.cmake:46-225, 288-295"
- name: "fonts.mpq"
path: "devilutionx/fonts.mpq"
@@ -150,7 +150,7 @@ files:
category: game_data
required: false
description: "CJK and extended-language font pack from devilutionx-assets release"
source_ref: "Source/engine/assets.cpp:519"
source_ref: "Source/engine/assets.cpp:525"
- name: "es.mpq"
path: "devilutionx/es.mpq"
@@ -159,7 +159,7 @@ files:
required: false
description: "Spanish voice pack"
note: "The archive named after the selected language code is loaded. English loads none."
source_ref: "Source/engine/assets.cpp:523-530"
source_ref: "Source/engine/assets.cpp:529-536"
- name: "pl.mpq"
path: "devilutionx/pl.mpq"
@@ -168,7 +168,7 @@ files:
required: false
description: "Polish voice pack"
note: "The archive named after the selected language code is loaded. English loads none."
source_ref: "Source/engine/assets.cpp:523-530"
source_ref: "Source/engine/assets.cpp:529-536"
- name: "ru.mpq"
path: "devilutionx/ru.mpq"
@@ -177,7 +177,7 @@ files:
required: false
description: "Russian voice pack"
note: "The archive named after the selected language code is loaded. English loads none."
source_ref: "Source/engine/assets.cpp:523-530"
source_ref: "Source/engine/assets.cpp:529-536"
- name: "hf.mpq"
path: "devilutionx/mods/hf.mpq"
@@ -185,5 +185,5 @@ files:
category: game_data
required: false
description: "Hellfire mod archive packed from the repository's mods/hf directory"
note: "mods/<name>.mpq is opened for each active mod, and hf is activated when hellfire.mpq is present. A mod with no archive and no loose directory is served from the core archives. Built by CMake with smpq (MPQ version 1, BZIP2, no attributes) from the hellfire_mod file list. The Windows and Linux packaging of this revision installs it under mods/ beside devilutionx.mpq, and no release carries it yet."
source_ref: "Source/engine/assets.cpp:756-772, Source/options.cpp:77-79, CMakeLists.txt:205, 641-646, 705-710, CMake/Mods.cmake:11-36, 61-70"
note: "mods/<name>.mpq is opened for each active mod, and hf is activated when hellfire.mpq is present. A mod with no archive and no loose directory is served from the core archives. Built by CMake with smpq (MPQ version 1, BZIP2, no attributes) from the hellfire_mod file list. The Windows and Linux packaging of this revision installs it under mods/ beside devilutionx.mpq. The Apple build packs it into Resources/mods, and the Android and Apple builds look for mods/<name>.mpq inside the application package after the search paths. No release carries it yet."
source_ref: "Source/engine/assets.cpp:768-788, Source/engine/assets.cpp:413-428, Source/options.cpp:77-79, CMakeLists.txt:205, 641-646, 705-710, CMake/Mods.cmake:11-37, 52-71"
+12 -12
View File
@@ -4,7 +4,7 @@ core_classification: game_engine
source: "https://github.com/etlegacy/etlegacy"
upstream: "https://github.com/etlegacy/etlegacy"
profiled_date: "2026-10-04"
source_commit: "add16a92f4b10c2955136e3ab7868bfc9bff8fad"
source_commit: "13d8bea7b484f4eec993d2c8723b8756c6300963"
core_version: "2.86.2"
version_basis:
kind: file
@@ -17,26 +17,26 @@ systems: [enemyterritory]
notes: |
Wolfenstein: Enemy Territory source port. BASEGAME = "etmain"
(src/qcommon/qcommon.h:783). FS_InitFilesystem
(src/qcommon/files.c:5066-5094) refuses to start if pak0.pk3 is not reachable under etmain
(src/qcommon/qcommon.h:785). FS_InitFilesystem
(src/qcommon/files.c:5104-5132) refuses to start if pak0.pk3 is not reachable under etmain
and prints "Please copy pak0.pk3 from the 'etmain' path of your
Wolfenstein: Enemy Territory installation to <path>". pak1.pk3 and
pak2.pk3 are checked against the server's requested pak list in
FS_ComparePaks (src/qcommon/files.c:4011-4018) but neither is a
FS_ComparePaks (src/qcommon/files.c:4049-4056) but neither is a
startup gate. Third-party mods pull them in as needed (see README.md
"In addition, third party mods might also require pak1.pk3 and
pak2.pk3"). mp_bin.pk3 ships in the retail release and holds the
stock multiplayer binaries.
NUM_ID_PAKS = 9 (src/qcommon/qcommon.h:811) counts the names recognised
NUM_ID_PAKS = 9 (src/qcommon/qcommon.h:813) counts the names recognised
by FS_idPak. Retail Enemy Territory 2.60b publishes only pak0, pak1,
pak2 and mp_bin, so the extra slots are reserved for forward compatible
server lists, never filled by id.
fs_game defaults to the legacy mod (src/qcommon/files.c:5141-5148). The
fs_game defaults to the legacy mod (src/qcommon/files.c:5179-5186). The
build packs the cgame and ui libraries with the source tree's etmain/
assets (configs, presets, locale files) into legacy/legacy_<version>.pk3
and installs it with the engine (cmake/ETLBuildMod.cmake:281-296). The
and installs it with the engine (cmake/ETLBuildMod.cmake:281-298). The
client extracts its cgame and ui libraries from that pk3 at load
(src/sys/sys_main.c:935-947). The user still has to supply the retail
pak0.pk3 from the free Enemy Territory 2.60b download. pak0.pk3 holds
@@ -48,7 +48,7 @@ files:
system: enemyterritory
path: "etmain/pak0.pk3"
required: true
source_ref: "src/qcommon/files.c:5066-5094 (fatal if absent), 5076 (FS_FOpenFileRead \"pak0.pk3\"), src/qcommon/qcommon.h:783 (BASEGAME \"etmain\")"
source_ref: "src/qcommon/files.c:5104-5132 (fatal if absent), src/qcommon/files.c:5114 (FS_FOpenFileRead \"pak0.pk3\"), src/qcommon/qcommon.h:785 (BASEGAME \"etmain\")"
note: "Retail Wolfenstein: Enemy Territory 2.60b data pak. Startup gate."
- name: "pak1.pk3"
@@ -56,7 +56,7 @@ files:
system: enemyterritory
path: "etmain/pak1.pk3"
required: false
source_ref: "src/qcommon/files.c:4011-4018 (FS_idPak, NUM_ID_PAKS=9), README.md"
source_ref: "src/qcommon/files.c:4049-4056 (FS_idPak, NUM_ID_PAKS=9), README.md"
note: "Retail content update pak. Required by servers running 2.60b, pulled in by FS_ComparePaks."
- name: "pak2.pk3"
@@ -64,7 +64,7 @@ files:
system: enemyterritory
path: "etmain/pak2.pk3"
required: false
source_ref: "src/qcommon/files.c:4011-4018 (FS_idPak), README.md"
source_ref: "src/qcommon/files.c:4049-4056 (FS_idPak), README.md"
note: "Retail content update pak."
- name: "mp_bin.pk3"
@@ -72,7 +72,7 @@ files:
system: enemyterritory
path: "etmain/mp_bin.pk3"
required: false
source_ref: "src/qcommon/files.c:4011-4018 (FS_idPak)"
source_ref: "src/qcommon/files.c:4049-4056 (FS_idPak)"
note: "Retail multiplayer QVM binaries. ET Legacy ships its own cgame/ui binaries, and the retail pack is for pure clients joining stock servers."
exclusion_note: >
@@ -81,4 +81,4 @@ exclusion_note: >
ui libraries compiled for the host, so every release and architecture
ships different bytes under a different name. It arrives with every
install of the engine.
ref: cmake/ETLBuildMod.cmake:281-296, cmake/ETLVersion.cmake:120-131
ref: cmake/ETLBuildMod.cmake:281-298, cmake/ETLVersion.cmake:120-131
+14 -14
View File
@@ -4,7 +4,7 @@ core_classification: game_engine
source: "https://github.com/garglk/garglk"
upstream: "https://github.com/garglk/garglk"
profiled_date: "2026-08-08"
source_commit: "9e06211c20bee35026744424a57f50375cdc29db"
source_commit: "f15b43dc9448ac14480310a64301bf859faf999d"
core_version: "2026.1"
version_basis:
kind: file
@@ -76,7 +76,7 @@ notes: |
in Resources/Fonts and Unifont in Resources, and the Windows installer also
registers the eight faces as system fonts.
ref: garglk/sysqt.cpp:960-1004, garglk/sysmac.mm:1013-1030, garglk/CMakeLists.txt:137,145,
510-534, gargoyle_osx.sh:124-125,211-213, installer.nsi:89-90,208-215
519-543, gargoyle_osx.sh:124-125,211-213, installer.nsi:89-90,208-215
Themes are read from every *.json in the theme directories, which are the
Qt application data locations plus the executable directory on Windows and
@@ -96,7 +96,7 @@ notes: |
garglk.ini or the build hardcodes one, and the fallback is whatever
FluidSynth reports as its own default.
ref: garglk/config.cpp:294-298,864-872, garglk/snddecode.cpp:373-395,
garglk/CMakeLists.txt:58 (DEFAULT_SOUNDFONT), INSTALL.md:153-157
garglk/CMakeLists.txt:58 (DEFAULT_SOUNDFONT), INSTALL.md:155-159
Story files are content. Formats that carry companion data read it from the
story file's own name or directory, so it travels with the game: Level 9
@@ -105,7 +105,7 @@ notes: |
sides the Scott Adams, Plus and TaylorMade interpreters read from C64,
Atari 8-bit and Apple II images.
ref: terps/level9/Glk/glk.c:6415-6450, terps/magnetic/Glk/glk.c:5758-5855,
terps/CMakeLists.txt:69,73,359,469,565 (c64diskimage, unp64)
terps/CMakeLists.txt:69,73,376,527,625 (c64diskimage, unp64)
exclusion_note: >
TADS character mapping files are not loaded by this build. The Glk port
@@ -115,7 +115,7 @@ exclusion_note: >
with -ctab. The agil.cfg read by AGiliTy lives in os_dos.c and os_dos16.c,
while the build compiles os_glk.c.
ref: terps/tads/glk/osmisc.c:69-72,316-334, terps/tads/tads2/cmap.c:290-315,
terps/tads/tads2/trd.c:513-517, terps/CMakeLists.txt:111-119
terps/tads/tads2/trd.c:513-517, terps/CMakeLists.txt:126-134
files:
# -- Text fonts, data directory root --
@@ -226,7 +226,7 @@ files:
size: 358
sha1: "6b47d1e68e79c258d8b733d0525beee7e567a776"
md5: "4a2fc2266fb1c4139617e88722b5c6f9"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:564"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:573"
- name: "Breeze Darker.json"
path: "themes/Breeze Darker.json"
@@ -236,7 +236,7 @@ files:
size: 367
sha1: "6c389838c66c13397cc3c7096b31fca994bbb34c"
md5: "597f5b89772b9660d732a5122d159d6b"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:565"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:574"
- name: "Lectrote Dark.json"
path: "themes/Lectrote Dark.json"
@@ -246,7 +246,7 @@ files:
size: 474
sha1: "225049ddfa6ce2c4b7198ca6c889c81d65b7946f"
md5: "83b81c33ec97dbc100c850de7b04a694"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:566"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:575"
- name: "Lectrote Sepia.json"
path: "themes/Lectrote Sepia.json"
@@ -256,7 +256,7 @@ files:
size: 474
sha1: "813f91ff7f0a0b95fcd37e541414cdc29bbc2968"
md5: "d766895891ccec110e15a044af6194c7"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:567"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:576"
- name: "Lectrote Slate.json"
path: "themes/Lectrote Slate.json"
@@ -266,7 +266,7 @@ files:
size: 474
sha1: "8032208eab8f10874f448c39bdc5a85b83d539b3"
md5: "3a06a19b8441d931ddef2359116e405a"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:568"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:577"
- name: "Pencil.json"
path: "themes/Pencil.json"
@@ -276,7 +276,7 @@ files:
size: 360
sha1: "976b37a0451fb3cbed9a85ccf3c242ae768a4bc5"
md5: "6e1743b8b40eaf3a85015013dcea7701"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:569"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:578"
- name: "Zoom.json"
path: "themes/Zoom.json"
@@ -286,7 +286,7 @@ files:
size: 358
sha1: "d312b25c5f3a92178a185de122aeb222a32d4096"
md5: "641c88ce7f5e1a9a7ac4c18b90a9f38d"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:570"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:579"
- name: "dark.json"
path: "themes/dark.json"
@@ -296,7 +296,7 @@ files:
size: 358
sha1: "3757750cd3052b8d23f379aba22d7ee3d9353bc9"
md5: "2614becc041fc813cf87397aa47e8210"
source_ref: "garglk/theme.cpp:268-282, garglk/theme.cpp:304-316, garglk/CMakeLists.txt:81-86, garglk/CMakeLists.txt:571"
source_ref: "garglk/theme.cpp:268-282, garglk/theme.cpp:304-316, garglk/CMakeLists.txt:81-86, garglk/CMakeLists.txt:580"
note: "Also compiled in as the built-in dark theme."
- name: "light.json"
@@ -307,5 +307,5 @@ files:
size: 412
sha1: "049412d56a41865539faadcd86408d5107a1dbef"
md5: "37c78cb6e0105b946627038dcbfc8c64"
source_ref: "garglk/theme.cpp:268-282, garglk/theme.cpp:304-316, garglk/CMakeLists.txt:88-93, garglk/CMakeLists.txt:572"
source_ref: "garglk/theme.cpp:268-282, garglk/theme.cpp:304-316, garglk/CMakeLists.txt:88-93, garglk/CMakeLists.txt:581"
note: "Also compiled in as the built-in light theme."
+1 -1
View File
@@ -55,7 +55,7 @@ notes: |
The core performs no hash or size validation on System ROMs. CD BIOS family
detection and the optional CD speed hack patches use byte patterns and
apply only when the 68K BIOS is at least 512 KiB (src/geo_cd.c:1888-1910,
1904-1924). Upstream declares the expected archive MD5s through the Jolly
1913-1941, 1959-1980). Upstream declares the expected archive MD5s through the Jolly
Good API BIOS list (jg.c:220-231), and the md5 fields on the archives below
are copied from it.
+2 -1
View File
@@ -5,7 +5,8 @@ source: "https://github.com/shinovon/KEmulator"
upstream: "https://github.com/shinovon/KEmulator"
author: "shinovon"
profiled_date: "2026-08-11"
source_commit: "1ab219907cfcac0e6313d1b6ccba13ad74015d08"
source_commit: "4dfdfe31243c9bdbcffa987101e27421618e79e8"
prose_written_at: "1ab219907cfcac0e6313d1b6ccba13ad74015d08"
core_version: "2.22"
version_basis:
kind: file
+1
View File
@@ -5,6 +5,7 @@ source: "https://github.com/linappleii/linapple"
upstream: "https://github.com/AppleWin/AppleWin"
profiled_date: "2026-10-20"
source_commit: "7f4b60898d91bfecd6f4d8683a374f38b0564962"
prose_written_at: "7f4b60898d91bfecd6f4d8683a374f38b0564962"
upstream_commit: "9970ef6b668a7cf057ce6d82f100dde6a751f4d3"
core_version: "3.0.0"
version_basis:
+82 -31
View File
@@ -4,8 +4,8 @@ core_classification: community_fork
bios_mode: agnostic
source: "https://github.com/WizzardSK/pcee2-libretro"
upstream: "https://github.com/PCSX2/pcsx2"
profiled_date: "2026-09-03"
source_commit: "f52b5a6fe43278dcfc827b85b09fced5a82f863f"
profiled_date: "2026-11-09"
source_commit: "2b0edbe67188977c7709b57d6effdc70147eeb0d"
upstream_commit: "ab0b401f99729ef8da3009f9af28d8ee96e0e7ba"
core_version: "v2.9.138"
version_basis:
@@ -15,7 +15,7 @@ version_basis:
distance: 0
display_name: "Sony - PlayStation 2 (PCEE2)"
cores: [pcee2]
systems: [sony-playstation-2]
systems: [sony-playstation-2, namco-system246, namco-system256]
bios_directory: "pcsx2/bios/"
resources_directory: "pcsx2/resources/"
@@ -24,7 +24,7 @@ data_directories:
- ref: pcsx2-resources
destination: "pcsx2/resources"
bundled: true
source_ref: "pcee2-libretro/Libretro.cpp:543-571, pcsx2/Pcsx2Config.cpp:2417-2429, cmake/EmbedResources.cmake:19-31, 46-62"
source_ref: "pcee2-libretro/Libretro.cpp:548-576, pcsx2/Pcsx2Config.cpp:2418-2430, cmake/EmbedResources.cmake:19-31, 46-62"
notes: |
libretro port of current PCSX2, merged up to upstream ab0b401f (v2.9.138,
@@ -38,56 +38,67 @@ notes: |
pcsx2/resources, Settings is pcsx2/inis, and EmuFolders::LoadConfig
derives bios, memcards, cheats, patches, textures, gamesettings, cache,
snaps, sstates, logs, covers, inputprofiles and videos from DataRoot
(pcee2-libretro/Libretro.cpp:543-557, pcsx2/Pcsx2Config.cpp:2348-2365).
(pcee2-libretro/Libretro.cpp:548-562, pcsx2/Pcsx2Config.cpp:2349-2366).
A standalone PCSX2.ini dropped in pcsx2/inis contributes nine emulation
sections as the baseline (pcee2-libretro/Libretro.cpp:633-664), and the core options and the
sections as the baseline (pcee2-libretro/Libretro.cpp:638-669), and the core options and the
port overrides apply on top.
BIOS detection is filename-agnostic. The core option pcsx2_bios lists every
file of pcsx2/bios that IsBIOS accepts: a romdir whose RESET entry is
followed by a readable ROMVER, whose fifth character gives the zone (Japan,
USA, Europe, Asia, China, T10K, COH-H, Test, Free). With the option on
auto, SettingsOverride selects the first accepted file (pcee2-libretro/Libretro.cpp:707-747,
pcsx2/ps2/BiosTools.cpp:80-197, 284-294). When no BIOS is configured or the
auto, SettingsOverride selects the first accepted file whose zone is not
COH-H, and clears a COH-H image left selected by an earlier arcade game
(pcee2-libretro/Libretro.cpp:712-783, pcsx2/ps2/BiosTools.cpp:80-207, 294-304).
An .acgame content runs on the Namco System 246/256 board BIOS instead:
the first file of pcsx2/bios whose zone is COH-H, whatever the option says.
Without one the game is started on the BIOS the option or the auto
selection gives (pcee2-libretro/Libretro.cpp:2333,
pcee2-libretro/Libretro.cpp:712-730). The media image, the dongle memory
card, the bootloader ELF and the SRAM file are named by the .acgame and
read beside it (pcsx2/VMManager.cpp:1335-1473). When no BIOS is configured or the
configured name is missing, LoadBIOS falls back to FindBiosImage, which
also filters on size between 4 and 8 MB (pcsx2/ps2/BiosTools.cpp:258-282, 317-369).
also filters on size between 4 and 8 MB (pcsx2/ps2/BiosTools.cpp:268-292, 327-379).
The image is read into the 4 MB ROM region, and a file shorter than 2465792
bytes turns off the OSDSys parameter HLE. No hash is matched. Booting with
no content starts the BIOS (pcee2-libretro/Libretro.cpp:2286-2296).
no content starts the BIOS (pcee2-libretro/Libretro.cpp:2322-2332).
Companions derive from the selected image: rom1 and rom2 are tried as the
full name plus extension, then with the extension replaced, and are skipped
when absent. The nvm is read at the replaced extension and rebuilt with
region and language defaults when missing or blank, and the mec is written back
as 0x00020603 when it cannot be read (pcsx2/ps2/BiosTools.cpp:214-241, 366-367,
pcsx2/CDVD/CDVD.cpp:136-205).
as 0x00020603 when it cannot be read (pcsx2/ps2/BiosTools.cpp:224-251, 376-377,
pcsx2/CDVD/CDVD.cpp:141-214). During an arcade game a rebuilt nvm starts
from 0xFF bytes, a readable one is kept without the blank check, and a
missing mec is written as 0x0104020A, the version of a COH-H31100.
The shaders, four interface fonts, GameIndex.yaml and patches.zip are built
into the core (cmake/EmbedResources.cmake:19-31, 46-62,
pcsx2/CMakeLists.txt:1170-1219)
pcsx2/CMakeLists.txt:1181-1230)
and win over the copies on disk unless PCEE2_EXTERNAL_RESOURCES is set in
the environment (pcsx2/EmbeddedResources.cpp:8-12, pcsx2/GS/Renderers/Common/GSDevice.cpp:441-465,
pcsx2/ImGui/ImGuiManager.cpp:473-495, pcsx2/GameDatabase.cpp:1037-1066, pcsx2/Patch.cpp:292-331,
pcee2-libretro/Libretro.cpp:580-602). A missing resources directory is a warning, not a
failure (pcee2-libretro/Libretro.cpp:562-571). patches.zip is packed at build time from the
pcsx2/ImGui/ImGuiManager.cpp:473-495, pcsx2/GameDatabase.cpp:1042-1071, pcsx2/Patch.cpp:293-332,
pcee2-libretro/Libretro.cpp:585-607). A missing resources directory is a warning, not a
failure (pcee2-libretro/Libretro.cpp:567-576). patches.zip is packed at build time from the
3rdparty/pcsx2_patches submodule, so the build carries the patches of the
commit it points at, and the directory supplies nothing this build reads
by default. RedumpDatabase.yaml is read only by the Qt game
summary (pcsx2/GameDatabase.cpp:1213-1226 has no caller in the core),
summary (pcsx2/GameDatabase.cpp:1218-1231 has no caller in the core),
game_controller_db.txt only by the SDL input source the port disables
(pcee2-libretro/Libretro.cpp:690-691, pcsx2/Input/SDLInputSource.cpp:701-706), the
(pcee2-libretro/Libretro.cpp:695-696, pcsx2/Input/SDLInputSource.cpp:701-706), the
achievement sounds only with achievements enabled, which no core option or
adopted ini section does (pcsx2/Achievements.cpp:944-952), and
fullscreenui/no-save.png only by the save state selector, whose hotkeys the
port clears (pcee2-libretro/Libretro.cpp:693, pcsx2/ImGui/ImGuiOverlays.cpp:1441-1442).
port clears (pcee2-libretro/Libretro.cpp:698, pcsx2/ImGui/ImGuiOverlays.cpp:1441-1442).
The port supplies Roboto alone to ImGui, so no emoji font is read.
Per-game user files keep their PCSX2 locations under <system>/pcsx2:
cheats and patches as <serial>_<crc>.pnach (pcsx2/Patch.cpp:333-368),
gamesettings/<serial>_<crc>.ini (pcsx2/VMManager.cpp:842-845),
cheats and patches as <serial>_<crc>.pnach, <serial>.pnach for an arcade
game, whose crc is 0 (pcsx2/Patch.cpp:334-371),
gamesettings/<serial>_<crc>.ini (pcsx2/VMManager.cpp:869-872),
textures/<serial>/replacements (pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:269-271),
memcards/*.ps2, which the core creates and lists in the memory card
options (pcee2-libretro/Libretro.cpp:749-769). The DEV9 HDD image is named in the ini and
options (pcee2-libretro/Libretro.cpp:785-805). The DEV9 HDD image is named in the ini and
created on demand.
files:
@@ -99,18 +110,57 @@ files:
max_size: 8388608
required: true
validation: [size]
source_ref: "source pcee2-libretro/Libretro.cpp:707-747, source pcsx2/ps2/BiosTools.cpp:16-17, source pcsx2/ps2/BiosTools.cpp:80-197, source pcsx2/ps2/BiosTools.cpp:258-294, source pcsx2/ps2/BiosTools.cpp:317-369"
source_ref: "source pcee2-libretro/Libretro.cpp:712-783, source pcsx2/ps2/BiosTools.cpp:16-17, source pcsx2/ps2/BiosTools.cpp:80-207, source pcsx2/ps2/BiosTools.cpp:268-304, source pcsx2/ps2/BiosTools.cpp:327-379"
note: >
Any file of pcsx2/bios whose romdir carries RESET and ROMVER. The 4 to
8 MB filter applies in FindBiosImage only. The core option scan and the
auto selection accept any size that passes the romdir check.
auto selection accept any size that passes the romdir check, and the
auto selection passes over a COH-H image.
- name: r27v1602f.8g
found_by: content
path: pcsx2/bios/r27v1602f.8g
system: namco-system256
agnostic: true
required: false
description: "Namco System 256 board BIOS"
source_ref: "source pcee2-libretro/Libretro.cpp:712-730, source pcee2-libretro/Libretro.cpp:2333, source pcsx2/ps2/BiosTools.cpp:149-153, source pcsx2/ps2/BiosTools.cpp:176-180"
note: >
Read for an .acgame content only. The first file of pcsx2/bios whose
ROMVER zone is COH-H is selected, whatever its name or size, and no board
is preferred over another. The name is the board position the chip dump
carries.
- name: r27v1602f.7d
found_by: content
path: pcsx2/bios/r27v1602f.7d
system: namco-system246
agnostic: true
required: false
description: "Namco System 246 Rack C board BIOS"
source_ref: "source pcee2-libretro/Libretro.cpp:712-730, source pcee2-libretro/Libretro.cpp:2333, source pcsx2/ps2/BiosTools.cpp:149-153, source pcsx2/ps2/BiosTools.cpp:176-180"
note: >
Same selection as the System 256 image: any COH-H image serves any
.acgame content.
- name: COH-H31000.BIN
found_by: content
path: pcsx2/bios/COH-H31000.BIN
system: namco-system246
agnostic: true
required: false
description: "Sony COH-H A-000-010 board BIOS"
source_ref: "source pcee2-libretro/Libretro.cpp:712-730, source pcee2-libretro/Libretro.cpp:2333, source pcsx2/ps2/BiosTools.cpp:149-153, source pcsx2/ps2/BiosTools.cpp:176-180"
note: >
Same selection as the System 256 image: any COH-H image serves any
.acgame content.
- name: "<bios>.rom1"
path: "pcsx2/bios/<bios>.rom1"
description: "DVD player ROM"
max_size: 4194304
required: false
source_ref: "source pcsx2/ps2/BiosTools.cpp:214-241, source pcsx2/ps2/BiosTools.cpp:366, source pcsx2/MemoryTypes.h:13"
source_ref: "source pcsx2/ps2/BiosTools.cpp:224-251, source pcsx2/ps2/BiosTools.cpp:376, source pcsx2/MemoryTypes.h:13"
note: >
Tried as <bios>.bin.rom1 then <bios>.rom1, opened case-insensitively,
skipped with a console line when absent.
@@ -120,7 +170,7 @@ files:
description: "Chinese ROM extension"
max_size: 4194304
required: false
source_ref: "source pcsx2/ps2/BiosTools.cpp:214-241, source pcsx2/ps2/BiosTools.cpp:367, source pcsx2/MemoryTypes.h:14"
source_ref: "source pcsx2/ps2/BiosTools.cpp:224-251, source pcsx2/ps2/BiosTools.cpp:377, source pcsx2/MemoryTypes.h:14"
note: >
Same lookup as rom1. Present on Chinese region consoles only.
@@ -130,7 +180,7 @@ files:
size: 1024
required: false
hle_fallback: true
source_ref: "source pcsx2/CDVD/CDVD.cpp:47, source pcsx2/CDVD/CDVD.cpp:136-188, source pcsx2/CDVD/CDVD.cpp:207-238"
source_ref: "source pcsx2/CDVD/CDVD.cpp:49, source pcsx2/CDVD/CDVD.cpp:141-197, source pcsx2/CDVD/CDVD.cpp:216-247"
note: >
Read at <bios>.nvm, rebuilt in memory with region and language defaults
when it is missing, short, or has a blank config block, and written back
@@ -142,16 +192,17 @@ files:
size: 4
required: false
hle_fallback: true
source_ref: "source pcsx2/CDVD/CDVD.cpp:49, source pcsx2/CDVD/CDVD.cpp:190-204"
source_ref: "source pcsx2/CDVD/CDVD.cpp:51-53, source pcsx2/CDVD/CDVD.cpp:199-213"
note: >
Read at <bios>.mec, written as 0x00020603 when it cannot be read.
Read at <bios>.mec, written as 0x00020603 when it cannot be read, or as
0x0104020A during an arcade game.
- name: "patches.zip"
path: "pcsx2/resources/patches.zip"
description: "Built-in game patch archive (pnach per serial and CRC)"
required: false
category: game_data
source_ref: "upstream pcsx2/Patch.cpp:117, source pcsx2/Patch.cpp:292-331, source pcsx2/Patch.cpp:379-419, source pcsx2/CMakeLists.txt:1183-1205"
source_ref: "upstream pcsx2/Patch.cpp:117, source pcsx2/Patch.cpp:293-332, source pcsx2/Patch.cpp:382-422, source pcsx2/CMakeLists.txt:1194-1216"
note: >
Embedded in the core, packed from the 3rdparty/pcsx2_patches submodule.
The copy in the resources directory is opened only when
@@ -166,7 +217,7 @@ files:
size: 64
required: false
hle_fallback: true
source_ref: "upstream pcsx2/DEV9/DEV9.cpp:60-73, source pcsx2/DEV9/DEV9.cpp:97-158"
source_ref: "upstream pcsx2/DEV9/DEV9.cpp:60-73, source pcsx2/DEV9/DEV9.cpp:106-167"
note: >
Opened read-write and mapped from the process working directory by
DEV9init. The built-in eeprom table is used when it cannot be opened.
+5 -7
View File
@@ -3,9 +3,9 @@ type: libretro
core_classification: official_port
source: "https://github.com/autch/piece-emu"
upstream: "https://github.com/autch/piece-emu"
profiled_date: "2026-09-17"
source_commit: "08ec4b45176e8df0d6d6f67e56b87e847cd64a65"
core_version: "0.1"
profiled_date: "2026-11-09"
source_commit: "9aedad032c5d06a8c6d7cf74142a2b9ac32d77ac"
core_version: "0.3"
version_basis:
kind: file
path: "src/libretro/piece_libretro.cpp"
@@ -26,12 +26,12 @@ notes: |
the SYSTEMINFO block, then the raw flash contents at the stored offset
(src/pfi_format.h:22-47). retro_get_system_info sets need_fullpath to
false, so the frontend hands the file over as a memory blob
(src/libretro/piece_libretro.cpp:225-233). retro_load_game checks the
(src/libretro/piece_libretro.cpp:231). retro_load_game checks the
PFI signature and SYSTEMINFO.size == 32, sizes SRAM and flash from
SYSTEMINFO, copies the flash bytes into an SST39VF flash device and
starts the CPU at the reset vector read from flash base 0xC00000
(src/libretro/piece_libretro.cpp:271-362,
src/debug/pfi_loader_blob.cpp:20-91). The P/ECE kernel, its PFFS file
src/debug/pfi_loader_blob.cpp:20-49, 58-91). The P/ECE kernel, its PFFS file
system and the installed applications (.pex) all live in that flash
image. The bus maps internal IRAM, external SRAM, external flash and
I/O only (src/core/bus.hpp:75-79 and src/core/bus.hpp:239). The core
@@ -54,8 +54,6 @@ notes: |
launcher with startup.pex, date.pex and gamepad.pex installed, and games
are added with pfar.
The .info reports display_version 0.3, while the code announces 0.1.
files: []
platform_details:
+1
View File
@@ -5,6 +5,7 @@ source: "https://github.com/libretro/snes9x2010"
upstream: "https://github.com/snes9xgit/snes9x"
profiled_date: "2026-03-25"
source_commit: "fe690dd321fa5a46b5234a2bde089d2518c62b0e"
prose_written_at: "fe690dd321fa5a46b5234a2bde089d2518c62b0e"
upstream_commit: "1bcc369e89f08243e0a462882fb1f3e42e51de3a"
core_version: "1.52.4"
version_basis:
+21 -20
View File
@@ -4,14 +4,15 @@ core_classification: enhanced_fork
source: "https://github.com/blueminder/supermodel-dojo"
upstream: "https://github.com/trzy/Supermodel"
author: "blueminder"
profiled_date: "2026-10-27"
source_commit: "113a48d567c5d49a40292df386fee4a0acaea486"
profiled_date: "2026-11-09"
source_commit: "9bdf7f26a7271cc13b0640487b72fbada0f9dd8b"
prose_written_at: "113a48d567c5d49a40292df386fee4a0acaea486"
upstream_commit: "98fcbff223e23b1530c8f899aca2fc4fd5663ab4"
upstream_frozen: "The dojo branch merged trzy/Supermodel at this commit through merge ab1ecae. Later upstream commits are not in the port."
core_version: "v0.3a-20261024-git-113a48d"
core_version: "v0.3a-20261029-git-9bdf7f2"
version_basis:
kind: tag
tag: "v0.3a-20261024-git-113a48d"
tag: "v0.3a-20261029-git-9bdf7f2"
distance: 0
display_name: "Sega - Model 3 (Supermodel Dojo)"
verification: existence
@@ -45,7 +46,7 @@ notes: |
netplay, replay and release changes. The two repositories are not linked on
GitHub, so the pin is read from the merge itself, whose second parent 98fcbff
resolves in both trees.
ref: README.md:3-20, Src/OSD/SDL/Main.cpp:2659-2691
ref: README.md:3-20, Src/OSD/SDL/Main.cpp:2679-2711
Windows and macOS return relative names, Config/, Assets/, NVRAM/, Saves/,
Replays/, ROMs/, resolved against the working directory, which is where the
@@ -58,8 +59,8 @@ notes: |
is absent. ROMs/ is the default ROMDirectory, where the GUI looks for
<set>.zip.
ref: Src/OSD/Windows/FileSystemPath.cpp:28-60, Src/OSD/OSX/FileSystemPath.cpp:28-58,
Src/OSD/Unix/FileSystemPath.cpp:63-77, 130-141, 144-198, Src/Dojo/Replay.cpp:28-31,
Src/OSD/SDL/Main.cpp:1885, es-de resources/systems/windows/es_systems.xml:171
Src/OSD/Unix/FileSystemPath.cpp:63-77, 130-141, 144-198, Src/Dojo/Replay.cpp:67-70,
Src/OSD/SDL/Main.cpp:1905, es-de resources/systems/windows/es_systems.xml:171
ROM sets are MAME format per game archives identified by the CRC32 values in
Games.xml, 64 sets at this revision. A parent set holds the ROMs a regional
@@ -75,20 +76,20 @@ notes: |
is optional, a synthetic image is built when it is absent, and that image takes
the logo model from Assets/ when both 3dlogo files are there.
ref: Config/Games.xml:1404-1428, Src/Pro1000/Pro1000.cpp:2128-2160,
Src/OSD/SDL/Main.cpp:2831-2834
Src/OSD/SDL/Main.cpp:2870-2873
The emulator writes and reads back its own Supermodel.ini, generated from the
built in Dojo defaults whenever it is absent, plus NVRAM/<game>.nv,
Saves/<game>.st<slot> and Replays/<game>_<timestamp>.supr with a .st0 sidecar
when the session starts from a save state.
ref: Src/OSD/SDL/Main.cpp:1766-1786, 2662, 724-752, 786-809,
Src/OSD/DojoConfigFile.h:31, Src/Dojo/Replay.cpp:23-51
ref: Src/OSD/SDL/Main.cpp:1786-1806, 2682, 731-759, 793-816,
Src/OSD/DojoConfigFile.h:31, Src/Dojo/Replay.cpp:62-90
Two reads take a path the user chooses and have no fixed name: the MP3 tracks
named inside Music.xml, and external GLSL vertex and fragment shaders for the
legacy 3D engine, whose config keys are empty by default so the built in shader
source is compiled instead.
ref: Src/Sound/MPEG/MpegAudio.cpp:71-86, Src/OSD/SDL/Main.cpp:1889-1890,
ref: Src/Sound/MPEG/MpegAudio.cpp:71-86, Src/OSD/SDL/Main.cpp:1909-1910,
Src/Graphics/Shader.cpp:100-106
The v0.3a-<date>-git-<rev> releases are built from the dojo branch and named
@@ -99,7 +100,7 @@ notes: |
date and short sha, and the tree falls back to 0.3a-WIP. The older dojo-preview
tags, Preview 6 of 2025-04-27 the last, shipped a separate launcher.
ref: .github/workflows/release.yml:4-5, .github/workflows/release.yml:21,
.github/workflows/release.yml:48-49, Makefiles/Rules.inc:325-327,
.github/workflows/release.yml:48-49, Makefiles/Rules.inc:328-330,
Src/Version.h:32
ES-DE reaches it through the SUPERMODEL-DOJO find rule, present in the Windows
@@ -116,25 +117,25 @@ files:
bundled: true
description: "ROM set definitions"
note: "Parsed at startup into the game database. Every ROM region, file name and CRC32 the loader matches against comes from here, so an unreadable file leaves no set to resolve and the launch returns before the emulator is built. The path is a config key, so -game-xml-file moves it."
source_ref: "source Src/OSD/SDL/Main.cpp:126, Src/OSD/SDL/Main.cpp:1878, Src/OSD/SDL/Main.cpp:2369, Src/OSD/SDL/Main.cpp:2757-2768, source Src/GameLoader.cpp:601-611, Src/GameLoader.cpp:1066-1069, source Src/OSD/Windows/FileSystemPath.cpp:28-32"
source_ref: "source Src/OSD/SDL/Main.cpp:126, Src/OSD/SDL/Main.cpp:1898, Src/OSD/SDL/Main.cpp:2389, Src/OSD/SDL/Main.cpp:2792-2803, source Src/GameLoader.cpp:601-611, Src/GameLoader.cpp:1066-1069, source Src/OSD/Windows/FileSystemPath.cpp:28-32"
- name: p1crosshair.bmp
path: "Assets/p1crosshair.bmp"
size: 295992
required: true
required: false
bundled: true
description: "Player 1 light gun crosshair texture"
note: "Both bitmaps are read on every launch whatever CrosshairStyle holds, since the load runs before the style decides anything, and a null surface aborts startup ahead of the Model 3 object. 32 bit BMP with alpha, sides a multiple of 2."
source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:34-51, source Src/OSD/SDL/Main.cpp:2817-2823, source Assets/DIR.txt"
note: "Read only for a light gun game with CrosshairStyle set to bmp. The default style is vector, which draws the crosshair without a texture. When the bmp style is set and either bitmap fails to load, the gun game stops before the Model 3 object is built. 32 bit BMP with alpha, sides a multiple of 2."
source_ref: "source Src/OSD/SDL/Crosshair.cpp:32-61, source Src/OSD/SDL/Main.cpp:156-161, source Src/OSD/SDL/Main.cpp:1956, source Src/OSD/SDL/Main.cpp:2852-2862, source Assets/DIR.txt"
- name: p2crosshair.bmp
path: "Assets/p2crosshair.bmp"
size: 295992
required: true
required: false
bundled: true
description: "Player 2 light gun crosshair texture"
note: "Read in the same call as the player 1 bitmap and equally fatal when it fails to load."
source_ref: "upstream Src/OSD/SDL/Crosshair.cpp:35, 49-51, source Src/OSD/SDL/Main.cpp:2817-2823"
note: "Read in the same call as the player 1 bitmap, under the same conditions, and equally fatal when it fails to load."
source_ref: "source Src/OSD/SDL/Crosshair.cpp:35, 48-61, source Src/OSD/SDL/Main.cpp:2852-2862"
- name: Music.xml
path: "Config/Music.xml"
@@ -142,7 +143,7 @@ files:
bundled: true
description: "Custom MPEG music track map"
note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when the file is absent. Maps an MPEG ROM offset to an MP3 the user supplies. Shipped in the v0.3a-20261024-git-113a48d archives, the Windows zip with CRLF line endings (sha1 4c556c3a848ef61205a53a9a73ba5e46970d445f)."
source_ref: "source Src/OSD/SDL/Main.cpp:127, Src/OSD/SDL/Main.cpp:1077, source Src/Sound/MPEG/MpegAudio.cpp:88-108"
source_ref: "source Src/OSD/SDL/Main.cpp:127, Src/OSD/SDL/Main.cpp:1098, source Src/Sound/MPEG/MpegAudio.cpp:88-108"
- name: "pro1000.zip"
required: true
+8 -8
View File
@@ -4,14 +4,14 @@ type: standalone
core_classification: game_engine
source: "https://github.com/LostArtefacts/TRX"
upstream: "https://github.com/LostArtefacts/TRX"
source_commit: "4d55f7d3130f9d04bdc1fefb85bf4d8fa93a22d3"
source_commit: "7d1f0e8cbad9e9c3d55248188184384aa6e0f5b5"
upstream_commit: "3d39911a1b839c753b6efad236db67d9fb2b273e"
core_version: "trx-1.11.1-784-g4d55f7d"
core_version: "trx-1.12-25-g7d1f0e8"
version_basis:
kind: tag
match: "trx-*"
tag: "trx-1.11.1"
distance: 784
tag: "trx-1.12"
distance: 25
profiled_date: "2026-10-04"
cores: []
systems:
@@ -649,28 +649,28 @@ files:
path: "games/tr1-ub/levels/egypt.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:65, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:65, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:17-20"
note: "Return to Egypt. The installer offers the original edition and a fan-patched edition of the level set."
- name: "cat.phd"
path: "games/tr1-ub/levels/cat.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:89, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:89, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:17-20"
note: "Temple of the Cat. The installer offers the original edition and a fan-patched edition of the level set."
- name: "end.phd"
path: "games/tr1-ub/levels/end.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:112, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:112, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:17-20"
note: "Atlantean Stronghold. The installer offers the original edition and a fan-patched edition of the level set."
- name: "end2.phd"
path: "games/tr1-ub/levels/end2.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:134, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:134, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:17-20"
note: "The Hive. The installer offers the original edition and a fan-patched edition of the level set."
# PC demo
+96 -91
View File
@@ -3,9 +3,9 @@ type: standalone + libretro
core_classification: official_port
source: "https://git.libretro.com/libretro/wqxemu"
upstream: "https://github.com/AloysHF/WQXEmu"
profiled_date: "2026-10-18"
source_commit: "caf0998989446e3d6659f67c1b8aabd708a0379d"
upstream_commit: "caf0998989446e3d6659f67c1b8aabd708a0379d"
profiled_date: "2026-11-09"
source_commit: "44f492cfac4c47e9e2470144c972264779c5f9bf"
upstream_commit: "44f492cfac4c47e9e2470144c972264779c5f9bf"
core_version: "0.1.0"
version_basis:
kind: file
@@ -29,230 +29,235 @@ notes: |
git.libretro.com repository is a mirror of the GitHub one at the same
commit, and the buildbot consumes its .gitlab-ci.yml.
The core takes no content. retro_load_game refuses a non-null game
info (crates/wqxemu-libretro/src/lib.rs:596-599) and the machine is
started through Start Core, supports_no_game being set
(crates/wqxemu-libretro/src/lib.rs:440-446). The model comes from the
The core takes no content. retro_load_game ignores the game info it
is given and starts the machine, supports_no_game being set
(crates/wqxemu-libretro/src/lib.rs:776-793,
crates/wqxemu-libretro/src/lib.rs:608-612). The model comes from the
wqxemu_model core option, NC1020 when unset
(crates/wqxemu-libretro/src/lib.rs:227-246,
crates/wqxemu-libretro/src/lib.rs:920-937).
(crates/wqxemu-libretro/src/lib.rs:325-345,
crates/wqxemu-libretro/src/lib.rs:1111-1129).
The firmware set is whatever {system}/WQXEmu/<model>/ holds
(crates/wqxemu-libretro/src/lib.rs:216-221, model names in
crates/wqxemu-core/src/machine.rs:35-43). File names are free: each
regular file is assigned to a slot by its extension, case-insensitive,
.rom or .bin to the system ROM, .fls or .nor to NOR, .nand to NAND and
.nand0 to the first NAND plane. Anything else is ignored
(crates/wqxemu-core/src/machine.rs:94-126). A slot matched by two files
fails the start with "Multiple <slot> dumps", and so does a directory
with no dump at all (crates/wqxemu-core/src/machine.rs:128-161). The
set is then checked against the model: NC1020, PC1000 and CC800 need a
ROM and a NOR and refuse NAND files. NC2000 needs NOR, NAND and NAND0
and refuses a ROM. NC3000 needs NOR and NAND, NAND0 optional, and
refuses a ROM (crates/wqxemu-core/src/machine.rs:164-207). Any failure
is shown and retro_load_game returns false
(crates/wqxemu-libretro/src/lib.rs:608-622). Only the directory of the
selected model is read.
The firmware set is read from {system}/wqxemu/<model>/
(crates/wqxemu-libretro/src/lib.rs:310-323,
crates/wqxemu-libretro/src/lib.rs:389-407). The folder names and file
names are fixed and compared byte for byte against the directory
entries, so a folder or file that differs only in case is not found
(crates/wqxemu-core/src/machine.rs:111-131, model names in
crates/wqxemu-core/src/machine.rs:33-44). Each model reads only its own
files: obj_lu.bin and nc1020.fls for the NC1020, pc1000.rom and
pc1000.nor for the PC1000, obj.bin and cc800.fls for the CC800,
nc2000.nor, nc2000.nand and nc2000.nand0 for the NC2000, nc3000.nor,
nc3000.nand and an optional nc3000.nand0 for the NC3000
(crates/wqxemu-core/src/machine.rs:63-84,
crates/wqxemu-core/src/machine.rs:176-194). A missing folder or any
missing required file fails the start with a message listing every
missing name (crates/wqxemu-core/src/machine.rs:153-175,
crates/wqxemu-core/src/machine.rs:196-204), shown by the core before
retro_load_game returns false (crates/wqxemu-libretro/src/lib.rs:787-793).
Other files in the folder are ignored.
The Emscripten build used by EmulatorJS reads the same layout from the
root of the extracted firmware archive, and there the model is the only
wqxemu/<model>/ folder the archive holds. Several model folders stop
the start (crates/wqxemu-libretro/src/lib.rs:347-387).
Each machine reads its files whole with std::fs::read and checks their
size only: a ROM or NOR image must be at least as large as the window
it fills, the PC1000 ROM must be exactly 12 MiB or 16 MiB, and NAND
images are copied without any check. A file that fails the check makes
Emulator::new fail and retro_load_game returns false with the loader's
message (crates/wqxemu-libretro/src/lib.rs:635-641). No hash is
message (crates/wqxemu-libretro/src/lib.rs:806-812). No hash is
verified.
The firmware files are never written. Neither frontend calls save_nor;
the writable flash, NAND, RAM and peripheral state of a session is
serialized to {save}/<model>/<fingerprint>.wqxs, a gzip file the core
creates on unload and reloads at the next start of the same model and
firmware set (crates/wqxemu-libretro/src/lib.rs:280-304,
crates/wqxemu-libretro/src/lib.rs:643-660,
crates/wqxemu-core/src/save.rs:43-88). The fingerprint is an FNV-1a
over the slot layout and the content of every file of the set
(crates/wqxemu-core/src/machine.rs:209-233). That file is created by
The firmware files are never written. The writable flash, NAND, RAM
and peripheral state of a session is serialized to
{save}/<model>/<fingerprint>.wqxs, a gzip file the core creates on
unload and reloads at the next start of the same model and firmware
set (crates/wqxemu-libretro/src/lib.rs:441-467,
crates/wqxemu-libretro/src/lib.rs:814-842,
crates/wqxemu-core/src/save.rs:46-96). The Emscripten build writes no
session file. The fingerprint is an FNV-1a over the slot layout and
the content of every file of the set
(crates/wqxemu-core/src/machine.rs:252-276). That file is created by
the core. retro_get_memory_data returns null for every memory id
(crates/wqxemu-libretro/src/lib.rs:839-842).
(crates/wqxemu-libretro/src/lib.rs:1025-1032).
The standalone binary takes the same directory as --rom-dir, with the
same extension rules; --model selects the machine, otherwise
detect_model guesses it from the file sizes
(crates/wqxemu/src/main.rs:27-34, crates/wqxemu/src/main.rs:239-261,
crates/wqxemu-core/src/machines/mod.rs:38-87). Its device skin is drawn
by code by default, or taken from include_bytes! PNGs with --skin image
(crates/wqxemu/src/main.rs:57-59, crates/wqxemu/src/keypad.rs:72-91).
The libretro-core-info file names the PC1000 NOR image pc1000.fls. Any
single .fls or .nor file in WQXEmu/pc1000/ is read, but pc1000.fls and
pc1000.nor side by side stop the PC1000 from starting.
The standalone binary reads the same wqxemu/<model>/ layout below
--system-dir, ./system by default, and --model selects the machine,
nc1020 by default (crates/wqxemu/src/main.rs:27-42,
crates/wqxemu/src/main.rs:235-249). It keeps a session only in the file
named by --state-file (crates/wqxemu/src/main.rs:179-233). Its device
skin is drawn by code by default, or taken from include_bytes! PNGs
with --skin image (crates/wqxemu/src/main.rs:53-55,
crates/wqxemu/src/keypad.rs:72-91).
files:
- name: obj_lu.bin
path: WQXEmu/nc1020/obj_lu.bin
path: wqxemu/nc1020/obj_lu.bin
system: wenquxing-nc1020
required: true
min_size: 25165824
validation: [size]
description: "NC1020 system ROM, three 8 MiB volumes"
note: >-
The .rom/.bin file of {system}/WQXEmu/nc1020/, read whole. The image must
Read whole from {system}/wqxemu/nc1020/obj_lu.bin. The image must
be at least 0x8000 * 0x300 bytes or the loader fails, and a larger file
is kept whole. Each 32 KiB bank is stored with its 16 KiB halves
swapped and is swapped back on load, and the BBS pages are mapped
from it.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/nc1020.rs:61-98, source crates/wqxemu-core/src/memory.rs:24"
source_ref: "source crates/wqxemu-core/src/machine.rs:65-72, source crates/wqxemu-core/src/machine.rs:178-183, source crates/wqxemu-core/src/machines/nc1020.rs:61-98, source crates/wqxemu-core/src/memory.rs:24"
- name: nc1020.fls
path: WQXEmu/nc1020/nc1020.fls
path: wqxemu/nc1020/nc1020.fls
system: wenquxing-nc1020
required: true
min_size: 1048576
validation: [size]
description: "NC1020 NOR flash, 32 banks of 32 KiB"
note: >-
The .fls/.nor file of {system}/WQXEmu/nc1020/, read whole. The image must
Read whole from {system}/wqxemu/nc1020/nc1020.fls. The image must
be at least 0x8000 * 0x20 bytes or the loader fails. Only the first
1 MiB is used, with the same 16 KiB half swap as the ROM. Writes go
to the in-memory copy and are persisted in the .wqxs session file,
never to this file.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/nc1020.rs:101-122, source crates/wqxemu-core/src/memory.rs:26"
source_ref: "source crates/wqxemu-core/src/machine.rs:76-84, source crates/wqxemu-core/src/machine.rs:178-183, source crates/wqxemu-core/src/machines/nc1020.rs:101-122, source crates/wqxemu-core/src/memory.rs:26"
- name: pc1000.rom
path: WQXEmu/pc1000/pc1000.rom
path: wqxemu/pc1000/pc1000.rom
system: wenquxing-pc1000
required: true
size: [12582912, 16777216]
validation: [size]
description: "PC1000 system ROM, obj1 + obj2 + obj3"
note: >-
The .rom/.bin file of {system}/WQXEmu/pc1000/, read whole and stored
Read whole from {system}/wqxemu/pc1000/pc1000.rom and stored
linearly. Exactly 12 MiB (obj1, obj2, obj3 back to back) or 16 MiB
(the PC1000EMUX and Android layout, obj3 at 12 MiB with 8 to 12 MiB
unused) is accepted. Any other size fails the loader. The volume
tables are rebuilt for the layout found.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/pc1000.rs:38-40, source crates/wqxemu-core/src/machines/pc1000.rs:236-283"
source_ref: "source crates/wqxemu-core/src/machine.rs:65-72, source crates/wqxemu-core/src/machine.rs:178-183, source crates/wqxemu-core/src/machines/pc1000.rs:38-40, source crates/wqxemu-core/src/machines/pc1000.rs:236-283"
- name: pc1000.nor
path: WQXEmu/pc1000/pc1000.nor
path: wqxemu/pc1000/pc1000.nor
system: wenquxing-pc1000
required: true
min_size: 524288
validation: [size]
description: "PC1000 NOR flash, 16 banks of 32 KiB"
note: >-
The .fls/.nor file of {system}/WQXEmu/pc1000/, read whole. The image must
Read whole from {system}/wqxemu/pc1000/pc1000.nor. The image must
be at least 0x80000 bytes or the loader fails. Only the first
512 KiB is used. A dump stored with swapped 16 KiB halves is
recognised by the info-block signature at bank 0 offset 0x4000 and
unswapped. The libretro-core-info file names it pc1000.fls.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/pc1000.rs:42, source crates/wqxemu-core/src/machines/pc1000.rs:284-313"
unswapped.
source_ref: "source crates/wqxemu-core/src/machine.rs:76-84, source crates/wqxemu-core/src/machine.rs:178-183, source crates/wqxemu-core/src/machines/pc1000.rs:42, source crates/wqxemu-core/src/machines/pc1000.rs:284-313"
- name: obj.bin
path: WQXEmu/cc800/obj.bin
path: wqxemu/cc800/obj.bin
system: wenquxing-cc800
required: true
min_size: 16777216
validation: [size]
description: "CC800 system ROM, two volumes of 256 banks"
note: >-
The .rom/.bin file of {system}/WQXEmu/cc800/, read whole. The image must be at
Read whole from {system}/wqxemu/cc800/obj.bin. The image must be at
least 0x1000000 bytes or the loader fails. Only the first 16 MiB is
used. Each 32 KiB bank is stored with its 16 KiB halves swapped and
is swapped back on load. Volume 0 is banks 0 to 255, volume 1 banks
256 to 511.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/cc800.rs:38, source crates/wqxemu-core/src/machines/cc800.rs:229-251"
source_ref: "source crates/wqxemu-core/src/machine.rs:65-72, source crates/wqxemu-core/src/machine.rs:178-183, source crates/wqxemu-core/src/machines/cc800.rs:38, source crates/wqxemu-core/src/machines/cc800.rs:229-251"
- name: cc800.fls
path: WQXEmu/cc800/cc800.fls
path: wqxemu/cc800/cc800.fls
system: wenquxing-cc800
required: true
min_size: 524288
validation: [size]
description: "CC800 NOR flash, 16 banks of 32 KiB"
note: >-
The .fls/.nor file of {system}/WQXEmu/cc800/, read whole. The image must be
Read whole from {system}/wqxemu/cc800/cc800.fls. The image must be
at least 0x80000 bytes or the loader fails. Only the first 512 KiB
is used, with the same 16 KiB half swap as the ROM.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/cc800.rs:40, source crates/wqxemu-core/src/machines/cc800.rs:252-267"
source_ref: "source crates/wqxemu-core/src/machine.rs:76-84, source crates/wqxemu-core/src/machine.rs:178-183, source crates/wqxemu-core/src/machines/cc800.rs:40, source crates/wqxemu-core/src/machines/cc800.rs:252-267"
- name: nc2000.nor
path: WQXEmu/nc2000/nc2000.nor
path: wqxemu/nc2000/nc2000.nor
system: wenquxing-nc2000
required: true
min_size: 524288
validation: [size]
description: "NC2000 NOR flash, 16 banks of 32 KiB"
note: >-
The .fls/.nor file of {system}/WQXEmu/nc2000/, read whole in physical order,
no bank swap. The image must be at least 16 * 0x8000 bytes or the
Read whole from {system}/wqxemu/nc2000/nc2000.nor in physical
order, no bank swap. The image must be at least 16 * 0x8000 bytes or the
loader fails. Only the first 512 KiB is used. Bank 0 is the fixed
BIOS page at 0xE000.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/nc2000.rs:20, source crates/wqxemu-core/src/machines/nc2000.rs:28, source crates/wqxemu-core/src/machines/nc2000.rs:265-277"
source_ref: "source crates/wqxemu-core/src/machine.rs:76-84, source crates/wqxemu-core/src/machine.rs:184-188, source crates/wqxemu-core/src/machines/nc2000.rs:20, source crates/wqxemu-core/src/machines/nc2000.rs:28, source crates/wqxemu-core/src/machines/nc2000.rs:265-277"
- name: nc2000.nand
path: WQXEmu/nc2000/nc2000.nand
path: wqxemu/nc2000/nc2000.nand
system: wenquxing-nc2000
required: true
size: 34603008
description: "NC2000 NAND flash main area, 65536 pages of 528 bytes"
note: >-
The .nand file of {system}/WQXEmu/nc2000/, read whole and copied after
Read whole from {system}/wqxemu/nc2000/nc2000.nand and copied after
the 64-page first plane, up to 65536 pages of 512 data plus 16
spare bytes. No size check: bytes beyond that are ignored and a
shorter file leaves the remainder erased at 0xFF.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/nc2000.rs:22-26, source crates/wqxemu-core/src/machines/nc2000.rs:278-282, source crates/wqxemu-core/src/machines/nc2000.rs:292-296"
source_ref: "source crates/wqxemu-core/src/machine.rs:184-188, source crates/wqxemu-core/src/machines/nc2000.rs:22-26, source crates/wqxemu-core/src/machines/nc2000.rs:278-282, source crates/wqxemu-core/src/machines/nc2000.rs:292-296"
- name: nc2000.nand0
path: WQXEmu/nc2000/nc2000.nand0
path: wqxemu/nc2000/nc2000.nand0
system: wenquxing-nc2000
required: true
size: 33792
description: "NC2000 NAND flash first plane, 64 pages of 528 bytes"
note: >-
The .nand0 file of {system}/WQXEmu/nc2000/, read whole into the first
64 pages of the NAND array. No size check. validate_for_model
requires a NAND0 dump for this model in both frontends, so a missing
file stops the start.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, upstream crates/wqxemu-core/src/machine.rs:193-198, source crates/wqxemu-core/src/machines/nc2000.rs:24, source crates/wqxemu-core/src/machines/nc2000.rs:283-288, source crates/wqxemu-core/src/machines/nc2000.rs:298-301"
Read whole from {system}/wqxemu/nc2000/nc2000.nand0 into the first
64 pages of the NAND array. No size check. The firmware set of this
model requires it in both frontends, so a missing file stops the
start.
source_ref: "source crates/wqxemu-core/src/machine.rs:184-188, source crates/wqxemu-core/src/machines/nc2000.rs:24, source crates/wqxemu-core/src/machines/nc2000.rs:283-288, source crates/wqxemu-core/src/machines/nc2000.rs:298-301"
- name: nc3000.nor
path: WQXEmu/nc3000/nc3000.nor
path: wqxemu/nc3000/nc3000.nor
system: wenquxing-nc3000
required: true
min_size: 1048576
validation: [size]
description: "NC3000 NOR flash, 32 banks of 32 KiB"
note: >-
The .fls/.nor file of {system}/WQXEmu/nc3000/, read whole in physical order,
no bank swap. The image must be at least 32 * 0x8000 bytes or the
Read whole from {system}/wqxemu/nc3000/nc3000.nor in physical
order, no bank swap. The image must be at least 32 * 0x8000 bytes or the
loader fails. Only the first 1 MiB is used. Bank 0 is the fixed
BIOS page at 0xE000.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/nc3000.rs:23, source crates/wqxemu-core/src/machines/nc3000.rs:33, source crates/wqxemu-core/src/machines/nc3000.rs:272-284"
source_ref: "source crates/wqxemu-core/src/machine.rs:76-84, source crates/wqxemu-core/src/machine.rs:189-193, source crates/wqxemu-core/src/machines/nc3000.rs:23, source crates/wqxemu-core/src/machines/nc3000.rs:33, source crates/wqxemu-core/src/machines/nc3000.rs:272-284"
- name: nc3000.nand
path: WQXEmu/nc3000/nc3000.nand
path: wqxemu/nc3000/nc3000.nand
system: wenquxing-nc3000
required: true
size: 69206016
storage: large_file
description: "NC3000 NAND flash, two planes of 65536 pages of 528 bytes"
note: >-
The .nand file of {system}/WQXEmu/nc3000/, read whole and copied after
Read whole from {system}/wqxemu/nc3000/nc3000.nand and copied after
the 64-page first plane, up to 131072 pages of 512 data plus 16
spare bytes. No size check: bytes beyond that are ignored and a
shorter file leaves the remainder erased at 0xFF.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, source crates/wqxemu-core/src/machines/nc3000.rs:25-29, source crates/wqxemu-core/src/machines/nc3000.rs:285-289, source crates/wqxemu-core/src/machines/nc3000.rs:336-340"
source_ref: "source crates/wqxemu-core/src/machine.rs:189-193, source crates/wqxemu-core/src/machines/nc3000.rs:25-29, source crates/wqxemu-core/src/machines/nc3000.rs:285-289, source crates/wqxemu-core/src/machines/nc3000.rs:336-340"
- name: nc3000.nand0
path: WQXEmu/nc3000/nc3000.nand0
path: wqxemu/nc3000/nc3000.nand0
system: wenquxing-nc3000
required: false
size: 33792
description: "NC3000 NAND flash first plane, 64 pages of 528 bytes"
note: >-
The .nand0 file of {system}/WQXEmu/nc3000/, read whole into the first
64 pages of the NAND array when the file exists, and validate_for_model
does not require it for this model. Without it the core writes the
Read whole from {system}/wqxemu/nc3000/nc3000.nand0 into the first
64 pages of the NAND array when the file exists. The firmware set of
this model does not require it. Without it the core writes the
marker "ggv nc3000" at offset 528 of an erased first plane and the
machine boots the same way.
source_ref: "source crates/wqxemu-core/src/machine.rs:119-123, upstream crates/wqxemu-core/src/machine.rs:199-203, source crates/wqxemu-core/src/machines/nc3000.rs:27-31, source crates/wqxemu-core/src/machines/nc3000.rs:290-297, source crates/wqxemu-core/src/machines/nc3000.rs:342-350"
source_ref: "source crates/wqxemu-core/src/machine.rs:189-193, source crates/wqxemu-core/src/machines/nc3000.rs:27-31, source crates/wqxemu-core/src/machines/nc3000.rs:290-297, source crates/wqxemu-core/src/machines/nc3000.rs:342-350"
+25 -19
View File
@@ -143,11 +143,10 @@
"src/verite/lle/loader.rs",
"src/verite/mod.rs"
],
"git.libretro.com/libretro/wqxemu@caf0998989446e3d6659f67c1b8aabd708a0379d": [
"git.libretro.com/libretro/wqxemu@44f492cfac4c47e9e2470144c972264779c5f9bf": [
"Cargo.toml",
"crates/wqxemu-core/src/machine.rs",
"crates/wqxemu-core/src/machines/cc800.rs",
"crates/wqxemu-core/src/machines/mod.rs",
"crates/wqxemu-core/src/machines/nc1020.rs",
"crates/wqxemu-core/src/machines/nc2000.rs",
"crates/wqxemu-core/src/machines/nc3000.rs",
@@ -442,11 +441,10 @@
"crates/spmp8000emu-libretro/src/libretro/api.rs",
"crates/spmp8000emu-libretro/src/libretro/constants.rs"
],
"github.com/AloysHF/WQXEmu@caf0998989446e3d6659f67c1b8aabd708a0379d": [
"github.com/AloysHF/WQXEmu@44f492cfac4c47e9e2470144c972264779c5f9bf": [
"Cargo.toml",
"crates/wqxemu-core/src/machine.rs",
"crates/wqxemu-core/src/machines/cc800.rs",
"crates/wqxemu-core/src/machines/mod.rs",
"crates/wqxemu-core/src/machines/nc1020.rs",
"crates/wqxemu-core/src/machines/nc2000.rs",
"crates/wqxemu-core/src/machines/nc3000.rs",
@@ -585,7 +583,7 @@
"github.com/Clownacy/clownmdemu-libretro@d43c2708b0a31c285ce16724b6c4a2e92af07346": [
"source/libretro-interface.c"
],
"github.com/ColinPitrat/caprice32@8c778bf072a06fb7c23b9cccd179041db7f79a52": [
"github.com/ColinPitrat/caprice32@a0d78f0f7c6d19a5d3205d1b231bd4da100ec6f3": [
"cap32.cfg",
"rom/MF2.rom",
"rom/amsdos.rom",
@@ -1055,14 +1053,21 @@
"tools/installer/TRX_Installer/InstallMappings.cs"
],
"github.com/LostArtefacts/TRX@4d55f7d3130f9d04bdc1fefb85bf4d8fa93a22d3": [
"data/trx/ship/games/tr1-demo-pc/gameflow.json5",
"data/trx/ship/games/tr1-ub/gameflow.json5",
"data/trx/ship/games/tr1/gameflow.json5",
"data/trx/ship/games/tr2-gm/gameflow.json5",
"data/trx/ship/games/tr2/gameflow.json5",
"src/trx/game/game_flow/reader.c",
"src/trx/game/level/format/format_tr1.c",
"src/trx/game/level/pipeline.c",
"src/trx/game/music/backend_files.c",
"src/trx/game/paths.c",
"tools/download_assets",
"tools/installer/TRX_Installer/InstallMappings.cs"
],
"github.com/LostArtefacts/TRX@7d1f0e8cbad9e9c3d55248188184384aa6e0f5b5": [
"data/trx/ship/games/tr1-demo-pc/gameflow.json5",
"data/trx/ship/games/tr1-ub/gameflow.json5",
"data/trx/ship/games/tr1/gameflow.json5",
"src/trx/game/game_flow/reader.c",
"src/trx/game/level/format/format_tr1.c",
"src/trx/game/locale/chain.h",
"src/trx/game/music/backend_files.c",
"src/trx/game/paths.c",
@@ -2140,7 +2145,7 @@
"src/media.cpp",
"src/video.cpp"
],
"github.com/WizzardSK/pcee2-libretro@f52b5a6fe43278dcfc827b85b09fced5a82f863f": [
"github.com/WizzardSK/pcee2-libretro@2b0edbe67188977c7709b57d6effdc70147eeb0d": [
"cmake/EmbedResources.cmake",
"pcee2-libretro/Libretro.cpp",
"pcsx2/Achievements.cpp",
@@ -2570,8 +2575,9 @@
"src/mame/vtech/vtech1.cpp",
"src/osd/modules/switchres/switchres_module.cpp"
],
"github.com/ares-emulator/ares@d400eee9764fe22a8de0247a52757d2021d0539c": [
"github.com/ares-emulator/ares@dd737665221a6f58c6c4d2547d2f38b0abe3aef0": [
"desktop-ui/desktop-ui.cpp",
"desktop-ui/emulator/arcade.cpp",
"desktop-ui/emulator/atari-5200.cpp",
"desktop-ui/emulator/colecovision.cpp",
"desktop-ui/emulator/emulator.cpp",
@@ -2584,7 +2590,6 @@
"desktop-ui/emulator/msx.cpp",
"desktop-ui/emulator/msx2.cpp",
"desktop-ui/emulator/neo-geo-aes.cpp",
"desktop-ui/emulator/neo-geo-mvs.cpp",
"desktop-ui/emulator/neo-geo-pocket-color.cpp",
"desktop-ui/emulator/neo-geo-pocket.cpp",
"desktop-ui/emulator/nintendo-64dd.cpp",
@@ -2594,6 +2599,7 @@
"desktop-ui/emulator/saturn.cpp",
"desktop-ui/emulator/super-famicom.cpp",
"desktop-ui/emulator/supergrafx-cd.cpp",
"desktop-ui/settings/cores.cpp",
"desktop-ui/settings/firmware.cpp",
"desktop-ui/settings/settings.hpp",
"mia/medium/master-system.cpp",
@@ -2621,7 +2627,7 @@
"src/main.qml",
"src/qml.qrc"
],
"github.com/autch/piece-emu@08ec4b45176e8df0d6d6f67e56b87e847cd64a65": [
"github.com/autch/piece-emu@9aedad032c5d06a8c6d7cf74142a2b9ac32d77ac": [
"src/core/bus.hpp",
"src/debug/pfi_loader_blob.cpp",
"src/libretro/CMakeLists.txt",
@@ -2741,7 +2747,7 @@
"core/windows/winmain.cpp",
"shell/apple/emulator-osx/emulator-osx/osx-main.mm"
],
"github.com/blueminder/supermodel-dojo@113a48d567c5d49a40292df386fee4a0acaea486": [
"github.com/blueminder/supermodel-dojo@9bdf7f26a7271cc13b0640487b72fbada0f9dd8b": [
".github/workflows/release.yml",
"Assets/DIR.txt",
"Config/Games.xml",
@@ -3015,7 +3021,7 @@
"neo/framework/FileSystem.cpp",
"neo/framework/Licensee.h"
],
"github.com/diasurgical/DevilutionX@9d4871587e1a8d9606f97a43d85e939b82f77900": [
"github.com/diasurgical/DevilutionX@74ce5cdb15da44b28427ad6ee2b107bd6dcd6f61": [
"CMake/Assets.cmake",
"CMake/Mods.cmake",
"CMakeLists.txt",
@@ -3333,7 +3339,7 @@
"libretro/libretro.c"
],
"github.com/emuplace/sudachi.emuplace.app@c7431bd420d66c54df277ba0a0b71de42cf0a5bf": [],
"github.com/etlegacy/etlegacy@add16a92f4b10c2955136e3ab7868bfc9bff8fad": [
"github.com/etlegacy/etlegacy@13d8bea7b484f4eec993d2c8723b8756c6300963": [
"README.md",
"VERSION.txt",
"cmake/ETLBuildMod.cmake",
@@ -3437,7 +3443,7 @@
"mupen64plus-core/upstream/src/main/main.c",
"settings.gradle"
],
"github.com/garglk/garglk@9e06211c20bee35026744424a57f50375cdc29db": [
"github.com/garglk/garglk@f15b43dc9448ac14480310a64301bf859faf999d": [
"CMakeLists.txt",
"INSTALL.md",
"VERSION",
@@ -4813,7 +4819,7 @@
"atari800/src/sysrom.c",
"libretro/config.h"
],
"github.com/libretro/libretro-cap32@8e61dd69d948cea16c3bad734f7b9d0c2a018cc8": [
"github.com/libretro/libretro-cap32@06ad0da5d003ab8f2359300ebce4cf31d4c55b6e": [
"cap32/cap32.c",
"cap32/rom/464.h",
"cap32/rom/6128.h",
@@ -9397,7 +9403,7 @@
"Source/Core/DiscIO/NANDImporter.cpp",
"Source/Core/DolphinQt/MenuBar.cpp"
],
"github.com/shinovon/KEmulator@1ab219907cfcac0e6313d1b6ccba13ad74015d08": [
"github.com/shinovon/KEmulator@4dfdfe31243c9bdbcffa987101e27421618e79e8": [
"m3g_swerve/src/javax/microedition/m3g/Graphics3D.java",
"m3g_swerve/src/javax/microedition/m3g/Loader.java",
"micro3d_dll/src/com/mascotcapsule/micro3d/v3/Figure.java",