GBFlash User Manual

GBFlash User Manual

       GBFlash User Manual V1.1


         

 1. GBFLASH Introduction

GBFLASH is based on an open-source project https://github.com/insidegadgets/GBxCart-RW A GB/GBA game reader/writer with improved design. The native project uses the ATMEGA8515 microcontroller, which is outdated and has weak performance. It communicates with the upper computer through the CH340 chip to achieve USB to serial port conversion, with a maximum communication baud rate of around 1M. The official test game's read and write speeds are as follows:

GBFLASH adopts a single-chip CH579 solution, which is a 32-bit ARM core with native support for USB2.0 full speed communication, built-in 250K ROM, and 32Kram. I developed a virtual serial port driver on the USB interface to simulate CH340. The benefit of this is. The computer can continue to use the CH340 driver, but the actual communication speed reaches the full speed of USB. The following image shows the speed of reading the pocket monster ruby in GBA games, which is nearly three times faster than GBxCart V1.4.


What can GBFlash be used for?

GBFlash functionality is compatible with GBxCart RW. The main functions are as follows:
   1    Read the contents of GB/GBA game cards and store them on the computer. You can use a simulator to play on the computer.
   2    Read GB/GBA game save files. Save to computer. This way, the archive will never be lost.
   3   Restore GB/GBA game saves. You can save game saves to your computer and rewrite them to your game card.
   4    Burn GB/GBA games onto a game card that supports burning. You can replay classic games on the real machine.

   

GBFLASH upper computer software.

My original plan was to develop a new upper computer software that would better complement GBFlash and achieve optimal performance. However, developing a new software is not an easy task. I have a plan now, but time is not guaranteed, and I don't have much spare time. At present, only version V0.1 has been completed, which only includes OTA functionality for firmware upgrades of GBFLASH in the future. The interface is as follows:

               

Currently, FlashGBX is used as the upper computer software. FlashGBX is a third-party client software for GBxCart RW, which is more user-friendly than native client software. FlashGBX is also an open-source project, interested students can take a look. Warehouse address: https://github.com/lesserkuma/FlashGBX.git The software interface is as follows:

     

GBFLASH interface description:

 

  1.  Action indicator light. Flashing when reading or writing game cards
  2.  GB mode indicator light. When working in GB mode, this indicator light will be on. The GBA printed here is reversed and should be changed to GB
  3. GBA mode indicator light. When working in GBA mode, this indicator light will be on. The silk screen here is also reversed, it should be GBA.
  4.  BOOT button. Temporarily ineffective, useful when updating BOOT.
  5. FUNC button. This button has two functions          

           a)Used for resetting the system. Normal working mode, press the button to reset the system

           b) Enter BOOT mode. Press the button and plug in the USB cable to enter BOOT mode. Used to update GBFLASH firmware.

       6. TYPE-C interface, used for communication with computers

       7.GB/GBA game card slot.

2. Use of GBFLASH

a) Preparation work

Install CH340 driver

After the driver installation is completed, insert GBFLASH. Identify the CH340 COM port.

Open the computer device manager and you can see that the CH340 COM port has been recognized

Install FLASHGBX

FLASHGBXw is a green software that can be run directly without installation.

After opening the software, it will automatically search for COM ports. After finding the device, the device version information will be queried. The current compatible version of GBFlash is shown in the red box below. If the device is not found, it will display 'No devices found'

Install GBFLASHAPP

GBFLASHAPP is a green software that does not require installation and can be run directly. GBFLASHAPP is used to upgrade GBFlash firmware. Normally, this software is not required. After I release the new firmware, I can use this software to upgrade the firmware of GBFlash.

b) Features supported by GB game cards:

First insert the GB game card, then connect the USB data cable

FlashGBX selects Gameboy mode. Click the 'Read Information' button. The game cartridge information will be displayed on the left side. If the game cartridge information cannot be read. You can try inserting and unplugging the cartridge multiple times, or blowing air on the cartridge, and this method has been proven to be effective.

I. GB Game Card Reading Game

Click the Backup ROM button. Used for reading games. The game read out can be opened on a computer GB emulator.

II. GB game card reads save files

Click the Backup Save Data button to export game card save files. The exported archive can be played on a computer emulator. You can also import it back into the game card.

III.GB game card recovery save

Click the Write Save Data button. Used to write saved files from the computer to the game card. There are two options here, the first one is Restore from save data file. It is to restore the saved files to the game card. Erase cartridge save data is the process of erasing game card saves.

IV. GB game card burning game

GB game burning requires the game card to support the burning function. I also discovered through Baidu that the latest blue GB game card supports burning. I bought it back for testing, it really works

To burn a game, the first step is to be able to recognize the Flash model of the cartridge. There are differences in Flash models for different cartridges. The game card I bought originally does not support burning. But it can identify the capacity, ID, and other information of the Flash chip. I figured it out after researching. FlashGBX supports flashcards. Each has a corresponding configuration file, which is located in the Config directory as shown in the following figure. I reconstructed a configuration file corresponding to my cassette based on the identified parameters. This way, it can be recognized normally and burned

  If there are different models of game cards. Provide a screenshot of the Flash chip model. I can try to help create a configuration file.

The following figure shows the identified ID and capacity information.

         

Reference file for configuration file content.

Burning game method

Click the FLASH ROM button,

You can see the recognized cartridge information, which is consistent with the newly added configuration file. Click OK and select the game card to burn.

I chose a Kirby Star game, and after burning it, the cartridge was already recognized.

Insert the game card into the actual device, and the game will be recognized normally.

c) Features supported by GBA game cards:

The reading and writing process of GBA game cards is similar to that of GB. The only difference is choosing GBA mode. Students can explore on their own.

I. GBA Game Card Reading Game

II. GBA game card reading save

III.GBA game card recovery save

IV. GBA game card burning

      Burning GBA game cards. It has been tested and can be used normally. At present, newly released blue shell D cards generally support direct burning. The burning process is similar to that of a GB card. But due to the different flash chips on the card. There is a difference in writing speed. The slow speed is around 10K, and the fast speed is 50K, which I have not optimized yet. After optimization, it should be much faster.

d) GBFLASH firmware upgrade

The firmware upgrade of GBFLASH is relatively simple. Press and hold the funcbutton. Insert the USB cable. We have entered upgrade mode. In upgrade mode, the ACT indicator light will flash twice every second. You can determine whether the upgrade mode has been entered based on this indicator light.

Open GBFLASHAPP software

After entering upgrade mode, select the corresponding COM port. Click to search. You can see the recognition of application space and page size.

Select the firmware (in pkbin format) and click upgrade to proceed