Skip to content

EmuCV - RetroBIOS

Type libretro
Classification Pure libretro
Source https://gitlab.com/MaaaX-EPOCH84/libretro-emucv
Version 0.00
Profiled 2026-09-17
Cores emucv
Systems epochcv
Platform details

cpu: NEC uPD777C / uPD778C, one per cartridge program_memory: 2032 words of 12 bits pattern_memory: 896 bytes, compiled in source_ref: src/emu.h:16-19

Technical notes

Cassette Vision emulator written for libretro by Maxime Marconato. The console has no system ROM: each cartridge carries the NEC uPD777 (or uPD778) that runs it, so the cartridge dump is the whole machine.

Content is opened from its full path (need_fullpath = true, src/core.cpp:307) with a plain fopen (src/emu.cpp:138, src/fileio.cpp:84-93). The file must be exactly 4064 bytes, the 2032 valid program addresses as 16-bit words (src/emu.h:16, src/emu.h:223, src/emu.cpp:143-153); any other size zeroes program memory and leaves the cartridge not inserted. Each word is read as a big-endian 12-bit instruction (src/emu.cpp:159-164). The commented MD5 check at src/emu.cpp:313-320 is not compiled.

The uPD778 character generator (128 patterns of 7 lines) is a static table compiled into the core, pattern_778c at src/emu.cpp:168-307, and is never read from disk.

RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and GET_SAVE_DIRECTORY are queried at init and stored (src/core.cpp:362-366, src/core.cpp:377-381, src/common.cpp:1054-1094). Nothing reads them back: the path helpers inherited from the Common Source Code Project (get_application_path, create_local_path, the ini reader and writer) sit inside comment blocks (src/common.cpp:799-937, src/common.cpp:1095-1719). Core options are not registered, f_retro_load_settings and f_retro_save_settings are empty (src/core.cpp:2562-2895, src/core.cpp:2900-3099). No save RAM (src/core.cpp:3437-3450) and no save states (src/core.cpp:3374-3390).

The .info declares firmware_count = 0 and matches the code.

No BIOS or firmware files required. Generated on 2026-10-10T11:26:01Z