mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
87 lines
3.4 KiB
YAML
87 lines
3.4 KiB
YAML
emulator: EmuSCV
|
|
type: libretro
|
|
core_classification: community_fork
|
|
source: "https://git.libretro.com/libretro/libretro-emuscv"
|
|
upstream: "http://takeda-toshiya.my.coocan.jp/"
|
|
profiled_date: "2026-11-09"
|
|
source_commit: "33900ce24f45c429b533fdae7844e04d64a9a1b9"
|
|
core_version: "0.15.20260921084155"
|
|
version_basis:
|
|
kind: file
|
|
path: "src/emuscv.h"
|
|
pattern: 'EMUSCV_VERSION_MAJOR\s+"(\d+)"\n#define EMUSCV_VERSION_MINOR\s+"(\d+)"\n#define EMUSCV_VERSION_DATETIME\s+"(\d+)"'
|
|
format: "{1}.{2}.{3}"
|
|
display_name: "EPOCH/YENO Super Cassette Vision (EmuSCV)"
|
|
cores:
|
|
- emuscv
|
|
systems:
|
|
- scv
|
|
|
|
notes: |
|
|
Libretro port of eSCV by Takeda Toshiya (Common Source Code Project),
|
|
ported to libretro by MARCONATO Maxime. Upstream source mirrored at
|
|
https://github.com/tautologico/common-src-project (src/vm/scv/). The
|
|
buildbot builds libretro's copy on git.libretro.com, which carries the
|
|
history of the former GitHub repository and continues it.
|
|
|
|
BIOS loading in src/vm/scv/memory.cpp:initialize() (lines 84-250).
|
|
Tries filenames in order: upd7801g.s01, upd7801g.bin, upd7801g.bios,
|
|
bios.rom, bios.bin. First successful open wins. Upstream eSCV uses
|
|
only BIOS.ROM (uppercase), and the libretro port renamed and added
|
|
fallback aliases.
|
|
|
|
The BIOS is read as 0x1000 (4096) bytes into the bios[] array, mapped
|
|
read-only at CPU address 0x0000-0x0FFF (UPD7801 internal ROM area).
|
|
|
|
upd7801g.s01 is checked against MD5 635a978fd40db9a18ee44eff449fc126
|
|
unless the CHECKBIOS core option is NO, so with the default AUTO a
|
|
file of other content under that name is rejected (filled with 0xFF,
|
|
bios_loaded=false) and the next name is tried. The four other names are
|
|
checked only when CHECKBIOS is YES, and AUTO accepts any content under
|
|
them (src/vm/scv/memory.cpp:84-112, 115-148, src/emuscv.cpp:3459-3472).
|
|
|
|
The font/character data is embedded within the BIOS at offset 0x200
|
|
(memory.h get_font() returns bios + 0x200). No separate font ROM file.
|
|
|
|
The core can start without BIOS (supports_no_game=true) but shows
|
|
"BIOS not found" or "Bad BIOS" on the OSD. Games will not run without
|
|
it.
|
|
|
|
The .info declares firmware_count=1, firmware0_opt=false. Matches code.
|
|
|
|
files:
|
|
- name: "upd7801g.s01"
|
|
system: scv
|
|
required: true
|
|
size: 4096
|
|
md5: 635a978fd40db9a18ee44eff449fc126
|
|
validation: [md5]
|
|
note: "UPD7801G internal ROM (BIOS). The MD5 is checked by default under this name only. Mapped at 0x0000-0x0FFF. Contains character font at offset 0x200."
|
|
source_ref: "src/vm/scv/memory.cpp:84-250"
|
|
aliases:
|
|
- "upd7801g.bin"
|
|
- "upd7801g.bios"
|
|
- "bios.rom"
|
|
- "bios.bin"
|
|
|
|
platform_details:
|
|
cpu: "NEC UPD7801G"
|
|
bios_mapping:
|
|
upd7801g:
|
|
target: "0x0000-0x0FFF (CPU internal ROM, 4 KB)"
|
|
format: "raw binary"
|
|
source_ref: "src/vm/scv/memory.cpp:259-264"
|
|
notes: |
|
|
Memory map from memory.cpp:initialize():
|
|
0x0000-0x0FFF BIOS ROM (read-only)
|
|
0x2000-0x3FFF VRAM (8 KB)
|
|
0x8000-0xFF7F Cartridge ROM (up to 4 banks of 32 KB)
|
|
0xFF80-0xFFFF CPU internal RAM (128 bytes)
|
|
Font data lives inside the BIOS at offset 0x200, accessed via
|
|
get_font() for the VDP character rendering (src/vm/scv/vdp.cpp).
|
|
|
|
cartridge_loading:
|
|
formats: "cart, bin, rom, 0 (multi-file: .0/.1/.2/.3), zip"
|
|
banking: "4 banks of 32 KB via PC5/PC6 port lines"
|
|
source_ref: "src/vm/scv/memory.h, src/vm/scv/memory.cpp"
|