logoalt Hacker News

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

124 pointsby zdwtoday at 3:39 PM29 commentsview on HN

Comments

rcarmotoday 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.

imoverclockedtoday 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!

show 2 replies
msephtontoday at 7:29 PM

So has this beaten MACE to the finish line? Or are the goals different? https://mace.home.blog

hyperhellotoday 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.

show 1 reply
londons_exploretoday 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...

show 1 reply
davidfstrtoday at 4:51 PM

Wine for classic Mac OS? Amazing. Well done.

show 1 reply
shermantanktoptoday at 5:11 PM

But will it run Dark Castle??

Many hours were wasted on that game.

show 2 replies
homarptoday at 4:28 PM

how does it compare to executor? https://en.wikipedia.org/wiki/Executor_(software)

Batbirdtoday 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.

show 1 reply
azinman2today 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.

show 1 reply
hagbard_ctoday 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.
show 3 replies