The Apple II by Stephen Wozniak (1)

Embed Size (px)

Citation preview

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    1/11

    System Description

    Photo 7: A color test chartshowing the 75 shades ofhue available fro m theApple-II as presented on atypical commercial colorset, using one of severalRF modulators ava ilab leon the mar/?et. Th e AppleBASIC program used togenerate this color isshown in the text portionof this split screen(graphics and text)display.

    The Apple-II Stephen WozniakApple Computer Co20863 Stevens Creek Blvd B3-CCupertino CA 95014To me, a perso nal computer should besmall, re li abl e, conven ient to use an d inexpensive.Th e Apple-I, my first video orient edsingle board computer, was des igned late in1975 and sold by word of mouth through

    out California and late r nat ionwid e throughreta il computer stores. I think that theApple-I computer was the first micropl"Ocessor system pl"Odu ct on the market to completely integrate the display generat ion circuitry, microprocesso r, memory and powersupply on the same board. This mea nt thatits owner could run the Apple BASICinterpreter with no add itional elect roni csother than a keyboard and video mon ito r.The Apple-I video co mputer board wasoriginally intended as a television termin alproduct which could also ope rate in a standalone mode with out much in the way ofmemory, although it did have a processo r,34

    space for 8 K bytes of 4 K dynamic memorychips, and its shared video generation anddynami c memory refresh logi c. App le- I wasso ld as a completely assembl ed and testedprocesso r board with a price und er $7 00 atthe reta il level.The latest result of my design activities isthe Apple-II which is the ma in subject ofth is system description article. The Apple-IIbuilds up on this idea by providing a computer with more memory capability, a readonly memory (ROM) BASIC in te rprete r,color video graphics as well as point graphicsand character graph ics, and exten ded systems software.Integral Graphics

    A key part of the Apple-II design is anintegral vid eo display generator which diaccesses the system's programmabl e

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    2/11

    memory. Screen formatting and cursor contro ls are rea li zed in my design in the form ofabout 200 bytes of read onl y memory whi chare bu ilt into the Appie-Il's mask programm ed 8 K bytes of read on ly memory. A'I K byte segment of the processor's ma inmemory is dedicated to the d isplay ge nerator, although it is also ac cessibl e to progra ms , The di spl ay transfer rate is the time ittakes to fu ll y def ine the contents of th issegment of memory, and averages about1000 characte rs per second, limi ted pri-

    ------,

    marily by the software sc rolling routines inthe system read on ly memory,Since the Apple- II incorporates this di splay ge nerator as a part of its des ign, its textmode beco mes the term in al for the system.The displ ay has 24 rows of 40 charactersdisp layed on an ordinary bl ac k and wh ite orcolor telev ision sc reen. Each characte r in theApp le-II des ign is a 5 by 7 dot matrix, so thepresent vers ion of the system on ly implements upper case character s of the 6 bitASCI I sub set, as we ll as the usual numbers

    I V IDEO GENERATOR / MEMORY / PROCESSOR T IMING AND CON TROLI +( +

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    3/11

    Photo 2: This series of photos showsthe steps in writing an animatedBASIC game using the Apple-II computer's BASIC interpreter. This se-quence highlights the process ofwriting a paddle versus "wall" gamewhere the object of play is to knockbricks out of the wall and eventuallyget the ball to go all the way through.This game is similar to many seen inamusement parks and arcades, and istypical of the kind of game which canbe implemented with Appie-ll's BASIC software. Using the split screengraphics and text display mode, theBASIC statements are shown at thebottom of each picture.

    Pho to 2a: The first step in any game isto generate the uniform color background for the action of the game.Here we use a blue field.

    Photo 2b: Then we must add a liberaldose of obstacles and field pieces tomal?e the problem interesting. For thisgame, the major obstacle is a brickwall of orangish (color 73) and greenish (color 72) bricks. Later 017, sincewe can look at the contents of thescreen directly, the game algorithmwill be manipulating these bricks.and graphics ava il ab le in stand ard charactergenerator read onl y memory parts. Assumingthat the video display is the current lyassigned syste m output device, the display isaccessed through our system software inread only memory by using a subroutin ecalled COUT which adds text to the sc reenusing an automatic sc ro llin g technique. Thisis typical of the many read only memoryroutines which I've in corpo rated into theROM to pro vide comp lex features withrelatively simple user interfaces. Anotherexamp le of such a softwal"e feature is a userdef inable scrolling window. This mea ns thatthe user of th e system can pick any of fourcoordinates def ining any rectangular subsetof the viewing area of the video screen as thecurrent scrolling zone. The remaind er of thedisplay will rema in fro zen and data in thewindow will sc roll normally when COUT isaccessed . This is a most useful feature: Forexampl e, the user can set up a game background or inst ru ction menu in one pal"t ofthe screen while using the remainder of thesc reen for scro ll ing the variab le data.

    In the text mode, each character positionmay be displayed in norma l (white characte ron black background) or inverse, or flashingmodes. This infolmat ion is spec ified by thehigh order bits of each character stored inthe display memory. The cursor position, forexampl e, is indi cated by fmcing the character at the cursor locat ion to be in theflashing mode with inverse video.

    User ap plicat ion programs may sw itch thedisplay mode from character to co lor graphics with a singl e instruction, dividing thescreen in sta ntly into a patchwork of co ntrollable color on a grid of 40 hor izo ntallocat ions by 48 vertical locat ions. Each cellin the gr id may be one of 15 co lors, andsoftware built into the system I"ead onlymemory can be used to define the co lor of

    38

    any point as set by X and Y coordinateinteger values. Photo 1 shows a color scalefor the 15 colors possibl e, and a simp leBASIC program which generated the display.Here the scrolling window feat ures are usedto set the color graphics mode in the fixedportion of the screen (above) and set thetext mode of operation in the scrollingportion (below). This mi xed mode providesa 40 by 40 color graphics grid plus four linesof scrolling text at the bottom of the sc reen .A routine in the system Iead on ly memoryselects this mode and sets up the scrollingwindow corresponding to the text portion.I've found this mode especial ly usefu l toBASIC programmers who can write anima-tion games like Pong while holding a tradi"tional BASIC conversation in the text regionof the screen. This sp lit sc reen mode ofviewing is used fo r all the color graph ics ofphoto 2 as well.The same display memory reg ion that isused for the text display is used for the colorgraphics. System software ro ut ines supp li edin the read only memory of the processorallow users to simply clear the di sp lay, se lectcolors, plot points, draw hor izo ntal andvertical lin es, and sense the color va lu espresently at spec ified screen positions. I lik eto think of these system software sub rou"tines as enhance ments to the 6502 instruc-tion set for the purposes of display co ntrol.High resolution graphics is the remainingApple-II display mode. This mode of displayis set up by system software routines whichare delivered with the computer, but are notbuilt into the system read only memory.(Even with 8 K bytes for the read onlymemmy space, there sometimes isn't enough

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    4/11

    Photo 2c: Next, we must of courseadd a paddle, here created with adeeper yellowish orange (color 9) hue.Photo 2d: Then, since no video courtgame is complete without a ba ll wemust add a sq uare "ball" to theprogram, and set up some of theparameters of its motion.

    room to fit a ll the need ed features.) In thehigh resolution mode, 8 K bytes of mainmemory store the data for a display of280 horizontal dot positions by 192 verticaldot positions; so to allow enough room forsome BASIC software to play games withthis mode the system requires at least 12 Kof memory . If a color television is used withthis high resolution mode, the availablecolors are black, white, violet and green. Amixed mode with 160 rows of 280 dots plusfour lin es of scro lling text can also be set up.Application s of the high resolution graphicsmodes include game boards, mazes, maps,plots and histograms, user defi nable character sets, and games like Space War in itsor iginal an im ation graphics vers ions.Some Details

    All the Apple-II video modes work identically, using a common clock timing chainwh ich is shared by the processor, memoryrefresh and video generation logic. Duringeach microprocessor clock cycle's 1 clockpulse, an address is specified by the videocircuits and directed to the programmablememory of the system through the addressmultiplexor (MUX) of figure 1. Display datais received by the three forms of video datagenerators toward the end of the 2 pulse,and this data is then latched for use duringthe entire next clock cycle. Since all thisaction occurs during the , pulse whichlasts 500 ns, the video generator is ab le totake over the access to the memory at a timewhen the 6502 processor is busy wi thinternal housekeepi ng and processing operations which leave the data bus free. Duringthe 2 pulse, when the processor takescommand of the bus, the programmabl ememory of the system is used by theexecuting program as if the video ge nerator

    didn't ex ist at a ll . Because the integrateddisplay design uses this direct memory accesstechnique without stealing processor cycles ,it is possible to program accurate and predictable t iming loops in software as if noDMA were present in the system.Memory

    It is all eged in the Santa Clara (Silicon)Valley th at the microprocessor was inventedto se ll programmable and read on ly memorychips. It certainly has been the case that onemicroprocessor in the past would oftensupport hundreds of memory chips, buttimes change. Technology has sin cebestowed upon us the 4 K bit and 16 K bitdynamic programmable memory ch ip s.Apple- II was designed to operate with the16 pin dynamic programmable memoryparts, wh ich come in 4 K and 16 K versionswhich are (with some SUbtleties) pin for pincompatib le.The App le- II board is supp lied withsockets for thr ee blocks of memory, each ofwhich may be configured to use either 4 Kor 16 K dynamic programmable memoryparts, with intermixing a llowed . This meansthat if you were to pUIchase an App le with4 K bytes of memory and later want to add16 K bytes, there is no ne ed to scrap the 4 Kch ip s.Dynamic memories have one designcharacteristic which is not present in thesimp ler (but more ex pensive) static memories . This is the fact that they use capacit ivestorage elements built into the chips whi chmust be periodically recharged ("refreshed ") to prevent the information fromdisappearing.One of the elegant simp lifi cationsprovided by a sys tem such as the App le- IIwith its bu il t- in display is the fact thatrefreshing th e entire memory address

    39

    Photo 2e: Finally, the laststeps in finesse are thescore displays and relatedcaptions which completethe game. This game iscontrolled by using one ofthe analog inputs of theApple-II to determine theindex of the current loca-tion of the paddle, so thatby twisting the po t thepaddle is moved,. thespeaker output is used togenerate a sound burstwhen the ball hits the paddle or wall.

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    5/11

    (a)

    }LIST5 OSP APPLE10 FOR 1=1 TO 1020 IF 1)5 THEN 4030 APPLE=I: GOTO 5040 APPLE= 100+ I50 NEi\T I60 PRINT "DONE": END)RUN#30 APPLE=l#30 APPLE=2#30 APPLE=3#30 APPLE=4#30 APPLE=5#40 APPLE=106#40 APPLE=107#40 APPLE=108#40 APPLE=109140 APPLE=110DONE

    ~

    (b)

    Photo 3: Two examples of the Apple BASIC interpreter, in the form of programs with several lines of execut ion results. (a) Th einterpreter has a symbolic trace feature which allows dumping of named variables whenever a change occurs. This simpleprogram illustrates this "DSP" command with a simple computational program. (b) A similar debugging feature of SteveWozniak's Apple BASIC interpreter is a method of running the in terpreter with a statement number trace, by giving a TRA CEcommand instead of RUN in the command mode of the interpreter. This enables one to fairly quickly debug a BASIC programby exam'ining its effect on variables or its course of evolution through statement numbers.

    space of dynamic memory ch ip s is inherentin the operation of the video display ge nerator. On successive pulses of the video display, it cycles thr ough a ll the low orderaddresses of the memories as the memory isscanned to ge nerate the video image. Butscanning through the addresses with in themaximum a ll owab le time is the algorithmused to accomp li sh the required refreshingof the memor ies; so with this video ge nerator integral to the computer, refreshing ofthe memories happens to come for free andis tota lly transparent to the user with noextended, missing or delayed cycles. Thischaracteri st ic is sometimes ca lled "hiddenrefresh."Standard Per ipherals

    I designed the App le- II to come with a setof stand ard peripherals, in order to fit myconcept of a personal computer. In ad ditionto the video display, color graphics and highresolution grap hi cs, this design includes akeyboard in terface, audio cassette interface,four ana log game padd le inputs (for usersupplied potentiometers wh ich vary a resistance which the processor measures),three sw itch inputs, fo ur 1 bit annu nciatoroutputs, and even an audio output to aspeaker. Also part of the App le- II design isan 8 slot motherboard for 10 which has afully bu ffered bus, prioriti ze d in terrup ts,two prioritized direct memory access (DMA)schemes, and address decod ing at the indivi-

    40

    dual slots so that multiple bit address decoders are not required on peripheral boards.The Apple-II cassette interface is simple,fast, and I think most reliable . The datatransfer rate averages over 180 bytes persecond, and the recording scheme is compat ible with the interface used with theApple- I. This tape recording method can beused with any inexpensive recorder, but aswith any such use of audio media only highquality tapes shou ld be used in order toavoid problems due to dropouts from poorox ide coatings on the tapes. In the Appleaudio cassette interface, timing is performedby software which is referenced to thesystem clock, A zero bit is defined as a fu llcycle of a 2000 Hz signal (500.us long), whilea one bit is defined as a full cycle of a1000 Hz signal (1 ms long). While read ing data,full cycles are sampled, never half cycles, amethod which tends to provide immunity toDC offset and other forms of distortion. Allthe cassette management routin es are ava il able to user programs as subroutine callsfrom assembly language directly, or throughhooks in the BASIC interpreter.The Apple-II analog game contro l paddlecircu its are based upon inexpensive timerchips of the 555 type . I've used a quad timerof this type, called the 553, as shown infigure 2. To read the value of resistance onthe padd le's potentiometer, the timer isstrobed under software contro l using routines in the system read only memory. The

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    6/11

    (a) (b)

    t:F700LF700- Fe.' 4C CF SBC $CF4C,'YF703- F6 B5 I t ~ C $B5 .. :":F705- titi B F ~ I ".Memory limits for BAS IC source programsand data are set automatically at the time ofentry, but these limits may be varied by usercommands. While in BASIC mode, statements are entered on the current systeminput device, which is normally the keyboard.Apple-II BASIC is impl eme nted as atranslator-interpreter combination. When aline is read from the input device, thetranslator analyzes it and generates a moreefficient internal language facsimile. Syntaxerrors are detected at this time. The "nouns"of this internal langu age are variable names,integer constants (preconverted to binary forexecution speed enhancement), and stringconstants . The "verbs" are 1 byte tokenssubstituted for keywords, operators anddelimiters. Because the translator distinguishes syntax, different verbs are as-

    41

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    7/11

    ONE SECTION, 55 3 QUAD TIMER

    ONESHOTFROM I BIT TO I BITOUTPUT PORT -------..j TRIGGER OUT I------INPUT PORT

    CONTROL

    I USER SUPPLIED+V I VARIABLE RESISTANCEL:JiIAPPLE IIFigure 2: How to make a 7 bi t measurement of an analog parameter forgames (or perhaps we should say "2 bit"). Basically, a 555 style timingelement is se t up so that it can be triggered by a 7 bi t output port. Aftertriggering the oneshot, the processor enters a timing loop continuously testingthe 7 bi t input port until the end o f the oneshot's cycle, which is controlledby the game parameter potentiometer. The result is an integer countdeveloped by the timing loop which gives a measure of how long the oneshotpulse lasted, and hence a measureof the position of the input potentiometer.Apple-II implements four of these resistance measuring ports (which haveplenty of accuracy for game contexts with graphics display feedbacl? but arehardly no t to be interpreted as having any absolute accuracy independent o fhand-eye coordination).

    Author's Note50 as no t to slight theirefforts, I would like tothank Allen Baum fororiginating the Apple-IIdebug software, DougKraul for helpful suggestions on the 10 structure,and Randy Wigginton andChris Espinosa for manylong and late hours testingthe Apple BASIC. . . . SW

    signed to different usages of the samesymbol. For example, three distinct verbsrepresent the word PRINT, depending onwhether it is immediately fo ll owed by astring source, an arithmetic expression ornothing. Thus th is distinction need not bemade at execution time. For each verb thereexists a subroutine to perform that specificaction. Listing a program actua ll y involvesdecompiling the internal language back toBASIC source code. Those statements withline numbers are stored as part of the userprogram, while those without line numbersare executed immediate ly. If desired, theApple BASIC interpreter's editing funct ionscan be set to generate lin e numbers automatically. Although some commands arevalid on ly for immediate execut ion andothers on ly for programmed execution, mostcan be employed in both ways . In theBASIC source programs, multiple statementsmay reside on the same line, separated bycolons (':').BASIC language statements are stored inuser memory as they are accepted andvariables are allocated space the first timethey are encountered during immediate orprogrammed execution . When a programterminates, whether by completion, interruption or error conditions, all variables arepreserved. Programs may be interrupted inexecution by typing an ASCII control C; it isthen possible to exam ine and modify a few

    42

    variables in immediate mode, then continueexecution at the point of interruption bytyping the CONtinue command. BASIC provides the line number of the statement as thepoint of interruption when this sequence isused. The en t ire variable space is cleared tozero when BASIC is initialized by the CLRcommand, and prior to executing the RUNcommand . (It is possible to carry variablesfrom one program to another, but to initiatethe second program a GOTO command mustbe used instead of RUN in order to overridethe automatic clear at the beginning ofexecution of a new program.)The interpreter consists of a standardexpression evaluator and a symbo l tablerou t ine for allocating variable storage similarto those described by Prof Maurer in his 2part series 'in the February and March 1976issues of BYTE. As statements are scanned,nouns and verbs are encountered. Variablenames result in calls to the symbol tableroutine which pushes address and lengthinformation on the noun stack (operandstack). Constants are pushed directly ontothis stack. Verbs are pushed onto the verbstack (operator stack) after popping andexecuting any verbs of greater priority. Averb is executed by ca iling its associatedsubroutine. Tables define priorities and routine entry addresses for all verbs. Keywordssuch as THEN or STEP, and delimiters suchas commas and parentheses, are dealt withjust as though they were arithmetic operators. Verb routines obta in their argumentsfrom the noun stack. Because v e r b ~ such asparentheses tend sometimes to be of low,and other times of high priority, each verb isactually ass igned two priorities (left handright hand). One represents its tendency toforce execution of other verbs, the secondits tendency to be executed.Interactive Monitor

    The entry into BASIC, as well as otheruser oriented features of the Apple-II, isprovided by an interactive keyboard monitorwhich serves as an aid to writing anddebugging machine language programs forthe 6502 processor of the system. The userenters commands from the keyboard specifying data and address parameters in hexadecimal. Multiple commands are permittedon the same line and editing features facili tate error correction. I completely wrote anddebugged Apple BASIC using the monitor asmy on ly software development tool. I wasof course the first hand assembled program Iwrote for the system. In addition to thedirect monitor commands, a number ofsubrout in es were included in the Appie-ll'smask programmed system read on ly memory

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    8/11

    Sweet Sixteen Calling Sequence:

    20 89 F6~ ~ ~ - - - - - - - - ~ ~ ~ - - - - - - - - ~JSRSWEET16

    SWEET16OP CODES 6502SWEET16 CODERETURN(leave 6502

    direct execut ion)OP CODE

    (reenter di rect6502 execution )

    SWEET16 OP CODES (16 Bit Operands, 2's Complement Arithmetic)

    I nstr OppCode Length D escription Code Length Description00010203040506070809OAOBOC00OEOFNotes.

    1222222222111111

    Return to 6502 modeBranch alwaysB ranch no carryBranch on carryBranch on positiveBranch on negativeBranch if equalBranch not equalBranch on negative 1Branch no t negative 1Break to monitorNo operationNo operationNo operationNo operationNo operation

    --- ---- --1R 3 byte constant (Load register immediate)2R 1 A C C ~3R 1 ACC ---- R4R 1 ACC-@R, R+-R+15R 1 ACC--->@R, R+-R+16R 1 ACC+-@R double7R 1 ACC----@R double8R 1 R+-R-1, ACC-@R (pop)9R 1 R+-R - 1, ACC--->@RAR 1 ACC-@R (pop) doubleBR 1 COMPARE ACC to RCR 1 ACC-ACC+RDR 1 ACC+-ACC-RER 1 R:'-R+1FR 1 R+-R-1

    1. Al l branches are fo ll owed by a 1 byte relative displacement. Works identically to6502 branches .2 . Only ADD, SUB and COMPARE can set carry .3. Notation:R = a 16 bi t "reg ister " operand designation, one of 16 labelled 0 to 15(decimal), 0 to F (hexadecima l).ACC = register operand RO .@R = indirect reference, using the reg ister R as the pointer.

    : } = assignment of val ues.4. Length of instruct io ns:.Branches are always tw o bytes: op code followed by relative disp lacement.

    Load register immediate (1 R) is three bytes: the hexadecimal op code 10to 1 F followed by the 2 byte l itera l value of a 16 bit number.All other instructions are one byte in length.

    to provide easy access to hardware features.These are the service routines which are usedby the monitor, as wel l as BASIC and anyuser routines you care to code.The Story of Sweet Sixteen

    While writ ing Apple BASIC, I ran into theproblem of manipulating the 16 bit po in terdata and its ar ithmet ic in an 8 bit machine.

    My so lution to this prob lem of handling'16 bit data, notab ly pointers, with an 8 bitIllicroprocessor was to implement a nonexistent 16 bit processor in software, interpreter fashion, whi ch I refer to as SWEET16.SWEET16 contains sixtee n internal 16 bitregisters, actually the first 32 bytes in mainmemory, labe ll ed RO through R15. RO isdefined as the accumulator, R15 as theprogram counter, and R14 as a status register. R13 stores the result of all COMPARE operat ions for branch testing. The

    user accesses SWEET16 with a subroutinecall to hexadecimal add re ss F689. Bytesstored after the subroutine ca ll are thereafterinterpreted and executed by SWE ET16. Oneof SWEET16's comillands returns the userback to 6502 mode, even restoring theoriginal register contents.

    - Implemented in o nl y 300 bytes of code,SWEET16 has a very simp le instruction settailored to operations such as memorymoves and stack manipulation. Most opcodes are on ly one byte long, but since sheruns app roximate ly ten times slowe r thanequi va lent 6502 code, SWEET16 should beemp loyed on ly when code is at a premiulllor execut ion speed is not. As an exa illple ofher usefulness, I have estimated that about1 K bytes could be weeded out of Illy 5 Kbyte App le- II BAS IC interpreter with noobservable performance degradation byse lect ively app lying SWEET16.-43

    The Apple- II monitor readonly memory also containsan interpreter programcalled SWEET/6 whichcan be used from machinelanguage programs to implement 76 bit arithmeticoperations. This facilitycan prove quite useful) forexample, in calculating ad-dresses, and serves as anextension of the instruction set of the 6502 whichis reached by the jSRSWEET/6 escape sequencein code.

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    9/11

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    10/11

    You've just run out of excusesnot owning a personal computer.Clear the kitchen table. Bringthe color TV. Plug in your new

    I I ~ : and connect any standard/ player. Now you'refor an evening of discovery innew world of personal computers.Only Apple II makes it thateasy. It's a

    to use computer, not a$1298, it includes video grain 15 colors. It includes 8K bytesand 4K bytes RAM -easilyto 48K bytes using 16K(see box). But you don 't evento know a RAM from a ROM toe and enjoy Apple II . For example,

    of BASIC permanentlytored in ROM. That means you canown programs theif you've had noThe familiar typewriter-styleto enter yournstructions. And your programs canstored on -and retrieved fromUdio cassettes, using the built-in

    cassette interface, so you can swapwith other Apple II users., You can create dazzling colordisplays using the unique color graphics commands in Apple BASIC.Write simple programs to displaybeautiful kaleidoscopic designs. Orinvent your own games. Games likePONG-using the game paddles.supplied. You can even add the dimension of sound through Apple II'sbuilt-in speaker.But Apple II is morethan an advanced, infinitelyflexible game machine. Useit to teach your childrenarithmetic, or spellingfor instance. Apple IImakes learning fun.Apple II can alsomanage household finances,chart the stock market orindex recipes, record collections, evencontrol your home environment.Right now, we're finalizing aperipheral board that will slide intoone of the eight available motherboard slots and enable you to composemusic elec

    tronically.And therewill be otherperipheralsannouncedsoon toallow yourApple II totalk with another Apple II, or to interface to a printer or teletype .Apple II is designed to growwith you as your skill and experiencewith computers grows. It is the stateof the art in personal computing today,and compatible upgrades and peripherals will keep Apple II in the forefront for years to come.Write us today for our detailedbrochure and order form. Or call usfor the name and address of theApple II dealer nearest you. (408)996-1010. Apple Computer Inc .,20863 Stevens Creek Boulevard,Bldg. B3-C, Cupertino,California 95014.

    Apple IITM is a completely self-containedcomputer system with BASIC in ROM, 'color graphics, ASCII keyboard, lightweight, efficient switching power supplyand molded case. It is supplied withBASIC in ROM, up to 48K bytes ofRAM, and with cassette tape, video andgame I/O interfaces buiit-in. Also in cluded are two game paddles and ademonstration cassette.SPECIFICATIONS Microprocessor: 6502 (1 MHz). Video Display: Memory mapped, 5modes-all Software-selectable: Text-40 characters/ line, 24 linesupper case. Color graphics-40h x 48v, 15 colors

    High-resolution graphics-280h x192v; black, white, violet, green(12K RAM minimum required) Both graphics modes can be selectedto include 4lines of text at the bottomof the display area. Completely transparent memoryaccess. All color generation donedigitally. Memory: up to 48K bytes on-boardRAM (4K supplied) Uses either 4K or new 16K dynamicmemory chips Up to 12K ROM (8K supplied) Software Fast extended BASIC in ROM withcolor graphics commands Extensive monitor in ROM I/O 1500 bps cassette interface 8-slot motherboard Apple game I/O connector ASCII keyboard port Speaker Compositevideooutput

    Apple II is alsoavailable in board-onlyform for the do-it-yourself hobbyist. Hasall of the features of the Apple II system,but does not include case, keyboard,power supply or game paddles. $598.PONG is a trademark of Atari Inc.*Apple II plugs into any standard TV usingan inexpensive modulator (not supplied),_L

    computar Inc:

  • 7/30/2019 The Apple II by Stephen Wozniak (1)

    11/11

    Order your AppleII now.Use this order form to get your Apple II fast. As a special offer forthose who order now, we will include free a custom vinyl carrying case(a $50 value). And we will also pay shipping charges to anywhere in thecontinental United States.

    Apple II Price List.RAM Apple II Calif. Residents Apple II Calif. ResidentsComplement System Add Board-only Add4K $1,298.00 $ 84.37 $ 598.00 $ 38.878K 1,398.00 90.87 698.00 45.37 }7

    12K 1,498.00 97.37 I. , 798.00 , 51.8716K 1,698.00 1l0.37 978:0'0 ''Ii, 01 ;" 63.57 ,20K 1,778.00 115 .57 1,078.00 70.0724K 1,878.00 122.07 1;178.00 'r ' \ ., 76.57 ~ ; , ;32K 2,158.00 140.27 1,458.00 94. 77- ' ~ '2 h36K 2,258.00 146.77 1,558.00 101.27 .,48K 2,638.00 171.47 1,938.00 125.97

    Memory is offered at a 20 % savings when ordered with the system-or board-as reflected in the prices above .Additional RAM can be easily added-in at a later date as your needs develop.One se t 4K chips (4K bytes) $125One se t 16K chips (16K bytes) $600

    Prices and specifications subject to change without notice.

    iII. 'J.1" ~ \ , JIi

    computczr Inc:20863 Stevens Creek Blvd., B3-CCupertino, California 95014(408) ~ 9 6 - 1 0 1 0

    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~Orderfortno Please send me an Apple II Systemo Board Onlywith _ K bytes of RAM (4K minimum) at $____California Residents add 6.5% tax_ _ _ _ _ _ _Total $_______Name _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Address _ _ _ _ _ _ _ _ _ _ _ _ _ _City_ _ __ _ _ _ _ __ _ _ _ _ _State____ ip _ _ _ _ _ _ _ _ _ _Phone _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Shipping Address (if different)

    o Cashier's check or money order enclosed.(Please allow 2 additional weeks for personal checks.)Please charge to myo BankAmericardo VISAo Master ChargeCard Number _ _ _ _ _ _ _ _ _ _ _ _ _ _Expiration Date _ _ _ _ _ _ _ _ _ _ _ _Signature _ _ _ _ _ _ _ _ __ _ _ _ _ _Mail to: Apple Computer Inc., 20863 Stevens Creek

    Blvd., B3-C, Cupertino, California 95014