Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Command Line Virtual Boy Flash Programmer

Build Status GitHub release GitHub license Last commit Contact Me

prog-vb is a simple open source utility for programming your FlashBoy (Plus) development cart from the command line.

This utility is mostly useful for Virtual Boy programmers; the original programmer provided is a (closed sourced!) Windows-only GUI application. In my experience, I found the GUI broke my concentration when I had to open the GUI and click around to program my flash cart each time I made changes to my homebrew (of course I have worse concentration problems that prematurely "ended" my VB homebrew career :P).

In addition, Mac/Linux users may find this application useful, since I'm unaware of a Mac/Linux-based solution for FlashBoy. Releases can be found here. Currently releases are made for the following Rust targets:

  • aarch64-unknown-linux-gnu
  • armv7-unknown-linux-gnueabihf
  • x86_64-apple-darwin
  • x86_64-unknown-linux-gnu
  • x86_64-pc-windows-gnu

If you want a new target added to CI, ask me and I'll make a point release.

Why did I make this? For fun, mostly. I wanted an excuse to write some Rust. And I've always wanted an open source version of the programmer :).


At present, prog-vb takes one mandatory command line argument- the ROM to flash to the cart. The ROM must have been padded to 2 Megabytes ahead of time. prog-vb will automatically detect whether a FlashBoy is present, so no need to mess with VIDs or PIDs.

Command line invocation is subject to change. The accepted arguments/usage is display if a user types prog-vb -h.

When running the program for the first time on Windows 10, it is possible that Windows Defender SmartScreen will block the app. As a workaround, click "More information" on the warning window, and there will be an option to run the program anyway. You should only need to do this once. There is not much I can do about this at present, as I don't have a code-signing certificate.


  • Developer Mode for quick flashing.
  • Unexpected responses from FlashBoy are handled by failing immediately, without a good error message. I've yet to determine what types of messages to expect if programming fails.
  • Do FlashBoy and FlashBoy Plus have different VID:PIDs?


Command Line Virtual Boy Flash Cart (FlashBoy) Programmer







No packages published