Files
libretro/emulators/pd777.yml
Abdessamad Derraz ebc8e4413f feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)

115 total profiles.
2026-03-18 05:20:05 +01:00

57 lines
2.2 KiB
YAML

emulator: PD777
type: libretro
source: "https://github.com/W88DodPECuThLOl/PD777"
cores:
- pd777
systems:
- epochcv
notes: |
PD777 is an Epoch Cassette Vision emulator (NEC uPD777C CPU) with a libretro
interface, by W88DodPECuThLOl.
No BIOS or firmware files required. The .info file declares firmware_count = 0.
Game loading in source/libretro/libretro.cpp:retro_load_game() (line 386-474).
The core loads a code ROM file (.bin777) directly from the content path, then
attempts to load a pattern ROM file (.ptn777) by replacing the extension.
If neither file is found, the core falls back to hardcoded ROM data compiled
from source/core/rom.cpp (Battle Vader program + pattern ROM dumps from
oguchi-rd.com).
The code ROM supports three formats:
- Raw order: exactly 0xF00 bytes, program words in sequential address order
- Raw address: address/data pairs (compiled-in rawRom[] array)
- Formatted: header starting with "_CassetteVision_000" magic, version 0 or 1,
includes key mapping, title, and code section at offset 0x100
The pattern ROM supports three formats:
- Formatted: 0x340 bytes, header "*CassetteVision*0000", 7x7 + 8x7 CG patterns
- Raw bitstream: 0x4D0 bytes, bit-packed 7x7 and 8x7 character patterns
- Built-in: fallback to patternRom[] / patternRom8[] arrays in rom.cpp
The system directory path is retrieved via RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY
but is not used for any file loading.
Game identification uses a checksum over the loaded ROM to detect known cassettes
(Battle Vader, Galaxian, etc.) and apply per-game key mappings and bent character
tables. 11 cassette IDs are recognized (1-9, 11, 12).
Supported extensions: zip, bin777, ptn777.
files: []
platform_details:
cpu: "NEC uPD777C (uPD774 variant)"
system: "Epoch Cassette Vision (1981)"
region: "Japan"
notes: |
The Cassette Vision uses a NEC uPD777C (or uPD774 variant) as its main
processor. Program ROM and pattern/character ROM are per-cartridge, not
system-level. There is no system BIOS - the CPU executes directly from
the cartridge ROM.
The emulator supports analog paddles (4 paddles mapped to 2 analog sticks),
lever switches, push buttons, course switch, and a lightgun peripheral.