The introduction of an improved version of Applesoft BASIC in late 1978 began to build into a huge customer demand for this more powerful interpreter. The demand was fueled both by Applesoft’s ability to do floating point math (which was needed by those wanting to write and use business and financial applications that needed numbers both to the right as well as to the left of the decimal point) and its inclusion of commands to handle the Apple II high resolution graphics modes. During 1978, when the improved Applesoft was under development, Apple engineers began work on the Apple II Plus, a modest enhancement to the Apple II. The main attraction of this newer Apple would be Applesoft in ROM, available immediately without having to load it from cassette or disk. Also, having it in ROM would move it out of the part of memory where the RAM-based Applesoft interpreter conflicted with addresses used by the hi-res graphics modes. (Applesoft had commands specifically written into it for manipulating those graphics, something that Integer BASIC could only do via special CALLs to the routines in the Programmer’s Aid #1 chip). This evolutionary enhancement to the Apple II was released in June 1979.
With the decision made to upgrade the Apple II, other changes were made to make it more attractive to new computer buyers. The cost of RAM chips had dropped considerably, so most new II Plus systems came standard with a full 48K of RAM (although 16K and 32K versions were also available). Since the disk operating system consumed about 10K of memory, having the full complement of available RAM made it easier to use the Disk II with either version of BASIC. Since users would not need to add the smaller 4K memory chips, the strapping blocks that had made it possible to use either 4K or 16K RAM chips on the original Apple II were removed.
Other changes included in the Apple II Plus motherboard included those that had previously been made between Revision 0 and Revision 1 boards, as mentioned in Chapter 4.
More important than the minor hardware changes, however, were the changes in the ROM code. The new ROM replaced the original Monitor with one that, among other things, better supported the new Disk II drive. Since RESET was now automatically activated when the power was turned on, the new ROM code had the computer automatically do a few things. It cleared the screen (displaying “APPLE ][” at the top), and began a scan down the slots, starting at slot 7 down to slot 1. It examined the first few bytes of code in each card’s ROM for a specific sequence that identified it as a Disk II controller card. If one was found, control was passed to that card, causing the disk drive to startup and begin loading the disk operating system into memory. If no disk controller was found, the ROM code jumped to the start of BASIC (instead of leaving the user in the Monitor, as in the old ROM). This “Autostart ROM”, as it was called, made it possible to have a system that started up a program on the disk with little action needed by the user.
The RESET code was more intelligent in the Autostart ROM than in the Old Monitor ROM. There was now a “Cold Start” RESET (which functioned as described above), and a “Warm Start” RESET. A Warm Start RESET could occur without re-booting the Disk II (if it was present); in fact, it ensured that the disk operating system remained “connected” after RESET was pressed. This feature was implemented by setting three bytes at the end of page $03 in memory. Two of the bytes were the address of the place in memory to which the Apple should jump if RESET was pressed. The third byte was a specially coded byte created from half of the address byte. When RESET was pressed, this special “power-up” byte was checked with the address byte. If they didn’t properly match, the Monitor assumed that the power had just been turned on, and it executed a Cold Start RESET. This feature was extensively used by writers of copy protected software, so users could not modify or copy the code in memory simply by pressing the RESET key.
Gone was Steve Wozniak’s hand-assembled Integer BASIC, in favor of the newer Applesoft. Since these ROM versions of BASIC used the same memory locations, they could not be used simultaneously. With the introduction of the II Plus, Apple also released the Applesoft Firmware Card. This card, which plugged into slot 0, made it possible for previous Apple II owners to have some of the benefits of the II Plus without having to buy an entirely new computer. Even with that card, however, you could not use features of one BASIC while the other was active, and switching from one BASIC to the other erased any program that was being used at the time. The two BASICs could be told apart by the prompt they used; Integer BASIC used the “>” character, but Applesoft used the “]” character.
Another change made to the Monitor ROM made screen editing easier. The original Apple II procedure for editing a line typed in BASIC or in the Monitor was tedious at best. To change a line of text in BASIC, you had to list the line, move the cursor up to the start of the line, and then use the right-arrow key to “copy” text from the screen into the input buffer. If you wanted to skip part of the line, you had to move the cursor past the text that you wanted to eliminate without using the arrow keys. If you wanted to INSERT something into the line, you had to move the cursor off the line (above it or below it), type the additional text, and then move the cursor back into the line to finish copying the original part of the line. For example, suppose you had typed this line in Applesoft and displayed it on the 40-column screen:
To change that line so the PRINT statement read “I REALLY LIKE MY APPLE” meant either retyping the entire line, or using the edit feature. (If the line was particularly long, it was preferable to edit rather than retype the entire line). To edit this line, you would have to move the cursor up to the “1” of “100” and begin pressing the right arrow key. When you got to the “L” of “LIKE” you would have to move the cursor above or below the line, type the word “REALLY” followed by a space, then move the cursor back to the “L” of “LIKE”, and continue copying with the right arrow key. After editing a line, the screen might look like this:
(In this example, I moved the cursor down one line, typed “REALLY”, and then moved it back to the start of the word “LIKE”). If you didn’t make any mistakes it would read like this:
However, if you didn’t take care to skip over the extra spaces inserted in front of the word “LIKE” by the Applesoft LIST command, it could appear this way:
The big problem with these cursor moves for editing under the Old Monitor was that each move required two keypresses. To move the cursor up, you had to press “ESC” and then “D” each time you wanted to move the cursor up. “ESC A” moved right, “ESC B” moved left, and “ESC C” moved the cursor down. With a long line that needed much editing, this would get old real fast. Not only was it cumbersome, but the layout of the keyboard made it difficult to remember the correct letters used for cursor movement; although “D” (up) was above “C” (down), it seemed that “D” should stand for “Down”. Also confusing was that “A” was to the left of “B”, but their functions were the opposite of their position!
The new Autostart ROM improved this screen editing process just a bit. Now, pressing “ESC” turned on a special editing mode. Repeated presses of “I” (up), “J” (left), “K” (right), and “M” (down) continued to move the cursor until a key other than ESC was pressed. On the keyboard these letters were arranged in a sort of “directional keypad” or diamond, which made remembering the moves a little easier. The previous ESC editing codes were still supported, but still with their previous limitations. Unfortunately, however, you still couldn’t tell whether you were in the regular text entry mode or in the ESC editing mode, and often attempts at changing a line took several tries to get it right.,
Other features added in the new Autostart ROM included the ability to pause a listing by pressing Ctrl-S (very helpful when trying to scan through a long program!) As mentioned above, pressing RESET would return control through the soft-entry vectors on memory page $03. This would allow a user to exit from a runaway BASIC program by pressing RESET, and still keep program and variables intact in memory (which could not be guaranteed with the old Monitor ROM).
John Arkley at Apple wrote the changes to the original Monitor ROM and created the Autostart ROM in November 1978 (he’s the “John A” mentioned in the source code listing found in the 1981 edition of the Apple II Reference Manual). After Arkley had done the work and the ROMs had been created, Apple began working on a new version of the Reference Manual to cover the Apple II Plus. The older Reference Manual (affectionately known as the “Red Book“) had included an assembly language source code listing of the Monitor ROM. They wanted to include the source for both versions of the Monitor, but a problem came up. While developing the Monitor, Apple had used a local mainframe computer dial-up service known as “Call Computer.” They used a cross-assembler on that computer, assembled the code, and then used the resulting object code to create the ROM. (A cross-assembler is a program that creates object code for a processor other than the one the cross-assembler runs on. For example, if you can write 8080 machine code with an assembler running on a 6502-based computer, you are using a cross-assembler). Unfortunately, Call Computer had accidentally done a system backup with the source and destination disks reversed, erasing all the files containing the source code for the Apple II Monitors. There were no disk or cassette copies of the source code for the Autostart ROM back at Apple. Working from the source listing in the Red Book, John recreated the source file for the original Monitor, and then disassembled his own modifications for the II Plus and re-created his Autostart ROM source file. Those reconstructed listings are what appeared in the 1981 edition of the Apple II Reference Manual.
Not everyone was pleased with the modifications made in the Autostart ROMs, however. Some of the authors of the magazine Call-A.P.P.L.E. liked to refer to the new computer as the “Apple II Minus”, since Arkley had to remove some of their beloved routines from the ROMs to make room for the new features. Missing from the Apple II Plus ROMs were Integer BASIC, the miniassembler, and Woz’s SWEET 16 interpreter, that entire space now being used by Applesoft. Missing from the Monitor were the assembly language STEP and TRACE features, and a set of sixteen-bit multiply and divide routines. Call-A.P.P.L.E. even sold a package called “Integer Basic Plus”, under a licensing agreement with Apple Computer, which provided a RAM version of Integer BASIC that was relocatable, depending what size RAM was present in an Apple II Plus. This allowed those who had purchased an Apple II Plus without an Integer BASIC firmware card to still load, edit, and run programs written for the original Apple II BASIC. This custom language also added a number of user functions not present in standard Integer BASIC.
The new Apple II Plus, at $1,195, sold for over $100 less than the original Apple II, although it came with more memory and had Applesoft (previously an added expense item) in ROM.
Apple made a marketing deal early on with Bell & Howell to let them sell the Apple II and II Plus with a Bell & Howell name plate on it for use in schools. Bell & Howell had long been associated with education institutions through their sturdy movie projectors and other audio-visual equipment, which were used extensively by schools throughout the United States. The Apple II computers sold through Bell & Howell were black colored (instead of the standard beige), earning them the nickname among computer hobbyists as the “Darth Vader” Apple II (due to the color similarity with the Star Wars villain). These computers came with screws on the back to keep the lids on, specifically in order to comply with UL certification, which was often a requirement for equipment sold to schools. A typical Apple II Plus could not be certified as such, since it was designed to function with the lid off, which provided access to the internal components and, theoretically, electric shock.
One model of the Bell & Howell Apple II Plus, Model A2S1048B, had an optional “backpack” attached to the rear of the computer. This backpack provided support for a coaxial cable to be attached for video output to the monitor (as well as the standard RCA phono jack for video), three 110 volt power outlets for peripherals, a carrying handle, three audio-in jacks, an audio-out jack, a standard 1/4 inch headphone jack, as well as the standard cassette input/output jacks. The power cord was quite long. Another model, A2S1032B, did not come with the backpack option., These computers also came with the “shift-key mod” (see below) already applied.
This version of the Apple II Plus could be purchased with Disk II drives that were colored the same black as the computer. Bell & Howell also sold a printer called the P-100, which was actually a renamed Micro Peripherals MPI model 99G with a Centronics-compatible parallel interface cable (directly attached to the printer), and a parallel printer card.
An additional enhancement provided in the Bell & Howell version of the Apple II was a means of attaching game paddles externally. DIN sockets on the right side of the computer (as viewed from the front) made it possible to easily plug in and remove the game paddles without risking the delicate pins used for the original paddles supplied by Apple. There would be no similar improvement offered by Apple until the release of the Apple IIe in 1983.
Bell & Howell also had electronics correspondence courses, and used the black Apple II Plus for one of their courses. They offered a one year warranty, instead of the ninety-day warranty offered by Apple.,,
Dennis Ulm was a subscriber to the A2 Roundtable on GEnie back in 1991. In a message exchange at that time, he kindly provided me with the following reproduction of his original Apple II Plus packing list. It gives a little picture of what early non-disk users had to work with:
This package should contain the following items:
|1||1||600-2023||cassette tape: LITTLE BRICKOUT, COLOR DEMOSOFT|
|2||1||600-2024||cassette tape: RENUMBER/APPEND, ALIGNMENT TEST TONE|
|3||1||600-2025||cassette tape: FINANCE I, PENNY ARCADE|
|4||1||600-2026||cassette tape: LEMONADE, HOPALONG CASSIDY|
|5||1||600-2027||cassette tape: BRIAN’S THEME, PHONE LIST|
|6||1||030-2057||manual: Introductory Programs for the Apple II Plus|
|7||1||030-0044||manual: The Applesoft Tutorial|
|8||1||030-0013||manual: Applesoft II BASIC Programming Reference Manual|
|9||1||030-0004||manual: Apple II Reference Manual|
|10||1||030-0035||publication: Apple Magazine|
|11||1||600-0033||1 pair of game controls|
|12||1||590-0002||cable: to hook up a cassette recorder|
|13||1||590-0003||cable: power cord for the Apple II Plus|
|14||1||030-0001||Apple Warranty Card|
|15||1||600-0816||Apple II Plus System 16K|
|600-8032||Apple II Plus System 32K|
|600-0848||Apple II Plus System 48K|
(LITTLE BRICKOUT was an abbreviated Applesoft version of Woz’s Integer BASIC Breakout game (the reason he designed the Apple II in the first place). BRIAN’S THEME was a hi-res graphics program that drew lines on the screen in various patterns:
Also included in Dennis’ II Plus box was this photocopied instruction sheet:
TAPE LOADING INSTRUCTIONS
If problems are encountered in LOADing tape programs, it may be necessary to “queue” [sic] the tape before LOADing. To queue a tape, use the following procedure:
Dennis said that in his experience it took at least five to ten tries to get anything to load properly from tape!
Lower-case was still not supported on the new Apple II Plus, though it was a popular user-modification. The thriving industry for Apple II peripherals made up for this shortcoming, with various vendors supplying small plug-in circuit boards that fit under the keyboard, allowing display of lower-case on the screen (and sometimes direct entry of lower-case from the keyboard). By 1981, when the Revision 7 motherboard was released for the Apple II Plus, a different method of character generation was used, which reduced radio-frequency interference that was generated. For Revision 7 boards, lower-case characters could be displayed with the addition of only a single chip. However, unless a user changed the keyboard encoder with a third-party product, only upper-case characters could be typed.
The keyboard itself underwent some changes, both by users and by Apple. The original RESET key was in the upper right-hand corner of the keyboard. The problem with that key was that it had the same feel as the keys around it, making it possible to accidentally hit RESET and lose the entire program that was being so carefully entered. One user modification was to pop off the RESET keycap and put a rubber washer under it, making it necessary to apply more pressure than usual to do a RESET. Apple fixed this twice, once by replacing the spring under the keycap with a stiffer one, and finally by making it necessary to press the CTRL key and the RESET together to make a RESET cycle happen. The keyboards that had the CTRL-RESET feature made it user selectable via a small slide switch just inside the case (some people didn’t want to have to press the CTRL key to do a RESET).
Another keyboard limitation was addressed through a modification that became known as the “shift-key mod”. This was such a widely used trick that Apple ended up supporting it in hardware when they designed the Apple IIe. Since the II and II Plus keyboards could not directly generate lower-case characters, early word processing programs had to find some way to make up for that deficiency. Apple’s own Apple Writer program used the ESC key as a shift and shift-lock key, displaying upper-case characters in inverse video and lower-case in regular video. Other programs suggested installing the shift-key mod to allow more natural entry of upper-case, using the SHIFT key already present on the keyboard. The user had to attach a wire to the contact under the SHIFT key, and run it to the game port where the input for push-button 2 was found. (This push-button PB2, $C063 in memory, was for one of an optional second pair of game paddles that third-party hardware companies supplied for the Apple II). The program would assume that all letters being typed were in lower-case, unless the SHIFT key (attached now to paddle button PB2) was also being pressed; in that case the letter would be entered as upper-case. Since the PB2 button was not often used for a second pair of game paddles, it was unlikely that this modification would be accidentally triggered by pressing one of the game paddle buttons. This modification did not use buttons PB0 or PB1, which were on the first pair of game paddles. (In the later models of the Apple II, including the IIe, the IIc, and the IIGS, PB0 and PB1 were made to correspond to the Open-Apple and Solid-Apple/Option keys on either side of the space bar).
The start and end dates for each model of the Apple-1, Apple II and II Plus:
(Many thanks to Peltier Technical Services, Inc. for assistance in creation of this chart.)