Driver:Mac 68K

From MAMEDEV Wiki

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.

Quickstart

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). If you are on macOS or Windows, you can use the program Disk Jockey to create a new image that's already partitioned and just needs to be formatted.
  • 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 for MAME 0.251 and later:

  • Left Alt or Option is the Command key.
  • Right Alt or Option is the Option key.
  • F12 is the Power key at the very top of the ADB keyboard. On some Macs it's part of a key sequence to activate a debugger if one is installed.

These keys were changed in 0.251 to make them consistent between the Mac and Apple II family machines. For MAME 0.250 or earlier:

  • 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 Color Classic (1993 - driver name maccclas)
- A Macintosh LC II in an all-in-one case with a Sony Trinitron monitor.
  • 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 LC III+ (1993 - driver name maclc3p)
- A Macintosh LC III with the processor bumped from 25 to 33 MHz.
  • Macintosh LC 520 (1993 - driver name maclc520)
- A Macintosh LC III in an all-in-one case with a Sony Trinitron monitor.
  • Macintosh LC 550 (1994 - driver name maclc550)
- A Macintosh LC 520 with the processor bumped from 25 to 33 MHz.
  • Macintosh Classic II (1991 - driver name macclas2)
- A Macintosh LC II in an SE/30 style case with the 9" monochrome 512x384 CRT monitor.


  • Macintosh Quadra 700 (1991 - driver name macqd700)
- The first 68040 Mac, with a 25 MHz 68040. Came in a IIcx style case (codename was "IIce") that was designed to be stood vertically on its side, with on-board Ethernet and a minimum of 4 MiB of RAM. The name "Quadra" comes from the "4" in "68040".
  • Macintosh Centris 610 (1993 - driver name macct610)
- The lowest-end 68040 machine, in a pizza box style enclosure with a 20 MHz 68LC040 (no FPU), no Ethernet, and 4 MiB RAM standard in the base configuration. Pricier configurations were available with a full 68040, on-board Ethernet, and 8 MiB of RAM. MAME defaults to that expanded configuration to make a more usable machine.
  • Macintosh Centris 650 (1993 - driver name macct650)
- The now-midrange 68040 machine and direct replacement for the Quadra 700. It's in the same case as the IIvx and IIvi and has the same 25 MHz 68040 as the Quadra 700.
  • Macintosh Quadra 800 (1993 - driver name macqd800)
- A Quadra 700 with much of the motherboard consolidated onto 2 ASICs. The CPU got a boost to 33 MHz and standard RAM was boosted to 8 MiB. This was the debut of a new, much disliked mid-tower case that was later used for the Power Macintosh 8100/80.
  • Macintosh Quadra 610 (1993 - driver name macqd610)
- After it was discovered that consumers didn't understand the "Centris" branding meant "midrange", the two Centris machines were upgraded and renamed to "Quadra". In this case, the CPU moved up to 25 MHz (still a 68LC040 in the lowest-end configuration) and Ethernet became standard. Also, the newly promoted Quadras had modifications to their case bezels to accommodate CD-ROM, ZIP, and other removable-media drives.
  • Macintosh Quadra 650 (1993 - driver name macqd650)
- Same as the Centris 650, but the CPU is now always a full 68040 (no 68LC040) and the CPU speed increased to 33 MHz.


  • Macintosh Quadra 605 (1993 - driver name macqd605)
- A cost-reduced version of the Quadra 800/610/650 generation but still quite capable.
  • Macintosh LC 475 (1993 - driver name maclc475)
- A Quadra 605 in an LC 520/550 all-in-one case with a Trinitron monitor.
  • Macintosh LC 575 (1994 - driver name maclc575)
- An LC 475 with the CPU boosted to 33 MHz.


  • Macintosh Quadra 630 (1994 - driver name macqd630)
- A much further cost reduction of the previous Quadra 605/LC 475/LC 575 generation. There's a new video chip with hard-coded video modes (instead of programmable) which limits monitor support, and the SCSI hard disk was replaced with an ATA/IDE model from the PC world. These Macs are notoriously among the worst made for those and other reasons.
  • Macintosh LC 580 (1995 - driver name maclc580)
- A Quadra 630 in an LC 575 case, but the Trinitron monitor was cost-reduced to a standard PC VGA shadow-mask CRT.

The default configurations

  • mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.
  • macplus, macse, macsefd, macclasc: Maxxed out with 4MiB of RAM by default.
  • macii, maciix, maciicx: 2MiB of RAM by default, can be increased to 128MiB.
  • maclc: 2MiB of RAM by default, can be increased to 10MiB.
  • maclc2, maccclas: 4MiB of RAM by default, can be increased to 10MiB.
  • maclc3, maclc3p, maclc520, maclc550, maciivx, maciivi: 4MiB of RAM, can be increased to 36MiB.
  • macqd700: 4MiB of RAM by default, can be increased to 128 MiB.
  • macqd800, macct610, macct650, macqd610, macqd650: 8 MiB of RAM by default, can be increased to 128MiB.

In general, System versions up through 6.0.8 will fit well into as little as 1MiB of RAM. 7.0 through 7.1.1 will fit into as little as 2MiB of RAM. 7.5 through 8.1 really need 8MiB.

How do I get files into the emulation?

The easiest way is to create a CD-ROM .ISO image. Platform-by-platform instructions follow:

  • Mac OS X / macOS: Move the files you want the Mac to see into a folder using the Finder or the command line.
    • From the command line, type hdiutil makehybrid -iso -joliet -o Mac.iso Folder_Name where Folder_Name is the path to the folder containing the files you wish to transfer to the Mac. That will create an .ISO image named Mac.iso which you can then insert into the running emulation through MAME's File Manager, or by using the -cdrom switch when starting up MAME.
  • Linux: Move the files you want the Mac to see into a directory. From the command line, type mkisofs -o Mac.iso Directory_Name where Directory_Name is the path to the directory containing the files you wish to transfer to the Mac. That will create an .ISO image named Mac.iso which you can then insert into the running emulation through MAME's File Manager, or by using the -cdrom switch when starting up MAME.

On macOS, if you have a hard disk image for use with Mini vMac or Basilisk II, you can use the program Disk Jockey to convert it to an image compatible with MAME (and real hardware with a device like BlueSCSI or ZuluSCSI). Simply change to the "Disk-O-Matic" tab and load the vMac or Basilisk II image and it will create a new MAME-compatible image in your Downloads folder. There is a Windows version of Disk Jockey as well but it currently lacks that feature.

The configuration switches

Configuring slots

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.
  • macqd700 and macqd800 have 2 NuBus slots, nbc and nbd.
  • macct650 and macqd650 have 2 NuBus slots, nbc and nbd.
  • 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:

Video 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.

Ethernet cards

  • asmc3nb is the Asante MC3NB Ethernet card.
  • enetnb is the Apple NuBus Ethernet card.

Misc. cards

  • 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.

Communications cards

  • 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

More configuration

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, maccclas, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.
  • maclc3 and maclc520 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.

Technical info

Driver:Mac_68K:Tech_Info