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 runSee the Quick Start Guide for your first program.
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.



