The comp.sys.apple2 Usenet newsgroup Apple II FAQs originate from the II Computing Apple II site. 1997-2012 Csa2 FAQs resource file: R018V3HIST.TXT Apple II History: Volume III Notes: This is a pure Text file which has no Font, Color, etc. formatting and no set line length. For best viewing on-line, set browser Word Wrap to ON or copy to your favorite Text viewer and set Word Wrap. Ex: On PC use WordPad with Options set to "Wrap to Window". To correctly view tables and diagrams on a super-res display, use a mono-spaced Font such as CoPilot or PCMononspaced. ____________________________ APPLE II HISTORY ===== == ======= Compiled and written by Steven Weyhrich (C) Copyright 1991, Zonker Software THE APPLE II ABROAD Early on, Apple got involved in selling the AppleII in Europe and the Far East. To function in those parts of the world called for a change to handle a different voltage (240V instead of the 120V we use in the U.S.). Also, the language differences had to be overcome. It was easiest in Europe where, for the most part, the standard Roman alphabet was used. The primary differences were in symbols used together with letters for certain specific uses. Apple's Europlus][ had a modified ROM, and certain ESC key sequences could generate the German umlaut symbol to go with certain vowels. When the IIe was released there were some other differences. The German version was built with a an external switch below the keyboard, allowing the user to change between a standard U.S. layout and a German layout. (American versions of the IIe lacked the switch, but had a place on the motherboard that could be modified to allow a Dvorak keyboard layout to be switched in instead of the standard keyboard). The IIe auxiliary slot, which was placed in line with the old slot 0 on American versions (but moved forward on the motherboard) was placed in front of slot 3 on German versions. This was because the European AppleIIe's also had added circuitry to follow the PAL protocol for video output used for televisions and computer monitors in Europe (in the U.S. the NTSC protocol is followed). Because of the extra space needed on the IIe motherboard for the PAL circuits, the auxiliary slot had to be moved to be in line with slot 3. Because the 80-column firmware was mapped to slot 3, if an 80-column card was installed in the auxiliary slot it was not possible to use any other card in slot 3. Versions of the IIe made for other European countries had similar modifications to account for regional differences. When the AppleIIc came along, it was designed from the start to take the foreign market into account. If you recall, the U.S. version of the IIc had a standard layout when the keyboard switch was up, and a Dvorak layout when the switch was down. European versions were similar to the American layout with the switch up, and had regional versions that could be swapped in with the switch down. The British version only substituted the British pound sign for the American pound sign on the "3" key, but the French, German, Italian, and Spanish versions had several different symbols available. A Canadian version of the IIc was the same as the American with the switch up, and had some other special symbols with the switch down. This version was unique because each keycap had the symbols for both switched versions. For example, the "3" key had the "3" and "#" symbols, plus the British pound symbol, making it a bit more crowded than a typical keycap. The AppleIIGS continued the practice of making international versions available, but improved on the design by making the various keyboard layouts all built-in. On the IIGS it was selectable via the control panel, as was the screen display of the special characters for each type of keyboard. APPLE II PERIPHERALS Moving on, we will now take a look at hardware items that extend the capability of the AppleII. The ability to add an external hardware device to a computer has been there from the earliest days of the first Altair to the present. In fact, the success of a computer has inevitably led to hackers designing something to make it do things it couldn't do before. The more popular the computer, the more variety you will find in hardware add-ons. The AppleII, designed by a hacker to be as expandable as possible, was once a leader as a platform for launching new and unique hardware gadgets. Today, in 1991, the AppleII unfortunately no longer holds the front position; it has been supplanted by the Macintosh and IBM crowd. However, the AppleII still benefits from the "trickle-down" of some of the best new devices from other computers (SCSI disk devices and hand scanners, for example). This is due partly to emerging standards that make it easier to design a single hardware device that will work on multiple computers, and in the case of the Macintosh, because of Apple's decision to make peripherals somewhat compatible between the two computer lines. Trying to sort out all the peripheral devices ever designed for the AppleII series of computers into a sensible order is not easy. In this segment of the AppleII History I'll try to give an overview of hardware devices that were either significant in the advancement of the II, or unique, one-of-a-kind devices. Obviously, this cannot be a comprehensive list; I am limited to those peripherals about which I can find information or have had personal experience. WHAT IS A PERIPHERAL? A basic definition of a peripheral would be, "Something attached to a computer that makes it possible to do more than it could previously do." It is called a "peripheral" because it usually is connected to the computer after it leaves the factory. An argument could be made that something built-in is not a peripheral, but as things have changed over time there are some devices still called "peripherals" from force of habit, though they are now built-in (hard disks come to mind). Quite probably, in time manydevices that were once considered optional accessories will become so essential that they will always be built-in. Recall that the earliest computers came with almost nothing built-in. They had a microprocessor, a little memory, some means of data input and display of results, the ability to access some or all of the signals from the microprocessor, and that was all. For those computers, the first things that users added were keyboards and TV monitors to make it easier to use them. Recognizing that the earliest hardware peripherals were keyboards and monitors highlights one fact: Nearly everything that is sold as a peripheral for a computer is either an input device, and output device, or an interface to make it possible to connect input and output devices. Exceptions are cards to add memory, co-processor cards to allow it to run software from another computer, and accelerators to make the computer run faster. EARLY PERIPHERALS When we come to the release of the first AppleII, two important "peripherals" were built-in: A keyboard, and the circuitry to allow easy connection of a TV monitor. It had, of course, the slots for inserting expansion cards (none were available), a game port (for attaching the game paddles that were included), a pin that could be used to connect an RF modulator (so a standard television could be used instead of a computer monitor), and a cassette interface. Since there were no cards available to plug into the slots, you would imagine that the AppleII couldn't make use of any other hardware. However, those early users who had a need usually found a way around these limits. To get a printed copy of a program listing, for example, was no trivial matter. First, there were very few printers available. Those who could, obtained old used teletypes salvaged from mainframe computers. These noisy, massive clunkers often had no lowercase letters (not a big problem, since the AppleII didn't have it either), and printed at the blazing speed of 10 cps (characters per second). To use these printers when there were yet no printer interface cards to make it easy to connect, hackers used a teletype driver written by Wozniak and distributed in the original AppleII Reference Manual (the "red book"). This driver sent characters to the printer through a connection to the game paddle port. One part of being a hacker, you can see, is improvising with what you have. Another of the earliest devices designed for the AppleII came from Apple Pugetsound Program Library Exchange (A.P.P.L.E.). They were involved in distributing Integer BASIC programs on cassette to members of the group. To make it easier to send those programs to the person responsible for duplicating the cassette, Darrell Aldrich designed a means of sending the programs over the telephone lines. There were no modems available at the time, so his "Apple Box" was attached to the phone line with alligator clips and then plugged into the cassette port on the AppleII. To send a program, you first called up the person who was to receive it and got the computers on each end connected to the Apple Box. The sender then used the SAVE command in BASIC to tell the computer to save a program to tape. In actuality, the program was being "saved" through the cassette "out" port to the Apple Box, and onto the phone line connected. At the other end of that phone line, the data went into the other Apple Box, which was connected to the cassette "in" port on the other AppleII. That computer was executing the LOAD command in BASIC to "load" the program from the Apple Box. A.P.P.L.E. sold about twenty of these Apple Boxes at $10 apiece. INTERFACE CARDS One of the first interface cards made for the AppleII was released, naturally, by Apple. The AppleII Parallel Interface Card was released in 1977 and sold for $180. Wozniak wrote the firmware ROM, and managed to make it fit entirely in only 256 bytes. As a parallel device, it used eight wires to connect the computer with a printer, one line for each data bit in a byte. Various parallel devices also used one or more extra wires as control lines, including a "busy" line (so the receiving device could tell the sending device to stop until it was ready for more), and a "ready" line (so the receiving device could tell the sending device to resume transmission). Because each of the eight bits needed a separate wire, the cables for parallel devices looked like ribbons and were not very compact. Most of the early printers available required this type of interface. A problem noticed with Apple's card, however, was an inability to properly handle these "busy" and "ready" signals (a process known as "handshaking"). One solution offered by a reader of Call-A.P.P.L.E. magazine in 1979 was to add a couple of chips to the card. If that was not done, however, the only way to do printouts that were very long was to either buy a 2K print buffer that could be used with some early printers, or use the "SPEED=" statement in Applesoft to slow down the speed at which data was sent to the printer. Apple released the Centronics parallel printer card in 1978. Selling for $225, it was specifically designed to work with Centronics brand printers. It was similar to the Parallel Printer Interface, but had fewer control codes. The "Centronics standard" used seven data bits and three handshaking bits. It would automatically send certain control codes to the printer when a program sent the proper command (such as a change in line width). As such, it was limited to properly working only with a Centronics printer, but many companies made printers that used the same control codes and would work with it. In April 1978 the AppleII Communications Card came out, selling for $225. It was intended for use with a modem, and worked for speeds from 110 to 300 baud. The low speed (by today's standards) was for several reasons. One was that most modems of the time were acoustic. With an acoustic modem you dialed up the number yourself, and when you made a connection you put the handset (that's the part you talk and listen with, for you non-technical folks) into rubber sockets to seal out extraneous sound. A tiny speaker and microphone in the modem were then used to send and receive signals. This leads to a second reason for the low speeds of the time, which was that greater than 300 baud communications was not considered possible. In fact, the Phone Company was quite certain that speeds over 300 baud were not possible with any modem, although they would be glad to lease you a special data-quality phone line so you could get the best possible connection at 300 baud. The AppleII Serial Interface Card ($195) appeared in August of 1978. Serial devices required fewer data transmission lines, and so could work with more compact cables. Instead of sending each byte as eight simultaneous bits as was done in parallel devices, serial interfaces send each byte as a series of eight bits, which only took two wires; one to send and one to receive data. Like the parallel cards, there were a couple of other wires that went with the data lines to control handshaking. Also, serial cards needed a means of letting the sending and receiving devices identify when a byte began and ended, and the speed at which data was being transmitted. This meant that some additional information, such as "start" bits, "stop" bits, and "parity" bits, was needed. The original version of the Serial Interface Card had a ROM that was called the P8 ROM. It contained the on-card program that allowed a user to print or otherwise communicate with the card without having to know much on the hardware level. The P8 ROM didn't support handshaking that used two ASCII control characters named ETX (Control-C) and ACK (Control-F), so a later revision called the P8A ROM was released. (ASCII stands for American Standard Code for Information Interchange). This worked better with some printers, but unfortunately the P8A ROM was not compatible with some serial printers that had worked with the earlier P8 ROM. The Apple Super Serial Card firmware was finished in January 1981. It was called "super" because it replaced both the older Serial Interface Card and the Communications Card. To change from one type of mode to another, however, called for switching a block on the card from one position to another (from printer position to modem position). The Super Serial Card was also able to emulate both the P8 and P8A Serial Cards, making it compatible with most older software written specifically for those cards. VIDEO CARDS After getting a printer interface card (and printer), the next variety of peripheral cards popular for the AppleII and IIPlus were ones that allowed display of 80 columns of text (which was rapidly becoming a standard outside the AppleII world). An early entry into this market was the Sup'R'Terminal card made by M&R Enterprises, the same company that made the Sup'R'Mod RF modulator for the AppleII. One of the most popular of the 80-column cards was the Videx Videoterm. Videx even made a display card that would display 132 columns card for the AppleII, but it never made much headway in the computer world (being supplanted by bit-mapped graphics displays, ala Macintosh). Many other companies made 80-column cards, but for the most part they were not very compatible with each other. One problem was deciding on a method to place the characters on the 80-column screen. With the standard Apple 40-column display, you could use either the standard routines in the Monitor, or directly "poke" characters to the screen. With these 80-column cards, they often used a standard from the non-Apple world, that of using special character sequences to indicate a screen position or other functions. For example, to put a character at row 12, column 2, a program needed to send an ESC, followed by a letter, followed by 12 and 02. Similar ESC sequences were used to clear the screen, scroll it up or down, or do other things that Apple's built-in screen routines could do. When the AppleIIe was released, with its RAM-based method of displaying 80 columns of text, nearly all the older 80-column cards disappeared from the market. As of 1991, only Applied Engineering still makes one for those remaining II and IIPlus users that don't yet have an 80-column display. One unique video product was made by Synetix, Inc. around 1983. Their SuperSprite board plugged into slot 7 (which had access to some video signals not available on other slots), and was promoted as a graphics enhancement system. It worked by overlaying the hi-res screen with animated "sprite" graphics (programmable characters that moved independently on any screen background). Since each sprite was on its own "plane" on the screen, they didn't interfere with each other. Also, it didn't take extra effort bythe 6502 microprocessor to manipulate the sprites; once the programmer placed the sprite on the screen and started it moving, it would continue until told to change. This was much easier than trying to program a hi-res game using standard Apple graphics. Unfortunately, at the price of $395 it never took off. (It was hard for developers to justify writing programs for only a few users that might have this card). Another company later made a similar card called the StarSprite, but it suffered the same fate. Even Apple's own double hi-res graphics, introduced on the IIe, had the same problem with a small supply of supporting software until the IIc and IIGS market got large enough to guarantee that enough owners had the capability of displaying double hi-res. ROM/RAM EXPANSION CARDS All peripheral cards released for the AppleII up to the time of the AppleIIPlus were usable only in slots 1 through 7. Slot 0 was designed differently, and until the release of the Applesoft Firmware Card ($200) in 1979 nothing had been built to make use of it. The Firmware Card contained ROM that paralleled the upper 12K of AppleII memory. If you recall from the discussion in Part 3 of this History, Integer BASIC and the ROM version of Applesoft covered the same space in memory, and so could not co-exist. When it was clear that a floating-point BASIC (Applesoft) was what many people wanted, the IIPlus came out with Applesoft in ROM. To make sure that the previous AppleII owners were not left out, Apple released the Applesoft Firmware Card to plug into slot 0. It had a switch that allowed the user to select which BASIC should be active. In one position, the motherboard ROM would be selected, and in the other position the Applesoft and Autostart ROM was selected. Because there were quite a few Integer BASIC programs that AppleIIPlus users wanted to run, the Firmware Card also came out in an Integer BASIC version with the old Monitor ROM, that allowed IIPlus users to simulate owning a standard II. One of the benefits of the Integer BASIC ROM was the lack of something known as a "RESET vector" in the Autostart ROM. The Autostart Monitor was called that because it would automatically try to boot the DiskII drive when the power was turned on, and jumped to a known memory location when the RESET key was pressed. This allowed the disk operating system to reconnect itself, but more importantly made it possible to create copy-protected software. Since the Autostart ROM made it possible for a programmer to do something on RESET that prevented a user from examining his program, it was popular with companies producing programs that they didn't want copied and freely given away. Usually, a RESET on a protected program would restart the program, erase the program from memory, or re-boot the disk. The Integer BASIC and Old Monitor ROM lacked this feature; a RESET would just drop the user into the Monitor. This, of course, was just what hackers and those who liked to break copy-protection wanted. The users with non-Plus AppleII's or with the Integer BASIC Firmware Card on a IIPlus could prevent a RESET from restarting anything, allowing them to hack a program as much as they wanted. The next card Apple released for slot 0 was called the Language Card. It was released in 1979 with Pascal, and expanded a 48K AppleII into a full 64K memory computer. It did not remove the upper 16K of ROM, but the card contained 16K of RAM that was electronically parallel to the ROM. Using "soft switches" (recall that these are memory locations that, when read or written to, caused something internally to change) one could switch out the ROM and switch in RAM memory. This extra memory was used to load the Pascal disk system, and under DOS 3.2 and 3.3, to load into RAM the version of BASIC that was not in the ROM. This was a more flexible alternative to the Firmware Card, and opened the way to other languages beyond BASIC for AppleII users. Since the only way to get Apple's Language Card was to buy the entire Pascal system ($495), it was too expensive for many users. Other companies eventually came out with similar cards that did not require purchasing Pascal, and some of them designed the cards with more "banks" of memory, making 256K or more of extra memory available. Saturn Systems was one early suppliers of the large RAM cards. Typically, each 16K bank on the card would be switched in to the same memory space occupied by the Language Card RAM through the use of a special softswitch. CO-PROCESSORS Although it did not go into slot 0, another significant card for the AppleII was the Microsoft Z-80 Softcard, which sold for around $300. It was a co-processor card, allowing the AppleII to run software written for the Z-80 microprocessor. The most popular operating system for the Z-80/8080 processors was the CP/M (Control Program for Microcomputers) system. Although the DiskII use a different method of recording data than was used by Z-80 computers, AppleII users managed to get programs such as the WordStar word processor transferred to the Apple CP/M system. Microsoft worked to make it compatible with the 80-column cards that were coming out at the time, since most CP/M software expected a screen of that size. After the arrival of the IBM Personal Computer and its wide acceptance by the business world, there was interest in a co-processor for the AppleII that would run IBM software. A company called Rana, which had been producing disk drives for the AppleII for several years, came out with the Rana 8086/2 sometime in 1984. This was a system that plugged into slots on a IIPlus or IIe, and would allow the user to run programs written for the IBM PC. It would also read disks formatted for that computer (which also used a completely different data recording system than the one used by the AppleII). One Rana owner, John Russ, wrote to A2-Central (then called Open-Apple) to tell of his experience with it: "We also have one of the Rana 8086/2 boxes, with two [Rana] Elite II compatible drives and a more-or-less (mostly less) IBM-PC compatible computer inside it. Nice idea. Terrible execution. The drives are half-high instead of the full height drives used in the normal Elite II, and are very unreliable for reading or writing in either the Apple or IBM format... And this product again shows that Rana has no knowledgeable technical folks (or they lock them up very well). We have identified several fatal incompatibilities with IBM programs, such as the system crashing totally if any attempt to generate any sound (even a beep) occurs in a program, or if inverse characters are sent to the display... The response from Rana has been no response at all, except that we can return the system if we want to. Curious attitude for a company, isn't it?" By August 1985 Rana was trying to reorganize under Chapter 11, and the product was never upgraded or fixed. A co-processor called the ALF 8088 had limited distribution. It worked with the CPM86 operating system (a predecessor to MS-DOS) was used by some newer computers just before the release of the IBM PC. Even the Motorola 68000 processor used in the Macintosh came as a co-processor for the AppleII. The Gnome Card worked on the IIPlus and IIe, but like other 68000 cards for the II, it didn't make a major impact, with the exception of those who wanted to do cross development (create programs for a computer using a microprocessor other than the one you are using). The most successful device in this category was the PC Transporter, produced by Applied Engineering. It was originally designed by a company in the San Jose area called The Engineering Department (TED). The founder was Wendell Sanders, a hardware engineer who formerly had worked at Apple and was involved in the design of the Apple III and parts of the SWIM chip (Super Wozniak Integrated Machine) used in the IIc and IIGS. Around 1986 Applied Engineering began discussions with TED about buying the PC Transporter to sell and market it. At that time, the board was about four times the size it eventually became. AE's people were able to shrink a lot of the components down to just a few custom ASIC chips. The software that helped manage the board originally came from TED also. It was finally released in November 1987, and included a card that plugged into any of the motherboard slots (except slot 3) and one or more IBM-style disk drives. The PC Transporter used an 8086 processor and ran about three times as fast as the original IBM PC. It used its own RAM memory, up to a maximum of 768K, which could be used as a RAMdisk by ProDOS (when not in PC-mode). It used some of the main Apple memory for the interface code that lets the PC Transporter communicate with the hardware. The PC Transporter has undergone some minor hardware changes and several sets of software changes (mostly bug fixes but a few new features). The major reasons for hardware changes came about because of the availability of cheaper RAM (the original RAM was quite expensive and difficult to obtain). Additionally, changes were made to make the onboard "ROM" software-based, which made it easier to distribute system upgrades that enhanced hardware performance. The major limitation for this product has been a reluctance by Applied Engineering to match the changes that have happened in the MS-DOS world and come out with a version of the Transporter that used a more advanced microprocessor (80286, 386, or 486). As of 1991 this is slowly beginning to become more of a limitation for those who wish to use both MS-DOS and AppleII software on the same AppleII computer, since advanced software needing those more powerful processors is beginning to be released for MS-DOS. ACCELERATORS The two things that all computer users eventually need (or at least want) are more storage and faster speed. The 1 MHz speed of the 6502 and 65c02 chips is somewhat deceiving, when compared with computers that have processors running at a speed of 20 to 40 MHz. To put things into perspective: Since the 6502 does more than one thing with a single cycle of the clock on the microprocessor, a 1 MHz 6502 is equivalent to a 4 MHz 8086 chip. Therefore, an AppleII with an accelerator board or chip running at 8 MHz is equivalent to an MS-DOS computer running at 32 MHz. One of the first accelerators for the AppleII was the SpeedDemon, made by MCT. This board used a faster 65c02 chip, with some high-speed internal memory that was used to actually execute the programs (since the internal AppleII memory chips were not fast enough). In essence, it put a second AppleII inside the one you could see, using the original one for input and output. Another speedup board was the Accelerator IIe by Titan Technologies (formerly Saturn Systems; they had to change their name because it was already in use by someone else). This board worked in a similar fashion to the SpeedDemon. Some users felt this product ran faster than the SpeedDemon, but it depended on the application being tested. Both boards were attached to the computer by plugging them into a slot other than slot 0 on the motherboard. In 1986 Applied Engineering introduced the TransWarp accelerator board. This product has lasted in the marketplace longer than any of the other ones, possibly because AE did far more advertising than the companies producing the older boards. The TransWarp did the acceleration using a different method. Instead of trying to duplicate all of the AppleII RAM within the accelerator, they used a cache. (If you recall from the segment on hard disk drives, a cache is a piece of memory holding frequently accessed information). Because they used the cache, the TransWarp did not require any high-speed RAM on the motherboard. Instead, any memory access was also stored in the cache RAM, which was high-speed RAM. The next time a byte was requested from RAM, the accelerator looked first into the cache memory to see if it was there. If so, it took it (far more quickly) from there; if not, it got it from motherboard RAM and put it into the cache. Early TransWarp boards ran at 2.5 MHz; later versions pushed this speed to 7 MHz (this was the top speed used by the TransWarp GS, released in November 1988 for the AppleIIGS). The next step in accelerator technology was to put all the components of an accelerator board into a single chip. This happened when two rivals, the Zip Chip and the Rocket Chip, were released. The Zip Chip was introduced at AppleFest in May 1988, and the Rocket Chip soon after. Running at 4 MHz, the Zip Chip was a direct replacement for the 6502 or 65c02 on the AppleII motherboard. It contained its caching RAM within the housing for the processor, the difference being mostly in height (or thickness) of the integrated circuit. Installing it was a bit more tricky than simply putting a board into a slot; the 6502 had to be removed from the motherboard with a chip puller, and the Zip Chip installed (in the correct orientation) in its place. Software to control the speed of the chip was included, and allowed about ten different speeds, including the standard 1 MHz speed (some games simply were too fast to play at 4 MHz, and software that depended on timing loops to produce music had to be slowed down to sound right). The controlling software also let the user determine which (if any) of the peripheral cards should be accelerated. Disk controller cards, since they used tight timing loops to read and write data, usually could not be accelerated, where many serial and parallel printer and modem cards would work at the faster speed. The Zip Chip even allowed the user to decide whether to run all sound at standard speed or at the fast speed. The Rocket Chip, made by Bits And Pieces Technologies, was almost exactly the same as the Zip Chip, with a few minor exceptions. It was sold with the ability to run programs at 5 MHz, and could be slowed down below the 1 MHz speed (down to 0.05 MHz). Later, when Zip came out with an 8 MHz version of their Zip chip, a 10 MHz Rocket Chip was introduced. The rivalry between Zip Technologies and Bits And Pieces Technologies came from a mutual blaming of theft of technical information. The Bits & Pieces people insisted that they had done the original work on a single chip accelerator with the Zip people, but had all the plans and specifications taken away without their permission. Consequently, they had to form their own company and start from scratch to design their own chip. Zip, on the other hand, insisted that Bits & Pieces had stolen the technology from them. The problem eventually came to court, and it was decided that Zip Technologies was the originator of the technique and the Rocket Chip had to stop production. +++++++++++++++++++++++++++++++++++++ MODEMS A modem is a unique peripheral device, because it makes use of two-way communication (both sending and receiving data to and from the computer). After the Apple Box sold by A.P.P.L.E., one of the first commercial modems available for the AppleII was the MicromodemII, made by D.C. Hayes in 1979. It sold for $379, and worked at the standard transmission speeds of the day, 110 and 300 baud. The Micromodem was also available for the S-100 (Altair) series of computers. Hayes' product was so popular that their command set has become a standard for modems as they have advanced over the years. By the mid-1980's Apple released two modems with their own name on them: The Apple Personal Modem 300 and Personal Modem 1200. Both were external modems, using a direct connection to the phone line (instead of the older acoustic coupler), but were more expensive than similar products of the time. By the later 1980's they were no longer in production. INPUT DEVICES The number one input device for the AppleII was, of course, the keyboard. There were expanded keyboards available for the II and IIPlus, bypassing the uppercase-only limit. There was once even a keyboard that had plug-in modules that would redefine specialized function keys to make them specific for different programs. Another company sold pressure sensitive pads that were attached to the AppleII keyboard above the top row and could be programmed to generate series of keypresses. The original IIe had a socket for the addition of an external numeric keypad, and the IIGS and later versions of the IIe had this keypad built-in. Because of the detached keyboard in the IIGS it was possible to select between a couple of different versions of keyboards offered by Apple |as well as from some third party companies. The next most commonly used input device after the keyboard was the set of game paddles included with every II and IIPlus. But some users needed more specialized ways to input data to the computer. A large number of interesting input devices were made available through the years; here follows a brief description of some of them. Creating pictures on the hi-res graphics screen has always been a challenge, from 1977 until today. Using the game paddles or a joystick is one method that could be used, but there is some difficulty in getting accurate lines and curves. Apple addressed this problem when they released the Apple Graphics Tablet in the late 1970's, which sold for about $650. This was a large flat surface, about thirty inches square, with a grid printed on the surface. Using a stylus attached to a wire leading to the tablet, and appropriate software, this could be used to draw pictures on the AppleII hi-res screen. There were two different releases of the Apple Graphics Tablet. The original one, which was released when the IIPlus was the latest machine, was discontinued by FCC order because of RFI (radio frequency interference) problems. The second version, to correct that problem, was released after the IIe was in production. It used two DB-9 connectors to install on the backplate of the computer, leading to the peripheral card plugged into a slot inside. (These DB-9 connectors are the same type used on the back of the IIc and IIGS for connection of a joystick). Currently the Apple Graphics Tablet is not in production. Koala Technologies has made several input devices over the years. Their first product was the Koala Pad. Released in 1983 and selling originally for $125, this was a small graphics pad (about 8x6 inches) that plugged into the game I/O socket. It was compatible with any software that used a joystick. Using a finger or the supplied stylus, a user could draw on the pad and produce pictures on the hi-res screen with the supplied software or with some other software packages. In November 1984 Koala released Muppet Learning Keys for $79.95. This was a device to aid preschoolers in using a computer. It was intended to help children ages three and over to learn letters, numbers, and colors, using the Muppets from Sesame Street as a learning aid. The unit used various contact surfaces to send user responses to the computer, and it attached to the AppleII via the game I/O port. The Gipson Light Pen System was also sold by Koala Technologies in 1985 for $350. Using a card in slot 7, this device used a special pen that allowed drawing directly on the computer's monitor screen. Other devices have been released to aid in graphics manipulation on the AppleII. The Computer Colorworks released the Digital Paintbrush System in 1984 for $299. It worked on either the IIPlus or IIe, and used a stylus attached by two thin dacron lines to potentiometers within the tablet, which tracked the position of the stylus. Movements of the stylus (tracing over a picture) were translated into drawings on the hi-res screen. The software included allowed creation of curves and lines, and used Fontrix fonts for lettering. (Fontrix was a program that could produce detailed hi-res graphics pictures, and had many characters styles, or fonts, available to label those pictures). A unique feature of the Digital Paintbrush was the ability to connect two computers using the system via a modem and phone line and allow both users to draw pictures that would appear on both computers simultaneously. The input device that made the most inroads in the AppleII world was the one that was so unique to the Macintosh: The AppleMouseII. It was released in May 1984 with a program called MousePaint (similar to the MacPaint program that came with the original Macintosh). The AppleMouse came with a peripheral card to plug into a slot on the IIe or IIPlus; on the IIc it just plugged into the joystick port and the built-in hardware and firmware could handle control of the mouse. MousePaint used the standard hi-res graphics screen and worked only under the ProDOS operating system, but generallygave AppleII users the capability of doing graphics in the same way as Macintosh users had been enjoying, as well as making it possible to design programs that used the mouse as a pointing and input control device. ComputerEyes was a video acquisition system that came out in July 1984. It allowed use of a video camera to capture images and store them on the hi-res graphics page. It was a slow-scan device that attached to the Apple game I/O socket, and produced black-and-white images in about five seconds. It worked on any AppleII with 48K, Applesoft, and DOS 3.3. Made by Digital Vision, Inc., it originally sold for $129.95 ($349.95 including the video camera). MUSIC AND VOICE SYNTHESIS AppleII's have been involved in sound from the beginning, with the inclusion by Steve Wozniak of a speaker so he could make sounds for an AppleII version of "Breakout". As simple as it was, some enterprising programmers have even managed to make this single-voice speaker sound like two and even three different voices (tones) simultaneously ("Electronic Duet" comes to mind). But that was not enough for those who wanted to have better quality music production, and so production of synthesizer cards was in full swing by the early 1980's. Some of those cards included the following: ALF Music Card (ALF Products, Inc.) was strictly a music synthesizer, with some included software to aid in producing the music. The Mountain Music System (Mountain Computer, Inc.) was a more advanced sixteen oscillator (voice) digital synthesizer, also with software to control it. Soundchaser System (Passport Designs, Inc.) was a package that included the Mountain Music System (using slots 4 and 5), plus the Soundchaser, which was a piano-style keyboard for music input, whose card went in slot 7. It allowed four track recording and sound manipulation, using the AppleII primarily as a controller. This was probably the most advanced music hardware system available in the days before the release of the IIGS. The Drum-Key (made by PVI) was specifically a percussion synthesizer. It required an external amplifier and used included software to produce a wide variety of drum and other percussion sounds. Beginning in the late 1970's there were several speech synthesizers available for the Apple and other home computers. One brand was the TextTalker, and another (made by Mountain Hardware for $279) was the Supertalker. In the 1980's two other popular brands were the EchoII (slot-based) and Cricket (for the modem port on the IIc) synthesizers, made by Street Electronics. These latter also included the ability to product other sound effects, and some games released at the time had enhanced sound output when the presence of those two devices was detected. For speech reproduction, these devices usually used a method of accepting ASCII text from the computer in the form of "phonemes" to describe and produce voice through a built-in speaker. The phonemes were needed because English words have a variety of pronunciation depending on the context in which they are used. Properly programmed, the voice synthesizers could pronounce the word "root" to rhyme with either "boot" or "foot". It wasn't until the IIGS came out with the built-in capability of speech reproduction (via the Ensoniq chip) that software making use of that feature became available in any quantity. ROBOTS AND DEVICE CONTROL Although used primarily for education purposes, there were at least two robotic devices made to work with the AppleII. TOPO (made by Androbot, Inc.), and the Tasman Turtle ($1000, with a smaller version called the Tot for $300) were in use during the mid-1980's. Both used the Logo language to control movement of the robot on the floor. Logo has a graphics command set called "turtle" graphics to simplify the concept for children. A small triangle on the hi-res screen was called a "turtle", and it could be given software commands to move forward, turn, draw, or move without drawing. When TOPO or the Tasman Turtle were connected to an AppleII, the Logo language could be configured to send the same turtle graphics commands to the physical "turtle" robot on the floor. This gave students a concrete example of what their logo programs would do in "drawing" a graphics picture. Education is not the only place where robotics has been used in an AppleII. Because of peripheral boards called "A/D Converters" (analog/digital converters), it is possible to take information from (for example) a wind speed sensor and convert it into digital information. A computer program can then take this information and send a command signal back to another device (perhaps to activate a motor that raises and lowers a cloth deck cover, depending on how windy it is). Although not a "robot" in the sense that people usually view robots, a computer-controlled device of any kind is, strictly speaking, a robot. This is the concept used in the popular X-10 system used in home control. (The Introl/X-10 made by Mountain Hardware for $279 was one of the first available for the AppleII). This protocol for controlling electric devices in a home has been used for years, and programs exist for the AppleII series (including the IIc) that allow easier programming of the X-10 devices, ranging from security systems to light timers to lawn sprinkler systems. MISCELLANEOUS HARDWARE Here follows a short list of some other items that could be found for sale in a typical issue of an Apple computer magazine in the early 1980's: Larger capacity disk drives were made by Lobo Drives, including an 8 inch floppy drive and other various higher density floppy disks. Hard disks, such as those made by Corvus Systems. You could get a massive 10 MB for only $5,350 (well, it was massive compared to the 143K DOS 3.3 floppy disks). Clocks, such as the Apple Clock made by Mountain Hardware, for $199. A clock made it possible to time and date stamp files, and identify which version of a file was the most recent. RESET Key Protector, which prevented accidental RESET on early AppleII's, was available for only $3.25 from Special Systems Design. DoubleDOS Plus was a DiskII interface card modification that had a switch to allow the user to easily switch between DOS 3.2 and DOS 3.3. It sold for $39, by Tymac. PRINTERS By the late 1970's and early 1980's many printers were available for use with home computers. However, the cost was often over $1,000, which limited the number of people who could afford to buy one. Most printers offered 96 characters in the standard ASCII set, including both upper and lowercase characters. The cheaper printers could only print uppercase characters, while some of the more expensive ones were capable of accepting programmable characters or had built-in graphics characters. There were two main types of printers available. One type operated like a typewriter by striking a piece of metal type against a ribbon and onto the paper. This type of printer was often called an "impact" or "letter quality" printer. It used either a type ball like IBM's Selectric typewriters, or a wheel with spokes that radiated out from the center, with the type characters at the end of the spokes. This latter type of letter quality printer was also called a "daisy wheel" printer, because the changeable print wheels looked something like a daisy. These printers were most commonly used by computers in businesses, as they often cost more than $2,000 and were beyond the reach of the average home hobbyist. The other type of printer in common use was dot matrix. These less expensive printers formed characters with a series of pins in a vertical row that struck the ribbon and produced dots on the paper. As the print head moved across the paper, the dots were printed in patterns that resembled (sometimes vaguely) letters and numbers. The matrix used to form a character was usually referred to as the number of horizontal dots by the number of vertical dots. A 5x7 matrix, for example, used up to five dots across and up to seven dots down. Some printers (like some computers of the time) did not use "descenders" on the lowercase letters that drop below the baseline ("g", "j", "p", "q", and "y"). To print lowercase letters with descenders often required nine or more vertical pins. The Centronics 730 may well have been the first "standard" printer for the AppleII (as well as for many other microcomputers). It used a parallel cable whose pin layout went on to also become a standard for use with personal computers. That pin layout on parallel cable plugs is still in use today in 1991. Centronics also had several other models, including the 737 and 739. A less expensive printer made by Centronics, the 779, used 5x7 dot matrix characters, and could print in sizes from 10 to 16.5 cpi (characters per inch), ranging from 60 cps (characters per second) at 10 cpi to 100 cps at 16.5 cpi. It also had a one-line buffer (which held up to 132 characters), but printed a limited 64 character ASCII set, all uppercase plus some special characters. As mentioned before, most personal computers of the time didn't have lowercase anyway, so this limitation wasn't necessarily a drawback. The better printers made by Centronics had a larger matrix and could produce true descenders on lowercase characters. A company named Trendcom made two printers that were significant in the history of the AppleII. They had two models, the 100 and the 200. Instead of using the mechanics solenoids that drove pins in a print head, these were thermal printers that needed a special heat-sensitive paper. Their operation was very quiet, about as loud as sliding your finger across a piece of paper. They were inexpensive compared to other printers of the day (most of which cost over $1,000), although the printing looked very much like that produced by a dot-matrix printer. The Trendcom Model 100 printed 40 characters per line on paper that was about 4 1/2 inches wide. The Model 200 could print 80 columns per line on paper 8 1/2 inches wide. Compared to the first printer offered by Radio Shack for their TRS-80 computer (which was also a thermal printer but used an ugly silver paper), the Trendcom printers were very nice. The significance of the Trendcom printer was that Apple chose it as the first printer they released under the Apple name. It could be programmed to control printing of each dot in a column, and so was ideal as an inexpensive means of printing AppleII hi-res graphics. Apple included a special interface card and released the printer as the "Apple Silentype" in June 1979 for $599. It was identical to Trendcom's Model 200 except for the Apple logo in the lower left corner of the front cover. One legend suggests that part of the popularity of this printer at Apple stemmed from the fact that its small size allowed it to fit under the seat of Steve Wozniak's private airplane. Epson was another company that began early in the business of supplying printers for personal computers, and is one of the few that survives to this day. It got its start in the printer business with the Epson MX-80, one of the first dot matrix printers that sold for less than $1,000. Popular with computer hobbyists of the time, it was capable of printing AppleII hi-res graphics with the optional Graphtrax ROMs. A later version of this printer, the Epson MX-100, became available in early 1982. The MX-100 was a wide carriage model, and could print hi-res graphics without the need to add any special hardware. Epson printers were unique because they had a special feature called a "double print" mode where a line was printed normally, then the paper was advanced 1/216 of an inch and the same line printed again. This filled in some gaps between dots on individual letters, and made printouts more pleasing to the eye. Another feature used in these printers was a "print enhancement" mode, in which the pins hit the ribbon harder and made it possible to make multiple copies using carbons. Integral Data Systems was also an early manufacturer of printers. Their IDS 125 and IDS 225 printers came out in 1979 (the 225 sold for around $900). These printers used a 7x7 matrix for creating characters. The IDS 125 used a pressure feed method (similar to the method used by typewriters to hold paper in place), while the IDS 225 used a tractor feed mechanism. The IDS printers had the flexibility of being useable with either parallel or serial interfaces (with serial speeds up to 1200 baud). It could do plotting of dot graphics, and also had an optional graphics character set built-in. By the late 1970's Integral Data Systems upgraded their printers, giving them more capabilities and flashier names. Their Paper Tiger line of printers (models 440 and 460) had an attractive typeface, and used two vertical rows of pins in the print head, slightly offset from each other. This produced overlapping dots to achieve a more solid appearance. Some models could print up to 160 cps, and of course upper and lowercase characters were supported. They were also capable of reproducing AppleII hi-res graphics (with the appropriate software). IDS also sold a printer called the Prism, which could print in color using a special multicolored ribbon. Other early printers were made by Anadex, MPI, and Microtek. APPLE'S PRINTERS After the Silentype printer was released in 1979, Apple looked for another printer that would produce better, more permanent output than could be achieved with a thermal printer. One of the main problems with thermal paper was that with time the printing could fade, especially if cellophane tape was used on the paper. The Apple Dot Matrix Printer was released in October 1982 for $699. Made from a modified C. Itoh printer, it was one of the first few dot-matrix printers that sold for under $1,000. Apple needed it as a better quality printer than the Silentype to help promote the AppleIII as a business computer. More importantly, it was chosen by Apple because it was capable of doing heavy-duty graphics reproduction (such as output from the Apple Lisa computer, still in development at that time). Known also as the Apple DMP, it used a custom ROM programmed by Apple to control the printer's features. Because Apple was looking for as many business solutions for its customers as it could find, they also announced at the same time as the DMP a daisy wheel printer called the Apple Letter Quality Printer. Costing a hefty $2,195, and made from a modified Qume brand printer, this printer could print at a blazing 40 cps, but did produce very good quality output. It was released with the Lisa and IIe in January 1983. The Apple ImageWriter was released in December 1983 as the successor to the Apple DMP. Also made by C. Itoh, it had a faster print speed (120 cps), and could print in eight different pitches (character widths). It was a very reliable, sturdy printer, and sold originally for $675. Later, a wide carriage version whose abilities were otherwise identical was made available. It was replaced by the ImageWriterII in September 1985. The original AppleDMP and the ImageWriterI came in the same beige color as the AppleII, IIPlus, and IIe. The ImageWriterII was the same platinum color as the AppleIIGS and the newer Macintosh computers. Styled a little differently, the ImageWriterII could do everything the original ImageWriter could do, plus it was capable of printing MouseText characters and could print in color (using a special multicolored ribbon). As part of its promotion of the AppleIIc, a new printer was released. The Apple Scribe came in the same "Snow White" color as the IIc and was low in cost at $299. It was a thermal printer, but was a significant advancement over the old Silentype. It could print on regular paper (instead of special heat sensitive paper), and could print in four colors. It could do this using a unique heat-transfer method and a wax-impregnated ribbon. It could print in a "near letter quality" mode (with overlapping dots) at 50 cps, and a draft and graphics mode (80 cps). Its major limitation, however, was a print quality that overall was often not as good as some dot-matrix printers, and a ribbon that was expensive and needed to be replaced too often. The Scribe was eventually discontinued due to these problems and low sales. In 1984 Hewlett-Packard introduced the LaserJet laser printer. This was a significant breakthrough in printer quality, and was capable of producing documents that looked professionally typeset. Apple decided to develop its own laser printer, and in January of 1985 released the LaserWriter. Although not speedy printers (with best output at four pages a minute by 1991), and very expensive (over $2,000), they were popular with those who wanted high quality printing. At Apple, the new LaserWriter was supported only on the Macintosh, but since the printer did its work through a page description language called "PostScript", it was entirely possible for an AppleII to print on a laser printer. It was only necessary to learn the PostScript language, create a file that gave the necessary commands, and send that file to the printer through a serial interface card. Don Lancaster, long-time AppleII supporter and hacker, wrote a series of articles called "Ask The Guru" in the magazine Computer Shopper, and he gave many examples of using a laser printer with an AppleII. Unfortunately, to this day the perception still exists that a laser printer will not work with an AppleII, even if it is a IIGS. This is partly because there are few software packages for the AppleII that will produce output as PostScript files that can be properly interpreted on a laser printer. However, programs such as "Publish-It!" will print to a PostScript-capable laser printer even on an AppleIIc. All that needs to be done is to have the right cable to connect the two devices. One of the newest types of print technology to come to personal computers is known as the ink-jet printer. This type of printer works with a dot-matrix, but does not use pins impacting a ribbon. Rather, it uses a print head that sprays ink through as many as 64 holes in patterns to form characters as moves across the paper. The advantage over dot-matrix impact printers is its ability to form more solid characters. In fact, the quality of printout with an ink-jet printer can be almost as good as that obtained with a laser printer. The advantage over laser printers is cost. Where the best price for a laser printer in 1991 is still well over $1,500, the cost of ink-jet printers is getting as low as $500, and for some brands down to $300. The disadvantage for AppleII users? Although it is easy to get the printers to reproduce text, printing graphics to work may be difficult until AppleII software packages directly support those printers. Fortunately, most of these printers will emulate some brands of dot-matrix printers, and if that brand is supported by a software program, then graphics reproduction may be possible. Apple entered the ink-jet printer market in May 1991 when it released the Apple StyleWriter. A modification of Canon's BubbleJet printer, this printer does excellent reproduction of text and graphics--on a Macintosh. Unfortunately, Apple didn't see fit to release drivers (programs to control hardware) to make it possible to use this printer on the IIGS or IIe. It does make use of a new font (typeface) technology called TrueType, which makes it possible to have a single font that can be made any size under software control (instead of having a separate font for each size that you might want to print). It was not until early 1992 when a program called Pointless was made available for the IIGS (not from Apple) that TrueType could be used on that computer. Although not quite a printer, the Apple Color Plotter was released in June of 1984. It had an advantage over printers, in that it could draw smooth lines and curves. Using four colored pens in a rotating pen head, and selecting them at the computer's command, the Color Plotter worked by moving the paper up and down to draw vertical lines, and the pen left and right to draw horizontal lines. Control of the plotter was accomplished by sending text commands through a serial card, and consisted of two letter commands (DA = Draw Absolute, DR = Draw Relative, etc.) followed by parameters. It could move the pen without drawing, plot points, draw lines, arcs, and circles, and print text at any location, tilt, rotation, or scale. Lines could be drawn as solid or as patterns of dots. Presumably this product did not take off because of the limited need for this type of graphics, and the price. Today, although the quality of screen and printer graphics is greatly improved over what was available in 1984, a plotter can still be useful in some situations. Usually, however, the right software can reproduce drawings with a dot matrix or laser printer in as good or better detail than a plotter can. ++++++++++++++++++++++ APPLE DOS For a computer to be useful, it must have a means of easy storage and retrieval of data. That storage medium must be both convenient and affordable. In the early days of the AppleII computer, the best that they could achieve was "affordable". The built-in cassette port was the state of the art for personal computers back in 1977; the AppleI computer had a cassette interface available only as an add-on item. But, although a cassette storage system may be inexpensive, it is not very convenient. The simplistic cassette operating system on the AppleII (visual examination of the mechanical index counter on the cassette recorder to know the location of the next program) was downright frustrating to use for many early AppleII owners. Something better was desperately needed. As you may recall from Part 5 of the History, in December of 1977 Steve Wozniak began a crash effort to develop a floppy disk drive for the AppleII computer. To get it ready for the Consumer Electronics Show in January 1978, Wozniak and Randy Wigginton made a very simple disk operating system that would only load files from fixed locations off the disk in response to one-letter commands. But it was not a true disk operating system (DOS); their rudimentary control program would not be flexible enough for efficient and simple use of the disk drive. DISK SYSTEM BASICS To create an operating system that would be both simple to use and yet powerful enough for advanced file manipulations, Apple had much work to do, building on the device driver that Wozniak had written. Among other things, it had to interface well with the BASICs in ROM on the AppleII, and be no more complicated to use than the cassette system. Although Woz's driver routines were efficient in writing and reading data to and from the disk, they could only be used from 6502 assembly language. Designing a disk operating system from scratch is no trivial matter. On one side is the RAM memory in the AppleII, waiting patiently for a useful program to be loaded and executed. On the other side of an electronic bridge (interface card and connecting cable) is the floppy disk and disk drive hardware itself. The control program the Woz wrote could be compared to a narrow rope bridge crossing a chasm; it works, but you can't carry much with you, and it is easy to slip and fall (lose data). A complete DOS is more like a concrete and steel bridge, capable of carrying autos and trucks in both directions over the chasm. Woz's "rope bridge" was a foundation, but there was much work yet to do. A disk drive consists of a recording head that is mechanically moved across the surface of the floppy disk, tracing the radius of the disk from the center to the edge. The disk itself is spinning under the head. This is similar to the stylus on a turntable that plays 33 RPM records (remember those?), but the head on a disk drive can be given a command to move to a different "track" on the spinning disk. Also unlike the turntable, which is a "read-only" device, the head on the disk drive can either reads bits off or write bits onto the disk. To be able to find where data has been stored on a disk, it is "formatted" into a known configuration. A blank disk could be compared to empty land that will be filled with new houses, but currently has no streets, street signs, or house numbers. The initial formatting (called "hard" formatting) of a blank disk is, then, like building the streets and assigning lots for future building. The second part of disk formatting (called "soft" formatting), involves naming the streets, designating addresses, and building houses. In the case of Apple's Disk II, it was designed with 35 concentric circles ("streets") called tracks. Each track is subdivided into 16 segments ("houses") called sectors. Each sector can hold 256 bytes of information. In the hardware system that Wozniak designed, the timing hole near the center of the floppy disk was not used by the hardware to keep track of which sector was passing the head at any particular time. Because of that, it was necessary for the software to identify in a different way where one sector ended and the next sector began. A complicated method was used of specially encoding each of the 256 bytes so they have a standard, recognizable appearance to a program that is controlling the disk drive, plus some other specialized bytes that identify the start and end of a sector. Although it did decrease somewhat the storage capacity of the disk, the cost savings in less complicated hardware compensated for it. DOS 3.1 - STRUCTURE & FUNCTION WITH BASIC With this background, let's get back to tracing the gap between Woz's demo DOS and Apple's first official release, DOS3.1. Worth and Lechner in their book, "Beneath Apple DOS", divided DOS up into four parts according to function and location in memory. When a computer needs an operating system, it's because there is a need to insulate the user from the complexity of trying to control the hardware. Consider the four parts of DOS as layers; as you get closer to the bottom layer, you are closer to the hardware (the raw data on the disk and direct control of the disk drive), but you also increase greatly the difficulty of managing it. The farther up you go, the easier it is to manage things on the disk, but the less direct is the control of the disk data and hardware. When Wozniak wrote his disk controller (driver) routines, he worked at the deepest layer, directly manipulating the disk hardware and raw data. This involved some complex timing and error checking for reading and writing data to the disk. This section is also where the program lies that erases the disk and creates the sectors and their addresses. In memory, this layer of DOS started at $B800 on a 48K AppleII. Randy Wigginton wrote a "front end" for Wozniak's controller routines. His part could be considered a thin layer that is part of the lowest layer of disk routines. Together, the two layers made up what came to be known as "RWTS", or "Read/Write Track/Sector". It could do four things only: SEEK (to move the disk arm to the desired track), READ (load a sector from disk into memory), WRITE (save a sector to disk from memory), and FORMAT (discussed above). This layer of DOS, the Disk II driver, started at $B600. Apple contracted with an outside consultant, Bob Shepardson, to write much of the rest of DOS (though modifications were made Apple programmers Dick Huston and Rick Auricchio). Shepardson's group wrote the layers (parts) of DOS that later became known as the "File Manager" and the "Main DOS routines". The File Manager was the next layer in memory above RWTS. It started at $AAC9 in memory, and was responsible for twelve higher level functions that dealt with files and the disk in general. These functions were OPEN, CLOSE, READ, WRITE, DELETE, CATALOG, LOCK, UNLOCK, RENAME, POSITION, INIT (format a disk and create an empty catalog track), and VERIFY. This set of routines, along with RWTS, would be similar to the file PRODOS in the current 8-bit disk operating system. It handled the disk at the file level, but knew nothing about BASIC. The next layer of code above the File Manager contained the Main DOS Routines. These routines started at $9D00 in memory, and were responsible for interfacing BASIC with the disk. This layer would be similar to the file called BASIC.SYSTEM used today in the ProDOS system. Since neither Integer BASIC nor Applesoft were specifically modified to handle disk commands, this part of DOS kept a constant look at any output PRINTed by BASIC. When a BASIC program was running, DOS looked to see if the character Ctrl-D (hex $04) was printed immediately after a Ctrl-M (carriage return). If that sequence was detected, DOS assumed that the next text printed was a command for it. If a BASIC program was not running, then DOS examined anything typed directly from the keyboard. If it decided that a DOS command had been entered, it would execute that command. If the user typed a command that DOS recognized (such as "RUN PROGRAM" or "SAVE PROGRAM") but which resulted in a disk error, DOS3.1 would generate an error message. On the other hand, if DOS did not recognize the command, it passed it on to the active BASIC for processing. The final, uppermost layer of DOS was not a program code area but a set of memory areas called "buffers". One buffer was used by DOS for each open file. These buffers ordinarily started at $9600 in memory. Here is an example of how the layers of DOS interacted: When a user typed the command "LOAD PROGRAM" at the keyboard, DOS intercepted the statement. The Main DOS Routines determined that it was a legal DOS command. The File Manager was called to 1)OPEN a file named "PROGRAM", 2)READ all the bytes associated with that file into memory starting at a specific location, and then 3)CLOSE the file. The File Manager's OPEN command in turn instructed RWTS where to move the disk read/write head, and in what order to read the correct tracks and sectors to find the contents of the entire file, wherever it happened to be on the disk. Complicated, perhaps, but the only thing the user had to know was how to type "LOAD PROGRAM". Finally, one piece of trivia: Why was the first DOS released for the AppleII called "DOS3.1" rather than "DOS 1.0"? According to Steve Wozniak, it was Bob Shepardson's group that decided on calling it "DOS3". It is unclear why Shepardson decided on "3"; possibly it referred to internal revisions done by Shepardson, or perhaps it was a modification of some DOS routines done for another computer that had used earlier version numbers. (Note: DOS3 was never actually released to the public; that version apparently had a few bugs left to fix, so "DOS3.1" came with the first DiskII drives shipped by Apple to their dealers). DOS 3.1 - MANUAL When originally introduced with the new DiskII drive in 1978, DOS3.1 had very little documentation. Because the demand for the disk drive was so great, the engineers at Apple had worked feverishly to produce enough working drives to begin shipping. They went out, although there was not time to complete a real manual on how to use the disk operating system. They did include a leaflet about some of the commands, but there were still, obviously, complaints. One letter to Apple president Mike Markkula made these blunt comments: "You [expletive deleted]. I bought an Apple with floppy and nobody, I mean nobody, in L.A. or San Diego knows how to use the [thing] for random access files. I really feel 'ripped off.' Everybody talks about this great manual in the sky that is coming out soon??? ... [more expletives]! I need this computer now in my business not next year. [Expletive]. I hope your dog dies." It was not until the release of DOS3.2 in February 1979 that a true reference manual was made available. It was given the unwieldy title, "Disk II Floppy Disk Subsystem Installation and Operating Manual", and subtitled "Apple Intelligent Subsystems (part #030-0011-00)". It was all of 38 pages long, with weak jokes and typos, but not much else of substance. Instruction on how to READ and WRITE text files was given in a mere ten lines, with no programming examples. The EXEC command was given a little more description, but was still unclear to many users. The manual also talked about " *3D0G ". What it didn't say was that this meant that the user was supposed to type "3D0G" from the Monitor prompt (to allow a return to the active BASIC with DOS connected). DOS 3.1 - FEATURES A catalog of the DOS3.1 System Master disk would produce this output: I 007 HELLO *I 043 APPLESOFT I 016 ANIMALS I 009 COLOR DEMOS *I 004 MASTER.CREATE *B 039 RAWDOS *I 007 COPY *B 007 COPY.OBJ "HELLO" was the startup file executed when the disk was booted. It just displayed the following: DISK II MASTER DISKETTE VERSION 3.1 20-JUL-78 COPYRIGHT 1978 APPLE COMPUTER INC. >_ stopping at the Integer BASIC prompt. "ANIMALS" was an Integer program that gave an example of the use of disk files, and "COLOR DEMOS" was a disk version of a program that had earlier come on cassette. "MASTER CREATE" was a program that could be used to initialize a "master" disk. Using the binary file "RAWDOS", it executed the DOS "INIT" command, but put a version of DOS on the newly formatted disk that was relocatable. When DOS from a "master" disk was booted on an AppleII, it first determined what was size of the memory, and then loaded itself into memory as high as possible. The INIT command properly formatted a new disk, but created what Apple called a "slave" disk; that is, the DOS loaded from a slave disk was fixed in memory to the same size as the computer on which DOS had been booted. In most cases this would not be a problem. However, the problem would surface if someone whose AppleII had only 16K of RAM shared a disk with a friend whose computer had, say, 32K of memory. Booting that borrowed disk would make the 32K computer appear to have only 16K of RAM (since it forced DOS to load at the highest location available to a 16K machine). A "master" disk was more versatile, being "intelligent" enough to adapt itself to differing memory sizes. The Integer BASIC file "APPLESOFT" was interesting. It was a 43 sector file that appeared in a catalog as an Integer BASIC program (with the "I" filetype code). If you loaded the file and listed lines 10 through 80, there were lines that would produce the following text: **************************************** * * * APPLESOFT ][ FLOATING POINT BASIC * * APRIL 1978 * **************************************** COPYRIGHT 1978 APPLE COMPUTER, INC. COPYRIGHT 1976 BY MICROSOFT ALL RIGHTS RESERVED There were also lines that poked some values into memory, and then jumped to a machine language routine that relocated Applesoft into RAM starting at $800 (the same place where Cassette Applesoft loaded). If you tried to LIST the entire program in memory, the lines after line 80 appeared to be a jumble of Integer BASIC commands. This is because a majority of the file was actually a machine language program that had been appended to the end of the short Integer BASIC program that displayed the title above and did the memory pokes. This machine language code was the Applesoft BASIC interpreter. Now, if the file "APPLESOFT" was executed by typing "RUN APPLESOFT", it would display the title and leave the cursor next to the Applesoft bracket prompt. However, DOS was no longer connected; the result was much like using Cassette Applesoft. To properly use this file with DOS, you had to type "FP" from the Integer BASIC prompt. DOS would then load the "APPLESOFT" file and properly initialize the interpreter, leaving DOS connected. Since this version of Applesoft still had a few bugs in it, this method of using Applesoft was obsoleted by the Applesoft Firmware card and the AppleII Plus. Interestingly, the error messages produced by DOS3.1 were made to look similar to those displayed by Integer BASIC. For example, this is what happened if an attempt was made to load a type "B" (binary) file with the "LOAD" command: >LOAD COPY.OBJ ***DISK:NOT BASIC PROGRAM >_ Integer BASIC had error messages that looked like "***SYNTAXERR" (with a space following the asterisks). The possible error messages in this version of DOS that were different from later versions were: SYS ERROR CMD SYNTAX ERROR NO FILE BUFFS AVAIL ERROR NOT BASIC PROGRAM ERROR NOT BINARY FILE ERROR DOS 3.1 - USER EXPERIENCES One problem encountered by early users of the Disk II was properly connecting the drive to the controller card, as discussed in Part 9 of this History. Some quirks in DOS that plagued users at the time of the first releases of DOS3.1 included one in which LOCKing a file sometimes mysteriously caused the length of the first file in the catalog to change. Apple told people not to worry about that; in fact, they told people not to pay attention to the sector counts in the catalog at all, as there was a bug in that part of the catalog routine. Another problem in early versions of DOS3.1 was an inability to execute READ or WRITE statements in an Applesoft program if they occurred in program lines that were numbered higher than 256. It also wouldn't allow more than one DOS command on the same line of a program, so this was not possible: 10 ON ERROR GOTO 1000 20 PRINT D$;"VERIFY FILE": PRINT D$;"OPEN FILE": PRINT D$;"READ FILE" Other bugs in early versions of DOS3.1 included not being able to initialize disks with MASTER.CREATE unless the disk controller was moved to slot 7. (Originally, slot 7 was going to be the disk slot, but Apple decided to change it to slot 6 and leave slot 7 for video cards. Why the various 80-column cards that were eventually released were made to go into slot 3 instead of slot 7 is anybody's guess). The A.P.P.L.E. user group had patches to MASTER.CREATE and RAWDOS to fix the slot 7 INIT bug, and the >255 line number bug in Applesoft. Apple later released a modified version of DOS3.1 that fixed these bugs (without changing the version number). DOS 3.2 - ENHANCEMENTS As mentioned above, DOS3 and 3.1 had a few problems. When the AppleII Plus with the Autostart ROM was released, DOS needed to be updated to handle the changes. DOS3.2, released in February 1979, contained several modifications, but retained 90 percent of the basic structure of DOS3.1. One interesting change made to plan for the future was a doubling of the number of possible filetypes. The original DOS used "I" for Integer BASIC files, "A" for Applesoft, "B" for binary files, and "T" for text files. DOS3.2 added types "S", "R", another "A", and another "B". Of those four types, only "R" was ever officially designated by Apple, and that for relocatable assembler object files. DOS3.2 included a program called "UPDATE 3.2", which worked much like the earlier program "MASTER.CREATE" in changing a "slave" DOS disk into a "master" disk. As time went by, and more users had their AppleII's fully populated with 48K RAM, the need for such a utility became less and less important. DOS 3.2 - FEATURES A catalog of the DOS3.2 System Master disk would produce this output: *I 002 HELLO *I 043 APPLESOFT *I 018 ANIMALS *B 009 UPDATE 3.2 *I 014 COPY *I 009 COLOR DEMO *B 003 CHAIN *A 009 COLOR DEMOSOFT *A 028 LITTLE BRICK OUT *A 003 MAKE TEXT *A 003 RETRIEVE TEXT *A 010 EXEC DEMO *A 010 RANDOM *T 003 APPLE PROMS *A 039 RENUMBER INSTRUCTIONS *A 014 RENUMBER The file "RAWDOS" that was on the DOS3.1 disk was no longer needed, as its function was included in the "UPDATE 3.2" program. As you can see, some of the files from the DOS3.1 master disk were retained, but some others were added. There were now several Applesoft files, including a version of the color demonstration ("COLOR DEMOSOFT"), a smaller version of the older Integer BASIC game "BRICK OUT" ("LITTLE BRICK OUT"), a couple of files to show simple disk access ("MAKE TEXT" and "RETRIEVE TEXT"), and a program to exhibit the use of random-access disk files ("RANDOM", with the file "APPLE PROMS"). There was finally a program ("EXEC DEMO") that showed how to use the EXEC command in DOS. Also found on this disk were two utilities for Applesoft. One made it possible to renumber Applesoft programs, and the other ("CHAIN") allowed linking between multiple Applesoft programs, retaining the value of any variables created by the first program. There was a CHAIN command built into DOS, but it worked properly only with Integer BASIC programs. DOS 3.2.1 In July 1979, DOS3.2.1 was released. This was merely a minor upgrade to make some patches to RWTS and correct a timing problem that caused the utility "COPY" to fail when copying disks with two disk drives. It also began a system disk version numbering system that persists to this day, that of adding a third digit to indicate a minor upgrade. (For example, GS/OS 5.0 changed to 5.0.1 with some bug fixes, rather than 5.1). This disk contained the new COPY program, and a program called "UPDATE 3.2.1", which worked just as "UPDATE 3.2" and "MASTER.CREATE" had previously. The update program was used to modify existing DOS3.2 disks to the 3.2.1 version. As an bonus, Apple added some programs to this Master disk that were just for fun. All written in Integer BASIC, the games and graphics demonstrations included "APPLE-TREK", "THE INFINITE NUMBER OF MONKEYS", "BRIAN'S THEME", and "BRICK OUT" (which was an AppleII version of the arcade game, "Breakout"). The "HELLO" program displayed this when the disk was booted: MASTER DISKETTE VERSION 3.2.1 STANDARD 31-JULY-79 COPYRIGHT 1979 APPLE COMPUTER INC. ++++++++++++++++++++++++++++++++++++++++++++