mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-31 16:17:19 -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.
69 lines
2.4 KiB
YAML
69 lines
2.4 KiB
YAML
emulator: VeMUlator
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/libretro/vemulator-libretro"
|
|
upstream: "closed-source Android app (removed from Google Play ~2020)"
|
|
profiled_date: "2026-03-25"
|
|
source_commit: "27a062f6ae532e5028e4fb54f523cc689e78146a"
|
|
core_version: "0.1"
|
|
version_basis:
|
|
kind: file
|
|
path: "main.cpp"
|
|
pattern: 'info->library_version\s*=\s*"([^"]+)"'
|
|
display_name: "VeMUlator"
|
|
cores:
|
|
- vemulator
|
|
systems:
|
|
- sega-vmu
|
|
|
|
notes: |
|
|
Sega Dreamcast VMU/VMS emulator. Same author (Mahmoud Jaoune) ported
|
|
the original Android Java app to C++ for libretro. Emulates the Sanyo
|
|
LC8670 CPU, 128 KB flash, 48x32 LCD, piezo buzzer, and timers.
|
|
|
|
No BIOS files required. The core uses HLE exclusively: startCPU()
|
|
checks BIOSExists (always false), then initializeHLE() sets SFR
|
|
registers and system RAM directly (vmu.cpp:193-222).
|
|
|
|
A loadBIOS() function exists (vmu.cpp:82-137) handling encrypted and
|
|
unencrypted BIOS images, but is never called from the libretro
|
|
interface. retro_load_game() only loads game flash data, with no
|
|
system directory query. README lists BIOS support as planned.
|
|
|
|
files: []
|
|
|
|
platform_details:
|
|
hle_implementation:
|
|
source_ref: "vmu.cpp:195-222"
|
|
sfr_init:
|
|
SP: "0x7F"
|
|
PSW: "0x02"
|
|
IE: "0x80"
|
|
MCR: "0x08"
|
|
P7: "0x02"
|
|
OCR: "0xA3"
|
|
BTCR: "0x41"
|
|
ram_init:
|
|
- "0x31 = 0xFF (battery level)"
|
|
- "0x6E = 0xFF"
|
|
- "P3 = 0xFF (no buttons pressed)"
|
|
- "BCD date/time at 0x10-0x16, raw at 0x17-0x1D"
|
|
note: |
|
|
HLE skips the BIOS boot sequence and jumps directly into the loaded
|
|
game. System clock, date, and button state are initialized in RAM.
|
|
The EXT register is set to 1 to signal HLE mode to the CPU
|
|
(vmu.cpp:198-199). Games that depend on BIOS-initialized state
|
|
beyond what HLE provides may not work correctly.
|
|
|
|
unused_bios_loader:
|
|
source_ref: "vmu.cpp:82-137"
|
|
max_file_size: 61444
|
|
rom_load_size: 61440
|
|
encryption: "XOR 0x37 after stripping 4-byte header"
|
|
detection: "first byte 0x2A (JMPF) = unencrypted, otherwise encrypted"
|
|
note: |
|
|
The loadBIOS() method is fully implemented but unreachable from the
|
|
libretro interface. No system directory query, no BIOS path construction,
|
|
and no call site exists in main.cpp. A future update could wire this up
|
|
to support real VMU firmware boot (file manager, clock, mini-games menu).
|