Apple Macintosh series (Motorola 680x0-based)
WARNING - This page is a Work In Progress!
Designed by a team led by Steve Jobs, the Macintosh was Apple's follow-up to the Apple II series that finally stuck, after many attempts. Macintosh computers are still being made today, albeit with very different hardware and software technology.
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the "Software List CHDs" collection from your favorite ROM provider). Only the very early models were primarily floppy oriented.
Here are some pre-installed images:
For these images, unzip them and run mame maciicx -hard1 mac608.chd, substituting the Mac model and System .chd names accordingly.
If you want to go full DIY, you'll need to use your favorite search engine to find the "Apple Legacy Recovery" CD-ROM .iso and download it.
Or use this guide with screenshots.
- Create a hard disk image however you like (on Linux/BSD/macOS dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500 will create a ~500 MB raw image, or on any system MAME runs on chdman createhd -c none -chs 1023,63,16 -o myhdd.chd will create a ~500 MB CHD image).
- Run mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named).
- When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the "Formatting Software" folder.
- Run "Drive Setup 1.5" and select the HDD, which will appear as <uninitialized>, and proceed to initialize it. It will appear on the desktop called "untitled".
- Quit Drive Setup, close the folders down to the CD-ROM's root, and open the Mac OS folder.
- Open the folder for the System version you're interested in and look for a "Net Install.scr" file.
- Double-click that and the installer will come up after a moment.
Be sure to choose "System Software for all Macs" or "System Software for any Mac" so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it's not great on machines like the Mac Plus with a 4 MiB RAM limit.
Some MAME basics
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine. You can re-enable common MAME keys by pressing the UI Mode key, which by default is Scr Lock on Windows and Linux and forward-Delete on Macs (Fn-Delete on compact keyboards like MacBooks). These keys were chosen precisely because they're very uncommon in emulated machines and therefore unlikely to cause problems, in case you're wondering why they're weird.
When you're in UI mode, these keys do useful things:
- Tab brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.
- Esc exits. If you have confirm_quit set to "0" in your mame.ini (as is the default), it will exit immediately. Otherwise MAME will confirm that you want to exit.
- Left Alt + Enter (Left-Option + Return on Macs) toggles full-screen and windowed mode, like in many PC games.
- P pauses and dims the screen slightly to indicate that you're paused.
- F3 does a forced reset, and left shift + F3 does a "hard" reset, where MAME is torn completely down and restarted. Hard resets are handy for getting some configuration options to take effect, or if you've somehow really messed up the emulation.
- Left Shift + F7 saves a save state, which freezes the current machine state and saves it to disk. MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.
- Plain F7 loads a save state, with the same rules about the save slot.
- F12 takes a screenshot. This will be saved as a .PNG inside the "snap" folder by default, with a folder in the snap folder named after the machine, like "maciici" or "maclc3".
- ~ (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings. If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.
When you *aren't* in the UI mode, these keys are interesting:
- Right Alt or Option is the Command key.
- Left Alt or Option is the Option key.
Models and Clones
- Macintosh 128K (1984 - driver name mac128k)
- - The original machine. Includes a 68000 CPU, 128K of RAM, an integrated 9" black and white CRT monitor with a resolution of 512x384 pixels, a 3.5" single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.
- Macintosh 512K (1984 - driver name mac512k)
- - The so-called "Fat Mac". Identical to the 128K, but with 512K of RAM as the name suggests.
- Macintosh Plus (1986 - driver name macplus)
- - The first significant update to the Mac. Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs. Everything else is the same.
- Macintosh 512KE (1984 - driver name mac512ke)
- - A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .
- Macintosh SE (1987 - driver name macse)
- - A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.
- Macintosh SE FDHD (1987 - driver name macsefd)
- - Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB "SuperDrive", which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.
- Macintosh Classic (1990 - driver name macclasc)
- - Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.
- Macintosh II (1987 - driver name macii)
- - The first major redesign of the Macintosh. Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk. Capable of color and of having multiple video cards and monitors connected.
- Macintosh II FDHD (1988 - driver name mac2fdhd)
- - A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB "SuperDrive".
- Macintosh IIx (1988 - driver name maciix)
- - A Macintosh II FDHD with the processor replaced by a 15 MHz 68030. The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.
- Macintosh IIcx (1989 - driver name maciicx)
- - A Macintosh IIx in a more compact case with fewer NuBus slots.
- Macintosh SE/30 (1989 - driver name macse30)
- - A Macintosh IIx in the same case as the original Macs with the same 9" 512x384 CRT monitor. Has no NuBus slots but does have a single processor-direct slot for expansion.
- Macintosh IIci (1989 - driver name maciici)
- - A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.
- Macintosh IIsi (1990 - driver name maciisi)
- - A Macintosh IIci with a cost-reduced motherboard, using the new "Egret" microcontroller for ADB and PRAM.
- Macintosh IIvx (1993 - driver name maciivx)
- - A Macintosh IIsi in a larger case with a built-in CD-ROM drive and a 33 MHz 68030 processor.
- Macintosh IIvi (1993 - driver name maciivi)
- - A Macintosh IIvx with a 16 MHz 68030 processor.
- Macintosh LC (1990 - driver name maclc)
- - A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case. Limited to 10 MB of RAM total.
- Macintosh LC II (1991 - driver name maclc2)
- - A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.
- Macintosh LC III (1993 - driver name maclc3)
- - A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.
- Macintosh Classic II (1991 - driver name macclas2)
- - A Macintosh LC II in an SE/30 style case with the 9" monochrome 512x384 CRT monitor.
The default configurations
- mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.
- macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.
- macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.
- maclc: 2MB of RAM.
- maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.
The configuration switches
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the -listslots parameter on the commandline. Some Macs have no slots, some have up to 6. NuBus slots use the command line convention nbX, where X is the slot's name, usually 9, a, b, c, d, or e.
- macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.
- maciicx has 3 NuBus slots: nb9, nba, and nbb.
- maciici, maciivx, and maciivi all have 3 NuBus slots, nbc, nbd, and nbe.
- macse has a processor-direct slot called pds.
- macse30 has a processor-direct slot called pds030.
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes. For instance, to remove the default video card in slot 9 on a Mac II, you'd type -nb9 "".
NuBus slots support all of these cards:
- cb264 is the RasterOps ColorBoard 264 video card.
- laserview is the Sigma Designs LaserView video card.
- m2hires is the Apple Macintosh II High Resolution Video Card.
- m2video is the Apple Macintosh II Video Card.
- mdc48 is the Apple Macintosh Display Card 4•8 (MDC 1.0.1).
- Supports monitor resolutions from 512×384 up to 11152×870 at up to 16 colors/grays (4 BPP), and up 640×480 at up to 256 colors/grays (8 BPP). Supports monochrome and color 640×870 75 Hz portrait monitors.
- VRAM can be upgraded to 1 MB in the MAME’s Machine Configuration settings to support higher color modes, turning it into a Display Card 8•24. You must do a hard reset or exit MAME before changes to the VRAM size take effect.
- Black & White (1 BPP), 4 colors/grays (2 BPP), 256 colors/grays and millions of colors (24 BPP) can be supported depending on the VRAM size. Thousands of colors (15 BPP) is not supported.
- Millions of colors requires 32-bit QuickDraw (using the 32-Bit QuickDraw extension with System 6, included in System 7, or included in ROM from the Macintosh IIci onwards
- mdc824 is the Apple Macintosh Display Card 8•24 Revision B (MDC 1.2).
- Supports monitor resolutions from 512×384 up to 11152×870 at up to 256 colors/grays (8 BPP), and up 640×480 at up to millions of colors (24 BPP). Supports monochrome 640×870 75 Hz portrait monitors.
- 21" and 16" color monitors default to the “Page-White Gamma” profile which affects white balance. This can be changed in the Monitors control panel.
- VRAM can be downgraded to 512 kB in the MAME’s Machine Configuration settings with a corresponding loss of support for higher color modes, turning it into a Display Card 4•8.
- portrait is the Apple Macintosh II Portrait video card.
- Supports a 75 Hz 640×870 monochrome portrait monitor.
- radiustpd is the Radius Two-Page Display video card.
- spec8s3 is the SuperMac Spectrum/8 Series III video card.
- Supports monitor resolutions from 512×384 up to 1024×768 at up to 256 colors/grays (8 BPP), and virtual desktop resolutions up to 4096×1536 depending on the color mode.
- Features hardware support for panning and zooming (zoom is not supported under System 7 or later).
- Use the SuperVideo control panel to configure screen resolution and refresh rate, virtual desktop resolution, and zoom controls. Version 3 and later cannot be used to configure this card – use an earlier version of the SuperVideo control panel.
- Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like spec8s3,bios=ver12).
- Hold Option when starting the machine to force video mode selection. Press the space bar when the desired video mode is shown. The modes offered depend on the oscillators installed. You can change one of the oscillators in the Machine Configuration menu.
- If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.
- Interlaced modes are not emulated properly.
- specpdq is the SuperMac Spectrum PDQ video card.
- Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations in 8 BPP modes.
- The 32-Bit QuickDraw is required for color/grayscale modes (only Black & White is supported otherwise).
- Use the SuperVideo control panel to configure screen resolution and refresh rate, and acceleration. Version 3 and later cannot be used to configure this card – use an earlier version of the SuperVideo control panel.
- “Zap” the parameter RAM to force video mode selection on startup. Press the space bar when the desired video mode is shown.
- Alternate oscillator calibration is not working properly. The card will not detect the higher frequency oscillators.
- vikbw is the Moniterm Viking monochrome high-resolution video card.
If you select a resolution for a non-standard aspect ratio (e.g. a 3:4 full-page portrait monitor, or a square air traffic control monitor), you may need to change the view in the Video Options menu to see the screen image at the correct aspect ratio.
For Apple video cards, the available resolutions, refresh rates and gamma/color profiles depend on the connected monitor. You can change the monitor in the Machine Configuration menu. You may need to do a hard reset or exit MAME and start the system again for monitor changes to apply.
Most cards support changing the color mode using the Monitors control panel. Some video cards allow changing the resolution and refresh in the Monitors control panel’s options dialog. Select the monitor so it has a bold border and click the “Options…” button to see if the resolution and refresh rate can be changed. Changes to the color mode apply immediately, but for most cards, you must restart the emulated system for changes to the resolution and refresh rate to apply.
Some video cards provide gamma/color profile options. To see these options, open the Monitors control panel, select the monitor so it has a bold border, hold the Option key so the “happy Mac” boot screen indicator appears, and click the “Options…” button. Available gamma/color profile options appear in a list box on the left. You must restart the emulated system for changes to the gamma/color profile to apply.
High color modes require 32-bit QuickDraw. This may be provided by installing the 32-bit QuickDraw extension on System 6. It is also included with System 7, and provided in ROM with newer Macintosh models starting from the Macintosh IIci.
- asmc3nb is the Asante MC3NB Ethernet card.
- enetnb is the Apple NuBus Ethernet card.
- bootbug is a debugger card which adds an interactive debugger display terminal.
- image is a MAME-specific card that lets you access hard disk images which don't have partition tables (a raw HFS filesystem image). These are commonly created and used by emulators including Mini vMac, Basilisk II, and SheepShaver that don't emulate the Macintosh's SCSI subsystem but instead patch out the ROMs to perform disk I/O. Currently this device is limited to images up to 256 megabytes in size.
- quadralink is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.
Processor-Direct and other non-NuBus cards
The Mac SE's processor-direct slot is named pds and supports one card currently:
- radiusfpd Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)
The Mac SE/30's processor-direct slot is named pds030 and currently supports these cards, all of which provide an external, larger monitor:
- 30hr Micron/XCEED Technology Color 30HR
- cb264 RasterOps ColorBoard 264/SE30
- lview Sigma Designs L-View
- mc30 Micron/XCEED Technology MacroColor 30
- pc816 Lapis ProColor Server 8*16
The -ramsize switch controls the amount of RAM on most Macs.
- macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.
- maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.
- maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.
- maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.
- maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.
To see what kinds of disk and other images are accepted for a given configuration, use the -listmedia option alongside whatever slot cards you want to use. Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.
Note that some cards add configurable slots or ports of their own. You can see those by adding the card and appending -listslots to the end of the command line.
A note about hard drive and CD-ROM images
MAME versions before 0.214 were only able to use images that had been converted to MAME's own CHD format. This is no longer the case.