This page was archived in 2023 as part of the Mac Hut archive and is no longer updated.

Most of the site pages were last updated around 2006 and some information may be out of date. Various software download links are broken but we are working to fix these.

Become a patron: Support our efforts by contributing a small amount each month to cover our hosting costs and the time it takes to archive these pages properly. Thank you.


Modern Development For

(But Not Necessarily Under) System 6

- by Will Flor

Although development under System 6 is difficult (not because of any limitations of System 6, but because it's hard to find development systems today that are compatible with it), it's not necessary to develop under System 6 to make System-6-compatible ("6-enabled") applications. In fact, it's possible to make applications, desk accessories, FKEYs and any other fun 6-enabled software component you'd like using development systems that are free for the taking, under any System through 9.x (maybe even X ­ I don't know about that, though.)
There are two potential issues that may make it impossible to create 6-enabled software with a given development system. First, the system must be capable of generating "classic 68K applications". Most still can do this, but not necessarily all. Second, the runtime library support must itself be 6-enabled, which need not be the case. Since making 6-enabled software is probably not a big selling point for folks who write compiler libraries, this is also a potential stumbling block.
The "big three" packages for development on the Mac today are Metrowerks CodeWarrior, Symantec C++ and Macintosh Programmer's Workshop (MPW). I don't know if making 6-enabled applications is possible under CodeWarrior or Symantec (I have recent versions of each, so figuring this out is on my to-do list, which unfortunately is a very long list. I do know however that there is a Codewarrior plug-in called FATCarbon that claims that it allows you to develop software that runs on anything from system 6 to OS X (Carbon)) However, it's definitely possible with MPW.
The current version of MPW is available free from Apple but be forewarned - it's a big download. It will run on any Mac from the most modern back to the Mac II, and requires System 7.5 or later. (There is some speculation that adding certain add-ons to System 7.1 will let one use the current MPW with that System ­ this is also on my ever-lengthening to-do list.)
To create 6-enabled software, the most crucial thing that the programmer must do is to only use system calls that are supported under System 6. It's not too hard to ensure that you're limiting yourself to these calls, as the old-style Apple documentation Inside Macintosh describes how to program for Macintosh, and predates System 7.
Inside Macintosh has been through several revisions, and today exists solely in electronic format, downloadable from Apple. Originally it was a set of books extensively documenting the Macintosh Application Programming Interface (API), including both OS calls like File Manager and ROM Toolbox calls like the Window Manager. The first three volumes were released soon after the release of the original Macintosh, and documented the ROM calls for the Macintosh 128k and 512k. Later Apple released Inside Macintosh Volume IV, which covered new routines available in the 512ke and Plus ROM, and still later Inside Macintosh Volume V, covering additional information for programming the SE and Mac II. Any and all of the information included in these first five volumes applies to System 6, as these volumes were all released years before System 7 ­ in fact, System 2 was the most advanced when Volume V was released.
Later Apple released Volume VI, which covered System-7-specific items (and was almost as thick as the first five put together), and even later they reorganized Inside Macintosh into a series of books, each covering a specific topic like networking or the file system. By this time Apple's support for System 6 was fading fast, and these later Inside Macintosh books are not very useful for making 6-enabled software.

return to System 6 Development main page

return to System 6 Heaven start page