Table of Contents
SuperFW – new firmware for Supercard
Friends, AliExpress now has:
Cool metal labels for Game Boy Advance consoles.
Cool eXtremeRate cases for GBA SP.
Friends, help me buy (if you have) various old stuff: Help me buy.
SCFW - new firmware for SuperCard
SuperFW – the newest firmware for Supercard
The title of the worst flash cartridge for Game Boy Advance rightfully belongs to Supercard.
It has an incredible number of disadvantages:
1. Slow memory (which causes game lag);
2. To launch a game, it first needs to be patched on a computer;
3. Games take a very long time to load.
Of course, the lag can be slightly fixed with waitstate patches. And patching a game on a computer isn't very difficult. But you need to understand it, and it's not all intuitive.
Recently, a custom firmware for Supercard was released by developer Davidgf – SuperFw. And it solves all your patching problems. You can simply copy a game to the memory card and launch it without any issues.
Preparation
This firmware only works with Supecard SD / Mini or Micro SD.
It won't work with other cartridges like Supercard CF / Lite or Rumble!
We also need a memory card.
The Supercard itself works with MicroSD cards (not MicroSDHC or Micro SDXC!) up to two gigabytes in size. And you definitely need such a card because without it, you can't install SuperFW.
In theory, the SuperFW firmware supports memory cards larger than 2 gigabytes, but in practice, such cards didn't work for me.
I'll even say more: any attempt to format the memory card not in FAT, but for example, in exFAT or FAT32 led to errors, despite the fact that such firmware is supported, and the cartridge itself launched fine and saw the games.
You also need to download the firmware itself from the GBATEMP forum.
The latest version is 0.14.
The firmware archive contains one file: superfw.fw. You need to duplicate it and rename it to superfw.gba. You should end up with two files:
These two files need to be copied to the memory card.
You also need to download the superfw-nds-flasher-tool program separately.
It's needed to back up the original Supercard firmware. Once, my firmware froze completely and wouldn't turn on, so I had to roll back.
Write the program to a flash cartridge for Nintendo DS and launch it.
Press Identify cart and check that the cartridge is detected. It should say something like 000422b9 (BUT NOT ffffffff).
Then press Dump flash and wait for it to finish.
That's it! Now we're ready to install the firmware on the flash cartridge.
DO NOT flash the cartridge if you don't have a Nintendo DS! Only with an NDS or NDS Lite console can you restore this flash cartridge!
Firmware Installation
Turn on the console with the cartridge. You'll enter the standard Supercard menu.
Launch the superfw.gba program.
The firmware will open.
It launched as a game, but we need to flash it into the core.
Go to the "i" tab and unlock the core for rewriting. To do this, press Down
+ B
+ Start
.
Return to the start menu and launch the superfw.fw file. Note that the file has a .FW extension, not .gba.
A window will appear asking you to press L
+ R
+ Up
to start the flashing process.
Press accordingly and wait.
After you see the message Flash update complete! You can turn off the console and check that the cartridge boots directly into the new firmware.
Usage
When you turn on the console after flashing the core, you'll immediately enter this menu:
There are five tabs here (L
or R
to switch between them):
1. Main menu;
2. Global settings;
3. User settings;
4. Cartridge testing;
5. Information.
Let's go in order.
Main Menu
From here, you can launch or delete a game.
To delete a game, select it and press Select
.
To launch a game, select it and press A
.
A menu with settings for launching the game will open. In the initial window, the cartridge will try to identify the game.
It will automatically determine the game ID (in this case ALVE) and the type of save used.
If you press A
, the game will launch. But you can fine-tune the game launch. If you press R
, a new submenu with additional settings will open.
Savegame options
The first submenu is Savegame options.
Savegame options – save settings.
Save mode – choose the mode in which saves will be made.
DirectSave – direct save to the .sav file on the memory card. A great option for most tasks.
SRAM – saves will be made to the cartridge's SRAM chip.
In general, both options should work for any games. But the developer recommends leaving the SRAM mode only for games with the same type of save, while games that use FLASH or EEPROM should be launched in DirectSave mode.
Savegame load – load a save file when starting the game.
If DirectSave is selected in Save mode, two options will be available:
Load – load the save file with the same name;
Clear – don't load any saves (start the game from the beginning).
If SRAM is selected in Save mode, an additional Manual option will be added to Savegame load, and Savegame save will be unlocked.
Savegame load Manual – by default, nothing will happen. You need to go to the SAVEGAME folder in the main menu, select the .sav file, and load it manually. To do this, hover over the file and press A
. A menu will open.
There are three options here:
Write SRAM to sav – write the save from the SRAM chip to the .sav file on the memory card (this is needed if you also select Manual mode in Savegame save).
Load sav to SRAM – write the .sav save to SRAM memory (this is what Savegame load Manual implies).
Clear / Erase sav - delete the save file.
Savegame save – save method. There are two modes:
On reboot – when the console is turned on, saves from SRAM memory will be automatically transferred to the memory card.
Manual – you need to manually transfer the saves (how to do this - we talked about it above).
In principle, DirectSave mode will work for 99% of games. The only case where I used SRAM was for Pokemon games.
Patching options
The second submenu is Patching options.
This refers to those same patches that were originally made on the computer. The developer added a database of patches to the core, so in general, there's no need for patching, but you can fine-tune everything.
Patching – whether to apply patches to the game. There are two options:
Built-in database – use patches from the database;
No patching – don't use patches.
If you're launching a game that's in the patch database (and 99% of games will be there), you don't need to do anything here. But if you're launching a game that's not in the database or it's a homebrew game, you can disable patching.
When launching a game that's not in the patch database, you'll be prompted to create a patch for that game.
In-game menu – enable/disable the in-game menu. If you press L
+ R
+ Start
in the game, this menu will open (we'll talk about it below).
PatchEngine Run – manually create such a patch. In theory, when launching a game, you'll immediately be prompted to create a patch, and this function isn't needed. But it's also suitable for creating patches for translated games (if the game crashes), if the game is identified as original but has clearly been modified.
Game settings
The third submenu is Game settings.
Emulated RTC – in theory, in certain games (like Pokemon), you can emulate a real-time clock. But this happens automatically. If the game doesn't support RTC, it will say Disabled, and if it does, the time will appear:
Load cheats – enable/disable cheats. This setting is disabled by default in global settings.
Remember config – allows you to save all the settings you've chosen for launching a specific game. Accordingly, if you choose Enabled, all settings will be saved, and if you leave it as default, you'll have to configure everything again when launching the game again.
Global Settings
Note – this menu scrolls down, and there are many settings, not just the three you see immediately.
Menu Hot-key – buttons to enter the in-game menu. You can choose different options.
Game boot – by default, the game loads without rebooting the console's BIOS. You can set it to launch the game "like an original," i.e., passing through the BIOS.
But this happens when you turn on the console. When you launch a game from a flash cartridge, the console is already on.
For most games, it's enough to write the game to RAM and launch it. This can be done without rebooting the console, which is what "Skip BIOS boot" mode means.
But in some cases, this can lead to various problems. When a specific cartridge is inserted, the BIOS configures the console's hardware for that particular game.
If you launch without the BIOS, these parameters will remain unconfigured, leading to various problems with the game.
Fast ROM loading – you can disable or enable fast game loading. It's disabled by default because it can lead to unpredictable consequences in the game (crashes/bugs/lags).
For example:
On the original firmware, the game Mother 3 launches in 31 seconds;
On the SuperFW firmware with Fast ROM loading disabled - Mother 3 launches in 26 seconds;
On the SuperFW firmware with Fast ROM loading enabled - Mother 3 launches in 20 seconds;
On the SCFW firmware (by Metroid Maniac), Mother 3 launches in 1 minute 50 seconds. It takes so long because the game is patched on the fly each time.
Save path – choose where to store .sav files. By default, all saves are in the /SAVEGAME/ folder. You can choose /SAVES/ (just a different folder name) or Next to ROM (saves will be in the same folder as the ROM image of the game).
Save backup # – you can choose the number of backups made when saving. Instead of one file, you'll have 2 files (1 main .sav and 1 additional .1.sav).
Savestate path – folder for permanent instant saves. You can choose Next to ROM to save in the same folder as the ROM file of the game.
Enable cheats – enable/disable cheats.
Patching – you can choose the patching mode. There are four options:
Auto – this mode is set by default (the program will analyze whether there's a patch or not). The Auto mode will prompt you to create a patch if it's not in the patch database.
Built-in database – use patches from the pre-installed database. In most cases, this is enough. Choosing this mode will only apply such patches. The firmware, for example, won't show you that a specific game doesn't have a certain patch.
Patch engine – don't use the built-in patch database. When you first start each game, you'll be prompted to create a patch. This mode is suitable if you play a lot of modified games.
No patching – disables game patching by default. Only suitable if you exclusively use homebrew games.
In-game menu – enable/disable the in-game menu. Enabled by default, meaning the firmware will try to embed such a menu in all games (it won't work everywhere!).
Emulated RTC - enable/disable RTC by default.
RTC time – time for RTC. Since this cartridge doesn't have a clock, you can manually set the starting time. It won't move.
Savegame load – auto-load saves when launching a game. By default, Auto-load is set (when launching a game, the save file will be attached). If you choose Manual, you'll need to manually load the save file into SRAM memory before starting the game.
Savegame save – auto-transfer saves from the SRAM chip to the memory card. You can disable this and do it manually.
Direct-Save – enable/disable the direct save to memory card function. Enabled by default. This function can be manually overridden when launching a game. I did this for Pokemon games.
After you've configured everything, press Save to SD card. This will save all settings.
To reset all settings to default, go to the .superfw folder and delete the settings.txt file (using the Select
button). Then reboot the console.
User Settings
This is the menu for user settings.
Theme color – choose the theme color.
Language – choose the language (Russian isn't available yet, but it clearly will be).
Recent ROMs – list of recently launched games. If you enable this option, an additional menu will appear at the very beginning, showing which games you've launched recently. Accordingly, when you turn on the console, you'll immediately enter this menu and can launch the last game.
To remove a game from this list (but not delete it completely), select the game and press the Select
button.
Text speed – the scrolling speed of the running text. From Very slow to Very fast.
After configuring, select Save to SD card and press A
.
Cartridge Testing
The next menu is cartridge testing. As the name suggests, you can test your cartridge here.
SDRAM memory test – testing the cartridge's memory (where games are stored when launched).
SRAM memory text – testing the SRAM chip (stores saves).
SRAM battery test – checking the battery. After launching, you'll be prompted to turn off the console and wait for two minutes. Then turn on the console, and the test results will be displayed. I recommend doing this test because it determines whether you can use SRAM saves or only DirectSave.
SD (read) benchmark – checking the memory card's read speed.
Flash backup – create a firmware backup, but we've already done this earlier, so we don't need it.
Information
The last menu is information.
Here you can check the firmware version (0.14), cartridge chip ID (000422b9) and unlock the chip for rewriting.
Now we only need to talk about the in-game menu.
In-game menu
The main thing to understand is that this menu won't be available in all games. It will be present in most, but might be missing or cause errors in some. So if your game crashes, the first thing to try is manually disabling this menu.
To open the menu, press L
+ R
+ Start
in-game (can be changed in global settings). After this you'll see the following menu:
Orange buttons are available. Dark gray buttons are unavailable.
Resume game - return to the game.
Reset - exit the game. If you press this button, a submenu will open.
Reset game - restart the game (essentially a fresh game launch).
Reset to menu - exit to the cartridge's start menu (with game save).
Back to menu (skip save) - exit to the cartridge's start menu (without saving the game).
Go back - return to the previous in-game menu screen.
Save to SD card - this tab is only available if you selected SRAM save mode when launching the game (not DirectSave).
Save to SD (overwrite) - write the save from SRAM chip to the memory card (does it immediately when pressed, unlike the normal case during console reboot). This is useful if your cartridge battery is dying.
Save to SD (with backup) - normally just overwrites the save (like Save to SD (overwrite)). But if backup saves are enabled in global settings, it will also overwrite these backup files.
Save and quit to menu - writes the save to memory card and exits to menu.
Go back - return back.
Savestates - quick saves.
There are two types of quick saves:
1. Permanent;
2. Temporary.
Permanent (with floppy disk icon) - these saves are stored on the memory card and you can return to them anytime.
Temporary (with RAM icon) - these saves disappear after exiting the game.
If you select temporary saves, three options will be available:
Quick save - create a quick save;
Quick load - load such save;
Make persistent - make this save permanent.
If you select permanent saves, the buttons will be different:
Save state - create a quick save;
Load state - load such save;
Delete - delete this save from the memory card.
RTC clock - real-time clock. You can change it right in the menu and advance time to wait for in-game events tied to real time.
Error: could not load ROM!
On my Supercard MicroSD I encountered a strange issue. After inserting the memory card into a computer and writing a game, ALL games stopped launching on my Nintendo DS Lite. This error appeared:
Any game I tried to launch had this error.
Only one thing helped. I launched the cartridge on Game Boy Advance SP, performed patching there, and inserted it back. In this case everything started working on Nintendo DS Lite.
This is a major issue with this firmware. For some reason it's very dependent on which console it's launched on. And it works best on Game Boy Advance SP. Specifically the SP version.