mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
profile emulators pd777 through tic80, add frozen snapshots (puae2021, snes9x2002/2005/2010, stella2014/2023). CI: replace github-script with gh CLI, add test execution, job-level permissions, propagate changed output, pin jsonschema.
62 lines
2.4 KiB
YAML
62 lines
2.4 KiB
YAML
emulator: PD777
|
|
type: libretro
|
|
core_classification: community_fork
|
|
source: "https://github.com/mittonk/PD777"
|
|
upstream: "https://github.com/W88DodPECuThLOl/PD777"
|
|
profiled_date: "2026-03-24"
|
|
core_version: "v1.0.0"
|
|
display_name: "Epoch - Cassette Vision (PD777)"
|
|
cores:
|
|
- pd777
|
|
systems:
|
|
- epochcv
|
|
|
|
notes: |
|
|
PD777 is an Epoch Cassette Vision emulator (NEC uPD777C CPU), by
|
|
W88DodPECuThLOl. Libretro port by Ken Mitton (mittonk).
|
|
|
|
No BIOS or firmware files required. The .info file declares firmware_count = 0.
|
|
|
|
Game loading in source/libretro/libretro.cpp:retro_load_game() (line 404-532).
|
|
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.
|