Files
libretro/emulators/jollycv.yml
Abdessamad Derraz e13e8734b9 chore: standardize notes: to note: in file entries
240 file-level entries used notes: instead of the canonical note:
field. verify.py and cross_reference.py only read note:, so these
were silently ignored.
2026-03-29 10:02:20 +02:00

84 lines
2.9 KiB
YAML

emulator: JollyCV
type: libretro
core_classification: official_port
source: "https://github.com/libretro/jollycv"
upstream: "https://gitlab.com/jgemu/jollycv"
profiled_date: "2026-03-24"
core_version: "2.0.0"
display_name: "ColecoVision/CreatiVision/My Vision (JollyCV)"
cores:
- jollycv
systems:
- colecovision
- creativision
- myvision
notes: |
JollyCV is a multi-system emulator by Rupert Carmichael supporting
ColecoVision (with Super Game Module), CreatiVision, and My Vision.
BIOS handling depends on the detected system type (set via core option
or auto-detected from ROM database via jcv_process_hash/jcv_get_dbflags):
- ColecoVision (JCV_SYS_COLECO): loads "coleco.rom" from system dir.
BIOS is mapped at 0x0000-0x1FFF. Size must be exactly 8192 bytes
(SIZE_CVBIOS = SIZE_8K = 0x2000). Load fails if size mismatches.
Without the BIOS, ColecoVision games will not run (load returns false).
- CreatiVision (JCV_SYS_CRVISION): loads "bioscv.rom" from system dir.
BIOS is mapped at 0xF800-0xFFFF. Size must be exactly 2048 bytes
(SIZE_CRVBIOS = SIZE_2K = 0x800). Without the BIOS, CreatiVision
games will not run.
- My Vision (JCV_SYS_MYVISION): no BIOS required.
The libretro port constructs paths via snprintf("%s%c%s", sysdir, pss,
filename) in libretro.c:699-711. jcv_bios_load_file() opens the file,
reads it fully, then delegates to jcv_coleco_bios_load() or
jcv_crvision_bios_load() which validate size before copying.
ColecoVision cartridge header bytes at offset 0x0000-0x0001 control
boot behavior: 0xAA55 shows the BIOS title screen, 0x55AA jumps
directly to the game code vector.
The core includes a built-in ROM database with MD5 hashes (gamedb.h)
for game-specific flags, but this is for game compatibility, not BIOS
verification.
files:
# --- ColecoVision BIOS (required for CV games) ---
- name: "coleco.rom"
system: colecovision
required: true
size: 8192
validation: [size]
source_ref: "libretro/libretro.c:701, src/jcv_coleco.c:402-406"
note: "Mapped at 0x0000-0x1FFF. Replaced by SGM lower RAM when Super Game Module is active. Must be exactly 8192 bytes."
# --- CreatiVision BIOS (required for CreatiVision games) ---
- name: "bioscv.rom"
system: creativision
description: "VTech CreatiVision BIOS ROM"
required: true
size: 2048
validation: [size]
source_ref: "libretro/libretro.c:711, src/jcv_crvision.c:315-318"
note: "Mapped at 0xF800-0xFFFF. Must be exactly 2048 bytes."
platform_details:
colecovision:
bios_filename: "coleco.rom"
bios_size: 8192
memory_map: "0x0000-0x1FFF"
source_ref: "src/jcv_coleco.c:269-281"
creativision:
bios_filename: "bioscv.rom"
bios_size: 2048
memory_map: "0xF800-0xFFFF"
source_ref: "src/jcv_crvision.c:315-337, 441"
myvision:
bios_required: false
note: "No BIOS needed. My Vision games run without any system ROM."