mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 00:27:20 -05:00
chore: merge settled probe findings
This commit is contained in:
commit
7e3bc4cf0f
16 files changed
+330
-27
No files matched your search
+19
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"generated_at": "2026-10-27T10:27:58Z",
|
||||
"generated_at": "2026-10-28T08:22:38Z",
|
||||
"total_files": 19916,
|
||||
"total_size": 16892318346,
|
||||
"bios_dir": "bios",
|
||||
@@ -279568,6 +279568,24 @@
|
||||
"SCPH-7003.bin": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
"SCPH5501.BIN": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
"SCPH-5501.BIN": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
"SCPH5503.BIN": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
"SCPH-5503.BIN": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
"SCPH7003.BIN": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
"SCPH-7003.BIN": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
"PSX_3.0(A).bin": [
|
||||
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
],
|
||||
|
||||
@@ -15,7 +15,7 @@ cores: [beetle_psx, mednafen_psx, mednafen_psx_hw, "beetle-psx"]
|
||||
systems: [sony-playstation]
|
||||
notes: >
|
||||
Region-based BIOS selection: the core picks JP/NA/EU firmware based on disc region.
|
||||
SHA1 validated with warning on mismatch (does not block loading).
|
||||
SHA1 validated with warning on mismatch (does not block loading): libretro.c:744-756, 853-860.
|
||||
SHA1 and alternate filenames sourced from MAME (mame src/mame/sony/psx.cpp).
|
||||
The lists and the checksum search live in libretro.c:622-676,684-776.
|
||||
Override option allows using PSP, PS3, or OpenBIOS as region-free alternative.
|
||||
@@ -43,6 +43,7 @@ files:
|
||||
sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917"
|
||||
md5: "8dd7d5296a650fac7319bce665a6a53c"
|
||||
validation: [sha1]
|
||||
on_mismatch: "warn"
|
||||
mode: both
|
||||
source_ref: "libretro.c:768-776, 3425-3511"
|
||||
aliases: ["SCPH5500.bin", "SCPH-5500.bin"]
|
||||
@@ -58,6 +59,7 @@ files:
|
||||
sha1: "15c94da3cc5a38a582429575af4198c487fe893c"
|
||||
md5: "81328b966e6dcf7ea1e32e55e1c104bb"
|
||||
validation: [size, sha1]
|
||||
on_mismatch: "warn"
|
||||
mode: libretro
|
||||
source_ref: "libretro.c:778-785, libretro.c:3467-3481, libretro.c:3500-3502, libretro.c:6758"
|
||||
|
||||
@@ -72,6 +74,7 @@ files:
|
||||
sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b"
|
||||
md5: "490f666e1afb15b7362b406ed1cea246"
|
||||
validation: [sha1]
|
||||
on_mismatch: "warn"
|
||||
mode: both
|
||||
note: "Picked for REGION_NA: a SYSTEM.CNF serial whose third letter is U (SCUS, SLUS), a licence string naming America, and content whose region cannot be read while the region option stays on auto (libretro.c:2436-2438, 2279, 2330-2335, 3252-3266, 4517). Without it the core logs 'Firmware is missing' and maps its built-in OpenBIOS (libretro.c:846-851, 3425-3511): the runs cited for required booted on OpenBIOS, the other regions' files refused."
|
||||
source_ref: "libretro.c:787-805, 3425-3511"
|
||||
@@ -94,6 +97,7 @@ files:
|
||||
aliases: ["2026-10-27-48269ae11777", "2026-10-27-ba941702c6c2", "2026-10-27-fc95254312c0", "2026-10-27-5a191f2b540b", "2026-10-27-12ba45024f8c", "2026-10-27-a7c1a301bdb0"]
|
||||
hle_fallback: ["2026-10-27-6e97b657aca7", "2026-10-27-699ca140a270", "2026-10-27-ec1ab64f96d3", "2026-10-27-47c3dcceed98", "2026-10-27-607274136f7b", "2026-10-27-ae6d4db96e73"]
|
||||
required: ["2026-10-27-9a154590b873"]
|
||||
validation: ["2026-10-27-ae6d4db96e73", "2026-10-27-c1f4aa5d47cd"]
|
||||
|
||||
# -- Region: Europe (REGION_EU) --
|
||||
|
||||
@@ -106,6 +110,7 @@ files:
|
||||
sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
|
||||
md5: "32736f17079d0b2b7024407c39bd3050"
|
||||
validation: [sha1]
|
||||
on_mismatch: "warn"
|
||||
mode: both
|
||||
source_ref: "libretro.c:807-821, 3425-3511"
|
||||
aliases:
|
||||
@@ -127,6 +132,7 @@ files:
|
||||
sha1: "96880d1ca92a016ff054be5159bb06fe03cb4e14"
|
||||
md5: "c53ca5908936d412331790f4426c6c33"
|
||||
validation: [sha1]
|
||||
on_mismatch: "warn"
|
||||
mode: libretro
|
||||
source_ref: "libretro.c:697-703"
|
||||
aliases: ["PSXONPSP660.bin"]
|
||||
@@ -138,6 +144,7 @@ files:
|
||||
sha1: "c40146361eb8cf670b19fdc9759190257803cab7"
|
||||
md5: "81bbe60ba7a3d1cea1d48c14cbcc647b"
|
||||
validation: [sha1]
|
||||
on_mismatch: "warn"
|
||||
mode: libretro
|
||||
source_ref: "libretro.c:705-711"
|
||||
aliases: ["PS1_ROM.bin"]
|
||||
|
||||
@@ -19,7 +19,8 @@ notes: >
|
||||
Default is "auto" which searches system dir for listed filenames, then scans all files.
|
||||
Region detection reads bytes at offset 0x7ff51: " E" = EU, " J" = JP, else US.
|
||||
Three CRC32 hardcoded as JP override: 0x18D0F7D8, 0x3B601FC8, 0x3539DEF6 (psxonpsp, scph1000).
|
||||
BIOS validity check: byte pattern at offset 1 (\x00\x08\x3c\x3f) or string "PS compatible" at 0x12c.
|
||||
BIOS validity check: byte pattern at offset 1 (\x00\x08\x3c\x3f) or string "PS compatible" at 0x12c
|
||||
(frontend/libretro.c:3632, 3646-3651): a file failing it is skipped, hence validation [size, signature].
|
||||
Files named "unirom" (case-insensitive) are explicitly skipped.
|
||||
Region fallback: if the matching-region BIOS is missing, any available region BIOS is used over HLE.
|
||||
Three region slots: US (index 0), JP (index 1), EU (index 2) stored in Config.Bios[].
|
||||
@@ -33,7 +34,7 @@ files:
|
||||
size: 524288
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
validation: ["size", "signature"]
|
||||
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[0])"
|
||||
note: "Preferred JP BIOS, searched first by exact filename."
|
||||
|
||||
@@ -45,11 +46,12 @@ files:
|
||||
size: 524288
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
validation: ["size", "signature"]
|
||||
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[1])"
|
||||
note: "Preferred US BIOS, searched first by exact filename. The US slot is the detector's default: a disc takes it for both America licence strings and for any licence that is neither \"Inc.\" (JP) nor \"Euro pe\" (EU), and content without a disc boots it too (libpcsxcore/misc.c:422-453, frontend/libretro.c:2167-2171)."
|
||||
evidence:
|
||||
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
|
||||
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-b43c5feca378"]
|
||||
|
||||
# -- Region: Europe (PSX_REGION_EU = 2) --
|
||||
|
||||
@@ -59,7 +61,7 @@ files:
|
||||
size: 524288
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
validation: ["size", "signature"]
|
||||
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[2])"
|
||||
note: "Preferred EU BIOS, searched first by exact filename."
|
||||
|
||||
@@ -71,7 +73,7 @@ files:
|
||||
size: 524288
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
validation: ["size", "signature"]
|
||||
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[3]), source frontend/libretro.c:3654-3669 (try_use_bios region guess)"
|
||||
note: "The core reads the region out of the image: bytes 0x7ff51 are ' J' in this dump, so it takes the JP slot (' E' takes EU, anything else US), one image per slot, first found kept. The disc licence picks the slot at boot (Config.Bios[Config.PsxRegion]), and a US or EU disc only reaches this file when its own slot is empty. Must be 512 KB."
|
||||
|
||||
@@ -81,11 +83,12 @@ files:
|
||||
size: 524288
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
validation: ["size", "signature"]
|
||||
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[4])"
|
||||
note: "PSone slim model."
|
||||
evidence:
|
||||
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
|
||||
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-f681ea946c3d"]
|
||||
|
||||
- name: "scph7001.bin"
|
||||
description: "SCPH-7001 (v4.1 12-16-97 A)"
|
||||
@@ -93,10 +96,11 @@ files:
|
||||
size: 524288
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
validation: ["size", "signature"]
|
||||
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[5])"
|
||||
evidence:
|
||||
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
|
||||
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-1a14651aeda0"]
|
||||
|
||||
- name: "scph1001.bin"
|
||||
description: "SCPH-1001 (v2.2 12-04-95 A)"
|
||||
@@ -104,11 +108,12 @@ files:
|
||||
size: 524288
|
||||
required: false
|
||||
hle_fallback: true
|
||||
validation: [size]
|
||||
validation: ["size", "signature"]
|
||||
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[6])"
|
||||
note: "Original US model. Last in the explicit filename search list."
|
||||
evidence:
|
||||
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
|
||||
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-ba3e1259ac73"]
|
||||
|
||||
# -- Dynamic scan fallback --
|
||||
# After exhausting listed_bios[], the core calls find_any_bios() which scans
|
||||
|
||||
@@ -23,7 +23,11 @@ notes: |
|
||||
(dep/openbios) boots instead.
|
||||
ref: src/core/system.cpp:650,678-682
|
||||
|
||||
Auto-detects BIOS by scanning system_dir for files of known sizes.
|
||||
The BIOS option of the console region names a file, scph5500.bin,
|
||||
scph5501.bin and scph5502.bin by default, opened by that name with a size
|
||||
check only. When it is missing or of another size the core scans system_dir
|
||||
for files of known sizes and keeps one whose md5 the table knows.
|
||||
ref: src/core/host_interface.cpp:100-133, src/libretro/libretro_core_options.h:96-137
|
||||
ref: src/core/host_interface.cpp:136-194 (FindBIOSImageInDirectory)
|
||||
Accepts PS1 (512 KB), PS2 (4 MB), and PS3 (0x3E66F0) BIOS images.
|
||||
Only the first 512 KB are loaded (src/core/bios.cpp:84, Image(BIOS_SIZE)).
|
||||
@@ -46,39 +50,46 @@ notes: |
|
||||
|
||||
files:
|
||||
- name: "scph5500.bin"
|
||||
found_by: "name"
|
||||
description: "SCPH-5500 (v3.0 09-09-96 J)"
|
||||
region: [japan]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
md5: "8dd7d5296a650fac7319bce665a6a53c"
|
||||
size: 524288
|
||||
validation: [size, md5]
|
||||
source_ref: "source src/core/bios.cpp:49"
|
||||
validation: ["size"]
|
||||
source_ref: "source src/core/bios.cpp:49, source src/core/bios.cpp:82-105, source src/core/host_interface.cpp:100-133, source src/libretro/libretro_core_options.h:96-109"
|
||||
aliases: []
|
||||
note: "Default of swanstation_BIOS_PathNTSCJ, opened by this name with a size check only (512 KB, 4 MB or the PS3 size). The md5 table identifies files in the directory scan, which runs only when the named file is missing or of another size (host_interface.cpp:136-193). A file whose md5 the table lacks still boots, without the Fast Boot patch (bios.cpp:142-146, system.cpp:689, 711)."
|
||||
|
||||
- name: "scph5501.bin"
|
||||
found_by: "name"
|
||||
description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)"
|
||||
region: [north-america, latin-america]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
md5: "490f666e1afb15b7362b406ed1cea246"
|
||||
size: 524288
|
||||
validation: [size, md5]
|
||||
source_ref: "source src/core/bios.cpp:50-51"
|
||||
validation: ["size"]
|
||||
source_ref: "source src/core/bios.cpp:50-51, source src/core/bios.cpp:82-105, source src/core/host_interface.cpp:100-133, source src/libretro/libretro_core_options.h:110-123"
|
||||
aliases: []
|
||||
evidence:
|
||||
hle_fallback: ["2026-10-27-ba53cd101c61", "2026-10-27-f9363c9e87f6"]
|
||||
validation: ["2026-10-27-f9363c9e87f6", "2026-10-27-97e674b2e56e"]
|
||||
note: "Default of swanstation_BIOS_PathNTSCU, opened by this name with a size check only (512 KB, 4 MB or the PS3 size). The md5 table identifies files in the directory scan, which runs only when the named file is missing or of another size (host_interface.cpp:136-193). A file whose md5 the table lacks still boots, without the Fast Boot patch (bios.cpp:142-146, system.cpp:689, 711)."
|
||||
|
||||
- name: "scph5502.bin"
|
||||
found_by: "name"
|
||||
description: "SCPH-5502, 5552 (v3.0 01-06-97 E)"
|
||||
region: [europe, oceania]
|
||||
required: false
|
||||
hle_fallback: true
|
||||
md5: "32736f17079d0b2b7024407c39bd3050"
|
||||
size: 524288
|
||||
validation: [size, md5]
|
||||
source_ref: "source src/core/bios.cpp:52-53"
|
||||
validation: ["size"]
|
||||
source_ref: "source src/core/bios.cpp:52-53, source src/core/bios.cpp:82-105, source src/core/host_interface.cpp:100-133, source src/libretro/libretro_core_options.h:124-137"
|
||||
aliases: []
|
||||
note: "Default of swanstation_BIOS_PathPAL, opened by this name with a size check only (512 KB, 4 MB or the PS3 size). The md5 table identifies files in the directory scan, which runs only when the named file is missing or of another size (host_interface.cpp:136-193). A file whose md5 the table lacks still boots, without the Fast Boot patch (bios.cpp:142-146, system.cpp:689, 711)."
|
||||
|
||||
- name: "psxonpsp660.bin"
|
||||
description: "PSP, SCPH-1000R (v4.5 05-25-00 J)"
|
||||
|
||||
@@ -32,6 +32,18 @@ notes: |
|
||||
ROM cartridge loading, SH1 ROM (CD Block LLE), and MPEG card ROM are
|
||||
standalone-only features disabled in the libretro port.
|
||||
|
||||
The CD block answers every MPEG card authentication as passed
|
||||
(yabause/src/cs2.c:3172-3212) but decodes no MPEG stream: MPEG Get Interrupt
|
||||
always reports 0 (yabause/src/cs2.c:2870-2884), and the port passes no MPEG
|
||||
ROM (yabause/src/libretro/libretro.c:1118). A disc that needs the Movie Card,
|
||||
such as Lunar - Silver Star Story Complete (Japan), passes its check under a
|
||||
real BIOS and stops on a black screen after the publisher logos. The Japanese
|
||||
v1.00 and v1.01 images give the same frames, so the BIOS is not the cause
|
||||
(record 2026-10-28-32cdefcdb231). Under the HLE BIOS the disc prints that it
|
||||
needs the Twin Operator Movie Card or a Hi-Saturn. The edition without the
|
||||
card, Lunar - Silver Star Story (Japan), reaches its title on the same v1.00
|
||||
image (record 2026-10-28-9270d1928be7).
|
||||
|
||||
BIOS loading: retro_load_game() at yabause/src/libretro/libretro.c:1035-1049.
|
||||
Core load: LoadBios() at yabause/src/memory.c:1260-1263, T123Load() at yabause/src/memory.h:196-265.
|
||||
|
||||
|
||||
@@ -235,3 +235,5 @@
|
||||
{"core":{"build_command":"make -j10","commit":"d70ffa7","compiler":["GCC: (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0"],"file":"fix_d70ffa7.so","library_name":"Beetle Saturn","library_version":"v1.32.1","repo":"https://github.com/Abdess/beetle-saturn-libretro","sha256":"4640960402c7be49c634ad54438e78b3b700c1c47edee649d437bc602fe64008"},"emulator":"beetle_saturn","flags":[],"frontend":{"commit":"e95fe0ca9e35e18a05f19245e119d930be100770","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"a65a19d46654bb5a1f22d638e6398d86de49a9812d39f5236353c1c5d69f1453"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.87,3.28,3.61],"load_before":[2.76,3.27,3.61],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-28-cfdac0a0d610","inputs":{"content":{"label":"Redump: Super Gamer No. 5 (Taiwan)","sha1":"f15a32f2aa470ba82cd109758ed899e527ede430","size":727,"tracks":[{"file":"Super Gamer No. 5 (Taiwan) (Track 1).bin","sha1":"b5fa6aa05a9f716faf32044b8bc17cf56f3daca6","size":1923936},{"file":"Super Gamer No. 5 (Taiwan) (Track 2).bin","sha1":"94dfdc235217a33db1a573ac963f3c5ca7040273","size":27377280},{"file":"Super Gamer No. 5 (Taiwan) (Track 3).bin","sha1":"e14e4738349f7620b0089c6db4107a8a00d1b300","size":56551488},{"file":"Super Gamer No. 5 (Taiwan) (Track 4).bin","sha1":"3b0e0cc85c3cbd4a1e7137e6457831a02e151fb6","size":21605472},{"file":"Super Gamer No. 5 (Taiwan) (Track 5).bin","sha1":"f36c171a3e0d0aa84988590f6fc1708881e21cea","size":3243408},{"file":"Super Gamer No. 5 (Taiwan) (Track 6).bin","sha1":"984f04b518f9b0aaedfe7d4c9a355f48751ace4f","size":2330832}]},"env":{"LD_PRELOAD":"faketime.so sha256:a3759cde62c3d2584a9ded1cceeb11ae0b4cff4759c79ce2ecc078a9a0c040a4"},"frame_hash_every":50,"frames":2700,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{"beetle_saturn_mpeg_card":"enabled","beetle_saturn_region":"Japan"},"oracle":{"bios_patterns":[],"error_patterns":["^Cannot open BIOS file ","^BIOS file \".*\" is of an incorrect size\\.","^BIOS file \".*\" could not be fully read"],"error_screens":[],"file":"tests/campaign/oracle.yml","references":[],"sha256":"01899eb8623a201eb7fb1f5fb850b8f7766381d1f5878371d42aea54c2841d92"},"presses":[{"button":10,"frame":1300,"length":10},{"button":13,"frame":1700,"length":10}],"repetitions":1,"warmup":0},"kind":"run","record_version":4,"recorded_at":"2026-10-28T07:57:49+00:00","subject":"issue85-vcd-player-pbc-still","supersedes":null,"variants":[{"flags":[],"label":"default","repetitions":[{"env_unanswered":{"11":1,"13":1,"28":1,"35":3,"37":3,"40":768,"44":1,"45":4,"46":1,"47":2700,"51":1,"55":2,"57":1,"8":1},"files_opened":[{"path":"sega_101.bin","sha1_after":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720","sha1_staged":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720"},{"path":"mpeg_card.bin","sha1_after":"f7171b2a8f1c464696771941225c32d636b59349","sha1_staged":"f7171b2a8f1c464696771941225c32d636b59349"}],"files_probed_absent":[],"fps":307.5478780570594,"fps_nominal":59.82650314089141,"frames":2700,"input_pressed":40,"input_queries":140400,"isolation":"bwrap","last_frame_size":[660,448],"library_name":"Beetle Saturn","library_version":"v1.32.1","loaded":true,"logs":[{"frame":0,"level":"info","text":"Loading \"<content>/Super Gamer No. 5 (Taiwan).cue\""},{"frame":0,"level":"debug","text":"Disc 1"},{"frame":0,"level":"debug","text":"- Track 1, LBA: 0 DATA"},{"frame":0,"level":"debug","text":"- Track 2, LBA: 968 DATA"},{"frame":0,"level":"debug","text":"- Track 3, LBA: 12608 DATA"},{"frame":0,"level":"debug","text":"- Track 4, LBA: 36652 DATA"},{"frame":0,"level":"debug","text":"- Track 5, LBA: 45838 DATA"},{"frame":0,"level":"debug","text":"- Track 6, LBA: 47217 DATA"},{"frame":0,"level":"debug","text":"Leadout: 48058"},{"frame":0,"level":"info","text":"Calculating game ID (1 discs)"},{"frame":0,"level":"info","text":"Game ID is: "},{"frame":0,"level":"info","text":"CPU Cache Emulation Mode: Data only"},{"frame":0,"level":"info","text":"Region: 0x1."},{"frame":0,"level":"info","text":"Cart: Backup Memory."},{"frame":0,"level":"info","text":"Controller 1: Control Pad"},{"frame":0,"level":"info","text":"Controller 2: Control Pad"}],"ms_per_frame":3.25152625444052,"observables":{"audio_sha1":"f77540706ad8bbe5edc096b33b669a1c8c065d21","frame_hashes":[[0,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[50,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[100,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[150,"a189f70d4002cace490f589ea46402fa8444ea47"],[200,"b3aac5a14d3b8e71f1ebd8eb4d4312f556a57706"],[250,"f7c2592593ee28d295634326d8c4f793ce3616a1"],[300,"5a4435c3aba5196bcb9ce7b3bcaaae4d49e8f97c"],[350,"d6a2ef328b94496542f3035584deb5a85a0f033d"],[400,"cb1252e78fb273023b4a312686af1e484a7272d9"],[450,"5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb"],[500,"5edec51Line truncated
|
||||
{"core":{"build_command":"make -j10","commit":"d70ffa7","compiler":["GCC: (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0"],"file":"fix_d70ffa7.so","library_name":"Beetle Saturn","library_version":"v1.32.1","repo":"https://github.com/Abdess/beetle-saturn-libretro","sha256":"4640960402c7be49c634ad54438e78b3b700c1c47edee649d437bc602fe64008"},"emulator":"beetle_saturn","flags":["load average reached 3.04 (threshold 3.0)"],"frontend":{"commit":"e95fe0ca9e35e18a05f19245e119d930be100770","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"a65a19d46654bb5a1f22d638e6398d86de49a9812d39f5236353c1c5d69f1453"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[3.04,3.3,3.61],"load_before":[2.87,3.28,3.61],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-28-4738a72da635","inputs":{"content":{"label":"Big Buck Bunny Video CD (identity.json in .cache/test-content/video-cd), cue without FLAGS DCP","sha1":"39b43fce5d0a1a7285c778e2e1d0fc78b6ce29fb","size":142,"tracks":[{"file":"bbb_vcd.bin","sha1":"e7952e60928dba7f3ceb6c3316894f96ad24e175","size":12169248}]},"env":{"LD_PRELOAD":"faketime.so sha256:a3759cde62c3d2584a9ded1cceeb11ae0b4cff4759c79ce2ecc078a9a0c040a4"},"frame_hash_every":50,"frames":2000,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{"beetle_saturn_mpeg_card":"enabled","beetle_saturn_region":"Japan"},"oracle":{"bios_patterns":[],"error_patterns":["^Cannot open BIOS file ","^BIOS file \".*\" is of an incorrect size\\.","^BIOS file \".*\" could not be fully read"],"error_screens":[],"file":"tests/campaign/oracle.yml","references":[],"sha256":"01899eb8623a201eb7fb1f5fb850b8f7766381d1f5878371d42aea54c2841d92"},"presses":[{"button":10,"frame":1300,"length":10}],"repetitions":1,"warmup":0},"kind":"run","record_version":4,"recorded_at":"2026-10-28T07:57:56+00:00","subject":"issue85-vcd-player-boot","supersedes":null,"variants":[{"flags":[],"label":"default","repetitions":[{"env_unanswered":{"11":1,"13":1,"28":1,"35":3,"37":3,"40":768,"44":1,"45":4,"46":1,"47":2000,"51":1,"55":2,"57":1,"8":1},"files_opened":[{"path":"sega_101.bin","sha1_after":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720","sha1_staged":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720"},{"path":"mpeg_card.bin","sha1_after":"f7171b2a8f1c464696771941225c32d636b59349","sha1_staged":"f7171b2a8f1c464696771941225c32d636b59349"}],"files_probed_absent":[],"fps":302.20781762251727,"fps_nominal":59.82650314089141,"frames":2000,"input_pressed":20,"input_queries":104000,"isolation":"bwrap","last_frame_size":[660,448],"library_name":"Beetle Saturn","library_version":"v1.32.1","loaded":true,"logs":[{"frame":0,"level":"info","text":"Loading \"<content>/bbb_vcd.cue\""},{"frame":0,"level":"debug","text":"Disc 1"},{"frame":0,"level":"debug","text":"- Track 1, LBA: 0 DATA"},{"frame":0,"level":"debug","text":"- Track 2, LBA: 450 DATA"},{"frame":0,"level":"debug","text":"Leadout: 5174"},{"frame":0,"level":"info","text":"Calculating game ID (1 discs)"},{"frame":0,"level":"info","text":"Game ID is: "},{"frame":0,"level":"info","text":"CPU Cache Emulation Mode: Data only"},{"frame":0,"level":"info","text":"Region: 0x1."},{"frame":0,"level":"info","text":"Cart: Backup Memory."},{"frame":0,"level":"info","text":"Controller 1: Control Pad"},{"frame":0,"level":"info","text":"Controller 2: Control Pad"}],"ms_per_frame":3.308981242997106,"observables":{"audio_sha1":"e95aba7cee20eb946f007ce7a57d3cf039c4dbd5","frame_hashes":[[0,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[50,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[100,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[150,"a189f70d4002cace490f589ea46402fa8444ea47"],[200,"b3aac5a14d3b8e71f1ebd8eb4d4312f556a57706"],[250,"f7c2592593ee28d295634326d8c4f793ce3616a1"],[300,"5a4435c3aba5196bcb9ce7b3bcaaae4d49e8f97c"],[350,"d6a2ef328b94496542f3035584deb5a85a0f033d"],[400,"cb1252e78fb273023b4a312686af1e484a7272d9"],[450,"5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb"],[500,"5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb"],[550,"5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb"],[600,"993a69e9c69565c3e02ef44107c0d30cda6e3871"],[650,"382b2321bc73f1e9452cddc288387aec5634cfcb"],[700,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[750,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[800,"0deaab413b6b45b653c660e9f5c0bc034749a130"],[850,"0deaab413b6b45b653c660e9f5c0bc034749a130"],[900,"0deaab413b6b45b653c660e9f5c0bc034749a130"],[950,"6038262d8c19661b02b33356ec8fcc9afb330d4d"],[1000,"a4f0faa076ac4755fdd0e869c124daf4c84ac583"],[1050,"301d428c7a84b3201c36f60cb568474b62decb0a"],[1100,"1c1ba468c1d0f3864abd62527f78634007bfbf95"],[1150,"87bfb2a73101125367919e48b6dd428ca050e5d5"],[1200,"a4f0faa076ac4755fdd0e869c124daf4c84ac583"],[1250,"6038262d8c19661b02b33356ec8fcc9afb330d4d"],[1300,"a4f0faa076ac4755fdd0e869c124daf4c84ac583"],[1350,"d8Line truncated
|
||||
{"core":{"build_command":"make -j8","commit":"2ce77e2","compiler":["GCC: (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0"],"file":"base_2ce77e2.so","library_name":"Beetle Saturn","library_version":"v1.32.1","repo":"https://github.com/libretro/beetle-saturn-libretro","sha256":"6e9a44698a2eee492e8d7eff67f2bd5634f52de8cc1af7885f334c3f29fcf2bd"},"emulator":"beetle_saturn","flags":["load average reached 3.13 (threshold 3.0)"],"frontend":{"commit":"189ef22b1a295cb91edc8b726041f49d624acc34","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"a65a19d46654bb5a1f22d638e6398d86de49a9812d39f5236353c1c5d69f1453"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[3.13,2.34,2.46],"load_before":[2.36,2.18,2.41],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-28-22e08508ab79","inputs":{"content":{"label":"Redump: Lunar - Silver Star Story Complete (Japan), T-27904G V1.00","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{"LD_PRELOAD":"faketime.so sha256:a3759cde62c3d2584a9ded1cceeb11ae0b4cff4759c79ce2ecc078a9a0c040a4"},"frame_hash_every":50,"frames":2400,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{"beetle_saturn_mpeg_card":"enabled","beetle_saturn_region":"Japan"},"oracle":{"bios_patterns":[],"error_patterns":["^Cannot open BIOS file ","^BIOS file \".*\" is of an incorrect size\\.","^BIOS file \".*\" could not be fully read"],"error_screens":[],"file":"tests/campaign/oracle.yml","references":[],"sha256":"01899eb8623a201eb7fb1f5fb850b8f7766381d1f5878371d42aea54c2841d92"},"presses":[],"repetitions":1,"warmup":0},"kind":"run","record_version":4,"recorded_at":"2026-10-28T09:57:17+00:00","subject":"issue85-lunar-opening-movie","supersedes":null,"variants":[{"flags":[],"label":"default","repetitions":[{"env_unanswered":{"11":1,"13":1,"28":1,"35":3,"37":1,"40":2399,"45":4,"46":1,"47":2400,"51":1,"55":2,"57":1,"8":1,"87":1},"files_opened":[{"path":"sega_101.bin","sha1_after":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720","sha1_staged":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720"},{"path":"mpeg_card.bin","sha1_after":"f7171b2a8f1c464696771941225c32d636b59349","sha1_staged":"f7171b2a8f1c464696771941225c32d636b59349"}],"files_probed_absent":[],"fps":355.2876449338174,"fps_nominal":59.82650314089141,"frames":2400,"input_pressed":0,"input_queries":124800,"isolation":"bwrap","last_frame_size":[330,224],"library_name":"Beetle Saturn","library_version":"v1.32.1","loaded":true,"logs":[{"frame":0,"level":"info","text":"Loading \"<content>/Lunar - Silver Star Story Complete (Japan).cue\""},{"frame":0,"level":"debug","text":"Disc 1"},{"frame":0,"level":"debug","text":"- Track 1, LBA: 0 DATA"},{"frame":0,"level":"debug","text":"- Track 2, LBA: 35891 DATA"},{"frame":0,"level":"debug","text":"- Track 3, LBA: 244897 AUDIO"},{"frame":0,"level":"debug","text":"- Track 4, LBA: 255894 AUDIO"},{"frame":0,"level":"debug","text":"Leadout: 256541"},{"frame":0,"level":"info","text":"Calculating game ID (1 discs)"},{"frame":0,"level":"info","text":"Game ID is: T-27904G"},{"frame":0,"level":"info","text":"This is a Saturn disc."},{"frame":0,"level":"info","text":"Disc Region: \"Japan\""},{"frame":0,"level":"info","text":"CPU Cache Emulation Mode: Data only"},{"frame":0,"level":"info","text":"Region: 0x1."},{"frame":0,"level":"info","text":"Cart: Backup Memory."},{"frame":0,"level":"info","text":"Controller 1: Control Pad"},{"frame":0,"level":"info","text":"Controller 2: Control Pad"}],"ms_per_frame":2.8146208129085912,"observables":{"audio_sha1":"5dc1f44699caf2466d86252acac968454730a1c1","frame_hashes":[[0,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[50,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[100,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[150,"a189f70d4002cace490f589ea46402fa8444ea47"],[200,"b3aac5a14d3b8e71f1ebd8eb4d4312f556a57706"],[250,"f7c2592593ee28d295634326d8c4f793ce3616a1"],[300,"5a4435c3aba5196bcb9ce7b3bcaaae4d49e8f97c"],[350,"d6a2ef328b94496542f3035584deb5a85a0f033d"],[400,"cb1252e78fb273023b4a312686af1e484a7272d9"],[450,"5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb"],[500,"5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb"],[550,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[600,"dcd45679fcd31a423d0e54690e89b52f417d8728"],[650,"dcd45679fLine truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/mednafen_saturn_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"mednafen_saturn_libretro.so","library_name":"Beetle Saturn","library_version":"v1.32.1","repo":null,"sha256":"2cef16a3444d45032ad0ae0d523cbff0e5655f4bc15eb33406c81212f54dc9c1"},"emulator":"beetle_saturn","flags":[],"frontend":{"commit":"448989665ae42a0783dfdf23fb73111fc2be44c2","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.04,2.77,2.94],"load_before":[1.96,2.8,2.96],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-28-90ae07f141fe","inputs":{"content":{"label":"Lunar - Silver Star Story (Japan)","sha1":"aee4e96d37132c53c6405c68e11787a6bc75c972","size":386,"tracks":[{"file":"Lunar - Silver Star Story (Japan) (Track 1).bin","sha1":"6cdaf84cb005605d2961a85bd17e469b1758afbd","size":620977392},{"file":"Lunar - Silver Star Story (Japan) (Track 2).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story (Japan) (Track 3).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":["^Cannot open BIOS file ","^BIOS file \".*\" is of an incorrect size\\.","^BIOS file \".*\" could not be fully read"],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[],"sha256":"f81c6adac3668ef5a0e885b7ec967b5d1273d275a36e05c9b791654b3551b4a2"},"presses":[],"repetitions":1,"warmup":0},"kind":"run","record_version":5,"recorded_at":"2026-10-28T08:29:35+00:00","subject":"run-lunar-silver-star-story-japan-a9160496","supersedes":null,"variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":3,"37":1,"40":3599,"45":4,"46":1,"47":3600,"51":1,"55":2,"57":1,"8":1,"87":1},"files_opened":[{"path":"sega_101.bin","sha1_after":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720","sha1_staged":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720"}],"files_probed_absent":[],"fps":204.61345018747286,"fps_nominal":59.82650314089141,"frames":3600,"input_pressed":0,"input_queries":187200,"isolation":"bwrap","last_frame_size":[330,224],"library_name":"Beetle Saturn","library_version":"v1.32.1","loaded":true,"logs":[{"frame":0,"level":"info","text":"Loading \"<content>/Lunar - Silver Star Story (Japan).cue\""},{"frame":0,"level":"debug","text":"Disc 1"},{"frame":0,"level":"debug","text":"- Track 1, LBA: 0 DATA"},{"frame":0,"level":"debug","text":"- Track 2, LBA: 264171 AUDIO"},{"frame":0,"level":"debug","text":"- Track 3, LBA: 275168 AUDIO"},{"frame":0,"level":"debug","text":"Leadout: 275815"},{"frame":0,"level":"info","text":"Calculating game ID (1 discs)"},{"frame":0,"level":"info","text":"Game ID is: T-27901G"},{"frame":0,"level":"info","text":"This is a Saturn disc."},{"frame":0,"level":"info","text":"Disc Region: \"Japan\""},{"frame":0,"level":"info","text":"CPU Cache Emulation Mode: Full"},{"frame":0,"level":"info","text":"Region: 0x1."},{"frame":0,"level":"info","text":"Cart: Backup Memory."},{"frame":0,"level":"info","text":"Controller 1: Control Pad"},{"frame":0,"level":"info","text":"Controller 2: Control Pad"}],"ms_per_frame":4.8872642491672496,"observables":{"audio_sha1":"fe57d605c0326526e2dc2fd7b595e253e2818b79","frame_hashes":[[0,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[10,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[20,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[30,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[40,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[50,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[60,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[70,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[80,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[90,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[100,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[110,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[120,"208e58925e8430d15d7adf21aee6fa218cf849a6"],[130,"432a43009bc8e86eee6d1b28ffbb4f099b7f0243"],[140,"8fa42647648c955c7f7325eeeb6da2d3aab1ce0b"],[150,"a189f70d4002cace490f589ea46402fa8444ea47"],[160,"09b59ac659ff28512d47365c993b547a6757145d"],[170,"7a4dd710f49ca5fe96e68707e98e1a45ff22ecd8"],[180,"522fc633da7fc703d81fb5f21efa17e8eb15f165"],[190,"ed13a6d189702c1151ea18435aa4fb0443879c52"],[200,"b3aac5a14d3b8e71f1ebd8eb4d4312f556a57706"],[210,"d19c7e4c43e02e6247167c0a2458360d26e51d5f"],[220,"177fe836f2201842f2a813376a4981993f8338b1"Line truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/mednafen_saturn_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"mednafen_saturn_libretro.so","library_name":"Beetle Saturn","library_version":"v1.32.1","repo":null,"sha256":"2cef16a3444d45032ad0ae0d523cbff0e5655f4bc15eb33406c81212f54dc9c1"},"emulator":"beetle_saturn","flags":[],"frontend":{"commit":"448989665ae42a0783dfdf23fb73111fc2be44c2","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.04,2.77,2.94],"load_before":[1.96,2.8,2.96],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-28-6b5b55d3480f","inputs":{"content":{"label":"Lunar - Silver Star Story (Japan)","sha1":"aee4e96d37132c53c6405c68e11787a6bc75c972","size":386,"tracks":[{"file":"Lunar - Silver Star Story (Japan) (Track 1).bin","sha1":"6cdaf84cb005605d2961a85bd17e469b1758afbd","size":620977392},{"file":"Lunar - Silver Star Story (Japan) (Track 2).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story (Japan) (Track 3).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":["^Cannot open BIOS file ","^BIOS file \".*\" is of an incorrect size\\.","^BIOS file \".*\" could not be fully read"],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[{"sha1":"5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb","shows":"the SEGA SATURN logo of the Japanese BIOS v1.01","stage":"bios"},{"sha1":"dcd45679fcd31a423d0e54690e89b52f417d8728","shows":"SEGA, produced by or under license from Sega Enterprises","stage":"bios"},{"sha1":"ae83d3e3ba167fb1c2e59175faf042e4e483b1cd","shows":"the Kadokawa Shoten logo","stage":"game"},{"sha1":"55c544650f06ff9f4a165ea06ac6e534ab0a00a1","shows":"the Game Arts logo on white","stage":"game"},{"sha1":"78865212bfe9d9a946f1ec4985092ccec6d01b67","shows":"the JAM logo on white","stage":"game"},{"sha1":"af869e868d94e8b4c551be5570ade580f5c15ce6","shows":"the Lunar Silver Star Story title over the planet","stage":"game"},{"sha1":"cb64c728de69873915f0bbb3f95ce06dbe305d10","shows":"the Lunar Silver Star Story title over the planet","stage":"game"}],"sha256":"ec2d9f88ce6baf66b359ce008ba62cb34e5a2d7ffa75a5537de116271cb9e661"},"presses":[],"repetitions":1,"warmup":0},"judged_at":"2026-10-28T08:31:16+00:00","judged_by":{"commit":"448989665ae42a0783dfdf23fb73111fc2be44c2","script":"scripts/core_probe.py","script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"kind":"run","record_version":5,"recorded_at":"2026-10-28T08:29:35+00:00","subject":"run-lunar-silver-star-story-japan-a9160496","supersedes":"2026-10-28-90ae07f141fe","variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":3,"37":1,"40":3599,"45":4,"46":1,"47":3600,"51":1,"55":2,"57":1,"8":1,"87":1},"files_opened":[{"path":"sega_101.bin","sha1_after":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720","sha1_staged":"df94c5b4d47eb3cc404d88b33a8fda237eaf4720"}],"files_probed_absent":[],"fps":204.61345018747286,"fps_nominal":59.82650314089141,"frames":3600,"input_pressed":0,"input_queries":187200,"isolation":"bwrap","last_frame_size":[330,224],"library_name":"Beetle Saturn","library_version":"v1.32.1","loaded":true,"logs":[{"frame":0,"level":"info","text":"Loading \"<content>/Lunar - Silver Star Story (Japan).cue\""},{"frame":0,"level":"debug","text":"Disc 1"},{"frame":0,"level":"debug","text":"- Track 1, LBA: 0 DATA"},{"frame":0,"level":"debug","text":"- Track 2, LBA: 264171 AUDIO"},{"frame":0,"level":"debug","text":"- Track 3, LBA: 275168 AUDIO"},{"frame":0,"level":"debug","text":"Leadout: 275815"},{"frame":0,"level":"info","text":"Calculating game ID (1 discs)"},{"frame":0,"level":"info","text":"Game ID is: T-27901G"},{"frame":0,"level":"info","text":"This is a Saturn disc."},{"frame":0,"level":"info","text":"Disc Region: \"Japan\""},{"frame":0,"level":"info","text":"CPU Cache Emulation Mode: Full"},{"frame":0,"level":"info","text":"Region: 0x1."},{"frame":0,"level":"info","text":"Cart: Backup Memory."},{"frame":0,"level":"info","text":"Controller 1: Control Pad"},{"frame":0,"level":"info","text":"Controller 2: Control Pad"}],"ms_per_frame":4.8872642491672496,"observables":{"audio_sha1":"fe57d605c0326526e2dc2fd7b595e253e2818b79","frame_hashes":[[0,"4c96f9da044f34b3000d6392f31189293ec78ee9"],[10,"4Line truncated
|
||||
@@ -25,3 +25,10 @@
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"mednafen_psx_hw_libretro.so","library_version":"0.9.44.1 7fea57a","sha256":"d16c889c9f12bd3265edc3c9d4b0e6e24c1f244d1d8d475235f6a74e65e5b10b"},"emulator":"beetle_psx","evidence":["2026-10-27-ae6d4db96e73"],"field":"required","file":"scph5501.bin","found_at":"2026-10-27T22:23:18+00:00","id":"2026-10-27-8d97aa8e9320","key":"beetle_psx/sony-playstation/scph5501.bin/required","profile_says":true,"rule":"boots_without_file","run_shows":false,"schema_version":1,"statement":"the profile says scph5501.bin is required, and the core boots without it. The table settles hle_fallback from this run, not required","status":"open","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"mednafen_psx_hw_libretro.so","library_version":"0.9.44.1 7fea57a","sha256":"d16c889c9f12bd3265edc3c9d4b0e6e24c1f244d1d8d475235f6a74e65e5b10b"},"emulator":"beetle_psx","evidence":["2026-10-27-ae6d4db96e73","2026-10-27-c1f4aa5d47cd"],"field":"validation","file":"scph5501.bin","found_at":"2026-10-27T22:23:18+00:00","id":"2026-10-27-6c5dd27808b8","key":"beetle_psx/sony-playstation/scph5501.bin/validation","profile_says":["sha1"],"rule":"validation_contradicted","run_shows":{"content":false,"size":false},"schema_version":1,"statement":"the core does not check the content and does not check the size of scph5501.bin: a same-size file of zeros is run, the profile declares validation ['sha1']","status":"open","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"swanstation_libretro.so","library_version":"1.0.0 631f0fb","sha256":"fc65bb2d662c3ad762b611a62ac578f78efd260431d3b8c090f0eb40887a77ea"},"emulator":"swanstation","evidence":["2026-10-27-f9363c9e87f6","2026-10-27-97e674b2e56e"],"field":"validation","file":"scph5501.bin","found_at":"2026-10-27T22:37:43+00:00","id":"2026-10-27-7becd3ea082b","key":"swanstation/sony-playstation/scph5501.bin/validation","profile_says":["size","md5"],"rule":"validation_contradicted","run_shows":{"content":false,"size":true},"schema_version":1,"statement":"the core does not check the content and checks the size of scph5501.bin: a same-size file of zeros is run, the profile declares validation ['md5', 'size']","status":"open","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"mednafen_psx_hw_libretro.so","library_version":"0.9.44.1 7fea57a","sha256":"d16c889c9f12bd3265edc3c9d4b0e6e24c1f244d1d8d475235f6a74e65e5b10b"},"emulator":"beetle_psx","evidence":["2026-10-27-ae6d4db96e73","2026-10-27-c1f4aa5d47cd"],"field":"validation","file":"scph5501.bin","found_at":"2026-10-28T07:16:45+00:00","id":"2026-10-28-7df447e3370d","key":"beetle_psx/sony-playstation/scph5501.bin/validation","profile_says":["sha1"],"reason":"firmware_is_present computes the SHA1, logs 'Firmware found but has invalid SHA1' and returns true (libretro.c:853-860). The load reads the file whatever its size and only logs a size that is neither 512 KB nor 1 MB (libretro.c:3425-3502). The check is declared with on_mismatch: warn.","rule":"validation_contradicted","run_shows":{"content":false,"size":false},"schema_version":1,"statement":"the core does not check the content and does not check the size of scph5501.bin: a same-size file of zeros is run, the profile declares validation ['sha1']","status":"applied","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"mednafen_psx_hw_libretro.so","library_version":"0.9.44.1 7fea57a","sha256":"d16c889c9f12bd3265edc3c9d4b0e6e24c1f244d1d8d475235f6a74e65e5b10b"},"emulator":"beetle_psx","evidence":["2026-10-27-ae6d4db96e73"],"field":"required","file":"scph5501.bin","found_at":"2026-10-28T07:17:02+00:00","id":"2026-10-28-9c0f49d04c7d","key":"beetle_psx/sony-playstation/scph5501.bin/required","profile_says":true,"reason":"Applied by hand in 499e5faa7: required false. When firmware_is_present finds no region BIOS the load copies the built-in OpenBIOS into BIOS ROM (libretro.c:3425-3428, 3505-3511), so the core boots without the file.","rule":"boots_without_file","run_shows":false,"schema_version":1,"statement":"the profile says scph5501.bin is required, and the core boots without it. The table settles hle_fallback from this run, not required","status":"applied","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"swanstation_libretro.so","library_version":"1.0.0 631f0fb","sha256":"fc65bb2d662c3ad762b611a62ac578f78efd260431d3b8c090f0eb40887a77ea"},"emulator":"swanstation","evidence":["2026-10-27-f9363c9e87f6","2026-10-27-97e674b2e56e"],"field":"validation","file":"scph5501.bin","found_at":"2026-10-28T07:17:48+00:00","id":"2026-10-28-15b35fbe2651","key":"swanstation/sony-playstation/scph5501.bin/validation","profile_says":["size","md5"],"reason":"With the default option the core opens scph5501.bin by name through LoadImageFromFile, which checks only the size (host_interface.cpp:124-133, bios.cpp:82-105, libretro_core_options.h:110-123). The md5 is read only by the directory scan (host_interface.cpp:136-193) and the Fast Boot patch (bios.cpp:142-146). validation: [size] and found_by: name.","rule":"validation_contradicted","run_shows":{"content":false,"size":true},"schema_version":1,"statement":"the core does not check the content and checks the size of scph5501.bin: a same-size file of zeros is run, the profile declares validation ['md5', 'size']","status":"applied","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"pcsx_rearmed_libretro.so","library_version":"r26 c881679","sha256":"bfda3f667f8ea8c2f5cc939b970628174b6f491ad32d7f6b143728322df46af6"},"emulator":"pcsx_rearmed","evidence":["2026-10-27-1d4eb1daebe5","2026-10-27-b43c5feca378"],"field":"validation","file":"scph5501.bin","found_at":"2026-10-28T07:18:33+00:00","id":"2026-10-28-6c2748f826b0","key":"pcsx_rearmed/sony-playstation/scph5501.bin/validation","profile_says":["size"],"reason":"try_use_bios skips a listed file that is not 512 KB (frontend/libretro.c:3632) and one whose bytes 1-4 are not 00 08 3c 3f and that lacks \"PS compatible\" at 0x12c (frontend/libretro.c:3646-3651). Zeros fail that header check, so validation: [size, signature].","rule":"validation_contradicted","run_shows":{"content":true,"size":null},"schema_version":1,"statement":"the core checks the content of scph5501.bin: a same-size file of zeros is refused, the profile declares validation ['size']","status":"applied","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"pcsx_rearmed_libretro.so","library_version":"r26 c881679","sha256":"bfda3f667f8ea8c2f5cc939b970628174b6f491ad32d7f6b143728322df46af6"},"emulator":"pcsx_rearmed","evidence":["2026-10-27-1d4eb1daebe5","2026-10-27-f681ea946c3d"],"field":"validation","file":"scph101.bin","found_at":"2026-10-28T07:18:33+00:00","id":"2026-10-28-729308613711","key":"pcsx_rearmed/sony-playstation/scph101.bin/validation","profile_says":["size"],"reason":"try_use_bios skips a listed file that is not 512 KB (frontend/libretro.c:3632) and one whose bytes 1-4 are not 00 08 3c 3f and that lacks \"PS compatible\" at 0x12c (frontend/libretro.c:3646-3651). Zeros fail that header check, so validation: [size, signature].","rule":"validation_contradicted","run_shows":{"content":true,"size":null},"schema_version":1,"statement":"the core checks the content of scph101.bin: a same-size file of zeros is refused, the profile declares validation ['size']","status":"applied","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"pcsx_rearmed_libretro.so","library_version":"r26 c881679","sha256":"bfda3f667f8ea8c2f5cc939b970628174b6f491ad32d7f6b143728322df46af6"},"emulator":"pcsx_rearmed","evidence":["2026-10-27-1d4eb1daebe5","2026-10-27-1a14651aeda0"],"field":"validation","file":"scph7001.bin","found_at":"2026-10-28T07:18:33+00:00","id":"2026-10-28-907aa65be6a3","key":"pcsx_rearmed/sony-playstation/scph7001.bin/validation","profile_says":["size"],"reason":"try_use_bios skips a listed file that is not 512 KB (frontend/libretro.c:3632) and one whose bytes 1-4 are not 00 08 3c 3f and that lacks \"PS compatible\" at 0x12c (frontend/libretro.c:3646-3651). Zeros fail that header check, so validation: [size, signature].","rule":"validation_contradicted","run_shows":{"content":true,"size":null},"schema_version":1,"statement":"the core checks the content of scph7001.bin: a same-size file of zeros is refused, the profile declares validation ['size']","status":"applied","system":"sony-playstation"}
|
||||
{"content":"Bust-A-Move 2 - Arcade Edition (USA)","core":{"file":"pcsx_rearmed_libretro.so","library_version":"r26 c881679","sha256":"bfda3f667f8ea8c2f5cc939b970628174b6f491ad32d7f6b143728322df46af6"},"emulator":"pcsx_rearmed","evidence":["2026-10-27-1d4eb1daebe5","2026-10-27-ba3e1259ac73"],"field":"validation","file":"scph1001.bin","found_at":"2026-10-28T07:18:33+00:00","id":"2026-10-28-dff5c1738685","key":"pcsx_rearmed/sony-playstation/scph1001.bin/validation","profile_says":["size"],"reason":"try_use_bios skips a listed file that is not 512 KB (frontend/libretro.c:3632) and one whose bytes 1-4 are not 00 08 3c 3f and that lacks \"PS compatible\" at 0x12c (frontend/libretro.c:3646-3651). Zeros fail that header check, so validation: [size, signature].","rule":"validation_contradicted","run_shows":{"content":true,"size":null},"schema_version":1,"statement":"the core checks the content of scph1001.bin: a same-size file of zeros is refused, the profile declares validation ['size']","status":"applied","system":"sony-playstation"}
|
||||
@@ -3,7 +3,10 @@
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"49b47355b9504dbefcb0261513b18e9f15dc20a2","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"6f18a8ff979e4a5b182d164aae3448818be0ec5ec596df3db636afe9bae44266"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.77,3.09,3.68],"load_before":[2.46,3.04,3.67],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-27-6ca3d0d1f0ec","inputs":{"content":{"label":"Lunar - Silver Star Story Complete (Japan)","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"error_patterns":[],"error_screens":[],"file":"tests/campaign/oracle.yml","references":[],"sha256":"84a3435916d67c64d1d7a12305d7bea63dcf7f1467ba5cd775cd35c5887f9532"},"presses":[],"repetitions":1,"warmup":0},"kind":"run","record_version":4,"recorded_at":"2026-10-27T14:57:39+00:00","subject":"pack-retroarch-installer-sega-saturn-yabause-lunar-silver-star-story-complete-japan","supersedes":null,"variants":[{"flags":[],"label":"default","repetitions":[{"env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":528.894844119947,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":1.8907350130515017,"observables":{"audio_sha1":"d56615559ec13225a6087ecd5d4d25388c0cf5fd","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4df766a83"],[340,"66e00f667f2da8081debf6bf89bd254a9c668356"],[350,"f65fc3b48796e816e6e9ae0d8fad969c4e6f6a97"],[360,"de1d86de84850a4a1886333db446ac515d69ee90"],[370,"28b07b0a9b91d5701e6c175b74e8f905d2cfb083"],[380,"45ce7a1f263b90c4609d3a0ed08f80b72c8295fb"],[390,"e03c2148d180c5fdbfbeeaaf590aad899a3aa833"],[400,"3f4592d7d2c0ea8ad9d472c20cb1aa8564edb86Line truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"83712af0cea136bfc15a7088c06c27af028d3251","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"a65a19d46654bb5a1f22d638e6398d86de49a9812d39f5236353c1c5d69f1453"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.87,2.88,2.84],"load_before":[2.84,2.87,2.83],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-27-cb23fba56e9e","inputs":{"content":{"label":"Lunar - Silver Star Story Complete (Japan)","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"file":"tests/campaign/oracle.yml","references":[],"sha256":"a0d7d28caa5f147cc3199d6dca5d1500d9a05b91dd234eb6e5900bdd0245a555"},"presses":[],"repetitions":1,"warmup":0},"kind":"run","record_version":4,"recorded_at":"2026-10-27T22:57:52+00:00","subject":"pack-retroarch-pack-sega-saturn-yabause-lunar-silver-star-story-complete-japan","supersedes":null,"variants":[{"flags":[],"label":"default","repetitions":[{"env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":523.7411831004291,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":1.9093400180604982,"observables":{"audio_sha1":"d56615559ec13225a6087ecd5d4d25388c0cf5fd","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4df766a83"],[340,"66e00f667f2da8081debf6bf89bd254a9c668356"],[350,"f65fc3b48796e816e6e9ae0d8fad969c4e6f6a97"],[360,"de1d86de84850a4a1886333db446ac515d69ee90"],[370,"28b07b0a9b91d5701e6c175b74e8f905d2cfb083"],[380,"45ce7a1f263b90c4609d3a0ed08f80b72c8295fb"],[390,"e03c2148d180c5fdbfbeeaaf590aad899a3aa833"],[400,"3f4592d7d2c0ea8ad9d472c2Line truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"83712af0cea136bfc15a7088c06c27af028d3251","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"a65a19d46654bb5a1f22d638e6398d86de49a9812d39f5236353c1c5d69f1453"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.64,2.74,2.79],"load_before":[2.31,2.68,2.77],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-27-52c9e9e9b49e","inputs":{"content":{"label":"Lunar - Silver Star Story Complete (Japan)","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"file":"tests/campaign/oracle.yml","references":[],"sha256":"a0d7d28caa5f147cc3199d6dca5d1500d9a05b91dd234eb6e5900bdd0245a555"},"presses":[],"repetitions":1,"warmup":0},"kind":"run","record_version":4,"recorded_at":"2026-10-27T23:06:05+00:00","subject":"pack-retroarch-installer-sega-saturn-yabause-lunar-silver-star-story-complete-japan","supersedes":null,"variants":[{"flags":[],"label":"default","repetitions":[{"env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":516.3419427297098,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":1.9367010836140253,"observables":{"audio_sha1":"d56615559ec13225a6087ecd5d4d25388c0cf5fd","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4df766a83"],[340,"66e00f667f2da8081debf6bf89bd254a9c668356"],[350,"f65fc3b48796e816e6e9ae0d8fad969c4e6f6a97"],[360,"de1d86de84850a4a1886333db446ac515d69ee90"],[370,"28b07b0a9b91d5701e6c175b74e8f905d2cfb083"],[380,"45ce7a1f263b90c4609d3a0ed08f80b72c8295fb"],[390,"e03c2148d180c5fdbfbeeaaf590aad899a3aa833"],[400,"3f4592d7d2c0ea8ad9dLine truncated
|
||||
{"check":{"claim":"The image the RetroArch pack serves as saturn_bios.bin (Saturn BIOS v1.00, Japan) is why Yabause stops on Lunar - Silver Star Story Complete (Japan).","method":"Nightly libretro Yabause, Lunar - Silver Star Story Complete (Japan), 3600 frames with no input, frames sampled every 30. saturn_bios.bin is the pack's v1.00 Japan image, then v1.01 Japan (sega_101.bin), then absent so the core runs its HLE BIOS. Each variant runs once in a fresh process.","observable":"frame_hashes","result":{"groups":[{"value":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[330,"d72d4f698ccc220893bca840561473a4df766a83"],[360,"de1d86de84850a4a1886333db446ac515d69ee90"],[390,"e03c2148d180c5fdbfbeeaaf590aad899a3aa833"],[420,"2851bbed77d85f4c06af2b0abc93cb5a7ddef4bb"],[450,"1f1ddd5e434a82b54be476ac95b6bfe7925a92b5"],[480,"1f1ddd5e434a82b54be476ac95b6bfe7925a92b5"],[510,"1f1ddd5e434a82b54be476ac95b6bfe7925a92b5"],[540,"1f1ddd5e434a82b54be476ac95b6bfe7925a92b5"],[570,"4640f0f99d6974bbdd86f1906382674f3e1ef319"],[600,"1bdd0d3a315fc85bf0ac2e74be512ccf711ee9aa"],[630,"1bdd0d3a315fc85bf0ac2e74be512ccf711ee9aa"],[660,"1bdd0d3a315fc85bf0ac2e74be512ccf711ee9aa"],[690,"1bdd0d3a315fc85bf0ac2e74be512ccf711ee9aa"],[720,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[750,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[780,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[810,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[840,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[870,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[900,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[930,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[960,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[990,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1020,"26735d2e301ae9f08e471d9ba1cc20f7c8080690"],[1050,"af1cac6b29a68a9dab27bd8ee26c7e543f39cd03"],[1080,"af1cac6b29a68a9dab27bd8ee26c7e543f39cd03"],[1110,"af1cac6b29a68a9dab27bd8ee26c7e543f39cd03"],[1140,"af1cac6b29a68a9dab27bd8ee26c7e543f39cd03"],[1170,"cf47a03f70da09967bb26d9da6f39abfeac266c4"],[1200,"c3a5ff6ad0a6b414a75043b8550cce13fa75ce27"],[1230,"c3a5ff6ad0a6b414a75043b8550cce13fa75ce27"],[1260,"c3a5ff6ad0a6b414a75043b8550cce13fa75ce27"],[1290,"c3a5ff6ad0a6b414a75043b8550cce13fa75ce27"],[1320,"c4657a86e4e6f4056e280647d786847a74ab707d"],[1350,"56e8ca573b876f7975d04ab6cd67c1e2f9a0ee20"],[1380,"25df8806f67e4cc34d4e5584600218b2131c930c"],[1410,"25df8806f67e4cc34d4e5584600218b2131c930c"],[1440,"25df8806f67e4cc34d4e5584600218b2131c930c"],[1470,"25df8806f67e4cc34d4e5584600218b2131c930c"],[1500,"39c1e510f0ed9847dfb115d67a997ba3d6615601"],[1530,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1560,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1590,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1620,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1650,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1680,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1710,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1740,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1770,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1800,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1830,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1860,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1890,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1920,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1950,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[1980,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2010,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2040,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2070,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2130,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2160,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2190,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2220,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2250,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2280,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2310,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2340,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2370,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2400,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2430,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2460,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2490,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2520,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2550,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2580,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2610,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2640,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2670,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[2700,"d8Line truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"49b47355b9504dbefcb0261513b18e9f15dc20a2","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"6f18a8ff979e4a5b182d164aae3448818be0ec5ec596df3db636afe9bae44266"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.8,3.35,3.9],"load_before":[2.78,3.35,3.9],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-27-fa1b68b57720","inputs":{"content":{"label":"Lunar - Silver Star Story Complete (Japan)","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[],"sha256":"f81c6adac3668ef5a0e885b7ec967b5d1273d275a36e05c9b791654b3551b4a2"},"presses":[],"repetitions":1,"warmup":0},"judged_at":"2026-10-28T04:24:04+00:00","judged_by":{"commit":"43562cbebee24a5ff09054fa7ff36c03365c21cc","script":"scripts/core_probe.py","script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"kind":"run","record_version":5,"recorded_at":"2026-10-27T14:53:56+00:00","subject":"pack-retroarch-pack-sega-saturn-yabause-lunar-silver-star-story-complete-japan","supersedes":"2026-10-27-8629ae6542c5","variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":527.5928272960629,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":1.8954010522187066,"observables":{"audio_sha1":"d56615559ec13225a6087ecd5d4d25388c0cf5fd","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4df766a83"Line truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"49b47355b9504dbefcb0261513b18e9f15dc20a2","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"6f18a8ff979e4a5b182d164aae3448818be0ec5ec596df3db636afe9bae44266"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.77,3.09,3.68],"load_before":[2.46,3.04,3.67],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-27-c499ca28a130","inputs":{"content":{"label":"Lunar - Silver Star Story Complete (Japan)","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[],"sha256":"f81c6adac3668ef5a0e885b7ec967b5d1273d275a36e05c9b791654b3551b4a2"},"presses":[],"repetitions":1,"warmup":0},"judged_at":"2026-10-28T04:24:04+00:00","judged_by":{"commit":"43562cbebee24a5ff09054fa7ff36c03365c21cc","script":"scripts/core_probe.py","script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"kind":"run","record_version":5,"recorded_at":"2026-10-27T14:57:39+00:00","subject":"pack-retroarch-installer-sega-saturn-yabause-lunar-silver-star-story-complete-japan","supersedes":"2026-10-27-6ca3d0d1f0ec","variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":528.894844119947,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":1.8907350130515017,"observables":{"audio_sha1":"d56615559ec13225a6087ecd5d4d25388c0cf5fd","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4dfLine truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"83712af0cea136bfc15a7088c06c27af028d3251","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"a65a19d46654bb5a1f22d638e6398d86de49a9812d39f5236353c1c5d69f1453"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.87,2.88,2.84],"load_before":[2.84,2.87,2.83],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-27-fa2f915ee5e8","inputs":{"content":{"label":"Lunar - Silver Star Story Complete (Japan)","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[],"sha256":"f81c6adac3668ef5a0e885b7ec967b5d1273d275a36e05c9b791654b3551b4a2"},"presses":[],"repetitions":1,"warmup":0},"judged_at":"2026-10-28T04:24:04+00:00","judged_by":{"commit":"43562cbebee24a5ff09054fa7ff36c03365c21cc","script":"scripts/core_probe.py","script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"kind":"run","record_version":5,"recorded_at":"2026-10-27T22:57:52+00:00","subject":"pack-retroarch-pack-sega-saturn-yabause-lunar-silver-star-story-complete-japan","supersedes":"2026-10-27-cb23fba56e9e","variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":523.7411831004291,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":1.9093400180604982,"observables":{"audio_sha1":"d56615559ec13225a6087ecd5d4d25388c0cf5fd","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4df766aLine truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"83712af0cea136bfc15a7088c06c27af028d3251","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"a65a19d46654bb5a1f22d638e6398d86de49a9812d39f5236353c1c5d69f1453"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.64,2.74,2.79],"load_before":[2.31,2.68,2.77],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-27-77b21e9647b5","inputs":{"content":{"label":"Lunar - Silver Star Story Complete (Japan)","sha1":"7a609a9b579de648197ccfb5ab7bf4b3beb07d95","size":554,"tracks":[{"file":"Lunar - Silver Star Story Complete (Japan) (Track 1).bin","sha1":"b6d71e1c96211af46d83278eccf7d6827a57d004","size":83710032},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 2).bin","sha1":"c2406d2953cec7f9fe5826aa71c7359c2baeb3a7","size":491934912},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 3).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story Complete (Japan) (Track 4).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[],"sha256":"f81c6adac3668ef5a0e885b7ec967b5d1273d275a36e05c9b791654b3551b4a2"},"presses":[],"repetitions":1,"warmup":0},"judged_at":"2026-10-28T04:24:04+00:00","judged_by":{"commit":"43562cbebee24a5ff09054fa7ff36c03365c21cc","script":"scripts/core_probe.py","script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"kind":"run","record_version":5,"recorded_at":"2026-10-27T23:06:05+00:00","subject":"pack-retroarch-installer-sega-saturn-yabause-lunar-silver-star-story-complete-japan","supersedes":"2026-10-27-52c9e9e9b49e","variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":516.3419427297098,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":1.9367010836140253,"observables":{"audio_sha1":"d56615559ec13225a6087ecd5d4d25388c0cf5fd","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4dLine truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"448989665ae42a0783dfdf23fb73111fc2be44c2","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.08,2.64,2.89],"load_before":[1.63,2.58,2.88],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-28-5d299098fb23","inputs":{"content":{"label":"Lunar - Silver Star Story (Japan)","sha1":"aee4e96d37132c53c6405c68e11787a6bc75c972","size":386,"tracks":[{"file":"Lunar - Silver Star Story (Japan) (Track 1).bin","sha1":"6cdaf84cb005605d2961a85bd17e469b1758afbd","size":620977392},{"file":"Lunar - Silver Star Story (Japan) (Track 2).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story (Japan) (Track 3).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[],"sha256":"f81c6adac3668ef5a0e885b7ec967b5d1273d275a36e05c9b791654b3551b4a2"},"presses":[],"repetitions":1,"warmup":0},"kind":"run","record_version":5,"recorded_at":"2026-10-28T08:30:26+00:00","subject":"run-lunar-silver-star-story-japan-01a42902","supersedes":null,"variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":240.55846402835803,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":4.156993619156613,"observables":{"audio_sha1":"d7e5cf2cebab123a50d4af0a8124a5859f1b8227","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02231f9c1abed16f4ef9a6bad2b6"],[220,"84c31acb6e171c00a889c4f4207e4ead2bc25d40"],[230,"8755ce43548839678dd4b0d09ff21a73db80c917"],[240,"bfb2a88b9495992648fa6a67d5ad1f01f40d8d72"],[250,"ed2bd81bbc798c872a92101a7b62c85a44054379"],[260,"4ddb4615daecfb36f2a5755e0403fae1f951e23e"],[270,"acfbed20b986517ec0f24ce71a28f07ffc5180a9"],[280,"ca4ae0dae9dfcef186c5ed0461c5ca9f5399ca55"],[290,"484f42cef746286b4542f9b8d72fcf2f63cf470c"],[300,"06d859bca35a5194fbb8b4300dab66643988629f"],[310,"1ed2a457ce35f6e2d368e985aba6e4a2d499cd2a"],[320,"4dece4229c2602b10556367eb77bd40d178b0d27"],[330,"d72d4f698ccc220893bca840561473a4df766a83"],[340,"66e00f667f2da8081debf6bf89bd254a9c668356"],[350,"f65fc3b48796e816e6e9ae0d8fad969c4e6f6a97"],[360,"de1d86de84850a4a1886333db446ac515d69ee90"],[370,"28b07b0a9b91d5701e6c175b74e8f905d2cfb083"],[380,"45ce7a1f263b90c4609d3a0ed08f80b72c8295fb"],[390,"e03c2148d180c5fdbfbeeaaf590aad899a3aa833"],[400,"3f4592d7d2c0ea8ad9d472c20cb1aa8564edb866"],[410,"049ce368c2fbc087c24dcc73cda19ef0de491052"],[420,"2851bbed77d85f4c06af2b0abc93cb5a7ddef4bb"],[43Line truncated
|
||||
{"core":{"artifact":"https://buildbot.libretro.com/nightly/linux/x86_64/latest/yabause_libretro.so.zip","build_command":null,"commit":null,"compiler":["GCC: (Ubuntu 9.4.0-1ubuntu1~16.04) 9.4.0"],"file":"yabause_libretro.so","library_name":"Yabause","library_version":"v0.9.15 8926b0c","repo":null,"sha256":"974a4cc700ed7eef80b8a33abd33ed07ab317f2123a1014b78c57e043b923296"},"emulator":"yabause","flags":[],"frontend":{"commit":"448989665ae42a0783dfdf23fb73111fc2be44c2","script":"scripts/core_probe.py","script_modified":false,"script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"host":{"cpu_count":12,"cpu_model":"13th Gen Intel(R) Core(TM) i9-13900K","kernel":"6.18.54.1-microsoft-standard-WSL2","load_after":[2.08,2.64,2.89],"load_before":[1.63,2.58,2.88],"machine":"x86_64","max_load":3.0,"os":"Linux-6.18.54.1-microsoft-standard-WSL2-x86_64-with-glibc2.39","python":"3.12.3"},"id":"2026-10-28-9270d1928be7","inputs":{"content":{"label":"Lunar - Silver Star Story (Japan)","sha1":"aee4e96d37132c53c6405c68e11787a6bc75c972","size":386,"tracks":[{"file":"Lunar - Silver Star Story (Japan) (Track 1).bin","sha1":"6cdaf84cb005605d2961a85bd17e469b1758afbd","size":620977392},{"file":"Lunar - Silver Star Story (Japan) (Track 2).bin","sha1":"71c3bcfc22038d0f25126b34f703aa464259cfb5","size":25867296},{"file":"Lunar - Silver Star Story (Japan) (Track 3).bin","sha1":"b9c73d3890cd699cb1718131c2f7f04897a14d65","size":1872192}]},"env":{},"frame_hash_every":10,"frames":3600,"joypad_ports":2,"observables":["frame_sha1","video_sha1","audio_sha1","state_sha1","frame_hashes","uniform_frames"],"options":{},"oracle":{"bios_patterns":[],"error_patterns":[],"error_screens":[],"fallback_patterns":[],"file":"tests/campaign/oracle.yml","load_patterns":[],"references":[{"sha1":"1f1ddd5e434a82b54be476ac95b6bfe7925a92b5","shows":"the SEGA SATURN logo of the Japanese BIOS v1.00","stage":"bios"},{"sha1":"1bdd0d3a315fc85bf0ac2e74be512ccf711ee9aa","shows":"SEGA, produced by or under license from Sega Enterprises","stage":"bios"},{"sha1":"af1cac6b29a68a9dab27bd8ee26c7e543f39cd03","shows":"the Kadokawa Shoten logo","stage":"game"},{"sha1":"fa94920ad89884eeb11286f982b19e0b93a622af","shows":"the Game Arts logo on white","stage":"game"},{"sha1":"25df8806f67e4cc34d4e5584600218b2131c930c","shows":"the JAM logo on white","stage":"game"},{"sha1":"3077677e616d76f56330c57701e0e6f0e87b5a17","shows":"the Lunar Silver Star Story title over the planet","stage":"game"},{"sha1":"e49f6dbd8bc19f53383699c622c43595a3816538","shows":"the Lunar Silver Star Story title over the planet","stage":"game"}],"sha256":"ec2d9f88ce6baf66b359ce008ba62cb34e5a2d7ffa75a5537de116271cb9e661"},"presses":[],"repetitions":1,"warmup":0},"judged_at":"2026-10-28T08:31:16+00:00","judged_by":{"commit":"448989665ae42a0783dfdf23fb73111fc2be44c2","script":"scripts/core_probe.py","script_sha256":"64333825df8d8a082909d07cb9390ab5a90ed4ddc9365034a821145ad03ab5a9"},"kind":"run","record_version":5,"recorded_at":"2026-10-28T08:30:26+00:00","subject":"run-lunar-silver-star-story-japan-01a42902","supersedes":"2026-10-28-5d299098fb23","variants":[{"bios_used":"unknown","flags":[],"label":"default","repetitions":[{"bios_used":"unknown","env_unanswered":{"11":1,"13":1,"28":1,"35":1,"36":1,"42":1,"44":1,"49":3600,"51":1,"57":1,"8":1},"files_opened":[{"path":"saturn_bios.bin","sha1_after":"2b8cb4f87580683eb4d760e4ed210813d667f0a2","sha1_staged":"2b8cb4f87580683eb4d760e4ed210813d667f0a2"}],"files_probed_absent":[],"fps":240.55846402835803,"fps_nominal":60.0,"frames":3600,"input_pressed":0,"input_queries":93600,"isolation":"bwrap","last_frame_size":[320,224],"library_name":"Yabause","library_version":"v0.9.15 8926b0c","loaded":true,"logs":[{"frame":0,"level":"debug","text":"Starting emulation"},{"frame":0,"level":"debug","text":"Enabling cheevos"}],"ms_per_frame":4.156993619156613,"observables":{"audio_sha1":"d7e5cf2cebab123a50d4af0a8124a5859f1b8227","frame_hashes":[[0,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[10,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[20,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[30,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[40,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[50,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[60,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[70,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[80,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[90,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[100,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[110,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[120,"d87e1556593b17c10facada78fe3b3a35c0f7552"],[130,"4e4feb08cd30b7e7cab9313ee12e0fd8c10c3d70"],[140,"67cb21e9ef400a224dc26583ea575c6dccb84c53"],[150,"b2f9f19e66b8981bf1547e970a8a3f6637b6934e"],[160,"42693dc8dda32344871242cd91b36b34c04e5a49"],[170,"6ac273eef1bc4488606e7b4c0984b89a77a71de9"],[180,"3833f8325b179e1f0960a321b7391dd259004d16"],[190,"7f81a472c475d150c0a83423403edd96cad2530b"],[200,"30f3ce5d7b68752c6376f79b6a2515029be82282"],[210,"9a4b31b6860f02Line truncated
|
||||
@@ -25,8 +25,13 @@
|
||||
"file": { "type": "string", "minLength": 1 },
|
||||
"field": { "type": "string", "minLength": 1 },
|
||||
"status": {
|
||||
"enum": ["applied", "open", "flagged", "resolved"],
|
||||
"description": "applied: the rule table settled the field and the profile was changed. open: no rule settles it, it waits for review. flagged: a declared file the runs never opened. resolved: a later run found the profile in agreement."
|
||||
"enum": ["applied", "open", "flagged", "resolved", "rejected"],
|
||||
"description": "applied: the rule table, or a review of the code, settled the field and the profile was changed. open: no rule settles it, it waits for review. flagged: a declared file the runs never opened. resolved: a later run found the profile in agreement. rejected: a review of the code kept the profile as it is."
|
||||
},
|
||||
"reason": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "Written by a review (campaign.py review): what the code does, with its file:line."
|
||||
},
|
||||
"rule": { "type": "string", "minLength": 1 },
|
||||
"profile_says": {},
|
||||
|
||||
@@ -27,6 +27,12 @@ as `evidence:`. Any other goes to measurements/findings.jsonl, where the
|
||||
site lists it as open. Each pass adds one line to
|
||||
measurements/campaign-runs.jsonl.
|
||||
|
||||
`review` closes an open finding once a maintainer has read the core's code:
|
||||
`applied` writes the fields it names through the same profile editor, with
|
||||
the finding's record ids as `evidence:`, and `rejected` keeps the profile.
|
||||
The reason, with its file:line, goes on the finding's line, and a rejected
|
||||
finding stays closed while the runs keep showing the same thing.
|
||||
|
||||
`references` runs the full set once per core and content with its frames
|
||||
saved as PNG, and lists the screens that stay on for several samples: the
|
||||
candidates a reviewer looks at before writing them into oracle.yml.
|
||||
@@ -45,6 +51,7 @@ Usage:
|
||||
python scripts/campaign.py references --only CORE,... [--system ID]
|
||||
python scripts/campaign.py status [--json]
|
||||
python scripts/campaign.py findings [--all] [--json]
|
||||
python scripts/campaign.py review KEY --status applied|rejected --reason TEXT [--set FIELD=YAML]
|
||||
python scripts/campaign.py gate
|
||||
python scripts/campaign.py install-timer [--enable]
|
||||
|
||||
@@ -1430,6 +1437,12 @@ class Campaign:
|
||||
and previous["run_shows"] == verdict.value and previous["profile_says"] == says \
|
||||
and previous["evidence"] == list(verdict.evidence):
|
||||
return
|
||||
# A review that read the code and kept the profile stands while the
|
||||
# runs keep showing the same thing.
|
||||
if previous and previous["status"] == "rejected" and status == "open" \
|
||||
and previous["rule"] == verdict.rule and previous["run_shows"] == verdict.value \
|
||||
and previous["profile_says"] == says:
|
||||
return
|
||||
line = mr.seal_line({
|
||||
"schema_version": 1, "found_at": now_iso(), "key": key, "emulator": emulator,
|
||||
"system": content.system, "file": entry["name"], "field": verdict.field,
|
||||
@@ -1830,6 +1843,52 @@ def open_findings(root: Path, everything: bool = False) -> list[dict]:
|
||||
if everything or line["status"] in ("open", "flagged")]
|
||||
|
||||
|
||||
REVIEWED = ("applied", "rejected")
|
||||
|
||||
|
||||
def review_finding(root: Path, key: str, status: str, reason: str,
|
||||
updates: dict[str, object] | None = None, index: int | None = None) -> dict:
|
||||
"""Close an open finding after reading the core's code.
|
||||
|
||||
`applied` writes `updates` into the entry the finding names, through the
|
||||
same editor as the rule table, with the finding's record ids added as
|
||||
`evidence:` under its field. An applied finding with no update records a
|
||||
profile changed by hand. `rejected` keeps the profile as it is. Either
|
||||
way a line with the reason is appended to the findings."""
|
||||
if status not in REVIEWED:
|
||||
raise ValueError(f"status {status!r}: one of {', '.join(REVIEWED)}")
|
||||
if not reason.strip():
|
||||
raise ValueError("a review names its reason")
|
||||
latest = {line["key"]: line for line in mr.read_campaign(root, mr.FINDINGS)}
|
||||
finding = latest.get(key)
|
||||
if finding is None:
|
||||
raise ValueError(f"no finding {key}")
|
||||
if finding["status"] not in ("open", "flagged"):
|
||||
raise ValueError(f"{key} is {finding['status']}, not open")
|
||||
if updates and status != "applied":
|
||||
raise ValueError("only an applied review changes the profile")
|
||||
if updates:
|
||||
path = root / "emulators" / f"{finding['emulator']}.yml"
|
||||
entries = yaml.safe_load(path.read_text(encoding="utf-8")).get("files") or []
|
||||
matches = [i for i, entry in enumerate(entries) if entry.get("name") == finding["file"]]
|
||||
if index is not None:
|
||||
matches = [i for i in matches if i == index]
|
||||
if len(matches) != 1:
|
||||
raise ValueError(f"{finding['emulator']}: {len(matches)} entries named {finding['file']}"
|
||||
+ ("" if index is not None else ", pass --index"))
|
||||
entry = entries[matches[0]]
|
||||
verdict = rules.Verdict(finding["rule"], finding["field"], finding["run_shows"],
|
||||
finding["statement"], tuple(finding["evidence"]))
|
||||
evidence = rules.merge_evidence(entry.get("evidence"), verdict)
|
||||
campaign_profiles.write_fields(path, matches[0], {**updates, "evidence": evidence})
|
||||
body = {key_: value for key_, value in finding.items() if key_ != "id"}
|
||||
line = mr.seal_line({**body, "found_at": now_iso(), "status": status, "reason": reason},
|
||||
"found_at")
|
||||
with (root / mr.records_path(mr.FINDINGS)).open("a", encoding="utf-8") as handle:
|
||||
handle.write(mr.line_text(line) + "\n")
|
||||
return line
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Command line
|
||||
# --------------------------------------------------------------------------
|
||||
@@ -1872,6 +1931,15 @@ def main(argv: Sequence[str] | None = None) -> int:
|
||||
findings_p = sub.add_parser("findings", help="profile claims the runs contradict, open for review")
|
||||
findings_p.add_argument("--all", action="store_true", help="applied and resolved too")
|
||||
findings_p.add_argument("--json", action="store_true", help="the findings as JSON")
|
||||
review_p = sub.add_parser("review", help="close an open finding after reading the code")
|
||||
review_p.add_argument("key", help="emulator/system/file/field, as `findings` prints it")
|
||||
review_p.add_argument("--status", required=True, choices=REVIEWED,
|
||||
help="applied: the profile now says what the code does, rejected: it already did")
|
||||
review_p.add_argument("--reason", required=True,
|
||||
help="what the code does, with its file:line at the profile's pin")
|
||||
review_p.add_argument("--set", action="append", default=[], metavar="FIELD=YAML",
|
||||
help="with --status applied, a field to write into the entry")
|
||||
review_p.add_argument("--index", type=int, help="the entry's position when several share its name")
|
||||
sub.add_parser("gate", help="tests, schemas, verify and pack of the changed profiles")
|
||||
timer_p = sub.add_parser("install-timer",
|
||||
help="opt-in: write the autorun units, the campaign job's timer among them")
|
||||
@@ -1885,6 +1953,21 @@ def main(argv: Sequence[str] | None = None) -> int:
|
||||
if args.command == "install-timer":
|
||||
command = [sys.executable, str(ROOT / "scripts" / "autorun.py"), "install-timers"]
|
||||
return subprocess.run(command + (["--enable"] if args.enable else []), check=False).returncode
|
||||
if args.command == "review":
|
||||
updates: dict[str, object] = {}
|
||||
for item in args.set:
|
||||
name, sep, value = item.partition("=")
|
||||
if not sep or not name:
|
||||
parser.error(f"--set {item!r}: FIELD=YAML")
|
||||
updates[name] = yaml.safe_load(value)
|
||||
try:
|
||||
line = review_finding(paths.root, args.key, args.status, args.reason, updates,
|
||||
args.index)
|
||||
except (ValueError, campaign_profiles.ProfileEditError) as exc:
|
||||
print(f"campaign: {exc}", file=sys.stderr)
|
||||
return 1
|
||||
print(f"{line['status']} {line['key']} [{line['id']}]")
|
||||
return 0
|
||||
if args.command == "findings":
|
||||
lines = open_findings(paths.root, args.all)
|
||||
if args.json:
|
||||
|
||||
@@ -24,6 +24,8 @@ ANCHORS = {
|
||||
"path": ("name",),
|
||||
"aliases": ("path", "name"),
|
||||
"validation": ("sha1", "md5", "crc32", "size", "name"),
|
||||
"on_mismatch": ("validation", "sha1", "md5", "crc32", "size", "name"),
|
||||
"found_by": ("path", "name"),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,9 @@ core reports a BIOS error, when its log says it ran its built-in BIOS
|
||||
(bios_used builtin), or when it boots without the BIOS screens the right
|
||||
file shows. It is used when the log names the file it loaded. It is used when it
|
||||
turns the run into a hang or a crash that the run without any file does not
|
||||
show. Anything else settles nothing. Of validation, the table writes only a
|
||||
show. Anything else settles nothing. A check the entry declares with
|
||||
`on_mismatch: warn` is one the code only logs: a wrong file that runs
|
||||
agrees with it. Of validation, the table writes only a
|
||||
missing `size`. A contradicted content check goes to review: which hash a
|
||||
core computes is read in its code.
|
||||
|
||||
@@ -49,7 +51,7 @@ UNKNOWN = "unknown"
|
||||
FAILS = (BIOS_ERROR, CRASH, HANG)
|
||||
REFUSED = "refused"
|
||||
USED = "used"
|
||||
CONTENT_CHECKS = ("md5", "sha1", "sha256", "crc32", "adler32")
|
||||
CONTENT_CHECKS = ("md5", "sha1", "sha256", "crc32", "adler32", "signature")
|
||||
|
||||
# A field an entry leaves out reads as this value.
|
||||
FIELD_DEFAULTS: dict[str, object] = {"hle_fallback": False, "path": None, "aliases": [],
|
||||
@@ -194,6 +196,17 @@ def declared_checks(entry: dict) -> tuple[set[str], bool]:
|
||||
return {str(v) for v in value}, True
|
||||
|
||||
|
||||
def warned_checks(entry: dict, checks: set[str]) -> set[str]:
|
||||
"""The declared checks whose failure the code only logs (`on_mismatch:
|
||||
warn`, for all of them or check by check): a wrong file still runs."""
|
||||
level = entry.get("on_mismatch")
|
||||
if level == "warn":
|
||||
return set(checks)
|
||||
if isinstance(level, dict):
|
||||
return {check for check, value in level.items() if value == "warn"} & checks
|
||||
return set()
|
||||
|
||||
|
||||
def rule_validation(zeros: Run | None, half: Run | None, none: Run, present: Run,
|
||||
entry: dict) -> Verdict | None:
|
||||
"""Same-size and short wrong files against the right one: validation."""
|
||||
@@ -208,19 +221,20 @@ def rule_validation(zeros: Run | None, half: Run | None, none: Run, present: Run
|
||||
if content is None and size is None:
|
||||
return None
|
||||
declared, editable = declared_checks(entry)
|
||||
enforced = declared - warned_checks(entry, declared)
|
||||
evidence = ids(*(run for run in (none, present, zeros, half) if run))
|
||||
said = sorted(declared)
|
||||
shown = []
|
||||
problems = []
|
||||
if content is not None:
|
||||
shown.append("checks the content" if content else "does not check the content")
|
||||
if content != bool(declared & set(CONTENT_CHECKS)):
|
||||
if content != bool(enforced & set(CONTENT_CHECKS)):
|
||||
problems.append("a same-size file of zeros is " + ("refused" if content else "run")
|
||||
+ f", the profile declares validation {said}")
|
||||
missing_size = size is True and "size" not in declared
|
||||
if size is not None:
|
||||
shown.append("checks the size" if size else "does not check the size")
|
||||
if size is False and "size" in declared:
|
||||
if size is False and "size" in enforced:
|
||||
problems.append(f"the first half of {name} is run, the profile declares a size check")
|
||||
statement = f"the core {' and '.join(shown)} of {name}"
|
||||
# What the runs show, for a finding beside what the profile says.
|
||||
|
||||
@@ -560,3 +560,55 @@ content:
|
||||
- sha1: 003685f698160f1cc79ca0bc00091f30ccb681db
|
||||
stage: game
|
||||
shows: Rez asking to format the unformatted memory card in slot 1
|
||||
- name: "Lunar - Silver Star Story (Japan)"
|
||||
catalog: redump
|
||||
sha1: aee4e96d37132c53c6405c68e11787a6bc75c972
|
||||
references:
|
||||
"Beetle Saturn":
|
||||
recorded_from: 2026-10-28-90ae07f141fe
|
||||
frames:
|
||||
- sha1: 5edec5180d1c04dc0ead1e5fbbc7d6d53cc23fdb
|
||||
stage: bios
|
||||
shows: the SEGA SATURN logo of the Japanese BIOS v1.01
|
||||
- sha1: dcd45679fcd31a423d0e54690e89b52f417d8728
|
||||
stage: bios
|
||||
shows: SEGA, produced by or under license from Sega Enterprises
|
||||
- sha1: ae83d3e3ba167fb1c2e59175faf042e4e483b1cd
|
||||
stage: game
|
||||
shows: the Kadokawa Shoten logo
|
||||
- sha1: 55c544650f06ff9f4a165ea06ac6e534ab0a00a1
|
||||
stage: game
|
||||
shows: the Game Arts logo on white
|
||||
- sha1: 78865212bfe9d9a946f1ec4985092ccec6d01b67
|
||||
stage: game
|
||||
shows: the JAM logo on white
|
||||
- sha1: af869e868d94e8b4c551be5570ade580f5c15ce6
|
||||
stage: game
|
||||
shows: the Lunar Silver Star Story title over the planet
|
||||
- sha1: cb64c728de69873915f0bbb3f95ce06dbe305d10
|
||||
stage: game
|
||||
shows: the Lunar Silver Star Story title over the planet
|
||||
"Yabause":
|
||||
recorded_from: 2026-10-28-5d299098fb23
|
||||
frames:
|
||||
- sha1: 1f1ddd5e434a82b54be476ac95b6bfe7925a92b5
|
||||
stage: bios
|
||||
shows: the SEGA SATURN logo of the Japanese BIOS v1.00
|
||||
- sha1: 1bdd0d3a315fc85bf0ac2e74be512ccf711ee9aa
|
||||
stage: bios
|
||||
shows: SEGA, produced by or under license from Sega Enterprises
|
||||
- sha1: af1cac6b29a68a9dab27bd8ee26c7e543f39cd03
|
||||
stage: game
|
||||
shows: the Kadokawa Shoten logo
|
||||
- sha1: fa94920ad89884eeb11286f982b19e0b93a622af
|
||||
stage: game
|
||||
shows: the Game Arts logo on white
|
||||
- sha1: 25df8806f67e4cc34d4e5584600218b2131c930c
|
||||
stage: game
|
||||
shows: the JAM logo on white
|
||||
- sha1: 3077677e616d76f56330c57701e0e6f0e87b5a17
|
||||
stage: game
|
||||
shows: the Lunar Silver Star Story title over the planet
|
||||
- sha1: e49f6dbd8bc19f53383699c622c43595a3816538
|
||||
stage: game
|
||||
shows: the Lunar Silver Star Story title over the planet
|
||||
@@ -6,12 +6,17 @@ systems:
|
||||
sega-saturn:
|
||||
romfetch: saturn
|
||||
content:
|
||||
- name: "Lunar - Silver Star Story Complete (Japan)"
|
||||
- name: "Lunar - Silver Star Story (Japan)"
|
||||
catalog: redump
|
||||
reason: >-
|
||||
A Japanese disc. Every Saturn core needs a BIOS image to start a disc,
|
||||
so the run shows whether the BIOS the pack put in the folder is one
|
||||
the core reads, under the name it looks for.
|
||||
the core reads, under the name it looks for. It reaches its title on
|
||||
Beetle Saturn and Yabause with the RetroArch pack's BIOS (records
|
||||
2026-10-28-6b5b55d3480f, 2026-10-28-9270d1928be7). The Complete
|
||||
edition is not used: it needs the MPEG card, which a core without
|
||||
MPEG decoding never gets past (Yabause stops on a black screen after
|
||||
the logos).
|
||||
region: japan
|
||||
load: cue
|
||||
frames: 3600
|
||||
|
||||
@@ -235,6 +235,25 @@ class RuleTable(unittest.TestCase):
|
||||
self.assertIsNone(rules.rule_validation(run(rules.UNKNOWN), None, NONE_BOOTS, PRESENT,
|
||||
{"name": "b"}))
|
||||
|
||||
def test_a_warned_check_lets_a_wrong_file_run(self) -> None:
|
||||
"""Beetle PSX logs a wrong SHA1 and boots the file (libretro.c:853-860),
|
||||
PCSX ReARMed refuses an image without the kernel's first instruction
|
||||
or "PS compatible" (frontend/libretro.c:3646-3651)."""
|
||||
refused = run(rules.BIOS_ERROR)
|
||||
used = run(rules.HANG)
|
||||
warned = {"name": "b", "validation": ["sha1"], "on_mismatch": "warn"}
|
||||
self.assertEqual(rules.rule_validation(used, used, NONE_BOOTS, PRESENT, warned).rule,
|
||||
"validation_agrees")
|
||||
by_check = {"name": "b", "validation": ["size", "md5"], "on_mismatch": {"md5": "warn"}}
|
||||
self.assertEqual(rules.rule_validation(used, refused, NONE_BOOTS, PRESENT, by_check).rule,
|
||||
"validation_agrees")
|
||||
self.assertEqual(rules.rule_validation(used, None, NONE_BOOTS, PRESENT,
|
||||
{"name": "b", "validation": ["sha1"]}).rule,
|
||||
"validation_contradicted")
|
||||
signature = {"name": "b", "validation": ["size", "signature"]}
|
||||
self.assertEqual(rules.rule_validation(refused, None, NONE_BOOTS, PRESENT, signature).rule,
|
||||
"validation_agrees")
|
||||
|
||||
def test_path_and_alias(self) -> None:
|
||||
self.assertIsNone(rules.rule_path(self.ENTRY, "bios.bin", rules.Opened("bios.bin", self.RID)))
|
||||
moved = rules.rule_path(self.ENTRY, "bios.bin", rules.Opened("sys/bios.bin", self.RID))
|
||||
@@ -922,6 +941,53 @@ class Findings(Workspace):
|
||||
for line in mr.read_campaign(self.root, name):
|
||||
self.assertEqual(list(Draft202012Validator(schema).iter_errors(line)), [], name)
|
||||
|
||||
def contradicted(self) -> rules.Verdict:
|
||||
return rules.rule_validation(rules.Run(rules.HANG, self.RID, "zeros"), None,
|
||||
self.none(rules.BOOTS), self.present(),
|
||||
{**self.entry(), "validation": ["md5"]})
|
||||
|
||||
def test_a_review_applies_through_the_profile_editor(self) -> None:
|
||||
self.c.settle("fake", self.content, self.core, 0, self.entry(), [self.contradicted()])
|
||||
key = self.lines()[-1]["key"]
|
||||
with self.assertRaises(ValueError):
|
||||
campaign.review_finding(self.root, key, "applied", " ")
|
||||
line = campaign.review_finding(self.root, key, "applied", "the core logs the md5 (x.c:1)",
|
||||
{"on_mismatch": "warn"})
|
||||
self.assertEqual((line["status"], line["reason"]), ("applied", "the core logs the md5 (x.c:1)"))
|
||||
entry = self.entry()
|
||||
self.assertEqual(entry["on_mismatch"], "warn")
|
||||
self.assertEqual(entry["evidence"], {"validation": [self.RID]})
|
||||
text = self.profile.read_text()
|
||||
self.assertLess(text.index("validation: [size]"), text.index("on_mismatch"))
|
||||
self.assertEqual(campaign.open_findings(self.root), [])
|
||||
with self.assertRaises(ValueError):
|
||||
campaign.review_finding(self.root, key, "rejected", "again")
|
||||
try:
|
||||
from jsonschema import Draft202012Validator
|
||||
except ImportError:
|
||||
self.skipTest("jsonschema is a tooling dependency")
|
||||
schema = json.loads((REPO_ROOT / "schemas" / "campaign-finding.schema.json").read_text())
|
||||
for found in self.lines():
|
||||
self.assertEqual(list(Draft202012Validator(schema).iter_errors(found)), [])
|
||||
|
||||
def test_a_rejected_finding_stays_closed_on_the_same_run(self) -> None:
|
||||
verdict = self.contradicted()
|
||||
self.c.settle("fake", self.content, self.core, 0, self.entry(), [verdict])
|
||||
key = self.lines()[-1]["key"]
|
||||
with self.assertRaises(ValueError):
|
||||
campaign.review_finding(self.root, key, "rejected", "kept", {"required": False})
|
||||
out = io.StringIO()
|
||||
with contextlib.redirect_stdout(out), unittest.mock.patch.object(campaign.Paths, "default",
|
||||
return_value=self.paths):
|
||||
self.assertEqual(campaign.main(["review", key, "--status", "rejected",
|
||||
"--reason", "the md5 is checked (x.c:2)"]), 0)
|
||||
before = self.profile.read_text()
|
||||
later = rules.Verdict(verdict.rule, verdict.field, verdict.value, verdict.statement,
|
||||
("2026-10-28-000000000000",))
|
||||
self.c.settle("fake", self.content, self.core, 0, self.entry(), [later])
|
||||
self.assertEqual([line["status"] for line in self.lines()], ["open", "rejected"])
|
||||
self.assertEqual(self.profile.read_text(), before)
|
||||
|
||||
def test_the_batch_commit_plan(self) -> None:
|
||||
verdicts = rules.rule_need(self.none(rules.BOOTS), self.present(), self.entry())
|
||||
self.c.settle("fake", self.content, self.core, 0, self.entry(), verdicts)
|
||||
|
||||
+13
-2
@@ -1046,6 +1046,8 @@ python scripts/campaign.py references --only beetle_psx --system sony-playstatio
|
||||
python scripts/campaign.py references --only beetle_saturn --content-file other.yml # another content list
|
||||
python scripts/campaign.py status # done, failed, pending, and why
|
||||
python scripts/campaign.py findings # what waits for review
|
||||
python scripts/campaign.py review beetle_psx/sony-playstation/scph5501.bin/validation \
|
||||
--status applied --set on_mismatch=warn --reason "logs the SHA1 and loads (libretro.c:853-860)"
|
||||
python scripts/campaign.py gate # the checks behind a commit
|
||||
python scripts/campaign.py install-timer # opt-in: writes the autorun units, enables nothing
|
||||
```
|
||||
@@ -1062,8 +1064,8 @@ python scripts/campaign.py install-timer # opt-in: writes the autorun units,
|
||||
|----------|-------|---------|
|
||||
| `none` boots, and the file changes the run: alone or as a wrong file, another verdict or other stages than with no BIOS | `hle_fallback` | `true`. A file the game never uses settles nothing: a core can open every file of the folder to hash it |
|
||||
| `none` fails (`bios_error`, `crash`, `hang`) and the file alone boots | `required`, `hle_fallback` | `true`, `false` |
|
||||
| Zeros of the file's size refused while the file boots | `validation` | a content check is proven. Agreeing adds evidence, a profile with no md5, sha1, sha256, crc32 or adler32 is an open finding |
|
||||
| Zeros used while the file boots | `validation` | no content check. A profile that declares one is an open finding |
|
||||
| Zeros of the file's size refused while the file boots | `validation` | a content check is proven. Agreeing adds evidence, a profile with no md5, sha1, sha256, crc32, adler32 or signature is an open finding |
|
||||
| Zeros used while the file boots | `validation` | no content check. A profile that declares one is an open finding, unless it declares the check with `on_mismatch: warn` |
|
||||
| Its first half refused while zeros are used | `validation` | `size`, added when missing |
|
||||
| Its first half used | `validation` | no size check. A profile that declares one is an open finding |
|
||||
| The core opened the file staged at another place it looked for | `path` | that path |
|
||||
@@ -1131,6 +1133,15 @@ install-timer`, which writes the autorun units and enables nothing unless
|
||||
in the automation worktree, gates it with `campaign.py gate` and commits with
|
||||
its own rules, pushing only with `--push`.
|
||||
|
||||
`review` closes an open finding once someone has read the core's code at the
|
||||
profile's pin. `--status applied` writes each `--set FIELD=YAML` into the
|
||||
entry the finding names, through the same profile editor, with the finding's
|
||||
record ids added to `evidence:` under its field. With no `--set` it records a
|
||||
profile already changed by hand. `--status rejected` keeps the profile as it
|
||||
is. `--reason` is required and goes on the finding's line, with the file:line
|
||||
it rests on. `--index` picks the entry when several share the file's name. A
|
||||
rejected finding stays closed while later runs show the same thing.
|
||||
|
||||
Schemas: `campaign-finding.schema.json` and `campaign-run.schema.json`.
|
||||
|
||||
### region_check.py
|
||||
|
||||
Reference in new issue
Block a user