VDP1 Sprites and polygons
- TGA, 15-bit and raw images loaded from the CD
- Sprite animation and storyboards
- 3D meshes, camera, Gouraud shading
- Software rendering and voxel terrain
Jo Engine is an open source 2D and 3D game engine for the Sega Saturn. You write the game; it handles the two SH-2 CPUs, the VDP1 and VDP2, the CD block and the sound processor. Your game runs on emulators and on the original console.
#include <jo/jo.h>
void my_draw(void)
{
jo_sprite_draw3D(0, 0, 0, 500);
}
void jo_main(void)
{
jo_core_init(JO_COLOR_Black);
jo_sprite_add_tga("TEX", "A.TGA", JO_COLOR_Transparent);
jo_core_add_callback(my_draw);
jo_core_run();
}
The Saturn spreads its work across a dozen chips. Jo Engine gives each of them a simple C interface, and every feature comes with a sample you can build and run.
A companion tool for preparing assets: convert images to TGA, PNG or 15-bit binary, build tilesets and maps, and export images as C source. It ships with the engine.
Jo Map Editor on GitHubThe download contains the compiler, the engine, emulators and more than forty samples.
Get the latest release or clone the repository.
Copy a folder from Samples into Projects. Start with demo - sprite animation or demo - 3D.
Run compile.bat on Windows or ./compile.sh on Linux and macOS to build a CD image, then a run_with_… script to start it in Yabause, Mednafen, Kronos or another emulator.
Burn the generated image, or load it with an optical drive emulator such as the Satiator, and test on the console.
Homebrew games and ports built by the community, from weekend experiments to finished, commercially released titles.

A survival-horror adventure inspired by Alone in the Dark, finished and playable from start to end.
Read the article
A commercial FPS that uses both CPUs and both VDPs, with voice-acted cutscenes. Red Moon: Lost Days, another Jo Engine game, has been sold on disc since 2023.
Read the article
A side-scrolling brawler with smoothly scaled sprites, meant to become an original game.
Read the article
A fan recreation of Konami's 1992 beat 'em up. The first demo has the opening stage and two playable characters, and runs on real hardware.
Read the article
The PICO-8 platformer ported to the Saturn from its C source.
Read the article
An original platformer with transformations, entered in the SegaXtreme game competition. A 3D version is in progress.
Read the article
Its author released Enceladus, the model converter and stage builder he wrote for it, for other Jo Engine developers.
See it on SegaXtreme
An open source game with a development video series, a good read if you want to see a project grow.
Source codeMade something with Jo Engine? Tell us on GitHub and it can be listed here.
Books, interviews and articles that cover the engine.
Robin Wilde
Rolando Fernández Benavidez
Every function, type and constant, generated from the source.
More than forty small programs, one per feature: 3D, Mode 7, video, multitap, backup RAM…
A step-by-step tutorial series by Team Starlane, built on Jo Engine.
Answers to the questions that come up when you set up the toolchain.
Most Saturn homebrew talk happens on SegaXtreme. Bugs and pull requests go to GitHub.
I'm Johannes Fetz and I live near Montpellier, in France. I'm the CEO of Eureka Technology, where I've worked for more than 17 years, and a Group Leader at Volaris Group.
The Saturn is full of memories of middle school with my friends, and it is still my favourite console. Games like Panzer Dragoon Saga stayed with me. The console has a reputation as one of the hardest platforms ever to program, which is why so few homebrew games existed. So I wrote an engine simple enough for anyone to make one. Everyone at work calls me Jo, hence the name.
Thanks to The Rockin'-B for his work and tutorials, and to everyone who supports the project on SegaXtreme, SEGASaturno, Sega-16, Gamopat, Sega Saturn Shiro and Segasaturnshine.