I’m the author. This is an experiment of mine in figuring out how to let Mac OS 9 connect to modern network services and environments.
Since Mac OS 9 doesn’t have out-of-the-box support for modern secure networking protocols, you often have to go through a proxy, which is pretty painful. I wanted to make it possible for an old Mac to connect to modern web services on its own.
There are also two related projects for connecting to Bluesky and Mastodon:
Those also add emoji text rendering, since emoji have become such an important part of modern internet culture. Mac OS 9 does support some early Unicode, but it is, after all, nearly 30-year-old software, so that support is naturally incomplete.
The main reason I chose Mac OS 9 is that these modern services are actually fairly demanding for old machines: parsing JSON instead of a more compact binary format, handling generally large images, doing cryptographic computations, and so on. I think 68k machines would probably struggle too much. If the goal is to run independently without relying on a proxy, you really need something with relatively modern specs.
BTW, I haven’t actually run this on real hardware either. I used QEMU during development. I do have an iBook G4 signed by Woz, but it stopped booting a few years ago.
For the time when OS 9 was relevant that would have been a RAM hog. My iBook (first generation) had 32 MB RAM on board (plus an upgrade slot, how refreshing).
Sure, that wasn't top of the line, but it would definitely restrict your ability to multi task with other programs at the same time. My memory is that many programs used far less than that, allowing you to easily have 5-7 programs open (I had a RAM upgrade for a total of 64 MB).
Maybe because those programs were not doing anything as graphically intensive as this. Or perhaps this programs caches more. When OS 9 was relevant were there any programs with comparable capabilities? Such statements are meaningless unless you have insight into how much memory this task should take (and even that is highly variable depending on how one wants to trade-off CPU vs memory usage). Only then can you determine the difference between a “RAM hog” and your computer being too small.
Wow. As a comparison, I just opened a new Google Maps tab in Chrome.
According to the Chrome Task Manager, the tab alone uses 433mb RAM and 34mb GPU memory footprint after first load.
Florb (an FLTK based map viewer similar to Dillo in specs) would use almost the same RAM as native Mac OS 9 software. And yet people say "JS software it's far better". Even a TCL/TK based viewer with TCCLib/TKLib it's far lighter.
JS is easier to develop, easier to deploy cross-platform, and, more importantly from a business perspective, easier to hire for. So it makes complete sense to use JS in the commercial world.
I have a hobby business doing something very similar, except I focus on a specific model—pretty much the most power efficient PowerPC desktop Mac you can get that can still run Mac OS 9, the Mac mini G4. It's at https://os9.shop
This is really cool, time to dust off an old PowerPC. I've been thinking about building apps for old Mac OS versions for a while with the advent of LLMs, glad to see someone is doing it.
This got me wondering if vibecoding might bring with it a newfound interest in developing apps for vintage computers. Are the LLMs that most people use trained as well on these older coding languages / platforms as they are on modern ones?
LLMs are surprisingly good at dealing with ancient APIs, even terrifying things like VBScript and ActiveX in IE5 (usually with a condescending disclaimer at the end of the response). With a manual on hand to double check it can be helpful sometimes. Gemini (only one I really tried) is very knowledgeable about DirectX 5.
I don't like the idea of vibecoding esoteric stuff though. I feel it kind of ruins the magic of these things when you have Claude bang it out in an afternoon, especially if your project idea is more art than anything. There have been a few vibecoded weird doom ports posted on here before, obviously its just how i feel but it seems like a wasted opportunity.
Would love to see the source code for this and the underlying details like Classic or Carbon, and the libraries mentioned on Tinker Different for TLS, HTTP/2, and Unicode
I have a 2003 iBook sitting in one of my boxes, but I still haven’t had time to reinstall Mac OS 9. I tried with some CDs, but so far I haven’t been able to reset the volume, and Tiger loads automatically. I want to go back and keep using one of the most beautiful OSes Apple ever made.
Great work developing for OS9 still. I had taken started developing in Think C for a few months as a fun side project to work , and it still has some interesting ideas for development. Plenty of communities for this nowadays still.
Shameless plug : I'm working on https://cartes.app, a Web OpenStreetMap app.
Far less difficult as coding for an old OS obviously, but still a challenge !
The Web has plenty of potential, but constraints too, mostly because of dominant actors, such as Apple that hid the PWA install button... Or Firefox not having any install banner, whereas chrome does.
Can't post it yet as a proper subject, it can't handle top page load.
Currently my "big" native 9.2.2 system is a MDD G4 with a Sonnet 1.8GHz dual 7447A upgrade, 2GB RAM (1.5GB useable in OS 9) and an ATI Radeon 9000 Pro. I'm sure there's a config more extreme than that out there. It is a pleasure to use even though it's one of the windtunnel systems.
And, unofficially, MacOS9Lives can boot directly to OS 9 on FW800 PowerMacs, which have 1.42GHz processors with 2x the L3 cache. Officially, those machines only supported OS 9 via Classic.
I used it to install OS 9 on my G4 Mac mini, and, aside from an annoying bug where the USB mouse is completely unresponsive after booting 50% of the time, it works great.
My OS 9 battlestation is a G4 tower (Digital Audio) with a Sonnet dual 1.6GHz upgrade, 1.5GB RAM and a nvidia GeForce4 Ti which is one of the best OS 9 graphics cards available.
You can get a 1.67Ghz G4 Mac Mini on eBay with OS 9 preinstalled. It's wicked fast (especially with an IDE SSD adapter)
There's faster single thread accelerator cards that were made for a while by a guy on the 68kMLA forums, but that was many years ago. I think Action Retro on YouTube has one that broke 2Ghz
> You can get a 1.67Ghz G4 Mac Mini on eBay with OS 9 preinstalled. It's wicked fast (especially with an IDE SSD adapter)
The fastest Mac mini G4 topped out at 1.5 GHz, not 1.67. I'm the guy selling many of those Mac mini G4s upgraded with SSDs on eBay... just a hobby business. Also sell on my website at https://os9.shop where there's a FAQ where you can read more about it and why it's a good model/upgrade to buy or build yourself.
Probably an SE/30; vastly different internally than the original 68000 SE, more like a MacⅡx wearing a classic Mac shell. Great machine <3 https://en.wikipedia.org/wiki/Macintosh_SE/30
The cool thing isn't so much os9map (yes it's cool) , but the fact that the data wasn't locked behind some wall and they were able to do whatever they wanted with it. There are a lot of cool ideas out there that are thwarted because the data is just locked away behind something only a very limited web gui can access, and you are at the mercy of people who's greatest ideas are ways to make the most horrible money extracting experience they can.
All of my OS-9 development was done on the 68k port. Years before that (mid 1980's), I did a lot of bare metal MC6809 embedded development, but I never did any OS-9 stuff on 6809.
Wait but why isn’t it an Electron app? I thought visual apps like this required at least 1-2GB of RAM to run. How can it possibly only need 16MB?! Must be vaporware.
Since Mac OS 9 doesn’t have out-of-the-box support for modern secure networking protocols, you often have to go through a proxy, which is pretty painful. I wanted to make it possible for an old Mac to connect to modern web services on its own.
There are also two related projects for connecting to Bluesky and Mastodon:
https://yllan.org/software/PlatinumSky/ https://yllan.org/software/Palaeomastodon/
Those also add emoji text rendering, since emoji have become such an important part of modern internet culture. Mac OS 9 does support some early Unicode, but it is, after all, nearly 30-year-old software, so that support is naturally incomplete.
The main reason I chose Mac OS 9 is that these modern services are actually fairly demanding for old machines: parsing JSON instead of a more compact binary format, handling generally large images, doing cryptographic computations, and so on. I think 68k machines would probably struggle too much. If the goal is to run independently without relying on a proxy, you really need something with relatively modern specs.
BTW, I haven’t actually run this on real hardware either. I used QEMU during development. I do have an iBook G4 signed by Woz, but it stopped booting a few years ago.
I’d also like to thank bbenchoff’s MacSSL:
https://bbenchoff.com/pages/MacSSL.html
and cy384’s opentransport-mbedtls:
https://github.com/cy384/opentransport-mbedtls
Both were a big help.
reply