Replaces the standard Go runtime with one designed for the Dreamcast's constraints: memory 16MB RAM, CPU single-core SH-4, no operating system. Provides garbage collection, goroutines, channels, and the core runtime functions.
Prerequisites: Go 1.25.3+, make, and git must be installed.
go install github.com/drpaneas/godc@latest
godc setup
godc doctor # to check (optional)Note: The
godcCLI tool is a separate project that handles toolchain setup and builds.
Create and run a project:
mkdir myproject && cd myproject godc init # write you main.go and other *.go files godc build godc run
See the Quick Start Guide for your first program.
ð Full Documentation
- Installation â Setup and configuration
- Quick Start â First program walkthrough
- Design â Runtime architecture
- Effective Dreamcast Go â Best practices
- KOS Wrappers â Calling C from Go
- Limitations â What doesn't work
Measured on real hardware (SH-4 @ 200MHz):
| Operation | Time |
|---|---|
| Gosched yield | ~120 ns |
| Allocation | ~186 ns |
| Buffered channel | ~1.8 Ξs |
| Context switch | ~6.4 Ξs |
| Unbuffered channel | ~13 Ξs |
| Goroutine spawn | ~31 Ξs |
| GC pause | 72 Ξs - 6 ms |
The examples/ directory contains working programs:
helloâ Minimal program (debug output)hello_screenâ Hello World on screen using BIOS fontblue_screenâ Minimal graphicsinputâ Controller inputgoroutinesâ Concurrent bouncing ballschannelsâ Producer/consumer patterntimerâ Frame-rate independent animationbfontâ BIOS font renderingfilesystemâ Directory browservmuâ VMU LCD and buzzerbrkoutâ Breakout clone (GPL v2, port of Jim Ursetto's original)pongâ Pong clone with 1P/2P mode, particle effects, and AI
BSD 3-Clause License. See LICENSE for details.



