We're using cookies to ensure you get the best experience on our website. More info
Understood

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 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.

No matter which of the two you choose, the recommended tool is VBDE (Virtual Boy Development Environment). A complete Virtual Boy development environment for Windows. Only download, unzip and start working, no installation, no hassle. It comes in the form of an editor with buttons for compiling, running compiled ROMs on an emulator or flashing them to a FlashBoy.

VBDE not only comes with all the tools you need for VB homebrew development, it also contains a lot of example code for both libgccvb and VUEngine which can be used as a starting base for new projects. We recommend messing around with one of the barebone demos to get started.

For testing ROMs right on your computer, the recommended emulator is Mednafen (bundled with VBDE). For playing on hardware, you’ll need a flash cart such as HyperFlash32 or FlashBoy (used, since it’s no longer being sold).

(Note that VBDE has since been superceded by VUEngine Studio (“VES”), a Visual Studio Code extension, and is considered dead. However, VES has not been publically released yet, so VBDE is still the way to go in mid-2020.)

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.

Quick Links
VBDE VUEngine
Latest Dev Forum posts
Refresh
Concepts for the Homebrew game, ‘Virtual Lab 2’ (Working Title) Sep 18, 2020 • 13:10 Development • XKizuha
Schwanck Serial Numbers for all my homemade products (drew) Sep 16, 2020 • 03:18 Development • Schwanck
homebrew connector strip Sep 14, 2020 • 16:06 Development • Hedgetrimmer
More colors than just red Sep 13, 2020 • 09:01 Development • StinkerB06
Yan’s World Sep 11, 2020 • 07:32 Development • Ethan.Snyder98
HyperFlash32 Sep 02, 2020 • 21:20 Development • Lopingg
Cartridge Travel Case (Holds 35 Games) V4.0 Aug 16, 2020 • 22:33 Development • Schwanck
Help with Furrtek servo emu board Aug 15, 2020 • 16:43 Development • ziggaboogi
HyperFlash 32 default label set (e-ink screen) Jul 26, 2020 • 09:24 Development • Mumphy
Format of “.CL” files used by VUCC? Jul 03, 2020 • 07:40 Development • Catador
Load 10 more +20 +50 +100