If anybody here is feeling nostalgic for the late 90’s, here’s a bunch of games for the Sega Dreamcast VMU, running in an emulator (SoftVMS by Marcus Comstedt, ported by me).
Want to play a game that’s not on the list? Just say the name, I’ll hunt it down and upload a bin.
#Games
Powerstone.bin (109.0 KB)
ChaoAdventure.bin (126.7 KB)
A virtual pet from the Sonic Adventure game. Save with C+B, load with C+A, invert with C+Up.
ChaoAdventure2.bin (126.7 KB) NEW The virtual pet from Sonic Adventure 2. Has some bugs, but is playable. I prefer the first one. Save with C+B, load with C+A, invert with C+Up.
PocketGT.bin (109.0 KB) A virtual pet where the pet is a race car driver.
PacMan.bin (78.5 KB) It’s… pacman.
PaperAttack.bin (54.5 KB) (Minor glitches, but the game is playable)
NanwakaDensetsu.bin (109.0 KB) japanese RPG
CCSakura.bin (94.7 KB) NEW Another japanese game. I have no idea how to play this.
IDOUDO.bin (51.5 KB) A “Simon says” style game.
GluckyLaby.bin (95.6 KB)
3D First-Person dungeon crawler with 5 levels. My favorite of the bunch, but it has a glitch when you find a chest. Don’t try to open a chest. Save state to the SD card with C+B, load with C+A!
fallingblocks.bin (66.2 KB) NEW A falling blocks game. It runs way too fast, but I’ll share it as-is for now.
Took down Soulcalibur, it needs work.
#Sources
Source (all games, see flash.h)
If you want to convert some other VMU game, use this.
#include <stdlib.h>
#include <stdio.h>
int main( int argc, char **argv ){
FILE *f = fopen( argv[1], "r" );
if( !f ){
printf("Could not open file.\n");
return 1;
}
FILE *fo = fopen("flash.h", "w");
fprintf( fo, "const unsigned char flash[] = {\n");
bool comma = false;
int nl=0;
while( !feof(f) ){
if( comma ) fprintf( fo, "," );
if( !(++nl%15) ) fprintf( fo, "\n" );
int ch = fgetc(f);
if( ch == -1 ) break;
fprintf( fo, "0x%02x", ch );
comma = true;
}
fprintf( fo, "\n};\n" );
fclose(f);
fclose(fo);
return 0;
}
Usage: ./main file.vms
Output will be a flash.h file.
#Screenshots