A Cycle-Accurate Virtual Boy Emulator

The GUI

The GUI

This is an attempt to build the first cycle-accurate Virtual Boy emulator. It also supports a rich debugging environment for homebrew software.

This emulator is not intended for playing games. No present-day CPU can run it full speed anyways (hence its name).

Usage

Click here to run the current version in your browser.

Features

  • Cycle-accurate timing for all components in the VB (including the VIP, CPU, memory bus, timer, etc.)
  • Memory dump window
  • CPU status window
  • Oscilloscope window for monitoring timing of each cartridge pin
  • Expansion device emulation for Overdrive Cart
  • Support for symbolic debugging by loading an ELF image
  • Performance analyzer with profiling for finding hot functions and basic blocks

Project Status

  • Timings are more accurate than any other emulator out there, but still far from perfect given abysmal documentation for the NEC V810’s pipeline
  • Some rare instructions are unimplemented (floats and bitstrings)
  • Can play some commercial games without issue and Elevated Speed
   

Discussion