mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 00:27:20 -05: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.
60 lines
2.8 KiB
YAML
60 lines
2.8 KiB
YAML
emulator: Picocomputer 6502
|
|
type: standalone + libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/picocomputer/rp6502"
|
|
source_branch: libretro
|
|
upstream: "https://github.com/picocomputer/rp6502"
|
|
profiled_date: "2026-09-17"
|
|
source_commit: "02bfc3cbc9b2700795ce0a40fb49b413784cb832"
|
|
core_version: "v0.33"
|
|
version_basis:
|
|
kind: tag
|
|
tag: "v0.33"
|
|
distance: 0
|
|
display_name: "Picocomputer 6502"
|
|
cores:
|
|
- rp6502
|
|
systems:
|
|
- picocomputer-6502
|
|
|
|
notes: |
|
|
Rumbledethumps' Picocomputer 6502, a WDC 65C02 driven by two Raspberry Pi
|
|
Picos acting as RIA and VGA. The libretro core, the desktop emulator and the
|
|
Pico firmware live in one repository: src/host/libretro is the core and
|
|
src/host/sokol the standalone, both linked over the same emu_core library
|
|
(src/core/emu.cmake:31-105). A release fast-forwards the libretro branch to
|
|
the tag, which is what the buildbot builds (version.cmake:14-19), and the
|
|
core reports that tag as its version (src/core/sys/version.c:16-19).
|
|
|
|
The content is a .rp6502 program image and nothing else is loaded.
|
|
retro_load_game refuses a null path (src/host/libretro/retro.c:520-526),
|
|
makes it absolute and hands it to proc_boot (src/host/libretro/retro.c:545-563,
|
|
src/host/libretro/retro.c:498-518), which fills SRAM and XRAM from the
|
|
file's records through rom_load (src/core/sys/proc.c:83-104,
|
|
src/core/rom/rom.c:46-82). The file is opened with fs_rom_open and must
|
|
begin with #!RP6502 (src/core/rom/pump.c:96-115). Assets a program bundles
|
|
are read on demand from the same file, hence need_fullpath
|
|
(src/host/libretro/retro.c:344-354).
|
|
|
|
The RIA and VGA firmware are reimplemented inside emu_core, not read from
|
|
disk: the terminal fonts are hex arrays (src/core/term/font.c:13-25) and the
|
|
OEM code page tables are generated at build time from fatfs
|
|
(src/core/gen.cmake:46-61, src/core/emu.cmake:28,83). The core never asks
|
|
for the system directory. The frontend's save directory, or failing that the
|
|
content's own directory, becomes the program's working directory on the host
|
|
filesystem (src/host/libretro/retro.c:444-494), and the machine's stdio
|
|
drivers are the ROM and that filesystem (src/host/libretro/drivers.h:60).
|
|
The libretro machine declares no CONFIG_SAVE driver, so its settings are
|
|
never written to disk (src/host/libretro/drivers.h:48-58,
|
|
src/core/sys/config.c:62-64).
|
|
|
|
The standalone takes the program on the command line, installs --rom files
|
|
as :basename aliases on a null drive and, given no program, waits for one to
|
|
be dropped on the window (src/host/sokol/cli/cli.c:122-137,
|
|
src/host/sokol/cli/main.c:210, src/host/sokol/cli/main.c:292-311). The
|
|
debugger's ImGui layout file and the cc65 .dbg or llvm-mos ELF a DAP session
|
|
names are the program's own build outputs (src/host/sokol/cli/cli.c:154,
|
|
src/core/dap/cc65dbg.c:315, src/core/dap/dwarf_elf.c:44).
|
|
|
|
files: []
|