Infinite Mac runs seven distinct emulator cores in the browser as WebAssembly modules. Each core is compiled from the original C or Rust emulator source and wrapped in a common JavaScript interface. The right emulator is selected automatically based on the machine definition — you never configure this directly. Understanding which core is in use helps explain the differences in available features, mouse handling, networking support, and speed controls across different Mac and NeXT configurations.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mihaip/infinite-mac/llms.txt
Use this file to discover all available pages before exploring further.
The EmulatorType Union
The EmulatorCpu Type
601, 603, 604, and G3 values represent IBM/Motorola PowerPC processors used in Power Macintosh computers from 1994 onward. Note that the 603 CPU type is defined but not currently assigned to any machine definition.
Capability Summary
| Emulator | CPU | AppleTalk | Abs. Mouse | Opt. Rel. Mouse | Debug Log | BlueSCSI | Speed Config |
|---|---|---|---|---|---|---|---|
| Mini vMac | 68000–68030 | ✗ | ✓ | ✗ | ✗ | ✗ | MACEMU |
| Basilisk II | 68030–68040 | ✓ | ✓ | ✓ | ✗ | ✗ | MACEMU |
| SheepShaver | 601, 604, G3 | ✓ | ✓ | ✓ | ✗ | ✗ | — |
| DingusPPC | 601, G3 | ✗ | ✗ (always rel.) | — | ✓ | ✓ | — |
| Previous | 68030–68040 | ✗ | ✗ (always rel.) | — | ✓ | ✗ | — |
| PearPC | G3 | ✗ | ✗ (always rel.) | — | ✓ | ✗ | — |
| Snow | 68000–68030 | ✗ | ✓ | ✓ (restart req.) | ✗ | ✗ | SNOW |
Mini vMac
Mini vMac is the original emulator used for the earliest Macintosh hardware. It emulates compact 68K Macs from the original 128K through the Mac IIx, running System 1.0 through System 6.x (and some early System 7 configurations). Machines using this emulator: Mac 128K, Mac 512Ke, Mac Plus, Mac SE, Mac II, Mac IIx Emulator subtypes (EmulatorMinivMacSubtypes):
Capabilities
- Mouse mode: Absolute coordinates only. Mini vMac does not support relative mouse deltas (
emulatorSupportsMouseDeltasreturnsfalse). - Interrupt key: Mini vMac is the only emulator that uses the programmer’s interrupt key (
emulatorUsesInterruptKeyreturnstrue). This maps to a keyboard shortcut that triggers the 68K interrupt, useful for debugging or breaking out of hangs. - AppleTalk: Not supported.
- Placeholder disks: Not used.
- Debug log: Not supported.
- BlueSCSI: Not available.
- Speed control: Uses the
MACEMUspeed config — speeds fromDefaultthrough1x,2x,4x,8x,16x,32x, andAll Out.
Basilisk II
Basilisk II emulates 68K Macs with color displays, covering the Mac IIfx through the Quadra series. It supports System 7.x through Mac OS 8.1 and is the only 68K emulator with AppleTalk networking support. Machines using this emulator: Mac IIfx, Quadra 650Capabilities
- Mouse mode: Absolute coordinates by default. Optionally supports relative mouse deltas (
emulatorSupportsMouseDeltasreturnstrue). Switching does not require a restart. - AppleTalk: Supported (
emulatorSupportsAppleTalkreturnstrue). Basilisk II and SheepShaver are the only emulators with AppleTalk. - Placeholder disks: Uses placeholder disk files (
emulatorUsesPlaceholderDisksreturnstrue). The emulator requires disk “slots” to be pre-populated in its preferences even if no real disk is attached. - Debug log: Not supported.
- BlueSCSI: Not available.
- Speed control: Uses the
MACEMUspeed config (same as Mini vMac). AspeedGovernorTargetIPScan be set on a machine definition to throttle overall throughput for realistic benchmark scores. - CPU ID mapping: Basilisk II uses an internal CPU ID:
68020→2,68030→3,68040→4.
SheepShaver
SheepShaver emulates PowerPC Macs using NewWorld ROM images. It runs Mac OS 8.x through Mac OS 9.0.4, the last release it supports. Like Basilisk II, it provides AppleTalk networking. Machines using this emulator: Power Macintosh 9500 (604), Power Macintosh G3 Blue & White (G3)Capabilities
- Mouse mode: Absolute coordinates by default; optionally supports relative mouse deltas (
emulatorSupportsMouseDeltasreturnstrue) without requiring a restart. - AppleTalk: Supported (
emulatorSupportsAppleTalkreturnstrue). - Placeholder disks: Uses placeholder disk files (
emulatorUsesPlaceholderDisksreturnstrue), same behavior as Basilisk II. - Debug log: Not supported.
- BlueSCSI: Not available.
- Speed control: None (
emulatorSpeedConfigreturnsundefined).
DingusPPC
DingusPPC emulates PowerPC Macs with OldWorld ROM (NuBus and PCI machines). It supports System 7.5.2 through Mac OS 9.1, and is also used for early Mac OS X installations up to 10.1. Machines using this emulator: Power Macintosh 6100, 7200, 7500, G3 Beige, iMac G3 233, Power Macintosh G3 Blue & White (Experimental)Capabilities
- Mouse mode: Always uses relative mouse deltas (
emulatorNeedsMouseDeltasreturnstrue). Absolute coordinates are not supported; relative mode is automatically engaged for all DingusPPC sessions. - AppleTalk: Not supported.
- Placeholder disks: Not used.
- Debug log: Supported (
emulatorSupportsDebugLogreturnstrue). When debug logging is requested, theverboseBootEnvVarson the machine definition are applied to OpenFirmware to enable verbose boot output. - BlueSCSI: Optionally supported (
emulatorHasOptionalBlueSCSIreturnstrue). DingusPPC is the only emulator with BlueSCSI support. - Speed control: None (
emulatorSpeedConfigreturnsundefined).
Previous
Previous emulates the NeXT hardware family — the NeXT Computer (68030), NeXTcube (68040), NeXTstation (68040), and NeXTstation Turbo Color (68040). It runs NeXTSTEP 0.8 through NeXTSTEP/OPENSTEP 4.2. Machines using this emulator: NeXT Computer, NeXTcube, NeXTstation, NeXTstation Turbo Color Emulator subtypes (EmulatorPreviousSubtypes):
Capabilities
- Mouse mode: Always uses relative mouse deltas (
emulatorNeedsMouseDeltasreturnstrue). - AppleTalk: Not supported.
- Placeholder disks: Previous expects all configured disk “files” to exist on the filesystem. Empty stub files are created for any unmounted slots (
emulatorNeedsDiskPlaceholderFilesreturnstrue). - Debug log: Supported (
emulatorSupportsDebugLogreturnstrue). - BlueSCSI: Not available.
- Speed control: None (
emulatorSpeedConfigreturnsundefined).
PearPC
PearPC emulates a G3/G4-class PowerPC machine for running early Mac OS X (10.0 Public Beta through 10.4 Tiger). It is the primary emulator for the Mac OS X disk collection. Machines using this emulator: Power Macintosh G4 (PCI Graphics)Capabilities
- Mouse mode: Always uses relative mouse deltas (
emulatorNeedsMouseDeltasreturnstrue). - AppleTalk: Not supported.
- Placeholder disks: Not used.
- Debug log: Supported (
emulatorSupportsDebugLogreturnstrue). - BlueSCSI: Not available.
- Speed control: None (
emulatorSpeedConfigreturnsundefined).
Snow
Snow is a Rust-based 68K Macintosh emulator developed specifically for Infinite Mac. It is the newest addition to the emulator lineup and aims to provide more accurate hardware emulation than Mini vMac for the same range of machines. Snow covers the Mac 128K through the Mac SE/30.Snow is the only emulator in Infinite Mac written in Rust rather than C. It is under active development and progressively gains support for additional Mac models and hardware features.
Capabilities
- Mouse mode: Absolute coordinates by default, with optional relative mode. Unlike Basilisk II and SheepShaver, switching to relative mouse mode requires a restart (
emulatorNeedsRestartForMouseDeltasreturnstrue). - AppleTalk: Not supported.
- Placeholder disks: Not used.
- Debug log: Not supported.
- BlueSCSI: Not available.
- Speed control: Uses its own
SNOWspeed config with different semantics from theMACEMUconfig:
snow/frontend_im/src/input.rs.
Speed Configuration Details
Two speed configuration presets are used across the emulators:- MACEMU (Mini vMac, Basilisk II)
- Snow
-2 means the default speed the emulator was compiled with. -1 (“All Out”) removes all speed limiting and runs as fast as the host CPU allows.undefined from emulatorSpeedConfig — they expose no speed controls to the user.
The EmulatorDef Discriminated Union
The EmulatorDef type enforces that Mini vMac and Previous subtypes are always specified:
emulatorType: "Mini vMac" must include a valid emulatorSubtype from EmulatorMinivMacSubtypes, and similarly for Previous. All other emulator types must not have a subtype.