carts:nintendo:virtualboy

This is an old revision of the document!


Virtual Boy (WIP)

[copied from Google Doc - needs polishing]

Short description, such as:

Dumping System X carts is fairly easy, and if you already have Hardware X, there are only a few small modification you need to do.

or

Dumping System Y discs is quite involved, and requires specialized hardware and software.

  1. Numbered list of methods, with the top one being the most preferred/used method
  1. With in-page links to each method

Required materials

  • MicroSD Card (FAT32 formatted)
  • USB-A male to USB-B male cable (Easy to find. Usually used with printers.) (Note: another serial cable with one end being USB-B male may work, but that will not be documented in this guide.) (Additional note: if the USB port and/or cable cannot send enough voltage or current to power the device, the device can be modified to accept power from an external source. Some more details can be found //HERE//, but will not be thoroughly documented in this guide.)
  • **RealTerm** or similar Serial terminal program (RealTerm will be used in this guide, but instructions should be similar if the user is already familiar with another program.)
  • This guide will show how to dump Virtual Boy Carts with Windows tools, if you are using another OS and would like to add your setup to the guide please contact us at <Discord link>

Notes before starting

  • This guide is for firmware version 1.9. As firmware updates happen, the instructions in this guide may need slight alteration for different firmware versions. You can check your firmware version at the top of the startup text, accessed via the <HRST> command, or use the <GSN> command. (Note: the <GSN> command needs confirmation by me.)
  • The “Mellot Programmer” GUI program by thunderstruck does not currently work with this method. That may change in the future, but this Method of the guide will only focus on use of an alternate Serial terminal program.
  • The MicroSD card must have enough storage space for the given Virtual Boy ROM file. (This is kind of a given but worth mentioning I think.)
  • It is much preferred but not required to have a way to directly connect to the MicroSD card, via a PC or other device able to access the filesystem. (There are functions in the Programmer that seem to allow copying files from the SD card to PC over Serial, but that will not be detailed in this guide.)
  • Please remember to take basic safety precautions. Things like working with dry hands and not reaching into the ports while the device is powered will suffice 99% of the time. Use this device and guide at your own risk.

Before you plug in the USB cable for power, plug in the Virtual Boy cartridge and MicroSD card to avoid potentially damaging any of the hardware if power was sent down a wrong pin on a connector.

This safe plugging and unplugging practice is strongly recommended even when dumping multiple cartridges in one sitting.

<image>

<image>

Make sure that the cartridge is firmly inserted so the pins all have solid connections.

Additionally, the cartridge slot has a gentle spring-loaded mechanism to protect the pins from being bent when no cartridge is inserted. This may help fight against dust also, but proper additional care should still be taken by the user for long-term storage.

<image>

Remember that the device receives power as soon as it is plugged into the PC.

After the Programmer is plugged in, and the USB-A side of the cable is plugged into the PC, it’s time for Step 2.

After the device is plugged in, launch the RealTerm software.

Basically…

- (Not necessary, personal preference) Under the “Display” tab, enable “Half Duplex” to see outgoing text. You may also enable “Scrollback” and set it to something like 200. <image> - Under the “Port” tab, set “Baud” to 500000 (yes, 500,000). Set “Parity” to none, “Data Bits” to 8, “Stop Bits” to 1, and “Hardware Flow Control” to none. <image> - Set the “Port” drop-down box to whichever COM port is to be used. To do this… click on the entry that says “(double click to scan ports)”. Then, click on the drop-down box again. Select the port which applies to you. My port is “3=\USBSER000” or just “3”. <image> - After setting these values, click “Change” to apply changes. <image> - Click “Open”, so now the button is depressed. This means communication is open. Switch to the “Send” tab. <image> - At this point, you can start receiving data! To send commands, click on the top left input-box (still under the “Send” tab), type the command, then click the button to the right of it that says “Send ASCII”. (Note: IIRC this is correct, but if not then try the “Send Numbers” button.) - You may start receiving data from the Programmer. Also before now, the display on the Programmer may have turned on already. If either of these is not the case, send a <HRST> command (hardware reset). - Either earlier or just now, the display should play a short animation, then stop and say “VB Cartridge Programmer”. <image> - And on the PC, it should tell you a bit about the hardware info. (You may have to resize the window!) This info includes the message “VB Programmer lives!” along with the device's Firmware Version (FW VER), Serial Number (SN), MicroSD card capacity and format, and info about the Virtual Boy cartridge inserted. - If the cartridge info says “Unknown flashrom”, that is 100% normal! That just means the device wasn’t able to auto-detect the size of the ROM, a feature only used by flash cartridges by RetroOnyx / Mellott. (And possibly more in the future, but certainly no old retail titles.) <image>

To verify that the commands used in this guide are available to you, send the <PM> command to see the Programmer Menu. If it doesn’t display properly, make sure the window is large enough to fit all the text. This will tell you all of the available commands for your firmware version. <image> - First, it is required to set the size of the ROM. Find your game in the table below, and send the corresponding ROM Size Command. The commands follow the format <SFS_XX>, where “XX” is either 24, 27, or 28. (Note: I need to add images.)

- In case you don’t know the ROM size of your cartridge, and/or your game isn’t in the list shown in this guide, you can set it to the maximum(?) size using the command <SFS_28>. This is equivalent to about 32 MB. (Note: I don’t fully grasp the math behind this command. Please double-check my work. Apologies if I’m wrong.)

- Note: if the size is set incorrectly, undocumented behavior can occur. If the size is too small, it will cut off the ROM data too early. If the size is too large, the data will start repeating. If you don’t know the correct size (as in the preceding bullet point a), and you set it to the wrong ROM size, you will just have to have the Overdump trimmed. This can be done in a hex editor like HxD, or with the help of a community member.

- Note 2: If you happen to be dumping the ROM from a RetroOnyx / Mellott flash cartridge for which the Programmer was able to auto-detect the flash ROM size, part 11 is not necessary. This case will be quite rare. If you don’t know, then don’t worry about this note.

GameROM Size CommandROM Size (bytes)

- The PC should ask you to enter a number, either 0 or 1, and press Enter. At this point, our method of input will change. Click the bottom of the black area, below the yellow text. Make a choice: either 0 or 1. Choice 0 is to automatically name the file, based on text characters fetched from the cartridge/ROM header, and Choice 1 is to manually name the file.Personally I prefer 1 to avoid any potential issues due to invalid text characters in the filename, or if the cartridge Header can’t be properly read.

- If you chose 0 and it gave an error, please try again from 12 and select 1. If option 0 worked, you can skip to step 15.

- Also, the Programmer display will say “Reading” as it waits for your input.

<image>

- If you chose 1, you must now “Enter a short file name and press Enter.” You can type in a filename in the black area, then press Enter. The filename doesn’t matter, but certain characters may cause errors. So choose something simple like “dump.vb”. File extension also does not matter. - If you enabled “Half Duplex” back in part 1, you should see both a red and a yellow text character for whatever you type. Don’t worry, it’s only doubled-up because of the way it displays. If “Half Duplex” is disabled, those inputted text characters should just be yellow. <image>

(Note! This is the part that the aforementioned GUI program by thunderstruck gets stuck on. I don’t know the solution.) - Now, after you hit Enter the ROM should begin dumping. It will take a few minutes. The terminal window will display dots to show it is still connected and receiving data, and the Programmer display will show a % completion bar. When it is finished, the Programmer will display “Read to SD Completed!” <image> <image> <image>

- You can now unplug the USB cable from both the PC and the Programmer and safely remove both the Virtual Boy cartridge and the MicroSD card. Plug the MicroSD card into your PC, and the ROM file should be located in a folder titled “ROM_READ”.<HTML></li></HTML><HTML></ol></HTML>

Step 3: Dumping the SRAM

Not documented yet.

When dumping more than one cartridge…

  • Remember that the safe plugging and unplugging practice detailed in Step 1 and at the end of Steps 2 and 3 is still strongly recommended when dumping multiple cartridges in one sitting.
  • Additionally, if the RealTerm software is already active when plugging in the Programmer, glitchy undocumented behavior can occur. This probably won’t affect regular use, but if something seems broken then try restarting the software as well as replugging the Programmer.

External Links

  1. VB Cart Programmer Build (DIY Build Guide including firmware and 3D print design files). //https:%%//%%mellottsvrpage.com/index.php/vr-cart-programmer-build///

Description, tools needed, and expected outcome

Description of how to verify that is a dump is correct.

Dumping tool: 
Dumper: 
Affiliation: 
Dump creation date: 
Dump release date: 

Title: 
Region: 
Edition: 
Languages: 
Language Select: 
WikiData ID:

Size: 
CRC32: 
MD5: 
SHA-1: 
SHA-256: 
  • General Note: If you are submitting this info to a person/group in order for them to add it to a database, you can skip the transcription of some things, and leave it to them. But it can make the process smoother if you do the transcription yourself.

If you aren't already registered, create an account on the forum. Once your account has been activated, post the info in the “New Dumps & Redumps” sub-forum.

Users with datter rights can submit the dump info directly to the database by using the “Submit” form in DAT-o-MATIC.

  • carts/nintendo/virtualboy.1634180552.txt.gz
  • Last modified: 2021/10/14 03:02
  • by jonasrosland