mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 14:03:23 -05:00
Upstream moved under 145 profiles: 679 refs shifted and 452 followed a renamed file, against 6,483 that still anchor where they were written. The recale rewrites the located ranges only, keeping the annotations and the sentences that carry them, and 106 pins advance in the same commit because refs and source_commit name one revision or the profile describes two at once. Nothing here was guessed. The 183 refs that are CHANGED, GONE or AMBIGUOUS are untouched, and the 57 profiles holding them keep their old pin until someone reads the diff: profile_sync refuses to recale a profile while any of its refs needs a re-read. trident kept its pin too, its annotated ref being one the writer will not rewrite.
81 lines
3.1 KiB
YAML
81 lines
3.1 KiB
YAML
emulator: RVVM
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/LekKit/RVVM"
|
|
upstream: "https://github.com/LekKit/RVVM"
|
|
profiled_date: "2026-03-25"
|
|
source_commit: "7195d47431b1f9643a61a306bed6650571e6ecca"
|
|
core_version: "0.6-git"
|
|
display_name: "RVVM"
|
|
cores: [rvvm]
|
|
systems: [riscv]
|
|
|
|
# RVVM emulates a RISC-V machine (rv64imafdcb or rv32ima). The libretro core
|
|
# loads a .rvvm plain-text config file specifying bootrom, kernel, nvme drives,
|
|
# memory, CPU mode, cmdline, and framebuffer resolution.
|
|
#
|
|
# The core does NOT use the RetroArch system directory. All firmware paths are
|
|
# specified in the .rvvm config file and resolved relative to its directory.
|
|
# The core chdir()s to the .rvvm file's parent before initializing the VM.
|
|
#
|
|
# The .rvvm config format (parsed by retro_load_game):
|
|
# bootrom=/path/to/fw_payload.bin
|
|
# kernel=/path/to/Image
|
|
# nvme=/path/to/rootfs.img
|
|
# mem=512
|
|
# smp=2
|
|
# rv64
|
|
# cmdline=root=/dev/nvme0n1 rootflags=discard rw console=tty0
|
|
#
|
|
# The libretro binding uses an older RVVM API (rvvm_load_bootrom, 4-param
|
|
# rvvm_create_machine) that has been renamed in the current upstream
|
|
# (rvvm_load_firmware, 3-param rvvm_create_machine). The binding may not
|
|
# compile against RVVM HEAD without updates.
|
|
|
|
# Source references:
|
|
# libretro binding: src/bindings/libretro/libretro.c
|
|
# config parsing: libretro.c:332-421 (retro_load_game)
|
|
# VM init + loading: libretro.c:288-330 (vm_init)
|
|
# firmware loading: src/rvvm.c:621-628 (rvvm_load_firmware)
|
|
# kernel loading: src/rvvm.c:630-638 (rvvm_load_kernel)
|
|
# FDT loading: src/rvvm.c:641-648 (rvvm_load_fdt, standalone only)
|
|
# standalone CLI: main.c:213-282 (rvvm_cli_configure)
|
|
|
|
files:
|
|
- name: "fw_payload.bin"
|
|
path: "rvvm/fw_payload.bin"
|
|
required: true
|
|
source_ref: "src/bindings/libretro/libretro.c:309-314, src/core/rvvm.c:625-632"
|
|
note: >
|
|
M-mode firmware loaded at 0x80000000. Typically OpenSBI with U-Boot
|
|
payload (fw_payload.bin) or standalone (fw_jump.bin). Referenced by
|
|
the bootrom= key in the .rvvm config.
|
|
|
|
- name: "Image"
|
|
path: "rvvm/Image"
|
|
required: false
|
|
source_ref: "src/bindings/libretro/libretro.c:316-318, src/core/rvvm.c:634-642"
|
|
note: >
|
|
S-mode kernel payload loaded at offset 0x200000 (rv64) or 0x400000
|
|
(rv32) from RAM base. Only needed with fw_jump.bin as bootrom.
|
|
Referenced by the kernel= key in the .rvvm config.
|
|
|
|
- name: "machine.dtb"
|
|
path: "rvvm/machine.dtb"
|
|
required: false
|
|
mode: standalone
|
|
source_ref: "src/main.c:214, src/core/rvvm.c:645-652"
|
|
note: >
|
|
Custom Flattened Device Tree. The core auto-generates a DTB based on
|
|
machine configuration. The libretro binding does not parse a dtb= key
|
|
in the .rvvm config, so this is only usable via the standalone CLI
|
|
(-dtb flag).
|
|
|
|
notes:
|
|
firmware_sources: >
|
|
OpenSBI: https://github.com/riscv-software-src/opensbi/releases.
|
|
Pre-built images for RVVM: https://github.com/LekKit/RVVM/wiki/Running
|
|
info_firmware_count: >
|
|
.info declares 0 firmware. Correct: the core loads firmware via
|
|
user-specified paths in the .rvvm config, not from system_dir.
|