KallistiOS git master
Independent SDK for the Sega Dreamcast
|
KallistiOS is a development library and operating system for the Sega Dreamcast game console, developed independently from Sega entirely by free software developers. Its flexible permissive license allows both homebrew and commercial use with little restrictions besides proper attribution. As a result, it powers most homebrew and commercial indie releases for the platform. Interfaces and drivers are included for a significant portion of the Dreamcast's hardware capabilities and accessories, including modifications created by hobbyists.
KallistiOS offers a modern, programmer friendly environment for the vintage Dreamcast system. The distribution includes scripts for building and installing a cross-compiling toolchain using the latest GCC, Binutils, and Newlib. This allows for full support for C17 and C++20 standards and libraries, as well as various POSIX APIs. Preliminary support exists for C23, C++23, and Objective-C.
KallistiOS also features a package manager called **_kos-ports_** which gives developers the power to build and include a rich set of add-on libraries for various common audiovisual formats (jpg, png, mp3, ogg, mpeg), compression formats (libbz2, zlib), scripting languages (Lua, Tcl, MicroPython), gaming APIs (OpenGL, OpenAL, SDL), and many more.
std::thread
, POSIX threadsA beginner's guide to development for the Sega Dreamcast along with detailed instructions for installing KOS and the required toolchains can be found on dreamcast.wiki. Additional documentation can be found in the docs folder.
KallistiOS itself is licensed under the BSD-like KOS License. Attribution is not optional. Additionally, this distribution contains code licensed under various free software licenses. See LICENSE.md for more information on licensing, as well as LICENSE.KOS for the actual KOS License text.
Once you've set up the environment and are ready to begin developing, a good place to start learning is the examples directory, which provides demos for the various KOS APIs and for interacting with the Dreamcast's hardware. Examples include:
dreamcast.wiki: Large collection of tutorials and articles for beginners
Simulant Discord Chat: Home to the official Discord channel of KOS
DCEmulation Forums: Goldmine of Dreamcast development information and history
IRC Channel: irc.libera.chat #dreamcastdev