JollyCV
JollyCV emulates ColecoVision, VTech CreatiVision and Nichibutsu My Vision. It reads 2 files, 2 of them required: without a required file it does not start games. A required file is needed only by the machines that use it. Each file below cites the line of source code that reads it.
About this profile
Install this emulator's files
The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.
Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator jollycvOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator jollycvOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator jollycvSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator jollycvInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator jollycvOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator jollycvPlatform 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,src/jcv_crvision.c:443-445
-
myvision:
- bios_required: no
- source_ref:
libretro/libretro.c:717-719 - note: No BIOS is loaded for My Vision.
Technical 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.
2 files: 2 required, 0 optional.
In this collection: 2 in repo and 0 missing.
Required
Section titled “Required”coleco.rom required for ColecoVision in repo
ColecoVision BIOS
- System: ColecoVision
- 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.
- Size: 8.0 KB, MD5 2c66f5911e5b
- Collection copy:
bios/Coleco/ ColecoVision/ BIOS.col - Platforms:
BIOS.colandcoleco.romandcolecovision.rom: Lakka, RetroArch, RetroPie.colecovision.rom: Batocera, EmuDeck.Coleco_Bios.bin: BizHawk.Machines/andCOL - ColecoVision with Opcode Memory Extension/ coleco.rom Machines/andCOL - ColecoVision/ coleco.rom coleco/boot.rom: Recalbox.bios/BIOS.colandbios/andMachines/ COL - ColecoVision with Opcode Memory Extension/ coleco.rom bios/andMachines/ COL - ColecoVision/ coleco.rom bios/colecovision.rom: AmberELEC.bios/BIOS.colandbios/coleco.romandbios/colecovision.rom: RetroDECK.bios/andMachines/ COL - ColecoVision with Opcode Memory Extension/ coleco.rom bios/: EmuELEC.Machines/ COL - ColecoVision/ coleco.rom coleco.romandcolecovision.romandopenMSX/: RetroBat.share/ systemroms/ coleco.rom colecovision/colecovision.rom: RomM
Hashes, validation and source
- MD5:
2c66f5911e5b42b8ebe113403548eee7 - Validation: size
- Asked for by: libretro glue and emulator code, libretro port
- Source:
libretro/libretro.c:697-703(libretro glue),src/jollycv.c:406-432(emulator code, libretro port),src/jcv_coleco.c:402-410(emulator code, libretro port),jg.c:151-153(emulator code, libretro port)
bioscv.rom required for VTech CreatiVision in repo
VTech CreatiVision BIOS ROM
- System: VTech CreatiVision
- Mapped at 0xF800-0xFFFF. The MD5 is the value the JG bioslist declares, and the core compares the size only.
- Size: 2.0 KB, MD5 3b1ef759d8e3
- Collection copy:
bios/VTech/ CreatiVision/ bioscv.rom - Platforms:
bioscv.rom: Lakka, RetroArch, RetroBat, RetroPie
Hashes, validation and source
- MD5:
3b1ef759d8e3fb4071582efd33dd05f9 - Validation: size
- Asked for by: libretro glue, emulator code, libretro port and upstream emulator
- Source:
libretro/libretro.c:707-713(libretro glue),src/jollycv.c:406-432(emulator code, libretro port),src/jcv_crvision.c:316-324(emulator code, libretro port),jg.c:154-155(upstream emulator)
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start