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.
<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png"
alt="Get it on Google Play"
height="80">
Development
Initial Setup
- Install JDK8 and make sure it's in your path
- Install rustup
- 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
- Add a .vb file to [./app/src/main/assets/games].
- Add an entry to [./app/src/main/res/raw/bundledgames.json].
Running tests
cargo test
Known Issues
Several features are not implemented:
- Some VIP interrupts (TIMEERR, SBHIT)
- Game Pad and Game Pak interrupts
- Game Pak expansions and the link cable
- The instruction cache
Credits
- Guy Perfect for writing the extremely helpful Virtual Boy Sacred Tech Scroll
- Pi Lanningham and Robert Kellett for rubber ducking
- JakeDowns for adding support for Leia 3D devices
- AngelofMe and soundsnow for the Chinese, Dutch, Finnish, French, German, Greek, Hungarian, Indonesian, Italian, Japanese, Korean, Lithuanian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish translations