Snow - 68k Macintosh emulator

About Mini vMac and all other 68k emulators, including SoftMac, Executor, and MESS.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
twvd
Space Cadet
Posts: 6
Joined: Tue Jun 24, 2025 9:20 pm

Snow - 68k Macintosh emulator

Post by twvd »

I'd like to introduce 'Snow', a new classic Macintosh emulator I have been developing, which emulates 68k-based Macs.

My goal is to develop an accurate but user-friendly emulator. As such, it is able to run copy-protected games from bitstream and flux floppy images. It also has debugging features.

Currently it emulates the Macintosh 128K/512K, Plus, SE, Classic and the Macintosh II. I plan on adding more models in the future.

The emulator is open source, licensed under the MIT license.

Downloads are available at: https://snowemu.com/
Documentation can be found at: https://docs.snowemu.com/
Discord chat (channel #snow): https://discord.gg/JTdhZ2GbTj
And finally, the source code is available at: https://github.com/twvd/snow

Feedback, bug reports and ideas are most welcome!
Gothikon
Space Cadet
Posts: 2
Joined: Fri Dec 27, 2024 9:22 am

Re: Snow - 68k Macintosh emulator

Post by Gothikon »

Only had a quick play (Mac SE running system 7) but this seems excellent for a new emulator on the scene! Can't wait to see how it evolves!
User avatar
gingerbeardman
Tinkerer
Posts: 95
Joined: Mon Aug 06, 2018 2:58 pm
Location: UK
Contact:

Re: Snow - 68k Macintosh emulator

Post by gingerbeardman »

Congrats on the launch!

I'm interested in your plans for it. And I'm eager to see how it compares and improves on existing emulators (mini mac, basilidkii, mess, CLK, etc)
• BasiliskII on iPad Pro 12.9": Macintosh IIci 32MB + System 7.5.5 + Deneba artWORKS & Canvas & UltraPaint
lampiaio
Space Cadet
Posts: 6
Joined: Wed Sep 07, 2022 4:40 am

Re: Snow - 68k Macintosh emulator

Post by lampiaio »

 
Babe wake up, a new 68k Mac emulator just dropped

Read about this project on Hacker News, thought "History in the making!" and immediately came here knowing there'd be a post. Quickly tried it out and it's off to a great start, I'll be sure to follow its development. Name's great, btw.
User avatar
jonirob
Tinkerer
Posts: 81
Joined: Tue Jan 29, 2019 6:03 pm

Re: Snow - 68k Macintosh emulator

Post by jonirob »

Unfortunately Microsoft Defender blocks the download on Windows 10.
twvd
Space Cadet
Posts: 6
Joined: Tue Jun 24, 2025 9:20 pm

Re: Snow - 68k Macintosh emulator

Post by twvd »

jonirob wrote: Sun Jun 29, 2025 6:09 pm Unfortunately Microsoft Defender blocks the download on Windows 10.
This is unfortunately a common problem with niche software that doesn't get downloaded very often and the fact that new Snow builds are generated very frequently (sometimes multiple times per day) doesn't help.

There's probably an override you can use in Defender? I'm not a Windows user myself so I wouldn't know where to look..
twvd
Space Cadet
Posts: 6
Joined: Tue Jun 24, 2025 9:20 pm

Re: Snow - 68k Macintosh emulator

Post by twvd »

gingerbeardman wrote: Fri Jun 27, 2025 12:39 am Congrats on the launch!

I'm interested in your plans for it. And I'm eager to see how it compares and improves on existing emulators (mini mac, basilidkii, mess, CLK, etc)
With regards to the plans, the main goal is an accurate but also user-friendly emulator. I'm currently finishing up the FPU and after that I'll see what to pick up next. There's a lot of choice and I have a large list of 'features' to pick from :)
User avatar
adespoton
Forum All-Star
Posts: 4647
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com

Re: Snow - 68k Macintosh emulator

Post by adespoton »

twvd wrote: Mon Jun 30, 2025 10:12 am
gingerbeardman wrote: Fri Jun 27, 2025 12:39 am Congrats on the launch!

I'm interested in your plans for it. And I'm eager to see how it compares and improves on existing emulators (mini mac, basilidkii, mess, CLK, etc)
With regards to the plans, the main goal is an accurate but also user-friendly emulator. I'm currently finishing up the FPU and after that I'll see what to pick up next. There's a lot of choice and I have a large list of 'features' to pick from :)
If you can get a handle on Mac II - style audio, that would be an awesome feature! It's really hard to get the timing right there.

Do you have a shim in place to handle HFS-partition images (Mini vMac / BII/SS DSK style instead of real images)?
twvd
Space Cadet
Posts: 6
Joined: Tue Jun 24, 2025 9:20 pm

Re: Snow - 68k Macintosh emulator

Post by twvd »

adespoton wrote: Mon Jun 30, 2025 6:09 pm
twvd wrote: Mon Jun 30, 2025 10:12 am
gingerbeardman wrote: Fri Jun 27, 2025 12:39 am Congrats on the launch!

I'm interested in your plans for it. And I'm eager to see how it compares and improves on existing emulators (mini mac, basilidkii, mess, CLK, etc)
With regards to the plans, the main goal is an accurate but also user-friendly emulator. I'm currently finishing up the FPU and after that I'll see what to pick up next. There's a lot of choice and I have a large list of 'features' to pick from :)
If you can get a handle on Mac II - style audio, that would be an awesome feature! It's really hard to get the timing right there.

Do you have a shim in place to handle HFS-partition images (Mini vMac / BII/SS DSK style instead of real images)?
Mac II audio is working; both the FIFO and wave table modes. It works well for the startup chime and most games I've tested, I don't know if there's any more demanding applications with regards to audio?

There is no feature to load large magic floppies like on Mini vMac. It may come in the future, but I'd rather look at options that don't require hooking the ROM. Perhaps a converter or a feature to easily create and mount a SCSI disk image with a filesystem from a bunch of files.. I'm still thinking about that one.
User avatar
thecloud
Inquisitive Elf
Posts: 26
Joined: Mon Oct 19, 2015 4:39 am

Re: Snow - 68k Macintosh emulator

Post by thecloud »

twvd wrote: Mon Jun 30, 2025 6:22 pm There is no feature to load large magic floppies like on Mini vMac. It may come in the future, but I'd rather look at options that don't require hooking the ROM. Perhaps a converter or a feature to easily create and mount a SCSI disk image with a filesystem from a bunch of files.. I'm still thinking about that one.
It looks like Snow can only use an Apple Partition Map (APM) hard disk image with an Apple_Driver partition present in addition to the Apple_HFS partition and Apple_partition_map. If the Apple_Driver partition isn't present, or is the later Apple_Driver43, then the disk image doesn't mount in Snow.

What might be useful: a converter which takes an existing HFS disk image file (either raw HFS, or APM containing an Apple_HFS partition) and outputs a new image in APM format with the required Apple_Driver partition and the Apple_HFS partition. Such an image would then be shareable between Snow and SheepShaver, as well as mountable on Mac OS X systems prior to Catalina.

Not sure how much work it would be, but the format is documented.
twvd
Space Cadet
Posts: 6
Joined: Tue Jun 24, 2025 9:20 pm

Re: Snow - 68k Macintosh emulator

Post by twvd »

thecloud wrote: Tue Jul 01, 2025 7:37 am
twvd wrote: Mon Jun 30, 2025 6:22 pm There is no feature to load large magic floppies like on Mini vMac. It may come in the future, but I'd rather look at options that don't require hooking the ROM. Perhaps a converter or a feature to easily create and mount a SCSI disk image with a filesystem from a bunch of files.. I'm still thinking about that one.
It looks like Snow can only use an Apple Partition Map (APM) hard disk image with an Apple_Driver partition present in addition to the Apple_HFS partition and Apple_partition_map. If the Apple_Driver partition isn't present, or is the later Apple_Driver43, then the disk image doesn't mount in Snow.

What might be useful: a converter which takes an existing HFS disk image file (either raw HFS, or APM containing an Apple_HFS partition) and outputs a new image in APM format with the required Apple_Driver partition and the Apple_HFS partition. Such an image would then be shareable between Snow and SheepShaver, as well as mountable on Mac OS X systems prior to Catalina.

Not sure how much work it would be, but the format is documented.
Snow literally exposes a file on the host system as SCSI device :) I'm not very knowledgeable about the on-disk layout of the old Mac drives, so that is very helpful, thank you.

Personally I use MacFUSE and FuseHFS to exchange files with the emulator. These allow you to mount a Snow disk image straight in the MacOS Finder, which is very convenient.
User avatar
mihaiparparita
Space Cadet
Posts: 6
Joined: Sun Dec 25, 2022 4:21 am
Location: Cupertino, CA
Contact:

Re: Snow - 68k Macintosh emulator

Post by mihaiparparita »

thecloud wrote: Tue Jul 01, 2025 7:37 am What might be useful: a converter which takes an existing HFS disk image file (either raw HFS, or APM containing an Apple_HFS partition) and outputs a new image in APM format with the required Apple_Driver partition and the Apple_HFS partition. Such an image would then be shareable between Snow and SheepShaver, as well as mountable on Mac OS X systems prior to Catalina.
Disk Jockey should be able to do this. The advanced options let you populate a device image from a bare HFS partition, complete with a SCSI driver.
User avatar
jonirob
Tinkerer
Posts: 81
Joined: Tue Jan 29, 2019 6:03 pm

Re: Snow - 68k Macintosh emulator

Post by jonirob »

twvd wrote: Mon Jun 30, 2025 10:06 am
jonirob wrote: Sun Jun 29, 2025 6:09 pm Unfortunately Microsoft Defender blocks the download on Windows 10.
This is unfortunately a common problem with niche software that doesn't get downloaded very often and the fact that new Snow builds are generated very frequently (sometimes multiple times per day) doesn't help.

There's probably an override you can use in Defender? I'm not a Windows user myself so I wouldn't know where to look..
I've managed to download the Windows zip and I've extracted the Snow.exe application,but I can't get it to open.
twvd
Space Cadet
Posts: 6
Joined: Tue Jun 24, 2025 9:20 pm

Re: Snow - 68k Macintosh emulator

Post by twvd »

jonirob wrote: Tue Jul 01, 2025 4:14 pm
twvd wrote: Mon Jun 30, 2025 10:06 am
jonirob wrote: Sun Jun 29, 2025 6:09 pm Unfortunately Microsoft Defender blocks the download on Windows 10.
This is unfortunately a common problem with niche software that doesn't get downloaded very often and the fact that new Snow builds are generated very frequently (sometimes multiple times per day) doesn't help.

There's probably an override you can use in Defender? I'm not a Windows user myself so I wouldn't know where to look..
I've managed to download the Windows zip and I've extracted the Snow.exe application,but I can't get it to open.
Can you try running it from the command line and see if you get any errors there?
User avatar
thecloud
Inquisitive Elf
Posts: 26
Joined: Mon Oct 19, 2015 4:39 am

Re: Snow - 68k Macintosh emulator

Post by thecloud »

twvd wrote: Tue Jul 01, 2025 10:18 am Snow literally exposes a file on the host system as SCSI device :) I'm not very knowledgeable about the on-disk layout of the old Mac drives, so that is very helpful, thank you.

Personally I use MacFUSE and FuseHFS to exchange files with the emulator. These allow you to mount a Snow disk image straight in the MacOS Finder, which is very convenient.
The trouble with MacFUSE is that it requires a kernel extension. Those are deprecated and Apple has been wanting to drop support for them for quite some time. The alternative is a userspace system extension, but other posts on this forum suggest that the "fuse-t" project which takes that approach has its own issues with resource forks.

From reading the Snow source, I see that it doesn't do any interpretation of the image file contents on its own. As you mention, it just uses the file as the raw block device and the SCSI Manager in ROM does the reading. The SCSI Manager hardcodes block size as 512 bytes. At startup, it iterates over the disk's 'PM' partition map entries, reading them 512 bytes at a time, until there aren't any more or it matches on the name "Apple_Driver" (which incidentally will also match "Apple_Driver43", because it only compares the first 12 bytes.) Then it will redo the loop over the partition map and find the "Apple_HFS" partition. But something is going wrong when it iterates on a disk image that was created from a CD-ROM, which has a block size of 2048 bytes. Not sure why "Apple_Driver43" wouldn't be backward compatible with older ROMs, though. Maybe something in one of the PM entries specifies the wrong offset based on the difference in block size, but I haven't gotten that far yet.

mihaiparparita wrote: Tue Jul 01, 2025 3:34 pm Disk Jockey should be able to do this. The advanced options let you populate a device image from a bare HFS partition, complete with a SCSI driver.
Yes! Thanks to Mihai's tip, I was able to use Disk Jockey to create a new image from an existing System 7.5.3 installer CD image that mounts in Snow! The trick seems to be to create a PiSCSI image with at least 2 volumes: the existing disk image (from which it reads the Apple_HFS volume) and a small blank image (which will need to be initialized when the disk mounts for the first time.) This 2-volume disk image will actually boot in Snow, just as the original CD did on real hardware, and it uses Apple_Driver43. So I'm guessing there is probably just bad info in the PM entries on the original CD that needs to be fixed up.
User avatar
adespoton
Forum All-Star
Posts: 4647
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com

Re: Snow - 68k Macintosh emulator

Post by adespoton »

The other route is to do what MAME has done, and provide a stub device that does the extra work -- MAME uses a fake NuBus device, but it seems to me it would be possible to do something similar with a fake SCSI device that pre-populates the driver partition and then reads the HFS partition from the file. Or it could read the driver table from a file too, so we could mix and match what we want to load :)
User avatar
thecloud
Inquisitive Elf
Posts: 26
Joined: Mon Oct 19, 2015 4:39 am

Re: Snow - 68k Macintosh emulator

Post by thecloud »

thecloud wrote: Tue Jul 01, 2025 7:37 am What might be useful: a converter which takes an existing HFS disk image file (either raw HFS, or APM containing an Apple_HFS partition) and outputs a new image in APM format with the required Apple_Driver partition and the Apple_HFS partition. Such an image would then be shareable between Snow and SheepShaver, as well as mountable on Mac OS X systems prior to Catalina.
To pick this thread up again: I went ahead and wrote this converter last weekend as a command-line tool (source code). It seems to work well for converting HFS disk images so they will mount in Snow. It can also fix certain images made from CD-ROMs which didn't previously mount because only the used blocks were actually written, though the partition size claimed to be larger than the file. And you can turn device images into Mini vMac images, or vice versa.

In parallel, the author of Disk Jockey made several fixes to his utility (currently at v3.4.7.1) so that it supports creating images for Snow explicitly, and doesn't need a second blank partition in order to create an image from an existing disk image. It also fixes handling of the problematic CD-ROM images.
Post Reply