How the Apple II Began and How it Grew
Originally Published: Jun. 2, 2007
In 1975, when Woz was designing that first Apple computer, computer hobbyists were building small computers from kits. Those kit computers resembled the minicomputers of the time. Their only built-in input/output (I/O) consisted of binary lights and switches on the front panel. A technician or programmer could use the lights and switches for stepping through a program or repairing the computer. For a user running an application, however, the computer was connected to an external terminal, typically a Teletype.
Memory on those kit computers came in increments of 1K (one thousandth of a megabyte) and most of those computers had less than 8K of RAM. For program and data storage, small computers used either audio cassettes, which were frustratingly slow, or the then standard 8-inch floppy disks, which were very expensive.
The Apple I was an assembled and tested circuit board. It was not a kit, but some assembly was required. To make a complete system, the purchaser added a power transformer, a keyboard, a video monitor, and an appropriate case or box.
Two important innovations set the Apple I computer apart from other small computers of the time:
By building all the electronics onto a single board and using advanced technology, Woz had produced a computer for hobbyists for about $1,000 (after adding all necessary components), a price much lower than that of competing machines. Central to the affordability of the Apple I and later Apple II computers was the 6502 processor.
The performance of the 6502 and all other microprocessors is related to clock speed. All microprocessors have an internal clock that controls the execution of instructions and synchronizes the microprocessor to the rest of the hardware. The relationship between clock speed and performance was of source of confusion in comparisons between 6502-type microprocessors and 8080-type microprocessors like the 8080, 8088, and 8086.
For computers of comparable cost, the clock speed of a 6502 was generally slower than that of an 8080. But the 6502 did more work during each clock cycle. The effective performance of a 6502-based computer was the same as that of an 8080-based computer whose clock speed was about 2.5 times as fast. In other words, a 6502 computer like the Apple II running at 1 MHz was about as powerful as an 8080 computer running at 2.5 MHz. Thus, the Apple IIc Plus, with its 4 MHz clock, could be compared to an 8080-based machine with a clock speed of 10 MHz.
The Apple II computers used Dynamic Random Access Memory (DRAM). DRAM would one day become an industry standard, but at the time Woz designed the Apple I, microcomputers all used Static Random Access Memory (SRAM). In a RAM chip, each bit is stored as an electrical charge in a small capacitor. Because the storage device for each bit was smaller than the equivalent SRAM device, DRAM technology could pack more bits into each chip, and the price per bit was lower. DRAM capacitors did not dissipate power, so it used less power than SRAM, and the computer's power supply could be smaller and cheaper.
Woz's decision to use the 4K DRAM chip when he designed the Apple I was well informed. He knew that the 4K chips would soon be followed by 16K chips that used the same size package, the same pin arrangement, and the same kind of memory refresh. By the time the Apple II was introduced, the 16K chips had become available, and Woz could offer a computer with four times as much memory as his first machine.
The original Apple II had three rows of RAM chips, eight in each row. Each chip had one output pin, so it took eight chips in parallel to store data by the byte. With 4K chips, each row could store 4K and the maximum memory size was 12K. With 16K chips, the maximum memory size was 48K. By the time Woz designed the Apple II, 48K was an enormous amount of RAM for a microcomputer. More recent Apple II models used larger RAM chips. In newer models, each RAM chip had more output pins, usually four or eight, so it no longer took eight chips to make a row of RAM.
DRAM presented one problem to Woz - impermanence. DRAM was called dynamic because the charges in the capacitors were not permanent. Over time, the charges leaked away, so the memory had to be renewed periodically by a process known as memory refresh. Refreshing memory required additional circuitry that made the computer more complicated. When Woz was designing the Apple I, he realized that the advantages of low power and low cost more than made up the additional complexity required for memory refresh. Besides, he had devised a method to perform it almost for free by combining it with the video display.
The image on a video screen is redrawn at least 60 times every second. Even when data isn't changing, a computer generating a video display has to keep sending data to the display, continually refreshing the image on the screen.
In the Apple II, specific areas of RAM called the display pages were connected to special-purpose hardware that generated the signals that drove the video monitor. There were four display pages in all Apple II computers; two were for text and Lo-Res graphics and two were for Hi-Res graphics. The Apple IIgs also had a Super Hi-Res display page. The display hardware generated addresses that cycle the selected page over and over again. The display hardware read the data at those addresses and converted it into the video signal that produced patterns of dots on the display screen.
By an interesting coincidence, the process of refreshing the video display was similar to the one used to refresh the memory in DRAM chips. To perform memory refresh, the computer had to send a repeating sequence of addresses to each chip. Woz took advantage of this similarity and designed the display hardware in the Apple II to refresh the memory in the DRAM chips at the same time that it refreshed the display. That way, the Apple II got the benefits of dynamic RAM without additional circuitry to refresh it.
A video display is made up of dots or pixels displayed in horizontal lines that are drawn one after another, very rapidly. For the display used in the Apple II, it took 40 microseconds for the video display to sweep across each horizontal line on the screen. The hardware for the 40-column display read data from the computer's display at the rate of one byte per microsecond. Each byte contained one character, so 40 microseconds was just enough time to generate 40 characters: 40 microseconds x 1 character per microsecond = 40 characters.
Each row of characters was eight video lines high, so the hardware scanned the text data for each row eight times and generated eight horizontal lines of dots going on to the next row of text. To double the number of columns in the text display without changing the existing displays, the Apple engineers decided to double the existing text page by using two banks of RAM with the same addresses and reading from both banks at the same time. The hardware in the Apple IIe thus generated addresses in the display page at the same rate as before, but now it read two types of display data, one from each bank, during each microsecond: 40 microseconds x 2 characters per microsecond = 80 characters.
One advantage of this approach was low incremental cost. The display hardware required only slight changes from the original 40-column design. The main changes were the addition of memory to double the column width of the text page and a character generator that had to run twice as fast. The character generator was the hardware that converted the bytes of data into dots on the screen. The other display hardware could remain much the same as before.
Another advantage of this approach was its compatibility with applications written for the 40-column display. The hardware for the 40-column display was still there in the newer models, so older applications did not need to be changed to run on newer machines.
One of the problems with doubling the column width of the text page was how to store different display data in the two banks. Software can't store display data in the auxiliary text page in the normal way (just using different addresses) because the addresses were the same in both banks. To handle this problem, Apple engineers added a bank-select switch that could be changed by the software.
Once the software switch was available, it became possible for the Apple IIe to use the parallel banks of RAM not only for the display page but also for the entire 64K address space, thereby doubling the amount of RAM in the system. The original 80-column Text Card for the Apple IIe was a low-cost option containing only enough auxiliary RAM to double the text page - 1K. It was soon followed by the Extended 80-column Text Card with 64K of auxiliary RAM, giving the Apple IIe a total of 128K of RAM.
Once Apple engineers had made the changes necessary to double the column width of the text display, it took only minor changes to double the Hi-Res graphics display as well. The result was Double Hi-Res. That display not only had double the number of dots for graphics, it could also generate more colors. Where the old Hi-Res graphics displayed six colors, Double Hi-Res had 16 - the same 16 colors formerly only available in Lo-Res graphics.
At first, no one seemed to want Double Hi-Res. The marketing people had recognized the need for doubling the text display, but they didn't see any need for another graphics mode. Developers didn't see a market for Double Hi-Res because the extended 80-column card was optional and applications couldn't depend on having it. An added disincentive for developers was Apple's failure to promote Double Hi-Res or to provide graphics subroutines for it.
The breakthrough came with the 1984 introduction of the Apple IIc, which had the second 64K of RAM built-in. A similar version of the Apple IIe came later when Apple introduced the Apple IIe Enhanced in 1985. With Double Hi-Res as a standard, developers began to write applications for it, even though they still had to write their own graphics subroutines.
The innovations didn't stop with the older Apple II computers. The Apple IIgs changed the entire landscape of the Apple II family and introduced its share of interesting features like memory shadowing, an efficient way to use its larger memory while still allowing older programs to use memory for input/output.
Most of this article comes from The Apple II Guide, copyright 1992, Apple Inc. This guide, billed as "a complete resource for the users of Apple II computers," was produced late in the life of the Apple II line of computers. It is an interesting read and it stresses the interoperability of the Apple II computers with the Macintosh platform. Apple would go on to discontinue the Apple II family of computers a year later in 1993. The guide is a strange mix of useful technical information and user testimonials. One might consider it as an attempt by Apple to placate the large installed Apple II user base who were beginning to realize that the platform's days were numbered. Steve Wozniak wrote the forward for the guide.
The source material for this article was written by Allen Watson in a section of The Apple II Guide titled "How the Apple II began and how it grew," pages 100-105. According to the guide, Allen Watson has a degree in mathematics. He bought an Apple II with 8K of RAM in December 1977 and has been writing about the Apple II ever since. His work has appeared in Apple technical manuals for the Apple IIe, IIc, and IIgs, as well as for the Macintosh computers.