Skip to content

jakedowns/vvb

 
 

Repository files navigation

Virtual Virtual Boy

Description

Virtual Virtual Boy is an emulator for the Virtual Boy 3D console. You can use it with a pair of cheap Anaglyph 3D glasses or with Google Cardboard to play Virtual Boy games on an Android phone.

Get it on Google Play

Development

Initial Setup

  1. Install JDK8 and make sure it's in your path
  2. Install rustup
  3. Add targets for the four supported platforms:
rustup target add armv7-linux-androideabi   # for arm
rustup target add i686-linux-android        # for x86
rustup target add aarch64-linux-android     # for arm64
rustup target add x86_64-linux-android      # for x86_64

Building the app

gradlew build

If you're testing on a specific device, you can speed up builds by setting rust.targets in the local.properties file to the architecture you care about.

# only compile for x86_64
rust.targets=x86_64

Adding new bundled games

  1. Add a .vb file to [./app/src/main/assets/games].
  2. Add an entry to [./app/src/main/res/raw/bundledgames.json].

Running tests

cargo test

Known Issues

Several features are not implemented:

  • Software Game Pad reads (every game I tested against used hardware reads)
  • Some VIP interrupts (TIMEERR, SBHIT)
  • Game Pad and Game Pak interrupts
  • Game Pak expansions and the link cable
  • The instruction cache

Credits

About

Virtual Virtual Boy

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 65.3%
  • Kotlin 34.7%