A brand new 68k Mac emulator quietly dropped last night!!
“Snow” can emulate the Mac 128k, 512k, Plus, SE, Classic, and II. It supports reading disks from bitstream and flux-floppy images, and offers full execution control and debugging features for the emulated CPU. Written using Rust, it doesn't do any ROM patching or system call interception, instead aiming for accurate hardware-level emulation.
Download link (Mac, Windows, Linux): https://snowemu.com
Documentation link: https://docs.snowemu.com
Source link: https://github.com/twvd/snow
Release announcement: https://www.emaculation.com/forum/viewtopic.php?t=12509
(Edit: I'm not the author - just spotted this on the Emaculation forum and had to share it!)
(Edit #2: Snow's author, Thomas “twvd" has joined the Fediverse now! Give him a follow at @twvd )
I’m really excited about this one.
Just a couple of days ago, during my archiving efforts, I teased about a disk I imaged that won’t run under emulation. It doesn’t work on BasiliskII or Mini vMac due to the hardware types and OS versions that are supported.
So I tried it on Snow…and it worked perfectly More to share on that in a day or two.
I found a way to make it reliably “crash”, by trying to select a colour using the colour picker on System 6 (see attached screenshot)
Except, instead of crashing, it just pauses execution and says that there’s an unimplemented FPU instruction. And then you can click the resume button and carry on your merry way.
Wow, this thread blew up. RIP my notifications.
It was pointed out to me (thanks to @gloriouscow ) that the author of Snow, Thomas “twvd” has a blog where he wrote up a bunch of his research into the IWM chip and low-level Mac floppy emulation. Check it out here:
https://thomasw.dev/post/mac-floppy-emu/
We still don’t have a full IWM clone in hardware, but there’s been a few shims and works-in-progress - see links below. Maybe his research can help to push these efforts forward (and bring us one step closer to the dream of new SE/30 boards without having to cannibalize parts from a donor board)?
https://www.applefritter.com/content/announcing-iwmless-iwm-substitution-call-beta-testers
https://68kmla.org/bb/index.php?threads/cloning-the-iwm-sort-of.49939/
https://github.com/DosFox1/Shim-IWM
EDIT: Thomas has joined the Fediverse now! @twvd
@smallsco Fixed that, thanks. Was missing the FSQRT instruction
@smallsco @twvd @GeekAndDad Great! My test is Dark Castle
So far - emulators I’ve tried haven’t allowed me to play.
@smallsco snow is amazing and it's been great watching twvd make progress on it!
@smallsco huh I found that on GitHub back in March. I guess the author decided it needed more work before it was ready for a proper launch. https://mastodon.decentralised.social/@wezm/114182830409593534
@wezm Interesting! I’m just going by the post I spotted on emaculation from the author last night which seemed to imply this was brand new, but I guess being open source and all it’s been developed “in the open” for quite some time.
@smallsco @wezm emudevs often make a decision when their emulator is 'good enough' to make a public announcement about, even if you could in theory download it for a while. Stealth mode development.
MartyPC was on github for a year, but I didn't announce it until it ran Area5150. I think FPU support got Snow in a position twvd felt like it was ready for people to check out.
@gloriouscow @wezm Hopefully twvd’s okay with all the attention - I didn’t expect this post to blow up to the extent that it has!
@smallsco I think he's just surprised. It's nice to have acknowledgement of your hard work. His research into low level Mac floppy emulation is top notch stuff. I had the privilege of watching him figure out the IWM.
He wrote a blog about that which is definitely worth checking out and should be a seminal resource for future Mac emudevs
https://thomasw.dev/post/mac-floppy-emu/
@gloriouscow Not just for future Mac emudevs but for hardware devs as well - we still don’t have a full IWM clone in hardware (although there are a few works-in-progress):
https://www.applefritter.com/content/announcing-iwmless-iwm-substitution-call-beta-testers
https://68kmla.org/bb/index.php?threads/cloning-the-iwm-sort-of.49939/
https://github.com/DosFox1/Shim-IWM
@gloriouscow @smallsco makes sense! I'm too shy to have the repo on projects public until it's in the ready too announce state :)
@smallsco That’s awesome! Thanks for sharing.
@smallsco Thank you so much for sharing this!
@smallsco It even runs pre-release System Software on a Mac 128K. Outstanding.
@nygl That’s incredible!!
@smallsco And another with an new folder created. Is that @Cdespinosa Calculator? :)
@smallsco What I find funny about this desktop (from a 4 October 1983 Finder), is the ‘Coke’ icons. John Sculley had started in April 1983. From Pepsi. Surely Bruce and the team knew ;)
@nygl Hah, I didn’t even make that connection. I’m sure it was intentional
@rbanffy @nygl Not at this time (see https://mastodon.social/@_the_cloud/114748160308283012) but the author says it’s on the roadmap.
@nygl @smallsco Very cool indeed! I had never tried running those images before and it's fascinating to see the evolution from Lisa into the Mac. Unfortunately Snow doesn't want to load Twiggy.ROM for me, but it seems to run fine with the original Mac 64K ROM. http://toastytech.com/guis/twiggy.html
@_the_cloud @smallsco When I was at Uni in 1987 I’m sure we used MacPascal, or was it called Macintosh Pascal. I bought my own (well, parents did I’m sure) Macintosh 512ED with a second 800K drive. An Epson LX-86 did quite a few Pascal and SQL print-outs.
@_the_cloud @nygl @smallsco I remember this, but for the Apple //e. It was painfully slow.
@rbanffy @nygl @smallsco It looks like "Instant Pascal" was the name that ended up getting used for the Apple II product, while "Macintosh Pascal" was used for the Mac. The manual even states that Instant Pascal is a subset of Macintosh Pascal. Of course, the name "Apple Pascal" was already taken at this point. https://archive.org/details/apple_ii_instant_pascal_ref_man
@_the_cloud @nygl Bold choice to not use a monospaced font! It does look quite pretty, though
@_the_cloud @nygl That would irritate me to no end but I suppose you’d just get used to it after a while.
@_the_cloud @nygl @smallsco This is very cool, I wasn't aware of the Twiggy Macintosh and all these Mac prototype disks being available! I did a quick attempt to get Twiggy.ROM to work in Snow and it boots up but the floppy controller interface is different and floppies don't work. I believe the Twiggy controller used an additional MCU, even. Maybe one day :)
@twvd @_the_cloud @nygl Welcome to Mastodon and the Fediverse, hope you don’t mind all the sudden attention!
Snow is very well done and I’m excited to see where it goes! I’ve already got it running an app that I couldn’t get to work on other emulators
Makes sense that the Twiggy rom doesn’t _quite_ work, it expects to see a Twiggy drive after all. Still the fact that we can boot off the converted-to-3.5 versions of the disks is impressive all on its own.
I did run into one small bug where the emulator paused and complained about an unimplemented FPU instruction, this happened on a clean System 6.0.8 install using a Mac II FDHD configuration when trying to use the colour picker. I’ll open a GitHub issue for that later today.
@smallsco @twvd @_the_cloud Ditto. What a fantastic emulator. I got carried away last night building versions of all sorts of Systems on different models. Last was a Macintosh II FDHD with 6.0.7 on a 20MB drive. Really well done.
@_the_cloud @nygl I love the variety and creativity of the icon design in this version!
IIRC, weren’t the Twiggy disk images patched in order to run on Mini vMac with the 64k ROM? I bet those patched images would work just fine on a real machine too, if you copied them to real floppy disks.
@_the_cloud @smallsco @nygl PMMU is definitely on the roadmap; one of my goals is to run A/UX!
@_the_cloud @nygl So close! I wouldn’t be surprised if the PMMU is implemented eventually, given that the author’s stated intent is to have hardware-accurate emulation.
It’s still awfully impressive for a first release!