Something that’s been dormant for nearly a decade has just broken from the ice.
A few days ago on February 13, 2023, tpunix started adding new commits to a Saturn flash cart project that was thought to be dead 8 years ago, and it surprised folks when it popped up in their notifications.
SAROO is an “HDLoader for SEGA Saturn” (basically a Flash Cart), and it’s a project that got its start all the way back in 2013! (But before you shout “take my money”, calm down, because it’s still very much a work in progress.) We’re just delighted to see that the project is back, and progress IS being made!
TL:DR – SAROO is a work in progress Saturn Flash Cart conceived back in 2013 that aims to emulate Saturn’s CDBlock, allowing game images to boot from SD Card, while offering 1M/4M Ram expansion and potential for direct saves (backup cart functionality). However, it suffers from timing issues, resulting in corrupted data and meager game compatibility. The project just received its first updates in over 8 years with a very positive progress report. While still a WIP, SAROO is a project we should all be following closely.
However, since this project is probably news to even some of the most hardcore Saturn fans out there, here’s a brief history to bring folks up to speed.
2013 – The Project is Born
By September of 2014, tpunix had already put “more than a year of hard work” into the project and claimed that it was possible to run some games successfully (shared on the now archived saroo.com).
Stating that the idea for the device “came from the childhood dream of one of their group members,” they indicated that the beta version would only be available in China, while a commercial version would be available for international sale through eBay.
2014 – Beta Functionality Demonstrated
At that time, a couple of videos were posted to YouTube showing the devices ability to boot and play a select few games, like Suikoden, Langrisser 2, 3 & 4 and Tenchi wo Kurau 2.
2015 – Project Goes OpenSource on GitHub
With it’s first commit to GitHub back on June 7, 2015, tpunix provides a changelog that elaborates more on the the first iteration of SAROO (v1.0), claiming it simply added a usbhost interface to the already available Saturn usbdevcart. With this hardware, each game’s code basically had to be modified & patched in order to work (essentially converting Saturn’s CDBlock operations to U disk or USB hard disk drive).
Because each game had to be modified, this wasn’t considered a ‘universal’ solution, and if that wasn’t bad enough, it also experienced significant performance and stability issues, meaning that only a handful of games were able to work this way.
This led to a brand new design (v1.1) which implemented a Cyclone IV EP4CE6 FPGA to emulate the CDBlock hardware interface and an STM32F103 Cortex-M3 microcontroller (MCU) running firmware to process various CDBlock commands. This version nearly succeeded in running games, unmodified. However, it still suffered random data errors, with various mosaics and artifacts appearing during title animations and software eventually locking up, which was both difficult to locate and debug.
Shortly after taking v1.1 Open Source, hitomi2500 (also known for the WASCA cart project – unrelated to SAROO) became involved with the project to help out with code and PCB layout.
Updating the PCB layout to v1.2 provided bugfixes and a performance improvement over v1.1, using a faster STM32H750 Cortex-M7 MCU, clocked at 400MHz and with enough SRAM inside to hold a full CDC cache. The interior of the FPGA was also reconfigured, abandoning the qsys system and using its own SDRAM and bus structure. This version finally seemed to live up to expectations and was considered ‘near-perfect’.
“The STM32H750 is a powerful Cortex-M7 MCU. One of its highlights is the on-chip 1MB SRAM. I am going to use it in the new version of SAROO. The 512KB of cache in Saturn’s CDBLOCK fits perfectly in it.“ -tpunix
With this cart, Optical Drive Emulation could be achieved by resetting CDBlock in SMPC config (Saturn’s microcontroller) and emulating its functionality on A-Bus. In short, this would allow the loading of commercial games from an SD Card, similar to devices like Satiator, however, this would completely emulate Saturn’s CDBlock as opposed to simply interfacing with it the way that Satiator does.
“Satiator doesn’t actually simulate the CDBlock. It hijacks the CDBlock and transfers data with alternative firmware (while still using SH1 and YGR logic). SAROO, on the other hand, disables CDBlock completely via SMPC, and replies to the requests itself.” – hitomi2500
However, despite the significant progress made, it was unable to fulfill all requests with the same low latency that the REAL Saturn CDBlock provided, so often times data would be corrupted. Failing to solve these timing issues back in 2015, hitomi left the project in order to work on other things, and it went dormant for the next 8 years.
2023 – SAROO Re-emerges…
Then just a few days ago on February 13, 2023, out of the blue, tpunix started adding new commits to the project. tpunix found that by backporting the new v1.2 FPGA configuration and MCU firmware to the prior v1.1 hardware, the same basic performance as v1.2 could be achieved (which would essentially save on the cost of hardware).
These new commits included updates to the microcontroller firmware and the readme, in addition to a few images of the SAROO cart attached to real hardware, an early boot menu and Samurai Showdown IV: Amakusa’s Revenge booted to title screen.
Here is the current status of the project according to the update log by tpunix:
- Dozens of games tested work flawlessly.
- The 1MB/4MB ram expansion card function can be used normally.
- SD card supports FAT32 & ExFAT file system formats.
- Supports image files in BIN/CUE format. (Single or multiple BIN supported).
- Some games get stuck on the loading/title animation screen.
- Some games get stuck during game play.
Based on the last two points on this list, it still seems very much like a work in progress, and is likely still caught up in those timing issues that hitomi had mentioned were quite an obstacle. However, it is good to see that this project is not dead and attempts are still being made to get it working. The potential is clearly there, and this is certainly the kind of device that the Saturn community as a whole had been waiting for.
Not only would such a cart have the same data transfer bandwidth as Satiator does, but it would also have greater pin access as a result of using the ram cart slot, which means it could also support direct in-game saves to SD (backup cart functionality) much like the Saturn Gamer’s Cart. Also like the Gamer’s Cart, it could support the loading of extremely large save files (for example, Dezamon 2’s homebrew shooters are stored as gigantic save files originally intended for use with the Japan-only FDD Drive). Add to that the fact that it could also potentially support cheat codes and/or debugging features, all while keeping the Saturn’s VCD card slot available for the MPEG card and the few games that support it, and you can start to see why this is really the type of device that folks have been holding out hope for.
It’s still very much a WIP, and there’s been no word regarding it’s potential availability for sale now or any time soon, however, we will continue to follow the project closely and report on any significant progress.
Leave a comment