mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 13:33:24 -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.
65 lines
2.3 KiB
YAML
65 lines
2.3 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"
|
|
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).
|