Files
libretro/emulators/vecx.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
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.
2026-10-27 19:21:27 +01:00

71 lines
2.5 KiB
YAML

emulator: vecx
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/libretro-vecx"
upstream: "https://github.com/jhawthorn/vecx"
profiled_date: "2026-03-25"
source_commit: "dccff5402a16d1ea7c112095a8e42632bf149506"
core_version: "1.2"
version_basis:
kind: file
path: "libretro.c"
pattern: 'info->library_version\s*=\s*"([^"]+)"'
display_name: "GCE - Vectrex (vecx)"
cores:
- vecx
systems:
- gce-vectrex
notes: |
vecx is a GCE Vectrex emulator ported to libretro.
The Vectrex system ROM (8192 bytes) is fully embedded in the binary.
There are three compile-time BIOS variants in bios/:
- system.h (STANDARD_BIOS, default) - original Vectrex ROM
- fast.h (FAST_BIOS) - modified BIOS with faster boot
- skip.h - modified BIOS that skips the intro
The default build uses STANDARD_BIOS via #define at libretro.c:20.
At load time (retro_load_game, libretro.c:737):
memcpy(rom, bios_data, bios_data_size);
This copies the compiled-in BIOS data into the rom[8192] array
(vecx.c:40, mapped at 0xE000-0xFFFF via vecx.c:437-439).
The core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and has
no code path to load an external BIOS file from disk. No .info file
is shipped with the repo declaring firmware requirements.
rom.dat in the repo root is identical to bios/system.bin (same MD5:
ab082fa8c8e632dd68589a8c7741388f), likely kept for standalone builds.
files: []
platform_details:
bios_mapping:
target: "0xE000-0xFFFF in Vectrex address space (8 KB)"
source_ref: "source vecx.c:40 (unsigned char rom[8192]), source vecx.c:437-439 (read handler)"
note: |
CPU reads from 0xE000-0xFFFF are served from rom[] via
address & 0x1FFF masking. The array is populated from the
compiled-in bios_data at retro_load_game() time.
embedded_bios:
source_ref: "source libretro.c:20-30, source bios/system.h"
standard_bios:
md5: "ab082fa8c8e632dd68589a8c7741388f"
sha1: "65d07426b520ddd3115d40f255511e0fd2e20ae7"
size: 8192
fast_bios:
md5: "a970aed37cffd29ab3740f8e79518858"
sha1: "e0900be6d6858b985fd7f0999d864b2fceaf01a1"
size: 8192
skip_bios:
md5: "05f32c2b18b6fb168ab976989e86dfb1"
sha1: "6c891bd74acb201d54071b310bd6df6617cdf205"
size: 8192
note: |
All three variants are 8192 bytes, compiled as C arrays in
bios/*.h headers. STANDARD_BIOS is the authentic Vectrex ROM.
FAST_BIOS and skip are modified versions for faster startup.
Selection is compile-time only (#ifdef chain, libretro.c:20-30).