VMS is SEGA Visual Memory Simulator.
It's purpose is to enrich experience provided by Makaron, a Dreamcast emulator, by allowing user to play VM-based minigames. Completing these may unlock special features and bonus material in the original game.

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any
  damages arising from the use of this software.

1. Installation

This document assumes you know how to run homebrew on your DS - especially if your hardware requires DLDI patching.

Copy VMS.ini to root of your memory card/device. You can place VMS folder anywhere you like, or rename it, as long as you edit the INI file accordingly. Be advised that if VMS.ini is missing or misplaced the emulator will use built-in defaults rather then bail out with an error.

You will also need VMU BIOS image and some games, neither are included in this package. You can have only one game folder and the files in there must have have a proper extension. Names may contain spaces but there is 30 character limit when displaying the list, due to small screen size.

2. Usage

First you need to pick a game to run. VMS supports following formats:

"S" - .save extension
Created by VMS when the FLASH is written back. Files created by PC version are compatible with DS. Once you start a game and save it, you should load this file to continue playing or your progress will be lost.
Save files have the same format as binary files.

"G" - .vms, .vmu and .dci extensions
Game images extracted from VMUs or Dreamcast files. Since those are not full FLASH dumps (less than 128k) the data will be converted during loading.

"B" - .bin and .dcm extensions
Full binary dumps of VMU FLASH. Used by Dreamcast emulators and VMU utility tools for example.

Only files with above extensions will be listed, sorted by type and name. Select the game with UP/DOWN and press A to load it. Pressing B will run the emulator with empty, unformatted FLASH.

Directional pad, A and B keys are used to emulate VMU input. SELECT is MODE and START is SLEEP.

X - pause emulation
L+Y - capture state
L+X - restore state
R+Y - save FLASH to file
L+R+Y - reset VMU
L+R+X - return to game selection screen

State is stored in RAM and not written to memory card/device. You can only save your progress by creating a .save file.
After reset you will need to input date/time even if fastboot is set to 1 in the INI file. This is on purpose. You don't need to use reset when loading a new game.

3. Known issues

VMS is slow on DS :( This the price for the accuracy it offers and nothing can be done about it. Games and programs that use fast RC clock much will suffer the most (VMS will run full speed when subclock is used).
There is no sound either, the processing is simply too costly and slows things down even more so I disabled it permanently.
