carts:nintendo:virtualboy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
carts:nintendo:virtualboy [2022/02/25 22:31] – [Method 1 - Virtual Boy Cart Programmer by RetroOnyx] hiccupcarts:nintendo:virtualboy [2023/03/05 21:25] (current) cartridge_hermit
Line 3: Line 3:
  
 **//[copied from Google Doc - needs polishing]//** **//[copied from Google Doc - needs polishing]//**
-===== Introduction ===== 
-xxxx 
  
 +{{wst>vgpc_help}}
 +
 +===== Introduction =====
 +{{wst>carts_important_notes}}
 ===== Methods ===== ===== Methods =====
  
-  - [[#Method 1 - Virtual Boy Cart Programmer by RetroOnyx|Virtual Boy Cart Programmer by RetroOnyx]]+  - [[#Virtual Boy Cart Programmer by RetroOnyx]]
  
-==== Method 1 - Virtual Boy Cart Programmer by RetroOnyx====+==== Virtual Boy Cart Programmer by RetroOnyx====
  
 Required materials Required materials
Line 18: Line 20:
   * 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 is not 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 [[https://mellottsvrpage.com/index.php/vb-cart-programmer-quick-start-guide/|here]], but it is not thoroughly documented in this guide.)   * 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 is not 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 [[https://mellottsvrpage.com/index.php/vb-cart-programmer-quick-start-guide/|here]], but it is not thoroughly documented in this guide.)
   * [[https://sourceforge.net/projects/realterm/|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.)   * [[https://sourceforge.net/projects/realterm/|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 [[start|contact us]].+  * 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 [[https://hitsave.org/support-us/#work-with-us|contact us]].
  
 Notes before starting 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.)+  * 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 has not yet been tested and verified to work.)
   * The “Mellot Programmer” GUI program by thunderstruck does not currently work with this method. That may change in the future, but this guide will only focus on use of an alternate serial terminal program.   * The “Mellot Programmer” GUI program by thunderstruck does not currently work with this method. That may change in the future, but this guide will only focus on use of an alternate serial terminal program.
   * 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.)   * 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.   * 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.
  
-==== Step 1: Safely plugging in the device ==== +==== Section 1: Safely plugging in the device ====
  
 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. 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.
Line 34: Line 35:
 This safe plugging and unplugging practice is strongly recommended even when dumping multiple cartridges in one sitting. This safe plugging and unplugging practice is strongly recommended even when dumping multiple cartridges in one sitting.
  
-<image>+{{:carts:nintendo:virtualboy:vb_guide_01_microsd_location_on_design_1.jpg?240}} 
 +{{:carts:nintendo:virtualboy:vb_guide_02_microsd_location_on_design_2.jpg?240}}
  
-The MicroSD slot is located on the back of the dumper of the basic design, or on the side opposite the USB-B port on the VB-based design. In the basic design, the MicroSD card faces outwards.+The MicroSD slot is located on the back of the dumper of the basic design, or on the side opposite to the USB-B port on the VB-based design. In the basic design, the MicroSD card faces outwards.
  
-<image>+{{:carts:nintendo:virtualboy:vb_guide_03_cartridge_insert_on_design_1.jpg?240}} 
 +{{:carts:nintendo:virtualboy:vb_guide_04_cartridge_insert_on_design_2.jpeg?240}} 
 +{{:carts:nintendo:virtualboy:vb_guide_05_cartridge_pins_on_design_1.jpg?240}}
  
-The cartridge slot is located on the front of the dumper of the basic design, or on the bottom for the VB-based design. Note that, at least for the basic design, the cartridge slot is “keyed” so the cartridge can’t possibly fit facing the wrong direction. In the basic design, the cartridge faces inward (while looking at the display, you see the back of the cartridge). In the VB-based design, the cartridge faces up.+The cartridge slot is located on the front of the dumper of the basic design, or on the bottom for the VB-based design. Note that, at least for the basic design, the cartridge slot is “keyed” so the cartridge can’t possibly fit facing the wrong direction. In the basic design, the cartridge faces inward (while looking at the display, you see the back of the cartridge). In the VB-based design, the cartridge faces up.
  
 Make sure that the cartridge is firmly inserted so the pins all have solid connections. 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.+Additionally, the cartridge slot has a gentle spring-loaded mechanism to protect the pins from being bent when no cartridge is inserted. This may additionally help fight against dust, but extra care for dust-protection should be taken by the user for long-term storage.
  
-<image>+{{:carts:nintendo:virtualboy:vb_guide_06_usb_port_on_design_1.jpg?240}} 
 +{{:carts:nintendo:virtualboy:vb_guide_07_usb_port_on_design_2.jpg?240}}
  
-The USB-B port is located on the left side of the basic design, and on the side opposite to the MicroSD slot on the VB-based design.+The USB-B port is located on the left side of the basic design, and on the side opposite to the MicroSD slot on the VB-based design.
  
 Remember that the device receives power as soon as it is plugged into the PC. 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 Section 2.
  
 +==== Section 2: Dumping the ROM ====
  
-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.
  
-==== Step 2: Dumping the ROM ====+  * Under the "Display" tab, enable “Scrollback” and set it to a value around 200. This is useful for debugging, as more of the previous commands will remain logged on-screen.
  
 +{{:carts:nintendo:virtualboy:vb_guide_08_display_tab.png?480}}
  
-After the device is plugged inlaunch the RealTerm software.+  * **(Don't enable this unless you know what you're doing!)** If you are debugging, enable “Half Duplex” to see outgoing text. This is useful for debugging a few possible issuesbut will be a little more confusing for the user.
  
 +{{:carts:nintendo:virtualboy:vb_guide_09_half-duplex_enable.png?240}}
  
 +  * Under the “Port” tab, set “Baud” to 500000 (that's 500,000). Set “Parity” to none, “Data Bits” to 8, “Stop Bits” to 1, and “Hardware Flow Control” to none.
 +  * Click the drop-down box next to the word "Port" inside the Port tab. Click on the entry that says "(double click to scan ports)". Then, click on the drop-down box again. Select the newly appeared port which applies to your setup. For example, in this image the port is "3=\USBSER000" or just "3".
  
-Basically…+{{:carts:nintendo:virtualboy:vb_guide_10_port_tab.png?480}} 
 +{{:carts:nintendo:virtualboy:vb_guide_11_click_to_scan_ports.png?480}} 
 +{{:carts:nintendo:virtualboy:vb_guide_12_port_3_usbser000.png?480}}
  
-  * (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.   * After setting these values, click “Change” to apply changes.
-<image> +  * Click “Open”, so now the button appears pressed-in. This means communication is open, you can start sending and receiving data. Yellow text may or may not appear in the black area of the window.
-  * 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+{{:carts:nintendo:virtualboy:vb_guide_13_click_change.png?480}} 
-<image> +{{:carts:nintendo:virtualboy:vb_guide_15_click_open_yellow_text.png?480}}
-  * 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. (NoteI need to add images.)+
  
-  * In case you don’t know the ROM size of your cartridgeand/or your game isn’t in the list shown in this guideyou 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 commandPlease double-check my work. Apologies if Im wrong.)+  * Switch to the "Send" tab. To send commandsclick on the top left input-box (under the “Send” tabnot the black area), type the command, then click the button to the right of it that says “Send ASCII”. (All commands to the VB Cart Programmer are in ASCII.Any invalid commands will be ignored. 
 +  * As mentioned prior, yellow text should have appeared in the black area of the window. Additionally, the display on the Programmer device should have turned on. If one or both of these is not true, send a <HRSTcommand (hardware reset). 
 +  * Either earlier or just now, the display should have played a short animation, then stop and say “VB Cartridge Programmer”. 
 +  * And on the PC, the yellow text 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 wasnt able to auto-detect the size of the ROM, a feature only contained in flash cartridges by RetroOnyx / Kevin Mellott (and possibly more in the future, but certainly no old retail cartridges).
  
-  * Noteif the size is set incorrectly, undocumented behavior can occurIf 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.+{{:carts:nintendo:virtualboy:vb_guide_16_send_tab.png?480}} 
 +{{:carts:nintendo:virtualboy:vb_guide_17_lcd_boot.jpg?480}}
  
-  * 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 sizepart 11 is not necessary. This case will be quite rareIf you don’t knowthen dont worry about this note.+  * Optionally, 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 properlymake sure the window is large enough to fit all the text. This will tell you all of the available commands for your firmware version. 
 +  * Note that your list of commands may not perfectly match the list shown in this image. Namely it may be missing commands RDR, RGH, RSD, RST, SC, and SSN_XXXThose four commands are not required for dumping the ROMso don't worry. //(Editor'note: This discrepancy needs to be explained betterI don't know/remember why it acts like this sometimes. -CS)//
  
-<code>  +{{:carts:nintendo:virtualboy:vb_guide_19_pm_command.png?480}}
-|**Game**|**ROM Size Command**|**ROM Size (bytes)**| +
-|        |                    |                    | +
-|        |                    |                    | +
-|        |                    |                    | +
-</code> +
  
-  * The PC should ask you to enter a number, either 0 or 1and press Enter. At this point, our method of input will changeClick the bottom of the black area, below the yellow textMake a choiceeither 0 or 1Choice 0 is to automatically name the filebased 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.+  * Firstit is required to set the size of the ROMFind the game on the [[https://datomatic.no-intro.org/index.php?page=search&op=datset&s=15&sel_s=15&text=&where=1&button=Search|No-Intro DAT-o-MATIC list of dumped Virtual Boy cartridges]], check the Size (in bytes)refer to the table below, and send the corresponding ROM Size CommandThe commands follow the format <SFS_XX>, where “XX” is an exponentROM Size (bits) = 2 ^ XX. (XX can be 24, 27, or 28, and other sizes.
 +  * If you don't know or can't determine the ROM size of a cartridge, it is recommended to try <SFS_24>. This command is for a size of 4 MB (16 Megabits), which was the largest ROM size of any retail title. Alternatively try <SFS_28> for a size of 32 MB (256 Megabits)which is the size of the largest documented flash cart. 
 +  * 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, and you set it to the wrong ROM size, you will just require the Overdump to be trimmed. This can be done in a hex editor like HxDand/or with the help of a community member. 
 +  * Note 2: If you happen to be dumping the ROM from a RetroOnyx / Mellott flash cartridge of which the Programmer was able to auto-detect the Flash ROM size, the <SFS_XX> command is not necessary. This case will be quite rare(If you don’t know what this means, ignore this!)
  
-  If you chose and it gave an error, please try again from 12 and select 1. If option 0 worked, you can skip to step 15.+<code> 
 +|**Command**|**Size (Bytes)**|**MB**|**Mbit**| **bits**|**Notes** 
 +|   <SFS_22>         524288|   0.5|       4|  4194304|Smallest retail cart 
 +|   <SFS_23>        1048576|     1|       8|  8388608| 
 +|   <SFS_24>        2097152|     2|      16| 16777216|Largest retail cart 
 +|   <SFS_25>        4194304|     4|      32| 33554432|Hyper Fighting (Aftermarket) 
 +|   <SFS_26>        8388608|     8|      64| 67108864| 
 +|   <SFS_27>       16777216|    16|     128|134217728| 
 +|   <SFS_28>       33554432|    32|     256|268435456|Largest flash cart 
 +</code>
  
-  * Also, the Programmer display will say “Reading” as it waits for your input.+//(Editor's note 1: I have unfortunately not tested all of these commands to ensure they work. -CS) 
 +(Editor's note 2: We could use another image right hereshowing the <SFS_XX> command.)//
  
-<image>+After the correct ROM size is set, the device is ready to dump the ROM.
  
 +  * Send the command <RDF> (Read Flash).
 +  * The PC should ask you to enter a number: either 0 or 1. At this point, our method of input will change. Click the bottom of the black area, below the yellow text. Now make a choice, either 0 or 1, then press Enter. Option 0 is to automatically name the file based on text characters fetched from the cartridge/ROM header, and Option 1 is to manually name the file. Option 1 is generally recommended to avoid any potential issues with invalid text characters.
 +  * If you chose Option 0 and it gave an error, please try again, send the <RDF> command, and select Option 1. If Option 0 worked, you can skip down a few steps.
 +  * The Programmer display will say “Reading” as it waits for your input.
  
-  * 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+{{:carts:nintendo:virtualboy:vb_guide_20_rdf_command.png?480}} 
-  * If you enabled “Half Duplex” back in part 1, you should see both a red and a yellow text character for whatever you typeDon’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. +{{:carts:nintendo:virtualboy:vb_guide_21_lcd_reading.jpg?480}}
-<image>+
  
-(Note! This is the part that the aforementioned GUI program by thunderstruck gets stuck on. I don’t know the solution.) +  * If you chose Option 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, something simple like “dump.vb” works fine. File extension also does not matter, and can optionally be left off. (Notethe software used, both the Serial program and the Windows operating system for file management, might run into errors if the filename contains an invalid and/or non-ASCII text character.) 
-  * Nowafter you hit Enter the ROM should begin dumping. It will take few minutes. The terminal window will display dots to show it is still connected and receiving data, and the Programmer display will show % completion barWhen it is finishedthe Programmer will display “Read to SD Completed!” +  * Iffor debugging purposes, at the beginning you enabled “Half Duplex” in the Display tab, you will see both red and a yellow text character for whatever you typeDon’t worry, it’s only doubled-up because of this option. If “Half Duplex” is disabledthose inputted text characters will appear yellow and not doubled.
-<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 cardPlug the MicroSD card into your PC, and the ROM file should be located in a folder titled "ROM_READ".+{{:carts:nintendo:virtualboy:vb_guide_27_filename_cleaned-up-22.png?480}} 
 +{{:carts:nintendo:virtualboy:vb_guide_22_filename_half-duplex-double-text.png?480}}
  
 +//(Editor's note: This is the part that the alternative GUI program by thunderstruck gets stuck on. I don’t know/remember the solution at the moment. -CS)//
 +
 +  * 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!”
 +
 +{{:carts:nintendo:virtualboy:vb_guide_23_dumping.png?480}}
 +{{:carts:nintendo:virtualboy:vb_guide_24_dump_complete.png?480}}
 +
 +{{:carts:nintendo:virtualboy:vb_guide_25_lcd_reading_in_progress.jpg?480}}
 +{{:carts:nintendo:virtualboy:vb_guide_26_lcd_read_to_sd_complete.jpg?480}}
 +
 +  * 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 on the root titled "ROM_READ".
  
 When dumping more than one cartridge... When dumping more than one cartridge...
  
-  * Remember that the safe plugging and unplugging practice detailed in Step 1 and at the end of Steps and 3 is still strongly recommended when dumping multiple cartridges in one sitting. +  * Remember that the safe plugging and unplugging practice detailed in Section 1 and at the end of Section 2 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.+  * Additionally, if the RealTerm software is already active (and communication Open) when plugging in the Programmer, glitchy undocumented behavior can occur. This probably won’t affect regular use, but if something unexpectedly doesn't work then try restarting the software as well as re-plugging the Programmer.
  
 ==== External Links ==== ==== External Links ====
Line 135: Line 158:
  
 ===== Gathering and Submitting Dump Info ===== ===== Gathering and Submitting Dump Info =====
- +{{wst>see_submission_page}}
-See [[submission:nintendo-carts|Gathering and Submitting Dump Info for Nintendo carts]]+
  
  • carts/nintendo/virtualboy.1645828319.txt.gz
  • Last modified: 2022/02/25 22:31
  • by hiccup