SaturnDave (Sega Saturn, SHIRO!)

NEW SEGA Saturn SDLoader

A new method for running code on SEGA Saturn off an SD card has been developed — and it works via the Player 2 controller port…

In early September, Murzik posted a thread on SegaXtreme detailing his invention, which he calls the SDLoader. It involves stripping a Saturn controller or controller extension cord and wiring it to a micro SD card reader, then plugging it into a console’s controller two port.

RetroRGB readers might be familiar with Murzik’s name, as back in January he released an early work-in-progress translation patch for Ys 1, as Shiro reported at the time.

He’s written some software that must be burned to a CD or placed on an SD card in an ODE. When it runs, it brings up a menu that gives options for backing up save data from the internal Saturn RAM to the SD card or restoring save data from the SD card to the Saturn’s internal memory.

To run the software from a CD, an Action Replay-type cartridge loaded with PseudoSaturn Kai is required to circumvent copy protection.

Initially, Murzik said it took about four seconds to back up 64kb worth of save files to the SD card and about nine seconds to load and execute 40kb of code.

“[ I ] wanted to backup saves from my Saturn, so I decided to do [an] SD card tool which [uses the] second gamepad port to communicate with SD cards. It is just a proof of concept, but it works. To match levels, [ the ] fastest and cheaper way to utilize [ a ] micro SD module (you may get one in any electronic DIY shop, get micro SD one, as it includes 5v tolerant buffer IC and 3.3v voltage regulator).”

— Murzik

But now it’s able to transfer data at a clip of more than 90kb per second as well as transfer save files to and from a memory cartridge, not just the internal Saturn RAM. And a new customized PCB from TZMWX for the SDLoader slots directly into the Saturn’s controller port — no need for cutting up a cord and bodging wires to the SD reader board.

TZMWX is the creator of the portable Saturn and has taken an interest in the SDLoader for its ability to easily transfer saves to and from his mobile Saturn with a screen. He was actually about to reach a transfer speed of 105kb per second…

The performance improvements are thanks to Murzik optimizing his software’s code while TZMWX tested it and reported back on SegaXtreme.

Specifically, Murzik was able to use part of the Saturn’s SH2 CPU cache to store frequently accesed file allocation table driver structures and buffers to improve speeds. He also decreased the number of instructions used per byte, boosting speed via efficiency.

The idea of flashing new versions of PseudoSaturn Kai onto an Action Replay cartridge has been floated in the thread, and while Murzik said it would be possible, it’s a feature for later on down the line. For now, the SDLoader is only used for transferring save files.

Despite the speed increases, it’s still too slow to run games off of the device. Its only use right now is for transferring save game data.

But for those who don’t have a Satiator but do have a PseudoSaturn Kai cartridge, building an SDLoader is a fairly cheap alternative to Slinga’s Save Game Copier utility for keeping precious save files safe. While the SGC’s functionality is virtually identical to the SD Loader when run off of a Satiator, it’s more limited when run off of a burned CD — the SGC can only transfer save games that have been included in the burn. To get saves off of the Saturn, you can plug your Saturn’s audio out to the line-in on a PC and use Slinga’s Save Game Extractor utility to transfer the data aurally, a process that’s slow but effective.

Those who want to try making their own SDLoader can find TZMWX’s PCB designs attached to this SegaXtreme post. You can find the software that must be burned to a CD or run off of an ODE in a ZIP file attached to the first post in Murzik’s thread.

Also available is this great tutorial video by Limone (albeit in Korean but with English subtitles) that demonstrates exactly how to build one of these SDLoaders and how to use it for backing up saves and running custom code.

Danthrax is a contributor to the Shiro Media Group, writing stories for the website when Saturn news breaks. While he was a Sega Genesis kid in the ’90s, he didn’t get a Saturn until 2018. It didn’t take him long to fall in love with the console’s library as well as the fan translation and homebrew scene. He contributed heavily to the Bulk Slash fan localization in 2021 and has helped as an editor on several other Saturn and Dreamcast fan localizations such as Cotton 2 and Sakura Wars Columns 2.

Liked it? Take a second to support SaturnDave (Sega Saturn, SHIRO!) on Patreon!