"CarbonLib" implies Mac OS 9 (or 8) — it's the classic Mac OS implementation of the Carbon API. The OS X implementation is Carbon.framework (or more precisely, various frameworks under its umbrella).…
It's totally fair to disagree about whether Mac OS 9 meets the stated requirements. I just don't think it's reasonable to assert that GGGP (who may have made unwarranted claims about OS 9) was actually confusing OS 9…
What do you find lacking in the emulators? I don't mean to suggest that they leave no room for improvement — I'm asking how to improve them. My own emulator (Advanced Mac Substitute) can run Spectre Challenger, by the…
NewPtr() and Delay() date back to System 1.0, and they're still present in macOS 14, at least. UI-level Carbon is gone, but various low-level APIs persist.
> At this point, they could likely decompile MacOS classic and rework it to give it modern memory protection, virtual memory, preemptive multitasking, and networking. You'd lose compatibility with the applications,…
> You are describing attributes of the NeXT-based OS X but calling it MacOS 9. You're mistaken. > MacOS 9 [had] no preemption Classic Mac OS has had vertical retrace (VBL) interrupts since System 1.0 (which are a form…
One of my elementary school classmates brought printouts of Escher's Waterfall to share. I accepted one, took it home, and taped it to my bedroom wall. My father saw it and loaned me his copy of Gödel, Escher, Bach. At…
In my 68K Mac emulator running on modern (or even decade-old) hardware, performance in the traditional sense is less of a concern, but other issues arise. The big ones include CPU-burning loops that wait for a length of…
I knew of Executor, but never saw it in action. Winning back performance lost to emulation was critical when competing with contemporary real hardware, and kudos to ctm and ARDI for their clever solution. Decades later,…
A Mac 512K of sorts was already built before the Macintosh introduction at the 1984 shareholders meeting — the demo wouldn't run in 128K of RAM.
Funny you should bring up MacRelix — the very first front end for Advanced Mac Substitute was built in it.
The latter. There's only one heavy drinker in Dark Castle, and it's not the hero. ;-)
It's not you; it's me. My implementation of LoadScrap() (which is called at startup) is calling FSOpen(), and it turns out the glue code for that tries OpenDF() before falling back to PBOpen(). TIL. The call is coming…
You want to talk trap patches? Your Mac's INITs have minimal trap patches, touch the Toolbox in boring places like SysBeep() and GetNextEvent(). The Developator's Mac has big, tricky INITs with trap patches that hook…
A Genesis has to start somewhere. ;-)
Oh wow. Once I saw the smiling machine and empty progress bar, I went straight to NoScript and enabled your domain without a moment's hesitation — highly unusual for me. It's charming! I laughed out loud when I saw your…
My earliest recollection of what motivated me is a desire to resurrect The Fool's Errand. The irony is not lost on me. :-)
Advanced Mac Substitute uses a factored approach. 68K emulation happens in the back end, which is a collection of processes connected by Unix-domain sockets, portable to basically any POSIX system. The front end deals…
Advanced Mac Substitute stores documents and preference files in sandboxed host directories. For example, check out the MacPaint demo: https://www.v68k.org/advanced-mac-substitute/demo/MacPaint-A... If you were to…
Correction: 68K Mac OS calls were A-line traps — in other words, they had opcodes of the form `$Axxx`. To the processor, they're unimplemented instructions that each take an exception through the same vector. The…
Any interaction with the Welcome application terminates it. Try setting AMS_APPNAME=Tic-tac-toe in the environment, or AMS_APPNAME="Nyanochrome Cat".
Ah, yes, the two front ends I haven't touched in years. This should be fun. :-) You clipped the part that said "Starting VNC server on 127.0.0.1:5900". Did you try connecting a VNC client?
The FSSpec calls added in System 7 are mostly new interfaces to existing File Manager functionality. There's an actual high-level `OpenDF()` call, which is like `FSOpen()` except that it won't try to open a driver when…
Implementing fork() without address translation is possible — it's just expensive. In MacRelix (a POSIX-like environment for classic Mac OS), when a process calls fork(), the system allocates backup memory regions for…
Rhapsody DR2 is not a solution for classic Mac OS on x86. Lunduke writes: "Unfortunately [the Blue Box] was only available on PowerPC versions of Rhapsody" Another option is Advanced Mac Substitute. It doesn't run…
"CarbonLib" implies Mac OS 9 (or 8) — it's the classic Mac OS implementation of the Carbon API. The OS X implementation is Carbon.framework (or more precisely, various frameworks under its umbrella).…
It's totally fair to disagree about whether Mac OS 9 meets the stated requirements. I just don't think it's reasonable to assert that GGGP (who may have made unwarranted claims about OS 9) was actually confusing OS 9…
What do you find lacking in the emulators? I don't mean to suggest that they leave no room for improvement — I'm asking how to improve them. My own emulator (Advanced Mac Substitute) can run Spectre Challenger, by the…
NewPtr() and Delay() date back to System 1.0, and they're still present in macOS 14, at least. UI-level Carbon is gone, but various low-level APIs persist.
> At this point, they could likely decompile MacOS classic and rework it to give it modern memory protection, virtual memory, preemptive multitasking, and networking. You'd lose compatibility with the applications,…
> You are describing attributes of the NeXT-based OS X but calling it MacOS 9. You're mistaken. > MacOS 9 [had] no preemption Classic Mac OS has had vertical retrace (VBL) interrupts since System 1.0 (which are a form…
One of my elementary school classmates brought printouts of Escher's Waterfall to share. I accepted one, took it home, and taped it to my bedroom wall. My father saw it and loaned me his copy of Gödel, Escher, Bach. At…
In my 68K Mac emulator running on modern (or even decade-old) hardware, performance in the traditional sense is less of a concern, but other issues arise. The big ones include CPU-burning loops that wait for a length of…
I knew of Executor, but never saw it in action. Winning back performance lost to emulation was critical when competing with contemporary real hardware, and kudos to ctm and ARDI for their clever solution. Decades later,…
A Mac 512K of sorts was already built before the Macintosh introduction at the 1984 shareholders meeting — the demo wouldn't run in 128K of RAM.
Funny you should bring up MacRelix — the very first front end for Advanced Mac Substitute was built in it.
The latter. There's only one heavy drinker in Dark Castle, and it's not the hero. ;-)
It's not you; it's me. My implementation of LoadScrap() (which is called at startup) is calling FSOpen(), and it turns out the glue code for that tries OpenDF() before falling back to PBOpen(). TIL. The call is coming…
You want to talk trap patches? Your Mac's INITs have minimal trap patches, touch the Toolbox in boring places like SysBeep() and GetNextEvent(). The Developator's Mac has big, tricky INITs with trap patches that hook…
A Genesis has to start somewhere. ;-)
Oh wow. Once I saw the smiling machine and empty progress bar, I went straight to NoScript and enabled your domain without a moment's hesitation — highly unusual for me. It's charming! I laughed out loud when I saw your…
My earliest recollection of what motivated me is a desire to resurrect The Fool's Errand. The irony is not lost on me. :-)
Advanced Mac Substitute uses a factored approach. 68K emulation happens in the back end, which is a collection of processes connected by Unix-domain sockets, portable to basically any POSIX system. The front end deals…
Advanced Mac Substitute stores documents and preference files in sandboxed host directories. For example, check out the MacPaint demo: https://www.v68k.org/advanced-mac-substitute/demo/MacPaint-A... If you were to…
Correction: 68K Mac OS calls were A-line traps — in other words, they had opcodes of the form `$Axxx`. To the processor, they're unimplemented instructions that each take an exception through the same vector. The…
Any interaction with the Welcome application terminates it. Try setting AMS_APPNAME=Tic-tac-toe in the environment, or AMS_APPNAME="Nyanochrome Cat".
Ah, yes, the two front ends I haven't touched in years. This should be fun. :-) You clipped the part that said "Starting VNC server on 127.0.0.1:5900". Did you try connecting a VNC client?
The FSSpec calls added in System 7 are mostly new interfaces to existing File Manager functionality. There's an actual high-level `OpenDF()` call, which is like `FSOpen()` except that it won't try to open a driver when…
Implementing fork() without address translation is possible — it's just expensive. In MacRelix (a POSIX-like environment for classic Mac OS), when a process calls fork(), the system allocates backup memory regions for…
Rhapsody DR2 is not a solution for classic Mac OS on x86. Lunduke writes: "Unfortunately [the Blue Box] was only available on PowerPC versions of Rhapsody" Another option is Advanced Mac Substitute. It doesn't run…