Apple II - Overview

Overview

An external 5ΒΌ-inch floppy disk drive, the Disk II, attached via a controller card that plugged into one of the computer's expansion slots (usually slot 6), was used for data storage and retrieval to replace cassettes. The Disk II interface, created by Steve Wozniak, was regarded as an engineering masterpiece for its economy of electronic components. While other controllers had dozens of chips for synchronizing data I/O with disk rotation, seeking the head to the appropriate track, and encoding the data into magnetic pulses, Wozniak's controller card had few chips; instead, the Apple DOS used software to perform these functions. The Group Code Recording used by the controller was simpler and easier to implement in software than the more common MFM. In the end, the low chip count of the controller helped make Apple's Disk II the first affordable floppy drive for personal computers. As a side effect, Wozniak's scheme made it easy for proprietary software developers to copy-protect the media on which their software shipped by changing the low-level sector format or stepping the drive's head between the tracks; inevitably, other companies eventually sold software to foil this protection. Another Wozniak optimization allowed him to omit Shugart's Track-0 sensor. When the Operating System wants to go to track 0, the controller simply moves 40 times toward the next-lower-numbered track, relying on the mechanical stop to prevent it going any further down than track 0. This process, called "recalibration", made a loud buzzing (rapid mechanical chattering) sound that often frightened Apple novices.

The approach taken in the Disk II controller was typical of Wozniak's design sensibility. The Apple II used several engineering shortcuts to save hardware and reduce costs. For example, taking advantage of the way that 6502 instructions only access memory every other clock cycle, the video generation circuitry's memory access on the otherwise unused cycles avoided memory contention issues and also eliminated the need for a separate refresh circuit for the DRAM chips. Rather than use a complex analog-to-digital circuit to read the outputs of the game controller, Wozniak used a simple timer circuit whose period was proportional to the resistance of the game controller, and used a software loop to measure the timer.

The text and graphics screens had a complex arrangement (the scanlines were not stored in sequential areas of memory) which was reputedly due to Wozniak's realization that doing it that way would save a chip; it was less expensive to have software calculate or look up the address of the required scanline than to include the extra hardware. Similarly, in the high-resolution graphics mode, color was determined by pixel position and could thus be implemented in software, saving Wozniak the chips needed to convert bit patterns to colors. This also allowed for sub-pixel font rendering since orange and blue pixels appeared half a pixel-width further to the right on the screen than green and purple pixels.

Read more about this topic:  Apple II