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?
Long answer: Advanced Mac Substitute is factored into back end (the emulator itself) and front end (graphics and user input terminal). Writing a new front end from scratch is actually not that much work, and the OS X front end is due for a full rewrite anyway.
This would be an excellent opportunity to contribute that doesn't require any 68K or classic Mac knowledge.
I dont have a machine that I can run Linux Framebuffer on, I'd be better of building it on my G4, to asking a friend to compile it for me, so I can run it under mojave
In that case, 10.4 and 10.5 are options. There's also a front end that works in classic Mac OS, which a G4 is fast enough to run usably. It's not in the HOWTO yet, but I can add it.
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.
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.
Executor used some fiendishly clever tricks to achieve performance on 1990s hardware at the expense of portability (e.g. the possibility of 64-bit support). Advanced Mac Substitute has different priorities and doesn't use any code from Executor.
However, ROMLib looks like a good source of unofficial system documentation, which I expect I'll be consulting in the future as I work on parts where Apple's docs become less detailed.
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.
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.
Thanks! It would be a real shame if the rich culture that sustained the Mac for fifteen years got lost.
My plan for Advanced Mac Substitute is roughly to start at 1984 and move forward, with a focus on getting individual applications running. What you're seeking isn't out of scope in the long run, but it is off the horizon for now.
I have a build of SheepShaver I made years ago that's pretty stable, which I rely on for developing AMS' 68K components.
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?
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 ;)
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?
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.
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.
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.
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.
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.
You have to upgrade the libraries and recompile it. A friend did it for me for Windows 10. It runs MacOS 8 but the web browser is out of date. I think there is a pay one named iCab that works.
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.
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.
Perhaps record video (with phone), see what happens in the playback. Or look at the screen pixels with a loupeor magnifying glass. Human visual system is kinda weird so could be either.
Looking at my monitor pixels with a good loupe, the gray is made of red+green pixels in a Bayer pattern. So the scrolling is making a purple effect, probably in our aforementioned weird human visual system.
update: Bayer pattern is wrong term. The MacOS background is a red+green checkerboard. The HN background is a vertical stripe of red+green.
There was an application for the early B&W Macs that used motion to try to create the perception of colour. It didn't really work for me but is probably the same effect.
My guess: scrolling a checkerbox pattern requires turning on and off the rgb components of the pixels at a high speed. The blue components are the slowest so they linger for longer.
The part of an LCD that turns on and off is separate from the layer that imparts color to the subpixels. If the blue subpixels have a slower response time than adjacent subpixels, then there's something quite odd about the display's design.
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.
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.)
It's nice to see such interest in my humble project. :-)