
Advanced Mac Substitute: API-level reimplementation of classic Mac OS - fanf2
https://www.v68k.org/advanced-mac-substitute/
======
jjuran
Hi, I'm the author of Advanced Mac Substitute. Proof:
<[https://github.com/jjuran>](https://github.com/jjuran>),
<[https://twitter.com/joshuajuran/status/1087557797200433153>](https://twitter.com/joshuajuran/status/1087557797200433153>)

It's nice to see such interest in my humble project. :-)

~~~
stevefan1999
Aren't you fearing of infringing Apple's IP since you have reimplemented their
API, or you haven't reverse engineered their API (incl. private & internal) so
it is actually a clean room design?

~~~
jjuran
I would be very afraid if Apple had been acquired by Sun in the 1990s, for
what should be obvious reasons.

But Apple has demonstrated zero interest even in going after ROM bootlegging —
I don't expect them to build a case against API reimplementation.

------
mgevans
Reminds me of ARDI Executor, which felt incredible in its day.

[https://en.m.wikipedia.org/wiki/Executor_(software)](https://en.m.wikipedia.org/wiki/Executor_\(software\))

~~~
nmdeadhead
Thank you for the compliment. I wrote the beginning of it (B&W graphics
(QuickDraw), filesystem, port to Sun3/60, port to NeXT), although people
smarter than I did some of the heavy lifting (port to DOS, port to Windows,
color graphics (QuickDraw), synthetic CPU.

~~~
bane
What an amazing project! It seems almost like a path to madness, trying to
reverse engineer the platform, but there were applications even very early on
that were mac only that were desirable on PCs.

~~~
RickSanchez2600
I tried to resell it at my PC Shop but could not get any buyers. 68K Macs sold
for $100 on eBay like the Mac SE.

------
kitsunesoba
It’s so good to see more movement in the realm of classic Mac compatibility!
Mac OS emulation/simulation has received astonishingly little attention given
the immense body of software that exists for the platform.

That said, while this is a great start, what would _really_ excite me is
something along the same lines with PPC support, OS 9.x API simulation, and
ideally proper FPU and GPU support. SheepShaver and QEMU are too incomplete
and hacky to run the majority of apps that interest me.

~~~
zapzupnz
Have you tried QEMU in the last 3 months? They've really ironed out a lot of
things, and you can now run Mac OS 9.2.2 with sound and networking. I run it
to play a few old games and open old ClarisWorks documents.

------
Blatwurst
Emulators are always cool. I've been a Mac guy since Day 1. I had a 128k Mac
and a Lisa. The Lisa was required for development, which I did in assembly and
Pascal. This is great to see.

Emulators seem usually to have a target app, or a few of them, that are no
longer available and are wanted, hence the impetus for the emulator. Game
console apps, of course, are motivated by this in spades, as many good games
are abandoned, and there's always a nostalgia factor.

I haven't seen such a clear such target app or set of apps mentioned for this
project yet. Is this just a nostalgia thing, or is there something this is
letting people run that can't be had otherwise? If so, I'm curious what the
top contenders are. Are there people dying to actually use Hypercard?

~~~
tedmiston
HyperCard

------
ArtWomb
Lovers of the 1-bit "dither-punk" aesthetic must give "Obra Dinn" a play.
Lucas Pope's dev diary on TIG forums is an epic, legendary document describing
the painstaking process of recreating the mood of classic MacOS gameplay ;)

[http://dukope.com/](http://dukope.com/)

~~~
cjsawyer
Not to mention that the game itself is a masterpiece.

------
simmons
That's great! Its use of a 680x0 emulator with a re-implementation of the Mac
OS API reminds me a bit of how DOSBox emulates an x86 but provides a host re-
implementation of BIOS and DOS APIs.

Is the name a reference to "advanced tea substitute" from the 1984
Hitchhiker's Guide to the Galaxy computer game?

~~~
jjuran
More so the novel, but yes — it's a reference to Hitchhiker's Guide to the
Galaxy, and to Douglas Adams' fondness for the Macintosh.

------
dddddaviddddd
Looks like work on this began at the latest in 2014, with regular work up to
the present. I'm not sure how it fits in with the author's other projects but
it seems like there's a lot of integration.

[https://github.com/jjuran/metamage_1/commits/master/v68k](https://github.com/jjuran/metamage_1/commits/master/v68k)

~~~
jjuran
Initial work on v68k itself began in 2011. Early on I added a limited system
call bridge so it could run command-line tools that produced diagnostics on
stdout. I reused the same infrastructure that built 68K tools (as code
resources) for MacRelix.

I was able to just skip over the trap calls in the Metrowerks runtime code for
very the simplest programs, but in 2012 I added a real trap dispatcher and
NewPtr/DisposePtr to implement malloc(). Virtual screen hardware and basic
rectangle drawing appeared in 2013. But yeah, 2014 is when things started to
get interesting.

Virtually all of my major projects are involved somehow: the Mac frontends are
MacRelix. Freemount is used to serve files over a socket pair (since emulated
code can't access the native file system). And the launch script is V code.

------
jstewartmobile
I thought this was a nice idea from the same author:

FORGE: A File-Oriented Reflective Graphical Environment

[https://www.fornaxis.org/forge/](https://www.fornaxis.org/forge/)

~~~
floren
That is neat but it's so similar to how Plan 9 did it that I can't understand
why he doesn't have an acknowledgment on the page.

~~~
drudru11
He does acknowledge it, but it is in the screencast. The screencast is worth
watching. It isn’t too long and is well done.

------
talkingtab
Can you run hypercard? :-)

~~~
jjuran
Yes, but not in Advanced Mac Substitute. :-P

------
reaperducer
_The front end requires 32-bit support and definitely doesn’t build on 10.14._

Well... poop. That's what I get for staying up to date.

I've wanted to run Mac OS 8 on my current Macs for a while now, but the
current batch of emulators have been far too complicated for my casual uses.
This will hopefully be the key, once it's brought up to 64 bits.

~~~
ndespres
You may wish to try out SheepSaver if you haven't already. There are some
tutorials that make the process relatively simple, booting to Finder in a few
minutes.

~~~
reaperducer
_You may wish to try out SheepSaver if you haven 't already_

I have. I lost half a day trying to make it work and gave up. This was while
ago. Maybe it's better now.

~~~
unqueued
There are some really great self contained pre-built SheepShaver OS9
appliances. I don't suggest building your own unless you need to.

Columbia University offers this one:
[http://www.columbia.edu/~em36/macos9osx.html](http://www.columbia.edu/~em36/macos9osx.html)

Direct download:
[http://www.columbia.edu/~em36/Mac%20OS%209.zip](http://www.columbia.edu/~em36/Mac%20OS%209.zip)

You can have an OS9 VM up and running in minutes.

These support networking:
[https://www.macintoshrepository.org/7751-sheepshaver-ppc-
emu...](https://www.macintoshrepository.org/7751-sheepshaver-ppc-emulator-for-
windows-mac-os-x-) [https://www.macintoshrepository.org/15339-sheepshaver-
packag...](https://www.macintoshrepository.org/15339-sheepshaver-package-by-
jamesfriend-com)

~~~
reaperducer
I'll try the Columbia one. Macintosh Repository doesn't allow those files to
be downloaded without signing up for an account, and I'm not all that
interested in signing up for yet another account unless I know it's worth it.

------
marknadal
Why does when I scroll my eye perceives the background pattern as flashing
different colors like purple (?)

Is this a perceived effect, or something generated by my monitor
framerate/refresh, or intentional?

How is this possible, if/when the pattern is purely grey when standing
still/static?

~~~
warent
Was wondering the same thing and just used a screen recorder to try and find
out. Still can't answer _why_ it happens, but in the recorder, if I flip from
one frame to the next, the flash happens and it's impossible to freeze frame
"mid-flash."

This means its either an optical illusion or something with the monitor
refresh rate. My money is on the monitor.

~~~
jboles
I think it’s a Moire effect from the patterned background being resized and no
longer 1:1 with actual device pixels. Changing zoom level and then scrolling
on my iPad changes the appearance of the flashing.

------
LarryMade2
The emulation that will impress me is one that supports printing emulation (to
PDF, or other printer) as well as disk-file network emulation. Ive got some
programs that I'd like to run but without printing support for network
connectivity they aren't usable.

~~~
JonathonW
File sharing is something that's actually handled fairly well by SheepShaver;
it provides a "Unix" "disk" that shows up on your desktop and makes working
with files from the host machine pretty easy.

Network connectivity can work (occasionally with some fiddling), but it's not
too useful these days. On the web browsing end of things, no one's really made
browsers for classic Mac OS in years, and browsers from the classic era (like
IE 5 for Mac) aren't modern enough to even connect to many sites, and, when
they can connect, aren't standards-compliant enough to render them. And if
you're looking to use network services built into applications, most of those
were shut down years ago.

(Can't say anything about printing support, though-- never tried that.)

------
Feneric
Nice. It reminds me a bit of GEOS Warp
[http://www.floodgap.com/retrobits/archive/geoswarp/](http://www.floodgap.com/retrobits/archive/geoswarp/)

------
omeid2
Semi-related to this is Darwin/MacOS emulation layer: Darling.

[https://github.com/darlinghq/darling](https://github.com/darlinghq/darling)

------
mikesalvador
Cool!

