Advanced Mac Substitute is an API-level reimplementation of 1980s-era Mac OS

138 points - today at 3:39 PM

Source

Comments

rcarmo today at 7:32 PM
This is pretty neat. I have been spending the past few months adding an ARM64 JIT to Basilisk II (https://github.com/rcarmo/macemu) and totally appreciate what's involved (I'm currently stuck patching a Quadra ROM to bypass NuBus hardware detection...)

Will definitely give it a try, since I would _love_ to have a Classic Mac environment with some modern creature comforts (like file sharing) in tiny machines.

londons_explore today at 6:48 PM
I am amazed that 1980's software works on binary API compatibility rather than relying on API quirks like timing, memory alignment quirks, memory layout from specific allocator behaviour, etc.

It only takes one unintentional reliance on an implementation detail to make an application not run on another OS implementation...

imoverclocked today at 5:27 PM
I can't imagine how fast this is compared to the original hardware that ran it. I remember using a Mac 512k with a single floppy drive (no hard drive support) and doing the insert-floppy-dance. Computers were far more mechanical then.

It would be fun to have a "slow it down" feature that also has the various floppy read/write noises paired with it. Bonus points for different generations of hardware and having the OG HD noises to pair with those too!

andai today at 8:16 PM
Very cool. If it's built on SDL2, it should be straightforward to make it run in the browser via Emscripten, right?
msephton today at 7:29 PM
So has this beaten MACE to the finish line? Or are the goals different? https://mace.home.blog
hyperhello today at 5:17 PM
I'd like to see something like Carbon for old apps so that they boot in modern window frames (without the missing Tahoe corners) and can save to files.
davidfstr today at 4:51 PM
Wine for classic Mac OS? Amazing. Well done.
shermantanktop today at 5:11 PM
But will it run Dark Castle??

Many hours were wasted on that game.

homarp today at 4:28 PM
how does it compare to executor? https://en.wikipedia.org/wiki/Executor_(software)
Batbird today at 5:27 PM
This triggered flashbacks. I'm not sure if I'm remembering correctly, but I think we sometimes also used used Pascal, and it was optional for some toolboxes. It's been a long time though so I could be mistaken. That might have been pre-Mac? But good times, though. Boy, is the world a different place.
azinman2 today at 4:25 PM
This is quite the feat. I’d love to know more about the process to make this, the motivation, how much time was spent, etc.
homarp today at 4:30 PM
hagbard_c today at 5:21 PM

   make ams-vnc
   ./build.pl -i exhibit graft skif minivx xv68k freemountd listen vnc-interact

   ...

   Daemon starting up... done.
   T=0.037s  ERROR:    OpenDF is unimplemented

Hm, doesn't seem to work. Let's try the X11 version:

   make ams-x11
   ./build.pl -i exhibit graft skif minivx xv68k freemountd interact-x11

   ...

   T=0.275s  ERROR:    OpenDF is unimplemented
Nope, it seems to be missing something. OpenDF? All I find is this: https://github.com/PrjEnt/OpenDF, a long-abandoned project which seems to be a more compact version of another abandoned thing.