Driver:Mac 68K: Difference between revisions

From MAMEDEV Wiki
Line 122: Line 122:
NuBus slots support all of these cards:
NuBus slots support all of these cards:
=== Video cards ===
=== Video cards ===
* '''48gc''' is the Apple Macintosh Display Card 4•8.
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).
* '''824gc''' is the Apple Macintosh Display Card 8•24 GC.
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).
** 21" and 16" color monitors default to the “Page-White Gamma” profile which affects white balance.  To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select “Uncorrected Gamma”, and click “OK” to apply the change and close the options dialog.
* '''cb264''' is the  RasterOps ColorBoard 264 video card.
* '''cb264''' is the  RasterOps ColorBoard 264 video card.
* '''laserview''' is the Sigma Designs LaserView video card.
* '''laserview''' is the Sigma Designs LaserView video card.
* '''m2hires''' is the Apple Macintosh II High Resolution Video Card.
* '''m2hires''' is the Apple Macintosh II High Resolution Video Card.
* '''m2video''' is the Apple Macintosh II Video Card.
* '''m2video''' is the Apple Macintosh II Video Card.
* '''mdc48''' is the Apple Macintosh Display Card 4•8.
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).
* '''mdc824''' is the Apple Macintosh Display Card 8•24 GC.
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).
** 21" and 16" color monitors default to the “Page-White Gamma” profile which affects white balance.  To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select “Uncorrected Gamma”, and click “OK” to apply the change and close the options dialog.
* '''portrait''' is the Apple Macintosh II Portrait video card.
* '''portrait''' is the Apple Macintosh II Portrait video card.
* '''radiustpd''' is the Radius Two-Page Display video card.
* '''radiustpd''' is the Radius Two-Page Display video card.

Revision as of 00:07, 25 June 2022

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

  • 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.
    • Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).
  • mdc824 is the Apple Macintosh Display Card 8•24 GC.
    • Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).
    • 21" and 16" color monitors default to the “Page-White Gamma” profile which affects white balance. To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select “Uncorrected Gamma”, and click “OK” to apply the change and close the options dialog.
  • 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.
    • Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.
    • Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type. Use an earlier version of the SuperVideo control panel.
    • Zoom is not supported under System 7 or later.
    • Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like spec8s3,bios=ver12).
    • 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.
    • Hold Option when starting the machine to force video mode selection. Press the space bar when the desired video mode is shown.
    • 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.
    • The 32-Bit QuickDraw extension or System 7 is required for full functionality.
    • Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration. Use an earlier version of the SuperVideo control panel.
    • 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.

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