Devious Malcontent

 Blog Blog RSS

Classic MacOS development

Thursday 25th January 2024

Nonsensical, but, part of my game developer journey, and just to become a better programmer in general through experience.

And a growing desire to support multiple systems that increase complexity and scope creep.

But -

I have been investigating Classic MacOS development through the use of Infinite Mac and SheepShaver via a remote type one hypervisor system (an old workstation in the cupboard running Linux KVM, QEMU, among other things...) with resources from the YouTube channel 1Bit Fever Dreams and the TinkerDifferent forums, to help get me started and my head around the file system and other OS nuances.

What I learnt -

Classic MacOS doesn't have a terminal or command prompt app, and some of its conventions are just weird, less so now with MacOS X onwards, because of "UNIX under the hood", and I've grown some appreciation for what the acquisition of NeXTSTEP did to further the OS's development.

It's not a serviceable OS up until about System 7.0 (7.5-ish), but its quirky none the less.

Things make sense in prospective, and I love reading Carmack's developer prospective of MacOS from around the release of quake 2 (in 1997) and his thoughts on rhapsody

It gave me a new prospective on it. - It's been quite the rabbit hole to go down.

I regret giving away my Power Mac G5, but at least it when to a good home, and I didn't have space for it at the time, it occupied a weird place in the timeline where it could run the classic Mac OS apps through the use of fat binaries.

I found development on the current version of MacOS X to be a lot easier because "UNIX under the hood", and I was able to get up and running pretty quickly using the 'as' assembler found in binutils.

My curiosities to investigate -

I wonder how much code my M1 MacBook can share with my Raspberry PI, given that they both use the ARM architecture?

I wonder if it still possible to compile a Universal binary with 68k support?

That concludes this post.

Completely unrelated, but my endeavours this week have revolved around an implementation of RFC 1867 (multipart/form-data Upload) in C via common gateway interface (CGI) in Apache HTTP server, on a windows-based platform.

And I ported my first application in assembler to 64-bit on Windows.

This concludes my nonsensical rambling. 🙃


Update, July 2024:

Donated Macintosh SE

I no longer have to rely on emulators to satisfy my macintosh dev desire, I now have access to the real thing.

This was a parting gift from a colleague who recently retired.


Home | Blog Index | RSS