Virtual Virtual Boy
Go to file
Simon Gellis 2ef3796edb 1.17.1
2024-08-29 21:43:56 -04:00
.idea Upgrade all deps 2023-07-27 01:25:35 -04:00
.vscode wip 2020-07-29 14:47:07 -04:00
app 1.17.1 2024-08-29 21:43:56 -04:00
cardboard-sdk Update dependencies 2024-08-24 13:10:54 -04:00
gradle/wrapper Update dependencies 2024-08-24 13:10:54 -04:00
leia-cnsdk Upgrade to newer Leia CNSDK 2024-01-13 14:57:43 -05:00
src Update dependencies 2024-08-24 13:10:54 -04:00
.gitignore Update dependencies 2024-08-24 13:10:54 -04:00
build.gradle Update dependencies 2024-08-24 13:10:54 -04:00
build.rs Update all dependencies 2023-03-25 23:34:37 -04:00
Cargo.lock Update dependencies 2024-08-24 13:10:54 -04:00
Cargo.toml Update dependencies 2024-08-24 13:10:54 -04:00
gradle.properties More tooling updates 2024-01-18 23:58:15 -05:00
gradlew Upgrade all deps 2023-07-27 01:25:35 -04:00
gradlew.bat Upgrade all deps 2023-07-27 01:25:35 -04:00
LICENSE.md Add license and readme 2021-01-24 20:52:26 -05:00
README.md Implement software reads 2023-07-28 00:12:52 -04:00
settings.gradle Support LumePad 2 3D (WIP, breaks other devices) 2023-04-06 23:47:56 -04:00

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:

  • Some VIP interrupts (TIMEERR, SBHIT)
  • Game Pad and Game Pak interrupts
  • Game Pak expansions and the link cable
  • The instruction cache

Credits