Tuesday, February 17, 2015

The Apple II's Influences on the IBM PC's Design

CPU & RAM

The Apple II uses a 6502 CPU running at 1,022,727Hz.  The IBM PC uses a 8088 CPU running at 4,772,726MHz.  Both systems use the same master clock, 14,318,180Hz, principally because both systems need an even multiple of 3,579,545Hz, the NTSC color burst frequency.  IBM could boast its clock speed advantage over the Apple, but the comparison was not strictly fair because the CPU architectures were quite different.

With RAM, IBM was on a more solid footing.  The Apple II and II+ were designed to be upgraded to a maximum of 48KB on the system board and an extra 16KB on the Language Card could be installed in slot 0.  That was the limit for the official expansions.  IBM's system could be upgraded to 64KB on the system board with only the memory chips.  It also used planar memory to test for single bit memory errors, ultimately giving a fair boast that its system was more reliable.  It also could (eventually) be upgraded officially to 10 times the amount of RAM as the Apple II.  Like the Apple IIe, the PC could not access all this memory at once but had to shift memory in 64KB segments.  The PC's CPU could do all this via its instruction set, the Apple II had to use multiple "softswitches" to bankswitch memory.  Eventually both computers were able to address megabytes of additional RAM, but using extended bankswitching methods for the Apple II and Expanded Memory boards for the IBM PC.

Graphics

The Apple II's built in graphics could display 15 unique colors in a 40x48 column low resolution graphics mode and 6 unique colors in a 280x192 high resolution graphics mode.  The Apple II's color was based on NTSC decoding, it required an NTSC color monitor to produce any color.  Typical monochrome monitors would often use green phosphors.  The human eye is most sensitive to green light and green on black produced excellent contrast for the time.  White text on a black background was seen as inducing more eye strain.

The Apple II by default only produced capital letters in its 40 column by 24 line text mode.  The keyboard's shift keys only would modify the upper row of keys.  In order to produce lower case letters, the character generator ROM would need to be replaced or a third party 80-column card would need to be installed.  Additionally, users would have to run a wire from the keyboard connector to the third joystick push button input for the shift-key mod, which allowed the Apple II to determine the state of the shift key directly.

IBM made improvements to both the text and graphics display, but the inspiration is obvious.  IBM released two display adapters, the Monochrome Display and Printer Adaper (MDA) and the Color/Graphics Display Adapter (CGA).  Both could show lowercase text and supported an 80 column mode. The MDA used a green screen with a digital connection for lossless output quality.  However, like the Monitor III, frequently used with Apple IIs, it had a slow refresh rate and long persistent phosphors to compensate.  Also, IBM added an extra row of text in its text modes, thus it displays 40 columns or 80 columns by 25 rows.

The MDA did not support color or bitmap graphics, but the CGA did.  IBM ensured that color would be supported on high quality digital color monitors (although they did not release one at first) and composite color monitors.  By using a half-filled ASCII character and different colors for the foreground and background attributes for each character cell, IBM could perform the equivalent of the Apple II's low resolution graphics mode with an extra line.  IBM's 320x200 composite color mode corresponded fairly closely to Apple's II's high resolution graphics mode, as seen in early PC ports of Apple II games like Adventure in Serenia and Ultima II.  The color choices were a bit limited, but you could still get a decent red/orange in addition to a cyan/green and a magenta.

IBM also supported a 640x200 composite color mode, and here the color choices had a much wider range. For old CGA, there were black, white, two identical grays, three blues, yellow, orange, three greens, brown, one maroon, one magenta and one pink.  In the Apple IIe with a revision B motherboard and 128KB of RAM, Apple added a similar double high resolution 560x192 mode with fifteen unique available colors. Unlike the Apple, IBM supported direct color on the high resolution mode, the foreground color was selectable.

While IBM did not have the split text/graphics modes of the Apple II, invaluable for programmers, it did allow an MDA and CGA to coexist in the same system.  Thus the programmer could see the text of his program on one screen and the output on another.  However, this was a very expensive option.

Sound

Neither the IBM nor the Apple have dedicated sound hardware.  The Apple II must use the CPU to generate all sound by sending data to the speaker output at regular intervals.  Timing is left to the CPU, keeping the CPU from working on other program routines.  That is why music is rarely heard during gameplay.  However, Pulse Width Modulation came naturally by this method to produce more complex sounds than was typically expected at the time.

IBM improved on the Apple II design because it had a timer chip connected to the speaker output.  All the CPU had to do was to set the frequency of the timer and a square wave would be output to the speaker until a new frequency value was sent to the timer.  This freed the CPU to do other tasks, making music possible during gameplay.  The PC speaker could also be controlled via direct writes like the Apple, and eventually gaming companies and other programmers used it to produce digitized sound.  Like the Apple, this sound would seldom be heard during any kind of animation or interactivity.

Input - Joystick

IBM virtually copied Apple's design here.  Their improvements were minor, IBM used more commonly available potentiometers for the directionals, four pushbuttons compared to three (one of which was taken over for the shift key mod on the Apple II), and a proper D-sub connector instead of a DIP socket.  However, it was not built in, unlike Apple's interface, and expansion slots were precious on a 5-slot IBM PC.

Input - Keyboard

IBM went their own way here, their keyboard was influenced by their Selectric typewriters and their previous mini-computers.  Apple played catch up here, as its keyboards for the Apple IIe and //c closely hew to IBM's in terms of key placement and not to its earlier ASCII keyboards found on the II and II+

Input - Mice

Mice were not yet readily available in 1981, but Apple released its Lisa computer with one in 1983 and Microsoft soon followed.  The Lisa had a built-in port for its mouse, and Microsoft released a version of its mouse for a serial port, which was often found in a PC.  Microsoft added a second button and a more ergonomic form factor compared to the Lisa mouse.  Apple released a Mouse Card for its IIe and Microsoft and other companies released bus mice, which required an interface card, throughout the 1980s and early 1990s.

Serial Communications

The Apple II had its Super Serial Card, IBM had its Asynchronous Communications Card.  The SSC was based around the 6551 and the ASC around the 8250.  Both were companion chips to their respective CPUs.  The SSC was a combination of two previous cards, one for modem use, one for printing.  The ASC could work with either.  Maximum speed for the 8250 was 9,600 bps and 19,200 or 115,200 for the 6551.  However, that 9,600 bps was reliable with the CPU doing other things thanks to interrupts, Speeds above 9,600 bps required almost all the Apple II's time.

Printers

While parallel printer cards existed for the Apple II, typically slower serial printers were used.  The Grappler 3rd party parallel interface cards were popular purchases, but a Super Serial Card was almost ubiquitous with Apple II systems.  With IBM systems, the situation was reversed.  Often people think that the PC supported only parallel printers, but this is far from the truth.

Expansion Bus

Here is another example where IBM took a great deal of inspiration from Apple II's bus design.  The Apple II has eight 50-pin connectors for expansion cards, the IBM PC has five 62-pin connectors for expansion cards.  Physically the connectors are very similar.  IBM wisely decided to give its cards extra support by designing brackets that would screw into the back of the chassis and plastic stablizers to keep the long cards in place.  The Apple II keeps cards held in only by the friction of the connector and only had a few v-shaped cut outs in the back of its case for wires and connectors.

IBM decided to make its slots generic, unlike the Apple II which mapped address space to each particular card.  While this could be overcome in the Apple II, in practice certain types of peripherals began to lay claim to each slot, SSCs in slots 1 & 2, 80 column cards in slot 3, Disk II in slot 6, mouse cards in slot 4, fixed disk storage in slot 7 and 3.5" drive controllers in slot 5.  It got worse for the IIe and //c.  IBM also gave its expansion bus IRQ and DMA controllers, allowing peripherals to assert IRQs and DMAs without monopolizing the system.  Apple II's IRQs and DMAs were implemented very simply, slot 1 got priority, then slot 2 and so forth.  Eventually, cards began to hog the limited number of IRQs available in the PC, which IBM did not fully alleviate with extra IRQs in the AT because not all systems had them.

Finally, while Apple II devoted one expansion slot, slot 0, for memory expansion, every slot in the IBM PC could be used for memory expansion.  The PC ISA bus allowed total access to the I/O and Memory Bus, making memory expansion flexible for the IBM PC, XT, Portable, AT and XT/286 and their clones.

Floppy Drives

IBM used the same floppy disks as Apple (and Atari) did, the 5.25" flexible disk.  Initially IBM's drives were single sided and held 160KB, only 17KB more than Apple's drives.  However, IBM's scheme had more flexibility than Apple's. as it soon was able to use double sided drives and expand each side of the disk to 180KB.  It also had a true floppy disk controller chip on its card, the NEC uDP765.  The Apple II Disk II controller card was made up of a small number of standard logic chips and 256 bytes of firmware and provided the bare minimum to interface with the floppy drive.

IBM and Apple disk formatting were quite different.  Apple used 35 tracks and 16 256 byte sectors.  IBM used 40 tracks and 8 or 9 512 byte sectors and 1 or 2 sides.  Apple also used Group Code Recording while IBM used Modified Frequency Modulation encoding for their disks.  That truly made the disks unreadable in the other machine without extra hardware.

Each Apple II's Disk II interface card supported two drives.  IBM's controller supported two internal disk drives, but also could support two external disk drives as well.  Rarely did an average user ever use more than two floppy drives with either system.  Both systems only booted from the first drive.

System Board and Chassis

Apple had a very open design philosophy regarding its Apple II.  There are no custom or proprietary or security chips on its board and it published full schematics and BIOS listings for just about everything outside of Applesoft BASIC.  Similarly, IBM had no custom or proprietary or security chips on its PC system board.  It did have 808x off-the-shelf support chips on its motherboard, whereas Apple relied strictly on TTL logic for the Apple II.  It also published full schematics and BIOS listings (except for the BASIC), but you had to purchase it separately.

Both Apple and IBM used switching power supplies instead of linear power supplies.  Instead of having large power bricks to cutter up your wall socket, you only need a generic grounded plug wire.  The plug will fit in an Apple or IBM machine.  IBM added a fan directly to its power supply, while Apple II users often added a fan via a "system saver".  Their supplies provided the usual voltages, +5, -5, +12 and -12.  They plugged into a connector on the board rather than being part of the circuitry.

Apple also had a totally open access policy to its computer.  The case cover had no screws, only plastic friction and whatever was on it held it in place.  IBM was also very generous here.  While its case had screws (2 then 5), this was not intended to hinder the user but to keep its industrial-strength chassis secure.  Just like the Apple II, the system board and the power supply could be easily removed.  The RAM could be upgraded on the motherboard just by inserting chips into the sockets.

1 comment:


  1. Hi,

    There is one point to add about the graphic capability.

    The Apple II has the advantage to have 2 graphic Pages (in 280*192, = 8KB) available at address $2000 and $4000. You can select the one you want to be displayed using a softswitch. The CGA doesn't have such facility and this has change the Arcade gaming industry. For flicker free animations, you can prepare your screen in the page which is not displayed, and once ready, switch to it immediately.

    Even if the resolution is lower on the Apple II (280*192 6 colors vs 320*200 4 colors), Arcade games were much more better on the Apple II. The original IBM PC has never been a gamer machine. The Apple II was.

    Olivier

    ReplyDelete