feat: add emulator/system pack generation, validation checks, path resolution

add --emulator, --system, --standalone, --list-emulators, --list-systems
to verify.py and generate_pack.py. packs are RTU with data directories,
regional BIOS variants, and archive support.

validation: field per file (size, crc32, md5, sha1) with conflict
detection. by_path_suffix index in database.json for regional variant
resolution via dest_hint. restructure GameCube IPL to regional subdirs.

66 E2E tests, full pipeline verified.
This commit is contained in:
Abdessamad Derraz
2026-03-22 14:02:20 +01:00
parent d2adde9846
commit 1d350f0578
21 changed files with 17218 additions and 150 deletions
+5 -4
View File
@@ -1,7 +1,9 @@
emulator: JollyCV
type: libretro
core_classification: official_port
source: "https://github.com/libretro/jollycv"
profiled_date: "2026-03-18"
upstream: "https://gitlab.com/jgemu/jollycv"
profiled_date: "2026-03-21"
core_version: "2.0.0"
display_name: "ColecoVision/CreatiVision/My Vision (JollyCV)"
cores:
@@ -47,11 +49,9 @@ files:
# --- ColecoVision BIOS (required for CV games) ---
- name: "coleco.rom"
system: colecovision
description: "ColecoVision BIOS ROM"
required: true
size: 8192
md5: "2c66f5911e5b42b8ebe113403548eee7"
sha1: "4aa1d9b48f39b68bb17b3d6997b74850c6089dc3"
validation: [size]
source_ref: "libretro/libretro.c:701, src/jcv_coleco.c:402-406"
notes: "Mapped at 0x0000-0x1FFF. Replaced by SGM lower RAM when Super Game Module is active. Must be exactly 8192 bytes."
@@ -61,6 +61,7 @@ files:
description: "VTech CreatiVision BIOS ROM"
required: true
size: 2048
validation: [size]
source_ref: "libretro/libretro.c:711, src/jcv_crvision.c:315-318"
notes: "Mapped at 0xF800-0xFFFF. Must be exactly 2048 bytes."