mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 14:03:23 -05:00
92 lines
3.8 KiB
YAML
92 lines
3.8 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-09-17"
|
|
source_commit: "2790d59c7194d29e83f8603ffd7e9da17f11575e"
|
|
upstream_commit: "18875ffdb1891cec04217cf02928af563a3af9d8"
|
|
core_version: "2.1.0"
|
|
display_name: "ColecoVision/CreatiVision/My Vision (JollyCV)"
|
|
cores:
|
|
- jollycv
|
|
systems:
|
|
- colecovision
|
|
- creativision
|
|
- myvision
|
|
|
|
notes: |
|
|
JollyCV emulates the ColecoVision (with Super Game Module), the VTech
|
|
CreatiVision and the Nichibutsu My Vision. The libretro port and the
|
|
Jolly Good build share the same src/ tree; only the front end differs.
|
|
|
|
The libretro port picks the system from the file name
|
|
(libretro/libretro.c:670-679): ".myv" is My Vision, ".rom" and ".bin"
|
|
are looked up by MD5 in the CreatiVision table (src/jcv_db.c:109-176,
|
|
reached through src/jollycv.c:118-120) and fall back to ColecoVision,
|
|
".col" is ColecoVision. A CreatiVision image whose MD5 is not in the
|
|
table runs as ColecoVision. Version 2.1.0 moved that table from
|
|
libretro/gamedb.h into src/jcv_db.c so both builds share it.
|
|
|
|
BIOS files are read from the front end's system directory, no
|
|
subdirectory, as "<system_dir>/coleco.rom" or "<system_dir>/bioscv.rom"
|
|
(libretro/libretro.c:696-716). jcv_bios_load_file (src/jollycv.c:406-432)
|
|
opens the file, reads it whole and hands the buffer to
|
|
jcv_coleco_bios_load or jcv_crvision_bios_load, which keep it only when
|
|
the size is exactly SIZE_CVBIOS (8192) or SIZE_CRVBIOS (2048). The return
|
|
value of that size check is dropped at src/jollycv.c:427, so a file of the
|
|
wrong size passes the loader while the BIOS pointer stays NULL; the first
|
|
BIOS read (src/jcv_coleco.c:281-282, src/jcv_crvision.c:443-444) then
|
|
dereferences it. A missing file fails retro_load_game. My Vision loads no
|
|
BIOS (libretro/libretro.c:717-719).
|
|
|
|
The Jolly Good build reads the same two names from the front end's BIOS
|
|
path (jg.c:463-481) and declares them through jg_get_bioslist with an
|
|
MD5 each (jg.c:151-156). The core never compares those MD5; the reference
|
|
front end hashes the file against them for a debug log only
|
|
(jgrf src/jgrf.c:441-458). The md5: fields below carry these values.
|
|
|
|
ColecoVision cartridges start with 0xAA55 to show the BIOS title screen or
|
|
0x55AA to jump straight to the game vector (src/jcv_coleco.c:421-426).
|
|
The MD5 database of ColecoVision games in src/jcv_db.c selects cartridge
|
|
mappers and controller flags.
|
|
|
|
files:
|
|
- name: "coleco.rom"
|
|
system: colecovision
|
|
description: "ColecoVision BIOS"
|
|
required: true
|
|
size: 8192
|
|
md5: "2c66f5911e5b42b8ebe113403548eee7"
|
|
validation: [size]
|
|
source_ref: "libretro/libretro.c:697-703, src/jollycv.c:406-432, src/jcv_coleco.c:402-410, jg.c:151-153"
|
|
note: "Mapped at 0x0000-0x1FFF, replaced by the lower 8K of SGM RAM when the Super Game Module enables it. The MD5 is the value the JG bioslist declares; the core compares the size only."
|
|
|
|
- name: "bioscv.rom"
|
|
system: creativision
|
|
description: "VTech CreatiVision BIOS ROM"
|
|
required: true
|
|
size: 2048
|
|
md5: "3b1ef759d8e3fb4071582efd33dd05f9"
|
|
validation: [size]
|
|
source_ref: "libretro/libretro.c:707-713, src/jollycv.c:406-432, src/jcv_crvision.c:316-324, jg.c:154-155"
|
|
note: "Mapped at 0xF800-0xFFFF. The MD5 is the value the JG bioslist declares; the core compares the size only."
|
|
|
|
platform_details:
|
|
colecovision:
|
|
bios_filename: "coleco.rom"
|
|
bios_size: 8192
|
|
memory_map: "0x0000-0x1FFF"
|
|
source_ref: "src/jcv_coleco.c:268-283"
|
|
|
|
creativision:
|
|
bios_filename: "bioscv.rom"
|
|
bios_size: 2048
|
|
memory_map: "0xF800-0xFFFF"
|
|
source_ref: "src/jcv_crvision.c:316-318, 443-445"
|
|
|
|
myvision:
|
|
bios_required: false
|
|
source_ref: "libretro/libretro.c:717-719"
|
|
note: "No BIOS is loaded for My Vision."
|