mirror of
https://github.com/SupernaviX/vvb.git
synced 2024-11-26 20:00:25 +00:00
Virtual Virtual Boy
.idea | ||
.vscode | ||
app | ||
cardboard-sdk | ||
gradle/wrapper | ||
src | ||
.gitignore | ||
build.gradle | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE.md | ||
README.md | ||
settings.gradle |
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
- 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
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
- Guy Perfect for writing the extremely helpful Virtual Boy Sacred Tech Scroll
- Pi Lanningham and Robert Kellett for rubber ducking