This is a quick start guide to get users up and running using my Virtual Boy cart programmer. The VB cart programmer allows reprogramming of my 16Mbit, 128Mbit, and 256Mbit custom carts. This quick start guide will step through what’s needed to start programming these carts. This guide will apply in general to both the VB cart programmer in the VB mini case, as well as a regular enclosure.
To start off there are a few ports on the VB cart programmer. An SD card slot is provided for reading and writing VB ROMs, a USB type B port for communication and power, a separate power port that takes a 9VDC 2.1mm center positive input (500mA to 2A is fine), and the main port for the cartridge.
You’ll need a few other things to get you started:
1. SD Card formatted to Fat32. Any size should work.
2. A USB standard A to standard B cable. A red one looks nice.
3. An optional 9VDC 2.1mm center positive power supply. Arduino compatible.
4. An optional USB to SD card adapter is useful.
Some side views of the VB cart programmer are shown below. You can see the side with the USB cable with optional power plug. The other side has the SD card slot.
In most cases the USB cable should be sufficient for powering the unit. The programmer acts much like the VB and wants to be powered down when the cartridge is plugged in, and then powered up. When removing a cart, first unplug the cable to power down the unit, and then remove the cart. I don’t use the optional power input but it’s there if your USB power can’t provide enough current.
Once an SD card inserted with your VB ROM files, a reprogrammable cart inserted, and the USB cable plugged in (both sides), the programmer will boot up. Given a short delay, the back side of the programmer and LCD will look like shown below.
There are no power switches on the VB cart programmer. Plugging in the cable and unplugging the USB cable will serve our purposes for that.
I’ll be using RealTerm as my terminal software to talk to the VB cart programmer from my computer. You’re free to use what terminal program you’d like such as Putty, but I can’t help with troubleshooting unless you use RealTerm. Shown below is the “Port” tab of RealTerm to show the VB cart programmer settings. The important ones are: “Baud”: 500,000, “Port”: (must match your computer installed COM port), “Parity”: none, “Data Bits”: 8, “Stop Bits”: 1, “Hardware Flow Control”: none. The “Open” button is pushed down when connected and up when not. You’ll need to disconnect (button isn’t depressed) when making changes or if the USB cable is unplugged from the programmer. The settings in RealTerm are shown below.
The initial messages printed out in the image above are correct for a 16Mbit cart. If the SD Card was found and properly initialized you’ll see the card size, otherwise you’ll see an SD card failure message. Followed next is the chip info. The final print will be the message “Flashrom Writer 16bit”. If you’ve gotten here then you’re ready to program and all settings are correct.
The VB cart programmer accepts commands inside of <> brackets. There should be no newline or return characters for entering commands. The first command you should know is <PM>, which is print menu. A print menu response for v1.0 of the VB cart programmer is shown below.
Commands are best sent through the RealTerm “Send” tab. Enter the command into the field as shown and then click on “Send ASCII”. All commands to the VB cart programmer are in ASCII. You can also type into the black screen directly. Any invalid commands will be ignored.
There are a lot of commands available and I won’t be going into detail on them here. The most important one is <AUTO> which will take you through a complete erase, blank check, file select, write, and verify cycle. During this cycle you’ll be asked to select your ROM file. A complete <AUTO> cycle print out to the terminal window is shown below.
Look over the picture and you’ll see all the steps I mentioned. When the file select comes up you’ll use the “u” and “d” keys to page through your VB roms. Enter the number of the one you want to program. Again, using the “Send” tab and “Send ASCII” is recommended here.
The programming time will depend on the ROM file and also the size of the cart. A 16Mbit will obviously be faster than a 128Mbit cart. Dots are printed on the RealTerm screen to show you its still working. Messages will appear when each stage is complete. When “Verification PASSED!” shows you can unplug your USB cable and remove the cartridge. Plug it into your VB hardware and you’re ready to go!
That’s the quick overview for now. I’ll update the main VB cart programmer page as time goes on with more details on the commands. You’re encouraged to read the descriptions and play with them to see what they do. They’re pretty self-explanatory for the most part. Otherwise send me an email and I’ll help out.