Developing Homebrew Games For Sega Saturn Just Got A Lot Easier 1
Image: Damien McFerran / Time Extension

Saturn's dual processors made it a bit of a headache for developers back in the day, and modern-day homebrew creators are running into similar problems when it comes to creating new software for the 32-bit system.

Thankfully, it sounds like things are going to get a lot easier due to the release of the Saturn Ring Library software development kit (thanks, Sega Saturn Shiro).

Saturn Ring Library is "a wrapper for SGL [Sega Graphics Library] written in C++23, giving the developer easy to use tools to develop games,” explains lead developer ReyeMe.

"SRL gives you the power to use a modern toolchain (GCC14.2), supporting many standard library features, and an integrated custom SaturnMath library (straightforward writing of algebraic and trigonometric functions on Fixed Point numbers at run and compile time)."

Here's what the development kit—which also features contributions from Roberto Duarte, 7shades, willll, nemesis-saturn and jae686—offers:

  • Builds BIN/CUE images with embedded CDDA audio tracks.
  • Has full support for TGA image format (including run-length encoding compression) for loading textures/sprites.
  • Mesh and SmoothMesh simplify the process of handling 3D model draw calls. With the NYA exporter (not included), it’s never been easier to draw a 3D scene on the Saturn.
  • Custom memory allocation with support for allocating in LWRAM and with ability to automatically determine size of the available dynamic memory.
  • VDP2 wrapper functions make it fast and easy to set up NBG and RGB layers with tilemap and bitmap data. A custom CRAM manager allows for easier management of 16, 64, 128 and 256 color palettes.
  • CDDA playback with volume and three-band analyzer.

As spotted by Sega Saturn Shiro, developer of Saturn homebrew title Seniriu, Emerald Nova, has heaped praise on Saturn Ring Library:

I have had the pleasure of utilizing SRL in the Seniriu rebuild for several months now I can honestly say this is the only thing keeping me from dropping the Saturn for big projects. The responsiveness of the team for priority updates, QoL on load and draw, among other things, have been lifesavers.

I have banged on about a more complete SDK for years. Jo is great but sound is broken and 3D just isn't there. Yaul is too low level to facilitate a large scale effort. Saturn Orbit is literally just SGL with extra steps. SRL is, in my judgement, the only true way forward.

Literally everything you need is here. SRL and NYA, along with a small suite of FOSS tools can get you 3d scenes in an evening. The only thing missing is physics.

I think the next big project for Saturn will certainly be built on SRL.

Saturn Ring Library can be downloaded here, while documentation is available here.