SF2000 Updates and Improvements
Today was a snow day, that means my kids got much more video game time than usual, and in our house video game time means “retro” games powered by the amazing ~$20 SF2000 (Super Mario Brothers 3 is still the pinnicle of game design, and I will die on this hill).
The SF2000 is a marvel, and being able to hook it up to the TV and play multiplayer NES and SNES games with my kids makes me so happy. But the screen tearing and other miscellaneous issues that it comes with out of the box motivated me to do some research and updating today.
I’m sharing what I did here, because there is a lot of information to be found about the SF2000, enough that it can be overwhelming if you’re just looking to make it better without watching a bunch of youtube videos and reading way more than you need to get the job done. I’ve now done both of those for you, and can share the basics.
Goals:
- ✅ Update/fix the bootloader.
- ✅ Install Multicore firmware, as it has the fixes and improvements we’re looking for and it’s based on the official firmware.
- ✅ Fix screen tearing (seems that multicore has software fixes).
- ☐ Change default games for each system, make all the good Marios the defaults, maybe Sonic, Zelda, try to remember the best games for each system. I didn’t get this one done, but multicore has slightly better defaults than the stock firmware, so it’s not urgent anymore.
This guy has written many, many more words about the SF2000 than I ever will. If you want to get deep, go check it out: https://vonmillhausen.github.io/sf2000/
Update the Bootloader
Apparently it is critical to do this before doing anything else, or you risk bricking the device, so do it. More information here.
The process is quick and easy if you’re starting from a working SF2000. Here are the steps, copied from here:
- Ensure your SF2000 is in a state where it boots normally when turned on (displays a boot logo, proceeds to the stock firmware main menu)
- Ensure your SF2000’s battery is fully charged (having the device power off during the patching process will likely “brick” it, rendering it inoperable)
- Power off the SF2000, and remove the microSD card
- Connect the microSD card to your computer
- Download this zip file: SF2000_bootloader_bugfix.zip
- Extract the zip file; inside is a folder called
UpdateFirmware
, containing a single file calledFirmware.upk
- Copy the
UpdateFirmware
folder to the root of the microSD card, so that theUpdateFirmware
folder is in the same place as thebios
androms
folders (i.e., you’ll have ansd:/UpdateFirmware/Firmware.upk
file) - Eject the microSD card from your computer, and put it back in the SF2000
- Turn the SF2000 on; you should see a message in the lower-left corner of the screen indicating that patching is taking place. The process will only last a few seconds. If you do not see this message, and instead just go to the main menu as normal, then either this means your SF2000 has previously had the fix applied already, or you should double-check you’ve placed the patch file in the right place
- When the patching is complete, you will be taken to the main menu as usual
- Power off the SF2000, and remove the microSD card
- Connect the microSD card to your computer
- Delete the
UpdateFirmware
folder (it’s no longer needed)
Install Multicore Firmware
It’s tough to track down the best sources of information about this. Apparently the real activity happens on Discord and Telegram, but I’m not committed enough to go there. There is some good information here, and it looks like the most “official” builds live here, but this fairly recent youtube guide/review points to a more recent “Purple Neo” build, which I’m going to use.
Firmware installation steps:
- Make sure you’ve fixed the bootloader, above.
- Download the 10GB zip file, found here.
- Either use a new Fat32 formatted microSD card, or back up and format the stock microSD card as Fat32.
- Insert the microSD card and determine it’s name. Mine is called ‘NO NAME’.
% ls /Volumes Macintosh HD NO NAME
- (Optional) Create a zip of the original contents, I’ll store it on the desktop for now.
% zip -r ~/Desktop/SF2000_backup.zip /Volumes/NO\ NAME/
- Use Disk Utility to erase (format) the microSD card, and choose MS-DOS (FAT) as the format.
- Extract the contents of the 10GB zip you downloaded earlier to the microSD card.
% unzip ~/Downloads/PurpleNeo_Multicore_0.10_23365b6_2024-07-11_b.zip -d /Volumes/NO\ NAME/
- Do the screen tearing fix below.
- Eject the microSD card, put it back in the SF2000, and boot.
Improve Screen Tearing
Some games that we really enjoy like Super Mario Brothers have pretty bad screen tearing with the default firmware. Once multicore is installed we can set a config value to enable some software improvements.
This is a one-line config change fix, but if you want to see more, here’s a youtube video about it.
- Install multicore following the steps above.
- With the microSD card still inserted in your computer, open the file
cores/config/multicore.opt
.nano /Volumes/NO\ NAME/cores/config/multicore.opt
- Set the value
sf2000_tearing_fix
on line 9 tofast
and save the file (^X
if using nano). - Eject the microSD card, put it back in the SF2000, and boot.
That’s it, enjoy your improved SF2000!