gb300-sf2000-tool

This is a tool for managing your Sup+ GB300 (Game Box) and DataFrog SF2000 handheld game consoles.

GB300+SF2000 Tool v2.x supports the GB300 v2 (the one that has Arcade games) and SF2000 v1.60 (aka multicore) and v1.71.

Download

Download from GitHub

Requirements

Software:

Hardware:

If you want to build it yourself, you need Embarcadero Delphi. It should compile with no to minimal changes starting from Delphi XE2. GB300+SF2000 Tool makes heavy use of negative Zlib window sizes (aka headerless Deflate streams) which are not possible in earlier versions (maybe XE works as well, I don’t know). There is a way newer free Community Edition that will do the job.

Features

General features:

Features in detail:

ROMs

Favorites

BIOS & Device

Multicore

Keys

UI Editor

I hope that people will be sharing the themes they made, so we can have a theme gallery with downloads like the SF2000 has.

Limitations

Onboarding

This is the small box that is displayed on startup. Enter your drive letter here. You can also enter a local folder.

Note: You are welcome to eject the TF card from your reader while GB300+SF2000 Tool is running as long as you do not interact with the tool while the card is missing. However, do not swap between different cards while GB300+SF2000 Tool is running, as favorites use cached versions of the current static ROM lists.

When you hit Start, GB300+SF2000 Tool makes sure that Foldername.ini exists and you made no unsupported modifications to it (ones that would break your console anyway). It will also create all required folders.

ROMs

Note: GB300+SF2000 Tool does not use obfuscation in files it writes. This applies to archives with and without thumbnails, as obfuscation is purely optional for both. (It will keep any existing obfuscation if you just change a thumbnail.)

There are the following buttons below the list:

All actions instantly save the list and update favorites.

If you select a file, a panel appears to the right of the file list. It’s header contains the ROM name (the internal name of the actual ROM, which also determines which of the two stock FC emulators is used on GB300), the CRC32 and the No-Intro status. If you have a ROM of a that was commercially released during the original console’s livespan and it is not matched with No-Intro, that ROM was modified somehow. If you are in a “static” ROM list, you can favorite a ROM that is currently in the list (checked).

Below the No-Intro status, you’ll find a lot of features that for the current ROM. The main features have a description inside the tool. Many advanced features can be found in the Rename… button’s dropdown menu:

By the way: The Rename… feature renames all accompanying files: save states, multicore ROMs, multicore save states.

Below the buttons, you can find screenshots of your save states (should any exist). Rightclick a state for the following features:

As a technical side note: The screenshots do not display in the list (but can still be exported and copied) if states do not share screenshot dimensions. This can happen in a very few PC-Engine games where you can select the resolution, e.g. Burning Angels. In this case, only screenshots matching the first state’s dimensions are displayed. This can also happen with GB300+SF2000 Tool’s Create Save State from Data… feature which uses the last resolution it has successfully displayed after entering the current tab (or 160×120 if no screenshot has been loaded yet).

If you rightclick the file list in the stock lists, there is an option to mass import images, called Import All Images…. This will first show a confirmation message box where you can decide if you want to delete processed images after the import. After that, it checks all files in the currently-displayed list for images with a name pattern described in the message box. Say you used this in the MD tab and it’s currently processing a list item called sega;Zero Wing.md.gba. In this case, it will try to load the following images in the following order, continuing with the next list item after the first one that exists. Note that this feature does not overwrite other files if the new filename conflicted with one (sega;Zero Wing.md.zgb in this example).

  1. MD\sega;Zero Wing.md.gba.png
  2. MD\sega;Zero Wing.md.gba.jpg
  3. MD\sega;Zero Wing.md.png
  4. MD\sega;Zero Wing.md.jpg
  5. ROMS\sega\Zero Wing.md.png (non-ZFB multicore stubs only)
  6. ROMS\sega\Zero Wing.md.jpg (non-ZFB multicore stubs only)
  7. ROMS\sega\Zero Wing.png (non-ZFB multicore stubs only)
  8. ROMS\sega\Zero Wing.jpg (non-ZFB multicore stubs only)

All your image are now belong to us. For great justice!!

The context menu also has features to handle Wang QunWei files. These are the stock files that ship with the console, and that are created by the tool when you add an image to a raw ROM file (not multicore). You can do three things with them:

Favorites

This tab is kinda boring and self-explanatory. One info though: You can reorder items in the list!

BIOS

Important: Should the boot logo look strange, you probably have a different BIOS than everyone else’s. Please contact the author numma_cway on Discord. Thank you. GB300+SF2000 Tool does check if the size mismatches though, and that should be a relatively safe criterion.

This tab is full of features of which that have a good description right inside the tool, so they won’t need explanation here. Well, there is one thing I want to emphasize:

Important: It is strongly recommended that you apply the bootloader patch before doing anything else. Checking the checkbox is not enough, though! You then have to put the card in your device and boot to the menu. Now your console is safe for modifications.

multicore

If you don’t have multicore yet, GB300+SF2000 Tool will tell you what to do in order to download it.

If you already have multicore, you can configure it here:

Note that for configuration to work, GB300+SF2000 Tool has to know the core you want to configure and the .opt file to use. In the past, there were issues when a core was renamed and there may be more cores to be renamed in the future. Also, the .opt file has to be in the correct format with all available options inside comments at the top of the file.

Keys

This tab is pretty much self-explanatory.

Note that the device’s own “Joystick” editor is completely bugged and unusable for many reasons. Do not file a bug report unless you physically confirmed that GB300+SF2000 Tool is wrong.

UI Editor

Images

Here you can change all images used by the device’s UI. Only the boot logo is found in the BIOS tab instead because that’s where it is stored.

Foldername

If you select the file called Foldername (there wasn’t enough space to fit “.ini” in) at the very end of the file list, you will have a completely different interface. Here you can edit general UI settings. A few input boxes are locked because changes to them would break (freeze) your device. You can find more information here.

Selecting another file or leaving the UI Editor tab without saving will discard any changes made since you last saved. Changing folder names does not rename the folders upon saving but instead creates them (empty). You can move the files in Windows Explorer if you want.

Dev Mode

Launch with -dev switch for the following features:

The User ROMs tab has a context menu for the list where you can save the list file created by the device on the last boot. It’s meant for developers only, but is accessible even outside of dev mode.

Trivia

There are 22879 entries in the tool’s No-Intro database. The chance that all of these have different hashes (“birthday paradox”) is around 94.1% There is actually one duplicate game, but that one is an SMS game released for the MD with just a physical adapter, but still exactly the same ROM. In A5200, one identical file is listed twice inside only one game.

Fun Facts about making the live previews:

The BPS support was added because I wanted to patch Pokémon Crystal into Pokémon Prism myself. When I finished my work, I noticed that the patch was in BSP format rather than BPS. BSP seems way more advanced than BPS as it can even upgrade battery saves.

v1.0-rc2’s title bar reads “v1.0”, so the actual v1.0 is called “v1.0-final”.

Changelog

Planned for v2.0

v2.0-beta3 (21 Oct 2024)

v2.0-beta2 (17 Oct 2024)

v2.0-beta (23 Sep 2024)

v2.0-alpha (22 Sep 2024, Discord-only release)

v2.0-pre-alpha (29 Aug 2024, Discord-only release)

v1.0b (22 Aug 2024)

v1.0-final (13 Jul 2024)

v1.0-rc2 (15 Jun 2024)

v1.0-rc1b (04 May 2024)

v1.0-rc1 (04 May 2024, Discord-only release)

v1.0-pre1 vanilla-only (28 Apr 2024, Discord-only release)