Virtual Virtual Boy
Go to file
2022-01-22 18:24:45 -05:00
.idea Update README setup instructions 2021-08-25 23:44:49 -04:00
.vscode wip 2020-07-29 14:47:07 -04:00
app Add basic settings to let app start on Android TV 2022-01-22 18:24:45 -05:00
cardboard-sdk Update all dependencies to latest 2022-01-09 15:10:06 -05:00
gradle/wrapper Update gradle 2021-08-28 14:05:30 -04:00
src Fix backwards sweep effects 2022-01-10 00:14:23 -05:00
.gitignore Integrate with ACRA to capture more info about errors 2021-06-19 00:23:27 -04:00
build.gradle Update all dependencies to latest 2022-01-09 15:10:06 -05:00
build.rs Profile and improve drawing performance 2020-10-05 22:43:31 -04:00
Cargo.lock Update all dependencies to latest 2022-01-09 15:10:06 -05:00
Cargo.toml Add more frame buffers in case of lag 2021-09-08 22:06:33 -04:00
gradle.properties Remove settings which optimize build size but cause issues on some devices 2021-06-21 21:11:22 -04:00
gradlew Initial commit with rust support 2020-07-25 02:04:05 -04:00
gradlew.bat Initial commit with rust support 2020-07-25 02:04:05 -04:00
LICENSE.md Add license and readme 2021-01-24 20:52:26 -05:00
README.md Update README setup instructions 2021-08-25 23:44:49 -04:00
settings.gradle Link against the cardboard SDK 2020-08-02 12:42: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.

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

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