mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -05:00
Compare commits
33
Commits
022888e9ea
...
c738073f66
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c738073f66 | ||
|
|
09406ba5d4 | ||
|
|
ffb479e6a3 | ||
|
|
6f27a296f7 | ||
|
|
d124f6c516 | ||
|
|
2ea745a062 | ||
|
|
f85236fa1e | ||
|
|
1a1f19be2d | ||
|
|
2663bac1c2 | ||
|
|
5ccdaa6bdf | ||
|
|
ece637d52d | ||
|
|
70d121e99a | ||
|
|
1fb717324b | ||
|
|
05b08d6e39 | ||
|
|
2abe8808b1 | ||
|
|
cf62ccae58 | ||
|
|
e2eb1a756f | ||
|
|
3a2f7101cb | ||
|
|
96160471d9 | ||
|
|
f45050aa5c | ||
|
|
ca307a4ef1 | ||
|
|
e6d325ed1b | ||
|
|
7e0f27161f | ||
|
|
0710ea4d45 | ||
|
|
54fe5383f1 | ||
|
|
8e873c5b91 | ||
|
|
6a0fb1e776 | ||
|
|
11da070128 | ||
|
|
3891d897a6 | ||
|
|
1a96853aee | ||
|
|
5587c25675 | ||
|
|
60c723a3bf | ||
|
|
fe77535c3b |
No files matched your search
@@ -1,5 +1,8 @@
|
||||
name: PR Validation
|
||||
name: Validation
|
||||
|
||||
# The same checks on both roads into main. Work lands here by direct push as
|
||||
# often as by pull request, and a test suite reachable only from a PR guards
|
||||
# the road nobody takes.
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
@@ -14,18 +17,35 @@ on:
|
||||
- "install.py"
|
||||
- "install.sh"
|
||||
- "install.ps1"
|
||||
# Spelled out twice because the workflow parser reads no YAML anchor; a test
|
||||
# holds the two lists equal.
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "bios/**"
|
||||
- "platforms/**"
|
||||
- "emulators/**"
|
||||
- "schemas/**"
|
||||
- "scripts/**"
|
||||
- "tests/**"
|
||||
- "install.py"
|
||||
- "install.sh"
|
||||
- "install.ps1"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
concurrency:
|
||||
group: validate-${{ github.event.pull_request.number }}
|
||||
# A push series collapses to the tip: what has to stay verified is the head
|
||||
# of main, not every commit that passed under it.
|
||||
group: validate-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
validate-bios:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'pull_request'
|
||||
steps:
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
|
||||
with:
|
||||
@@ -100,6 +120,7 @@ jobs:
|
||||
|
||||
label-pr:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'pull_request'
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
|
||||
@@ -32,6 +32,8 @@ The script auto-detects your platform, downloads only missing files, and verifie
|
||||
One pack per platform, and it holds everything the platform runs: its own BIOS list plus every file its emulator cores load. Pick your platform, download the ZIP, extract to the BIOS path. The installer above does the same file by file, and `--target` narrows it to one machine; for a region or a bare minimum, build your own pack below.
|
||||
The size is what the files occupy once extracted; the ZIP itself downloads smaller, and anything over 2 GB arrives split into `.zip.001`, `.zip.002` volumes. Open the `.001` with 7-Zip or PeaZip, or join them first (`cat Pack.zip.0* > Pack.zip`, or `copy /b Pack.zip.001+Pack.zip.002 Pack.zip` on Windows).
|
||||
|
||||
Every release ships `SHA256SUMS.txt` and a detached signature of it, checkable against `allowed_signers` in this repository: [verifying a release](https://abdess.github.io/retrobios/wiki/release-process/#verifying-a-release).
|
||||
|
||||
| Platform | Extracted size | Extract to | Download |
|
||||
|----------|---------------:|-----------|----------|
|
||||
| Batocera | 4.0 GB | `/userdata/bios/` | [Download](../../releases/latest) |
|
||||
@@ -62,8 +64,8 @@ Each file is checked the way your platform checks it. Most compare a checksum, t
|
||||
- **12 platforms** supported with platform-specific verification
|
||||
- **449 emulators** profiled from source (RetroArch cores + standalone)
|
||||
- **470 systems** handled by those emulators (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
|
||||
- **10,330 files**, each with its SHA1, MD5, SHA256, CRC32 and Adler-32 fingerprints: 4,982 system files, 2,809 arcade ROM sets, 2,539 game and engine data files
|
||||
- **553 of 4,982 system files** matched to dump-preservation catalogs (No-Intro, Redump, TOSEC); arcade sets and engine data fall outside what those catalogs index
|
||||
- **10,331 files**, each with its SHA1, MD5, SHA256, CRC32 and Adler-32 fingerprints: 4,983 system files, 2,809 arcade ROM sets, 2,539 game and engine data files
|
||||
- **553 of 4,983 system files** matched to dump-preservation catalogs (No-Intro, Redump, TOSEC); arcade sets and engine data fall outside what those catalogs index
|
||||
- **12706 MB** total collection size
|
||||
|
||||
## Supported systems
|
||||
@@ -169,4 +171,4 @@ The scripts and tooling are released under the [MIT License](LICENSE).
|
||||
The BIOS and firmware files are not covered by that license: they are third-party system software, preserved and provided for personal backup, archival, and interoperability with emulation software. [NOTICE](NOTICE) sets out their status and how to ask for a file to be removed.
|
||||
The reasoning, and where it is weakest, is in the [FAQ](https://abdess.github.io/retrobios/wiki/faq/#is-this-legal).
|
||||
|
||||
*Auto-generated on 2026-09-04T05:36:10Z*
|
||||
*Auto-generated on 2026-09-04T13:09:50Z*
|
||||
@@ -0,0 +1 @@
|
||||
releases@retrobios ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIkAHTwnLhKeUvYC7+i8dnQMJnpElcV/hQq0FcZoKzI9
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
+19
-3
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"generated_at": "2026-09-03T21:05:56Z",
|
||||
"total_files": 10330,
|
||||
"total_size": 13322782391,
|
||||
"generated_at": "2026-09-04T12:58:17Z",
|
||||
"total_files": 10331,
|
||||
"total_size": 13322784493,
|
||||
"files": {
|
||||
"520d3d1b5897800af47f92efd2444a26b7a7dead": {
|
||||
"path": "bios/3DO Company/3DO/3do_arcade_saot.bin",
|
||||
@@ -53578,6 +53578,16 @@
|
||||
"crc32": "18c0ff3e",
|
||||
"adler32": "7e6df93f"
|
||||
},
|
||||
"5aee3a718f3d541122b61b9b8203e8a28db97a34": {
|
||||
"path": "bios/Other/linapple/icon.bmp",
|
||||
"name": "icon.bmp",
|
||||
"size": 2102,
|
||||
"sha1": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"md5": "be7a389c5aa678f5e6ce4748593b0a29",
|
||||
"sha256": "90e7ede6d0889020f5d2f23375f89d7cdae90b1ad5a79e5858cf144badc6ffbd",
|
||||
"crc32": "43391a45",
|
||||
"adler32": "dee843e8"
|
||||
},
|
||||
"d38572d22721eb5972f671cde54201d752dffe6b": {
|
||||
"path": "bios/Other/mame4droid/.variants/hiscore.dat.0ca8052d",
|
||||
"name": "hiscore.dat",
|
||||
@@ -113517,6 +113527,7 @@
|
||||
"cd43b9f8ec8c742fca150f9666da47a0": "f72ebcb3ad771321e36cacb49779dca6f2b4db9e",
|
||||
"034527d42a96d0f39977cb85c6a8f2d8": "fcfbbb25e06f58d13e762b02bfd468c834d98fc8",
|
||||
"ee44560f34033efa3bb47b3e0aac1772": "7b03befac4fbcef8c649048fa3ff5d095fd48dd3",
|
||||
"be7a389c5aa678f5e6ce4748593b0a29": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"0ca8052de426b7eadcb64da341eadec6": "d38572d22721eb5972f671cde54201d752dffe6b",
|
||||
"c0b17e87b2e1f239fd32545301f7e9cf": "75d31d949614b7d4e79de676c8a4b1c68b571f0a",
|
||||
"98924f51c1fd7d5619f513809d2053b7": "89d9b28d973eb8f869d45f412f7080f56c9275f8",
|
||||
@@ -133153,6 +133164,9 @@
|
||||
"Master.dsk": [
|
||||
"7b03befac4fbcef8c649048fa3ff5d095fd48dd3"
|
||||
],
|
||||
"icon.bmp": [
|
||||
"5aee3a718f3d541122b61b9b8203e8a28db97a34"
|
||||
],
|
||||
"Category.ini": [
|
||||
"75d31d949614b7d4e79de676c8a4b1c68b571f0a"
|
||||
],
|
||||
@@ -157105,6 +157119,7 @@
|
||||
"066d1348": "f72ebcb3ad771321e36cacb49779dca6f2b4db9e",
|
||||
"8031ff02": "fcfbbb25e06f58d13e762b02bfd468c834d98fc8",
|
||||
"18c0ff3e": "7b03befac4fbcef8c649048fa3ff5d095fd48dd3",
|
||||
"43391a45": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"19a61bc4": "d38572d22721eb5972f671cde54201d752dffe6b",
|
||||
"c1c73f18": "75d31d949614b7d4e79de676c8a4b1c68b571f0a",
|
||||
"b15d070b": "89d9b28d973eb8f869d45f412f7080f56c9275f8",
|
||||
@@ -167437,6 +167452,7 @@
|
||||
"c72a36bbd471daf5d12df9f7b85773771583ec960ff9ca17e66d2f7b22e5c8c3": "f72ebcb3ad771321e36cacb49779dca6f2b4db9e",
|
||||
"fcf442b26c492253dfb8d2146e215b7b84b3ba87443face9c94a1e9474aa3ca4": "fcfbbb25e06f58d13e762b02bfd468c834d98fc8",
|
||||
"0add32bcbd0e5b350437fa9d138b3c232368e36d8009852479fdb09d9db31113": "7b03befac4fbcef8c649048fa3ff5d095fd48dd3",
|
||||
"90e7ede6d0889020f5d2f23375f89d7cdae90b1ad5a79e5858cf144badc6ffbd": "5aee3a718f3d541122b61b9b8203e8a28db97a34",
|
||||
"04bc41efa4be5b3cad4e7718cc8d686a3424d129bb768346333ed42491de5651": "d38572d22721eb5972f671cde54201d752dffe6b",
|
||||
"6e25b5a9021c18b738fbb0465446b4055bb2eff225a27a5827710ad464129631": "75d31d949614b7d4e79de676c8a4b1c68b571f0a",
|
||||
"b6a6a03c9b6d65f9c8fe7f0a90e14c5d4ff0a4231ebd893e4c5b2b81a37ddaff": "89d9b28d973eb8f869d45f412f7080f56c9275f8",
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/audetto/AppleWin"
|
||||
upstream: "https://github.com/AppleWin/AppleWin"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "599e81d07f4aeceec17c899213584d719c395718"
|
||||
source_commit: "d495cfe427358d6b1f185a60bc2b3a8c7c5e8107"
|
||||
core_version: "1.31.0.1"
|
||||
display_name: "Apple II (AppleWin)"
|
||||
cores:
|
||||
|
||||
+39
-39
@@ -20,8 +20,8 @@ notes: |
|
||||
rather than pulled as a submodule, and a JNI layer of about six thousand lines
|
||||
replaces the Qt front end. The vendored tree reports itself as 0.0.41-alpha.1
|
||||
at RPCS3 commit 40e9ee5a.
|
||||
ref: aps3e/app/src/main/cpp/rpcs3/rpcs3/git-version.h:3,
|
||||
aps3e/app/src/main/cpp/rpcs3/rpcs3/rpcs3_version.cpp:29
|
||||
ref: app/src/main/cpp/rpcs3/rpcs3/git-version.h:3,
|
||||
app/src/main/cpp/rpcs3/rpcs3/rpcs3_version.cpp:29
|
||||
|
||||
Source drops land on successive branches, not on the default one. Release 2.41
|
||||
of 2026-07-30 is the commit titled 2.41 at the head of main4; the lightweight
|
||||
@@ -31,7 +31,7 @@ notes: |
|
||||
the only gradle file committed is app/build.gradle.bak, which carries the
|
||||
placeholder 1.19a and is renamed and completed with the signing block at build
|
||||
time.
|
||||
ref: aps3e/README.md, aps3e/app/build.gradle.bak:16
|
||||
ref: aps3e/README.md, app/build.gradle.bak:16
|
||||
|
||||
Emulator paths derive from APS3E_DATA_DIR, set by the Java layer to the
|
||||
external files directory of the package. The config directory holds dev_flash,
|
||||
@@ -39,8 +39,8 @@ notes: |
|
||||
custom font directory sits at the data root, and the custom GPU driver
|
||||
directory sits in internal storage because the external filesystem cannot
|
||||
carry an executable mapping.
|
||||
ref: aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:127-133,
|
||||
aps3e/app/src/main/java/aenu/aps3e/Application.java:21-64
|
||||
ref: app/src/main/cpp/aps3e_rp3_impl.cpp:139-145,
|
||||
app/src/main/java/aenu/aps3e/Application.java:21-64
|
||||
|
||||
The PS3 firmware is required and nothing runs without it. Three independent
|
||||
gates enforce it: the game list refuses to launch an entry when the marker
|
||||
@@ -51,11 +51,11 @@ notes: |
|
||||
EmulatorActivity, which does not pass through the game list. The shipped
|
||||
configuration leaves Libraries Control empty, so liblv2.sprx keeps its default
|
||||
entry in the module list and the check fires.
|
||||
ref: aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:143-145,
|
||||
aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:187-190,
|
||||
aps3e/app/src/main/java/aenu/aps3e/QuickStartActivity.java:316-318,
|
||||
aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2747-2767,
|
||||
aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:86,
|
||||
ref: app/src/main/java/aenu/aps3e/MainActivity.java:144-146,
|
||||
app/src/main/java/aenu/aps3e/MainActivity.java:188-191,
|
||||
app/src/main/java/aenu/aps3e/QuickStartActivity.java:317-319,
|
||||
app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2755-2775,
|
||||
app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:86,
|
||||
aps3e/app/src/main/assets/config/config.yml
|
||||
|
||||
Overlay text is drawn from a font list chosen by the Font File Selection
|
||||
@@ -67,17 +67,17 @@ notes: |
|
||||
come from the firmware rather than from a separate download. Custom points all
|
||||
three classes at one file and reverts to From Firmware when that path no
|
||||
longer exists.
|
||||
ref: aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:192-222,
|
||||
aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:113-118
|
||||
ref: app/src/main/cpp/aps3e_rp3_impl.cpp:204-234,
|
||||
app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:113-118
|
||||
|
||||
Vulkan is reached through a loader chosen before the emulator starts. The
|
||||
global config YAML is read directly for Use Custom Driver and Custom Driver
|
||||
Library Path, and the named library is dlopened when both are set and the path
|
||||
exists; otherwise the system libvulkan.so is used. Drivers are imported either
|
||||
as a bare shared object or as a zip whose meta.json names the library.
|
||||
ref: aps3e/app/src/main/cpp/aps3e_emu.cpp:875-899,
|
||||
aps3e/app/src/main/cpp/vkapi.cpp:21,
|
||||
aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1229-1324
|
||||
ref: app/src/main/cpp/aps3e_emu.cpp:945-969,
|
||||
app/src/main/cpp/vkapi.cpp:21,
|
||||
app/src/main/java/aenu/aps3e/EmulatorSettings.java:1232-1327
|
||||
|
||||
Encrypted disc images are supported by a loader that has no counterpart in the
|
||||
desktop code line. Launching an ISO makes the Java layer look for a sidecar key
|
||||
@@ -86,20 +86,20 @@ notes: |
|
||||
as a hex string, or exactly 16 bytes, read as raw bytes, and installed as an
|
||||
AES-128 decryption context. A 3k3y watermark at offset 0xF70 is recognised
|
||||
separately and needs no key.
|
||||
ref: aps3e/app/src/main/java/aenu/aps3e/Utils.java:170-190,
|
||||
aps3e/app/src/main/java/aenu/aps3e/EmulatorActivity.java:147-153,
|
||||
aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399,
|
||||
aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:508-554
|
||||
ref: app/src/main/java/aenu/aps3e/Utils.java:185-205,
|
||||
app/src/main/java/aenu/aps3e/EmulatorActivity.java:148-154,
|
||||
app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399,
|
||||
app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:508-554
|
||||
|
||||
One import entry point takes EDAT, RAP and PKG. A RAP is copied verbatim into
|
||||
the exdata folder of user 00000001 and rejected unless it is exactly 16 bytes.
|
||||
An EDAT is parsed for its NPD header, rejected below 0x90 bytes or without the
|
||||
NPD magic, and written to the same folder under the content id the header
|
||||
carries. A PKG goes through the package reader and lands in dev_hdd0.
|
||||
ref: aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:594-605,
|
||||
aps3e/app/src/main/java/aenu/aps3e/Emulator.java:820-844,
|
||||
aps3e/app/src/main/cpp/aps3e_emu.cpp:801-829,
|
||||
aps3e/app/src/main/cpp/aps3e_emu.cpp:783-793
|
||||
ref: app/src/main/java/aenu/aps3e/MainActivity.java:647-658,
|
||||
app/src/main/java/aenu/aps3e/Emulator.java:820-844,
|
||||
app/src/main/cpp/aps3e_emu.cpp:871-899,
|
||||
app/src/main/cpp/aps3e_emu.cpp:853-863
|
||||
|
||||
patch.yml, compatibility_table.json and database_config.json ship inside the
|
||||
APK as assets and are not user supplied.
|
||||
@@ -119,7 +119,7 @@ files:
|
||||
SCEPKG keys and their inner TARs extracted over dev_flash. The Java layer
|
||||
creates dev_flash/.installed once the native call returns true. No digest
|
||||
of the file itself is compared against anything.
|
||||
source_ref: "aps3e/app/src/main/cpp/aps3e_emu.cpp:587-757, aps3e/app/src/main/cpp/emulator_aps3e.cpp:1045, aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:538-570, aps3e/app/src/main/res/values/strings.xml:108-110"
|
||||
source_ref: "app/src/main/cpp/aps3e_emu.cpp:657-827, app/src/main/cpp/emulator_aps3e.cpp:1078, app/src/main/java/aenu/aps3e/MainActivity.java:591-623, app/src/main/res/values/strings.xml:120-122"
|
||||
|
||||
- name: "<game>.dkey"
|
||||
aliases: ["<game>.key"]
|
||||
@@ -133,7 +133,7 @@ files:
|
||||
and passed down as a second descriptor. 32 bytes are read as a hex string
|
||||
and converted, 16 bytes are taken as raw; any other length fails the key
|
||||
check. An image whose odd regions are encrypted does not boot without it.
|
||||
source_ref: "aps3e/app/src/main/java/aenu/aps3e/Utils.java:170-190, aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399, aps3e/app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:850-870"
|
||||
source_ref: "app/src/main/java/aenu/aps3e/Utils.java:185-205, app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:354-399, app/src/main/cpp/rpcs3/rpcs3/Loader/iso.cpp:850-870"
|
||||
|
||||
- name: "<content_id>.rap"
|
||||
required: false
|
||||
@@ -146,7 +146,7 @@ files:
|
||||
dev_hdd0/home/00000001/exdata under the name it was given. The import is
|
||||
refused unless the source is exactly 16 bytes. SELF decryption looks the
|
||||
matching file up in that folder by content id, with a lowercase extension.
|
||||
source_ref: "aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:596-600, aps3e/app/src/main/java/aenu/aps3e/Emulator.java:820-844, aps3e/app/src/main/cpp/rpcs3/rpcs3/Crypto/unself.cpp:1271-1286, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:391"
|
||||
source_ref: "app/src/main/java/aenu/aps3e/MainActivity.java:649-653, app/src/main/java/aenu/aps3e/Emulator.java:820-844, app/src/main/cpp/rpcs3/rpcs3/Crypto/unself.cpp:1271-1286, app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:391"
|
||||
|
||||
- name: "<content_id>.edat"
|
||||
required: false
|
||||
@@ -158,7 +158,7 @@ files:
|
||||
Imported through the same entry. The NPD header is read and the file
|
||||
refused below 0x90 bytes or when the magic is not NPD, then written whole
|
||||
to dev_hdd0/home/00000001/exdata under the content id the header declares.
|
||||
source_ref: "aps3e/app/src/main/java/aenu/aps3e/MainActivity.java:601-605, aps3e/app/src/main/cpp/aps3e_emu.cpp:801-829, aps3e/app/src/main/cpp/emulator_aps3e.cpp:1052, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:413"
|
||||
source_ref: "app/src/main/java/aenu/aps3e/MainActivity.java:654-658, app/src/main/cpp/aps3e_emu.cpp:871-899, app/src/main/cpp/emulator_aps3e.cpp:1085, app/src/main/cpp/rpcs3/rpcs3/Emu/system_utils.cpp:413"
|
||||
|
||||
- name: "<font>.ttf"
|
||||
aliases: ["<font>.ttc", "<font>.otf"]
|
||||
@@ -172,7 +172,7 @@ files:
|
||||
classes at once, and only while Font File Selection is Custom. The setting
|
||||
reverts to From Firmware when the stored path no longer resolves, so the
|
||||
firmware faces cover the absence.
|
||||
source_ref: "aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1326-1346, aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:203-215, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:401-402"
|
||||
source_ref: "app/src/main/java/aenu/aps3e/EmulatorSettings.java:1329-1349, app/src/main/cpp/aps3e_rp3_impl.cpp:215-227, app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:401-402"
|
||||
|
||||
- name: "<driver>.so"
|
||||
aliases: ["<driver>.zip"]
|
||||
@@ -186,19 +186,19 @@ files:
|
||||
from the global config YAML before the emulator initialises and dlopened in
|
||||
place of the system loader. The system libvulkan.so is used when Use Custom
|
||||
Driver is off, the path is empty, or the file is gone.
|
||||
source_ref: "aps3e/app/src/main/java/aenu/aps3e/EmulatorSettings.java:1229-1324, aps3e/app/src/main/cpp/aps3e_emu.cpp:875-899, aps3e/app/src/main/cpp/vkapi.cpp:21, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:209-211"
|
||||
source_ref: "app/src/main/java/aenu/aps3e/EmulatorSettings.java:1232-1327, app/src/main/cpp/aps3e_emu.cpp:945-969, app/src/main/cpp/vkapi.cpp:21, app/src/main/cpp/rpcs3/rpcs3/Emu/system_config.h:209-211"
|
||||
|
||||
# Layout produced by extracting PS3UPDAT.PUP, and the paths this tree reads from it.
|
||||
dev_flash:
|
||||
path: "config/dev_flash/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:15, aps3e/app/src/main/cpp/aps3e_rp3_impl.cpp:127-129"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:15, app/src/main/cpp/aps3e_rp3_impl.cpp:139-141"
|
||||
note: >-
|
||||
Mounted at /dev_flash and rooted at the config directory. Written only by the
|
||||
firmware installer, which extracts the dev_flash_ packages of the PUP into it.
|
||||
|
||||
sys_external:
|
||||
path: "dev_flash/sys/external/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUModule.cpp:2608-2610, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:207"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUModule.cpp:2608-2610, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:207"
|
||||
note: >-
|
||||
Firmware SPRX modules. liblv2.sprx gates the boot and pulls the rest in;
|
||||
each module can be forced to LLE or HLE through Libraries Control, which
|
||||
@@ -208,12 +208,12 @@ dev_flash:
|
||||
|
||||
sys_internal:
|
||||
path: "dev_flash/sys/internal/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:33-34"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_prx.cpp:33-34"
|
||||
note: "Internal modules, libfs_utility_init.sprx among them."
|
||||
|
||||
fonts:
|
||||
path: "dev_flash/data/font/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:226-241, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:281, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:117-118"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:226-241, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellFont.cpp:281, app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_fonts.cpp:117-118"
|
||||
note: >-
|
||||
Faces cellFontOpenFontset maps by type, and the directory the overlay
|
||||
searches for its own list. A fontset the emulator does not implement falls
|
||||
@@ -239,12 +239,12 @@ dev_flash:
|
||||
|
||||
certs:
|
||||
path: "dev_flash/data/cert/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellSsl.cpp:110"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/Modules/cellSsl.cpp:110"
|
||||
note: "Root certificates cellSsl enumerates."
|
||||
|
||||
vsh:
|
||||
path: "dev_flash/vsh/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/util/sysinfo.cpp:651-653, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp:4433-4441, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp:207"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/util/sysinfo.cpp:651-653, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp:4433-4441, app/src/main/cpp/rpcs3/rpcs3/Emu/RSX/Overlays/overlay_user_list_dialog.cpp:207"
|
||||
note: >-
|
||||
vsh/etc/version.txt supplies the installed firmware version, compared
|
||||
against the PS3_SYSTEM_VER a title declares. vsh/module/eseibrd.sprx is
|
||||
@@ -253,20 +253,20 @@ dev_flash:
|
||||
|
||||
ps1emu:
|
||||
path: "dev_flash/ps1emu/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2171"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2179"
|
||||
note: "ps1_newemu.self, the argv[0] of a PS1 Classics boot."
|
||||
|
||||
pspemu:
|
||||
path: "dev_flash/pspemu/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2199"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/System.cpp:2207"
|
||||
note: "psp_emulator.self, the argv[0] of a PSP minis boot."
|
||||
|
||||
dev_flash2:
|
||||
path: "config/dev_flash2/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:16, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:28"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:16, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:28"
|
||||
note: "CELL_FS_FAT on CELL_FS_IOS:BUILTIN_FLSH2. Mount point only, created empty."
|
||||
|
||||
dev_flash3:
|
||||
path: "config/dev_flash3/"
|
||||
source_ref: "aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:17, aps3e/app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:27"
|
||||
source_ref: "app/src/main/cpp/rpcs3/rpcs3/Emu/vfs_config.h:17, app/src/main/cpp/rpcs3/rpcs3/Emu/Cell/lv2/sys_fs.cpp:27"
|
||||
note: "CELL_FS_FAT on CELL_FS_IOS:BUILTIN_FLSH3. Mount point only, created empty."
|
||||
@@ -33,7 +33,7 @@ notes: |
|
||||
plugin entry from the two switches alone and the library never names that
|
||||
file. The manifest is still what identifies the build, Pepper Flash
|
||||
32.0.0.371 for win/ia32.
|
||||
ref: src/main.cpp:37-44, ArcadeFlashWeb v1.0.2 manifest.json:2-7,
|
||||
ref: src/main.cpp:37-44, ArcadeFlashWeb-release manifest.json:2-7,
|
||||
qtwebengine 5.13 src/core/content_client_qt.cpp AddPepperFlashFromCommandLine
|
||||
|
||||
A local movie is not handed to the view. The url becomes
|
||||
@@ -44,7 +44,7 @@ notes: |
|
||||
plugin reports at least that. A -source: containing "http" loads in the view
|
||||
unchanged and uses none of this.
|
||||
ref: src/main.qml:317-347, src/Navigateur.qml:144-155,
|
||||
ArcadeFlashWeb v1.0.2 flash/flash.html:38-104
|
||||
ArcadeFlashWeb-release flash/flash.html:38-104
|
||||
|
||||
Natural dimensions come from swfdump. When -swfwidth: and -swfheight: are
|
||||
not both given, which is the case for both ES-DE and RetroBat, the program
|
||||
@@ -68,7 +68,7 @@ notes: |
|
||||
which flash.html disables by passing false for the express install url, and
|
||||
flash/swfobject/test.swf, which nothing names.
|
||||
ref: src/qml.qrc:1-33, src/Sauvegarde.js:1-30, src/main.qml:132-159,
|
||||
ArcadeFlashWeb v1.0.2 flash/flash.html:102
|
||||
ArcadeFlashWeb-release flash/flash.html:102
|
||||
|
||||
The remainder of the release is the Qt 5.13.2 deployment of the program
|
||||
itself. VCRUNTIME140.dll and the UCRT stubs sit in the executable's import
|
||||
@@ -86,7 +86,7 @@ files:
|
||||
working directory. Without it no plugin is registered, SWFObject finds no
|
||||
player and the movie is never embedded. The page asks for a reported
|
||||
version of at least 32.0.0; the build that ships is the 32-bit 32.0.0.371.
|
||||
source_ref: "src/main.cpp:40, ArcadeFlashWeb v1.0.2 flash/flash.html:102"
|
||||
source_ref: "src/main.cpp:40, ArcadeFlashWeb-release flash/flash.html:102"
|
||||
|
||||
- name: flash.html
|
||||
path: flash/flash.html
|
||||
@@ -109,7 +109,7 @@ files:
|
||||
that calls embedSWF. It reads the player version from the Shockwave Flash
|
||||
plugin description, refines it from a probe object's $version, and refuses
|
||||
to embed below the version the page asks for.
|
||||
source_ref: "ArcadeFlashWeb v1.0.2 flash/flash.html:38, ArcadeFlashWeb v1.0.2 flash/swfobject/swfobject.js:1-4"
|
||||
source_ref: "ArcadeFlashWeb-release flash/flash.html:38, ArcadeFlashWeb-release flash/swfobject/swfobject.js:1-4"
|
||||
|
||||
- name: background.jpg
|
||||
path: flash/images/background.jpg
|
||||
@@ -119,7 +119,7 @@ files:
|
||||
note: >-
|
||||
Drawn behind the movie by the page's bg div. The same image is compiled
|
||||
into the binary for the QML side, so only this copy is read from disk.
|
||||
source_ref: "ArcadeFlashWeb v1.0.2 flash/flash.html:110, src/qml.qrc:23"
|
||||
source_ref: "ArcadeFlashWeb-release flash/flash.html:110, src/qml.qrc:23"
|
||||
|
||||
- name: swfdump.exe
|
||||
required: false
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: pure_libretro
|
||||
source: "https://github.com/libretro/arduous"
|
||||
upstream: "https://github.com/jmaroeder/arduous"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "882ea139758fef5e5d711324d138d812abd5c10c"
|
||||
source_commit: "798e3950f1de7c69455bc988d55eafeebac5a1eb"
|
||||
core_version: "0.1.0"
|
||||
display_name: "Arduboy (Arduous)"
|
||||
cores:
|
||||
@@ -14,8 +14,8 @@ systems:
|
||||
|
||||
notes: |
|
||||
ATmega32U4 AVR simulator built on simavr with SSD1306 OLED display
|
||||
emulation. MCU hardcoded at 16 MHz (arduous.h:70-71). Game content
|
||||
emulation. MCU hardcoded at 16 MHz (include/arduous/arduous.h:70-71). Game content
|
||||
(.hex) parsed via in-tree ihex reader and written directly into
|
||||
simavr flash (arduous.cpp:169-179). No system directory access.
|
||||
simavr flash (src/arduous/arduous.cpp:169-179). No system directory access.
|
||||
|
||||
files: []
|
||||
+1
-1
@@ -61,7 +61,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:85-97, desktop-ui/desktop-ui.cpp:68-75
|
||||
ref: desktop-ui/settings/settings.hpp:87-99, 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),
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/libretro-atari800"
|
||||
upstream: "https://github.com/atari800/atari800"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "9d3bcf283502512052e21c6f1453fbdf7aa3122b"
|
||||
source_commit: "4e7fbc73765c1a9670c7506616046ad1d4ccda51"
|
||||
core_version: "3.1.0"
|
||||
display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)"
|
||||
cores: [atari800]
|
||||
@@ -44,7 +44,7 @@ files:
|
||||
note: >
|
||||
Atari 5200 BIOS (original). Mapped at $F800-$FFFF.
|
||||
Altirra 5200 OS is used when this file is absent.
|
||||
source_ref: "atari800/src/sysrom.c:99-100, atari800/src/sysrom.c:257"
|
||||
source_ref: "atari800/src/sysrom.c:103-104, atari800/src/sysrom.c:290"
|
||||
|
||||
# -- Atari BASIC ROM --
|
||||
# Atari BASIC interpreter (8 KB). Three known revisions:
|
||||
@@ -64,7 +64,7 @@ files:
|
||||
note: >
|
||||
Atari BASIC Rev C. Required for 400/800 software that needs BASIC.
|
||||
Altirra BASIC is used as fallback. Enable via core option atari800_opt2.
|
||||
source_ref: "atari800/src/sysrom.c:101-103, atari800/src/sysrom.c:259"
|
||||
source_ref: "atari800/src/sysrom.c:105-107, atari800/src/sysrom.c:292"
|
||||
|
||||
# -- Atari 400/800 OS A --
|
||||
# Original Atari 400/800 OS (10 KB). Two known CRC32 values:
|
||||
@@ -82,7 +82,7 @@ files:
|
||||
note: >
|
||||
Atari 400/800 OS Rev A. Altirra OS 800 is used as fallback.
|
||||
Auto-select order: OS B NTSC, OS A NTSC, OS A PAL, custom, Altirra.
|
||||
source_ref: "atari800/src/sysrom.c:85-86, atari800/src/sysrom.c:252"
|
||||
source_ref: "atari800/src/sysrom.c:89-90, atari800/src/sysrom.c:285"
|
||||
|
||||
# -- Atari 400/800 OS B --
|
||||
# OS revision B (10 KB), NTSC: CRC32 0x0e86d61d
|
||||
@@ -103,7 +103,7 @@ files:
|
||||
Note: .info lists md5 a3e8d617c95d08031fe1b20d541434b2 which is a
|
||||
different dump (crc32 3e28a1fe) -- both in repo, the CRC32-matched
|
||||
version is the one sysrom.c auto-detects.
|
||||
source_ref: "atari800/src/sysrom.c:87, atari800/src/sysrom.c:253"
|
||||
source_ref: "atari800/src/sysrom.c:91, atari800/src/sysrom.c:286"
|
||||
|
||||
# -- Atari XL/XE OS --
|
||||
# XL/XE OS (16 KB). Many revisions known by CRC32 in sysrom.c:
|
||||
@@ -124,7 +124,7 @@ files:
|
||||
note: >
|
||||
Atari XL/XE OS. Used for 800XL, 130XE, and XEGS modes.
|
||||
Altirra XL OS is used as fallback.
|
||||
source_ref: "atari800/src/sysrom.c:88-97, atari800/src/sysrom.c:255"
|
||||
source_ref: "atari800/src/sysrom.c:92-101, atari800/src/sysrom.c:288"
|
||||
|
||||
# -- Atari XL/XE/XEGS OS v4 (BB01R4) --
|
||||
# XEGS-specific OS revision BB01R4 (16 KB), CRC32: 0x1eaf4002
|
||||
@@ -139,7 +139,7 @@ files:
|
||||
validation: [crc32]
|
||||
note: >
|
||||
Atari XEGS OS Rev 4 (BB01R4). Preferred OS for XEGS machine mode.
|
||||
source_ref: "atari800/src/sysrom.c:96"
|
||||
source_ref: "atari800/src/sysrom.c:100"
|
||||
|
||||
# -- XEGS Missile Command built-in game --
|
||||
# The XEGS had Missile Command in ROM (8 KB), CRC32: 0xbdca01fb
|
||||
@@ -154,7 +154,7 @@ files:
|
||||
note: >
|
||||
XEGS built-in Missile Command ROM. Only used in XEGS machine mode.
|
||||
No built-in replacement exists for this ROM.
|
||||
source_ref: "atari800/src/sysrom.c:104"
|
||||
source_ref: "atari800/src/sysrom.c:108"
|
||||
|
||||
# Known ROM revisions from sysrom.c (CRC32 identifiers):
|
||||
#
|
||||
|
||||
+39
-39
@@ -5,7 +5,7 @@ source: "https://github.com/aenu1/ax360e"
|
||||
source_branch: main
|
||||
upstream: "https://github.com/xenia-canary/xenia-canary"
|
||||
profiled_date: "2026-08-11"
|
||||
source_commit: "a451abd20ae0660bc53bcf90473ac0e6c6c0d86d"
|
||||
source_commit: "b8c1838f21761ac463724e24105eda97b990e704"
|
||||
upstream_commit: "dc561e4df578c903087f9bdf56ff61d9ef9f2a93"
|
||||
core_version: "1.18"
|
||||
display_name: "Microsoft - Xbox 360 (aX360e)"
|
||||
@@ -22,27 +22,27 @@ notes: |
|
||||
replaces the desktop front end: its own windowed app and window, AAudio and
|
||||
OpenSLES audio systems, an Android input driver, and disc image, disc archive,
|
||||
STFS and XEX devices backed by the Storage Access Framework.
|
||||
ref: ax360e/app/src/main/cpp/version.h:4-5,
|
||||
ax360e/app/src/main/cpp/CMakeLists.txt:39-74,
|
||||
ax360e/app/src/main/cpp/ax360e_emu.cpp:615
|
||||
ref: app/src/main/cpp/version.h:4-5,
|
||||
app/src/main/cpp/CMakeLists.txt:39-75,
|
||||
app/src/main/cpp/ax360e_emu.cpp:616
|
||||
|
||||
The version is read from the commit subjects, which carry it: 1.18 is the head
|
||||
of main, 1.17 the drop before it. The repository has no tags, and the only
|
||||
gradle file committed is app/build.gradle.bak, which still declares versionName
|
||||
0.14 and is renamed and completed with the signing block at build time.
|
||||
ref: ax360e/README.md, ax360e/app/build.gradle.bak:13-14
|
||||
ref: ax360e/README.md, app/build.gradle.bak:13-14
|
||||
|
||||
No Xbox 360 system file is loaded. The kernel, XAM and XBDM are HLE modules
|
||||
registered at startup, and every key the emulator needs is a constant in the
|
||||
source: the XEX1 retail, XEX2 retail and XEX2 devkit keys tried in turn when an
|
||||
image is read, the 0x19 key pair the profile blob is encrypted with, and the
|
||||
source: the XEX1 retail, XEX1 devkit, XEX2 retail and XEX2 devkit keys tried in
|
||||
turn when an image is read, the 0x19 key pair the profile blob is encrypted with, and the
|
||||
key vault map XeKeysGetKey answers from. There is no NAND, flash or keyvault
|
||||
path.
|
||||
ref: ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:316-318,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:54-62,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:953-963,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/util/crypto_utils.cc:20-31,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xboxkrnl/xboxkrnl_crypt.cc:164-168
|
||||
ref: app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:316-321,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:54-65,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:982-994,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/kernel/util/crypto_utils.cc:20-31,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/kernel/xboxkrnl/xboxkrnl_crypt.cc:169-173
|
||||
|
||||
The storage root is the external files directory of the package and is passed
|
||||
as a launch argument beside the config path and the log path. Content, cache,
|
||||
@@ -51,35 +51,35 @@ notes: |
|
||||
custom_config/<title_id>.config.toml. The custom driver directory sits in
|
||||
internal storage instead, because the external filesystem cannot carry an
|
||||
executable mapping.
|
||||
ref: ax360e/app/src/main/java/aenu/ax360e/Application.java:14-53,
|
||||
ax360e/app/src/main/java/aenu/ax360e/EmulatorActivity.java:67-73,
|
||||
ax360e/app/src/main/cpp/ax360e_emu.cpp:273-316
|
||||
ref: app/src/main/java/aenu/ax360e/Application.java:14-53,
|
||||
app/src/main/java/aenu/ax360e/EmulatorActivity.java:164-170,
|
||||
app/src/main/cpp/ax360e_emu.cpp:274-317
|
||||
|
||||
ES-DE starts the emulator with the aenu.intent.action.AX360E action and a
|
||||
game_uri extra. The native side dispatches on the name the descriptor resolves
|
||||
to: .xex, .iso and .zar each go to their own loader, and anything else is taken
|
||||
for an STFS container and launched beside a sibling directory named after the
|
||||
file with .data appended.
|
||||
ref: ax360e/app/src/main/AndroidManifest.xml:57-59,
|
||||
ax360e/app/src/main/cpp/ax360e_emu.cpp:554-575
|
||||
ref: app/src/main/AndroidManifest.xml:57-59,
|
||||
app/src/main/cpp/ax360e_emu.cpp:555-576
|
||||
|
||||
A default profile ships with the application. Its Account blob is extracted
|
||||
from the assets on first run under XUID E0300000A360E000, and the shipped
|
||||
configuration logs that XUID into slot 0. Further profiles are created by the
|
||||
emulator itself, which writes the blob it encrypts.
|
||||
ref: ax360e/app/src/main/java/aenu/ax360e/Application.java:30-34,
|
||||
ax360e/app/src/main/java/aenu/ax360e/Application.java:92-96,
|
||||
ax360e/app/src/main/assets/config/default_config.toml:314,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:502-558
|
||||
ref: app/src/main/java/aenu/ax360e/Application.java:30-34,
|
||||
app/src/main/java/aenu/ax360e/Application.java:92-96,
|
||||
app/src/main/assets/config/default_config.toml:371,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:501-557
|
||||
|
||||
477 game patches ship inside the APK. The patch database reads the patches
|
||||
directory only, so a bundled patch reaches the emulator once the user opens the
|
||||
patch dialog for that title and presses Apply, which writes the asset out under
|
||||
the same name.
|
||||
ref: ax360e/app/src/main/assets/game-patches,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-56,
|
||||
ax360e/app/src/main/java/aenu/ax360e/Emulator.java:121-151,
|
||||
ax360e/app/src/main/java/aenu/ax360e/MainActivity.java:503-512
|
||||
app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-56,
|
||||
app/src/main/java/aenu/ax360e/Emulator.java:119-149,
|
||||
app/src/main/java/aenu/ax360e/MainActivity.java:505-514
|
||||
|
||||
files:
|
||||
- name: "<driver>.zip"
|
||||
@@ -95,7 +95,7 @@ files:
|
||||
configured path is read before the instance is created and opened through
|
||||
adrenotools when it exists, otherwise the system libvulkan.so is used. The
|
||||
setting is greyed out on devices without /dev/kgsl-3d0.
|
||||
source_ref: "ax360e/app/src/main/java/aenu/ax360e/EmulatorSettings.java:709-713, ax360e/app/src/main/java/aenu/ax360e/Utils.java:150-215, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/vulkan_instance.cc:34, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/vulkan_instance.cc:71-91, ax360e/app/src/main/java/aenu/emulator/Emulator.java:116-122"
|
||||
source_ref: "app/src/main/java/aenu/ax360e/EmulatorSettings.java:732-736, app/src/main/java/aenu/ax360e/Utils.java:165-230, app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/vulkan_instance.cc:34, app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/vulkan_instance.cc:71-91, app/src/main/java/aenu/emulator/Emulator.java:116-122"
|
||||
|
||||
- name: "<font>.ttf"
|
||||
required: false
|
||||
@@ -107,7 +107,7 @@ files:
|
||||
Supplement, Extended Latin, Greek, Cyrillic, punctuation, superscript,
|
||||
letterlike and number form ranges. A face that fails to build is cleared and
|
||||
the embedded ProggyTiny is used instead, so the absence is covered.
|
||||
source_ref: "ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:42-44, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:340-374, ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:507-514"
|
||||
source_ref: "app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:43-45, app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:355-394, app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:527-534"
|
||||
|
||||
- name: "<title_id> - <title>.patch.toml"
|
||||
required: false
|
||||
@@ -120,7 +120,7 @@ files:
|
||||
without them, and each entry of the patch array is applied only when its
|
||||
is_enabled flag is set and the module hash matches. Patching is on by
|
||||
default.
|
||||
source_ref: "ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:17-18, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-98, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.h:121-122, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/patcher.cc:22-35, ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:308"
|
||||
source_ref: "app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:17-18, app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-98, app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.h:121-122, app/src/main/cpp/xenia-canary/src/xenia/patcher/patcher.cc:22-35, app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:308"
|
||||
|
||||
- name: plugins.toml
|
||||
required: false
|
||||
@@ -132,7 +132,7 @@ files:
|
||||
name is eight hexadecimal digits. Each entry of the plugin array needs a
|
||||
hash node, and an entry without one is skipped. Plugin loading is off by
|
||||
default, so nothing under plugins is scanned until it is turned on.
|
||||
source_ref: "ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:16-21, ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:40-127, ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:320-321"
|
||||
source_ref: "app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:16-21, app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:40-127, app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:324-325"
|
||||
|
||||
- name: "<plugin>.xex"
|
||||
required: false
|
||||
@@ -142,7 +142,7 @@ files:
|
||||
The title directory is mounted as the plugins device and each enabled entry
|
||||
whose hash matches the running module is loaded as a user module on its own
|
||||
thread. A directory that cannot be mounted is a fatal error.
|
||||
source_ref: "ax360e/app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:175-257, ax360e/app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:1996-1999"
|
||||
source_ref: "app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:175-257, app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:1900-1903"
|
||||
|
||||
- name: Account
|
||||
required: false
|
||||
@@ -156,7 +156,7 @@ files:
|
||||
bytes carry. The application extracts the one it ships for XUID
|
||||
E0300000A360E000 on first run, and the emulator writes its own when a
|
||||
profile is created.
|
||||
source_ref: "ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:188-230, ax360e/app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:40-68, ax360e/app/src/main/java/aenu/ax360e/Application.java:30-34, ax360e/app/src/main/java/aenu/ax360e/Application.java:92-96"
|
||||
source_ref: "app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:187-229, app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:39-67, app/src/main/java/aenu/ax360e/Application.java:30-34, app/src/main/java/aenu/ax360e/Application.java:92-96"
|
||||
|
||||
exclusion_note: >
|
||||
Six file loads present in the vendored tree are not reached by this build and
|
||||
@@ -172,12 +172,12 @@ exclusion_note: >
|
||||
by the standalone shader compiler and needs VULKAN_SDK in the environment.
|
||||
librenderdoc.so is opened with RTLD_NOLOAD, which returns a handle only when
|
||||
the library is already mapped and never reads the file.
|
||||
ref: ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_guest_notification.cc:49-60,
|
||||
ax360e/app/src/main/cpp/emulator_ax360e.cpp:356,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:376-407,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:409-493,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/base/platform.h:34-37,
|
||||
ax360e/app/src/main/cpp/CMakeLists.txt:91-131,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/app/xenia_main.cc:480,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/spirv_tools_context.cc:28-37,
|
||||
ax360e/app/src/main/cpp/xenia-canary/src/xenia/ui/renderdoc_api.cc:35-41
|
||||
ref: app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_guest_notification.cc:49-60,
|
||||
app/src/main/cpp/emulator_ax360e.cpp:359,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:396-427,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:429-513,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/base/platform.h:34-37,
|
||||
app/src/main/cpp/CMakeLists.txt:92-132,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/app/xenia_main.cc:485,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/spirv_tools_context.cc:28-37,
|
||||
app/src/main/cpp/xenia-canary/src/xenia/ui/renderdoc_api.cc:35-48
|
||||
@@ -5,7 +5,7 @@ cores: [mednafen_pcfx, pcfx]
|
||||
source: "https://github.com/libretro/beetle-pcfx-libretro"
|
||||
upstream: "https://mednafen.github.io/"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "650c30ea2203636a1716675854d11c608ed6eacc"
|
||||
source_commit: "0580dee757adfdb9bf8b9c24693dde5f3d0a78a1"
|
||||
core_version: "v0.9.36.5"
|
||||
display_name: "NEC - PC-FX (Beetle PC-FX)"
|
||||
systems:
|
||||
@@ -13,7 +13,7 @@ systems:
|
||||
|
||||
notes: >
|
||||
Libretro port of Mednafen's PC-FX module. Setting "pcfx.bios" resolves
|
||||
to "pcfx.rom" (settings.c:92). LoadCommon() loads the file, validates
|
||||
to "pcfx.rom" (mednafen/settings.c:92). LoadCommon() loads the file, validates
|
||||
size (1048576 bytes), and maps it at 0xFFF00000. Core won't start
|
||||
without it. No hash validation. Upstream Mednafen also supports an
|
||||
FX-SCSI ROM (pcfx.fxscsi setting, developer-only) not present in
|
||||
|
||||
@@ -5,7 +5,7 @@ core: mednafen_saturn_libretro
|
||||
source: "https://github.com/libretro/beetle-saturn-libretro"
|
||||
upstream: "https://mednafen.github.io/"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "84461434f249c1b5cd10c83ae922feae84e1acf8"
|
||||
source_commit: "b5c8a465d8128d5bc8a6ad9bc0db561068127181"
|
||||
core_version: "v0.9.45.1"
|
||||
display_name: "Sega - Saturn (Beetle Saturn)"
|
||||
cores:
|
||||
@@ -36,7 +36,7 @@ files:
|
||||
size: 524288
|
||||
validation: [size]
|
||||
note: "Saturn BIOS v1.01 (Japan). Used when region is JP or Asia NTSC."
|
||||
source_ref: "mednafen/ss/ss.c:1761 (region filename), mednafen/ss/ss.c:1784-1899 (open, size check, read, sha256)"
|
||||
source_ref: "mednafen/ss/ss.c:1761 (region filename), mednafen/ss/ss.c:1786-1903 (open, size check, read, sha256)"
|
||||
|
||||
- name: "mpr-17933.bin"
|
||||
system: sega-saturn
|
||||
@@ -45,7 +45,7 @@ files:
|
||||
size: 524288
|
||||
validation: [size]
|
||||
note: "Saturn BIOS (NA/EU). Used for all non-JP/Asia-NTSC regions."
|
||||
source_ref: "mednafen/ss/ss.c:1763 (region filename), mednafen/ss/ss.c:1784-1899 (open, size check, read, sha256)"
|
||||
source_ref: "mednafen/ss/ss.c:1763 (region filename), mednafen/ss/ss.c:1786-1903 (open, size check, read, sha256)"
|
||||
|
||||
- name: "mpr-18811-mx.ic1"
|
||||
system: sega-saturn
|
||||
@@ -65,5 +65,5 @@ files:
|
||||
system: sega-saturn
|
||||
required: false
|
||||
size: 262144
|
||||
note: "Action Replay 4M Plus firmware. Unfinished in source (ar4mp.c:22-24), needs CPU UBC emulation. Cart type not exposed in core options."
|
||||
note: "Action Replay 4M Plus firmware. Unfinished in source (mednafen/ss/cart/ar4mp.c:22-24), needs CPU UBC emulation. Cart type not exposed in core options."
|
||||
source_ref: "mednafen/ss/cart.c:218 (CART_AR4MP case), mednafen/ss/cart/ar4mp.c:150 (CART_AR4MP_Init)"
|
||||
@@ -14,7 +14,7 @@ notes: |
|
||||
Libretro port of Mednafen's Virtual Boy emulation module.
|
||||
No external BIOS or firmware files. The Virtual Boy has no boot
|
||||
ROM; the V810 CPU executes directly from the game ROM mapped at
|
||||
0x07000000. Load() in libretro.cpp:1787 takes only ROM data.
|
||||
0x07000000. Load() in libretro.cpp:1810 takes only ROM data.
|
||||
Upstream Mednafen supports an optional vb.pal palette file
|
||||
(Documentation/vb.html); the libretro port handles palette via
|
||||
core options instead.
|
||||
|
||||
@@ -26,7 +26,7 @@ notes: |
|
||||
|
||||
Even if a TMSS-enabled model were forced, read_bundled_file() in the
|
||||
libretro build only serves rom.db and returns NULL for tmss.md, so TMSS
|
||||
ROM loading would fail (fatal_error at genesis.c:1923).
|
||||
ROM loading would fail (fatal_error at genesis.c:1933).
|
||||
|
||||
Sega CD / Mega CD is not supported (only a TODO comment in system.c:16).
|
||||
No BIOS files are required or loaded by the libretro core.
|
||||
@@ -43,7 +43,7 @@ files:
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: "ROM feature database (game-specific mapper/save config). Embedded in core, external is optional override."
|
||||
source_ref: "libblastem.c:532-542 read_bundled_file()"
|
||||
source_ref: "libblastem.c:1149-1172 read_bundled_file()"
|
||||
|
||||
# TMSS ROM — only used in standalone mode with tmss-enabled model
|
||||
# libretro build returns NULL for tmss.md (libblastem.c:541)
|
||||
@@ -53,7 +53,7 @@ files:
|
||||
mode: standalone
|
||||
size: 2048
|
||||
note: "TMSS startup ROM. Standalone only (models md1va6, md2va1+). Libretro core uses md1va3 (tmss off), no way to change."
|
||||
source_ref: "genesis.c:3027-3040"
|
||||
source_ref: "genesis.c:3037-3050"
|
||||
|
||||
analysis:
|
||||
tmss:
|
||||
@@ -64,7 +64,7 @@ analysis:
|
||||
rom_filename: tmss.md
|
||||
rom_size: 2048 # 2 KB
|
||||
config_path: "system\0tmss_path\0"
|
||||
source_ref: "genesis.c:1910"
|
||||
source_ref: "genesis.c:1920"
|
||||
note: |
|
||||
TMSS ROM is loaded from tmss.md (configurable via system/tmss_path).
|
||||
Models with tmss=on: md1va6, md2va1, md2va2, md3va1, md3va2.
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/blueMSX-libretro"
|
||||
upstream: "http://bluemsx.msxblue.com/"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "0f32f52c48d3e772bfdf0379756f81f00b4e08bc"
|
||||
source_commit: "e3086eb5d36d77fa11704cf53dc176686e70127d"
|
||||
core_version: "SVN"
|
||||
display_name: "MSX/SVI/ColecoVision/SG-1000 (blueMSX)"
|
||||
cores:
|
||||
@@ -60,7 +60,7 @@ data_directories:
|
||||
# buildbot source: https://buildbot.libretro.com/assets/system/blueMSX.zip
|
||||
# ref: libretro.c:1118-1119 — system_dir/Machines/ + system_dir/Databases/
|
||||
- ref: bluemsx
|
||||
source_ref: "libretro.c:1118-1119"
|
||||
source_ref: "libretro.c:1119-1120"
|
||||
|
||||
files:
|
||||
# ============================================================
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ core_classification: game_engine
|
||||
source: "https://github.com/libretro/boom3"
|
||||
upstream: "https://github.com/dhewm/dhewm3"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "b810234ea1e3b498fa6ff5f51efaaa9433b21060"
|
||||
source_commit: "132dfddbc216af8b5196a61e815219b531f7c1b4"
|
||||
core_version: "git"
|
||||
display_name: "Doom 3 (boom3)"
|
||||
cores: [boom3, boom3_xp]
|
||||
|
||||
@@ -19,12 +19,12 @@ notes: |
|
||||
Libretro: all boot ROMs compiled into binary as static byte arrays in
|
||||
src/data.rs. load_boot_static() copies from arrays. No filesystem
|
||||
access, no RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No external files.
|
||||
ref: core.rs:402 instance.load(true) -> gb.rs:1311 -> load_boot_static
|
||||
ref: frontends/libretro/src/core.rs:402 instance.load(true) -> src/gb.rs:1361 -> load_boot_static
|
||||
|
||||
Standalone (SDL): also defaults to embedded boot ROMs via load(true).
|
||||
User can override via --boot-rom-path CLI argument with any boot ROM
|
||||
file. load_boot_file() with hardcoded ./res/boot/*.bin paths exists in
|
||||
gb.rs:1361 but is not called from any frontend.
|
||||
src/gb.rs:1411 but is not called from any frontend.
|
||||
|
||||
Boot ROM defaults: DmgBootix (DMG), CgbBoytacean (CGB) — open-source.
|
||||
|
||||
@@ -36,7 +36,7 @@ files:
|
||||
mode: standalone
|
||||
size: 256
|
||||
note: "Original Nintendo DMG boot ROM"
|
||||
source_ref: "src/gb.rs:1400, src/data.rs:14"
|
||||
source_ref: "src/gb.rs:1450, src/data.rs:14"
|
||||
|
||||
- name: sgb_boot.bin
|
||||
system: nintendo-gb
|
||||
@@ -45,7 +45,7 @@ files:
|
||||
mode: standalone
|
||||
size: 256
|
||||
note: "Super Game Boy boot ROM"
|
||||
source_ref: "src/gb.rs:1401, src/data.rs:29"
|
||||
source_ref: "src/gb.rs:1451, src/data.rs:29"
|
||||
|
||||
- name: dmg_bootix.bin
|
||||
system: nintendo-gb
|
||||
@@ -54,7 +54,7 @@ files:
|
||||
mode: standalone
|
||||
size: 256
|
||||
note: "Open-source DMG boot ROM from Bootix (default DMG)"
|
||||
source_ref: "src/gb.rs:1402, src/data.rs:44"
|
||||
source_ref: "src/gb.rs:1452, src/data.rs:44"
|
||||
|
||||
- name: mgb_bootix.bin
|
||||
system: nintendo-gb
|
||||
@@ -63,7 +63,7 @@ files:
|
||||
mode: standalone
|
||||
size: 256
|
||||
note: "Open-source MGB (Pocket) boot ROM from Bootix"
|
||||
source_ref: "src/gb.rs:1403, src/data.rs:59"
|
||||
source_ref: "src/gb.rs:1453, src/data.rs:59"
|
||||
|
||||
- name: cgb_boot.bin
|
||||
system: nintendo-gbc
|
||||
@@ -72,7 +72,7 @@ files:
|
||||
mode: standalone
|
||||
size: 2304
|
||||
note: "Original Nintendo CGB boot ROM"
|
||||
source_ref: "src/gb.rs:1404, src/data.rs:74"
|
||||
source_ref: "src/gb.rs:1454, src/data.rs:74"
|
||||
|
||||
- name: cgb_boytacean.bin
|
||||
system: nintendo-gbc
|
||||
@@ -81,4 +81,4 @@ files:
|
||||
mode: standalone
|
||||
size: 2304
|
||||
note: "Custom open-source CGB boot ROM (default CGB)"
|
||||
source_ref: "src/gb.rs:1405, src/data.rs:177"
|
||||
source_ref: "src/gb.rs:1418, src/data.rs:177"
|
||||
+22
-22
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/bsnes-jg"
|
||||
upstream: "https://gitlab.com/jgemu/bsnes"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "aedc27e367b65f002afb5098684f39eb6124079c"
|
||||
source_commit: "aa11568fff267fca3424cbdfa6da788ddc42e468"
|
||||
core_version: "2.1.0"
|
||||
display_name: "Nintendo - SNES / SFC (bsnes-jg)"
|
||||
cores: [bsnes-jg]
|
||||
@@ -24,12 +24,12 @@ notes: |
|
||||
BML game databases embedded as C++ string literals.
|
||||
|
||||
ref: libretro/libretro.cpp:420-502 fileOpenV firmware loading callback
|
||||
ref: src/cartridge.cpp:754-829 uPD7725 (DSP1-4) LLE/HLE dispatch
|
||||
ref: src/cartridge.cpp:831-901 uPD96050 (ST010/ST011) LLE/HLE dispatch
|
||||
ref: src/cartridge.cpp:615-670 ARM6 (ST018) firmware loading
|
||||
ref: src/cartridge.cpp:672-752 HG51BS169 (HitachiDSP/CX4) embedded ROM + HLE
|
||||
ref: src/cartridge.cpp:761-836 uPD7725 (DSP1-4) LLE/HLE dispatch
|
||||
ref: src/cartridge.cpp:838-908 uPD96050 (ST010/ST011) LLE/HLE dispatch
|
||||
ref: src/cartridge.cpp:622-677 ARM6 (ST018) firmware loading
|
||||
ref: src/cartridge.cpp:679-759 HG51BS169 (HitachiDSP/CX4) embedded ROM + HLE
|
||||
ref: src/coprocessor/icd.cpp:249,260 SGB1/SGB2 boot ROMs embedded
|
||||
ref: src/cartridge.cpp:62 hitachidspStaticDataROM embedded
|
||||
ref: src/cartridge.cpp:64 hitachidspStaticDataROM embedded
|
||||
ref: libretro/libretro.cpp:30-33 BML databases embedded
|
||||
|
||||
files:
|
||||
@@ -40,59 +40,59 @@ files:
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:429, src/cartridge.cpp:774,798-804"
|
||||
source_ref: "libretro/libretro.cpp:429, src/cartridge.cpp:781, src/cartridge.cpp:805-811"
|
||||
|
||||
- name: dsp1.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:432, src/cartridge.cpp:786,798-804"
|
||||
source_ref: "libretro/libretro.cpp:432, src/cartridge.cpp:793, src/cartridge.cpp:805-811"
|
||||
|
||||
- name: dsp1b.program.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:435, src/cartridge.cpp:774,798-804"
|
||||
source_ref: "libretro/libretro.cpp:435, src/cartridge.cpp:781, src/cartridge.cpp:805-811"
|
||||
|
||||
- name: dsp1b.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:438, src/cartridge.cpp:786,798-804"
|
||||
source_ref: "libretro/libretro.cpp:438, src/cartridge.cpp:793, src/cartridge.cpp:805-811"
|
||||
|
||||
- name: dsp2.program.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:441, src/cartridge.cpp:774,806-811"
|
||||
source_ref: "libretro/libretro.cpp:441, src/cartridge.cpp:781, src/cartridge.cpp:813-818"
|
||||
|
||||
- name: dsp2.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:444, src/cartridge.cpp:786,806-811"
|
||||
source_ref: "libretro/libretro.cpp:444, src/cartridge.cpp:793, src/cartridge.cpp:813-818"
|
||||
|
||||
- name: dsp3.program.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
source_ref: "libretro/libretro.cpp:447-448, src/cartridge.cpp:774,822-828"
|
||||
source_ref: "libretro/libretro.cpp:447-448, src/cartridge.cpp:781, src/cartridge.cpp:829-835"
|
||||
|
||||
- name: dsp3.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
source_ref: "libretro/libretro.cpp:451-452, src/cartridge.cpp:786,822-828"
|
||||
source_ref: "libretro/libretro.cpp:451-452, src/cartridge.cpp:793, src/cartridge.cpp:829-835"
|
||||
|
||||
- name: dsp4.program.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:455, src/cartridge.cpp:774,813-818"
|
||||
source_ref: "libretro/libretro.cpp:455, src/cartridge.cpp:781, src/cartridge.cpp:820-825"
|
||||
|
||||
- name: dsp4.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:458, src/cartridge.cpp:786,813-818"
|
||||
source_ref: "libretro/libretro.cpp:458, src/cartridge.cpp:793, src/cartridge.cpp:820-825"
|
||||
|
||||
# uPD96050 coprocessor firmware (ST010, ST011)
|
||||
# HLE fallback available for ST010, not for ST011
|
||||
@@ -101,23 +101,23 @@ files:
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:461, src/cartridge.cpp:851,872-882"
|
||||
source_ref: "libretro/libretro.cpp:461, src/cartridge.cpp:858, src/cartridge.cpp:879-889"
|
||||
|
||||
- name: st010.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
hle_fallback: true
|
||||
source_ref: "libretro/libretro.cpp:464, src/cartridge.cpp:863,872-882"
|
||||
source_ref: "libretro/libretro.cpp:464, src/cartridge.cpp:870, src/cartridge.cpp:879-889"
|
||||
|
||||
- name: st011.program.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
source_ref: "libretro/libretro.cpp:467-468, src/cartridge.cpp:851,884-901"
|
||||
source_ref: "libretro/libretro.cpp:467-468, src/cartridge.cpp:858, src/cartridge.cpp:891-908"
|
||||
|
||||
- name: st011.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
source_ref: "libretro/libretro.cpp:471-472, src/cartridge.cpp:863,884-901"
|
||||
source_ref: "libretro/libretro.cpp:471-472, src/cartridge.cpp:870, src/cartridge.cpp:891-908"
|
||||
|
||||
# ARM6 coprocessor firmware (ST018)
|
||||
# Internal name arm6, mapped to st018 by libretro wrapper. No HLE.
|
||||
@@ -125,13 +125,13 @@ files:
|
||||
- name: st018.program.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
source_ref: "libretro/libretro.cpp:475-476, src/cartridge.cpp:640"
|
||||
source_ref: "libretro/libretro.cpp:475-476, src/cartridge.cpp:647"
|
||||
aliases: [arm6.program.rom]
|
||||
|
||||
- name: st018.data.rom
|
||||
system: nintendo-snes
|
||||
required: false
|
||||
source_ref: "libretro/libretro.cpp:479-480, src/cartridge.cpp:650"
|
||||
source_ref: "libretro/libretro.cpp:479-480, src/cartridge.cpp:657"
|
||||
aliases: [arm6.data.rom]
|
||||
|
||||
# Embedded (no external file needed):
|
||||
|
||||
+4
-4
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/bsnes-libretro"
|
||||
upstream: "https://github.com/bsnes-emu/bsnes"
|
||||
logo: "https://raw.githubusercontent.com/bsnes-emu/bsnes/master/bsnes/target-bsnes/resource/bsnes.svg"
|
||||
profiled_date: "2026-04-05"
|
||||
source_commit: "9c1285dda7dd6bb9a9951d37bcee8794ada640e6"
|
||||
source_commit: "6d19eef5835a792e241e33194b4c1e9b75405b88"
|
||||
core_version: "115"
|
||||
display_name: "Nintendo - SNES / SFC (bsnes)"
|
||||
cores: [bsnes]
|
||||
@@ -201,13 +201,13 @@ files:
|
||||
system: nintendo-super-game-boy
|
||||
required: false
|
||||
note: "Super Game Boy 1 cartridge ROM, loaded when playing .gb/.gbc via SGB mode"
|
||||
source_ref: "bsnes/target-libretro/libretro.cpp:926-935 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
|
||||
source_ref: "bsnes/target-libretro/libretro.cpp:937-946 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
|
||||
|
||||
- name: "SGB2.sfc"
|
||||
system: nintendo-super-game-boy
|
||||
required: false
|
||||
note: "Super Game Boy 2 cartridge ROM, uses dedicated oscillator for accurate GB speed"
|
||||
source_ref: "bsnes/target-libretro/libretro.cpp:926-935 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
|
||||
source_ref: "bsnes/target-libretro/libretro.cpp:937-946 (system_dir + sgb_bios), bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
|
||||
|
||||
# -- BS-X Satellaview BIOS --
|
||||
# Required for loading .bs (BS Memory) format games.
|
||||
@@ -217,7 +217,7 @@ files:
|
||||
system: nintendo-satellaview
|
||||
required: true
|
||||
note: "BS-X Satellaview BIOS ROM, loaded from system_dir when running .bs games"
|
||||
source_ref: "bsnes/target-libretro/libretro.cpp:944-951 (system_dir + BS-X.bin hardcoded, .bs extension branch)"
|
||||
source_ref: "bsnes/target-libretro/libretro.cpp:955-962 (system_dir + BS-X.bin hardcoded, .bs extension branch)"
|
||||
|
||||
notes:
|
||||
hle_available: true
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: enhanced_fork
|
||||
source: "https://github.com/libretro/bsnes-mercury"
|
||||
upstream: "https://byuu.org/higan"
|
||||
profiled_date: "2026-03-25"
|
||||
source_commit: "d83bf7ab607e09131731b3a81825f986f91c1f84"
|
||||
source_commit: "ea22363fb0c1ebe92e7a70cdf55e9bb43f9207be"
|
||||
core_version: "v094 (Mercury)"
|
||||
display_name: "Nintendo - SNES / SFC (bsnes-mercury)"
|
||||
cores: [bsnes_mercury_accuracy, bsnes_mercury_balanced, bsnes_mercury_performance]
|
||||
|
||||
+13
-13
@@ -20,31 +20,31 @@ 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:342-345):
|
||||
Embedded ROMs (cap32/cap32.c:345-348):
|
||||
- cap32/rom/464.h: OS_BASIC10[32768] - CPC 464 OS + BASIC 1.0
|
||||
- cap32/rom/6128.h: OS_BASIC11[32768] - CPC 6128 OS + BASIC 1.1
|
||||
- cap32/rom/amsdos.h: AMSDOS[16384] - AMSDOS disk controller ROM
|
||||
- cap32/rom/6128p.h: OS_6128P - CPC+ system cartridge ROM
|
||||
- cap32/rom/cpm.h: cpmROM - CP/M boot snapshot (128KB)
|
||||
|
||||
ROM selection in emulator_select_ROM() (cap32/cap32.c:1072-1100):
|
||||
ROM selection in emulator_select_ROM() (cap32/cap32.c:1075-1103):
|
||||
- CPC 464: OS_BASIC10 (32KB)
|
||||
- CPC 664: OS_BASIC10 (32KB) + AMSDOS in slot 7
|
||||
- CPC 6128: OS_BASIC11 (32KB) + AMSDOS in slot 7
|
||||
- CPC+: OS_6128P loaded as system cartridge via cpr_load()
|
||||
|
||||
The standalone (non-libretro) version references external filenames
|
||||
cpc464.rom, cpc664.rom, cpc6128.rom, amsdos.rom in cap32.c:349-352
|
||||
via config file loading (cap32.c:1828-1840), but the libretro port
|
||||
does not use this path. The libretro init (libretro-core.c:1512) has
|
||||
cpc464.rom, cpc664.rom, cpc6128.rom, amsdos.rom in cap32/cap32.c:352-355
|
||||
via config file loading (cap32/cap32.c:1831-1843), but the libretro port
|
||||
does not use this path. The libretro init (libretro/libretro-core.c:1526) has
|
||||
a "TODO: future use to load custom bios" comment that is not
|
||||
implemented.
|
||||
|
||||
Keyboard layout patches are applied to the ROM in memory for French
|
||||
and Spanish layouts via rom_mods.h (cap32.c:1102-1126).
|
||||
and Spanish layouts via rom_mods.h (cap32/cap32.c:1105-1129).
|
||||
|
||||
CP/M support loads a pre-built snapshot (cpm.h) into memory via
|
||||
snapshot_load_mem() in slots.c:87.
|
||||
snapshot_load_mem() in cap32/slots.c:90.
|
||||
|
||||
files:
|
||||
# Standalone loads from rom_path/ — libretro embeds all as C arrays
|
||||
@@ -55,7 +55,7 @@ files:
|
||||
mode: standalone
|
||||
size: 32768
|
||||
note: "CPC 464 OS + BASIC 1.0"
|
||||
source_ref: "src/cap32.cpp:217, rom/cpc464.rom"
|
||||
source_ref: "src/cap32.cpp:213, rom/cpc464.rom"
|
||||
- name: cpc664.rom
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
@@ -76,7 +76,7 @@ files:
|
||||
mode: standalone
|
||||
size: 16384
|
||||
note: "AMSDOS disc ROM (sideways slot 7)"
|
||||
source_ref: "src/cap32.cpp:1238"
|
||||
source_ref: "src/cap32.cpp:1250"
|
||||
- name: system.cpr
|
||||
system: amstrad-cpc
|
||||
required: false
|
||||
@@ -90,16 +90,16 @@ files:
|
||||
mode: standalone
|
||||
size: 8192
|
||||
note: "Multiface 2 ROM"
|
||||
source_ref: "caprice32/rom/MF2.rom, src/cap32.cpp:1316-1335"
|
||||
source_ref: "caprice32/rom/MF2.rom, src/cap32.cpp:1328-1347"
|
||||
|
||||
platform_details:
|
||||
bios_mapping:
|
||||
source_ref: "cap32/cap32.c:1072-1100, cap32/cap32.c:342-345"
|
||||
source_ref: "cap32/cap32.c:1075-1103, cap32/cap32.c:345-348"
|
||||
note: |
|
||||
All ROMs are embedded. emulator_select_ROM() copies the appropriate
|
||||
ROM array into the pbROM buffer based on CPC.model. No filesystem
|
||||
lookup occurs in the libretro port. The retro_system_bios_directory
|
||||
variable is set up in libretro-core.c:1499-1510 but only used for
|
||||
variable is set up in libretro/libretro-core.c:1513-1524 but only used for
|
||||
a future custom BIOS feature that is not yet implemented.
|
||||
|
||||
embedded_roms:
|
||||
@@ -113,7 +113,7 @@ platform_details:
|
||||
cpmROM (128KB+) - CP/M boot snapshot including SNA header
|
||||
|
||||
model_rom_map:
|
||||
source_ref: "cap32/cap32.c:1072-1100"
|
||||
source_ref: "cap32/cap32.c:1075-1103"
|
||||
note: |
|
||||
CPC 464: OS_BASIC10 only (no disk support)
|
||||
CPC 664: OS_BASIC10 + AMSDOS in ROM slot 7
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/mame2015-libretro"
|
||||
upstream: "https://github.com/mamedev/mame/tree/mame0160"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "283e04b03c121db9be12632d6bad2fc3e8707248"
|
||||
source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752"
|
||||
core_version: "0.160"
|
||||
display_name: "Philips CDi (CDi 2015)"
|
||||
cores: [cdi2015]
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ type: standalone
|
||||
source: "https://github.com/cemu-project/Cemu"
|
||||
logo: "https://raw.githubusercontent.com/cemu-project/Cemu/main/dist/linux/info.cemu.Cemu.png"
|
||||
profiled_date: "2026-03-18"
|
||||
source_commit: "daacdda0bab55dd78a2b5aac2c12d6ebe8c8e868"
|
||||
source_commit: "51250c02dea9ec9333e4725a17c0eac705128ff0"
|
||||
core_version: "2.6"
|
||||
display_name: "Cemu (Wii U)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/citra2018"
|
||||
upstream: "https://github.com/citra-emu/citra"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "29183a99b9771b128a36304c7d734daf5bfd5051"
|
||||
source_commit: "04fafd55252072ba148b87f20d8509ff1a91086e"
|
||||
core_version: "Git"
|
||||
display_name: "Nintendo - 3DS (Citra 2018)"
|
||||
cores: [citra2018]
|
||||
|
||||
@@ -4,6 +4,7 @@ core_classification: community_fork
|
||||
source: "https://git.citron-emu.org/citron-emu/Citron"
|
||||
upstream: "https://git.citron-emu.org/citron-emu/Citron"
|
||||
profiled_date: "2026-03-26"
|
||||
upstream_gone: "git.citron-emu.org no longer resolves, and git.citron-emu.com redirects to an unrelated survey site, the domain having been taken. Observed 2026-09-04; no mirror found."
|
||||
core_version: "2026.03.12"
|
||||
display_name: "Citron (Nintendo Switch)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/Clownacy/clownmdemu-libretro"
|
||||
upstream: "https://github.com/Clownacy/clownmdemu"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "3b278c900c278678763d96087f1d343a6aed6e58"
|
||||
source_commit: "935d6fc060eb82172dac29e880fe9b877fbdb640"
|
||||
core_version: "Git"
|
||||
display_name: "Sega - MD/CD (ClownMDEmu)"
|
||||
cores:
|
||||
@@ -32,6 +32,6 @@ analysis:
|
||||
boot_rom_source: "https://github.com/Clownacy/clownmdemu-mcd-boot"
|
||||
boot_rom_location: "source/mega-cd-boot-rom.c (16384 uint16 entries = 32 KB)"
|
||||
bus_mapping: "0x400000-0x41FFFF (address & 0x20000 == 0)"
|
||||
source_ref: "bus-main-m68k.c:19-21, bus-main-m68k.c:501-513"
|
||||
source_ref: "source/bus-main-m68k.c:19-21, source/bus-main-m68k.c:510-522"
|
||||
bios_hle: true
|
||||
hle_source_ref: "bus-sub-m68k.c:64 (MegaCDBIOSCall)"
|
||||
hle_source_ref: "source/bus-sub-m68k.c:64 (MegaCDBIOSCall)"
|
||||
+7
-1
@@ -4,11 +4,17 @@ core_classification: pure_libretro
|
||||
source: "https://github.com/libretro/Craft"
|
||||
upstream: "https://github.com/fogleman/Craft"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "675c5b2fc690d2e80f6099f46407bf23827c59d4"
|
||||
source_commit: "e9f3b9108077db019885a384429437d0b6a3904b"
|
||||
core_version: "v1"
|
||||
display_name: "Minecraft (Craft)"
|
||||
cores: [craft]
|
||||
systems: []
|
||||
exclusion_note: >
|
||||
The system directory is asked for, and what goes in it is written by the
|
||||
core: g->db_path and g->db_auth_path, the world database and its auth
|
||||
table. Nothing is read from it that the user has to supply
|
||||
(src/main.c:2682-2697).
|
||||
|
||||
files: []
|
||||
notes: >
|
||||
Libretro port of Craft, a simple Minecraft clone by Michael Fogleman.
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/daphne"
|
||||
upstream: "https://github.com/mirror/daphne-emu"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "1586978f7b71f40675f8d0a08d9872ecd2415422"
|
||||
source_commit: "6f1695dd1f376060666eec0a416ff56bb6c9cccc"
|
||||
core_version: "Git"
|
||||
display_name: "Arcade (Daphne)"
|
||||
cores:
|
||||
@@ -16,7 +16,7 @@ notes: |
|
||||
LaserDisc arcade game emulator. Port of Daphne 1.0 (Matt Ownby) to libretro.
|
||||
Each game loads its own arcade ROM set from a ZIP file named after the game
|
||||
(e.g. lair.zip). ROMs are loaded from a content-relative directory structure
|
||||
(homedir/roms/) with CRC32 verification (game.cpp:767-781). The core never
|
||||
(homedir/roms/) with CRC32 verification (daphne/daphne-1.0-src/game/game.cpp:767-781). The core never
|
||||
accesses the RetroArch system directory. Additional per-game data (framefiles,
|
||||
sound samples, overlay BMPs) is also loaded relative to the content directory.
|
||||
|
||||
@@ -26,4 +26,4 @@ exclusion_note: >
|
||||
.info declares no firmware (firmware_count absent). Code confirmed: the core
|
||||
never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. All files (ROM ZIPs,
|
||||
framefiles, sound, pics) load from the content directory via g_homedir
|
||||
(libretro.cpp:1153, set to rom_path/..). No shared system BIOS or firmware.
|
||||
(daphne/libretro/libretro.cpp:1153, set to rom_path/..). No shared system BIOS or firmware.
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/desmume"
|
||||
upstream: "https://github.com/TASEmulators/desmume"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "ae0f7f51f96d9b5741b47b425505a4a4224b91fa"
|
||||
source_commit: "8f6b32cb9a5e310bd38520e7087ce7fa14765f15"
|
||||
core_version: "SVN"
|
||||
display_name: "Nintendo - DS (DeSmuME)"
|
||||
cores: [desmume]
|
||||
|
||||
@@ -4,17 +4,17 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/desmume2015"
|
||||
upstream: "https://github.com/TASEmulators/desmume"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "af397ff3d1f208c27f3922cc8f2b8e08884ba893"
|
||||
source_commit: "422b688009ccb9f2917c086a8fe79c8cecb030ae"
|
||||
core_version: "SVN (2015 snapshot)"
|
||||
display_name: "Nintendo - DS (DeSmuME 2015)"
|
||||
cores: [desmume2015]
|
||||
systems: [nintendo-ds]
|
||||
exclusion_note: ".info declares firmware_count=3 but libretro frontend never enables external BIOS loading (UseExtBIOS defaults false in NDSSystem.h:497, never set in libretro.cpp)"
|
||||
exclusion_note: ".info declares firmware_count=3 but libretro frontend never enables external BIOS loading (UseExtBIOS defaults false in desmume/src/NDSSystem.h:497, never set in libretro.cpp)"
|
||||
|
||||
notes: |
|
||||
Frozen 2015 snapshot of DeSmuME. The core emulator code supports external
|
||||
BIOS/firmware (PrepareBiosARM7/ARM9 in NDSSystem.cpp:1974-2050), but
|
||||
UseExtBIOS defaults to false (NDSSystem.h:497) and the libretro frontend
|
||||
BIOS/firmware (PrepareBiosARM7/ARM9 in desmume/src/NDSSystem.cpp:1957-2033), but
|
||||
UseExtBIOS defaults to false (desmume/src/NDSSystem.h:497) and the libretro frontend
|
||||
never sets it — no desmume_use_external_bios core option exists in this
|
||||
version. Uses HLE BIOS stubs when external BIOS not loaded.
|
||||
|
||||
|
||||
+6
-1
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/mittonk/dice-libretro"
|
||||
upstream: "https://sourceforge.net/projects/dice/"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "72d66a67a296b004fa0bb7a57dbab9cfcec462b9"
|
||||
source_commit: "b11714fc4eb5b671ba15f2ec7b98c7ae909f7a4c"
|
||||
core_version: "v0.4.2"
|
||||
display_name: "Arcade (DICE)"
|
||||
cores:
|
||||
@@ -22,6 +22,11 @@ notes: |
|
||||
dummy launcher files. The system directory is retrieved but never used
|
||||
for file loading (libretro.cpp:60-62).
|
||||
|
||||
exclusion_note: >
|
||||
The system directory is asked for and stored in retro_base_directory, which
|
||||
is named in no other file of the tree and read nowhere: the answer is never
|
||||
used (libretro.cpp:28,60-63).
|
||||
|
||||
files: []
|
||||
|
||||
analysis:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/icculus/DirkSimple"
|
||||
upstream: "https://github.com/icculus/DirkSimple"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "5aea3e2951ed641908a7bd2ca09019614003b5e3"
|
||||
source_commit: "d5d75f97af34690010166a786ee41e15dd142c15"
|
||||
core_version: "0.2"
|
||||
display_name: "Laserdisc arcade game (DirkSimple)"
|
||||
cores: [dirksimple]
|
||||
|
||||
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/dolphin"
|
||||
upstream: "https://github.com/dolphin-emu/dolphin"
|
||||
logo: "https://raw.githubusercontent.com/dolphin-emu/dolphin/master/Data/dolphin-emu.svg"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "b4c88b46ad26227ebde585111de691db1b0a151a"
|
||||
source_commit: "e1e6d25fa1392b7d1bc05bf800c71b807a2bd2e0"
|
||||
core_version: "Git"
|
||||
display_name: "Nintendo - GameCube / Wii (Dolphin)"
|
||||
cores:
|
||||
@@ -111,7 +111,7 @@ files:
|
||||
system: sega-triforce
|
||||
required: true
|
||||
note: "SegaBoot, the Triforce system disc image. Read on every Triforce boot, min(size, 2 MiB) copied into the firmware buffer, nothing validated"
|
||||
source_ref: "Source/Core/Core/HW/DVD/AMMediaboard.cpp:159,512,531-551, Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, Source/Core/Core/System.h:147"
|
||||
source_ref: "Source/Core/Core/HW/DVD/AMMediaboard.cpp:160, 512, 531-551, Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, Source/Core/Core/System.h:147"
|
||||
|
||||
# -- GBA BIOS (for GC-GBA link) --
|
||||
# Used by integrated mGBA core for GameCube-GBA connectivity.
|
||||
@@ -217,7 +217,7 @@ files:
|
||||
required: false
|
||||
mode: standalone
|
||||
note: "Realtek 8723A BT firmware for Wiimote passthrough"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:387"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:414"
|
||||
|
||||
- name: "rtl8723b_fw.bin"
|
||||
path: "Load/Firmware/rtl_bt/rtl8723b_fw.bin"
|
||||
@@ -231,7 +231,7 @@ files:
|
||||
required: false
|
||||
mode: standalone
|
||||
note: "Realtek 8723D BT firmware for Wiimote passthrough"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:391"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:418"
|
||||
|
||||
- name: "rtl8761a_fw.bin"
|
||||
path: "Load/Firmware/rtl_bt/rtl8761a_fw.bin"
|
||||
@@ -259,14 +259,14 @@ files:
|
||||
required: false
|
||||
mode: standalone
|
||||
note: "Realtek 8821C BT firmware for Wiimote passthrough"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:399"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:426"
|
||||
|
||||
- name: "rtl8822b_fw.bin"
|
||||
path: "Load/Firmware/rtl_bt/rtl8822b_fw.bin"
|
||||
required: false
|
||||
mode: standalone
|
||||
note: "Realtek 8822B BT firmware for Wiimote passthrough"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:403"
|
||||
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:430"
|
||||
|
||||
- name: "rtl8822cu_fw.bin"
|
||||
path: "Load/Firmware/rtl_bt/rtl8822cu_fw.bin"
|
||||
|
||||
@@ -3,7 +3,7 @@ type: standalone
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/dosbox-staging/dosbox-staging"
|
||||
upstream: "https://github.com/dosbox-staging/dosbox-staging"
|
||||
source_commit: "cd81dcbc72773a4bd559b305c8b6ad3196cd09dc"
|
||||
source_commit: "639aba29163f5acff84774bf4397dcfe53a4986d"
|
||||
profiled_date: "2026-08-08"
|
||||
core_version: "0.84.0-alpha"
|
||||
display_name: "DOS (DOSBox Staging)"
|
||||
@@ -26,27 +26,27 @@ notes: |
|
||||
|
||||
No system BIOS: the PC BIOS, video BIOS fonts, keyboard layouts and codepage
|
||||
tables are implemented in code.
|
||||
ref: int10_memory.cpp:160, dos_keyboard_layout_data.h
|
||||
ref: src/ints/int10_memory.cpp:160, dos_keyboard_layout_data.h
|
||||
|
||||
MIDI devices that need external data are mt32, soundcanvas and fluidsynth.
|
||||
A device that fails to initialise throws, MIDI_Init warns and retries with
|
||||
mididevice = port, then disables MIDI output. Emulation continues either way.
|
||||
ref: midi.cpp:794-850
|
||||
ref: src/midi/midi.cpp:794-850
|
||||
|
||||
MT-32/CM-32L: libmt32emu identifies every candidate by file size then SHA1,
|
||||
so file names carry no meaning; a directory scan caches which ROM ids each
|
||||
directory holds and logs anything unrecognised.
|
||||
ref: mt32_lasynth_model.cpp:36-97, munt ROMInfo.cpp:206-213
|
||||
ref: src/midi/mt32_lasynth_model.cpp:36-97, munt ROMInfo.cpp:206-213
|
||||
A model needs one control ROM and one PCM ROM, supplied either as a full
|
||||
image (addROMFile) or as the two chip dumps merged in memory
|
||||
(mergeAndAddROMFiles): control halves are byte-interleaved, PCM halves are
|
||||
concatenated.
|
||||
ref: mt32_lasynth_model.cpp:114-151, munt ROMInfo.cpp:312-331
|
||||
ref: src/midi/mt32_lasynth_model.cpp:114-151, munt ROMInfo.cpp:312-331
|
||||
model = auto resolves the first available of cm32l_102, cm32l_100,
|
||||
cm32ln_100, mt32_107, mt32_106, mt32_105, mt32_104, mt32_bluer, mt32_207,
|
||||
mt32_206, mt32_204, mt32_203; the aliases cm32l, mt32, mt32_old and mt32_new
|
||||
restrict that list. MIXER /LISTMIDI prints what was found.
|
||||
ref: mt32.cpp:278-331, 504-557
|
||||
ref: src/midi/mt32.cpp:278-331, 504-557
|
||||
Search order is romdir, then mt32-roms in the configuration directory, then
|
||||
the platform locations (C:\mt32-rom-data on Windows;
|
||||
~/Library/Audio/Sounds/MT32-Roms and /usr/{local/,}share/mt32-rom-data on
|
||||
@@ -54,7 +54,7 @@ notes: |
|
||||
$XDG_DATA_DIRS/mt32-rom-data and $XDG_CONFIG_HOME/dosbox/mt32-roms on Linux).
|
||||
A relative romdir resolves against the working directory, so a game folder
|
||||
can carry its own set.
|
||||
ref: mt32.cpp:385-396, 416-485
|
||||
ref: src/midi/mt32.cpp:385-396, 416-485
|
||||
|
||||
Sound Canvas: the SC-55 is emulated by the Nuked SC55 CLAP plugin, loaded
|
||||
from a plugins directory next to the executable, in the configuration
|
||||
@@ -62,7 +62,7 @@ notes: |
|
||||
directory candidates, canonicalises the ones that exist and exports them as
|
||||
SOUNDCANVAS_ROM_PATH; the plugin appends the per-model subdirectory, hashes
|
||||
every file under 4 MB it finds there and matches SHA256 against its table.
|
||||
ref: soundcanvas.cpp:326-373, support.cpp:351-379,
|
||||
ref: src/midi/soundcanvas.cpp:326-373, src/misc/support.cpp:351-379,
|
||||
Nuked-SC55-CLAP nuked_sc55.cpp:117-215,
|
||||
Nuked-SC55-CLAP rom_loader.cpp:32-63,
|
||||
Nuked-SC55-CLAP rom_io.cpp:271-564
|
||||
@@ -70,22 +70,22 @@ notes: |
|
||||
sc55_200, sc55mk2_101, sc55mk2_100 in that order by matching plugin names.
|
||||
The plugin publishes six descriptors: SC-55 v1.00, v1.10, v1.20, v1.21,
|
||||
v2.00 and SC-55mk2 v1.01.
|
||||
ref: soundcanvas.cpp:55-71, 80-147, Nuked-SC55-CLAP plugin.cpp:23-90
|
||||
ref: src/midi/soundcanvas.cpp:55-71, 80-147, Nuked-SC55-CLAP plugin.cpp:23-90
|
||||
|
||||
FluidSynth: the soundfont setting names a file, tried as given and with .sf2
|
||||
appended, in soundfont_dir, then soundfonts in the configuration directory,
|
||||
then the platform locations. fluid_synth_sfload is the only check. The
|
||||
SoundFont name from the RIFF INFO chunk and the file stem select reverb,
|
||||
chorus and filter presets for four known banks.
|
||||
ref: fluidsynth.cpp:107-230, 672-689, 816-883, 1229-1252
|
||||
ref: src/midi/fluidsynth.cpp:107-230, 672-689, 816-883, 1229-1252
|
||||
|
||||
Bundled data ships with the program and is read from the resources directory
|
||||
next to the executable: FreeDOS codepages and keyboard layouts, translations,
|
||||
shaders and shader presets, CGA colour presets, drive noise samples, the
|
||||
mounted Y: drive utilities, the web interface and the manual pages.
|
||||
ref: support.cpp:300-320, dos_code_page.cpp:1828, dos_keyboard_layout.cpp:70,
|
||||
messages.cpp:1073, shader_manager.cpp:236,404, int10_modes.cpp:2302,
|
||||
disk_noise.cpp:187, autoexec.cpp:759
|
||||
ref: src/misc/support.cpp:300-320, src/dos/dos_code_page.cpp:1828, src/dos/dos_keyboard_layout.cpp:70,
|
||||
src/misc/messages.cpp:1073, src/gui/render/shader_manager.cpp:236,404, src/ints/int10_modes.cpp:2302,
|
||||
src/audio/disk_noise.cpp:187, src/shell/autoexec.cpp:759
|
||||
|
||||
BIOSTEST.COM loads an arbitrary BIOS image at F000:0 and is compiled only
|
||||
when the debugger is enabled, which is off by default.
|
||||
|
||||
+32
-32
@@ -25,13 +25,13 @@ notes: |
|
||||
olivetti/m24/att6300, pc3270, ega, ega200, jega, mcga, vgaonly, the S3,
|
||||
Tseng, Paradise and ATI SVGA cards, the vesa variants, and pc98/pc9801/pc9821.
|
||||
fm_towns is marked STUB in the same list.
|
||||
ref: dosbox.cpp:1526-1562
|
||||
ref: src/dosbox.cpp:1530-1566
|
||||
|
||||
No system BIOS: the PC BIOS, VGA BIOS, video fonts, keyboard layouts, codepage
|
||||
tables, the Z: drive utilities including GLIDE2X.OVL, and the TTF text font are
|
||||
compiled in.
|
||||
ref: int10_memory.cpp, dos_keyboard_layout_data.h, dos_codepages.h,
|
||||
src/builtin/glide2x.cpp:2861, output_ttf.cpp:664
|
||||
src/builtin/glide2x.cpp:2861, src/output/output_ttf.cpp:664
|
||||
|
||||
Files named without a directory are searched in the working directory, the
|
||||
program directory, the user configuration directory and the resource
|
||||
@@ -39,37 +39,37 @@ notes: |
|
||||
or ~/.config/dosbox-x, and the resource directory is $XDG_DATA_HOME/dosbox-x,
|
||||
then /usr/local/share/dosbox-x, then /usr/share/dosbox-x. Windows uses
|
||||
C:\DOSBox-X.
|
||||
ref: int10.cpp:1442-1485, cross.cpp:120-167
|
||||
ref: src/ints/int10.cpp:1442-1485, src/misc/cross.cpp:128-175
|
||||
|
||||
MT-32: libmt32emu is built from src/libs/mt32. Only four file names are ever
|
||||
opened, and each candidate is identified by exact file size then SHA1, so the
|
||||
name says nothing about the contents. addROMFile matches against the full
|
||||
image list only, which rejects the interleaved chip dumps.
|
||||
ref: midi_mt32.h:74-109, c_interface.cpp:442-462, ROMInfo.cpp:206-215
|
||||
ref: src/gui/midi_mt32.h:74-109, src/libs/mt32/c_interface/c_interface.cpp:442-462, src/libs/mt32/ROMInfo.cpp:206-215
|
||||
mt32.model = auto opens CM32L_CONTROL.ROM then MT32_CONTROL.ROM, and
|
||||
CM32L_PCM.ROM then MT32_PCM.ROM; cm32l keeps only the CM32L names, mt32 only
|
||||
the MT32 names. The directory is mt32.romdir, then the working directory, then
|
||||
the resource directory, then the configuration directory. A missing pair logs
|
||||
the accepted file names and disables the device.
|
||||
ref: midi_mt32.h:246-275, dosbox.cpp:3571-3576
|
||||
ref: src/gui/midi_mt32.h:246-275, src/dosbox.cpp:3577-3582
|
||||
|
||||
FluidSynth reads fluid.soundfont; fluid_synth_sfload is the only check. With
|
||||
the setting empty it probes /usr/share/soundfonts/default.sf2,
|
||||
/usr/share/sounds/sf2/FluidR3_GM.sf2 and GeneralUser_GS.sf2 on Linux, and
|
||||
C:\soundfonts\default.sf2 then the two same names under C:\DOSBox-X on Windows.
|
||||
ref: midi_synth.h:342-384, 462-480
|
||||
ref: src/gui/midi_synth.h:342-384, 462-480
|
||||
|
||||
PC-98 character generator, tried in order: FONT.ROM as generated by T98Tools,
|
||||
then the FONTX2 files named by pc-98 fontx sbcs and pc-98 fontx dbcs, then the
|
||||
file named by pc-98 anex86 font or ANEX86.BMP followed by FREECG98.BMP, then
|
||||
the built-in FREECG single-byte font and the built-in Japanese double-byte
|
||||
font. Each stage fills only what the previous one left empty.
|
||||
ref: int10.cpp:1882-1893, 1652-1675
|
||||
ref: src/ints/int10.cpp:1882-1893, 1652-1675
|
||||
|
||||
PC-98 sound board BIOS: with pc-98 sound bios set, SOUND.ROM is read from the
|
||||
working directory into CC000h. Without it a callback Sound BIOS is installed
|
||||
at CEE0:0000 answering INT D2h.
|
||||
ref: pc98_fm.cpp:367-385, 416-434
|
||||
ref: src/hardware/pc98_fm.cpp:367-385, 416-434
|
||||
|
||||
DOS/V and CJK text: fontxsbcs, fontxsbcs16, fontxsbcs24, fontxdbcs,
|
||||
fontxdbcs14 and fontxdbcs24 name font files. LoadFontxFile reads a FONTX2
|
||||
@@ -77,28 +77,28 @@ notes: |
|
||||
identified by its size, which covers ASC16 and ASCFONT.15 from UCDOS and ETen
|
||||
Chinese DOS, ASC24, HZK14, HZK16, HZK24 and STDFONT.15 and STDFONT.24.
|
||||
Unset settings fall back to the built-in font data.
|
||||
ref: int_dosv.cpp:654-749, 1631-1710, dosbox.cpp:2533-2568
|
||||
ref: src/ints/int_dosv.cpp:654-749, 1631-1710, src/dosbox.cpp:2539-2574
|
||||
|
||||
BOOT -bios loads a BIOS image at the top of the first megabyte, truncated to
|
||||
128 KB, or 96 KB on PC-98 where it also looks for <image>.itf.rom, <image>.ITF.ROM,
|
||||
itf.rom and ITF.ROM to serve the bank switched Initial Firmware Test region
|
||||
through port 43Dh.
|
||||
ref: dos_programs.cpp:2244-2332
|
||||
ref: src/dos/dos_programs.cpp:2250-2338
|
||||
|
||||
BIOSTEST.COM loads an image of up to 64 KB at F000:0 and restarts the CPU at
|
||||
the reset vector; it is compiled only when the debugger is enabled. The
|
||||
settings call binary on reset and call binary on boot load blobs of up to
|
||||
128 KB into the ROM BIOS area for CPU testing.
|
||||
ref: dos_programs.cpp:3581-3640, bios.cpp:13142-13215
|
||||
ref: src/dos/dos_programs.cpp:3587-3646, src/ints/bios.cpp:13280-13353
|
||||
|
||||
Glide passthrough loads glide2x.dll, libglide2x.so or libglide2x.dylib.
|
||||
ref: glide.cpp:353-359, dosbox.cpp:3471-3473
|
||||
ref: src/hardware/glide.cpp:353-359, src/dosbox.cpp:3477-3479
|
||||
|
||||
ttf.font, ttf.fontbold, ttf.fontital and ttf.fontboit name a TTF, OTF, FON or
|
||||
TTC font resolved through the same search order plus the system font
|
||||
directories. Unset, the TTF output uses the built-in font, except on PC-98 or
|
||||
a double-byte code page where SarasaGothicFixed.ttf is tried first.
|
||||
ref: output_ttf.cpp:318-473, 653-668
|
||||
ref: src/output/output_ttf.cpp:318-473, 653-668
|
||||
|
||||
Shipped in the resource directory: FREECG98.BMP, wqy_11pt.bdf, wqy_12pt.bdf,
|
||||
Nouveau_IBM.ttf, SarasaGothicFixed.ttf and the two reference configuration
|
||||
@@ -109,9 +109,9 @@ notes: |
|
||||
the customcodepage translation table, .kl layout files and the KEYBOARD.SYS
|
||||
to KEYBRD4.SYS libraries read from a mounted drive, the glshaders directory
|
||||
and the .lng translations.
|
||||
ref: bios.cpp:11389-11398, sdlmain.cpp:7001-7008,
|
||||
dos.cpp:4397-4420, dos_keyboard_layout.cpp:300-340,
|
||||
render.cpp:1538-1545, messages.cpp:294-320
|
||||
ref: src/ints/bios.cpp:11463-11472, src/gui/sdlmain.cpp:7010-7017,
|
||||
src/dos/dos.cpp:4402-4425, src/dos/dos_keyboard_layout.cpp:300-340,
|
||||
src/gui/render.cpp:1538-1545, src/misc/messages.cpp:294-320
|
||||
|
||||
files:
|
||||
# -- MT-32 and CM-32L control ROMs --
|
||||
@@ -260,7 +260,7 @@ files:
|
||||
note: >
|
||||
any SF2 or SF3 file loads; fluid.soundfont names it and
|
||||
fluid_synth_sfload is the only check
|
||||
source_ref: "src/gui/midi_synth.h:346-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3710"
|
||||
source_ref: "src/gui/midi_synth.h:346-384, src/gui/midi_synth.h:462-473, src/dosbox.cpp:3716"
|
||||
|
||||
# -- PC-98 character generator --
|
||||
|
||||
@@ -274,7 +274,7 @@ files:
|
||||
256 8x8 cells at 0x0, 256 8x16 cells at 0x800, 96 by 92 16x16 cells at
|
||||
0x1800; a file of any other length is rejected. Enabled by
|
||||
pc-98 try font rom, on by default
|
||||
source_ref: "src/ints/int10.cpp:1487-1549, src/dosbox.cpp:2477-2478"
|
||||
source_ref: "src/ints/int10.cpp:1487-1549, src/dosbox.cpp:2483-2484"
|
||||
|
||||
- name: "ANEX86.BMP"
|
||||
description: "PC-98 character generator, Anex86 bitmap"
|
||||
@@ -285,7 +285,7 @@ files:
|
||||
pixel, no compression, inverse colour scheme; the first row is the 8x16
|
||||
single-width set and the rest is 16x16 full-width. Also reachable through
|
||||
the pc-98 anex86 font setting, which is tried before FONT.ROM
|
||||
source_ref: "src/ints/int10.cpp:1555-1647, src/dosbox.cpp:2481-2484"
|
||||
source_ref: "src/ints/int10.cpp:1555-1647, src/dosbox.cpp:2487-2490"
|
||||
|
||||
- name: "FREECG98.BMP"
|
||||
description: "PC-98 character generator, free generated bitmap"
|
||||
@@ -335,32 +335,32 @@ files:
|
||||
description: "Printer Roman typeface"
|
||||
required: false
|
||||
note: "also the fallback typeface for any unmapped LQ selection"
|
||||
source_ref: "src/hardware/parport/printer.cpp:320-321, src/hardware/parport/printer.cpp:336-337, src/dosbox.cpp:4597"
|
||||
source_ref: "src/hardware/parport/printer.cpp:320-321, src/hardware/parport/printer.cpp:336-337, src/dosbox.cpp:4621"
|
||||
|
||||
- name: "sansserif.ttf"
|
||||
path: "FONTS/sansserif.ttf"
|
||||
description: "Printer Sans Serif typeface"
|
||||
required: false
|
||||
source_ref: "src/hardware/parport/printer.cpp:323-324, src/dosbox.cpp:4597"
|
||||
source_ref: "src/hardware/parport/printer.cpp:323-324, src/dosbox.cpp:4621"
|
||||
|
||||
- name: "courier.ttf"
|
||||
path: "FONTS/courier.ttf"
|
||||
description: "Printer Courier typeface"
|
||||
required: false
|
||||
source_ref: "src/hardware/parport/printer.cpp:326-327, src/dosbox.cpp:4597"
|
||||
source_ref: "src/hardware/parport/printer.cpp:326-327, src/dosbox.cpp:4621"
|
||||
|
||||
- name: "script.ttf"
|
||||
path: "FONTS/script.ttf"
|
||||
description: "Printer Script typeface"
|
||||
required: false
|
||||
source_ref: "src/hardware/parport/printer.cpp:329-330, src/dosbox.cpp:4597"
|
||||
source_ref: "src/hardware/parport/printer.cpp:329-330, src/dosbox.cpp:4621"
|
||||
|
||||
- name: "ocra.ttf"
|
||||
path: "FONTS/ocra.ttf"
|
||||
description: "Printer OCR-A typeface"
|
||||
required: false
|
||||
note: "serves both the OCR-A and OCR-B selections"
|
||||
source_ref: "src/hardware/parport/printer.cpp:332-334, src/dosbox.cpp:4597"
|
||||
source_ref: "src/hardware/parport/printer.cpp:332-334, src/dosbox.cpp:4621"
|
||||
|
||||
# -- PC-98 sound board BIOS --
|
||||
|
||||
@@ -373,7 +373,7 @@ files:
|
||||
note: >
|
||||
16 KB read into CC000h from the working directory only, when
|
||||
pc-98 sound bios and pc-98 load sound bios rom file are both set
|
||||
source_ref: "src/hardware/pc98_fm.cpp:367-385, src/dosbox.cpp:2378-2386"
|
||||
source_ref: "src/hardware/pc98_fm.cpp:367-385, src/dosbox.cpp:2384-2392"
|
||||
|
||||
# -- Video BIOS ROM images --
|
||||
# Loaded in place of the built-in INT 10h when vga bios use rom image is set.
|
||||
@@ -387,7 +387,7 @@ files:
|
||||
max_size: 65536
|
||||
validation: [size]
|
||||
note: "default file name for machine = svga_et4000"
|
||||
source_ref: "src/dosbox.cpp:938-982, src/dosbox.cpp:2745-2757"
|
||||
source_ref: "src/dosbox.cpp:942-986, src/dosbox.cpp:2751-2763"
|
||||
|
||||
- name: "TRIO64 (Ver. 1.5-07) [VGA] (S3 Incorporated).bin"
|
||||
description: "S3 Trio64 video BIOS"
|
||||
@@ -398,7 +398,7 @@ files:
|
||||
max_size: 65536
|
||||
validation: [size]
|
||||
note: "default file name for machine = svga_s3"
|
||||
source_ref: "src/dosbox.cpp:943-945, src/dosbox.cpp:2745-2757"
|
||||
source_ref: "src/dosbox.cpp:947-949, src/dosbox.cpp:2751-2763"
|
||||
|
||||
- name: "ibm-vga.bin"
|
||||
description: "IBM VGA option ROM of 10/27/86, laid out as mapped at C000:0"
|
||||
@@ -411,7 +411,7 @@ files:
|
||||
read by LOADROM.COM from a mounted local drive; accepted when the file
|
||||
starts with 55 AA, byte 3 masked with 0xFC equals 0xE8 and the string IBM
|
||||
appears at offset 0x1E, and the machine is EGA or better
|
||||
source_ref: "src/dos/dos_programs.cpp:3523-3549, src/dos/dos_programs.cpp:3560-3565"
|
||||
source_ref: "src/dos/dos_programs.cpp:3529-3555, src/dos/dos_programs.cpp:3566-3571"
|
||||
|
||||
# -- IBM ROM BASIC --
|
||||
|
||||
@@ -428,7 +428,7 @@ files:
|
||||
32 KB to 64 KB in 4 KB steps; LOADROM.COM maps the same image at F600:0
|
||||
when it is exactly 32768 bytes, starts with E9 8F 7E and carries the
|
||||
string IBM at offset 0x4CD4
|
||||
source_ref: "src/ints/bios.cpp:13074-13094, src/dos/dos_programs.cpp:3550-3554, src/dosbox.cpp:1931-1933"
|
||||
source_ref: "src/ints/bios.cpp:13212-13232, src/dos/dos_programs.cpp:3556-3560, src/dosbox.cpp:1937-1939"
|
||||
|
||||
# -- PCjr --
|
||||
|
||||
@@ -443,7 +443,7 @@ files:
|
||||
read during PCjr cartridge boot; bytes 0x3000 to 0xDFFF are copied to
|
||||
physical F3000. A short read leaves the region untouched and the cartridge
|
||||
still boots
|
||||
source_ref: "src/dos/dos_programs.cpp:3061-3070"
|
||||
source_ref: "src/dos/dos_programs.cpp:3067-3076"
|
||||
|
||||
# -- Whole system BIOS images --
|
||||
|
||||
@@ -454,7 +454,7 @@ files:
|
||||
loaded at the top of the first megabyte, rounded up to a paragraph and
|
||||
truncated to 128 KB, or to 96 KB on PC-98; a larger image is clamped
|
||||
rather than rejected
|
||||
source_ref: "src/dos/dos_programs.cpp:2244-2293"
|
||||
source_ref: "src/dos/dos_programs.cpp:2250-2299"
|
||||
|
||||
- name: "ITF.ROM"
|
||||
description: "PC-98 Initial Firmware Test BIOS"
|
||||
@@ -465,4 +465,4 @@ files:
|
||||
served through the port 43Dh bank switch alongside a BOOT -bios image;
|
||||
<image>.itf.rom is tried before the bare name so one directory can hold
|
||||
several
|
||||
source_ref: "src/dos/dos_programs.cpp:2295-2326"
|
||||
source_ref: "src/dos/dos_programs.cpp:2301-2332"
|
||||
@@ -12,11 +12,11 @@ systems: [dos]
|
||||
notes: |
|
||||
No BIOS required. MT-32 and SoundFont support is optional for MIDI music.
|
||||
MT-32 ROMs loaded by exact filename from system directory.
|
||||
mt32.romdir = system_dir (libretro.cpp:652). CM-32L is default type.
|
||||
mt32.romdir = system_dir (libretro/src/libretro.cpp:653). CM-32L is default type.
|
||||
ref: src/gui/midi_mt32.cpp:35,51-66
|
||||
MUNT identifies ROMs by SHA1+size (ROMInfo.cpp:171-180).
|
||||
MUNT identifies ROMs by SHA1+size (libretro/deps/munt/mt32emu/src/ROMInfo.cpp:171-180).
|
||||
FluidSynth reads .sf2/.sf3/.dls/.gig from system/soundfonts/.
|
||||
ref: libretro/src/libretro.cpp:1086-1097
|
||||
ref: libretro/src/libretro.cpp:1099-1110
|
||||
BASSMIDI reads .sf2/.sfz from system/soundfonts/, requires BASS +
|
||||
BASSMIDI shared libs in system dir (dlopen'd at runtime).
|
||||
ref: libretro/src/midi_bassmidi.cpp:232-254
|
||||
|
||||
@@ -14,13 +14,13 @@ notes: |
|
||||
(WITH_FAKE_SDL=1) instead of real SDL, for broader platform compat.
|
||||
ref: libretro/Makefile.libretro, libretro/fakesdl/
|
||||
|
||||
No MT-32 emulation. src/midi/munt referenced in Makefile.common:15
|
||||
No MT-32 emulation. src/midi/munt referenced in libretro/Makefile.common:15
|
||||
does not exist, no MUNT submodule. MIDI is hardware-only
|
||||
(ALSA, CoreAudio, CoreMIDI, Win32, OSS) + retro_midi_interface.
|
||||
ref: src/gui/midi.cpp
|
||||
|
||||
system_directory set and logged (libretro.cpp:1399-1401), never used
|
||||
to load files. Config uses retro_save_directory (cross.cpp:61-71).
|
||||
system_directory set and logged (libretro/libretro.cpp:1411-1413), never used
|
||||
to load files. Config uses retro_save_directory (src/misc/cross.cpp:61-71).
|
||||
Keyboard layouts and codepages embedded in binary.
|
||||
ref: dos_keyboard_layout_data.h, dos_codepages.h
|
||||
|
||||
|
||||
@@ -12,15 +12,15 @@ systems: [dos]
|
||||
notes: |
|
||||
Same codebase as dosbox_svn, builds against real SDL 1.2 + SDL_net
|
||||
instead of the fake SDL shim (WITH_FAKE_SDL not set).
|
||||
ref: libretro/Makefile.libretro:238
|
||||
ref: libretro/Makefile.libretro:244
|
||||
|
||||
No MT-32 emulation. src/midi/munt referenced in Makefile.common:15
|
||||
No MT-32 emulation. src/midi/munt referenced in libretro/Makefile.common:15
|
||||
does not exist, no MUNT submodule. MIDI is hardware-only
|
||||
(ALSA, CoreAudio, CoreMIDI, Win32, OSS) + retro_midi_interface.
|
||||
ref: src/gui/midi.cpp
|
||||
|
||||
system_directory set and logged (libretro.cpp:1399-1401), never used
|
||||
to load files. Config uses retro_save_directory (cross.cpp:61-73).
|
||||
system_directory set and logged (libretro/libretro.cpp:1411-1413), never used
|
||||
to load files. Config uses retro_save_directory (src/misc/cross.cpp:61-73).
|
||||
Keyboard layouts and codepages embedded in binary.
|
||||
ref: dos_keyboard_layout_data.h, dos_codepages.h
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ notes: |
|
||||
|
||||
Accepts PS1 (512 KB), PS2 (4 MB), and PS3 (0x3E66F0) BIOS images.
|
||||
ref: src/core/bios.h:24-26 (BIOS_SIZE, BIOS_SIZE_PS2, BIOS_SIZE_PS3)
|
||||
Only the first 512 KB are mapped (bios.cpp:212).
|
||||
Only the first 512 KB are mapped (src/core/bios.cpp:212).
|
||||
|
||||
105 known BIOS entries: 24 PS1 + 80 PS2 (identified by MD5) + 1 OpenBIOS (by signature).
|
||||
ref: src/core/bios.cpp:34-139 (s_image_info_by_hash)
|
||||
@@ -30,7 +30,7 @@ notes: |
|
||||
only by the two settings screens, which fall back to the real filename when it
|
||||
is null.
|
||||
ref: src/core/bios.h:41-43 (field declarations)
|
||||
ref: src/duckstation-qt/biossettingswidget.cpp:150, src/core/fullscreenui_settings.cpp:3219
|
||||
ref: src/duckstation-qt/biossettingswidget.cpp:150, src/core/fullscreenui_settings.cpp:3239
|
||||
Lower priority = preferred. PS2 deprioritized (>= 100) for dynamic fast boot.
|
||||
Late PAL deprioritized (>= 150) due to additional regional checks.
|
||||
OpenBIOS detected by signature at offset 0x78, not by hash.
|
||||
|
||||
@@ -24,11 +24,11 @@ notes: |
|
||||
"embedded" when that fails. The system directory is still passed to SelectGame,
|
||||
but for the game data search, not for the engine package.
|
||||
ref: src/libretro/ecwolf_pk3_data.c, src/wl_iwad.cpp:664-672,
|
||||
src/libretro/libretro.cpp:990-992
|
||||
src/libretro/libretro.cpp:1009-1011
|
||||
|
||||
Standalone: ecwolf.pk3 searched in progdir (binary directory).
|
||||
ref: wl_main.cpp:1295 (progdir passed to SelectGame)
|
||||
Also: INSTALL_PREFIX/share/ecwolf/ on Linux (wl_iwad.cpp:648)
|
||||
ref: src/libretro/wl_main.cpp:1271 (progdir passed to SelectGame)
|
||||
Also: INSTALL_PREFIX/share/ecwolf/ on Linux (src/wl_iwad.cpp:648)
|
||||
|
||||
Game data files (vswap, gamemaps, vgagraph, audiot) loaded from content
|
||||
directory, not system directory. Auto-detects game variant by scanning
|
||||
|
||||
@@ -3,6 +3,9 @@ type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://git.eden-emu.dev/eden-emu/eden"
|
||||
upstream: "https://git.eden-emu.dev/eden-emu/eden"
|
||||
# git.eden-emu.dev answers 403 to anything that is not a browser, so the
|
||||
# Codeberg copy is what keeps this profile checkable.
|
||||
source_mirror: "https://codeberg.org/eden-emu/eden"
|
||||
profiled_date: "2026-03-26"
|
||||
source_commit: "c0ffc900cdf19b9373549c59a7e6b22c33615ea4"
|
||||
core_version: "0.1.1"
|
||||
|
||||
@@ -3,7 +3,7 @@ type: standalone
|
||||
source: "https://github.com/EKA2L1/EKA2L1"
|
||||
upstream: "https://github.com/EKA2L1/EKA2L1"
|
||||
profiled_date: "2026-03-26"
|
||||
source_commit: "46ef1ebdcfbd7454c080d0f1efb5fb54cfa7f622"
|
||||
source_commit: "f8a9a0a380d62f82a463bcc299f2b9250b819674"
|
||||
core_version: "continuous"
|
||||
display_name: "EKA2L1 (Symbian OS / N-Gage)"
|
||||
cores:
|
||||
@@ -51,4 +51,4 @@ files:
|
||||
required: true
|
||||
mode: standalone
|
||||
description: "Symbian OS phone ROM dump. One per device, placed in roms/{firmware_code}/ subdirectory."
|
||||
source_ref: "src/emu/system/src/epoc.cpp:1225,754-759, src/emu/system/include/system/consts.h:23-25"
|
||||
source_ref: "src/emu/system/src/epoc.cpp:1288, src/emu/system/src/epoc.cpp:794-799, src/emu/system/include/system/consts.h:23-25"
|
||||
+63
-14
@@ -4,8 +4,8 @@ core_classification: community_fork
|
||||
source: "https://github.com/sashkinbro/EmuCoreX"
|
||||
upstream: "https://github.com/PCSX2/pcsx2"
|
||||
author: "Oleksandr (sashkinbro)"
|
||||
profiled_date: "2026-08-11"
|
||||
source_commit: "7d103230adfa671a3e66b090b8a7fe8f44edc09c"
|
||||
profiled_date: "2026-09-04"
|
||||
source_commit: "f32393ae0dc1df81834e58873145cff5b8bc8175"
|
||||
upstream_commit: "53e3838c1dd59f611fa3d2fd36915903a1304c6e"
|
||||
core_version: "0.3.3"
|
||||
display_name: "Sony - PlayStation 2 (EmuCoreX)"
|
||||
@@ -55,22 +55,34 @@ notes: |
|
||||
A BIOS image is required and boot stops without one: LoadBIOS returning false
|
||||
makes VMManager report that a PlayStation 2 BIOS is needed. Only a GS dump
|
||||
replay skips the load. Detection is by content: the folder scan keeps files
|
||||
between 4 and 8 MB and accepts an image whose romdir carries a RESET entry
|
||||
between 2 and 8 MB and accepts an image whose romdir carries a RESET entry
|
||||
followed by a readable ROMVER, the fifth ROMVER character giving the zone among
|
||||
Japan, USA, Europe, Asia, China, T10K, COH-H, Test and Free, with EXTINFO
|
||||
supplying the serial. An image named in the configuration is opened at its own
|
||||
path without the size filter. No name and no hash is matched.
|
||||
|
||||
MIN_BIOS_SIZE was halved to 2 MB to admit the Namco System 246/256 chip dumps,
|
||||
which are 2 MB where a console image is 4. Three other changes came with it:
|
||||
a COH-H board is region 11 rather than 8, its description is built from the
|
||||
EXTINFO serial because Sony left the version and date fields identical across
|
||||
those BIOSes, and the ROM window is zero-filled before the read so the unused
|
||||
upper half cannot retain the previous image.
|
||||
ref: app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17,
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:80-197,
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:258-294,
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:317-369,
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:80-217,
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151 (COH-H region),
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190 (serial description),
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:278-314,
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:337-391,
|
||||
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367 (ROM window cleared),
|
||||
app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1487-1499
|
||||
|
||||
The app runs its own gate over the same test before launching. A candidate is
|
||||
a .bin or .rom between 512 KB and 8 MB whose name carries scph, ps2, bios or
|
||||
rom, and it is confirmed by isBiosPath or isBiosFd, both of which call the
|
||||
core's IsBIOS on the path or on /proc/self/fd.
|
||||
ref: app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-19,
|
||||
a .bin, .rom, .7d or .8g between 512 KB and 8 MB whose name carries scph, ps2,
|
||||
bios, rom or r27v1602f, and it is confirmed by isBiosPath or isBiosFd, both of
|
||||
which call the core's IsBIOS on the path or on /proc/self/fd. The two extra
|
||||
extensions are the board positions the Namco dumps carry instead of a
|
||||
conventional one.
|
||||
ref: app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21,
|
||||
app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:110-137,
|
||||
app/src/main/cpp/ARM_ANDROID/src/jni/native_app_jni.cpp:414-436
|
||||
|
||||
@@ -119,16 +131,53 @@ files:
|
||||
system: sony-playstation-2
|
||||
agnostic: true
|
||||
required: true
|
||||
min_size: 4194304
|
||||
min_size: 2097152
|
||||
max_size: 8388608
|
||||
validation: [size]
|
||||
description: "PS2 BIOS image"
|
||||
note: >-
|
||||
Any image whose romdir holds RESET and ROMVER is accepted, whatever its
|
||||
name. The 4 to 8 MB range gates the folder scan; an image named in the
|
||||
configuration skips that range. Read into the 4 MB ROM region and truncated
|
||||
to it. Shorter than 2465792 bytes disables the OSDSys parameter HLE.
|
||||
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:80-197, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:258-294, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:317-369"
|
||||
configuration skips that range. Read into the 4 MB ROM region, which is
|
||||
zero-filled first, and truncated to it. Shorter than 2465792 bytes disables
|
||||
the OSDSys parameter HLE.
|
||||
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:80-217, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:278-314, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:337-391"
|
||||
|
||||
- name: r27v1602f.7d
|
||||
path: bios/r27v1602f.7d
|
||||
system: sony-playstation-2
|
||||
agnostic: true
|
||||
required: false
|
||||
size: 2097152
|
||||
md5: 52cca0058626569c7a9699838baab2d8
|
||||
sha1: f0a74bbcaf801f3fd0b7002ebd0118564aae3528
|
||||
crc32: 2b2e41a2
|
||||
description: "Namco System 246 COH-H BIOS chip dump"
|
||||
note: >-
|
||||
Admitted since MIN_BIOS_SIZE fell to 2 MB. The board position is the
|
||||
extension, so the picker takes .7d alongside .bin and .rom, and the name
|
||||
hint r27v1602f carries it past the name test. Read into the 4 MB ROM
|
||||
window, whose upper half is cleared first. ROMVER marks it T with a fifth
|
||||
character Z, which is what makes it COH-H and region 11; its description
|
||||
comes from the EXTINFO serial. Byte-identical to the r27v1602f.7d member
|
||||
of the MAME sys246 set.
|
||||
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21"
|
||||
|
||||
- name: r27v1602f.8g
|
||||
path: bios/r27v1602f.8g
|
||||
system: sony-playstation-2
|
||||
agnostic: true
|
||||
required: false
|
||||
size: 2097152
|
||||
md5: a58676c6bd79229bda967d07b4ec2e16
|
||||
sha1: bc4fb4e1e53adbd92385f1726bd69663ff870f1e
|
||||
crc32: b2a8eeb6
|
||||
description: "Namco System 256 COH-H BIOS chip dump"
|
||||
note: >-
|
||||
The System 256 counterpart, taken by the same path and the same widened
|
||||
size gate. Byte-identical to the r27v1602f.8g member of the MAME sys256
|
||||
set.
|
||||
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21"
|
||||
|
||||
- name: ps2-0230a-20080220.rom1
|
||||
path: bios/ps2-0230a-20080220.rom1
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/emux"
|
||||
upstream: "https://github.com/sronsse/emux"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "120362977493765032cba7bed9c7aee1ff5b8579"
|
||||
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
|
||||
core_version: "0.1"
|
||||
display_name: "CHIP-8 (Emux CHIP-8)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/emux"
|
||||
upstream: "https://github.com/sronsse/emux"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "02f7ba42bedad6882ce47f24c8fc3af7eaac79ae"
|
||||
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
|
||||
core_version: "0.1"
|
||||
display_name: "Nintendo - Game Boy / Color (Emux GB)"
|
||||
cores:
|
||||
@@ -14,13 +14,13 @@ systems:
|
||||
|
||||
notes: |
|
||||
emux is a multi-system emulator by Sebastien Ronsse. The libretro port
|
||||
renamed the boot ROM from DMG_ROM.bin (upstream, gb_mapper.c:32) to
|
||||
dmg_boot.bin (libretro, gb_mapper.c:35) to match RetroArch conventions.
|
||||
renamed the boot ROM from DMG_ROM.bin (upstream, controllers/mapper/gb_mapper.c:32) to
|
||||
dmg_boot.bin (libretro, controllers/mapper/gb_mapper.c:35) to match RetroArch conventions.
|
||||
|
||||
Boot ROM loaded via file_map(PATH_SYSTEM, "dmg_boot.bin", 0, 256) in
|
||||
gb_mapper_init (gb_mapper.c:225-228). Returns false on failure — no HLE
|
||||
gb_mapper_init (controllers/mapper/gb_mapper.c:225-228). Returns false on failure — no HLE
|
||||
fallback. Mapped at 0x0000-0x00FF, overlays ROM0 until BOOT_LOCK (0xFF50)
|
||||
is written non-zero (lock_writeb, gb_mapper.c:97-106).
|
||||
is written non-zero (lock_writeb, controllers/mapper/gb_mapper.c:97-106).
|
||||
|
||||
No hash validation. Code accepts any 256+ byte file.
|
||||
is_experimental=true. No save states, rewind, or netplay.
|
||||
@@ -33,4 +33,4 @@ files:
|
||||
required: true
|
||||
size: 256
|
||||
source_ref: "controllers/mapper/gb_mapper.c:35 (bootrom_path), controllers/mapper/gb_mapper.h:13 (BOOTROM_SIZE=256), controllers/mapper/gb_mapper.c:225-232 (file_map + error)"
|
||||
note: "Upstream name DMG_ROM.bin, renamed by libretro port (gb_mapper.c:33-34)."
|
||||
note: "Upstream name DMG_ROM.bin, renamed by libretro port (controllers/mapper/gb_mapper.c:33-34)."
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/emux"
|
||||
upstream: "https://github.com/sronsse/emux"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "120362977493765032cba7bed9c7aee1ff5b8579"
|
||||
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
|
||||
core_version: "0.1"
|
||||
display_name: "Nintendo - NES / Famicom (Emux NES)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/emux"
|
||||
upstream: "https://github.com/sronsse/emux"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "02f7ba42bedad6882ce47f24c8fc3af7eaac79ae"
|
||||
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
|
||||
core_version: "0.1"
|
||||
display_name: "Sega - Master System (Emux SMS)"
|
||||
cores:
|
||||
@@ -18,9 +18,9 @@ notes: |
|
||||
adds g_ram_data/g_ram_size exposure in mach/sms.c for RETRO_MEMORY_SYSTEM_RAM).
|
||||
|
||||
BIOS loaded via file_map(PATH_SYSTEM, "bios.sms", 0, BIOS_SIZE) in
|
||||
sms_mapper_init (sms_mapper.c:162-165). Returns false on failure — no HLE
|
||||
sms_mapper_init (controllers/mapper/sms_mapper.c:162-165). Returns false on failure — no HLE
|
||||
fallback. Mapped at 0x0000, overlays cartridge ROM until bios_disable bit
|
||||
set in slot control register (sms_mapper.c:79-82).
|
||||
set in slot control register (controllers/mapper/sms_mapper.c:79-82).
|
||||
|
||||
No hash validation. Code accepts any file >= 8192 bytes.
|
||||
is_experimental=true. No save states, rewind, or netplay.
|
||||
@@ -33,4 +33,4 @@ files:
|
||||
size: 8192
|
||||
validation: [size]
|
||||
source_ref: "controllers/mapper/sms_mapper.c:12 (BIOS_SIZE=0x2000), :61 (bios_path), :162-170 (file_map + NULL check → return false)"
|
||||
note: "Mapped at 0x0000, overlays cartridge ROM until bios_disable bit set. file_map rejects files < 8192 bytes (file.c:59)."
|
||||
note: "Mapped at 0x0000, overlays cartridge ROM until bios_disable bit set. file_map rejects files < 8192 bytes (main/file.c:59)."
|
||||
@@ -232,7 +232,7 @@ files:
|
||||
system: videoton-tvc
|
||||
has_builtin: true
|
||||
note: "TVC extension ROM v2.2. Loaded alongside tvc22_sys.rom."
|
||||
source_ref: "core/core.cpp:366-367"
|
||||
source_ref: "core/core.cpp:330"
|
||||
|
||||
- name: tvcfileio.rom
|
||||
path: ep128emu/roms/tvcfileio.rom
|
||||
@@ -243,7 +243,7 @@ files:
|
||||
has_builtin: true
|
||||
bundled: true
|
||||
note: "TVC direct file I/O extension. Used for TVC64_FILE mode. Source included in roms/ directory."
|
||||
source_ref: "core/core.cpp:370-371"
|
||||
source_ref: "core/core.cpp:334"
|
||||
|
||||
- name: tvc_dos12d.rom
|
||||
path: ep128emu/roms/tvc_dos12d.rom
|
||||
@@ -253,7 +253,7 @@ files:
|
||||
system: videoton-tvc
|
||||
has_builtin: true
|
||||
note: "TVC DOS 1.2d. Loaded for TVC64_DISK mode."
|
||||
source_ref: "core/core.cpp:375-376"
|
||||
source_ref: "core/core.cpp:339"
|
||||
|
||||
# ============================================================
|
||||
# Amstrad CPC
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: game_engine
|
||||
source: "https://github.com/jtothebell/fake-08"
|
||||
upstream: "https://github.com/jtothebell/fake-08"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "3e89519ca4b4eaf65be9e8cb982ea2c1ccd34e5d"
|
||||
source_commit: "814991a2571ad3970e386cef48f3b148aa1c27b9"
|
||||
core_version: "v0.0.2.19"
|
||||
display_name: "PICO-8 (FAKE-08)"
|
||||
cores:
|
||||
@@ -18,17 +18,17 @@ notes: |
|
||||
available (3DS, Vita, Switch, Wii U, various handhelds).
|
||||
|
||||
The core retrieves RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY in
|
||||
retro_set_environment() (libretro.cpp:162-163) but never uses the value.
|
||||
retro_set_environment() (platform/libretro/libretro.cpp:162-163) but never uses the value.
|
||||
No file is loaded from the system directory. The PICO-8 boot sequence,
|
||||
global Lua functions, and default cart menu are compiled directly into the
|
||||
binary as string constants (p8GlobalLuaFunctions.h, DefaultCart.h).
|
||||
|
||||
When no ROM is passed (supports_no_game = true), the core queues its
|
||||
built-in BIOS cart "__FAKE08-BIOS.p8" (libretro.cpp:751). This is not
|
||||
built-in BIOS cart "__FAKE08-BIOS.p8" (platform/libretro/libretro.cpp:751). This is not
|
||||
an external file -- it is generated internally by the VM.
|
||||
|
||||
The core accepts .p8 (text) and .png (cartridge-as-image) formats
|
||||
(libretro.cpp:258). Content is loaded either via the libretro data buffer
|
||||
(platform/libretro/libretro.cpp:258). Content is loaded either via the libretro data buffer
|
||||
or full path depending on the _NEED_FULL_PATH_ compile flag.
|
||||
|
||||
exclusion_note: "all engine resources compiled into binary via include_bytes!"
|
||||
@@ -49,4 +49,4 @@ platform_details:
|
||||
The FAKE-08 VM reimplements the PICO-8 API (128x128 screen, 16 colors,
|
||||
4-channel audio, Lua scripting) entirely in C++. The built-in BIOS
|
||||
provides a cart browser and error display. Audio runs at 22050 Hz
|
||||
with save state support via custom serialization (libretro.cpp:517-736).
|
||||
with save state support via custom serialization (platform/libretro/libretro.cpp:517-736).
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/fbalpha2012_neogeo"
|
||||
upstream: "https://www.fbalpha.com"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "ce4949b1557cc7134e736342801ed25b2f3bd790"
|
||||
source_commit: "e092097037d494c50d17c5144a2758d68538061b"
|
||||
core_version: "v0.2.97.29"
|
||||
display_name: "Arcade (FB Alpha 2012 Neo Geo)"
|
||||
cores:
|
||||
@@ -17,7 +17,7 @@ notes: |
|
||||
Exists for RAM-constrained platforms. Most users should use FBNeo.
|
||||
|
||||
Neo Geo requires a BIOS ROM set (neogeo.zip) placed alongside game ROMs.
|
||||
The BIOS set contains ~35 variants (d_neogeo.cpp:903-981), all BRF_BIOS:
|
||||
The BIOS set contains ~35 variants (src/burn/drv/neogeo/d_neogeo.cpp:903-981), all BRF_BIOS:
|
||||
|
||||
68K main BIOS (BRF_SELECT, one active at a time):
|
||||
asia-s3.rom 0x91b64be3 MVS Asia/Europe ver. 6 (default)
|
||||
@@ -50,7 +50,7 @@ notes: |
|
||||
neocd.bin 0xdf9de490 Neo Geo CD BIOS
|
||||
|
||||
neogeo.zip is a parent ROM set, loaded from g_rom_dir alongside game ZIPs.
|
||||
g_system_dir is set (libretro.cpp:3016) but never used for file loading.
|
||||
g_system_dir is set (src/burner/libretro/libretro.cpp:3016) but never used for file loading.
|
||||
|
||||
The .info note "BIOS files must be inside the ROM directory" is accurate here:
|
||||
neogeo.zip must be in the same directory as game ROM ZIPs.
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/FBNeo"
|
||||
upstream: "https://github.com/finalburnneo/FBNeo"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "ef1f64b7023bc511858e96b8961f99c18a09f112"
|
||||
source_commit: "a251c76229f1637e433b93e29845039752771b6d"
|
||||
core_version: "v1.0.0.2"
|
||||
display_name: "Arcade (FinalBurn Neo) (CPS-1 / CPS-2)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/libretro-fceumm"
|
||||
upstream: "https://sourceforge.net/projects/fceumm/"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "b5e3566515c27dc66c9c20572171673126532e06"
|
||||
source_commit: "236ccdfc911e84c60fea6b9d0699c2d440a8de14"
|
||||
core_version: "SVN"
|
||||
display_name: "Nintendo - NES / Famicom (FCEUmm)"
|
||||
cores:
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/fixGB"
|
||||
upstream: "https://github.com/FIX94/fixGB"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "ecbaee13b64a0308539e73d0eec1847925898e5d"
|
||||
source_commit: "3ab80f3ebf600664c81fa2b0f163ba3f558cf52e"
|
||||
core_version: "Alpha v0.8.2"
|
||||
display_name: "Nintendo - Game Boy / Color (fixGB)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/fixNES"
|
||||
upstream: "https://github.com/FIX94/fixNES"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "d5d8cba579e139fec823f64636a972d1acdf782c"
|
||||
source_commit: "a692bda786a5c6f3cdc10d5a263830990d25c627"
|
||||
core_version: "Alpha v1.3.1"
|
||||
display_name: "Nintendo - NES / Famicom (fixNES)"
|
||||
cores:
|
||||
|
||||
@@ -16,7 +16,7 @@ notes: |
|
||||
contributed by Joe Zbiciak (jzIntv), mask ROM embedded in source
|
||||
(src/ivoice.c:337-510, 4097-byte static array). No external ivoice ROM.
|
||||
|
||||
BIOS loading in retro_init() (src/libretro.c:1166-1174). Paths joined
|
||||
BIOS loading in retro_init() (src/libretro.c:1175-1183). Paths joined
|
||||
directly to system directory, no subdirectory.
|
||||
|
||||
loadExec() reads exec.bin as big-endian 16-bit words into 0x1000-0x1FFF.
|
||||
@@ -35,11 +35,11 @@ files:
|
||||
required: true
|
||||
size: 8192
|
||||
note: "Executive ROM. Big-endian 16-bit words loaded at 0x1000-0x1FFF."
|
||||
source_ref: "src/intv.c:47-71, src/libretro.c:1169"
|
||||
source_ref: "src/intv.c:51-96, src/libretro.c:1178"
|
||||
|
||||
- name: "grom.bin"
|
||||
system: intellivision
|
||||
required: true
|
||||
size: 2048
|
||||
note: "Graphics ROM. Raw bytes loaded at 0x3000-0x37FF."
|
||||
source_ref: "src/intv.c:73-98, src/libretro.c:1173"
|
||||
source_ref: "src/intv.c:98-144, src/libretro.c:1182"
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/hex007/freej2me"
|
||||
upstream: "https://github.com/hex007/freej2me"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "b1c4cf13e012938f9d5270621fddea60e5554858"
|
||||
source_commit: "fae9304b85ac1c61d0117f6c8efe528612388278"
|
||||
core_version: "GIT"
|
||||
display_name: "Mobile - J2ME (FreeJ2ME)"
|
||||
cores:
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ cores: [frodo]
|
||||
source: "https://github.com/libretro/frodo-libretro"
|
||||
upstream: "https://github.com/cebix/frodo4"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "29dd1864b89d903ed93f1d86d85636ef9e194359"
|
||||
source_commit: "9fb971b072215632f94ba86406c429dd8965dd93"
|
||||
core_version: "v4.2"
|
||||
display_name: "Commodore - C64 (Frodo)"
|
||||
systems: [commodore-c64]
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/galaxy-libretro"
|
||||
upstream: "https://github.com/nikp123/Galaksija-Emulator"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "4e197680d2dc9f8159d3a5565fcc4bbdd0e905ea"
|
||||
source_commit: "185758296c17f59cba832511139381a197986474"
|
||||
core_version: "v0.1"
|
||||
display_name: "Elektronika Inženjering - Galaksija (Galaksija)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: pure_libretro
|
||||
source: "https://github.com/ThisBoringWorld/gam4980"
|
||||
upstream: "https://codeberg.org/iyzsong/gam4980"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "2fbed643f61c6bde758f179c93d6f0595ef0a7e6"
|
||||
source_commit: "eeaa531b55e7127ab4b5e0bdc5ceba686df59c6a"
|
||||
core_version: "0.2"
|
||||
display_name: "GAM4980"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/gambatte-libretro"
|
||||
upstream: "https://github.com/sinamas/gambatte"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "96174369b3c30d9fc57c926fa3379c273dc6a9a5"
|
||||
source_commit: "d9d6cd06382d1ced30de34d56d3609452323dab1"
|
||||
core_version: "v0.5.0"
|
||||
display_name: "Nintendo - Game Boy / Color (Gambatte)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/drhelius/Gearboy"
|
||||
upstream: "https://github.com/drhelius/Gearboy"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "5cb627121bc01e9704545d436f8393453bbc479f"
|
||||
source_commit: "88226e000896890d5b847f51e7fb9754317ae5f0"
|
||||
core_version: "3.4.1"
|
||||
display_name: "Nintendo - Game Boy / Color (Gearboy)"
|
||||
cores:
|
||||
@@ -27,7 +27,7 @@ files:
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
source_ref: "platforms/libretro/libretro.cpp:828, platforms/libretro/libretro.cpp:359, platforms/libretro/libretro.cpp:359"
|
||||
source_ref: "platforms/libretro/libretro.cpp:833, platforms/libretro/libretro.cpp:365, platforms/libretro/libretro.cpp:365"
|
||||
|
||||
- name: cgb_boot.bin
|
||||
description: Game Boy Color bootrom
|
||||
@@ -35,4 +35,4 @@ files:
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
source_ref: "platforms/libretro/libretro.cpp:829, platforms/libretro/libretro.cpp:360, platforms/libretro/libretro.cpp:360"
|
||||
source_ref: "platforms/libretro/libretro.cpp:834, platforms/libretro/libretro.cpp:366, platforms/libretro/libretro.cpp:366"
|
||||
@@ -18,13 +18,13 @@ notes: |
|
||||
Without it, the core renders a static placeholder image (kNoBiosImage from
|
||||
no_bios.h) and games do not execute.
|
||||
|
||||
The libretro wrapper (libretro.cpp:293-306) tries "colecovision.rom" first,
|
||||
The libretro wrapper (platforms/libretro/libretro.cpp:295-308) tries "colecovision.rom" first,
|
||||
then falls back to "coleco.rom". Both resolve to the same LoadBios() call
|
||||
in Memory.cpp:228-259 which validates size == 0x2000 (8192 bytes) only.
|
||||
in src/Memory.cpp:256-287 which validates size == 0x2000 (8192 bytes) only.
|
||||
No hash check is performed.
|
||||
|
||||
On reset, BIOS byte at offset 0x69 is patched for region selection:
|
||||
0x3C for NTSC, 0x32 for PAL (Memory.cpp:178-181).
|
||||
0x3C for NTSC, 0x32 for PAL (src/Memory.cpp:206-209).
|
||||
|
||||
SGM (Super Game Module) expanded RAM requires no additional BIOS files.
|
||||
|
||||
@@ -35,4 +35,4 @@ files:
|
||||
required: true
|
||||
size: 8192
|
||||
validation: [size]
|
||||
source_ref: "platforms/libretro/libretro.cpp:446-468, src/Memory.cpp:202-255"
|
||||
source_ref: "platforms/libretro/libretro.cpp:448-470, src/Memory.cpp:230-283"
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/drhelius/Geargrafx"
|
||||
upstream: "https://github.com/drhelius/Geargrafx"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "b6a81478b54e27af7076b57fd6a8974a1c3f7137"
|
||||
source_commit: "0a68ce8f6d3d787e84d7bc9efa30e982fa3d4c77"
|
||||
core_version: "1.6.0"
|
||||
display_name: "NEC - PC Engine / SuperGrafx / CD (Geargrafx)"
|
||||
cores:
|
||||
@@ -41,7 +41,7 @@ files:
|
||||
size: 262144
|
||||
required: true
|
||||
validation: [size, crc32]
|
||||
source_ref: "platforms/libretro/libretro.cpp:581, platforms/libretro/libretro.cpp:599-601, src/media.cpp:339-436, src/defines.h:52, src/game_db.h:50, src/game_db.h:52"
|
||||
source_ref: "platforms/libretro/libretro.cpp:632, platforms/libretro/libretro.cpp:647-649, src/media.cpp:435-532, src/defines.h:52, src/game_db.h:50, src/game_db.h:54"
|
||||
note: >
|
||||
Default BIOS for CD-ROM games (cdrom_bios Auto or System Card 3).
|
||||
game_db.h recognizes Japan (CRC32 6D9A73EF) and USA (CRC32 2B5B75FE)
|
||||
@@ -52,7 +52,7 @@ files:
|
||||
size: 262144
|
||||
required: false
|
||||
validation: [size, crc32]
|
||||
source_ref: "platforms/libretro/libretro.cpp:580, platforms/libretro/libretro.cpp:590-591, src/media.cpp:339-436, src/game_db.h:48-49, src/game_db.h:51"
|
||||
source_ref: "platforms/libretro/libretro.cpp:631, platforms/libretro/libretro.cpp:641-642, src/media.cpp:435-532, src/game_db.h:48-49, src/game_db.h:53"
|
||||
note: >
|
||||
cdrom_bios = 'System Card 2'. For older CD-ROM2 titles. game_db.h
|
||||
recognizes three variants: v2.0 Japan (CRC32 52520BC6), v2.1 Japan
|
||||
@@ -63,7 +63,7 @@ files:
|
||||
size: 262144
|
||||
required: false
|
||||
validation: [size, crc32]
|
||||
source_ref: "platforms/libretro/libretro.cpp:579, platforms/libretro/libretro.cpp:587-588, src/media.cpp:339-436, src/game_db.h:47"
|
||||
source_ref: "platforms/libretro/libretro.cpp:630, platforms/libretro/libretro.cpp:638-639, src/media.cpp:435-532, src/game_db.h:47"
|
||||
note: >
|
||||
cdrom_bios = 'System Card 1'. Very early CD-ROM2 games only.
|
||||
CRC32 3F9F95A4.
|
||||
@@ -73,9 +73,9 @@ files:
|
||||
size: 32768
|
||||
required: false
|
||||
validation: [size, crc32]
|
||||
source_ref: "platforms/libretro/libretro.cpp:582, platforms/libretro/libretro.cpp:596-597, platforms/libretro/libretro.cpp:481-482, src/media.cpp:339-436, src/defines.h:53, src/game_db.h:53-54"
|
||||
source_ref: "platforms/libretro/libretro.cpp:633, platforms/libretro/libretro.cpp:633-634, platforms/libretro/libretro.cpp:535-536, src/media.cpp:435-532, src/defines.h:53, src/game_db.h:55-56"
|
||||
note: >
|
||||
Always loaded alongside the selected System Card BIOS (libretro.cpp:618).
|
||||
Always loaded alongside the selected System Card BIOS (platforms/libretro/libretro.cpp:642).
|
||||
Required for Game Express CD-ROM titles. game_db.h recognizes Blue Version
|
||||
(CRC32 51A12D90) and Green Version (CRC32 16AAF05A).
|
||||
|
||||
|
||||
@@ -34,17 +34,17 @@ files:
|
||||
- name: "bios.sms"
|
||||
system: sega-mastersystem
|
||||
required: false
|
||||
source_ref: "platforms/libretro/libretro.cpp:534, platforms/libretro/libretro.cpp:537 (load_bootroms)"
|
||||
source_ref: "platforms/libretro/libretro.cpp:568, platforms/libretro/libretro.cpp:571 (load_bootroms)"
|
||||
|
||||
- name: "bios.gg"
|
||||
system: sega-gamegear
|
||||
required: false
|
||||
source_ref: "platforms/libretro/libretro.cpp:814, platforms/libretro/libretro.cpp:537 (load_bootroms)"
|
||||
source_ref: "platforms/libretro/libretro.cpp:858, platforms/libretro/libretro.cpp:571 (load_bootroms)"
|
||||
|
||||
platform_details:
|
||||
mastersystem:
|
||||
bios_filename: "bios.sms"
|
||||
source_ref: "src/Memory.cpp:223-228"
|
||||
source_ref: "src/Memory.cpp:225-230"
|
||||
note: |
|
||||
Boot ROM loaded via LoadBootromSMS() -> LoadBootroom(path, false).
|
||||
Raw binary read, stored in m_pBootromSMS. Bank count computed as
|
||||
@@ -52,7 +52,7 @@ platform_details:
|
||||
|
||||
gamegear:
|
||||
bios_filename: "bios.gg"
|
||||
source_ref: "src/Memory.cpp:230-235"
|
||||
source_ref: "src/Memory.cpp:232-237"
|
||||
note: |
|
||||
Boot ROM loaded via LoadBootromGG() -> LoadBootroom(path, true).
|
||||
Raw binary read, stored in m_pBootromGG. Same bank computation.
|
||||
@@ -61,5 +61,5 @@ platform_details:
|
||||
sg1000:
|
||||
bios_filename: null
|
||||
note: |
|
||||
No BIOS support. Memory.cpp:379 returns false from IsBootromEnabled()
|
||||
No BIOS support. src/Memory.cpp:381 returns false from IsBootromEnabled()
|
||||
when IsSG1000() or IsGameGearInSMSMode() is true.
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/Genesis-Plus-GX"
|
||||
upstream: "https://github.com/ekeeke/Genesis-Plus-GX"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "84fcf2ec8e6b8d901c2fec55c884f285f93a1679"
|
||||
source_commit: "a7985a9c4278ac352f8ca7bb4d3cc6b36e9e3e7d"
|
||||
core_version: "v1.7.4"
|
||||
display_name: "Sega - MS/GG/MD/CD (Genesis Plus GX)"
|
||||
cores:
|
||||
|
||||
+13
-13
@@ -21,13 +21,13 @@ notes: |
|
||||
from MAME-format ZIP archives in the system directory.
|
||||
|
||||
Cartridge content opens aes.zip (System Type = AES, default) or neogeo.zip
|
||||
(MVS and Universe BIOS) (libretro/libretro.c:1231-1234). CD content opens
|
||||
(MVS and Universe BIOS) (libretro/libretro.c:1243-1246). CD content opens
|
||||
neocd.zip (Front/Top Loader) or neocdz.zip (CDZ, default, and CD Universe
|
||||
BIOS) (libretro/libretro.c:1222-1230); Front/Top Loader additionally reads
|
||||
BIOS) (libretro/libretro.c:1234-1242); Front/Top Loader additionally reads
|
||||
000-lo.lo from neocdz.zip, so neocdz.zip is needed in every CD mode
|
||||
(libretro/libretro.c:1241-1248). The Irritating Maze in MVS mode loads
|
||||
(libretro/libretro.c:1253-1260). The Irritating Maze in MVS mode loads
|
||||
236-bios.sp1 from irrmaze.zip for trackball support; without it the game
|
||||
runs but the trackball does not work (libretro/libretro.c:1300-1311).
|
||||
runs but the trackball does not work (libretro/libretro.c:1312-1323).
|
||||
|
||||
Inside the opened archive, members are extracted by exact filename
|
||||
(src/geo.c:174-271). One 68K BIOS is selected by system type and region
|
||||
@@ -50,9 +50,9 @@ 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:1837-1859,
|
||||
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
|
||||
Good API BIOS list (jg.c:212-223); the md5 fields on the archives below
|
||||
Good API BIOS list (jg.c:220-231); the md5 fields on the archives below
|
||||
are copied from it.
|
||||
|
||||
files:
|
||||
@@ -64,35 +64,35 @@ files:
|
||||
required: true
|
||||
md5: "ad9585c72130c56f04ae26aae87c289d"
|
||||
note: "Neo Geo AES System ROMs. Opened when System Type is AES (default)."
|
||||
source_ref: "libretro/libretro.c:1231-1234, jg.c:213-214"
|
||||
source_ref: "libretro/libretro.c:1243-1246, jg.c:221-222"
|
||||
|
||||
- name: "neogeo.zip"
|
||||
system: snk-neogeo-mvs
|
||||
required: true
|
||||
md5: "00dad01abdbf8ea9e79ad2fe11bdb182"
|
||||
note: "Neo Geo MVS System ROMs. Opened for MVS and Universe BIOS modes."
|
||||
source_ref: "libretro/libretro.c:1231-1234, jg.c:215-216"
|
||||
source_ref: "libretro/libretro.c:1243-1246, jg.c:223-224"
|
||||
|
||||
- name: "neocd.zip"
|
||||
system: snk-neogeo-cd
|
||||
required: false
|
||||
md5: "006a881532f2caffc3fe9fb5593f2ed5"
|
||||
note: "Neo Geo CD Front/Top Loader System ROMs. Opened only when CD System is front or top loader."
|
||||
source_ref: "libretro/libretro.c:1222-1229, jg.c:217-218"
|
||||
source_ref: "libretro/libretro.c:1234-1241, jg.c:225-226"
|
||||
|
||||
- name: "neocdz.zip"
|
||||
system: snk-neogeo-cd
|
||||
required: true
|
||||
md5: "b31a246b69493c35194fe0bac120dc37"
|
||||
note: "Neo Geo CDZ System ROMs. Opened for CDZ (default) and CD Universe BIOS; also supplies 000-lo.lo to Front/Top Loader mode."
|
||||
source_ref: "libretro/libretro.c:1222-1248, jg.c:219-220"
|
||||
source_ref: "libretro/libretro.c:1234-1260, jg.c:227-228"
|
||||
|
||||
- name: "irrmaze.zip"
|
||||
system: snk-neogeo-mvs
|
||||
required: false
|
||||
md5: "0e369df30a70e45547cef9e4078dc511"
|
||||
note: "The Irritating Maze auxiliary BIOS. Loaded in MVS mode for trackball support; on failure the game runs without trackball."
|
||||
source_ref: "libretro/libretro.c:1300-1311, jg.c:221-222"
|
||||
source_ref: "libretro/libretro.c:1312-1323, jg.c:229-230"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# aes.zip members
|
||||
@@ -249,7 +249,7 @@ files:
|
||||
size: 131072
|
||||
crc32: "5a86cff2"
|
||||
note: "Zoom lookup table. Read from neocdz.zip in every CD mode, including Front/Top Loader."
|
||||
source_ref: "src/geo.c:234-243, 273-285, libretro/libretro.c:1241-1248"
|
||||
source_ref: "src/geo.c:234-243, 273-285, libretro/libretro.c:1253-1260"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# irrmaze.zip member
|
||||
@@ -259,4 +259,4 @@ files:
|
||||
system: snk-neogeo-mvs
|
||||
required: false
|
||||
note: "The Irritating Maze auxiliary 68K BIOS, replaces the MVS BIOS to enable trackball input."
|
||||
source_ref: "src/geo.c:286-299, libretro/libretro.c:1300-1311"
|
||||
source_ref: "src/geo.c:286-299, libretro/libretro.c:1312-1323"
|
||||
+11
-11
@@ -19,32 +19,32 @@ notes: |
|
||||
with nothing supplied.
|
||||
|
||||
Supercharger emulation is the only path that reads a BIOS. NewSupercharger
|
||||
branches three ways (supercharger.go:93-119). A tape held as WAV or MP3 sets
|
||||
branches three ways (hardware/memory/cartridge/supercharger/supercharger.go:93-119). A tape held as WAV or MP3 sets
|
||||
Loader.IsSoundData and calls loadBIOS, and the error is returned, so the
|
||||
cartridge fails to attach without the file. A demo unit image calls loadBIOS
|
||||
and substitutes fastloadOnlyBIOS() on failure. Everything else, including the
|
||||
usual Supercharger BIN, takes fastloadOnlyBIOS() without ever looking for the
|
||||
file: a 2048 byte stub holding a touch of the tape load register and the CPU
|
||||
jump table (bios.go:151-166).
|
||||
jump table (hardware/memory/cartridge/supercharger/bios.go:151-166).
|
||||
|
||||
loadBIOS reads the current working directory, then the directory holding the
|
||||
tape or BIN, then the configuration directory (bios.go:53-116). Each candidate
|
||||
tape or BIN, then the configuration directory (hardware/memory/cartridge/supercharger/bios.go:53-116). Each candidate
|
||||
name is tried in turn and the content is gated on MD5 before the caller checks
|
||||
the 2048 byte length, so a file under the right name with the wrong content is
|
||||
refused. ReqSpec selects the PAL table and the PAL hash (bios.go:56-59);
|
||||
refused. ReqSpec selects the PAL table and the PAL hash (hardware/memory/cartridge/supercharger/bios.go:56-59);
|
||||
ReqSpec comes from the television specification, the stella.pro entry or the
|
||||
filename (cartridgeloader/loader.go:194-201).
|
||||
|
||||
The demo unit is recognised by MD5 of the 256 bytes at 0x300 of the loaded
|
||||
image (demounit.go:58,78). When that image carries more than 2048 bytes it
|
||||
image (hardware/memory/cartridge/supercharger/demounit.go:58,78). When that image carries more than 2048 bytes it
|
||||
holds the Schweber chip and the carousel together; otherwise the eight ROMs
|
||||
are read from the directory of the loaded file (demounit_controller.go:
|
||||
178-200). A read error or a length other than 8192 logs and returns nil, and
|
||||
the peripheral is left unplugged.
|
||||
|
||||
stella.pro is Stella's cartridge properties database, read from the
|
||||
configuration directory (properties.go:28,48-58). It is loaded by
|
||||
NewDebugger (debugger.go:356), which drives play as well as debug
|
||||
configuration directory (properties/properties.go:28,48-58). It is loaded by
|
||||
NewDebugger (debugger/debugger.go:356), which drives play as well as debug
|
||||
(gopher2600.go:261,307,326), so it applies to the plain `gopher2600 <rom>`
|
||||
invocation. A missing file is logged and start-up continues; the ROM selector
|
||||
then falls back to the filename and no television specification is inferred
|
||||
@@ -52,10 +52,10 @@ notes: |
|
||||
|
||||
The ROM selector also reads a Named_Boxarts directory from the configuration
|
||||
directory, listing it at start-up and fuzzy matching the cartridge name
|
||||
against the entries before reading one image (win_rom_select.go:92,127-138,
|
||||
against the entries before reading one image (gui/sdlimgui/win_rom_select.go:92,127-138,
|
||||
678-689). It holds the box art of the libretro-thumbnails Atari 2600 set,
|
||||
pinned upstream at commit 4ea759821724d6c7bcf2f46020d79fc4270ed2f6
|
||||
(win_rom_select.go:91). Its content is whatever the user copies in and no
|
||||
(gui/sdlimgui/win_rom_select.go:91). Its content is whatever the user copies in and no
|
||||
name is fixed by the code, so it carries no file entry here.
|
||||
|
||||
Fonts, shaders, bevels, the CPU instruction table and the Movie Cart core are
|
||||
@@ -65,7 +65,7 @@ notes: |
|
||||
elf_nvram, regression, patches and setupDB. ARM map files and DWARF sources
|
||||
are read from a project build tree beside the ROM. AtariVox speech calls the
|
||||
festival binary as a process, with the path taken from preferences
|
||||
(atarivox_preferences.go:51).
|
||||
(hardware/preferences/atarivox_preferences.go:51).
|
||||
|
||||
files:
|
||||
- name: "Supercharger BIOS.bin"
|
||||
@@ -107,7 +107,7 @@ files:
|
||||
Recognised by the MD5 of the 256 bytes at 0x300, so the name is the one the
|
||||
dump carries rather than one the code fixes. The carousel ROMs are only
|
||||
read once this image has been accepted.
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit.go:56-78, hardware/memory/cartridge/supercharger/supercharger.go:107,115, hardware/memory/cartridge/fingerprint.go:333"
|
||||
source_ref: "hardware/memory/cartridge/supercharger/demounit.go:56-78, hardware/memory/cartridge/supercharger/supercharger.go:107, 115, hardware/memory/cartridge/fingerprint.go:346"
|
||||
|
||||
- name: "Starpath Demonstration Unit 1P.bin"
|
||||
system: atari-2600
|
||||
|
||||
@@ -48,21 +48,21 @@ notes: |
|
||||
Everything else under the configuration, data and cache directories is written
|
||||
by the emulator: config.json and cheats.json (src/ui/config.rs:99-111,134-146),
|
||||
retroachievements.json (src/lib.rs:209; src/retroachievements.rs:37,61),
|
||||
ice_config.json from the netplay server response (src/ui/netplay.rs:713-716,
|
||||
ice_config.json from the netplay server response (src/ui/netplay.rs:715-718,
|
||||
src/netplay.rs:419), the eeprom, sram, flash, mempak, sdcard and romsave saves
|
||||
and the savestates (src/ui/storage.rs:212-232; src/savestates.rs:179,236). For
|
||||
a netplay launch the GUI serialises the cheats to the cache directory, passes
|
||||
them to a re-exec of itself through the hidden --cheats flag and deletes the
|
||||
file afterwards (src/ui/gui.rs:583-593,600-615,630; src/lib.rs:141-147).
|
||||
portable.txt is tested for existence only, to move those three directories
|
||||
beside the executable (src/ui.rs:164-178).
|
||||
beside the executable (src/ui.rs:186-200).
|
||||
|
||||
Compiled-in data: the cheat database (src/cheats.rs:31), the No-Intro
|
||||
Nintendo 64 export that names entries in the ROM browser
|
||||
(src/ui/gui.rs:688-690), the RobotoMono face handed to SDL_ttf from memory
|
||||
(src/ui/video.rs:109, src/ui/input_profile.rs:99), the parallel-rdp SPIR-V
|
||||
modules (parallel-rdp/spirv.hpp and parallel-rdp/spirv_crt.hpp, used at
|
||||
parallel-rdp/interface.cpp:4-5,615) and the Slint translations bundled at
|
||||
parallel-rdp/interface.cpp:4-5,619) and the Slint translations bundled at
|
||||
build time (build.rs:11).
|
||||
|
||||
files: []
|
||||
+1
-1
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/gpsp"
|
||||
upstream: "https://github.com/davidgfnet/gpsp"
|
||||
profiled_date: "2026-03-23"
|
||||
source_commit: "5b6e751f4abf368509146cd143c949c1946ac1ae"
|
||||
source_commit: "8d268a6bb2cd799f8f2791ebb544a7ef550cfc6f"
|
||||
core_version: "Git"
|
||||
display_name: "Nintendo - Game Boy Advance (gpSP)"
|
||||
cores:
|
||||
|
||||
@@ -1499,7 +1499,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-twinkle
|
||||
source_ref: "src/mame/konami/twinkle.cpp:1360"
|
||||
source_ref: "src/mame/konami/twinkle.cpp:1655"
|
||||
contents:
|
||||
- name: 863a03.7b
|
||||
size: 524288
|
||||
@@ -2121,7 +2121,7 @@ files:
|
||||
- name: aristmk5.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/acorn/aristmk5.cpp:2631"
|
||||
source_ref: "src/mame/acorn/aristmk5.cpp:9293"
|
||||
contents:
|
||||
- name: setchip v4.04.09.u7
|
||||
size: 524288
|
||||
|
||||
@@ -31,7 +31,7 @@ files:
|
||||
aliases: [ROM.01, ROM.03, APPLE2GS.ROM, APPLE2GS.ROM2, xgs.rom, XGS.ROM, Rom03gd, 342-0077-b]
|
||||
required: true
|
||||
description: "Apple IIGS system ROM"
|
||||
source_ref: "gsplus/src/config.c:131,403-406,1092-1149"
|
||||
source_ref: "gsplus/src/config.c:136, gsplus/src/config.c:477-480, gsplus/src/config.c:1260-1317"
|
||||
note: "Accepted sizes: 32768 (Apple //e), 131072 (ROM 01), 262144 (ROM 03)"
|
||||
validation: [size]
|
||||
|
||||
@@ -42,5 +42,5 @@ files:
|
||||
size: 256
|
||||
description: "Disk II controller PROM (slot 6)"
|
||||
validation: [size]
|
||||
source_ref: "gsplus/src/config.c:414-415,1168-1220"
|
||||
source_ref: "gsplus/src/config.c:488-489, gsplus/src/config.c:1336-1388"
|
||||
note: "Built-in PROM generated from XOR diffs against main ROM"
|
||||
+3
-3
@@ -4,7 +4,7 @@ core_classification: pure_libretro
|
||||
source: "https://github.com/libretro/gw-libretro"
|
||||
upstream: "http://www.madrigaldesign.it/sim/"
|
||||
profiled_date: "2026-03-25"
|
||||
source_commit: "435e5cfd4bf6aea03a84259e9b8dba3daf3ff5bd"
|
||||
source_commit: "91d599b951e7bfe7e040347f58667cba20074adc"
|
||||
core_version: "Git"
|
||||
display_name: "Handheld Electronic (GW)"
|
||||
cores:
|
||||
@@ -17,11 +17,11 @@ notes: |
|
||||
source code via pas2lua. Each game is a self-contained .mgw archive (bzip2
|
||||
compressed tar v7) containing Lua scripts, sprites, and sound data.
|
||||
|
||||
retro_get_system_info (libretro.c:187-194) sets valid_extensions to "mgw",
|
||||
retro_get_system_info (src/libretro.c:187-194) sets valid_extensions to "mgw",
|
||||
need_fullpath to false, and block_extract to false. The core reads content
|
||||
entirely from the retro_game_info buffer passed by the frontend.
|
||||
|
||||
retro_load_game (libretro.c:256-310) passes the content buffer to
|
||||
retro_load_game (src/libretro.c:256-310) passes the content buffer to
|
||||
gwrom_init() which decompresses and parses the tar archive in memory.
|
||||
gwlua_create() then initializes the Lua VM from the archive entries.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: embedded_hle
|
||||
source: "https://github.com/ivanizag/izapple2"
|
||||
upstream: "https://github.com/ivanizag/izapple2"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "01deea8a97b19ac782a1d11fe1e8d07f07b6c835"
|
||||
source_commit: "1b563d7668b331bc06d6d11c093ee1a14fe242be"
|
||||
core_version: "v2.4.0"
|
||||
display_name: "Apple - Apple II (izapple2)"
|
||||
cores:
|
||||
|
||||
@@ -61,7 +61,7 @@ notes: |
|
||||
the JVM default soundbank in place. VlcDir points at a VLC installation that
|
||||
vlcj scans for libvlc.
|
||||
ref: src/media/emulator/media/EmulatorMIDI.java:26-36,
|
||||
src/main/emulator/ui/swt/Property.java:1864-1905
|
||||
src/main/emulator/ui/swt/Property.java:1860-1901
|
||||
|
||||
files:
|
||||
- name: M7_EmuSmw7.dll
|
||||
@@ -190,7 +190,7 @@ files:
|
||||
validation: [existence]
|
||||
description: "Device presets: screen sizes, key maps, platform identities"
|
||||
note: "Devices.load reads the PresetsPath setting, /res/presets.xml by default, as a jar resource and falls back to a disk read when the resource is absent, which is how a user-supplied preset file is picked up."
|
||||
source_ref: "src/main/emulator/Settings.java:133, src/main/emulator/Devices.java:25-50, src/main/emulator/Emulator.java:641"
|
||||
source_ref: "src/main/emulator/Settings.java:131, src/main/emulator/Devices.java:25-50, src/main/emulator/Emulator.java:638"
|
||||
|
||||
- name: en.txt
|
||||
system: j2me
|
||||
|
||||
@@ -5,7 +5,7 @@ source: "https://git.ryujinx.app/projects/Kenji-NX"
|
||||
source_branch: libryujinx_bionic
|
||||
upstream: "https://git.ryujinx.app/projects/Ryubing"
|
||||
profiled_date: "2026-08-11"
|
||||
source_commit: "8d7d8f344cb01257c5bc59bb02a74bb89ab9bb5f"
|
||||
source_commit: "53d32a761e61dc8e9b5c0744199a890fc8d934d5"
|
||||
core_version: "2.1.0-pr.2"
|
||||
display_name: "Nintendo - Switch (Kenji-NX)"
|
||||
cores:
|
||||
@@ -35,7 +35,7 @@ notes: |
|
||||
~/.switch fallback that ReloadKeySet consults in UserProfile mode never fires
|
||||
there. games, profiles and system are created under the root on every start.
|
||||
ref: src/Ryujinx.Common/Configuration/AppDataManager.cs:11-17,47,50-104,223-230,
|
||||
src/LibKenjinx/LibKenjinx.cs:54-95,
|
||||
src/LibKenjinx/LibKenjinx.cs:59-100,
|
||||
src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/MainActivity.kt:264-298
|
||||
|
||||
Firmware is installed rather than placed. ContentManager takes a directory, a
|
||||
@@ -46,7 +46,7 @@ notes: |
|
||||
homebrew NRO goes through ProcessLoader without touching the key set, and the
|
||||
failure is deferred to the first service that needs a system archive.
|
||||
ref: src/Ryujinx.HLE/FileSystem/ContentManager.cs:431-498,675-749,893-903,
|
||||
src/LibKenjinx/Android/JniExportedMethods.cs:459-495,
|
||||
src/LibKenjinx/Android/JniExportedMethods.cs:462-498,
|
||||
src/Ryujinx.HLE/Loaders/Processes/ProcessLoader.cs:189-205
|
||||
|
||||
Two read paths belong to the desktop build alone, because the Android build
|
||||
@@ -59,7 +59,7 @@ notes: |
|
||||
key_retail.bin, while the Android entry buffers the raw tag in
|
||||
KenjinxAmiiboShim and INfp reads the figure id straight out of offset 0x1DC.
|
||||
ref: src/LibKenjinx/LibKenjinx.csproj:11-13,
|
||||
src/LibKenjinx/Android/JniExportedMethods.cs:347-348,1046-1060,
|
||||
src/LibKenjinx/Android/JniExportedMethods.cs:350-351,1049-1063,
|
||||
src/LibKenjinx/LibKenjinx.Input.cs:28-39,
|
||||
src/Ryujinx.HLE/Kenjinx/AmiiboBridge.cs:10-44,
|
||||
src/Ryujinx.HLE/HOS/Services/Nfc/Nfp/NfpManager/KenjinxAmiiboShim.cs:15-41,
|
||||
@@ -79,7 +79,7 @@ notes: |
|
||||
under the Nintendo notice of 2026-02-12, and both the source and the builds
|
||||
are served by the Forgejo instance, which is where ES-DE points as well.
|
||||
ref: https://github.com/github/dmca/blob/master/2026/02/2026-02-12-nintendo.md,
|
||||
tmp/es-de/ANDROID.md:470-474
|
||||
es-de ANDROID.md:470-474
|
||||
|
||||
files:
|
||||
- name: prod.keys
|
||||
@@ -142,7 +142,7 @@ files:
|
||||
of title 0100000000000809. The NCAs are then registered under
|
||||
bis/system/Contents/registered and read from there, never as loose files.
|
||||
No digest of the package itself is compared against anything.
|
||||
source_ref: "src/Ryujinx.HLE/FileSystem/ContentManager.cs:431-498,675-749,751-1045, src/LibKenjinx/Android/JniExportedMethods.cs:459-495, src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/viewmodels/SettingsViewModel.kt:308-364"
|
||||
source_ref: "src/Ryujinx.HLE/FileSystem/ContentManager.cs:431-498, 675-749, 751-1045, src/LibKenjinx/Android/JniExportedMethods.cs:462-498, src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/viewmodels/SettingsViewModel.kt:308-364"
|
||||
|
||||
- name: key_retail.bin
|
||||
required: false
|
||||
@@ -183,7 +183,7 @@ files:
|
||||
Android slots read the bytes through the content resolver and buffer them
|
||||
for the NFP service, which takes the figure id from offset 0x1DC without
|
||||
decrypting anything.
|
||||
source_ref: "src/Ryujinx.HLE/HOS/Horizon.cs:355-363, src/Ryujinx.HLE/HOS/Services/Nfc/AmiiboDecryption/AmiiboBinReader.cs:22-44,151-283, src/LibKenjinx/LibKenjinx.cs:700-729, src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/views/GameViews.kt:328-349"
|
||||
source_ref: "src/Ryujinx.HLE/HOS/Horizon.cs:355-363, src/Ryujinx.HLE/HOS/Services/Nfc/AmiiboDecryption/AmiiboBinReader.cs:22-44, 151-283, src/LibKenjinx/LibKenjinx.cs:705-734, src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/views/GameViews.kt:328-349"
|
||||
|
||||
- name: "<CaCertificateId>.der"
|
||||
required: false
|
||||
@@ -211,7 +211,7 @@ files:
|
||||
because the external filesystem cannot carry an executable mapping, loaded
|
||||
through the rootless Adreno driver loader, and the resulting handle is
|
||||
passed to the Vulkan loader. An empty selection uses the system loader.
|
||||
source_ref: "src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/viewmodels/VulkanDriverViewModel.kt:13-167, src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/viewmodels/MainViewModel.kt:202-243, src/LibKenjinx/Android/JniExportedMethods.cs:532-555, src/LibKenjinx/VulkanLoader.cs:27-29"
|
||||
source_ref: "src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/viewmodels/VulkanDriverViewModel.kt:13-167, src/KenjinxAndroid/app/src/main/java/org/kenjinx/android/viewmodels/MainViewModel.kt:202-243, src/LibKenjinx/Android/JniExportedMethods.cs:535-558, src/LibKenjinx/VulkanLoader.cs:27-29"
|
||||
|
||||
# System archives read out of the installed firmware, never as loose files.
|
||||
firmware_titles:
|
||||
|
||||
+22
-22
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/yabause"
|
||||
upstream: "https://github.com/FCare/Kronos"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "65af22e96beb6d9b0b9a50a81a39c86a6d604c1c"
|
||||
source_commit: "8926b0c6c347f8c5c755911ddb0ac695420ffbf8"
|
||||
core_version: "v2.6.0"
|
||||
display_name: "Sega - Saturn/ST-V (Kronos)"
|
||||
cores:
|
||||
@@ -37,7 +37,7 @@ notes: |
|
||||
ROM cartridge DB: utils/src/db.c lines 43-45.
|
||||
|
||||
Standalone supports MPEG card ROM loading (Video CD card); disabled in
|
||||
libretro port (mpegpath = NULL in libretro.c:1578).
|
||||
libretro port (mpegpath = NULL in yabause/src/libretro/libretro.c:1578).
|
||||
|
||||
archive_prefix: kronos
|
||||
|
||||
@@ -53,7 +53,7 @@ files:
|
||||
size: 524288
|
||||
validation: [size]
|
||||
note: "Primary Saturn BIOS. Any region accepted. Searched in kronos/ subdir first."
|
||||
source_ref: "libretro.c:1619-1623"
|
||||
source_ref: "yabause/src/libretro/libretro.c:1619-1623"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Saturn BIOS - Japan v1.01 (fallback)
|
||||
@@ -66,7 +66,7 @@ files:
|
||||
size: 524288
|
||||
validation: [size]
|
||||
note: "Saturn BIOS v1.01 (Japan). Fallback if saturn_bios.bin missing."
|
||||
source_ref: "libretro.c:1627"
|
||||
source_ref: "yabause/src/libretro/libretro.c:1627"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Saturn BIOS - NA/EU (fallback)
|
||||
@@ -79,7 +79,7 @@ files:
|
||||
size: 524288
|
||||
validation: [size]
|
||||
note: "Saturn BIOS (NA/EU). Last fallback for Saturn mode."
|
||||
source_ref: "libretro.c:1631"
|
||||
source_ref: "yabause/src/libretro/libretro.c:1631"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# ST-V Arcade BIOS (stvbios.zip) - MAME romset
|
||||
@@ -88,7 +88,7 @@ files:
|
||||
system: sega-stv
|
||||
required: true
|
||||
note: "MAME-style ZIP containing ST-V region BIOS EPROMs. Searched in kronos/ subdir first."
|
||||
source_ref: "libretro.c:1608-1617, ctrl/src/stv.c:112-136"
|
||||
source_ref: "yabause/src/libretro/libretro.c:1608-1617, yabause/src/ctrl/src/stv.c:112-136"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# ST-V BIOS blobs inside stvbios.zip
|
||||
@@ -103,7 +103,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "f688ae60"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:120"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:120"
|
||||
|
||||
- name: "epr-20091.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -113,7 +113,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "59ed40f4"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:121"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:121"
|
||||
|
||||
- name: "epr-19730.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -123,7 +123,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "d0e0889d"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:122"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:122"
|
||||
|
||||
- name: "epr-17951a.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -133,7 +133,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "2672f9d8"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:123"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:123"
|
||||
|
||||
- name: "epr-17740a.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -143,7 +143,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "3e23c81f"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:124"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:124"
|
||||
|
||||
- name: "epr-17740.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -153,7 +153,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "5c5aa63d"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:125"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:125"
|
||||
|
||||
# Europe
|
||||
- name: "epr-17954a.ic8"
|
||||
@@ -164,7 +164,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "f7722da3"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:126"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:126"
|
||||
|
||||
# USA
|
||||
- name: "epr-17952a.ic8"
|
||||
@@ -175,7 +175,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "d1be2adf"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:127"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:127"
|
||||
|
||||
- name: "epr-17741a.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -185,7 +185,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "4166c663"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:128"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:128"
|
||||
|
||||
# Taiwan
|
||||
- name: "epr-19854.ic8"
|
||||
@@ -196,7 +196,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "e09d1f60"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:129"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:129"
|
||||
|
||||
- name: "epr-17953a.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -206,7 +206,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "a4c47570"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:130"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:130"
|
||||
|
||||
- name: "epr-17742a.ic8"
|
||||
archive: stvbios.zip
|
||||
@@ -216,7 +216,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "02daf123"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:131"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:131"
|
||||
|
||||
# Debug / Dev
|
||||
- name: "stv110.bin"
|
||||
@@ -226,7 +226,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "3dfeda92"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:132"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:132"
|
||||
|
||||
- name: "stv1061.bin"
|
||||
archive: stvbios.zip
|
||||
@@ -235,7 +235,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "728dbca3"
|
||||
validation: [crc32]
|
||||
source_ref: "stv.c:133"
|
||||
source_ref: "yabause/src/ctrl/src/stv.c:133"
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# ROM Cartridges (game-specific, loaded from system_dir)
|
||||
@@ -246,7 +246,7 @@ files:
|
||||
size: 2097152
|
||||
validation: [size]
|
||||
note: "ROM cartridge for The King of Fighters '95. Auto-detected via game DB."
|
||||
source_ref: "utils/src/db.c:43-44, yabause/src/cs0.c:1207-1216"
|
||||
source_ref: "yabause/src/utils/src/db.c:43-44, yabause/src/cs0.c:1207-1216"
|
||||
|
||||
- name: "mpr-19367-mx.ic1"
|
||||
system: sega-saturn
|
||||
@@ -254,4 +254,4 @@ files:
|
||||
size: 2097152
|
||||
validation: [size]
|
||||
note: "ROM cartridge for Ultraman: Hikari no Kyojin Densetsu. Auto-detected via game DB."
|
||||
source_ref: "utils/src/db.c:45, yabause/src/cs0.c:1207-1216"
|
||||
source_ref: "yabause/src/utils/src/db.c:45, yabause/src/cs0.c:1207-1216"
|
||||
@@ -24,7 +24,7 @@ notes: |
|
||||
Startup reads nothing. The two GLSL shaders sit in the tree as
|
||||
src/lightspark.frag and src/lightspark.vert but the preprocessor pulls them
|
||||
into string literals, "directly include shader source to avoid filesystem
|
||||
access" (src/backends/rendering.cpp:1042-1045,1062-1065), which is also how
|
||||
access" (src/backends/rendering.cpp:1039-1042,1059-1062), which is also how
|
||||
0.8.7 builds them. The face given to nanoVG for text is Roboto Medium, decoded
|
||||
at runtime from a base85 array in the binary (src/launcher.cpp:1567,
|
||||
src/platforms/engineutils.cpp:500-502), and the launcher icon face is embedded
|
||||
@@ -35,7 +35,7 @@ notes: |
|
||||
|
||||
Fonts named by the content go through fontconfig, which answers with whatever
|
||||
face the host has installed: FcFontMatch then FcPatternGetString(FC_FILE) hands
|
||||
a path straight to nvgCreateFont (src/backends/cachedsurface.cpp:135-156). No
|
||||
a path straight to nvgCreateFont (src/backends/cachedsurface.cpp:147-168). No
|
||||
name, path, size or hash is fixed anywhere, README:27-30 marks fontconfig
|
||||
itself optional, and an unmatched family leaves nanoVGFontID at -1 and falls
|
||||
back to the embedded face.
|
||||
@@ -44,7 +44,7 @@ notes: |
|
||||
commit and at 0.8.7 (src/parsing/textfile.cpp:74-106). fontPath holds
|
||||
"TimesNewRoman.ttf" on Windows (src/backends/rendering.cpp:102) but reaches
|
||||
only cairo_select_font_face, which takes a family name rather than a path, and
|
||||
only under ENABLE_CAIRO (src/backends/rendering.cpp:1277), left FALSE by
|
||||
only under ENABLE_CAIRO (src/backends/rendering.cpp:1274), left FALSE by
|
||||
CMakeLists.txt.
|
||||
|
||||
Files the player writes rather than expects: lightspark.conf, an INI carrying
|
||||
|
||||
+208
-107
@@ -3,9 +3,9 @@ type: standalone
|
||||
core_classification: community_fork
|
||||
source: "https://github.com/linappleii/linapple"
|
||||
upstream: "https://github.com/AppleWin/AppleWin"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "b7a26b46773996130a602b9ac7ac2ebeae5c0b11"
|
||||
core_version: "2.3.0"
|
||||
profiled_date: "2026-09-04"
|
||||
source_commit: "be9d1d2f3e26c1ef1f1bdc13455ea02954cd2109"
|
||||
core_version: "3.0.0"
|
||||
display_name: "Apple - Apple II (LinApple)"
|
||||
cores:
|
||||
- linapple
|
||||
@@ -16,45 +16,59 @@ mode: standalone
|
||||
notes: |
|
||||
SDL port of AppleWin for Linux. The tree was taken off SourceForge by
|
||||
maxolasersquad, forked further by several users, and now sits under the
|
||||
linappleii namespace (README.md:8-22). Machine types are Apple ][,
|
||||
Apple ][+, Apple //e and Enhanced Apple //e.
|
||||
linappleii namespace (README.md:8-22). Five frontends build from one core:
|
||||
sdl1, sdl2, sdl3, tui and headless (src/frontends/).
|
||||
|
||||
Every ROM is compiled into the binary as a C string literal. MemInitialize
|
||||
picks one of four system ROM arrays by g_Apple2Type and copies it into
|
||||
memrom, splitting off the first 4 KB as internal Cx ROM for the two //e
|
||||
types (Memory.cpp:1012-1052). The four IDR_APPLE2*_ROM macros defined just
|
||||
above that switch hold .rom filenames and are never referenced. Peripheral
|
||||
firmware is embedded the same way and installed by MemInitialize: parallel
|
||||
printer in slot 1, Super Serial Card in slot 2, mouse in slot 4, Disk II in
|
||||
slot 6, hard disk in slot 7 (Memory.cpp:1057-1062). Slot 4 is filled only
|
||||
when g_Slot4 is CT_MouseInterface, slot 7 only when the hard disk is
|
||||
enabled (Harddisk.cpp:279-281).
|
||||
Every ROM is still compiled into the binary, but no longer as a hand-written
|
||||
byte array. scripts/generate_roms.sh turns res/roms/*.rom into EmbeddedRoms.h
|
||||
and EmbeddedRoms.cpp at build time (CMakeLists.txt:280-297), each image behind
|
||||
an ENABLE_ROM_* macro. The relocation preserved the bytes: every hash this
|
||||
profile recorded against the old string literals matches the .rom file that
|
||||
replaced it.
|
||||
|
||||
Character generators are res/charset40*.png, converted to XPM arrays by the
|
||||
Makefile and included at Video.cpp:43-47. One of five is chosen from the
|
||||
machine type and g_KeyboardLanguage (Video.cpp:1264-1291). The window icon,
|
||||
status font and splash screen are XPM arrays as well (asset.cpp:29-31,61-75).
|
||||
What that macro is set to decides whether a machine model runs at all.
|
||||
CMakeLists.txt:43-148 leaves the Apple ][, ][+, J-Plus, //e and Enhanced //e
|
||||
system ROMs ON, along with the Disk II, Super Serial Card, mouse,
|
||||
Mockingboard, printer and clock firmware. The three clone options are OFF:
|
||||
ENABLE_ROM_CLONE_BASE64A, ENABLE_ROM_CLONE_PRAVETS and
|
||||
ENABLE_ROM_CLONE_TK3000E (CMakeLists.txt:81-83). Selecting one of those
|
||||
machine types on a default build reaches mem_initialize with no rom_data,
|
||||
which prints the model name and its cmake flag, destroys the context and
|
||||
returns -1 (src/apple2/Memory.cpp:1252-1261). The message offers two ways
|
||||
out, and the second is a file: -R, --rom <file> loads a system ROM at
|
||||
runtime (src/frontends/common/AppArgs.cpp:87).
|
||||
|
||||
Master.dsk is the only data file the emulator searches for. Path::FindDataFile
|
||||
walks ~/.local/share/linapple, the XDG config directory, the executable
|
||||
directory, the compiled-in ASSET_DIR and the two share paths
|
||||
(Util_Path.h:43-68). ImageOpen rejects an image that no format detector
|
||||
claims, and for a .dsk the detector that runs first is DoDetect, which gates
|
||||
on file size (DiskImage.cpp:424-427,977-1034).
|
||||
A custom ROM takes precedence over anything embedded. mem_initialize accepts
|
||||
it at exactly 16384 or 12288 bytes, or larger, taking the trailing 16384 for
|
||||
the //e-class types and the trailing 12288 otherwise
|
||||
(src/apple2/Memory.cpp:1165-1186). Below 12288 nothing is selected and the
|
||||
machine fails to start. No hash or name is checked; the file is whatever the
|
||||
user points at.
|
||||
|
||||
The debugger reads its symbol tables through g_sProgramDir, a buffer declared
|
||||
empty at Applewin.cpp:87 and never assigned anywhere in the tree, so the
|
||||
names resolve against the working directory. g_sFileNameSymbols lists nine
|
||||
tables (Debugger_Symbols.cpp:48-58) and DebugInitialize preloads three with
|
||||
missing-file reporting suppressed (Debug.cpp:8676-8696); the other six load
|
||||
from the matching SYM command. A table that is absent leaves the debugger
|
||||
running without its symbols (Debugger_Symbols.cpp:576-584).
|
||||
Character generators are res/charset40*.png, converted to XPM by CMake and
|
||||
included at src/apple2/Video.cpp:37-41. One of five is chosen from the
|
||||
machine type and the keyboard language (src/apple2/Video.cpp:1242-1266).
|
||||
The status font is an XPM as well (src/core/Asset.cpp:22,44).
|
||||
|
||||
linapple.conf carries preferences only, and is searched over ./, the XDG
|
||||
config and data directories, every $XDG_CONFIG_DIRS entry and /etc
|
||||
(Applewin.cpp:803-815). Each accessor returns a compiled-in default when a
|
||||
key is missing (Registry.cpp:87-116), and Configuration::Save is compiled
|
||||
out unless REGISTRY_WRITEABLE is defined (Registry.cpp:63-85).
|
||||
Master.dsk is inserted into slot 6 drive 1 at startup. asset_find_master_disk
|
||||
resolves it through Path::find_data_file (src/core/Asset.cpp:80-93), which
|
||||
walks the user data and config directories, the executable directory and its
|
||||
res/ neighbours, the share and etc prefixes, the compiled-in SOURCE_RES_DIR,
|
||||
ASSET_DIR, SYSCONF_DIR and SYS_DIR, then every XDG_CONFIG_DIRS entry
|
||||
(src/core/Util_Path.h:86-130). The same search serves icon.bmp.
|
||||
|
||||
The debugger reads its symbol tables through g_state.program_dir, declared at
|
||||
src/core/LinAppleCore.h:159 and read in four places without ever being
|
||||
assigned, so the names resolve against the working directory.
|
||||
g_file_name_symbols lists nine tables (src/Debugger/Debugger_Symbols.cpp:64-74)
|
||||
and CmdSymbolsLoad preloads a table when the debugger calls it with no
|
||||
arguments (src/Debugger/Debugger_Symbols.cpp:664-681). ParseSymbolTable opens
|
||||
the file with fopen and a missing one leaves the debugger running without its
|
||||
symbols (src/Debugger/Debugger_Symbols.cpp:524).
|
||||
|
||||
linapple.conf carries preferences only (src/core/Registry.cpp,
|
||||
src/frontends/common/AppEnvironment.cpp). Each accessor returns a compiled-in
|
||||
default when a key is missing.
|
||||
|
||||
files:
|
||||
- name: Master.dsk
|
||||
@@ -63,120 +77,218 @@ files:
|
||||
min_size: 143105
|
||||
max_size: 143364
|
||||
validation: [size]
|
||||
source_ref: "src/asset.cpp:33, src/asset.cpp:101-128, src/Applewin.cpp:626-633, src/DiskImage.cpp:424-427"
|
||||
source_ref: "src/core/Asset.cpp:25,80-93,96-99"
|
||||
note: >
|
||||
Inserted only when the Slot 6 Autoload preference is off; when it is on,
|
||||
the two configured disk images are loaded instead. Asset_FindMasterDisk
|
||||
prints a warning and returns 255 when no search path holds the file, and
|
||||
the emulator starts with an empty drive. No hash or content check is
|
||||
performed. DoDetect also accepts the discrete sizes 143403 and 143488 for
|
||||
DOS-order images. LinApple and Batocera ship different images under this
|
||||
name, both 143360 bytes.
|
||||
asset_find_master_disk warns and returns non-zero when no search path
|
||||
holds the file, and the emulator starts with an empty drive. No hash or
|
||||
content check is performed. LinApple and Batocera ship different images
|
||||
under this name, both 143360 bytes.
|
||||
|
||||
- name: icon.bmp
|
||||
required: false
|
||||
description: "Window icon read from disk by the SDL frontends"
|
||||
size: 2102
|
||||
md5: be7a389c5aa678f5e6ce4748593b0a29
|
||||
sha1: 5aee3a718f3d541122b61b9b8203e8a28db97a34
|
||||
source_ref: "src/frontends/sdl2/SDL_Asset.cpp:10-25,34-40"
|
||||
note: >
|
||||
asset_load_bmp resolves the name through Path::find_data_file, prints a
|
||||
warning to stderr when no search path holds it and returns nullptr. The
|
||||
sdl1 and sdl2 frontends load it; sdl3 declares the same helper. Absence
|
||||
costs the window its icon and nothing else.
|
||||
|
||||
- name: APPLE2E.SYM
|
||||
required: false
|
||||
description: "Debugger symbol table for the main ROM"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:49, src/Debugger/Debugger_Symbols.cpp:553-584, src/Debugger/Debugger_Symbols.cpp:751-767, src/Debugger/Debug.cpp:8679-8680"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:64-74,664-681"
|
||||
note: >
|
||||
Preloaded into the Main table when the debugger initialises. Parsed as
|
||||
text lines of address and symbol name, with no size or hash check.
|
||||
Preloaded into the Main table when the debugger calls CmdSymbolsLoad with
|
||||
no arguments. Parsed as text lines of address and symbol name, with no
|
||||
size or hash check.
|
||||
|
||||
- name: A2_BASIC.SYM
|
||||
required: false
|
||||
description: "Debugger symbol table for Applesoft BASIC"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:50, src/Debugger/Debugger_Symbols.cpp:553-584, src/Debugger/Debugger_Symbols.cpp:751-767, src/Debugger/Debug.cpp:8682-8683"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:64-74,664-681"
|
||||
note: >
|
||||
Preloaded into the Basic table when the debugger initialises. Parsed as
|
||||
text lines of address and symbol name, with no size or hash check.
|
||||
Preloaded into the Basic table when the debugger calls CmdSymbolsLoad with
|
||||
no arguments. Parsed as text lines of address and symbol name, with no
|
||||
size or hash check.
|
||||
|
||||
# System ROMs the default build leaves out. ENABLE_ROM_CLONE_BASE64A,
|
||||
# ENABLE_ROM_CLONE_PRAVETS and ENABLE_ROM_CLONE_TK3000E are OFF in
|
||||
# CMakeLists.txt:81-83, so these machine types refuse to start unless the
|
||||
# user passes the image with --rom. The names are the ones upstream gives
|
||||
# the images in res/roms; the option takes a path and checks no name.
|
||||
- name: Base64A.rom
|
||||
required: false
|
||||
description: "Copam Base 64A clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 49152
|
||||
md5: 352fdbcae14c6a8c0398822c7a273309
|
||||
sha1: f1c779af480b5bda2bdd03950c1201a5c5143bea
|
||||
source_ref: "CMakeLists.txt:81,85-89; src/apple2/Memory.cpp:96-97,1165-1186,1252-1261"
|
||||
note: >
|
||||
Larger than a system ROM: mem_initialize takes the trailing 12288 bytes
|
||||
for this machine type.
|
||||
|
||||
- name: PRAVETS82.ROM
|
||||
required: false
|
||||
description: "Pravets 82 clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 12288
|
||||
md5: c619b7edfcf021f3b8fd20d9386676ba
|
||||
sha1: 8bd7ced83e209a15e9b19a05a5ef4b8e996dc1a5
|
||||
source_ref: "CMakeLists.txt:82,91-95; src/apple2/Memory.cpp:98-99,1165-1186,1252-1261"
|
||||
|
||||
- name: PRAVETS8M.ROM
|
||||
required: false
|
||||
description: "Pravets 8M clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 12288
|
||||
md5: 76c79535f7cf77973e2c711aa977a124
|
||||
sha1: f1b4ff018acf95f3355f0d575b66a188d728b687
|
||||
source_ref: "CMakeLists.txt:82,91-95; src/apple2/Memory.cpp:100-101,1165-1186,1252-1261"
|
||||
|
||||
- name: PRAVETS8C.ROM
|
||||
required: false
|
||||
description: "Pravets 8C clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 16384
|
||||
md5: 1896d7b98dd940c89f7c8ea899b71006
|
||||
sha1: c976fe56e57706c161f513a82ba3e0d8cda83904
|
||||
source_ref: "CMakeLists.txt:82,91-95; src/apple2/Memory.cpp:102-103,1165-1186,1252-1261"
|
||||
note: >
|
||||
A //e-class type: mem_initialize takes the trailing 16384 bytes when the
|
||||
file is larger.
|
||||
|
||||
- name: TK3000e.rom
|
||||
required: false
|
||||
description: "Microdigital TK-3000 //e clone system ROM, supplied with --rom"
|
||||
min_size: 12288
|
||||
validation: [size]
|
||||
size: 16384
|
||||
md5: 8d84b614b545d4eec8799d3f325332cb
|
||||
sha1: f163e5753c18ff0e812a448e8da406f102600edf
|
||||
source_ref: "CMakeLists.txt:83,97-101; src/apple2/Memory.cpp:104-105,1165-1186,1252-1261"
|
||||
note: >
|
||||
A //e-class type: mem_initialize takes the trailing 16384 bytes when the
|
||||
file is larger.
|
||||
|
||||
analysis:
|
||||
embedded_roms:
|
||||
mechanism: "C string literals compiled into the binary, installed with memcpy"
|
||||
extraction: "hashes computed from the decoded hex-escape literals"
|
||||
mechanism: >
|
||||
res/roms/*.rom compiled into EmbeddedRoms.cpp by scripts/generate_roms.sh
|
||||
at build time, each behind an ENABLE_ROM_* macro
|
||||
source_ref: "CMakeLists.txt:43-148,280-297; scripts/generate_roms.sh"
|
||||
extraction: "hashes computed from the res/roms images the generator reads"
|
||||
|
||||
system_roms:
|
||||
- symbol: Apple2_rom
|
||||
- symbol: g_rom_apple2
|
||||
machine: "Apple ]["
|
||||
machine_type: A2TYPE_APPLE2
|
||||
source_ref: "inc/resource.h:3; Memory.cpp:1015-1018"
|
||||
image: res/roms/Apple2.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1189-1193"
|
||||
size: 12288
|
||||
md5: 3c406514b9806a7c57ee65fb0b0c39b4
|
||||
sha1: 09288be705464b608ff190519ab008d3dfcd1b05
|
||||
|
||||
- symbol: Apple2plus_rom
|
||||
- symbol: g_rom_apple2_plus
|
||||
machine: "Apple ][+"
|
||||
machine_type: A2TYPE_APPLE2PLUS
|
||||
source_ref: "inc/resource.h:774; Memory.cpp:1019-1022"
|
||||
image: res/roms/Apple2_Plus.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2PLUS
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1195-1199"
|
||||
size: 12288
|
||||
md5: 572b3005a4fa49bc54917b069b82c1ab
|
||||
sha1: 33a24f5489ba9195b44be77d9afb2252594cb5c7
|
||||
|
||||
- symbol: Apple2e_rom
|
||||
machine: "Apple //e"
|
||||
- symbol: g_rom_apple2_jplus
|
||||
machine: "Apple ][ J-Plus"
|
||||
machine_type: A2TYPE_APPLE2JPLUS
|
||||
image: res/roms/Apple2_JPlus.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2_JPLUS
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1201-1205"
|
||||
size: 12288
|
||||
md5: f3e8237eca3809bec2a42b984a1332a8
|
||||
sha1: ad200b3263d08e7235d0871c8595963a07adc905
|
||||
|
||||
- symbol: g_rom_apple2e
|
||||
machine: "Apple //e Unenhanced"
|
||||
machine_type: A2TYPE_APPLE2E
|
||||
source_ref: "inc/resource.h:1545; Memory.cpp:1023-1026"
|
||||
image: res/roms/Apple2e.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2E
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1207-1211"
|
||||
size: 16384
|
||||
md5: 346bc782c6a08a531c460e33bc03daf4
|
||||
sha1: 61fa9254628e5bb7236fb474006116d67684d747
|
||||
note: "First 4 KB loaded as internal Cx ROM, remaining 12 KB at $D000"
|
||||
|
||||
- symbol: Apple2eEnhanced_rom
|
||||
machine: "Enhanced Apple //e"
|
||||
machine_type: A2TYPE_APPLE2EEHANCED
|
||||
source_ref: "inc/resource.h:2573; Memory.cpp:1027-1030"
|
||||
- symbol: g_rom_apple2e_enhanced
|
||||
machine: "Apple //e Enhanced"
|
||||
machine_type: A2TYPE_APPLE2EENHANCED
|
||||
image: res/roms/Apple2e_Enhanced.rom
|
||||
cmake_option: ENABLE_ROM_APPLE2ENHANCED
|
||||
default: on
|
||||
source_ref: "src/apple2/Memory.cpp:1213-1217"
|
||||
size: 16384
|
||||
md5: 38063e08c778503fc03ecebb979769e9
|
||||
sha1: b8ea90abe135a0031065e01697c4a3a20d51198b
|
||||
note: "First 4 KB loaded as internal Cx ROM, remaining 12 KB at $D000"
|
||||
|
||||
peripheral_firmware:
|
||||
- symbol: Parallel_bin
|
||||
device: "Parallel printer card"
|
||||
- device: "Parallel printer card"
|
||||
slot: 1
|
||||
source_ref: "src/ParallelPrinter.cpp:33,61-65"
|
||||
image: res/roms/Parallel.rom
|
||||
cmake_option: ENABLE_ROM_PRINTER
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:134,136-140"
|
||||
size: 256
|
||||
md5: 5902996f16dc78fc013f6e1db14805b3
|
||||
sha1: c75c751589cbcc1ad4ab4f63676af7abadd86f5b
|
||||
|
||||
- symbol: SSC_rom
|
||||
device: "Super Serial Card"
|
||||
- device: "Super Serial Card"
|
||||
slot: 2
|
||||
source_ref: "src/SerialComms.cpp:53,774-794"
|
||||
image: res/roms/SSC.rom
|
||||
cmake_option: ENABLE_ROM_SSC
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:105,112-116"
|
||||
size: 2048
|
||||
md5: 67c0d61ab0911183faf05270f881a97e
|
||||
sha1: 6dab633470c6bc4cb3e81d09fda46597caf8ee57
|
||||
note: "Slot firmware taken from offset 0x700, full 2 KB kept as expansion ROM"
|
||||
|
||||
- symbol: MouseInterface_rom
|
||||
device: "Mouse interface card"
|
||||
- device: "Mouse interface card"
|
||||
slot: 4
|
||||
source_ref: "src/MouseInterface.cpp:39,207-224"
|
||||
image: res/roms/MouseInterface.rom
|
||||
cmake_option: ENABLE_ROM_MOUSE
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:119,122-126"
|
||||
size: 2048
|
||||
md5: 22563ab338024dac7b03510371d49c57
|
||||
sha1: 3a9d881a8a8d30f55b9719aceebbcf717f829d6f
|
||||
note: "Installed only when g_Slot4 is CT_MouseInterface"
|
||||
|
||||
- symbol: Disk2_rom
|
||||
device: "Disk II controller, 16 sector"
|
||||
- device: "Disk II controller, 16 sector"
|
||||
slot: 6
|
||||
source_ref: "src/Disk.cpp:44,832-846"
|
||||
image: res/roms/DISK2.rom
|
||||
cmake_option: ENABLE_ROM_DISK2
|
||||
default: on
|
||||
source_ref: "CMakeLists.txt:104,107-111"
|
||||
size: 256
|
||||
md5: 2020aa1413ff77fe29353f3ee72dc295
|
||||
sha1: d4181c9f046aafc3fb326b381baac809d9e38d16
|
||||
note: "Three bytes at $C64C are patched after the copy to drop a wait routine"
|
||||
|
||||
- symbol: Hddrvr_dat
|
||||
device: "Hard disk controller"
|
||||
slot: 7
|
||||
source_ref: "src/Harddisk.cpp:108,279-288"
|
||||
size: 256
|
||||
md5: 9e5b56c2daf2a10bd8fd76db60273e08
|
||||
sha1: b2430836d5fedb11ae9a680f14dedef0d41ed92e
|
||||
note: "Installed only when the hard disk is enabled. Differs from the firmware carried by current AppleWin"
|
||||
|
||||
character_generators:
|
||||
mechanism: "PNG converted to XPM by the Makefile, included at Video.cpp:43-47"
|
||||
selection: "machine type, then g_KeyboardLanguage (Video.cpp:1264-1291)"
|
||||
mechanism: "PNG converted to XPM by CMake, included at src/apple2/Video.cpp:37-41"
|
||||
selection: "machine type, then keyboard language (src/apple2/Video.cpp:1242-1266)"
|
||||
accepted_geometry: "128x128, or 128x256 for the Euro ROMs carrying a second language"
|
||||
images:
|
||||
- filename: charset40.png
|
||||
@@ -206,8 +318,8 @@ analysis:
|
||||
sha1: f86bd5238604247e04d616850f244b489daef18d
|
||||
|
||||
symbol_tables:
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:48-58"
|
||||
lookup: "g_sProgramDir + filename, and g_sProgramDir is never assigned"
|
||||
source_ref: "src/Debugger/Debugger_Symbols.cpp:64-74"
|
||||
lookup: "g_state.program_dir + filename, and g_state.program_dir is never assigned"
|
||||
preloaded_at_init:
|
||||
- APPLE2E.SYM
|
||||
- A2_BASIC.SYM
|
||||
@@ -220,17 +332,8 @@ analysis:
|
||||
- A2_DOS33.SYM
|
||||
- A2_PRODOS.SYM
|
||||
note: >
|
||||
Only APPLE2E.SYM and A2_BASIC.SYM are distributed with the emulator and
|
||||
copied to the build output by the Makefile (:98-99,205-206). The user
|
||||
slots and the remaining tables have no shipped counterpart.
|
||||
|
||||
debugger_scripts:
|
||||
- filename: DebuggerAutoRun.txt
|
||||
source_ref: "src/Debugger/Debug.cpp:8745-8755"
|
||||
note: >
|
||||
Run once through CmdOutputRun when the debugger first initialises, with
|
||||
g_bReportMissingScripts cleared so absence is silent. Holds debugger
|
||||
commands written by the user and has no counterpart in the source tree.
|
||||
Only APPLE2E.SYM and A2_BASIC.SYM are distributed with the emulator, in
|
||||
res/. The user slots and the remaining tables have no shipped counterpart.
|
||||
|
||||
generated_files:
|
||||
written_only:
|
||||
@@ -248,8 +351,6 @@ analysis:
|
||||
|
||||
unused_resources:
|
||||
- filename: font.bmp
|
||||
reason: "Asset_LoadBMP (asset.cpp:37-51) has no call sites and is not declared in asset.h"
|
||||
- filename: icon.bmp
|
||||
reason: "Asset_LoadBMP (asset.cpp:37-51) has no call sites and is not declared in asset.h"
|
||||
reason: "shipped in res/ and named by no source file at this revision"
|
||||
- filename: fixedsys-excelsior-regular.ttf
|
||||
reason: "no TTF symbol in the tree and no SDL_ttf in the Makefile link line"
|
||||
reason: "shipped in res/ and named by no source file at this revision"
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/timoinutilis/lowres-nx"
|
||||
upstream: "https://github.com/timoinutilis/lowres-nx"
|
||||
profiled_date: "2026-03-25"
|
||||
source_commit: "85c80181d26bb5c2147ebc76bfc48bce9f8d73a8"
|
||||
source_commit: "35adc1a215e975be964b2ef4b652117acd7beba1"
|
||||
core_version: "v1.2"
|
||||
display_name: "LowRes NX"
|
||||
cores:
|
||||
@@ -19,8 +19,8 @@ notes: |
|
||||
the same repository.
|
||||
|
||||
retro_load_game() copies the .nx source code into memory
|
||||
(libretro_main.c:490-493) and compiles it with the built-in interpreter.
|
||||
The boot intro is a string constant embedded in boot_intro.c:26. Default
|
||||
(libretro/libretro_main.c:490-493) and compiles it with the built-in interpreter.
|
||||
The boot intro is a string constant embedded in core/boot_intro.c:26. Default
|
||||
characters and charsets are compiled-in C arrays. The core never calls
|
||||
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No BIOS, firmware, or external
|
||||
files required.
|
||||
|
||||
+4
-4
@@ -9,7 +9,7 @@ bios_mode: agnostic
|
||||
source: "https://github.com/libretro/ps2"
|
||||
upstream: "https://github.com/PCSX2/pcsx2"
|
||||
profiled_date: "2026-03-25"
|
||||
source_commit: "60c9c5793efc46ddca70736f30f639a1d22674b8"
|
||||
source_commit: "0e9057b73bd128a775aa9e59310d68692838e96c"
|
||||
core_version: "Git"
|
||||
display_name: "Sony - PlayStation 2 (LRPS2)"
|
||||
cores: [lrps2, pcsx2]
|
||||
@@ -89,7 +89,7 @@ files:
|
||||
path: "pcsx2/resources/GameIndex.yaml"
|
||||
required: false
|
||||
description: "game compatibility database"
|
||||
source_ref: "pcsx2/GameDatabase.cpp:47, pcsx2/GameDatabase.cpp:904"
|
||||
source_ref: "pcsx2/GameDatabase.cpp:48, pcsx2/GameDatabase.cpp:981"
|
||||
note: >
|
||||
YAML database of per-game patches, settings overrides, and compatibility fixes.
|
||||
OSD warning shown if missing. Some games may not boot or have issues without it.
|
||||
@@ -98,7 +98,7 @@ files:
|
||||
path: "pcsx2/resources/cheats_ws.zip"
|
||||
required: false
|
||||
description: "widescreen patches archive"
|
||||
source_ref: "pcsx2/VMManager.cpp:357-370"
|
||||
source_ref: "pcsx2/VMManager.cpp:375-388"
|
||||
note: >
|
||||
ZIP archive of per-game widescreen (16:9) patches in pnach format.
|
||||
Only loaded when widescreen patches are enabled via core options.
|
||||
@@ -108,7 +108,7 @@ files:
|
||||
path: "pcsx2/resources/cheats_ni.zip"
|
||||
required: false
|
||||
description: "no-interlacing patches archive"
|
||||
source_ref: "pcsx2/VMManager.cpp:392-405"
|
||||
source_ref: "pcsx2/VMManager.cpp:410-423"
|
||||
note: >
|
||||
ZIP archive of per-game no-interlacing patches in pnach format.
|
||||
Only loaded when no-interlacing patches are enabled via core options.
|
||||
|
||||
+6
-1
@@ -17,9 +17,14 @@ notes: |
|
||||
standalone upstream.
|
||||
|
||||
retro_load_game() calls lutro_load(info->path) to load the game
|
||||
directory or archive (libretro.c:216). The core exposes
|
||||
directory or archive (libretro.c:241). The core exposes
|
||||
love.filesystem.getAppdataDirectory to games as the system_dir
|
||||
(filesystem.c:296) but does not load any files from it itself.
|
||||
No BIOS, firmware, or system files required.
|
||||
|
||||
exclusion_note: >
|
||||
The system directory is not read by the core but handed to the Lua game
|
||||
through fs_getAppdataDirectory, so whatever is loaded from it is the game's
|
||||
own content, not a file this core names (filesystem.c:291-303).
|
||||
|
||||
files: []
|
||||
+70
-70
@@ -269,7 +269,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: igs-pgm
|
||||
source_ref: "src/mame/igs/pgm.cpp:5545"
|
||||
source_ref: "src/mame/igs/pgm.cpp:5519"
|
||||
contents:
|
||||
- name: pgm_p02s.u20
|
||||
size: 131072
|
||||
@@ -552,7 +552,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sammy-atomiswave
|
||||
source_ref: "src/mame/sega/dc_atomiswave.cpp:1519"
|
||||
source_ref: "src/mame/sega/dc_atomiswave.cpp:1480"
|
||||
contents:
|
||||
- name: bios0.ic23
|
||||
size: 131072
|
||||
@@ -689,7 +689,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-stv
|
||||
source_ref: "src/mame/sega/stv.cpp:4068"
|
||||
source_ref: "src/mame/sega/stv.cpp:3949"
|
||||
contents:
|
||||
- name: epr-23603.ic8
|
||||
size: 524288
|
||||
@@ -907,7 +907,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-triforce
|
||||
source_ref: "src/mame/sega/triforce.cpp:1310"
|
||||
source_ref: "src/mame/sega/triforce.cpp:1304"
|
||||
contents:
|
||||
- name: triforce_bootrom.bin
|
||||
size: 2097152
|
||||
@@ -917,7 +917,7 @@ files:
|
||||
- name: shtzone.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sega/shtzone.cpp:376"
|
||||
source_ref: "src/mame/sega/shtzone.cpp:378"
|
||||
contents:
|
||||
- name: epr10894a.20
|
||||
size: 16384
|
||||
@@ -927,7 +927,7 @@ files:
|
||||
- name: sammymdl.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sigma/sammymdl.cpp:1025"
|
||||
source_ref: "src/mame/sigma/sammymdl.cpp:1027"
|
||||
contents:
|
||||
- name: vm1211l01.u2
|
||||
description: IPL Ver. 5.0
|
||||
@@ -950,7 +950,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megaplay
|
||||
source_ref: "src/mame/sega/megaplay.cpp:1018"
|
||||
source_ref: "src/mame/sega/megaplay.cpp:1016"
|
||||
contents:
|
||||
- name: ep15294.ic2
|
||||
size: 131072
|
||||
@@ -990,7 +990,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megatech
|
||||
source_ref: "src/mame/sega/megatech.cpp:1430"
|
||||
source_ref: "src/mame/sega/megatech.cpp:1442"
|
||||
contents:
|
||||
- name: epr-12664.20
|
||||
description: Ver 1
|
||||
@@ -1226,7 +1226,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-playch10
|
||||
source_ref: "src/mame/nintendo/playch10.cpp:2981"
|
||||
source_ref: "src/mame/nintendo/playch10.cpp:2982"
|
||||
contents:
|
||||
- name: pch1-c__8t_e-2.8t
|
||||
size: 16384
|
||||
@@ -1402,7 +1402,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: commodore-cubo
|
||||
source_ref: "src/mame/amiga/cubo.cpp:1435"
|
||||
source_ref: "src/mame/amiga/cubo.cpp:1433"
|
||||
contents:
|
||||
- name: 391640-03.u6a
|
||||
size: 1048576
|
||||
@@ -1436,7 +1436,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: namco-system573
|
||||
source_ref: "src/mame/konami/ksys573.cpp:6415"
|
||||
source_ref: "src/mame/konami/ksys573.cpp:6289"
|
||||
contents:
|
||||
- name: 700a01.22g
|
||||
description: Standard
|
||||
@@ -1473,7 +1473,7 @@ files:
|
||||
- name: konamigx.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/konami/konamigx.cpp:4191"
|
||||
source_ref: "src/mame/konami/konamigx.cpp:4193"
|
||||
contents:
|
||||
- name: 300a01.34k
|
||||
size: 131072
|
||||
@@ -1484,7 +1484,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gv
|
||||
source_ref: "src/mame/konami/konamigv.cpp:1447"
|
||||
source_ref: "src/mame/konami/konamigv.cpp:1444"
|
||||
contents:
|
||||
- name: 999a01.7e
|
||||
size: 524288
|
||||
@@ -1494,7 +1494,7 @@ files:
|
||||
- name: kviper.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/konami/viper.cpp:3213"
|
||||
source_ref: "src/mame/konami/viper.cpp:3267"
|
||||
contents:
|
||||
- name: 941b01.u25
|
||||
size: 262144
|
||||
@@ -1513,12 +1513,12 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-twinkle
|
||||
source_ref: "src/mame/konami/twinkle.cpp:1636"
|
||||
source_ref: "src/mame/konami/twinkle.cpp:1655"
|
||||
|
||||
- name: bubsys.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/konami/nemesis.cpp:3140"
|
||||
source_ref: "src/mame/konami/nemesis.cpp:3246"
|
||||
contents:
|
||||
- name: boot.bin
|
||||
size: 480
|
||||
@@ -1540,7 +1540,7 @@ files:
|
||||
- name: konendev.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/konami/konendev.cpp:909"
|
||||
source_ref: "src/mame/konami/konendev.cpp:914"
|
||||
contents:
|
||||
- name: 2v02s502_ifu.u190
|
||||
size: 524288
|
||||
@@ -1572,7 +1572,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn1
|
||||
source_ref: "src/mame/sony/zn.cpp:5969"
|
||||
source_ref: "src/mame/sony/zn.cpp:5967"
|
||||
contents:
|
||||
- name: m534002c-13.ic353
|
||||
description: japan
|
||||
@@ -1593,7 +1593,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: capcom-zn2
|
||||
source_ref: "src/mame/sony/zn.cpp:6055"
|
||||
source_ref: "src/mame/sony/zn.cpp:6053"
|
||||
contents:
|
||||
- name: m534002c-59.ic353
|
||||
size: 524288
|
||||
@@ -1607,7 +1607,7 @@ files:
|
||||
- name: coh1000t.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/zn.cpp:5989"
|
||||
source_ref: "src/mame/sony/zn.cpp:5987"
|
||||
contents:
|
||||
- name: m534002c-14.ic353
|
||||
size: 524288
|
||||
@@ -1621,7 +1621,7 @@ files:
|
||||
- name: coh1000a.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/zn.cpp:6015"
|
||||
source_ref: "src/mame/sony/zn.cpp:6013"
|
||||
contents:
|
||||
- name: m534002c-15.ic353
|
||||
size: 524288
|
||||
@@ -1635,7 +1635,7 @@ files:
|
||||
- name: coh1000w.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/zn.cpp:6024"
|
||||
source_ref: "src/mame/sony/zn.cpp:6022"
|
||||
contents:
|
||||
- name: msm27c402zb.ic353
|
||||
size: 524288
|
||||
@@ -1649,7 +1649,7 @@ files:
|
||||
- name: coh1001l.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/zn.cpp:6028"
|
||||
source_ref: "src/mame/sony/zn.cpp:6026"
|
||||
contents:
|
||||
- name: m534002c-17.ic353
|
||||
size: 524288
|
||||
@@ -1663,7 +1663,7 @@ files:
|
||||
- name: coh1002v.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/zn.cpp:6032"
|
||||
source_ref: "src/mame/sony/zn.cpp:6030"
|
||||
contents:
|
||||
- name: coh-1002v.ic353
|
||||
size: 524288
|
||||
@@ -1677,7 +1677,7 @@ files:
|
||||
- name: coh1002e.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/zn.cpp:6038"
|
||||
source_ref: "src/mame/sony/zn.cpp:6036"
|
||||
contents:
|
||||
- name: m27c402cz-54.ic353
|
||||
size: 524288
|
||||
@@ -1691,7 +1691,7 @@ files:
|
||||
- name: coh1002m.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/zn.cpp:6089"
|
||||
source_ref: "src/mame/sony/zn.cpp:6087"
|
||||
contents:
|
||||
- name: m534002c-61.ic353
|
||||
size: 524288
|
||||
@@ -1706,7 +1706,7 @@ files:
|
||||
- name: coh3002t.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/taitogn.cpp:1341"
|
||||
source_ref: "src/mame/sony/taitogn.cpp:1377"
|
||||
contents:
|
||||
- name: m534002c-60.ic353
|
||||
size: 524288
|
||||
@@ -1748,7 +1748,7 @@ files:
|
||||
- name: coh1002t.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/sony/taitogn.cpp:1342"
|
||||
source_ref: "src/mame/sony/taitogn.cpp:1378"
|
||||
contents:
|
||||
- name: m534002c-14.ic353
|
||||
size: 524288
|
||||
@@ -1770,7 +1770,7 @@ files:
|
||||
- name: taitotz.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/taito/taitotz.cpp:3016"
|
||||
source_ref: "src/mame/taito/taitotz.cpp:3014"
|
||||
contents:
|
||||
- name: e68-05-1.ic6
|
||||
size: 524288
|
||||
@@ -1786,7 +1786,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: super-kaneko-nova
|
||||
source_ref: "src/mame/kaneko/suprnova.cpp:2135"
|
||||
source_ref: "src/mame/kaneko/suprnova.cpp:2085"
|
||||
contents:
|
||||
- name: sknsj1.u10
|
||||
size: 524288
|
||||
@@ -1883,7 +1883,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: hyper-neogeo64
|
||||
source_ref: "src/mame/snk/hng64.cpp:3238"
|
||||
source_ref: "src/mame/snk/hng64.cpp:3241"
|
||||
contents:
|
||||
- name: brom1.bin
|
||||
size: 524288
|
||||
@@ -2098,7 +2098,7 @@ files:
|
||||
- name: maxaflex.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/atari/maxaflex.cpp:448"
|
||||
source_ref: "src/mame/atari/maxaflex.cpp:450"
|
||||
contents:
|
||||
- name: atarixl.rom
|
||||
size: 16384
|
||||
@@ -2117,7 +2117,7 @@ files:
|
||||
- name: crysbios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/misc/crystal.cpp:845"
|
||||
source_ref: "src/mame/misc/crystal.cpp:847"
|
||||
contents:
|
||||
- name: mx27l1000.u14
|
||||
description: AMG0110B PCB
|
||||
@@ -2140,7 +2140,7 @@ files:
|
||||
- name: aristmk5.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/acorn/aristmk5.cpp:9303"
|
||||
source_ref: "src/mame/acorn/aristmk5.cpp:9293"
|
||||
|
||||
- name: aristmk6.zip
|
||||
required: true
|
||||
@@ -2558,7 +2558,7 @@ files:
|
||||
- name: allied.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/pinball/allied.cpp:772"
|
||||
source_ref: "src/mame/pinball/allied.cpp:775"
|
||||
contents:
|
||||
- name: 6530-009.u5
|
||||
size: 1024
|
||||
@@ -2576,7 +2576,7 @@ files:
|
||||
- name: gp_110.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/pinball/gp_1.cpp:575"
|
||||
source_ref: "src/mame/pinball/gp_1.cpp:577"
|
||||
contents:
|
||||
- name: a-110.u12
|
||||
size: 2048
|
||||
@@ -2590,7 +2590,7 @@ files:
|
||||
- name: gts1.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/pinball/gts1.cpp:1070"
|
||||
source_ref: "src/mame/pinball/gts1.cpp:1074"
|
||||
contents:
|
||||
- name: a1752cf.u5
|
||||
size: 2048
|
||||
@@ -2604,7 +2604,7 @@ files:
|
||||
- name: recel.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/pinball/recel.cpp:546"
|
||||
source_ref: "src/mame/pinball/recel.cpp:547"
|
||||
contents:
|
||||
- name: a2361.b1
|
||||
size: 1024
|
||||
@@ -2618,7 +2618,7 @@ files:
|
||||
- name: slvrball.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/misc/silverball.cpp:259"
|
||||
source_ref: "src/mame/misc/silverball.cpp:258"
|
||||
contents:
|
||||
- name: bios47.bin
|
||||
description: BIOS47 (Acorp 694XT/694XT1)
|
||||
@@ -3018,7 +3018,7 @@ files:
|
||||
- name: tourvis.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/pce/tourvis.cpp:448"
|
||||
source_ref: "src/mame/pce/tourvis.cpp:451"
|
||||
contents:
|
||||
- name: v4-60.ic29
|
||||
description: V4-60
|
||||
@@ -3079,7 +3079,7 @@ files:
|
||||
- name: v4bios.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/barcrest/mpu4vid.cpp:8698"
|
||||
source_ref: "src/mame/barcrest/mpu4vid.cpp:8696"
|
||||
contents:
|
||||
- name: vid.p1
|
||||
size: 65536
|
||||
@@ -3099,7 +3099,7 @@ files:
|
||||
- name: pumpitup.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/misc/xtom3d.cpp:997"
|
||||
source_ref: "src/mame/misc/xtom3d.cpp:996"
|
||||
contents:
|
||||
- name: mk3_1.0_bios.u22
|
||||
description: mk3 v1.0
|
||||
@@ -3159,7 +3159,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2gs
|
||||
source_ref: "src/mame/apple/apple2gs.cpp:3868-3882"
|
||||
source_ref: "src/mame/apple/apple2gs.cpp:3853-3867"
|
||||
contents:
|
||||
- name: 341s0632-2.bin
|
||||
description: ADB microcontroller ROM (M50740/50741)
|
||||
@@ -3321,7 +3321,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: entex-advision
|
||||
source_ref: "src/mame/entex/advision.cpp:357"
|
||||
source_ref: "src/mame/entex/advision.cpp:471"
|
||||
contents:
|
||||
- name: ins8048-11kdp_n.u5
|
||||
description: Intel 8048 main CPU ROM
|
||||
@@ -3337,7 +3337,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apf-m1000
|
||||
source_ref: "src/mame/apf/apf.cpp:613"
|
||||
source_ref: "src/mame/apf/apf.cpp:642"
|
||||
contents:
|
||||
- name: apf_4000.rom
|
||||
description: Standard BIOS
|
||||
@@ -3373,7 +3373,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: bandai-rx78
|
||||
source_ref: "src/mame/bandai/rx78.cpp:559"
|
||||
source_ref: "src/mame/bandai/rx78.cpp:577"
|
||||
note: "MACHINE_NOT_WORKING."
|
||||
contents:
|
||||
- name: ipl.rom
|
||||
@@ -3714,7 +3714,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: fm7
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2188-2209"
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2186-2207"
|
||||
contents:
|
||||
- name: fbasic300.rom
|
||||
description: F-BASIC 3.00 ROM
|
||||
@@ -3741,7 +3741,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: fm7
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2207-2228"
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2209-2230"
|
||||
contents:
|
||||
- name: initiate.rom
|
||||
description: Initiate ROM (boot sequencer)
|
||||
@@ -3768,7 +3768,7 @@ files:
|
||||
required: false
|
||||
category: bios_zip
|
||||
system: fm7
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2170-2186"
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2169-2184"
|
||||
note: "FM-NEW7 clone, inherits shared ROMs from fm7.zip parent"
|
||||
contents:
|
||||
- name: fbasic302.rom
|
||||
@@ -3830,7 +3830,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: pcw
|
||||
source_ref: "src/mame/amstrad/pcw.cpp:1402"
|
||||
source_ref: "src/mame/amstrad/pcw.cpp:1460"
|
||||
note: |
|
||||
Amstrad PCW8256 parent ROM set. Z80-based word processor/computer (1985).
|
||||
6 machines: pcw8256 (parent), pcw8512, pcw9256, pcw9512, pcw9512+, pcw10.
|
||||
@@ -3852,7 +3852,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: pcw
|
||||
source_ref: "src/mame/amstrad/pcw.cpp:1429"
|
||||
source_ref: "src/mame/amstrad/pcw.cpp:1462"
|
||||
note: |
|
||||
Amstrad PCW9512 clone ROM set. Daisywheel printer variant (1987).
|
||||
Uses different printer MCU (40103.ic109) than 9-pin models.
|
||||
@@ -4276,7 +4276,7 @@ files:
|
||||
- name: ekara.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2930"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2878"
|
||||
contents:
|
||||
- name: ekara.bin
|
||||
size: 1048576
|
||||
@@ -4286,7 +4286,7 @@ files:
|
||||
- name: ekaraa.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2905"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2879"
|
||||
contents:
|
||||
- name: ekara2.bin
|
||||
size: 1048576
|
||||
@@ -4296,7 +4296,7 @@ files:
|
||||
- name: ekaraj.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2932"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2880"
|
||||
contents:
|
||||
- name: ekarajapan.bin
|
||||
size: 1048576
|
||||
@@ -4306,7 +4306,7 @@ files:
|
||||
- name: ekarag.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2933"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2881"
|
||||
contents:
|
||||
- name: ekaragermany.bin
|
||||
size: 2097152
|
||||
@@ -4316,7 +4316,7 @@ files:
|
||||
- name: ekaras.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2908"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2882"
|
||||
contents:
|
||||
- name: ekaraspanish.bin
|
||||
size: 2097152
|
||||
@@ -4326,7 +4326,7 @@ files:
|
||||
- name: isinger.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2936"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2884"
|
||||
contents:
|
||||
- name: kr_isinger.bin
|
||||
size: 1048576
|
||||
@@ -4336,7 +4336,7 @@ files:
|
||||
- name: ekaraphs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2939"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2887"
|
||||
contents:
|
||||
- name: ekaraheadset.bin
|
||||
size: 2097152
|
||||
@@ -4346,7 +4346,7 @@ files:
|
||||
- name: epitch.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:3027"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2890"
|
||||
contents:
|
||||
- name: ekarajapan.bin
|
||||
size: 1048576
|
||||
@@ -4356,7 +4356,7 @@ files:
|
||||
- name: ekaramix.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2919"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2893"
|
||||
contents:
|
||||
- name: ekaramix.bin
|
||||
size: 2097152
|
||||
@@ -4366,7 +4366,7 @@ files:
|
||||
- name: ddrfammt.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2948"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2896"
|
||||
contents:
|
||||
- name: ekara_ddr_ha010_81947.bin
|
||||
size: 2097152
|
||||
@@ -4376,7 +4376,7 @@ files:
|
||||
- name: popira.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2951"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2899"
|
||||
contents:
|
||||
- name: popira.bin
|
||||
size: 1048576
|
||||
@@ -4386,7 +4386,7 @@ files:
|
||||
- name: popirak.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2953"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2901"
|
||||
contents:
|
||||
- name: kr_main.u2
|
||||
size: 1048576
|
||||
@@ -4396,7 +4396,7 @@ files:
|
||||
- name: popira2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2956"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2904"
|
||||
contents:
|
||||
- name: popira2.bin
|
||||
size: 2097152
|
||||
@@ -4406,7 +4406,7 @@ files:
|
||||
- name: taikodp.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2959"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2907"
|
||||
contents:
|
||||
- name: taikodepopira.bin
|
||||
size: 2097152
|
||||
@@ -4416,7 +4416,7 @@ files:
|
||||
- name: jpopira.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2962"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2910"
|
||||
contents:
|
||||
- name: jumpingpopira.bin
|
||||
size: 2097152
|
||||
@@ -4430,7 +4430,7 @@ files:
|
||||
- name: evio.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2965"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2913"
|
||||
contents:
|
||||
- name: evio.bin
|
||||
size: 2097152
|
||||
@@ -4440,7 +4440,7 @@ files:
|
||||
- name: tak_daig.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2944"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2918"
|
||||
contents:
|
||||
- name: robottransformer_unit.bin
|
||||
size: 2097152
|
||||
@@ -4450,7 +4450,7 @@ files:
|
||||
- name: gcslottv.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2972"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2920"
|
||||
contents:
|
||||
- name: sammyslotunit.bin
|
||||
size: 2097152
|
||||
@@ -4460,7 +4460,7 @@ files:
|
||||
- name: hikara.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2951"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2925"
|
||||
contents:
|
||||
- name: hikara.u3
|
||||
size: 1048576
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/mame2000-libretro"
|
||||
upstream: "https://www.mamedev.org"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "f099ba44c7664906fd7e01cbed89d13a7e32dee1"
|
||||
source_commit: "181b42e5da0d2f0c7a2e59244f23633ed594de2e"
|
||||
core_version: "0.37b5"
|
||||
display_name: "Arcade (MAME 2000)"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/mame2003-libretro"
|
||||
upstream: "https://www.mamedev.org"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "6c32fa9fc005d7e924909c6ff4684da9abb00ceb"
|
||||
source_commit: "259339e92d5f63e4b293ce0d42a069f9e8ba2a6a"
|
||||
core_version: "0.78"
|
||||
display_name: "Arcade (MAME 2003)"
|
||||
|
||||
@@ -65,14 +65,14 @@ files:
|
||||
path: "mame2003/history.dat"
|
||||
required: false
|
||||
category: game_data
|
||||
source_ref: "src/datafile.c:327, src/datafile.c:578"
|
||||
source_ref: "src/datafile.c:327, src/datafile.c:563"
|
||||
note: "game history and information database"
|
||||
|
||||
- name: mameinfo.dat
|
||||
path: "mame2003/mameinfo.dat"
|
||||
required: false
|
||||
category: game_data
|
||||
source_ref: "src/datafile.c:327, src/datafile.c:637-641"
|
||||
source_ref: "src/datafile.c:327, src/datafile.c:622-626"
|
||||
note: "game technical information database"
|
||||
|
||||
# SNK Neo Geo MVS/AES
|
||||
@@ -146,14 +146,14 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megaplay
|
||||
source_ref: "src/drivers/segac2.c:4483"
|
||||
source_ref: "src/drivers/segac2.c:4468"
|
||||
|
||||
# Sega Mega Tech
|
||||
- name: megatech.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-megatech
|
||||
source_ref: "src/drivers/segac2.c:4405"
|
||||
source_ref: "src/drivers/segac2.c:4390"
|
||||
|
||||
# DECO Cassette
|
||||
- name: decocass.zip
|
||||
@@ -188,7 +188,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-gx
|
||||
source_ref: "src/drivers/konamigx.c:3392"
|
||||
source_ref: "src/drivers/konamigx.c:3369"
|
||||
|
||||
# Century Electronics CVS
|
||||
- name: cvs.zip
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/mame2003_midway"
|
||||
upstream: "https://www.mamedev.org"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "52d8432b13fb2be032abccdf465b9fee94078080"
|
||||
source_commit: "e657f70b6dc67b4f7f9255bc796c5d5ce168d69c"
|
||||
core_version: "0.78"
|
||||
display_name: "Arcade (MAME 2003 Midway)"
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2003-plus-libretro"
|
||||
upstream: "https://www.mamedev.org"
|
||||
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "d6bf36f65f36853120d7e97cdf4fa3720de66728"
|
||||
source_commit: "3a2f7f39b1733a8e6b2dca6f1197f18b9a74867b"
|
||||
core_version: "2003-Plus"
|
||||
display_name: "Arcade (MAME 2003-Plus)"
|
||||
mame_version: "0.78 (plus backports)"
|
||||
|
||||
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2010-libretro"
|
||||
upstream: "https://github.com/mamedev/mame/tree/mame0139"
|
||||
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
|
||||
profiled_date: "2026-03-22"
|
||||
source_commit: "484456818393505dd4367e6e4c116c573c04a1ec"
|
||||
source_commit: "dff8aadd1c3f38215af3955746d6e19abe0ddcea"
|
||||
core_version: "0.139"
|
||||
display_name: "Arcade (MAME 2010)"
|
||||
mame_version: "0.139"
|
||||
|
||||
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2015-libretro"
|
||||
upstream: "https://github.com/mamedev/mame/tree/mame0160"
|
||||
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "283e04b03c121db9be12632d6bad2fc3e8707248"
|
||||
source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752"
|
||||
core_version: "0.160"
|
||||
display_name: "Arcade (MAME 2015)"
|
||||
mame_version: "0.160"
|
||||
|
||||
@@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2016-libretro"
|
||||
upstream: "https://github.com/mamedev/mame/tree/mame0174"
|
||||
logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg"
|
||||
profiled_date: "2026-03-22"
|
||||
source_commit: "3529f4e2cb8e74c88d83bc9fc9d695f78dc9a975"
|
||||
source_commit: "e3d45e2ba59bac384aa1619687004e504f317b92"
|
||||
core_version: "0.174"
|
||||
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/mame"
|
||||
upstream: "https://github.com/mamedev/mame"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "c1ff660dbddd5b134f549b4881499699cee1ebb6"
|
||||
source_commit: "4fc9a9312baaf34963847f884961ad9793fbbc1d"
|
||||
upstream_commit: "728d957663041fbc943806bf151584acd03e2160"
|
||||
core_version: "0.287"
|
||||
display_name: "Arcade (MAME/Arcade)"
|
||||
@@ -502,7 +502,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sammy-atomiswave
|
||||
source_ref: "src/mame/sega/dc_atomiswave.cpp:1519"
|
||||
source_ref: "src/mame/sega/dc_atomiswave.cpp:1480"
|
||||
contents:
|
||||
- name: bios0.ic23
|
||||
size: 131072
|
||||
@@ -643,7 +643,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: sega-stv
|
||||
source_ref: "src/mame/sega/stv.cpp:4068"
|
||||
source_ref: "src/mame/sega/stv.cpp:3948"
|
||||
contents:
|
||||
- name: epr-23603.ic8
|
||||
size: 524288
|
||||
@@ -1000,7 +1000,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: nintendo-playch10
|
||||
source_ref: "src/mame/nintendo/playch10.cpp:2981"
|
||||
source_ref: "src/mame/nintendo/playch10.cpp:2980"
|
||||
contents:
|
||||
- name: pch1-c__8t_e-2.8t
|
||||
size: 16384
|
||||
@@ -1247,7 +1247,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: konami-twinkle
|
||||
source_ref: "src/mame/konami/twinkle.cpp:1636"
|
||||
source_ref: "src/mame/konami/twinkle.cpp:1643"
|
||||
|
||||
- name: bubsys.zip
|
||||
required: true
|
||||
@@ -1754,7 +1754,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: exidy-maxaflex
|
||||
source_ref: "src/mame/atari/maxaflex.cpp:448"
|
||||
source_ref: "src/mame/atari/maxaflex.cpp:447"
|
||||
contents:
|
||||
- name: atarixl.rom
|
||||
size: 16384
|
||||
|
||||
+32
-32
@@ -251,7 +251,7 @@ files:
|
||||
- name: ekara.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2930"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2878"
|
||||
contents:
|
||||
- name: ekara.bin
|
||||
size: 1048576
|
||||
@@ -261,7 +261,7 @@ files:
|
||||
- name: ekaraa.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2905"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2879"
|
||||
contents:
|
||||
- name: ekara2.bin
|
||||
size: 1048576
|
||||
@@ -271,7 +271,7 @@ files:
|
||||
- name: ekaraj.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2932"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2880"
|
||||
contents:
|
||||
- name: ekarajapan.bin
|
||||
size: 1048576
|
||||
@@ -281,7 +281,7 @@ files:
|
||||
- name: ekarag.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2933"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2881"
|
||||
contents:
|
||||
- name: ekaragermany.bin
|
||||
size: 2097152
|
||||
@@ -291,7 +291,7 @@ files:
|
||||
- name: ekaras.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2908"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2882"
|
||||
contents:
|
||||
- name: ekaraspanish.bin
|
||||
size: 2097152
|
||||
@@ -301,7 +301,7 @@ files:
|
||||
- name: isinger.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2936"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2884"
|
||||
contents:
|
||||
- name: kr_isinger.bin
|
||||
size: 1048576
|
||||
@@ -311,7 +311,7 @@ files:
|
||||
- name: ekaraphs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2939"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2887"
|
||||
contents:
|
||||
- name: ekaraheadset.bin
|
||||
size: 2097152
|
||||
@@ -321,7 +321,7 @@ files:
|
||||
- name: epitch.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:3027"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2890"
|
||||
contents:
|
||||
- name: ekarajapan.bin
|
||||
size: 1048576
|
||||
@@ -331,7 +331,7 @@ files:
|
||||
- name: ekaramix.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2919"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2893"
|
||||
contents:
|
||||
- name: ekaramix.bin
|
||||
size: 2097152
|
||||
@@ -342,7 +342,7 @@ files:
|
||||
- name: ddrfammt.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2948"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2896"
|
||||
contents:
|
||||
- name: ekara_ddr_ha010_81947.bin
|
||||
size: 2097152
|
||||
@@ -352,7 +352,7 @@ files:
|
||||
- name: popira.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2951"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2899"
|
||||
contents:
|
||||
- name: popira.bin
|
||||
size: 1048576
|
||||
@@ -362,7 +362,7 @@ files:
|
||||
- name: popirak.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2953"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2901"
|
||||
contents:
|
||||
- name: kr_main.u2
|
||||
size: 1048576
|
||||
@@ -372,7 +372,7 @@ files:
|
||||
- name: popira2.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2956"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2904"
|
||||
contents:
|
||||
- name: popira2.bin
|
||||
size: 2097152
|
||||
@@ -382,7 +382,7 @@ files:
|
||||
- name: taikodp.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2959"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2907"
|
||||
contents:
|
||||
- name: taikodepopira.bin
|
||||
size: 2097152
|
||||
@@ -392,7 +392,7 @@ files:
|
||||
- name: jpopira.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2962"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2910"
|
||||
contents:
|
||||
- name: jumpingpopira.bin
|
||||
size: 2097152
|
||||
@@ -406,7 +406,7 @@ files:
|
||||
- name: evio.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2965"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2913"
|
||||
contents:
|
||||
- name: evio.bin
|
||||
size: 2097152
|
||||
@@ -416,7 +416,7 @@ files:
|
||||
- name: tak_daig.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2944"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2918"
|
||||
contents:
|
||||
- name: robottransformer_unit.bin
|
||||
size: 2097152
|
||||
@@ -426,7 +426,7 @@ files:
|
||||
- name: gcslottv.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2972"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2920"
|
||||
contents:
|
||||
- name: sammyslotunit.bin
|
||||
size: 2097152
|
||||
@@ -436,7 +436,7 @@ files:
|
||||
- name: hikara.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2951"
|
||||
source_ref: "src/mame/tvgames/xavix.cpp:2925"
|
||||
contents:
|
||||
- name: hikara.u3
|
||||
size: 1048576
|
||||
@@ -482,7 +482,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2
|
||||
source_ref: "src/mame/apple/apple2.cpp:774"
|
||||
source_ref: "src/mame/apple/apple2.cpp:1310"
|
||||
contents:
|
||||
- name: a2.chr
|
||||
description: Character generator ROM
|
||||
@@ -513,7 +513,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2
|
||||
source_ref: "src/mame/apple/apple2.cpp:900"
|
||||
source_ref: "src/mame/apple/apple2.cpp:1311"
|
||||
contents:
|
||||
- name: 341-0036.chr
|
||||
description: Character generator ROM
|
||||
@@ -548,7 +548,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2
|
||||
source_ref: "src/mame/apple/apple2e.cpp:5563"
|
||||
source_ref: "src/mame/apple/apple2e.cpp:6345"
|
||||
contents:
|
||||
- name: 342-0133-a.chr
|
||||
description: Character generator ROM
|
||||
@@ -571,7 +571,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2
|
||||
source_ref: "src/mame/apple/apple2e.cpp:5669"
|
||||
source_ref: "src/mame/apple/apple2e.cpp:6352"
|
||||
contents:
|
||||
- name: 342-0265-a.chr
|
||||
description: Enhanced character generator ROM
|
||||
@@ -656,7 +656,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2gs
|
||||
source_ref: "src/mame/apple/apple2gs.cpp:3868-3882"
|
||||
source_ref: "src/mame/apple/apple2gs.cpp:3853-3867"
|
||||
contents:
|
||||
- name: 341s0632-2.bin
|
||||
description: ADB microcontroller ROM (M50740/50741)
|
||||
@@ -818,7 +818,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: entex-advision
|
||||
source_ref: "src/mame/entex/advision.cpp:357"
|
||||
source_ref: "src/mame/entex/advision.cpp:471"
|
||||
contents:
|
||||
- name: ins8048-11kdp_n.u5
|
||||
description: Intel 8048 main CPU ROM
|
||||
@@ -834,7 +834,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: bandai-rx78
|
||||
source_ref: "src/mame/bandai/rx78.cpp:559"
|
||||
source_ref: "src/mame/bandai/rx78.cpp:577"
|
||||
note: "MACHINE_NOT_WORKING."
|
||||
contents:
|
||||
- name: ipl.rom
|
||||
@@ -1325,7 +1325,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: fm7
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2188-2209"
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2186-2207"
|
||||
contents:
|
||||
- name: fbasic300.rom
|
||||
description: F-BASIC 3.00 ROM
|
||||
@@ -1352,7 +1352,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: fm7
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2207-2228"
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2209-2230"
|
||||
contents:
|
||||
- name: initiate.rom
|
||||
description: Initiate ROM (boot sequencer)
|
||||
@@ -1379,7 +1379,7 @@ files:
|
||||
required: false
|
||||
category: bios_zip
|
||||
system: fm7
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2170-2186"
|
||||
source_ref: "src/mame/fujitsu/fm7.cpp:2169-2184"
|
||||
note: "FM-NEW7 clone, inherits shared ROMs from fm7.zip parent"
|
||||
contents:
|
||||
- name: fbasic302.rom
|
||||
@@ -1578,7 +1578,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: pc60
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1896-1916"
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1742-1765"
|
||||
contents:
|
||||
- name: basicrom.62
|
||||
description: BASIC ROM
|
||||
@@ -1632,7 +1632,7 @@ files:
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: pc60
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1938-1954"
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1793-1824"
|
||||
contents:
|
||||
- name: systemrom1.64
|
||||
description: System ROM 1
|
||||
@@ -1651,7 +1651,7 @@ files:
|
||||
required: false
|
||||
category: bios_zip
|
||||
system: pc60
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1956-1987"
|
||||
source_ref: "src/mame/nec/pc6001.cpp:1826-1870"
|
||||
contents:
|
||||
- name: systemrom1.68
|
||||
description: System ROM 1
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/beetle-gba-libretro"
|
||||
upstream: "https://mednafen.github.io/"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "145d4884ad246e3c16765f6d69decb2a4359b6ae"
|
||||
source_commit: "b158166237b17253188cfdbe73a8a0b9fe4b3a8c"
|
||||
core_version: "v0.9.36"
|
||||
display_name: "Nintendo - Game Boy Advance (Beetle GBA)"
|
||||
cores:
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/beetle-pce-fast-libretro"
|
||||
upstream: "https://mednafen.github.io/"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "b211204c7026dff6e86e79b00185512e2421fff8"
|
||||
source_commit: "95fbd9c51bf0e35aa376a7774e9c02ff927cd991"
|
||||
core_version: "v1.31.0.0"
|
||||
display_name: "NEC - PC Engine / CD (Beetle PCE FAST)"
|
||||
cores: [mednafen_pce_fast, pce_fast, beetle_pce_fast]
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/supafaust"
|
||||
upstream: "https://mednafen.github.io/"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "e25f66765938d33f9ad5850e8d6cd597e55b7299"
|
||||
source_commit: "642d1d1b6684aa7e306a02a89885f3f5456a5157"
|
||||
core_version: "1.29.0"
|
||||
display_name: "Nintendo - SNES / SFC (Beetle Supafaust)"
|
||||
cores: [mednafen_supafaust, supafaust]
|
||||
@@ -19,7 +19,7 @@ systems: [nintendo-snes]
|
||||
notes: >
|
||||
Port of Mednafen's snes_faust module. All special chip firmware
|
||||
emulated via HLE with synthesized data ROMs. No external firmware loading.
|
||||
source_ref: dsp1.cpp:120-177, dsp2.cpp:118-140, cx4.cpp:1548-1656,
|
||||
cart.cpp:129-584, libretro.cpp:496-742
|
||||
source_ref: mednafen/snes_faust/cart/dsp1.cpp:120-177, mednafen/snes_faust/cart/dsp2.cpp:118-140, mednafen/snes_faust/cart/cx4.cpp:1548-1656,
|
||||
mednafen/snes_faust/cart.cpp:129-584, libretro.cpp:496-742
|
||||
|
||||
files: []
|
||||
@@ -8,7 +8,7 @@ core_classification: official_port
|
||||
source: "https://github.com/libretro/Mesen-S"
|
||||
upstream: "https://github.com/SourMesen/Mesen-S"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "d4fca31a6004041d99b02199688f84c009c55967"
|
||||
source_commit: "9e4fdeb9b336470bc96beb8765b2e79c86a2da1e"
|
||||
core_version: "0.4.0"
|
||||
cores: [mesen-s, mesen_s]
|
||||
systems: [nintendo-snes, nintendo-gb, nintendo-gbc, nintendo-super-game-boy, nintendo-satellaview]
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: enhanced_fork
|
||||
source: "https://github.com/nesdev-org/MesenCE"
|
||||
upstream: "https://github.com/SourMesen/Mesen2"
|
||||
profiled_date: "2026-08-06"
|
||||
source_commit: "bec4fe632cb21ec97ad2b39cd6fdc826ecd02753"
|
||||
source_commit: "af2342818ca81a93b346146802047760400fc7b1"
|
||||
core_version: "2.2.1"
|
||||
display_name: "Multi-System (MesenCE)"
|
||||
cores: [mesence, mesen2]
|
||||
@@ -47,21 +47,21 @@ notes: |
|
||||
file listed below, or from a split pair <name>.program.rom + <name>.data.rom
|
||||
(FirmwareHelper.h AttemptLoadDspFirmware). ROM dumps with the firmware
|
||||
appended to the game ROM need no external file (LoadDspFirmware embedded
|
||||
path, FirmwareHelper.h:131-135).
|
||||
path, Core/Shared/FirmwareHelper.h:131-135).
|
||||
|
||||
GB/GBC/SGB boot ROM images are compiled into the core
|
||||
(Core/Gameboy/GbBootRom.h:8,49,99); the external files below override them.
|
||||
Super Game Boy mode falls back to the plain GB core when SGB1.sfc/SGB2.sfc
|
||||
is missing (BaseCartridge.cpp:698-717).
|
||||
is missing (Core/SNES/BaseCartridge.cpp:698-717).
|
||||
|
||||
Satellaview data broadcasts are read from <home>/Satellaview/ as
|
||||
BSX<channel>-<index>.bin (BsxStream.cpp:67-74). Five stream files and
|
||||
BSX<channel>-<index>.bin (Core/SNES/Coprocessors/BSX/BsxStream.cpp:67-74). Five stream files and
|
||||
MesenNesDB.txt ship inside the application binary (Dependencies.zip) and
|
||||
are extracted to the home folder at startup; user-provided replacements
|
||||
are preserved (UI/Utilities/DependencyHelper.cs:14-66). NES and SNES
|
||||
cheat databases (CheatDb.Nes.json, CheatDb.Snes.json) are read directly
|
||||
from the embedded archive and never touch the filesystem
|
||||
(DependencyHelper.cs GetFileContent, CheatDatabaseViewModel.cs:33).
|
||||
(DependencyHelper.cs GetFileContent, UI/ViewModels/CheatDatabaseViewModel.cs:33).
|
||||
|
||||
HdPacks are per-game texture/audio replacements under <home>/HdPacks/,
|
||||
game content rather than system files.
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: frozen_snapshot
|
||||
source: "https://github.com/libretro/mame2015-libretro"
|
||||
upstream: "https://github.com/mamedev/mame/tree/mame0160"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "283e04b03c121db9be12632d6bad2fc3e8707248"
|
||||
source_commit: "0eab132212b28896baeac7d8f2cd8ac25e227752"
|
||||
core_version: "0.160"
|
||||
display_name: "Multi (MESS 2015)"
|
||||
mame_version: "0.159"
|
||||
|
||||
@@ -4,7 +4,7 @@ core_classification: community_fork
|
||||
source: "https://github.com/libretro/meteor-libretro"
|
||||
upstream: "https://github.com/blastrock/meteor"
|
||||
profiled_date: "2026-03-24"
|
||||
source_commit: "e533d300d0561564451bde55a2b73119c768453c"
|
||||
source_commit: "9ea6c358eae6acd1a346647d96b832ccaffad0aa"
|
||||
core_version: "v1.4"
|
||||
display_name: "Nintendo - Game Boy Advance (Meteor)"
|
||||
cores:
|
||||
|
||||
Loaded 100 of 187 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user