Skip to content

# VeMUlator - RetroBIOS

Type | libretro
Classification | official_port
Source | https://github.com/libretro/vemulator-libretro
Upstream | closed-source Android app (removed from Google Play ~2020)
Version | 0.1
Profiled | 2026-03-25
Cores | vemulator
Systems | sega-vmu

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'] - notes: 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
    - notes: 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).

Technical 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.

No BIOS or firmware files required. Generated on 2026-03-25T14:56:43Z