mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
The rom folder survey joined 463 folders to their default core's whole profile, no system of it matching. SYSTEM_ALIASES, the one table _norm_system_id reads, now folds ten more spellings of one machine: apple2gs, astrocade, astrocde, creativision, gamepocketcomputer, nintendo-super-game-boy, cps1, cps2, cps3 and pgm. The profiles that used them take the canonical id (mame, groovymame, mamemess, mame0258, mame0278, bsnes, mesen-s, mesence, jollycv, fbalpha2012 and its three CPS cores, fbneo_cps12), as test_system_ids requires. With bsnes and bsnes-hd now filing SGB1.sfc under one system, their claims fold onto one report entry. _names_content read only the first claim, hashless, and nSide's SGB1.sfc/ tree took the path before the file. A hash on any folded claim now counts: every pack keeps the destinations it had. The site drops the eight display names the canonical ids replace and names tvgames. README counts 533 systems instead of 541.
96 lines
4.0 KiB
YAML
96 lines
4.0 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: "3caacb22143543d5c7de4f3208def645a2ec0ab5"
|
|
core_version: "2.1.0"
|
|
version_basis:
|
|
kind: file
|
|
path: "version.h"
|
|
pattern: '#define\s+JG_VERSION\s+"([^"]+)'
|
|
display_name: "ColecoVision/CreatiVision/My Vision (JollyCV)"
|
|
cores:
|
|
- jollycv
|
|
systems:
|
|
- colecovision
|
|
- crvision
|
|
- 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, and 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, and 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: "source libretro/libretro.c:697-703, source src/jollycv.c:406-432, source src/jcv_coleco.c:402-410, source 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, and the core compares the size only."
|
|
|
|
- name: "bioscv.rom"
|
|
system: crvision
|
|
description: "VTech CreatiVision BIOS ROM"
|
|
required: true
|
|
size: 2048
|
|
md5: "3b1ef759d8e3fb4071582efd33dd05f9"
|
|
validation: [size]
|
|
source_ref: "source libretro/libretro.c:707-713, source src/jollycv.c:406-432, source src/jcv_crvision.c:316-324, upstream jg.c:154-155"
|
|
note: "Mapped at 0xF800-0xFFFF. The MD5 is the value the JG bioslist declares, and 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."
|