Extremely cool project!
Back in the day when this stuff was modern I didn't have many resources or people to talk to about it, so exploring what could have been is an interesting endeavor.
That's from back when the c++ standard was a rough suggestion. I had to use code warrior 10 for a project back in 2008ish (when standards compliance seemed to actually be picking up real steam across gcc/llvm/msvc) and it was painful how many things that were standard/supported across the other compilers that would break, we ended up basically falling back to closer to c with classes than anything that would resemble modern (at the time) c++.
Cross-compiling would be faster (than emulation or too-old hardware), but I have never heard it called "easy". There are a lot of projects out there that need special configuration, and many don't even support the HOSTCC variable, etc. And that's before considering the importance of system libraries.
Not knowing SDL feels like someone having no idea what C++ or Unreal Engine is. I am curious how you managed to avoid learning about SDL despite being on hacker news.
I'd also be really interested to know how SDL2 would fare by comparison. Would it be as fast on old hardware? It wasn't built with the assumptions of that old hardware in mind, so I would be very surprised if it performed as well.
helfire mentions Retro68; if you look at its README, you can get an idea of the scope of modifications required.
It wasn't anywhere near as simple as DOS game programming was so I think I just installed YellowDog and used that Mac as a webserver.
https://www.pangeasoft.net/book/buy.html
Edit: I just opened that PDF and I think that's a newer version or I remembered the book wrong.
I have heard stories of people in 2025 creating a fat macOS binary containing arm64, x86_64, x86, and ppc slices.
I hope that we can get virtualization of x86_64 macOS on arm64 hosts. It would be really cool to be able to do such a thing solely on a modern machine!
"Mac OS 9" or "OS9" does, however, exist.
Having done some testing for the PPC version of ScummVM on 10.4 I can say that it won't run many of the more modern games because none of those machines supported shaders on the GPU, which many of the more modern ScummVM supported games like Thimbleweed Park depend on. A software shader implementation could be added in theory if someone had the gumption to build it but it would most likely be unusably slow on those older machines.
The recently released SDL3 is hot shit today, BTW: https://wiki.libsdl.org/SDL3/FrontPage
I actually have interest in game programming, too. So I don't know.
I am sure I'll encounter it 10 times this week now, good old Baeder-Meinhoff
I thought it was an actual game for a good chunk of time.
I've literally never even heard the term SDL before this. I would say that it's nowhere near the same class of ubiquity as the other two examples you gave.
- Chatbot: https://github.com/yocontra/macintosh-ai/
- Game: https://github.com/yocontra/maccraft (Doesn't work very well atm, making a game run well on a macintosh plus is hard!)
I wasn't even alive when these computers were out but enjoying coding for them - something to be said about the simple interfaces (both in C and UI) and challenge of making things work with the constraints of the hardware.
Retro68 community has some really neat stuff like MacHTTP (https://github.com/antscode/MacHTTP) as well so you can offload some work to services (assuming you buy one of the many SCSI Wifi thingys).
https://steamdb.info/tech/SDK/SDL/
Though to be fair it kind of makes sense that you would have never used SDL yourself. It you never go that far down the stack and do stuff like write your own game engine and the like, you wouldn't really need to know it. I guess I am more aware of software dependencies as a Linux user? That is my only explanation or maybe you are really just one of those lucky 10000.
Granted that is trivially true because Unreal Engine itself and many, many other engines use SDL internally but still. So yeah, is is way MORE ubiquitous than Unreal Engine.
I guess there is just less awareness because SDL is a lower level detail that most people don't really need to care about. It just works and powers a huge chunk of our games and software.
Nothing wrong with not knowing about it, it is just interesting to me that even in tech spaces some people are not aware of SDL. I am sure there is a lot of things I don't know either.
---
Kudos.
https://wiki.qemu.org/Documentation/Platforms/m68k#Running_M...