Hey there folks. This is a post about VirtualBoy emulation on the Oculus Quest.

Right out of the box, on launch day, the existing VirtualBoy emulator for the Oculus Go called "VirtualBoyGo" already worked on the Oculus Quest, because it turns out the Quest is just an Android device in disguise! You just need a Bluetooth game controller such as the 8Bitdo SF30 Pro Controller to play this version with. All the games look and sound great. You can get the program here. You'll need something that uses ADB to sideload it onto the Quest, such as SideQuest or the Android SDK.

But I think people shouldn't need to buy a separate controller and fiddle with pairing it up in order to play VirtualBoy titles on their Oculus Quest. They have two perfectly good Touch controllers that come with the device. These should be more than capable of providing input for VirtualBoy games. I know a little programming, so I should be able to make this happen.

The VirtualBoyGo source code didn't build right out of the box, but I got in touch with the developer, CidVonHighWind, who doesn't own a Quest but was able to help me to get the program to build. I then made a PowerShell script which pulls down all the dependencies and makes building the program (at least on a Windows 10 computer) so easy that a retarded monkey could do it.

I still haven't had the time to figure out how to change the input so as to support the Touch controllers, but I thought I'd at least post about how to build the program so anyone with an interest in this might be able to contribute.

So here are the instructions:

1. Make sure you have 7-zip installed in the default location because my PowerShell depends on it.

9. Run "VirtualBoyGo.bat" The batch file will launch the PowerShell for you if the names match. Hopefully it should run without errors. :)

10. In Android Studio, import the gradle project in your working folder\ovr_sdk_mobile_1.23\VrSamples\VirtualBoyGo\Android and build it. I used Gradle version 4.4

That's it. Now it'll build. If you want more detailed build instructions, such as if trying to build on another OS, then you can probably reverse-engineer my PowerShell fairly easily.

I'm going to eventually figure out how to get the Touch controller support added, but if anyone else wants to pioneer ahead and get to that goal before I do then I thought I'd give them a boost with these instructions. Please share your results if you achieve anything! :)

Edited by Ben McLean on 2019/6/27 15:26Edited by Ben McLean on 2019/6/27 15:34Edited by Ben McLean on 2019/6/27 15:35Edited by Ben McLean on 2019/7/8 14:42Edited by Ben McLean on 2019/7/8 14:49Edited by Ben McLean on 2019/7/25 1:41

UPDATE: My next step has been trying to get the VrController sample project which the Oculus Mobile SDK comes with to build, but it wouldn't for a long time, until today I figured out that it needed Gradle version 4.4.

Hopefully, studying and experimenting with that should give me the information I need to understand how to get input from the Touch controllers. Then I can use that knowledge to make the correct changes to VirtualBoyGo.

That sample project is rather more involved than I thought it would be. I know Java and a little C++ but I'm not familiar with the way this seems to freely mix the two languages. I know there's got to be some kind of "Hello World" simple example out there of making a Quest app but I'm not seeing it so far.

Update: CidVonHighWind made a commit that has some Touch controller support, but the vertical axis and many of the buttons are reversed. I made a pull request to fix this. Hopefully VirtualBoyGo should have complete Touch controller support very soon! :)

I'm curious for those of us without deep pockets to get into oculous, has anyone attempted to convert this (or would it already work) on a non-3D android device. There isn't much going on good in the world of VB emulation it appears these days.

I just set up sidequest recently (worked out of the box via Linux as well) merely to get the Virtual Boy emu running. It is amazing. Very great experience playing RedAlarm or Warioland with it.But I mostly spent what little time I had to play and finish the recent redsquare.Thanks for everyone involved making this possible \o/