Driver:Mac 68K
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).
- 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 (not currently supported) 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
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.
- 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
- 48gc is the Apple Macintosh Display Card 4•8.
- 824gc is the Apple Macintosh Display Card 8•24 GC.
- 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.
- portrait is the Apple Macintosh II Portrait video card.
- radiustpd is the Radius Two-Page Display video card.
- spec8s3 is the SuperMac Spectrum/8 Series III video card.
- 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.
- Firmware 1.3 allows 1024×768, 832×624, 640×480, 512×384, and 640×480i (NTSC) modes to be selected.
- Firmware 1.2 allows 1024×768, 832×624 and 640×480 modes to be selected.
- Interlaced modes are not supported properly. Video clock source selection is not supported properly.
- Virtual desktop mode is not emulated at all.
- specpdq is the SuperMac Spectrum PDQ video card.
- This video card is not working properly. The CRTC, color depth selection, and 8-bit video acceleration are not fully emulated.
- vikbw is the Moniterm Viking monochrome high-resolution video card.
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. 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 supports these cards, all of which currently 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, 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.