SuperFW 0.21 for SuperChis — Firmware and Setup

Here are two useful finds for original Nintendo hardware.

For Nintendo DS: DSPico flash cartridge with USB-C.

For Game Boy Advance SP: an IPS-ready eXtremeRate replacement shell.

I already covered SuperChis in a separate review. There we compared it with SuperCard; here, we'll focus on the firmware, from updating it to configuring games and saves.

SuperChis Prime flash cart for Game Boy Advance

SuperChis runs SuperFW by developer Davidgf. Yes, it's the same firmware you can install on an old SuperCard. So if you've already read the SuperFW article, much of this will feel familiar.

Still, SuperChis has its own firmware build, supports writing games to NOR memory, and the menu has changed a little since then.

Let's start by updating the firmware. Chances are your cartridge did not arrive with the latest SuperFW version. At the time of writing, version 0.21 is current, so that's what we'll install.

Preparation

We'll need the SuperChis itself, a console, and a microSD card. Unlike the old SuperCard, there is no need to hunt down a 2 GB card.

In my SuperChis review, 32 GB FAT32 and 128 GB exFAT cards worked. A 512 GB card did not. So compatibility with a particular card is still worth checking.

If the card already contains games and saves, copy its contents to your computer first. Pay special attention to the save folders and the .superfw system folder.

Now download SuperFW 0.21 from the developer's release page. For SuperChis, you need the superfw-chis.fw file.

Copy this file to the memory card. There is no need to rename it.

Charge the console before updating. Do not turn it off or remove the cartridge while the firmware is being written.

Firmware Update

Insert the memory card into SuperChis and turn on the console. First, you can check which firmware version is currently installed. Use L or R to switch to the last tab, marked with the letter i.

SuperFW 0.20: SuperChis firmware information

In my case, it shows Version 0.20 and Chis variant.

If you go straight back to the file list and launch superfw-chis.fw, you'll see the message Flashing is disabled!

SuperChis update blocked: Flashing is disabled

That's normal. Firmware flashing is locked by default.

Return to the i tab and press Down + B + Start at the same time. The message Update flashing is enabled will appear at the bottom.

Enabling firmware flashing on SuperChis

Now go back to the file list, select superfw-chis.fw, and press A.

superfw-chis.fw file on the memory card

The update window will appear. To confirm, press L + R + Up.

The firmware will first verify the file and then start writing it.

Verifying the SuperFW 0.21 file before updating

Bad firmware checksum!

This is where things did not work on the first try for me. Instead of updating, I got the Bad firmware checksum! error.

Bad firmware checksum error while updating SuperChis

I opened the properties of the downloaded file in Windows. At the bottom of the window there was an "Unblock" checkbox.

superfw-chis.fw file properties in Windows: Unblock checkbox

I checked it, applied the changes, and copied the file to the memory card again, replacing the old one. But the error appeared again.

Only this worked: I deleted the old superfw-chis.fw from the memory card and copied the unblocked file to it again from scratch. After that, the update started normally.

The developer also has a separate note about checksum errors when updating from 0.18 and older versions. For those, he recommends using the first-install procedure. I was on 0.20, so my case was different.

Finishing the Update

Once verification succeeds, you'll see Programming firmware... Wait until it finishes.

Writing SuperFW 0.21 to SuperChis memory

The message Flash update complete! means the firmware has been written successfully.

SuperChis firmware update complete

Now be sure to turn the console off and back on. If you simply open the information tab, it may still show the old version because 0.20 is still running in the console's memory.

After a full restart, you'll see Version 0.21.

SuperFW 0.21 Chis variant after restarting the console

That's it. The update is done, and you can start using the cartridge.

Using SuperChis

Game Boy Advance games are copied to the memory card as .gba files. You can organize them into folders. There is no need to process every game with a PC utility first.

The tabs are at the top of the screen. Switch between them with L and R:

  • Recently launched games, if Recent ROMs is enabled;
  • Files on the memory card;
  • Games in NOR memory;
  • Global settings;
  • User settings;
  • Cartridge testing;
  • Firmware information.

Press A to select an item and B to go back. Use the D-pad to move through lists. Setting values are usually changed with Left and Right.

Let's go through everything in order.

Main Menu

The tab with the floppy-disk icon shows files on the memory card. This is where we'll launch games from.

SuperChis main menu with files on the microSD card

Select a game and press A. The ROM information window will open.

Lost Vikings game information before launch

Here the cartridge identifies the game's ID, revision, and save type. In this case it's Lost Vikings: ALVE, version 0, with EEPROM (0.5KB) saves.

If everything looks right, press A on Load GBA game ROM. The game will start.

You can also configure the launch in more detail. In this window, L and R switch between ROM information, Patching options, and Loading options. Let's look at the last two tabs.

Patching options

This tab contains the game's patching settings.

Patching options: patches, DirectSave, in-game menu, and RTC

Patching — which patches to apply when launching the game.

Built-in database — use the built-in database. For a regular game, this is the simplest option: the firmware already knows what needs to be changed and where.

Patch engine — use patches created by the analyzer for this ROM file. This option appears in the Patching row only after you press the PatchEngine button at the bottom of the screen.

Patch engine option in the Patching row and PatchEngine button below

No patching — launch without patches. This is usually useful for homebrew. Without patches, some games will not boot or will be unable to save.

If Auto is selected in the global settings, the firmware will offer to create a patch if no ready-made one exists for the game.

SuperFW offers to generate patches for an unknown ROM

Select Yes and wait. The next time you launch the game, the generated result will already be available.

PatchEngine, with the triangular button, runs this analysis manually. This can be useful for translations and ROM hacks: the game ID may stay the same while the contents have changed. A patch for the original version will not necessarily work in that case.

Save mode

Save mode controls how regular in-game saves are handled. There are two main options.

DirectSave — the game writes its save directly to a file on the memory card. This mode is available for supported games that use Flash or EEPROM. If it is available, you can usually leave it enabled.

SRAM — the game saves to the cartridge's internal memory first, and the firmware later copies the save to the memory card.

On the SRAM version of SuperChis, a battery keeps the save after the console is turned off. The FRAM version does not need power to retain data. In both cases, however, the menu calls this mode SRAM.

I do not recommend leaving saves only inside the SRAM or FRAM chip. That memory is shared by all games: it's easy to forget to copy a save to microSD, launch another game, and accidentally overwrite it. It is safer to keep your progress in .sav files on the memory card. If Savegame save: On reboot is selected, the firmware does this automatically the next time you turn on the console.

Other Settings

In-game menu — enable the in-game menu. By default, it opens with L + R + Start.

Emulated RTC — emulate a real-time clock for games that need one, including some Pokémon titles. If no suitable RTC patch exists, this option will be unavailable.

Keep in mind that the in-game menu and other extra features may not work in every game. If enabling them causes freezes or graphical glitches, try disabling In-game menu and launching the game again.

Loading options

The next tab controls save loading, cheats, and options for the current launch.

Loading options in DirectSave mode with save loading enabled

Savegame load — what to do with the save when launching the game.

Load — load the matching .sav file. This is the normal option if you want to continue your game.

Clear — start without the previous save. In DirectSave mode, the .sav file is overwritten as soon as the game starts. In SRAM mode, the cartridge memory is cleared first, and the file on the card is overwritten later when the save is copied back.

In DirectSave mode, Savegame save shows Automatic. There is no need to copy data out of SRAM separately.

If you switch Save mode to SRAM, more options become available.

Loading a save and copying it to the card on reboot in SRAM mode

Savegame save: On reboot — the next time the console starts, the firmware copies the save from cartridge memory to microSD. After playing, turn the console off, turn it back on with the same card inserted, and let SuperFW finish writing the save.

Savegame save: Manual — disable automatic copying of saves to the memory card. You then need to write the save to a .sav file manually through the file menu; I'll show how in a moment.

Manual also appears under Savegame load. The firmware will not load the .sav file automatically.

Manually loading a save in SRAM mode

How to Transfer a Save Manually

In the main menu, open the folder with your saves, select the .sav file with the same name as the game file, and press A.

Manually writing and loading a SAV file through SRAM memory

Write SRAM to sav — write the contents of the cartridge's save memory to the selected file on microSD.

Load sav to SRAM — do the opposite: load the file from the memory card into the cartridge.

Clear/Erase sav — clear the selected save.

Cancel — go back.

For normal use, it is easiest to leave loading set to Load, and saving set to Automatic for DirectSave or On reboot for SRAM.

RTC, Cheats, and Saving Settings

RTC time — the date and time used by a game with RTC emulation. If the feature is unavailable, a dash appears instead of the time.

Load cheats — load cheats. Simply enabling this option is not enough: you need a cheat database, and Enable cheats must be enabled in the global settings.

Remember config — remember the patching, DirectSave, in-game menu, RTC, and cheat settings for this game. Select the floppy-disk button and press A. This button does not remember Savegame load or Savegame save. In SRAM mode, those values are taken from the global settings again on the next launch.

Deleting and Hiding Files

Now that the launch settings are covered, let's return to the file list. If you press Select on a game, a different menu appears.

File menu: delete, hide, and write a game to NOR

Delete file/directory — delete a file or folder.

Hide file/directory — hide a file or folder. The file itself remains on the memory card.

To keep hidden files out of the list, go to User Settings and set Show hidden files to Disabled. To show them again, select Enabled. After changing the setting, press Save to SD card.

Hiding does not take effect immediately. It's best to turn the console off and back on with the cartridge inserted so the file list refreshes.

Write game to flash — write the game to SuperChis's internal NOR memory. We'll look at this feature separately.

Writing Games to NOR Memory

This is one of the main features of SuperChis. You can write a game to internal NOR memory once and then launch it from there.

With a normal launch, the ROM is copied from microSD into the cartridge's working memory every time. In NOR, the game remains there even after the console is turned off. So on the next launch, there is no need to copy the entire ROM again.

NOR can also help with slowdowns. In the SuperChis review, I already showed this with Super Mario Advance 2 — Super Mario World: after writing it to NOR, the game no longer slowed down in a level with lots of Koopa Troopas.

NOR has its own tab with a chip icon. When nothing has been written there yet, it shows Flash is empty.

Empty SuperChis NOR memory

Go back to the files on the memory card, select a game, press Select, and then choose Write game to flash.

The familiar game information window opens. The button at the bottom is now labeled Write game to flash.

Preparing Lost Vikings to be written to NOR memory

Before writing the game, you can open Patching options and choose the save mode, patches, and in-game menu settings.

Configuring patches before writing to NOR: SRAM mode selected

The screenshot shows SRAM selected. This is just an example setting, not a requirement for every game stored in NOR.

Then return to the information page and confirm the write with A. Wait for the Game flashed successfully! message.

Game successfully written to SuperChis NOR memory

The game now appears in the NOR tab. At the bottom, you can see how much memory is in use.

Lost Vikings in the NOR game list: 4 MB of 124 MB used

In this case, 4 MB of the 124 MB available for games is occupied. To launch the game, select it and press A, then confirm the launch.

Patches are applied when the game is written to NOR. If you later want to switch from DirectSave to SRAM or enable the in-game menu, you'll need to delete the game and write it again with different settings. To remove it, select the game in the NOR tab and press Select. Save-loading options, RTC time, and cheats can still be changed at launch without rewriting the game.

The microSD card is still required for saves and firmware settings.

Global Settings

The next tab has a wrench icon. This is where you configure general options and default launch settings.

Note that the menu scrolls downward. Not every option fits on a single screen.

SuperFW global settings before restarting after the update

Menu Hot-key — the button combination used to open the in-game menu. The default is L + R + Start.

Game boot — how the game starts. Skip BIOS boot skips another launch through the BIOS. If a game has problems, you can try the BIOS option instead.

Fast ROM loading — load ROMs from the memory card faster. If you see errors while loading or a game starts unreliably, try disabling this option.

Verify flashing — verify data after writing a game to NOR memory.

EWRAM overclock — speed up the console's own working memory. This is an experimental option for GBA and GBA SP. This kind of overclocking is not supported on Game Boy Micro or Nintendo DS. If everything already works properly, there is no need to enable it.

Save, backup, and cheat folder settings

Save path — where normal .sav files are stored. You can choose /SAVEGAME/, /SAVES/, or Next to ROM. The last option stores the save alongside the game itself.

Flash saves — a separate folder for saves from games stored in NOR. You can choose /SAVEGAME/ or /SAVES/.

I took the screenshots of this tab before restarting after the update. Version 0.21 added Verify flashing and Flash saves, so the row positions are slightly different now.

Save backup # — how many previous copies of a save to keep when writing with backups. With a value of 0, no extra copies are created.

Savestate path — the folder for savestates. In 0.21, this can be /SAVESTATE/ or the system folder /.superfw/savestate/, shortened to .sfw/savestate in the menu.

Enable cheats — enable cheat support. It is disabled by default.

Default GBA settings

Next come the default launch settings for all games. If a particular game needs different values, you can configure them separately in its launch menu.

Default patching, in-game menu, and RTC emulation settings

Patching — the default patching mode:

Auto — the firmware chooses an appropriate method and offers to create a patch when necessary;

Built-in database — use the built-in database;

Patch engine — use the analyzer and its patches;

No patching — do not apply patches.

In-game menu — enable the in-game menu by default.

Emulated RTC — enable RTC emulation where it is supported.

RTC time — the date and time from which the in-game clock starts counting. Press A to change them.

Setting the date and time for the emulated RTC

RTC speed — the rate at which the in-game clock runs. Regular means normal speed: the clock advances while you play.

It is still software emulation, though. When the console is turned off, the cartridge has no way to count the elapsed time.

Automatic save loading, save copying, and Direct-Save in global settings

Savegame load — load a save automatically when launching a game, or do it manually.

Savegame save — automatically copy the save from cartridge memory to the card after a restart, or leave it in manual mode.

Direct-Save — use direct save writing to the memory card by default when the game supports it.

After changing settings, scroll down to Save to SD card and press A. Otherwise, your changes will be lost when the console is turned off.

User Settings

This section controls the look and behavior of the menu.

SuperFW user settings: theme, language, and recent games

Theme color — the color theme. You can keep the light one or choose something else.

Yellow SuperFW theme
Blue SuperFW theme
Green SuperFW theme
Purple SuperFW theme
Dark SuperFW theme

Language — the interface language. Russian is already available in 0.21. I left the interface in English for this article so the menu labels match the screenshots.

Recent ROMs — show a separate tab with recently launched games.

SuperFW tab with recently launched games

It's handy if you keep playing the same game: you do not have to dig through folders every time. In 0.21, games launched from NOR are added here as well.

To remove a game from this list, select it and press Select. The ROM file itself is not deleted.

Text speed — the scrolling speed for long names and hints.

Show hidden files — show hidden files. If you hid a game with Hide file/directory and can no longer find it, check this setting.

At the end, press Save to SD card again.

Cartridge Testing and Information

The tab with the green graph contains tools for testing the cartridge.

SuperChis memory testing, microSD checks, and flash tools

SDRAM memory test — test the cartridge's working memory, where games are loaded from microSD.

SRAM memory test — test the save memory.

SRAM battery test — check whether data is retained after power-off. The firmware will ask you to turn the console off for about two minutes, then turn it back on and check the result. On the FRAM version, this test checks data retention rather than the presence of a battery.

Before testing the save memory, copy your progress to the memory card: the test writes its own test data into that memory.

SD (read) benchmark — measure microSD read speed.

Flash backup — create a backup of the flash contents. This is useful before experimenting with the firmware.

Erase flash — remove all games from the NOR list. The cartridge firmware remains intact. To delete a single game, use Select in the NOR tab.

The last tab, marked with the letter i, shows the firmware version and build variant. It is also where update flashing is unlocked, which we already did at the beginning of the article.

In-Game Menu

The last thing to cover is the menu that opens while a game is running.

If In-game menu was enabled when you launched the game, press L + R + Start. If you changed the combination in the global settings, use your custom one.

SuperFW 0.21 in-game menu

Some items may be unavailable. This depends on the game and the settings selected at launch. With the light theme, unavailable items appear faded.

Resume game — return to the game.

Reset — open restart and exit options.

Restarting the game and returning to the SuperChis menu

Reset game — restart the game.

Reset to menu — return to the SuperFW menu. If Savegame save: On reboot is selected, the firmware will copy the save to the memory card.

Back to menu (skip save) — return to the menu without copying the save. This command does not roll back a file that has already been written through DirectSave.

Go back — return to the previous page.

Save to SD card

Here you can immediately copy the save from cartridge memory to microSD. In version 0.21, the game must have been launched with SRAM and Savegame save: On reboot. With DirectSave, this item is unavailable because the game already writes its save to the card.

Writing a save to microSD from the in-game menu

Save to SD (overwrite) — write the save to the card, replacing the previous file.

Save to SD (with backup) — write the save with a backup, if a number of copies is configured under Save backup #.

Save and quit to menu — write the save and exit to the cartridge menu.

If you have a SuperChis with SRAM and a dead battery, this lets you write the file before turning the console off. The important part is to save normally inside the game first, then copy that result to the card.

Savestates

These are instant saves. For example, you can save right before a difficult jump and return to the same spot after a failed attempt.

SuperFW savestates: temporary memory slot

Slots with a chip icon are temporary savestates stored in working memory. They disappear when the console is turned off. The number of available slots depends on the amount of free memory.

Quick save — create an instant save;

Quick load — load it;

Make persistent — move it to a permanent slot on the memory card.

Slots with a floppy-disk icon are permanent. Their savestates are written to microSD and remain there after the console is turned off. These slots support Save state, Load state, and Delete.

Savestates here are not as reliable as they are in an emulator. In some games, loading one can cause graphical glitches or freezes. So it is still worth using the game's normal save system too.

RTC Clock and Cheats

RTC clock — change the in-game clock's date and time or its speed. This item is available in games where RTC emulation is working.

Cheats — choose cheats for the running game. They must be installed and loaded beforehand.

Cheat files with the .cht extension are stored in /.superfw/cheats/. Details about compatible databases and file naming are available in the developer's guide.

What's New in Version 0.21

If you've used SuperFW before, there is very little to relearn. The basic logic remains the same.

In version 0.21, the developer fixed booting for some modified Pokémon games, along with issues in the SuperChis interface, PatchEngine, and the in-game menu. Save paths were also reworked, and games launched from NOR now appear in the recently played list.

If you need more detail, SuperFW has official documentation. For more on SuperChis itself, its boards, and how it differs from SuperCard, see the cartridge review.