Just to provide an example for this post, I put together a trivial drawing app called BitPaint. It isn’t very interesting, but it should illustrate a few things:
- What’s involved in bringing a trivial classic Mac app to Carbon
- How the Classic Mac OS build process works
- How much source compatibility exists between 1984’s Toolbox and Carbon today
The answer to the third question is surprising: a lot. In fact, Steven managed to build an application that runs on every version of Mac OS/OS X, all the way from System 1.0 to today’s OS X 10.10 Yosemite. I’ve been following Steven’s progress (and by following I mean ‘looked at pretty screenshots’ because I don’t understand the developer stuff), and it’s quite incredible to see a single codebase run on such a long string of Mac OS/OS X releases.
A crucial aspect in this whole endeavour has been mpw, “an m68k binary translator/emulator whose sole purpose is to try and emulate enough of Classic Mac OS to run MPW‘s [note the caps!] own tools directly on OS X”.
I am incredibly psyched about mpw. Its developer, ksherlock, has been very responsive to everything I’ve come up against as I stress test it against various tools and projects.
Right now it’s a fully usable tool that makes Classic Mac OS compilation possible and easy to do on modern versions of OS X, without requiring emulators or ancient IDEs or the like. To my knowledge, this is the first time this has been possible (excluding legacy versions of CodeWarrior).
This entire post is a must-read.