mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 04:12:33 -05:00
240 file-level entries used notes: instead of the canonical note: field. verify.py and cross_reference.py only read note:, so these were silently ignored.
64 lines
2.2 KiB
YAML
64 lines
2.2 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"
|
|
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).
|