Whether you’re a veteran Virtual Boy homebrew developer or are just getting started, here you’ll find all the resources you will ever need on your endevours.
Getting started
If you want to get into software development for the Nintendo Virtual Boy, the following chapters will hopefully give you a good overview over the tools and resources, and get you started quickly.
To get to grips with the Virtual Boy hardware, we strongly encourage you to have a look at the best Virtual Boy hardware documentation there is, the VB Sacred Tech Scroll, and its chapter about the Virtual Image Processor (VIP) in particular.
Even if very technical documents like the above may look a bit intimidating at first, don’t worry – the Virtual Boy is actually a pretty simple system compared to many other consoles! Plus you won’t need a too deep understanding about the VB’s inner working, especially when working with higher level tools like VUEngine Studio, but it certainly helps to know at least the basics of how the VIP works.
The Right Tools for the Job
The first question you’ll have to ask yourself is which language you want to write your program in. With the available tools, the choices are ASM or C. Unless you’re a low-level pro, prefer a good challenge or are simply a masochist, the answer will be C for the vast majority of people.
The next choice is that of the library or engine to use. Ever since the homebrew community started using patched copies of GCC, the GNU C Compiler, to compile their code, libgccvb has been the de facto standard library, used by almost every Virtual Boy homebrew project ever made. It is a leightweight collection of functions that provides some basic functionality to interact with the hardware.
If you need something more powerful, the other major option is VUEngine, a versatile, object oriented Nintendo Virtual Boy game engine. It certainly has a much more steep learning curve to it, but once you get the hang of it, it will empower you to create amazing Virtual Boy homebrew with ease, while the engine abstracts away, and takes care of, any and all hardware management tasks. There’s various extensive open source demos available to build upon and learn from, such as a platformer, or a multiplayer game demo, as well as a rich ecosystem of plugins.
The recommended tool is VUEngine Studio, a full-featured custom integrated development environment (IDE), which contains various game templates which can be used as a starting base for new projects. We recommend messing around with the barebone demo to get started. Despite being tailor-made for Nintendo Virtual Boy game development with VUEngine, VUEngine Studio can also be used with any other library or engine.
For testing ROMs right on your computer, VUEngine Studio comes with a fully embedded emulator. For playing on hardware, you’ll need a flash cart such as HyperBoy, HyperFlash32 or FlashBoy (used, since it’s no longer being sold).
Additional resources
Check out the tools section for additional tools. More documentation can be found here. For some inspiration, you can browse our extensive homebrew database to check out all the projects by other authors.
If you need help, our competent and friendly community will be happy to borrow some brain juice. Feel free to seek for advice in our Development Forum or, if you prefer a more direct way of getting in touch, our Discord server.