Skip to main content

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.

Infinite Mac supports a wide range of classic Macintosh and NeXT hardware models, each defined by a MachineDef object in the source. Every machine definition specifies which emulator core to use, what CPU is being emulated, which ROM image to load, available RAM configurations, and how the on-screen bezel should look. Some machines exist in multiple variants — for example, several 68K models are available under both the original Mini vMac emulator and the newer Snow emulator.

The MachineDef Type

Each machine is described by the MachineDef type, which extends EmulatorDef:
export type MachineDef = EmulatorDef & {
    name: string;
    cpu: EmulatorCpu;
    speedGovernorTargetIPS?: number;
    romPath: string;
    gestaltID: number;
    modifier?: "FDHD";
    prefsPath: string;
    fixedScreenSize?: {width: number; height: number};
    supportedScreenSizes?: {
        width: number;
        height: number;
        monitorId?: string;
    }[];
    mfsOnly?: boolean;
    bezelStyle: "Beige" | "Platinum" | "Pinstripes" | "NeXT";
    ramSizes: MachineDefRAMSize[]; // First value is the default
    platform?: MachinePlatform;
    extraFiles?: {[fileName: string]: string};
    verboseBootEnvVars?: {[name: string]: string};
    hasSCSI?: boolean;
    isHidden?: boolean;
};

export type MachineDefRAMSize = `${number}M` | `${number}K`;

Key Fields Explained

ramSizes — An array of available RAM configurations (e.g. ["4M", "128M", "64M"]). The first entry is the default selection shown in the UI. fixedScreenSize — When set, the machine uses exactly this one screen resolution and no other. Early compact Macs all use {width: 512, height: 342}. supportedScreenSizes — An array of selectable resolutions for machines with video cards. Each entry may include a monitorId string used by DingusPPC to identify the monitor type. When neither field is set, the emulator uses the DEFAULT_SUPPORTED_SCREEN_SIZES list (1600×1200, 1280×1024, 1152×870, 1024×768, 800×600, 640×480). mfsOnly — When true, the machine only supports the Macintosh File System (MFS) used by the original 128K and 512K Macs. HFS disks and the Infinite HD library are unavailable. hasSCSI — When true on a Snow-emulated machine, enables the Infinite HD and Saved HD disk volumes. speedGovernorTargetIPS — If specified, the emulator uses a software speed governor to target this instructions-per-second rate, approximating the original hardware speed (used for the Mac IIfx and Quadra 650). gestaltID — The Macintosh Gestalt machine ID used by the OS to identify the hardware model. modifier — Currently only "FDHD", indicates a machine variant with a high-density floppy drive.

The MachinePlatform Type

export type MachinePlatform = "Macintosh" | "NeXT";
Most machines have no explicit platform field and default to the Macintosh platform. NeXT machines explicitly set platform: "NeXT", which affects which disk images are shown in the browser.

Bezel Styles

The bezelStyle field controls the decorative frame drawn around the emulated screen:
ValueEraExamples
"Beige"1984–1987 compact MacsMac 128K, Mac Plus
"Platinum"1987–1998 modular MacsMac SE, Mac II, Quadra 650
"Pinstripes"1998+ iMac-era MacsiMac G3, Power Mac G3 Blue & White
"NeXT"NeXT hardwareNeXT Computer, NeXTstation

68K Macintosh — Mini vMac

These machines use the Mini vMac emulator. Mini vMac requires subtypes (EmulatorMinivMacSubtypes) to select the specific hardware variant.
NameCPUEmulator SubtypeRAM SizesScreen
Mac 128K68000128K128K512×342 (fixed)
Mac 512Ke68000512Ke512K512×342 (fixed)
Mac Plus68000Plus4M512×342 (fixed)
Mac SE68000SE4M512×342 (fixed)
Mac II68020II8M640×480 (fixed)
Mac IIx68030IIx32M640×480 (fixed)
The Mac 128K under Mini vMac sets mfsOnly: true — it can only load MFS-format floppy images and cannot use the Infinite HD library. The Infinite HD disk is delay-mounted after boot to work around a compatibility issue.

68K Macintosh — Snow

Snow is a newer Rust-based 68K emulator (see Emulator Types). The Snow variants of early Macs often support more RAM options and have SCSI support enabling the Infinite HD library.
NameCPURAM SizesScreenhasSCSI
Mac 128K (Snow)68000128K512×342 (fixed)
Mac 512K (Snow)68000512K512×342 (fixed)
Mac 512Ke (Snow)68000512K, 128K512×342 (fixed)
Mac Plus (Snow)680004M, 2M, 1M512×342 (fixed)
Mac SE (Snow)680004M, 2M, 1M512×342 (fixed)
Mac SE FDHD (Snow)680004M, 2M, 1M512×342 (fixed)
Mac Classic (Snow)680004M, 2M, 1M512×342 (fixed)
Mac II (Snow)680208M, 4M, 2M, 1M1152×870, 640×870, 640×480, 512×384
Mac II FDHD (Snow)680208M, 128M, 32M, 16M, 4M, 2M, 1M1152×870, 640×870, 640×480, 512×384
Mac IIx (Snow)680308M, 128M, 32M, 16M, 4M, 2M, 1M1152×870, 640×870, 640×480, 512×384
Mac IIcx (Snow)680308M, 128M, 32M, 16M, 4M, 2M, 1M1152×870, 640×870, 640×480, 512×384
Mac SE/30 (Snow)680308M, 128M, 32M, 16M, 4M, 2M, 1M512×342 (fixed)
The Mac II family (Snow) includes extra ROM files in their Emscripten filesystem — a mac-ii-display-card-8-24.rom for Mac II/IIx/IIcx variants and a se30-video.rom for the SE/30.

68K Macintosh — Basilisk II

The Basilisk II emulator handles the Mac IIfx and Quadra 650. Both use a speedGovernorTargetIPS to throttle emulation speed for realistic benchmark results.
NameCPUGestalt IDRAM SizesScreenTarget IPS
Mac IIfx6803013128M, 64M, 32M, 16M, 8M, 4MDefault sizes4,000,000
Quadra 6506804036128M, 64M, 32M, 16M, 8M, 4MDefault sizes8,000,000

PowerPC Macintosh — DingusPPC

DingusPPC emulates early PowerPC Macs with OldWorld ROM (NuBus and PCI). These machines support multiple selectable screen resolutions via supportedScreenSizes with named monitorId values.
NameCPUGestalt IDRAM SizesScreen Options
Power Macintosh 610060167136M, 72M, 40M, 24M, 12M, 8M832×624, 640×870, 640×480
Power Macintosh 720060110816M, 32M, 64M, 128M, 256M1152×870, 832×624, 640×870, 640×480
Power Macintosh 75006016816M, 32M, 64M, 128M, 256M1152×870, 832×624, 640×870, 640×480
Power Macintosh G3 (Beige)G3510256M, 128M, 64M, 32M1152×870, 1024×768, 832×624, 640×480
iMac G3 (233 Mhz)G3406128M, 64M, 32M, 256M, 512M, 1024M1152×870, 1024×768, 832×624, 640×480
The Power Macintosh G3 (Beige) and iMac G3 include verboseBootEnvVars for enabling verbose boot output when debug logs are requested.

PowerPC Macintosh — SheepShaver

SheepShaver emulates PowerPC Macs using NewWorld ROM (G3 Blue & White era and later). These machines use sheepShaverPrefsPath and support AppleTalk networking.
NameCPUGestalt IDRAM SizesBezel
Power Macintosh 950060467256M, 128M, 64M, 32M, 16MPlatinum
Power Macintosh G3 (Blue & White)G3406256M, 128M, 64MPinstripes

Mac OS X — PearPC

PearPC emulates a G4-class machine capable of running early Mac OS X releases. The CPU field is "G3" (the closest available type), but the machine is named as a G4.
NameCPUGestalt IDRAM SizesBezel
Power Macintosh G4 (PCI Graphics)G3406256M, 128M, 64M, 32MPinstripes

NeXT Platform — Previous

Previous emulates the NeXT hardware family. All NeXT machines set platform: "NeXT" and use bezelStyle: "NeXT" with a fixed screen size of 1120×832.
NameCPUSubtypeGestalt IDRAM Sizes
NeXT Computer68030NeXT Computer0 (NEXT_CUBE030)64M, 32M, 16M
NeXTcube68040NeXTcube1 (NEXT_CUBE040)64M, 32M, 16M
NeXTstation68040NeXTstation2 (NEXT_STATION)32M, 16M
NeXTstation Turbo Color68040NeXTstation Turbo Color2 (NEXT_STATION)128M, 64M, 32M, 16M

Hidden Machines

The Power Macintosh G3 (Blue & White) - Experimental machine (POWER_MACINTOSH_G3_BW_DPPC) sets isHidden: true. It is available via a direct URL but does not appear in the main machine browser. The source comment notes it is “not materially interesting (vs the other DingusPPC machines)” since the SheepShaver-based G3 Blue & White covers the same OS range more reliably.

The ALL_MACHINES Array

The complete ordered list exported from machines.ts:
export const ALL_MACHINES = [
    MAC_128K, MAC_128K_SNOW, MAC_512K_SNOW, MAC_512KE, MAC_512KE_SNOW,
    MAC_PLUS, MAC_PLUS_SNOW, MAC_SE, MAC_SE_SNOW, MAC_SE_FDHD_SNOW,
    MAC_CLASSIC_SNOW, MAC_II, MAC_II_SNOW, MAC_II_FDHD_SNOW,
    MAC_IIx, MAC_IIx_SNOW, MAC_IIcx_SNOW, MAC_SE30_SNOW,
    MAC_IIFX, QUADRA_650,
    POWER_MACINTOSH_6100, POWER_MACINTOSH_7200, POWER_MACINTOSH_7500,
    POWER_MACINTOSH_9500, POWER_MACINTOSH_G3_BEIGE, IMAC_G3,
    POWER_MACINTOSH_G3_BW_DPPC, POWER_MACINTOSH_G3_BW,
    POWER_MACINTOSH_G4_PEARPC,
    NEXT_COMPUTER, NEXT_CUBE, NEXT_STATION, NEXT_STATION_TURBO_COLOR,
];
Machines are looked up by name via MACHINES_BY_NAME, which is built from this array.

Infinite HD and Saved HD Availability

Two helper functions gate access to the shared disk libraries:
export function machineSupportsInfiniteHD(machine: MachineDef): boolean {
    if (machine.emulatorType === "Snow") {
        return machine.hasSCSI === true;
    }
    return true;
}

export function machineSupportsSavedHD(machine: MachineDef): boolean {
    if (machine.emulatorType === "Snow") {
        return machine.hasSCSI === true;
    }
    return !machine.mfsOnly;
}
Snow machines require hasSCSI: true for either library. Non-Snow machines always support the Infinite HD, but cannot use the Saved HD if mfsOnly is set (i.e. the Mac 128K).

Build docs developers (and LLMs) love