frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Libgodc: Write Go Programs for Sega Dreamcast

https://github.com/drpaneas/libgodc
76•drpaneas•2h ago

Comments

drpaneas•2h ago
I built a Go runtime that runs on the Sega Dreamcast, the 1999 console with 16MB RAM and a 200MHz SH4 CPU.

You can write games in Go with goroutines, channels, garbage collection, and all the language features you'd expect. It compiles using gccgo and runs on real hardware or emulators.

The project includes 3 game examples Pong, Breakout and Platformer, input handling, audio support, and integrates with KallistiOS (the Dreamcast homebrew SDK).

* Star Here: https://github.com/drpaneas/godc * Documentation: https://drpaneas.github.io/libgodc/ * Video Tutorial: https://youtu.be/ahMl0fUvzVA

Happy to answer any questions about the implementation!

danhau•2h ago
I just wanted to say how impressive your documentation is. I expected an average readme.md, but not only is your readme great (the performance table is wonderful), but the full documentation is awesome. It pretty much answers all questions I had. Nice job! I wish all projects were like this.

I also dig the documentation / book styling.

drpaneas•16m ago
thanks @danhau, much appreciated, indeed documenting the process felt like another project of its own, so I am very happy to hear that :D
clktmr•1h ago
Hey panos! I only had a short look at this for now, and it looks impressive! I'll have to dust off my Dreamcast and get this running.

I looked at gccgo when porting the runtime to n64, but at the time it wasn't updated since go1.18. Can we use Go Generics on the Dreamcast? I see that gccgo is obviously needed to support SH4.

drpaneas•14m ago
Hey Timur, long time no see, I hope all is going well :) No, you cannot use generics, they are not yet supported by gccgo.
pjmlp•28m ago
This is kind of cool, kudos for the effort.
drpaneas•16m ago
you're very welcome :D Thanks!
phantasmish•2h ago
> Replaces the standard Go runtime with one designed for the Dreamcast's constraints: memory 16MB RAM, CPU single-core SH-4, no operating system.

24 total megabytes, with an M, of memory between system and video (another 8 there), single core 200mhz CPU, graphics chip runs at 100mhz. Shenmue runs on it.

Glares at Teams.

perching_aix•1h ago
Could implement a custom Teams client on top of that. My biggest concern would be TLS and media decoding, but could just proxy the traffic and roll a text only client.

I mucked about with Microsoft Graph a bit before, didn't seem too bad.

giancarlostoro•1h ago
It baffles me that Microsoft can build an entire OS, and build and rebuild GUI stacks, and they couldn't build the Teams UI using C#???
mfro•27m ago
If they built Teams with a C# UI framework, it'd have to be rebuilt 4 times by now.
gethly•50m ago
> CPU single-core

This does not fare well for Go though.

c2xlZXB5Cg1•25m ago
Paging Mythbusters
donatj•59m ago
The "Effective Dreamcast Go" docs on this are fantastically well written. I've read much worse docs from major corporations.
drpaneas•1m ago
Many thanks @dontaj much appreciated, indeed documenting the process felt like another project of its own, so I am very happy to hear that! The effective dreamcast Go was inspired from the old time classic https://go.dev/doc/effective_go :D
karel-3d•27m ago
I thought that gccgo supports only some old go version? Or subset of features? I will need to refresh my memory for sure
drpaneas•3m ago
I am using sh-elf-gccgo (GCC) 15.1.0 which is ok-ish I guess. But in general gccgo tries to be close to Go, but they do not implement all the features. e.g. generics are still missing for example.
AdmiralAsshat•26m ago
> Who is this for? > ... > Anyone who enjoys the challenge of severe constraints

Remembering what a powerhouse the Dreamcast was when it came out, and how amazing games like Soul Caliber and Shenmue looked, it's hard to think of the Dreamcast hardware as "severely contained".

drpaneas•12m ago
yeah, been there, nostalgia hits hard. Dreamcast was a beast of its era, it even had Ethernet! Even the VMU was something extraordinary! Too bad SEGA had to cancel it :(
rpastuszak•17m ago
I love this. The documentation is great and I've even learned a thing or two about golang from it! The logo makes me want to port Icy Tower to DC.
drpaneas•14m ago
thanks @rpastuszak, much appreciated :D
Imustaskforhelp•1m ago
If someone is interested in running golang projects on niche hardware perhaps, one pro tip I can suggest but there is way to convert golang 100% into wasm (no js shim or anything required) and the only thing you would need is a wasm library

You have to use https://stackoverflow.com/questions/76087007/golang-to-wasm-...

# Source - https://stackoverflow.com/a # Posted by TachyonicBytes, modified by community. See post 'Timeline' for change history # Retrieved 2025-12-29, License - CC BY-SA 4.0

go install golang.org/dl/gotip@latest gotip download GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm

I tried to do it and I can tell you that it works and it works for even the most latest versions of golang, all you need is a wasmengine which I suppose can be ubiquitous.

What an unprocessed photo looks like

https://maurycyz.com/misc/raw_photo/
1992•zdw•17h ago•330 comments

Kidnapped by Deutsche Bahn

https://www.theocharis.dev/blog/kidnapped-by-deutsche-bahn/
506•JeremyTheo•4h ago•513 comments

Libgodc: Write Go Programs for Sega Dreamcast

https://github.com/drpaneas/libgodc
76•drpaneas•2h ago•22 comments

Show HN: Vibe coding a bookshelf with Claude Code

https://balajmarius.com/writings/vibe-coding-a-bookshelf-with-claude-code/
162•balajmarius•3h ago•114 comments

Show HN: Z80-μLM, a 'Conversational AI' That Fits in 40KB

https://github.com/HarryR/z80ai
340•quesomaster9000•10h ago•77 comments

You can make up HTML tags

https://maurycyz.com/misc/make-up-tags/
420•todsacerdoti•13h ago•145 comments

Static Allocation with Zig

https://nickmonad.blog/2025/static-allocation-with-zig-kv/
3•todsacerdoti•19m ago•1 comments

Feynman's Hughes Lectures: 950 pages of notes

https://thehugheslectures.info/the-lectures/
99•gnubison•5h ago•16 comments

Golfing Is Not Rowing

https://taylor.town/golf-vs-rowing
38•surprisetalk•4d ago•26 comments

Show HN: See what readers who loved your favorite book/author also loved to read

https://shepherd.com/bboy/2025
47•bwb•4h ago•10 comments

UK accounting body to halt remote exams amid AI cheating

https://www.theguardian.com/business/2025/dec/29/uk-accounting-remote-exams-ai-cheating-acca
92•beardyw•3h ago•65 comments

Linux DAW: Help Linux musicians to quickly and easily find the tools they need

https://linuxdaw.org/
30•prmoustache•4h ago•9 comments

You can't design software you don't work on

https://www.seangoedecke.com/you-cant-design-software-you-dont-work-on/
76•saikatsg•8h ago•16 comments

Huge Binaries

https://fzakaria.com/2025/12/28/huge-binaries
147•todsacerdoti•10h ago•52 comments

Developing a Beautiful and Performant Block Editor in Qt C++ and QML

https://rubymamistvalove.com/block-editor
105•michaelsbradley•2d ago•40 comments

Kubernetes egress control with squid proxy

https://interlaye.red/kubernetes_002degress_002dsquid.html
46•fsmunoz•4h ago•25 comments

The Cost of Allocation Errors

https://varietyiq.com/blog/misallocation
5•efavdb•1w ago•0 comments

My First Meshtastic Network

https://rickcarlino.com/notes/electronics/my-first-meshtastic-network.html
114•rickcarlino•11h ago•49 comments

Unity's Mono problem: Why your C# code runs slower than it should

https://marekfiser.com/blog/mono-vs-dot-net-in-unity/
239•iliketrains•18h ago•130 comments

As AI gobbles up chips, prices for devices may rise

https://www.npr.org/2025/12/28/nx-s1-5656190/ai-chips-memory-prices-ram
242•geox•17h ago•361 comments

Software engineers should be a little bit cynical

https://www.seangoedecke.com/a-little-bit-cynical/
249•zdw•18h ago•173 comments

Show HN: Spacelist, a TUI for Aerospace window manager

https://github.com/magicmark/spacelist
8•markl42•2d ago•4 comments

Show HN: My not-for-profit search engine with no ads, no AI, & all DDG bangs

https://nilch.org
136•UnmappedStack•11h ago•61 comments

Researchers discover molecular difference in autistic brains

https://medicine.yale.edu/news-article/molecular-difference-in-autistic-brains/
174•amichail•18h ago•97 comments

MongoBleed Explained Simply

https://bigdata.2minutestreaming.com/p/mongobleed-explained-simply
228•todsacerdoti•19h ago•101 comments

PySDR: A Guide to SDR and DSP Using Python

https://pysdr.org/content/intro.html
207•kklisura•20h ago•11 comments

I switched to eSIM in 2025, and I am full of regret

https://arstechnica.com/gadgets/2025/12/i-switched-to-esim-in-2025-and-i-am-full-of-regret/
11•Brajeshwar•56m ago•5 comments

Staying ahead of censors in 2025

https://forum.torproject.org/t/staying-ahead-of-censors-in-2025-what-weve-learned-from-fighting-c...
197•ggeorgovassilis•10h ago•216 comments

Fast GPU Interconnect over Radio

https://spectrum.ieee.org/rf-over-fiber
55•montroser•12h ago•7 comments

Spherical Cow

https://lib.rs/crates/spherical-cow
119•Natfan•17h ago•16 comments