feat: refine eighteen profiles and drop a duplicate

cheat.zip under mame4droid was byte-identical to the Arcade copy and
resolves by hash from there.
This commit is contained in:
Abdessamad Derraz committed 2026-08-11 20:30:27 +02:00
1 parent b5f28d7b7f
commit b24c5cdb91
20 files changed
+1422 -40

No files matched your search

Binary file not shown.
+2 -2
View File
@@ -21,7 +21,7 @@ notes: |
Libretro core option "amiberry_kickstart" overrides ROM selection: auto,
kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,
kick40068.A4000, cd32.rom, cdtv.rom. "auto" selects per model.
ref: libretro/libretro.cpp:558,621-640
ref: libretro/libretro.cpp:679,745-764
Libretro ROM search directories (in order): save_dir/Kickstarts,
system_dir/Kickstarts, system_dir/save-data/Kickstarts, system_dir.
@@ -31,7 +31,7 @@ notes: |
Batocera sets this to /userdata/bios/amiga/. Fallback search order:
{home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom,
../System/rom/kick.rom, then ROM database guess.
ref: src/memory.cpp:2030-2072
ref: src/memory.cpp:2104-2146
ROM identification uses SHA1 against WinUAE database (340+ entries) but does
not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key.
+1 -1
View File
@@ -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:90-102, desktop-ui/desktop-ui.cpp:68-75
ref: desktop-ui/settings/settings.hpp:85-97, 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),
+3 -3
View File
@@ -83,13 +83,13 @@ notes: |
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:2243-2331
ref: dos_programs.cpp:2244-2332
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:3578-3637, bios.cpp:13072-13145
ref: dos_programs.cpp:3581-3640, bios.cpp:13142-13215
Glide passthrough loads glide2x.dll, libglide2x.so or libglide2x.dylib.
ref: glide.cpp:353-359, dosbox.cpp:3471-3473
@@ -109,7 +109,7 @@ 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:11321-11330, sdlmain.cpp:7001-7008,
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
+4 -4
View File
@@ -16,7 +16,7 @@ notes: |
ROM scanning (both modes):
Recursive scan of system directory for *_CONTROL.ROM and *.SF2/*.SF3.
ref: dosbox_pure_libretro.cpp:1367-1378
ref: dosbox_pure_libretro.cpp:1399-1410
MT-32 requires matched pair: *_CONTROL.ROM + *_PCM.ROM (PCM name derived
from CONTROL name by replacing CONTROL with PCM, preserving case).
ref: midi_mt32.h:189-199
@@ -24,9 +24,9 @@ notes: |
control, 524288/1048576 = PCM), not by name.
ref: midi_mt32.h:160-166
Files can also be on mounted C: drive (DOSBOX.SF2, MT32_CONTROL.ROM).
ref: dosbox_pure_libretro.cpp:2760-2762
ref: dosbox_pure_libretro.cpp:2803-2805
Cache file DOSBoxPureMidiCache.txt written when scan >2s.
ref: dosbox_pure_libretro.cpp:1393-1413
ref: dosbox_pure_libretro.cpp:1425-1445
Bundled MUNT (header-only mt32emu.h) for MT-32 emulation.
SHA1+size validation at load: unrecognized ROMs rejected (Synth::open fails).
@@ -36,7 +36,7 @@ notes: |
No firmware entries in .info file — all MIDI files optional.
DBP_STANDALONE build mode exists (same MIDI logic, different I/O layer).
ref: dosbox_pure_libretro.cpp:81,1558,2270
ref: dosbox_pure_libretro.cpp:81,1590,2302
files:
# -- MT-32 Control ROMs (64 KB) --
+1 -1
View File
@@ -35,7 +35,7 @@ notes: |
Neo Geo CDZ uses neocdz.zip with parent "neogeo". CD/CDZ BIOS plus
zoom table.
hiscore.dat loaded from system_dir/fbneo/ (hiscore.cpp:406).
hiscore.dat loaded from system_dir/fbneo/ (hiscore.cpp:407).
need_fullpath=false, extensions=zip|7z|cue|ccd, savestate=deterministic.
+2 -2
View File
@@ -35,7 +35,7 @@ notes: |
- NAOMI flat boot ROM search includes epr-21576d.bin fallback not in upstream.
BIOS file search uses prefix + name pattern. The libretro port appends "dc/"
to the system directory (libretro.cpp:1866). All files below are relative
to the system directory (libretro.cpp:1972). All files below are relative
to system_dir/dc/.
The prefix is determined by platform (sb_mem.cpp:32-49):
@@ -53,7 +53,7 @@ notes: |
BIOS[] also declares airlbios and naomigd. No entry of Games[] carries
either name in its bios field and naomi_LoadBios is only ever called with
that field or the literal naomi, so neither archive is opened.
ref: naomi_cart.cpp:78,228-239,475-478, naomi_roms.h:79,191
ref: naomi_cart.cpp:79,229-240,476-479, naomi_roms.h:79,191
files:
# -------------------------------------------------------
+1 -1
View File
@@ -24,7 +24,7 @@ notes: |
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:184-187).
0x3C for NTSC, 0x32 for PAL (Memory.cpp:178-181).
SGM (Super Game Module) expanded RAM requires no additional BIOS files.
+1 -1
View File
@@ -75,7 +75,7 @@ files:
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"
note: >
Always loaded alongside the selected System Card BIOS (libretro.cpp:481).
Always loaded alongside the selected System Card BIOS (libretro.cpp:618).
Required for Game Express CD-ROM titles. game_db.h recognizes Blue Version
(CRC32 51A12D90) and Green Version (CRC32 16AAF05A).
+2 -2
View File
@@ -16,12 +16,12 @@ notes: |
retro_load_game time (libretro.cpp:105-129, function load_bootroms).
Path is built as: system_directory + "/lynxboot.img", no subdirectory.
LoadBios in media.cpp:274 reads exactly 512 bytes (GLYNX_BIOS_SIZE
LoadBios in media.cpp:504 reads exactly 512 bytes (GLYNX_BIOS_SIZE
= 0x200, defines.h:52). If the file size is not 0x200, the load is
rejected with BIOS_LOAD_INVALID_SIZE. After loading, bytes at offset
0x1F8 and 0x1F9 are patched (RAM/MAPCTL registers), then CRC32 is
computed and compared against GLYNX_DB_BIOS_CRC (0x0D973C9D,
game_db.h:38). An invalid CRC triggers a warning log but the BIOS
game_db.h:47). An invalid CRC triggers a warning log but the BIOS
is still marked as loaded (m_is_bios_loaded = true).
No HLE fallback. If the BIOS is not loaded (IsBiosLoaded() returns
+1 -1
View File
@@ -61,5 +61,5 @@ platform_details:
sg1000:
bios_filename: null
note: |
No BIOS support. Memory.cpp:291 returns false from IsBootromEnabled()
No BIOS support. Memory.cpp:379 returns false from IsBootromEnabled()
when IsSG1000() or IsGameGearInSMSMode() is true.
+15 -12
View File
@@ -20,10 +20,11 @@ systems:
mode: standalone
notes: |
Android application forked from Paul Lamb's Mupen64Plus AE and published under
three package ids built from one code line: org.mupen64plusae.v3.fzurita, the
paid .pro and the Amazon .amazon. Those flags gate advertising and Google
Drive backup and nothing else (AppData.java:334-337,
Android fork of Mupen64Plus AE, whose paulscode.android.mupen64plusae
namespace it keeps, published under three package ids built from one code
line: org.mupen64plusae.v3.fzurita, the paid .pro and the Amazon .amazon.
Those flags gate advertising and Google Drive backup and nothing else
(AppData.java:334-337,
DataPrefsActivity.java:173-182, GamePrefsActivity.java:288-296), so the three
packages want the same files. The repository default branch is a 2017 snapshot
of the parent project; the application is built from fz-master, which carries
@@ -62,7 +63,7 @@ notes: |
Transfer Pak carts come from four per player path settings copied into the
working directory as playerN_gb_rom.gb and playerN_gb_ram.gb
(CoreService.java:558-568, CoreInterface.java:196-210,430-452). The core
(CoreService.java:558-568, CoreInterface.java:173-188,219-220,416-453). The core
rejects a cart under 32 KiB and an unknown type byte at 0x147
(device/gb/gb_cart.c:994-1008) and fixes no name, size or hash, so neither the
cart nor its save carries an entry here.
@@ -80,7 +81,7 @@ notes: |
after /system/fonts/DroidSans.ttf fails, which it does on current Android
(TextDrawer.cpp:201-233,235-241, NativeConfigFiles.java:292); the core's OSD,
the other upstream reader of that name, is absent from the Android source list
(mupen64plus-core.mk:24-105). RiceVideoLinux.ini holds rice's per ROM settings
(mupen64plus-core.mk:24-101). RiceVideoLinux.ini holds rice's per ROM settings
(rice Config.cpp:38,933-951), Glide64mk2.ini glide64mk2's
(glide64mk2 Main.cpp:1581-1590), and gln64.conf with gln64rom.conf gln64's
global and per ROM settings (gln64 Config.cpp:245-252,296-300).
@@ -106,16 +107,18 @@ notes: |
(angrylion-plus output/vdac.c:119-165,245-247).
Written rather than obtained: mupen64plus.cfg and the plugin sections in it,
the mempak, eeprom, flashram and sram saves and 64DD disk saves opened with
default content when absent, savestates, screenshots, the texture dump and
cache directories, the GLideN64 shader cache and romInfoCache.cfg
(GlobalPrefs.java:466-484, NativeConfigFiles.java:109-112,276,289).
the mempak, eeprom, flashram and sram saves given default content when absent
(main/main.c:1015-1078,1619-1622) and the 64DD disk save in whichever of the
two formats SaveDiskFormat selects (main/main.c:365,1176-1235), savestates,
screenshots, the texture dump and cache directories, the GLideN64 shader cache
and romInfoCache.cfg (GlobalPrefs.java:466-484,
NativeConfigFiles.java:109-112,276,289).
One file in the tree this build never reads: cxd4's rsp_conf.bin. Its reader
is the zilmar variant of update_conf behind #if !defined(M64P_PLUGIN_API); the
build defines that macro (mupen64plus-rsp-cxd4.mk:8), so the variant compiled
takes its settings from the core config API and ignores the filename it is
handed (mupen64plus-rsp-cxd4 module.c:83-93,239,636-657).
handed (mupen64plus-rsp-cxd4 module.c:83-93,239,637-659).
files:
- name: "64DD_IPL_JP.n64"
@@ -132,7 +135,7 @@ files:
byteswaps after identifying the first word as one of 0x80270740 (z64),
0x40072780 (n64) or 0x27804007 (v64); any other value logs an invalid IPL
and disables 64DD. Size is not checked and no hash is computed.
source_ref: "app/src/main/java/paulscode/android/mupen64plusae/jni/CoreService.java:599-612,622-624, app/src/main/java/paulscode/android/mupen64plusae/jni/CoreInterface.java:455-484, app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java:417,715, mupen64plus-core/upstream/src/main/main.c:1080-1145"
source_ref: "app/src/main/java/paulscode/android/mupen64plusae/jni/CoreService.java:599-612,621-623, app/src/main/java/paulscode/android/mupen64plusae/jni/CoreInterface.java:455-484, app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java:417,715, mupen64plus-core/upstream/src/main/main.c:1080-1145"
- name: "64DD_IPL_US.n64"
aliases: ["64DD_IPL_USA.bin", "IPL_USA.n64"]
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -14,13 +14,13 @@ systems:
notes: |
Complete rewrite of NeoCD in C++11. Scans {system_dir}/neocd/ for any .rom
or .bin file, also inside .zip archives (src/libretro_bios.cpp:69-105,
or .bin file, also inside .zip archives (src/libretro_bios.cpp:70-106,
src/path.cpp:6 NEOCD_SYSTEM_SUBDIR = "neocd").
BIOS identified by binary pattern matching at fixed ROM addresses, not by
filename (src/bios.cpp:167-206). Files are auto byte-swapped if needed
(src/bios.cpp:148-160). Files smaller than 524288 bytes are skipped
(src/libretro_bios.cpp:42).
(src/libretro_bios.cpp:43).
Three hardware families detected: Front Loader, Top Loader, CDZ. Modified
variants recognized: SMKDan 0.07, SMKDan 0.07b, Universe BIOS 3.2,
+3 -3
View File
@@ -17,8 +17,8 @@ notes: |
The core requires the freeware Cave Story distribution placed in
{system_dir}/nxengine/. When launched without content, it looks for
Doukutsu.exe there (libretro.cpp:254-259). When launched with a .exe
content file, it uses the parent directory of that file (libretro.cpp:237).
Doukutsu.exe there (libretro.cpp:257-262). When launched with a .exe
content file, it uses the parent directory of that file (libretro.cpp:240).
At startup (main.cpp:75-90), the core opens Doukutsu.exe and extracts:
ORG music (extractorg.c), PXT sound effects (extractpxt.c), stage tile
@@ -33,7 +33,7 @@ notes: |
The font is compiled-in (bitmap_font.h). The upstream standalone version
uses font.ttf via SDL_ttf.
Valid content extension: .exe (libretro.cpp:109).
Valid content extension: .exe (libretro.cpp:112).
files:
- name: "Doukutsu.exe"
+1 -1
View File
@@ -29,7 +29,7 @@ notes: |
BIOS loading: libretro.c load_bios() lines 145-212.
BIOS selection: libretro_core_options.h lines 52-64.
Voice loading: voice.c init_voice() lines 38-79, called from libretro.c:1025-1032.
Voice loading: voice.c init_voice() lines 38-79, called from libretro.c:1060-1067.
files:
- name: "o2rom.bin"
+1 -1
View File
@@ -31,7 +31,7 @@ notes: |
3. PokeMini_Reset() checks forcefreebios (hardcoded to 0 in the
libretro port, libretro.c:499). Since FreeBIOS is currently loaded
and forcefreebios is 0, it enters the real-BIOS path
(source/PokeMini.c:518-523):
(source/PokeMini.c:503-508):
- Reloads FreeBIOS as a safety fallback
- Checks if CommandLine.bios_file exists on disk
- If found, overwrites PM_BIOS with the real BIOS via
+1 -1
View File
@@ -33,7 +33,7 @@ notes: |
4. Parent folders of WAD directory (recursive, if enabled)
The core accepts .wad, .iwad, .pwad, and .lmp extensions. Game IWADs
it recognizes (d_main.c:133-145): doom2f.wad, doom2.wad, plutonia.wad,
it recognizes (d_main.c:140-152): doom2f.wad, doom2.wad, plutonia.wad,
tnt.wad, freedoom2.wad, doom.wad, doomu.wad, freedoom1.wad,
freedoom.wad, doom1.wad.
+1 -1
View File
@@ -17,7 +17,7 @@ systems:
notes: |
Frozen snapshot of Snes9x 1.52.4, rewritten in C with optimizations
for PS3 (originally called SNES9x Next).
SPC700 IPL ROM (64 bytes) embedded in src/apu.c:3442 as APUROM[64].
SPC700 IPL ROM (64 bytes) embedded in src/apu.c:3643 as APUROM[64].
DSP-1 ROM data (1024 x uint16) embedded in src/dsp.c:219 as DSP1ROM[1024].
All coprocessors (DSP-1/2/3/4, CX4, ST010/011/018, SuperFX, SPC7110,
SA-1, S-DD1, S-RTC, OBC-1) are pure HLE.
+1 -1
View File
@@ -19,7 +19,7 @@ notes: |
Auto-detects BIOS by scanning system_dir for files of known sizes.
ref: src/core/host_interface.cpp:183-243 (FindBIOSImageInDirectory)
Accepts PS1 (512 KB), PS2 (4 MB), and PS3 (0x3E66F0) BIOS images.
Only the first 512 KB are loaded (bios.cpp:83, Image(BIOS_SIZE)).
Only the first 512 KB are loaded (bios.cpp:84, Image(BIOS_SIZE)).
ref: src/core/bios.h:9 (BIOS_SIZE=0x80000, BIOS_SIZE_PS2=0x400000, BIOS_SIZE_PS3=0x3E66F0)
27 known BIOS entries identified by MD5 hash (all PS1 variants).