mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 15:43:45 -06:00
Each libretro profile records version_basis and core_version is read there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba 0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build takes its version from git carry the nearest tag in describe form (flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders copied from .info files (Git, SVN) are replaced by the code's statement, and a code that states none is null with kind none.
67 lines
2.6 KiB
YAML
67 lines
2.6 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"
|
|
source_commit: "331af5f53cc0ffbab90f915681c8dfe3a4cda0a2"
|
|
core_version: "1.01.01"
|
|
version_basis:
|
|
kind: file
|
|
path: "source/libretro/libretro.cpp"
|
|
pattern: 'library_version\s*=\s*"([^"]+)"'
|
|
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.
|