GBxCart RW Manual

From Flash Cart DB
Jump to navigation Jump to search

Support the developer of GBxCart by only purchasing from https://www.gbxcart.com or registered dealers.

We highly recommend using FlashGBX as it's more intuitive, most of this manual can be disregarded if you use it.


Contents

Quick How to Use

For Windows

1. Download and Install Microsoft Visual C++ Redistributable Packages (x86 and x64) for Visual Studio 2015 – https://www.microsoft.com/en-us/download/details.aspx?id=53840. You need to install both x86 and x64.

2. Extract the software zip file (found in Downloads) and plug in GBxCart RW. Windows will look for the CH340G driver. If the device isn’t automatically detected, you will need to open up Device manager, find the “USB 2.0 Serial” device and update the driver using the files in the Drivers folder.

Gbx-comport.png

3. Open up the GUI from Interface_Programs\GBxCart_RW_vx.x_GUI_Interface\GBxCart_RW_vx.x.exe. You can move this folder anywhere you like.

4. Unplug GBxCart RW

5. For v1.3 boards: You select the correct voltage via the software – the GB or GBA selection box in the GUI For v1.2 boards: Select the correct voltage for your cartridge using the switch (GB/GBC uses 5V while GBA uses 3.3V).

6. Insert your cartridge and then plug in GBxCart RW. Click the Connect button and the little USB icon should turn from grey to green.

Gbxcart v1.27 2-416x223.png

7. You should now click “Read Cart Info” to read some basic information from the cartridge. Make sure you only continue if Logo Check is Ok. You can now backup the ROM, backup your save game to your PC and restore your save game to the cartridge.

Gbxcart v1.27 1-416x223.png

For Linux/Mac

For Mac: You may need to install this CH340G driver – https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver

For Linux: Make sure your kernel is up to date as the device may not be recognised.


1. Download the latest console interface from the http://www.gbxcart.com website, e.g. Console Interface v1.28

2. Open the zip file downloaded and drag the folder to your desktop.

3. Open a terminal window and change directory to the Console Interface.

Gbx-mac-1.PNG


4. You will need to compile the application by typing in "make".

Gbx-mac-2.PNG


5. Make sure your user is part of the "dialout" group so you can open serial port devices.

You can run "sudo adduser your_username_here dialout" if you aren't sure.


6. You can then run the application by typing in "./gbxcart_rw_console_v1.28" for example.

As you can see, it has trouble connecting to the serial port.

Gbx-mac-3.PNG


7. Run "sudo ls /dev" to see if you can find a device similar to tty.chusbserial630.

Gbx-mac-4.PNG


8. Open the rs232/rs232.c file to edit it.

Gbx-mac-5.PNG


9. Replace the first entry as shown and save the file.

Gbx-mac-6.PNG


10. Re-compile and re-run the program by following step 4 and 5 again. This time it should connect.

Gbx-mac-7.PNG

Troubleshooting

If no lights are showing when plugging in the device or the device isn’t being detected

• Try using a different USB cable (preferably a non-phone type USB cable). Also try to wiggle the USB cable connector a little bit too as there is a chance it might not be making proper contact.

• Try using a non-USB 3.0 port if you are using one.

• Try to unplug all other USB devices except your keyboard and mouse.

• If using a USB hub, try plugging GBxCart directly to your PC.

• Windows: Uninstall the device from Device Manager and choose to delete the driver files as well, then try to re-install the drivers and ensure the device shows as CH340.

• Linux: Make sure your kernel is up to date as the device may not be recognised.


If it’s timing out when performing any of the functions:

• Try using a different USB cable (preferably a non-phone type USB cable).

• Check to see that you have no other software which monitors COM ports such as the Arduino IDE running in the background.

• Try using the Console Interface


If the GUI won’t connect

Make sure the COM port in device manager for CH340 is under COM20

Check the config.ini file is similar to the below. The first number is the com port number which can be different and the second number is the serial port speed which should be fixed at 1000000.

16

1000000

0

0

0


If the GUI times out / stalls when writing to a flash cart

• Use the dedicated flasher program instead of the GUI, it's easier to use too.


If you can't write to a flash cart

It could be that the flash chip isn't responding or the wrong option has been selected.

Try running the Flash ID Program and check if the Read ROM result differs from the Flash ID results: https://shop.insidegadgets.com/wp-content/uploads/2020/09/GBxCart_RW_Flash_ID_Check_v1.2.zip

For Gameboy carts - run gbxcart_rw_gb_cart_flash_id_check

For GBA carts - run gbxcart_rw_gba_cart_flash_id_check

Flash id 1.png

In the example above, we can see that the flash chip responded to the AAA, AA command because it is different from the Read ROM result. This is a good starting off point, you can now try the Generic 3.3v Autodetect option which should pick up the Flash ID as above and try to flash it using that method. If that doesn't work a couple of times, some users have found that using 5v can sometimes work (but can also cause damage), the option there would be the Generic 5v Autodetect.


Here are some typical erase times for carts:

Under 512KB - 5 seconds

1MB - 20-30 seconds

2MB - 30-50 seconds

If your erase times are quicker than this, it stalls or if the old game contents are still there, it could be the flash chip isn't responding or the wrong cart option was selected.

If game save backups don't work on an emulator

• Make sure it's not a clone / repo flash cart as sometimes they store the save in the flash chip itself. One way to check is to backup the ROM only (and not the save file), try it in an emulator and if it has your save then it's a clone / repo flash cart.

• For GBA games, check that the save type and size information matches the game listed here: https://raw.githubusercontent.com/mamedev/mame/master/hash/gba.xml. If it doesn't match, change the save type and size from Cart > Specify Cart Info and try again.

If you’ve tried all the above steps but are still experiencing issues, please jump on our Discord server.


If game saves aren't being restored to a cartridge

• Make sure the cartridge contacts are clean, you can use isopropyl or the pencil eraser method. On rare cases, you may need to re-seat the cart.

• Try backing up the rom and save file and running it in an emulator to see if accessing the save works at all.

• The battery may be too low. Check you can save on the cart itself by saving, powering off for 5-10 minutes, powering back on and checking the save is still there. If that works, try using GBxCart to restore the save file, then back it up to another file and use a hex editor like HxD to compare the files. If they match, then it is likely something with the cartridge.

• Make sure it's not a clone / repo flash cart as sometimes they store the save in the flash chip itself. One way to check is to backup the ROM only (and not the save file), try it in an emulator and if it has your save then it's a clone / repo flash cart. Clone/repo carts that do this can not have their save file restored easily.


• For GBA games, check that the save type and size information matches the game listed here: https://raw.githubusercontent.com/mamedev/mame/master/hash/gba.xml. If it doesn't match, change the save type and size from Cart > Specify Cart Info and try again.

If you’ve tried all the above steps but are still experiencing issues, please jump on our Discord server.


After writing a game to a flash cart, it doesn't work properly

Make sure the cartridge contacts are clean, you can use isopropyl or the pencil eraser method. On rare cases, you may need to re-seat the cart.

If you have a GBA game, one problem could be the flash cart save type/size doesn't match what the game uses, have a look at this section: https://flashcartdb.com/index.php/Clone_and_Repo_Cart_Problems


Try backing up the flash cart and using HxD to compare with the ROM file you wrote. You can do this by opening up both files in HxD, pressing Ctrl+K and then pressing F6 to continue checking.

HxD Compare.png

In the above example, the byte at 0x01 doesn't match. Try to re-write to the flash cart. It could be that the flash cart doesn't have enough space and when writing the cart, it loops back and overwrites the existing contents. Another reason could be that nothing actually wrote to the flash cart and what you are seeing is the original flash cart contents. Try flashing a non-related ROM file such as a .sav file or any other file on your PC.


HxD Compare1.png

In the above example, the flash cart has 0xFF which means a blank area of the flash memory. This could mean the wrong flash cart option was used or the writing processes ended early.


HxD Compare2.png

In the above example, the flash cart has 0xFF right at the start. Likely the wrong flash cart option was used as it erased the wrong sector or didn't write at all.


After writing a game to a flash cart, it doesn't save properly

Once the ROM has been written to a cart, the flasher's job is complete. It is up to the flash cartridge as to how it handles saves.

Check the ROM written matches the ROM you flashed

Check out how to patch GBA games using GBATA

Check out the potential problems with some of these clone/repo carts


Firmware Update

For Windows

Download the firmware update zip file and run gbxcart_rw_firmware_update.exe.

For Linux/Mac

Download the firmware update zip file and open. For Mac, please download and install Mono: https://www.mono-project.com/docs/getting-started/install/mac/

Build the source with "make" and then run it: ./gbxcart_rw_firmware_update

Updating process

Gbx-firm-2.PNG

It will report the PCB and firmware version you are on.

If there is an update available it will ask you to enter a delay time or press enter for the default, for most users you can press enter. This is useful if your PC takes some time to send commands to GBxCart, one user reported they had to enter 600 (ms).

You will be asked if you wish to update, type 'y' and enter to continue.

Gbx-firm-3.PNG

GBxCart will then be restarted (the lights will go off) and the new firmware will be programmed, please wait until it's finished - it will say "Completed" once it's done.

GUI Interface - Backup ROM, Backup save and Restore save

Setup

1. Download and Install Microsoft Visual C++ Redistributable Packages (x86 and x64) for Visual Studio 2015 - https://www.microsoft.com/en-us/download/details.aspx?id=53840

2. Open \Interface_Programs\GBxCart_RW_vx.x_GUI_Interface\GBxCart_RW_vx.x.exe and click the Connect button button. It should automatically detect the device and the little USB icon should turn from grey to green. For the v1.3 board - You should choose which mode you would like to select. For the 1.2 board and below - You will see the mode currently selected by the switch.

(If the little USB icon doesn’t turn green, please check that your system is detecting the CH340 device in the Device Manager)


Inserting/Removing Cartridges

Cart Inserted.png Cart Inserted2.png

1. Before inserting the cartridge, select the correct voltage for your cartridge using the switch (GB/GBC use 5V while GBA uses 3.3V). If you have the v1.3 board, this is controlled by software – in the GUI you choose GB or GBA mode and press connect. Connect the USB cable to ensure the correct voltage LED lights up.

2. Unplug the device from your computer. Insert your cartridge to the device (make sure the cartridge sticker is facing up and that you can see the pins on the bottom of the cartridge), connect the device again and click Open Port as before.

3. You can now read the cart info, read the ROM, etc.

4. When removing cartridges, always unplug the USB cable from the device first before removing the cartridge.


Reading the Cartridge Information

Read Cart Info.png

Press the Read Cart Info button and the cartridge information should show up (GBA carts can take 4 seconds as tests are being performed to determine the ROM and SRAM/Flash/EEPROM sizes). Note: You don’t need to read the cart info for Flash Carts.

Make sure that the “Logo check” comes back as OK otherwise the cartridge may not be read correctly and you will have to disconnect the device, remove and re-insert the cartridge.

Specify Cart Info.png

If the cartridge information doesn’t match what you know to be correct, you can select “Cart” from the top menu and select “Specify Cart Info” button to change the ROM size and RAM size/type.


Read the ROM

Read ROM.png

You can now press the “Read ROM” button to download the ROM from the cartridge to your PC, it will be saved as <Gametitle>.gb or <Gametitle>.gba.

For GBA games as there is no header information to report the game size, GBxCart RW will try to calculate it. Occasionally it can be wrong, especially for flash carts.

We recommended verifying your Gameboy/Gameboy Advance ROMs and Saves by using emulators such as BGB for Gameboy and VisualBoyAdvance for Gameboy Advance.


Backup save from Cartridge to PC

Backup Save.png

You can download the save game from your cartridge to your PC by pressing the “Backup Save” button, it will be saved as <Gametitle>.sav. If a save file exists on your PC, you will be asked to confirm you wish to overwrite the save file or save the file with the date/time added to it.

For Gameboy Advance cartridges, GBxCart tries to automatically detect the save type so every now and then it can get the save type wrong. You can go into Cart Info to adjust the save type settings.

If you are backing up a game regularly as you progress through it, it’s best to turn on the Option > “Always add date/time to backed up Save Game files” to Yes. This will add the date/time to your save file so you can have multiple save files on your PC.

We recommended verifying your Gameboy/Gameboy Advance ROMs and Saves by using emulators such as BGB for Gameboy and VisualBoyAdvance for Gameboy Advance.


Restore save from PC to Cartridge

Restore Save.png

You can upload the save game from your PC to your cartridge by pressing the “Restore Save” button, it will load the save file <Gametitle>.sav. You will always be asked to confirm you wish to overwrite the save game on the cartridge.


Erase save from cartridge

Erase Save.png

You can erase the save game from the cartridge by pressing the “Cart” menu item and selecting “Erase Save”. You will always be asked to confirm. This is useful if you wish to wipe the cartridge and insert it back to the Gameboy/Gameboy Advance to start a new save.


Change the directory to save to and load from

Change Dir.png

You can change the directory where ROMs are saved to and where save games are saved to and loaded from. This might be useful if you have multiple saves for the same game.

When you click “Directory” in the menu it will advise you the folder where you opened the software from. You can then click the folder listed and it will let you change the folder location.

To always remember the location, make sure “Remember” is set to Yes.


Add date/time to Save File and Prompt for Save Game file when restoring

Add Date Time.png

The “Always add date/time to backed up Save Game files” option is useful if you are backing up a game regularly as you progress through it. This will add the date/time to your save file so you won’t overwrite your existing save file, for example, F1RACE_2018.02.25-15.33.12.sav.

The “Always prompt for Save Game file when restoring” option will allow you to choose your save file to restore, this is useful if you use the option above.


Console Interface - Backup ROM, Backup save and Restore save

Console Interface.png

Windows Setup

1. Open \Interface_Programs\GBxCart_RW_vx.x_Console_Interface\GBxCart_RW_Console_vx.x.exe and the options menu should appear.

2. If the device couldn’t be autoamatically detected, open the \Interface_Programs\GBxCart_RW_vx.x_Console_Interface\config.ini file and change the first number to your COM port, e.g. 9 = COM9 and change the second number to the baud rate, default is 1Mbit (1000000) which should work fine. Your COM port can be found in device manager.

Linux/Mac Setup

1. Extract the software zip file (found in Downloads) and plug in GBxCart RW.

2. Open a terminal window and change directory to the Console Interface (Interface_Programs\GBxCart_RW_vx.x_Console_Interface)

3. You will need to compile the application by typing in "sudo make".

4. You can then run the application by typing in "sudo ./gbxcart_rw_console_v1.20" for example.

If it has trouble connecting to the serial port, try running “ls /dev” and see if you can find a device similar to tty.chusbserial630.

If you find one similar, you will need to edit the rs232/rs232.c file, just replace one of the existing entries in the variable below: char *comports[RS232_PORTNR]={“/dev/ttyS0?,”/dev/ttyS1?,”/dev/ttyS2?,”/dev/ttyS3?,”/dev/ttyS4?,

And then re-compile and try running the application again.

Please send us a quick email about the port you find so we can provide an official update.


Inserting/Removing Cartridges

Cart Inserted.png Cart Inserted2.png

1. Before inserting the cartridge, select the correct voltage for your cartridge using the switch (GB/GBC use 5V while GBA uses 3.3V). If you have the v1.3 board, this is controlled by software – in the GUI you choose GB or GBA mode and press connect. Connect the USB cable to ensure the correct voltage LED lights up.

2. Unplug the device from your computer. Insert your cartridge to the device (make sure the cartridge sticker is facing up and that you can see the pins on the bottom of the cartridge), connect the device again and click Open Port as before.

3. You can now read the cart info, read the ROM, etc.

4. When removing cartridges, always unplug the USB cable from the device first before removing the cartridge.


Reading the Cart Info

Console Cart Info.png

Press “0” and hit enter to read the cartridge information. Make sure that the “Logo check” comes back as OK otherwise the cartridge may not be read correctly and you will have to disconnect the device, remove and re-insert the cartridge.

Console Specify 1.png Console Specify 2.png

If the cartridge information doesn’t match what you know to be correct, you can press “4” or “5” and hit change the ROM size and RAM size/type.


Read the ROM

Console Read ROM.png

You can press “1” and hit enter to button to download the ROM from the cartridge to your PC, it will be saved as <Gametitle>.gb or <Gametitle>.gba.

For GBA games as there is no header information to report the game size, GBxCart RW will try to calculate it. Occasionally it can be wrong, especially for flash carts.

We recommended verifying your Gameboy/Gameboy Advance ROMs and Saves by using emulators such as BGB for Gameboy and VisualBoyAdvance for Gameboy Advance.

Backup save from Cartridge to PC

Console Backup Save.png

You can download the save game from your cartridge to your PC by pressing “2” and hit enter, it will be saved as <Gametitle>.sav. If a save file exists on your PC, you will be asked to confirm you wish to overwrite the save file.


Restore save from PC to Cartridge

Console Restore Save.png

You can upload the save game from your PC to your cartridge by pressing “3” and hit enter, it will load the save file <Gametitle>.sav. You will always be asked to confirm you wish to overwrite the save game on the cartridge.


Erase save from cartridge

Console Erase Save.png

You can erase the save game from the cartridge by pressing “4” and hit enter. You will always be asked to confirm. This is useful if you wish to wipe the cartridge and insert it back to the Gameboy/Gameboy Advance to start a new save.


Gameboy Camera Saver

This program is useful if you are constantly using the Gameboy Camera and wish to save the images quickly to BMP files. Found in the \Interface_Programs\GBxCart_RW_GBCamera_Saver_vx.x folder.

Automatically creates a folder with the current date/time (<year>-<month>-<date>_<hour>-<minute>-<second>), saves the GB camera memory to this folder and extracts the active (non-deleted) images from the save to separate BMP files labelled 1.bmp to 30.bmp. It’s a good idea to check the images created match the images stored on the GB Camera.

If you wish to change where the folder is created, you can create a config-folder.ini file and enter in the directory where you wish the folder should be created in.

GUI Flasher - Write ROMs to Flash Carts

This program is useful if you would like to select your flash cart from a list and select the ROM file to write. Found in the \GBxCart_RW_Flasher_vx.xx\GBxCart_RW_GUI_Flasher_vx.xx folder.

GUI Flasher.png

By default the program will now report once flashing has completed and wait for user input. To change this, edit the "gbxcart-config.ini" file and add a new line with a "0".

Windows Context Menu Extension - Write ROMs to Flash Carts

If you flash a lot of carts or want something even more easier to use, you can install the GBxCart Windows Content Menu Extension and simply right click a .gb, .gbc or .gba file then select the flash cart.

Gbx-context-menu.png


Console Flasher - Write ROMs to Flash Carts

This program is useful if you would like drag and drop interface to write ROMs to your flash carts. Found in the \GBxCart_RW_Flasher_vx.xx\GBxCart_RW_Console_Flasher_vx.x folder.

Console Flasher1.png

Open the program first and enter in the Flash Cart you will be writing the ROM to. Make sure you exit the program.

Now within Windows Explorer, you can drag and drop your ROM file to gbxcart_rw_flasher_vx.x.exe without having to select the Flash cart type again.

Console Flasher2.png

You can also call the following from a command prompt: gbxcart_rw_flasher_vx.x.exe <location_to_rom_file.gb> Linux/Mac users use: ./gbxcart_rw_flasher_vx.x rom_file.gb

Or if you wish to specify the cartridge type too (check the source file to see which number to use): ./gbxcart_rw_flasher_vx.x rom_file.gb 5

By default the program will now report once flashing has completed and wait for user input. To change this, edit the "gbxcart-config.ini" file and add a new line with a "0".

Nintendo Power Cart – Backup Full ROM/Hidden Sector, Backup Saves, Restore Saves, Flasher

There are a few programs dedicated to the Nintendo Power Cart.

Backup Full ROM and Hidden Sector

Run npc_backup_full_rom_and_hidden_sector_vx.x to backup the full 1MB ROM and the hidden sector. This is useful if you wish to restore your cartridge back to how it was.

The Full ROM will be in this format: NP_1MB_ROM_Backup_<Date>_

The hidden sector will be in this format: NP_HiddenSector_<Date>_


Backup Multi-cart ROMs

If your cartridge has multiple games on it, run npc_backup_multi-cart_roms_vx.x to backup each game into its own ROM file. The ROM files will be in this format: NP_<Gametitle>_<Date>_


Backup Multi-cart Saves

If your cartridge has multiple games on it, run npc_backup_multi-cart_save_games_vx.x to backup each game into its own save file. The save files will be in this format: NP_<Gametitle>_<Date>_


Restore Multi-cart Saves

If you wish to restore a save file to game if the cartridge has multiple games on it, drag and drop your save file to npc_restore_multi-cart_save_games_vx.x. It will then ask you which slot to restore it to and to confirm the action.


Flasher

NPC Flasher.png

If you wish to re-flash the cartridge to a single game, you can drag and drop your file to npc_flasher_vx.x.


Multiple Games

If you wish to use the cartridge for multiple games, please follow these steps.

1. Visit the Online NPC generator site: https://orangeglo.github.io/gbnp/

2. Add your roms to the site and then download the GB and MAP file.

3. Drag and drop the ROM file to npc_flasher_vx.x, make sure the .map file is in the same directory as it will also flash the .map file too (hidden sector).


Old method

1. Run the “Backup Multi-cart ROM” as you will need the menu ROM file. Rename the menu ROM file to Menu.gb. If you no longer have the menu ROM file, please contact us at support@insidegadgets.com and we will provide it to you.

2. Download GB Memory Binary Maker (https://github.com/Infinest/GB-Memory-Binary-Maker/releases) and copy the Menu.gb file to the location where you extracted GB Memory Binary Maker.

3. Open GB Memory Binary Maker and add in your ROMs by clicking Add, selecting your ROM file and giving it a custom game title if you like.

NPC GBMBM.png

4. Once all the ROMs have been added, click create binaries.

5. Drag and drop the ROM file to npc_flasher_vx.x. It will also restore the .map file too (hidden sector).