Abdessamad Derraz
315dab82b7
feat: give each set its requirement and one pick
...
Three changes to the search-list model, one commit because the readers
and the profiles must move together for the schema to hold.
Set requirement in a groups map. pom2 falls back on apple2.rom for the
][ and the ][+, and on apple2e.rom for the //e it boots and for the
unenhanced //e: one required on the file could not say both. A profile
now declares groups: {name: {required}}, a member writes no required
of its own (schema and validate_schemas refuse one) and load_emulator_
profiles derives it, true when one of its sets is. group takes a name,
a list, or a map from set to rank where the rank differs per set. pom2
is grouped from SystemProfile.cpp and MainWindow.cpp:246-296 at its pin.
One member per required set under --required-only. The pick is the
first the code reads among the held members the region filter leaves,
by rank then declaration order; a set the platform declares a member
of is carried by that declaration. The emulator pack, verify
--emulator, the platform pack, its manifest and verify --platform read
alternatives.required_only_spares or core_file_spares.
variant_group is now selection_slot: files a core chooses between by
a rule other than first found (disc territory for PicoDrive and
Pizza Boy SC, the o2em_bios option, a WebAssembly probe in SWF
Player). Where the code takes any one, the field became a group:
ARMSX1 (ArmSxBackend.java:149-157, name order), ePSXe (load_bios
0x433540-0x433621 of the 2.0.5 Linux x64 binary, one configured path,
HLE when BiosHLE is set), FPse and FPse-NG, DXX-Rebirth's HOGs
(inferno.cpp:472-512). odin and zesarux carried it with no effect.
slot.py compares ranks only between candidates that share a set.
2026-11-09 18:19:32 +01:00
..
2026-10-28 09:32:44 +01:00
2026-11-09 16:33:56 +01:00
2026-11-05 12:19:12 +01:00
2026-11-06 18:43:05 +01:00
2026-11-06 15:13:30 +01:00
2026-11-06 23:28:21 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 18:37:55 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 18:37:37 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:46:40 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 15:52:58 +01:00
2026-11-07 03:16:06 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 10:54:08 +01:00
2026-11-09 13:44:24 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 18:19:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 06:04:42 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 06:52:44 +01:00
2026-11-07 00:11:09 +01:00
2026-11-09 16:33:56 +01:00
2026-11-07 03:16:06 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 16:42:16 +01:00
2026-11-09 16:16:38 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:16:25 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 17:06:09 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 12:12:18 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-07 02:49:24 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:37:11 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:46:40 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 17:25:26 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 11:45:49 +01:00
2026-11-06 22:30:55 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 18:19:32 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 18:37:37 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:28:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 10:47:37 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 07:35:03 +01:00
2026-11-09 12:22:33 +01:00
2026-11-06 17:15:57 +01:00
2026-11-09 12:22:33 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 11:02:00 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 17:15:57 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 10:47:37 +01:00
2026-11-09 10:59:12 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:47:21 +01:00
2026-11-09 16:46:40 +01:00
2026-11-07 00:06:15 +01:00
2026-11-09 08:09:47 +01:00
2026-11-09 08:09:47 +01:00
2026-11-09 07:35:03 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 12:22:33 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 08:09:47 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:42:16 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 16:36:32 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 16:33:56 +01:00
2026-11-06 18:34:40 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:13:55 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-06 15:14:05 +01:00
2026-11-09 06:04:42 +01:00
2026-11-06 15:14:05 +01:00