Files
libretro/emulators/emucv.yml
T
Abdessamad Derraz d84f81874b docs: say why emucv and eightyone read nothing
Both cores ask for the system directory. emucv never reads the answer
back, and eightyone serves every ROM from its embedded table and only
writes zxpand-eeprom.bin there. The reasons were in their notes, not in
the exclusion_note the fileless audit accepts as an answer.
2026-10-18 07:30:25 +02:00

56 lines
2.6 KiB
YAML

emulator: EmuCV
type: libretro
core_classification: pure_libretro
source: "https://gitlab.com/MaaaX-EPOCH84/libretro-emucv"
profiled_date: "2026-09-17"
pin_frozen: "the shipping core is this revision. HEAD removed the prototype from the tree on 2026-09-11 (a188c0f) and archived its last description files on 2026-09-12 (06a066a); the new skeleton has not yet been copied from libretro-emuscv1 (ROADMAP step 4.3). Recaling would repoint these refs at a tree that currently holds nothing but a roadmap."
source_commit: "6a6e1b15c5d5afefbc3fefdd8b52f3f2c8c0a0eb"
core_version: "0.00"
display_name: "EPOCH - Cassette Vision (EmuCV)"
cores:
- emucv
systems:
- epochcv
exclusion_note: >
The system directory is asked for and stored (src/core.cpp:362-366), and the
helpers that would read it back sit inside comment blocks
(src/common.cpp:799-937, src/common.cpp:1095-1719): the answer is never used.
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.
files: []
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"