The Visual Memory Unit (VMU), known as the Visual Memory System (VMS) in Japan, is a removable storage device developed by Sega for use with the Dreamcast console. Released in 1998, it doubles as a standalone handheld gaming device featuring a monochrome 48×32 pixel LCD screen, a D-pad, and four buttons (A, B, MODE, SLEEP). The VMU could run mini-games that were often bundled with Dreamcast titles, as well as homebrew software.
This system scrapes metadata for the “vemulator” group and loads the vemulator set from the currently selected theme, if available.
/userdata/roms/vemulator.vms, .dci, .binNo Dreamcast VMU emulator in Batocera needs a BIOS file to run.
Place your VMU ROMs in /userdata/roms/vemulator.
VMU games come in several formats:
| Extension | Description |
|---|---|
.vms | Standard VMU save/mini-game file |
.dci | DCI format (alternative VMU dump format) |
.bin | Full 128 KB VMU flash memory dump |
Many Dreamcast games included VMU mini-games that were downloaded to the VMU when a save file was created. These mini-games can be extracted and played standalone. There is also an active homebrew scene producing original VMU games.
RetroArch (formerly SSNES), is a ubiquitous frontend that can run multiple “cores”, which are essentially the emulators themselves. The most common cores use the libretro API, so that's why cores run in RetroArch in Batocera are referred to as “libretro: (core name)”. RetroArch aims to unify the feature set of all libretro cores and offer a universal, familiar interface independent of platform.
RetroArch offers a Quick Menu accessed by pressing [HOTKEY] +
which can be used to alter various things like RetroArch and core options, and controller mapping. Most RetroArch related settings can be altered from Batocera's EmulationStation.
Standardized features available to all libretro cores: vemulator.videomode, vemulator.ratio, vemulator.smooth, vemulator.shaders, vemulator.pixel_perfect, vemulator.decoration, vemulator.game_translation
ES setting name batocera.conf_key | Description ⇒ ES option key_value |
|---|---|
| Settings that apply to all cores of this emulator | |
GRAPHICS API vemulator.gfxbackend | Choose which graphics API library to use. Vulkan is better, when supported. ⇒ OpenGL opengl, Vulkan vulkan. |
AUDIO LATENCY vemulator.audio_latency | In milliseconds. Can reduce crackling/cutting out. ⇒ 256 256, 192 192, 128 128, 64 64, 32 32, 16 16, 8 8. |
THREADED VIDEO vemulator.video_threaded | Improves performance at the cost of latency and more video stuttering. Use only if full speed cannot be obtained otherwise. ⇒ On true, Off false. |
VeMUlator is the only VMU emulator available for Batocera. It is a port of the Android VeMUlator application by Mahmoud Jaoune, translated from Java to C++. The core uses high-level emulation (HLE) to emulate the Sanyo LC86K87 “Potato” CPU found in the VMU hardware.
ES setting name batocera.conf_key | Description ⇒ ES option key_value |
|---|---|
| Settings that apply to all systems this core supports | |
ENABLE FLASH WRITE global.vemulator_enable_flash_write | When enabled, allows writing to .bin flash memory files. Changes persist between sessions. Requires a restart to take effect. ⇒ On enabled, Off disabled. |
Here are the default Dreamcast VMU controls shown on a Batocera Retropad:
The VMU has a simple control scheme consisting of a D-pad and two action buttons (A and B), plus MODE and SLEEP buttons.
| VMU button | Retropad equivalent |
|---|---|
| D-pad Up | D-pad Up |
| D-pad Down | D-pad Down |
| D-pad Left | D-pad Left |
| D-pad Right | D-pad Right |
| A | |
| B | |
| MODE | Start |
| SLEEP | Select |
| Specification | Detail |
|---|---|
| CPU | 8-bit Sanyo LC86K87 “Potato” |
| RAM | 256 bytes (application) + 256 bytes (system) |
| Flash storage | 128 KB (200 blocks of 512 bytes) |
| Display | 48 x 32 pixels, monochrome LCD |
| Audio | 1-channel 8-bit PWM |
| Buttons | D-pad, A, B, MODE, SLEEP |
| Power | 2x CR-2032 lithium batteries |
| Release | Japan: 1998, NA: 1999, EU: 1999 |
For further troubleshooting, refer to the generic support pages.