Driver:Apple II
Apple II series
Designed by Steve Wozniak, the Apple II series was both one of the first mass-market 8-bit microcomputers and the longest-lived. The machines exemplified Wozniak's design sensibilities of not including hardware when software can perform the same function, and of being wide open for expansion. Elements of the II's design influenced many later computers; PCs today have expansion slots in part because the Apple II did, for instance.
Quickstart
Assuming you don't have the Software List library, you can use MAME like any other Apple II emulator with the disk images you already have. For the II, II Plus, IIe, IIc, and IIGS, you can boot a 5.25" disk by using the command line switch -flop1. For example, "mame64 apple2e -flop1 Dung_Beetles.dsk". For the IIc Plus and IIGS, you can boot a 3.5" disk image by using the switch -flop3. For example, "mame64 apple2gs -flop3 FTA_Nucleus.2mg".
Models
- Apple II (1977 - driver name apple2)
- - The original machine. Includes a 6502 CPU, 8 expansion slots, up to 48KiB of RAM on the motherboard, cassette and game controller I/O, a 1-bit speaker clicker, and video modes including 40x24 text, 40x48 16-color "lo-res" graphics, and 6 color (8 but there's two blacks and two whites) 280x192 "hi-res" graphics. In addition, lo or hi-res graphics could be displayed along with 4 lines of text at the bottom.
- Apple II Plus (1979 - driver name apple2p)
- - Mostly a ROM change; Wozniak's Integer BASIC was replaced with a licensed version of Microsoft BASIC, and the system's firmware was extended to be able to auto-boot from cards with a certain set of signature bytes in their firmware ROM.
- Apple IIe (1983 - driver names apple2e, apple2ee, apple2ep)
- - Condensed a large portion of the previous systems (which were primarily off-the-shelf 74-series TTL chips) into two custom ICs, "IOU" and "MMU". Slot 0, which on the II and II Plus normally contained a 16K "language card" to expand the system to 64 KiB, was eliminated and 64 KiB is on board in a configuration compatible with the language card. The system also supports a second 64 KiB of RAM for a total of 128 KiB, and brings in a series of double-resolution video modes inspired by the ill-fated Apple ///. These include 80x24 text, 80x48 16-color "double-lo-res" graphics, and 560x192 16-color "double-hi-res" graphics.
The IIe was later "enhanced"; this replaced the 6502 CPU with a WDC 65C02 that included additional instructions, and added GUI-drawing characters to the built-in text font. Finally, a "platinum" IIe was released that came in a revised gray case (instead of the previous beige) and had the keyboard expanded to include a numeric keypad.
- - Condensed a large portion of the previous systems (which were primarily off-the-shelf 74-series TTL chips) into two custom ICs, "IOU" and "MMU". Slot 0, which on the II and II Plus normally contained a 16K "language card" to expand the system to 64 KiB, was eliminated and 64 KiB is on board in a configuration compatible with the language card. The system also supports a second 64 KiB of RAM for a total of 128 KiB, and brings in a series of double-resolution video modes inspired by the ill-fated Apple ///. These include 80x24 text, 80x48 16-color "double-lo-res" graphics, and 560x192 16-color "double-hi-res" graphics.
- Apple IIc (1984 - driver names apple2c, apple2c0, apple2c3, apple2c4)
- - This was an enhanced IIe with 128 KiB of RAM packed into a small "pizza box" style form factor. Because there was no room for slots, the IIc included hardware equivalent to two serial cards, a mouse card, and a floppy disk controller and drive.
Later versions of the IIc included support for external 3.5" disk drives and a memory expansion slot which provided the equivalent of the 1 MiB Apple II Memory Expansion Card.
- - This was an enhanced IIe with 128 KiB of RAM packed into a small "pizza box" style form factor. Because there was no room for slots, the IIc included hardware equivalent to two serial cards, a mouse card, and a floppy disk controller and drive.
- Apple IIGS (1986 - driver names apple2gs, apple2gsr0, apple2gsr1)
- - The 16-bit Apple II. Built around a WDC 65C816 CPU (which had a full 65C02 emulation mode) running 3 times faster than earlier machines, the IIGS is 99% compatible with the enhanced IIe but was also capable of running new 16-bit software that could directly access up to 8 MiB of RAM. The ROMs included a full optimized 65C816 port of the Macintosh's Toolbox APIs and Mac apps written in Pascal or C could be ported over with almost no code changes. The IIGS introduced the concept of switchable slots, where each of the 7 slots could be switched between a built-in function and using a card plugged into the slot. This provided the integration of the IIc combined with the expandability of the IIe.
Built-in hardware included two serial ports, a detachable keyboard and mouse supported by the then-new Apple Desktop Bus (ADB), 5.25" and 3.5" floppy support, a 32-oscillator Ensoniq sample-playback synthesizer chip, and new video modes: 320x200 "Super Hi-Res" with 16 unique colors per horizontal line, and 640x200 "Super Hi-Res" with 4 unique colors per scanline. Unlike previous Apple IIs, these new modes were not built on NTSC trickery and provided real full-color images with no bleeding or other artifacts.
- - The 16-bit Apple II. Built around a WDC 65C816 CPU (which had a full 65C02 emulation mode) running 3 times faster than earlier machines, the IIGS is 99% compatible with the enhanced IIe but was also capable of running new 16-bit software that could directly access up to 8 MiB of RAM. The ROMs included a full optimized 65C816 port of the Macintosh's Toolbox APIs and Mac apps written in Pascal or C could be ported over with almost no code changes. The IIGS introduced the concept of switchable slots, where each of the 7 slots could be switched between a built-in function and using a card plugged into the slot. This provided the integration of the IIc combined with the expandability of the IIe.
- Apple IIc Plus (1988 - driver name apple2cp)
- - This was a final-configuration IIc (with the memory expansion slot) with the internal 5.25" disk drive swapped for a 3.5" one and a licensed copy of the 4 MHz Zip Chip accelerator included.
The default configurations
MAME defaults to configuring these systems to run the widest variety of software "out of the box".
- Apple II and II Plus: 16K Language Card in slot 0, Mockingboard in slot 4, Disk II controller and 2 drives in slot 6.
- Apple IIe: 128 KiB RAM installed, Mockingboard in slot 4, Disk II controller and 2 drives in slot 6.
- Apple IIc: Mockingboard 4C (third-party add-on which gives a Mockingboard in slot 4) is installed. -ramsize may be used to include up to 1 MiB of expansion RAM on the later models.
- Apple IIGS: 1 MiB of expansion RAM is installed, which allows running all known software. Stereo output is included (it was optional on the real system). 2 each of 3.5" and 5.25" drives are included.
- Apple IIc Plus: -ramsize may be used to include up to 1 MiB of expansion RAM.
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. The Apple II and II Plus have 8 slots, which are "sl0" through "sl7" plus a game port. The IIe has 8 slots, "sl1" through "sl7" plus the "aux" slot and the game port. The IIgs has "sl1" through "sl7", while the memory slot is handled through the "ramsize" switch. For instance, "-ramsize 4M" on the IIgs gives you 4 megabytes of RAM.
Slot 0 on the II and II Plus can have the following cards:
- lang is the standard 16K Apple Language Card. This is installed by default, giving you a 64K system.
- ssram is the Saturn Systems 128K card, which is compatible with the language card and has additional RAM for programs which can use it.
Slots 1-7 on the II, II Plus, IIe, and IIgs generally support all of these cards:
- diskii is the standard Apple 2-drive floppy controller. This is the old-style not-very-accurate version but it may work with some marginal disk images that the default controller does not.
- diskiing is the new cycle-perfect Disk II controller. This one supports .WOZ images, including copy-protected ones.
- diskiing13 is the cycle-perfect Disk II controller with the old 13-sector PROMs installed, so it can boot DOS 3.2 13-sector disks without running BOOT13 from the DOS 3.3. System Master.