David Cook
Well-known member
System 6.0.8L is a limited release from Apple that was primarily intended for the Classic II and PowerBook 100, but also supported the Classic, LC, and LC II. The "L" stands for "limited".
I'm working on restoring a PowerBook 100. While I waited for parts to arrive, I wondered whether the "limited" set of computers was artificial. Booting 6.0.8L on a Macintosh IIci displays this message:
Using Resourcerer, I found this text within the System file. Specifically, DSAT (Deep Shit Alert Table -- not my fault -- that is it's actual name) resource ID 0, definition ID -20103.
Given that, and given that the appearance of the error message is similar to other crashes at startup, this means it is drawn by the SysError trap call.
I added MacsBug 6.2.2 into the System Folder. In the MacsBug preferences file, I added a new mxbm resource named "FirstTime" with the macro name "FirstTime" and the text "atb _SysErr". This causes MacsBug to break on the SysErr trap starting from when MacsBug is first loaded.
Upon breaking, I used the IP command to see a listing of the nearby instructions which I then searched for using Resourcerer. As you can see below, the code checks global variable $0CB3 for values <= 50 ($32) and for individual values of 4, 11, 13, and 17. If any of those tests fail, it calls SysError with code 102 ($66). An educated guess is that values one hundred and higher are negated and added to -20001 which would equal -20103 which is the string we found earlier.
The numbers 4, 11, 13, and 17 are not the gestalt values of the machines. Instead, the Apple engineers used a cruder method of checking the global BoxFlag ($0CB3). However, this still leaves some interesting mysteries. It isn't checking for boxPowerBook100 (18) which is supported, but is checking for boxPortable (4) which is not officially supported by 6.0.8L according to Apple. It appears that the PowerBook 100 is seen as the portable in System 6.0.8L, as it's base hardware is so similar. It isn't checking for an boxMacLCII (31) which is supported, but is checking for boxMacLC (which is supported). Again, because the hardware is so similar between these machines, it seems like the LC and LC II are sharing the same ID in the System 6.0.8L codebase. In fact, this bug continues in System 7.0.1, where the Finder displays "LC" for the "LC II".
Notice that the code first checks to see if the values were less than or equal to 50 ($32). Given that all of these additional machines were released or in development in 1992 (around when 6.0.8L was released) it seems that the System 6 team figured they might eventually need to support most or all of them.
Anyway, back to the patch. We simply replace the SysError calls with NOPs (no operation). This ignores the boot checks.
And what do you know? System 6.0.8L on a Mac IIci! A quick test on the Mac SE shows it works as well.
Cool. But why would you want this?
I used ResCompare to compare the basic install (no networking or printers) of 6.0.8 to 6.0.8L. Here's what I found:
Identical Except for Version Resource
Backgrounder
Easy Access
Keyboard
Mouse
Scrapbook
Sound
Startup Device
Spelling Change Only ("Colour", "Grey")
Color
Finder
General
Added
Caps Lock
Substantive Changes
Brightness
Portable
DA Handler
Key Layout
Monitors
MultiFinder
System
Maybe the changes to DA Handler, MultiFinder, and System fixed bugs or improved the system beyond just supporting 5 new devices. It would make sense that the System 6 team was plugging along for nine months after System 7.0 was released, given that most users and software were initially System 6 dependent.
The second reason why you might want this is because it likely supports the PowerBook 140/145/145B/170 computers. Rather than regressing to a hacked version of the Japanese System 6.0.7, you can get what essentially would have been 6.0.9. Maybe. I don't have those machines to try it on. But, the 140 and 170 names were included in the System file.
The third reason is that it might support additional machines, but I doubt it. No luck on my Quadra 700 (ha! System 6 on a 68040) or my LC III. But, maybe.
Attached is my patched boot disk image made with Disk Copy 6.1.2. I've also patched the General controls to support dates up to 2040 and added Desktop Mgr to avoid System 7 disk rebuilds. I'll be interested to hear if anyone else is able to get this working on some additional machines or discovers additional fixes.
- David
I'm working on restoring a PowerBook 100. While I waited for parts to arrive, I wondered whether the "limited" set of computers was artificial. Booting 6.0.8L on a Macintosh IIci displays this message:
Using Resourcerer, I found this text within the System file. Specifically, DSAT (Deep Shit Alert Table -- not my fault -- that is it's actual name) resource ID 0, definition ID -20103.
Given that, and given that the appearance of the error message is similar to other crashes at startup, this means it is drawn by the SysError trap call.
I added MacsBug 6.2.2 into the System Folder. In the MacsBug preferences file, I added a new mxbm resource named "FirstTime" with the macro name "FirstTime" and the text "atb _SysErr". This causes MacsBug to break on the SysErr trap starting from when MacsBug is first loaded.
Upon breaking, I used the IP command to see a listing of the nearby instructions which I then searched for using Resourcerer. As you can see below, the code checks global variable $0CB3 for values <= 50 ($32) and for individual values of 4, 11, 13, and 17. If any of those tests fail, it calls SysError with code 102 ($66). An educated guess is that values one hundred and higher are negated and added to -20001 which would equal -20103 which is the string we found earlier.
The numbers 4, 11, 13, and 17 are not the gestalt values of the machines. Instead, the Apple engineers used a cruder method of checking the global BoxFlag ($0CB3). However, this still leaves some interesting mysteries. It isn't checking for boxPowerBook100 (18) which is supported, but is checking for boxPortable (4) which is not officially supported by 6.0.8L according to Apple. It appears that the PowerBook 100 is seen as the portable in System 6.0.8L, as it's base hardware is so similar. It isn't checking for an boxMacLCII (31) which is supported, but is checking for boxMacLC (which is supported). Again, because the hardware is so similar between these machines, it seems like the LC and LC II are sharing the same ID in the System 6.0.8L codebase. In fact, this bug continues in System 7.0.1, where the Finder displays "LC" for the "LC II".
Notice that the code first checks to see if the values were less than or equal to 50 ($32). Given that all of these additional machines were released or in development in 1992 (around when 6.0.8L was released) it seems that the System 6 team figured they might eventually need to support most or all of them.
Anyway, back to the patch. We simply replace the SysError calls with NOPs (no operation). This ignores the boot checks.
And what do you know? System 6.0.8L on a Mac IIci! A quick test on the Mac SE shows it works as well.
Cool. But why would you want this?
I used ResCompare to compare the basic install (no networking or printers) of 6.0.8 to 6.0.8L. Here's what I found:
Identical Except for Version Resource
Backgrounder
Easy Access
Keyboard
Mouse
Scrapbook
Sound
Startup Device
Spelling Change Only ("Colour", "Grey")
Color
Finder
General
Added
Caps Lock
Substantive Changes
Brightness
Portable
DA Handler
Key Layout
Monitors
MultiFinder
System
Maybe the changes to DA Handler, MultiFinder, and System fixed bugs or improved the system beyond just supporting 5 new devices. It would make sense that the System 6 team was plugging along for nine months after System 7.0 was released, given that most users and software were initially System 6 dependent.
The second reason why you might want this is because it likely supports the PowerBook 140/145/145B/170 computers. Rather than regressing to a hacked version of the Japanese System 6.0.7, you can get what essentially would have been 6.0.9. Maybe. I don't have those machines to try it on. But, the 140 and 170 names were included in the System file.
The third reason is that it might support additional machines, but I doubt it. No luck on my Quadra 700 (ha! System 6 on a 68040) or my LC III. But, maybe.
Attached is my patched boot disk image made with Disk Copy 6.1.2. I've also patched the General controls to support dates up to 2040 and added Desktop Mgr to avoid System 7 disk rebuilds. I'll be interested to hear if anyone else is able to get this working on some additional machines or discovers additional fixes.
- David