1
0
Fork 0
mirror of https://github.com/twvd/snow.git synced 2026-05-14 04:51:51 +00:00
Classic Macintosh emulator https://snowemu.com/
Find a file
Thomas 672170ea95 Fix regression: BlueSCSI Toolbox not working
BlueSCSI Toolbox failed to launch with a CD-ROM
drive on ID 6.

Fixes: a48a563
2026-05-07 22:47:03 +02:00
.github Add SDL2 back in, under 'audio_sdl2' feature flag 2026-04-19 16:20:13 +02:00
assets Release 1.4.1 2026-04-20 21:09:23 +02:00
core Fix regression: BlueSCSI Toolbox not working 2026-05-07 22:47:03 +02:00
docs freebsd: also need pkgconf 2026-05-05 13:15:51 +02:00
floppy Release 1.4.1 2026-04-20 21:09:23 +02:00
frontend_egui PR #303: add printer to the default feature list 2026-05-02 20:26:46 +02:00
nat Release 1.4.1 2026-04-20 21:09:23 +02:00
testdata Bump m68000 test data submodule 2024-10-08 19:34:49 +02:00
testrunner Release 1.4.1 2026-04-20 21:09:23 +02:00
.gitignore Add SDL2 back in, under 'audio_sdl2' feature flag 2026-04-19 16:20:13 +02:00
.gitmodules Switch to new generation M68k test set 2024-07-12 06:44:10 +02:00
Cargo.lock Enhance cuesheet support: 2026-05-04 20:43:00 +02:00
Cargo.toml Update Rust toolchain to 1.95 stable 2026-04-17 21:12:50 +02:00
LICENSE Update documentation 2025-03-07 15:56:46 +01:00
PACKAGING.md Replace SDL2 with cpal 2026-04-14 23:40:49 +02:00
README.md Some doc updates 2026-04-11 20:38:53 +02:00
rust-toolchain.toml Update Rust toolchain to 1.95 stable 2026-04-17 21:12:50 +02:00

Snow - Classic Macintosh emulator

codecov Checks and tests Build - Linux x64 Build - Windows Build - MacOS

Snow emulates classic (Motorola 68k-based) Macintosh computers. It features a graphical user interface to operate and debug the emulated machine. The aim of this project is to emulate the Macintosh on a hardware-level as much as possible, as opposed to emulators that patch the ROM or intercept system calls.

For more information and downloads, go to the website. You can view a limited online demo here

Snow

It currently supports the following models:

  • Macintosh 128K/512K/512Ke
  • Macintosh Plus
  • Macintosh SE (both non-FDHD and FDHD)
  • Macintosh Classic
  • Macintosh II (both non-FDHD and FDHD)
  • Macintosh IIx, IIcx, SE/30

Currently supported hardware:

  • Motorola 68000, 68020, 68030 CPUs
  • Motorola 68881, 68882 FPUs
  • Motorola 68851 PMMU
  • IWM and SWIM floppy controllers
  • GCR 400K/800K floppy disk drives (up to 3 on SE)
  • GCR/MFM 1.44MB 'SuperDrive' floppy disk drive
  • SCSI hard disk drives (up to 7)
  • SCSI CD-ROM drive with CD audio support
  • Original Macintosh and ADB keyboard/mouse
  • Audio output (PWM-based audio on compact Macs and ASC on newer models)
  • Macintosh Display Card 8-24 with various monitor types (models with NuBus)
  • DaynaPORT SCSI/Link Ethernet adapter

Supported floppy image formats:

  • Apple DiskCopy 4.2 (sector-based)
  • Apple Disk Archive / Retrieval Tool ('DART') (sector-based)
  • Applesauce A2R 2.x and 3.x (flux)
  • Applesauce MOOF (bitstream and flux). Snow can also save floppies in this format.
  • PCE Flux Image (PFI, flux)
  • PCE Raw Image (PRI, bitstream)
  • Raw images (sector-based)
  • Any format (Mac 1.44MB or PC) supported by Fluxfox

Supported CD-ROM image formats:

  • ISO
  • Toast
  • CUE/BIN

Supported hard drive image formats:

  • Raw device image

Debugging features:

  • Breakpoints (execution, bus access, system trap, exception, interrupt level)
  • Watchpoints with editing
  • Single step, step over, step out
  • Disassembly view
  • Register view with editing
  • Memory viewer with editing
  • Instruction history view with export functionality
  • System trap history viewer
  • Peripheral debug view
  • Terminal for the serial ports

Networking and interfacing features:

  • TCP and PTY bridges for serial ports
  • LocalTalk over UDP
  • Ethernet, linkable to:
    • Userland NAT and HTTPS stripping
    • tap interfaces (Linux only)

Building

See the BUILDING.md file for instructions on building.

Acknowledgements

  • Thanks to raddad772 for the excellent 68000 JSON test suite
  • Thanks to Daniel Balsom for creating the Snow mascot art and for the Fluxfox library
  • Thanks to Andrew Yaros for contributing the application icon
  • Thanks to the people of the Emudev and Applesauce communities for their infinite wisdom
  • The Musashi (by Karl Stenerud) and MAME ( many authors) projects have been used as a reference for poorly documented components
  • The BlueSCSI Toolbox protocol and software is used in and distributed with Snow with permission of Eric Helgeson