Proceedings_of_the_First_West_Coast_Computer_Faire_1977 Proceedings Of The First West Coast Computer Faire 1977
Proceedings_of_the_First_West_Coast_Computer_Faire_1977 Proceedings_of_the_First_West_Coast_Computer_Faire_1977
User Manual: Proceedings_of_the_First_West_Coast_Computer_Faire_1977
Open the PDF directly: View PDF .
Page Count: 356
Download | ![]() |
Open PDF In Browser | View PDF |
$12.00 (or, if you prefer : A nickel more than $11 .95) CONFERENCE PROCEEDINGS JIM C. WARRENj JR. EDITOR ----·.... 115-17. 1977 · Sa.:n. £:ra.:n.cisco .nmnlllH!r Faire of the largest convention ever held Exclusively Devoted to Home & Hobby Computing over 300 pages of conference papers, including: (Topic heading. with approximate page counts) Friday & Saturday Banquet Speeches (16) Tutorials for the Computer Novice (16) People & Computers (13) Human Aspects of System Design (9) Computers for Physically Disabled (7) Legal Aspects of Personal Computing (6) Heretical Proposals (11) Computer Art Systems (2) Music & Computers (43) Electronic Mail (8) Computer Networking for Everyone (14) Personal Computers for Education (38) Residential Energy & Computers (2) Systems for Very Small Businesses (5) Entrepreneurs (6) Speech Recognition & Speech Synthesis by Computer (14) Tutorials on Software Syskems Design (11) Implementation of Software Systems and Modules (10) High-Level Languages for Horne Computers (15) Multi-Tasking on Horne Computers (10) Homebrew Hardware (8) Bus & Interface Standards (17) Microprogrammable Microprocessors for Hobbyists (18) Amateur Radio & Computers (11) Commercial Hardware (8) plus ---Names & addresses of the 170+ exhibitors at the Computer Faire Order now from: Computer Faire Box 1579 Palo Alto CA 94302 (415) 851-7664 Proceedings: Shipping & Handling: Inside Califo rni a: An ~77 . 1.10b y Com p ut erl"aire $12.00 ~ ($11.95, plus a nickel, if you prefer) (Write for shipping charges ouside U.S.A.) Pa ment must accom an the order. o a es ax Paymen t m ust accom pany the order. 8~"xll" softbound book. BOX 1579 , PALO ALTO CA 94302 000 (415) 851- 7664 The Digital Group comments on DR. DOBB'S JOlJ'RNAL (We were surprised and pleased recently to find these comments about Dr. Dobb's Journal in the latest Digital Group Newsletter.) po box 6528 denver, colorado 80206 (303) 777-7133 NUMBER 8 It is not very often that there is a journal/newsletter that the Digital Group is able to recommend without some hesitation (and we get them all). However, Dr. Dobb's Journal of Computer Calisthenics & Orthodontia is one pleasant exception. Jim Warren, the editor, has put together a good concept and is managing to follow through very well indeed. There is no advertising in the Journal. It is supported solely on subscriptions. That also means that manufacturers have zero leverage over the content of the magazine. The Journal's primary purpose is to place significant software into the public domain and to provide a communications medium for interested hobbyists. The approach is professional and they are growing quickly. (In case it might appear otherwise to some people, there·is no official link whatsoever between the Digital Group and Dr. Dobb's Journal - we've taken our lumps as appropriate just like everyone else when Jim felt they were justified.) We think Dr. Dobb's Journal is here to stay and a publication that is a must for everyone in the hobbyist world of computers. Don't miss it! IN EVERY ISSUE - UNIQUE SYSTEMS PROJECTS "Realizable Fantasies" - details of projects that have not yet been done, but are within the limits of current technology, hobbyists' expertise, and the computer enthusiast's budget. -INDEPENDENT PRODUCT REVIEWS AND CONSUMER ADVOCACY DDJ staff now includes a three person product & software evaluation group. They perform independent evaluations of products being marketed to hobbyists and publish their findings - good or bad - in this subscriber-supported Journal. Note that Dr. Dobb's carries no paid advertising; it is responsible only to its readers. It regularly publishes joyful praise and raging complaints about vendor's products and services. • COMPLETE SYSTEMS & APPLICATIONS SOFTWARE User documentation, internal specifications, annotated source code. In the first year of publication, DDJ carried a large variety of interpreters, editors, debuggers, monitors, graphics games software, floating point routines and software design articles. • HOT NEWS AND RAGING RUMOR Unusually fast turn-around on publisbing "hot stuff". Typically, an issue will carry information and articles received within two weeks of its distribution. Also, we hear and print lots of rumors belched forth by the nearby "Silicon Valley" rumor mill. Name:_______________________________________________________________________________ MORE REVIEWS "THE software source for microcomputers. Highly recommended." -Philadelphia Area Computer Society The Data Bus. July. 1976. "It looks as if it's going to be THE forum of public domain hobbyist software development. Rating-* * * Toronto Region Association of Computer Enthusiasts (TRACE) • Newsletter. July 9. 1976. *. "The best source for Tiny BASIC and other good things. Should be on your shelf." - The Computer Hobbyist. North Texas (Dallas) Newsletter. May 1976 Addres~s______________-------------------------- Please start my one year SUbscription to Dr. Dobb's Journal (10 issues) and bill me for$12. City/State'_ _ _ _ _ _ _ _ _ _ _ _ _ _..LJZip_ ___ In Canada add $4/year for postage. European and Japanese rates are available on request. Mail to: Dr. Dobb's Journal- Dept.51-1263 El Camino Real - Box E - Menlo Park, CA 94025 Meet the most powerful jJ,C system available for dedicated work. Yet it's only $595: ·kit price Here's the muscle you've been telling us. you wanted: a powerful Cromemco microcomputer in a style and price range ideal for your dedicated computer jobs-ideal for industrial, business, instrumentation and similar applications. It's the new Cromemco Z-2 Computer System. Here's some of what you get in the Z-2 for only $595: • The industry's fastest ,uP board (Cromemco's highly regarded 4 MHz, 250-nanosecond cycle time board). • The power and convenience of the well-known Z-80 ,uP. • A power supply you won't believe (+ 8V @ 30A, +18V and -18V @ 15A - ample power for additional peripherals such as floppy disk drives). • A full-length shielded motherboard with 21 card slots. • Power-on-jump circuitry to begin automatic program execution when power is turned on. • S-100 bus. • Standard rack-mount style construction. • All-metal chassis and dust case. • 110- or 220-volt operation. DEDICATED APPLICATIONS The new Z-2 is specifically designed as a powerful but economical dedicated computer for systems work. Notice that the front panel is entirely free of controls or switches of any kind. That makes the Z-2 virtually tamper-proof. No accidental program changes or surprise memory erasures. widely regarded as the standard of the future. So you're in the technical fore with the Z-2. BROAD SOFTWARE/PERIPHERALS SUPPORT Since the Z-2 uses the Z-80, your present 8080 software can be used with the Z-2. Also, Cromemco offers broad software support including a monitor, assembler, and a BASIC interpreter. The Z-2 uses theS-100 bus which is supported by the peripherals of dozens of manufacturers. Naturally, all Cromemco peripherals such as our 7-channel AID and DIA converter, our well-known BYTESAVER with its built-in PROM programmer, our color graphics interface, etc., will also plug into the S-100 bus. LOW, LOW PRICE You'll be impressed with the Z-2's low price, technical excellence and quality. So see it right away at your computer store--oi" order directly from the factory. Z-2 COMPUTER SYSTEM KIT (MODEl Z-2K) (includes 4 MHz ,uP card, full-length 21-card-slot motherboard, power supply, orie card socket and card-guide set,and front panel; for rack mounting) .............. $595. Z-2 COMPUTER SYSTEM ASSEMBLED (MODEL Z-2W) (includes the above as well as all 21 sockets and card guides and a cooling fan; for rack mounting) ... $.995. FASTEST, MOST POWERFUL ,uC Cromemco's microcomputers are the fastest and most powerful available. They use the Z-80 microprocessor which is Shown with optional bench cabinet Cromemeo· inc 0 r p 0 rat e d Specialists in computers and peripherals 2432 CHARLESTON RD., MQUNTAIN VIEW, CA 94043 • (415) 964-7400 Get updated •.. keep updated with the leading .agazine in the personal co.puter field The personal computer age is here. Home computers .. . practical, affordable. Join Byte's 100 000 subscribers and caich up on the latest developments in the fast-growing field of microprocessors. Read BYTE The Smalr Systems Journal tbat tells you everything you want to know about personal computers, including how to construct and program your own computer (30,000 BYTE readers have already built, or bought, their own systems and half of these have 8K bytes or more). You'll find our tutorials on hardware and software invaluable reading, also our reports on home applications and evaluative reviews based on experiences with home computer products. Large scale integration has slashed prices of central processors and other computer components. This has encouraged the development of new, low-cost peripherals resulting in more hardware and software - more applications than you could imagine, more opportunities for you. BYTE brings it all to you. Every issue is packed with stimulating and timely articles by professionals, computer scientists and serious amateurs. BYTE editorials explore the fun of using and applying computers toward personally interesting problems such as electronic music, video games and control of systems for alarms to private information systems. Please enter my subscription for: One year U.S. - $12 0 Two years u.s.' $22 [-I Three years U.S.' $32 Canada or Mexico· $17.50 Europe (Air Delivered) - $25 [J Surface delivery to all other countries except Europe, Canada or Mexico· $25 (Air delivery available on request) [ I Check enclosed (Bonus: one extra issue) Please remit in U.S. funds 1..1 Bill me. [J Bill BankAmericard [I Bill Master Charge o o Card number _ _ _ _ _ _ _ _ _ _ __ Signature _ _ _ _ _ _ _ _ _ _,Name (please print) n Expiration date _ _ __ _ _ _ _ _ _ _ __ Address _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ NOW-" ONE comprehensive reference to microcomputersl By Charles J. Sippi IA PETROCELLI/CHARTER BOOK) 480 pages, 65 lIIus., $19.95 ORDER FORM Hand screened quality tee-shirt. 50% polyester I 50% cotton. Available in white, yellow, light blue and tan. Microcomputer design in black and red. Chest Size 1st Color 2nd Color Price Quan. (Inches) Choice Choice Each Package y 5.90 22·24 plus 26-28 .85 postage ~ 30-32 per package. 34-36 A In California: 38-40 please add state 42-44 $ 46-48 and local taxes. Name ____________________ __________________ 8 ~ ~ ~ Addre" __________~--------------------CiW _____________ State _ _ _ _ _ _ Zip, _____ Mail your order to: Applied Art, 852 Madonna Way, Los Altos, California 94022 Tel. (415) 948-0689 DCheck" DMoney Order Please allow 10 days for delivery. L_____ ~-~----------------------~----------- More than a detailed reference to every aspect of chip technology, Microcomputer Handbook is also an important guide to decisionmaking about specific configurations (4-bit, 8-bit, 16-bit, or' even 64-bit "super machines"). Among its many down-to-earth features is a first-rate glossary of terms that runs through every chapter and spotlights everything from ACIA (asynchronous communications Interface adapter) to ROM simulator (a general-purpose debugging tool). There's even a detailed analysis of the microcomputer as a hobby item; problem solving;.game playing and kit assembling. For the professional, hobbyist, and student, this book: • contains photos and diagrams providing easy introduction to techniques and concepts • discusses read-only memories (ROM's and RAM's) • examines the role of large-scale interation (LSI) in production-cost reduction • presents cost-performance calculation for microcomputer systems • demonstrates the vast applicability of the microcomputer; its papacity for data storage, data coll~ction, and reducing operating time· ·and lists the latest "hobby type" microcomputers available, as wen as clubs, societies and manufacturers. '-------10-DAy·FREE EXAMINATION - - - - - - - InniI VAN NOSTRAND REINHOLD ~ 7625 Empire Drive. Florence. Kentucky 41042 Please send me the MICROCOMPUTER HANDBOOK by Charles J. Sippi for 10 days' free examination. At the end of that time I will either remit the amount of your Invoice (including postage, handling, and my local sales tax) or return the book and owe nothing. (Payment must accompany orders with 1'.0. box addresses. Offer good in U.S.A. only, and subject to credit department approval.) (PLEASE PRINT) Name ________________________________ _ Address ________________________~-------------City State Zip SAVE! Enclose payment with order and publisher pays postage and handling. Same return·refund guarantee. Your local sales tax must be Included with payment. l I 1 1 1 1 1 I' I I -~~~~-----------------~~~ EXPLORE INTERFACE AGE * MONTH AFTER MONTH LOOK TO INTERFACE AGE MAGAZINE FOR THE LATEST INFORMATION ON THE DYNAMIC WORLD OF PERSONAL COMPUTING. • Use your personal computer for auto repair, work bench controller, teaching machine, central infor~ mation bank and design test center. READ INTERFACE AGE FOR THE LATEST ON NEW • Control your small business with your own realPRODUCT INFORMATION AND TECHNICAL time accounting and inventory control system. BREAKTHROUGHS. . • Set your computer to turn sprinklers on and off, • May's issue included inside the FLOPPY ROM™ manage a household security system, feed your - a vinyl record which is played on a conventional dog. phonograph to enter tllis month's program in your • Establish a recipe bank to plan daily meals and computer. generate its own shoppjnglist. • Evaluate the stock market, set up r---~-------~------m *ORjJER YOUR SUBSCRIPTION NOWI • ~ gambling and probability programs. 12 Monthly Issues: $14 U.S., $16 CanadlilMexlco, $24 International .~I Evaluate odds on sporting events and I . horse racing. . I Name I * * ARTICLES RANGE FROM THE FUNDAMENTALS OF.COMPUTERS TO LANGUAGES AND SYSTEM DESIGN. APPLICATIONS INCLUDE BOTH PROFES$.IONAL AND NON-TECHNICAL. I I ~~ City D Check or M.O.(U.S. Funds drawn on U.S. Bank) Acct No. State ZIP'~.- - : _ D Visa Card n Master Charge Exp. Dat.... e _ __ I I I I Signature I IL __________________ Make checks payable to: INTERFACE AGE MAGAZINE, P.O. Box 1234, Cerritos, CA 90701 ~ choice line of Personal Computing 80010--------NEW CHOICES CHOICES MICROPROCESSOR BASICS (EIphick) Selection and application info on 8 popular micro's, including the 8080,6860, F8, IMP, and 6100. #5763-6, paper, $9.95 MICROPROCESSORS: New Directions for Designers (Torrero) " ... a useful book for the electronics design engineer." BYTE MAGAZINE. #5777-6, paper, $10.95 THE BASIC WORKBOOK: Creative Techniques for Beginning Programmers (Schoman) "Hands-on" learning of problem-solving using a computer. #5104-2, paper, $4.25 FUNDAMENTALS & APPLICATIONS OF DIGITAL LOGIC CIRCUITS (Libes) "A great book for use as a reference by people who are learning digital electronics." PEOPLE'S COMPUTER COMPANY, #5505-6, paper, $6.95 GAME PLAYING WITH BASIC (Spencer) Over 50 easy-to-Iearn and challenging games and puzzles for your personal computer. #5109-3, paper, $6.95 BASIC BASIC: An Introduction to Computer Programming in BASIC Language (Coan) " ... an excellent introduction ... clearly written and TELEPHONE ACCESSORIES YOU well-organized." COMPUTING RECAN BUILD (Gilder) Fully-illustrated, .VIEWS. #5872-1, paper, $7.95 step-by-step instruction on building useful phone accessories at a frac- ADVANCED BASIC: Applications & tion of the commercial cost. #5748-2, Problems (CoaA) "This one rates paper, $3.95 well above average." DATA PROCESSING DIGEST. #5855-1, paper, $6.95 :._. -~ CHOICES GAME PLAYING WITH COMPUTERS, Revised Second Edition (Spencer) #5103-4, cloth, $16.95 COMPUTERS IN ACTION: How Computers Work (Spencer) #5861-6, paper, $5.50 COMPUTERS IN SOCIETY: The Wheres, Whys, & Hows of Computer Use (Spencer) #5915-9, paper, $5.50 PROGRAMMING PROVERBS (Ledgard) #5522-6, paper, $6.50 PROGRAMMING PROVERBS FOR FORTRAN PROGRAMMERS (Ledgard) #5820-9, paper, $6.50 COBOL WITH STYLE: Programming Proverbs (Chmura & Ledgard) #5781-4, paper, $5.45 MINICOMPUTERS: Structure & Programming (Lewis & Doerr) #5642-7, cloth, $12.95 DIGITAL SIGNAL ANALYSIS (Stearns) #5828-4, cloth, $19.95 FORTRAN FUNDAMENTALS: A Short Course (Steingraber) #5860-8, paper, $4.95 STANDARD DICTIONARY OF COMPUTERS AND INFORMATION PROCESSING, Revised Second Edition, #5099-2, Available Oct. '77. APPLIED COMPUTING: Putting Your Computer to Work, #5761-X, Available Jan. '78. PROGRAMMING THE PROGRAMMABLE CALCULATOR #5105-0, Available Jan. '78 inpeJSonai COmputing bOoks! AVAILABLE AT YOUR DIGITAL TROUBLESHOOTING: Practical Digital Theory and Troubleshooting Tips (Gasperini) #5708-3, paper, $9.95 DIGITAL EXPERIMENTS: Workbook of IC Experiments (GaS'perini)-#5713-X, paper, $8.95 COMPUTER MATHEMATICS (Conrad, Conrad, & Higley) #5095-X, cloth, $13.95 HAYDEN BOOK la COMPUTER STIlE! COMPANY• INC•• 50 Essex Street, Rochelle Park, New Jersey 07662 WE'RE DIFFEREII., , 110 Ads 110 Fr~lls Alleomem , 6502 ASSEMBLY PROGRAMMING I I!8r~G'm':~.rsERS l People's Computers is for anybody and everybody who wants to learn more about computers, how they work, and how to use them. We aren't padded with color advertisements either; we're wall to wall with articles, listings, reviews, games. letters, and interviews. Read the whys and wherefors of different computer languages. Discover what a 'chip' is, how a 'gate' works, and what new products are available. Learn to program from our series on easy-to-use computer languages. Find out about the uses of computers and calculators in education. Each issue also contains useful programs, with extensive comments, that you can use on your computer at home, at school, or at work. There's lots more, and all for only $8 a year! To subscribe write: People's Computers, Dept 52,1263 EI Camino Real, Menlo Park CA 94025. . people's computers CONVERT YOUR IBM SELECTRIC INTO A HARD COpy OUTPUT TERMINAL! 5-100 COMPATIBLE [ID[L£~~ BOARDS Z-80 CPU $35.00 2708/16 EPROM $25.00 PROTO BOARD $25.00 8k STATIC $25.00 16/64 DYNAMIC RAM $35.00 PLEASE ADD $2.00 SHIPPING PER ORDER. ta IThoco PO BOX 91 cud 10 27~-~~71 ITHACA, N.Y. 14850 WITH OUR KIT, YOU CAN ACTUALLY ADD A FULL SIZE IMPACT PRINTER TO YOUR COMPUTER - AT A PRICE YOU CAN EASILY LIVE WITH! NO MODIFICATIONS TO YOUR TYPEWRITER ARE NECESSARY AND IF YOU DON'T HAVE ONE, WE'·lL GET IT FOR YOUI PLEASE CONTACT US AT... ESCDN 1235 TENTH STREET 415/524-8664 BERKELEY DEPT. J Now There Are Three • northern california electronics news published bi-weekly • southern california electronics news published bi-weekly • southwest electronics news published quarterly Covering the States of C.ALIFORNIA TEXAS OKLAHOMA NEW MEXICO ARKANSAS LOUISIANA No Other Publication Emphasizes Local and Regional News in the above Six (6) States Each paper Has its own News of People and Events in its own Area plus National Product News, thus guaranteeing High Readership published by BENDER PUBLICATIONS INC. LOS ANGELES PALO ALTO 1 DALLAS HOUSTON . P.o. Box 3631 260 Sheridan . 6115 Denton Dr. 2990 Richmond L.A. Ca. 90019 Palo Alto, CA. 94306 _ Dallas, TX 75235 Houston, Tx 77006 (213) 737-6820 (415) 326-8877 .. (214) 358-2311 (713)526-5381 Computer Music Journal Devoted to High Quality Musical Applications of Digital Electronics. The following topics are covered: * design of real time playable instruments with controllers like organ keyboards, pressure sensitive surfaces, joysticks, and new designs; * production of natural sounding quality of tone or timbre by Fourier series like synthesis (with periodic or nonperiodic sine wave summation) or FM synthesis and new methods; * circuit design of digital oscillators (any waveshape - up to 256 ultra low distortion sine waves with independent control of amplitude and frequency - all from one digital oscillator) controlled by a small computer; * high speed, high resolution multiplication; * review of hardware components; * cost of hardware / quality of sound tradeoffs; * control of analog s~/nthesizers with a small computer; * envelope generators (not just exponential or linear attack, susta i 11, and decay, but any shape); * digital filtering; * high resolution, high speed digital to analog cOI1YL'rters; *.digital reverberation and movement of spacial location with Doppler shifting; * analysis of acoustic instruments; * psychoacoustics; * generation of different musical scales including meantone, just, and equal tempered (with 5, 7,12,19,22,29,31, or43 notes in each octave) tunings; * reviews of books about computer music, acoustics of musical instruments, psychoacoustics, music theory and composition, computer design, and electronics. Computer Music Journal is published every other month by People's Computer Company, a non-profit, educational corporation. For a one year subscription (6 issues) send $14 to Computer Music Journal, PCC, Dept 51, Box E, Menlo Park, CA 94025. ~~1Y~ ®lA\~® oorn FREE! and with your business card or send $1.00 (refundable on 1st order) Dept. CF MORE Fairchild Tech. KitsTM Clocks - Counters Power Supply Micro Computer Function Generator Send for our brochure TODAY ~ Vfr®OOOll Box 321 Issaquah, WA 98027 68 pages of News about the Amazing Technological Breakthroughs in the Mini-Micro Computer Field. Catalog Includes: Catalog offers items like: • Reproductions of manufac• $279 ,Complete Computer Systure(s complete catalogs, intem for home use. Not a kit! cluding Imsai's - normally • Low cost new and used $1.00. peripherals • Articles and news about Minimicro Computers. • $2.00 Discount Certificate. LARGEST CATALOG IN ITS • Discounts up to 90% on Used FIELD Equipment. A veritable revolution of new ideas about programming, new languages, hardware design, robots, video games, analog interfaces and new memory technology (just to name a few) presents the computer experimenter with a pleasant (if sometimes frustrating) dilemma: How do I choose the best books? Where do I get them? What is available? BYTE's BITS (BYTE Interface Technical Services, Inc) may be the answer. Bookselling is our main business: With the help of BYTE magazine's editors, we screen the scores of computer books that come out every week and offer you only the best. Books like: Microcomputer Handbook by Charles Sippi What To Do After You Hit Return ••. -PCC's First Book of Computer Games Computer Lib·Dream Machines by Ted Nelson Best of BYTE, Vol. 1 APL-An Interactive Approach, second edition, revised, by Gilman and Rose Instant BASIC by Jerald Brown How to Buy & Use Minicomputers & Microcomputers by William Barden Practical M!crocomputer Programming: The Intel SOSO by Weller, Shatzel, Nice The Acoustical Foundations of Music by John Backus Computer Power and Human Reason by Joseph Weisenbaum Fundamentals and Applications of Digital Logic Circuits by Sol Libes A Dictionary of Microcomputing by Philip E Burton Understanding Microcomputers and Small Computer Systems from Scelbi Scelbi's "SOSO" and "6S00" Software Gourmet Guide & Cookbooks The Don Lancaster Series: TTL Cookbook, Active Filter CB TV Typewriter, CB, CMOS Cookbook Fingertip Math from Texas Instruments Build Your Own Working Robot by David L Heiserman 101 BASIC Computer Garnes by David Ahl Chess Skill in Man and Machine by Peter W Frey Electronic Projects for Musicians by Craig Anderton Digital Computer Fundamentals by Jefferson C Boyce The Art of Computer Programming, Volumes 1, 2, & 3 by Donald E Knuth An Introduction to Microcomputers, Volumes 1 & 2 by Adam Osborne Some Common BASIC Programs by Poole & Borchers Plus most of the reference DATA books from Texas Instruments The computer information explosion is here! If you would like our catalog (a reference book in itself) crammed with information and descriptions of these books, plus many many more, just fill out the coupon below and send it along with $1 (which incidentally will be applied to your first order) to BITS, Inc, 70 Main St, Peterborough NH 03458. • Send to: BITS Catalog BITS,lnc. 70 Main Street Peterborough NH 0345S III Check Payment method: _ _ My check is enclosed _ _ Bill my Me No. _ _ _ _ _ _ _ _ _ _ Exp. date _ _ _ __ __ Bill my BAC No. Exp. date _ _ _ __ _ _ BITS Catalog $1.00 Name Address City Signature State Zip Code In unusual cases. processing may exceed 30 days. ------------------------------------------------------ ------------------------------~ MINI-MICRO SYSTEMS is the only monthly publication devoted exclusively to the fast-paced world of mini and microcomputers: • TECHNOLOGY AND PRODUCTS • APPLICATIONS AND SYSTEMS • PERIPHERALS AND SOFTWARE • INDUSTRY AND CORPORATE • BUSINESS AND FINANCIAL If you are not currently receiving MINI-MICRO SYSTEMS magazine, write today for a sample issue and a qualifying form to receive a FREE subscription. MINI-MICRO SYSTEMS / 5 Kane Industrial Drive / Hudson, MA 01749 CAREER AND SPECIAL ASSIGNMENT OPPORTUNITIES Rapid growth has opened up editorial opportunities at Mini-Micro Systems magazine - full time staff positions, regional correspondents, and specialized subject assignments. If you are interested in any of this work, please send a resume, along with a brief statement on how you would like to associate with Mini-Micro Systems, to: Stanley Klein, Editor-in-Chiej, Mini-Micro Systems, 5 Kane Industrial Drive, Hudson, MA 01749 AND DON'T FORGET THESE ... My Computer Likes Me - Albrecht. BASIC to young or old. In an easY'going, conversational style, this 64 page workbook introduces This classroom favorite is desiglJed for people with no previous computer experience or knowledge of programming. 1972, $2.00. Games With the Pocket Calculator - Thiagarajan and Stolovitch. This book features interactive "group" games to be played by small groups of young or old. An entertaining book for use at home; an educational book to introduce students to the calculator and to build computational skills. 1976, $2.00. Games, Tricks, and Puzzles For A Hand Calculator - Judd. An entertaining and useful book for anyone with PUBLISHER P.O. Box 310, Dept. 15 Menlo Park, CA 94025 a hand calculator. The author covers many of your favorite mathematical games and recreations. Learn how to perform calculator tricks. 1974, $2.95. CALCULATORS/COMPUTERS Magazine This new magazine contains creative articles and materials that will teach you about calculators anct computers. Each issue inclu:..•..:':".":.~ ",.:l'~..'~.",,,",, ":)(\" ..:.t.. .:~...~.... .~.... .... :(?~~~Y?~i;i<'~:(~; "ti" ~~ \\'/ l' 'r; 3, \\"1 .... ,: \\ :>::.~:::~;:~~:~~:.~~:~~:~~ .-.. .. . .-!t\.. ¥.~.--~- ~ ; '.' .i'i~~·:,;~r ~: . .. /.I,ii. \\~)'l',,\::..- i("':':I; ~~¢}./~~~~~ i'()'; !\()~ !"V)~ iY)~ "}/',\:.. , .. '.'"", ,:.1.'.'."'. . . . "so"1z~~;:;;1f}i:'~~i;i~ ,'::', ";r~t'ir'~t . ' It should be of particular interest to realize that computer graphics-this 15-year-old infant-is .:.' ".:.~.,::::,:: :'.':;::f'./ :'. ~.....: . ... .... patently capable of bringing forth a totally "fa" .:~';~;;;,,,,i'::;;,,,,,:;~,;:;;~·;>~·.~;:;;: different kind of visual experience as unique and :'. ~ .. ~ ~ ~H~.:· .. :{~! ~ ~.' ~: {~~}.:.:".~.~.~~r: riotously enjoyable-much cheaper-more .'~N:~~{f~~r~<{~~:,~: .:::~;> ..':::.> ..:....... '{'/ :": }{:, ':::\ energy/materials intensive than the Chinese, preChristian invention of fireworks. .)h. . . . '\i~: .Jh. . . . ;,· ;~~.;l/ ;~J:iji~~ · .. .' .... ,. . i.;~:;~·>L.~;·s,;~gl<,}~,i;,; ::·;:~:::~::::~::?::7::~::~~:~.~~:::~.:~~·;:~?::;:.~.·?:::; '.~. .' ". '. · .'... ~. " . · . '.~: ~ .. .~' '. ' .. . ..:;.' . ~ ~'...' >: :~: : ~ :;i.: L;.;i;:.: : ;:,~:;:i: : BIOGRAPHICAL SKETCH John Whitney's growing reputation as a pioneer with \T!'!:;:~?1'!::::;i:~l!l::1i~!!! applications of the computer in visual art was advanced --:)ff~'Wr another step with the completion of his film Arabesque o :~.,:.,!.:•,.,._ . y; "me" ':H:" ..:: last year. The film has received high honors in the U.S., '.. '.' :?\ .... ..: .. ::... "':::/': \;;/:' \::.:' and abroad; including Iran where its relation to the -'/)J\\\,~~jJJj"-\~ .,..~:: :.' ,.,.: ::::<..',;., •..~~:~~(.:.;~;j~::.::;. . . traditions ofIslamic pattern was acknowledged. John's thirty-seven year "obsession" with the role of time and ::~;>.:~?o:~:~;,:J"(\,~.~:.~,:.? movement in visual art led to computer graphics long :~:~~. :: '. '~;. ' .:.' before that technology was accessible, or practical. : ' . . ~; t :~;: What for years was only an obscure experimental study ::: .;; .:::.: .: ...... :..... is just now evolving into an accepted and recognizable ......,: ... :.:........ .. :....::. ...: ......:.-. "re" ······:.:..:;;,:··:::.:.u;.~.... ·::,.w:~::··~?o:~ fine art attracting many young artists. It is a field ...... which is of growing interest to the personal computing 'y ::{ :~:' . experimenter. John Whitney's part in bringing about t ~i ~: these developments is well known. ;1;?!'.,%: ' )~. .";- :.: " ... " ~) ....... ' :::::;,. ,; ........ .. ". ;:~ :;: ,;:; ; : ;:.:~:; ;:~; .~.···,:~:t(:,:::··,~~.:If::.:~··;:.:~::.::·~::x· y FIGURE 1. Each of these frames might represent samples approximately one second apart out of 8 smooth continuous action sequence totaling twelve or more seconds in length. Read from bottom to top. "do" '\ X' ~ 1. i " ... :: ':::; '.' ":.,'.::: FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 17 THE 1940'S: THE FIRST 'PERSONAL COMPUTING ERA Henry S. Tropp Professor, Mathematics Humboldt State University Arcata, California 95521 ABSTRACT The beginning of the modern computing era (generations -1, 0 and 1, c. 1935-c. 1955) is best chronicled by observing the efforts and determination of certain key individuals. One of the workers in the immediate post-WW II period characterized the machine architecture with a comment that he could look at the design of a new machine and identify its geographic area of birth and, in many cases, the individuals involved. Nelson Blachman's 1953 ONR "Survey of Automatic Digital Computers," listed 98 'machines' which had been completed or were under construction by 75 different companies, universities, or governmental agencies. The majority of them were one of a kind, although in many cases the designers indicated a willingness to make plans and drawings available. This stamp of individual philosophies and the willingness to share information pervades this early environment where few could see the future explosion of information processing (the 'computer revolution') that we are still experiencing. In this talk, I will attempt to describe some of the efforts, frustrations, and achievments of a few of these individuals. Anyone who looks up the word "computer" in a dictionary published before 1955 will discover that it refers to a human being. That is, "one who performs a computation." Indeed this is an accurate characterization of the term up to the early 1950's. The early electronic devices were generally called Calculating Engines or Giant Brains.) Computing was primarily an individual, or occasionally a team effort. The development of mechanical devices by Schickard, Pascal, and Leibniz paved the way for desk-size calculating devices, but they didn't substantively alter the computational environment. The construction of tables to facilitate astronomical, astrological, navigational, or mathematical calculations can be traced back at least to the early Babylonian cuneiform tablets. Babbage's 19th Century efforts to construct calculating engines, is well known, as is his inspiration from the Jacquard Loom for punched-card input and Lady Lovelace's concept of what we now call programming. Due to his failure to complete a working model, however, his ideas had no effect on the computing scene. One of the early efforts that had a major impact on the 20th Century computational environment was Herman Hollerith's construction of a tabulating device, which he developed for use in the 1890 census. This punch-card tabulator led to a variety of mechanical accounting machines and some individuals conceived of ways to use them as computational aids. For example, in the early1920's, Henry Wallace gave a course at Iowa State College, using an IBM key-driven machine to calculate correlation coefficients. In the same decade, L.J. Corie (in England) used accounting machines for scientific calculation, and the construction of mathematical tables. In the latter part of the 1920's, Ben Wood established a statistical laboratory at Columbia University, using IBM donated equipment. Out of of the 1920's, Ben Wood established a statistical laboratory at Columbia University, using IBM donated equipment. Out of Ben Wood's experience, and again with donated IBM punched~ card equipment, Wallace J. Eckert established an. astronomical computational facility, also at Columbia. Another computational development, in the 1920's, was Vannevar Bush's first analog computer. These developments, along with a growing electronic technology that included the development of radar and television prior to WW II, established a technological basis for what· is now called the computer revolution. By the mid1930's, the capability was there, but some of the key ingredients were still dormant. Prior to WW II, there was no widespread interest in developing a capability to do large scale computation. A few individuals may have felt a personal need for such a capability, but there is no evidence that governments or commercial firms saw any value in generating the time and funds necessary for such developments. At NCR and IBM, for example, devices were built shortly before WW II which performed arithmetic operations at electronic speed, but management of both companies showed little interest in pursuing this avenue. Two specific examples will illustrate this attitude in two different environments: a research laboratory and a major university. At Bell Laboratories, George Stibitz was employed in 1930 as a research mathematician. One evening, in 1937, in the kitchen of his home, he arranged a few relays on a small piece of plywood in order to demonstrate a mechanical procedure for adding one-digit binary numbers. At the time, Stibitz was concerned with switching network problems. At Bell Labs, computers were available to perform necessary calculations, which consisted in great part of adding, subtracting, multiplying and dividing complex numbers. These computers consisted primarily of about a dozen women using pencil, paper and desk calculators. When a fellow employee suggested to Stibitz that the computations might be accelerated if one could figure out someway to hook two or three desk calculators together, he proceeded, instead, to use his binary relay device to design a circuit that could multiply and divide complex numbers. This generated enough interest so that a group of Western Electric engineers, headed by Sam Alexander, completed construction of the Complex Calcula- . tor in 1939, capable of all four arithmetic operations. The Complex Calculator (later renamed the Bell Mod I), had some unusual features. When it went into operation in the Bell Labs Building at 463 West Street, N.Y.C., it became the first remote access computing system in existence. The calculator was kept in a locked room, with keys available only to maintenance people and custodians. Access was by means of one of three teletype keyboards in the building. (Not time-sharing- -only one at a time.) This was dramatically demonstrated at the summer meeting of the Mathematical Association of America, when, in September, 1940, Dr. Stibitz described the device and attendees were able to put problems on the keyboard located in a hallway outside of the lecture hall which was connected to the calculator in New York. That is, access over a long distance data link. Its speed is almost embarrassing today, 30 seconds to find the quotient of two 9-digit complex numbers, a factor of about 3:1 over desk calculators. But is has a few more important advantages: The excess-3 checking code made errors impossible. If a relay failed, it stopped; also, continuous, fatigue-less operation. - With-the completion of this Calculator, Stibitz approached management with the suggestion that an investment of FIRST COMPUTER fAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 $50,000 would most likely produce a large-scale general purpose device using the same ideas and technology. The proposal was turned down essentially with the response "who wants to spend $50,000 just to be able to do ordinary computations a bit faster and easier?" World War II provided a response to this question, particularly with the need for ballistics computations. The computation of one ballistics trajectory requires about 750 multiplications. For one trajectory, this will require about seven hours of human desk calculator time. The time factor is not significan until you have to do large batches of 100 or so. Here, the relay calculator was capable of a speed factor of about 10:1. A survey of 100 trajectories could be calculated in about 24 hours, as opposed to 700 human hours, with built-in checking reliability and 24 hour-a-day, 7 days a week performance. During the war, Bell Labs constructed the Mod II (Relay Interpolation, 1943), the Mod III (the Ballistic Interpolator, 1944), the Mod IV (Mark 22 Error Detector, 1945); and after the war, the general purpose Mod V (one for NASA, 1946, the other for Aberdeen, 1947), and the Mod VI (Bell Labs, 1950). These calculators had not only error detecting codes, but some had error-correcting codes, floating point, check signals, and many features which enabled it to run unattended for many hours. Although I tend to classify these electro-mechanical relay computers as generation -1, many of their features didn't appear in electronic machines until generation 2. A second development in the U.S. occurred at the same time that Stibitz suggested using relays to perform calculations in a binary mode. It occurred at an institution where, unlike Bell Labs, one would expect, and indeed find, little interest" in computational capability: Harvard University. In 1937, Howard Aiken was completing his doctorate at Harvard where his thesis on the laws of space charge had involved him in 18 months of laborious hand calculations of nonlinear differential equations. In response to a query after his oral examination about his future plans, he said he hoped to make it possible for future scientists to avoid his grueling computational experience. In fact, he had already written a first draft of a proposal to perform sequential computations in an electromechanical mode. His efforts to bring his proposed device into being resulted in a good deal of hostility among the Harvard faculty and administration. But with his natural stubborness, Aiken persisted until, with the aid of colleagues Harlow Shapley (Astronomy) and Ted Brown (Business), he was able to see the president of IBM, Thomas Watson, Sr. Watson agreed to have IBM assume the costs and assigned engineers Claire Lake, Frank Hamilton and Ben Durfee to collaborate with Aiken. Despite delays caused by WW II, the Automatic Sequence Controlled Calculator (Harvard Mark I) was installed and running at Harvard in 1944. From then until it was dismantled in 1959, the Mark I performed needed calculations for the defense department, the atomic energy group, as well as the computation of many volumes of Bessel functions. From the standpoint of speed, it was in a class with the Bell relay calculators, both soon to be hopelessly outclassed by the electronic machines. From the standpoint of reliability, accuracy and negligible down-time, it had no electronic rivals until the electronic 2nd generation machines. The technology used in the Mark I was not new, most of it had been used and tested through at least a decade of various applications. From an architectural standpoint, it was designed to do operations in a sequential manner in much the same way that Howard Aiken would have solved his problems with pencil and paper. Its 60 foot rotating shaft, translating horizontal rotation to vertical, was reminiscent of a power plant generator. Not too surprising when one knows that Aiken was a power engineer for the Wisconsin Gas Company from 1923 to 1935. PAGE 18 However, ,the most significant impact of the ASCC is more subtle than 'the machine itself. Howard Aiken felt that it was his duty to spread the word. The visitors log of the Mark I installation shows the wide range of scientific,. technical and gov· ernmental individuals who came to view and learn. The Harvard computational facility became a center for people interested in machine-oriented computation. Many graduate students who used Mark I at Harvard are recognizecl leaders in the computer environment today. Aiken organized two conferences (1947 and 1949) in which hemade it possible for everyone interested in automatic computation to present papers or to come to learn what was going on. The atmosphere w'as an open one of sharing ideas and disseminating the experiences of everyone interested in assisted computation. Aiken also traveled extensively to Western Europe, and his approach and philosophy are evident in early European machines. The Mark I was followed by the electromechanical Mark II and the electronic Marks III and IV. Aiken was a strong-willed individualist with tremendous vision. But even he had his visionary limitations. When one of his colleagues suggested improving the speed of the printer, he replied: ''Why would we want to print faster than someone can read.?" There were other computational devices suggested or constructed in the late 1930's. Konrad Zuse's Model Z1 was completed in 1938, and his fully operational relay calculator, the Z3, was completed in Germany in 1943. At Iowa State College in Ames, John Atanosoff attempted to build an electronic device that would solve a system of 28 equations and 28 unknowns by Gaussian elimination at electronic speeds. Although this device was never operational, recent litigation has revived the details of the effort. The operational beginning of the electronic digital computer began with ENJAC. (Colossus, an electronic cryptanalytic device built in England in 1943 was classified information then and is still primarily classified today.) The literature is full of this event and the role played by John Mauchly, who conceived of it, J. Presper Eckert, who was associated with him in its design and implementation, Herman Goldstine, who played an important role in getting the project funded by Aberdeen, and other individuals like John Brainerd, Arthur Burks, etc. Instead of repeating this part of the chronology, I would like to focus on the summer of 1946. The event: A summer course at the University of Pennsylvania's Moore School of Electrical Engineering. Subjects: ENIAC and the proposed EDVAC. Here, as at Aiken's later Harvard conferences, an attempt was made to provide a forum to present all known information on electronic computers, using the only one known to exist and to discuss the design, operation and architecture of EDVAC, the first machine into which was to be incorporated the capability of modifying its instruction. The goal of this program was to share all that the builders and designers of ENJAC and EDVAC knew, and to help others who might want to construct their own devices. One of the invited participants was Maurice Wilkes, from Cambridge University. Although he arrived a couple of weeks late, due to difficulty in getting a ship from England, by the return voyage, Wilkes was already designing a scaled down version of EDVAC, a machine which became operational in 1949, with the acronym EDSAC. Information (and people) in this period seemed to flow freely. The most general directional patterns were from the U.S. to England and England to U.S.; the eastern U.S. to western U.S. and to western Europe. John von Neumann's project at the Institute for Advanced Study sparked parallel projects at Oak Ridge, Argonne, the University of Illinois, Rand Corporation and Los Alamos (to name only a few). In fact, some of lAS Projeny may have gone on the air before Von Neumann's machine at Princeton. FIRST COMPUTER FAIRE PROCEEDINGS The U.S. west coast computational environment is an interesting illustration of this phenomena to sharei'nformation. The decisicn by IBM to manufacture the defense calculator in 1951 (the IBM 701), led to a group of individuals at places like Rand, Northrup, Hughes, etc., to informally organize in order to be able to share information and to avoid duplication of effort in the use of the 701. The informal gathering led to a slightly more formal one, DCA, (DCA = Digital Computer As~ sociation) and later, with the announcement of the IBM 704, to SHARE. As, one of the key organizers of SHARE put it: "Isn't it disgraceful thai on the 701 there were 18 machines, and there were 18 assemblers. Let's invite every person who has an order in for a 704 to come and talk about, number one, how can we reduce from 18 assembly programs to one, and, second, anything else of interest." These brief sketches of the role of the individual in successfully achieving a desired goal in a hostile environment, the general enthusiasm of a small group of early practitioners to spread the word and the open exchange of ideas characterize generations -1, 0 and 1 of what is now called the computer revolution. But the growth of im industry from non-existence three decades ago to one where the number of computers (excluding pocket calculators) has grown to 350,000 or 400,000 has to have exerted a change on this environment. The small number of individuals involved from 1947 to 1954, their constant dialogue with each other, visitations, mutual help gatherings, enthusiastic participation by everyone from the project head to the people on the benches, characterized the era of the birth of the electronic information processing era. Many of the one-of-a-kind machines of this early period carried some architectural signature of its builders' attitude toward computational design. One of the pioneers claimed that he could look at a new machine and identify in what geographic locale it was built, and often even identify some of the people involved in its design. Jim Warren, in a recent issue of Dr. Dobb's Journal characterized this in the following way: "The sharing of ideas is useful in that it allows us to stand on one another's shoulders, instead of standing on one another's feet. But, there is something else shared that is of at least equal value: the enthusiasm and intellectual excitement." The computer hobbyists in their enthusiasm and excitement appear to have re-introduced those elements which were prevalent before 1954 back into the computer environment. Who knows what the spin-off of this rebirth will be? BOX 1579, PALO ALTO CA 94302 PAGE 19 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 THOSE UNFORGETTABLE NEXT TWO YEARS TED NELSON Here we are, at the brink of a new world. Small computers are about to remake our society, and you know it. I am supposed to tell you what is about to happen in the near future. But to understand the future we must understand the past: most people don't realize what has happened. What is astonishing to me is not SO much the future as the past, and the things that are going to surprise people - - the sudden appearance of little helpful interactive computers everywhere - should be less surprising than the past circumstances that have delayed all this till now. . We have inherited some silly myths about the nature of the computer; and these myths are miraculously shared by both computer-lovers and computer-haters. They are the silly and cruel myth of depersonalization - - that computers demand impersonal behavior and rigid unpleasant rules, not to mention punch cards; the myth of efficiency , that using computers to depersonalize ways is somehow good; and the myth of technicality, that to criticize or try to appreciate computer systems is beyond the competence of the laymen. These vicious myths, and more, imprison us all. Many computer people seem content with these myths and -- intentionally or not -- keep them going, dealing with non-computer people ominously and unhelpfully, with hardheartedness, scientific pretension and scary lingo. We all know that there are those in the computer profession who enjoy pushing other people around, who hide behind the computer and say the pushing around is the computer's fault. The computer is functioning as a mask. There are even those with long hair who teach computer science and talk about computer liberation, who yet enjoy mystifying and confusing people and leaving them helpless. Worst, I regret to report that there are actually people who enjoy pushing people around, and intimidating them, in the amateur computer field. C.P. Snow, the English author, has spoken of what he calls "the two cultures" of educated people, one being those scientifically trained and the other being the humanists. Ordinarily these two factions do not speak to each other, each regarding the other side with distrust and disgust. Computer people continue this tradition. Many computer people, indeed, seem to half-desire some kind of a showdown fight, where they are going to rub the humanists' nose in computer jargon, possibly to get even for having had their spelling corrected. Do you think it's not as bad as that? Consider the problem of lower-case lettering for display and printout on computer terminals. Some computer people feel there is no need , for lower case. This is a slap to all lovers of the written word. If you have no lower case on your terminal, it assures that no person with a literary background will ever use your text editor. Or consider an argument that recently occurred in one of my seminars. A student of mine is planning to implement a text system along certain lines I advocate. But he insists that the user, typing in text, and each typed sentence with a special character, such as the caret. When I pointed out that standard practice for both stenographers and authors is to delimit a sentence with two spaces, he was indignant. "I don't want to have to type two spaces after a sentence!" he declared, preferring instead his caret; it did not matter to him that literary people would hate the caret more than he himself hated the two spaces, and so they wouldn't use his system. . -With-thesepoints'-have intended to highlight several problems. Computer people are not all of them prepared to honor PAGE 20 or appreciate the wants and needs of others, especially those with different points of view. And this has had, and will continue to have, curious repercussions. Old style computers are about to collide with new style computers, and many people will get caught in the middle. Here is what has happened so far. In January of 1975, MITS announced the Altair computer kit for $400. That seems a long time ago: in the two years since then, so much has happened. To the surprise of some people, the Altair computer took off like a rocket. Certain other people, who had been almost ready to do the same thing (they say), were galvanized into action. More brands appeared. The next major event was Lois and Dick Heiser's opening of their Computer Store in Los Angeles. "Now why didn't I think of that?" was everybody's first reaction, followed instantly by, "I still could." So here we are. Perhpas twenty thousand dinky computers, perhaps more, are in the hands of small businesses and hobbyists, too, have visions of becoming small businesses.) Some three to five hundred computer stores are open, or on the verge of opening, or in some other stage of near-existence. And throughout the country are the cottage computer industries: people making accessories, software, teeny mainframes. Catering to these mad folk are half a dozen -- probably a dozen by the time this comes out -- counterculture and hobbyist computer magazines. Now, as far as I am concerned these developments are no surprise at all. The surprise is that it took so long to get started. Certainly the computer-on-a-chip could be seen coming ten or twelve years ago. Now some people call them "microcomputers," But nothing could be more absurd than calling them "microcomputers:" a radio is still a radio if it is built from integrated circuits, not a "micro-radio;" a tape recorder or a hearing aid or a telephone is not a "micro-tape-recorder" or "micro-hearing-aid" or "micro-telephone" even if it is built from integrated circuits; and a computer is a computer whether or not it is built from integrated circuits. The rea} meaning of calling it a "microcomputer" is this: the word is a face-saving device for people who did not see any of this coming, who had their heads in the sand. Calling these things "microcomputers" implies that they are something new under the sun, a technological surprise which could not possibly have been predicted, so the term absolves the speakers of having been fatheaded in expecting the status quo to continue. The surprise is all in their minds. The dinky computers, as I prefer to call them, are widely belittled in the regular computer industry. But our fundamental 8080 chip, suitably supported, is approximately comparable to the 1401, which was the workhorse computer of American business in the early sixties. For many purposes the 8080 is more than adequate. It's always nice to have more computing power, but then it's always nice to have more computing power. There will come a day when the power of a big PDP-10 will seem inadequate for a personal computer. - For now, though, the dinky computers are working magic enough. They will bring about changes in the society as radical as those brought about by the telephone or the automobile. The little computers are here, you can buy them on your plastic charge card, and the available accessories include disk storage, graphic displays, interactive games, programmable turtles, that draw pictures on butcher paper, and goodness knows what else. Here we have all the makings of a fad, it is fast blossoming into a cult, and soon it will mature into a fullblown consumer market. FAD! CULT! CONSUMER MARKETI The rush will be on. The American manufacturing industry will go ape. The FIRST COMPUTER FAIRE PROCEEDINGS American publicity machine will go ape. American society will go out of its gourd. And the next two years will be unforgettable. SCENARIO The exact sequence of events is of course hard to predict. The general outline, however, is not mysterious. Let me try to fill in some of the basic things I think are going to happen. In 1977, tens of thousands of computers will be sold to individuals; the current demand level, with machines sold as fast as they come into stock, will probably continue for some time, possibly several years for the better machines. The sales of the S-100 machines, like Altair, Imsai, SOL and Polymorphic will continue strongly. If you've followed the computer field for any length of time, you know that standardization is generally established on a defacto basis by whoever gets someplace first. it should have surprised no one that the original Altair system of interconnection at once bacame a standard. Many engineers have said, "Aw, I could do better," and proceeded to try, but that has been quite beside the point. When there is a standard way to do something, the possibility of a better way is often academic. So we have seen a mass movement: Processor Technology, Cromemco, et al. have built boards for the Altair, and then their own computers on the same system of interconnection. Whereas little computers like the Sphere, the Jupiter Wave Mate, the Digital Group, indeed MITS' own 6800 machine and conceivably the Heathkit computer that is to come -have ignored this standard at their peril, attempting to create a non-interchangeable market. So far these little computers, from little manufacturers, comprise the "amateur" market. But next we will see the bigger manufacturers come rolling. Large-scale manufacturers will enter the game; some are already talking about building millions of units. And already there are "video games" actually containing a computer, such as the Fairchild for $150. Soon the media will hear about it, especially magazines and TV news. They will go out of their minds, and give home computers the full-scale "mysterious phenomenon" treatment. They will make all those incredibly stupid jokes over and over, about "thinking machines", and about 1984. But few of the journalists will bother to find out what computers are really about until everybody else knows already. The funniest aspect of the press coverage will be, of course, that everyone they talk to will have a different story; it will be impossible for reporters to converge or focus. Some of the people interviewed will tell the press that home computers are an extension of ham radio (this has actually happened); others will seem to say it is an outgrowth of the space program or of video games, or of the New Math, or of pocket calculators, or who knows what. And they'll all be wrong because they didn't see that computers were for people in the first place. After the m·edia, of course, the stock market will react. Wall Street will behave as Wall Street always behaves in the face of a new consumer fad, and public corporations involved in home computing will lurch upward in price. About this time it will become clear that home computers are actually as important as people thought video disks would be. Many people will try to get on the little-computer bandwagon in inappropriate ways. The cable TV operators, for instance, will blunderingly keep trying to set up some sort of a connection to home computers. There isn't any -- except that they could use dinky machines to generate little animated cartoons and logos. BOX 1579, PALO ALTO CA 94302 PAGE 21 Now the really big manufacturers will come in. Philco and Zenith, Sylvania and Magnavox and the Japanese TV ccmcerns will bring out their home computers. Then will come the metoo electronics packagers, with a dazzling array· of brand names offering small silly variations. One problem for the larger organizations is that their decision processes are perilously slow: since the home computer market will change drastically every six months, the big slow companies may never get off the ground. They will be continually deliberating over how to compete with last month's product, and being dumfounded by the next development. However, some big manufacturers will swallow the little companies that are off to a good start, paying lots of money for the privilege. While there will be many more small accessory and software houses, it will be much harder for the second generation to make it big; their best strategy will be to target and specialize. Certainly the maturing markets for dinky computers will become ever more differentiated. Beginners' systems, whatever the chip, will usually come with Basic and game cassettes. Office-standard systems will probably become stabilized on the computer-with-screen, like the SOL, Sphere or Intecolor; but interchangeability will be an important feature, possibly favoring S-100 machines. Graphic systems will become popular among artists and doodlers and playful people, and indeed among the well-to-do these may become a sort of animated decoration. (We will see themturning up all over retail stores, with sales messages and animated cartoons.) Literary systems for readers and writers will include disk, high-capacity display, and high-power text manipulation and filing programs -- of a type, I believe, that nobody has seen yet. Baroque and snazzy systems will come out for technical showoffs: like the computers that have one of every processor chip, or multiple Z80's: some with lights and switches by the yard, others with lots of "computerish" lettering, military styling, futuristic spheroidal boxes and so on. Finally, perhaps most important, we will see the "nothing is too good for my kid" configuration, with graphics, extensive text handling, programmability and large memory; possibly musical input and output as well. (Kay's Dynabook, at Xerox Palo Alto Research Center, is the exemplar of this class -even though it may never appear commericially.) As to manner of interconnection, alas, there will be all too many separate hardware worlds. There· will be the evergrowing S-100 world, of Altair, Imsai and so on. There will be the nonstandard world. Some individuals will actually buy high-class hardware out of the professional computer world, which will be nonstandard as far as the hobby world is concerned. (In the next two years it is not clear the entrenched minicomputer manufacturers can lower their prices, or adjust their· thinking, enough to compete.) Then there will be the other chip computers, packaged with incompatible accessories, such as the Intecolor. Then there will be the discount packaging world, probably with more systems of incompatible accessories. The incompatibilities will be regrettable, but the marketplace will eventually punish this approach. There willot Course be a variety of other oddly-interconnected computer configurations. Certainly we may soon expect the TV with built-in computer. We may see the "smart hi-fi," a multi·room, mUlti-ttuner, bus-oriented programmable. system. And don't rule out the computer-in-a-van, with one monthly payment for both transporationand hobby. Though it would be a good thing, it is doubtful whether any later and better chip computer will attain, in the next two years, the universitality that the 8080 (and the Altair bus) have enjoyed. ,We ought to have a. 16-bit amateur ma.. ' ". FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579. PALO ALTO CA 94302 chine, at least one allowing relocatable programs, the LSI-11, chip Nova and TI 990. But the central positiotl'M ttle'SOSO will be hard indeed for another unit to capture. In the software area, meanwhile, we will 'go from confusion to chaos: but perhaps after about two years it will begin to straighten out. Utterly disparate software packages will' appear, all proclaiming themselves to be Everything You Need. (There is one advocate of Tiny Basic who says numerical input is sufficient for "all software".) Programs will appear embodying the greatest possible variety of viewpoints. There are many ways of thinking of software, and in the hobby world some of them are weirdly simpleminded. Many hobbists come out of electronics, and insist on thinking of a computer as Ita collection of switches." This is true in the same sense that a human being is Ita bag of chemicals." But some hobbyists think, on the basis of this impression, that programs are little things, like ten or fifty lines long; like a binary-to-clecimal conversion routine. From that follows the hobbyists' mystification by, and in some cases objection to, the copyrighting of programs. It would seem peculiar that people who claim to have compunctions about shoplifting, or the looting of parked cars, nevertheless proclaim - as some computer hobbyists do -- that they have a perfect right to violate others' property rights in respect to copyrighted software. But we can understand this view slightly better if we consider that many electronics-oriented amateurs think programs are small and insignificant -- of the level of complexity, say, of a limerick. Many programs are short and simple. And many enjoyable computer games run in less than a hundred lines of BASIC. But tomorrow's home programs are not going to be just little programs. The important software of tomorrow will be immense turnkey systems of programs, comprehensive and interactive, for a broad spectrum of business and personal uses. New business systems will wholly reverse the computer business systems of the past. The business systems of old, based on batch processing, created strange .work procedures: transactions had to be keypunched and sent into the computer in long trains, to be processed one at a time by the same program. This created dehumanizing job definitions, such as keypuncher. Now, however, clerks will be able to process business paper one piece at a time, in the order of its arrival, and businessmen will discover themselves in control of their firms once again. But the programs will be big. There will also be large-scale programs for gaming and simulation and animation will likewise be swapped and overlaid from disk. The new big software packages will have to do a lot of storage management - overlays, swapping and housekeeping. Once such a system is started, it will not need reloading, it will roll and undulate from one function to another at the user's whim, swapping and storing (fail-safe) and displaying interactively. These features do not come easy; they involve a lot of programming. Now not everybody may want or need such extensive services. Some hobbyists, indeed, may also enjoy the ritual of "running separate programs" -. toggling in bootstraps and running in loaders and programs for each new activity in an anachronistic and playful simulation of batch processin~. But the big and sophisticated software will be to the little toy programs as War and Peace is to the limerick. The really good systems.will be unique and distinguished, even works of art. People Will devote months and years to th,eir creation and they will have considerable commercial value ~- being lea~d to businesses, say, for hundreds of dollars a month. Speaking as a prospective supplier of such advanced soft- ware, the' amateur market tends to interest me not at all. 'I see little reason to sell to hobbyists, and considerab1e reason not to. For the revenue of, one well-behaved business customer, it might be necessary to deal with ten belligerent and disrespectful amateurs, some of whom have given notice of their intention to break any software contract. In the ordinary computer world, the most emotional issue is people's preferences with regard to computing languages; copyright is accepted as an ordinary part of life. In the amateur world the most emotional issue is that of copyright, with languages second. My own feelings about copyright are very strong: copyright is one of the only ways the little guy can get a leg up -- you will excuse me for oversimplifying -- against the Big Guys and the Bad Guys. I publish my own book, Computer Lib, and receive a modest income from it. Now if there were no copyright protection, anyo", could print Computer Lib in Taiwan, and sell it for ,less than I get, and I would get no benefit for the years of work I've put into it. But the law of copyright, a Federal law, says the book is mine, and that people can only make copies with my permission; I like it like that. The same law, now, is extended to computer programs as a form of writing; and the same protection is available to you, practically free of charge, for the work that you put in on programming. Anyone is of course free to give away a program he has made, since the copyright presumably belongs to him. And people to whom software means small programs of their own concoction will be happily giving them away. ' But people who are working on big programs -- programs involving tens of thousands of lines of code, programs that take months or years to create, will be very concerned for their copyright protection. To further this protection, we will begin to see software disguised as plug-in hardware, software coming on mystery tapes in unknown formats, software disguised in every possible way. This cloak-and-dagger approach is quite regrettable, but may be the only way to create an orderly market. I think there will be a period during which the good software, the big and serious systems, are held off the amateur market and made available only to commercial customers. But e,,:entually, perhaps at about the end of the next two years, we Will see bargains struck up with well-behaved individual users, and a system of safeguards hammered out to make an orderly market possible. These safeguards may even include programreadable hardware serial numbers, just as used in the bigger systems. Languages. Just as in the big computer world, in the dinky world we hear hotheaded arguments about programming languages. Computer people always become very pugnacious about their favorite,programming languages -- especialiy if they only know one or two .. But the dinky-world arguments about language are a travesty on those same arguments in the straight computer world. The same honors are here attributed to BASIC that more knowledgeable computer professionals attribute to Algol, or SNOBOL, or PASCAL. (In the hobby world, one actually hears people with Ph.D.'s, who certainly ought to know better, arguing very angrily that Basic is the ultimate.) By two years from now, after a lot of frustrated effort and experience with big systems shoehorned into little computers, people will have realized that for powerful software we need good and powerful languages. They will also have found out that these must be structured languages, in the Dijkstra sense, which make programming so much more manageable; and they must be extensible, allowing the rapid creation of new commands for particular ranges of purpose. This means that interpretive languages like LOGO, TRAC language* *TRAC is a registered trade and service mark of Rockford Research, Inc., Cambridge, Massachusetts. FIRST COMPUTER FAIRE PROCEEDINGS and SMALLTALK will assume new importance, as will such compiling languages as FORTH and "C". One of the great strengths of the extensible interpretive languages is the degree to which they simplify big programs. My colleague William Barus and I recently created an animation program for the VDM board using TRAC language; the program is about 16K in size. TRAC is not as easy to learn as Basic, and for small programs may seem rather clumsy. But as programs grow larger, its intrinsic orderliness keeps programs manageable. (The 16K program was written in about three weeks, and seems to work quite nicely, allowing both frame-by-frame animation and subpicture overlays.) With unstructured languages like Basic, programming becomes exponentially more difficult as the size of the program grows; with structured languages, the growth in difficulty seems to be logarithmic. Basic will remain the language for beginners, unfortunately; no standard Dijkstra-structured upgrade is presently defined for it, although a "structured Basic" has been under design where Basic began, at Dartmouth. (But for those who want to sell language processors, there is a simple secret; hobbyists want any language as long as it's called Basic.) It is a great pity that hobbyists are so insistent on talking about the physical box of the computer, and so resistant to learning about the issues and depths of programming languages -- even though all their programming difficulties stem from these issues and depths. Meeting frequently with computer hobbyists, it is astonishing, and depressing, how often one must repeatedly answer such questions as ''What is a computer language, anyway?" and "What is structured programming?" and "1 don't see why it can't all be done in Basic." There has got to be some form of general consciousness-raising in this area. ··In any case, when the smoke clears, about two years from now, hobbyists will begin to realize that the more advanced languages -- at least the ones that fit on the dinkies -- make programming, much, much easier. Such languages -- like LOGO and SMALLTALK and TRAC Language -- will gradually assume primacy. But we may hope that their being "advanced" languages will not make people think they are unsuited to beginners. On the contrary, structured extensible languages are the right way to learn programming. For instance, at MIT's LOGO project, they tried teaching programming to kids two ways: with BASIC and with LOGO. After a few weeks, I have been told, the kids who had started on LOGO were hopelessly far ahead, and, it is said, did not want to speak to the BASIC-trained kids because they thought the latter so ignorant and incapable. No one who is really interested in computing languages would claim that the "ultimate" language exists; but there is a new generation of languages shaping up now, the "actor" and "agent" languages, whose proponents expect them to be as far ahead of LOGO, TRAC Language and SMALLTALK as these are ahead of Basic. Which of these advanced languages will fit on little machines is another question. The merchandising of little computerswill gradually break out into a number of separate sales apprathes, much like the merchandising of anything else. The mass-market computer will of course be sold by the corner electronics discount house, in a fancy package. You'll get the instruction book and an impatient rundown, but no personal help. In the box you'll find the computer, an instruction book, warranty card, and list of repair centers. p'erhaps also one free game cassette. This mass-market apprach will probably go two ways: toward the non-compatible, as with the Fairchild, computergame tapes, which will be a dead end; and toward compatibility, as with systems offering Basic and a standard cassette interface. BOX 1579. PALO ALTO CA 94302 PAGE 23 For more serious users, and for the S-100 world, the computer stores will continue; but they will become a cross between the hi-fi store, camera rental house and laundromat. A viable take-home rental market will develop, presumably as a part of the computer stores. There you will be able to rent simple standard units (as you might rent a standard car), or, later, more esoteric units (in the way that professional motion-picture equipment is rented). Repair set-ups will blossom. Th.ere may appear franchised computer-repair chains, similar to the automobile-transmission repair centers. But these will be walk-in centers; cheap computers will not be eligible for house calls. (Many computer-center people, who are used to repairmen coming in, cannot visualize throwing the computer on the front seat of the car and driving it to a repair center, as you do with an amplifier. But that's how it'll be.) The amateur used-computer market will come into full swing. We will see the more fanatical hobbyists buying not just used Altairs but commercial minis and old "big" machines -- real 360s and 7090s -- and real antiques and fond replicas, such as Eniac and TX-2. (We may yet see a fully-loaded Imsai go for more than a small 360, just the way in 1974 you saw small used cars selling for more than big ones.) A variety of personal services will appear, probably in conjuntion with the expanded computer store. Such services will include program storage and printout; soon, time-sharing parlors, having clusters of terminals which may be rented by the hour. (This is the laundromat analogy -- renting a terminal by the hour is not unlike renting a washing machine.) In the next two years,. we should see services grow from the simple ones to a dazznng variety of new ones, such as advanced text services and retrieval, digital music synthesis and movie-making, and great libraries you can reach through your home screen.* . The prospect of great on-line libraries raises great questions about truth and'freedom -- for which there is no room in the present talk, but about which much more will be heard. I have elsewhere predicted that there will be ten million computers in American homes by 1980. This may be a considerable underestimate, in the light of American consumer contagion. It will not be long, in my opinion, before the home computer field becomes most of the computer field in absolute dollar volume. This will take longer than two years. But I would predict a hundred dollars per capita per year within ' a depade. Pretty good so far, right? But I'm afraid it will not be all sweetness and light. We can expect the dinky revolution to have a convulsive effect on the computer industry, and on the society as well. First let us consider the industry. IBM will be in disarray. Fine-tuned to a captive market having certain kinds of submissiveness, it is hard to suppose that their kind of sales, let alone their kind of computer product, will give them a ready entrance to the kinds of markets now opening. (Supposedly as a personal computer, they will push the 5100, actually a 360 in disguise; but they will probably not know what to do if someone puts out the S-1OO adapter for the 5100, effectively offering a 360 with Altair accessories.) The jolt to IBM's product line of all these developments will be considerable. A loss of revenue for IBM, or at the very least a slowing of its growth rate, seems to me inevitable. This could be traumatic to the stock market and to other true believers. * See T. Nelson, "Personal Digital Services," IEEE Computer Magazine, March 1977, and "Design of a Transcendental Literary Network," to appear in proceedings of the 1977 National Computer Conference. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 Most of commercial time-sharing will be down the drain, being priced at the top-managerial level but only usable by technicians. Organizations will be in internal turmoil, as they see kids doing with computers what their programming teams can't. And as the new availabilitites reverberate, many intemal goals and budgets will be shot to hell. There will be mass layoffs in programming staffs, and this will be only a beginning. The skills involved in programming are comparable to those involved in automobile mechanics, and as the number of capable individuals increases, the pay levels will go down, because systems will need less and less tinkering to be made to do what you want. It will gradually be revealed that most programming has been make-work around iII-clesigned systems. Between laymen and the old-style computer people there will be a lot of questions asked. "Why weren't computers easy to Use before? Why couldn't I have had this sooner?" These are not pleasant questions to answer. For computer professionals will be the last to see this coming. Professional programmers have lived in a world of account numbers and job submissions, core declarations and runs aborted by the operating system - silly complications that evaporate as soon as everybody has his own computer. Theirs is an awkward and inhospitable world that bears as much relation to the real nature of computers as a string of frankfurters bears to a living cow. The "Nature of the Computer," for many who have worked with it, has really been the system of bizarre bureaucratic project management under conditions of monopolistic mystification. And so it may come to be revealed that the people who have worked with computers most have understood them least. In some areas of the society there will be pandemonium, as the personal lives of a vast number of people -- especially computer people, who thought change w satheir friend -- are uprooted and retrenched. These more general effects are hardest to predict. I suspect that the main public reaction to little computers will be a mixture of delight and anger -- delight at the new fun and facilitation, anger that computers were ever allowed to create the harm and inconvenience that they have till now. Here is the fin aI surprise. We the computer folk are not going to be converting the non-computer world to be like us, as some of you may have been hoping. Quite the contrary. We are going to be repudiating the computer past, resolving not to push people around any more, and finding out how to make computers easy and helpful to everybody. MUSINGS The future use of computers is, and should long ago have been, personal. Misled and perhaps occasionally malicious, the industry has ignored this as a possibility for thirty years; computers have been held back from a personal market for perhaps thirteen. But the movement cannot now be stopped. Why has individual" computer use been so retarded? Partly because of the nature of our society, and partly because of the trickery by which computers have been sold: not because of the nature of the beasties themselves. For instance, I believe that the point of the 360 computer was to lock out the other manufacturers, especially those of minicomputers, and postpone highly interactive systems -- the kind of computers uses that would be good for, among other things, personal use. The 360 drastically postponed personal usability. And in an unholy alliance with the big manufacturer, the computer centers long ago became entrencned power units especially concerned with preventing maverick applications, and with preventing any other departments -- let alone PAGE 24 individuals-- from getting a computer. Underhanded methods have been used, it is sometimes said, to get rid of people who advocated interactive systems. The computer field was structured to lock out both the interactive applications and the . people who wanted them, or might have. Now the computer centers are on the defensive, publishing articles saying there is still a place for the centralized computer facility. They may be right, but they have an increasing burde.n of proof. As dinky computers and interactive styles of use take over more and more, little sympathy is due to those who strove to hold them back. But let us lift our eyes from the past, from the limitations and trappings of how you've had to do it. Rather than being obsessed with the styles of computers as they have been used, we need to consider, and design, the environments that we really want. I call this the Higher Virtuality. By virtuality I mean the effective environment we create with the computer, as distinct from the computer's "reality", the physical parts and program techniques that make things come out that way. The higher virtuality, then, is the computer environment we should strive to create. It is hard to make the choices and designs that this .entails. The virtuality that calls to us now, I think, is the new world of highly interactive systems. Cursors and panels, lightbuttons and menuplexes, maps and graphs and fast-changing screen layouts, are the pieces from which we will construct our new experience-spaces. Now, we tend to think of highly interactive computer systems -- for text editing or re~rieval or movie-making or whatever -- as the ones with fancyscreens and light-pens. But this brings up an interesting general point. The fancier super hardware isn't as important as the imaginative and artistic use of whatever we have. Let's consider just the problem of pointing at things and controlling What's on the screen. Most of us don't have a light-pen or Englebart mouse on our home computers; but if we are clever we can make systems highly interactive even if we just use keyboards. We can zip cursors around with the keys to select from menus. We can even whiz between environments. Suppose the interactive program can change the meanings of the separate keys dynamically: at one instant, specific keys can be arrow keys, to move a cursor about the screen; "at another instant, they can type musical notes, or special picture-symbols; or anything. This is not an unimportant matter. Some of the snazziest research setups have highly interactive keyboards of this type. Bitzer's PLATO system, for instance -- a large special-purpose graphics time-sharing network run out of the University of Illinois. The main program can react to every key-press, and the keys can be automatically redefined under program control. The letter "D" on the keyboard can be an arrow when pressed at one instant, create a whole picture of a dog when pressed in the next. This feature makes PLATO one of the most dramatic introductions to interactive computer graphics. Kay's Dynabook system, at Xerox, likewise allows a key-bykey dynamic reaction to what the user does. There is even a research setup with a "phantom keyboard" -- its key tops have colored changing labels that you can read right through your fingertips. (This is done with a color video display and a semisilvered mirror.) Such dynamic keyboard capabilitie~, together with our screens, make highly interactive systems easy and exciting to create. (It is regrettable that most if not all IBM systems do not allow this dynamic key-by-key redefinability. IBM systems will not ordinarily respond to single arbitrary key presses; you have to hit either the Carriage Return or an "Attention" button to make the systems respond. Again, the interdiction of highly interactive systems. Was this malicious design?) This key-by-key arbitrary response leads us, as do many FIRST COMPUTER FAIRE PROCEEDINGS other paths, to the real question. Given that we can make each key have any effect, then what? How should our systems behave? How do we make the interactive system make sense? On the interactive screen we deal with a special new virtuality: architecture in virtual space, where anything can happen based on anything you do. The space has to be invented. This architecture of conceptual space, this conceptual architecture of screen-space -- is a new realm where we are combining feelings and effects, as in a movie, and the need to be clear, as on a map. The problem really becomes, I think, giving the system conceptual unity, which is just a more general example of the problem of giving conceptual unity to the interactive keyboard. How do we give the key assignments, and how do we give the larger system, conceptual unity? "Conceptual unity" is an extremely pliable concept. What many programmers think is conceptual unity, clear and simple, is not necessarily conceptual unity to the non-computer people. The problem is very like architecture. Now, I'm no architect, but I have spent some time in buildings -- indeed lived in them! -- and I think there are several clear criteria for what makes buildings good. It's nice for them to look good, sure. It's nice for them to have good cost ratios for their builders. BUT I submit that one of the most desirable things about good buildings is for people to be able to get from place to place simply, and know where they are. . I recently taught at a great urban campus filled with grand pretentious buildings. The architect game no mind to helping people find their way around. The buildings looked very Futuristic, but were incredibly confusing and inconvenient. One evening, in the depths of one of the incomprehensible buildings, I had to mail a letter and make sure it went out in the morning. I went to the mailbox on the main floor, and there was a sign on it saying that after hours one was to use the mailbox on the first floor. (This was my first inkling that I was not already on the first floor.) Diagonally to my right was an elevator. I stepped in, pressed "1", and prepared to retrace my steps, walking diagonally back to my left to the first floor mailbox. I was faced with a cinder-block wall. I walked around to the right, then finally found a back corridor going in the direction the mailbox should have been in. But now there was a succession of cinder-block cubicles and rooms. In none did I see the mailbox. Eventually I was able to find the mailbox by a system of triangulation. By counting paces, and making a map marked with paces marked and a combination of ninety-degree angles (of which the architect was fond), at last I found the mailbox in one of the rooms of the cinderblock environment. Here is an example where an architecture of real space was created with no concern for personal clarity or orientation. The problem is the same for creating interactive systems. Creating interactive systems, and their virtual spaces, should be an art. And the real kicker, I believe, is this: all computer systems should be highly interactive. The confusions and oppressions of yesterday's computer systems vanish where the user can see his alternative on a screen, get quick explanations, see maps of what he is doing, and get all the other helps that the interactive screens can provide. This means the continuing oppressions of yesterday's computer systems -- even today's -- are the opposite of the way computers ought to have been used all along. We shall see. Time, and the marketplace, will decide. When people get to use interactive systems, they will be much less interested in eithe r manual methods or batch. But the central concern of highly interactive systems will be making things clear and simple. Now, making things clear and simple and easy to us iS,l'm afraid, the opposite of what some BOX 1579, PALO ALTO CA 94302 PAGE 25 computer people, perhaps some of you, want to do. So in an important sense, it is not the laymen who have to learn Computerese; in the greater sense, WE MUST ALL LEARN COMPUTER EASE. The next two years will wreak extraordinary changes, and we will "computerize" society for fair. But it may not be what you computer-smart people expect. What some of you have been considering "the new era" of home computers may correspond to the tin-can and crystal era of radio; and the convivial hobby you are part of right now may vanish like the crowd that welcomed Lindberg at Orly. They don't come out to meet the planes anymore. Today's summer-camp camaraderie won't last forever, and the computer will probably become a home appliance, as glamorous as a canopener, within a couple of short years. What then is there left to believe in .•• ? To hope for ••• ? I suggest that we look to simplicity and clarity (to make people's lives easier) and to truth and freedom, for their own sake. Thank you. BIO: TED NELSON Ted Nelson holds degrees in philosophy from Swarthmore College and sociology from Harvard, but since a fateful computer course he took in 1960, his principal labor has been the design of computer systems for writing, moviemaking and general personal use. Not so much for the rest of mankin~,. at least originally, but for his own general personal use, writing and movie-making. Nobody would hire him for this sort of thing in the early sixties, so after obtaining his master's he has been a dolphin researcher, folk singer, junior executive in publishing, con~ul tant to the antiballistic missile system, and yellow cab driver in Manhattan in that order. He has also taught at five different colleges a~d universities, in departments of economics, sociology, anthropology, art and mathematics. He presently visiting lecturer at Swarthmore College, teaching courses entitled "Art and Animation with the Computer" and "literary Machines." His students use the SOL computer and LlNCtape drive now in his living room. Ted's book, Computer Lib, is now in its fifth printing, and has been widely adopted at colleges throughout the country. He is a co-founder of a computer store in Evanston, Illinois, the Itty Bitty Machine CO.,lnc., and is chairman of the board of its software arm, Sophystems, Ltd. Ted Nelson insists on being called a generalist. This befits the immense library system on his drawing board, the Xanadu (trade mark) hypertext network. Through the Xanadu system Ted claims, people all over the world should be able to 'have instantaneous access to everything that has been written -- adding their own marginal notes, or multidimensional "hypertext" writings, as they see fit. Ted's glibness, showmanship and mischievous intellectual precocity are found either endearing or infuriating, depending on the listener. His emphasis on interactive computers as a form of movie-making and show business stems from a unique bias: both his parents are prominent in the theater and films. His mother is Academy Award-winning actress Celeste Holm, his father is film director Ralph Nelson, perhaps best known for "Lilies of the Field" and "Charly." Nobody is quite sure whether Ted's most recently announced project, a feature film based on his Computer Lib, is a gag ornot. !S FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 26 AN INTRODUCTION TO COMPUTING TO ALLOW YOU TO APPEAR INTELLIGENT AT THE FAIRE James S. White 1202 Riverview Lane Watertown WI 53094 ABSTRACT The following is an introduction to computing and presumes no prior technical knowledge. The purpose of this discussion is to provide the novice enough basic knowledge so he or she can learn from, and enjoy, other Faire activities. This presentation includes some very basic, non-technical ideas about computers, especially home microcomputers, their characteristics and construction, and how you can choose and use your own home computer. Fi na II y, some of the types of computers exhibited at this Faire are discussed. INTRODUCTION Welcome to home computing! The great interest in this Faire dramatically demonstrates that the time has arrived for a computer in the house of everyone who wants. During the past few years, expensive, complex computers in industry and commerce have he I ped, you by cutting costs and raising the qual ity of many products and services you use. Now, computers have been designed for home use and their prices have been drastica Ily cut. Persona I computers are avai lable, here, today, at prices simi lar to other major household purchases. Thousands of Americans are enjoying their own computers now. You can select a computer for your home, a computer that wi I I be easy for you to use, even if you have no technical experience. That's what this presentation and this Faire are al I aboutlearning how you can benefit from your own computer. Learning about computers can be a I ittle confusing because many different kinds of things are sometimes called computers. A computer can not be consistently identified by its size, appearance, construction, or use. None of these features are characteristics of computers in general. Computers are electronic devices built according to certain technical rules, which we won't discuss here. However, al I types of computers do have some common characteristics that make them different and much more powerfu I and he I pfu I than many other things we use. We wi I I discuss some common characteristics of today's popular types of home computer0 characteristics that are important to computer users and that make computers especially helpful to us. COMPUTERS ARE TOOLS We use too I s to ext.end our capab iii ti es and to multiply our natural powers. We use tools to help us do things we can't alone, or so we can do jobs easier, quicker, or better than we can alone. Computers help us in al I these ways. MENTAL TOOLS Computers help our minds. Rather than helping our muscles, as most tools do, computers multiply our intellectual power and capabi I ities. Computers are exten~ions of our minds. Computers are tools we can use for greatly increased mental achievement and enjoyment. Because our mental activities are much less I imited in potential benefits than our physical activities, the helping potential of computers is much greater than the potential of other tools. FROGRAMMABLE TOOLS Computers follow people's instructions and do nothing unless instructed to do so. Computers are useful as extensions of our minds primari Iy because they faithfully do just as we instruct. Your computer wi II follow your instructions. Your computer's abi I ity to follow a complex set of instructions and thus do just what you specify gives it power far beyond any other kind of tooi. We don't know the I imits of the ultimate potential of computers because we don't know the I imits of the ultimate potential of men and women. If you examine a computer in de·tail, you see that it recognizes only a few Instructions that can do only certain I imited things. These instructIons allow a computer to, for example: 1. Perform mathematical calculations 2. Store a large amount of information, and select a particular piece of information to meet a specific need 3. Evaluate a vast number of alternatives to determine the best solution to a question, even a question unrelated to mathematics. However, the instructions a computer recognizes are so powerful and so varied that a person can combine them to instruct his computer to do almost anything as an end result. A set of instructions you give to your computer is a program. When you instruct your computer, you are programming it. A computer's program can be changed eas i I Y and quickly. A complete program can be changed in as I ittle as a fraction of a second. However, the work or play of composing a program the first time usually takes a person several hours or longer. CONTROL TOOLS Computers can help us by controlling other tools and machines. A computer can cause a much larger tool to do something in a certain way and at certain times, as programmed. This capability extends the power of a computer far beyond the things it can do direct I y. Our minds are control devices which control our muscles. We thereby control the most powerful of mach i nes and many natura I events. Computers are devices which control electricity, and thereby can control the most powerful of machines,the generation and use of power, and many natural events. So, although computers function intellectually, their direct benefits extend far beyond the intellectual. By helping us to "work smarter", computers can be a way to physical accompl ishment that is better than just working harder. MACH I NE (TOOL) A computer is a machine. A machine is generally a tool that can operate by itself, doing a desired job, without always needing the personal control or constant attention of a person. A computer can follow its assigned program with I ittle or no need for the further assistance of a person. A machine used in a home is generally called an appliance. A computer can be a home appliance, a machine that can continue working to help us while we do things that are more useful or enjoyable. VERSATILE TOOLS Computers can be extremely versati Ie. One computer can do, and be, many different things. A computer's versatility results from two other characteristics. The first is a computer's previously discussed programmabi I ity, the fact that you may instruct your computer to do whatever you want. The second reason a computer is versati lei s that it is a system. A system consists of various parts, each doing its own job. All of.a system's parts operate together, supporting each other as do the various organs in our body. A computer can be composed of a few or many different types of parts; each can have widely varying characteristics. The parts you choose to assemble your computer are those parts that together wi II give the resultant system the capabi I ities to best do what you want it to do, at a price you can afford. You can change these parts as you want your computer's capabi I ities to change. The wide range of possible computer characteristics also results from the fact that a computer, as a control device, is often combined with other devices. A large variety of devices may be combine4 so the resulting system can have a wide variety of characteristics. A computer generally remains the key part of the resulting combination, so al I these types of systems a re often ca I I ed computers. Computers are so versati I e that a computer Can do, or control, any rational or mechanical process, FIRST COMPUTER FAIRE PROCEEDINGS activity, or happening. What a computer can do is essentially I imited only by the skill and imagination of the person(s) who bui Id and program the computer. A particular computer must be equipped with the power and accessories appropriate for the job it wi II do. Power usually isn't a serious constraint; a computer that is half as powe.rful may just take twice as long to do a given Job. Even computer accessories are usua II y versati I and many can be used for a wide variety of different kinds of jobs. e, PRECISE TOOLS Computers can be perfect. A properly programmed and operated computer makes so few errors in end results that a computer mistake may never occur during years of doing a particular job. Computers do occasionally make mistakes, typically one in many mi II ions of operations. However, computers can, and many do, check their own work so that a mistake 'is not given to a human user. Most "computer mistakes" occur because computers do exactly as they are instructed. Many people find it difficult to give exactly correct instructions to handle complex problems. The computer that follows incorrect instructions wi I I produce an incorrect result, and is often incorrectly blamed. FAST TOOLS Computers are extremely fast. A typical home computer can do 500,000 of its basic operations per second. Home computers often move information as fast as physically possible--at the speed of light. This great speed also gives computers great power. Because computers are so fast, they are very useful even for those jobs that they can't do efficiently. Computers just go ahead in their roundabout way, doing many, many operations to provide a useful result. A typical computer that must do a mi II ion operations to cdmpletea particular job may be done in two seconds, which is often sooner than any alternative. How powerful are computers? A computer can be a mi II ion times as powerful as a man. That's almost beyond comprehension, so let's consider an example. The great pyrami d of Egypt is genera II y accepted as the world's most costly single structure, in terms of man years. According to the, most commonly accepted estimates, 100,000 men worked 20 years. In total, two mi I I ion man years was required to do this job. Building pyramids is out of style tOday. Our world is oriented towards numbers, such as dollars. So let's th i nk about two mil I i on man years of work i ng with numbers or calculations. The first common home computers were delivered about two years ago. One of these computers, working for these two years, could have done calculations that would take one mi'll ion men working with penci I and paper 24 hours per day, 365 days per year, for 2 years. You can buy such a computer here, today, or one much faster. PERSONAL TOOLS Despite their great power, computers can be personal tools. You can select your own computer to help you, and to expand your own capabi I ities. More than 10,000 Americans have their own computers; many are here today for you to meet and I earn from. More than 100,000 Americans are using computers as personal tools, to make their work easier and their play more fun. We should consider a couple of philosophical points here. Despite its great power, a computer can no more do anything by itself than can any other machine. Computers are constructed, and instructed, by man, as tools. A computer is and does only what it is made to be and do by man. Further, as we plan to use computers, we should consider their strong and weak points, just as we do for other tools. For some tasks, computers can be a mi I I ion ti mes as powerfu I as man. I n other of the many ways we can use computers, they wi I I be much I ess than a mi I I ion ti mes a's powerfu I as we are' alone. A COMPUTER IS: Having reviewed outstanding characteristics of BOX 1579, PALO ALTO CA 94302 PAGE 27 computers as they appear to users, we are now ready for a gl impse of some technical detai Is. We have come to a fundamental question: What is a computer? A computer is a programmable electronic data process i ng system. Computers have been ca II ed many other names, but this definition gives us a good start towards understanding computers techn ically. We'l I consider the significant meaning of each word, except "programmable and "system", which are discussed elsewhere. Because a home computer Is electronic, it Is powered by electricity, generally from a 110 volt wall outlet, just as other electronic appliances are. Computers are solid-state electronic, so need relatively I ittle power and are not I ikely to wear out soon or to need many repairs. Many parts of a computer are less Ii kely to fail after they have been used for several months or years than when they are new. However, computers are very complex and some parts are not sol id-stafe, so the avai labi I ity of repairs should be considered when selecting a computer. A computer works with data, or information. This characteristic is similar to the fact that our minds work with ideas, rather than the physical things our bodies work with. However, as previously mentioned, a computer can control almost any physical activity. The data a computer works with must be objective a~d precisely expressed. Computers can't work with feel ings or subjective ideas unless they are expressed objectively. Neither computer data nor computer results are ambiguous, despite the fact that their meanings aren't always obvious to al I people. All computer data is expressed in a very simple numeric code. Knowledge of this coding is necessary for the user who wants to understand the internal operations of a computer. However, a computer can translate its codes into words or numbers that you are fami I iar with, so computer codes need not be of concern to you. You can use computers here today without consciously learning any codes. A computer processes data. Processing means, changing, generally into a more useful form. A computer changes data it has been given into data that is more useful, or more fun, for its individual user. The processing a computer does is whatever its program directs it to do. MI CROCOMPUTE RS The type of computer genera II y used in homes is called a microcomputer. Most of the computers here today are microcomputers. A microcomputer is a computer that is small in size and price. A microcomputer need not be smal I in power or capabi I ity. There is no exact definition that precisely distinguishes microcomputers from other types of computers, just as there is no commonly accepted rule that distinguishes a microskirt from a skirt. This paper discusses computers in general and emphasizes the characteristics of home microcomputers. A COMPUTER'S PARTS In addition to having certain characteristics in common, most home computers have certain types of parts in common. Next I isted are some of the types of parts which are usually combined to form home computers and the computers here today. INPUT To start a computer working you give it a program and data. Communicating these things to a computer is ca I led i nputti ng. The computer parts you use are called input devices. You often communicate to a home computer in ways simi lar to some you use to communicate information and instructions to people. You can communicate to a computer by pressing keys, or buttons, on a keyboard that is very simi lar to that of an electric typewriter. Some lower cost computers have keyboards that are much I ike the keyboard of an electric calculator. All computer keys are electrical switches. Other types of switches used for computer input are similar to the on-off light switches in your home. Computers with many switches of this type are best suited for the user who wants to know much FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 about computers and work with them in intimate detai deta i I • A variety of other types of input devices are used with home computers. Some computers can understand spoken words, but this capabi I ity is not yet common for home computers. PROCESSOR The key part of a computer is a processor. A processor is a group of electronic circuits which actually performs the calculating and the logic operations comprising a program. A processor performs the same functions for a computer that a brain (less its memory function) does for an animal. The processor of a microcomputer is a microprocessor. This is a smal I electronic component, one kind of the wide variety of components called chips. A microprocessor is a small form of a processor. Microprocessors are widely used as control devices, in many kinds of machines besides microcomputers. You may hear a microprocessor called a microcomputer or a processor called a computer. However, there are cri t i ca I differences for the user. A processor is a control element, a part of a machine that directs, by following a program, the rest of the machine to do whatever it is supposed t-o do. A microprocessor can be part of a calculator, part of a microwave oven, or part of a sewing machine. In none of these uses is a microprocessor a computer. Nor is the calculator or the microwave oven a computer just because it is controlled by a microprocessor. A computer, or a microcomputer, is a complete machine, including all the parts and accessories needed to do whatever it is used for. A computer can operate entirely on its own, needing only a source of energy and, at the start, directions from a person. A computer is bu i I t so you can input your instructions to it, and so it can communicate the results of its processing to you. MEMORY A computer uses parts called memory to store, or remember, the programs and data that have been input and the results that have been computed. Some of the parts that perform the memory function are chip~ simi lar to microprocessor chi'ps. I n many computers, memory chips are physically part of the processor. A home computer can also remember information by storing it on a magnetic tape cassette, such as the type you use on a cassette recorder to record, and thus remember, music or words. A cassette recorder can a I so be an input dev i ce because you can use it to read into your computer programs that other people have written and recorded on their computers. Another type of home computer memory device is a relatively expensive and powerful device called a floppy disc drive. This is a recording and playback device that uses a rapidly spinning disc about the size of a phonograph record. OUTPUT The f i na I common functiona I part of a computer is an output device, which a computer uses to communicate to you. The most common home computer output device is one you are quite fami liar with--a TV screen, on which the computer displays words, numbers, and sometimes pictures. This screen can be that of a standard home TV, or of a speci a II y designed device. Computers can also display their output by using I ights that form numbers and letters, as do the output I ights on an electronic calculator. Computers can also use individual I ights that are either off or on, and thus communicate to you the status of various processes and coded data. Computers can also communicate to you by printing on paper and, less commonly today, by "speaking" words. INTERFACE Many computers have several groups of electronic components, ca II ed interfaces, to a II ow the computer to communicate with devices not normally compatible wi th the computer. An interface is 'II ke a trans I ator; You can, for examp I e,. buy an interface so your home computer can display data on a TV set you now have. PAGE 28 Often some interfaces are bu i I t as part of a computer, wh i lei nterf aces for I ess common input output, and memory devices are options. POWER SUPPLY Computers have one other part which the potential buyer should consider. A computer. uses electrical power, but of a low voltage, simi lar to that used by electronic calculaTors and simi lar devices. This low voltage is supplied by a group of electronic components called a power supply. This has the same function as the group of components ca lied an "AC adaptor" when used to supply power to devices which normally use batteries. A power supply is sometimes included as a standard part of a computer, is sometimes an extra cost item, and is sometimes not even available from some vendors. Also, a large microcomputer system with many accessories needs a more powerful supply than a smal I system, and perhaps more power than can be suppl ied by a computer as sold. Check before you buy. PROGRAMS A program is not usually considered a part of a computer because it doesn't exist physically, just as an idea doesn't. Programs are often ca I I ed software, whi Ie the physically existant computer and accessories are called hardware. Software is essential to the use of a computer, and some types of programs are commonly purchased with the computer or as accessories. The availability of software should be a key computer selection factor for most potential users. The mo s tim p 0 r tan tty Pe 0 f pro g ram g e n era I I y furnished by a computer manufacturer is a language translator. This program translates between your Engl ish language and the computer's machine language so your computer can understand the programs of instructions you communicate to it. This translator program may be ca I I ed an interpreter, an assemb I er, or a compiler. The most common Eng Ii sh-I ike I anguage used to program home computers is called BASIC. This is one of several languages, called high level languages, that are easy for casu~1 programmers to use. BASIC interpreters are avai lable for many computers. For some computers, more than one BASIC interpreter is available. Different BASIC interpreters vary in the number and the power of the instruction words they recognize and in the accessories and capabi I ities they require of the computers on which they operate. Lower cost computers have no language translator programs, so you must communicate with them in machine language~ Although such communication is educational for the user who wishes to understand how a computer works in detail, it isn't in an easy language for a person to use. The other major category of home computer programs includes those that give a computer the capabi I ity to do whatever its owner wants. Some sources of programs of this type include: 1. The manufacturer and vendor of your computer 2. Other vendors, including many at this Faire 3. Program libraries, which loan or give copies of programs, at I ittle or no charge 4. Friends and computer club acquaintances 5. Your own ideas--this is the type of program you can write yourself. Although some programs wi I I be easy for you to write, others could take several months of hard wor~ A discussion of the many factors affecting program procurement decisions and the decisions of which programs you should write yourself is beyond the scope of this paper. A brief summary is that there are many ways you can get programs and many unexpected options and decision factors that may be involved. The avai labi I ity of programs for doing specific jobs certainly can be a major compute~ selection decision factor. USES OF HOME COMPUTERS Having now covered the tec~nical characteristics of computers, we are ready to consider some of the things they can do for us. Even though many people understand the immense potenti a I computers have for he I ping in our homes, they st i I I ask: What are home FIRST COMPUTER FAIRE PROCEEDINGS computers used for today? This is a reasonable question, and probably the" most common one for a home computing newcomer. The answer is: Mostly for fun. Although computers have proven that they have many other potential uses, the reason relatively few people are using computers for serious purposes is that most people can't seem to quit playing with their computer. I see nothing wrong with that. Wor~ for many people, should be done at work. Those who can spend most of their time at home for enjoyment seem to have achieved an important measure of life's success. The most common type of home computer owner today is the bui Ider, a craftsman or craftswoman. For these many peop Ie, understand i ng, bu i I ding, or otherwise developing computers is an end in itself. These computer hobby i sts are s i mil ar to the pa inter or woodworker whose enjoyment comes from creating, rather than using or possessing. Computers are the world's most pliable media-you can make more things of a computer than you can make of clay, paint,or wood. Creating with computers can be extremely Challenging, and success extremely rewarding, because the potential for creativity, mental and physical, is almost infinite. Other people enjoy using computers for playing games. When used for games, computers are often somewhat I ike TV games, today's hottest comsumer item. Unlike today's common games, which are very I imited and rather quickly become boring,the variety of computer games can be almost infinite. People with home computers can keep getting new games, sometimes for less than $1 each. Better yet, they can design and use games they create themselve~ And these aren't just bouncing bal I games. Home computer owners program and use their computers to play cards, space war, chess, and many other games. The rea I I Y fun games are ones you never heard of because they can only be played with the help of the immense power of a computer. But computers can be very practically useful, as proven by their use in, and great benefits to,almost all of commerce, industry, and medicine. Easi Iy affordable home computers can be at least as powerful as many of those that are doing thousands of different jobs in business today. Fami I ies use computers in home offices to keep records and to handle accounting chores. Some also plan stock and commodity futures buying and sel ling. Home businessmen use computers in many occupations. Computers control heat and other environmental factors so an entire bui Iding, such as a home, is more comfortable and so erergy is used more efficiently. Home security is another service, meeting an unfortunately increasing need, that computers are being developed to help supply. ,Education is another of today's uses of home computers. As educational tools, computers are helping to teach subjects ranging from first grade addition to financial and engineering math, and a wide range of other subjects. Also, many people are using computers to teach themselves about computing, a field with considerable employment potential. In addition to vocational benefits, learning about computers is both enjoyable and practical because of the rapidly increasing role computers are coming to play in the everyday lives of each of us. Many computer owners have talked of the great potential of computers for keeping track of kitchen suppl ies, planning menus and recipes, and for many similar household chores. For some reason, these uses seem to be I ike most household chores the American man is as.ked to do. They end up in a "tomorrow, dear" category, even though their long range benefit can include considerable work savings. Returning to fun appl ications, computers are used to catalog and control the playing of musical recordings. Computers are also used to make music. There is even a magazine devoted to the topic of computer music. Electronic hobbies are another home computer application. When electric train layouts are so complex that father and son together can't control them, computers keep the home ra i I road runn i ng smoothly. Some amateur radio hams make extensive use of computers in the i r hobby and have genera I I Y BOX 1579, PALO ALTO CA 94302 PAGE 29 been the pioneers in home computing. The I ist of what computers can do, of what you can do with your computer, Can go on and on. Aside from hopefully giving you some more reasons for getting involved in computing,the preceding examples of computer uses should further support the idea that a computer can do almost anything. HOME COMPUTERS TODAY But a computer in your home? Lots of people have computers in their homes already. As you go to some of the more advanced sessions today and tomorrow, and as you go around the exhibit hall, talk to some of the other people there. Many of these people have computers in their homes. They can tell you what it is like. But keep in mind that these people are the pioneers. They didn't have to cut down logs with an axe to bui Id their own cabin. But some of them have done as much pioneering in other ways. They have done the hard work. You can buy a prefabricated, ready bu i I t computer, ready to move in. However, there is plenty of wilderness left in computing. If you want to be a pioneer, there are many opportuni~ ties for you to go ahead into the unknown and develop techniques and products. And there are lots of people who wi II follow and much appreciate any real discoveries or progress you make. This is one of the choices you can make as you look at the computers here today, and as you decide how you wi II become involved in computing. You can buy the equ i va I ent of 40 acres of wi I derness, or a prefab in a subdivision, or many things in between. You can tota I I Y des i gn and bu i I d your own computer. Or you can get one that you can plug in and have start immediately to work for you. There are many avai lable options between these extremes. Your home computer can be what you want it to be. ELEMENTARY COMPUTERS You can get a very basic type of computer. This will be relatively inexpensive, costing between $100 and $250, generally less power supply. It won't have a fancy cover, and probably wi I I have no cover at a II. AI I the parts of th i s type of computer may be on one piece of plastic-like material called a printed circuit board, or just "board ll or "card". You wi I I have to do lots of deta i I ed work to program and use such a computer, especially because programming generally must be done in machine language. The power of this type of computer is limited--you can't easily add many accessories, nor can you eas i I Y connect such a computer to other devices to control them. This type of computer is a good training device, an educational tool. The lack of fancy accessories means that you work directly with your computer,with I ittle interference. Therefore, you can learn, by doing, much about the detai I s of how a computer wo works. EASY-TO-USE COMPUTERS Some people don't want to work closely with a computer. They would rather have their computer follow their general instructions. Such people aren't especially interested in knowing the details of how a computer work~ They would rather learn how to use a computer to solve a particular type of problem, control a particular process, or help them in a field unrelated to computing. Computers designed for this type of user are avai lable. One key characteristic of this type of computer is that you program it by using a high level language. As we discussed earl ier, a high level language is easy for people to use. These computers are genera II y bu i I t on severa I printed circuit boards which plug into guides and connectors mounted on the computer frame. Computer capabi I ities are changed by plugging new boards into appropriate spaces, as long as there is room avai 1able. For some computers of this type, especially "Altair bus compatible" or "5-100 bus" computers, many accessories are avaiable that can be added. For other types of computers, only a few accessories are avai lable. Consider what you may need and want. Prices of computers in this category generally FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 30 start at about $500. A system with enough power and accessories to use a high level language may cost $1000. The price of a full system, such as might be used for a business appl ication, can easi Iy reach $5000. KITS? Another primary choice when selecting your home computer is whether to purchase a kit of parts, or an already assembled computer. A kit, like the traditional model airplane, requires your work and time to put it together. A computer kit often takes from 50 to 200 ho~rs to assemble; accessory kits generally require less time. Time requirements vary depend i ng on your sk ill, the ease of assemb I y of the kit, and your luck in (not) encountering problems which can take many hours to diagnose and repair. The major benefit of a kit is that it saves money. An assembled computing product genera II y costs from 30% to 50% more than a kit. Another benefit of a kit is the experience that assembly gives. However, the person who has so I ittle experience that he would benefit probably would encounter considerable problem in assembling a working computer. Most computing kits require ski I I and knowledge in electronics work, sometimes a considerable amount The decision whether to build a computer kit is not one to be made I ightly. Anyone, after he has enough ski II, equipment, time, and expert help avai lable, can bu i I d a kit. The amount of these resou rces required for assembly and successful use varies widely among kits. The quality of instructions provided also varies ~onsiderably. These are al factors to consider when selecting your computer. HELP! Although good instructions and the avai labi I ity of expert help are essential to the novi~e kit bui Ider, these aids are important to every computer user. Computers today are too complex to be understood completely by most people. Because computers have so much potential, appropriate understanding is very important for using a computer well. Because ski I I reqUirements vary widely among types of computers, a solution to the need for ski I I is to choose a computer which needs the amount and types of ski I I you have or plan to have. A special resource to consider when evaluating sources of computer ski II s is the dea ler from whom you buy your computer. This is the person from whom you wi II a I so probab I y get the severa I types of support you wi I I need to use your computer and to keep it operational. A dealer who is knowledgable about the equipment he sells, and is wi II ing to share this knowledge, can be a great help in using a computer. So the decision of whether to buy from a dealer, and the selection of your dealer are both important home computing decisions. A novice may be wei I advised to use this Faire as a terrific way to learn about home computing and to compare computing products so he can intell igently make the actual purchase of a computer through his home town computer dealer. CONCLUSION After this quick overview, you probably are more confused than when you started because you have learned a I ittle and can better see how much there is to I earn. At I east you have some understand i ng of the fact that many of the things at this Faire are new, even to the most knowledgable and experienced persons. The knowledge you now have is greater than many of the other people at this Faire. So go ahead to the other talks, and visit with the exhibiting vendors, confident that you can benefit from these discussions. Most of al I, have fun as you plan and learn about your new helper, your own home computer. BIOGRAPHY James S. White is the author of Your Home Computer, an introduction to personar-Gomputing. As an active member of 3 amateur computing organizations, he has worked with a variety of newcomers to microcomputing. He is also Data and Systems Manager for Durant Digital I~~truments, a manufacturer of counting and control systems and components. A TYRO LOOKS BACK Fred Waters 1601 Provincetown Drive San Jose CA 95129 Some of you are curious, interested, and perhaps actively 1nvestigating this idea of microcomputers for fun. About a year ,:;.go I was where YOLl are today. I had jLlst had my eyes opened to tl~s new hobby, and was in a tLlrmoil aboLlt which way to go. "Ire YOLl asking YOLlrself, "Is this hobby for me?" or, "I tbink I w;mt to get into this, but which way do I go?" Or, "I'va made a start, but what do I do with the limited lli,rdware I've got?" i.iaybe my own experience and points of view will help guide you, Dr give you Some ideas on choices 'md directions. I speak as a tyro. There is no part of this hobby in wbich I 3.JJl not 11 beginner, except perhaps for a prior interest in ",,'theJ;;aticOlI g"mes and recreations. I speak only to those ivho f.Il.10w 11;e. A,s i'0r the ma.n who r. .13 a more advanced system, ",'.ith lot:: of '~'~!e:nory :md peripLeral devices, '..vith r:rm~ess in ,lest r(;yint, Klingons using his favorite version of startrek, 'uc nitil i37 of i~s wife's favorite recipes stored for quick ree:,i :l--he I s a ;"an I want to listdn to, not tell my tale to. !.i'ter findi:lE out by :wcicient W~qt a microcomputer was, ':in::! th':lt a rudiIIlI::mti;.t,r'lJ system could be aCt1uired for not much !LOre tf",n <1 good hi-fi system, I started investigating. This me,lnt attending club meetings,visiting shops, finding and reading the right library books, subscribing to magazines, writing for cOlrunercial brochures, and asking questions of anyone wno would stand still long enough to give answers. Then I picked a system, bought it, assembled it, checked it out, :md started doing things with it. I made some mistakes that you can avoid. It was necessary to keep on studying, reading, learning. I started out with the simplest possible uses for systerh. Then variations became evident. As one progresses in the various Skills, and adds peripheral e,-{uipment to the system, one finds more and more interesting pursuits in an ever-widening range of activities. &~d you gliJlIpse more to come. Learning and playing with these machines is like reaching and exploring an unending series of plateaus, each one more or less faSCinating, and each one pointing to more beyond. IT" ,'lhere are you in this hobby? If you are looking at something entirely new, or already launched into the first few stages, you may get some useful ideas from what I did when I was there. I hope my own enthusiasm has ignited a spark, or helped fan the existing spark into a growlllg flame of interest and excitement. Fred B Waters, Jr 1601 Provincetown San Jose, CA 95129 US Army Corps of Engineers, retired M.S. in C.E., Cal Tech Former assistant protessor of engineeriny, U 5 Mil i tary Academy Former instructor in public speaking, International Speakers Bureau, Santa Clara Member of Mensa Member ot Speakers Bureau, San Jose Bicentennial Commission Occasional I"cturer on mathematical games and recreations: "Fun With Math" PAGE 31 BOX 1579, PALO ALTO CA 94302 FIRST COMPUTER FAIRE PROCEEDINGS mE SHIRT POCKET COMPUTER Richard J. Nelson 2541 W. Camden Place Santa Ana CA 92704 INTRODUCTION The shirt pocket computer exists today in the form of the personal programmable calculator. No matter how you may define a computer. machines like the Hewlett-Packard HP-67 and HP-97. and the Texas Instruments SR-52 probably qualify. The small gap be~ tween the personal programmable calculator. PPC. and the microcomputer will be bridged completely this year with the introduction of the National NS-7l00 in late spring. and the still unknown model number from Texas Instruments at about the same time. There are nearly 300.000 PPC's and less than 30 000 micros in use today. The micros get most 'of the publicity, while the PPC's quietly serve their owners as a portable. extremely powerful. and economical computational tool. This paper will provide a general review of the PPC. its characteristics and capabilities. and what can be expected in the near future. In addition. this paper will cover sources of information on software, hardware modification. accessories. and users groups. COMPUTER OR CALCULATOR? The basic architecture of the top-of-the-line PPC's on the mark~t today makes them cal cul ators primarily because they are deslgned for numerical computation oriented to a base-ten world. There are many characteristics that are attributed to a computer which differentiates it from a calculator. A few of these are: a) ability to modify its own program. b) ability to handle al;lbanuneric 'strings'. c) high speed operation. d) multiple in?ut/output ports, e) large mass memory in the form of 'core' solid state RAM, or disc, f) multi-node operation. batch ti~eshari ng, etc. • Certain~y the PPC cannot measure up to the performance of the above 11sted computer capabilities. but when each one is broken down into basic capability, it is astounding how close the PPC comes in.scaled-down capability. The upcoming NS-7l00, for example, \"/111 be able to talk to many different devices, but it ~s n?t ~ossible to have them all in one pocket. The PPC, with 1tS 1nd1rect addressing. multi-logic compare instructions. multi-flags, full editing. and external memory makes it as close to a computer as you can get and not call it a computer. The next generation of machines available this summer will add features that bridges the gap completely. There are sound marketing reasons for calling these microprocessor-based systems calculators. and as long as they are primarily intended for numeric computation, they are best called calculators. ~IHAT DO I NEEn? If you are an engineer who is interested in computers because you must keep up with technology. then the microcomputer is w~at you ne~d. You will buy ~nd ~uild one, and will spend conslderable t1me and money gett1ng.1t to do something practical. If you a~e interested in a machine to control a process or a model ra1lroad layout. you should consider a microcomputer. If ~ou are a businessman who needs lots of mass storage to handle 1nventory or data acquisition. you need a microcomputer. CALCULATORS AVAILABLE TODAY The personal programmable calculators are those machines that have an extensive instruction set that includes full scientific fu~c~ions. logic c?mpares, flags. full branching. and program ed1t1ng. The mach1nes that qualify also have some form of external program and/or data storage. They are the SR-52. from Texas Instruments, and the HP-67 and HP-97. from Hewlett-Packard. Table 1 is a brief summary of the major features of these 'machi nes. MODEL SR-52 HP-67 HP-97 Size Cost Printer Program Steps Data Registers Program Storage Merged Codes Handheld $300 Separate(PC-100) 224 22 Magnetic Card Partial Shirtpocket $450 None 224 26 Magnetic Card Fully Merged Desktop $750 Yes 224 26 Magnetic Card Fully Merged TABLE 1. MAJOR FEATURES OF PPCs AVAILABLE TODAY The ease with which these machines are programmed. and the personal nature of a battery-operated, go anywhere, calculator has stimulated considerable programming effort from their owner~. The abil ity. to provi de ~mmedi ate answers to "what if" questi ons. and the ded1cated funct10ns of the keys. make programming an easily-learned skill. Studies have shown that students who have had preliminary programming experience on a PPC do much better in their Fortran. Basic. or APL classes. The extensive programming techniques that PPC users have developed allows these memo~y limited and slow machines to perform astounding tasks. Techn1ques that use a keyboard overlay even allow alphabetic inputs and outputs. Today, increasing amounts of literature, rapidly growing users clubs. and growing software support from the manufacturers is encouraging. Several years ago the situation was not as bright. THE HP-65 AND SOME HISTORY On January 17, 1974. Hewlett-Packard announced the HP-65 - the worlds' first pocket 'computer'. The $795 technological wonder had external memory in the form of a magnetiC card.' One-hundred program steps could be programmed and recorded for future use. The mic~ominiature card reader made convenient the reading of user-\"!r1 tten or factory programs. The 100-step 1imitation of only partially merged program steps proved to be one of the machines' greatest assets. Intuitively the HP-65 users knew that if the right approach was used, the program could be made to run in 100 steps. The wonder of the HP-65 created a group of dedicated users who formed the first Programmable Calculator Users Club in June 1974 -- the HP-65 Users Club. The small size and very personal nature of this machine set the stage for todays' machines. The dedication of HP-65 users resulted in an astounding body of kn?wle~ge of pro~ram techniques, hardware modifications. and appl1cat10ns. Dur1ng the nearly three years of product life. the HP-65 was never reduced in price. despite fierce competition by the SR-52. Only in the closing days of clearance sales did the price.for a new HP-65 drop. Now replaced by the HP-67. the HP65 st111 offers the user a capability that was never fully explored. The full power of the HP-65 may never be known. for the excitement of a newer. better. and many times more powerful machine diluted the investigative efforts that were once exclusively the domain of the HP-65. One of the most interesting aspects of the HP-65. and later the SR-52. was the discoveries of machine behavior that was not intentionally designed into the calculator. These anomalies at first terrified the manufacturers. They were so engrossed with the business of making and selling calculators t~at they couldn't take time to answer a lot of 'foolish' quest10ns by the calculator enthusiast who was usually associated with one of the Users Clubs. The unusual behavior resulted in what has become known to calculator users as 'unsupported features' If, however, you are a problem solver, or want to learn program[,ling, want to have fun. and not spend $2.000, $3.000. and up to $10.000 for a real. up and running system, the personal programmable calculator with external memory may be just what you need. .If you want to: play Startrek. The Game of Lif~, Bagels. Hexapawn, or a truly Cybernetic game; solve five (or more) simultaneous equations; curve fit data to just about any curve up to order 4 or more; design circuits. bridges, etc .• on an interactive basis; do extended numerical operations to 50 diqit accuracy or greater; perform card tricks; convert your calculator into a clo~k or timer; or just plain balance the family checkbook. the PPC 1S made to order. Besides. you can have the very best for less than $400. The software support for the PPC's is far more extensive than any microcomputer. It is easier to deterUNSUPPORTED FEATURES mine if a program has been written to solve a specific problem on a PPC than it is on most microcomputers. Numerous libraries Reference 1 lists unsupported features of the HP-65 and SR-52. are maintained by the manufacturers and users clubs throughout The Users Club Newsletters. I'eferences 2-5. document all known the world. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 32 unsupported features. The following examples will illustrate "unsupported features". HP-65 Lampman Split Logic - The microcoding of the had a few undefined conditions. Dean Lampman, Cincinnati, Ohio, discovered that certain 2-part instructions could be separated by any number of logic compares, or stack manipulations. Using this knowledge reduces program steps. For example, a single STORE + n instruction can apply to five or more registers. Using the Lampman split logic saves eight steps, \'/hich on a lOO-step machine is significant. HP-65 "Non-normalized" numbers - may be generated in registers 8 and 9 and utilized to provide decrementing counters (timers), generate pseudo random numbers, and most useful, a programmed pause, not included as a design feature. The term 'unsupported' is very descriptive because Hew1ettPackard never publicized the advantages of the Lampman split logic, and users outside the small world of the HP-65 Users Club never knew of the technique. rlon-normal ized number generation and applications were eventually published by Hew1ettPackard and probably represents the turning point in the change of attitude of Hewlett-Packard in viewing the super enthusiast. This subject has been discussed in a paper given at WESCON (see Reference 6). THE HP-65 SHO\"ED THE \~r.y The accomplishments of HP-65 users have been previously summarized in Reference 7. A brief list will be included here because these application experiences served as a training ground for the increasingly sophisticated calculator users to quickly advance to even greater heights on the next machine, the HP-67. ~, an ever popular 'computer' pastime were developed to a high level on the HP-65; 21, NI~1B, TIC-TACTOE, FOOTBALL, and BAGELS, are only a few. Two outstanding, truly cybernetic games -- Hexapawn and Cybernimb -- were also written for the HP-65. ' Keyboard Overlays - Especially the design of John Rausch, Dayton, Ohio, provided a convenient means for inputting alphabetic data. The use of the Rausch overlay facilitated word games and convenient encoding and decoding of english text Figure 1. HP-65 "Pocket Computer" was announced by Hewl ettPackard in January 1974. Magnetic Cards Analyzed - David Kemper, ~Iorthridge, California, and others, examined the recorded instruction bit patterns of HP-65 program cards. Knowledge of these codes caused caused a search for four missing (bit patterns possible, but not used) codes which were eventually isolated, and used to perform unusual, unsupported features, functions such as partitioning memory so labels could be duplicated. David's famous table of codes proved a useful tool, not only in ex~laining the behavior of the caucu1ator, but also in providing insight into the next generation machine. Unusual Programs - Applications of the HP-65 went beyond the owners manual. A program which, when run with the calculator near an AM radio, could transmit the number in the display with an audio code. Programs that provide a 45-digit by N digit product, infinite division, or compute the factorial of 10 6 fully exploit the HP-65's firmware and programming capability. Display control was always an area of "research" by HP-65 owners. Fun displays were produced by unusual loops, or "special" instructions in the endless search to expand on the only human output interface the machine provided - the display. Few practical applications resulted, but the experience gained provided practical tools to use to analyze the HP-67. Pseudo alphanumeric displays are possible on the HP-67 as a direct result of work done on the HP-65. Adding a printer was always the dream of the HP-65 owner. Heinrich Schnept, Koln, West Germany, built the first printer for the HP-65. His concept of plugging the shirtpocket PPC into a "home base" chassis which contains a printer served as'a concept for manufacturers to apply in future calculator "systems". Figure 2. Keyboard Overlay for the HP-65 and HP-76 allows alphabetic inputs and outputs for word games; message encoding. The HP-G5 was the first PPC and was the first generation of machines which followed. The three major machines beinq offered today represent 1~ generations of technological achievement. FIRST COMPUTER FAIRE PROCEEDINGS TODAYS' PPC'S BOX 1579. PALO ALTO CA94302 PAGE 33 reasons for T.I. recognizing user-discovered features. Following the HP-65 came the Texas Instruments SR-52 and the HP-67/97. The HP-97 and HP-67 are functionally identical and can run each other's programs. The HP-97 has a battery-operated printer and is a small desktop machine. Figure 6. Printer manufacturered by Compucalc for HP-65. Modification of the calculator is not required, simply replace the back with one supplied with the printer. Interfaces for other calculators are on the drawing board. Reference 19. Figure 3. Tape and label method of making magnetic program cards. Stress relieved computer tape (A) is 'labeled' with file folder label (B) as shown at (C). Thickness is 6-7 mills. (0) shows card trimmed to dimensions. Rubber stamped key locations (E). Standard Hewlett-Packard card at bottom (F). Figure 7. SR-52 announced by Texas Instruments in September 1975 added indirect addressing to the Personal Programmable Calculator. Figure 4. Cutting desk top.calculator magnetic cards is also a popular method of making magnetic cards for calculators. This photo by O. Machen shows how four cards are cut from one. The introduction of the SR-52 added some ne~features and functions to the PPC. In addition to the designed features the SR-52 had an unusually large number of unsupported features. Many of the contributions that the SR-52 made,. such as indirect addressing, the ability to store data on magnetic cards (unsupported) and the ability to read a program card under program control (unsupported) are designed and supported features of the HP-67/97. The SR-52 also pioneered the concept of adding a printer to a handheld calculator. The added printout capability of the quiet PC-100 was a delight to users who soon grew tired of handwriting 224-step programs. The SR-S2 was T.I.'s first effort in this product area and the company has come a long way in realizing that, as the machines get more sophisticated and have greater capability, factory software support is a vital aspect of calculator sales. Consult manufacturers literature for full product details. F.~CTORY SUPPORT The consumer who buys a PPC doesn't always realize that he may' get far more from his machine if he doesn't have to write all his own programs. When Hewlett-Packard announced the HP-65 they also announced a contributors library and a free owners newsletter to keep the user updated on manufacturer and user activities. In addition, groups of programs were made available in the form of Program PACs. Fourteen PACs were written by HP for the HP-65 which providesthe application expertise of profess i ona 1 programmers. tlany PPC users do not have the time or ability to write their own programs. The manuals and magnetic cards that made up the PACs provided practical information in addition to instructions and program listings. . . . " Figure 5. HP-65 prlnter deslgned and bUl1t by Helnrlch Schnepf. The many unsupported features were discovered in rapid fire fashion by experienced PPC users in late 1975 and early 1976. T.I. has now recognized nearly all of these unsupported features and has now made them supported features. Competition in the marketplace, and realizing that the logic of an introduced PPC would cause software chaos if changed, are probable T.I. continued the practice of offering program PACs, and a users program exchange with newsletter, in support of the SR-52. Unfortunately, major software support for the SR-52 did not come until a year after the machine was available. The HP-67/97, like the HP-55, was software supported from the date of announcement. Software support is only one factor the potential PPC customer must consider. The prospective computer customer who considers the PPC as an addition, or alternative, to a microcomputer should also consider convenience, quality, cost, service, FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 34 and logic operating system. Figure 10. Large display for class room use is manufacturered by Educa1c. The calculator is hard wired .to the display chassis. Several models of calculators are available. The display can be seen from 60 feet. See reference 20. LOGIC SYSTEMS Of the five considerations listed above, the first and last ones, convenience and logic system, are the most controversial. Comparing the products of the two companies, T.I. and H-P, is like comparing Fords and Cadi11acs. Both provide transportation, each with its own advantages. More fundamental than purchase price is the difference between T.I.'s Algebraic Opera--tf~s (AOS) and H-P's Reverse Polish Notation (RPN). Oiscussing~is subject is often like arguing that brunettes are prettier than blondes. Objective conclusions as to the best system ar~ difficult. Subjective factors will usually tip the scales one direction or the other. Figure 8. HP-67 introduced by Hewlett-Packard in July 1976. Keystroke counting as a comparison of the two systems is not valid. Both systems usually require identical numbers of keystrokes to instruct the machine what to do and in what sequence. Both systems take getting used to. A strong argument for AOS is that it most closely resembles the conventional algebraic representations learned in school and practiced by the be~t minds of the last 2,000 years. AOS uses parentheses to retain numbers for operations\that must be performed after other operations. There is no implied operation of multiplication if a parenthesis follows a number. RPN does not use parentheses, but rather uses the concept of a four memory stack, entering numbers into the stack with an enter key, and preSSing the operation key afterwards. Using RPN requires a little practice, but owners who use it swear by it. The advantages of the HP system is not RPN in itself, but rather the combination of the stack, and the last X register which always saves the last number entry after an operation is performed. This allows recovery of operator errors which is very convenient in any problem situation. To investigate the relative merits of each system would require more space than allowed here, but the topic is important enough that the new user should try both systems before deciding. The saying "different strokes for different folks" applies. In addition to normal keyboard use of the "operating system", the differences the logic system has on programming structure should also be considered. If you are a complete novice in this area, seek out friends and associates who have machines to give you their viewpOints. PPC APPLICATIONS The typical applications that follow can be implemented by any of the three calculators described above. The convenience, ,ease, and practicability of one machine over the other may make it a better choice in certain applications •. The SR-S2 was not designed to store data on cards, but it can be done. The purpose of describing these applications is not to provide explicit detail or analysis, but rather to show how the PPC may supplement or even replace a microcomputer in many practical applications. . Figure 9. HP-97 Introduced by Hewlett-Packard in July 1976. Programs written for the HP-97 will run on the HP-67 and vi seversa. This arrangement allows nearly full power in your pocket with the abH ity to print programs and listings on a machine at the "home base"'. The small, stick of gum-sized, magnetic cards used with todays' machines allow the storage of program instructions and/or data. The machine has a limited amount of internal memory for programs and registers for data. Using appropriate programming techniques magnetic cards can be cascaded to extend program memory and/or data registers. The SR-S2 can be programmed to use data registers for program memory and vice versa if the proper techniques are applied 7- unsupported. Accounting. A small business may keep the salary, taxes, insurance, etc., data on each employee on a magnetic card. The FIRST COMPUTER FAIRE PROCEEDINGS card is read, the weekly hours keyed, and All the calculations required are done in yearly cumulative totals kept in memory. the pay records and the card is read once new cumulative totals. the program executed. seconds and the new The data is entered on again to record the Taxes. Income tax consultants have been able to develop algorithms to put complete tax tables on a magnetic card. Running their sophisticated programs saves considerable time and, for their business, adds to their income. Naturally the circulation of these programs is limited. Conversions. Currency, pricing, and engineering conversions can be programmed for convenient daily use that obsoletes tables because any unit can be chain converted to any other. 24 or more conversions can be placed on one card. The limitation is primarily the writing space on the card, not the number of conversions. Eliminate Tables. Using clever curve fitting and other number generating algorithms, thousands of pages of tables may be reduced to a few cards. The Star Almanac, all scientific function tables, etc., are practical everyday uses of the PPC. Design Interactively. Iterative design equations can be programmed to resolve for desired parameters when one or more parameters are changed. This interactive design capability becomes a powerful engineering aid; especially when printed results can be added to the engineers' log. Reduce Production Errors. The use of the PPC on the production line, or nurses' station in a hospital can save considerable time by allowing complex programs to be run by unskilled personnel. Programs properly written can check and look for errors in situations involving large digit quantities. One quartz crystal manufacturer justified $800 worth of calculators on his line the first week because a self-checking program caught a digit reversal error made by an order clerk. Ilaving standard, self-checking, and easily entered verification problems available for verifying program performance adds to the confidence which non-skilled users have in the machine. Finance Calculations. The PPC may be converted into a financial wizard that will rival most computers. The high numerical accuracy built into these machines allows individuals to have an independent check on interest calculations. In fact, the program may also include the legal rounding rules that banks and savings and loan companies use. In 15 minutes all the truth in lending statements on one page of newspaper ads can be verified. 0ften there are two or three errors on one page. Want to check your 239th house payment to determine how much of it is interest? This type of problem can be done in less than 30 seconds including the time to find and load the magnetic program card and key in the data. Cost Estimating. This type of problem is a natural for a small bl!siness. Usually each business has its own guidelines and Fig. II Ref. 1 ~11". 15 pp, 3 papers "bound". . BOX 1579. PALO ALTO CA 94302 PAGE 35 rule of thumb. Consider a fabricated part produced from sheet metal. The material, size, and number of holes are keyed in as the customer gives the data. A quoted price is given in seconds. The program knows the size of the material and determines the optimum number of pieces. Fabrication costs, overhead, and profit are calculated without human error. Complex products that require 20, 3D, or more inputs can be handled easily. Research. Computer time is expensive, and usually a microcomputer is not on your own desk. A simple program can be keyed in to search for answers while you go on with your work. The slow PPC may take hours or days, but it can find answers that would take a big machine, restrictive availability, and a professional programmer to solve. If the program is still running when it's time to go home, simply unplug it, slip into your pocket, and let it continue. Plug it in again when you reach home and get the first solution while watching your favorite TV show. Start a new problem and have another solution at breakfast. Games. Games are just as popular on PPC's as on larger computers. Startrek, Life, Golf, Football, Baseball, and most of the classics can be played on the PPC. Both T.I. and H-P even offer a Games PAC. A recent·BASIC listing of the game Hexapawn appeared in a popular computing magazine. The 2/3 column listing was the equivalent of one magnetic card program. ON THE HP-65! True, rJachine-learning games have been programmed on' the PPC. IIhen the "computer" is available at the personal convenience of the owner, his creative skills· are enhanced because the machine is available whenever and wherever needed. The above applications are not an exhaustive listing, but only serve to illustrate the high level of programming achievement that exists in the software for PPCs. The small size of the machine and the external storage media makes the PPC a problem solver, a teacher, and an entertainer. Literature on PPC app1ications has increased dramatically in the last year. The technical literature and Users Clubs provide the bulk of high quality software and applications information. SOURCES OF INFORMATION The basic body of knowledge suitable for PPC users has been in the technical literature for many years. Only recently, however, has mathematical concepts, algorithmic techniques, and iterative and recursive techniques been available in a form di~ rectly applicable to PPC use. Textbooks, magazines, users club newsletters, and engineering papers have been contributing to the general body of knowledge. The references at the end of this paper list many of the major works related to the PPC. The list is more complete in the Sources from Engineering and Science fields and lacking in references from the Academic community. One of the richest sources for applications information, programs, and programming techniques is the monthly users club newsletter. Fig. 12 Ref. 2 8~1l", 2000 word per page format, typical issue 12-14 pp. Fig. 13 Ref. 3 ~11~", In German, very difficult to translate • - .-.----------- - - - - - - " _..•-----_. ,. . .... ----:--:---------;---... FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 USERS CLUBS The Council of Personal Progralllllilble Calculator Users Organizations lists three U.S. and one German club as members. Several smaller groups at major U.S. corporations are getting large enough to qualify for membership. Approximatel't1% of the total PPC user population belongs to a Users C1ub-. One primary objective of these groups is to produce the highest level of programming techniques and applications information possible. As a result, these super calculator enthusiasts enjoy a knowledge of the state of the programming art that leads the technical literature by nine months to a year. Almost without exception, programs or programming techniques, especially machine anomalies and unsupported features, that are published today in national magazines have appeared a year earlier in a Users Club newsletter. PAGE 36 panies, scientists, engineers, or college and high school students. The growth, history, character, and activities of these clubs is a phenomenon-as unique as the high technology PPC itself. B~IDGING TilE GAP -TI~E FUTURE As previously mentioned, two new PPCs are expected by early summer. The advanced capability of these machines will qualify them to represent t~e second generation of PPCs.They will have 1/0 ports with handshaking capability to interface with the rest of the computer world. Their internal program memory will be 20 times that of the present machines on the market. The NS-7100, for example, will have a solid state p1ugin Library that has a capacity to hold 4,096 program steps, each of which may consist of up to three keystrokes. The Library cartridge contains the equivalent of 12,288 keystrokes! All memory of the second generation machines is non-volatile. ExecuThese clubs operate along similar lines. They are all nonprofit, independent, volunteer groups who have found that their tion speed is not much faster than todays' machines and a significant increase in speed is not expected until Silicone on PPC forms a unique bond to share technical information. Club Sapphire (SOS)techno10gy is imp1~mented for the integrated activities include publishing monthly newsletters, holding circuits. Data registers and program steps will approximately meetings, making group purchases, sharing programs, and maindouble. Alphanumeric displays are not expected on the handheld taining a program data base, and even maintaining calculator machines. hot lines for the latest bulletins on what's happening in the calculator world. In terms of free software alone, membership The details of the known machines coming from National Semi conin one of the clubs makes the membership contribution a bargain. ducto'r and Texas Instruments in early summer are unknown. Membership is world-wide and the machines the clubs support Enough is known about them to see that they will bridge the gap range from a single manufacturer to all manufacturers. There between the calculator and the computer because of the literare no restrictions in membership except an interest in PPCs ally infinite capability that exists for "talking" to compuand a willingness to contribute to the general goals of the ters, printers, modems, CRTs, TV sets, and each other through group. 11embership in these clubs include users who may be their 1/0 port. Presidential advisors"Vice-Presidents of Fortune, 500 com- Fig. 14 Ref. 4 8~11", 6 pages per issue. primar1y advanced topics. Fig. 15 Ref. 7 8~11". 24 pages, 4 papers "bound". Fig. 17 Ref. 9 7x9". 254 pages spi ra 1 Lound. Fig. 16 Ref. 8 7x9" , 380 pages hard,. bound. Fig. 18 Ref. 10 soft bound. ~.x10". 427 pages FIRST COMPUTER FAIRE PROCEEDINGS 13 6!ox9~", BOX 1579, PALO ALTO CA 94302 176 pages PAGE 37 Fig. 21 Ref. 14 6!ox9\", 317 pages hard bound. Fig. 19 Ref. 11 6!oxl0", soft bound, in press, available early summer. Fig. 22 Ref. 15 soft bound. Fig. . Programming Workbook makes user discovered features "supported". Fig. 24 Ref. 17' Free to all HP-65/ 67/97 owners who send in their registration card to get on mailing list. 8xl~", 75 pages Fig. 25 Ref. 18 Only selected issues of interest to PPC users. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 SUMMARY The personal programmable calculator (PPC) with external memory is indeed a shirtpocket computer. The new machines to be announced in early summer 1977, with their full I/O capability, bridges the gap between calculator and computer. The term "personal computing" has a special meaning to the PPC user. "Personal" means "on ones person", available any time, anywhere. . The applications and programming technique state of the art has kept up with the hardware advances because of the activities of the manufacturers software support and the Users Clubs. The PPC offers the computer user a powerful, low cost, accessory and, in applications where numerical solutions satisfy the major needs, may replace the microcomputer completely. The PPC of today is not just a calculator; inside it is a microprocessor with control ROMs that give it a calculator personality. The shirtpocket computer is here to stay. ACKNOI'ILEDGMENTS I would like to thank the members of all the PPC USERS CLUBS who, through their thousands of letters and phone calls over the past 2~ years have provided the material used to prepare this overview. I would also like to thank Jim Warren for letting "the other computing users" have a chance to share the calculator viewpoint. Compuca1c, Educa1c, lIew1ett-Packard, Matrix, and Texas Instruments provided photos of their products. ~EFERENCES 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Electro '76 Professional Program, "Advanced Pocket Calculators", 32/4 May 11, 1976. "65 NOTES", published monthly by the HP-fi5 USERS CLUB, 2541 W. Camden Place, Santa Ana, California 92704. ~, published bi-month1y by the Mikro-(Taschen)Computer Anwender-C1ub. Buschenwe~ 24. D5noo K61n 40. West Germany. 52 Notes, published monthly by the SR-52 Users Club. 9459 Taylorsville Road, Dayton. Ohio 45424. Recreational Programmers' Notes, l)ub1ished monthly by the New Zealand RPN Club, P.O.Box 21067, Edgeware. New Zealand. WESCON Professional Program, "Pocket Calculator Update", 7/3 September 14, 1976. WESCON Professional Program, "Present and future of Sophisticated Pocket Calculators", 29/4 September 19. '75. Smith, Jon M., "Scientific Analysis on the Pocket Calculator", New York, John Wiley &Sons, 1975. McCarty, George, "Calculator Calculus", California, Page-Ficklin, 1975. Sipp1, Charles J., "Calculator Users Guide and Dictionary", Champaign, Illinois, Matrix Publishers, 1975. Sipp1, Charles J., "Programmable Calculators", Champaign, Illinois, Matrix Publishers, 1977. Fowler, P.obert W., "A Collection of HP-25 Routines", 12104 Arbie Road, Silver Spring, Maryland 209Q4, 1976. Eisberg, Robert M., "Applied Mathematical Physics with Programmable Pocket Calculators", McGraw-Hill, 1976. Smith, Jon M., "Financial Analysis and Business Decisions on the Pocket Calculator", :lew York. John Wiley & Sons,'77. Blazie, Dean B., "A Compiler for Pocket Calculators", Technical Memorandum 1-76. U.S. Army Human Engineering Laboratory. /\berdeen Provi ng Ground, Maryl and. 16. PBX Exchange. Dated periodical from Texas Instruments, Inc., PBX-52, P.O.BOX 22283. Dallas, Texas 75222. 17. HP Ke~ Notes, published quarterly by Hewlett-Packard, 100D.E. Circle Boulevard, Corvallis. Oregon 97330. 18. Hewlett-Packard Journal, ~ublished monthly by Hew1ettPackard, 1501 Page· Mil' Road, Palo Alto, California 943Q4, November 1976 issue. 19. Compucalc, Inc., 201 E. Main, Silverton, Oregon 97781. 20. Educalc,Educational Calculator Devices, P. O. Box 974, Laguna Beach, California 92652. PAGE 38 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579. PALO ALTO CA 94302 PAGE 39 THE SIDELOBES OF INDUSTRIAL DISTRmUTION ARE FOCUSED ON THE HOME MICRO· COMPUTER HOBBYIST f. In-circuit emulator and/or simulator Lowell Smilen. Ph.D. AlmallStroum Electronics 5811 Sixth Avenue South Seattle WA 98108 ABSTRACT The emerging microprocessor technology is having and will continue to have a strong impact on the way electronic design is carried out on existing electronic prOducts and the countless number of new ones yet to appear on the market. The microprocessor hobbyist is in the forefront of this exciting revolution; both as a consumer and a contributor. This paper will explore how the hobbyist can benefit from the engineering programs in effect at some electronic distributors, who in turn are working closely with the, semiconductor manufacturers. The broad array of microprocessor kits, system development tools and learning products which are now available will also be discussed. I. Introduction The role of the industrial electronics distributor has been evolving over the past few years. Whereas previously, the distributor was concerned mainly with supplying single function components, i. e. resistors, transistors, wire; the current trend towards multifunction components and pre-wired subsystem boards such as microprocessors, single board computers and microprocessor development systems has caused the distributor to become more technically oriented. The intent of this paper is to describe the wide range of microprocessor products and services available through some segments of industrial electronics distribution and to suggest that this mode of operation, perhaps with variations, will be increasingly followed in many parts of the country. g. Software for program editing, assembly and in some cases software for high-level language The function of these units will be discussed in the section on Microprocessor Products. The visitor to the Center recei~es a demonstration on one or more of these systems with a discussion of their capabilities. (The Center at Almac contains the development systems from Intel, Motorola, National and Texas Instruments). Of significance to the hobbyist is the fact that time on these systems can be purchased on a daily basis. As a means of keeping the designer current with the latest developments in microprocessor products, the distributor sponsors a series of technical seminars usually presented by field application engineers from the semiconductor manufacturers. The distributor also presents technical seminars at universities, local microcomputer clubs and trade shows. There are other engineering programs in existence at distributors which are pertinent to the hobbyist. A PROM programming facility provides ,the means for entering the debugged program into a field programmable ROM, either erasable or not, from a variety of media such as paper tapes and mark sense cards. A distributor often provides electrical assembly capabilities for customizing such items as switches, connectors, terminals and flat ribbon cable to the user's specs. Where the distributor maintains a retail store in conjunction with his stocking warehouse, the hobbyist has easy access to the wide variety of products and services which the distributor provides to his industrial customers. The major effort or mainlobe energy of the distributor is Ill. Microprocessor Products directed at the OEM (original equipment manufacturer), however, the home hobbyist market is growing at a suffiA. LSI Chips ciently rapid rate that the side lobe energy directed in that direction is still considerable. This is particularly true The range of microprocessor products is so extenfor microprocessor hobbyists since electronic system sive that they can be be st treated by breaking them development using these products lends itself well to the into categories: First, there are the LSI chips home laboratory. The home hobbyist ranges from the which constitute the microprocessor chip set, the person who is developing a system mainly for fun and games RAM and (P) ROM memories; serial and parallel to the experimenter who is prototyping a system from I/O chips and the newer peripheral chips such as, which a profit is ultimately to be realized. The nature of the programmable DMA controller, interrupt the microprocessor products on the market allows both controller and interval timer. Examples of some goals to be realized. of these chips are the: II. Engineering Services Perhaps the biggest problem associated with moving into microprocessors is determining where to start. A Microprocessor Development Center with a resident technical specialist provides the ideal starting point. The beginner then has the opportunity to come in and discuss his goals, budget and future plans. The designer at every experience level gains exposure to new products. The Center contains the development systems from a variety of semiconductor manufacturers with an assortInent of peripheral devices; typically a development syste~ consists of: a. b. The processor console with between 16K and 64K memory; resident firmware for controlling the peripheral devices; and resident firmware for program operations and debugging Teletype or sirriilar units, possibya high speed printer c. Disc operating system and/or paper tape reader and punch d. CRT console e. PROM Programmer 1. Intel 8080A - an NMOS 8-bit parallel CPU with 6 registers and an accumulator, separate 16bit address and 8-bit data bi-directional data busses. 2. Intel 8048 - an 8-bit NMOS LSI chip whiCh contains the CPU, memory in either ROM or PROM structure, RAM, internal clock, programmable I/O parts and interrupt control logic. The 8048 illustrates the trend of integrating peripheral chips and memory onto the CPU chip to form a more tightly integrated system. 3. Motorola 6800 - an 8-bit NMOS microprocessor with an 8-bit bi-directional bus and a l6-bit address bus, 6 internal registers using a 5-volt power supply. 4. Motorola 6802 - an 8-bit NMOS microprocessor that contains the registers present on the 6800 but also includes an internal clock oscillator and driver and 128 bytes of RAM. It uses the same language as the 6800. This chip also illustrates the availability more highly integrated LSI chips. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 The trend towards microprocessors· witf>. greater data processing capabilities is sho~ in the: 5. Texas Instruments TMS9900 - a single chip l6-bit NMOS CPU having 16 general registers and on-chip instructions for multiply and divide. It is supported by the TMS 9901 a programmable systems interfac.e chip, the TMS 990Z asynchronous communications controller, the TMS 9903 synchronous communications controller and 'the TMS 9904 clock generator. £6,r teletype communications and program debugging and a PC board with an expansion capability. The keyboard kit was introduced to obviate the need for the teletype and uses the blank portion on the PC card of the first kit.. The ROM included with this kit allows the user to enter, debug and execute his program by using the calculator-style keyboard. C. National SC/MP - 8-bit microprocessor which is available either as an NMOS chip or a slower ·PMOS one. In addition to its use dn equipment controllers it finds applications as a peripheral interface unit in distributed processor systems.- Intel's SBC 80/10 probably was the first of the single board computers followed by Motorola's micromodule the M68MMOl. Intel has now introduced its expanded version of the 80/10, the SBC 80/Z0 and Texas Instruments, the. T. I. 990/4. There are many factors to be considered in choosing a microprocessor chip. Among these are speed (relative to the application), power dissipation, supply voltages, data . handling capability, availability of peripheral chips, need to minimize chips, cost and second sourcing. There is another factor, which will be discussed further later on, hardware and software support provided by the semiconductor manufacturer. B. The single board computers are prewired circuit boards that have been tested and contain a CPU, RAM, 1/0 chips, clock circuits, terminal interfaces and sockets for ROM and I/O expansion. Their Significance is enhanced by the fact that they are members of a family of boards and cardcages that may include RAM and PROM socket cards, I/O cards, A/D and D/A cards and more recently a general-purpose-interface-bus card. The cost of the microcomputer card and associated modules, in single unit quantities, is in the $500 and $800 range. Microprocessor Kits The next product grouping to be discussed, and possibly of greatest interest to the house hobbyist, comes under the heading of microprocessor kits. Historically, kits have always been popular with hobbyists ranging from test equipment kits to high fidelity and stereo subsystems. The semiconductor manufacturers have made a strong effort to capture a wide following among microcomputer beginners by putting on the market kits which are excellent values, both in electronic parts and documentation for self-learning programs. They provide an ideal starting point for novices and .those who wish to become familiar with a second or third chip family. The first microprocessor kits were merely an assort.ment of LSI chips. When the kits were expanded to include a printed circuit board, their popularity grew and with the introduction of LED displays and hexadecimal keyboards into the kits sales advanced more rapidly. With the inclusion of a means of entering and receiving data the need for an expensive terminal was minimized. Computers on a Board Next in the hierarchy of microprocessor products would come the .families of Single-board computers. This famUy of products probably has its greatest significance for industrial users but the hobbyist should be aware of this potential storehouse of products. A chip which is applicable to controller type systems which require a lower degree of computer complexity at a low cost is the: 6. PAGE 40 The beauty of these micrC?computer cards and their support modules is that they provide for a wide variety applications without the need to stuff and wire each PC board, they minimize inventory and spare part inventories and they are compatable with the microprocessor development system associated with the particular semiconductor manufacturer. This brings us to the last grouping of microprocessor associated products - the microprocessor development systems. D. Development Systems Examples of the more popular kits ranging in price from under $100 to $Z50 are: By their very nature, microprocessor systems are complex, in that they require both hardware and software design, with trade-offs between the two. Digital test equipment existed for hardware checkout and large computers could serve for software development and simulation. However, there was a need for a new class of test equipment which combined both functions - what resulted was_the microprocessor development system which is itself a general purpose microcomputer system. The. key components of these systems are: 1. Intel SDK-80 which contains the 8080A, RAM and ROM memory, I/O chips, a crystal, TTL logic, passive components and a PC board. The monitor firmware allows communication with various terminals, program debugging and execution. There is space provided on the board for the user to expand the system for his particular application. 1. Z. Motorola MEIC 6800DZ Kit contains a Z4 key keyboard and a 6-digit seven segment display in addition to the M6800, RAM and ROM serial parallel I/O chips, TTL logic, Z PC boards, and all passive components needed to complete the kit. There is a monitor program which permits communication with an audio cassette and program entry and debug from the key board. This kit can also be expanded by the user, Microprocessor con solEI. This unit contains a microprocessor and associated circuitry for interfacing to the resident RAM memory which can range from 8K to 64K; firmware in the form of a monitor program in ROM for serial and/or parallel communication ·with one or more terminals, for program loading, debugging and copying; a card for interfacing tne system to external hardware; additional sockets for special function cards and a heavy duty power supply. Z. Peripherals 3. National ISP-8K/ZOO SC/MP kit and ISP-8K/400 SC/MP keyboard kit. The SC/MP kit was available initially and contains the SC /MP chip, RAM, a clock crystal, buffering chips, a ROM The disc operating system, often with two drives, holds the system software and provides a rapid means of loading and storing programs. Where paper tape is used, in conjunction with a teletype, a high speed paper tape reader, ZOO characters per second, is· desirable ~o perform the loading fUnction. Other perpherals include the ASR. 733 twin FIRST COMPUTER FAIRE PROCEEDINGS cassette, data terminal, an alphanumeric keyboard cathode ray tube display console and 165 character per second line printers. 3. In-circuit Emulators The utility of the development systems was greatly enhanced by the introduction of cards which plugged into the main console's motherboard to allow the development system to be used to check I)Ut the hardware being developed The emulator permits the system being developed to use the main console's memory and I/O capabilities, to execute the program being developed in the user's hardware and to display executed instructions with address and data, and contents of the CPU's registers, all in real time. 4. PROM Programmers Once a program has been, succes dully developed, the PROM Programmer allows the data to be entered in a field programmable ROM. The PROM Programmer may be a separate console that is interfaced to the CPU console by cable or a PC card that can be inserted into the mother-board of the CPU console. 5. Resident Software Initially, the resident software was dedicated to program assembly and editing, then came the software for using the emulators and the diagnostic check-out procedure. However, recently the trend has been to resident higherlevel languages such as PL/M-SO, Fortran IV, and Basic. These operate in systems using from 4K to 64 K bytes of memory. Most semiconductor manufacturers have produced a prototype development for use with their microprocessor chip; some have gone further and developed the wide variety of hardware and software products discussed above. Most noteworthy of mention are Intel's Intellec System, Motorola's EXORcisor Systems, National's IMP and PACE Systems and more recently, Texas Instruments' 990/4 Prototyping System. Prices for microprocessor development systems range from a minimal configuration at $4,000 to a multi-function test bed at $15,000. E. Learning Systems There is another group of products, which can be described as learning type systems, that has been introduced by the semiconductor manufacturers. Most of these products are unique. National Semiconductor has produced the SC/MP Low Cost Development System (LCOS). It comes with a chassis containing a monitor program, a hexadecimal keyboard, a LED display, sockets for expansion and a CPU card with RAM and I/O chips. Communication with this unit is in machine language either via the keyboard or a teletype. Additional cards for RAM and PROM memory can be obtained arid it will run National's 4K Basic. Intel's PROMPT SO and PROMPT 4S contain single boards computer cards for the SOSOA and the S7,4S or S035. They have hexadecimal keyboards and LED displays, ' PROM programmers, monitor firmware and power supplies. They can be used as developm~nt or learning systems. They will interface to the MDS-SOO. ' The learning-type systems described above are in the $500 - $1, 500 price range. This brings us to the Texas Instruments Microprocessor Learning System which consists of four BOX 1579,. PALO ALTO CA 94302 PAGE 41 separate modules, each provided with a detailed manusl. The LCM-lOOl is intended to teach microprogramming, the development of a set of instructions a8 used by a microprocessor and is concerned with processor architecture, data handling and processor programming. The companion modules are the LCM-1002 a controller, LCM 1003 memory and the LCM-1004 input/output module. The four modules combined constitute a versatile microcomputer. The entire set costs less than $700. IV. Conclusion The era of microprocessors is indeed in its infancy. Regardless of what projections are used for its growth, there is no doubt that they will have a profound impact on our lives whether we are engineers, technicians or consumers. The technical hobbyist enjoys working with and nuturing new technologies. In the case of microprocessors, the hobbyist will find that broad, valuable assistance and support are being provided by the technically and service oriented electronics distributor, working with'the creative semiconductor manufacturer. FIRST COMPUTE-R FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 _PAGE 42 A look at micro-computing as if people mattered Andrew Clement 789 W. 18th Ave. Vancouver B.C. Canada V5Z lWl Abstract E.F. Schumacher, in Small is Beautiful and his more recent work, has drawn attention to the role tha,t technology plays in the shaping of our present society and to the need for technologies of smaller scale in the growth of a more humane society. He identifies the criteria of smallness, simplicity, carital cheapness, and non-violence as being part1cular y 1l1)portant. Micro-computer technology, which is the basis of computing systems for home and personal use, seems to satisfy these criteria in many respects, and so it potentially represents a technology appropriate for future general use. benefit, from their use. Smaller, more humanscaled enterprises are needed in the formation of a more humane society. Schumacher suggests four criteria with which to judge technologies and serve to guide their development. These criteria are: - small simple inexpensive non-violent Technologies which satisfy these criteria will be much more likely to be good for us. One technology that appears destined to play a large part in our lives is that of micro-computing. Conventional computer technology, already quite This paper examines critically the field of mi:roinfluential, is at the moment embarking on an computing in light of Schumacher's four criter1a. important new direction based on a radical reMany of the positive aspects are seen to hold up duction in the size and cost of primary computer under this examination. In important respects the components. Large scale integration (LSI) of technology really is small, inexpensive and noncircuits has made possible pOwerful computing violent. It can also be fun, facilitate the more devices that could be purchased by virtually equitable distribution of computing power and help everyone for home or personal use. Though not breakdown fear and mis-understanding of computer widespread yet, the future general use of these technology. A number of important drawbacks are also "micro-computing" devices seems probably and would discussed,' Micro-computers are generally crude and ,have considerable impact on society. At first not very powerful at the moment. They are not simple appearances it would seem that this new microto use other than at a fairly elementary level. Wide- computer technology satisfies many of Schumacher's spread use of micro-computers may contribute to the criteria and so could have the potential to provide increased centralization of power in society. us with tools of great service. The remainder of this paper is concerned with assessing this The important role that computer amateurs and other potential and exploring ways in which it can be pioneers in the micro-computing field have in inexploited. fluencing its future development is pointed out. They are challenged to devote effort to ensuring II. WHY MICRO-COMPUTER TECHNOLOGY IS IMPORTANT that computers are used humanely to enhance people's lives and that the negative aspects of computers are Before becoming concerned about the social impact minimized. The paper ends with suggested techniques of micro-computer technology it is wise to see and applications that may assist in achieving this whether such concern is of any relevance. Firstly goal. it should be shown that micro-computers are likely to have an important effect on people's lives and I. INTRODUCTION secondly that there is some possibility of influencing their course of development. Both of Everyone agrees that technology has had a profound these appear to be the case. effect on modern society. Technology has crept -into every facet of our personal lives and left Micro-computing has not yet begun to affect many no public institution untouched. Along with the people's lives directly but there is good rea~on many good things it has brought, there have to believe that in the foreseeable future- the1r been serious ill-effects to which no-one is immune. impact will be great. What we are witnessing It is therefore wise of us to inspect closely new at the present time is the rapid emergence of the technologies as they arise to determine whether, computer from within the-confines of large and how, we may benefit from them. institutional settings and into the view of the general public. Until now most people have not Two contemporary authors have made significant really seen a computer or had to deal with one contributions to the understanding of what we directly. Rather they have learned of them by should expect from our technologies, and their repOrt and communication with them has been via manifestation as tools, in order that they serve the mail and through a bureaucracy. Computer us best. Ivan Illich, writing in Tools for hardware first came into public view in the form Conviviality, calls for tools "which give each of terminals for airline reservation systems person- who uses them the greatest opportunity to (back view only), but now they are highly visible enrich the environment wi~h the fruits of his in many banks and other institutions. Point-ofor her vision." (p.22), tools "which foster sale processing, and automated checkout are about self-realization", (p.25) tools that promote to burst forth and electronic funds transfer is self-reliance, autonomy and harmony between fast approaching. In the home, the last few years ourselves and with nature. It is essential that have brought the cheap pocket calqulator and the control of the tools lie with the individuals video game that plugs into the T.V. set. Other and organizations they are intended to serve. talked of T.V. add-ons include systems to allow E.F. 'Schumacher has similar objectives, and in shopping, banking, and even voting from the comfort Small 'is Beautiful and Technology and Political of one's living room. We can look fo~ard to Change, identifies the scale of the technology finding (?) digitai.a.i!t',cu.ij::J:y in our cars, ovens, as the most important factor in determining its " and other appliances, (Figure 1). social consequences. In general, many present technologies are so massive that the overall At work the outlook is for the "electronic,office" ,effect for people is that they suffer,rather ,than with computerized word processing and greater FIRST COMPUTER FAIRE PROCEEDINGS realiance on computer conferencing techniques. All of these changes rely heavily, though not entirely, on computing devices built upon the technology of large scale integration (LSI). Thus many aspects Of our lives, in buying, in recreation, in employment and transportation and communication are going to be affected strongly by micro-computing technology. We should see what we can do to ensure that we are better off for all this. BOX 1579, PALO ALTO CA 94302 PAGE 43 complete and do not guarantee that the effects of a technology will be humane, but they do provide a useful starting point. Small People are small and tend to get overwhelmed when they have to approach and deal with things that are much larger than themselves. It is clear that the physical size of micro-computers is small. They can be put on your desk, can be carried around, taken over to friends' house, the whole thing can be seen and be grasped at one time. At the extreme, the Dynabook that is being developed by Xerox is pictured as being the size of a notebook and works off batteries and so will be completely portable and unintimidating in appearance. This is an important departure from the conventional view of computers as large, complicated and somewhat fearsome devices, demanding large buildings, special air conditioning, phalanxes of experts to care for them, and layers of bureaucrats to protect them. Considerations of size apply not only to the actualhardware that the user sees but also to the necessary back-up technology and institutions as well as the organizational settings that are required to make effective use of the tools. Fortunately in most of these respects the "smallness" of micro-computers remains in tact. f~l The realization that micro-computers are going to have a major impact on our society is not, by itself, sufficient reason to become actively concerned in trying to affect their development. We need confidence that the technology is somewhat flexible, that it can be changed to some degree, and further that these changes will be reflected back on the society that uses the technology. If on the other hand what we do has no effect, then we might as well sit back to enjoy the show and amuse ourselves with our new toys. We shape our tools; thereafter they shape us. Marshall McLuhan This statement expresses part of the justification for concerned action at the present time. At the moment the computing devices are still crude and many of the details not worked out; the manufacturing and marketing systems not fully developed; patterns of use have not been firmly established; the myths that apply to conventional computers will no longer be accepted but replacements have not yet taken hold; legislative regulations await formulation. In many areas the technology and related structures have not solidified and although to a large extent, the future forms have already been determined by prevailing social forces, there is still a short time to influence the course of development. To do this positively and effectively requires an understanding of the technology and what it has to offer. III. SCHUMACHER'S FOUR CRITERIA: SMALL, SIMPLE, INEXPENSIVE, NON-VIOLENT Manufacture and marketing of most of the hardware components can be done with relatively small firms and without huge factories and machines. In fact, many of the products available to computer amateurs have been introduced by small groups of individuals operating out of "garages". This is a reflection not only of the-relative newness of the field (there hasn't been enough time for companies to grow really large) but also to the characteristics of the technology and the particular way in which it has developed. A good example of this is found in the "bus" structure that underlies many current microcomputing devices. A "bus" structure is not only just an excellent way to organize a computer (there are other ways) but has important consequences in other areas. The emergence of the "Altair" or S-IOO bus as a de-facto standard has resulted from, and more importantly, allows, small enterprises to create special products that can plug into it. Of course this has depended on the fact that there is no restriction preventing anyone from doing this. It is not hard to imagine that a really large manufacturer (mentioning no names) would either not use such an easily copied and exploited technique or would find artificial means to prevent such "abuse" and preserve its monopoly. When it comes to the manufacture of the integrated circuits (ICs) the "smallness" is lost somewhat since fairly large, though not huge, installations seem to be required. On the software end small groups appear to be able to operate efficiently, perhaps more efficiently than armies of programmers even with very large programming tasks. However, when it comes to marketing a hardware/software combination, size may be a considerable asset in order to enjoy economies of scale and as a protection against competition. Using micro-computers can also .be a small-scale affair as long as there is no need to have to plug into large centralized networks as is the case with conventional television. Schumacher's four criteria give us way looking at technologies and evaluating them for their potential to benefit us. The criteria are not really new and Simplicity is another virtue, not necessarily in fact are based heavily on common-sense notions of related to size, but sharing with "smallness" the what makes something friendly and easy to get along tendency to promote autonomous control and selfwith. Everyone has had r~ding experiences with reliance. If a technology or tool is simple then tools or institutions and I am sure that they would it is much easier for people to understand it, to often find that these criteria were underlying the success of the encounter. Conversely, unsatisfactory use it and modify it for their purposes, to fix it when it goes wrong, in short to control it experiences with technology can often be traced rather than be controlled by it. Unfortunately back to it being huge, complicated, expensive, or micro-computers are simple only in a few, restricted violent. By themselves these criteria are not FI ~STCOMPUTER.fAt-REPRoceEDtNGS -----BOX 1519;--PAtO-A-LTO --CA94302 aspects. Most people do not have a great deal of trouble using computer equipment. Small children appear to find it simple enough and although harder to use than most popular appliances (e.g. telephone, oven, etc.) it is certainly much easier than an automobile, once some basic skills and concepts have been mastered. The same goes for the assembly of equipment from kits and the composing of simple programs. ' However, when involvement goes beyond this level, things become much more complicated. The ahalysis, design, and programming of major systems requires specialized skills and experience. There do not seem to be programming languages and techniques presently available that allow us to do this sort of thing fairly ,easily. This is due no doubt in part to the inherent complexity of the process but also because we are still in the infancy of our understanding. The problem is even worse when it comes to the design and manufacture of hardware, particularly integrated circuits. A highly advanced and sophisticated technology is involved requiring machines of great pracision and personnel of rare expertise. With the reliance on experts goes a loss in control and freedom, resulting in a situation akin to that with the automobile. Most people can drive one, put in gas, change tires and sparkplugs, but when it comes to repairs we leave our mobility (and pocket-books) in the hands of trained auto-mechanics. The prospect of actually making our own vehicle or modifying an existing one is simply out of the question for all_ but a handful - it's just too complicated. The present situation with micro-computers is substantially worse. with the consequence that at least in the foreseeable future their popular use will centre mainly around the purchase of plug-in modules. Most people will depend on outside hardware and software suppliers and not be able to re~y on themselves or others in their vicinity. The guts of our major machines will continue to be generally out of bounds. not require lots of time to start with but does take a great deal of time and care, making the ultimate cost fairly high. The purchase price can be kept down if the software is general and reliable enough to be attractive to a large number of ,users. One way to do this is through software exch_ang4jls where software can be made available and acquired cheaply. The producer would not stand to earn a great deal of money but would presumably receive some compensation by being able to enjoy other peoples' work at a low cost. If this system is to flourish though, the software must, be very reliable, well documented and widely accessible. Dr. Dobb's Journal is a good example of this process in action at a level of amateur computing. The alternative seems to be stiff copyright regulations maintaining high costs for all but the most widely used packages. Non-violent It is very important that a technology that is to find widespread use not harm people nor damage our natural environment. In a direct sense this is certainly true of micro-computer technology. The greatest physical danger to an average user is getting an electric shock or having one drop on his toe. Environmentally, no aspect of computer technology, even with universal application, consumes much in the way of natural resources, demands large amounts of energy, nor produces appreciable pollution. We can say generally that computers "walk lightly on the earth". (Figure 2) This is because the hardware, the physical part, is needed only to harbour the software, which is really where the interesting activity is going on, and thus has to interact only minimally with the rest of the world. Micro-computing is like other communications technologies in this respect in that its effects are usually not directly physical. For instance, the violence that results from television is not due to its physical characteristics but rather to the indirect effects on its viewers over a period of time. With micro-computing, the violence comes from the ways in which it affects how Inexpensive people see themselves and how they relate to others and 'their environment. Excessive and narrow use of The criteria of inexpensiveness applies primarily computers seems to promote mechanistic thinking and to the financial aspects of a technology, and in de-personalization which represent and result in forms fact, Schumacher uses the term "capital cheapness". of violence that, though not overt, are nevertheless The capital requirements of a technology are clearly significant. Further investigation of this social related to its size and complexity, and like them and psychological violence is vitally necessary if has an important influence on its control and large numbers of people are going to come in regular acceptability. Again it is useful to distinguish contact with computers, (Figure 3) between the hardware and software aspects and the consumer and production ends of micro-computer technology. Perhaps the most dramatic and publicized feature of the "micro-computer revolution" is the drastic drop in price of hardware components. This plunge in cost is probably the most important factor contributing to the rise of popular computing and the trend shows every sign of continuing. Small hobby systems are now available for a few hundred dollars, which is in the order of domestic appliances and within the reach of many people. However, by the time the extra memory, peripheral storage and other goodies have been added to make an interesting system the cost has risen to several thousand dollars, making it a substantial investment and thus out of the range of most individuals and small organizations. With further refinements of technique and the development of mass'markets, this will probably remain the case for only a few more years, at least in North America. This contrasts sharply with conventional computer equipment, whicp is enormously expensive in comparison, and thus available to only already wealthy organizations. At the manufacturing end it appears that great ' investments of capital are not required except possibly in connection with the production and IV. ADDITIONAL SIGNIFICANT FEATURES OF MICRO-COMPUTING marketing of integrated circuits. Besides Schumacher's four criteria that have Just been Software, to bring the newly inexpensive hardware discussed, there are a number of other important to life, has -not enjoyed the same radical drop in features that should be considered when examilling price, mainly because it is a mind and labour micro-computing'spotential to serve as a humane techintensive process and not susceptible to easy nology in our society. automation., To produce high-quality software does FIRST COMPUTER FAIRE PROCEEDINGS Fun Micro-computers are fun! Lots of people, children of all ages, enjoy playing with them. Computers are not just serious business~ They have the potential to become great mind toys since they are so flexible and can be adapted to represent such a wide variety of situations (see Ted Nelson's. Computer Lib/Dream Machines) • They are such a good toy, in fact, that some people get so fascinated and turned on to the world they are creating and exploring in the machine, that the outside world gets lost. For this reason, excessive exposure to computers should not be allowed to drive out other more physical and social forms of play, particularly in the case of children. Nevertheless the pleasure that can be obtained from micro-computer technology is an important part in making it friendly and socially desirable._ BOX 1579, PALO ALTO cA 94302 PAGE 45 usually is on a stark, single upper-case type font of poor definition is often much lower than we are accustomed to in other areas. This doesn't have to be the case. Input to computers is almost always through keyboards with very little use being made of devices such as light pens, joy sticks and "mice", which, in many cases, are more appropriate and- easier to operate. The languages of interaction with which we communicate with the machine are also often primitive. Seldom do they offer convenient aids in learning them,are usually intolerant of any "mistake", rudely insisting that they be addressed in strict and peculiar ways, and they do not easily admit to modification to correct their annoying features. In fact, a computer usually has to be treated rather like a spoiled-child from whom any desired, out-ofthe-ordinary behavior can be obtained only by those who are very familiar with the brat or who love it as a mother and are therefore blind to its shortcomings. This is not to say that there have been no important achievements, for clearly there have been, but we still have a long way to go before most people find micro-computers to be friendly, useful and easy to get along with. An indication of what is possible in this regard is seen in Alan Kay's Dynabook Project at Xerox. The aim of his'Learning Research Group, as outlined in Personal Dynamic Media, is to develop a computer the S1ze of a note- . book that rivals in power some of today's biggest computers. A Dynabook would have visual output of at least "higher quality than what can be obtained from newsprint. Audio output should adhere to similar high fidelity standards." A Dynabook could be owned by everyone and used "as a medium for expression through drawing, painting, animating pictures, and composing and generating music", as well as handling many more mundane information processing tasks. The fact they have already made great progress gives credence to the achievability of their goal and is a tribute to what the combination of talent, hard work, and money can accomplish. Exclusiveness Breakdown of fear and misunderstanding The widespread use of micro-computers will hopefully have the effect that people will gain a much better understanding of computers. This will tend to lessen the fear of computers based on ignorance and provide a firmer basis for the real justified fears and thus enabling people to deal more effectively with the technology. It should make it much harder for large organizations to hide behind their machines and abuse people by insisting they conform to the expectations of the computer. People will learn that it is not the machinery that is mainly responsible. However, there is a danger that the understanding may only be superficial and that the loss of fear resulting from familiarity may work against people. Instead, what could happen is that this simply paves the way for easier penetration and acceptance of the more questionable aspects of computer technology, such as Electronic Funds Transfer and other large-scale databank systems. Redistribution of computing power The ability to process information quickly and cheaply is an important component in the exercise of power in present society. Until now the mechanisms for doing this have rested almost exclusively in the hands of large institutions while individuals and small organizations have been pretty well left out. The wide-spread availability of small, yet reasonably powerful computers could alter this significantly and help shift real power, along with computing power, toward smaller social units. For this to actually take place not only would the computing power have to be accessible but also the expertise and raw information needed to go with it. It is not clear that the organiz"_tions whose strength would suffer in proportion would be willing to relinquish their control over these as well as the other vital components of power. In fact, if a multitude of .micro-computing devices act mainly as peripherals in a highly centralized system; then power will be further consolidated in the hands of the massive interests that already dominate society. Crude, not powerful Cheap, general·purpose micro-computing systems are still in their infancy and are yet fairly crude and lacking in significant power. This is particularly true of the way in which people have to interact with them. The graphic quality of output, based as it Micro-computing is much more accessible to average people than conventional computing, but still has in some ways the same exclusive cult ·feeling about it. For example, informal observation reveals that the overwhelming majority of active participants are male. Why is it that more women are not involved? Is it because machines are inherently more interesting to men, perhaps women receive cues that they are not wanted in the area? The simple fact that it is already so male-dominated may be sufficient to intimidate many women from participating actively. That the disproportion is not as pronounced among young enthusiasts could be sign of change, although perhaps computers appeal to the adolescent in us and men stay adolescent longer. Reducing sexist and other forms of bias and involving a wide variety of people is important in the development of micro-computing. A range of considered viewpoints will tend to protect against the growth of a widespread technology that serves only the interests of the small group of its creators. The sources of discrimination and exclusion are probably deep-seated in our culture and so cannot be removed quickly. However, there are some fairly obvious mechanisms that can be seen at work and dealt with. One of the clearest is the way that jargon is used. Any advanced technology needs specialized language in· which to express the notions that are peculiar to it. However, at the same time, and quite unconsciously, it also serves to exclude those who are not initiated into the circle (Figure 2). and reinforces membership for those already in. Deliberate avoidance of unnecessary jargon and careful explanations for novices will do much to broaden participation in this important field. V. THE CHALLENGE TO COMPUTER AMATEURS AND OTHER PIONEERS It is hopefully clear from what has preceeded, that micro-computer technology, though suffering from some major drawbacks, has a number of positive features to recommend it for wide-spread, human scale use in society. It is very likely to have an important impact on society and how it is shaped now, in the critical period of its infancy, will have long-term consequences. One group of people who will influence the course of development and who are in a position to exercise some choice over its direction are the computer amateurs. There are two main reasons why this is so.· The primary reason is that computer amateurs are the first major ' " group in the general population to have significant computing devices in their homes. It if catches on, the market would be enormous and so major manufacturers will be watching closely to see, what happens to FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA get an idea of what will sell. Behavior patterns, in terms ~f purchase and use of micro-computer systems will establish trends that will continue for some,·time. Hopefully high standards will be set during this early period when the market is still forming. If people insist on 'quality systems that are reasonably powerful and self-contained,that give the user flexibility and choice to implement interesting, constructive applications, then the result will be quite different than if people tolerate the introduction of crude pre-packaged systems of narrow imagination and usefulness into their homes. The second reason that computer amateurs can influence the evolution of micro-computer technology is that they have the time and freedom to explore interesting avenues of approach. They are not bound by having to ·make money from the end product so they can try many leads before achieving a really significant result. For instance, an amateur computerist could enjoy spending a great deal of time collaborating with a musician on a music system before coming up with a version that was truly exciting. Almost incidently it could be made available to many others at very little cost. 94302 Build on existing cooperative and sharing enterprises The social· and organizational settings 'in which micro-computer technology is developed and used will define precedents of some la~~ing effect. If the work is done in an enviro~nt of relaxed and open' exchange of information by people in small local groups that are in close communication with each other, then the results are likely to be more humane than if it is done in a competitive and secretive atmosphere. Computer clubs that are sprouting up everywhere are good starting points because they provide an opportunity for people living in the same area to get together ·to share experiences, exchange ideas, software and the like. Club newsletters are a valuable means for keeping members in touch with each other, and trading them between clubs expands the communications network even further. Computer amateurs have of course their own novel communications media at hand and so direct computer-to-computer link-ups may prove useful and at least interesting. tant pool of inexpensive research talent and possibilities. Major publ~cations such as Creative Computing, Peoele's Computer Company (PCC), and BYTE serve a s1m~lar funct10n of 1nformat10n access and exchange on a broader level. - One consequence of the influential role computer Work with non-computer people In other words, computer amateurs represent an impor- amateurs occupy at the present moment is that they have social responsibility to others to use their position wisely. This responsibility comes from the fact that the actions of computer amateurs could have a significant effect on other people's lives and is independent of whether they actually choose to acknowledge the responsibility. This is one of the reasons that the term "home and personal computing" is more appropriate than ·computer 110bbyism" for what computer amateurs do, even though many regard it as a hobby. Because it has major social consequences it is not just like any other high technology hobby. "Computer Hobbyism" is simply the thin, leading edge of the much larger field of "home and personal computing". The challenge to the amateurs and other pioneers in this field is to accept a share of the responsibility and work actively to ensure that the micro-computing for home and personal use grows in humane and positive directions. VI • WHAT TO DO? If the argument has been accepted so far, the question now is: "What does one do about it all?1I To answer this question directly is very difficult so what follows here are some suggestions for things that can be tried, rather than "answers". They are tentative and sketchy, at best, but should provide a good starting point. Research and Discussion Computers are too important to be left entirely up to computer people, A very important step is for non-computer people to be involved with the development of microcomputer technology. By this is meant people whose main motivation is to do something particular, such as draw a picture, make music, organize and share information, say, and look upon a computer as simply one, of perhaps several, tools for accomplishing their objective. Computer people on the other hand (to take an extreme view), look for things they can use their computers on. They love their machines and the actual process of using them, rather than the end product. As a consequence these two groups have very different approaches. The computer person can explore wild and fantastic uses and show what the machine can do. Their vision is limited by what they perceive to be the bounds imposed by the machine. Non-computer people will bring them back to earth and supply interesting ideas that go off in quite different directions and which push hard on the limits of what the technology is capable of. The results of the interaction of these two forces should be excitement and conflict. It will no doubt be difficult at times but is quite vital to the health of micro-computing. Growth by incorporating a variety of perspectives is essential to avoid repeating the mistakes of conventional computing that have resulted from computer people being given too much unbalanced influence. Tne criteria of smallness, simplicity, capital There are two important requirements that must be satisfied if this collaboration is going to work. Firstly, it is obvious that the two parties are going to have to be able to communicate effectively and this will require a form of commonly understood language. Each will have to learn a little of the other's terminology and at the same time reduce their own use of special jargon. It will take some time before this gets smoothed out. The second need is for the non-computer person to be able to communicate with the machine in a language that is natural to use and which can express the notions peculiar to the particular application. To start with the computer person will probably act'as a go-between but in many cases the lack of immediacy will be unsatisfactory and a special language for direct communication will have to be implemented cheapness, and non-violence serve as a useful guide on the machine. step is to find out more about the and its social implications. in this area are ~~~~~tJt:b~in Discussions with others expand the base of knowledge and refine viewpoints. Try to keep a broad view of one's activities so that technical considerations are balanced by human concerns; so that people don't,.get lost in all the bits, bytes, and bauds. Follow Schumacher's four principles in developing both hardware and software systems. In creating new hardware components other people with similar needs will benefit most if the design is kept simple,and inexpensive. With software development, concentration on high-quality, welldocumented, transportable programs, though quite difficult to achieve in practice, will likewise re'sult in widest benefit. Programs should treat users well by being polite, by providing learning .aids, good error handling and clean interfaces. Increasing the sophistication of programs in this way may require considerable extra effort and contradict to some degree the aim for simplicity, though. imaginative approaches are.often able to overcome dileriunas of this nature. If a program is worthy of the attention of other people software exchanges and publications like Dr. Dobb's Journal are a good way of making it ava11able to 't!iiiiiCheaply. This too Can be expected to take much time and effort. In short then the message to the concerned computer person is to get involved with individuals or small groups, (artists, musicians, writers, teachers, business people, cooperatives) that one supports and work with them on mutually rewardin9 projects. The going won't be easy but it will certainly be stimulating and, contribute valuably to the future positive and beneficial use of computers. Suggested Applications Hand-in-hand with these non-computer people there are a number of promising applications that are worthy of attention. Some are conventional applications that can be adapted to a smaller scale, while others are fairly innovative. Many have already been tried in one form or another, with varying degrees of success. FIRST COMPUTER FAIRE PROCEEDINGS VII. Many small projects involving design (e.g. boats, solar energy, insulation, etc.) require calculations appropriately done with a micro-computer. For example in Ontario a van , equipped with a computer goes around to small businesses and helps determine BOX 1579, PALO ALTO CA 94302 CONCLUSION To return to the question posed originally, "If small is beautiful, is micro marvellous?', the answer must be: Now? "No!" , the insulation needs and potential energy savings. "Yes~", Sut perhaps if we make it so. Process control A small machine shop may be able to use a microcomputer based process control system to permit the easy set-up of relatively small production runs and the convenient incorporation of custom modifications. The savings in re-tooling costs could allow the shop to remain competitive with larger operations. Bookkeeping Small businesses, theatre groups, farmers all need to do a certain amount of bookkeeping and often have neither the time nor inclination to do it themselves nor the money to hire someone else. A simple micro- computer based accounting system may be just what they need. In Canada, the government provides an inexpensive nation-wide accounting service to farmers. There is no reason why this sort of thing cannot be done on a local basis with a small computer. Aids for the handicapped Handicapped people, particularly those who are blind or dea'f, need to have s.Emsory information converted to a different form before it can be perceived. A small microprocessor unit could be very appropriate. Also some deaf people, because they cannot use the telephone in the conventional manner already .have teletypes in their homes so they can communicate with one another. Adding computing power to their terminals could make them more useful and interesting. Biographical Details The author, Andrew Clement, was born in England in 1947 but emigrated with his parents to Canada before he could remember anything. They settled Art in a semi-rural area near Victoria, B. C. where The potential for application of small computers in the arts is very broad. Computer-based "music-boxes", animation, stage-lighting, sound synthesis, graphiCS, poetry have all enjoyed a measure of success. Garnes Garnes are fun and, if designed with care, can be educational - not only for the programmer but also for the player. Gaming is probably the area that has received most attention from computer amateurs and there are already plenty of games around. A great number of these are one-person conflict games and there seems little need for more of them. Garnes that involve several people, that depend on cooperation or negotiation, that teach useful skills or encourage the understanding of important processes would all be worthwhile and provide balance to the scene. Game the young lad spent most of early schooling. Eventually he made it to the University of British Columbia, graduated in 1968 with a B.Sc. in Honours Mathematics. There followed a two year period in which he taught mathematics and physics at a Malaysian secondary school as a c.u.s.o. volunteer. Upon his return to Canada, Andrew re-entered U.S.C. and received in 1973 an M.Sc., mainly for having managed to complete·a thesis with the title: "The Application of In'teractive Graphics and Pattern Recognition to the Reduction of Map Outlines". He continued research into interactive computer map- ping and developed a geographical programming language known as INTURMAP. He has also been busy with non-computer people experimenting with interactive public-access information retrieval systems. The first one was known as the Community Information System and provided a file on social service agencies in the Vancouver area. The second system was Community Memory, which was based on the San scenarios could be taken from realistic situations such a ecological systems, government, mathematics, land-use, physics, transportation and so on. of INFACT, a Vancouver community computer service Information/Communication of "humane computing" with a grant from the Canada Many small organizations have filing systems that would be greatly improved through automation, if it was sufficiently cheap. Not only would the routine some way. Avenue, Vancouver, up-dating chores be much easier, but wider access to at (604) 874-6740. Francisco prototype and operated under the auspices society. the information in the files would be facilitated. Council. Andrew is presently working on a survey He would very much like to hear from anyone wishing to contribute to the survey in He can be reached by mail at 789 west 18th B.C., Canada, VSZ lWI, or by phone Richly cross-indexed directories and catalogues would be produced quickly and more frequently. Acknowledgements Mailing lists, in particular, are a prime candidate for this type of application of micro-computers. Exciting possibilities open up when systems of this kind are set up that allow direct access by a whole community Of all the many people who have contributed information and ideas that have found their way in some form into this paper, I would like to of users. especiallY thank Efrem Lipkin, Abbe Mowshowitz, and my colleagues in INFACT for the numerous, stimulating conversations that I have shared People can not only get out previously stored information but put their own in as well. The system thus serves "as a memory and oanmmications medium for the community. In fact, the first two prototypes were called "Community Memory". The original one operated in the San Francisco area and was later "cloned" to Vancouver with the help of the author. Both versions used large time-sharing computers and work is now under way on stripped down versions that will run on portable micro-computers. with them. Gratefully acknowledged also are the contributions of Ingrid Wood and Jan Morton, of the Community Planning Association of Canada, for the typing of this paper, Rennie Wiswall, for the cartoons, and the Explorations Program of the Canada Council, for the financial support that has allowed me to become better acquainted with the field of "humane computing". This list of suggested applications is quite incomplete and unspecific, but it does give an ideas of some of the things that an individual or group with time, energy, and a small computer in their hands could fruitfully undertake. They all represent promising steps in the development toward a humane and powerful technology. Bibliography and References These are some of the books and articles that relate to the subject of the social relevance of micro-computing. PAGE 47 FIRST COMPUTER FAIRE PROCEEDINGS BOX J579.PALO ALTO CA94302 Ken Colstad and Efrem Lipkin, community Memory: A Public Information System. Pr~nt of a paper presented at the Computer Science section of ' an IEEE conference, San Francisco, .February 1975. E_rich Fromm, The Revolution of Hope: Towards a Humanized Technology, Harper and Row, New York, 1968. .. Karl Hess, Community Technology SPARK, Vol. 4, #2, pplO-15, Fall 1974. --- Ivan Illich, Tools for Conviviality Harper and Row, New York, 1973. Learning Research Group, Personal Dynamic Media, Xerox - PARC Publication, 1976. Abbe Mowshowitz, The Conquest of Will: Information Processing in Human Affa1rs, Add~son Wesley, Reading, Mass., 1976. Ted Nelson, Computer Lib/Dre~ Machines, Hugo's Book Serv1ce, Ch1cago, 1974. Victor Papanek, Design for the Real World, Thames and Hudson, London, 1972. E.F. Schumacher, Small is Beautiful: A Study of Economics as if People Mattered, Abacus, London, 1974. E.F. Schumacher, Technology and Political Change, Reprinted from Resurgence in RAIN, Vol. III, #3, pp8-l0, Dec. 76. Joseph Weizenbaum, Computer Power and Human Reason: From Judgement to Calculation, Freeman, San Franc1sco, 1976. Norbert Wiener, The Human Use of Human Beings: Cybernetics and Soc1ety, Doubleday, New York, 1954. Mike Wilber & David Fylstra, Homebrewery Software Priesthood, BYTE Magazine, Oct. 1976. VB. the. PAGE 48 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 THE COMPUTER IN SCIENCE FICTION The computer in Education Dennie L. Van Tassel Computer Center University of California Santa Cruz CA 95064 since the computer is so ubiquitous in our life it is not surpr1s1ug it is a common character in fiction and poetry. The main thrust at this aL"ticle is about computers in literature, but! will mAntion a couple robot books for those interested in robots. There are several common motitfs in computer related literature. The first is the computer run society. computer Dun Society In This tYPe of story the whole society is run by a computer. l\oD"rt Heinl"in'r; !hs: !122ll 1l! i! Harsch Mistress is an excellent beak about a colony oii--"tiie--iiiooii-- which is run by a friendly computer. H.inlein's book is unusual because the computer is good. Meinlein' s other books are som"wha t compu tor oriented and are all yood, especially 2im2 ~nQyqh t5:I PAGE 49 19,!~. Usually the computer is evil. D. F. Jones has two books £21Y§§Y§ and Ih~ fi!ll 2i ~2l~2§~2' In these books the computer ruthlessly runs the world. The book was also made into a movie called The [Q!Rill f!£j~£l. Kurt Vonnegut's £bi!Y~£ gii!li2 about a society where ~ll work is done by machines and only the privileged all allowed meaningful jobs. Everyone else is reduced to make-work and welfare program. -is In Ira Levin's :n.!l! !!~!:f££!: J;i!1 W~ again seA a computer run society which is very unpalatable to humankind. In Levin's book tbe computer completely ccntrcls everyone, including their work, sex, and friends by a combination of drugs ann surveillance. one more story along this line is E. 11. Forstp.r's "The lIachine stops", where we lta ve it computer run society and people have no control over how it is run and even forgot how it was started. In this story the computer tries to be a benevolent despot and fails. Challenging the Gons The next common motift is humankinds attempt at something previously forbidden, and failing. LiKe the old myth -- if you challenge tne gods you are 'Icing to gP.t it in the end. Old hooks that fall in this motiff are I!:sll!~ll§!:~lD (must reading for comfuternik~ and Capat's play B£ Q£ 1& Next we have Michael Crichton's excellent book !h~ r~IID!nal HsD. Some doctors install a computer in a mentally sick man's head to contrel him. rveryone gets what they deserve in this fast moving book. Crichtor,'s other books are excellent too. The opposit~ is done in J;ll§ll!.l!~J! ~!l!j!!§, by Eando Binder, where human brains are implanted into computers to control the machines. flumor Humor is rather rare in literature and life but there is some good computer humor. Ih!! :all ltllI! by Michael Frayn is about aO computer research institude where the researchers try to write literature, simulate sex and sports, and teach a computer sorue "thics. The book is very funny and 'on" might even think of some known research institude when reading the book. Another humorous book is John Barth's !il!~!! !i2i!!.=Al21, which takes place on a la rge college campus, where opposing sides, using computp.rs, war for control of the campus. In David Gerrald's !hS:I! !!lI!!i~ liS!! Qll!l we find an adolescent computer with all the humor of an immature genius. The fictional computer assumes various positions in education. In "Cybernetic Scheduler" by Ed d Doerr; (i n Van Ta ssel' s IJ;;fl a cOmpu ter is ~iven responsibility for scheduling all teachers and classes. But chaos develops when the computer informs some of the teachers they are unsuited for t.eachiny and should in fact be taking classes themselves. In addition students are advised to change majors aLd drop out of school. In B.C. Weir's "What Happen to the Teachiny Machine" (in Lewis's Q!!A!11 people have forgotten how to ask questions because of teaching machines. In Isaac Asim,ov's "The Fun They Had" (in Asimov's aalII school children do not go to school, but stay hOlle with their teaching machine. Two lonely children wonder what it was like to go to school with many other children. computers in sports Computer use in sports is rather rare in literature. But there is a ycod humorous book, !!!.!l. 1s§! !1i!ll l§ Q~!: by Marvin Karlins, where we find a c em pu ter run baseba 11 team. 11Hl Ja!l£!.£2111£ Q!Yl!!.ei.£§ LY Hal Higdom is another book about computer use in sports. A good anti-machine book is Samuel Bulter's In this book written in the 1890's a society destroys all machines less machines dominate humankind. In Ih~ Il!l~ 2t 1h!l ~ig J;;21!!EY!:~! by Olaf Johannessen, we have a society where computers are the dominant species and the computers gives its view on the historical place of humankind. Other Books ~~!l~h9!!. There are several other books besides this one that have some computer related fiction. Groff Conklin's ~£i~!!£!l. 1!£!:i2U Ihin!l11g !1l!£hlU~§ contains both computer and robot fiction. Damon Knigh t' s Il!jl H~U! a!!!.i!£ is a sillilar antholo~y. Ih~ £9!!!.el~il!: £2!E~!~~ by Dennie Van Tassel is textbook reader about cOllputers which contains both nonfiction and fiction, including some computer related poetry. ?obert Baer's lh~ Qj.gi1!l Y!!lli!U is a nice little book which has a section on computer related fiction. £2l!!E~!~~L £9l!!2~!:!l!L £2!!!EY1~!L I!!.!l. ££!!!EY!£! !n Ei.£!i.2U aUg ~!§£ by Dennie Van Tassel is an anthology devoted entirely to computers in fiction and verse. ~his book also contains soae songs tram the IBM songbook, which was used the 19110's. Qt tts:U sUg tti!£h!n~§ by Arthur O. Lewis Jr., is an antbology ahout human beings relationship with machines. Finally check Marcia Ascher's n lbU ogra ph y a t the elld of this chapter. Many pf the followillg books in my bibliography have been through both hard cover and soft cover editions but I will mention the edition I have. !libliography "Computers in Scienc" Fiction". £21!!.e~1~!§ ling !Y!2!!!s!:19D. November, 1973. 11 sche r, Marcia. A sillO v, Isaac H£ti211 Il!!~§. and Grotf Conklin. §h2!1 §£i£n£~ New York: Collier Books. 1963. Baer, Robert M. 1l!!l !ligH!l Massachusetts: Addison-Wesley 1972. Barth, John. Co. 1966. B inde r, g11~§ Q2~1=~2I. Ea nd o. !ills!n. Reading, Publishing Company. New York: Doubleday Avalon Books. 1965. (;onklin, 11!£hl!!~§' Crichton, Groff, ed. 2£i£!!£~ fi£ti2U !h!n!lng 19511. New York: Vanguard Press. Michael. FIRST COMPUTER FAIRE PROCEEDINGS A!fred A. Knopf. 1972. lh~ Frayn, Michael. 1965. BOX 1579. PALO ALTO CA 94302 Gerrald, David. Ballantine Books. Iii I~I. New York: ..hen .!!s!:li£ 1972. Ace BookH. jj!!.§ 21£. New YOJ:k: Heinlein, Robert A. lh£ 1221 i§ s Harsh Mistress. New York: G. P. putnam·s-Berkley.--19is.-------Higdom, Hal. Ih~ tl££1!:2Ii£§ Ql1!Ei£§. Avon Books. 1973. Jerrold, David. ~h~1 .!!a!:11£ Ballantine Books. 1972. New York: New QI~' !!!.§ J ohan nesson, 010 f; Ih£ Ial1l 21 .th£ Q1g Nell York: Coward-McCann, 'INc. 1968. Jones, D. F. Sons. 1966. £21Q§§!!§. New York: £Q.!!l.E!!1~!:. Putnam's G.P. ran New York: Jones, D. F. Ih~ 1974. G.P. Putnam's SOilS. Karlins, Ma rv in. lh£ l,a§1 !lall i§ QJU" Cliffs, New Jersey: Prentice-Hall, Inc. Knight, Damon. Books. 1968. Ih~ !I~.ti!l New !h£ Van Tassel, Dennie. £Q!£Y!1l£L £QIR!!.t~!: in ri£1i2D Thomas Nelson Inc. £Ql!!~1£i!1 Science 1977. allg Famdon !li!£hiD~§' New £2l!!£!!1~!:. Research £2U!!.t~I:.L !£L:2~' vonnegut, Kurt, Jr. g!i!l~!: giang. Reinhart and Winston. 1952. Belmont York: Lewis, Jr., Arthur O. 21 !!~n ilD9 York: E. P. Dutton Co. 1963. Van Tassel, Dennie. Alto, California: 1976. Englewood 1969. New York: lll!!i!£· Levin, Ira. ni§ g!u:f~£1 1!i!1. House. 1970. I!~ York: Palo Associates. COJU!.!!.t£n New York: New York: Holt, PAGE 50 FIRST COMPUTER FAIRE PROCEEDINGS COMPUTER POWER TO THE PEOPLE: THE MYTH, THE REALITY AND THE CHALLENGE BOX 1579. PALO ALTO CA 94302 PAGE 51 puter projections had anything to do with his defeat but, in fact, his fear was that by the time the voters went to the polls in the western states the major national election was locked up. In 1976 it wasn't quite locked up by the time they went to the polls, but frequently it is and therefore-people may say "why bother" or "gee, there's a bandwagon; I want to David H. Ahl, Publisher Creative Computing Box 789-M Morristown NJ 07960 The following is a lightly edited transcript of a presentation originally given at the "Man and the Computer" symposiwn at Dartmouth in December, 1976. Modified versions have also been given at several other educational and hobbyist conferences. Some 80 slides and graphics are used in the live presentation most of which, unfortunately, cannot be reproduced here. INTRODUCTI ON We all know that computers are around us, they're invading our lives along dozens of dimensions. We see them in super markets - the little product code that you find on the side of virtually every food and grocery product you buy can be read by an optical scanner connected to a computer. Computers in department stores - a little "magic" wand, actually a tiny laser device, reads a product code from the tag. Medical facilities - hospitals frequently keep all their patient records on computers. When you're admitted you often undergo some kind of questioning process. One psychiatric hospital out in Utah takes the entire patient history, and in fact, does the preliminary diagnosiS of all entering patients by means of an on-line computer program. College admissions, for instance, Fort Lauderdale Community College, and hundreds of others use on-line computers. Every time you pick up the telephone and dial it you're actually using the largest general purpose computer in the world - the switched telephone network. Magnetic ink character recognition in the bank; sports stadium score boards; and so on. My premise is that now, some 30 years or so after the invention of the computer, it's having a tremendous impact on our lives. It is having an impact on our lives similar to what the printing press did, but instead of taking some 400 years to make its effect known, the computer is having a vast effect in something like 20 or 30 years. We just can't escape it. So some thirty years after the invention of the computer we decided it would be a nice idea to find out what people think about computers. Do they view it as a master, a slave, a dictator, a get on it and vote for the winner." Or, "I was going to vote for the other guy, and he has lost, so I can't be bothered going to the polls." Well that may not affect the outcome of the national elections, but it has a tremendous affect on the outcome of local elections and local bond issues. So, John Tunney at least was pretty upset about using computers in the forecasting of election results. "Computers dehumanize society by treating everyone as a,number." On that statement we had some ambivalence - some people agree, some people disagree - certainly a substantial number of people are a little bit fearful and do feel like the computer is dehumanizing things by treating them as a number. We asked five questions to get at whether people understand the role of a computer. Do they really know what it's good for and do they know its applications? One of those statements was "Computers are best suited for doing monotonous, repetitive tasks." Well 80% of the adults agreed with that although only 67% of the young people did which gives rise to the hope that young people can see that computers are good for doing more than just dull, repetitive tasks. Are computers a tool? Yesa pretty substantial agreement that they are a tool. I think that's a good thing. But I think it matters a lot whether people view it as an intellectual tool or whether they are thinking of it as a plain, ordinary tool such as a hammer, for example. =1111111111111111111111111111111111111111111111111111111111111111111111111111111111111 : §= = -= = ~= = : AOUL T (N-3001 Stro'IIIIY or Mo.tl'l Stro",ty or Ment/v: Impact on tho Quality of Lif. •Computer Computers will improve education. • Computers will improve law enforcement. A,86.6% 81.9 Di..,,.. 5.9% A,," 84.2" 70.0 D '4.5" 10.1 • Computers WIll improve health care. • Credit rating data banks are a worthwhile use of computers. 78.6 64.2 5.3 13.4 54.1 11.9 64.0 7.6 91.6 4.0 66.8 17.7 Computer Threat to Society A person ,today cannot escape the :: Computer polls and predictions ioflu- repetitivA, monotonous tasks. • Computers are a tool just like a hammer or lathe. • Computers slow down and complicate simp'e business operations. Computers will replace low-skill job. and create jobs needing specialized =. = = _ = =. :: =. = -= . _ 48.1 27.5 44.2 28.9 37.4 50.3 39.9 30.8 18.7 62.6 20.9 42.S 80.0 10.3 51.0 21.8 anea the outcome of elections. Computers dehumanize society by treating everyone as a number. Computers isolate people by preventing normal social interactions among users. - ~n;::;::::;!r~~::~:~;;::~: First of all we asked some questions about what you might call the quality of life. Did people feel that the computer was going to improve various facets of society? Well, for the most part, there was pretty good agreement that computers would improve education somehow, a very substantial agreement that computers would improve law enforcement, a little less agreement, particularly among younger people, that computers would improve health care; and some agreement that computers are worthwhile for prevention of fraud through credit rating data. This last one is interesting. The question was asked in the AFIPS/Time Magazine survey just four years before this one; the percentage of people that felt credit checking was a good application dropped from 74% to 64%, so 10% more people today have some doubts in contrast to four years ago. I guess in four years many people have gotten stung in one way or another by credit ratings or other foul"ups. We asked some questions about the threatening nature of computers. Do you feel you can escape the influence of computers? Well people for the most part felt that they couldn't; a surprising number of young people felt they could - I'm not quite sure where they were going to go to do it, certainly not the United States. There was some feeling, particularly pronounced among west coast respondents, that the computer could influence the outcome of elections. Senator John Tunney of California was one of the biggest critics of the use of computers to forecast the outcome of elections. Senator Tunney, if you'll recall, was defeated in November, 1976. I'm not sure if com- 3.3 influence of computers. =. = =. THE MYTH 72.6 14.7 81.3 23,4 17.6 68.4 11.4 68.8 71.0 15.0 61.8 14.11 8S many jobs = Computers are beyond the understanding of the typical person. Computers make mistakes at least 10% of the time. :_~:_ . :'~~~~~~;::.~e~':":::~~ :;.~e:~.'.k", • It is possible to design computer systems which protect the privacy of = - 5===_-: = = = = == -=_ = _ training. Computers will create as they eliminate. = 5: = = = = = E .: 62.5 16,4 40.0 29.1 25.2 61.6 30,8 49.2 9.6 76.7 10.3 60.0_ UnderulJnding of Computen _ --= = ~= = = Strongly or Mostly =. = =. monster - in fact, do people really understand what the computer is all about and what it's good for? We took a survey among both adults and young people with 17 different questions. We posed statements and asked them "Do you agree with this state~ ment or disagree?" and got their responses. We also had some open ended questions and we continue to ask people open ended questions. Like, "If you had a computer in your home, what E===_-= would you do with it?" YOUTH (N-5431 Strongly or MOItly :: _ i = 5 STATISTICAL RESULTS OF SURVEY OF PUBLIC ATTITUDES TOWARDS COMPUTERS IN SOCIETY _ 67.0 19.3 7:L3 13.3 60.2 26.4 48.6 15.9 data. :11111111111111111111111111111111111111111111111111111111111111111111111111111111111111 ~== e= Do computers slow down and complicate simple business operations? Some people felt that they did - I'm not quite sure who. There's a substantial agreement that computers are going to replace a lot of jobs and create jobs that need specialized training, and some people really fear that they might not be qualified for the jobs that will exist after the "computer revolution". Also on the jobs issue we asked whether people feel that computers will create as many jobs as they eliminate? About two-thirds agree but that leaves a fair number that disagree. You have to remember that people have 'always been fearful of any kind of industrialization or technological breakthrough. The Luddites were anti-technology - to them the FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 industrial revolution meant the machines were going to take all the:.jo,bs. Well, it just didn't quite work out that way, and don't really think computers are going to take all the jobs either. Then we asked a couple of questions to'see if people really understand the computer itself. We first asked are computers beyond the understanding of a typical person? The response was mixed. At least a quarter of the people think that they are beyond their understanding, but I'm encouraged by the larger percentage of people who disagree. "Computers make mistakes 10% of ,the time." You have to feel sorry for the 10% of the people who do think that computers make mistakes this often. In fact it is the programmers and operators who make the mistakes and not the computers. But in these questions we gleaned a little bit of intelligence that someplace between 13 and 19% of the people just actually don't know what's happening, don't know what computers are all about, and don't know who's running them. They think the computers are running the people rather than the other way around. A substantial number of people just don't know, which is also upsetting. So, there's a substantial portion of our society - at least a third or so - that just doesn't know some of the fundamental issues and facts about computers. We asked one last question - is it possible to design computer systems to protect the privacy of data? Wellnot even the computer designers know for sure so I don't think we could expect much from people that we asked. So all in all, we have some ambivalence - people optimistic on some counts and pessimistic on some other counts and some other things that they just don't know. The ignorance is probably most apparent when you ask someone what would you do if you had a computer at home? A computer? What do you mean a computer? You mean like a'hand calculator? Some people thought we ,meant robots. "Well, maybe I'll have it serve me martinis when I come home from work." They just couldn't quite visualize a computer at home. A computer is supposed to be something that goes behind glass doors and is on raised flooring and requires a lot of electricity." I don't have the kind of home that would suit a computer," said one. . I guess this mixture of attitudes 'really shouldn't be too surprising. The every day perceptions of a computer are formed by people in the media and elsewhere who really don't know what computers are all about either. For example, newspapers, comic strips, TV, and so on. For example, what dOeS a newspaper' cover? They're going to report the computer error - the problem with the computer. For example, how many of you read a couple of months ago about the Shop-Rite in Springfield, New Jersey with brand new laser scanning systems at the checkout? This was the grand opening day and they really crammed the people in. I mean they had hundreds of people all filling their carts with these grand opening specials. People were lined up at the cash registers with two and three carts each laden with groceries. Seven or eight deep at every cash register and all of a sudden, bang, the system went down. Well, not only did it go down but it locked all the cash drawers. So there was no way of making change. They couldn't use the cash registers manually. There was just no way of opening them up. Rumors started flying around - people said, "The cash drawers are locked; the doors are going to lock too; we're going to be locked in here forever." And then there was a rumor that a replacement computer was going to have to be shipped in from Texas and they'd have to wait until it arrived! It was wild. Finally the manager decided that the best course of action was to give each checker a pencil and some brown pap,er bags which were at the checkout position, and have them add up manually the groceries in these laden carts. People were there for literally hours. The interesting thing is they ,did not lock the doors and more people kept streaming in. They didn't want to lock the do,ors because of this panicky rumor inside the store that if we lock the doors we might be stuck here. They didn't want to start a riot. Well anyway the newspapers had a field day with the story. Most of you have heard about the frivolity out in Southern California when McDonalds had a sweepstake. To enter, all that was required was a 3 x 5 card of your own. Students at one fraternity programmed the computer to produce entry forms - 1.2 million of them and then they stuffed every ballot box of McDonalds in Southern California. They won ,90% of the prizes in the contest. McDonalds was very upset about it - they said it was anti-American. I think it was very American; it showed a lot of ingenuity and creativity. In fact, McDonalds awarded duplicate prizes to people that were not members of this conspiracy to defraud them. The winning fraternity invited Ronald McDonald to make the prize presentations over at their fraternity house for dinner, but he declined the invitation. Actually, Burger King got the best publicity out of this. They gave a $3,000 scholarship to ,the university in memory of the prank. Again, the newspapers had a wonderful time blaming the PAGE 52 whole ,thing' On a, computer. A college student at the University of Arizona insured the life of his guppy. He put down all ,the correct information on the mail order insurance form - height 3 centimeters long, weight 30 centigrams and so on. It died of course, as most guppies do, some four or five months later. He submitted a claim for $~,OOO which was what he had insured it for. The insurance company said it was an invalid claim - the computer made a mistake by accepting this party. Well the computer hadn't made a mistake - it was a programmer who hadn't allowed for somebody that was 3 centimeters high. It wasn't the computer. But the newspaper, how did they portray it. Sure'another computer error. In Swansea, Wales, a young man of 17 applied for a drivers license and passed his test shortly after. But when his license arrived, it bore 12 ,endorsements for a whole array of driving offenses, plus a 28-day driving suspension, Police proved sympathetic when it was found that "the computer at the license office had run wild. The system has not been operating for long," said an official. There was a cute little notice printed recently in the Chicago Tribune. "A COMPUTERIZED bill had this notice on the bottom: Failure to receive this bill is no excuse for nonpayment of the amount shown." Why capitalize "computerized"i Does that mean the computer printed that notice on the bottom of the bill. As if the computer could have made that up out of the blue sky? The computer is the scapegoat for the post office now - that's what's really happening! A woman in Shreveport, La. got a gas bill for $42,474.58. A customer representative at Arka Gas Co stated, "the computer went haywire and some of 'those bills got out." Computer error? Hardly. Good for the newspaper? You bet! Movies are another way that people form perceptions of the computer. For example, in 2001, remember when Commander Bowman finally gains access to the memory banks after Hal has been harrassing him for half the trip and he yanks out the circuits one at a time. Finally, Hal breaks down as Bowman performs the first successful interplanetary lobotomy. The movie Colossus have you seen that one? Colossus "wakes up" and gains sentience very much like the computer did in Heinlein's book, The Moon Is A Harsh Mistress. Well, Colossus gains it while itrshooked up to its Russian counterpart. The computers are in charge of the National Defense Systems of both countries and the two computers decide between them that it would be kind of neat if they held the population of both of their countries hostage. A movie that will be coming out shortly called Demon Seed has a computer in it, Proteus IV (appropriately named) equipped with an ominous blue arm enforcer with which the computer keeps people hostage, mainly Julie Christie in the movie (that probably makes it worth seeing even if you don't like computers). Three movies and three impressions of computers all false. Some people get their images of computers from books (not too many because not too many people bother to read books anymore). Science fiction writers are probably the one group of writers in the country that are portraying future computers uses reasonably realistically and making some half decent speculations. Unfortunately, very few people read science fiction so we don't have to worry about 'many people getting a realistic view of computers from that source. So, consequently we know a little bit from the survey what people think about computers and little bit of how these impressions were formed from my rather incomplete discussion of it, but I think you can fill out the missing pieces. We know too that if we ask the average person what would you do if you had access to a computer or if you had a computer in your home he really doesn't have a very good idea. In fact neither do many professionals or manufacturers. The fact is that we're really not very good a forecasting the future. We really can't and never have forecasted future technological innovation or invention very well. Back around the turn, of the century who would have forecasted life today as it actually is? In those days the best guess of what the Panama Canal would be was a railroad pulling ships across the isthmus. Back in those days it probably seemed reasonable. I'm sure if the Wright Brothers had asked the drivers of ox carts what they would do with an airplane, they probably couldn't have given them a very good idea. Henry David Thoreau, one of our leading philosophers commented when he was told that the telephone would permit people ~n Maine to talk to people in Texas, "but what does a man in Maine have to say to a man in Texas?" THE REALITY It's pretty clear that we can't forecast 70 or 50 or probably even 30 years very well, particularly with a high technology item such as a computer. So let's just look 5 to 10 FIRST COMPUTER FAIRE PROCEEDINGS years into the future. Even so, we can't foresee exactly when everything is going to occur. We would certainly expect that processor instruction speed would continue to increase very rapidly. Packing density will also continue to dramatically increase. Currently, we are within two orders of magnitude of the human brain. Actually, the theoretical limit for semiconductor devices is packed more densely than the human brain. DIGITAL CAPACITY AND COMPUTING SPEED 1017. bits I add time CIIC.) 10 1 10 1 10 1 IBM NORC 1010j '09 i lAS JOHNNIAC IBM 701 t-:,oc':~!~~ MIT WHIRLWIND I ,OB UNIVAC I EDVAC ~ hVbrid eSEAC 107 ENlr 1()6 "Jan.stors vacuum tubes 105 HARVARDMKI digital and analog ,04 '940 1960 '950 1970 Currently, bubble memory circuits in Bell Laboratories about 1 centimeter square will store about 1.5 million bits. lcf ...0 ~ lOOK Z 10K I!! ::;) IL 0 a:: w III :IE lK ::;) Z 100 10 lL-__ .01 ~ .1 __ ~ ____L-__ 1 10 ~ 100 __ ~ __ lK ~ 10K SELLING PRICE ($0001 OF CPU PLUS MEMORY Coupled with miniaturization, prices are rapidly falling. Let me tell you that more than one manufacturer is a little bit alarmed at the projection of hardware prices approaching zero. The indication is that as the prices come down the numbers of units sold go up very dramatically. This applies not only to calculators but to computers as well. What happens as prices come down? What do you think the value of this ratio is today? Cost to program line of code line of code Cost to execute One hundred to one? A thousand to one? Ten thousand to one? Wrong. IBM says the ratio is 100 million to one and that was two years ago! Given the current increases in processor speed, it's probably a lot more than that today. What that indicates of course is that the human element is by far and away the most important thing in computers and technology today 'in making them all work. ' So what does all this mean when you put all this technology together? Well, obviously it means smaller terminals, terminals that fit in your pocket. Sophisticated and very small color video cameras. Calculators with as much power as a computer of 20 years ago. Hobbyist computer kits that are within the price range of a quarter of the households in the u.S. Close to 30,000 hobbyist computer kits have been sold as of the end of BOX 1579. PALO ALTO CA 94302 PAGE 53 1976. Technology means people talking to other computers and terminals or new high speed terminals or plasma panels that are built into your phone. A panel that can be written on with a light pen or typed on; or display information from a computer, data bank, directory, or from local storage. ' Today there are over 100 manufacturers of personal computers and periperals. At Creative Computing we can't possibly keep up with all the new product announcements for new hobbyist computer kits and peripherals. We started a new product section in early 1975 and the hardware portion was about one page. In the Jan/Feb 1977 issue it ran 9 pages of close spaced descriptions of new hardware. It's a revolution. Two hundred computer stores open now and a new one opening every four days. Retail ,computer stores where you go in you can buy yourself a micro~ processor, a computer kit, or peripherals. Extensible, user defined, simple languages are being developed. Harvard has a new language called ECL. It's not like today's simple language, say Basic or Logo. ECL doesn't use constructs that have to be absorbed into your intuition but rather you use concepts that are already part of your intuition, part of your language and then you construct the computer language out of that. Whether you're a banker, a baker or a professional programmer you can produce a computer language that does exactly what you want. Out at Xerox Palo Alto Research Center they've got a thing called t.he "Dynabook". The original idea was that Dynabook should in every way be better than a book. It can display printed pages on its screen: black on white, white on black, red on green, etc. It can display pages in any style and size typeface. If you have some visual problems and you want a page in large type, it displays it in large type or'for reference material it can use very small type. Not only can you read things but you can write things on it. You can just draw a circle around a word and move it to someplace else with a little arrow and the computer moves it for you. You can edit your material from a keyboard if you'd rather. You can strike over lines and they disappear. The next eime you push a'button you get all you text nicely justified on the screen. Actually, it's better than a book in every way because you read it, you can write it, and you can change it. It's also better from the graphical sense. It would be nice i f the illustrations in a book could move (kids love little, pop-up picture books). The illustrations on Dynabook can move with full animation. In fact not only can they move the way that they're programmed to move, but if you'd like them to move in some special way, you simply take your light pen and draw over the illustration and let the computer sequence through your frames. This is reality. This is here today. It's not quite the size of a book today; it's about the size of 3 bread boxes, but it's not going to be too long before it is the size of a book. In addition to having book qualities, it's also a general purpose computer with the ability to do parallel processing on eight different levels. When you think of it, that's the way human beings think. When I'm walking alone, for example, one part of my brain is thinking about putting one foot in front of the other, another part is thinking "it's cold out I'll be glad when I can get inside," another part is thinking about the speech I'm going to give tonight, still another is thinking about the beer that I'll have later on and so on. So your brain is processing information on a parallel basis all the time. Well, wouldn't it be nice if you could have a computer that could do that too and have the output of one level serve as the input to another. That's precisely what Dynabook provides. It's a phenomenal machine. I'd like to think that within 10 years it will be as commonplace as the pocket calculator is today. -- Uoorvo Fill... Ho... CoM,.... " _ I· feel one of the keys for getting computers into the home at least is the widespread availability of cheap high-quality software. One possible vehicJe for bringing this about is the video disc. Quite inadvertently, a stroke of luck perhaps, the storage technique employed by the disc is binary, or digital.. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 Just what's needed for a computer. So while the player will be brought into the home for entertainment, it's real power lies in he fact that if you couple the video-disc system with a microprocessor and keyboard you have incredibly powerful audio/visual/computationaltl'ducational/recreational device. One videodisc can store 10 bits of information, the entire encyclopedia Brittanica for example, or a very comprehensive software library. You could have Jackie Stewart introducing the Monaco Grand Prix, taking you on a pre-recorded ride around the circuit and then turning the controls over to you. Or Kirk handing you the controls of the Enterprise just as the Klingons are about to attack. Or Fran Tarkington coming off the field putting you in as quarterback in the Super Bowl. THE CHALLENGE There's no question that in 5 to 10 years solid state and real ted technology are going to put some fantastic things well within the reach of everyone who wants them. It's equally clear that most people have little idea of what they'd do with a computer if they had one. Hence, we have quite a chasm between the insiders (those who have learned about computers from school, work, or hobby) and the outsiders who don't know much about computers and don't really care (today). It would be nice to think that this chasm could be bridged by education (like the new math or metric system?), but it's not likely that schools will really face up to computers until every kid has his own (pocket calculators allover again). Business and industry are so wedded to large EDP Systems with most DP Managers pretending that microcomputers are just toys, hence we can't expect any help from that quarter. Most likely it will be the people, plain ordinary folks, who see a friend with a computer and decide to get one of their own. And as this increasingly happens, we're going to have the most massive domino effect you ever saw - calculators and CB move over you ain't seen nothin' yet. Computer power to the people is on the way! PAGE 54 FIRST COMPUTER FA-IRE PROCEEDINGS BOX 1579, PALO ALTO CA IM302 PAGE 55 PSYCHOLOGY AND THE PERSONAL COMPUTER Kenneth Berkun 928J Street Davis CA 95616 Computers are useful as tools not just as an end in themselves, but also for two other reasons 1) for teaching or doing things (applications) and 2) for what they can teaoh us about mankind (womankind). 1 will discuss only brei fly the first area, applications, and will spend the majority of my time on the second and perhaps more theoretical area of oomputers providing insiBht to people. The study of psychology and applications of psycholo~y do tie in to computers, and sp~cifically they oan relate to micro-oomputers in the home and in school. For instanoe. the famed programmed text developed by B. F. Skinner which lead to his invention of the teaching machine. A modern example of the teaching machine is the computer. This is evidenced by the success of the Plato system. A micro computer in the home could b~ supplied with a bunch of lessons in prom plug In packages, and everyone being such good little students would flock to use them. Th~y might also be networked with a central processor for record keeping. Then there is a"more esoteric aspect, that of computer counselors. The most famous example of that is Joseph Weisenbaum's program ~lizah, and its "Doctor" version. This program simulated a Rogerian therapist and his active listening approach when talking over a terminal with a person. Very "effective. Sort of frightening too. his views on the program are chronicled in his book "Computer Power and human Heason". And computers have one other advantage in the educational system than say textbooks, they're different, and funl They hook people so that you want to use them. Flashing lights and buzzers may not be necessary but they sure are exciting. So kids may do much more work on a computer than they would anywhere else. This Is a major advantage, at least until they become so common place as to be boring. Now I will discuss the second area, computers as an InsiRht to human behavior. Basic to this is the question of why study human behavior, or why is human behavior important. This" Is not the place to discuss that, I will assume that it is important. If you felt It is not, then you probably wo~ldn't be here. One thins that we've all noticed In computers Is that at times they behave very differently, for instance, someti~es they seem almost parental, scolding us for our errors, and bllljn~ us for their time, kicking us off for exceeding limits etc. At other times it is very serious and gets the work done very efficiently, like a person who is reasoning with logic and care. And sometimes It just goofs off messes around and nothing seems to work, or it literally plays games like a kldl Looking at that 1 see three basic ways humans behave, emulated on their most hunan technological development • This is Important because It points out how man seems to be a technological creature by nature, and society does Influence technology and vice versa. There are a lot of similarities between computer operation and human function. It" is interesting to note how systems are designed that way. For instance human thought processes run very si~ilarly to timeshare systems, as far as central processor design. Also humans have the original interrupt system, as demonstrated by the "cocktail party" effect. I/O is also handled similarly, for instance by ·poillng". ~lth the advent of the micro computer we see a new emergence of the compulsive programmeror haCker. These are also described in Joseph Weizenbauw's book. Now they can live with their computer eat with their computer and even sleep with their computer. Eut is that any diffcrent than say, the compulsive mechanical tinkerer, the ham of the early 1900's, or even the alchemists of medievel daysl Now how does this relate to personal computersl ~irst and foremost it marks the invasion of the computer into one's personal life. gven more the Frankenstein complex Is trigGered. will computers take over the world1 Within ten years ~erhaps, every home will have a computer. We necd to make computers more personal, more human and less scary. If people understana and or can control them then they won't be as afraid. Things out of our control scare us. Therefore t s~e the role of the personal computer as it exists now, the hobby computer, as opening the pathway to general acceptance, if not understanding of computers by the public. Computers are a way of life, more so even than T.V. Ken Berkun is a senior at the University of California at Davis. His major is an individually concieved one consisting "of Computer "Soiencc and ~sychology, and called "Man Wachlne Interaotlon". he Is a computer operator on a Buroughs Bb700 at UeD. he is active at the Davis Counseling Center and the Sacramento Area Institute for Uroup Treatment, where hc Is In training. he is currently teaching a course on public speaking in Sacramento. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 56 HUMAN FACTORS IN SOFTWARE ENGINEERING James Joyce Computer Science Division Department of EE & CS University of California Berkeley CA 94720 This is a discussion of how human factors affect software development and integrity. My interest in this area was first focussed by the article "Guidelines for Humanizing Information Systems" in the November, 1974, issue of Communications of the Association for Computing Machinery. For this discussion I c~arac terize as basic components of software engineering six aspects: 1. Human user interface 2. Maintainability 3. Portability 4. Efficiency 5. Correctness or reliability 6. Ethical considerations Human interface, briefly, encompasses those aspects of a program a user experiences: protocols, error messages (if any), or uncertain silence broken only by the whirring of a fan. Maintainability is also, in away, an aspect of human interface, but from the point of view of someone who fixes or. modifies an existing program. Portability refers to the problem of getting a program that works on one machine to work on another. There have been many discussions of portability, but they center on hardware limitations or software techniques. I argue here that human factors impinge directly on the portability of software. Software efficiency has received more attention than all of the other factors listed here -- either .singly or combined. Gerald Weinberg [1972] has argued persuasively that efficiency is as strongly influenced by human factors as any other component of software engineering. I have combined the questions of program correctness and program reliability because they seem fraternal twin aspects of a central source of worry: how can I depend upon the answers I get? Yet they are separable as well. For example, that the program actually meets all the requirements of the problem is a matter of program correctness [Elspas, 1972], but how often the program crashes is a matter of reliability. The last component of software engineering to be discussed here, ethics, is one that appears the least rooted in reality. QUestioning the ethics of writing or copying software seems as ethereal and philosophical as questions about whether the person who commits robbery is the true criminal or whether the true criminal is Society -- that is, unless you happen to be the one who is robbed. We will examine the ethical aspects of software, particularly fraud and copyright protection, and a possible solution to piracy of software. 1. Human User Interface 1.1. Error 477 Perhaps the component of· software engitleering in which human factors are easiest to recognize is human user interface. Anyone who has been programming for any length of time eventually elicits as output what I call Error 477. Just what Error 477 is remains a mystery, because "Error 477" is the entire message; and even if there is a reference· manual with a table of explanations of the messages, Error 477's explanation is as cryptic as the error message itself. Partly human-oriented messages, such as those by Li-Chen Wang in Palo Alto Tiny Basic [Wang, 19761, are still at the "Error 477" level. His three error messages, "How?", "What?", and "Sorry" are, it is true, differentiated by the kind of error condition that evokes them. And chatty error messages would undoubtedly swell Tiny Basic into something much larger than at present, thus· making it less available for machines with small memory. However, the program could have been quite a bit more helpful if it had printed, in addition to the error message, a character on the line under the Basic statement in question to indicate where it stopped translating. Although no guarantee that the error is truly in the indicated location, it is nonetheless quite a bit of help that can be provided at a small increase in program size. This is not an attack on Wang; I chose Tiny Basic as my example because I admire the job Wang did very much. It is, I feel, one of the better representatives of assembly level coding practices today. Donald Knuth's Turing Award Lecture to the Association for Computing Machinery contains a plea that goes further than mine about error messages; he urges programmers to make programming languages and even control languages "a pleasure to use, instead of being strictly functional." [Knuth, 1974] I fully agree with Knuth's statement, but am willing to settle for good error messages. Objections to the effect that elaboration of error messages would consume large amounts of main memory are, as conceded above, true. But just as writing a program so it will run in a small amount of main memory is seen as a challenge, so too writing a program so that it is a pleasure to use can be seen as a similar challenge. After all, the personal computer movement seems to me to be an insistence that computer technology is not the private domain of institutions -- whether business, educational, or governmental -- but is available to people. It follows, then, that the error messages should not be bureaucratic gobbledegook, but human. Making the human interface relate not to the machine's requirements and limitations alone, but to the user's desires, seems a continuation of the same philosophy that began personal computing. From a strictly commercial standpoint, a large number of potential computer users will not purchase equipment and FIRST COMPUTER FAIRE PROCEEDINGS software until it is easy to use for the person who has never held a soldering gun nor looked up an error message. And we cannot expect people to memorize commands willingly; they will always manage to forget something that is hard to remember -- as they should. A discussion of why people forget would take far too much space here, although some basic reasons can be stated briefly. One is that we forget because there is too much to remember. In a reasonably complex program (the kind we feel good about writing) the individual parts may at one time have been known so well we could recreate the code at will. But by the time we have created a large enough program, the parts we worked on earlier begin to fuzz and fade. This is not due to time, but to attention to something else -- either another part of the program, or another program. Yet time, too, enters as a factor in forgetting. In terms of human interface we may forget (either from time or other pressing details) just how something was to work. Typically this occurs when we are explaining to someone else how to use a program. We forget a detail, a restriction, and if we are lucky we remember it correctly when we are telephoned by the person who believed the first explanation was all there was to it. But surely these remarks cannot be applied to that large number of programs that are "one time only"! It has been my experience that even my most casual program is something at some time I may wish to show off; this, regrettably, does not mean every program is all that good, but that what I wrote as a one-shot program is inevitably something someone else wants to use or do. A well-done program must be able to be used without arcane knowledge. It should even be 'helpful to users wanting to use it. 1.2. Help and Control-d The first test I apply to any program is to input a one-word message: help. A system that cannot help is at the mercy of misunderstanding just as much as the user who receives Error Message 477. Help may be offered in many forms. On large computers I have seen it expressed as a telephone number to call (which is not all that much help at 8:30 pm -- and less at 3 am), a menu of arguments to use with the help statement to receive specialized help (as in "help files" for information on how to move, remove, create, etc.) files, or a short summary of the available commands, or a tutorial without menu. I regret that I have not yet seen a microcomputer program that responds to help other than to issue Error 477 in any of its many equivalent forms. One area of human interface in which microcomputer programs are, on the whole, more advanced than programs for mini or larger computers, is in free-format input. Sometimes, unfortunately, free format is interpreted to be that the data items may be any length, but if they are separated by more than one blank then things will not work properly. Being able to ignore redundant blanks is simple and makes input much easier. Reluctance to make such allowances seems hard for me to distinguish from laziness. Similarly, having to enter commands or data in specific positions is a requirement always for the convenience of the programmer and not for the user. Let me make that point more strongly: rigid input specifications are for the convenience of the programmer writing the program and not when slhe uses the program. Although software for microcomputers is ahead of that for the larger computers in emphasizing free-format input, it shares with larger computers the mystique of control-d. To those of us who are used to the control key on a terminal, a fuss over control-d may seem unwarranted. Yet in teaching naive users (and we were all at one time naive users) to use a text editor I have found those commands requiring the control key with BOX 1579, PALO ALTO CA 94302 PAGE 57 another (and sometimes two others!) the hardest to make into second nature. This isnot to urge a ban on control characters, but to suggest that befortf control-anything is made a command there should be serious thought about other ways of signalling what is intended. The same can be said of the ")off" combination that allows graceful exit from APL; ideally, commands should be something the user can guess rather than something to memorize. 1.3. Guidelines for Interactive Systems. A student of mine [Tossy, 1977] in a seminar on human factors in software engineering came up with several ideas for designing interactive programs so they are easy to use. They are: 1. Command names should be mnemonic. 2. A frequently used command should have a short name or an abbreviation. 3. The program should always accept the full length name of a command, even if a standard abbreviation exists. 4. Both the full command name and any 'standard abbreviations should appear in the index of a user's manual. 5. Make provisions for a user becoming more sophisticated about a program as slhe uses it. 6. Protect the user from the results of "dumb mistakes." He generalizes his rules into two principles: 1. Make the program forgiving; humans make mistakes. 2. Make the program convenient; humans are lazy. What programmers seem to forget, time after time and program after program, is that the two principles apply equally to both sophisticated and naive users -- to you and me, for example. Such concerns lead naturally into a discussion of another factor in human interfacing: that awful wait while the panel lights blink, during which the most hardened of programmers wonders whether the program has found a new infinite loop or is only setting all of main memory to 7s. Much of the anxiety of waiting is not hearing anything. In Samuel Beckett's play "Waiting for Godot" the wait endured by the two protagonists is eternal, unending even when the play ends; but to some extent they are kept waiting by the appearance of Godot's messenger. The message he brings is, simply, wait. Some such message from a program that runs longer than 10 seconds (say) might be a good idea -- as well as the capability of suppressing such a message if that is desired. For the human user's sake there should be some indication the machinery is still working, still "there". Thus I would like to add a third principle to the basic two given here: 3. Make something happen; humans are easily bored or made anxious. 2. Maintainability Strongly tied to human interface with users is the problem of program maintainability. Error 477 enters our discussion again, this time not as a message we have generated but as a system message that lets us know there is something to fix. The first question is not the logical one of "What is it I have to fix?" but "How do I fix it?" If this question seems out of place, we might note that it is really a more sophisticated version of "help!". How do I fix it may be answered variously by identifying the problem and then fixing it, or asking for help in either locating the problem or in fixing it. No one who develops software really wants telephone calls from users who cannot understand why the editor they are using suddenly goes into a loop -- or simply stops. No one who programs FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 wants code written six months ago to stop working. I could be somewhat cynical and say six weeks rather than six months, but it does not seem necessary for the point. There are, no doubt, some individuals who are so good at programming that the very code communicates its purpose to any reader who knows the programming language. I believe once or twice I have known such people; the world needs more people with such ability; I wish I had such ability. And there are some very impressive higher-level languages with block structures that encourage structured programming. Although we know structured programming is not enough to make a program readable, it is evident that structured programming helps readability [Knuth, 1974]. So far, higher-level languages are, by and large, unavailable to microcomputer owners; such languages require too much main memory or an auxiliary storage device, such as a disk, for successive passes of the compiler -- or simply cost too much. Microcomputer programming is done in either assembly language or Basic by and large, and remarks about maintainability are directed toward what is possible within those languages. 2.1. Routine Size In structured programming a key concept is that of breaking the larger problem into modules that are in themselves complete; that is, the module does something. Sometimes we find a module that does too many things, which we perceive as the product of an inadequate application of structured programming. When we are designing a program we may manage to create modules that do too much. How much, though, is too much? I would argue that "too much" is as dependent upon physical size as'it is upon conceptual size of the module. Yourdon [1975] suggests a size limit in his recommendation that "at each level of the design, try to express the implementation of a module in a single page of coding or flowcharting." What we are able to perceive at one time strongly influences what we can process in our minds. Thus modules should never be larger in size than the crt screen can hold, or one 8 112 by 11 inch sheet of paper. My choice of the American standard paper size is based on the nearest hard-copy analogy to crt screen size. I would gladly relax my pronouncement of page size to my true intent, the unit of page size on the hardcopy device, but in the case of teletypes that leads to an obvious absurdity: the whole roll of paper. The routine size of one page or screen includes all comments associated with the routine. There are few things more irritating than flipping between pages or trying to squeeze two screens of code onto one screen. 2.2. Comments Having introduced the topic of comments into the subject of human factors in software maintainability, I think it only fitting to discuss commenting in greater detail. I have heard people who should know better claim that a well-written program needs no comments. It is possible that a particular well-written program -even one in assembly langUage" -- is so clear it does not require comments; yet I know of no technique or language or attitude toward programming that would make comments truly unnecessary. Of course, it is also possible that too many comments can obscure the code they were created to explain. Comments require an effort to write that seems quite apart from the effort to program, and for that single reason they often do not get written. Other reasons a programmer might offer for not writing comments include: 1. They take up too much space in the program. 2. They only repeat code anyway. 3. They should be put in after the code is running or PAGE 58 else they will be just another thing to change during debugging. The list of three is not exhaustive, but it is representative. The reason comments seem to take up too much space is that usually they are not properly integrated with the code; the role they play in understanding the program needs to be essential rather than documentary. If the comments echo the code they will at best be documentary, and perhaps a nuisance to be ignored while reading the code. Bad comments are the result of the programmer's self-fulfilling prophesy: seen as taking up too much space and repeating the code, comments will be produced to do just that. Comments are a feature of programming languages, and like any other feature they should be used when needed. The problem with comments, then, is not in their number or size, but when in a program they are needed. The function of a comment in a program is to help remember what is going on [Weinberg, 1972], and thus they should be introduced as a part of the code. To some extent the programming language itself (excluding machine language) helps us remember what is going on. Commands are imperative utterances to do something; declaratives identify elements in the program, such as variable names, transfer labels, or routine names. Between commands and declaratives we may indicate what is to be done'to (or with) what items, but not why. And it is "Why" that we ask when we read uncommented code: why LAI 002 -- load the value 2 in the A register of the 8008 microprocessor cpu? The activity, though complete enough for a computer, is not complete enough for the human; to complete the instruction it is necessary to supply motivation, a reason. The feature for explaining things in a programming language is a comment. While programming the programmer has the reason for writing particular code in mind. That reason may be the wrong one for the problem, as when we code a bug into our program, but it is a reason nonetheless. Without the reason for the code clearly indicated, the program literally has no reason for "running" in the programmer's mind. The program does run (or at least is emulated) by a human when. the code is read or written: the value 2 is placed in the A register of the 8008 cpu which exists in the programmer's imagination. At the moment of coding we supply the reason, the comment, in our mind; it is, then, an inaccurate transcription of our code to omit keying the comment when we key the command or declarative. As elsewhere in' computing, the term for that inaccuracy is "bug". Further, comments that echo the code are buggy comments. "LAI 002" is not the reason we code "LAI 002". No action is its own reason, even if one is not speaking of computer programs. It is a part of good programming to express the comment as correctly as the command or declarative. This appears to call for a comment for every command or declarative, and for some routines I do not doubt that necessity at all. We also know that there are" many instances in which such commenting would be too much. How do we know? I believe the answer to that question is the same as the answer to "How tricky is too tricky when writing code?" -- another question I cannot answer in words. BUt, through experience, we may learn the answer to both. One technique for creating comments is to think to comment giving reason, command or, command to comment giving reason FIRST COMPUTER FAIRE PROCEEDINGS or, for variety, command because comment saying why or perhaps because comment saying why. BOX 1579, PALO ALTO CA 94302 PAGE 59 mnemonic names should be avoided, but that they are not a foolproof solution to symbolic names. The problem of mnemonic names in Basic is a non-problem in that the names may be only one character in length -- with a $ suffix if the variable is to hold character strings or an expression in parens if the variable is the name of an array. command Naturally, all those tos and becauses would be tedious to see on our crt, and the ability to avoid repetition is a test of our ability to write good code. The important thing to remember is that the function of the comment is to provide the reason or motivation for the code, and we should choose the wording for a comment accordingly. Such an attitude toward comments will undoubtedly make manufacturers of ram, paper tape, and teletype paper very happy and the rest of us pleased at the insight -- but with one more thing to remember to do. There is another real advantage to writing the reason along with the action, one we recognize in other forms of thinking. When something, some problem, is expressed in a form external to our mind we tend to get a clearer idea of what the problem is and are then less likely to make a mistake based on not thinking the thing through. Or, if we do make a mistake, we stand a much better chance of identifying the mistake (and thus correcting it) if it is in a form external to the mind investigating the mistake. In plainer terms, it is easier to spot a flaw in thinking if it is down on paper or up on a crt. This is certainly one function of a project log, used in many large-scale systems development projects and by some of us working on individual projects as well. The value of writing the reason along with the code and rereading such reasons along with the code later seems to be so obvious I mention it here only to have said it. The question I find myself asking (when I ask questions of programs) is "Why is the code there?" I know perfectly well what the statement does (if it is a language I know), but not why it is being used. 2.3. Variable Names Since I am arguing here that the statement and its reason should be represented together in a program, it follows that just as the comments should be written clearly, so should the statement. We generally have no control over the operation code mnemonics in an assembler, but we do have control over the variable names. Everyone, it seems, agrees that variable names should be mnemon'ic -- an aid to memory in identifying their purpose. However, as Weinberg [1972] warns, mnemonic symbols expose us to error because 1. They tend to make programs seem "sensible" by their satisfaction of our general' preference of sense for nonsense. 2. They play upon our tendency to believe in the name, rather than the thing named; consider the seductive nature of a variable named FIVE. What value does it contain? Are you sure? 3. Similar names can be confused; for example, SQUARE for the square of a number and SSQUARE for the sum of such squares differ by only one keystroke. Exposure to error is perhaps preferable to no idea what the variables in a program mean. If names in a program are assigned in alphabetical order of occurrence, we wHi find it pifficult to interpret the value we assign to the variable D. Weinberg's point is not that 3. Portability Mnemonic symbols, meaningful comments, and structured programming are aids to maintainability and also portability. If a program is good it will be one that gets shared -- or rather, one that we will want to share. Even if we are not the sharing kind, it will be one we want to take with us when we move onto another computer. Even assembly language programs can be made fairly portable if there is macro capability on at least the new computer. The human factors in portability may be viewed through three concerns: equipment considerations, relocat!}ble code, and the ability to "plug it in" and have it run. 3.1. Equipment Equipment considerations are perhaps more financial than human factors; but where there is something financial there is something very human at work: a fallacy I call the "Just As Good As" {allacy. This fallacy has several variations: a system with 12K of ram is just as good as a system with 16K or more because if you are good enough you can do anything in 12K; and, this teletype is just as good as the other one with upper and lower case because you really don't need lower case; and so on, with examples being possible from all areas of human choice. We compare what we are willing to settle for (or afford) with what we would rather have, and deduce "just as good as". It is a natural defense mechanism to try to keep us from feeling we have let ourselves down. Of course, "just as good as" is a letdown; the easiest measure of the truth of this is the amount of emotional heat with which someone who has settled for "just as good as" will defend the decision against someone who has the bad manners to suggest otherwise. In personal computing, as in stereo systems and automobiles, our taste (or lack of it) must be balanced by our bank account or line of credit. Computer components are dropping in price, but they are still expensive enough that software requiring 16K and a floppy disk will find fewer systems to run on than one requiring 16K and audio cassette. Actually, the target software for microcomputers presently seems to be an 8K machine with paper tape reader or audio cassette. Even as I write this I am aware that equipment costs are bringing "just as good as" and "would rather have" closer together, and before long they may be as close together as "just as good as" and "would rather have" in the case of stereo equipment. Until then, software must avoid dependencies on expensive or extravagant hardware if it is to be exportable to many microcomputer users. 3.2. Relocatable Code Relocatable code is a topic more obviously a matter of software than are equipment considerations, and is generally associated with large system software rather than with microcomputer software. My use of the term "relocatable code" refers to code that does not rely on being loaded into the same address space to be run each time. The difference between relocatable and nonrelocatable code may be illustrated in terms of how a particular memory location is referred to. If we declare a location with the name K, some assemblers associate K with a specific address, such as 764. Every time the symbolic name K is used in an instruction the assembler substitutes 764 for K. The resulting program is FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 dependent upon K being at position 764, and all other parts of the program are tied to specific locations as well. But if the assembled code does not refer to 764, but to 764 plus a value in a register that is the address of the beginning of the program, the code can be loaded into any segment of memory and the addresses will be resolved as offsets from the beginning of the program. Such a register is being used as a "base register"; base registers are in wide use on larger computers. On microcomputers I know implementation of a base register for relocatability is a software feature, not a hardware feature. Base registers imply there is a need or a desire to load a program into various locations in memory, and such a need has not yet been demonstrated here. Interfaces between devices on some systems require certain absolute locations in memory for buffers, status registers, etc. If on a given system we want to load a program at a particular location and a device interface requires the same location we may find that the device, the program, or both may do unexpected and possibly unwanted things. The easiest solution to such a problem is to eliminate the problem. If the code can be relocated by an appropriate value in the base register then the conflict over particular locations does not exist. Writing a program so that it is relocatable heads off future complications over where the program has to be in main memory in order to run. The first two aspects of portability, equipment limitations and relocatable code, appear to be arguing for practices contradictory to each other. We must keep in mind that most microcomputers have small main memories, but we should also write code so that it may be run in any location in memory. The synthesis of these two concerns requires the belief -- justified by past performance -- that memory costs are coming down. Two 8K relocatable programs could be loaded in 24K with room to spare, and one or the other run as needed without having to load and reload code. For example, with the code for Shooting Stars and a text editor in memory a user could switch between them while writing a paper, thus time-slicing work and play. If neither Shooting Stars nor the text editor are relocatable, all the memory the machine can address will be of no help. 3.3. Plug it in and Go When I began as a professional in computing in 1967, IBM was making great claims for upward (and parallel) compatibility. This meant that a program running on an IBM 360/30 would run on an IBM 360/67. Generally that was my experience, and apparently others also found it a strong selling point for the IBM 360 series. For microcomputer software the corresponding strength might be in self-loading programs. That is, programs arrive with a bootstrapping loader on the front as a part of the program so that the overall effect is that the program can be "plugged in" and run with minimum user involvement. This may appear to contradict the spirit of personal computing, of wanting to do things with one's own computer. But the owner of a computer does not really want to do everything, just those parts slhe wants to do. Getting ready to play with a program is nowhere nearly as enjoyable as playing with it -- especially if some unexplained detail must be guessed by the user before the program will load properly. What may conflict somewhat with the "plug it in and run it" aspect of software portability is the problem of relocatability. But then, if two programs are to be in memory at the. same time it is likely only one of them really has to be relocatable. Besides, there is nothing that prevents a self-loading program from using a base register. PAGE 60 4. Efficiency Being able to load and execute a program in one. step may seem more an aspect of overall efficiency than of portability, and perhaps the discussion should be continued as an aspect of human factors in efficiency. The program that handles details for the user is intuitively more appealing than one that requires attention to housekeeping details. Such a factor accounts for many users' preference for a higher-level language over an assembler, and the overwhelming preference of an assembler to machine language. This sense of the word "efficient" is not the usual sense when one is discussing a program, however. 4.1. Fast Programs I think it is fair to say that when most people speak of an efficient program they are referring to a fast program. Stories of programmers who spend a week to save a few cycles of cpu time are legion and share the same moral: be sure the time being saved is worth the effort and time to save it. For microcomputers the important unit of time is not the machine's cycle, time or the time it takes to add 1,000 numbers together, but whether a human user notices a delay in response. This does not mean sloppy programs are efficient if the user does not have to suffer through a slow response, but that before a major effort is invested in optimizing a section of code the need for such optimization, in terms of the effect upon the user, should be established. If we are writing a program solely for our own amusement we can do anything we want in pursuit of that amusement; but I have already remarked on how programs we thought were one-time only seem to turn into programs we would like to share. When I teach an assembly language programming course I carefully avoid any lectures on efficiency, yet my students turn in programs with notes calling my attention to how a particular programming trick saves time, code, or both. What is at work is a human factor, pride in one's skill as a programmer, that leads most people I have taught to find ways to make their programs run fast. Such pride can, however, turn into an obsession that impedes the progress of the very program being developed with such pride. 4.2. "Tight" Code Another human factor relating to program efficiency serves as a summary point in our discussion of efficiency. As Weinberg [I972] puts it, "when we ask for efficiency, we are often asking for 'tight' coding that will be difficult to modify." The coding trick that seemed such a stroke of genius at first seems inevitably to turn into a stumbling block in understanding the code when it is to be changed or fixed later. This does not mean we should strive to be inefficient, of course. In The Elements oJ Programming Style Kernighan and Plauger discuss efficiency considerations, arriving at the following rules relevant to us here: 1. Make it right before you make it faster. 2. Make it fail-safe before .you make it faster. 3. Make it clear before you make it faster. 4. Don't sacrifice clarity for small gains in "efficiency". 5. Keep it simple to make it faster. 6. Don't diddle code to make it faster -- find a better algorithm. The occurrence of the construction "Make ... before you make it faster" (or something very similar) so often in this list certainly seems to place efficiency in a subordinate po~ition to other concerns. Such subordination does not mean efficiency is unimportant, but that for efficiency to be. most valuable in a program BOX 1579, PALO ALTO CA 94302 FIRST COMPUTER FAIRE PROCEEDINGS the other criteria must be met: correctneSs of the program, the program's ability to recover from error, the clarity of the program, and overall simplicity of the program. I have taken the liberty of interpreting "Make it right" as something speaking about program correctness because I believe that is the thrust of that point, and also because program correctness is the next topic in this ,discussion. S. Correctness and Reliability. As was said in the introduction, program correctness and program reliability seem to me to be fraternal twin aspects of a central source of worry: how can I depend upon the answers that I get? If a program is correct (that is, it has no bugs in it at all and works for all possible input) it wil1 be a reliable program; unfortunately, a program that is reliable may yet contain a bug that has not been found, and therefore is not a correct program. But such fine distinctions aside; both program correctness and program reliability have in common the paramount concern that the program work properly for all data that is given it. The area of program correctness is rather difficult to summarize, but the tutorial in Computing Surveys [Elspas, 1972] is the best attempt I have seen. Why the area of program correctness is so difficult to summarize may be found in the approach of those working in that area: they are trying to prove programs are correct. The point of being able to prove programs are correct has been summarized by Elspas as "It has been the hope of many practitioners and users of programming that the development of the programming art into a science would have the effect of relegating programming errors to the minor nuisance category." The techniques for proving program correctness are ingenious, but they are too complicated to be used on most programs even by those who make proving program correctness their specialty. Proving programs correct is a rather mathematical endeavor, but that is not why it is a complicated matter to prove a program 'correct. We simply do not yet see how to prove programs are correct in any reasonably short manner at the present time. Such a lack of easy to apply techniques must be accepted as a fact of life for the time being until they are developed. That may be a long time away, warns Elspas, who does not foresee "any fundamental breakthroughs that wil1 dramatically simplify the process of verifying a program." We can want correctness in our programs, but we must settle for reliability. Software reliability may, for the sake of discussion, be divided into two concerns: will the program/system crash, and the documentation of bugs. A program with only one bug may sound like a very reliable program, but if that bug is in the code that handles carriage return we would not be very pleased. Every language translator I have used ran with known bugs, but the bugs did not occur so often that they interfered :with typical processing. The translators were, despite their bugs, reliable -- within certain limits. As the bugs were discovered they were handled in any of several ways: they were fixed; they were scheduled for being fixed at some future time; they were reported to the person responsible for maintaining the translator; or, they were published (sometimes in the form of a hastily written note). People who do not program, or those who are rather new to programming, find any of the alternatives other than fixing the bug most curious. However attractive fixing the bug may appear, we must be sure of the impact of the fix on the program as a whole. If the program has been designed with maintainability in mind, a change in the code intended to fix a,b,l.\g will not create strange surprises in code within another routine even if that change is not correct. It is all too human and all too common to perceive a par- PAGE 61 ticular area of code as the problem area, to write code to fix the problem, and to accept that code as fixing the bug even though it is not tested carefully. Stories of such behavior on the part of individuals are common enough, but although I should know better it always seems to surprise me when I hear of a software company doing just that. The motivation for changing the code is laudable for, after all, the idea is to get the program working again as quickly as possible. But an iI1-considered change can make the software even more unreliable than before. We must balance how many bugs are in the software against how often they are encountered in use. Van Tassel [1974] suggests several criteria for jUdging program reliability: 1. 2. 3. 4. Mean time between errors Mean time to repair errors Percent of up-time for program Number of bugs vs calendar months Of these, perhaps numbers 1 and 4 are the most meaningful to us. They might serve as good starting questions we might like to put to software vendors who want us to buy a compiler. This assumes that the vendor would give us correct answers to our questions, an assumption that apparently is not always the case. Such a discussion, however, is better carried out in the next section of this paper, which is concerned with human factors and ethical considerations. 6. Ethical Considerations. There certainly is no need to argue that human factors have a direct effect upon ethical aspects of microcomputer software. Such an effort is obviously present whether or not we feel ethical concerns derive from an absolute, eternal set of values or not. Ethical considerations include (but are not restricted to) fraud and violation of copyright. 6.1. Fraud A typical dictionary definition of fraud will read to the effect that intentional perversion of the truth in order to get someone else to part with something of value constitutes fraud. One might argue that fraud is too strong a term to use regarding someone who makes claims about performance that the software cannot meet. Perhaps the term should be lying, not fraud. Software that fails to live up to promised performance may do so in degrees varying from small glitches to defying anyone to load it; surely the one word fraud does not apply equally to all. Of course, it does not. And deciding just when and where it does apply legally is a matter for someone in law to decide, rather than someone in computing. But I make no pretense of deciding a legal matter; my concern is ethical. It seems to me that anything software is advertised to do should be something that was thoroughly tested and debugged. When we buy something we naturally assume it is being offered in good faith: that it works, at least in the aspects advertised, and one can expect reasonable performance from it -such as being able to load it. As more people enter the microcomputer software marketing field we are seeing a dual effect on software quality; competition brings pressure to bear to create better software, and the desire to be competitive is accompanied by a temptation to stretch the truth a bit about what a program will do. As users of software we have more than the old saw caveat emptor, let the buyer beware, to help us: we have the hobbyist and personal computing magazines. Magazines such as Personal Computing, Byte, Creative Computing, and Dr. Dobb's Journal can and to some extent do serve as a FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 guide to available software. As microcomputer-oriented magazines continue to develop I would expect reviews of software to become .a standard part of every issue. This may have the effect of concentrating power in the hands of a few at first, but in time reviews of software would come to be regarded in the same light as reviews of books: not the last word necessarily, but a guide to what is around. This is not to say that one should buy software only if it is favorably reviewed in a computer magazine. It is to say that a search of the literature may save the software consumer much frustration and disappointment. Searching through all issues of the various hobbyist magazines is lengthy, tedious work, and the idea of waiting for Reader's Guide to Periodical Literature to get around to listing all the hobbyist magazines does not appeal too much. But there is a guide published to the literature we can consult now: it is Periodical Guide for Computerists, by Eldon Berg, that indexes over 1,000 articles and letters from fifteen magazines read by computer hobbyists. The table of contents is quite extensive, and definitely saves hours of search through back issues. Berg is publishing the guide semi-annually, in July and December. Those wishing a copy of the guide may write him directly at the address given in my bibliography at the end of this paper. 6.2. Copyright Our concept of copyright comes from similar English laws and licenses dating from approximately 1518. The United States copyright law is so complicated that I have had directly contradictory legal advice from two very competent attorneys. Both agreed that on the subject of computer use of copyright materials the law is rather grey and difficult. The purpose of the law is to protect a person's property from being taken by others without proper compensation. That is, books, documents, songs, recordings, etc. are considered the property of the copyright holder. Through copyright provisions writers, composers, and others are given protection for their work so that royalties are paid to the person who deserves them. This is, I hasten to add, not a legal opinion but an ethical perspective on the topic. Donald Knuth writes most eloquently and from the same non-legal status about legal protection of algorithms in Sorting and Searching, volume three of The Art 0/ Computer Programming. Knuth argues that algorithms should not be anyone's property any more than a mathematical result is. This seems very reasonable to me and right in line with the contention, backed by legal precedent, that ideas are not protected by patent or copyright whereas devices or publications may be. I also believe that if someone writes a computer program and wishes to sell it to others then that person should be protected from piracy. The revised copyright law, effective 31 December, 1977, contains wording that clearly intends to cover computer programs: '''Literary works' are works ... expressed in words, numbers, or other verbal or numerical symbols or indicia, regardless of the nature of the material objects, such as books, periodicals, manuscripts, phonorecords,_ film, tapes, disks, or cards, in which they are embodied." The old law had to be interpreted to cover modern technology; the new law attempts to anticipate new developments by saying '''Copies' are material objects ... in which a work is fixed by any method now known or later developed, [italics mine) and from which the work can be perceived, reproduced, or otherwise· communicated, either directly or with the aid of a machine or device." The question of whether this law will indeed provide proper protection will have to be answered in time in the courts. However, whether the law can be effective against individuals who pirate software for personal computing can be answered, in my opinion, with a simple "No." First one must find the guilty party, and then one must take that party to court. The ~xpense and time PAGE 62 , required for such investigation and prosecution is staggering to contemplate. Although the average income for computer hobbyists is higher than for, say, the average citizen of the United States, recovery of the- expenses involved in prosecuting software piracy would be hard to do -- perhaps harder than getting the jl./dgement to begin with. This is not to be construed to mean that I advocate violation of copyright; I decidedly do not. If someone is selling a program I want I have two ethical choices: either pay the asking price or write the program myself. However, one would have to be shy of basic intelligence and have never read any personal or hobbyist computer magazine to believe that everyone operates with the same ethics. The problem of detection and prosecution is too large, and the remedies too difficult to extract to halt violations of copyright through legal channels. What, then, is to be done to encourage software development and guarantee that such development will be protected if protection is desired? Digital Group Software Systems of Denver, Colorado, appears to have a solution. By pricing its software so low that it is virtually the price of a tape cassette, the temptation to steal a copy has the cost motive taken out of it. After all, why steal the programs by copying them to a cassette when for essentially the same price they can be acquired legally? And with a copy of the documentation, no less! In a discussion with the President of Digital Group I learned that pricing software at $5.00 per cassette does not mean they lose money on software. The volume of business they do makes up for the low price, and the low price encourages people to buy from them. Although it does not say much for strength of ethical feelings in humans, Digital Group's experience does indicate that when the cost is pretty much the same that people will buy rather than steal. The temptation to remark "how very human" is too much to resist. 7. Conclusion This discussion of software engineering has had one major point to make throughout the discussion: no matter what area of software engineering one considers, there are human factors that have a major impact on that area, whether it is typically perceived as being so influenced or not. Some of the remarks have had more "solid" evidence or support than others, but all are backed by more than has been possible -- or prudent ~- to include here. What has become clear to me is that ignoring human factors in software engineering is done at the risk of having them assert their importance with a force that can mean disaster for a project. This discussion has been one attempt to bring the matter forward for discussion. Bibliography Berg, Eldon, Periodical Guide/or Computerists. 1360 S.W. 199th Ct., Aloha, Oregon 97005 ($2.50). Elspas, Bernard, Karl N. Levitt, Richard J. Waldinger, and Abraham Waksman, "An Assessment of Techniques for Proving Program Correctness," Computing Surveys, vol. 4 (June, 1972),97-147. Knuth, Donald E., "Computer Programming as an Art," Communications o/the ACM, vol. 17 (Dec., 1974),667-673. Sterling, Theodore D., "Guidelines for Computerized Information Systems: A Report from Stanley House," Communications 0/ the ACM, vol. 17 (Nov., 1974),609-613. Sterling, Theodore D., "Humanizing Computerized Information Systems," SCience, vol. 190 (19 Dec., 1975), 1168-1172. Tossy, Michael, "Some Thoughts on Designing an Interactive Program for Easy Use by Humans," unpublished seminar paper, U.C. FIRST COMPUTER FAIRE PROCEEDINGS Berkeley, 1977. Wang, Li-Chen, "Palo Alto Tiny Basic," Dr. DoM's Journal of Computer Calisthenics & Orthodontia, vol. 1 (May, 1976), 12-25. Weinberg, Gerald M., The Psychology of Computer Programming, NY: Van Nostrand Reinhold Co., 1972. Van Tas!\el, Dennie, Program Style, Design, lYficiency, Debugging, and Testing, NY: Prentice-Hall, 1974. Yourdon, Edward, Techniques of Program Structure and Design, NY: Prentice-Hall, 1975. BOX 1579, PALO ALTO CA 94302 PAGE 63 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 THE HUMAN INTERFACE William F. Anderson 158 Valparaiso San Francisco CA 94133 ABSTRACT: A great deal of energy has been spent on defining the various physical interfaces that exist in a computer system. Such a statement cannot be made about the human interface. Yet, the success or failure of a system is dependent upon the quality of this interface. In designing the human interface the basic princi· pies of communication need to be applied. Simply, these principles are: what are you tryinq to communicate, how is it being communicated, and who is the recipient of the communication. ****************************************** The human interface-where does it fit into the picture? What must be considered when designing software to support this interface? The intent of this pre· sentation is to start you thinking about these questions and their answers. What is the purpose of computers; whether they be micro, mini, or maxi? Is not a computer a "tool"? A tool used, for example, for problem solving, infor· mation storage and retrieval, and the controlling of other devices. In general, computers are tools used to solve human problems. Note this. is q,:,ite dif~er ent from computers being problems for humans to solve; a Sltuation WhICh, unfortunately, is rather common. The design of tools requires the application of "human factors engineering"in other words, one must take into account the user of the tooL In a computer system this involves two levels: the physical desiqn of hardware, and software design. Take, for example, a keyboard. The weight of the keys, their size, angle shape, and layout are all factors in determining the optimal physical desig~ of that keyboard. Although important, this is an area in which few of us ever get involved, since the hardware is usually purchased. However, software is a totally different story. In terms of software the human interface involves the entering of data into a system, the retrieval 'of data from a system, an~ th: co~trolling of t?e s~stem. Each of these areas can be viewed as a commurucation mterface. It IS a link to the human user, just as software routines also link the computer to peripherals such as a cassette recorder. Some of you are probably wondering of what interest is this to the hobbiest? I can only ask, how do you plan to use your home computer syst:m? Is it for your own personal enjoyment, or are you planning on others sharmg the bene· fits of your work? If it is for yourself, then you need only be concerned about communicating with yourself. If you are writing programs that will be used by others, even if only your family and close friends, then you should be concerned with how they will interact with the system. For no matter how good the program is in other areas, if it is difficult to use, it will be put aside. Notice I have referred to the human interface as a communication interface. The interface is a communication interface when one considers that the object is to transfer information. Furthermore, we are entering an era where more people directly interact with computers. This means that the machine's soft· ware must take on more and more of the burden of providing the communica· tion interface to the user of the system. Simply, the principles for this inter· face are those of all hurnan communication. They can be categorized as what are we trying to communicate, how are we going to communicate it, and to whom are we trying to communicate. Let's consider the recipient of the process first. Traditionally, the users of computer systems have had to be rather sophisticated, for example, users. of airline reservation systems. Some educational systems have been an exception to this statement. The fantasy of those of us involved in personal computing is a computer in every home (or at least a good majority of homes). This means that the users of systems are not going to be the ultimate combination of electronic and software whizzes. The vast majority of potential users of home systems could not care less how a job is done on a computer; only that it is done. Unfortunately, the industry is geared towards supporting the sophisticated user. In fact, I will stick my neck out and say that it takes a more experienced person to purchase a home computer than is required to purchase a com· mercial product. We seem to be spending more time trying to educate people so that they have the requisite level of knowledge than we do in trying to make the computer easier to use. Even if systems are designed so that the hardware is transparent to the user, the job is not done. The task is complete only when the effectiveness of the information interchange with the system has been maximized and the person using the system has found the experience to be helpful rather than frustrating. Although knowing what to say seems to be a problem that particularly plagues documentation, it also haunts the environs of interactive software. Before a message can be effectively communicated, one must be clear about the content PAGE 64 and purpose of a message. This applies not only to messages generated by a system, but also to the syntax requirements of entering data into the system. In my opinion, the designer of interactive software has the responsibility for seeing that it is the software which insures the quality of communication and not the user of the system. The purpose of a message is to get the desired response, and that does not include kicking the computer during a peak of frustration. Nor is a system crash when invalid data is entered an acceptable response from the system. Valid responses include entering the requested information or taking an appropriate action such as changing paper in the printer. To me, lack of clarity in a message reflects a lack of understanding of the problem one is trying to solve. For instance, with my current knowledge of the subject, if I were trying to design a system which, based on various inputed parameters, provided an analysis of a particular stock, I would have a difficult time devising questions that would lead to the appropriate answer-to say nothing about how to state the answer. In other words, if one understands the problem aNI knows the purpose of what he is trying to achieve, then he is in a position to communicate a clear message. The finai link in the communication chain is how to communicate the message to the recipient. One of the exciting things about current technology is all the new possibilities for media that can be used in the communications process. There are audio boards, video drivers in both black & white and color, light pens, plotters, printers, and optical scanners, as well as the old teletype. Each of these offers different possibiliti(!s as to how messages can be communicated. I know that I would like to own one of everything so that I could explore their limits. However, that is not the situation today, so I will explore what can be done with a CRT or teletype. Compared with the CRT, the teletype is a very limited device. It is not uncommon for the CRT to be used in a teletype replacement mode, but it would be very inefficient and in some cases impossible to use the teletype in a CRT reo placement mode. In terms of presenting information, the teletype is basically a line oriented device (longer messages being communicated as a series of lines). The major advantage is that it can produce a listing which is independent of t he computer, can be used as a historical document on the interaction that occured during the session, and comments can be noted on the listing itself. The major disadvantage is its lack of speed. The CRT, however, is a very different medium. The area of the screen limits the maximum amount of data that can be conveyed in a single message. Unless supported by another means of storage, once the data goes off the screen it is lost forever. The major advantages are that longer messages can be communi· cated very quickly, and, depending on the CRT, one has the additional features of graphics and variable density. For example, on a CRT I could do what is called menu selection, which is the presentation of the question along with a list of alternatives. My response would be to enter the number for the alternative I wanted. Whereas on a teletype the message is presented, and then based on my prior knowledge of the alternatives I would enter the appropriate response. This leads into another topic called format of messages and responses. One of my pet peeves is systems that use single letter messages and responses, or even numbered messages. This approach requires a more sophisticated user of the system and is prone to greater error. It is disturbing to break up an invol· ved interactive process with a search through the manual to find out what is going on. The opposite extreme is to get too fancy in presenting a message. T.his ~ especially true with media that is extremely versatile. Remember, the object IS to communicate a message, not to absorb the user's attention into the media. I often see another habit which I think needs to be changed. Computer respon· ses such as "hey stupid-you made and error" are basically insulting and convey little information. Such remarks say more about the desigr\er of the system than they do about the user. In correctinq errors, the purpose is to ellicit the desired response. This is accomplished through messages that describe the error . and tell what was expected. In summary I want to emphasize that until we start to concern ourselves with the human Interface the growth of personal computers will be limited to the devoted "hackers". 'I feel that the first step in designing this interface is to realize that it is a cOmmunications process and that the guidelines for good communications between two humans apply equally to communications between human and computer. For the dialogue of the computer is nothing more than an extension of the person who wrote the interactive program. ****************************************~* BIOGRAPHY: Current employment at Four-Phase Systems culminates eight years of experience in data processing. This is tempered by a B.S. in Psychology and graduate work in Administration of Justi~e with a couple ?f years as a proba· tion officer. Interest in personal computing dates back eIghteen months to acquisition of an 8080A based computer, FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579. PALO ALTO CA 94302 PAGE 65 THE POTENTIAL OF MICROCOMPUTERS FOR THE PHYSICALLY HANDICAPPED Peter J. Nelson & J.G. Cossalter Medical Engineering Section, Bldg. M-50 Division of Electrical Engineering National Research Council of Canada Ottawa Ontario Canada K1 A DRS ABSTRACT The needs of the physically handicapped, especially those who are non-verbal, are outlined with respect to several communication aids developed at the National Research Council of Canada over the past dozen years. For each device described it is shown how the lise of a microprocessor has simplified the required hardware, while making the redesigned devic,es more versatile. The use of synthesized speech in a classroom symbol communication system, based on a microcomputer, is described in some detail. To sUm up, the' future possibilities for home-computer_based aids for the handicapped are explored. Introdllction The microprocessor and microcomputer revolution promises new electronic possibilities for everyone. For certain ~eglected groups such as ~he physically handicapped, the possibilities of new freedoms are more important and even more exciting than for the ordinary "",n or woman i~ the street. we are referring to such new freedoms as: the freedom of selfexpression through simpler and more cost-effective aids to communication; the freedom to pursue educational opportunities through computer-aided-instruction brought right to the person's home; the freedom of independence pro-,ided by personal environmental controllers and mobility aids; the freedom to hold a job and support oneself by means of various vocationai aids; and the freedom of new recreational opportunities provided by computer games. Fig. 1. COMHANDI typing and communications aid handicapped. for the The Medical Engineering Section and the InformationScience Section of the National Research Council of Canada are pursuing some of these goals on behalf of the physically handicapped. This paper will describe our initial attempts to exploit the potential of microcomputers in communication aids and teaching aids for the physically handicapped. Background to the Problem The aids described in this paper are designed for severely handicapped persons who lack normal functional use of their hands and arms to the point that they cannot hold a pen or pencil nor operate a regular typewriter. Persons in this category include those with a high spinal cord lesion or other paralysis due to stroke, trauma, etc. and tho'se with ueuromuscular disabilities resulting from cerebral palsy, poliomyelitis, muscular dystrophy, etc. The most handicapped of these are the persons who also have no functional speech capabilities.' The loss of the ability to cotm:lunicate in any normal way is the most serious problem for these persons. the need to communicate and to express one's feelings, thoughts, and desires is fundamental to mankind. Children deprived from birth of any ability to communicate will be developmentally handicapped throughout their lives. Alternative means of communication must be provided early in life. COMHANDI The CONHANDI Communications System for the Handicapped was the first aid developed by NRCl (see Figure 1)_ It was developed over twelve YlOars ago using diode-transistor logic (DTL), the implementation of which required about nine circuit boards and other associated components (see Figure 2). Nevertheless, the CO~~I accompllshlOd what it was dlOsigned to do it permitted a severely handicapped person to type out messages on a low-cost teletypewriter by operating a single paddle switch. Actuating the paddle caused a light to scan behind an alphanumeric display panel, first horizontally and then vertically, until the desired character was reached and typed out on the teletypewriter. If the user had slightly better fllnctional capabilities, a joystick could be used to direct the scanning in right, left, up, or down directions. A separate paddle would then be used to actuate the typing function. Although there are ether approaches, the scanning concept has since been implemented almost universally in typing and communicati~n aids for the most severely handicapped. Fig. 2. Rear view of COMHANDI showing circuit boards. Microprocessor-Based COMHANDI As a demonstration of the potential of',ilf-croprocessors to reduce hardware logic, we have recently implemented all the FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579. PALO ALTO CA 94302 PAGE 66 functions of t;he CONIIANDI using an F-8 microprocessor. The dealing with emotions contain the basic heart-shaped symbol to block diagram, Figure 3, shows the simplicity of the newsyste~ indicate inner feelings. By organizing Bliss Symbols into The program requires 512 bytes of read-only memory (ROH), 9 sequences, whole ideas or sentences can be conveyed, as shown scratchpad registers (out. of 64 available in the F-8 CPU), the in Figure 5. programmable timer, and 3 of the 4 I/O ports (3850 and 3851), the FAIRBUGTM monitor, which resides in the 3851 PSU, uses 1\ firmware to generate the serial ASCII-encoded data to drive the teletypewriter. Not only is the hardware vastly simplified, but the software-controlled system permits greater flexibility in the mode of operation. For example, the scanning rate can want I, me mother see be changed by typing in a time 'constant from the teletypewriter keyboard. Fig. 5. A Bliss Symbol sentence. V( o axa DISPLAY MATRIX DATA 38!13 SMI en ..,en ,'BEEPER 15 ~ Symbol Communication Aids The children soon develop a working vocabulary of 200 to 500 symbols, which creates some problems for those who are physically incapable of pointing on a large symbol board. Electronic symbol. communication boards have been built for these children, such as the unit shown in Figure 6. This portable unit provides electronic scanning over 256 symbols by means of a 16 x 16 matrix of light-emitting diodes (LED's). The capacity of the board can be doubled to 512 symbols by using either a steady light or a blinking light to indicate upper and lower case symbols, in effect, at each location. Just as with the COMllANDI, a variety of interface devices can be used to control the symbol communication board, either of the singleswitch-closure type or the joystick-type. -05UOJECT L.._-+::-_-l-O INTERFACE EPROM 3851 2 x256 PSU 8 - 0 CONTROL SWITCHES (1108) bytes PORT4 Fig. 3. Block diagram of F-8 microprocessor version of COMHANDI. Bliss Symbols Although the CO~lliANDI was effective for certain groups of handicapped individuals, an alphanumeric communication aid is of little use to preschool children who cannot yet read or spell. In the past, picture boards have been used with these non-verbal children to permit them to express their immediate needs. 2 Hore recently, a universal symbol language developed by C.K. Bliss has been adapted for use by thes~ children. 3 The Bliss Symbols, as they are called, are pictographically related to the concepts and real-life experiences which they represent. They are therefore, intuitively meaningful to young children and are more easily learned than an alphabetic language. Hence, using Bliss Symbols, the children can begin to communicate at an earlier age, which is extremely important to their development. Some examples of Bliss Symbols are shown in Figure 4. Tne symbols for "home", "mouth" and "animal" look like the objects they represent. Basic symbols such as these are then combined to convey related concepts such as "street", "food" and "meat". Note that "meat" is "food" from an "animal". All concepts v \71 home street happy o o 7\1\ mouth food animal Fig. 4. Some examples of Bliss Symbols. v vl sad 9M meat Fig. 6. Symbol Communication Matrix board, Model 2. An important feature of the electronic scanning board is the provision of a memory function. One serious limitation of manual alphabet or sym~ol pointing boards is the fact that the "listener" or receiver of the communication usually cannot remember enough letters or symbols to piece together any but the shortest words or messages the "talker" is attempting to transmit. This problem is compounded by the slow rate at which some of the'severely handicapped persons must work. Knowing that a normal person is impatiently waiting for them to point out a message only heighte~s their anXiety. With an electronic memory board, however, the handicapped user can work at his or her own speed, building up a message in the board's memory, one symbol at a time. The message can be read back to a "listener" at a later time, as often as necessary, simply by causing the LED indicators on the display matrix to "jump" sequentially through all the symbol locations stored in the memory. Just as in the case of the CO~~DI, the electronic hardware required to implement e symbol scanning matrix can be . FIRST COMPUTER FAIRE PROCEEDINGS greatly simplified through the use of a microprocessor. The original hardwired board shown in Figure 6 uses about 60 OIOS small-scale integrated circuit packages, whereas the same functions have been i;nplemented with a 76B-byte program in the F-8 microprocessor. Again the microprocessor-based.version provides greater flexibility, in user definable rates for scanning and memory read-out, etc. and a larger memory capacity (in the scratchpad memory of the F-8). BOX 1579, PALO ALTO CA 94302 PAGE 67 The microcomputer is the component which provides all the necessary memory and electronic control. Sentences formed on one child's board can be sent to the other board to be read out or to the TV screen for all to see. The audio from the speech synthesizer is also under computer control and can be directed to any individual board or to the classroom display. As the. symbol message is being displayed, the corresponding words are spoken by the synthesizer. The microcomputer is based on the 8080 microprocessor. Since it.is an 8 bit processor, it nicely suits the jobs of The Symbol Cowmunication Matrix, as described, has been a handling a 256 symbol system - a unique identifier for each useful aid, especially in situations where portability is symbol fits into one byte of memory. The control program for the communication boards and the TV display is stored in 4096 necessary. It has some limitations, however, because it provides only a visual indication of the selected symbols. We (4K) bytes of Erasable Programmable Read Only MemorY (EPROM). have been experimenting with the use of synthesized speech, This type of memory is ideal for this application because it therefore, as a means of providing additional sensory inputs to allows the control program to be changed by reprogramming the the handicapped person. 4 For the initial trials, a commercial same EPROM integrated circuits. This EPROM also contains the speech synthesizer (VOTRAXTM) and a remote computer were used, codes required to direct the speech synthesizer .to produce the spoken words for the symbols. (The 256-symbol vocabulary coupled to the handicapped person's symbol display board via requires about l~ K bytes). an acoustic telephone link. The synthesizer speaks out the __ name of each symbol on the display matrix as it is selected, 4K of Random Access Memory (RAM) is used as a dynamic storing these words in a scratchpad memory. Upon command, data store for control operations. Symbol sentence lists then. the whole sentence or thought cau be spoken by the synand intercommunication buffers are kept here. thesizer. Synthesized Speech Speech is, of course, a very natural form of communication. The value of the. aural reinforcement provided by the synthesizer soon became quite evident. The children's attention span and motivation increased almost immediately, permitting training to proceed at a faster pace. Hence, in a period of six months following the addition of the artificial speech, their speed in selecting symbols, their language de.., velopment and the use of proper syntax, and their spontaneous desire to communicate have all been promoted. The synthesizer gives the child an objective feedback on the trial-and-error selection of symbols and sentences, permitting independent work. The "space age" quality of the artificial voice appeals to the children and many attempt to verbalize along with it. Use ofaMicrocomputer Following the successful trials with the speech synthesizer, we have proceeded to develop a stand-alone classroom communication system built around a microcomputer. A block diagram of our "Classroom Symbol Talker" is shown in Figure 7. Initially the system provides for two handicapped children and a teacher to intercommunicate in the two mediums of Bliss Symbols and artificial speech. Each student's terminal is very much like the symbol communication matrix board described previously, including the same type of interface controls. Some of the differences are local loudspeakers in each board and extra "control addresses" on the symbol matrix to permit the child to select the destination for his or her message. A Real-Time Clock is used to time events which must be carried out at particular intervals of time. Scanning symbols on the communication boards, for exampl~is carried out at a preset rate determined by the clock. The processor sends control codes to the speech synthesizer through a Serial Input/Output (I/O) port. These control codes are buffered, interpreted by the synthesizer and then spoken out. The artificial speech that is generated. is-routed through a digitally controlled switch and gated to theparticular communication unit requiring audio reinforcement. Each of the three communication terminals is handled through its own Parallel 1/0 port. Each is independent from the other and more terminals could be added to the system by interfacing them through additional I/O ports. A significant amount of digital memory will be required to store the bit patterns for all 256 of the Bl:3s Symbols for the graphic TV display. Other researchers are attempting to display Bliss Symbols electronically and it is hoped that techniques will be found to minimize the required memory size~ Otherwise, an auxilliary diskette memory may be required for this feature. Design Considerations The use of a microcomputer as the main component in our Classroom SyQbol Talker is an example of a near-ideal solution to a number of the problems involved in developing aids for the A graphic television display is planned as a low-cost additional feature. It will serve as a classroom "blackboard" handicapped. The commercial manufacture of small quantities of specialized devices for the handicapped has been a recurrent on which the teacher or either of I:he students can "write·" a Bliss Symbol message. The teacher will use a numerical keypad problem. In our system, however, as many of the"logicfunctions as possible have been implemented in the microcomputer software, to select the symbols by code numbers. The symbols can be rather than in discrete circuitry as was the practice ·in the stationary on the screen or can be made to move across the past. Less manufacturing is involved, therefore. The micro~ screen in "Times S;ure" fashion for longer messages. By computer can be purchased as a completely assembled and tested bringing the symbols together and displaying them in a serial commercial product into which the programmed EPROM's are in'string on the TV screen, it is hoped that a degree of serted. In fact, except for the individual symbol matrix connectedness will be conveyed which may be lacking on the boards and interface controls, all other components of the individual symbol boards. system are commercially available. ~ CHILD'S o INTERFACE o CONTROLS ~.O CHILD'S COMMUNICATION BOARD Fig. 7. Block diagram of "Classroom Symbol Talker" system. The system can be expanded, or its functions can be changed, without re~iring. Each communication board can light up a maximum of twenl:Y five lights simultaneously. By replacing the symbol sheet on the front of each board· with an enlarged BINGO card and adding some appropriately programmed EPROM memory, the system will allow the children to play BINGO·. Other interactive games·, such as TIC-TAC-TOE and Steep.1echase can be played, either on the children's individual display board or on the classroom TV screen. The recreational possibilities for the handicapped which are opened .up by computer games are nearly limitless. The games must be chosen to match the children' s intellec~ual and· functional capabilities, hoWever. Target shooting, ping~pong and other games of skill are obviously out of the quesfion. Games which stimulate intellectual participation are ideal. The costs of the software for each additional game are quite small. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 The Future PAGE 68 need for a portable artificial voice. It may be some time before such a· .dev1ce is economically feasible, but we can be sure it will involve a microprocessor. The feasibility of a low-cost device, using a limited vocabulary on magnetic tape or diskette, is under study at NRC of Canada. The problem is to provide reasonably rapid access to any word in the vocabulary. This paper has drawn attention to some of the communication needs of the physically handicapped and has attempted to show how microprocessors and microcomputers are beginning to be used to meet these needs. It is certainly only the beginning. Other researchers are also applying these newtechnologies for the handicapped. 5 ,6 This will be the case more and Computer games have been mentioned. The Medical and more as the prices of microprocessors and fully built home Engineering Section of NRC has developed several games for the microcomputers continue to fall. In our Classroom Symbol handicapped, such as Checktronics, an electronic checkers T.alker, the major cost itemis the speech synthesizer. The game, and Steeplechase (see Figure 8). These were built up synthesizer is an excellent device. Since it is basically a from hardwired CHOS logic circuitry. Portability was one of phoneme generator, it provides random access to an unlimited the features of.these games, but from the standpoint of the vocabulary. For some non-verbal handicapped persons a limited visibility of the display, a TV screen would be an improvement. vocabulary stored on a floppy diskette would be a more .The hardwiredl!\ames have served to demonstrate the value of economical solution. Controlled by a home hobby-type computer, recreational aids for the handicapped. The Steeplechase is this arrangement would permit such persons to conduct their especially appropnate for young children who like the idea of personal business by telephone. racing. Incidentally, it helps teach them counting concepts as they must "move their man" by pushing on a paddle switch the Some of the other areas where microprocessors can be appropriate number of times. In hardwired form these standapplied for the handicapped are in r l typewriters and in the alone games are probably not cost effective. As programsin"a develop~~nt of a portable artificial voice. TV typewriters low-cost hobby computer with a TV display, they will be very have been adapted for the handicapped, already, in hardwired attractive. logic versions. 7 These could be more easily implemented with a commercial microcomputer with a TV interface. A progran From communication aids, to educational games, it is only could be written which would display the set of alphanumic another small step to more formal educational programs on characters at, say, the top of the TV screen. The user would personal computers. )!ere is an exciting new opportunity for move the cursor,by means of a joystick or single paddle the handicapped. The teaching of children and adults with switch, to select each character. The selected character physical and educational handicaps has~always required an would thee appear on the lower half of the screen, where a intensive amount of one-to-one interaction between student and whole message could be built up. With an optional teletype teacher. Interactive teaching programs will reduce this or other hard-copy printer, the handicapped person could De requirement and provide a more objective tutor in many cases. gainfully employed preparing business correspondence. The The low-cost of personal computers will make such teaching text would be prepareri in the desired fo~~t on the TV screen, practical, not only in institutional settings but also in a with any errors corrected, before b~ing "dumped" out to tha handicapped person's own home where they may be, confined to printer. bed or wheelchair. The hobby computer can also act as a remote terminal for a large time-shared computer system on which more elaborate teaching programs may be available. Biography Peter J. Nelson has a Master of Science degree in Electrical Engineering (Biome.dical Engineering options) and has nine years of experience as a rehabilitation engineer (one who specializes in the design and application of devices and techniques for the rehabilitation of the physically handicapped). At present he is employed as a Research Officer in the Medical Engineering Section, Division of Electrical Engineering, National Research Council of Canada, where his responsibilities include the development and evaluation of aids for the handicapped. Previously he has worked in Washington, D.C., where he was Staff Officer for the Committee on Prosthetics Research and Development, National Academy of Sciences; and in Winnipeg, Manitoba, Canada, where he was Co-Director of the Rehabilitation Engineering Dept., Health Sciences Centre. G. Cossalter, holds the degree of Master of Applied Science from the University of British Columbia, Vancouver, Canada. For the past seven years he has been employed as a Research Officer in the Information Science Section of National Research .Council of Canada and has worked in the areas of computer-aided instruction, computer-generated speech, and computerized aids for thehand1capped. J~hn Acknowledgements The authors wish to acknowledge the assistance of summer student R. Paduch from McGill University, Montreal, Canada, in the preparation of the programs for the F-8 microprocessor. The authors are also indebted to J.R. Charbonneau and F.P. Orpana of NRC for the con~truction of the equipment described in this paper, to the staff of the Ottawa Crippled Children's Treatment Centre for the clinical evaluation of the devices, and to A.J. Mortimer of NRC for helpful suggestions in the planning of this paper. Fig. 8. Portable electronic Steeplechase game for handic;>pped children; References Speech is a far more acceptable medium of communication with the general public than letters or symbols. The nonhandicapped person usually won't make the effort to learn a symbol language and feels psychologically uneasy when confronted by a non-verbal person. Hence, there is a tremendous 1. Roy, O.Z. and Charbonneau,J.R., "A Communications System for the Handicapped (COMHANDI)", Chapter 11 in Aids for the Severely Handicapped, K. Copeland, ed., Sector Publishing Ltd., London, 1974; pp.89-98. FIRST COMPUTER FAIRE PROCEEDINGS 2. McDonald, E. T. and Schultz, A.R., "Communication Boards for Cerebral-Palsied Children", J. of Speech and Hearing Disorders, vol.38, no.l, Feb. 1973; pp.73-88. 3. McNaughton, S., "Bliss Symbols - An Alternative Symbol System for the Non-Vocal Pre-Reading Child", in Non-Vocal Communication Techniques and Aids for the Severely Handicapped, G.C. Vanderheiden and K. Grilley, eds., University Park Press, Baltimore, 1976; pp.85-104. 4. Charbonneau, J.iil., Roy, O.Z., Cossalter, J.G., {,arrick, A. and Cate, C., "A Symbol Communication System for the NonVerbal Severely Handicapped, with Audio Word and Sentence Reinforcement," Proc. 1976 Conf. on Systems and Devices for the Disabled, Boston, ~~ss., June 10-12; pp.18-l9. 5. Vanderheiden, Gregg C., Director, Trace Research and Development Center for the Severely Communica-tively Handicapped, University of Wisconsin-Madison. Personal Communication. 6. McBride, J.W., Morena, L.C., Lawrence, P.D. and Robinson, C.E., "An Adaptive Environmental Control and Communications System for the Handicapped", Digest of 11th Intnl. Conf. on Medical and Biological Engineering, Ottawa, Canada, Aug. 26, 1976; pp.29.6. 7. Logan, H.C., "Communications Terminal for Speech Handicapped", Proc. IEEE 1975 Region Six Can£., Salt Lake City, Utah, May 7-9; pp.8-11. BOX 1579, PALO ALTO CA 94302 PAGE 69 FIRST COMPUTER. FAIRE PROCEEDINGS sox 1579; PALO ALTO CA94302 PAGE.70 AN INTERFACE USING BIO-ELECTRICAL SIGNALS TO CONTROL A MICROPROCESSOR SYSTEM FOR THE PHYSICALLY AND COMMUNICATIVELY HANDICAPPED . Laurence R. Upjohn, Pharm. D. 7297 Stanwood Way Sacramento CA 95831 Abstrao.t: . This paper outlines the biological source of electrioal signals that can be used to control microprocessor sytems. A brief discussion is undertaken as to methods of amplifling this bio-electricitl with comments on integrated circuit selection and circuit design. Emphasis is placed on the safe interconnection of the bio-electric interface to the microprocessor insuring that elec·trieal isolation is maintaned between them. Lastly a brief mention is made of several decoding methods usad with the switch to implement microprocessor systems for the severly handicapped. Introduction: This paper will briefly describe the human body as a If source of electrical signals that can used to control electronic systems. A short discussion on the biological origin of this electrical activity will be given. followed by tec·hnical methods to exploit this pher.omenon. i1.pplication of .this switch to various microprocessor systems then will illustrate adaptation of microprocessor systems to the physically handicar·pe4. With this adaptation systems can be tailored to individual needs. by the handicapped individual himself. This self-tailoring process can provide new vistas ~f recreation. education. communication and enhanced independance. Electro-physiology: This ten dollar word describes the universal property of all living things to generate very small but measurable electrical currents. The popular areas of Bio-feedback use several bio-electrical potentials or voltages to study v4rious body functions· which then are. converted to some auditory or visual signal with which our senses can deal. These signals have origin in individual cells going through the repetative process of concetrating salts from body fluids. These salts am concentrated so that one salt will be in high concentration inside the cell~ while another will remain c?ncetrate~just outside the cell. These concentrations are maintaned by the cell membrane but can rapidly change when certain environmental stimulae disturb the cell membrane. When these finely balanced concentrations change rapidly a small pulse of approximately 50 millivolts is given off l".uch as the electrical current that flows when the poles of a battery are shorted together. Multiply this by several mil~ion cells discharging at once and it becomes apparent where or how bio-electricity is "generated". Interfacing Bio-electricity to the Outside World~ Since the Qio-electric signals just discussed are of such small voltage, thel must be amp·lified before they can be modified or processed by any digital system. However this amplification must take place with as little interference to the biological system as possible. Therefore an amplifier must have high input impedance. This is a resistive quality of the input terminals such that incoming signals meet a very high resistance path into the amplifier. Because of this high resistance pathway very little current is drawn from the biological system into the amplifier so the cells being observed function as usual. Next. the amplifier needs the ability to reject low level signals that arrive at both inpu+s at the same instant'i.e., are in phase with eachother). This propertl is called high common mode rejection ratio, or CI-:RR for short. The predominant electrical noise that must be kept out of the system is the 60Hz. noise from the electrical utilities, hence the high CMRR, Next the inputs to the amplifier ·are connected to electrodes placed OYer the area to be observed· in ~lectrical contact with the skin. This contact· is enhanced by using a jelly or p~6te containig a high salt concentration and securing the electrodes firmly so movement signals will not be produced. A much less complicated method is to use disposible EKG electrodes where available. They come prejelled with high quality electrode metal(siLver!) and are self adhesive. The amplified signal can now be monitored from the output of the amplifier by an oncilloscope or a low cant audio am!~lifier and permanent magneL speaker. One soon learns the tell-tale hum or smooth sinewavefor~ of 60Hz noise being amplified through the system. Bl the appropriate adjustment the 60Hz. noise can be "tuned" out so only the irregular higher- frequency biological signal ~ets through. The monitor •• signal must now be smoothed so that in effect a slowed waveform is presented to the next stage of the bio-interface unit. This process is called integration. Integration of the signal is accomplished with a • wave rectifier or diode and a resitance/capacitance network to store the signal for the time constant of the reSistor-capacitor network. This in~egrated signal has a slow enough transition to trigger a 7413 dual nand Schmitt trigger, which then outputs a TTL pulse for each threshhold crossing of the input signal. The TTL trigger pulse is lea~ to a monos table multivibrator wliich outpuh a pulse of predetermined duration. During this period it cannot be retriggered· so its' output pulse remains of constant length or time duration. Thus the signal is converted from the constantly changing low level biological current to a .two state binary si·gnal that is TTL compatable. Now we have a signal that can be fed to the microprocessor. as our next interconnection step. right? h'RONG! The interface must be comple.tell isolated electrIC"ill'y from the microprocessor and its' high amperagp DC voltages. This is not sa difficult a .tasJt to accomplish as one might suspect. A photo-optic isolator of the LED/Photo transistor type is quite effective in achieving the necessary e·lec.trica] isolation. It ~s also suggested that in construction of the interface, micro-power circuits be used where possible, to make it easy to use low voltage transistor batteries to power the interface. If low ~ower or micropower IC's are not availab1e then larger butteries should be used.. Under no circumstances use the OC voltages from the Microprocessor bus. ~oper grounding of all cases to one single earth ground will reduc~ noise problems that can arrise when several different ground points are used. Interface Applications : Since this pap.er is to address the area of Microcomputor systems for the Physically Handicapped. now is the time to outline how this bio-interface could be used to program a micro-system. The signal output from the bio-interface is only a single binary bit but several methods can be implemented to expand this to a fulll codde~ eight bit binarl data word or simply an external flag directly to the microprocessor. Coding the single bit to an eight bit blte can be done uRing a self scanning array of LEDs. Two four to ten or sixteen decoders scan the horizontal and verticle rows giving two four bit addrer·'s for the matrix position of the lighted LED. These two addresses are latched into the computor as a single eight bit word. This word is then converted by software to represent either alpha-numerics or actual machine operational codes. A simple "bootstrap" loader could be contained in Read Only Memory 'to give power on start capabilities. Using the single bit line as a direct flag to the micro-processor envolves writing the appropriate software to test the flag and the execute an interogative interaction with the operator to determine function to be programmed. This may take longer to facilitate initially but is bl far the more elegant solution to this control probiem. This second method has the added advantage of allowing the operator to tailor his software to his individual control or communication problems. This is the ultimate goal for "nl aia to the handicapped, for i t gives them indepence which to them is their greatest need. BibleographY: Belke, R.E. et ale G.E. Transistor Manual (Li/i!:'ht Neight Edition) General Electric Co •.• Syracuse , New York, 1969 Geddes. L.A. and Baker, L.E. Principles of Applied Biomedical Instrumentation John Wilel and Sons, Inc. , New York, N.Y. 1968 Millman. J. and Halkias, e.e. Integra ted Elec tronics: .~nalo{iue and Digital Circuits ·and Systems McGraw-Hill Book Co., New York, N.Y. 1972 Vander Kooi. M.K~ et a1 Linear Applications, Volume 1 National Semiconductor Corp •• Santa Clara, Ca. 1973 Author: Laurence R. Upjohn· Ph,. . rm. D. Stafr Pharmacist U.C.Davis/Sacramento Me~Center Graduated From Universitl of The Pacific College of Pharmacl in Mal of 1976 with emphasis in Electro-phlsiologl and Pharmacology. While there developed Electromyographic Switch for the severly handicapped and a micro-computor system for clinical drug analysis using Electro.-Myograms and FIRST COMPUTER FAIRE PROCEEDINGS Encephalgrams, as indicators of patient/drug effects. Presently deyeloping Bio-electrical switch and microprocessor card for use by the severly handicapped. May be contact'ed at; 7297 Stanwood ~Jay Sacramento, California 95R31 Phone: 916-391-5336 . BOX 1579, PALO ALTO CA 94302 PAGE 71 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 , PAGE 72 WHAT TO DO AFTER YOU HIT RETURN . .. AND NOTIDNGHAPPENS: WARRANTY IN THE MICRO-COMPUTER INDUSTRY Kenneth S. Widelitz, Attorney at Law, WA6PPZ 10406 Louisiana, No. 8 Los Angeles CA 90025 ABSTRACT OF FULL TEXT PAPER as the quality of their product and its sales price. As home computing catches on, the purThis paper will discuss consumers' rights ,and chaser of a microcomputer will have less technical manufacturers' and retailers' liabilities under the expertise and will place a greater importance on Uniform Commercial Code, the Song-Beverly Warranty the warranty which accompanies the product he is Act of California and the ~eder~lly enac~ed Magnuson buying. Conceivably, the warranty can be as Moss Warranty Act. Attent~o~ w1ll be pa~~ to the important a factor in a purchase as the number of effects of warranty on the m1croc~mputer ~ndus~ry and bytes of memory or the speed of an I/O device. examples will be 'drawn from the m1crocomputer 1ndustry. The warranty takes on added significance when the The paper will include a description of both express hobbiest realizes he will probably be spending and implied warranties. more money on 'his microcomputer system than on any other item of personal property which ~e owns with Special emphasis will be placed on the presale the exception of his car (and automobile manuavailability rule and on the repair facility requirefacturers spend substantial sums advertising their ments. The paper will conclude with an analysis of warranties.) The more money someone spends on an formal dispute settlement mechanisms as a possible item, the more careful he is about what he pursolution to the compatibility problem unique to the chases. The consumer is also aware that there is microcomputer industry. generally a close correlation between the cost of a product and ,the cost to repair it if it fails to function properly. Recently enacted legislation has made dramatic inroads into the evils of the well known maxim of The foregoing is intended to place the im"caveat emptor" and, more importantly, the lesser portance of the warranty in perspective for the known manufacturers' warranty maxim of "what the manufacturer, retailer and consumer of microbold print giveth, the fine print taketh away." computers. The following discussion of warranty Unfortunately, consumers, manufacturers and retailers are generally unaware of their rights and legislation applies to all consumer goods, but an liabilities under this legislation. This is attempt has been made to use examples of warranty problems unique to the microcomputer industry,. especially true in the home and personal computing field due to the recent emergence of the microcomputer industry. WARRANTY LEGISLATION For instance, manufacturers are unaware that they are in violation of federal legi,slation if they fail to clearly designate their written warranties as either "full" or "limited". Retailers and manufacturers are not cognizant of the fact that they are in violation of federal legislation if they fail to conform to the presale availability rule which requires that every written warranty be readily available to the consumer prior to sale in a specified manner. Consumers are unaware that if a manufacturer or retailer breaches the terms of his express warranty, a California Statute allows the consumer to recover treble damages plus costs and attorney's fees. - - The preparation of written warranties by microcomputer manufacturers has been given short shrift. The manufacturer should give his warranty the same careful deliberation and consideration that he ' gives to the development of his product. A carefully considered warranty can do much to promote brand loyalty and accurately cost out warranty liability. If a manufacturer costs out his potential liability based upon ass'wiiptions which are not viable due to the requirements of recent legislation, it might mean the difference between a profitable or loss year. AS an example of possible liabilities unknown to the manufacturer, manufacturers are now required to reimburse retailers who perform the m~nufacturer's warranty repair work in an amount which includes a reasonable profit to the retailers. Another example is in the area of implied warranties. Implied warranties can no longer 'be disclaimed where accompanied by written warranties. This can be a critical warranty cost factor when considering that a manufacturer's liability under an implied warranty can be, greater than his liability under a written warranty. As consumers become more aware of the presale availability rule relative to warranties, manufacturers and retailers will have to recognize that their warranty will have to be as competitive There are three major pieces of legislation which govern warranties as they relate to consumer goods sold in California. The oldest is the Uniform Commercial Code of California (U.C.C.) which has been in effect since 1965. Almost every state has its own version of the U.C.C., but, as its name implies, they are all substantially similar. In 1971 California adopted the Song-Beverly Consumer Warranty Act (SBCWA). The SBCWA was the first consumer warranty protection oriented piece of legislation in the country. The federallY enacted Magnuson Moss Warranty Act (MMWA) is based, in part, on the SBCWA. It has been in effect since 1975, although rules promulgated pursuant to that Act by the Federal Trade Commission have been effective as recently as January 1, 1977. TYPES OF WARRANTIES There are two broad species of warranties, the implied warranty and the express warranty. A warranty is implied when it arises by operation Of law from the nature of a particular transaction, that is, it's automatic and requires no writing to arise. There are two kinds of implied warranties, the implied warranty of merchantability and the implied warranty of fitness for a particular purpose. In general, the implied warranty of merchantability'means that a consumer good must be free from defects in materials or workmanship. An implied warranty of fitness arises when the retailer, distributor, or manufacturer has reason to know any particular purpose for which the consumer goods are required and that the buyer is relying on the skill and judgment of the seller to select and furnish suitable goods. For example, if a manufacturer of a floppy disc advertises that it is Saltair/Bonzai compatible, there exists an implied warranty of fitness that the floppy can be effectively used with such microcomputers. Implied warranties are created by Provisions in the U.C.C. and in the SBCWA. While the MMWA does not create any implied warranties, it does, legislate the extent to which they can be limited. FIRST COMPUTER FAIRE PROCEEDINGS The other type of warranty is the express warranty. The express warranty is usually a written warranty. For the purposes of the MMWA the express warranty must be created in writing. However. under the U.C.C. the express warranty may be created by an oral affirmation of fact, i.e., where the retailer makes an oral statement as to the capabilities of a certain product. It should be noted that "puffing" does not create an express warranty. That is, the retailer who says, "I guaranty your satisfaction, "or that a particular product "is the best buy on the market" does not create an express warranty. Where a sample or model is displayed, the U.C.C. and the SBCWA create an express warranty that the whole of the goods conforms to such sample or model. This has a significance for the manufacturer who buys large quantities of parts from a supplier based on a sample or model, but will ordinarily not have significance for the consumer. BOX 1579. PALO ALTO CA 94302 PAGE 73 ranty is coextensive with that of any express warranty which accompanies the consumer goods. However, in no event shall the implied warranties be for a period of less than two months or for a period of more than one year. If no written warranty is provided, the duration of .the implied warranty is one year. The remedies available to the consumer under the SBCWA and the U.C.C. for the breach of an implied warranty are identical with the single exception that the SBCWA specifically provides that if a cQnsumer sues based upon the breach of an implied warranty, the consumer may reco~er his attorney's fe,es. The damages which a buyer may recover are incidental damages and consequential damages. Incidental damages should include the costs of repairing nonconforming goods and other items such as the transportation of those goods to and·from the IMPLIED WARRANTIES place where they are repaired. Consequential damages include such damage, loss or injury as does The U.C.C. and SBCWA provisions relating to not flow directly and immediately from the act of implied warranties parallel each other to a the breaching party, but only from some 'of the certain extent, but the SBCWA provides some important consequences or results of such act. changes. For ins·tance, take the case of an amateur radio The U.C.C. version of the implied warranty operator who spends 20 hours inputting data relating of merchantability requires, for such an implied to all the contacts he made in 1976. Because of a warranty to arise, that the seller must be a defect in the cassette recorder he is using as a mercharit as to those goods. Such a warranty under memory device, none of the data is preserved. His the U.C.C. is a seller's (retailer's) warranty. consequential damages would be equal to the amount The SBCWA has given renewed vitality to the implied he would have.to spend in order to hire a typist to warranty, of merchantability in two ways: one, it reinput the data. As another example, consider a imposes a liability under the warranty directly on lemonade stand application that cannot service its the manufacturer; and two, it makes it both clients While a defect in the CPU is being fixed. difficult and commercially unwise for the manuThe consequential damages would equal the lost facturer to disclaim such a warranty. profits during the period of repair • .'i'he implied warranty of fitness under the U.C.C. is also a seller's warranty whereas under the SBCWA such a warranty is made by both the manufacturer and the retailer. As stated before, the implied warranty of fitness requires that the manufacturer or retailer have a reason to know that the purchase is being made for a particular purpose and that the buyer is relying on. the expertise of the seller or manufacturer to furnish the right product for that purpose. However, the manufacturer and retailer do not actually have to be told that the buyer is relying on thefr skill and judgment. The manufacturer who advertises a particular use for his product should be liable under the implied warranty of fitness for a particular purpose even if the advertised purpose is not an ordinary use. DISCLAIMER OF IMPLIED WARRANTIES Before the enactment of the SBCWA and the MMWA, the implied warranties created by the U.C.C. were relatively easy to disclaim. The implied warranty of merchantability could be disclaimed by the use of a conspicious written disclaimer that mentioned the word "merchantability." The implied warranty of fitness could be disclaimed by a writing declaring that "there are no warranties which extend beyond the desciption of the face hereof." As a result of the enactment of the SBCWA and the MMWA, the disclaimers just mentioned are ineffective. Under present law. the only way the implied warranties can be disclaimed is by making a sale on an "as is" basis. A conspicious writing indicating an "as is" sale attached to the goods sold is required. Any other attempted waiver of any implied warranty is void. DURATION OF AND REMEDIES UNDER IMPLIED WARRANTIES While the U.C.C. does not make mention of the duration of implied warranties, the SBCWA specifically states that the duration of an implied war- As a final example, let's take a letter which appeared in the November/December, 1976 issue of Dr. Dobb's Journal, page 4. Stuart R. Fallgatler wrote that he received an AY5-8500 6 game MOS/LSI chip from Advanced Micro-Electronics. The chip didn't work properly. Mr. Fallgatler wrote the company and received no reply. Dr. Dobb's Journal also wrote the company and received no reply. The implied warranty of merchantability requires that the chip be free from defects. Having received no satisfaction Mr. Fallgatler should bring a Small Claims Court action against Advanced Micro-Electronics. Small Claims Courts handle suits for claims·less than $750. The filing fee varies by county bu~ is usually $10 to $15. The chip in question here lists for $50, a significant sum. While filing a suit might be time consuming and inconvenient, Mr. Fallgatler would certainly be less inconvenienced than the company. He should obtain a judgment allowing him a replacement chip and his court costs. He would. also be allowed incidental damages and consequential damages, if any. More importantly, such an action would be a great service to other persorBsimilarly situation as Advanced Micro-Electronics might be more responsive to future complaints, having been taken to court once. EXPRESS WARRANTIES The provisions of the U.C.C., SBCWA andMMWA over lap considerably i.n the area of express warranties. This paper will highlight the unique am salient features of each but where there is an overlap there will be no attempt to distinguish between them. It should be noted at this point that although both the SBCWA and MMWA define "consumer good" ·or "consumer product" as an item which is normally bought primarily for personal, family or household purposes, the House Report 'on the MMWA indicates that products which are in fact used for business purposes fall within such definition if such items would generally be used for personal,family or household purposes. Thus it would seem that lemonade stand and even office uses of microcomputers would be covered by the MMWA becaus'e microcomputers are generally used for'hobby or home purposes. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALToeA 94302" MMWA "FULL" OR "LIMITED" DESIGI\IATION REQUIREMENT A very important feature of the MMWA is its ,'; requirement that every written warranty accompanying a product selling for $15.00 or more be clearly designated either "full" or "limited". If a warranty merely says "WARRANTY" at the top, it fails to meet these federal standards. Rather, the warranty must be designated. for example, "FULL 90-DAY WARRANTY." A warranty is designated full when it meets the federal minimum standards for warranty set forth in the MMWA. •• The requirements necessary in order to obtain a "full" designation are as follows: 1. The warrantor must remedy the defective con'sumer product within a reasonable time and 'without charge. The term "remedy," as defined by the act, means either repE'ir, replacement or refund. If the product is a "lemon", that is, it cannot be repaired after a number of attempts, the warrantor must permit the consumer to elect either a refund or replacement without charge. If the warrantor replaces a co~ponent part of a consumer product, such replacement must include installing the part in the product without charge. It should be noted that the MMWA only requires that the remedy be given within a reasonable time. The SBCWA, while not making provisions for designating a warranty as either "full" or "limited", requires that goods be repaired within 30 days; PAGE 74__ If a warrantor fails to designate the warranty as either "full" or "limited" or fails to disclose required information, the warrantor is !\\lbje,ct to a lawsuit brought by the Attorney General or a Federal Trade Commission attorney. A civil penalty of up to $10,000 per violation may. be assessed,. ( , As of this writing, conversations with FTC attorneys indicate that, as yet, no actions have been brought to enforce disclosure requirements. The explanation is that since the rule has been in effect for such a short period of time, the FTC is allowing additional time for warrantors to comply. However, actions will be brought as soon as the FTC headquarters in Washington decides that enough time has been allowed. PRESALE AVAILABILITY RULE Effective for products manufactured after January 1, 1977, the presa1e availability rule will have a vast impact on consumer awareness of warranties and on the manufacturers', distributors' and retailers' costs. The rule requires that the seller of a consumer product costing more than $15.00 make the written warranty accompanying such product available for the prospective buyer's review, prior to sale, by the use of one of four methods. One method provides for the text of the written warranty to be displayed in close conjunction to each warranteed product. Another method 2. The written warranty may not impose any allows the retailer to maintain a binder (looseleaf limitation on the duration of an implied warranty; notebook) which contains copies of the warranties for the products sold. The binder must be maintained 3. 'The warra~tor may not exclude or limit at a location which provides the prospective buyer consequential damages for the breach of any written with ready access. Such binder must be indexed or implied warranty', unless such exclusion or limita· according to product or warrantor and must be tion conspiciously appears on the face of the kept up to date when new warranteed products or warranty. models or new warranties for existing products are introduced into the store. Under this method the 4. The warrantor may not impose any duty upon retailer must display such a binder in a manner the consumer other than that of notifying the warreasonably calculated to elicit the prospective rantor as a condition of secu.ring a remedy "unless buyer's attention, or place signs indicating the the warrantor has demonstrated that such a duty is availability of the binders in prominent locations reasonable." Such a reasonable condition might be in the store. A third available method is disthe filing of a warranty registration card, if such playing the package of any product on which the text requirement appears on the face of the warranty. of the written warranty appears. The last available method is similar to the first and allows the 5. The warranty must extend to each person retailer to post a notice that contains the text of who is a consumer under the MMWA. The MMWA defines the written warranty within the vicinity of the consumer as a buyer or any person to whom the product product sold. This differs from the first in that it is transferred during the duration of an implied provides some convenience to the retailer where a or written warranty. Thus, the manufacturer giving number of products covered by the same warranty are a "full" warranty cannot deny liability to virtually being sold in close proximity to each other. It anyone who obtains possession of a product during allows one notice rather than the full text being the term of the warranty. The SBCWA limits its displayed next to each product. scope to only the retail buyer of a consumer good. The effect of the presa1e availability rule .Thus, a warranty which requires that the will be dramatic. The rule will allow the consumer consumer pay for transporting the product to a to compare warranties much more readily than has repair fac:llity must be a "limited" warranty, as the been possible in the past. For that reason the remedy is not provided without charge. warranty will become a much more important factor in the consumer's purchasing decision. That should Whether 'a warranty is full or limited, the provide incentive for the manufacturer to give MMWA requires that on its face it disclose a great greater consideration to his warranty. deal of information. The warranty must set forth the identity and address of the warrantor and the The presa1e availability ru1e'wi11 have other identity of .the parties to whom the warranty is effects on the manufacturer and retailer~ Most ex,tended. It must state, a clear description of the obviously, someone is going to have to pay for the parts, or characteristics, or components covered by printing of the full text of the warranties to be the warranty and where necessary for clarification, displayed. There will also be expenses involved in which are excluded from the warranty. The warra~ty preparing binders or in making the warranties must also state what the warrantor will do in the readily available. The retailer will incur conevent of a defect, for what period of time and at siderable expenses to 'satisfactorily prepare, index whose expense. It must also inClude a step by step and maintain binders, if that is the method the expIanation of the procedure which the consumer retailer decides to use. should follow in order to obtain performance of any warranty obligation. The warrantor must further The manufacturer and retailer will have to work provide, a general description of the legal remedies together in order to decide the most efficient available to the consumer, and any limitations on method of the available four. Obviously the incidental'or consequential damages. The warranty physical piece of paper:containing the text of a must also state if .there is an informal dispute warranty to go in a binder will differ significantly settlement procedure (described subsequently) from the type of paper used i f it iS'intended to be available. ' displayed in. close conjunction with the product. The manufacturer will also want to consider printing FIRST COMPUTER FAIRE PROCEEDINGS the text of the warranty on the box if it is the type of product which can conveniently be displayed with its box'. Perhaps in the long run such costs will be passed'on to the consumer. Nevertheless, it is submitted that the benefit to the consumer in being able to shop warranties more than makes up for the added printing costs. The presale availability rule is applicable to catalog and mail order sales. The rule requires a seller to disclose for each warranteed product the full text of the warranty or an explanation of where it 'can be obtained free of charge. The FTC has, as yet, not brought any actions against retailers for failing to comply,with the provisions of the presale availability rule. The reason stated is that it is difficult to determine if a product has been manufactured after January 1, 1977. SBCWA REPAIR FACILITY REQUIREMENTS One area not broached by the MMWA and fully treated by the SBCWA is the subject of maintenance of service and repair facilities. The SBCWA mandate's that if there is an express warranty accompanying goods sold in California, the manufacturer of such goods must maintain, in California, "sufficient service' and repair facilities reasonably close to all areas where its consumer goods are sold" to carry out the term of their warranties. Manufacturers may comply with this requirement by entering'into warranty service contracts not exceeding one year with independent service and repair facilities. Providing facilities in Los Angeles and San Francisco will probably satisfy the "reasonably close" requirement. If a manufacturer maintains service and repair facilities within California, goods subject to an express warranty must be serviced or repaired within 30 days. The buyer may extend this period by agreeing in writing or the period may be extended by conditions beyond the control of the manufacturer. Should the manufacturer of its representative be unable to repair or replace the goods, the buyer will be reimbursed in an amount equal to the purchase price paid less an amount directly attributable to use by the buyer prior to the discovery of the defect. ' If the manufacturer does not maintain repair facilities in California and has not authorized a representative to do so, the buyer may return defective goods to either the retailer from whom he bought the goods or to any other retail seller of like goods of the same manufacturer. The retailer to whom the goods are returned may replace or repair at the retailer's option. If the retailer opts to repair, he is also subject to the 30-day requirement. If he can't replace or repair he must reimburse the buyer. If a manufacturer does not maintain repair facilities in California the SBCWA makes such manufacturer liable to the retailer who incurs obligations in giving effect to the express warranty of the manufacturer. The manufacturer is liab,le as follows: 1. In the event of replacement, the manufacturer is liable in an amount equal to the cost of replacement plus transportation and handling charges; , 2. If the retailer reimburses the buyer, the manufacturer is liable to the retailer for the amount of the reimbursement plus handling charges. If,: ,the consumer has warranty repairs and has services, or if there is who sells like goods for gone to a retai ler for not obtained satisfactory no retailer in California the same manufacturer BOX 1579, PALO ALTO CA 94302 PAGE 75 (i.e., if the manufacturer sells exclusively through mail order) the consumer may secure the services of an independent service or repair facility. If the consumer pursues this option, he is not responsible for the costs of repairs. The independent repair facility shall only hold the'manufacturer liable for such costs. Those costs encompass the actual costs of repair including costs for parts, transportation of the goods or parts, plus a reasonable profit. A few comments about the independent repair provisions are in order: Those provisions are only applicable where the wholesale price to the retailer is $50. How does the consumer know this? The SBCWA provides that the warranty must state that the independent repair option is available on all express warranties accompanying products with a wholesale price to the retailer of $50 or more. What about in the mail order situation? Actually, the independent repair provisions do not expressly provide coverage in mail order situations. However, the SBCWA repair facility section is applicable to "Every manufacturer of consumer goods sold in this state and for which the manufacturer has made an express warranty .••• " Manufacturer is broadly defined by the SBCWA as " ••• any individual, partnership, corporation, association, or other legal relationship which manufactures, assembles or produces consumer goods." The question becomes "is a mail order sale a sale in this state." A recent amendment to the Unruh Act (dealing with consumer credit) provides that: " ••• a ••• contract •.• shall be deemed to have been made in this state •.• if either the seller offers or agrees in this state to sell to a buyer who is a resident, of this state or if such buyer accepts or makes the offer in this state to buy, regardless of the situs of ,the contract as specified therein." Although that section is applicable only to the Unruh Act as promulgated, the legislative intent as to mail order purchases is clear. It is the author's opinion that manufacturers who sell by mail order to California residents are subject to the independent repair facility provisions. Those provisions cannot be waived by any manufacturer. Any attempted waiver is void. By imposing liability on the manufacturer for all warranty repairs the SBCWA enhances the probability of consumer satisfaction. This is because the retailers, manufacturer's representatives and independent repair facilities, knowing that the manufacturer will be liable to them and that they will be paid a going rate for making the repairs, will not hesitate to accept warranty work. Further, manufacturers should be less likely to delay reimbursement to retailers (their main source of revenue) than they would 'be to satisfy isolated claims of the consumers themselves. This is especially true in light of provisions for treble damages plus costs and attorney's fees should the manufacturer willfully violate the reimbursement requirements. One more unique provision in the SBCWA is a tolling provision. Where any item costs the consumer $50 or more, the warranty period is tolled (extended) from the date the consumer delivers the goods for warranty repair until the goods are returned to the consumer. The SBCWA also contains disclosure requirements. An important addition to the MMWA requirements is that the consumer must be provided with the name and address of each repair facility in the state or be provided with toll free number which will provide repair facility addresses for manufacturers who elect to ma,intain such facilities. The retailer must also provide a list of authorized repair facilities. a FIRST COMPUTER FAIRE PROCEEDINGS' CONSUMERS' REMEDIES FOR EXPRESS WARRANTIES The U.C.C. provides the same remedies for warranties whether they are implied or express. The SBCWA also provides identical remedies but allows treble damages in instances where it is an express warranty that is breached. The MMWA does not broaden the scope of remedies available under the U.C.C. and the SBCWA. It does specifically provide that an action under the MMWA can be brought in·State court or in an appropriate District Court of the United States. However, the jurisdictional requirements to bring an action in District Court are almost prohibitive. That requirement is that the amount in controversy must be at least $50,000. If the action is brought as a class action, the named plaintiffs must number at least 100 and the amount of any individual claim must be at least $25.00. Perhaps the remedies available to the consumer seem slight when viewed in the light of the magnitude of the requirements placed on manufacturers and retailers. However, the most important result of the warranty legislation is that the consUmer be aware of his warranty rights and that he be able to enforce them. The SBCWA's repair facility provisions are perhaps the act's most important provisions,as it places the onus on the manufacturer to establish repair facilities or to be liable to retailers or independents who provide repair facilities for warranty repairs. Presumably, this will be enforced by the repairer after the consumer has been satisfied. Nevertheless, in order to be effective at all, consumers must be aware of their rights and must take advantage of them. MAIL ORDERS An oft heard complaint by consumers in ~ealing with mail order houses is that, "I ordered a product and sent my money in months ago and the mail order house just kept it and didn't send me what I ordered." A new provision of the California Business. & Professions Code requires that any business conducting a mail order or catalog business in California must, within 6 weeks, either (1) deliver the goodS ordered; (2) make a full refund; (3) send the consumer a letter advising him of the duration'of delay and offering to send him a refund within one week, or (4) send the consumer substituted goods of equivalent or superior quality. A violation order or catalog may be recovered A~torney General of this section subjects the mail business to a fine of $2,500 which in an action brought by the of the State. Therefore, if you have had experience with a mail order ,or catalog house which violates this provision, call the local Consumer Affairs Bureau or the Attorney General and notify them of the details of your experience. INFORMAL OISPUTE SETTLEMENT MECHANISM Congress, in enacting the MMWA, has explicitly dec~ared its purpose to encourage warrantors to establish procedures for settling consumer disputes, fairly and expeditiously through informal dispute settlement mechanisms (IDSM). The MMWA does not require the establishment of an IOSM but only states that any mechanism incorporated into the terms of a written warranty must meet the MMWA's standards. For.the microcomputer industry, the early establishment of an industry wide informal dispute settlement mechanism could very well be the solution to one of the great problems facing the industry. 'That problem grows out of the situation where a manufacturer.of a peripheral device claims that it is compatible with "all SlOO buses" or "all 8080 1'\Iicroprocessors." A perfect example of a real-life compatibility problem is set out in another letter appearing on paqe 14 of the November/December PAGE 76 1976 issue of Or. Oobb's Journal. There Glenn Tenney describes a programing problem resulting from IMSAI's;use of a NEC 8080A chip instead of an Intel chip. He states that NEClreported, in a confidential letter to IMSAI, some "minor" differences between their chip and Intel',s. Being a Senior Designer for Compro, Mr.'Tenney stated that he was more disturbed by not being informed of the differences than the incompatibility itself. Being. an "appliance operator" the author is more concerned about the incompatibility. IMSAI responded to Mr. Tenney's letter with information summarizing the differences between the chip. Well, that's satisfactory for someone who can understand the difference described, but as microcomputers become as common as TV sets and are purchased by people who can use them, but don't know how they work, the "solution" adopted in this instance is definitely unsatisfactory. How can the establishment of an IOSM help solve this technological morass? In order ~o see how it is necessary to have a better understanding of what the IDSM "mechanism" actually is. The MMWA provides no definition. The 10SM rule only governs the minimum requirements of the mechanism with respect to its organization, operation, record keeping and qualifications of members. The minimum requirements are broad enough to encompass 'a wide range of descriptions. in general, the proper model would be the labor dispute analogy. Almost all collective bargaining contracts include a grievance procedure with "in house" settlement steps leading to a terminal step where a decision is made by a neutral arbitrator (a mechanism). In this analogy the consumer can be thought of as an aggrieved worker and a warrantor can be thought of as management. In the microcomputer industry the neutral arbitrator or mechanism could be an association consisting of members who are microcomputer users, manufacturers, retailers, distributors, microcomputer magazine publishers, etc. Because the validity of some "grievances" in this industry would necessarily require the use of highly sophisticated and expensive testing equipment, the "offices" of the mechanism could run the gamut from the basement workbench of an experimenter, to the repair shop of a retail outlet, to the facilities of a storefront operation designed to exclusively act as an office for a microcomputer industry-wide informal dispute settlement mechanism. While the MMWA does not require a warrantor to establish an IDSM, if a warrantor does establish an IOSM, the consumer must resort to the IOSM procedure before filing a lawsuit under which he would obtain the benefits provided by the MMWA. That is to say, even if an IDSM is established, the consumer may still sue and obtain remedies based upon the U.C.C. and the SBCWA. Further, a consumer may attempt to resolve the dispute with the warrantor prior to going to the 10SM procedures. If a consumer does resort to an IDSM, it is important to note that neither the consumer nor the warrantor is bound by the decision of the IDSM. However, if either decide not to be bound by the decision of the 10SM, the IDSM decision can be admitted into evidence should a legal action be brought. Given that the warrantor is not required to develop an IOSM, that the consumer. need not resort to the 10SM and that neither the consumer nor the warrantor is bound by a decision of the IDSM, what are the benefits of the establishment of such a mechanism? As previously indicated, in the microcomputer industry the nature of warranty disputes (i.e., the compatibility problem) are such that very few individual consumers have the necessary knowledge and test equipment to prove that a given peripheral is not "SlOO compatible." Many manufacturers of peripherals cannot afford to test their per.ipheral with every SlOO device. An industry-wide IDSM would FIRST COMPUTER FAIRE PROCEEDINGS provide for the warrantor a cost effective procedure for dispute settlement. Additionally, it is conceivable that in the dispute settling process, an expert technical consultant could solve the noncompatability problem, thus saving the warrantor thousands of dollars in research and development expenses. A potential consumer with limited technical expertise would feel more comfortable purchasing an expensive home computer if he knew that there was a mechanism to which he could resort if a manufacturer's claim of compatibility proved incorrect. REQUIREMENTS FOR AN IDSM If an IDSM is used, the warrantor must disclose that such a mechanism is available on the face of the written warranty. The warranty must disclose the name and address of the mechanism or a telephone number of the mechanism which consumers may use without charge. Further, the warranty must disclose the legal ramifications of resorting to the mechanism, as already discussed. The warrantor must also provide a description of the mechanism procedures, the time limits adhered to by the mechanism and the type of information which the mechanism may require for prompt resolution of warranty disputes. The MMWA provides that the mechanism shall be funded and competently staffed at the expense of the warrantor. It further provides that no member of an IDSM deciding a dispute can be a party to the dispute or an agent or employee of a party to the dispute. There is a specific provision for the use of a technical consultant who works in the industry, so long as such consultant or consultants make up no more than one-third of the members who will be deciding a given dispute. Once a dispute is brought into the IDSM mechanism, a decision must be rendered wi thin forty days. The mechanism must then disclose to the warrantor its decision and the reasons therefor. If a decision would requir~ action on the part of the warrantor, the warrantor must inform the mechanism whether, and to what extent, the warrantor will abide by its decision. The mechanism must then disclose to the consumer its decision and the warrantor's intended action. The mechanism must then ascertain from the consumer within ten working days whether performance by the warrantor has occurred. There are also extensive record keeping requirements. In light of the highly technical nature of many of the problems which face microcomputer manufacturers, retailers and consumers,the establishment of an industry-wide IDSM at this early stage of the industry's development is a factor that might lead to an earlier broad-based consumer acceptance and use of microcomputers than anticipated. If a toaster doesn't toast, the consumer knows it and the warrantor knows that it is his responsibility. If an "S080 compatible" peripheral doesn't work, the consumer doesn't know if its due to a defect in the peripheral. The problem evolves into a pointing the finger at the other guy game. The bottom line in such a situation can only be bad news for the microcomputer industry as a whole. The purpose of the above description is to suggest a possible solution to a major problem facing the microcomputer industry. It is intended as food for thought. Nevertheless, the establishment of an industry-wide IDSM would alleviate the finger pointing and would establish a state of the art dispute settlement mechanism in a state of the art industry. BOX 1579, PALO ALTO CA 94302 PAGE 77 theory of knowledge processing 'Tl :%I How do we go about designing a brain-like computer? Do we invent a fancy new device called a neuristor? Do We cook up a chemicsl brew which spontaneously organizes itself? Or shall we depend forever on that old fashioned biological method? ~= C:::tr1 ~~ Nol The answer will not be found in exotic new devices but in the re-e~luation of our computing methods. All presently known computers may be roughly classified as methodical, analytical, or empirical computers. Fig. I shows a comparison of the three computing methods. Most present-dsy electronic computers are methodical or stored program computers. A set of input dats ia manipulated by a stored program to yield a set of output data. The stored program presents a method which specifi*s what steps must be taken to convert the input data into some desirable output. Some engineers believe this to be the only way to fly. Let us consider how a creature with a methodical brain would behave in nature. This creature would be born with a completely pre-programmed, pre-wired brain without the ability to learn or accumulate new knowledge. It would react to a certain situation in a predictable way precisely every time. A slight defect would kill the creature since it would have nobody to repair Its program. This is obviously not the way our brain works. The question is why have we been building such overstuffed adding machines? Well, they are simple and they are so different from ourselves. They do things easily which are difficult for us. They are great for science and bureaucracy with their rigid equations and rule books but they will never yield a brain similar to ours. ~("') tr10 ~ til .... ........ "',.. .. .. "." " .." .. " ..=. .. '" ,.gSlSl g",,,, '" ""."C .... :r .. ... ... '< 0 "'''to . . . . It ... g ... ,.. -< .. o en ... =' ",.. ....... .... :r 0) ..,..'" ." .... 0"0 ... .. to .. It." ,..." .......... :r ...... A second type, the. analytical computer, Is used by Nature and Man. The old analog computer used this method. An input pattern is examined to yield an output response directly dependent on the input pattern. In analog computers, a set of input variables is combined by a pre-wired network of operationsl amplifiers to yield an output function. The result is obtained, not by a stored program, but by a pre-wired weighted network. Mother Nature uses this method for all its primitive creatures and most of the peripheral processing in our brain is organized this way. A fly, for example, reacts to movement in its direction detected by its eyes by activating its leg8 and wings for flight. This type of computer is useful for primitive reflex responses which can be prewired ahead of need. The network is not very flexible and depends on outside wiring either by man or in nature by the forces of evolution. The assembly of analytical infinite dimensional networks will be explained later in the text. Enter the empirical computer. This computer contains no stored program but learns its behavior pattern by interaction with its environment. A certain input situation is analyzed and a response is formulated according to pre-learned knowledge. This knowledge is not programmed but obtained from experience, abstract learning, or duplicating the successful behavior of other people. An empirical computer would be very flexible. It may have several responses for each situation. It would constantly update its knowledge and behavior repertoire according to its changing environment but always remember past experiences. An empirical computer is now possible but before we can build it we have to aaalyze exactly what knowledge consists of and how it may be stored. "Knowledge" unlike mere '~ta" cannot be stored in 8 filing rack type array. It requires a selfassembling tree-like array at which all knowledge is related to other knowledge. The following five principles will define knowledge processing. They are valid both for the new computer and to the human brain. They may be hard to understand all at once but will become more obvious in the later text. They may provide a more profound understanding of ourselves and natural philosophy~ They may even sprout a new freak like religious group in Southern California. g;:g-~st -6~~&;; " .. ... :r to ~fIl~ "' n.. " .. .. 0 ,0. ... o .... " :r .. 0' 11 Go ""''' on .. ... ,< n .. ..... ..... .. ..... "' ...... ~:;c: til n" C .... : .... 0"" ." " :r 0 "0 ... to 0 .... .. "" "0 .. ..... .. .. 0 .. .."'. "0", ::s 0 n'" 01 0'" CD t1 Q tot CD .... " OOnDl:;ll;"_ • CD In ::s :s () 0 ..... ..........0:" .. ,. n ...... n .. :s c "' 1!: QQ:sQ. ... 00 ..... '10"t:l"O '<::1I1t1 "0. .. o OQ 0" no> .... en :s .. ... ..... "1nUltT :r ... ao:s '" l: 0) ';: :::.. ="' .. ;;--6 IUC,.,. .... .. f"tOQ a (t "0: OI:S HI n .. ....f't' .... ..... n 0 ::s n :s a ooDaca"O C .... tT C :.~:! It "C ... :s ........ ... ..... "0 "" . . m(')O)::r :s :s .. III CD IT Q. 0 .......... (100)'< ,. 0 • "'1Il . . o :s :r .. ... C It H 00,.,. ... 0 .. . I» Ht'< C OC ... o : 0. ..... 0 6~ ~ ft>o8-8~ 0.::1- ..... "0 nCl,.,. "t:I 0 ..... :r t1 Q) )( 0 I» ,; .. n-t1::S::r ::s ;ro.Q.Q) rt .... f! rt :::fII~~,< :J(D"t:IO r.n II CD C !!,.f!5.;g ~n .:. ,tot ......... _ ~ .... !f~ 0 (1) It ......... :i ~ ...0 "CT I'D 00.0- ..... C"" fI.I (JQ C'<" .... tb ..... 0." ... '1 0 0 ::s .. rtCrtnt1 ;t'n1'1001 o'<">:r a .... tD "afli"""'fn c ...... CD Q. 11 ~ ... ...... 00 :I .... ::i:i en ::s ... .... n ~ ~ ii ~~ ........ ncn"" SitTCDD. -e... CD"":s n ::s< ..... OO a.o (t 1'10 ..... "' ... .... o " • n '< ... ..... rto."Of!n .. ... 0 11 "' .... :ra !J'9c::"O .... CI .... :;JC :s ng.n .... ........ '111 .. 0 < ..... '" ... ...... fD-c:ro.u. t.:-co '< - r t .... ::s OQ .... ftt (tIDCm .... (b:s tot" totrttDQ)::J' fI.I .... It C CD tot It .... 0 rt ..... a.:::r" -,",,0. 011 fa (D J1 fI ..... 0 0. III ..I'.ft a • < . : ~ i ,.,. "o . .... ..... ..... 0 "C 0 .. 0'" 0-,1", .. t1::rCDI1 o o0" ,. CD ... fA "',. .. 0 '" ~ ~ is ?; '< .. " ....... III .. .... t:C It " .. ...... n "' ... ..... 0 ~ "' 00" ... n... "0"0 a~ g ~ ~~ -6 ", ... ", -.... ... gn" a .. .. :s • .. tTl 0: ~ ;:T 00-,1'" " :r ... n:r ~ CD CD c: n 'On .... .. !l 0 ~.ij ~ ..."' ..... '<.... ~!:!2!i o ';; ~ ........ ,.c" n ., ~. ~;: nOl III .. 0" " - III ... In .... .. Q.·rt ..... :r ......... ..:s "to",g .. C .......... ........ § :r" ",..0- 0'" nc ... :!i§ oo " n... ... n ... o :r OQ t-Il> • 0 ::a: .... CD "' ... 5." ...0 6~ c .. ~~5 ~~[ l> ~ ;;; i p :z o ~ (') o 3: ,~ -I ,m ,:%I ." ~ :%I 'm '0 ~ (') m ~ Z G') en ~ X ~ ,/&) ~ 5 » r d (') » I ~ ~ ~ ~ .~ ~ ~ ~ l:IO ~ ~ tr1 In 0:1 .£!.§;-L The proce•• of specifying COIlcept. 1a explained later In Inflnl te .i_.1_1 net_rk.'. fla1ti-dl_.lonal spaoe is only a de_Iptlon of the IIIBt ....tica1 _thod. It doea not: Impl, the existence of such apace •. THIS FIGVIU CO#PAIUS THE $ MOST I#P()ATIfAiT C()NPUrIH~ MCTHODS. THE £NPIAICAl CONPUTEA Will 8E /iYPI.AIAI£O ~lfrEA IN THC TEKr 2. YETI(()OlqL EHplIUCAL COMPuTER AIIAL'!TlC4' CoNI' liTER coypUTER this principle specifle. exactly What knowledge COIl.lat. of. Few objectl in our e n v i _ t are reall, under.tood III detan as to their _ po.ltion and re1atlon.hlp, to.otber Object•• A ROSI for ex..,le COIl.Ists of flower, orpnelle., protelna, . .ino 'acids, atolD, etc. It ~elate. to other flower. and enlah in the gerdu eco10D, to cUute, pl.etary _tion, etc. Not even the word. we uae, such a. proteins or ecology, are really understood. We gein knowledge however by defining the composition end relation.hlp. one fact at a tlms. The _re U,htly thia network of facta 1a knit the more kn_ledge 'lie po ...... ttErHoQ INPUT OUTPuT STOREO l4£rllDO INPUT I PI/EI/IOUSi'! I OUTPUT II/PUrl WEIGH rEO IOIJTPUT NETWORKS l£AANE/) KNOWL£DGE (PNOGRAM) 3. TYPIC"" "l'IloVl.... I. the ~finltion of COIloept. end their Interrelationship•• " "/Cnowledge 1a ac_lated In discrete quantum Incrementa which change a concept to a different concept." BLOCK 0/dtiNAH This principle make. it po •• ible to accurately measure Ie_ledge and to stor. It In digital memories. The concept ROSI for example I. changed to a different concept RID ROSI by the addition of its color. The change is always in discrete Increment. which can be measured, quantified or named. 4. "Only a few of the infinitely po •• ible concepti exist in the real world." This prillciple seta a limlt to veriety and ma.a practical COIIIPuters possible by eUmlnating the Infinite. Ivery posalble concept _!It, however, heve a chance to become real. \. SrO/UGE MAP ADDRESS " II 0 ,"ST/filCTlolI , /I l /I 1 J II ] 1/ 4- II SO -!~ /I '-- " I -II- _rd. AOORESS (J ,CAPAC/riVE S TORAG£ ONLY s- " I " GA TE rop ('wI/TEN l I,-T " /I 3 " " 4 S- " I' II II (, S /I~ STORAGE NEtJUIREHEAlT STORAGE Taking written Engll.h a. an example, .n almo.t Infi.ite number of posaible could be aslll!\d)led from the 26 letter. of the alphabet. Only a few thou.and words exlat In everyday use. 1/£6iIJIRENC/Ir S. "l.tab,U.hed kn_ledge exclude. redundant m-ledge." Thla principle .peclfles • _chanlam which ali_ kn_ledge to be .tored in highly repetitive and randOlll order alnce every fact h only atored once. Learning i. the procea. of .toring new kn_ledge. A human, when presented with a new fact, will learn that fact to increase hh m-ledge. If the as_ fact h presented a second time it will not increase hh kn_ledge and is therefore' not learned apin. A ._chanislll to filter out already learned knowledge mu.t be iicorporated into a knowledge proce.sina computer. this will al1_ only new facta to be learned and prevent the accumulation of usele •• redundant data in the memory. A fact, once learned. mu.t never be learned apin unles. of course a memory is f.u1ty and keep. forgetting. ST(JfiAG£ REQUIRE, PROGRAM size The tool. to bulld a kn_ledge proce.sing computer are the inflni te dimensional networks which will be expl.ined ~. STORED KNOIVt.£OG£ Introduction to infinite dimenaional networks What is an Infinl te dl_nsional network and why I. It illlPOrtantT 1. "Every concept.may be apecified like a point in multi-dimenaional apace." Thla principle is the very basis of knowledge processing. It provide. a _ans of defining and manipulating concept.. A concept may be anything that c.n be named or described, such as physical objects, persona, proces.es or ideas. Since a single pOint is sufficient to specify .ny concept, its compleXity becomes Irrelevant. This make. It as easy for a human to le.rn s .ingle new numberas to remember the face of a .tranger. In the Introduction to m-ledge proces.ing it waa .. Id thet any concept may be specified like a point in multi-dimsn.ional apace. If this is to be u.eful, a method of specifying points ill multi-dimensional space mu.t be provided. An infi~te dimensional network may be envisioned as a tree like array. These networks assemble thelllselves automatically from the supplied input data without proGramming or human: supervision. this results in a mechanism which strikingly ,.. ! 83: ...C!m :u ~ :u m "V :u g m m C Z ~ ~ .~ ;:,.. o » ,.. d ~ § ~ m '0,1 CD simulates human learolna. the networks used latar In electronic coaputers are both real sad i_ainary. They an real insofar as they are stored in digital_ry devices bllt imaginary because they an ~t actually connected with getes or wires. They axiat only. as a _t~tical equivalent. Since infini ta dimensional networks an brand new conCepts ... have to start from the very beginning. . Fig. 2 shows a 3 dimensional network that fa all that can be illustrated on paper. Thla network may be used to spscify various points In I, 2 or 3 dl,.nsional space. A speclfic point In 3 dimensional space such as "3" may be specified by Its three vectors In the flrst,'second and third dimension which are I, 4 and 2. Each of the vectors presents an Increment of knowledge about the location of point "3" but only In combination with the vector's orlain. This first atap allows us to quantify knowledge. A quantum increment in knowledge consiats of a fact (vector length) and information about Ita location in the network (vector origin). to apecify a point in 3 dlmenaional apace three knowledge quantuma (3 vectors) are raquired. We do not have a name for a unit of knowledge at this time but knowledge can now be preCisely measured. FUture generations of studenls mey graduate with a certified knowladge of 524 @$*Icf&. FIG 1 :3 OI),fE!lSltJAlAL IlErwORJ< Z KNOWLEDG{ QUANTUM NODE G A "Pointer" value is Introduced at thia time. thla value specifies the node from which a branch ori,inataa. It ta thenfore the number of the previous node in the sequence. t THIIlD DIMENSION ." ~ ~ S m :II ~ 2i m The node name or number is now celled "Address." Every address (node) number specifies a point in multi-dimensional apace. No 2 nodes in the asme network may have the same address. :II Every knowledge quantum is now specified by a ''Gate" and a "Pointer" which are together called a "Matrix." Each branch leads to another "Address." o Verify that Fig. 3 contains all identical Information from Fia. 2 but in a more convenien~ way. Point (addresa) "3" may still be specified prectaely by the 3 vectors (aates) 1, 4 and 2. This network may spread Into additional dimenlions i f required. Fig. 4 shows the final step to arrive at a -stored infinite dimensional network. Its construction is no longer obvious but I t is now suitable for computer processing. J P A "Gate" fa now a CODditton' code which specifies the condition which 1IIIst be _t to eroas to the next node. In our example it was thelenath of a ftctor but it may be facts, Input deta, coaditions or anything that can be measured or na_d. A second law of Infinita dimensional networks Is thatl "Ivery node may sprout an unltmt'tad number of branches but each pte in a branch lIIIat be unique. No 2 branches from the s _ node may have the _ gate." The stored network in Fig. 4 WlS derived by simple diasssembi'y of the Fig. 3 and storing them according to their address (node) number in a memory. The network in Fig. 4 contains now all identical information Fig. 3. This network can spread into many dimensions without 11mt. node. from common digital of Fig. 2 and It can specify ." on m m Z C) en ~ ... X .~ ~ 6 l> r- a 111$£ VECTOR vaTON ORIGIII 1.£1I6TII FI63 '1 'J ~ I ~ECOIIO I ~/M{N.sION T ~m '2. ! \ \' ... I.sr DIKENSloN FI!lsT DIMENSION Every specified point in the network la merked by a sep.rate na. . or IlUIIIber. the. ere 11ke network nodes froll which _ y branches _y sprout. A very illlpol'tant first. law of iafi.i te dimanaional networks la !;batl "BftI'y Dode in the network la unique aad no 2 nodes in the _ network _y have the sa. . na_ or number." Point 113" in ria. 2 is therefon unique and can oaly be reaohed Oftr the thzoee ftCtors I, 4, 2 in the riaht seq_ceo lach node la therefore Ub • fixed point in IIIIlti-di_slonal space which location la pre~l ..ly knowo. '!he numbers "to the nodes are easlp.ed In sequence .s required. We do IIOt iteed to re..r .. numbers for SllPty coordinaUs and .s law 4 of knowledp plOcssslng statas. "CIIlly a faw of the infinitaly possible CODcspta (nodes) exlat in the real world." 1he fact that each natwork node pra...ta a CODcept as a point tn _ltl-di_ataaal apace will ba_ clear later. na. 2 la uasful for explaining the firat stap. ria •. 3 allows the network froll ,J'ia. 2 rearranged in • IIOre CODWIli_t way. instead of .howing tb6 ftctors in their physical length they are spacified .s "Cata" ".lues. / / / I "i:W-- OINENSlgK HErWOI?K NODE . (KIIO""UIJ6E~II.4NTIJH) POINTER ADORESS (OR/~liI) ~ (CONCEPr) GATE (lIEcTolC tENlSr",) / I / 7irH - / DfH£NSIOJ/ a point in multi-dimensional space using only the.origiDal vector inputs. In our example pOint "3" was specified by its 3 vectors 1, 4 and 2. Starting address 0 contains a unique stop code marking the network entrance. Starting from this location we ~ry to locate a memory location (matrix) containing a POinter 0 (origin of that branch) and a Gate 1 (first vector.) We locate this in Address (node) 1. Address 1 becomes our new point or vector origin. A matrix containing pointer 1 and gate 4 (second vector) is found in address 2 which becomes the new pointer. Address (poiater) 3 is found after one more step with Pointer 2 and Gate 2. The above procedure is very cumbersome for humans but not for electronic registers. The next chapter will show how these networks assemble themselves from the input data. There is no need for a human operator to specify addresa and pOinter numbers or to supervise the internal operations of the computer. FlG.4- STOREO NETW(lRK AOOII(SS GATe POINTER '''''- --r- o I 2 EAlTRAAICE I .,. J 4 S 6 J J 7 4- 8 , I 6 I 0 I 0 I I I 6 7 0 I S - l o t: J S ". s, I j E I z L 3 /!, I Z () I s 7 r 8 9 D 6 0 8 10 / I 1/ "E I. 3 /2 A J /I 13 AOM\SSEm=I<. o 'v,,, I 9 tJurp(/T NETWORK A/)D8ff~ VI'." o iSTOI' :! I R E /0 T II 3 l.l I f D A TOP ( 276\2 I -I :; f I~ 5 6 -- 1,;7,.., ... M£140/(Y ,UA I' 0 / I () I I z I 1. ; 4- y I 5 T s I () 8 M I 7 9 RIHE .RED R()80T- .READY If) A I 8 R I 9 rON £OEA /I 12 G 0 IZ 14 () I o I /5 D --SMAFIT - - GOOD /5 /6 T I ...J y 13 ~ X .... U1 -oJ .ID ~ § The lnput/output learning network and the bi-polar network described so far are only simple examples of whole families of networks. These more exotic networks may be derived by modlfication of the gate and pOinter values. . The gate value represents the fact whlch determines which network branch la to be selected. In practlce thls gate value may be lnput characters such as text data. address numbers from previous networks. log1ca1 operants. polsrity indicators, numerlcal values or lndirect pointers. The gate value may consist of various aubvalues which may be Interrelated In seweral ways. For example, if the gate conslsts of two values, the network generator could log1cally OR, AND or EXCWSIVE OR the values to arrive at a very f~exlble gate. The gate could be made very selective or . approximate. The network gener.tor could select the best fit or the most probable gate. Some networks, like the simple bi-polar network descrlbed ear11er, contain no gate value. 10 i 14 I ~~ Z CO) en r10 yield a primitive answering devlce three networks are therefore required. The () input output networks convert any Input word pattern into a single number'which to~ tally ldentlfies each word. The address number may then be used to retrieve the -f word pattern. A human teacher could educate such a system by typing in some questions () and supplying answers. All lnternal operatlons would be handled by the three network g generators. Address and pointer numbers would be assigned automatlcal1y without human progranming or supervlsion. Questions and Answers may be entered in any random order and each set would be learned only once. " ~~ C The pointer value can also be modified to yle1d exotic networks. The network shown in Fig. 6 shows how a network node with two polnters could be u..d to cODstruct a hereditary tree for a larae number of people. Anode which designates a person has two origina, one frOID lts father and one frOID its mother. It also must have as gate a glven name AND a birthdate. The heredlty of a whole natlon can be stored in such a network. Personal files may be entered ln any repetltive or random order slnce every personal fl1e is stored only once. The network may be expanded and updated at any time. Self-assemUng lnfini te dimenslona1 networks in sUlllllllry are imaginary networks consisting of aate and pOinter values whlch are stored in digital memory devices. Each ~m ~ network ia generated by a fixed (genetic) adcro-routine which is determined by the network's purpose. All networks reduce complex input patterna to aingle addreas numbera which are then related to other addresa numbers representing other patterns. the input dats pattern is compressed but never destroyed. Each pst tern may be fully retrieved from the sddress number. the content of each word in the digital memory is unique. No two addresses in the same network may have the same content. The network memory is accessed by address or content which can be accomplished by scanning conventional memory devices or by future content addressable memories. FIG_ ~ HEIlEI)ITAI?Y Bi-polar Network Micro-routine Matrix (memory content) -, Address Label Operation Wait for input pointer number from previous network - search-memOry to -lOcate .-niatrIx Wi th the correct input pointer A) Find input pOinter in memory Supply output pointer from .ame memory word to output network. Go back to START B) Input pointer not In memory Human education is required Test ff learning-I.-enabled A) Lesrning not enabled Put special pointer code "DON'T KNOW" to output network. Go back to START B) Learning enabled Weit for output painter supplied by human input and encoded by output network Store Input_nil output-poliiterIn- next tree memory location. Go back to START SffiT TREE MATRIX WiESS POINTER POINTER GATE I GATE 2 ?St1l.",-,ITHER 1#t'THEIi 12~~11~:;1 I EXAM8lE IDputpointer Input sequence CF EXoTIC IYETWORK WITH 2 GATES ANt) .2 POINTERS Matrix Address (locetio Learning Network Micro-routine Address (location) Label STARt LOOP ElCIT ----, I Input GAT! I POINTER character Output number Operation Setpofntervawe-to 0 Wait for lnpui:character Examine input character If input character is an "End of sequence" code such as space. full stoP. period etc. ao to EXIT CombIne input CMracterWi th present pointer value to obtain a matrix Search or scan tliii memoryto locate -the present matrix in memory A) Find present matrix already stored in memory Upds~e pointer value in matrix to the sddress value of the memory locstion in which the matrix wss found. Go to LOOP B) Matrix not found in memory (After scan through entire memory) Store present matrix in next free memory location. Set pointer value in matrix with the address value of that memory location. Go to LOOP The present Pointer value is the number which defines the entire input sequence. Supply this number to the next network. Go back to START ~ ~ "'II Output Network Micro-routine Matrix , "T :zl Label START LOOP Pointer ut data character Next sddress ----Ga~---- Operation Walt for the pointernWDlier-input from the ~revious network Fetch- the coiitent (matr Ix) of the memory location specified by the pointer value Examine- matrix.----rr the matrix contsins a stop code (or address is 0) the output s~enceis_C!IIDPlete. If true go back to START take --:Output data charscter frOm Gate section of matrix and send it to the output device Takenew pointer value from the matrix. Th{ s pointer value will become the address of the next matrix to be fetched from memory. Go to LOOP c: -I m :u ~ :u m "'II :u o n m m C Z c;) en ~ en .Ia ~ r The human brain Now that we know what theoretical infinite dimenaional networks are and how they are assembled let us examine if the human brain could be organized this way. It is usually not an engineering task to explain brain functions. After all, we engineers want to build computers not duplicste the human brsln. But why should scientlsta have all the fun? Here then is a highly speculative prediction of how the human brain may ba organized. Let ua assume that the brain is indeed a biological infinite dimensional network which follows the five laws of knowledge processing. How could such a network assemble itseU in accordance with the known functionina of the nerve cells? We must not look so much for structure as for the underlYing principle. After all, the theory of Evolution ¥ss not'explained by showing-the detailed relationship among animal species, but by inventing the mechanism of mutation and natural selection. o » r a g ~ fa ~m 8 To understand the system we lIIUst first examine its smallest comp.onent, the nerve cell. 'lbis cell, 11ke other cells, h a semi-independent Hving orpnhm which is self-mintaining, self-dupUcating, and produces its own intemal power from externally supplied fuel. The nerve cell is specialized for data processing and is usually a member of a vaat network of interconnected nerve cells. Some nerve cells have specialized sensor apparatus which serve as input to the networks. There are several kinds of specialized nerve cells but most are variations of the same general design. FIG. 8 DECODING tlNlr :!! ::II ~ 8~ S m ::II A nerve cell as shown in Fig. 7 has • cell body with. tree like branching called dendrites. Theae dendrites present an extended interconnection plane Which allows other cells in the network to connect to the cell. A long fiber on the other end, the "Axon," also branchea on the tip to Connect to other nerve cells. The axon of one cell connects to the dendrites or the cell body of other cells through small nodule. called synapses. There are two kinds of synapses. One kind is posi tlve to incr•••• the likelihood for the nerve cell to fire when a aignal arrives from this ~ ::II m "0 ::II g m m C rIG. 7 Z IIERi/E e£t./. C) en NEXT LAYER ~ FII?sT LAYE/( /leOES ( I (·2·3 ~ .~ CU+=8 ""'s YNAfJSE PltU/~(/S ,.,. uters. All human knowledge can therefore be collected and stored In more and more advanced computer a to be of service to all mankind. A aimple skill taught to an IDN system can be traded snd aold to other users to upgrade their systems. The effort of any teacher of any skill could contribute to that common deposit of human knowledge. A language translator system consisting of six networks Is shown in Fig. 14. This system contains the same five networks of the previous system. An additional word translator specifying network is added to decrease memory requirement. This word translator would translate every word of a language into a word of the otherlanguage. 'It would also specify each word by its type, such as noun, adjective, verb, etc. This network would therefore be a bipolar network building the word number of one language, the word address number of the word in the other language, plus the address number for the word type. A sentence in one language typed into the system would be converted into a sentence address number. This number is converted by the bipolar memory Into a aentence addresa number of the aecond language which is then converted backward through the sentence and word encoding networks into a clear text output. If a specific sentence cannot be found in the bipolar network, a second attempt b made by substituting word type gates in the sentence decoding network. Thia would result in the decoding of a sentence structure decoding with the word codes to be inserted by the output network. For example, an English-German translation would read: THERE ARE TWO ROSES IN THE GARDEN (Noun 1) " (number) (Plural)" " (Noun 2) " ZWEI ROSEN STEHN 1M GARTEN (Noun 1) (Number(Plural) "(Noun 2) " THERE ARE (NUMBER) (NOUN 1) IN THE (NOUN 2) (NUMBER) (NOUN 1) STERN 1M (NOUN 2) What kind of systems can we expect in the future? At first simple text networks will be built to be followed by more and larger systems. If the need for an inexpensive nonvolatile, content addressable memory device such as laser at magnetic bubbles can be aatiafied, a hoat of other applications can be realized. A robot FIG 14 LANGUAGE rliANSlArelf ~ItO CIICOO/N& ::!! :II ~ 8 ~ ~ What are the implications of thla new computer for our future? human brain potential and may it endanger human aurvival? These questions were, up to now, just idle speculations. and quickly. Let ua examine the facts in detail. Will it surpass Now we muat find anawers i!.... m :II ~ :II m "CI To answer the question of whether thb computer will ever beat the human brain, we must examine the three factorsl intelligence. knowledge and Imagination, which like the legs of a tripod, determine the height of human success. Intelligence is the innate ability to lsarn, recognize patterns and solve problems. One might call i t the .-etic hardware provided by Mother Nature. An ION computer can have unlimited intelligence alnce there b no theoretical limit to ita memory size, apeed, number of networks and network complexity. Except for economical restrictions there b no reaaon why an IDN computer camot be hundreds or thouaands of times more intelligent than humans. Knowledge, as defined earlier, is the definition of concepts and their interrelationships. Knowledge may be compared to the stored software. It may be obtained from books, teachings or experience. Contrary to the old progra.....d co....uters which could only be as knowledgeable as their programmers, the new ION computer can obtain knowledge automatically or combine the knowledge from many people. The amount of knowledge stored in an ION computer is only limited by the'memory space provided. Due to the ION inherent data compreasion memory requirement wi'll nearly saturate for larger computers. Trillion bit laser memoriea available today could store all of Humanity's present knowledge, including every book ever written by Man. This store of knowledge could be constantly updated and expanded to provide easy access wi thout akilled operators. Imagination or creativity is the ability to find novel answers without hard data or precedence. ION computers will at first have Uttle imeglnation untll we can define rules aa to how to solve problema and be Imaginative. The human brain will therefore remain superior for some time. ION Robot could be trained to perform moat human jobs which can be defined or learned. It would perform them more cheaply,faater, more accurately and without An :II g m m o 2 C) en ~ ....X ~ : r- o > ~ ~ § ~ m !!3 sick 1 ..... or vacaUOIl. SOODer or later . . ha.,. to reaUze that _nay aDd aploymeat an 0Il1)' crude ...hicles to happiness. I f . resard machi.... as apUflers of tw.a capabilities .. caa OIlly enr1ch our U .... by more freedom frca physical ll1DltaUons. MIn wU1 not reach the sters un1e. . hia machine. carry him there. the r . .1 80818 of ....... happiness, such as ....Uc expresslaa, COIIIfort of bodUy funCUOIls, social acceptance, satlsfactlOil of curiosity aDd expresslOil of creativity caD all be _re . .sUy obtained if _ caa reduce our ph)'.ica1 U.ttaUOIls. Fra.kensteln coaplex. Accidents will happen unle•• we provide phy.lcal safeguard. which .y be expre.sed ia the following three rule •• 1) CaD a COIIiputer ID ti_ be_ truly self a.re? '1'hII !DgUsh mathelllticiaD, 'l\IrlDg, once specified Wen a COIIIPuter be_s self a ..re. Thle rule. bow as the "'l\IriDg test" specifies thet WeD, after a prolonsed CODveraaUon betweeD a humaD and a coq>Uter, one _ s to the CODvictiOD that it is self aware it Ie for aU practical reaSOD self aware. (£labarrassIDg if the computer fiads that huans area't self IIWIIre accordiDg to its ow stalldard). Thle test Ie crude IIDd comparable to a test to determine if it Ie raining outside. "When after a prolonged walk in the park one haa the i..,ression of getting wt it is raiDing outside." '1'hII problem is accurscy. How convinced and how long a conversaUon? 2) Another !DOre practical test Is that a CGq)uter be_s self aware' wheD it appears to become insaDe.' 3) Asslllll1ng that a ClOq)uter would be many hundreds of times !DOre intelUgent aDd bowledgeable when it becomes sel f aware. it would perform functions no longer cOlllPreheDsible by hUNn beiDgs. Since humans are iDcapable of recognizing a superior intellect. they would assume the computer to malfUDction. '"110 robot should be fumlahed with faciUtt.s for self-dupUcaUOIl or self.adi ficatlOll." This will prevent a rogue robot from _ufacturiDg others and to modify itself frca its lateaded purpose. &Dowled,e about it. own coa.tructiOil should be withheld flOlll a robot unless It has no physical means to effect Ita ow modlficatlOil. n£very machine should be buUt from degradable material and fumished with an exhaustible powr source." A machine which requ'res occasional maintenance la w1nerable. The aeed to use degradable . .tarials should be universally appUed. It is a cri . . against Nature to PUlllp _-made, DOn-degradable materials into our environmant. A rogue robot la need of . .Intenance aad frequent input will e_tually run cIowa aad b e _ harmless. If a robot should secure and defend a power statloa it would be tied dow on that location aDd be unable to do mischief. pawr "£very machine should require for its operation a frequent input of human intent." this human intent should be expressed by a device which assures that the operatlon of the machine is according to Its creator's intent. A machine which does not conform to Its specified intent or which function is obsolete should de-activate itself autOlll8tlcally after _ time. The abow CODslderations will beCOlDB important in the future. It will be very difficult to recognize a self aware machine aDd to live with it. Humans at first had to learn to live with machines aurpassing their muscle strength several thouslIDds of times; now we have to learn to 11ve with super intelUgent machines. The time Wen the first cClq>uter becomes self ....re Is hard to predict. Our brain. after all. is just a CGq)uter and never Ddnd that divine spark. A COlDputer which so closely simulates human brain functions will sooner or later b e _ self aware. Will this computer pose a threat to human survival? It certainly couldl But humans have mastered such immensely dangerous forces as steSID. electricity. atoms. chendstry and biology. Chances are good that we might not only survive but greatly profit from this Dew technology. A killer robot Containing an IDN brain would be invincible and can only be defeated by other robots. Thi. ia true for all the other forces mentioned above. '1'hII dsnger is not brought on by mad scientists since no such threat has ever materialized. The danger lies with very sane and responsible military techDicians intentionally designing invincible killer machines to be used by irrational politiciana. The distingu,ished scientist and writer, Isaac Asi!DOv, has formulated rules for robot safety (1, ROBOT 1970) which have become known as the 3 Asimov laws of robotics. His laws are: 1) 2) 3) A robot may not injure a human being, or, through its inaction allow a human being to COlDS to harm. A robot must obey the orders given it by human betngs except where such orders would conflict with the First Law. A robot must protect its own existence as long as such protection does not conflict with the First or Second law. These rules could be used for designing robots. but in an imperfect world like ours robots will be built for example by the military for the express purpose to hurt and kill people. I also believe it to be impossible and wrong for an inferior mind to control a superior mind. In the, long run a superior intellect will break lIDy jail CODstructed for it by an Inferior intellect. We should neither belleve a robot to be always benewlent nor to be obsessed with a IDN computers have to be bullt today and sold at a profit. There are _ y problema stUl to be solved but the basic method is now knowa. The ewlutioa of this new techDlque should lead to very Interesting devices and a more profound UDderstaading of ourselves and our brain fUDctlons. We might meet another intelUgent non human creature sooner than we might expect. ::!! ~ i s m :D )! ;j m ." :D g m m o Z ~ ..~ ~ ~ 5 ~ d Bibllography g David H. Hubel The Visual Cortex of the Brain Scientific American Nov. 1963 § Rosenzweig, Bennet, Diamond Brain Changes in Response to Experience Scientific American Feb. 1972 Isaac A.UlOv The Human Brain Mentor 451-H71431 Isaac Asimov t, Robot Fawcett Crest P2355 Arthur C. Clarke 2001 A Space Odyssey Signet 451 W6230 Lewis E. Garret Primer on Artificial Intelligence Creative Computing Vol 2 No 2 Mar-Apr 1976 ." ~ m 88 BOX 1579, PALO ALTO CA 94302 FIRST COMPUTER FAIRE PROCEEDINGS ROAMING AROUND IN ABSTRACT 3-D SPACES Tom DeFanti, Dan Sandin, and Larry·Leske University of Illinois at Chicago Circle Box 4348, Chicago, IL 60680 Producing visuals by computer which have the subletyof form and pleasure that we associate with our most powerful music requires a computer environment predicated upon extremely rich feedback and real-time production. Micro-computerists have a much better feel for this need than the average large-computer user; hence this presentation. We have isolated four basic organizing principles of highlY interactive systems: rich feedback, ubiquitous tactile contro~ easy parallel processing and straightforward extensibility. The video tapes accompanying this presentation will first demonstrate the GRASSI Image Processor system at UICC and then show a live performance in concert of 3-D full-color computer graphic~ Tom DeFanti and Dan Sandin are faculty members at the Unive~ sity of Illinois at Chicago Circle who have been working on highly interactive digital and analog computer systems for six years. They were some of the very first people to recognize the power of video in computer graphic systems and they organized the first live digital/analog computer graphics concert in 1975. Larry Leske has been an integral part of the graphics effort, having built most of the AID and D/A interfaces. Larry is also currently involved in a project to bring highly interactive graphics to the home. VIDEO SYNTHESES - EXPANDING ELECTRONIC VISION Stephen Beck, Electronic Videographer Beck Video graphics 1406 Euclid Ave, #3 Berkeley CA 94708 Abstract: Since 1968 Stephen Bec k has been among the pioneers in developing personal videographic tools. His invention, the Beck Direct Video Synthesizer, has been used to realize videotape and electronic film compositions of both graphic and psychological substance. In this informal presentation, Beck will discuss general aspects of his system, illustrated with color slides, and present two color videotapes showing it's creative application entitled VIDEO WEAVINGS and UNION. Both analog and digital techniques are used in Beck's Synthesizer. With projection transparancies some aspects of the system of television scan and color will be presented during the technical portion of the presentation. Background: Stephen Beck has been developing both technical and videotape applications of video synthesis and digital video from his studio in Berkeley. He has received grants to further his research and production from the National Endowment for the Arts, the American Film Institute, and the Rockefeller Foundation. He was with the National Center for Experiments in Television at KQED, San Francisco from 1970 - 1973, and is currently a consultant on video game systems for National Semiconductor Corporation. Beck holds a BSEE from the University of California, Berkeley, and his videotape and vilms are in public and private collections world-wide. COMPUTER GENERATED INTEGRAL HOLOGRAPHY Michael Fisher Multiplex Company 454 Shotwell St. San Francisco, CA 94110 A hologram will be defined from a physical and information storage point of view using simple graphic models. An illustrated description of how different kinds of holograms (including transmission, reflection, projected, integral) are made and some of their characteristics will be described from a historical perspective. Some applications of computer generated integral holograms will be discussed and information on how you can make them will be presented. PAGE 89 COMPOSING UYNAMIC LASER LIGHT SCULPTURES VIA A HYBRID ELECTRONIC WAVE SYSTEM Ron Pellegrino 701 Del Mar Avenue Novato CA 94947 All the necessary hardware is available off the shelf and accessible to anyone desiring a personal system. The hybrid electronic wave system is a Synthi AKS, an instrument originally designed for electronic music. The AKS is divided into two parts: 1) an analog signal generating, processing and controlling section with matrix patching and 2) a digital keyboard which is touch sensitive and includes a 256-event memory driven by a variable speed clock, 4 touch voltage "transposers" which can be summed in any combination, a random voltage output and controls for expanding and compressing the d/a converted voltage before it is applied to the analog section of the instrument. The two AKS outputs can be connected to any home stereo amplifier with 10 - 15 watts rms per channel to achieve proper level control for the next stage, driving a pair of optical scanners mounted in the xy mode. Produced by General Scanning Inc., the optical scanners, G-06l2 and G-l08, were selected for their wide band width (for electro-mechanical systems) and their high resonant frequencies. The scanners are galvanometers with short arms to which are attached light-weight high quality mirrors. An inexpensive one mw Spectra Physics helium neon laser beam is directed at the scanners to create Lissajous figures uniquely characteristic of electro-mechanical systems. The exploration of every imaginable combination of dynamic waveform transformation leads to the composition of laser light sculptures which are analogous to what one senses as living forms. DIGITAL VIDEO PAINTING - TOWARDS THE NEW PERSONAL MEDIA Richard Shoup Xerox Palo Alto Research Center 3333 Coyote Hill Rd. Palo Alto CA 94304 1. Pictures as important vehicles for communication and selfexpression. The human visual system as a powerful receiver and interpreter of visual information. 2. Shortcomings of human abilities to create and manipulate imagery using ordinary physical media. 3. An example of an electronic visual medium, the Superpaint system (cira 1974-5). A videotape will show examples of freehand drawing and painting, color space manipulations, areafilling, moving, shrinking, transparent paint, multicolor brushes, animation and special effects, etc. 4. Some thoughts on system design, personal computers, etc., as appropriate to audience and other speakers. ELECTRONICALLY PRODUCED VIDEO GRAPHIC ANIMATION by IMAGE WEST Terry Craig IMAGE WEST, LIMITED 345 N. Highland Avenue Los Angeles, California 90038 A brief, informal discussion of the use of video animation in the production of television and film special effects. A sample of our work in the television field will be shown. Terry Craig joined the Image West staff soon after it opened its doors in August, 1974. During this period he has worked as an art director, commercial director and is presently Production Manager. He has a BA in Broadcasting from California State University at San Francisco. He supported himself while in college by working as a broadcast engineer for KQIlD, KEMO & KKHI in San Francisco. Prior to this he had six years experience as an electronics technician. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 VIDEO SYNTHESIS & PERFORMANCE WITH AN ANALOG COMPUTER Jo Ann Gillerman 4250 Horton Street Emervville CA 9460~ The Sandin Im3.fe Process or (IP) is <:In analog r~.tch programmable instrument desif"ned by Daniel Sandin at the U. of Illi Chicago Circle. The IF accepts signals of.! 0.5 volts 750hmEl, includinp: video signals. This moduh.r instrument m'l.Y rflcE!ive in;,uts from cameras, VTRs, or both. I built a copy of ·thE! Sandin Image Proce'lsor that I now UHP. prim'l.rily as a real time ins"trumen-f; in live electronic 3.udio/video performa.nces, and in sturtio production work of analog video processing and synthesis. Of thp. many tynes of videa pE!rformc;nce, I make a distinction between nerform1.nces conceived and derlen,1ent on video nnr:l the,-I;rical nerform',nces documented on video ta1Jp.. I do Derform'l.nces or intflractlve environr~ents th~.t are defined by thp. T)arameters of video, usually i:'lVolving the Im<:lge Process()r, and frequp.ntly 1Jl'Wing it 'l.S 8.n instrument. Real time is an element I believe to bo Bxtremely imnort9.nt in l)erfarm~.nce. Real time reans a contin1I0US flow throu,g'h time, une1i ted in the tradi ti.on~ 1 sense, and effected by events pRrticulRr to BRCh indi..vi!lu8.1 situ8.tion. Of primary importance in working real time is to be able tl) g.ccess as many input source~ "IS needed for '1 '::nrticular piece. This is one application of a computer, the Il'1ase Processor in my case. i',ore and varied "witches c~.n be Plade effici.entIV and fjuickly with digital circuitry~ Also, of utmost imr'ort-:tnce in g,udio/vide 0 pArfor~2_nce is for hoth me-Jiums to be of W1U3.1 im'Jort"nce ",nd to perf'orm as equal inntruments, Bath shnuld h3ve active ~nd p2'''~ive "u3.1itip.s, "lnd be sensitive to unbue Drob1ems of ·t'NC different mecl.iur:ls actin!,\ nne in real time. "C' A hi{Thly nrorluctive s i tU8ti,,". '"hich I call R Fant'l.sy FE'.cility, 'v')ulr! hrluse efjuipment cf vidp.o, 'lUdio, and both digi t'll 9.nrl em'!.lo!,: computers. It would provide a comf0rtable space for performances "nd studio 'Nork of a hi.c:hly sophistic9.ted n'ltl're. Emphasis c·~uld be directed toward software concerns, and hassels of moving eg uipment Minimized c :msiderably. I t would be wonderful for the desif';m~rs of virleo hardware to kepp in mind the performance oriented in future desic;ns. That iSI small, sturdy, compact, reliable, rugged, easily transportClble, inexpens ivp., and bst, bt.:t not least, a larr;p. viewinl': scrp.en c"lPRhlp. of hiph resolution without R crmsole in the opti1":111:1 viewin!': ,.,l'lce! Aside from t.he slides, one of the video t~.",es shown during my informal talk will he an eX8mple of +he Sandin Image Processor in conjunction 'vith a PDP11 and a Vector Gener'lJ DisnJay. It was ~~.de in Chicago 'l.t the U. of 11 Co. ChicR70 Circle usinr- R digit'll programmine: system desir:ned by Tom Def~nti. The tape was originally done in reql time, Rnd could be performed given sp?ce 8.nrl comper8ble equipment. The digital portions of the tape were done by Gunther Tetz and the analog process ing was done by myself on the Sandin Image Processor which is an analog patch programmable instrument designed •• , Having graduated with an ~IFA from the Chicago Art Institute in 1975, I am presently a free lance artist doing video in t.he Bay Area. ti,ost recently. I have been involved in live gigs with electranic musicians, but have also been doine: production work using the Image Processor for both commercial and personal work. PAGE 90 FIRST COMPUTER FAIRE PROCEEDINGS THE STANFORD COMPUTER MUSIC PROJECT John Chowning and James A. Moorer Department of Music Stanford University Stanford CA 94305 A major American contribution to present and future music exists in the application of a rapidly developing computer technology to the art and science of music. The extraordinary. results already - obtained have occurred in those few instances where scientists and musicians have taken the opportunity to bring their respective skills to bear on problems of common interest in a rich interdisciplinary environment. It is an· example of cooperation, but more, an expression of the freedom of intellect and invention, where creative minds from diverse disciplines have joined in a common goal to produce fundamental knowledge which must be the source for new music, and to produce works of art which reflect the scientific-technological riches of the present. BOX 1579, PALO ALTO CA 94302 PAGE 91 experimentation with the sounds of natural instruments. By modifying the sounds of these instruments in systematic ways, then testing the perceptual effects of the· modifications, a great deal of information has been produced on the way musical timbre is perceived. Several papers and technical reports have been produced describing the techniques and results of this research. Unfortunately, it is beyond the scope of this presentation to give a detailed description of the center's activities, or even of the technology of sound production. For this purpose, we refer the reader to the article by Moorer in the Computer Music Journal (available through People's Computer Company, 1010 Doyle Street, Box E, Menlo Park, Ca. 94025) entitled "Signal Processing Aspects of Computer Music - A Survey". For more detailed information, a number of publications are available either from the Stanford department of Music or from nationally known journals. A list of those publications with a partial list of abstracts follows. At Stanford University, such cooperation has been commonplace over the past twelve years. In the beginning, progress was made in the analysis, synthesis, and psychology of sound perception in largely unsupported work by professors, graduate students, and staff members. In June of 1975, the Center for Computer Research in Music and Acoustics (CCRMA) was formed with funding provided jointly by the National Science Foundation for research and teaching in computer techniques of interactive sound production and the perception of timbre, and by a one-time grant from the National Endowment for the Arts for computing equipment for musical purposes. One aim of the Center was to establish an international facility where researchers, composers, and students could work with strong computer-based technological support. In general, little of the center's work is meaningful at this time for the computer hobbiest. Probably the most relevant work is that of frequency modulation synthesis (see Chowning's article in the Audio Engineering Society Journal). We expect, however, that it will not be long before the technology catches up with the techniques, allowing every computer hobbiest to synthesize a small orchestra in his workshop. INTERNAL PUBLICATIONS The status of the facility as it now stands is a multifaceted topic. As a musical instrument, the computer system is possibly the most flexible of all instruments. To speak of it as a conventional musical instrument, however, is somewhat misleading because the system is capable of simultaneously producing a large number of independent voices having arbitrary timbral characteristics. It is much more general than a conventional musical instrument in that it can generate any sound that can be produced by loudspeakers, modify and transform real sounds entered into the system by means of microphone and digital-to-analog converters, remember and modify articulated musical input, and simulate the location and movement of sounds in a variety of illusory reverberant spaces. Equally important, the facility is capable of serving a number of composers and researchers simultaneously, providing for each a direct control over the medium to a degree which was never before possible. The Stanford computer music group produces of the technical memoranda, describing results research done at Stanford. We can offer these memoranda to the public, but we request that we be reimbursed for publication costs by a donation of the amount listed by each memo. This donation goes exclusively into the publication funds for the project and helps us bring this work to the public. Make checks payable to Stanford University. The donation is taxdeduct able. As a research tool, the computer has shown itself to be uniquely useful in generating precisely controlled stimuli for perceptual research. The analysis-synthesis techniques developed here allow for direct Center for Computer Research in Music and Acoustics Department of Music Stanford University Stanford, California 94305 STAN-M-l July, 1974 85.65 "Computer Simulation of Music Instrument Tones in Reverberant Environments" by John M. Chowning, John M. Grey, Loren Rush, and James A. Moorer This is a reprint of selected portions of the NSF proposal which resulted in a grant to the computer music group for research over a two-year period. The following is the abstract from the memo: Novel and powerful computer· simulation techniques have been developed which produce realistic music FIRST COMPUTER FAIR~ PROCEEDINGS. BOX 1579, PALO ALTO CA 94302 instrument tones that can be dynamically moved to arbitrary positions within a simulated reverberant space of arbitrary size by means of computer control of loudspeakers. Research support for the four simulation of complex auditory signals and environments will allow the further development and application of computer techniques for digital signal processing, graphics, and eomputer based subjective scaling, toward the analysis, data reduction, and synthesis of music instrument tones and reverberant 'spaces. Main areas of inquiry are: 1) those physical characteristics of a tone which have perceptual significance, 2) the simplest data base for perceptual of representation of a tone, 3) the effect reverberation and location on the perception of a tone, and 4) optimum artificial reverberation techniques and position and number of loudspeakers for producii,g a full illusion of azimuth, distance, and altitude. These areas have been scantily investigated, if at all, and they bear on a larger more profound problem of intense cross-disciplinary Interest: the cognitive processing and organization of auditory· stimuli. The advanced state of possible the computer technology now makes realization of a small computer system for the purpose of real-time simulation. The proposed research includes the specification of, and program development for, a small special purpose computing system for real-time, interactive acoustical signal processing. The research in simulation and system development has Significant applications in a variety of areas including psychology, education,architectural acoustics, audio engineering, and music. STAN-M-2 February, 1975 "An Exploration of Musical Timbre" by John M Grey 87.10 This is a reprint of John Grey's doctoral dissertation, submitted to the department of Psychology, Stanford University. Due to its overwhelming complexity, timbre perception is a poorly understood subject in the field of auditory perception. Computer-based research tools .have been developed that appear to be important for an investigation of timbre perception. In the work to be described, an exploratory approach was formulated for dealing with this highly multidimensional attribute of sound. This approach utilized a computer technique for the synthesis of musical timbres based on the analysis of natural instrument tones. This technique was useful for generating stimuli in timbre experiments because of its to effectiveness in allowing the investigator to specify and manipulate the physical properties of complex time-variant tones. An important discovery resulted suggesting that naturalistic tones can be synthesized from a vastly simplified set of physical properties. These simplified tones were useful as stimuli in further studies on timbre perception because of the great reduction in the number of physical factors considered in making psychophysical to be interpretations of perceptual data. Ahother study undertopk to equalize a set of tones in the dimensions PAGE 92 of pitch, loudness and duration, in order to eliminate confounding factors from future judgments on different timbres. The simplified and matched tones were rated by pairwise similarity in a further study, and the results were treated with computer-based multidimensional scaling techniques to obtain an interpretable data structure in a low dimensionality. Three dimensions were found to explain the similarity data. Two were related to obvious physical properties of the tones (to the gross characteristics of the spectral energy distribution; and to the existence of precedent low-amplitude, high-frequency, and possibly inharmonic energy in the initial segment of the attack). The third dimension was interpretable either in terms of a physical property (synchronicity in the' attacks of . higher harmonics) or as a higher-level distinction made between the tones on the basis of their musical instrument family. Another set of studies next initiated an exploration of timbre in terms of continuous versus categorical perception. An algorithm was designed to generate a set of tones interpolating between two' naturalistic timbres. Identification, discrimination and perceptual similarity studies were performed using a set of stimuli generated by interpolations. The results of these studies suggested that interpolations were perceived to be continuous rather than categorical. Furthermore, the timbral similarith:~s between a partial set of the naturalistic and interpolated tones revealed three perceptual dimensions that. related directly to those found above for the total set of naturalistic stimuli. The first two physically-related dimensions were found, and the third dimension seemed to correspond to a higher-order distinction made between naturalistic tones and the interpolation-derived tones, this superseding the family distinction made for the total set of naturalistic tones. A notion of timbre is developed involving both a higher-level perceptual processing of tones that has access to stored information relating to the distinctive features of identifiable sources, and a lower-level, qualitative perceptual comparison of tones with respect to gross acoustical features lying outside of the domain of specific identification. Suggestions for future research are made. .STAN-M-3 May, 1975 88.60 "On the Segmentation and Analysis of Continuous Musical Sound by Digital Computer" by James A.Moorer This is a reprint of James Moorer's doctoral dissertation, submitted to the department of Computer Science, Stanford Uriiversity. The problem addressed by this dissertation is that of the transcription of musical sound by computer. A piece of polyphonic musical sound is digitized and stored in the computer. A completely automatic procedure then takes the digitized waveform and produces· a written manuscript which describes in classical musical notation what notes were played. We do not attempt to identify the instruments involved. The program does not need to know what instruments were FIRST COMPUTER FAIRE PROCEEDINGS playing. It would appear that it is quite difficult to achieve human performance in taking musical dictation. To simplify the task, certain restrictions have been placed on the problem: (1) The pieces must have no more than two independent voices. (2) Vibrato and glissando must not be present. (3) Notes must be no shorter than 80 milliseconds. (4) The fundamental frequency of a note must not coincide with a harmonic of a simultaneously sounding note of a different frequency. The first three conditions are not inherent limitations in the procedures, but were done simply for convenience. The last condition would seem to require more study to determine the cues that human listeners use to distinguish, for example, notes at unison or octaves. Numerous other lesser restrictions were also imposed on the music to be analysed. The method used for this analysis is a directed bank of sharp-cutoff bandpass filters. First, a pitch detector is used to determine the harmony of the piece at each point in time. Using the harmony information, the filters is frequencies of a band of bandpass determined so as to assure that every harmonic of every instrument will pass through at least one of the filters. 'The output of each filter is processed by a pitch detector and an energy detector. This gives power and frequency information as functions of time. Each power and frequency function pair is rated as to its quality. The rating takes into account the constancy of the frequency function, the smoothness of the power function, and several other measurements on the functions. This rating is used to eliminate spurious traces and null filter outputs. Notes are then inferred from groups of power and frequency function pairs that occur simultaneously with frequencies that are harmonically related. Notes with higher overall ratings are preferred over other note hypotheses. The melodies are then grouped by separating the notes into the higher voice and the lower voice. Voice crossings are not tracked. For the final manuscripting, Professor Leland Smith's MSS program was used. The analysis program produces directly input for the manuscripting program, thus the entire procedure is automated. In addition to the above described system, many other techniques were examined for their utility in this task. Each technique that was explored is described and analysed, with a description of why it was not found useful for this task. One interesting observation is that there is considerably more activity in a piece of music than is perceived by the listner. This is especially common with stringed instruments, because the strings that are not being manipulated invariably resonate and produce sounds independently which are generally not heard due to aural masking. This indicates that perhaps we should use more. perceptually-based techniques to help determine what would actually be heard in a piece of music, rather than determine exactly what is there, BOX 1579, PALO ALTO CA 94302 PAGE 93 although detailed descriptions of the contents of the piece may be useful for other purposes, such as music education or musicology. In general, the system works tolerably well on the restricted class of musical sound. Examples are shown which demonstrate the viability of the system for different instruments and musical styles. Since the procedure is extremely costly in terms of computer time, only a limited number of examples could be processed. These examples are discussed with a description of how the system could be improved and how the restrictions might be eliminated by better processing techniques. STAN-M-4 February, 1975 81.80 "On the Loudness of Complex, Time-Variant Tones" by James A. Moorer This memo is part of a proposal to the NSF division of Psychobiology. This study of loudness is motivated by the discovery that a set of complex, time-variant tones appear to behave differently with respect to loudness than would be predicted by the methods proposed in the literature. It is possible that the time-variant behavior of the sounds influences the loudness, so that a more complete theory of loudness must take this behavior into account, We thus propose to study these data and attempt to either verify the existing theories of loudness or formulate a more comprehensive hypothesis of the currently existing loudness, building upon and to test this hypothesis by theories, synthesizing new tones, dOing equalization experiments, and comparing the results with the predictions of the model of loudness perception. STAN-M-5 December, 1975 83.00 "The Synthesis of Complex Audio Spectra by Means of Discrete Summation Formulae" by James A. Moorer A new family of economical and versatile synthesis techniques have been discovered which provide a means of controlling the spectra of audio signals that has capabilities and control similar to those of Chowning's frequency modulation technique. The advantages of the current methods over frequency modulation synthesis are that the signal can be exactly limited to a specified number of partials, and that "one-sided" spectra can be conveniently synthesized. NOTE: This document is no longer printed, because it is superceeded by the Audio Engineering Society Journal article: James A. Moorer, "The Synthesis of Complex Audio Spectra by Means of Discrete Summation Formulae", Journal of the Audio Engineering Society, VoluMe 24, #9, November 1970, pp 717-727 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 Reprints of this article can be ordered directly from the Audio Engineering Society. 60 East 42nd Street, New York, N.Y. 10017 BIBLIOGRAPHY OF NATIONAL PUBLICATIONS John M. Chowning, "The Simulation of Moving Sound Sources", Journal of the Audio Engineering Society, Volume 19, #1, 1971 A digital computer was used to generate four channels of information which are recorded on· a tape recorder. The computer program provides control over the apparent ·Iocation and movement of a synthesized sound in an illusory acoustical space. The method controls the distribution and amplitude of direct and reverberant signals between the loudspeakers to provide the angular and distance information and introduces a Doppler shift to enhance velocity information. John M. Chowning, "The Synthesis of Complex Audio Spectra by Means of Frequency Modulation", Journal of the Audio Engineering Society, Volume 21, # 7, September 1973, pages 526-534 A new application of the well-known process of frequency modulation is shown to result in a surprising control of audio spectra. The technique provides a means of great simplicity to control the spectral components and their evolution in time. Such dynamic spectra are diverse in their subjective impressions and include sounds both known and unknown. James A. Moorer, "The Optimum Comb Method of Pitch Period Analysis of Continuous Digitized Speech", IEEE Trans. on Acoustics, Speech, and Signal Processing, Vol. ASSP-22, #5, October 1974, pp330-338 A new method of tracking the fundamental frequency of voiced speech is described. The method is shown to be of similar accuracy as the cepstrum technique. Since the method involves only additions, no multiplication, it is shown to be faster than the SIFT algorithm. The basis of the method is searching for a minimum in the magnitude of the difference between a speech segment and a delayed speech segment. This is shown to be equivalent to selecting the comb filter which best annhilates the input signal. James A. Moorer, "The Use of the Phase Vocoder in Computer Music Applications", Presented at the 55th Convention of the Audio Engineering Society, October 29-November 1, 1976, available as Preprint number 1146 (E:-1) PAGE 94 The phase vocoder is an analysis-synthesis system which has as intermediate data the time-variant discrete Fourier spectrum of the input signal. It can be formulated ina way such that the synthesized signal is identical to the original, both theoretically and practically. The intermediate data can . be transformed, also with no loss of information, into the more conventional magnitude and frequency representation. These intermediate data can then be used to resynthesize the tone at different pitches or different rates than the original with the advantage that when no modification is made, the synthetic tone is absolutely Identical to the original. This represents a significant advance over the Heterodyne filter, which placed sever. restrictions on the amount of variation in pitch or amplitude that could be analysed. The phase vocoder has no such restrictions . and can just as easily deal with vibrato and inharmonic es. Since scaling the frequencies in the phase vocoder analysis data also scales the spectrum up, use of this modification with speech can produce altered vowel tones. If this method is combined with the linear alter predictor, using t~e phase vocoder the pitch of the error signal, then the spectrum can be held constant while the pitch is changed, thus allowing independent control over time, pitch, and spectrum. Vowel quality can be preserved or altered at will. Again, if no modification is made, the combination of the linear predictor and the phase vocoder is an identity, both theoretically and practically. to James A. Moorer, "The Synthesis of Complex Audio Spectra by Means of Discrete. Summation Formulae", Journal of the Audio Engineering Society, Volume 24, #9, November 1976, pp 717-727 (this superceeds memo STAN-M-5) James A. Moorer, "Signal Processing Aspects of Computer Music - A Survey", Invited paper, to be published in the July 1977 issue of the Proceedings of the IEEE. Also reproduced in the Computer Music Journal Volume 1, Number 1 The application of modern digital signal processing techniques to the production and processing of musical sound gives the composer and musician a level of freedom and precision of control never before obtainable. This paper surveys the use of analysis of natural sounds for synthesis, the use of speech and vocoder techniques, methods of artificial reverberation, the use of discrete summation formulae for highly efficient synthesis, the concept of the alldigital recording studio, a.nd discusses the FIRST COMPUTER FAIRE PROCEEDINGS role of special-purpose hardware in digital music synthesis, illustrated with two unique digital music synthesizers. SUBMITTED FOR PUBLICATION John M. Grey, James A. Moorer, itA Perceptual Evaluation of Synthetic Music Instrument Tones", Journal of the Acoustical Society of America An analysis-based synthesis technique for the computer generation of musical Instrument tones was perceptually evaluated in terms of the discriminability of 16 original and re-synthesized tones taken from a wide class of orchestral instruments having quasi-harmonic series. The analysis technique used was the heterodyne filter which produced a set of intermediate data for additive synthesis, consisting of timevariant amplitude and frequency functions for the set of partials of each tone. Three successive levels of data reduction were applied to this intermediate data, producing types of simplified signals that were also compared with the original and resyhthesized tones. The results of this study, in which all combinations of signals vlere compared, demonstrated the perceptual closeness of the original and directly re-synthesized tones. An orderly relationship was found between the form of data reduction incurred by the signals and their relative discriminability, measured by a modified AAAB discrimination procedure. Direct judgments of the relative sizes of the differences between the tones agreed with these results; multidimensional scaling of the latter data provided a visual display of the relationships among the different forms of tones that pointed out the importance of preserving small details existing in their attack segments. Of the three forms of simplification attempted with the tones,the most successful was a line-segment approximation to time-variant amplitude and frequency functions for the partials. The pronounced success of this modification strongly suggests that many of the microfluctuations usually found in the analyzed physical attributes of music instrument tones have little perceptual significance. John M. Grey, "Multidimensional Perceptual Scaling of Musical Timbres", Journal of the Acoustical Society of America IN PREPARATION John M. Grey, John W. Gordon, "Perceptual Effects of Spectral Modifications on Musical Timbres", for the BOX 1579, PALO ALTO CA 94302 PAGE 95 Journal of the Acoustical Society of America John M. Grey, "Perceptual Continuity of Interpolations Between Musical Timbres", for the Journal of the Acoustical Society of America John M. Grey, "Multidimensional Scaling of Interpolated Music Instrument Tones", for the Journal of the Acoustical SOciety of America FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579. PALO ALTO CA 94302 PAGE 96 Design of High Fidelity , Real-Time, Digital Hardware for Music Synthesis John Snell Editor, Computer Music Journal People's Computer Company Box E, Menlo Park CA 94025 ABSTRACT A digital oscillator is capable of generating a large number of partials (hannonic or inhannonic sine waves) with independent control of frequencies and independent control of amplitudes. Any waveshape may be generated. The oscillator design described here may be used in a musical instrument which may be played by a musician, not just programmed. The sound would be heard at the same time that a key or pressure sensitive pad was pressed, like a traditional musical instrument. Envelopes may be generated in software or hardware. A primitive hardware envelope generator is shown which will generate up to 256 different amplitude envelopes and up to 256 different frequency envelopes. The envelope generators will generate any shape curve (not just exponential curves); and the envelope shapes may be changed note by note. The final two oscillator designs will perfonn sine summation synthesis (sometimes referred to, somewhat misleadingly, as Fourier synthesis) as well as FM synthesis with multiple carriers and/or modulators (with up to 128 modulation index envelopes). One oscillator design may be constructed from integrated circuits (not including the DAC, deglitching circuit and low pass mter) which may be purchased for less than $275. The frequencies and amplitudes of the sinusoidal components from the slow oscillator may be controlled with an inexpensive microcomputer. A higher speed oscillator design is described which is capable of generating up to 256 sinusoidal components. Noise or distortion from these oscillators will be inaudible to most people. INTRODUCTION In experimenting with non-traditional tone colors or timbres it is instructive to determine which parameters of sound need to be controlled in order to generate sounds which could come from acoustic musical instruments. Once these parameters are determined, they may be played with or varied to produce non-traditional sounds which are just as interesting in timbre as the sounds from acoustic musical instruments. The sine wave illustrated in Figure I is the most pure or simple sound. Theoretically, any sound may be generated by adding together a number of sinusCopyright 1977 John Snell oidal components (cosine or sine waves) for which the amplitude and frequency may be independently varied. Using additive synthesis, tones have been synthesized from the analysis data of acoustic instruments which are "indistinguishable numerically, theoretically, and perceptually from the original" [Moorer, 1976]. Figure 1. SINE WAVE AMPLITUDE TIME , i i i 10+-------- T -------'~ T= F= the period, or time for one cycle (360°) to occur. liT = the frequency or number of cycles per second (Hz). This is related to the pitch of the sine wave. A= the amplitude. This is related to the loudness of the sine wave. a= the phase angle. The sine wavt may be generated by continuously evaluating "sin (ex)" for a phase angle "ex" increasing continuously and linearly in time. The sine wave has a tone color which is similar to that which is produced by a tuning fork which has been gently tapped by a soft hammer somewhere between ~ and Yz of the way from the end of one prong of the fork [Benade, 1976]. The piccolo flute or the soprano recorder sound somewhat like a sine wave. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579. PALO ALTO CA 94302 PAGE 97 The partials* are often found to be slightly inharmonic. Even the frequency of each partial varies within one single tone or note from most acoustic instruments. This can be seen in the "Lexicon of Analysed Tones". t 256 sinusoidal components might be utilized in generating 16 voices or instruments, each having 16 partials. A large number of sinusoidal components is also useful in generating choral cloudlike tone clusters or tone fields somewhat like the music which Gyorgy Ligeti has often produced with a traditional orchestra. Let's look at a method for generating one lowdistortion sine wave (or any waveshape). Then it will . be found that one digital oscillator may be used to generate a large number of sinusoidal components with independently variable frequencies and independently variable amplitudes. This oscillator will also perform FM synthesis [Chowning, 1973] with multiple modulators and/or carriers. A sine/cosine generator is basic to many of the new equations for timbre synthesis such as those briefly discussed in the first issue of Computer Music Journal [Moorer, 1977]. A sine wave may be represented digitally as a series of pulses or steps as shown in Figure 2. If the steps or changes in pulse amplitudes are made infinitely small, a smooth analog waveshape will result. The steps should be made small enough so that the ear is incapable of hearing the difference between a smooth analog waveshape and the digital waveshape. Thus there will be no audible distortion or noise. Each of these steps is a pulse whose amplitude may be represented by a number in a computer. If one cycle of a digitized waveform is stored in computer memory (called the waveform memory), the numerical values of the pulse amplitudes may be read out by repeatedly incrementing the memory address (which corresponds to the phase angle). When the end of the waveform cycle is reached, the memory address will jump back to the beginning of the waveform memory. In other words every time the phase angle (memory address) is incremented to a value . greater than or equal to 360 0 ,3600 will be subtracted from the phase angle. Then the phase angle will continue to be incremented as before. If this waveform memory output is fed to a digital to analog converter (deglitched):(: which is followed by a smoothing fIlter, amplifier, and loudspeaker, a continuous sine wave will be heard. The digital to analog converter (DAC) changes the numbers into pulses whose amplitudes are controlled by the numbers read out of the waveform memory. The smoothing filter (low pass filter) rounds off the pulses so that a continuous waveform results as shown in Figure 2. The frequency of the output waveform will be equal to the rate at which these pulses are generated (called the sample rate) divided by the number of pulses in one waveform cycle or period .• * A partial is a harmonic if it has a frequency which is (Alexander Ellis) footnote on page 25 in On the Sensations of Tone [Helmholtz, Dover Publications, 1954]. "The term 'second harmonic' will always refer to a partial whose frequency is precisely twice that of the fundamental; this partial mayor may not be present in a tone, but there is no ambiguity." t "Lexicon of Analyzed Tones", Computer Music Journal, Vol. I, No.2, 1977. equal to the fundamental frequency (usually related. to the pitch) multiplied by an integer (1, 2,3,4,5, .. ), Partials may be inharmonic if their frequency equals the fundamental frequency multiplied by a noninteger (such as 2.31 or,[2 or 11'). John Backus in his book, The Acoustical Foundations of Music (W.W. Norton & Company, Inc., New York, 1969, pg. 96) adds some useful information here. "The term 'overtone' has frequently been used in reference to complex tones, such a tone being described as consisting of a fundamental and its overtones.This introduces a certain amount of confusion; in the sound produced by the vibrating string, the first overtone is . the second harmonic. Similarly, in the sound produced by the closed tube, where the second harmonic is missing, the first overtone is the third harmonic. Because of this unnecessary confusion, it is best not to use the term 'overtone' at all- especially since we do not need it." Reference is given here to U.S.A. Standards Institute as well as to the translator's fre uenc (Hz) = .::sam=p!:.:l:::e..:r.;:.at:.:e~::--_ _:-q y samples/waveform cycle One can see that the units check: frequency = sam ~es sec~nd samp es cyc e =cycles/second. As mentioned earlier, each of the numbers in the waveform memory has an address which corresponds to a phase angle "0:". Thus, if a particular address "0:" :(: To avoid a noisy output the digital to analog converter (DAC) is first followed by a sample and hold deVice or a track and ground switch. This will eliminate the spikes which may occur when the input of the DAC is changed. • This infonnation was provided by S. C. Johnston in The Technology of Computer Music by M.. V. Mathews with the collaboration of Joan Miller, F. R. Moore, J. R. Pierce, and J. C. Risset, MIT Press 1969, pages 134-138. 195 o 15 30 46 60 76 PAGE 98 BOX 1579, PALO ALTO CA 94302 FIRST COMPUTER FAIRE PROCEEDINGS 210 225 240 255 270 285, 300 315 330 345 360 90 OOMPUTER MEM)RY 0 .26 .5 .7 .87 .97 1 .97 .87 .7 .5 .26 0 -.26 -.5 -.7 -.87 -.97 -1 -.97 -.87 -.7 -.5 -.26 0 LOUDSPEAKER DIGITAL TO ANALOG CONVERTER L(}NPASS FILTER ---1r-c(] IV Figure 2. is given, the memory will output the number "sin a" contained at that address. ' The sample rate is crystal controlled for ultrastable tuning and is constant. If every number in the waveform memory is generated one after another at this constant sample rate, the frequency of the sine wave will be constant. This w.ould result from incrementing the address of the waveshape memory by 1. If a higher frequency is desired, the address (phase angle) may be incremented by a larger number. If a lower frequency is desired, the address may be incremented by a smaller number. The phase angle is truncated to form the address for the waveform memory as illustrated in Figure 3. The phase angle increment register holds the value of the increment to the phase angle. This phase angle increment will be added to the phase angle once for each sample of the sine wave. When the address is near the end of the waveform memory (360°); an in~rement may be added which will overflow the phase angle register, thus placing the address back at the beginning of the waveform cycle. This is equivalent to subtracting 360° from the phase angle every time it is incremented to a value greater than or equal to 360° . WAVEFORM MEMORY SINE TABLE •t Addres. u t. 0 a 0 k Bits Figure 3. FIRST COMPUTER FAIRE PROCEEDINGS Sampling Theory At first glance, one might 'think that this technique would result in a large amount of distortion if the phase angle increment were as large as 1800 • This would result in a frequeflcy of Y2 of the sample rate. With this,phase angle increment value, only 2 pulses would be generated per waveform cycle. It can be shown mathematically [Carlson, 1968] that if a signal contains only frequency components whose absolute values are less than some maximum frequency F MAX' the signal may be completely described by the instantaneous sample values uniformly spaced in time with period Ts :5'1/2FMAx • If S is the sample rate, the sample period is T s = l/S. Alternatively, the Nyquist Sampling Theorem states that if a signal has been sampled at the Nyquist rate of 2F MAX or greater (S ~ 2F MAX), and the sample values are periodic weighted impulses, the signal can be exactly reconstructed from its samples by an ideal low pass filter of bandwidth B where FMAX <:B«S - F MAX )' Let's look at the problems that arise when we apply this theorem to generating sound. Any practical (non ideal) low pass filter will require a transition band to go from unity gain to 0 gain as shown in Figure 4. To avoid distortion, the maximum output BOX 1579, PALO ALTO CA 94302 PAGE 99 and increasing, up to 4 dB down, at frequencies which approach 1/2 of the sample rate. The reconstruction filter (low pass filter) may be designed to compensate for this. A different reconstruction filter should be used for each sample rate anticipated. The theorem states that the samples from the DAC should be uniformly spaced, so the sample period jitter should be minimized. If the sample period jitter error is to be 82.6 dB below the rms level of a sine wave, the sample period jitter should be less than (1.18 x 1O-5)/F where F isthe output sine wave frequency [Talambiras 1977]. So if F is 10 kHz (10,000 cycles/sec), the sample period jitter should be less than 1.18 nanoseconds. The ultimate test of a sound synthesis technique is the ear. The Soundstream Digital Recorder [Warnock, 1976] designed by Thomas Stockham, Jr. has provided one of the most convincing demonstrations of the audio application of this Nyquist Sampling Theorem. It has played back the cleanest undistorted music which I have heard from any tape recorder. Frequency Resolution As mentioned earlier, the frequency of the output waveform is the sample rate divided by the num- ' ber of samples in one period of the waveform. * AMPLITUDE I,--_~___, FREQUENCY SI2 FREQUENCV AESPONSE OF AN IDEAL LOW-PASS FILTER f requency sample rate =no. of samples/cycle The number of samples in one cycle of the sine wave is determined by the sine table length (waveform memory) divided by the phase angle increment: , / _ sine table length no. of samples cycle - Ph ase angl' e mcremen t AMPLITUDE TRANSITION BAND' -+-_ .L...-_ _ _ _--+_..\--_ _ _ _ _ _ Fma>c Sf2 Substituting this expression for the number of samples/cycle into the above equation for frequency: FREQUENCY FREQUENCY RESPONSE OF A REALIZABLE LO·PASS Fll TER Figure 4. frequency should be below this transition band. The maximum sinusoidal component frequency is usually limited to 36% to 40% of the sampling rate (FMAX S AS). It might be noticed that realizable samples from the DAC will not be impulses; they will have finite pulse widths. If the pulse, widths are as wide as the sampling period, the frequency response will be attenuated very little if at all for very low frequencies _ phase angle increment frequency - sample rate sme . t able 1ength or F = S (I / L) Eq 1. The sample rate "s" and the sine table length "L" will be hyld constant, so the frequency "F" may be changed by changing the phase angle increment "I". The smallest increment in frequency (frequency resolution) will be determined by the number of bits "b" used in the phase angle increment register (see Figure 3). The phase angle register should also contain this many "b" bits. An article entitled "Pitch * One nanosecond (ns) is' one one-billionth of a second or I sec/I,OOO,OOO,OOO. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA Discrimination at the Threshold of Hearing" [Rakowski, 1971] indicates that under ideal listening conditions a very discriminating ear, at best, is capable of noticing a pitch change of between (approximately, as best as could be measured from his graphs) .03 Hz and .08 Hz around 160 Hz. To specify frequencies to an accuracy of .03 Hz would require 19.3 bits plus a sign bit for FM synthesis in the phase angle increment register if the maximum output frequency is 20,000 Hz as determined from the following equations: = N MAX NMIN I MAX Eq 2., I MIN Where: I MAX = the maximum phase angle increment which will produce the maximum desirable frequency of any sinusoidal component (F MAX ). IMIN = the minumum phase angle increment which will produce the minimum step or change in frequency (F MIN ). N MAX = the maximum number expressible with b - 1 bits. For frequency modulation synthesis positive as well as negative increments (or decrements) to the phase angle will be needed. An extra sign bit will be needed in any registers which handle frequency or phase angle information. So N MAX = 2 (b ·1) - 1. = NMIN the minimum number expressable with b bits = 1. Equation EQ 1 may be used to determine the phase angle increment, I, in terms of the frequency, F, sample rate, S,and sine table length, L: 1= (F / S)L This equation may be substituted into equation Eq 2 for I MAx and 1M IN : = (FMAX /S)L - -F MAX -- N MAX (F MIN /S)L NMIN - 1 1 = F MAX FMIN FMAX b = 1 + log2 ( F MIN b = PAGE 100 I + 3.32 IOg10(F MAX + 1) FMIN F MAX may be set to 20 kHz; and a minimum step in frequency of FMIN = .03 Hz should be inaudible to most musicians. Substituting these values into the above equation: b = 1 + 3.32 log 10 (20000 Hz + l' .03 Hz ) b = 20.3 Thus a 21 bit phase angle increment register should be capable of generating a glissando or vibrato which will be perceived as smooth. Minimum changes in frequency should be inaudible as steps to a listener with very discriminating ears, even in an ideal listening environment. A computer may update the frequency (incrementing by 1 the phase angle register) at the right time intervals to generate as slow a change in frequency as is desired. Alternatively in hardware a 28 bit frequency envelope may be added to the phase angle increment. For musical purposes a 20 bit phase angle increment register should be fine with the following possible exception. If the sound were played in a soundproof room to a listener who had an extremely discriminating ear, who had previously sat in silence for 15 minutes, and who listened specifically for steps in frequency in a slow glissando in the lower part of the audible frequency range, then the steps might just barely be noticed sometimes. A. Rakowski's tests were done under similar ideal' conditions. He was looking for information in his tests which would serve as a basis for speculations concerning the action of the hearing mechanism. Table 1 shows the resulting values of the minimum step in frequency for different values of the number of bits "b" in the phase angle increment register and for different maximum frequencies. A musical interval is often measured in cents instead of as a step in Hz. A cent is 1/1200 of an octave, or 1/100 of an equally tempered semitone in the chromatic scale. An interval or ratio of one semi tone is equal to the twelfth root of 2. I semitone = 2 (1/12) I cent = 2 (1/1200) then replacing N MAX and NMIN results in: 2(1)-1) 94302 Eq 3. A minimum interval (which is an indication of how accurately an instrument can be tuned) measured in cents "C MIN " may be related to the minimum step "F M1N " as follows: F MIN = F 2(C MIN /1200) - F FIRST COMPUTER FAIRE PROCEEDINGS where F = the frequency around which the minimum frequency step is made. Solving for CMIN : C MIN + 0 =3986.31l0g10(~MIN +1) Eq5. F MIN may be determined from Eq 3 Eq 3. 2 (b-1) - 1 1 = F MAX FMIN FMIN = F MAX 2 (b-1) -'- 1 Eq 6. TABLE 1 Frequency Resolution b Fmax F niin bits Hz Hz 21 20 19 18 17 16 20 18 16 20 18 16 20 18 16 20 18 16 20 18 16 20 18 16 20000 20000 20000 20000 20000 20000 16384 16384 16384 15000 15000 15000 12800 12800 12800 10000 10000 10000 8192 8192 8192 4096 4096 4096 .019 .038 ;076 .15 .31 .61 .031 .125 .50 .029 .114 .46 .024 .098 .39 .019 .076 .305 .016 .063 .25 .008 ;031 .125 PAGE 101 Substituting Eq 6 into Eq 5 results in F MIN = F(2(CMIN /1200) - 1) eM'N = 1200 IOg{F ;'N BOX 1579, PALO ALTO CA 94302 around 65.4 Hz cents .5 1.0 2.0 4.0 8.1 16.1 .83 3.3 13.2 .76 3.03 12.1 .65 2.58 10.3 .51 2.02 8.1 .4 1.65 6.6 .2 .8 3.3 Cmin around 160Hz cents .2 .4 .8 1.65 3.3 6.6 .34 1.35 5.4 .31 1.24 4.94 .26 1.06 4.2 .21 .83 3.3 .17 .68 2.7 .09 .34 1.4 CMIN = 3986.31l0g1O~ F MAX \F(2 (b-1) - 1) + 1\ Eq 7. ) A minimum frequency step (FMIN of .038 Hz) around a frequency of 65.4 Hz is an interval or ratio of 1 cent. 65.4 Hz is the frequency of C2 or the note C one octave above the lowest note C on a piano tuned to A.t = 440 Hz in equal tempered tuning. This same step of .038 Hz around 160 Hz is an interval or ratio of .4 cents. 160 Hz is a little below the note E3 which is in the octave below middle C on the same piano. Table 1 shows the resulting value of the minimum intervals or tuning accuracy measured in cents, CMIN , around 65.4 Hz and 160 Hz for each different value of the number of bits "b" in the phase angle increment register and for different maximum frequencies. In his article* "Table Lookup Noise for Sinu- . soidal Digital Oscillators", Richard Moore points out that a glissando from 50 Hz to 100 Hz will not sound smooth if a 16 bit phase angle increment (frequency control) and phase angle are used with a Nyquist frequency 0/2 of the sample rate) of 16384 Hz. As an alternative to making both. the phase angle increment and the phase angle be wider words, it is suggested to only make the phase angle register wider. Then the 16 bit phase angle increment may be shifted left or right for variable frequency resolution and range. This phase angle increment shifting technique is useful for controlling the oscillator with a small computer which can do 16 bit data word arithmetic and movement. Even the popular 8 bit MOS microprocessors * F. R. Moore, "Table Lookup Noise for Sinusoidal Digital Oscillators", Computer Music Journal, Vol. 1, No.'2,1977. Table 1. This shows the resulting values of the minimum representable step in frequency "FMIN" and the corresponding minimum representable interval (or tuning accuracy) "C MIN " measured in cents around 65.4 Hz and 160 Hz, for different values of the number of bits "b" in the phase angle increment register and different maximum frequencies. 20 kHz was chosen as a F MAX since it is the highest audible frequency for many people. 16384 Hz was chosen since it is a power of 2; so the true frequency could be read directly from the phase angle increment for human comprehension. Any maximum frequency which is not a power of 2 will need a translation program to convert encoded values of phase angle increment to the true frequency value. For this reason 8192 Hz and 4096 Hz were also included. 15 kHz, 12.8 kHz, and 10kHz were included as maximum frequencies since they correspond to 40% of the popularly used sample rates of 37500 samples/sec, 32000 samples/sec, and 25000 samples/sec respectively. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 have the capability of performing 16 bit arithmetic. However they are very slow (even the Z-80) when working with l6bit data. A useful integrated circuit (lC) for implementing this shifting technique is the 8 bit position scaler made by Signetics, the 8243. It is expandable to handle wider word widths and is capable of shifting up to 7 bit positions at once instead of requiring 7 clock periods like a shift register. If this shifting technique is used, an arithmetic operation such as addition of a low frequency to a high frequency would first require shifting inside the computer to line up equally weighted bits. Then the frequencies could be added. Then they might have to be shifted left or right before sending to an output port. This would slow down the shipping of frequency control data to the oscillator. A computer which would be capable of directly outputting 20 bit data words to the digital oscillator frequency control would be useful, especially if it could also perform 20 bit arithmetic without using double precision words. However I am aware of no a-. vailable 20 bit computers; and building your own would require a large amount of software development time since there would be no available compatible editors or other useful system programs. The VACuuM* is the best low cost computer design of which I am aware. It is microprogrammable, high speed (made from 2900 series IC's) and available with variable word widths (8, 16, 32, or 36 bit data words). You may microprogram in your favorite computer instruction sets and then use software which you are already familiar with. You may microcode your own special sequence of instructions for higher speed of operation. The VACuuM allows one to dynamically jump from one instruction set to another. Microprogramming in PDP 11 and PDP 10 instruction sets would be very useful since there is a large amount of useful software written in these instruction sets. Instruction cycle time is predicted to be around 300 ns for 32 bit data operations. The PC boards and bootstrap PROM's were estimated to cost around $350. Then you would have to buy the rest of the IC's, resistors, capacitors, sockets, etc. You could start by only buying the parts to build a 16 bit computer and microcode in NOVA and/or PDP 11 instruction sets. Later you could expand it to a 32 or 36 bit machine. If you bought all of the parts for a 36 bit machine including the PC boards and bootstrap PROM's in single quantities, it was estimated to cost around $1800. It would cost less for smaller data word machines. There will be more information about this processor in a future issue of Computer Music Journal. * Tom Pittman and Bob Davis, "A Variable Architecture Computing Machine", Proceedings of the West Coast Computer Fa ire , 1977. PAGE 102 Sine Table The size of the waveform memory or sine table will affect the signal to noise ratio. If all 20 bits of the phase angle register were used to address the sine table, the sine table would be 1 million words long. Fortunately this is not needed. Fewer bits may be used to address the sine table without affecting the frequency resolution if the number of bits in the phase angle register and phase angle increment register is not reduced. If the 12 most significant bits of the phase angle register are used to address a 3600 sine table (truncating the 8 least significant bits), 212 = 4096 words of sine table memory would be needed. For more details, please read through the article "Table Lookup Noise for Sinusoidal Digital Oscillators." If the address of the sine table memory is rounded off to 11 bits instead of truncating it to 12 bits, the table length may be reduced to 2" ;:: 2048 words and maintain the signal to noise ratio of that obtained when truncating the address to 12 bits. It is not worth the computation time to make an interpolating table for real time operation. Most of of the sine tables in computer music software in universities use 512 words in their sine table with the interpolation technique. This corresponds to a signal to error noise ratio of 95.1 dB. For non real time operation interpolation is very useful. A listening test to determine the necessary size of the sine table was recently conducted at the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford University. Different memory sizes were tried for the table in generating a low frequency FM tone which was believed to be the worst case. A 4096 word x 12 bit/word table for 3600 of a sine function was perceived to be just as distortion free as a 65536 word x 16 bit/word table. However a 1024 word x 10 bit/word table generated an objectionable amount of noise. The truncation method of addressing the sine table was used. The test would indicate that if the round off method of addressing were used, 2048 words would be needed for a 3600 sine wave with negligible distortion. In examining one cycle of a sine wave, it may be noticed that the first half (0 0 up to 1800 ) of the cycle is identical to the second half except that the sign is changed. One may store only 1800 of the sine function in the sine table and then change the sign of the output sine wave every time the waveform memory address is incremen ted to or past 1800 (or decremented below 0 0 as in FM synthesis). The sine function may be generated from only 90 0 ; however in my design the control functions for incrementing (and decrementing) the phase angle with a 90 0 sine table required more integrated circuits (lC's) than the number of IC's required with a 1800 sine table. If anyone FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 103 Sign of sine Figure 5 WAVEFORM MEMORY 1800 SINE TABLE RAM I 11 or 12 Bits x 11 or 12 Bits 1k Addre•• ~10r MOlt Sianificlnt 81t PHASE ANGLE INCREMENT REGISTER ROUNDOFF ADDER 20 Bit. ~ 4 ADDER ~8 ,•• INVERTER H~IJ sign Ol r sl9n +], MULTIPLEXER ;;; i 20 I PHASE ANGLE REGISTER 20 Bit. l rro~, ~ignOred , • c t f II 20 Bits has found a simple method of controlling the phase angle with a 900 sine table which will allow for incrementing or decrementing of the phase angle by as much as 1620 , I would appreciate hearing about it. As shown in Figure 5, the output of the sine table is fed into one data input of a multiplexer. The other data input of the multiplexer is fed by the inverted output of the sine table. The most significant bit from the round off adder ·is used to select the inverted or noninverted half of the sine wave, r.esulting in a sine wave with a positive half cycle and a negative half cycle. The addition of one to finish forming a 2's complement negative number was assumed to be insignificant and thus was not included. The sine table size experiments at Stanford indicate that a 1024 word x 11 bit/word, 1800 sine table memory will generate a negligible amount of distortion if rpund off addressing is used. The phase angle may be rounded off by adding bit 8 of the phase angle to the 11 bit word formed by bits 9 through 19. As mentioned earlier the most significant bit from this round off addition is used to determine the sign of the sine wave. Bits 0 to 7 of the phase angle are ignored in -addressing the sine table. However the full 20 bit angle is used in calculating the phase angle sp that accurate frequencies are generated. Since fast RAM's are less expensive than fast PROM's, RAM's were chosen for the sine table. This also enables the sine table memory to be loaded with another waveshape if desired; however I doubt this feature would be used due to the time multiplexing of the sine table. The generation of a few hundred sine waves is probably more useful than a few hundred of any other waveshape. The 1800 sine table may be stored in three 1 k x 4 bit RAM IC's such as the AMD (Advanced Micro Devices) 9135 or Intel's 2114 or the soon-to-come fast VMOS RAM from AMI (American Microsystems Inc.). Alternatively the sine table could be made with eleven of the less expensive 1 k x 1 bit RAM IC's such as the 21 02A or 9102. For high speeds the AMD 9135J RAM or the VMOS RAM from AMI will be useful. The output from the sine table will have a constant amplitude. The amplitude of the sine wave is fed into a multiplier which multiplies the sine wave by an amplitude which may vary in time as illustrated in Figure 6. In an analog synthesizer this is similar to connecting the output ora voltage controlled (control of frequency) oscillator to a voltage controlled amplifier signal input. The control input of the voltage controlled amplifier would be used to vary the amplitude in time (often controlled by an envelope ge,nerator). The frequency of the digital oscillator is, binary number controlled as is the amplitude input of the multiplier. FIRST COMPUTER FAIRE PROCEEDINGS PAGE 104 BOX 1579, PALO ALTO CA 94302 sign of sine Figure 6 WAVEFORM MEMORY 1800 SINE TABLE 11 or 12 Bits RAM 1k x 11 or 12 Bits I Address Most Significant Bit PHASE ANGLE INCREMENT REGISTER , 10 II ROUNDOFF ADDER 20 Bits ~8 I 01 ;;; = iii 20 Hi,J I c $1, t MULTIPLEXER r.:..I 20 Bits How wide a multiplier is needed? If a 12 bit sine wave is multiplied by the contents of an amplitude register of infmite width the resulting signal to noise ratio is only 6 dB above that which results from using a 12 bit wide amplitude register. If 16 bits are used in the amplitude register, the signal to noise ratio of the product is about % dB less than that resulting from an amplitude register of infinite width. Generation of Many Sinusoidal Components Building a separate oscillator for each sinusoidal component would be expensive if one desired over 100 sinusoidal components. However one low distortion digital oscillator may be time multiplexed to generate a large quantity of low distortion sinusoidal components (with independent control of each frequency and independent control of each amplitude). The number of sinusoidal components which the oscillator will generate is determined by the speed of the IC's and the sample rate. If the sample rate is set to 40,000 samples/sec, a new sample must be generated every 25 us·. Each • A microsecond (us) is one one-~iI1'ionth of a second or I second/I,OOO,OOO.) AMPLITUDE REGISTER F ~O~7 ~ignOred PHASE ANGLE REGISTER 20 Bits s e I e INVERTER j ~il )" 120r13Bits. /' MULTIPLIER X 1..L output sample from the DAC is the sum of a sample from each of the sinusoidal components. If 100 sinusoidal components are desired, each sinusoidal component will be allotted 25 us/I 00 = 250 ns to compute its sample. With a sample rate of 25,000 samples/sec 40 partials can be generated if each sinusoidal component sample is calculated in 40 us/40 = I us. The number of sinusoidal components which may be generated is inversely proportional to the sample rate (and thus the maximum output frequency). It is possible with very fast IC's to generate 512 partials at a sample rate of 50,000 samples/sec thus enabling a maximum frequency of 20 kHz. To achieve this would require a very large quantity of expensive, heat generating ECLIC's including a very high speed multiplier such as the parallel pipeline multiplier discussed in the first issue of Computer Music Journal. A couple of less expensive implementations which require fewer IC's and generate a maximum of 256 sinusoidal components (dependent on desired audio bandwidth) will be described. What kind of modifications must be made to the digital oscillator in order to generate many sinusoidal components? In Figure 6, the phase angle increment register must be replaced by a RAM which contains PROCESSOR OUTPUT BUS sign of sine 20 Bits REGISTER WAVEFORM MEMORY 1800 SINE TABLE r REGISTER I' 10 Most . Significant .Bit Data In A ~ PHASE ANGLE r INCREMENT e RAM • e ROUNDOFF ADDER s • ,i Address 20 Bit. 8 ~ ~ or 12 Bits RAM lkx 11 or 12 Bits Data Out 1~ CJ) rJ 12 or 13 Bit 8 20 Bits A~ 20 Bits Clkl ~ RE~ IpBJ s. r MULTIPLEXER :l iD 20 Bits ~ "'UTUD' RAM I e c t 1 • 5 e Parallel In 0-7 ignored eO ru i t a I Data Out S e MULTIPLIER r S i • a PRODUCT ~ I n I X 5 SHIFT REGISTER Data In a I n •I 0 u t 25LS14's Data Out SHIFT REGISTER 14LSI64 P.... lelOut 20 A d ~~• PHASE ANGLE RAM 20 Bits Clk 1 Data In 28 Bits 1 20 Bit. )j m ::r a m m I ~ ADDER " j ~ Accumulator 6 20 Most Significant Bits ~ 28 Bits 1 ~ ,..-- 4~ ..j 16 Bits L...----- < 25LS14 S e r i a I ~ ProdiJct r 0 I I Clk 1 20 V REGISTER 74LS174 I A _d 8 Bits d _r e s s Clk 1 .~ 28 Bits a! Parallel Out 20 Data Out PHASE ANGLE RAM 256 x 20 2101A-4 SHIFT REGISTER 74LS164 J u t ~. ADDER 74LS283 S e r I i n a I i I m "V C m m ~ ADDER 74 LS283 ~ ~ Accumulator 20 ~:0 8 ..I REGISTER 74LS174 m :0 T N Data In C! ~ REGISTER 74LS174 20 Bits 0 83: 20 Bits ~ 20 MOst Significant Bits 16 bits ffir! 1-;.- 1-----1 !!!~ Cl ... ~,... ....-() 0( ~ 0 '--20 Bits PROCESSOR INPUT BUS '--- ~ 28 Bits ~ I 0- REGISTER With L----l Standard and Three State Outputs 25LS18 o ....-- H ~ ~ ~~5 H II: II: I- Cl L..-- ~ r-- :t",ffi 9~!:i 0.._ § ~ Audio Amplifier IL '--- Figure 8 im S FIRST COMPUTER FAIRE PROCEEDINGS PAGE 108 BOX 1579, PALO ALTO CA 94302 correct instantaneous modulation amplitude is added to the appropriate carrier frequency. The address of the phase angle increment RAM, the phase angle RAM, and the amplitude RAM may be controlled by one 8 bit up counter. As shown in Figure 9, the output of the counter is compared with the number (N) o[desired sinusoidal components. If they are equal, the counter will be reset. When clocked, the output Of the counter will be changing; and the comparator might erroneously try to reset the counter. A one shot is utilized to prevent the counter from being reset just after the counter is clocked. A second one shot guarantees that a minimum clear pulsevvidthwill b~ provided. The 8 bit register which holds N is loaded from the computer output bus. To avoid the possibility of loading the N register at a time when the counter might need to be reset, the 4 most significant bits of the counter are used to prevent the N register from being loaded unless the counter is in the early part (counter output of 0 to 15) of its counting sequence. The controlling computer plac~s the value N on its output bus and then sends a ready signal to strobe N into the N register. When the frequency of the second sinusoidal component is read from the phase angle increment RAM, the amplitude of the first sinusoidal compo- nent is read from the amplitude RAM. With this timing, a sample of the first sinusoidal component from the sine table arrives at one input to the multiplier at the same time that the amplitude of the first sinusoidal component arrives at the other input of the multipiier. The computer which updates the RAM's must realize that the counter addresses the frequency of the nth sinusoidal component at the same time that it addresses the amplitude of the (n-l) th sinusoidal component. The method of updating the frequency is shown for the phase angle increment in Figure 9. The digital oscillator frequency control is allotted (hardwired to) a group of 256 of the available computer addresses. The 8 least significant bits of the computer address bus are compared with the counter output, while the most significant bits of the computer address bus are compared with the allotted (hardwired) address of the digital oscillator frequency control. If both are equal, and the update frequency is ready, and clock I is at a high level, then the new frequency value will be written into the phase angle increment RAM. The amplitude RAM is updated similarly. Amplitude envelopes as well as frequency envelopes may be generated in the controlling computer's software and used to update the corresponding amplitudes and frequencies. Simple hardware envelope generators are used in the oscillator shown in Figure 10. COMPUTER ADDRESS BUS Update Frequency Ready 74LS10 Clk 1 = Clk 1 74 LS04 Oscillator Frequency-........---l Address (Hardwired) _....,..._--. R/Vi .------------ICk Clear L -_ _ _ _ _ _ _ _--"'I A COUNTER 8 Bits r------------..i 74LS393 4 Most Significant ~ PHASE ANGLE INCREMENT RAM 2101A-4 ~~gwBits N ready COMPUTER OUTPUT BUS Figure 9. Logic Circuit for addressing and updating the RAM's in the slow oscillator. FIRST COMPUTER FAIRE PROCEEDINGS Prices and quantities of the integrated circuits for the slow inexpensive oscillator diagrammed in Figures 8 and 9 are listed in Table 2. The price of a PC board or socket board plus the small cost of miscellaneous' capacitors and resistors should be added to these prices. The DAC's, track or ground switches, and low pass filters are not listed in Table 2. The track or ground is a bipolar switch so it may be constructed from a few transistors which cost next to nothing. However the DAC will be a major cost. Datel manufactures a 16 bit DAC called the DAC-HR 16 B which costs $299. This is the least expensive high fidelity DAC of which I am aware. A less expensive 12 bit DAC such as Harris Semiconductor's HI-562A-5 might be used for initial experimentation and later replaced with a higher fidelity DAC. This Harris DAC will settle to.:!:.l/l0 LSB in 150 ns at 25°C and costs $29 in 100 quantity (probably around $40 for one). The low pass filter needs to be maximally flat in its pass band and have a very sharp frequency roll off above the cut off frequency (seven pole filters are recommended). A voltage controlled low pass filter would enable the cut off frequency to be dynamically changed as the sample rate was dynamically varied BOX 1579, PALO ALTO CA 94302 PAGE 109 between several fixed values. With a dynamically variable sample rate, high frequencies could be generated with a few sinusoidal components during one section of music, while in another section of the music a large number of sinusoidal components could be generated with a lower maximum frequency. However voltage controlled 7 pole low pass filters are difficult to design. CCRMA at Stanford University currently uses several of the low pass filter series, the J77C, made by T. T. Electronics. * These are very low noise and distortion filters (since they are passive) and have approximately Y2 dB of ripple. The transition bandwidth from the cut off frequency to 0 output is narrow enough to allow output frequencies of 40% of the sample rate. T. T. Electronics is now making a new filter series, the J87C, which has an even narrower transition bandwidth. If the noise, distortion, and ripple of the J87C is as low as that of the J77C, it should be useful for generating output frequencies possibly as high as 44% of the sample rate. Every time the sample rate is changed a different low pass filter is needed. At $65 for each of the T. T. E. filters this could be expensive if several different possible sample rates are desired. * T. T. Electronics, 2214 S. Barry Ave., Los Angeles, CA 90064, (213) 478-8224. Table 2. Prices and Quantities of IC's for Slow Inexpensive Oscillator (Prices listed are manufacturer list prices, not "surplus" or discount dealers prices.) -=----:--.,..----------+-1 ._M=an~u~f.aclure.r Part Nwnber_~.rice Pe.!...K....-_Quantity of IC's-=-R.:.::e.:1gu:::::i~re:..=d,_..::;S=ub~t~ot=al::..;P::.:n;::·c~e Phase Angle Increment, Phase Angle; and Amplitude RAM's (256 ~'!J~_i!_~~:s)., Waveform Memory _Jl,k ~}bit ~!) Registers ~g1ster with standard and 3 state outputs -Aifders .. -_.,_ ..... __.. Multiplier shftfRegistel (par~Je) _~ serial out) Shift Register (serial in parallel out) Inverter Multiplexer 'Co'unter Comparators 'Shots 4 input NOR gate S R flip flop ITnp.t!!~.gates . 3 input NAND ~ate , _.__ . J ' One i 2101A4 4.20 14 58.80 2101A-6 74LS174 3.25 1.58 11 37 60.04 Am 25LS18 74LS283 Am 25LS14 3.78 1.85 13.93 5 20 2 18.90 37.00 27.86 74LS165 2.50 2 5.00 74LS164 74LS04 74LS157 74LS393 DM 8131 74123 7425 74LS279 74LS08. 2.20 045 1.70 5.00 4.00 1.15 .80 .90 040 3 3 3 1 5 2 1 1 1 3~.75 6.60 1.35 5.10 5.00 20.00 2.30 .80 .99 040 ~._.~ .--L.. __ ~..~ A~,~~ ... 112 286.20 Total Number of IC's Total Cost .'. ._l._.__.__.___?~~l~_.J_~_.:~~ ___,___.__ __.___ not including DAC, track or hold, and low pass filter FiRST COMpUTER FAiRE PRQCE-EDINGS .BOX 1579, PAL.O ALTO CA 94302 Table 3 lists the number of sinusoidal components which may be generated with a given sample rate using ·the inexpensive slow oscillator shown in Figures 8 and 9. TABLE 3. Trade oU"between the number ofsinusoidal components which may be generated and the sample rate for the slow inexpensive oscillator shown in Figures 8 and 9. The 25LSI4's in the multiplier the main speed bottleneck in this oscillator. For mor . sinusoidal components at a wide bandwidth see the I faster oscillator shown in Figures 10 and 11, and i Tables 4 and 5. ; .__. ·__ ····[_· .. ···_··---·T· .-.............".. ' ......._ .. "._._----1 ! Sample Maximum Number of gene ratable Output sinusoidal components Frequency ! of any sinusoidal component I for a ,'. for a . (40% samplep2 bit x 12 bit 12 bit x 16 bit : _ _ _:7._•...hI:~~~_ .._. __ ~~:u.~~~}.i.C~E~~. fl..tp~liP..I.!~!ti.< X' Address - i- - - - - ; - , - - - " r - - ! , -"",- ' - - - - "--T3_T4~T5-'1i , RAM Read/Wilte elk 1 T1 = : • ~I-,- - I t--T, ~T2+' I , ~Tl~ L -,--_---!t-, L...._ _ the read address access time of the RAM plus the data set up time of a register. T2 = the clock to output delay of a register plus the data set up time (before the beginning of the write pulse) of the RAM. T3 = the RAM write pulse width. T4 = the RAM address hold time. T5 = the time' needed to change the address. The counter which generates the address already has the next address, so the pipeline register (between the counter and the RAM) clocks in the next address. Thus T5 will simply be the clock to output delay time of a register. . TT = the total delay time of one pipeline stage. BOX 1579. PALO ALTO CA 94302 FIRST COMPUTER FAIRE PROCEEDINGS PAGE 111 Table 4. The number of sinusoidal components which may be generated depending on the time delay of the slowest pipeline stage. The time delay of a pipeline stage is summed from the time delays of the Ie's within that pipeline stage. The delays of several different possible combinations of Ie's within a pipeline stage are shown. The left half of the table assumes that the phase angle computation stage will be the slowest pipeline stage. The right half assumes that any 20 bit addition stage wiIl be the pipeline bottleneck (which is unlikely). The bottom of Table 4 shows the number of sinusoidal components which may be generated depending on the sample rate and the Ie's which are used (assuming that one is wiIling to buy or build a fast enough multiplier - the multiplier wiIllikely be the bottleneck). Delay Time (nanoseconds) in RAM Stages as a Function of Which IC's Are Used Manufacturer Part Number I RAM read address access time "'.... "-.-.-... "'..-."'."'...... -...--.... --:---1------------.. . . . 74LS202 35 typT 45 max! 45 max I'-~:--I 82S116,! I 40 I 40 I I i 93LA22 I : '60 I 60! 2101A·2 r i ! ! i i 250 .. ... -- .......-......"'''' .. - -_'''''' _.-._.....--.-... - --· .. -t· .... -· .. ··-...... +....... i ......... !..... ....j- .. -T-.-. . . . -i;~~::---:j~m-::-~I-Sj ! l : I:: i sf : ...... 1S ! i . to output delay 748174' 17 ,17 I 17 - - - - -.. - .."' ..... ---- ..-.- .. -.-..... -. "'......-- ....... - ...... "' .... _- ..... 1---....-........... ~ ... - ......................... - ............... -1.......... RAM data set up before leading edge of write pulse width RAM write pulse width 74LS202 82S116 O !. 0 ~ ' : 0 ~ 93LA22 2101A·2 74LS202 828116 -;:;;~.--:-:------.-.--=.---- f---o:-:--- 15 typ hold time . ~' .~ ----~--------~ _~d:t~::td:l-ay"'.--_"'~:!~;~._ !I i O! I I 25 25 ; j: . 45 .......... -......... .- I I I 5: 0 -...... ............. " .. , 45/ 150 ---':S·typ·'· Omax:·O·maxT··. '...... :......; . "' . ,.j .. - .... :-..- ...... - .. ,. ," I 82S116 ~- I .---"'-.~--"'-- ' 0 93LA22 , 2101A.2 74Ls174 748174 74LS174 0 . j ! 5: .; I! ...-t--"'---.... _.... -...- .. ...... 25 max: 25 max I :: 93LA22 2101A·2 '·RMfa(fdreSs"·-·"·-"'·"'·'74i..Siof· ·Addre"'ss-·"--- -.. change .time -----... -..-..•. •. Register clock Delay Time in Adder Stages As a Function of Which IC's Are Used : : : 5' 5i 0: ! ! ; i 30! ' 30' , 1 30~ , 17 : : 1 7 :t -.-.--- -+-- .....17: t---...._________ ..•___ _.. -.... - . • . ; , ' ! ... 30 i· o 30 ... -0-______ • -, .-•• -..-.._.' -~....-.....-"'--t-.. . .---..-,~.. , . . -., . . ~-,. '.'......~ 301 "·107 'r~~ 30 69·' ....6197 ' 74S283 ! ; II 748181,74S182 , i 1 - - . - - -..-...........-.......--........,"'.-- r-'- .....-.....__ ...--, ...,-...• '--..-...,. __....;..... ........... _, .....;." ....... , ... Register data 74LS174 . ! I' 20 iO' set up time 748174 i 5 Total time delay of 1 stage 125 150 109 145 104 195' 154 t 480 157 129. 119 ~7 time I I Number of Sinusiodal Components Which May Be Generated ~~'-.-; _.... --. . .-----~--::-::-----:=:".-.--:-::-:~-.-- -;--_ .•.. __ ..• -_. • 44 I !! I Sample Sample IMaximum Rate Period Frequency samples/sec us Hz ···1, 5: 9 5 iT"66- FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 o ns, maximum 5 ns. For higher speed, the 74LS202 made by Texas Instruments may be used in the phase angle RAM. It has a read address access time of typically 35 ns. Maximum specifications were not available before the journal went to press, however I suspect it would have a maximum read address access time of 45 ns. The .write time plus address hold time is typically IOns and I suspect it would be a maximum of 25 ns. The 74LS202 should be typically 30 ns faster than the 93L422, and a maximum of 40 ns faster. The main disadvantage of the 74LS202 is that it is 256 x 1 bit, so 20 of these Ie's would be needed for the phase angle RAM as compared to 5 of the 93L422. However the 93L422 is manufactured in a 22 pin dual inline package (DIP) while the 74LS202 is available in the convenient 16 pin DIP. The 93L422 is priced at $24.95 in quantities of 1 to 24 as of April, 1977; while the 74LS202 is priced at $5.25 in quantities less than 25 and $3.75 in quantities of 25 to 99 as of May, 1977. The power supply current on the 74LS202 is 55 mA typically, 70 mA maximum, so it should not become hot. Signetics makes a 256 X 1 bit RAM, the 82S1 16, which is typically 10 ns faster than the 74LS202. Address access time for the 82S116 is typically 30 ns with a maximum of 40 ns. The data setup time is specified from the end of the write pulse width and is the same width as the write pulse width. The write pulse width is typically 15 ns, 25 ns maximum. The address may typically be changed 5 ns before the end of the write pulse, and at worst changed exactly at the end of the write pulse. Thus the time required to read, then write to the same address is a maximum of 65 ns, 40 ns according to typical specifications. This maximum time is about 5 ns faster than my estimated (but unspecified by Texas Instruments as of this writing) maximum time for the 74LS202. The 82S116 costs $11.20 in quantities of less than 25, $10.00 in quantities of 25 to 99 as of May; 1977. Power supply current is 80 mA . typically, 115 mA maximum; so this Ie should not run cool. Since the 74LS202 has not yet been fully characterized, it is difficult to decide which RAM to use. Texas Instruments generally provides conservative specifications. The 82S116 presently costs 2 % times as much and J;onsumes approximately 1 Y2 times as much power supply current as the 74LS202. Unfortunately these two Ie's are not pin compatible. When attempting to minimize the number of Ie's .required and yet still desiring high speed, the 93L422 is a good choice for the phase angle RAM. To minimize costs at the beginning of the project, 2l0lA-2 RAM's made by Intel could be used. Later when a wider bandwidth with a large number of sinusoidal components is desired, these RAM's could be unplugged from their Ie sockets and replaced with the pin compatible higher speed 93L422 RAM's. The PAGE 112 2l01A-2's are 256 x 4 bit static RAM's which cost $5.50 each in quantities of under 25 as of February, 1977. The read address access time is 250 ns maximum; and the write time is a maximum of 150 ns if writing to the same address as the read address. In looking for fast RAM's, it was assumed that the phase angle calculation stage of the pipeline would require more or about the same amount of time as the multiplication stage. This assumes that the multiplier can multiply two words in less than 200 ns and preferably in approximately 100 ns. The TRW MPY-16AJ will latch and multiply two 16 bit words in a maximum of 190 ns. The MPY-12AJ will latch and multiply two 12 bit words in a maximum of 175 ns. TRW is working on a lower power version of these multipliers which is expected to be faster by a factor of 1.5 to 2 (thus multiplying-in approximately 100 ns). Monolithic Memories 67558 expandable 8 bit multiplier should also be considered for high speed. Unfortunately these high speed multipliers are expensive. The MPY-16AJ costs $300 in single quantities while the MPY-12AJ costs $165 in single quantities. The MMI multiplier price has not been announced yet; however, it will probably cost between $50 and $80 when first released. Using the design shown in Figure 10, Table 4 shows the time delay of one pipeline stage as summed from the individual Ie time delays within the pipeline stage. The left half of the table assumes that the phase angle computation stage will be the slowest pipeline stage. The right half assumes that any 20 bit addition stage will be the pipeline bottleneck (which is unlikely). Most of these times assume that TRW will be able to manufacture a faster high resolution multiplier so that the multiplier does not become the bottleneck. If TRW's 190 ns multiplier, MPY-16AJ, is used for a multiplier, I would recommend using the Fairchild 93L422 RAM and low power Schottky Ie's for adders and registers. The parts picked in Figure 10 assume that a multiplier with a typical multiply time of 125 ns and a maximum of 157 ns is used. A parallel pipeline multiplier constructed from Monolithic Memories' 67558 Ie's should meet this spec if TRW is not able to product a higher speed multiplier. The bottom of Table 4 shows the number of sinusoidal components which may be generated depending on the sample rate and the Ie's which are used (assuming that no other pipeline stage is a bottleneck). Ie's were chosen for the oscillator in Figure 10 with speed and relatively low power consumption in mind (so that little heat is generated). If the heat erated by the Ie's is minimized, the number of fans (which are acoustically noisy) needed to cool the circuit will also be minimized. Rotron now manufactures a very quiet fan which would be useful for cooling the multiplier circuit. If still higher speed is FIRst COMPUTER FAIRE PROCEEDII;~GS desired, the low power Schottky IC's could be replaced with their pin compatible Schottky parts. The Signetics 82S116 could be used in the 256 word RAM's and I k x I bit bipolar RAM's such as the Fairchild 93415 could be used in the waveform memory. However price and power consumption would take a quantum leap. The RAM address control logic for the oscillator shown in Figure lOis not drawn here. However a timing table for this pipeline is shown in Table 5. This PAGE 113 BOX 1579, PALO ALTO CA 9430Z table uses a total of 7 sinusoidal components, but the timing is applicable to any number of sinusoidal components. The address of the amplitude of the nth sinusoidal component changes every sample period since the amplitude is written into the amplitude RAM 2 periods of Clk I (2 address changes) after it is read from the amplitude RAM. So the address of the amplitude RAM provides no direct clue to determine which sinusoidal component amplitude may be up- Table 5. Timing Table for the High-Speed Oscillator Design shown in Figure 10. Frequency Slope RAM Phase Angle Increment (Frequency) Amplitude Slope (of Envelope) RAM Phase Angle RAM Dat' ~Triiten- A"ddieSS Reid Dii, Address -Read j- ~__ . _ - ~-2 _._~ .. 6 . ". 6 -~y---iipciate- address I orwait . ------ ---+----____~------~~------+_----~----------_r--------~----------~: 0 I ..- . ..... I := I+ _.j_ .... 0 ___ ~2 .. - := - 0 5 6 , .... _._ _ j . 14.6 5 ri o· =~J_O~_ -~ ... - ········-4~-~·-1 .. -o~··l; . :··'4;_~____ 2 3 3 5 4 5 4 5 ... _1 6.+ 0 • 6 .. .. , 6 .... L __ t .. I ._. ~ __ . 1 . ... 5 2 .. i _ 6 3 ;.. 0 1.. .. 4:. _L 1 ~~ress ! :~:t ~----~ .. --~---~-- ... ~-.; .. -----.Q.-~--- - ~ I . . . . _._~. . . . " =1I. ~ ~~--"'1' .2 t 6 0 i 6 -.. ! ..! ~::. ~ I. ~ !-'any I i ~ . ~ I ; ! 1 i ! update '" 4 or wait· 5 i O! 6 ~ 1 10 . - ; 5 6 f I i -1 - 0: 2 1211! 3! 3 i 2, I' 1 f 4! 4 l 3,2 _.__ ?...: 5 _I 4 i 3 i 1 6 6' 5: 4; ~~---·t d t I 6 j 5 ' ~~ress n : :;:t[-o-' n ~ !f I _ 2 x 5 6 = 0 2 3 4. ~ ~ ; ! 4 5 6 1 1 5 J-6---1' 0 1 n-2 x! 6 2 3 3 .. _____0 4 1 ~ i ._ .. _.. L I 1 I. J ., 1 .. "" I 3 !-- .. 3 . 'i---' -4---;-'---4" --, 5 4- .. 61 5 6 ; any'l ~pdate 5 6 - address! or wait - 6 o. , 4 -': 1 ; 0 2 "----' i"" l' :3 --. ---2- I i 1 4 5 6 ,0 1 I 2 ' 3 I ! 3; 4 5 ' 6 ., 1 2 3 4 5 6 - 0 I' 4 4 5 • 2 5! 5' 6 i 3 1616.0'114 I,. any update • 1 5 2! 6; address: or wait 01 01 0 1 2 1 2 I i i 3Jl - . , 314; 1 ! ! I:. 0 1 0 1 -il-i- -: I ! n -4 ! _. 1 o I -~ ___ . _0 2 I ;'i! '1! - 1 ! .. -t·= ' -: update - II 45 any 2 I ! -~.- 1, -t- _. .7 "--'1 6 ~ 0',' ~. 1.. . j -1'-' 4----:.I n-2 1 f 4 5 o 1 : _ 0 L_.3. . 23 2 1 2; 1 2 o? 11 2' : 3; 4 i o 10: o 3 4 5 6 _ address; or wait 6 1 2 I ,,' Ij- .....01 . _~,'._.... -..._01,_. .' -, J.....45._.. .~;' . ,.. :: _.: t Iii i 11 -I -,--.~---.l ,.,3 +_ 4: 4' 1 l i t address, o "j"', 3 4 t \.~ ... J _ ~ O· r 1 . . 5 -----1-i---6-·-t·--··-C··-t···-·-6-·· __ lator I Written Address Read Data Address! Written: Written i Data Data Data ~==!::. ~ - 1-- ~·I ~ 1- ~L r-"-' I RAM --.. " ----....--- ... --. '-'---" ....- '--"-"'- --.----t--:----.. - Data -~ _____2 IAccum- Amplitude 1 n-4 n-4 3 4 j I • ; 4 5 6 do not write -- 0-'1 2 3 4_ 5 6 do not write 0 t" 2 3 4 5 6 - ' do not - Li~--t---! __ -:if 1 I j x n-6 n-7 BOX 1579, PALO ALTO CA94302 FIRST COMPUTER FAIRE PROCEEDINGS PROCESSOR OUTPUT BUS Frequency Envelope 20 I REGISTER 74LS174 I REGISTER 74LS174 y 20 20 I F r C e 0 q n u t 8 r n 0 c I 20 81_ 20 I MULTIPLEXER 74LS157 REGISTER 74LS174 20 Bits Data In A d FREQUENCY d SLOPE 8 B:E; r RAM e 256 X 20 s 93L422 s Data Out Data In A d PHASE ANGLE -:j>d 'INCREMENT RAM e 256 X 20 s 74 LS202 s Data Out .!!:r 20 20 Clk 1 .. 1 20 REGISTER 74LS174 MULTIPLEXER With Storage 74 LS398 Clk 1 WAVE FORM MEMORY 1800 SINE TABLE 20 Bitl J RAM 1k X 11 or 12 Bits Am 9135 J 20 Address I ADDER 74LS283 l r-- Clk 1 Clk 1 REGISTER ,74LS174 ~ 7 FM G 4 Register MOlt Significant 8it I i 20 Bits ~~n FI 4 ~'--.I<----lI-..K....., I. ~ ADDER 74LS283 I e r REGISTER 74LS174 I iii REGISTER 74LS174 J20 I I Clk 1 Clk 1 REGISTER 74LS174 ADDER 74LS283 I REGISTER 74LS174 I I Data Out PHASE ANGLE RAM 256 X 20 74LS202 Oat. In A d d ~ .!or e s s -J120L-________~ L-____________ 20 Bits Figure 10. High Speed Oscillator rt I 20 20 20 Bit 8 d; 20 FM & Vibrato Holding Register ROUNDOFF ADDER 74 LS283 CI> 20 Bits J Clk 1 10 11 20 Bits 20 O· a t • oU t REGISTER 74LS174 I o ignored ;. F.fRSTCOMPUTERFAIRE PROCEEDINGS BOX 1579. PALOALTO CA 94302 PAGE 11& PROCESSOR OUTPUT BUS Amplitude Envelope Slope 12 to 16 REGISTER 74LS174 I REGISTER 74LS174 MULTIPLEXER 74LS157 ~ A m C 12 P 0 to I n 16 i t t r u 0 d I e 12 to 16 REGISTER 74LS174 J Data In A d AMPLITUDE SLOPE d RAM r e 256 X 1210,16 93L422 s Data Out 12 to 16 Bits Data In A d AMPLITUDE "it d RAM ....;;, r 256 X 121016 e 74LS202 • •s 12 to 16 Bit Data Out Jt sign REGISTER 74LS174 Clk 1 MULTIPLEXER With Storage 74 LS39B Clkl - 12to 16 Bits 11 or 12 Bits '- J "" 12 to 16 l J ADDER 74LS2B3 s I INVERTER 74lS04 Hi~ I I e c t 1i9n+l I N P U T 12 or 13 Bits ~ R E G I S T E R I MULTIPLIER X I N P U T R E G I S T E R r- 12 to 16 Bits R E G I S T E R 16 Bits OUTPUT REGISTER I II REGISTER 74LS174 r ..---, J Accumulator ~ 2B Bits ~ 20 288its ADDER 74LS181,74182 input to least significant bit. of adder Am25LS18 REGISTER With Standard ~ 20 Most and Significant Bits Three '"r State Output. 3 State 25LS18 Enable J PROCESSOR INPUT BUS 1 Clk 1 Cli' 20 Bits R E G I S T ·E R 7 4 L S 1 7 M 4 r-- '7 r--- r- liIi: 0 A C t;6 ........ j-; Figure 10 (continue!i) Ir ~o~~ ~~~I---l IIr ~ 0 A C - ,--- - 0 z ~ ~~;:) Ir° O I- Ir t!l '--liIi: - R 7 r-E 4 G L --' 0 I S A S 1 C T'7 E 4 '--R ---- ~ ... Audio AIIIPIIf*' ChMneI1 i-- 5 - Audio ==",ffi O~I- ~ Amplifier C.....nel2 ..Ja..: ... L--- - liIi: ..0 Ir ...., ~o~ -oJ ~:g~ H IE ~ ..J~= ~~ 7 r-4 r-~ L ........ 0 ~~z ;::gffi S A .-'! ~ 0 HOc(!:i 1 16 C IIr ..Jo._ ---: 7 t!l ... 4 '-- '-- .-- 0 '--- ...., 16 Bits R E G I S T E R - 'is' '--- 7 4 L S 1 7 4 '-- ~ 20 Most Significant Bits J 12to 16 Bits P MULTIPLEXER 74LS157 Clkl I REGISTER 74LS174 e I I elk 1 --- r-. Audio Amplifier C .....neI .. Audio Amplifier C.....nel3 FIRST COMPUTER fAIRE PROCEEDINGS BOX 1579, PALO ALTO CA, 94302 datep by the processor. This is also true of the addresses of the phase angle increment'R~Mllndithe phase angle RAM. However the address of the frequency slope RAM provides a direct indication of which sinusoidal components are being worked on in the different stages of the oscillator. IUhe address of the frequency slope RAM is n, then the phase angle increment of the nth sinusoidal component will be written into the phase angle increment RAM after 2 periods of Clk 1; its phase angle will be written into the phase angle RAM after 4 periods of Clk 1; the slope of its amplitude envelope will be read from the amplitude'slope RAM after 4periods-of,Clk 1; .itsamplitude will be written into the amplitude RAM after 6 periods ofClk 1; and the accumulator will add this nth sinusoidal component to earlier sinusoidal components after 7 periods of elk 1, as shown in Table s. A delay line of 8 parallel output shift registers (74LSI64) fed by the output of an 8 bit counter (74LS393) is used to generate addresses as well as to determine which sinusoidal components may have their frequency or amplitude changed 'by the processor. The 8 shift registers are clocked by elk I along with the 8 bit counter. The 8 bit parallel outputs of the different stages of the shift register provide the addresses. The first stage 8 bit parallel output (n) of the 8 shift registers is used to address the frequency slope RAM. The fifth stage parallel output (n-:4) of the shift registers is used to address the amplitude slope RAM. Other stages may be used for timing in other parts of the pipeline oscillator. The amplitude RAM, phase angle increment RAM, and phase angle RAM are all addressed by a separate 8 bit counter. Since the amplitude address is continually scrambled, the address of the amplitude slope RAM may be used to determine which sinusoidal component may have its amplitude changed by the processor. When the processor wants to update the amplitude of the nth sinusoidal component, ii loads the new amplitude into the holding register (next to the amplitude RAM in Figure 10). The control logic compares n to the address of the amplitude slope RAM. When they are equal, the multiplexer (below the amplitude RAM in Figure 10) is switched to take in the new amplitude. The multiplexer includes a clocked output pipeline register which is clocked by Clk 1. The frequency (phase angle increment) is updated similarly, using the address of the frequency slope RAM to determine which sinusoidal component may have its frequency updated. With this method of determining the update addresses, control logic similar to that shown in Figure 9 for the slow inexpensive oscillator may be used. Envelopes are generated by straight line segment approximations to the envelope curve. If infinitesimal line segments were used, any curve could be generated. The slope of the envelope at the beginning of a line PAGE,US segment islpaded into the appropriate RAM (through its temporary'lioJidinirregIster) by the processor. ' This slope is repeatedly added to the current amplitude (or frequency for frequency envelopes) until the slope of the envelope changes. Then a new envelope slope is loaded into the RAM. This is a sim pIe-minded method 'of envelope generation; however, minimal extra hardware is required as compared to other methods of envelope generation of which I am aware. One of the problems with this envelope generation technique is that the software which updeates the slopes must load the new slopes at the right times. I would be interested in other techniques for envelope generation which allow a different envelope to be used for every individual n,ote. A function table generates the same envelope shape for every note. A group of function tables mayb ORG 05800 5800 >. K LUG E H 0 R N SMO >. SINGLE CHANNEL MUSIC SYNTHESIZER DRI~ER PRO~RAM SMO >. (C) 1977 BY CARL HELMERS, BYTE PUBLICATIONS I"C· SPOO >. ASSEMBLY Of 2/27177 • 12.00 5AOO 5MO >. TAPE 20010 LOC 281 >WAVD EQU $154 'WAVE PIA DATA 0154 >\lAVC EQU 0155 WAVE PIA CTRL 0155 >ENVD EQU 0156 ENV PIA DATA 0156 0157 >ENVC EQU 01 57 ENV PIA CTRL 0144 >HORN EQU 0144 PITCH LATCH 0138 >MILI EQU 0138 I 1'15 DELAY >ATEC EQU $158 TERM ACIA CTRL OISA 0159 >ATED EQU $159 TERM ACIA DATA 0004 >NMIV EQU $4 PROGRAMMABLE NMI PTR 0161 >TIMG EQU $161 TURN ON 4800HZ NMI 0163 >TIMs EQU $163 TURN Off NMI >AA2'X EQU 51070 :x ,. X+A 1070 0070 >MEAS EQU $70 CUR MEASURE >BEAT EQU 072 CUR BEAT 0072 0073 >ENVX EQU $73 ENV PTR 0075 >SULK EQU 575 ATTACK END NMI PTk SAOO >* lOEeI-STACCATO, ISUSI-SUSTAIN 0077 .ECNT EQU 577 ENV' COUNTER 007A .RATE EQU $78 ENV RATE 0079 >OENV EQU 579 OLD ENV VALUE 007A >DECf' EQU $710 DECAY ~LAG 007B >TMPI EQU $7B CUR TEMPO RATE 007C >BMAX EQU $7C BEATS PEIl MEASURE 007D >SDFG EQU $70 SUBRTN DEf FLAG 007E >PROC EQU S7E CUR PROCESS PTIl >ENDF EQU S80 END EXEC fLAG , $}o~F .. CONTINUE OORO OOAI >sAVX EQU OS I X SAVEl NEil PC ~ALUE) 00A3 >TMPO EQU 083 TEMPO CNTR 001':4 >SAVY EQU $84 X SAVE 00A6 >LOsT EQU $86 TIME LOST,O~ER RUN 00R7 >TLsT EQU $87 ACCUM TIME LOST 00R9 >PPTR EQU 089 Pili NT LI NE PTR 5AOO 5800 >. PROCESS CONTROL BLOCK OffSETS OOOP. >STKI EQU 2 OLD PC 0004 >STK2 EQU 4 OLDER PC 0006 >STK3 EQU 6 OLDEST PC OOOR >NXMS EQU 8 NEXT MEAsUIlE 00010 >NXBT EQU 10 NEXT BEAT OOOB >ONOT EQU II OLD NOTE OOOC >QLNG EQU 12 OLD LENGTH >JiSUM EQU 13 LENGTH SUM/CLEAR fl.AG 'OOOD OOOE >ORIG EQU 14 SAVED OIlIGIN SROO 5ROO 8E 2F FF >ENTRY LOS 1$2f'Ff 5R03 7E 00 00 > JMP GOGO 5A06 5806 TABLES 5806 5A06 >* SUBRtN PTRS SP06 >SRTN EQU .. 58R6 )0 ORG .+12~ >. >. >.>* >. >.,.* >."'* >."'* >.>* 5RP6 SRM 5A86 5896 5R96 SA96 SA96 5RB6 5SB6 5AB6 5PB6 5936 5936 5936 5936 593P 59310 59310 593C 593E 5940 5942 5942 5942 59610 59610 596C S96E 5970 5970 5970 5A04 5970 5970 5973 5975 597A 59710 LENGTHS >LGNT EQU • ,. ORG *+16 WAVE PTRS >WFOR EQU .. ,. ORG *+32 ENV PTRS >ETAB EQU .. ,. OPG *+128 80 AO MOO 59 59 59 59 F.NV CONTROL BLOCK >DUI"E, :> FOB :>EPTR >PATK 36 37 38 39 FrB $80~0 58000 EQU ., f DB DUME >SUST F"DB DUME.l .DECY FOB DUME+2 >. ,. ENND FOB DUME + 3 >* TEMP \lliAVE >TWAV EQU .. ,. ORC >IIPTI >WPT2 >WPGM 00 00 00 00 00 00 >. *+40 FOB 0 FOB 0 FDB 0 OPEE. SUBRTN. >* MAIN >GOGO EQU .. 59 70 7F 01 5A M 03 87 01 58 R6 01 B7 01 5A '597D1F 59110 7F 59113 73 59/!6 86 591111 87 59 .. B 7F 59 liE 7F 5991 7F 5994 73 5997 .. 6 5999 B7 599C AEo 599E 87 59101 86 59103 B7 01 01 01 04 01 01 01 01 01 3C 01 AD 01 3f 01 "'* INITIALIZE > CLR ATEC ,. LOAA '3 > sTAA ATEC ,. LDAA II ,. S1A" ATEC > CLR ENve 57 56 ,. eLR ENVD 56 ,. COM ENVD ,. LOA" 14 57 > sTAA ENVC 56 ,. eLR ENVD 55 • CLIl WAVC 54 ,. eLR WAVD 54 > COM WAVD ,. LOAA IS3e LOAD CLOCK ONE 55 ,. STAA WAve :00 LDAA IS80 RECIRCULATE 54 )0 51"" WAVD > LOA" '$3F INIT NOTE 44 ,. 51"A HORN 59106 59A6 59109 59101' 59AE 59BO 59B3 59B3 59"3 59B3 59B6 59B9 59Bl' 591'0 59Bf 59C2 59C4 59C6 59CB 59CA 59CC 59CF 59DI 59D3 5906 5909 59DB 5900 590F 59EI 59U 59E6 59E9 CE OF FE OF 7F 7F 7f' 86 97 97 CE OF ~6 97 M 97 CE DF DF 7F 7F 86 97 ~6 97 CE 80 CE 80 BOX 1579, PALO ALTO CA 94302 >. ACTIVATE 4800 HZ I NTERJ LDX #TMER 04 • sTX NMIV 59 3" > LOX PATK 73 > sTX ENVX 01 61 > CLR TlMG >. 00 00 FF 7D 710 00 75 010 78 IE 7B 00 87 70 00 00 FO 7C FF M 00 00 00 00 >. BEGIN INTERPRETER DEFAULT SETTINGS 89 > CLR PPTR 79 ,. eLF! OENV ,. LOAA ISFF > STAA sDFG NOT SUBROUTINE > sTAA DECf ENV SUSTAINED 00 ,. LDX 'SUSl > sTX SULK LEGATO > LOAA '10 "* > STAA RATE 0(0' " > 00 " > > 86 > 72 " " " " > 00 " > 10 " > " >.>* 59EB 20 00 59 ED SAVE ORIGIN "SVST LOAA 59ED 59ED 59E5 59EA 59EF 59Ft 59F3 59F5 59F7 59F9 59FA 59FB 59FD 59FE 59FE 59FE 59EC 5<'01 SAOA 106 07 02 107 106 A7 86 6F 00 DE 01 OF DC 02 o.x " STAA OIU G.X " LOAA 1,X " S1AA ORI G+ I.X > LDAA '12 "SVSL CLR 2. X » INX » DECA • BNE SVsL O~ 410 26 FA 39 .. )0 RTS •• EXECUTI VE CYCLES PI'OCESsES CE 00 00 >GOMU LOX 'PRTA KLU6EHORN PROCESS PCB II BD 00 00 )0 ,",SR INTR )0 BSf{ INWA 8D 00 CE 00 10 ,.. LOX 'PRTA+16 TEMPO PROCESS PCB BD 00 00 ,.. ,",Sf{ INTR ,.. BSR INliA 80 00 7D 00 80 " TST ENDF ,.. BNI: GOMU ARE WE DONE? 26 EB 7E 00 00 ,.. .)MP TCLO 51006 51009 5AOC 5<'OE 51011 51013 51016 51016 51016 7D 5~05 10 5AOD O~ 51019 26 SAIl' 96 51010 27 5AIF ~A 51020 7F 51023 DE 51025 BD 5A2A DF 510210 96 5A2C 97 5A2E 7C 5"31 96 51033 91 51035 26 51037 DE 51039 08 510310 OF 5A3C 5A3C 5A3C 96 5A3E SF 5A31' ENV LOAA '30 sTAA TMPI TEMPO LOX '0 sTX TLsT ZERO TIME LOST sTX MEAs TIME ORIGIN ZERO CLI! LOST CLR BEAT LOAA '240 DIVISIBLE BY 4.6.8.ETC STAA BMAX LDAA ,SFf STAA ENOf' LDX 'PRTA BSR SVsT LOX 'PRTA+ 16 BsR sVST .~.~A 5iOM_1!_ f'Ill >. 00 ~3 >. WAIT FOR INTERRUPT DONE >INWA TsT TMPO ,.. SNE IN.A )0 LDAA LOST )0 BEQ *+3 )0 DECA 00 86 > CLR LOST ~7 • LOX TLsT 10 70 > JsR AA2X ~7 ,.. STX TLS1 ,.. LDAA TMPI 7B ~3 > sTAA TMPO 00 72 > INC BEAT 72 " LDAA BEAT 7C " CMPA BMAX 00 " BNI: INWI 70 " LDX MEAS ,.. INX 70 ,.. STX MEAS FB 86 01 >. ,..* 71 (1" 5A41 25 00 51043 ~O OA 51045 5C SA1I6 20 F7 5A4~ CI 010 5A~P 05 5A~A 25 01 5A4C SF 5A40 CB 30 5MF F7 00 51052 88 30 51054 P7 00 51057 ~6 09 5"59 97 M 5"51' 7f' 00 5A5E B~ 01 5A36 27 51061 16 51062 ~1I 01 51064 27 03 51066 7E 00 51069 5"69 5A69 C~ 02 5A6B 27 00 PRI NT MEASURE SETUP > loDAA MEAS+ 1 " CloRB "DNDD CMPA '10 > BCs ODND ,.. SUBA 110 " INCB " BRA DNDD >DOND CMPB '10 ,.. Bes .+2+ 1 > CLRB " ADDB 'S30 00 > STAB PPNI ,.. ADDA IS30 00 > sTAA PPN2 ,.. t.DA~ '9 > sTAA PPTR 72 " CLR BEAT 58 >INWI LDAA ATEC " TAB " ANDA '1 " BEQ .+5 00 > JMP TCLO >* CHECM FOR MEASURE PBINTOUT " ANDB 12 > SEQ NPPR PAGE 123 FIRST COMPUTER FAIRE PROCEEDINGS SA6D SA6F 5A71 5"74 SA77 5A79 5A7C SA7F 5A6C SA70 5A7F 5A71! SA80 5A~P. 5"55 SA~3 SASO SAPII SAI!7 SA89 SAR9 SAR9 SA02 SAO" S"PI' 5ARE 5A90 5A90 51190 5Age 511911 96 P7 CE BD "6 1'7 7A 39 II! OE ~9 00 00 10 00 01 00 > > 00 • 70 > BOX 1579, PALO ALTO CA 94302 LDAA PPT" BEQ NPP" LOX #PLI N JSR AAI!X LDAA O"X :»0 59 > STAA ATEP 89 > DEC PpTR >NppR RTS >pLIN EQU .-1 SA OA 30 SA 30 SA 3D .5 DF SA 5" 7D 27 71' OD >PPN2 FCC 1 .. 0 A2 .pPNI FCC 1,0 83 .. S3 41 > FCC 3,-SA .0 • FCC 2,EM •• INTEI'pRETEF EXLCUTIOII .INTR STX PI10C SAVE PCB pTn 71£ R9 ~9 00 70 • TST SDF'G 00 • BEQ EXEC IF SUBHTN I;E;F THEN IJUMMY EXf.C •• •• IS NEXT EVElll TIML PAST? • LDAA MEAS +1 > SUBA NXMS+l .. X • LIJAA MEAS > SElC~ NXMS"X 96 71 AO 09 96 70 5 .. 96 AI! 5A9~ 25 S"9A EE SA9C 9C S"9E 26 5AAO DE 5AAe 96 5AA4 AI SAA6 24 5AAP 39 SA99 OE SAA9 SAM 5AA9 DE SAAF 19 5A91' 09 SAA7 01 SAAI' 1£1£ SAAD A6 SAAI' DE SAI'l AI SAB3 I!S SAPS AI SAI.'7 1!5 SAP9 ~I SAEP I!S SABD AI 5AIll' 1!6 SACI 71' SACII 39 SACS EE SA CO 04 5AC7 08 SAC~ DF SACA DE S"CC 96 SACE A7 SA\)O 96 SADe "7 SADII PO SAD6 7E SAER ID S.. D9 7F. SAEC IC SADC SADC SADC DE SADE OA SAOI' DF' 5AEI DE 5AE3 39 SAE4 SA Ell 5A!:1I DE 5AE6 7D FeB SA"SD )0 O~ • BCS NOAK CURP.ENT • NEXT CI GIIIORt; BEAt> :. LDX NXMS,X > CPX MEl'S :.. BNI!: EXEC CURFtE~T > NE-XT CI ","ORE BEAt> • LI)X pROC > LDA" BEAT ,.. CMPA NXBt"X • BCC EXEC CURFENT >- NEXT .NOAK RTS 00 OP 70 00 7E 72 OA 00 >. •• EXECUTE COMMANDS .EXEC L&X P"OC 7E 00 00 71£ 80 00 90 00 BI 00 FF 00 00 00 AI 7E AI 00 o.x LJjA~ o.x ,. LDX ,. > > • • LDX p"OC CMpA #S80 NOTE? BCS NOTE CMP" '$90 LENGTH RE'? ,. Bes LENG ~O > CMpA #SBI FUIIIC? > BCS ",UNC CMPA #SFF END MARK? BNE'EXEI • CI,., ENDF ,.. HTS .EXEI LOX O,X > INX > STX SAVX .EWEN LDX PROC • LI:AA SAVX ,.. STAA o.. x ~2 • LDAA SAVX+I 01 )0 STAA 1.X D3 > BRA EXEC 00 00 >LENG .JMP XLNG 00 00 .FUNC .JMP X"UII >. ~I >. WAIT INC >liATI LDX SAVX ,. INX 81 71£ > STX SAVX > LIJX PI'OC HTS >. :> >* WAIT 71£ >~AIT LDX pROC 00 70 • TST SD"G > BEQ EKE I SAE9 1!7 VA SAEE PO 00 • BRA WAIX SA ED 5AE1> •• PLAY OL[; NOTE SA ED DE 71£ >PLAY bDX PIiOC SAEI' 7D 00 7D > TST SD. G 5AI'I! 1!7 DI > BEQ EXEI 5AI'II A6 OB > LDAA ONOT.X 5A,'6 liD 00 00 > JSR KNOT > BRA ~AIX SAF'9 eo 00 >. >* SAfi'S 5AFB SAFE 5AEII SAFE 51'00 5BOP. 5F02 SEOI! 5AEC SAFA 5BO. 5806 >. NOTE 70 00 7D >NOTE TST SDFG 46 27 C5 > BEQ &:XU 8D 00 >NOT I BS" KNOT DE 70 IS 07 DF AI DE 71£ SBO~ A60C 51'OA 51' >. . . NEXT EVENT TIME I . CURRENT TIME. LEN 6TH >WAIX LDX MEAS > > ,. > STX SAVX LDX pROC LDAA OLNG,X CLRB PAGE 124 5BOB 51'01J 51'01' 51'11 51113 SillS 5BI7 51119 SBII' 5BID 5BI6 5BIF 5BEI 5B23 5Bes 5B27 5B29 51'2A 51l2C 51'PE 5B30 5B32 5B34 5B36 5B3A 5B39 5BI0 SB3B 911 C9 26 A7 91 25 90 A7 RD 96 06 A7 96 A7 DE 1£1£ OR OF DE 96 A7 96 A7 6' 39 8D 2A 90 5B3D 5B3F 5841 SIl.3 51'01 ,5AF7 51'113 5B.6 C2 00 26 FA 20 CE 41 5B 117 DE 5BII~ A7 51'.... DE 5811C AC 5B4F 27 5BSI 39 5852 CE 5B50 01 51'55 OF 5B57 39 5B5/1 71£ 5B51' 5115P 51l5B Ill> 5B5E 70 51'61 27 51163 DE 5"65 6D 51'67 26 5l'69 36 5B6A C6 5B6C "6 51'61£ A7 51'70 09 5B71 SA 5872 26 5B7. 3P 5B75 /III 5B77 5l'7R 51171' 5B7E 5BAO 5BIII' SilAS 51'115 5B85 5AD7 5111111 51'AA 5BIIC "" CE I'D EE DF 7E SI'9A SB9A SB9C 51!9E 51'AO 51lA2 DE 6D 27 AB 1i7 20 7D 51' 27 EE A6 ~B8E All 51190 CE 5B93 BD 5B96 A6 5""" 06 liD SB9D 5BAS 51lA7 51'119 5BA6 5BA3 SIlAB 51'A9 5BAE 5BAF. SBAE 5BAE SAM 51'BO SI!"I 51!FII 51'B7 SBI'9 5BBB SI'BB 5BBB 5B50 5"I!D SBBF 72 00 00 OA 7C 00 7C OA BF AI - ADDA BEAT > ADCB #0 > BNE WADJ >WAXI STAA NXBT,X > CMpA BMAX > BCS, WAX2 > SuBA BMAX - STAA NXBT,X > BSR WATI -WAXI! LDAA SAVX OA R2 09 71£ > STAA NXMS,X > LDAA SAVX+I STAA NXMS+I,X LDX PROC • LDX 0.)( > INX :to STX SAVX > GOBK LDX PROC > LDAA SAVX » STAA 0.)( • LIJAA SAVX+I 00 81 7E III 00 82 01 OD AI 7C ,. STAA I,X • CLF FSUM,X > RTS >WADJ BSR ,.AT! > SUBA BMAX > SBCB #0 > BNE WAD" • BRA WAXI >KNOT EIIU • 113 01 411 .KNT I STAA HORN 71£ > LDX PROC OB • STM ONOT.X 75 > LDX SULK 00 00 • CPX #DECI 00 • BEll NGAT > RTS 00 00 >NGAT LVX #ANE~ 04 > STX NMIV > RTS SA CA >&:XU "I'll' EVEN >. >. MUSIC SUBROUTINE CALL 00 00 >CALL JSR OHED 00 7D > TST SDFG '5 > BEll EXE. SKIP EXEC I f IN DE. 7E > LDX pROC ,. TST STK3 .. X 06 EI' > BNE EXEII SKIP EXEC It STACK f'ULL > pSHA 06 > LDAB #6 >XSLP LDAA s.x 05 ,. S1AA 7,X 07 > DEX > DECB F~ > BNE XSLP ,. PULA 3F > ANDA #S3F ,. ASLI' 5R 06 > LDX #SRTN 10 70 > JSR AAI!X 00 ,. LUX o .. x AI > STX SAVX SA CA > JMP EVEN •• •• SET LEN&TH fROM TABU; 00 7D .XLNG TST SDFG 85 00 • BEQ EXE3 00 ,. LDX O,X 00 ,. LDA,. 0 .. )( OF • ANDA #SF' 58 86 • LOX #LGNT 10 70 > JSR AA2X 00 ,. LDAA o .. x· - LOX pROC 71£ > TST FSUM,X OD 00 • BEQ XSTL ,. ADDA OLNG,X OC > STAA OLN&,X OC 00 • BRA LENI .XSTL TSTA 27 00 A7 OC ~C OD Ol! 05 7E 00 00 21 RO 90 51' AE "" > BEll LENI IF NULL KEEP OLD LEN 10TH • STAA OLNG,X >LENI INC FSUM,X >EXE3 .JMp OBYT >. ... "UNC EXEC I >. LOOK UP ADDR THEN &0 TO 'UNC >KFUN SUBA #S90 )0 CE 00 00 > I'D 10 70 > ,. EE 00 ,. ~E 00 >. DE 7E SF BB EE 00 OR ASLA LDX #FlAB JSR M2X LDX JMP 0 .. )( o.. x •• 2 BYTE OPCODE OIiERHEAD -OHED LDX pROC ,. LDX > INX o.. x FIRST COMPUTER FAIRE PROCEEDINGS SBCO 5BCB 5BC3 5PC5 5BC6 511C6 511C6 511C6 5BCR SacA SBCB 5BCE SBDI S!!D3 SPDS S!!1l7 SIID9 S!!DB SBDV SBm SI!EP SBES SBE5 116 00 Oil DF III 39 liD II. .11 CE liD 96 A7 96 A7 ,DE 86 !!V Df 1E F3 OF ,. RTS ASLA LDX 'WF'OR .JSR MBX LD"'" SAliX .. S1AA o.x LDAA SAIIX+ I Sf"A I "x LOX SAliX LDAA 140 .JSR AA2X STX SAlIX .JMP EWEN •• ENII CONTROL MOllE 'TUKE LDX SAllY 1111 81 00 • LDAB SAlIX » STAB o.x 112 00 " LOAS SAIIX+I ,. STAB DE D6 E7 Oil D6 E7 OR DF 39 5C34 SC37 SC3A SC3C SC3F SC.I BV SB 7V 00 27 00 7F 00 II. 3F .8 CE SR BD 10 96 ~I A7·00 96 82 111 01 7E 5A I. SC.S 5CIIR SC4A SC4C SC4E SCSO SC3B SCS3 SCS3 SCS3 SCSS 5CS8 5CSA SC5C SCSE 5C60 SC61 SC62 SC64 SC66 SC6P SC6A SC6C SC6D SC6E SC70 SC73 SCS9 SC76 SC79 SC79 SC79 SC79 .. INX STX SIIIIX •• WAIIE~-OR1'I Dn 'WDEF EQU • ,. 8Sft OMED ,. ANDA 'Sfo' • 58 96 • 10 70 • II~ • 00 " 112 • 01 :10 Al • 2A " 10 70 • III • SA CA • SBES SIIE7 SBE9 SBEII SIIEC SI!EE SBFO SElF I SBF3 S8F. SIIF4 SBF. 511F4 SIIF6 SIIF/I SIIF9 SBF.. SIIFB SliFE SCOI SC03 SCOS SC07 SC08 SC09 SCOB SCOC SCOD SCDF SCIO SCI2 SCI. SCI6 SCI9 SCIB SCIV SCIE sceo SC23 sces SC27 SC28 5CIlA sceD SCBF SC31 SC3. SC34 selle LDAA 0,,)( :»0 • • • INX o.x ,. INX A4 .. • STX SAllY ,. RTS >* ENV DEfo" "EDEF EQU 8V II. .11 "/I .11 CE liD DF' VE A6 36 Oil A6 36 OR A6 OR VF' liD VE I'D DF liD 32 DE BD VF CS 0" * • BSR OKED • IINVII 'SF ,. ASLA ,. ASLA ~V • IISL.. S8 116 • LDX ,ET ..B 10 70 • .JSIl M2X II. • STX SIIIIY ,. LDX SAUX RI ,. LDAA O"X 00 • PSKII • INX 00 ,. LDAA O"X • PSKA • INX 00 ,. LDAA o"x )0 INX ,. STX SAliX III VI > 85ft TUKE lit • LDX SAlIX 10 70 ,. .JSR AII2X ~I • STX SAlIX C~ • BSR TUKE • PULA ~I • LDX SAlIX 10 70 • .JSIl M2X ~I • STX SAliX BE )0 BSR TUKE 32 VE BV VF' liD 7E • PULA, RI • LDX SAlIX 10 10 • .JSR AA2X 81 • STX S"IIX B4 • BSR TUKE SA CII • .JMP EWEN VE 7V 27 C6 "6 A7 08 SA 26 DE 6F 6.' EE 08 08 DF 7E 73 19 7E .. •• BEGIN SUBROUTINE '.BEGS .JSR OHED BB 7D • TST SDFe • BEQ' SDE2 7V • CLR SDFG )0 ANDA ,S3F • 06 • 70 • ,. ASLA LDX 'SRTN .JSR AAex LDAA SAVX STAA )0 o·,x • LVAA SAIIX+I ,. STAA 1.X CA 'SDE2 .JMP EWE ... •• •• END SUBROUTI NE (RETURN IF EXECUTiON) 7E .ENDS LDX PROC 00 7D • TST SVF'G ,. BEQ SEXD 00 06 • LDAB '6 'SXLP LDAA 2.x 02 00 ,. STAA o.x F'R 7E 06 07 00 • ,. • • • ,. INX DECB BNE SXLP LDX PROC CLR STK3.X CLR STK3+ I.X ,. LDX o.x ,. INX • INX ,. STX SAliX RI SA CA • .lMP EWEN 00 7D 'SEXD COM SDFG .. 00 00 'EXE2 .JMP OBYT •• SET LENGTH REG .LSET EQU • BV SEt BB • .JSR OKEV 5C7C 5C7E 5Cn 5CIII 5CaB SCII. 5CII7 5CIIA 5C8B 5CIID SC90 SC90 5C90 5C92 SC94 5C9S SC96 5C98 5C9A 5C9C 5C9E 5CAD SC9B 5CAB 5CAII SCAS 5C.. 7 SCA3 SCAR SCAli SCM SC.. II SC .. A scn SBIIC 5CIIC SCAF 5C .. " SCA" SCIIF SCB2 SCBlI SCB6 5CB9 5CB9 5CB9 SCBB SCBV 5CBE SCBF 5CCI SCC3 5CC5 SCC7 SCC9 SCCA SCCC 5CCE SCCF SCVI E6 Oil DF 37 II. CE BD 33 E7 7E DE A6 .C 16 C4 CI 2F II. liB 81 04 25 .A "7 39 03 BOX 1579, PALO ALTO CA 94302 00 ,. LDAR ,. • ,. OF • 511 M • 10 10 • ,. 00 ,. SA CA • 81 o.x INX STX SAliX PSHB ANDA ISF LDX 1\..6NT .JSR AA2X PULS STAB o"x .JMP EWEN .. 7E OB •• NOTE INC SERIIICE >NINI LDX PROC ,. LDAA ONOT"X • INCA > TAB OF DB 00 FO 10 7F ,. ANDB ISF • CMPB '11 • BLE NIN2 • ANDA UFO • ADDA 'SIO .NIN2 CMPA ISH 00 • BCS NINI DB " DECA " 51"" ONOT.X >NINI RTS •••• NOTE INCREMENT 'INCN EQU • AV E€> • BSR NINI DE 7E 'OBYT LVX PROC SC SC 1111 7E 511 CS • .lMP EXEI .... 7V 27 IIV 7E 116 A7 39 4V 27 M 27 liB A7 39 DE A6 16 CII 27 .. >* INCREMENT NOTE liN\) PLIIY >lPLA EQ·U 00 7V • TST SVFG ,. SEQ OBYT F6 D.. > 85ft NINI 5B 00 • .lMP NOTI * .. 01 OB F8 10 F. OB DB 7E DB OF EB 5CV3 . " SCD" 27 E3 SCD6 A7 DB SCDS 39 SCD9 SCD9 SCD9 5CD9 8D EF SCDB 7E SC M SCDE SCDE SCDE SCDE 7D 00 7V SCEI 87 C7 SCE3 80 ES 5CES 7E SB 00 SCES SCES SCE8 SCES BD SB BB seEB 97 7B SCED 7E SA CA SCFO SCFO SCFO SCFO 96 7B SCFB IIC SCF3 27 00 SCFS 97 7B scn 7E SC AA scn 02 SCFA SCFA SCFA SCFA 96 7B 5CFC .A SCFD B7 F8 SCFF 97 7B 5001 7E 5C AA Sooll SOO. SOO. 500. DE 7E 5006 6F OA 5008 EE 00 SooA 08 SDOB A6 00 5000 08 SDOE E6 00 5010 08 >* DEC NOTE SERVI CE 'VMI N LVAII 1\ ,. Sf"" ONOT.X • RTS 'DFLIl TSTII • BEQ DMIN • SUBA '5\0 • BEQ D1'IIN • AVVA 1\ I ,. ST"A ONOT"X > RTS .DIN! LDX PRoe ,. LDAA ONOT. X ,. TAe • ANDB I$F • BEQ D'LR )0 DECA • BEQ DMIN ,. STAA OlVOT.X ·•• RTS •• DECREMENT NOTE 'DECN EQU • • BSIl DINI ~ .JIIP OBYT •• •• DECREMENT AND PLAY NOTE 'DPLA EQU • • TST SDFG • BEQ OBYT • BSR DINI • .JIIP NOTI •• ~. SET TEMPO EQU • .JSR OHED STM TMP! • .JMP EWEN ~TEI!P • • •• •• INC TEMPO 'TINCEQU • • LVAA TMPI • INCA • BEQ NOCH • STM TMPI 'NOCH .JIIP OBYT •• •• DEC TEMPO 'TDEC EQU • • LDM TMPI • DECA • BEQ NOCH • STAA TMP! • .JIIP OBYT •• •• WAIT TIL MEASURE 'WEA EQU • ~ LOX PROC • CLR NXBT.x NEW BEAT IS 0 o. . x ·• INX LVM O.X • INX ,. LDX • INX ,. LDAB O ... X PAGE 125 FIRST COMPUTER FAIREPROCEEDINGS 5DII DF III -SDI3DE 1E 5DI5 A7 08 5D17 E7 09 5DI' 1E 5B 2C 5DIC 5DIC SDIC 5DIC BD 5B BB 5DIF 84 OF SDI!! ... 8 5DBB 48 5DB3 48 5DB4 CE 58 B6 5De1 BD 10 70 5DBA C6 08 5Dec 116 00 5D2E 36 5DBF 08 5D30, SA 5D31 26 F9 5D33 C6 08 5D35 C£ 59 41 5D38 32 5D39 A1 00 5D38 09 5D3C 5A 5D3D 26 F9 5D3F 7E 511 CA 51142 5DA2 BOX 1579, PALO ALTO CA 94302 » STX SAW • LDX PRDe .. • STIIA NXMS.X • STAB NXMS+I.X NEW IlEAS DEfiNED • .IMP GOBK •• PICK ENV .ESET EQU • • .JSR OHED • ANDA ISF' • IISLA ASLA ASLA • LDX IETAB • .JSR M2X • LDAB 18 .SET I LOIIA o.x • PSHA • INX • DECB • BNE SETI • LDAB 18 - LDX IEPTR+7 .SETe PULA ,. STAA O"X • DEX .. • DECB • SNE SETe • .IMP EWEN •• ENV RATE .£RAT EQU • 5042 BI· 5B BS • .JSI< OHED 5D45 91 7/1 • STA~ RATE 5D47 1E SA CA - oIMP EWEN sOlIe .. sr."" 5D...A 5D4A 5D4A 5D4D 5D4" 5D4F 5D4F 5D52 5055 5D55 5D55 5D55 5&58 SDNI 5DSC 5D5E 5D61 5D61 5D61 5D61 5D63 5D65 5D68 5DM 5D6D 5D6D 5D6D 5D70 5D12 5D7... 5D77 5D71 5D71 51167 5AI4 5D19 5D7C 5D?! 5DIII 5D84 5D87 5DBA 5DIIC 5D8F 5091 5D9"I 509... 5D9... 5DeB 5D'0 5096 50911 5D9A SD'C 5D9D 5D9D 509D 509F 5DA2 5DA4 5DA7 5DAA 5DAA SDAII 5DAII 5DAII 5DAD 5DAF 5DBO 5D83 5D86 5D88 5DBS •• SET STACAT1'" -STAC EQU • CE 00 00 • LDX 'DECI D.- 75 • STX SULK •• FALL THRU TO •• STIIRT DficAY 7F 00 7A -DEKII CLR DECF 7E 5C All • .JIO!P OBYT .. •• SET LEGATTO .LEGII EQU • CE 00 00 • LDX ISUSI DF 75 • STX SULK • LOAA ISFF 116 FF 97 1A • STAA DECF 1E 5C All • .JIIP OBYT •• •• START ATTACK .ATTK EQU • 116 FF • LDAA ISn 91 111 • STAA DEC" CE 00 00 • LDX IANEW DF 04 • sTX ""IV 1E 5C All • _ OBYT •• •• SET NOTE PARAMETER BD 5B BS .SNOT .JsR OHLD DE 7E • LDX PROC A1 OB • sTAA ONOT,X 7E 511 CA • .JIll' EWEN •• •• RETURN TO MONITOR. RESTORING ACIA CODES 86 03 .TCLO LOAA 13 5D 11 SD 11 B1 01 58 • STM ATEC 86 81 • LDAA 1S81 B1 01 58 • STAA ATEC B6 01 59 - LDAA ATED 7F 01 63 • CLR TIMS TURN O,'F INTERRUPTS CE 00 00 • LOX IPRTA 8D 00 • 8SR UNSV CE 00 10 • LDX IPRTA+16 8D 00 • 8SR UNSV 71 10 00 • .IMP 51000 •• A6 08 03 A7 A6 A7 39 OE 00 OF 01 •• RESTORE ORIGIN .UNSV LOAA ORI G.x > • • • >. STAA o.. x LDM ORIG+I>X STAA i.X RTS •• OSCILLOSCOPE TRI GGER <06 OF WAVE PIA) 86 CO .OSCL LDAA #SCO B7 01 511 • STAA WAVD 86 80 • LDAA 1580 B1 01 54 • STM WAVD 7E 5C 1111 • .IMP OBYT •• •• •• WAVE CALCULATOR PACKAGE •• WAVE OVERHEAD • WOHD .lSR OHED BD 811 48 CE BD EE FF 5B' BB OF • ANDA ISF • ASLA 58 96 • LOX IWFOR 10 70 • .lSR AA2X ,. LOX o.x 00 5' 6C • STX WPTe •• ARRAY OVERHEAD 5DBS 5DBE 5DCO 5DC3 5OC6 5OC8 5DCB 5DCD 5DCE 5DDI 5DD3 5DD4 5DDII 5DD4 SDD7 5D09 5DDA 5DDD 5DDE 5DEI 5DEII 5DE6 5DE9 5DE9 5DE9 5DEA 5DEC 5DEF 5DFI 5DF4 5DF6 5DF' 5DFA 5DFB 5DFE SEOI SE04 SE06 SE08 5EOB CE A6 FF FE AD FE A1 08 8C 26 39 FE A6 08 FF 39 CE FF 8D 1E 36 84 B7 86 B7 86 B1 32 39 CE FF 7F 80 86 B1 7E 59 00 59 59 00 59 00 42 'WARY -WRY I 6A • STX 6E • LOX ,. ..15ft 6A • LDX LDX ITWAV LOM O.X WPTI IIPGM o.x IIPTI " STM o.x • INK 59 6A • CPX ITWAV+40 EB • BNE WRYI • RTS •• •• SET WAVE REGISTER 59 6C 'WRGS LDX IIPTIl ,. L.DM o.x 00 • INK 59 6C • STX • RTS 5D D4 'TMPW 59 6E • STX C4 • BSR 511 CA • .IMP .. WPT2 LOX 'WRGS IIPGM WOHD EVEN •• OUTPUT ,- WAVE REG .WRUS PSHA 1F • ANDA 'S7' 01 54 • STAA WAVD 34 • LDAA IS311 0 I 55 > STAll WAVC 3C • LDAA 1S3C 01 55 > STIIA WIIVC • PULA • RTS 5D E9 >WTMP LDX ,I/RUS 59 6E STX WPGM 01 54 CLR WAVD B5 > BSR WARY 80 > LDAA 1S80 0 I 54 • STM WAVIl 5C M • .IMP OBYT • ~, :>. t- It ,. 5EOE 5EOF 5EIO 5EI3 5EI6 5EI6 5EIB 5EIB 5EIB 5EIC 5EID 5E20 5E23 5E25 5E2R 5E28 SE28 5E2B 5E2D 5E2E 5E31 5E32 5E35 5E3/1 5E3B 5E3E 5E3E 5E3E 5E41 5EII3 5EII4 5E41 5E49 5E4A 5E4D 5E50 5E53 5E56 5E58 5E5B SESE SESE SESE 5E61 5E63 5E66 5E66 SE66 5E68 5E6A 5E6C 5E6.' 5£6F 5E6F 5E71 5E73 5E75 5E11 5E7A 5E1A Iro 1,. ASHA 47 39 CE FF 80 1£ ,,2DS • HTS 5E DE .DIVW 59 6£ • STX 113 • BSR 5C M • .IMP 48 39 CE FF 8D 1E •• VAVE REG ,- WAVE REG. .wells ASLA • RTS 5E IB 'IIULW LDX 'W2I1S 59 6E • STX WPGM 96 • BSR WARY 5C AA • .IMP OBYT FE AB 08 FF 39 CE •• e •• •• WAVE REG I - liAVE REG + WAVEeX) S9 6C 'VPLS LOX ,"PT2 ,. ADDA 0 ... ]( 00 • INK 59 6C • STX >0 RTS 5E 28 .ADDW n' 59 6£ - STX SD 5D All • .JSR 7E SA CA • .IMP •• FE A6 08 FF 8D 39 CE FF 1F BD 86 B7 7E LOX ,W8DS IIPGM WARY OBYT WPT8 LDX IWPLS VPGII WOHD EWEN -. DUIIP WAVE 59 6C 'STWS LDX IIPT2 00 :. 1.DAA O"X ,. INX 59 6C • STX IIPT2 AO • 8SR WRUS • RTS 5E 3E 'WSET LDX ISTVS 59 6E • STX WPGII 01 54 • CLR VAVD 5D AA • JSR WOHD 80 • LOM 1$80 01 54 • STM WAVD SA eA • .JIIP EVEN •• •• SET TillE SIGNATURE BD 5B BB _SIGN .JSR OHED 91 7C • STAA BMAX 7E SA CA • .JMP EWEN •••• GO TO ORIGIN DE EE DF 1£ 1E OE 81 511 CA .LOOP • LDX • STX • .IMP IlE EE EE DF 7E 7E 00 01 81 SA CA 60TO 'GOTO LDX PRoe "'< LDX 0,,]( • LDX I.X • STX SAVX • .IMP EWEN •••• .. LDX PROC ORIG.X SAVX EWEN •• I NTERRUPT ROUT I NES •• KERNEL OF INTERRUPT HANDLER 5E7A"683 'TIlER LDM TMPO 5'A1 5E 7A 5E7C 27 00 • BEQ TMEE 5E7E 711 00 83' • DEC TMPO 5E81 38 • RTI 5EII2 7C 00 116 .TIlEE 1 He LUST SE7D 04 5UA FIRST COMPUTER FAIRE PROCEEDINGS SEilS 3B SE86 SEII6 SE86 .6 SE81! 21 SElIA '1'11 SE8B 91 SE8D 86 SE8.' DE 5E.1 BC 519. 86 5E96 DE 5E.8 OJ' SE9A 80 SE9C DE 5E89 Ie SOE' A6 5EAO 91 5EAe 25 SEA4 £11 SEA1 011 5EA3 03 SEA8 DF SEAA 96 SEAC SA SEAE 91 SE80 20 SEB2 SEse SEBe CE SSS3 SE SD66 SE SESS > RTI •• >. ATTACK INTERRUPT 11 >ATKI \.DAA ItCNT 00 • BEQ APDA • DECA > STAA ECNT 11 ES • SNE TMER 13 > \.OX ENUX S9 3C > CPX SUST E4 > BNE TMEft 1S \.DX SU\'K 04 STX NMIU DE • SAA TMEft 13 >APDA \.UX ENVX 00 19 00 01 S6 13 18 03 11 CII ,. LDAA o.x > CMPA DENU • SCS NATT • STAA ENUD >NATT INX • • > • • •• •• STX ENUX \.DAA RATE ORM '3 STAA ECNT SRA TMER NEW ATTACK INITIATION SE 86 .ANEW \.DX ,ATKI S2 S2 > ST1\. NMIU 04 S9 3/\ > \.DX P/\TK 73 > STX ENUX BC • BRA TMER OF SES1 FE 5EBA Dt' SESC 20 SERE SEBE SESE 96 11 5.CO SE BE SDS6 SE BE SECO 21 00 SEC2 4A 5EC3 91 11 SECS 26 83 5EC7 DE 73 SEC9 BC S9 SECC 26 AC SECE D6 1111 SEOO 26 00 5ED8 CE 00 SEDS OF 04 SED1 20 AI SED9 FE 5, SEDI 07 SEDC OF 13 5EDE eo 9A SEED SEEO SEED 96 11 5S4D SE EO SD4B SE EO 5ED3 SE F.o SEE2 21 00 SEE4 4A SEES 97 17 SEE? 26 91 SEE9 DE 13 SEEB BC 59 SEEE 26 8A SEFO FE 59 5E,'3 DF 73 SEFS CE SE SEF8 OJ' 0 .. SEFA 1E 5E SEFD DE 73 SECI 3B SEE3 19 SEFF /\6 00 SFOI 91 19 SF03 B1 01 5F06 08 SF01 OF 13 SF09 '6 78 SI'OB 8A 03 SFOD 97 17 SFOF 1E SE 51'\2 >. >* SUSTAIN INTERRUPT .SUSI \'DAA ECNT • BEQ UPDA • DEC/\ ,. 5TAA ECNT • BNE TMER > \.DX ENUX 31£ • CPX DECY • BNE TMER > \.DAB DECF > BNE DNEC 00 > \.OX ,DECI > STX NMIU > BRA TMER 3C >DNEC \.DX SUST .. • STX ENVX • BRA TMER •• DECAY INTERRUPT >DEC I \'DM ECNT > > > > > 40 • • 3A • BEQ UPIlA DECA STM ECNT BNE TMER \.DX ENUX CPX ENND BNE TMER \.DX PATK ,. STX ENVX 7A > \.DX ITMER • STX,NMIU 1/\ > .JMP TMER >UPVA \.DX ENUX ,. LDAA o.. :x • STAA OENU 56 • STAA ENUIl ,. INX • STX ENVX :. LDAA RATE ,. ORAA '3 • STAA ECNT 1A • .JMP TMER .. •• 'UNC UECTOR TAB\'E, SF12 SFt2 SBB8 SFI2 SFI2 SFI2 5FI2 5Ft4 SI'\6 SFt8 SFtA SFIC 5FtE S'20 SF22 s,e4 5F1!6 5F28 5FeA SFec 5peE SF30 >FTAB EQU • SF 12 -NAME-FORMAT--- - --COMMENTARY--- -- - - ------ - ---. 00 TO 7" P\.AY SE\.ECTt:1l NOTE 8X \.ENGTK , . \.TAB(X) FDB WVEF .OOX ••• WAVE(X) , . NEXT 40 UA\.UES FOB WSET 910X KORN , • •AUE(X) TWAUE , . WAUE(X) FOB TMPW .IIOX FOB WTMP .3 KORN ,. TWAUE FDB DIUW 94 TWAUE , . TWAUE I e TWAVE , . TWAUE • 2 FOB MU\.W 95 .-DB ADDW 960X TWAVE , . TWAVE • WAUEIX) FOB SNOT "XX NOTE ,- Xx NOTE , . NOTE • I FOB INCN '8 FOB IP\.A . . NOTE , . NOTE - \I P\.AY NOTE 'DB DECN 'A NOTE , . NOTE - I FOB DP\.A 9B NOTE , . NOTt: - \I P\.AY NOTE FCB WAIT 9C WAIT UNTI\' T • \.ENGTII FOB WMEA 9DXXXX WAIT UNTI\. MEASURE XXXX FDB \.SET .IlOX\.\. LTAS(X) •• LL I'DB OSC\. 9F TRI GGt:1i SCOPt: >0-- - ,.. ,.. SB C6 SE 4A 50 DE SO FB SE 10 SE 10 SE 32 SO 6D SC A8 SC AF SC D. 5C DE SA E4 50 04 5C 19 50 .0 ,. > • > > • > > • • • • SF32 5F34 5F36 5F38 S'3A SF3C 5F3E 5F40 SF4I2 5F44 5F46 5F48 5F4A SF4C 5F4E 5150 5F5e SP'54 eooo 5.lte 5fFF 5,E1 5088 5A07 5080 SC !lC SB 5B 50 SD 51) 50 50 50 !lC 5C 5C SE 5E SA 5E BOX 1579. PALO ALTO CA 94302 ,. FOB BEGS AOXX ••• 34 53 5B F4 IC 412 4A 55 61 41' ES FO FA 5E 66 ED 6F • > • > • • • > > • • > > > • > ENDS AI CA\.\. A2XX EDEF A30XDDSSAA ESET A40X ERAT A5XX STAC A6 \.EGA A1 ATTK A8 DEKA A. TEMP ""Xx TINC AB TDEC, AC SIGN ADXX \.OOP AE P\.AY AF GOTO 80XXXX BEGIN SUBRTN XX 1)t:1' END OR RETURN CA\.\. SUBRTN XX DE. ENV X PICK ENU X ENU RATE , . XX STACCATO MODE \.EGATO MODE START ATTACK START DECAY TEMPO , . XX TEMPO , . TEI',,"O • I TEMPO , . TEMPO - I SET BEATS PER MEASURE GO TO ORIGIN' P\.AY 0\'1l NOTE GO TO XXXX ~. >PRTA EQU S2000 liD 00 20 00 liD 00 liD 00 eo 00 liD 00 • END 5FS4 ... FOB FDB FDB FOB FOB FDB FOB FDB FOB FDB FDB FOB FOB FOB FOB FOB PAGE 127 END - UNRESO\.UED ITEMS' ••• AA2X ATED BMAX DECN DIVW DUME ENND EPTR EXEI I'SUM GOMU INWI \.EGA \.OST NATT NMIV NPPR OilED PATK PPTR SAUY SEXV STKI SUSI TCLO TINC TMPa UPDA WAIl< WAX I 1010110 WRGS XFUN SYMBO\.S' 1070 0159 007C 5CD. 5EIO 5.36 5'40 5.3A SACS 0000 5.FE SASE 5055 0086 5EA7 0004 SA1F SBBB S.3A 0089 00841 scn 00011 SEBE 5017 SCf'O 0083 5EFD 5802 SBII 5DM 5004 SME ADDW ATKI CA\.\. DECY DMIN ECNT ENTY ERAT EXEII FTAB GOTO INWA \.EN I \.SET NOA1 NOAK NXBT OIoNG P\.AY PROC SDEII SIGN STK2 SUST TDEC T\.S1 TMPW WilDS WARY WAXII WPGr. WRUS X\.NG SE32 SE86 5BSB S93E SCB9 0071 5800 504111 SC76 5F111 SE6f' 5AI6 5BA' 5e7t SB52 5AA8 OOOA OOOC SAED 001E 5C50 SESE 0004 S.3C SCFA 0087 SDDE 5EOE 5DBB SBID 5.6E 5DE, 5B85 ANEW ATTK DONO DEKA DNDD EDEF ENUC ESET EXE3 I'UliC IIORN IP\.A \.ENG MEAS NINI NOCII NXM5 ONOT P\.IN PRTA SDFG SNOT STK3 SUS\. TEMP TMEE TUKE 10121'15 WATI WDEF WP\.S WRY I XS\.P 5EBI! 5061 5A48 SD4F SA3f' 5B,'4 0151 SDIC SBAB SAil. 0144 5CAf' SAD6 0070 SCA7 SCF? 0008 OOOB 5A1F 2000 001D SD6D 0006 5.n SCE8 5E82 SBE5 5EIS SADC 5BC6 SEilS 5DBE 5B6C APDA BEAT DECF DF\.R DNEC ENDf ENUD ETAB EXE4 aOBK INCN KNOT \.GNT MI\.l NINe NOTt OBYT ORIG PPNI RATE SET! SRTN 5T1oIS SVST TlMG THEft TWAU WADJ WAVC Wf'OIl WPTI WSET XST\. SE'C 0072 007A 5CBE SED9 0080 0lS6 S8B6 5B58 5B2C SCAS SB43 5886 0138 SCAO 5800 5CAA OOOE 5A83 0078 SD2e S806 5E3E S9ED 0161 5E1A 5'42 5B3. 0155 58.6 596A SE4A SBA.. ATEC BEGS DEC I DINI DP\.A ENDS ENVX EWEN EXEC GOGO INTR KNTt \.OOP MU\.W NINI NOTE OENU OSC\. PPN2 SAUX SET2 STAC SU\.K SX\.P TlMS TMPI UNSV WAIT WAUl) WMEA WPT2 WTMP , 0158 SC34 SEEO SCCA SCDE SC53 0013 SACA 5M' S910 5A8. SB43 5E66 SEID 5C.0 SAf'B 0019 5D9D 5A82 0081 5038 SD..A 0075 SC5C 0163 001B 50941 5AE4 015'" S004 S'6C SDfB FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 128 NOTES ON MICROCOMPUTER MUSIC Methodll Marc Le Brun Star Route Box 111 Redwood City CA 94062 Introdud/on In recent years striking results have been obtained through the use of computers In the production of music. Much of this work has been conducted In research aettlngs, such as university laboratories, and la often obtained through extensive utilization of the advanced hardware and software systems these facilities are able to provide. Indeed It Is highly unlikely that many of the major achievements In the. computer :nuslc field would have been accomplisl1ed at all without the high-level support of these sponsoring institutions and agencies. Unfortunately, while the· power inherent in these large, expensive, systems Is probably requisite for research It also tends to areate difficulties when we wish to apply the results of that research In an effective, economical, manner. Often new techniques are developed which work extremely well In the context of a niegasystem but seem nearly Impossible to Implement on, for Instance, II microcomputer for use In homes, In schools, or by working musicians. In the course of my work In this area I have found that It Is In fact possible to transfer many techniques from the laboratory to the "real" world, but that to do so usually requires that we expend some effort on recasting the methods Involved into forms that are appropriate to our applications. In this paper I will present several points which I believe bear on the pragmatics of this promising and exciting area and which I hope will be of use to the growing numbers of microcomputer musicians. Objectlvell The computer Is an extremely versatile .Instrument and one of the significant problems that continually arises In computer music Is how to deal with that flexibility. Paradoxically, It Is only when we decide which of the Infinitude of possibilities we will concentrate on, thereby giving up some freedom of chOice, that we begin to be able to achelve anything at elr. The question Is, therefore, just what do we want a microcomputer music system to do for us ? Certainly there Is no single right answer to this question, in fact It Is to our advantage If everyone's answer Is somewhat different. There Is a tremendous ammount of unexplored territory In computer music and the greater the diversity of approaches the faster those areas will be developed Into usefulness. It seems though that there are a few clear objectives, to which each person will then ascribe varying weights. The first of these of course, is that It sounds good, that Is It should be capable of producing Interesting, musical quality sounds. This Involves aesthetic jUdgements, about which there can be only partial agreement. I believe however that one of the most Important artistic accomplishments of computer music has been the synthesis of rich, dynamic and evocative sounds, and It would seem unnecessary and unfortunate to have to forego such a singularly attractive feature simply because we are working with smaller systems. I feel this Is a somewhat Important pcint, In fact It has motivated a good deal of my reasearches. One of the biggest failings, from II musical standpOint, of much of electronic music, Is the relative paucity of sounds employed as compared to those available to the traditional, acoustical musician. If you listen to the usual square or sawtooth wave. which pretty much define the palata of timbres available on a cheap analog synthesizer for any length of time this will be readily apparent. To create Interesting sounds with the standard analog modules Is an extremely difficult task. The digital age has· arrived - surely we shOUld take advantage of all the computer has to offer, rather than self-Imposing past limitations. How do we achelve this Impossible dream? .One place to begIn Is with the actual sound generation and work from there, keeping In mind the various design objectives. The remainder of this paper will concentrate on digital synthesis and attendant issues. The central problem to be solved In many areas of digital synthesis Is how to attain a given musical or other type of signal within a reasonable cost. Cost can be measured directly In terms of things like number of chips needed to Implement a given function in a particular manner, or In terms of the ammount of time it takes, or Indirectly In terms of constraints on the signals produced, complexity of the necessary control systems and so on. Ultimately however all this engineering must pass the acid test • What does It sound /ll :.tte:ctji;ewaya of,proci~clilg hlOhquality musical louna will grow out.of 'thi.~ w6;~ To date' have had ollly. very.mall ammount of uperllnoe with actually' uslrig the.e. methods In the production of mUllo but Inltlel experlmentl have l!lown them to be quite promlalng, and. we oen exPeot to .ee them eventually recast In forms appropriate to mlorooompliter ImpleD1entatlon. we John M. Grey An Exploration of Musical Timbre DepartPlent of Music Report STAN-M-2 Anon. Biblical Mathematic. Dr. Dobbs' Journal of Computer Callsthenlca and Orthodontia v1 n8 8EP 1978 Steve Saunde,. Improved FM Audio Synthesis Methods for Real-Time Digital MII./o Generation Computer Mu.lo JO\lrnal v1 n1 fEB 1977 pp 153-615 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 131 A PIPE ORGAN/MICRO COMPUTER SYSTEM Jet Raskin Box511 Brisbane CA 94005 One night I got a call from a man who had been wandering through the personal computer stores in the area. He was looking for a computer to operate his huge pipe organ. Inevitably he was given my phone number, since I had been going around to the same stores telling one and all about how I was working on a controller for my pipe organ. There are lots-of gimmicky reasons for wanting to attach a computer to an organ. The reason that I am interested is that the combination can provide the performer with a more flexible, easier to play instrument. And then there are all those gimmicks. As it turns out, using a microcomputer can be less expensive than conventional console wiring. Before we get into the sl,lbject too deeply, the "organization" of the king of instruments should be made clear. The performer sits at the console. The performer's hands rest '1m one or more keyboards called manuals. There are usually from two to foul' manuals. The feet play on a set of keys placed beneath the bench, the pedals. The console, on most organs since the late 1800's, is separate from the rest of the instrument and is connected to it by means of electrical cables. As with the computer, the console is the "command center" of the instrument. Besides the keyboards there are a number of other controls on the console that will be discussed later. The sounding portion of the organ consists of many pipes. Each pipe sounds but a single note. There are typically many different pipes for a given note, each of which has a different sound quality or timbre. A set of pipes, all of similar timbre, one for each key on a manual, is called a rank. Each rank has a name, many of which are hallowed by centuries of use. Some, like Diapason or Bourdon describe sounds that are characteristic of organs and nothing else. Others, such as Trompette or Blockflote are reminiscent of trumpets and wooden flutes respectively. Obviously one rank is a minimum for an organ (renaissance Portative organs had one rank). A small organ usually has three or four ranks, controlled from two manuals. The one being installed in my house has 26 ranks. A large organ will have seventy or more. The organ owned by my friend mentioned above has 140 ranks. That is very large, and only a few cathedrals have more. The complexity of a pipe organ will now become apparent. Each rank has 61 pipes, as there are 61 notes on a manual. Thus for a pipe organ of a hundred ranks there are six thousand one hundred pipes. Each rank is turned off or on by a knob or switch labelled with the rank's name. These knobs are called stops (the terms stop and rank are sometimes used interchangeably, but in this discussion rank will refer to a set of pipes, and stop to the controlling knob.) A large organ often has four manuals (names Great, Swell, Choir and Echo or Positiv) each having 61 keys, a 32 note pedal board , and, say, 100 stop knobs, and a few dozen assorted controls. Thus there are about SOD controls that the organist must manipulate. And now we come to the microcomputer. It must keep constant watch,on 500 switches. and control some six thousand relays one for each pipe. It must never miss a switch closure or release, and must operate the correct pipes - sometimes dozens simultaneously - within a 20th of a second. Is this within the capabilities of an 8080? As it happens, it is. But not without a bit of tricky I/O design, and some swift algorithms. For completeness, it should be mentioned that some ranks are not exactly 61 notes. "Unified" ranks often have 75 pipes, and some special ranks have fewer than 61. But fortunately these exceptions are easily handled. The problem is simplified in some organs (a little) by sets of ranks grouped into "straight" chests where instead of each pipe having its own electrically operated valve (a "unit" chest), each rank in the chest has a valve. Then all notes of the same name (such as all C's or all r sharp's) have one valve. This loses some 'generality, but requires fewer valves and electrical connections. For M ranks of N notes each a "straight" chest requires M+N valves. A "unit" chest has M*N valves. ' Organs also traditionally have couplers, which operate either within a keyboard, or between keyboards. An intermanual coupler has the effect of operating a note on one manual when you press a corresponding note on another. (On some old organs both keys actually move when you press one of them. This may have given rise to "phantom of the opera" stories.) A coupler that works within a keyboard plays a note typically an octave higher or lower than the one you are playing - but on the same keyboard. Intervals other than an octave also are available on some organs. An organ is also separated into divisions. These have the same names as the manuals, typically Great, Swell, Choir, Echo and Positiv. The pipes played by the pedals form another div1S10n: the pedal division. Each rank belongs to exactly one division. In the traditional organ a manual could only play pipes in its division. You could couple manuals together, but it was impossible to playa rank in the Swell division from the Great manual without playing all stops that were pulled in the Swell division from the Great-manual. This separation into divisions has no musical benefits, it was done merely to simplify the construction of the switching in the console. The microcomputer can be used to obliterate the concept of division, thus giving more freedom to the organist who can then assign any rank to any keyboard independently. This is the first of a number of non-gimmick improvements that can be appreciated by any organist. The switching in the traditional organ is done by the most incredible collection of electrical, mechanical and pneumatic switches imaginable. That it works at all, being made mostly of slats of wood and strips of leather with silver wires for contacts, seems dubious. It is not suprising that not every conceivable freedom in interconnection has been permitted the organist in the past. The wiring from the console to the pipes over distances from 10 to over 100 feet reminds one of a cross between the innards of a computer before the mother-board was invented and a telephone company switching office. Another major advantage of the computerized organ is the elimination of most of this wiring. In a very large organ the cost of the computer system may be less than the cost of the cabling alone. , When an organist plays a piece, the piece (or each section of the piece) has a characteristic sound quality produced by a judiciously selected set of stops being activated. A particular collection of stops is called a registration. It is usually desirable to be able to store such combinations. There are a number of buttons called pistons which recall combinations of stops. Logically enough these collections of stops are called combinations or presets. There are often a few fixed presets, and a number of pistons are provided whose registration the organist can change at will. Another advantage of the computer controlled organ is that many more presets will be available. Four kilobytes of memory can store hundreds of different presets, more than on any conventional organ. Four kilobytes of memory costs less than one preset done mecha& ically! And it's a lot easier to install-.-Consider what happens when a single key is pressed. First, any keys that are coupled to it are also activated on its keyboard as well as on other keyboards. For each of those resultant keys as well as the original key, the applicable stops must be looked up. If there are two couplers and four stops activated for each of the three keyboards involved then no less than 12 pipes must sound. When playing a full chord with many couplers and stops engaged it is not uncommon for 500 pipes to be operated simultaneously. A number of schemes were concocted for driving the pipes and reading the keys. One scheme, which has been used on smaller organs for computer control, is to have each key send out a unique code. Each pipe recognizes its own address. The computer receives key-codes as well as stop and coupler codes and computes the appropriate pipe addresses. A decoder at ea.ch pipe as wen as a diode matrix or other encoder for the console is required. Since on a large organ there are over two to the twelfth pipes, even a l2-bit code would not be long enough. This would mean assembling two 8-bit words for each p1pe. Putting out over SOD of these in a 30th of a second, considering the number of steps required in the program, was impossible. Furthermore, the cost for the decoders at each pipe was prohibitive. This ruled out going to a l6-bit computer, since it wo~l9n't help the decoder problem, and a larger word size seemlld to hold few advantages in any other way. Cost alone ruled out the brute-force approach of just using a very fast computer. Another way to get high data rates from a micro was to use direct memory access (DMA) circuitry. With FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA94302 this scheme one DMA device would be scanning the keyboard continuously and putting key depressions and releases in memory. The main processor would, at its own rate, scan the keyboard image in memory and construct a list of pipes to be played or quieted. Another DMA would scan the list of pipes and control the pipes accordingly. In essence, there would be three computers sharing the same memory. They would run asynchronously, each going as fast as conditions allowed. This seemed feasibl~ and a DMA design effort was started - and promptly stopped when a far simpler solution was discovered. Part of the solution was in hardware. At one extreme of decoding (as explained above) each pipe has its own decoder. It would be more efficient for each group of, say, eight pipes to have a decoder which detects its code, and then accepts the next byte as controlling eight pipes in parallel. The eight bit control byte 10001001 might mean to play the notes C, E, and G while leaving CN, D, DR, ,F and FH silent. This reduces the number of decoders by a factor of eight, and then operates eight pipes at a time. This was fast enough in the I/O department, but the time required to assemble the control bytes by masking or rotation was too great. A micro handles bytes like crazy, but manipulating individual bits inside them is not nearly as fast. A number of algorithmns were considered, but it was apparent that they weren't even in the ball park. At the other extreme from a decoder for each pipe is the idea of having no decoders whatever. This idea was put forward early in the design effort, but was discarded as rediculous. In the end it became clear that the idea was not only feasible, but fast and cheap to implement in hardware. It also made the software much easier to design. It works like this: A very long serial-in/parallel-out shift register is made. It will have at least one output for each pipe. Using available 8-bit shift registers the 140 rank organ's 2000 electrically operated valves require about 250 shift registers. (The 7000 pipes require only 2000 controlling lines since most of them are on straight chest~) In effect we build a 2000+ bit'shift register - sort ,of a long skinny tube through which ones and zeros flow in single file. When all the ones and zeros (standing for pipes sounding or silent) reach their correct positions a command (strobe) is sent operating all the ~ at once. If the process is to take 1/30th of a secona;-tne-sniftreg[ster has to move 2000 bits in that time. But this is a rate of only 60000 bits per second (60KHz) which is within the capabilities of both the shift registers and the computer. Remember that these calculations are for a mammoth size organ. Most organs are significantly smaller and the problems are correspondingly easier. A similar approach is used for the keyboards. There exists a 33 input parallel to serial converter made for electronic organs. Just two of these IC's would suffice to encode an entire manual. The 500 controls could be transmitted serially to the computer in 1/200th of a second at 100 KHz. The interface would require fewer than 20 "critters". Again, this is for a huge organ. My own horne organ would require only 10 chips for its console. The hardware can now be summarized. A SOO bit parallel-toserial converter for input, a 2000 bit serial to parallel converter for output, one input port and one output port are required. Each pipe also needs a power transistor to handle the .5 amps at 14 volts required by the valves (this i& a typical figure). Some of the larger pipes might require two stages or a darlington power transistor, but there is no real difficulty in the design. Another side benefit accrues at this point: Many pipe organs use electro-pneumatic valves for each large pipe. This is because an all-electric valve opens too suddenly. To solve the problem the traditional builders had the electrical valve let air into a small bellows that in turn operates the valve that lets air into the pipe. A pair of R-C networks and a diode in the base circuit of the power amplifier 'for each pipe can give the desired slow attack and release usually obtained by the much more expensive and problematical pneumatic system. This can amount to savings of over $1000 in a large organ. It should be mentioned that some organ manufacturers have been successful in,making satisfactory all-electric valves with appropriate attack and decay curves. They would not require the R-C networks. Software design was as gradual as the hardware design. There were two breakthroughs necessary before i,t was clear that the 8080 could work quickly enough. When the design was being done, by 'the way, the Z-80 and other faster processors were not in production. But the constraints of the 8080 and the very large organ forced a much tighter and cleverer design than would have been developed had we had more powerful computers and a smaller organ. Given the newer computers, of course, larger and more complex pieces of equipment can be controlled. ,Many industrIal plants have fewer than SOO sensors and 2000 elements that need to be operated in real time. A microcom- PAGE 132 puter using the techniques outlined here could handle theD!. The program begins by sweeping in the console settings. To save time only ~ bit ~ word is used. This wastes 7/8ths of SOO words, but memory is cheap. The same triCk will be used in output, eliminating the necessity to pack bits into bytes. Thus over 2K bytes will be sacrificed to gain speed. There goes all of $40 in memory costs. It buys us at least a factor of 5 in speed. It is worth it. While it now seems obvious that this is the way to proceed, it somehow took'4 months to find the solution. This is probably because we are so used to trying not to waste memory. A pipe organ costs from $20,000 to whatever you care to spend (a million dollars in not unusual), The computer costs are lost in the small change. --The input and output loops are very simple. Point to a memory location. Do an input (or output). Move the contents of the accumulator to that location. Increment the location. Check for done. If not done do an input (or 'output). And so on. The loop can be done on an 8080A at 66KHz. Thus theen-' tire organ can be updated in 0.03 second. The worst we could live with would be 0.05 second. The 8080 with a 2MHz clock is just fast enough. An 8085 or Z-80 CPU would be plenty fast. Again remember that for a reasonable size organ the plain old 8080 would be more than fast enough, and that we are discussing a worst case design. Any Poly-88 or ALTAIR or IMSAI or SOL computer could easily handle most pipe organs. Even with I/O solved there still remains,the problem of, deciding which pipes are to go on and which to go off. At first this was a stumbling block in terms of the time it woul,d take to do the computations. On each console scan, it seemed, a table of couplers would have to be made up, as well as a table of stops. A key depression, through the couplers, results in a number of "virtual" key depressions. Since some virtual keys, being higher or lower on the keyboard than the original key, will go off the end of a keyboard, they must be deleted from the virtual key list. The remaining keys have then ,to be processed through the stop list to determine which pipes are to be played. Since the input routines take a total of about 0.037 seconds the processing must take less than .013 seconds. Just the checking for out-of-range virtual keys would take longer than this. The easiest solution to the coupler spill-over problem is to include a few extra places in the shift register on both ends of each rank. This allows all the ranks to have the same shift register length whatever the actual number of pipes. The first advantage is that out-of-range virtual key depressions need not be checked for since they fall into unused sections of the shift register. As with the wasted memory, the cost of the unused shift registers is small. The second advantage is that the electronics for every rank, of whatever kind, can be massproduced. This makes it less expensive to build - as well as making the software easier to write (aside from merely being faster) . Aside from satisfying traditional organists, there is no reason to have intermanual couplers on a computer-controlled pipe organ. The original reason for including intermanual couplers was to minimize the limitations imposed by the separation of the pipes into divisions. The computer, by being able to assign any rank to any manual (or the pedals) eliminates entirely the need for these couplers, as has ,been pointed out. The presence of intermanual couplers is retained mainly as a' sop to traditional organists. It might well be eliminated in my own organ. Another choice to be made is whether, to recalculate all the' pipes to be played, or to just modify the previous state on each cycle. It was decided to recalculate from scratch each time to eliminate the possibility of cumulative error. It also means that keybOllnce is automatically taken care of. In the slight time between updates an organ pipe cannot even,begin to sound. A spurious signal for one cycle is effectively ignored. Continuous pipe-on instructions emitted over a periOd of something like .1 second or more are required before the slow mechanical valves can react. The higher pitched pipes re'spond quickly, incidentally, and the low pipes sometimes take nearly a 'second to begin playing. Organists learn to compensate by playing low notes somewhat early. Without introducing a constant across-the-board delay it does not seem possible to have the computer compensate for the effect, but it is a place where some experimentation might be interesting. Experienced organists, of course, might look askance at such an innovation, bu,t they needn't be told about all our ideas. To summarize: A cycle of1the computer-organ system starts by pulling in the state of the console. The second part of the cycle (yet to be described) calculates the pipes that should be plaYIng given the state of the console. The third"portion of the cycle sends the pipe commands along the shift register. The process is repeated at least once every 30th of a second. A coupler (of whatever kind) is merely a displacement, which FIRST COMPUTER FAIRE PROCEEDINGS is easily calculated since a11 keyboards and ranks are the same nominal length. Likewise engaging a stop is also a displacement of a distance equal to the difference between the bottom of the manual's image in memory to the bottom of the rank's image in memory. Thus these displacements or offsets can be simply added to yield the offset for a combined coupler/stop setting-.-An example, with a simplified organ, will demonstrate how the algorithm operates. Say there is one manual with 10 keys numbered 1 through 10. They are read into memory locations (all numbers will be in base 10 for this discussion) 1001 through 1010. The ranks each have 10 pipes, and there are two of them. The first rank is stored in locations 2001 through 2030. The second rank is stored in locations 3001 through 3030. Remember that the area set aside for each rank is larger (here three times as large) as the actual space necessary. There are two stop switches, stored in lqcations 4001 and 4002. There are two couplers. They are stored in 4003 and 4004. The first couples up five pipes high, the second down three pipes low. When the low order bit in 4001 is on (or, as they say, high) the program adds 2010 to the key address to get the pipe address. When the other stop is on 3010 is added. If the first coupler is on an additional 5 is added, the second coupler subtracts 3 (or adds a negative three - it is all the same thing). The addition is done but once. Say the first stop and the second coupler were operated, then given a key on at location 1005, to get the proper location to turn the pipe on merely add (2010-3) or 2007 to the key location (1005+2007)=3012. Indeed this is the correct pipe. This brings up another possible freedom given by use of a microcomputer. When a stop and a coupler are operated, one gets both the note given by the stop and the extra note given by the coupler. With a computer it would be possible to give just the note given by the coupler acting on that stop. Since each stop could have a whole panoply of couplers attached to it, the number of buttons would soon become unworkable. For complete flexibility the organist would have to be provided with a keyboard and display. One would play the organ by seting up many required presets, with whatever degree of flexibility required, and then the easily hit tabs would not activate stops, but would bring in the organist's choice of registrations. In the example above choosing both stops and both couplers would result in having to add six numbers to each key location to obtain the pipe location. In the actual implementation the program would, for each manual, do the following: 1. Scan the list of stops, and make a table of addends. 2. Scan the couplers, and add them to each stop, extending the list of addends. 3. Add the addends to the locations of that manual that contain a 1 (meaning a key depression). 4. Turn on the low-order bit in the indicated word in the pipe image. Inter-manual couplings look just like any other kind of coupling. Say that one manual is stored in 1001 through 1010, and another manual at 1201 through 1210. The coupling the first manual to the second manual merely means adding 200 to the locations of the first manual. Just which inter-manual couplers will be allowed'must be carefully specified. If anything is allowed we get the following cat-chasing-its-tail effect: Manual 1 is coupled to manual 2 at the same pitch. Manual 2 is coupled to manual lone key higher (a "half step" higher in musical terminology). Press "C" on manual 1. "c" gets played on manual 2. This forces "C#" on manual 1. But this makes "C#" play on manual 2 .... Every key is thus being played. As hinted at above, intermanual couplings are only necessary on organs where the pipes are separated into divisions. In the computer controlled pipe organ they can and should be eliminated. Everything they can do, and more, can be done by freely assigning ranks to keyboards as desired. I am not sure that all organists will be convinced by this. The organ console of the future, as it appears in the light of the computer mediated organ, looks like this: The manuals and pedals are built to the usual AGO (American Guild of Organists) standards.. These standards are excellent, and permit an organist to travel from one instrument to another with a minimum of relearning. Instead of the usual arrangement of stops, there are as many rows of stops as there are keyboards. When a stop is to be assigned to a given keyboard, the button in the.row representing that keyboard, and in the column representing. that stop, is pressed. Done. Any particular registration amy be captured by pressing the "capture" button and while ho~ding it operating the chosen preset button. The stop buttons shouid, as on conventional organs, move (or light up) to show what choices have been made. This is not far from conventional practice. BOX 1579, PALO ALTO CA 94302 PAGE 133 The possibilities in a console screen, with alphabetic readout, are endless, and would require another paper this length to explore. Similarly the gimmicks - from very useful ones that record (on a disc or cassette) the performance in terms of keystrokes - to silly ones (for example connecting the doorbell to the computer, so that the organ plays "Jesu, Joy of Man's Desiring" when a visitor unwittingly presses the door button) again would take up too much space for this paper. The reasons, in short, for using a computer in a pipe organ are these: 1. Simplification of the wiring of the organ. 2. Greater reliability than conventional switching. 3. Lowered expense in medium and large instruments. 4. Much greater control of the instrument by the performer.· 5. New freedoms in choosing registrations. Nothing, it would seem, is lost by going to a microcomputer, and one could keep advantages 1, 2, and 3 above while keeping the appearance and operation of the pipe organ unchanged, in case some organist were so hidebound as to not want advantages 4 and 5. Acknowledgements: Certainly at least half of the ideas expressed in this paper are due to ~y friend and colleague, Doug Wyatt. All of the ideas were developed in collaboration with him. Thanks are also due to Jim Brennan, who owns the incredibly large organ so often mentioned in this article, and whose co-operation and inspiration have been essential to the project BOX 1579, PALO ALTO CA 94302 FIRST COMPUTER FAIRE PROCEEDINGS PAGE 134 A COMPUTER CONTROLLED AUDIO GENERATOR Thoma. E. Olsen 2500 Medallion Drive, No. 57 Union City CA 94587 ABSTRACT THIS PAPER SHOWS ONE APPROACH TO BUILDING A PIECE OF HARDWARE WHICH ENABLES A COMPUTER TO PRODUCE SOUNDS THROUGH A LOUDSPEAKER. THE DEVICE DESCRIBED ENABLES TWO PARAMETERS TO BE DYNAMICALLY CONTROLLED BY THE COMPUTER: PITCH (FREQUENCY) AND AMPLITUDE (LOUDNESS). THE PAPER DISCUSSES THE GENERAL ARCH ITECTURE OF THE DEVICE, BUT DOES NOT GIVE ANY CIRCUIT DIAGRAMS SINCE EVERY HOBBYIST WILL PROBABLY WANT TO DESIGN IN HIS OWN OPTIONS. SPECIFIC KEY INTEGRATED CIRCUITS ARE DISCUSSED AND RECOMMENDED FOR THIS APPLICATION. DATA SHEETS ARE INCLUDED. POSSIBLE ENHANCEMENTS TO THI,S DEVICE ARE ALSO DISCUSSED . . INTRODUCTI ON A SOUND GENERATOR IS A VERY USEFUL DEVICE TO HAVE CONNECTED TO YOUR COMPUTER. FOR MUSICIANS WHO HAVE DABBLED IN ELECTRONIC MUSIC, THE UNLIMITED POSSIBILITIES ARE OBVIOUS. FOR THE REST OF US, JUST BEING ABLE TO MAKE WEIRD NOISES IS OFTEN JUST AS EXCITING. STAR TREK WITH SOUND EFFECTS IS ONE OF MY FAVORITE APPLICATIONS BECAUSE IT ADDS A GREAT DEAL OF REALISM TO THE GAME. ANOTHER IMPORTANT REASON FOR ADDING SOUND TO YOUR SYSTEM IS THAT IT ENABLES THE LAY PERSON TO QUICKLEY APPRECIATE WHAT YOUR COMPUTER CAN DO. ANYBODY CAN UNDERSTAND "MUSIC" JUST BY HEARING IT. UNDERSTANDING SOME CRYPTIC PRINTOUT IS OFTEN QUITE ANOTHER STORY. FINALLY, GENERATING COMPUTER MUSIC IS A GREAT WAY TO DRIVE YOUR NEIGHBORS CRAZY. WHAT IT IS THE COMPUTER CONTROLLED AUDIO GENERATOR IS A DEVICE WHICH YOUR /If>!,oaTCltJE COI'ITl?Ol. C..l,flCClIT/?Y /)/IC FUNCTION . Gc#€J(p.rOl? LO(IJ)SPE/1kEI? A::JWER P.NPI.IFIEi? INT€I(,c/lCE -f' CONTI?OI.. "'Vr---i [) OIfC ComPUTE!? P./TCIi' CO,vT,fOL.C..lI?CClITI?Y ,oA'OG.fA'A'88L£ #,/tJ/O (TEl/. !3IOCK t)/,«;,R/i/'9 TNOP')I1S E. OlSGN 2-23-77 I I COMPUTER OUTPUTS DATA TO. THE DATA THEN CONTROLS THE AMPLITUDE AND FREQUENCY OF A WAVEFORM PRODUCED BY A VOLTAGE CONTROLLED OSCILLATOR. THIS WAVEFORM IS THEN CONNECTED TO YOUR STEREO SYSTEM SO THAT YOU CAN HEAR AND/OR TAPE RECORD IT. HOW IT WORKS REFER TO THE BLOCK DIAGRAM THROUGHOUT THIS DISCUSSION. THE COMPUTER OUTPUTS DATA TO ONE OF TWO OUTPUT PORTS. ONE PORT IS USED TO CONTROL THE FREQUENCY OF THE TONE PRODUCED, WHILE THE OTHER PORT IS USED TO CONTROL THE AMPLITUDE OF THE TONE. THE DATA PATH IS 8 BITS (1 BYTE) WIDE. THIS MEANS THAT UP TO 256 DIFFERENT PITCHES AND AMPLITUDES ARE SELECTABLE BY THE COMPUTER. THERE IS NO INHERENT REASON WHY THE DATA PATH COULD HOT BE WIDER AND THUS PRODUCE BETTER RESOLUTION. THE MAIN ·PROBLEM IS THAT THE DIGITAL TO ANALOG CONVERTERS START GETTING A BIT MORE EXPENSIVE· WHEN THEY ARE WIDER THAN 8 BITS. THE BLOCK LABELED INTERFACE AND CONTROL MUST PERFORM SEVERAL FUNCTIONS. IT MUST BUFFER THE DATA BUS WITH SOME TYPE OF BUS RECEIVERS, AND IT MUST BE ABLE TO DECODE WHEN A BYTE IS BEING SENT OUT TO IT. AT THIS TIME, IT PRODUCES THE CLOCK SIGNALS THAT LATCH THE DATA BYTES INTO THE APPROPRIATE REGISTERS. THE TOP REGISTER OR LATCH IS USED TO HOLD THE AMPLITUDE CONTROL BYTE. THE BOTTOM REGISTER HOLDS THE FREQUENCY CONTROL BYTE. THE OUTPUTS OF THESE REGISTERS FEED THE DIGITAL TO ANALOG CONVERTERS (DAC). THE DAC'S PRODUCE A CURRENt WHICH IS DIRECTLY PROPORTIONAL TO THE MAGNITUDE OF THE BYTE AT THEIR INPUTS. THESE CURRENTS ARE THEN FED INTO OPERATIONAL AMPLIFIER NETWORKS WHICH ARE RESPONSIBLE FOR CONVERTING THE CURRENT TO A VOLTAGE, AND SCALING THAT VOLTAGE SO THAT THE DESIRED VOLTAGE SWEEP RESULTS WHEN ALL POSSIBLE BYTES ARE OUTPUT TO THE PORT. DESIGNING THIS NETWORK SO THAT IT WORKS PROPERLY WITH THE FUNCTION GENERATOR IS THE MOST DIFFICULT PART OF THE DESIGN. IT WILL BE NECESSARY TO KNOW HOW TO DESIGN WITH OPERATIONAL . AMPLIFIERS IN ORDER TO SUCCESSFULLY IMPLEMENT IT. THE PROPERLY SCALED AMPLITUDE AND FREQUENCY CONTROL VOLTAGES ARE APPLIED TO THE FUNCTION GENERATOR INTEGRATED CIRCUIT. THIS DEVICE THEN PRODUCES THE WAVEFORM ~HICH IS THEN AMPLIFIED AND HEARD. THE WAVEFORM CAN BE SELECTED AS EITHER SINE, TRIANGLE, OR SQUARE WAVE. DESIGN DETAILS EVERYTHING UP TO THE CIGITAL TO ANALOG CONVERTERS IS PROBABLY A PIECE OF .CAKE TO MOST COMPUTER HOBBYISTS WHO WOULD UNDERTAKE·THISKIND OF PROJECT. ACCORDINGLY, I WILL NOT DISCUSS THESE SECTIONS. THE DIGITAL TO ANALOG CONVERTER WHICH IS THE LEAST EXPENSIVE AND EASIEST TO.OBTAIN IS PROBABLY THE MC140S. THE DATA SHEET SHOWS BASICALLY HOW TO CONNECT IT. THE INPUTS ARE TTL COMPATIBLE AND THE SINGLE OUTPUT IS A CURRENT. THE MAGNITUDE OF THIS CURRENT CAN BE CONTROLLED THROUGH THE PROGRAM RESISTOR. BE SURE TO OBSERVE THE DIRECTION OF THIS CURRENT WHEN DECIDING HOW TO CONNECT IT TO YOUR OP-AMPS. BEFORE DESIGNING THE AMPLIFIER/SCALER SECTION OF YOUR AUDIO GENERATOR, YOU NEED TO KNOW WHAT CONTROL VOLTAGE RANGES YOU WILL NEED TO SUPPLY TO THE FUNCTION GENERATOR CHIPS TO PRODUCE THE DESIRED RESULT. THE BEST IDEA ·IS TO PLAY WITH THE FUNCTION GENERATOR BY ITSELF FOR A WHILE BEFORE CONNECTING IT TO THE REST OF THE SYSTEM. CONNECT TWO POTS, AS VOLTAGE DIVIDERS, TO THE VOL TAGE CONTROL INPUTS OF TH.E FUNCTION GENERATOR AND BASED ON THE DATA SHEET, CHOOSE AN RAND C THAT WILL PUT YOU IN THE BALL PARK FREQUENCY-WISE. YOU WILL HAVE TO DECIDE WHAT DYNAMIC RANGE YOU WILL WANT FOR YOUR AUDIO GENERATOR. MINE CAN BE SWEPT FROM 3 HZ TO ABOUT 10 KHZ. BY THE TIME YOU ARE DONE PLAYING WITH THE FUNCTION GENERATOR, YOU SHOULD HAYE CHOSEN A GOOD VALUE FOR THE RAND C AND YOU SHOULD KNOW WHAT VOLTAGE RANGE YOU WILL NEED TO SWEEP THE AM AND FM INPUTS OVER IN ORDER TO OBTAIN THE EFFECT YOU DESIRE. THESE VOLTAGE RANGES SHOULD BE SOMETHING LIKE. 5 VOLTS TO 12 VOLTS IF YOU USE THE EXAR CHIP. TRY TO AVOID RESORTING TO VOLTAGE RANGES WHICH CROSS THROUGH ZERO. THERE ARE TWO FUNCTION GENERATORS WHICH I HAVE TRIED FOR THIS APPLICATION. ONE IS THE INTERSIL S03S AND THE OTHER IS THE EXAR XR-2206. BOTH OF THESE ARE READILY AVAILABLE (JAMES ELECTRONICS). I FOUND THE EXAR CHIP INFINATELY SUPERIOR AND EASIER TO DESIGN WITH FOR THIS PARTICULAR APPLICATION. ALSO, THE EXAR CHIP HAS AN AMPLITUDE MODULATION INPUT ALREADY THERE. YOU HAVE TO PLAY GAMES WITH THE 8030 CHIP TO ACHIEVE AMPLITUDE MODULATION. REMEMBER THAT YOU ONLY GET 256 FREQUENCY ·STEPS IF YOU ARE USING AN 8 BIT DAC. THUS, IF YOU WANJED TO BE ABLE TO SWEEP THE AUDIO SPECTRUM FROM 100 HZ TO 10 KHZ, YOUR RESOLUTION WOULD BE: (10,000 - 100)/256 38 HZ IF THIS IS NOT ACCEPTABLE, YOU WILL HAVE TO USE EITHER A WIDER DAC, OR SEVERAL 8 BIT DACS WITH THEIR OUTPUTS SUMMED BY THE OP-AMP NETWORK. THE FUNCTION GENERATOR GIVES YOU THE OPTION OF SELECTING THE SINE, TRIANGLE. OR SQUARE WAVE OUTPUTS. THE ADVANTAGE TO USING TRIANGLE OR SQUARE IS THAT YOU GET HARMONICS WHICH ARE NOT FOUND IN THE SINE WAVE. THE OUTPUT OF THE GENERATOR SHOULD BE CAPACITIVELY COUPLED TO YOUR AUDIO AMPLIFIER IF THERE IS A NON-ZERO AVERAGE DC VOLTAGE IN THE OUTPUT. " ~ iC! -4 m :II ~ im "V g m m o Z .C') en .~ .~ ~ 6 ONE ADVRNTRGE OF THE XR-2206 IS THAT IT HAS AN FSK INPUT. THIS COULD BE USED TO IMPROVE YOUR RESOLUTION WITHOUT REQUIRING A WIDER DAC. THE FSK INPUT ENABLES YOU TO PROGRAMMABLY SELECT EITHER OF TWO DIFFERENT TIMING RESISTORS. YOU COULD USE ONE RESISTOR FOR THE RANGE 0 HZ TO 5 KHZ, AND THE OTHER FOR THE RANGE 5 KHZ TO 10 KHZ. THIS WOULD THEN IMPROVE YOUR RESOLUTION BY A FACTOR OF TWO. » ,... d ~ ! ~m iii PROGRAMMING THE THING THERE ARE AN INFINITE NUMBER OF WAYS TO PROGRAM THIS DEVICE. A GOOD COMBINATION OF EXPERIMENTATION, IMAGINATION, AND PATIENCE WILL CERTAINLV VIELD SOME VERY INTERESTING AUDIO EF-FECTS. OF VITAL IMPORTANCE IS A GOOD MONITOR PROGRAM THAT LETS YOU DVNAMICALLV AND RAPIDLV CHANGE PARAMETERS. THE SYSTEM THAT I USE TO WRITE MUSIC IS SIMILAR TO "FORTH" AND IS EXTREMELV POWERFUL FOR THIS TVPE OF APPLICATION. ONE THING TO KEEP IN MIND IS THAT THE COMPUTER IS MUCH FASTER THAN AUDIO WAVEFORMS. THIS ENABLES YOU TO RAPIDLV CHANGE OR SWEEP BOTH THE PITCH AND AMPLITUDE CONTROL VOLTAGES AND THUS PRODUCE A VARlET.,. OF INTERESTING EFFECTS. REMEMBER, THE AMPLITUDE CONTROL PART OF THE CIRCUIT IS NOT INTENDED TO REPLACE THE VOLUME CONTROL ON YOUR STEREO!!! IT IS USED TO GENERATE THE DESIRED ENVELOPE OF A TONE BURST AND IT IS VARIED OFTEN, NOT ONL.,. WHEN THE NEIGHBORS START BANGING ON THE WALLS. POSSIBLE ENHANCEMENTS ." ! iC! -t m ::II ~ ::II m "II ::II ~ o m m Z Q o ~ ~ THE CONCEPT OF USING A CONTROL VOLTAGE TO CONTROL AUDIO EQUIPMENT IS NOT NEW. IN FACT, THIS IS HOW THE MOOG, ARP, AND BUCLA SVNTHESIZERS WORK. THE COMPUTER BEING ABLE TO RAPIDLV AND REPEATABLV CONTROL THESE VOLTAGES IS .WHAT IS RELATIVELV NEW. ONE POSSIBLE ENHANCEMENT WOULD BE TO PUT A VOLTAGE CONTROLLED FILTER (ASSUMING YOU KNOW HOW TO DESIGN ONE) IN SERIES WITH THE SQUARE WAVE OUTPUT OF THE FUNCTION GENERATOR AND THE INPUT TO THE POWER AMPLIFIER. A THIRD CONTROL VOLTAGE COULD THEN BE OBTAINED FROM A THIRD PORT TO CONTROL THE PARAMETERS OF THE FILTE~ ANOTHER IDEA WOULD BE TO BUILD SEVERAL AUDIO GENERATORS SO THAT CHORDS COULD BE PLAVED. ~ 6 :I> r a g I ~- I;m .... ~ CONCLUSION IF YOU BUILD THIS DEVICE, 1 THINK YOU WILL FIND, AS I DID, THAT THE POSSIBILITIES ~RE MIND BOGGLING. MAKING THE DEVICE WORK IS TRIYIAL COMPARED TO THE TASK-OF PROGRAMMING IT TO PRODUCE PLEASING "I'IUSIC". IF ONLY I WERE BOT.. A MUSICIAN AND AN E. E. !!!! FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 137 DIALNET AND HOME COMPUTERS John McCarthy & Les Earnest Artificial Intelligence Laboratory Computer Science Department Stanford University Stanford CA 94305 1. The Dillnel Concepl The system looks up Organlk in Smith's correspondent file and discovers that his computer pseudonym is ·NA T· at a computer called UTEX-CHEM I that Is Di/J/ntt will be a set of protocols like the ARPAnet protocols that wll1 enable an reached at 512 471-3221 via a 1200/150 baud asychronous modem. It selects an on-line computer user to send messages to users of other computers, to transmit files between his own and other computers. and to use other time-shared computers directly - an using the facilities of the ordinary dial-up telephone network. His computer will need a suitable modem and must Implement the Dlalnet protocols In Its operating system. The Stanford University Artificial Inte11lgence Laboratory plans to undertake an eighteen month study Ind experimental Implementation of the protocols. with support expected from the National SCIence Foundation. While we expect the main users of Dldlnll to be time-sharing systems. we hope the protocols will be Implementable by single user computer systems down to the level. If It proves possible, or hobbyist computers. We call the system Dlalnet by analogy with ARPAnet, but unlike the ARPAnet, It reqUires no administrator to "admit" new members; they need only know each other's telephone numbers. The ARPAnet connects several hundred computer facilities Involved In Defense Department supported research and allows users or one system 10 log In on others. allows transmission of messages between user. of different computers. and anows Ihe Iransfer or files between computers. More generany, It anows Interaction among programs In different computers. These facilities have proven valuable In permitting collaboration between computer scientists at different sites and In permitting nationwide access to unique facilities such as the MACSYMA system for computing with algebraic and analytic expreSSions at M.I.T. It permits a new form of publication In which documents are kept In the computer, are continuously updatable. are Immediately accessible throughout Ihe country. and In which comments from readers Ire accessible to other readers. outgOing line with a matching modem. dials the number and attempts to transmit the message. If the transmitting computer cannot elicit a response from the deSired reCipient. it informs the user that it will try again later and send him a message when the transmission has succeeded. If the user's correspondent file did not contain the telepone number and modem characteristics. the user would have to supply them. The identity and location of the sender and date and time of the message are automatically placed at the front of the message. At the receiving end, if the addressee is logged in on the computer. he Is immediately informed that mall has arrived and from whom. If not logged in. he will receive the message the next time he logs In. In either case, he can use the same facility to respond: mail Smith David Piranha (DAVE'UTEX-CHEH3) has a student working on inhibition by anions of anhydrase B_ Following up on this lead. the user types link dave'utex-chem3 A connection is made to the speCified computer and. if DAVE is logged in. he immediately receives a message saying ** link request from Smith ~SU-CHEH7 •• He could then type ·1 ink· and have his keyboard and display effectively linked to those of the caller. permitting a conversation. Let us suppose, however. that DA V E is not logged In and the caller Is so informed. He then types locate dave@utex-chem3 which obtains the following information from the specified computer: David Piranha last logged out at 23:47 on 9 Hay 1976. Plan: I will be out of touch Hay 10 through 16. I plan to visit Hartin Shumway at the University of Utah on Hay 17 and should return by Hay 18. Will check mail from Utah. The usefulness of the ARPAnet has prompted many non-defense installations to try to connect to it. and in some cases this has been pOSSible. but !Jsually the institutional and financial obstacles have been insuperable. The main financial obstacles are the need for a dedicated computer called an IMP costing about 180.000 at each site and the need for dedicated communication Unes rented by the Noting that the current date Is May H. so that there is no point in getting ,he Department or Defense at great expense from the telephone companies. Some other message there quickly. Smith types networks have been started, but they generally don't offer the range of services that night mail dave@utex-cheml we desIre. I am interested in your work on anhydrase B. If possible, give' pointers to online documentation, else give me a call at 415 4974430 (Stanford) or 415 321-7580 (home)_ We propose to design protocols that can be Implemented at any time-shared computer Installation Dr single user computer system without joining any formal The ·night mail" command causes the message transmission to be deferred until network. The hardware cost will be from 8500 to 85000 depending on the type of inexpensive nighttime telephone rates are In force. system and how difficult it Is to connect devices to the computer. For timesharing iystems, a telephone dialer will be rented from the telephone company so that the Additional capabilities of the Dialnet system can be used to follow up on the above system can Initiate calls. For Single-user systems where economy Is paramount. the inqUiry. as follows. user can do his own dialing to initiate a call. There will be programs to transmit signals and Information according to the protocols. Any Installation implementing • The ability to access remote text files will be provided (with permission of the owners reqUired. of course). This interactive reading facility will include the the protocols will be able to communicate with any other. The only disadvantage addition of "footnotes· to various parts of the text. These footnotes may be compared with the ARPAnet will be lower speed. declared private (i.e. belonging to the reader) or public (available to the author and possibly others). Like ARPAnet, Dialnet will be most useful to full tl7llt-sAarlng s,Slms or single user systems that operate 21 hours and have file systems. In such systems. each user has named disk files that are kept in the system even when he is absent (and • It will be possible to run programs on a remote computer, permitting experiments with programs developed in other places. This facility will permit the sharing of therefore remotely accessible), and new files can be created by file transfer from unique speCialized capabilities over a geographically distributed population. other machines and on receipt of messages. The usefulness of the message facilities normally requires that users habitually log In each working day and are most beneficial when users have Individual display terminals In their offices. Further • File transfers will be permitted. with suitable error detection and correction features. to permit sharing of data. The communication protocol shOUld be able benefits accrue when reports are normally prepared at terminals and when to adapt to a wide range of noise conditions on phone lines. secretaries use terminals for letters and messages. However, many less advanced Installations have found the ARPAnet useful and more and more systems are 3. Protocols acquIrIng economical full time-sharing capability. While we expect that the first users or Dialnet will be regUlar computer users, the corresponding ARPAnet facilities have been used by non-computer people. Users of Dlalnet facilities wlll not be required to kriow how to program, and we expect Increasing use by others as terminals become more widespread. In order to make these facilities available, suitable protocols must be designed, and in the course of this. a number of technical problems must be solved. BeSides the protocols themselves. which are communication procedures and data structures, there will be a recommended set of terminal-level commands with syntax prompting and standard error messages. In order to make the picture more concrete. here is a scenario of the use of the system suitable for scientists. Other potential users may imagine their own We believe that we have the experience to produce a set of workable protocols. and scenarios. The syntax contained in the scenario is not a proposal; we will have to that it is better to start with an Implementation than to standardize something that think much more before we have such a proposal. doesn't exist. The latter procedure In recent years has led to gold-plating the reqUirements to the extent that the standard Is not implementable. 2. Scenario A user named Smith types on his terminal ma 11 Organ i II Do you have any active work there on human red cell carbonic anhydrase 81 We plan to devise suitable protocols. test them at a few sites. publish them, and attempt to convince other Instaliations to implement them. Almost certainly. initial experience will produce a reqUirement for Changes. and standardiution committees will be formed and set to work. A likely forum for a standardization effort would be through the ACM to the American National Standards Committee. FIRST coMPUTER FAIRE PROCEEDINGS PAGE138- BOX 1579.PAlOALTO'CA 94302 We pro~ to allow Interaction with ARPAnet sites via TIPs and propose to discuss with ARPA and DCA whether this will be allowed. The most general use ,of Dialnet involves a program In One computer ·waklng up· and Interacting with a program In another machine. Dialnet protocols will handle human messages as a subcase 0( this. taking Into account the fact that the sU,bcase will have the most applicali,on for a long lime 10 CO!pe. Messages about where 10 deliver a message sent II" one tlme·sharing system 10 another will be handled as a special sort 0( message that one program may selld another In cases where the two programs are not written' together, but each must know a certain' ·public· language. Thus we will attempt ,10 make a general format for requests. quesllons, and assertions suitable for ,communlcallon between computer programs. We will stud), how to make this mesh with communication between computer programs and people. 4. Research Issues There are many research issues. and we don't expect to settle all of them In the time and with the resources requested In this proposal. Since we expect many of the Issues will be clarlfted by the Initial Implementation. we will concentrate on "ttlng a reasonable firstlmplementallonlnto experimental use. Here are some of the Issues we will 5Iud y: I. What error correction facilities are required 10 make up for the deficienCies of telephone linea? 2. What Is the minimal necessary burden on the tlme.sharlng computers carrying out the communlcallon? What IS the trade-olF between bulFer size and compute lime? ' S. Can dlal.up telephone communication rates meet most of the needs fo' communication between computers belonging 10 dllFerent research organlHtlons? of: What Is the,best way to handle the fact that dllFerent modem speeds have dlll'erent prices? Should one strive for • standard speed or can a Wide variety be easily accomodated? Is the time ripe for I mlcro·processor based modem that can communicate It any speed up 10 a maximum and adjust Its speed 10 the requirements of the line or the poulbly less advanced modem with which It communlc,ates? 5. How will the Improved communication alFect research? Since changes will be slow, how can we tell as early as possible what the efFects will be? 6. What style of Interaction is convenient for both experienced and Inexperienced users? How can communication programs be madeself.teaching Without being cumbersome? . 5. Research Plan We plan to undertake this project with rather modest staffing. Initial emphasis will be on designing and implementing experimental prQtocols using exlsllng computer facllllles at Stanford. We will also rely heavily on the co-operatlon of other organizations t,hat have expressed Interest In the project both In determining the protQCOls and In implementing thetn for specific machines. First. we plan to create an experimental link between the computer facilities of the Stanford Artificial Intelligence Laboratory (SAIL) and the Low Overhead Timesharing System (LOTS). The only additional eqUipment needed will be a telephone port with autodlal capability for the LOTS computer. We expect this Initial development phase will take about 6 months. IIi the follOWing six months. we plan 10 test, evaluate, and modify the protocOls. During the latter part of this period, we plan 10 publish the protoCOlland encourage additiOnal groups 10 join the Dialnet community. NOlI: rids d_III,lIt Is te1111 }efJor. frtllll our NSF ;ro~sel elld "'elns Stllll, 01 tMt For lurtAn biforlll(Jtltm contll(t LISt,r EernlSt or /o"n McCertA, /It Sten/ord Artlfide' 11Il,l/Igtnt' lAboretory, Stell/ord U'IIIIJITSlt" Stell/ord, CcU/orIlJ94JO-'; AR.PANEr tuldr,SIIs: E,fRNEST .SU·,flelld MCC,fRTHY .SU·,f/. TAts cl«Ullllllt Is'DI,fLNE.BL,fIW71JMCI.SU.,f/. \, FIRU'COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302---PAGE 139 CD COMPUTER MAIL? Raymond R, Panko, Ph.D, Stanford Research Institute 333 Ravenswood Ave. Menlo Park CA 94025 During the 1976 31ection campaign. Jiaa, Carter coordinated hi••t.ff through. new coaaunication medium called "computer .. il." Whenever Carter'. campaign aircraft landed. an aide would call into tbe nationwide STSC coaputer network and call up a prograa named Mailbox. The aide would then transmit ae ••age. prepared during the flight. receive new me••age ••• nd perhaps reply to a few incoming ae..age. (1). During the Autumn c..paign. over 1.200 ....age. were .ent. The STSC Mailbox program i. only one example of • relatively new computer application area: the use of computers in human c_nic.tion. There is nothing new about computer-based human· communic.tion. per .e. of cour.e. Teletypewriter network. bave long u.ed coaputer. for SWitching. and even the fir.t time-.hared computer had a priaativemailboxprogram(2).toletu.er. exchange brief me..age.. What i. new i. the rate at with which computer-based human communic.tion .y.tems have been growing in aephi.tication and power during the la.t five or .ix years. Historical Trends Although the STSC Mailbox syste. that Carter u.ed is a commercial systea. ao.t ccmputer mail developaent ha. been paid for through research grant. and. mo.t .pplications h.ve been in re.e.rch and military environment•• caa.unication network.. Many corpor.te ~nic.tion network. u.e ca.putera merely for .witching. for example. the international airline. re.erv.tion network. SITA. over which perh.p. • quarter billion .d.inistrative .....ge. .re exch.nged e.ch year. A few network•• like Hewlett-Packard'. COMSIS. alae u.e ccaputer. for coapoaing. re.ding. and filini. There have been several mail offerings on coaaercial ttae-.haring network.. BeSides STSC, .t lea.t one other c_rical time .haring network, TIMlEr, haa begun to att.ck tbe QOr~ratl! cOlllllUnication m.rket .eriou.ly, with • coaputer .. U offering, OIlTYM. Mo.t time-.baring networka offer at le.ilt rud1aentary computer .. il .ervice. What i. Computer Mail? In contra.t to traditional aessage-switcbing .y.te... computer .. U .y.te.. do not aerely tranaait Mssage.. Ccaputer aaU .ystn. automate .11 a.pect. of .. U handling. They provide word prooe•• ing tools for ae ..age ca.po.ition and editing. tbus eltainating the traditional teletypewriter prie.tbood. Tbey allow di.tribution li.t. to be prepared ea.ily on-line. They print ae ••age. and al.o file ..ssage. automatically for .ub.equent retrieval. By autoaating the entire life cycle of message handling. by providing .iaple operation. and by letting .ny computer terminal acce.. the .y.tea, coaputer .. 11 bss brought me ••age technology out of the ba....nt and into indiVidual office•• The greate.t hotbed of develpaent has been the ARPAIIET. a nationwide computer network funded by the Advanced Re.earcb Project. Agency (ARPA) cf the Defen.e Department. During the 1960' •• ARPA funded much of the world'. advanced comp~ter re.earch. Late in the decade. ARPA began to build a netwcrk. in When a peraen "log. in" to the computer, tbe exi.tence of new order to make it. re.ource. aore widely avail.ble within the ARPA aail i. reported if any baa arrived .ince the l ••t log in. If re.earch community and within the defen.e coaaunity a. a whole. there i. new mail, the .y.tem print. a one- or two-line .ummary of each ....age. giving it. date, author, and an option.l The fir.t line. and .witching computer. were in.talled in author-.upplied title. The u.er can print the.e aeaaage •• anewer 1969, but it was not until 1972 that network protocol. had them, delete thea, or file thea for l.ter re.ding. The user ..y evolved .ufficiently to aake the network re.lly u.eful. By l.te then .c.n through old ae..age. or coapo.e new message.. Delivery 1972. however ••t lea.t a quarter of the coaputers on the network times range from a few .econd. to .everal bours. could exchange ....age.. thanks to a mail system developed at Bolt. Beranek snd lIewaan (BBII). During the next five years. a It is caa.on for users to t.ke terminal. along when tbey rash of newaail .ysteas were built for the ARPAIIET. aost of travel or when tbey go hOM. Thie keep. thn in touch and allows which were developed at BBII. MIT. Rand, end the Univer.ity of thea to handle their corre.pondence whenever they choo.e. Southern California'. Information Science In.titute (lSI). There was .1.0 an extremely advanced mail .y.tem developed at Stanford Re.earcb In.titute. for use in a ltaited c_nity. Outlook Today, mo.t ccaputers on the ARPAIIET c.n exch.nge .. ssage., thank. to the existence of general network •• il standards. There are now perhaps 2.000 network mail users. many of whoa are ,The coaaarcial outlook for coaputer mail ie very bright. The computer scientist •• but ..ny of whoa are nonprogr.... r military average cost of a me ..age v.ries considerably froa sy.tem to users. Bec.use ARPANET mail systems bave becoae very easy to .ystem. ranging fl'Oll $0.50 to $10.00. depending upon the use. the portion of nonprogra..er user. i. growing rapidly. In function. performed. The ratea are .teep. but co.t. are ~.lling fact. ARPA and the lIavy are about to conduct .n experiment th.t rapidly. It appear. th.t the co.t of a good .ervice will be could reault in a tran.fer of ARPAIlET ccaputer .. U to normal .round $1.00 per me ..age within a year or two, and that ca.puter ailitary caa.unication network.. In addition. one ARPANET aail .. il will be cheaper than po.tage by the aid-1980'. (3.4) • • y.tem. HERMES. ia offered coaaerci.lly. via the Telenet computer network. At po.tage staap price•• coaputer mail oould c.pture a .ignificant portion of the written ccamunic.tion in corporation. A .econd .ource of developaent has been computer __ around a trillion pieces of paper annually in the United teleconferencing. in which a coaputer eaulate. the di.cipline. cf St.tes alone (4). So it ie not .urpri.ing that many companies face-to-face group discu •• ions. The fir.t teleconferencing .re beginning to eye tbe computer mail aarket .eriou.ly. sy.tem was developed in 1971. under Murray Turoff at the Office of Emergency Preparedne... Since then. .everal aore teleconferencing .y.tns have been built. The most widely used to date haa been PORUM. built by the In.titute for the Puture Where Do Hobbyie.ts Pit In? under ARPA and National Science Pound.tion (NSP) .pon.or.hip. Twenty-eight PORUM conferences were held on the ARPANET from 1972 through 1974. In l.te 1974. a PORUM variant. PLANET. was Virtually all analy.ts agree th.t computer mail will flourieh installed on the TYMNET computer network for further ftr.t in organization••• ince corporation•• the governaent, and exper1aentation. PLANET is now offered commercially. by the ailitary can pay the larse bill. needed for .y.tea InfcHedia, In 1976, Turoff developed the Electronic Information development and operation. Organization. can pay • gre.t .de.l for computer .. il because they already pay • gre.t de.l for Exchange Sy.tem. which is being u.ed for experimentation over Telenet. pap.erwork. ne A third .tre.. of develoJlllent has COllIe in corporate But it atill .eeaa poaaible tb.t computer . . il may develop FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 first in the community, rather than in organizations -- not in individual homes, because equipment is not in place, and a full ca.aercial syetem would be expensive -- but in the computer hobbyiest arena, where computer mail networks oould be used to exchanee ideas and just ohat, with existing equipment and with relatively little software development cost. Bsfore disoussing details, we wish to give several reasons for saying that hob~iest computer mail is not an inherently orazy idea. First and .ost importantly, hobbyiests are very active snd need to communioate. As Dave Caulkins has reoently estimated (5), there were about 3,000 hobby oomputers and 15,000 computer hobbyiests 1n the United States in 1976. There sre probably a lot more today. They are spending a great deal of time and money on their hardware, and many are oapable programmers. Seoond, there is a strong hi.torioal preoedent: ARPANET oo.puter mail itself. ARPA' projects have been serious and worthwhile efforts, but there has always been a distinot hobbyiest flavor to the ARPA oontraotor oommunity. Typical ARPA researchers work on exciting projects such as artifioial intelligence. They tend to be more strongly committed to research than to their own organizations, and they tend to work very long hours. In many ways, the ARPANET research caa.unity has always been a collection of oomputer enthusiasts. Morevover, even before the network was oonstruoted. the ARPA re.earch community was fairly tightly knit, meeting at oonferenoes and .wapping employers with bewildering regularity. When the ARPANET was community communication, blo.somed as soon as the ARPANET mail development hslf of all .a11 systems time. PAC'..E 140 I will sketch two possible scenarios for hobbyieat oomputer mail's possible evolution. In the first, "HAM Computer Mail" would evolve in the limited hobbyiest community. In the seoond, nCB Computer Mail" would be broadly aooessible in the o~nity. HAM Computer MaU HAM radio, despite its long popularity, has never been large. Its stiff entrance requirements, inoluding lioenaing testa and the purohasing or buUding of expensiveequipaent, have limited its size. Analogously, if hobbyiest oomputer mail i. oonfined to highly sophistio.ted oomputer user. of the type that now populate the oommunity, the,n hobbyiest oomputer maU i. likely to remain small, like amateur ,redio. Nevertheless, amateur oomputer mail will almost oertainly appear first among ourrent hobbyie.t., ,beomuse hobbyie.ts have oommunioation need., the ability to 'de.1gn,and implement a oommunioation sy.te. and, I suspeot, a atrong inolination to do so. Teohnically, two features will have to be added to current hobby computers to implement HAM computer mail. The first is message-handling software, to let individuals oompose messages, prepare distribution lists, read incoming .ess..... aDd file inooming messages for later reading. This i. an intere.tinC problem, but it raises no substantial barr~ers other than hard work. As on the ARPANET. good mail programs. once oreated. would probably be adopted rapidly by the hobbyie.t oommunity. created, it provided a natural tool for The other needed feature i. networking, and this ia and, as noted above, computer .ail network became operational. While much indeed a problem. The simplest solution would be for a hobbyieat computer club, such as Homebrew, to collectively purohase a has been deliberately funded, perhaps me..age-.witching co.puter to handle party-line communioation, have been written in people's spare private .essage transmission, a bulletin board, and so on. U.era would then need acoustic oouplers, so that they could phone into the ....age oomputer periodically. Although such statistics are not kept, it is generally believed that the ARPANET is used mostly for message The problem with this approach is that it requires communication. Again, for balance, we reiterate that ARPANET somebody to purchase the message computer. An individual club projects, despite their hobbyiest air, have been geared toward could do this most easily, since it has communication need. and pragmatic goals. many progr....rs who lack computers to work on. On the 'other A third just';fication for considering co.puter maU is that hand, hobbyiest clubs tend to be low-budget operations. Another approach would be for some hobby computer manufaoturer to install corporations are likely to be quite slow on the uptake of computer .ail. While excellent software is available and price. a ....age computer as a way ot stimulating sales and discovering trends. Weyerhaeuser did something like this in ttbe market are already attractive, the corporate environment will not be an easy one to enter. First, telecommunications in corporations is 1960's, when it funded a number ot communes. Weyerhaeuser's by-and-large a low level function in the hierarchy. Emphaais is funding paid ott quite lavishly, because it di.covered the on thrift, not innovation, and innovation is generally a painful emerging indoor plant market and plunged into it. process. While some large organizations are innovative, it remains to be seen how rapidly theae pace setter. will adopt Potentially the best approach would be tor some computer'mail or how rapidly other companies will follow. entrepreneur or club to set up a .e"ese-.witcbing oomputer, tben Moreover, current computer mail systems, de.pite their charge users for service. On current time-sharing systems, sophistication, are not yet well-adapted to the needs of however, billing is extremely expen.ive. 'Some breakthroughs in corporations (_). charging practices would be needed to provide service oheaply yet get users to pay their bills. A fourth, and to .y mind deciSive, reason for considering oomputer mail is the recent growth of CB radio. In the early If a separate messese computer is not fea.ible, the 1970's, trucking and recreational vehicle users began to provide alternative is to create a network of individual hobbyiest a market tor cheap and useful CB equipment. Soon, CB began to computers. Other speakers in this se.sion disous. this grow wildly. About one U.S. household in 10 now has one or more possibility and I will gladly deter to their discu..ion.. .inoe I CB rigs, and growth is oontinuing at an astounding rate. find the idea of a voluntary distributed oomputer network to be mind-numbing. CB is being used primarily in a party-line mode, in which changing groups of people chat, usually annonymously. Party-line Let me do something uncharaoteristio ot oon.ultants and conversation has one major advantage, for radio sellers: it venture an opinion on how HAM computer mail will mo.t likely oome provides an instant community of users. In contra.t. about. In my crystal ball. I see a club like Homebrew oombiniac person-to-per.on message .ystems require either a closely-knit its due. and a grant from a computer manufaoturer'or telephone community within whioh traffic will naturally be high or a very oompany. to purohase a minico.puter. Why'.houlda hobbyiest olub large user base so that new users will hsve someone to talk to. purohase a "large" minico.puter instead ot .taying with mioro.? In the party-line mode. whole communities need not make a Because only about one co.puter hobbyie.t in three. by,.y orude deci.ion to Join. and potential u.ers will automatically have estimBte. now owns a co.puter or shares one. The bUlk'ot all someone to talk to. Of course once a party-11ne community grows hobbyiest club .e.bers are programmers who would be comtortable large. per.on-to-person co_unioetion can flourish. with a mini. These "neked hobbyie.t." oould progr.. t,he _se• .,e computer and handle the Bundanitie. ot accounting ,nd billing. Computer conterencing ofters some party-line featurea, User. ot the cpoperative message cOmputer would need only a although mo.t systems are fragmented into numerous private terminal and acoustic coupler; and they WOUld have an ,"in" for a conferences. In fact, the first major conferencing system was small outlay. 'HobieStl! with computera, in turn. oould use their called Party-Line. Most successful conferences (rated by user own oomputer tor message composition and reading, using the satistaction) have a free-wheeling air, and in at least two message computer only as a switoh. Their servioe te_a would be conferencing systems, public ·grafUti n conferences have reduced beoause they would use the message computer lese heavily dominated tratfic patterns. a~ each session. This approaoh--using a cooperative .. ssage computer--seems ideal, because it could make all club m..bers active ,users. instead of partiCipants. If 'a coop computer is How Mi&ht Hobbyiest Computer Mail Evolve? purchased, furthermore, it could be a general time-.haring .yet.. for other forms of .oftware development. FIRST coMPUTER FAIRE PROCEEDINGS CB Computer Mail While HAM radio has remained an arcane hobby, CB radio has srown to becolle one of laerica's major communications media. The reasons for CB', success are co.pletely straishtforward: a CBris can be purchased for under $200, and its operation is sillpl1city itself. Sillilarly, if cOllputer mail is iIIplemented so that anyone with a terminal and a pre-paid account can use the systell, the resultant ·CB cOllputer mail· service is likely to spread rapidly and srow far beyond the hobbyiest lIarket. 'In many ways, CB cOllputer mail would be easier to taplement than HAM cOllputer lIail. It could have the size to ,netyork several lIeMUe, !lOlIputers. an.d, so raduc,e telephone charses to users, by lIaking all calls local calls. its size could also allow sillplified billing, say throUSh major credit cards. If CBcOllputer ma1l is to becolle extrallely widespread, it may'have to be illpletlented by the local telephone company, lIuch l1ke dial-a-joke and tille-of-day services. If the costs of oomputer "il fall as low as I believe they will (3,4), the revenues sained by the basic lIessage unit charses will be sufficient to justify the service. Moreover, if services are indeed illplemented by telephone collpanies, resional and national interconnection will be possible and, quite probably, sufficiently lucrative for early developllent. How would the current hobbyiest cOllllUnity sreet CB cQIIPuterllail? My suess is that they will view it with considerable distaste, lIuoh as HAM radio operators have little to do with CB radio. Perhaps hobby cOllputerists will pull back cOllpletely, but I think this would be a srave error. Hobbyiest cOIIputins is passing froll a hardware era, I believe, to a prcsr8lllling era, and it will ultillately enter a service era. Whether the current hobbyiest community follows the mainstre.. or becolles an isolated elite is one of the 1I0St critical issues now facins the community. CB computer lIail could well be the crucible in which the long-term shape of hobby cOllllUnity is proofed and shaped. Conclusions It appears that cOllputer lIail, which developed primarily on the ARPANET, has the potential to form an iIIportant cOllllUnication lIediuII for the cOllputer hobbyiest cOllllUnity. There are BIIple software concepts available for the des18n of hobby cOllputer mail systells, but networking is a .. jor problell area. Hobbyiest cOllputer lIail lIay be restricted to serious hobbyiests, in which case it lIay retia in forever an arcane 118diUII, analosous to HAM radio. On the other hand, if hobbyiest computer lIail can be opened up to casual users, it lIay becOlle ·CB computer lIail· and spread as rapidly as CB radio. References 1. Holuea, JoM,"Collputer Tied Carter, Mondale Campa18ns,· The Washington Star, p. A-3, Nov8llber 21, 1976. 2. Crisman, P~A., ed., The COllpatible Tille-Sharing Systell, A Prosram.er's Guide (2nd Ed.), The MIT Press, Callbridge, Massachusetts, 1965, Section AH.9.05, quoted in Stuart:L. Mathison and Philip M. Walker, COllputers and Telecollll\lnications: Issues in Public Policy, Prentice-Hall, Inc., ~ngelwood Cliffs, New Jersey, 1970. 3. Panko, Raymond R. (Ra3y), The Outlook for Computer 'Message Services: A Prelill1nary AssesSllent, TelecollllUnications Sciences Center, Stanford'Research Institute, Menlo Park, Califol'llia, unpublished draft, March 1976. 4. Panko, Raymond R. (Ra3y), ~The Outlook for Computer Mail," to be p~~~i~ed in the Journal of TelecOllllUnicationa Policy. 5. Caulkins, David, ·A COllputer HobbyiestClub Survijy," Byte,--pp 116-118, Vol. 2, No.1, January 1977. Box 1579, PALO ALTO CA 94302 PAGE 141 FtRST COMPUTER FAIRE PROCEEOINGS BOX1679,PALOALTOCA 94;ID2- -'f».~~~ 142' COMMUNITY MEMORY - A "SOFT" COMPUTER SYSTEM Lee Felsenstein 1807 Delaware St. Berkelev CA 94703 "Whether or not humans will be alive on our planet will probably be resolved by cosmi~ evol- , ution as earl~ as 1985. We don't have to wait until 2025 to find out." -- Buckminster Fuller This discussion is based upon the premise that the trends within western industrial society which lead to greater degrees of interpersonal isolation and fragmentation must ba reversed if the judgment of "cosmic evolution" referred to in the initial statement is to be fav.orable to humanity. The tendencies leading toward the erosion and breakdown of community and toward the centralization of the means of communication ~- the lifeblood of cOmmunity -- must be overcome. This reversal is beginning, slowly and appropriately without centralized direction, in what appears to be an evolutionarily sound manner. So far this movement towards the re-establishment of community has proceeded without a significant technological component. Until very recently this has made sense, since the prevalent technology is organized along hierarchical lines and all design criteria point development towards larger systems in which the human being has become more and more an interchangeable part. Recently, however, discussion has developed of "soft" or "appropriate" technologies, better suited for local, ~centralized control. Tools or systems of this Bort are usually designed on the assumption that a wider range of criteria must be considered than in standard industrial design, and that efficiency in a societal context rather than in an industrial context may dictate a design which seemingly violates industrial rules. The computer has typically symbolized the centralization and mystification which are the antitheses of soft technology. Frighteningly expensive, it was served by ranks of experts who mediated every interaction with it according to mysterious rules.Every quantity and quality in the universe was to be reduced to strings of binary bits and manipulated at the speed of light as invisible charges or fields. The results could not be questioned by a non-expert. This image has suffered severe damage at the hands of personal computer activity. It has been demonstrated that computers will sell as consumer-priced goods, that certification and formal training are not necessary for their use and application, and that involvement with them does not turn one into a tunnel-vision hacker or a mumbler in machine-language mnemonics. The machines do not bite and do not cost money when not turned on. The scale and complexity of computers having been reduced to human levels, they may now enter the new area of Boft technologies. As mentioned previously, wider ranges of design criteria can now be employed to bring about efficient functioning of a system in a societal rather than an industrial context. The movement toward, decentralization and the regeneration of community may now take advantage of program-controlled electronic equipment. ' Orie such "soft" computer system which is currently under development by Loving Grace Cybernetics is, Community Memory, a nonhierarchical, information-exchange system intended as a community information utility. An examination of the design criteria of this system may help further to define the new area of soft computer systems. Unlike other information utilities, Community Memory (hereinafter CM) is not designed to be the primary conduit of information exchange. Rather, it is intended to facilitate information exchange through existing channels, mostly those of a non-broadcast nature. "Broadcast" is here used to describe information exchange on a centralized, replicated basis with little opportunity for reverse flow. Print media, large theatrical performances, and wall posters all qualify as broadcast media. Of the non-broadcast media face-to-face conversation is the primary example, amplified by modern transportation, postal and telephone systems. CM is designed to exchange "pointer information" through the computer system to facilitate nonbroadcast communication through these existing media. Thus the, user need not reduce all of his/her human contact to strings: of ASCII codes. CM is designed to be st.uctured as a network of regional nodes at which the main processors and storage ara lqcatad. Each region serves a number of local in for- mation centers where people may walk in and use the system' directly, without operator intervention. Items may be entered into the public data base using a free-association keywording system in ,l!/l1.ich the machine uncJ;i,tic~lly ,accepts any string of te,.t as a keyword and generatesdictionaries ,referencing ~hat 'item to those keywords. Searching is a 'matter of guessing a keyword used by the person' entering ,the item and calling for it singly or as part of a concatenation of keywords. The machine responds with the number of items found under that keyword and WaitB eitheJ; for an amendment to the keYW0J;d set and II new search or for an order to display in bdef (first line,S only) or in whole the set of items found. theBe transactions take place on a video display teJ:m1nal which is part of the local intelligent teJ:m1nal. Local floppy disc buffer storage, allows quick sorting of intermediate files. " It is important to note that the CM system does not make judgments about the informational content of the items or the keywords, but acts only as a high-speed , filing clerk. The'necessaJ;y systematization is the province of human aSSistants and the good sense, of the person using the machine. The external assistance may be provided in the form of asked-for advice from an'attendant or in' the 'form of access to cross-indexes compiled by "gatekeepers": people who perform such a crosti-1:eferencihg function as a vocation. Designers of industrial-type systems'will object that such a sloppy cross-referencing 'arrangement will inevitably yield a system which does n otmake all the possible correlations and which runs at less than 100 percent effectiveness. This is true, but it sets'the system apart as a soft system which is more capable of capturing the attention and trust of the lay usership:'than one which'is up to the industJ;ial standard. BesIdes.-: a system for which' each encounter is an adventure is more likely'to serve as a "live" information-exchange medium than one in which the user must rearrange his/her world-view to coincide with that'of the system designer. Similarly, the possibility that one user will insert incorrect information into ths system which might result in haJ;m to others is real and does not necessarily yield to a technical solution. In "hard" systems this possibility is impeJ:m1ssible -- the information would have to be passed along a hieJ;archy of checking, verification and correction. In this "soft" system the only response to the possibility can be that some effort can be expended to prevent or minimize such occurrances, but that the system must not be ssen as a fountainhead of validated information. One might as well read the information written on a wall or posted on a bulltein board; the truth or accuracy of the information is to be determined by the recipient. Caveat emptor, in brief. One of the most important aspects of the system is its "myth" -- .the sets of understandings which people hold regarding its nature and use. This myth deserves as much attention as any other aspect of its design. Some better word will have to be found to describe the local information center as which the system will be available, but we don't yet know that word. Certainly it should not include the word "center" since th1s attacks the concept of decentralization., Much work remains to be done in this area. CM will require a set of explicit undeJ;standings regarding its governance and availability -- a constitution, in a sense, including a user's bill of rights. In cases where an operator of a local center is accused of violating these understandings relief muSt be available through arbitration and inspection. Equslity of access for all persons and institutions would obviously be a cardinal principle, for example. Trust in the system would quickly be destroyed if people believed that secret sorts and bulk dumps weJ;e being performed for businesses or government, and the system must be organized to peJ;mit it to resist pressures for such preferential treatment. All of these conSiderations must be incorporated into the design process of this soft system. Since wider goals than industrial design goals are being PUJ;sued, the design process cannot stop at the walls of the machine ' room. Indeed, the process of design itself remains to be designed for these types of tools and systems. It is not through negligence that I have failed so far to raise the question of how the system will pay for its operation. General MotoJ;s is not in the business of making cars, it is in the business of making money. It does not make money in orderto make caJ;S, but the reverse. We are all the poorer fOJ; it in societal terms. We are not designing CM to make money. Its survival and growth must be dependent functions tied to its usefulness to the community. There are plenty of ways in which the system could be run to bring in adequate income for its survival and gJ;owth, especially since processors are an integral FIRST COMPUTER FAIRE PROCEEDINGS part of all it. hardware, and a great many branch, points, could b. made conditional upon the deposition of a nickle ill the alot. , Sillc. one of the most important vehicles of co_unity Irowth is small-scale localized ecollomic activity, and .illce the primary purpose of CM is the d.velopment of COIIIIIUI1ity, it is fitting that its growth be closely related to this activity which is the very symptom of its succ•••• In caees wh.re the necessary economic activity does 1I0t take place at the level at which people feel ~U8tified in payinl a bit of their cash flow for the system s continuation and growth, then the system should not be, artificially be kept afloat., 111e design of any soft system must allow 'for a healthy amount of failure. CK will be structured so that the distinction between "fun" and "serious" uses will be as small as possible. To use the phrase of Ivan IUich. it will be a "convivial" system. 111e information centers will be amalgsms of branch,libraries. game arcades. coffee houses. city parks and post offices. Unused terminal capacity will be made available for laming or simulations. Amateur electronics or computer enthUsiasts will be encouraged to learn first hand about the innards of the equipment and the software. 111is should result in a much shorter meen-time-to-repair than would be the case if access to the insides of the system were restricted to "qualified service personnel". Community information utilities are moving very slowly if at all, a symptom of, their industrial, "hard" design. "Some designers and theorists throw, up 'their hands and declare that "the public is not ready" for such systems. A soft aystem design such as Community Memory may well prove that previous desilna were not ready for the public. I will end by returning to the last paragraphs of the discu•• ion by Buckminater Fuller (published in the Spring 1975 CoEvolution Quarterly) from which I obtained the opening atatem.nt. Fuller was responding to a newspaper's question of what the world would be like in 2025; "Whether humanity will pass its final exams for such a future is dependent on you and me, not somebody we elect or who elects themselves to represent us. We will have to make each decision both tiny and great with critical .elf-examination - "Ie this truly for the many or just for me?" If the latter prevails it will soon be "curtains" for us all. "We are in for the greateat revolution in history. If it's to pull the top down and it's bloody. all lose. If it is a design science revolution to elevate the bottom and all others as well to unprecedented new heights, all will live to dare spontaneously to speak and live and love the truth, strange th ough it may seem." Lee Felsenatein Loving Grace Cybernetics 1807 Delaware St. Berkeley CA 94703 BOX 1579, PALO ALTO CA 94302 PAGE 143' FIRST COMPUTER FAIRE PROCEEDINGS BOX 1679, PALO ALTO CA A4302 PAGE 144 DESIGN CONSIDERAnONS FOR A HOBBYIST COMPUTER NETWORK David Caulkins Cable Data 101 Walch Road Palo Alto CA 94304 Introduction This paper is divided into two sections. 1) A brief tutorial on computer networks; and 2) A discussion of possible designs for Personal Computer Networks (PCNETs - a term coined by Einar Stefferud). Computer Networks - The 2S¢ Lecture History. The research that.!II8de computer networks possible was done The first computer network of any consequence was the ARPANET, brought from the concept stage to operation largely through the efforts of Larry Roberts (then head of the information processing section of ARPA) in the late sixties and e~rly seventies. One of ARPANET's most valuable facilities is the message service - the ability to send a message (generally a file of English text, although almost any file can be sent) from one "mailbox" in a network computer to another such "mailbox" in a different computer. This doesn't sound very dramatic, but it is surprising how powerful and efficiency-improving such a message exchange facility is. What keeps ordinary message services, such as telephone, telegraph and mail, from working as well seems to be a combination of factors. too slow (mail); often hard to catch someone in the office and/or pierce the screenS of secretaries (phone); hard or time consuming to use (mail,telegrams); lack of a positive indication of message delivery (mai1,te1egrams); expensive in terms of characters per dollar (telegrams,phone); etc. A computer based message system overcomes most of these difficulties. People regularly using such a system rapidly develop a whole new communication style. Most messages are brief - 500 characters or less. Message text is composed by the sender at his terminal without the filtering and delay of secretarial intermediates, and style tends to be· much more informal and direct than conventional media, such as business letters. Message system users move rapidly toward a computer-based personally oriented file system containing messages, distribution lists, text files, etc. The difference is one of kind, not just of degree. by PaulBa~an· at ~~d· in the early sixties [1]. Details of Network Function. Figure 1 is a diagram of a network with a connectivity of 3. There are 16 nodes (A-Q) and 26 links (1-26). Suppose the network uses dial-up· phone links, and that node C sends a single packet (of a format like Figure 2) message to node P. C uses a routing algorithm to select one of its neighbor nodes (F,G and D) - G is picked as being on the most.direct route from C to P. C initiates a phone call to G and transmits the packet. When G has successfully tested the packet for correctness (by means of the error detecting Cyclic Redundancy Code) it returns a short "I-got-it-OK" (or node-to-node ACK) packet to C. I f C and G have no further packets for each other, the phone call is terminated and G initiates a phone call to M. When M has successfully received the packet it returns an ACK packet to G. G can·now use the buffer space occupied by·the.message packet passed to M for new packets. After all G-:-M traffic is disposed of, the.G-to-M call is terminated and M initiates a call to P. Since P is the destination, it originates two -ACK packets - the usual node-to-node ACK to M, and an end-to-end ACK addressed to C. When C receives this ACK it knows the message made it all the way to P. If a transmitting node fails· to receive an ACK, it retransmits the packet. In this way, messages passing through the net can be made to have an error rate substantially lower than that of the links themselves. Figure 3 shows the network of Figure 1 with 1 nodes (A,B, E,G,H,M and N) out of service. Messages can still flow from C to P by either of two paths. Thus, even networks of low connectivity (3) can function in the absence of many nodes. 16 Operation. Some definitions will be useful in discussing networks: Circuit Switched Network - A network in which a direct circuit connection is set up between communicating nodes. Connectivity - The number of links terminating at a particular node. Demand Access - Allocation of transmission bandwidth on demand. Distributed Computer Network - A collection of geographically distributed and autonomous computers sharing common transmission and switching media. Hop - Transmission of a packet from one network node to the next. Lin~ - The communication channel between two adjacent nodes. Node -. A computer system capable of receiving, testing, storing a~ transmitting packets using one or more links to other nodes. Packet - A short block of data used to carry information through a distributed computer network. Packets typically contain three kinds of information. the data or message to be transmitted; addressing and control information; and data integrity checking codes. Packet Switched Network - A network in which packets are routed • from the originating node through intermediate nodes to the destination node. , Protocols - Sets of conventions (formats, control procedures) which facilitate all levels of intercomputer communication. Includes electrical interface conventions, line control procedures, digital communication network interfaces, inter-process communication conventions, and application level (e.g. file·transfer, database retrieval, etc.) standards". (Many of these definitions are derived from· a list developed by Vint: Cert: {2].) i4 Connectivity 3 Computer Network Figure 1 Bytes 100 - 500 {16 MESSAGE POSSIB~E Figure 2 HOBBYIST PACKET FORMAT I s} CRC I FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 145 1) The network to be composed of geographically distributed nodes, each consisting of a personal computer equipped with low cost network int.erface o o hardware and a standard Network Support Software (NSS) package. o 2) The network to provide modest size message or file transfer between any two active network nodes. 3) Low or zero cost inter-node communications. 4) The network to be distributed; no requirement for computational, storage or control resources external to the nodes. 5) Reasonable network reliability even though operating with noisy communication channels and with a fraction of network nodes lIout of service. 1I Positive acknowledgement to the message originator upon successful transmission. 6) Network architecture and protocols designed to allow expansion of capabilities without step change requirements in node hardware. o 7) Network designed for automatic operation to take advantage of higher probable availability of node hardware and communication link bandwidth during late night and early morning hours. If I had to boil all seven down into one it would be: The network must be cheap and reliable. 19 o o~----------~o Reduced Network Figure 3 . 2 PCNETs could also be implemented using radio links. A ---1.0)----'0,----0--- similar system has been in operation for some time. The ALOHA packet radio demand access system was built at the University of Hawaii by Norm Abramson, Frank Kuo and others. It is a time sharing system in which communication between many terminals and a central computer is carried out on two radio frequencies; one for terminal-to-computer communication and the second 'for computer-to-terminal communication. Terminal-to-computer communication is carried on in a novel way - any terminal with a new packet ready simply tran'smits it. When this packet is received by the central computer and checked for correctness, an acknowledgement (ACK) packet is sent back to the originating terminal. If two terminals happen to transmit packets during the same time interval, the packets "collide;" neither packet 4 will be correctly received and no ACK packets will be sent. In this case each terminal waits for a randomly selected period of time and retransmits the packet for which no ACK was received. The random periods are important; if both terminals waited the same period, the retransmitted packets would again collide. Mathematical analysis shows that this scheme allows up to 18\ full utilization of channel capacity before packet collisions become too frequent for reasonable channel use. Performance can be improved (if the electromagnetic propagation time between sender and receiver is a small fraction of the packet transmission time) in several ways; two seem particularly applicable to PCNET: 1) Slotting. All nodes maintain a clock indicating the start of each packet interval. Packet transmission is started only at the beginning of each interval. This means packets will either overlap completely or not at all. Slotti~g increases channel utilization to about 37\. 2) Carrier sense. A node with a packet ready to transmit looks to see if carrier is present on the channel; if so the node waits and tries again later. For more background on computer networks'and packet radio, see references 2 through 13. Personal Computer Networks Why should a personal computer network be built? Several reasons come to mind: 1) It should be fun. 2) It is socially desirable; by providng personal computer users the means to gossip, exchange software, participate in message based conferences, create community information exchanges, etc., the American penchant for communications can be used to maintain and perhaps even accelerate the growth of personal computer use. This can result in a significant fraction of the U.s. population becoming "computer literate. 1I I think there are a number of attributes a personal computer network should have (caveat: there seem to be as many views of what a personal computer network should be as there are people interested in the subject - for example, see [14] so the following list is not meant to imply consensus). Network Connectivity Figure 4 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 146 . Design Elements radio frequencies used, a control path is provided for sensing In my view the PCNET will have three major design elements: the presence of received carrier. The radio receiver and transmitter complete the set of equipment required. These the node hardware, the node software, and the inter-node comcould operate in the UHF band (for purposes of comparison, the munication links. Let me consider each in turn. ALOHANET uses frequencies close to 400 MHz). The transmitter Node Hardware: should be able to provide a good signal level at the receiver A possible node hardware block diagram is shown in Figure 5.of a neighbor node 10 to 25 miles away, using a simple omnidirectional antenna. CB equipment with this kind of performance It consists of a processor (8080 or equivalent capabilities) is available today for less than $200. It is not unreasonable with memory space for the NSS and message buffers, off-line to hope that simpler (single frequency) transceivers. for Packet storage for messages whose destination is this node, full radio might cost about $500, even though initial production duplex serial interface, and some signals for communication runs would be much smaller than those for .the CB market. link control. The node of Figure 5 is intended for use with dial-up telephone system links. The MODEM translates between digital signals and FSK tones for voice phone line data Packet transmission. It should be capable of operation in both NODE COMPUTER originate (initiating Calls to other nodes) and answer (accepting calls from other nodes) modes. The ring detector -Processing signals the node computer that ringing from an incoming call lJo 8080 has occurred. The off-hook control allows the computer to -Full Duplex take the phone "off the hook," terminating the ringing and Serial X Face opening the line for the incoming data. For out-going data -Memory the computer sets the MODEM to "originate," takes the phone - -Message ",4KB of~.hpo~before dialing, and the dialer translates computer Buffer Space s{gnals into touch-tone or dial-click dialing signals. After Carrier --Network dialing is complete the computer waits until the ring detector Detect Support ""4KB shows that ringing has started and stopped at the dialed phone, Software indicating that the target node has gone off-hook. The -Offline Storage computer then checks for the proper "hand shake" of FSK s·ignals, indicating that the two MODEMs are successfully communicating. The whole process (from off-hook to end of "hand shake") should take only a few tenths of a second. If no ring signal is Node Hardware B·lock Diagram detected or if correct MODEM communication is not established, (packet radio system) the computer goes "on-hook" (hangs up) and tries again. The Figure 6 number of re-tries before another neighbor node is picked is one of several network parameters to be "tuned" for optimum performance. DIAL-UP PHONE SYSTEM MODEM NODE COMPUTER "Processing ~8080 -Full Duplex Serial X Face -Memory ..... --Message "'4KB Buffer Space --Network Support ~4KB Software -Offline Storage 1---->,.1 RING DETECTOR DIALLER OFF-HOOK CONTROL VOICE/DATA SHARING Inter-Node Communication Links: Three inter-node media seem to me to have possible uSe in a PCNET. 1) The dial-up phone system. Even in a simple point-topoint PCNET over long distances message costs would be low. During the late night 60% discount period coast-to-coast (Bay Area to New York City, for example) rates are 21¢ for the first minute and 16¢ for each additional minute. At 30 characters per second a typical message of 500 characters would cost only 6¢; less if it were combined with other messages so the average cost were closer to 16¢ per minute. A regional PCNET (where a region comprises an urban area of 10,000 square miles or less with contiguous local call areas of about 10 mile diameter throughout the 10,000 square miles) can be built using store-and-forward techniques. Each node has a number (3-6) of neighbor nodes within its local call area. Figure 7 shows the Southern California region with a network of 40 nodes (connectivity 3; 10 mile links) superimposed on it. Messages could travel from OXnard to San Diego in about 18 local-call hops. . 2) Radio links. ALOHA and other packet radio system (references 8-13) experience proves the practicality of packet radio. A packet radio PCNET would benefit from increased,link bandwidth and freedom from dependence on the telephone system. This seems to me an area where radio amateurs have an Node Hardware Block Diagram (dial-up phone system) Figure 5 interesting opportunity, becaus~ commericallyavailable radio equipment is expensive and not well suited to this application. There are also spectrum space difficulties, discussed in more detail below. 3) Satellite links. This is clearly a more remote The last unit of the phone based node interface hardware possibility than the other two. There are promising developis the voice/data sharing (VOS) box. Since most PCNET nodes ments; the radio amateurs plan to orbit a synchronous satellite wilr"have only one dial-up phone line, the VOS provides means in about two years. Ground station costs are dropping conto share the phone line between normal voice activity and tinuously and might well be within reach of personal computer PCNET operation, with voice calls being given priority. Direct enthusiasts within the same time frame. plug connection of the MODEM and other devices to the phone Software; line simplifies design and lowers cost. Such connection is possible in California and New York without a phone company The PCNET Network Support Software (NSS) would implement supplied Data Access Arrangement if the devices .to be connected the network protocols. It is premature (to say the least) to have been certified by a licensed electrical engineer. describe the NSS in any detail before the protocols are An alternate node design for a PCNET using packet radio specified. 'Some general comments may be made; the NSS must links is shown in Figure 6. The processor is the same; only be a standard, carefully debugged and tested, "bullet-proof", the interface hardware changes. piece of code. A person wishing to use his system as a PCNET The MODEM is designed to operate at the higher' da.ta rates node would receive his copy of theNSS from some form of PCNET possible on a radio link - ALOHA system experience indicates Control Center; with the correct node interface equipment the that 9600 baud is not unreasonable. In order to implement carrier detect schemes for optimizing demand access to the NSS could be bootstrap loaded'from a nearby active PCNET node. Some NSS functions seem to be required for almost any set FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 147 of protocols: o Routing - selection of the optimum neighbor node for mess~ge transmission. o Check code generation and checking. o ACK packet generation. o Store-and-forward packet buffer management. o Link interface control. Regulatory Issues My background is in computer system design; my knowledge of the legal and political areas of communication system control by the Federal Communications Commission (FCC) and State Public "~~~~ Utilities Commission (PUC) is that of a layman and is very limited. With this caveat, let me offer a few thoughts on these matters. ,ji il II 1 II \ 40 Nodes Connectivity '= 3 Each Link';! 10 miles ";') I~ , "..... '1 ' ~ '-x 1 ... ' ,.. ~-.'"-'--~ji OXNARD /~ -I \~ Regional Network Figure 7 "j "~Il, \~ i i SAN~. DIE1 Operation of a dial-up phone based PCNET at night and on weekends when the phone system is essentially idle would have almost no impact on phone system use statistics and in consequence should attract minimal attention, regulatory or otherwise. Such a PCNET should be carefully defined as not-forprofit and recreational; any other type of service would almost certainly fall under PUC or FCC jurisdiction. It is probably a mistake to design a PCNETcritically dependent on phone company tariff loopholes like unlimited free calls within a local call area. Such tariffs are baseq on voice call statistics; any change in statistics reflecting increased data traffic should and would cause the phone company to change the tariff. More advanced PCNETs using packet radio or satellite links would require FCC allocation of operating frequencies. Negotiations for such allocations typically take large quantities of time, money and lawyers. I hope that someone more knowledgeable than myself is able to give these issues the attention they deserve. Conclusions Creation of a not-for-profit personal computer network appear.s feasible today. Figure 8 shows the geographical distribution of computer hobbyists as of January 1977. The big circles labeled (1) indicate large concentrations of hobbyists; the smaller circles labeled (2) indicate smaller concentrations of hobbyists; and (3) indicates a state with some hobbyist activity. The New York/New Jersey, Los Angeles and San Francisco Bay areas look like good candidates for regional networks. Figure 9 shows what might ~ the next step; linking the (1) and (2) hobbyist. concentrations into a national PCNET. Figure 10 shows the ARPANET as it was in August of 1976; the four boxes indicate high concentrations of host computers, interface message processors (IMPs) and terminal IMPs (TIPs). Not surprisingly, three of the four boxes coincide with the (1) concentrations of Figure 8. References [1] Baran, P. "On Distributed Communications Networks,· First Congress of the Information Systems Sciences, November 1962. IEEE Transactions On Communication Systems, Vol. C 6-12, Issue 1, March 1964, pp. 1-9. [2] Cerf, V.G. "Research Topics In Computer Communication," in Computers and Communications, Proceedings of the Federal Communications Commission Planning Conference, November 1976, AFIPS Press. [3] Crowther, Heart, McKenzie, et aL SWitching. Network Design." * "Issues In Packet [4] Frisch, I.T. and Frank, H. "Computer Communications, _ How We Got Where We Are." * FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 [5] Gerla, M. and Eckl, J. "Moving Bits By Air, Land and Sea - Carriers, Vans And Packets." * [6] Lam, 5.5. and Kleinrock, L. "Dynamic Control Schemes For A Packet Switched Multi-Access Broadcast Channel." * [7] Retz, D.L. "Operating System Design Considerations For The Packet-Switching Environment. * 11 [8] Binder, Abramson, Kuo, et al. -: A Retrospective." * lIALOHA Packet Broadcasting [9] Fralick, S.C. and Garrett, J.C. "Technological Considerations For Packet Radio Networks. 1I * [10] Kahn, R.. E. "The Organization of Compute~ Resources Into A Packet Radio Network." * [11] Kleinrock, L. and Tobagi, F. "Random Access Techniques For Data Transmission Over Packet-Switched Radio Channels." * [12] Frank, H., Gitman,I. and van Slyke, R. System - Network Considerations .. " [13] Fralick, Brandin, et al. Broadcasting." * "Packet Radio * "Digital Terminals For Packet [14] Wilber, M. "A Network of Community Information Exchanges: Issues And Problems," San Francisco Computer Faire Proceedings, April 1977. * From the National Computer Conference, May 1975, Vol. 44. Biographical Note - Dave Caulkins Dave Caulkins has worked on computers for longer than he cares to remember, with one short digression into the biofeedback business. He is currently involved with electronic mail systems at Cabledata Associates. In the past he has worked on a number of distributed computer systems, including the ARPANET, a microprocessor based satellite system for the military, and a large office automation system. PAGE 148 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 149 A NETWORK OF COMMUNITY INFORMATION EXCHANGES ISSUES AND PROBLEMS Mik.Wilbur 920 Dennis Drive Palo Alto CA 94303 At>5tra~t This paPer describeS a teleco~mun1cation network Or1ented specificallY to_ard personal ~omputer uSels. The e~phasls IS on technicdl aSPects of the network, tne paper also briefly discusses the motlvatino co~s1detatlons and some economic, social and legal aspects of su~h a net. FE_" THiS PAPFM it you"re interested In cOming to the conference session devoted to it. I th1nk I Would be ~isuSlnq the conferenCe sess10n by presenting this same material aga1n bUt vocally, and So I Inten1 to use th1s mater1al as background for the discussion In the conference SeSsion. 1"11 Spend the first few minutes reviewing the salient point', but I ~on"t read the whole paper to you. Preface J offer yOU tnjs Paper in the hope that You can Profit by mi experience with computer communicat10n and my thouontb on hOw we coula brlng Some of 1ts faCilities into the world ot perSOnal computers. The motlvatln? l~eas were the subject of my Byte article and are brletly summarized here. GOOd Communl~ation can tacilltate tree prOqram Sharing, al10wlno a community at ~sers to build on the work Of an authOr and then become authors themselves. ~oOd co~~unlcation can also let a product"S prOSpective buyerS profit by the experience of tne product"s former buyers. If the ~ommunlcatlon tacllitles are decentrallzed, then 1t IS nard for a Imall grouP ot ceople to control what is said or how 1t is presented. lhat"s ~hat this .paper Is about: Settino UP SUCh a facility that is speCifically Oriented tow~rd a .ide and diverse commUn1ty of PerSonal c~mputeI users. Ut course, In the late seventieS, it oould be a waste of effort to ignore the experiencf 01 the ARPA net; hOWeVer, it WOUld alSO ~e a waste ot effort to SlaviShly Copy the ARPA net, because that net is prediCated on some alsumptlors th~t iust don"t apply to the Personal com~unity. A large portion of thiS paper is devoted to an effort to separate tne applicable parts of the ApPA net experience trom the 1nappllcable parts. On With it. I. IntrOdUction Fersonal co~puters tend to have onlY modest amounts of PloCeSSlno po~er. In response, varioUS PeOPle have opened time sharing serv1ces oriented to.ard perSchal COmputer users. Traditionally, these time sh~rlnu houses have offered strictly computatinnal services, sucn as games, cross Comptlers ari microProcessor sl~ulatlon Proqrams. Add1tionally, thoUqh, these COncerns could otter a CI~ss Of services ~hlch ~e ~ould call a "eom~unity 'ntorm~tion ~xchanoe·, a computeriZed vers10n Of bulletin hOards, yelloN pages and mailboxeS. (The n,me waS I~spired bY ~Ichael Rossmanl most of the Ideas cone from the ~esource One system described by ColStad anJ LiP~in.) Note th~t the Com~unlty information lkch~n;e COUld be out one Of many SerVic-es o.t"led bY tne tl",e Sharinq nouse. In taet, a S~dll Ll~ CoUld be run in such a Way that the h~st time sharin~ house dOeSn"t eVen"S~5pect Its Presence. '~dl is, One cO~ld .set ~P a CI~ With only a s~~ll lroup Of users and de~onstrate its feasibllltv netor. attempting to enlist the support Of the peo~le runnln~ tne host. The ld~~ ot Inter~st nere 15 an outgrowth of the Dasic notion at ~ CI~: since the perSOnal comPuter community is wideli d1spersed geOgraPhiCally, It can greatlY Denet1t from a dispersed CommUnication tacilitv. The mailbOx aspect at the CIE idea" can be expande~ to inclUde the not10n Of moVing messages from one CIF to another. In fact, CIE"S can be 11 nk ed toqetner In a network to move a meSSage frOm the source elL through several 1ntermediate CIE"s Until It tinall~ reaches the desired destination elE. that"S an expensiVe proposition: phone lines cost money, and it ~ould be foollsn to have them continuously open to serve a load consisting Of perhaps 20,000 messages per day with a total length Of maybe ~,OOU Pages. However, there is an alternative that Could fill the bill at a mUCh lower Cost without degrading the performance 50 mUCh as to make 1t useless. lhat 1s, eaCh CI~ could hOld its traffiC until late at nignt when the phOne ratel drop and then call a few hearbY eIE"s. During a Call betweeO eIL"s, each could" determine Which trafftc is aolng in the general direction of the Other, and tnen they COUld forward the appropr1ate meSSages. ] f the callS at the network periPhery took place 1ust atter tne rates drop and again just betore thev rlse and the calls near the center at the net tOoK place tOMard the center of the time Of low rates, messages could propagate across the coUntry over~lQ~t. There are ~anY PoSsible waYs one could 1mplement a ell net. They all have their advantage~ and d1sadvantaQeS with respect to one another. Of all the cOnc~lvable tmplementatlons, this paper ~onsiderS those that are Cheap, easy, lec;lal, tun, and UsefUl to the eXclusion ot all others. (ACrOnym addicts might wish to c~ll tnese tne e~LFU cr1terla.) I think (and sincerely hope) that there Is at least one of toose implementat10ns. Tne Problem 1s to flna it. 1 haven"t found it yet, so this paper 1s inStead a suromary at what love foUnd out about tlndlnCl i t . 2. 2.1. F1aCi(qround A User"S Vie~ Ot the ARPA Net The ~RPA net connects computers together, and all communication over the ARPA net Is Ultimately communic-ation bet.een programs. the mast UsefUl of thOSe pr09raOlS, hOWeVer, 1s one ",hose pOtential was Qu1te Unsus~ected at the time the net was constlucted: it sendS messages of a fe~ hundred words from one person to another. that program has SpaWned a tantastlc Variety of proorams to handle files of messages, to automat1cally notifY the recipient Of a messaQe" to read the sender, tOPic and other reCipients from a message neader and autOmatiCallY construct a response, and to autOmatiCallY forward messages from One computer to another as a person rooves around. That IS a meaSure Of the Iffiportant role tne program Plays in connecting peOPle to peoole. The facjlity has evolved into a verY useful form over the years. A modern message sender will alternativelY acceot text tro~ the Teletype, from a file (or any comblnatiOn) or, on command, fire up a text editor an th~ meSSage gathered so far. A modern messa~e file handllnq program will select1velY print Out entire messageS or one-line SummarieS Of messaoe headers; it Will also, on Command, Call the mess~ge-sendin~ progra~, perhaps Initiallzino it to tOrw~rd or respond to tne message most recentlY e~aminej. rinallY, d mOdern top-level command intrrrreter NIL1, on your option, Qive a Short warnjllg le.g., (you tlave new mail)) after ObeYing aco~~and if it"s true and fiVe minutes have elapsed Since tne last ~arnlng. Tne total effeCt Is that peOPle ~now .hen their messages drr1ve and can FIRST COMPUTER FAIRE PROCEEDINGS reSPond in a ~dtter BOX 1579, PALO ALTO CA 94302 Of minutes. The AKPA ~et provides another facility that Is a1&o quite useful: it can transfer whole tiles f!..om one computer to anotner. fhe tYPical waY rePorts and ot~et lang documents get sent through the ARPA net is that the authOr N111 use the mail .facilities to tell people .nere the file can De found and Why it might be at interest. Then anY interested Parties ~et COPieS of the tile at their leiSure. Of course. the file copYing facility also Narks for Programs and is almost always the vehicle by whiCh Programs are shared among people attaChed to the AJIPA net. While the ARPA net provides many other facilities. these two are the most usefUl. They WOUld alSo be verY USeful tacilities to have In a netWork oriented to personal computer peOple. FortunatelY, they wOUld De the easiest to dUplicate in a way t~at .ould be cheap enough to ~ake them accessible to indiViduals. 2.2. A Comparison Nlth the AKPA Net A qreat deal of effort went into the AKPA net and Ne need to discern whiCh of its aspects _aUld be usetul to a Cl~ net and whiCh would not. develop~ent. The ARPA net .as built to serve a commUnity of Perhaps ten thousan~ people. Of whom maybe a thOUsand WOuld be aetlve users. About 110 computers are noW connected to the net. alo~g With 25 ComputerS oriented SpeCificallY tONard terminals, they were located tn about 70 dlfterent places. In all, the net NarK has 57 I~P's (cOnnection points) PlUS t~o sdteillt. linkS. The addr.ss space orlgln~llv 8l10wed tor as ~any as b4 IMP's, eaCh SerVing UP to 4 computers, tor a total of 256 computers. «(h. restriction has since been lifted.) ~y contraSt. a Ct~ net should probablY alloW for more CIE"S' perhaPs 16 bits could be uSed for· the address. Tnen the location CoUld be cOded into the .ore sianiflcant bits In such a way that onlY the htghest· DttS ot a distant address need be interpr.ted to diSCOVer the general dIrection in WhiCh to ,ena a ~.ssage. Then, as a message appr08ched its destination. more bits Could be interpreted 8S e net, the way tWo Processes In the case Of a CIt net, one Should at least separate the protOCOlS between neighboring CIE's from the protocols between the source and destlnatiOIl ot a wessage. The interactions between a CIE and its SUbSCriber should De left COmpletely out of the deSign Of a CIE net: each CIE Will be hosted by a computer system that was cno.en for econowic or logistic reasons and will have Its own Idiosyncrasies that should be aCCOmOdated at the option ot its SUbScribers. Between CIE's, however, ProtocolS should be speCified that allOW room for reaSonable a-mounts ot var iat Ion. ~'or eXample, there must be a protocol describing hON characters are handled: it shoula allOW for eaCh CIE to treat the Other as a half-dUplex terminal or a f~ll-duplex terminal with a person at it and snould prOVide for acknowlpdge~ent or retransmission Of each line Of Characters. At the next level up, there Snould be a Protocol specityih~ the format ot meSsages between CIE's: sUch [essageS may be concerned With th~ connection itself le.g., 1 have SOme traffiC for You, can You take It?). or they may represent meSSages going Det~een CIE'S (e.~., Here is a meSSage frOm CJE mumole to Cl~ foooaz.). ~ach level Of protOCOl speCifies control information (e.g., I qot line &9 UK; ~end me another one.t and a data field (e.g., the line of characters): the next level up talks about the fOrmat Of the data field. Th-lS kinj Of mOdUlarHY is terribly helPtulWhen a diverse grOUP ot people are trYing to build a Sy&-tem- they tful definition Of Ideas. It alSO forces explicit definition ot the Inter~ctionl bet1lieen thp levels ana the requirement.' and guarantees that gO along with them. FinallY, and perhaps most importantlY, it restricts the range o~ PoSSible interactiOnS In a ~ay that focuses attention in more worth~hile directions. The Cll protOCOlS shOUld be rigorOuSlY definedj and the o~flnitlonS Should be taken seriously. There ~houl~ be some facility bY which-someDOdY 'can test a pUrported protocol and eas1ly discover -any. of the more ohvious bugs in It. The danger in Undetected DUgS may be worse in a CIE net than in Other enVironments Pecause t~o effects may well Coincide. firs·t, there will probably be a small number of wi1ely usea protocol implementations In the net; peDPle ~IIl be more likelf to use someone else's Implp~pntatlon than to write on~ ot their Own. It one Of the popular implementations contairis an undetpcted bUg, then many people can be' inconv.enienced ~hen some other pOpUlar program SUPPlies it the .inputs i t needs to miSbehave. Un the ot~pr hand, it informality characterizes the CI~ net las it rrot'1:bly "ould), the.n the buggY program's auth~r may well not be available to fix it. AIS0# the posslblp rise Of mutually unintelliqlole local dialects would be a great inconvenience to peopie WhO want t,o , especially in groups, is very different from studying technical material on your own. I hope I can encourage those of you who hesitate to share your hobby with the kids by giving you enough pointers on teaching to get you going. For you who have already started to demonstrate your systems to children's groups, I hope you can use some of my ideas to make your presentations more successful for both you and the kids. How to Contact a School or Kids' Group The most difficult thing about finding groups to talk to is that it involves several "cold" telephone calls to strangers at strange institutions. Host adults find the world of schools and children's organizations very remote from their present day experience. Even seasoned parents are often intimidated by these institutions. Just finding a local school to contact can be a frustrating chore. Try the phone book under Mycity Schools in the white pages for a start. If you are directed to look under the name of the individual school, don't give up most cities have a Mycity High and the nice lady in the office there can give you the names of the other high, Jr. high, and elementary schools in your vicinity. Explain to that lady that you have a presentation on computers and you would like to contact the President of the P.T.A., as well as the math, science, electronics, business, and vocational education departments to see if any of their teachers would be interested in inviting you to talk to their classes. Assure her that you are a public spirited citizen with PAGE 156 nothing to sell. You just want to share your fascinating hobby with the kids and teachers. If possible, get the names and numbers of all these individuals and try to contact them by , phone. Teachers may not be able to take a call during school hours so be prepared to leave word for them to call you back between 2:30 and 3:30pm. When you reach the teacher or P.T.A Mom, tell them without ONE WORD OF COMPUTER JARGON that you have built your own small computer and you would like to bring it to school to show the kids. Briefly describe your presentation ( we"ll talk about that in a few minutes ) and when they sound confused say that it will make more sense when they see it. If the person is hesitant about turning you loose on their kids. it helps to offer a pre-session for the faculty or parents. This will also payoff because you can then keep the grownups from hogging the terminal during the kids' presentation. (An intriguing computer game can make the most conscientious teacher fo~et his role!) Finally, set up a date and time. Be sure to get exact directions to the classroom you will be visiting including access from parking lot and number of stairs to be negotiated. Also warn the teacher of your needs for tables and electrical outlets. My class presentations are always short, and, from a hobbyists point of view, totally without real details on computer hardware or programming. No matter how simple or entertaining you try to l)e some kids will get bored. Forty-five minutes is about as long as you can ask a class to sit down and pay attention. Fifteen minutes of talk with unlimited hands-on is usually very successful. If at all possible, arrange with the teacher to move your system to an unused room after your formal presentation. The hall, the nurse's room, or the principal's office might be availa')le. Tqere you can entertain the enthusiastic kids sent to you by the teacher in groups of three or four without the hecklers who were bored earlier. If you are a beginner at working with kids you don't need to try to learn to control a class of thirtyfive active children right away! Try to leave yourself plenty of time after your presentation just in case someone gets really hooked right away and wants to stay after school. ~e sure they call home for permission to stay if you don't want their parents to oppose their new interest from the start. Also it's nice to reserve some'faculty time without kids around so that the teachers may let their ignorance show without blowing their image in front of their students. That will happen soon enough anyway_ Other children's groups are similar to schools. Try 30y and Girl Scouts, the YM/WCA Hycit)' recreation department, Teen Clubs, Ham radio clubs, etc. It may take some perseverance to locate the names of the leaders of these groups but ask your friends and neighbors. When you contact the schools ask about what special interest clubs there are on campus. Also, ask to be put on the speakers list for each school. When the other teachers hear what a hit you are they will want to invite you to their classes too! Composition and Character of Various Groups What you can present to any given group of children is very much a factor of who the people in the group are. I would like to refer to groups of kids by approximate age but that can be very misleading. An eight year olds' Model Rocket Club may follow you into the rudiments of assembly language programming in an hour and a half. A high school class called Introduction to Business Hachines, on the other hand, can be bewildered each time they must push the carriage return. Therefore, please consider my references to age groups as developmental stages and remember that physically adult., bodies often hold minds with five year old skills when it comes to computing. Also, don't expect most groups to be preselected on the basis of interest in computers. After FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 157 they play dumb. The rest are 1ikelr to appreciate it 1f you start at their level and et them proceed at their own pace. Don't judge them by your own high standards. High ·schools are already full of coaputer freaks waiting to be discovered and welcomed into the fold of computer hobbyists. If you Let's take a look at kids by age groups tap into one of these goldm1.Ms in a math or starting with the youngest, five and six year olds. electronics class you can really go to toWn. ( .Kids younger than five love computers too but show them every hell and whistle 'your systemthey are awfully difficult to work with in groups.) can muster. These kids ~.n.ll stay up all night Most fives can count to ten but are hazy on trying to figure out what you said. Let them know that you are willing to teach them what you what "greater than " and "less than " mean • They can probaoly type their names, very slowly. know and you can count on them to show you how. Don't expect them to be able to read. Fives Non-computer highschoolers can be viewed either like noise and pictures. joy sticks (1) and as younger kids or as adults depending on their turtles (2). They often come up with original social maturity. Remember, they deserve just interpretations of yOur instructions and it may as much care as the ten year olds even though be difficult to disuade them from eXperimentation. you may not find them as rewarding to work with. In other words, if there is an exposed switch on I usually have my little kiddie I1IIJ.teria1 your system. they'll push it. They will not be available when approaching adults. ~lts think very good at watching other kids ~ut if you have they ought to know something about c~ters but prepared some tasks which are truly at their most often their knowledge is filled with gaps level they may demand a thirty minute turn each. and misconceptions. On top of this, adults are In short. five year olds bare a strong resembloften just plain afraid of machines; If you tell ence to several computer hobbyists of my acquaintance. them you are going to start with your kindergarten I have found that chaos can be avoided by presentation they will probably giggle about asking the teacher to start some favorite activity what a good idea that is and relax a little. on the other side of the room after you have let Later they will come up with thoughtful questions everyone see the inside of the computer and printa?out real world applications of systems like ed a Hunny. The teacher can then send you kids yours and their effect on economic and social two at a time. Let each one play one short conditions. game and write one sto~. Take the names of The reason I dwell on the characteristics of those who don't want to stop and let thea come the children you are likely to ?e working with is to the nurse's room later for another. longer that I believe they are all potentially intelligent tum. and enthusiastic people. My negative descriptions Seven. eight. and nine year olds ( 2nd and reflect only their degree of "turned-offness" 3rd grades ) are into reading short texts and not their mental capacity. Recause "computers " can handle four function arithmatic using whole is a new field in which most of us are beginners numbers. Occasionally I am appalled at their every kid has a chance to grow and explore within total lack of logical ability. This has nothing it. You ~y turn someone on with a presentation to do with the intelligence of the children themaimed at his personal interests. You may serve selves. Rather it reflects whether or not thinking as a model of the kind of person he or she would is considered a valuable skill in their school like to become. In this field everyone is a or home environment. You may be the first person little bit stupid so no one needs to feel stupid. who has ever suggested that these children reason for themselves. Of course. you may find you Material I have found Appropriate to each Grgup have stumbled onto a lively group you are hardpressed to keep up with. The specific. content of your presentation Ten. eleven. and twelve. year olds ( 4th. can ,e largely the same for any group exeept the 5th. and 6th graders ) begin to show definite high school computer freaks. How you present differentiation into intellectual versus nonthat material, how much you can cover, and what thinking patterns of behavior. This is an exreaction you expect from each group changes citipg age to introduce to computers because a immensely. Of course,' your hardware capabilities bright ten has all the mental apparatus needed ~1ave great bearing on what you can show. to understand electronics and programming. furIf you have just a computer on a board with no games, I would stick to those groups which thermore. he usually hasn't discovered the disexpressed interest in computer hardware. If have tractions of puberty yet. The non-thinking kids you have a terminal and three or four games you of this age are often still open to learning can access you can probably prepare a demonstration techniques of problem s.olving and logic. Computer for anyone., games or a fascination with soldering things I always take the cover off the computer may be the spark they need to reawaken the excitment of learning and exploring. Average kids at this age and show everyone the chips and PC boards. Little ones just look. ~rom about eight years old on will probably be fascinated with your system if up I explain IN Ot~LINE ONLY how chips and boards it can do anything beyond blink lights. The bright are made. Putting an IC under a microscope is ones will be bored because they want you to go fun too. Then I spend a few minutes with the faster and show them more. The non-learners concept of a system - here's the terminal. the will continue to sit in the back row and throw CPU with .arithmatic, logic, and control. and the spit balls. Be especially alert for the child core memory. This is the computer's magnetic note who seems painfully slow at reading or r.sponding pad ( we call it a tape recorder ) where it writes but who shows a lot of interest or perseverance. down the rules to each of the games it can play. I keep hearing successful engineers mutter ... My If you have lots of time you may want to bring God. where would I be now if I hadn't discovered along some useless hoards and some soldering irons. electronics when I was eleven?" Taking boards apart and randomly reassembling , By junior high age the division between them is a good manipulative task for upper elemen~ thinking and non-thinking has become more entrentary and junior high kids. ched and more subtle. The thinkers divide into If you have rigged your machine with a math. verbal. artistic. and human relations speaker and.music program (3) this is a good time specialists. The non-thinkers may have areas to show it. Most people do not have a clear idea of expertize such as sewing, automobile repair. of how a speaker works so you will have to explain or msste~ of a musical instrument. but they the whole thing. ·Watch out for incomprehensible conceive of themselves as basically unable to words like "square waves" and "frequency". understand what you are saying to them. People After this short hardware orientation I exhibit this trait throughout adolescence and plunge right into computer games. Most kids will adulthood. Don't buy their line. The smart ones are rarely the geniuses they would have you believe. spend between twenty and forty hours playing games if given free access to a library like 101 Some of the others are merely disinterested so all. it was th.e teacher! not the kids who invited you. Occasionally you'l be lucky and get a classfull of interested and intelligent people but a wide spec~rum of attitude and ability is more common. Success is three or four enthusiasts. not all thirty. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 Basic Games (4). During this time they will greatly improve their reading and interpretive skills ( if they can't con someone else into doing all the reading for them). Their logic will acquire a new degree of sophistocation. In a group setting where they must take turns at the terminal and explain games to their peers their social skills grow rapidly. Even during a short school visit you c~n see the seeds of these changes begin to germinate. I start everybody out on "Guess My Number"(S) because how they approach the game gives me a clue to the level of the group. If noone discovers the ~inary search, I can forget about introducing programming in this first session. Fives will enjoy Guess between 1 and 9. Show them the numbers on the keyboard and make sure they see that "too high" means choose a number farther left and "too· low" means choose a number to the right. A six to ten line "Story" program (6) which asks for their name, favorite food, color and playmate, then types out a short story will be a hit, especially if you have hard copy to let them take home. Snoopy's and Bunnies (7) are good too but print out one for each child ~efore you arrive at the school and just do the teacher's copy in class. Very low skill real-time games may work for fives too. Pong is too difficult for many of them but Race Track (8) used as a maze instead of a race is fine. Sharp fives may also he able to play Diddle (10) on an Altair front panel. Of C~lrse if you have graphics you can keep anyone amused by generating patterns for a while. If you have an ASR33 Teletype you may find that this is more interesting to your younger groups than the computer itself. They love the noise and rarely have had much chance even to type on an electric typewritter. The paper tape will introduce the idea of coding and the kids will love to punch secret message tapes and read them back on local. gy the way, many schools have closed circuit T.V. If your CRT is small or you are using a TTY for output it!s nice to hook up a simultaneous display on the school's large monitor. This eliminates a great deal of pushing. This same material is equally good for seven to nine year olds. If you have time you can introduce another game or two for them. Unless your group is used to playing aempetacav. games they may have trou',le comprehending that they are supposed to he developing skill at solving the puzzle presented by the game. Many of my students find it sufficiently satisfying to get the answer at all. I sometimes have a hard time convincing them to play the game again, trying for a hetter score. Th~y seem to view the computer as a competitor rather than as a game board on which they play against the program·ner. If you have two person games available you can make this point a little more easily. I like to introduce programming to these kids by talking ahout giving instructions. A neat demonstration is to have the kids tell you how to make a peanut butter and jelly sandwich while you are blindfolded. Have all the ingredients ready on·a table in front of the class. You start by choosing an instruction set with·the kids. Try: move arm up,doWn, right, left, forward, back; grasp object touched; rotate hand, palm up, palm down. Then let the kids callout instructions to you until you get the sandwich made. The final test is to write down the instructions on the blackboard, then bring in a new person and see if he can accomplish the task blindfolded if you read only the words on the board. If you are lucky the kids will begin to see how much pre-programming they bring to a task and how "simple-minded" the computer is. Some of these kids may he interested is going on to simple ~asic Language programming. Print, in·put. and if-then will let them write math quizzes using impressively large numbers. However, unless you are working with a special interest group or "gifted" students you are not likely to get past the game playing stage. I've seen a kid play TicTac-Toe (11) for an hour a day for four days. PAGE 158 He didn't even want to change games until he had this one mastered. You see, he wasn't just playing ric-Tac-Toe. He was reading, typing, learning to operate the computer, and manipulating the social situation which provided the computer access all at the same time. Intermediate grades ( ages ten to twelve ) are likely to hegin to show an interest in computer applications and simulation games. ~tany of them will thrive on logic games like Bagels (12). They can also handle real time games with considere',1e skill. Running out of time is my biggest proalem with these kids., I have enough projects lined up in my computer awareness curriculum to visit a classroom at this level once a week for the whole school year. In the first viSit, though, it is show the hardware, play two or three games, talk a',out what a program is, and mention some real world applications like "lanks, point·of sale, and school registration. When you face your first junior high class you are going to have to decide whether your olJjective is to "teach something" ahout computers during your first visit or just let the kids have fun. I tend to choose the latter since I Imow thatthey will search out "hard" information once they are hooked on computers. I flesh out my games with Hamura~i (13), or Hunt the Wumpus (14) and bide my ti~e until someone asks a"lout programming. Ofte. you will get inquiries ahout huilding home systems like yours. These kids don't usually have much money so one graphic demonstration is to have your system configured so that you can tear it down to a bare ~ones kit in front of them. This is What you can get for $SOO. This is what you can do with it. Add this $200 board and you can do this. Continue adding parts and money until ,OU are back to playing Hamurabi. This can be a discouraging demonstration ~ut it is realistic. Hopefully, we can save them some of the heartaches we experienced in our naive beginnin~s. &ld now on to high school. Many older teenagers already know some electronics and/or computing. Those who are interested will benefit from elementary discussions of hardware and software configuration. The non-computer kids will need the same soft introduction you gave their younger siblings. If you are interested in on-going projects with kids and computers, get the high school kids on your team right away. They can serve as assistant leaders for younger groups and can often manage the organization of their own cluhs with you as a consultant. Discuss your project ideas with them during your first visit and let them know that there will be plenty of time for playing computer games later. On-Going Projects One forty-five minute show-and-tell session on homebrew computing is likely to yield two or three candidates for some form of continued contact with the machine. The younger kids will be ~asically interested in a chance to play more games. Remember that twenty to forty hours I mentioned earlier? Their teachers may see the potential for computer aided instruction or a continuing class in computer literacy. Unless this is a field of particular interest to you, you will probahly want to serve only as an advisor to a teacher or parents group to help bring this about. The advisor role is crucial to the success of such a project. However. the leader of this endeavor is going to have to dedicate many hours a week to make it happen. An ongoing, in-school project will involve obtaining space in the school to house the system or terminal. supervision·in the computer room during and after school ( if you don't have after school h~s the kids will hreak in to use the machine anyway ••• ). planning a "curriculum" which sounds convincing to "educators", arranging for timeshare services or building/buying a micro, and financing the whole package. It takes a coordinated effort on the part of one or two teachers, a few students, a sympathetic administrator, ,and someone who knows quite a lot about computers and programming maybe you. FIRST CqMPUTER FAIRE PROCEEDINGS Perhaps you would be happier tackling a slightly smaller project? Scout troups offer a merit badge in computer science. If you are willing to be their resource person you can help a lot of kids get a foot in the door without making a major commitment of time and energy. You may find you haVe the makings of a computer games cluh or an after school class in programming which could meet at school or at your house. ( Moving your system can get to be a drag after a while.) Since the eq~~~ment is yours. you get to call the shots on how often the club can meet, where. and whether there will be dues to maintain or expand the system. If this is to be a school sponsored group. be sure to check with the principal about rules. regulations and use of school property. You will prohably need a faculty mem,er to co-sponsor the group although that person may not have to attend every meeting. If you form a non-schoo~ related club make sure you contact the parents and explain your plans to them. Be clear about what you are willing to offer so that the· club 1s fun for you and not just a pain in the neck. You need not institute a formal organization with constitution and by-laws. but a one pager explaining your purpo.e, who is invited to join. and what members respons~ ibilities are will avoid confusion and possible hard feelings later. Those of you who love hardware will get a kick out of getting together with the kids who want to build their own systems. You can teach them as much as you know and then serve as a liason person to· set up sessions with "experts" you meet through your larger area computer clubs. Of course your services as chauffeur to meetings, computer stores, and conferences will be invaluable. Many parents are ready to prOVide money to get a kid started on his own kit but they don't know how to help him or her find the people and resources needed to successfully build and use the system. Your willingness to become a group leader ( maybe not leader, just resident responsible adult ) will earn you the respect and gratitude of the kids and their parents as well. A few words to the wise about entertaining sizeable groups of people in your home. Check with your insurance agent to make sure you have the proper liability coverage. Also don't tempt fate hy leaving money around or calculators unaccounted for. . Hints on Successful Presentations I'd like to finish out this discussion with a few suggestions to keep in mind while you are preparing your firs~.Yisits to kids groups. 1. Make sure your equipment works. Have a dress rehersal which includes disassembling your system, driving it a distance equal to the trip to the school, at equal temperatures. Set up and give your show for friends and neighbors. Arrange this at least two days before your school trip. If you have to dehug your system you'll have twenty-four hours to do it and still be able to give twenty-four hours cancellation notice if you hlow it. . 2 •. Prepare your "lesson plan" carefully and specifically for the group you'll he addressing. Some people can wing it comfortably. Others find themselves tongue-tied in front of that bunch of expectant young strangers. Worst of all is to discover that your audience isn' t understanding one word of what you are saying to them. . 3. Therefore, DON'T. USE COMPUTER WORDS even if you explain them first in your presentation. People don't learn a new language that fast. Cqmputer vocabulary IS a better means of communication than ordinary English ~UT ONLY FOR COMPUTER FREAKS. ·If necessary, write out the whole text of your talk and underline every instance of computer jargon. Think up e,nonyms now. Later you won't .be able to come up with alternative words. It there are no noncomputer t070rds to express your thought. simplify your talk. You can introduce those BOX 1579, PALO ALTO CA 94302 PAGE 159 computer concepts in your second visit with this group. 4. Tryout your presentation on flome noncomputer, or ~,etter still, anti-computer people and encourage them to be painfully honest when you loose or confuse them. You will need some experience dealing with detracters. ~ try it out on someone of the same age as· the group you will visit just to 1,e sure you have judged their skill level correctly. 5. Don't expect to get much information across on a first visit. If the kids see the computer, touch it, play one game, that's enough. Your o'Jjective is to help demystify the computer, not to snow them with how much . you know. 6. Don't introduce Startrek or Jambl1ng games in class. You'll never get the Kids' attention back. 7. Wait for questions to arise in your learner. When a question happens in someone you know there is a place for the answer. Otherwise, you may never know when the input buffer has overflowed. That is a lot of what I know about sharing computers with kids. I'd he glad to talk or correspond further with any of you on this subject. It's fun. Seeing a face light up in front of a terminal is like giving a present to someone. It satisfies the evangelism that lurks within ~y of us. So, find a group to visit, learn as much as you can about them before you go , and prepare your presentation accordingly. You'll be a hit with the 4-H Sewing Circle, the Co-op Preschool and the Advanced Placement Physics Seminar alike. Footnotes (1) joysticks - I am using this as a generic term for any device which allows input through a lever or moveable table top instrument. Cr~co makes one for Altairs. (2) turtles - A turtle is a motorized device which moves around· the floor under keyboard or program control. It looks something like a turtle and can barry a variety of sensors to previdefeedback to the computer. See " Twenty Things to Do with a Computer" by Seymour Papert; in Educational Technology Magazine, Morristown, N.J. vol. 12, April 1972, page 9 to 18 , . (3) music - see the following articles in Peoples Computer Company, P.O.Box 310, Menlo Park. Ca. 94025. Vol 3 #5 Steve Dompier's Music Program Vol 4 f/3 Minuet in G Major b.y Cynthia Beyer Vol 5 #1 A Musical Number Guessing Game by Kurt Inman (4) for lisc;i.tI~" of games see .. 101 Basic Games by David ~l; Digital Equipment Corporation 1 Maynard, MllRS,· 19/5 "reative Computing Magazine; PO •.Box 789-m Morristown. N.J.07960 regplesComputer CompanY; P.O.Box 310 Menlo Park,Ca.94025 wnat tg Do After YOu Hit Refurn; Peoples Computer Company, Menlo P~a. 1975 (5) Number Guess - What to Do, page 116 (6) Stroy - listing from LO*OP Center, Cotati, Ca 94928 (7) Snoopy and Bunny - 101 Basic Games l1sting frOm LO*OP Center, Cotati, Ca 94928 (8) Racetrack - I can't find a listing in time for pu~licat1on. Ask your friends or LO*OP ,\: FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 (9) oops! - I messed up my numbering system ••• (10) Diddle - see PCC Vol 4 #4 page 8 (11) Tie-Tae-Toe - 101 Basic Games. page 219 (12) Bagels - What to Do, page 117 (13) Hamurahi - What to Do, page 140 (14) Hunt the Wumpus - PCC Vol 3 #3 page 24 vita. LIZA LOOP Ms. Loop is the founder and President of the Board of LO*OP Center, Inc., a California non-profit educational corporation. She is acting director of the LO*OP Center, President of the Sonoma County Microcomputer Club and President of the Cotati Chamber of Commerce. For the past two years Ms. Loop has been engaged in explaining computers to lay people and education to computer professionals. She has taught "Meet the Computer" classes, Basic Language Programming, and Pilot Educational Programming in Cotati-Rohnert Park Elementary Schools, Petaluma and Santa Rosa gifted students' programs, and in private classes of both adults and young people at LO*OP Center. She has lectured to schools, civic groups., and college classes in Sonoma County. She has personally developed the curriculum for these courses as well as a computer orientation course for office personnel now under consideration by the American Management Association. Ms. Loop's articles have been published in several journals of national circulation within the microcomputer industry. LO·OP Center, Inc. serves as publisher of one of these, the Pilot Information Exchange. Ms. Loop was educated at the Dana Hall School in Massachusetts and at Cornell University. She completed her Bachelor's Degree at Sonoma State in 1970 with a major in Philosophy. Her minor concentrations were math and physical sciences. She has since pursued courses in Education and trained on DEC, Hewlett-Pa'ckard, Wang, 'and Data General small computers as well as large time-shared systems. Currently Ms. LOOP is enrolled in the Master's program in Management at California State College, Sonoma, and is teaching units on computers within courses in Management, Psychology, and Education. She is a member of the Lawrence Hall of Science at U.C. Berkeley, the California Association for Educational Data Processing, and the Oregon Council for Computer Education. Ms. Loop lives in Sebastopol, California Jonah (3) and Solomon (5). wi~h her sons PAGE 160 FIRST COMPUTERFAIRE PROCEEDINGS PERSONAL COMPUTING & EDUCATION: A TIME FOR PIONEERS Thomas A. Dwyer Soloworks Lab 311 Alumni Hall University of Pittsburgh Pittsburgh PA 15260 INTRODUCTION BOX 1579. PALO ALTO CA 94302 PAGE 161 Here are four of them. 1. There Is Regular Recognition of Unplanned Learner Accomplishments. I recently visited a school that passes the enthusiasm test outlined at the beginning of this paper with a grade of A-plus. The first thing that the teacher said to me was, "Say, I want you to see what (student's name) here has been doing with difference tables, and then you've got to look at some of these graphs (name) has produced - and would you believe that (name) has now got a program running that simplifies Boolean express,ions with the Quine-MCCluskey method - he'll have to explain it to you, I don't understand it at all. .. etc." Needless to say, this teacher's students were standing ten feet tall. Also needless to say, they wanted to talk my ear off several times over, describing what thei' had been doing in this unique computer math class. The use of,microcomputers in education is closely associated with the personal computing movement. So we have the interesting situation in which a well-extablished enterprise must decide how (or whether) to handle a promising young upstart from the other side of town. The problem is to rule on the merits of a liaison. Eventually someone will decide that the answer lies in the Dne of the most powerful contributions of computers to edumagic word "evaluation". From then on it's likely to be concation is the way in which they make possible student accomfusion time. The reason is that evaluation projects tend to immediately zoom in on methodology. They worry about the "how" plishments worthy of recognition. Computer-related innovation that does not capitalize on this capability is really missing of evaluation much more than the "why" or "what". the boat. This problem can even arise when the methodology is fairly broad. For example, one open-minded way to evaluate a new idea is to talk to the regular users (not developers) of the system. 2. The Role of the Teacher has Changed. The example I just If these users are found to be consistently enthusiastic, or if gave quoted a teacher as admitting that one of his students was using a technique about which the student ,knew more than the they are anxious to spr'ead the word to others, there is a good teacher. The schools that are going places with computerchance that something worthwhile is going on. If the new idea related innovation always seem to have learned this lesson is concerned with education, and if the students involved are that teachers and students bring complementary talents to a found to be engaged in such unusual practices as asking to stay after hours, or to come in on Saturdays, it's safe to con- learning situation, and things get really interesting when everyone admits this. r.lude that something extraordinary is in the wind. Contrary to what one might think, respect for the teacher Now for an apparent paradox. If we should attempt to evalgrows significantly in such an environment. Contrary to what uate the worth of "computers in education" by using this useris sometimes said, technology creates a greater need for human enthusiasm test, we would get rather uneven results. Probing more deeply to find out why, we would soon find that people were teachers than ever, but they must be special people. They muS4 in particular, be able to flourish in a learning situation using the same words (and machines) to mean (and do) very difwhere both teacher and student will add to their respective ferent things; that when applying computers to education there understandings almost daily. is a wide range of possibilities, and that there is all the difference in the world between them. Now that microcomputers make it possible for many more 3. The Content and Style of Successful Computer-Related educators to get involved in these issues, it may be timely to Curricula Are Open to Innovation. Another way to say this is take a quick look at what the options are. We should not that the "add-on pathology" has been avoided. Innovation has assume that past R&D in computer assisted instruction has the generally been more successful in places where "new" courses answers. It's also timely to note that classroom instructors have been developed (e.g. Computer Science or Computer Math) are much more inventive than assumed by some R&D models. The than in places where a standard course has had the computer contributions teachers and students have already made to personal "added on", with nothing being replaced, removed, or revised. computing prove that. There are a lot of reasons why this is so. In the add-on situation, students are being penalized for using the computer; all WHAT MIGHT GO WRONG? the new work is added to the old. Secondly, many of the problems presented in pre-computer curricula are pretty silly (if There is a simple test for spotting problem areas in the use, John has twice as many apples as Mary had after Mary gave four less apples to •.• etc), and using the computer to solve these of computers in education. The trick is to mentally erase all the machinery and technical talk from the picture, and then ask only propagates an error. What works best is a fresh look at both curricula and whether what is being done is in fact what one's philosophy advocates. If it is found that what is taking place is more an learning environments - a look that takes maximum advantage of emulation of traditional school practice than a move toward ones several completely unique capabilities of computer-related learning. For example, major (and quite fascinating) projects educational ideals, then it's a wrong use. It's a use that doesn't understand the difference between personal computers as can be imbedded in curricula at any grade level, once one understands how the computer naturally leads to a problem-solving extensions of the human intellect and spirit, and "gadgets" that mechanize sterile techniques derived from past expediencie~ philosophy based on the use of subroutines (what some· people call "procedures"). At Soloworks, we have also found great A wrong use of computers can also be spotted by a glaring inconsistency between what's possible, and the simple-mindedness value in using physical devices that students can control with of what's actually done. It's not that a computer can't be used the computer. This almost always ends up involvirig several disciplines. It's really a rewarding learning experience to to drill a student in the memorization of facts and formulas; it's that major concentration on such a use misses the potential find that the physics of heat, the mathematics of large linear systems, and the joy of cooking have something to say to each of far deeper roles. Computers shine in learning environments other. The success of computer-related, innovation is directly where they serve as exploratory companions; as impartial verirelated to a willingness to innovate at all levels and in all fiers of a student's latest effort at synthesizing a general directions. procedure; as a focus of celebration and exhuberance when they Dne of the most interesting forms'our curriculum work at finally obey (literally) thousands of precise commands. Soloworks has recently taken is the development of "microcourses". A microcourse is defined as a cluster of ,imodules". WHAT CAN GO RIGHT? The key module in the cluster is one which presents the student The surest sign that a computer-related educational program with a challen~ing problem . . Then other modu~es are developed is on the right track is the presence of "educational complexity"to support ach1ev~ment of th1s challenge •. Fmally, there are. at the local level. By this I mean that the program evidences m~dules th~t exam1ne.a genera~ t~eory der1ved from these spec1a great amount of thought about all the factors that go into a f~cs .. Not1ce. how th1s order 1S Just ,~he reverse of that purfresh approach to learning (and instruction), and that the resued 1n a typ1ca~ COl~ege cou~se. It s wh~t we.cal~ a top-down sponsibility for this renewal is in the hands of the teachers ~pproa~h, where down means 1n the same d1rect10n ~hat great and students involved. Meta-organizations (such as computer 1nvent1On has always moved. Why should school be d1fferent? networks, or educational R&D centers) are important too" but as (Two}ooks that, illu~trate this approach a~e ::Software To~ls". servants of teacher/student groups, not as their masters. and ~ Amateur s GU1de to ~ersonal Comput1ng , both pub11shed ' The criterion that there be "complexity" in the local plan by Add1son-Wesley Co., Read1ng, Mass. 01867.) is best illustrated in terms of what is going on in the class4. The Best Things Happen Where the Tail Hasn't Wagged the Doi rooms of a number of pioneers. Although the detail varies, It is sad to report that vested interests, both political and several common "discoveries" seem to characterize their work. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 economic, can and do get involved in computer-related educational innovation. Education deserves better than this. The going is tough enough when something new is tried without muddying the waters with non-educational factors. There now exist microcomputer hardware and software systems that provide an excellent match to the requirements of the educational world. Trying to convince oneself that technology developed for other purposes (e.g. administrative computing) is just as good is an exercise in sel f-deception. It's simply not a good idea. On the question of money, the only way to go into computing is to allocate the right money for the right system. Using microcomputers, far less money than it takes to equip a science lab or gym is needed for initial outlay. A yearly maintenance b,udget calculated on the basis of a lab fee per student should also be budgeted - again at about the same level as is now being spent for a physics or chemistry lab. A budget line-item to add new features (e.g. graphics capability) each year is also sound planning. CONCLUSION A quiet revolution is taking place in education. Th~ ingredients are microcomputer technology, dedicated teachers, the curiosity of students, and a lot of common sense. The examples I have given say something about the way in which this common sense manifests itself in those places that are leading the way. The real contribution of personal computing to education is that it is making it possible for many others'to join in this move to new frontiers. As mentioned earlier, microcomputers have made the cost of pioneering reasonable. Using the cost of an average school gymnasium as a reference point shows that a computer lab is quite a bargain. The athletic analogy also helps solve the evaluation problem. Students using well-equipped computer labs in the manner advocated here would soon be making a name for their schools. And how do you argue with a winning team? The pioneers will know that there are better criteria of course, and have the security to make their own evaluation. For them the metaphor will have a deeper significance. The word gymnasium comes from the Greek "gumazein" which meant "to train naked, unfettered". And that's what educational computing is about; an unfettering of the imagination and intellect, a freeing of the capability to learn. A single microcomputer can become a gymnasium of the mind, an arena for the imagination. It's a bargain no school should resist. PAGE 162 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 163 THE THINGS THAT WE CAN DO WITH A MICROCOMPUTER IN EDUCATION THAT WE COULDN'T DO BEFORE Lud Braun. Professor College of Engineering SUNY It Stony Brook Stony Brook NY 11794 Where We Came From Betore l.965, educators who wanted to have their students use a computer to enhance their learning in a course sent their students to k~-punch machines at the local computer center which practiced that atfliction call.ed batch processing. This computing mode was made necessary by the high cost and operational compl.exity ot computers in that era. This was great tor computer-center directors who could boast ot 95% util.ization tactors tor their machines, but it was l.ousy tor the students and tacul ty who were lucky it they got l.0% util.ization tactors tor their time. About l.965. along came Kemeny, Kurtz and others who decided that batch processing was a terribl.e waste ot peopl.e power and that there had to be a better ~. The "better ~" which th~ devel.oped was call.ed time~. The computer cost was shared among a group ot people, as in batch processing; however, instead ot serving users serially as in batch mode (with its resulting queue and l.ong turn-around time), users essentiall.;y, were serviced in parallel., and efficiency ot util.ization ot people time increased dramaticall.y. Another advantage ot time sharing which was important to educators, and which was due l.argel.;y to the cl.everness ot Kemeny and Kurtz in their design ot the BASIC l.anguage, was the capabil.ity which existed tor interaction between the user and the computer. Many ot the interesting appl.ications ot computers in education in the l.ate l.960s and earl.;y l.970s (including the Huntington Tva simulations) had substantiall.;y more impact (and, in some cases, onl.;y became possibl.e) because ot this interactive capabil.ity. By about l.968, educators (including this author) began to notice the DEC PDP-8 which was designed originall.;y as a laboratory computer. Such minicomputers had most ot the advantages ot time sharing, plus a cost which was signiticantl.;y l.ower (over a 3-5 year period) than time sharing * and they added two other signiticant advantages to educat~rs: l.. The user was in total control ot the computing environment, rather than being subject to the high priests ot the computer center; also no l.ocal computer bum could crash the system or steal or modify programs bel.onging to others. 2. The minicomputer was inexpensive enough that a district could :!!!!l. a machine rather than rent it. This meant that the interested teacher on1;y had to talk his administration into springing tor computing bucks once, rather than having to go back every year and being subj ect to budget cuts, etc. * We are in 2AA** and are just beginning to perceive diml.;y the outlines ot the possibil.ities ot the microcomputer revol.ution; however, it, already is cl.ear that the microcomputer has added some new advantages over those ot the minicomputer, which is better than time sharing, which is better than batch processing, which is better than no computing at all.. We'l.l l.ook at some specific advantages in Section 2, but there are a coupl.e ot general advantages ot the microcomputer which are worth mentioning here: 1. The cost currentl.;y is about one third that ot an equivalent minicomputer and it is coming'down rapidl.;y. The cost ot semi-conductor memory (the most expensive component) tor a microcomputer has dropped by almost a tactor ot three since the spring ot 1975. By 5AA prices should be, down, by ~ tactor ot 5-l.0; and by l.OAA, we mq be in an era ot "zero-cost computers" where computers wil.l. almost be throw-a~ items. Wil.l. this mean that every student will. own a personal computer? Who knows? It is interesting, however, to specu- 2. 1. *This cost advantage has been diminished signiticantl.;y by the introduction ot time-sharing minis l.llte the DEC PDP-l.l./45 and the HP 2000 series machines. * Even so, the teaCher sometimes has probl.ems. I know one teacher who used rolls ot paper towe1s in his teletypewriter because his administrators didn't order tel.etype paper tor him. nAA stands tor Anno Altair. January, l.975 is to=o and is the time when the Altair was announced. It marks a real mil.estone in educational computing. ------ late on the ettect ot this kind ot development. The education community still is reeling trom the impact ot the $1.0 pocket calculator. Let's hope that we are better prepared tor the $l.00 PDP-l.O than we have been tor the $10 calculator! The microcomputer weighs under thirty pounds (it we assume that it incl.udes a keyboard and that the displ.~ device is a TV set with a video tap -- at home or in school). This means that the teacher can carry it into cl.ass under his arm, or that he can take it home over a weekend, or that he can l.et his students take it home! We have come a l.ong w~ trom the time when this author pl.us a strong student jackassed just a teletypewriter between his ottice on the tourth floor and his cl.assroom on the eighth tl.oor. (We never got a hernia, but we came cl.ose many times.) ,This ,portabil.ity j,s extremel.;y attractive: It has meant that tor the past year, the author has been abl.e to do computing in his classroom without worrying about whether or not the room has a tel.ephone to call the campus computer or whether the campus computer is in one ot its blue tunks, or whether one ot the campus c,OIIIPuter phreaques has invaded his tiles. It is clear to this author that the d~s ot time sharing and ot minicomputers and batch in educational computing are numbered and that by 10AA (and mqbe as soon as 5AA) the microcomputer will. dominate educational computing -- except tor a tew appl.ications l.ike data-base manipulation and largescale CAI (even here, with CCD and magnetic-bubble memories and video discs, time sharing mq be in trouble). In Section 2, we shall. l.ook at some special teatures ot microcomputers which either have not existed betore or have been prohibitivel.;y expensive until. now. 2. Some New Goodies with Microcomputers Because ot the unique character ot the 8080 microprocessor and the versions ot BASIC which have been written tor it, it now is possible to increase substantial.l.y the degree ot interaction between the computer and the user over what could be accomplished previousl.y. In Altair 'BASIC, there is a command with the torm INP(N), which tel.ls the computer to read the present val.ue ot the signal. at Channel. N (there are 256 possible input channel.s). There are two basic kinds ot things that we can do with this command. The simpl.er ot the two is the moditication ot program operation bw entry ot a character trom the k~board (which is channell; Le., N=l). In this mode, we can use statements ot the torm IF INP(1)=80 THEN INPUT "P=";P This statement* temporarily hal.ts execution ot the program when the user hits the P key during program execution and requests that the user enter some new value ot the parameter P. AS soon as the new P is entered, and the user hits Carriage Return, the computer continues execution trom the point where it was halted, but with the new value ot P. This teature is useful, tor exsmpl.e, in the solution ot ditterential. equations where a parameter changes suddenly. One such case is the simulation ot respiratory mechanics with respiratory resistance changed dramaticall.;y during an asthma attack. Another kind ot appl.ication invo;Lves the use of a Crollll!lllCO ~7A A-D Converter* plus the INP command. It we connect the output vol.tage ot a potentiometer to Channel. 31. and insert a statement ot the torm X=INP(3l) into the program, we can change the value ot X used by the program continuousl.;y by varying the potentiometer. This capabil.ity permits us to treat the digital. computer as it it is an analog computer. It we take advantage also ot the D-A or digital-toanalog converter capabil.ity ot the ~7A and the OUT command in BASIC, we have the capability ot displ~ing the computer results in analog torm as well. The combination ot the ~7A and INP and OUT commands opens up a new dimension in the use ot the digital computer -----,---*The number 80 is the ASCII equival.ent of the l.etter P. *Such a converter takes analog (or continuous) signals as input' and converts them into digital torm so that the computer mq handle them. --,-_.,,'-.-_._-- FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 which ~be ex~lif1ed by an interesting modification of the ubiquitous Lunar Lander simulation. In most impiementations of this pro$l'8m, the computer asks how much fuel the user wants to burn during the following second. The computer prints out the velocity of the lander, its altitude, and the relilaining fuel at the end of the time interval, and asks the uSer to enter his next decision about fuel. Using the D+7A and INP and OUT commands, we can modity the Lunar Lander so that: a. the user enters the fuel to be burned continuously using a potentiometer and INP command, b. the computer, using the OUT command, displ8¥S the remaining fuel, the velocity, and the altitude on three voltmeters which might be labeled "Fuel Gauge, n "Speedometer," and "Altimeter," resp. This capability will make a whole range of· computer simulations much more realistic for the student. Essentially, the combination of the microcomputer arid the D+7A board converts the digital computer into a very powerful general-purpose analog computer without the normal problems of the real analog computer. This mS¥ prove to be one of the most exciting educational applications of the microcomputer once we fully understand how to use this capability. Some of this author's students have used an Altair 8800 B microcomputer in an interesting W8¥ as a component in several engineering design projects. These projects· are: . a. The design of a device to convert printed text into a set of electrical signals to stimulate the skin of the abdomen and to replace the lost visual sense by another sensory channel. The microcomputer here is suppleillented by the Cromemco Cyclops digital camera, which converts visual images into digital signals which are processed by the computer to determine the patterns of excitation of a set of skin electrodes. b. The design of a typewriter which can be operated by severel;r handicapped people who cannot use a conventional typewriter. c. The development of a biofeedback system to permit victims Of cerebral palsy to control muscle tremors which they cannot control normally. There are other exciting capabilities which this author hasn't yet had the time to explore, but which seem to offer exciting possibilities for the educator. Among these are the 'J!V dazzler and other graphic devices, speech generators, ,. speech recognizers, and music synthesizers. What new things are In store for us in this area! it is difficult to predict, but if the past two years is BlIY indication, the possIbIlitIes boggle the mind! PAGE 164 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 165 CLASSROOM MICROCOMPUTING: HOW ONE SCHOOL DISTRICT LEARNED TO LIVE WITH THE STATE OF THE ART Peter S. Grimes, Curriculum Supervisor San Jose Unified School District 1605 Park Ave. San Jose CA 95126 Introducti on Last year was a memorable year in San Jose Unified. The cost of computers had finally dropped to a price we could afford. After many years of dashed hopes we were able to demonstrate that an amount of money which did not seem unreasonable (about $25.000) would purchase an amount of student computing power that was significant in terms of student contact and curriculum impact. This investment. together with an older 8-user PDP 8/E time-share system, would place two computer terminals in each of our six comprehensive high schools and one computer terminal in each of our seven junior high schools. The paper that follows is the story of how we achieved this goal and coped with the attending problems. Ordinarily this would seem to offer nothing more than a droll recitation of how a school district purchased eleven microprocessors for use in its mathematics classrooms. I was assured, however, that we were at the threshold of a new era of classroom computing and that our early experience with the new state of the art would be useful information to other schools and school districts contemplating the introduction of the microcomputer into their curriculum. We have run into some unexpected difficulties which you can avoid repeating. We have given much thought to the role of the microcomputer in education. We have gotten involved with teacher inservice which is important to the operation and use of a microcomputer as contrasted to the operation and use of a time-share terminal. We are very familiar with costs and can give some good advice on what you will need in the way of hardware to get started. We also have opinions about obsolescence. product support, maintenance. and assembling your own system which should help you form a reasoned opinion about microcomputers and education. We are excited about what we have done this year! We have formed a deep commitment to the future of classroom microcomputing. The micro-miniturization of digital electronics continues to progress rapidly. The day of inexpensive computing has arrived. Its effects on the curriculum will be profound. We truly believe that we are in the midst of a revolution of unusual significance to our culture. Since we view what is happening as positive and beneficial. we are convinced that the appropriate policy for our schools is to advance in concert with what people are doing. The tide of change is sweeping in rapidly. We should start to prepare for the future now rather than be engulfed later. Classroom Computing in San Jose Unified Back in 1972 we purchased a PDP 8/E 8-user time-share system. Starting with several terminals in only two schools. we gradually expanded the system to its full 8-user capacity. By 1974 we had one terminal in each high school and several junior high schools. Programs to utilize the terminals rapidly proliferated. With the additional help of programmable pocket and desk top calculators. our high schools introduced programming into the mathematics elective curriculum. and junior high schools introduced computer literacy as ~ component of their required mathematics program. Although this computer facility was very limited, it did provide the incentive for teachers to become acquainted with BASIC and it did lay the foundation for further development as hardware prices dropped to within an affordable range. By the 1975-76 school year it became apparent that with the advent of microcomputers, a significant price breakthrough had occurred. With encouragement from top level administration. we purchased an IMSAI 8080 machine in March 1976 and evaluated it for a major expenditure program during 1976-77. After some tinkering with the teletype paper tape reader, the system ran without fault for eight months (when the paper tape reader failed and we had to add an audio cassette I/O for system loading). By May 1976 we had concluded that microcomputers were reliable. that excellent BASIC interpreters were available and that enough money could be made available to significantly upgrade our computer resources. Price, reliability, and software were the major ingredients of this determination. But just as important to our considerations was the fact that the phys i ca 1 'presence of a complete computer sys tem, as contrasted to a time-share terminal, opened up vast new areas of instruction which were previously out of reach (system operation, assembly programming, and computer science, for example). At a cost of about $3,000 for each system (we were still committed to teletype terminals last year) we could afford to place a computer in each junior and senior high school. The decision, then, was to enter into a two year program which would provide one computer terminal in each of our seven junior high schools, two terminals in each of our six senior high schools, and a roving terminal for our elementary MGM program. Moving toward this goal, we have purchased, as of March 1977, a total of ten IMSAI 8080's and one Polymorphic 88 (the Polymorphic was a less expensive machine which we wished to evaluate). Most of the machines were configured with 12K of RAM and an MIO to interface a teletype terminal and audio cassette for system program storage. We chose the ASR 33 teletype terminal because students could save programs on paper, a point which we thought to be psychologically significant for the neophite programmer. However, we did configure one IMSAI and the Polymorphic system with a vidio interface and TV monitor, and two other IMSAI's with Lear Siegler serial CRT terminals. This was done partly to save money and partly to evaluate the suitability of systems which do not produce hard copy. As for software, all of the installations are using 8K BASIC interpreters (which most math teachers consider minimal) with one exception. We are using 4K ROM BASIC for the elementary roving system. Although ROM is expensive, it does avoid the hassle of loading the BASIC interpreter after each power down--and 4K BASIC is perfectly adequate as an introductory language for elementary students. To date, our elementary system has operated flawlessly for six months with no operating difficulties on the part of the elementary teacher or student. During the 1977-78 school year we will need to acquire several more systems to meet our two year goal. The advent of microcomputer time-sharing, however, may enable us to add more terminals than originally planned. (Cromenco, a local manufacturer, is introducing an 8-user time-share microcomputer for the school market.) The Microcomputer Has Put Us in a State of Altered Consci ousness When we purchased our PDP 8/E system four years ago, we weren't familiar with the rapid progress taking place in the field of large scale integration. As a result, we were still thinking in terms of expanding our time-sharing system in the fall of 1975. Our goals were rather modest, consisting of the development of computer literacy in the junior high school mathematics program and continued expansion of our support of computer programming in the senior high school curriculum. When we became aware of the microcomputer, our thinking underwent rapid and radical change. With single terminal BASIC speaking systems available in the price range of $2,000 to $3,000, it was quite obvious that time-sharing systems were no longer cost effective. We recognized that time-sharing, in situatlons where large data bases had to be maintained, was still valid, but we also recognized that our envisioned use of computers for instruction did not require data base access. It was clear to us that even tutorial and drill and practice CAl, both of which have fairly large memory requirements, could easily be accommodated by the relatively inexpensive ($1,000 - $2,000 range with prices still going down) diskette mass storage systems. Since our only reason for instructional time-sharing in the first place was cost reduction, and since microcomputer systems were each less expensive than the addition of a single time-sharing terminal, we completely reformulated our rationale for the use of the computer in the classroom. After a few weeks study and interaction with local institu- FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA. 94302 tions like the Peoples' Computer Company and the Lawrence Hall of Science we came to these conclusions: • • • • • • • Computers and computer concepts (DIP, CAl, Information Retrieval, Problem Solving, Computer Games) should be introduced to elementary pupils. Computer literacy should be forthrightly introduced into the junior high school mathematics curriculum. Computer programming and computer operation experiences should become a regular feature of the senior high school elective mathematics curriculum. A new course, Introduction to Computer Science, should be added to the senior high school mathematics curriculum. The use of computers as an instructional tool should be extended into other curricular areas as rapidly as resources permit (science, business, social studies, for instance). Such uses would include simulation, drill and practice, and problem solving. Broaden the definition of computer to include programmable pocket and desk top calculators. Modify the existing mathematics curriculum so as to include the obvious effects that easy access to computers will have: i.e., the phasing out of logarithms and trig tables and the phaSing in of pocket calculators as the source for these functions; phasing out of the slide rule; phasing in of iterative and recursive mathematics techniques. The logic which compelled us to make the above recommendations were based on these very probable future developments: • • • • Continuing micro-miniturization and the associated drastic drop in costs will make computers and related devices commonplace at work and in the home (BASIC speaking pocket computers, home computers, computer T.V. games). Microprocessors will become common as control devices in consumer products (microwave ovens, home washer/dryers, electric typewriters, television, automobiles, clocks, watches, cameras). Digital electronics will become a very large new career area spanning all degrees of sophistication and preparation in research, design, assembly, and service. Present industrial and commercial uses of computers will expand dramatically (data processing, information retrieval, word processing, and process control) The above points indicate that vast numbers of people will need to become familiar with computer concepts of varying degrees of sophistication. Millions of people will work in the area of digital electronics as operators, service technicians, programmers, engineers, and research scientists. Our entire population will become comsumers of digital electronic devices. Indeed, as computers invade the home and become as readily available at work as the typewriter and calculator, various degrees of computer competency and knowledge will become survivor skills in a society characterized by the commonplace application of digital electronics to everyday life. It is this conviction that leads us to the conclusion that computer literacy must become part of the core curriculum of public education, that the effect of cheap computing on the existing mathematics curriculum must be accomodated, that computers and related devices should become instructional tools, and that computer career electives be included in the course of study at all deliberate speed. Our students must be prepared for the new world which is going to be so dramatically molded by digital electronics. To Assemble or Not Assemble--That is the Question Two years ago ALTAIR (MITS) brought forth the 100 pin bus and the 5" x 10" "plug in" printed circuit board. Following explicit instructions, it was envisioned that a novice could assemble a complex CPU, 4K RAM memory, or serial I/O interface. After all, LSI had reduced enormously complex circuitry to small dual-in-line packages of N number of pins which could be soldered into precisely matching plated through holes in a PCB. True, there were still discrete components such as resistors, capacitors, diodes and power regulators, but they were easily handled. What was important was that PAGE 166 complex logic circuitry had been reduced to functional sealed units which were easily assembled as long as due respect was given to the possibility of cold solder jOints, bent pins, solder-bridges and the like. Thus~ with some dextrous skill, even a 7th grade junior high school student should be able to assemble a 4K or 8K RAM memory. plug it in and have it work! But wait! Is the real world really like that? We have had numerous students and teachers assemble with results mostly negative. The product more often than not does not work. Sometimes the cause of malfunction is obvious. Indeed, look for solder bridges and improperly inserted pins. Just as often, however, the problem resides in a faulty DIP. I am informed, for example, that a standard DIP such as a 2102 memory chip has a 5% failure rate in commercial kits. This projects a probable failure rate of about P = 0.9625 for an 8K memory. The problem, then, is to have the expertise to locate the failure. If one does not have the expertise. then one must find it and then pay for it. Our assembling experience has been that whil e debuggi ng is commonplace and expensive (the going rate is over $20 per hour). we usually end up paying less in total (kit plus cost of debugging) than the cost of an assembled unit. Yet the satisfaction of a successful assembly is miSSing. and this can be a potentially devastating experience for a young student. Of course, one can pay more for kits with hi-re1 components. but competition being what it is. "high quality" is not presently a common characteristic.of the kit market. Now, multiply the chance of a board assembly failure times the number of assemblies in a microcomputer and then add the complexities of the necessary input-output devices and one begins to get a picture of the problems encountered in assembling and starting up one's own microcomputer system. Even when a microcomputer is purchased from a reliable vendor. troubles abound. One of our pre-assembled installations. for example. had the following chronology of problems: 1. 2. 3. 4. 5. Teletype printer errors Memory failures during "burn-in" Wrong microprocessor--a NEC 8080 was substituted for an INTEL 8080. We found the BASIC interpreter would not run with the NEC 8080. Faulty teletype paper tape reader which characteristically dropped several bits during the course of reading in an 8K byte tap~. Fa 11 ure of a major microcomputer hardware manufacturer to release a bootsttap loader for its cassette 110 device (needed to circumvent the faulty teletype paper tape reader which we were never able to adjust). Altogether it took us three months to get the system up and running because of the time it took to obtain reliable technical help and the delays involved in trouble shooting and getting spare parts. Of course we discovered some of the problems ourselves. For example, after repeated telephone calls to the manufacturer we were told: "Oh. you must have one of those NEC processors! Our BASIC doesn't run with the NEC 8080." If you choose to' assemble for its educational value. however'. help is available. Vendors and manufacturers are. beginning to provide debugging and repair services of a quality and cost which makes assembling your own system verY,worthwhile. You will learn a great deal and your cost will still probably be less than a fully assembled system. But there will almost certainly be frustrations. Your system in all probability will not work on completion of assembly. You will need help. There wi 11 probably be 1engthy del ays and you wi 11 not be able to determine the cost in advance for a burned-in successfully running system. These problems can be extremely vexing and, because of the delays, costly to morale. You will have to make your decision whether to assemble or not to assemble based on such factors as: • • • • The educational va I ue to be gai ned Availability of repair money Your ability to trouble shoot and debug (which very few educators can do) Your tolerance for delay and other frustrations. If we had this year to do over, we would do things differently. We would not have assembled as many systems to save money; we FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579. PALO ALTO CA 94302 PAGE 167 would not depend on teletype paper tape readers for system paper tape reader and punch. program input; and, we would have purchased more functioning systems complete with terminals and audio cassette input/output. Microcomputer mass storage is provided by the new diskette storage systems. They have large file capacities (lOOK to 250K character storage) for data and program save. Assembled diskette storage devices presently cost in the $1,000 and Recommendations for Making Your Purchase of $2,000 range including interfacting and software file manageMicrocomputers a Pleasant Experience ment, but these prices are still subject to fairly substantial reduction over the next year or two as technology and producIn purchasing your own microcomputer systems, I would recomtion gear up for the potential market. mend the following: The best microcomputer system, of course, would be a combination of hard copy and mass storage, but the cost of such 1. Do not rely on teletype paper tape readers (the ASR 33) to read in system programs such as a BASIC systems would be in the $4,000 to $5,000 range at which point interpreter. While some TTY's work, others do not. we are back to examining the cost effectiveness of timeThey are quite satisfactory for saving short student sharing. generated programs, but lengthy tapes Simply multiply the chance of failure to the point of near certainty Before making a decision, you should compare microcomputing and a down system. costs to the rental for a time-share terminal. A typical 2. We have found CRT devices to be entirely satisfactory time-share .termina1 will be linked to a computer supporting as student terminals provided the student can save up to 32 teletypes. With SUPER BASIC and very ample file programs on cassette tape. We have used commercial storage, the average charge is $300 a month including all CRT's (such as the Lear Seigler), television monitors communications costs and terminal maintenance. This monthly with vidio boards and modified home television rental computes to $3,600 a year, a charge which makes microsets. They all work with high reliability compared computer systems very attractive. to the teletype. Adding additional fuel to the fire, an exciting announcement 3. If youare buying an assemb1 ed system, I would is being made this very month (April 1977). Cromemco, a suggest you buy a complete turn-key installation with a 90 day or longer warranty and a fixed delivery local microcomputer manufacturer, will market an 8-user timeshare microcomputer. Starting at about $3,000 for a basic date. Don't do as we did by purchasing terminal single-user system, additional user terminals (hard-wired and microcomputer separately. That simple error teletypes or teletype simulating CRT terminals) can be added caused us months of delay in establishing our for about $1,200 each, including all interfacing. For an 8systems because one vendor was not responsible. It user system, fully assembled and installed, the cost per is a simple fact that technicians representing terminal would be aboubt $1,400. That's not bad for a teletype different vendors have a very difficult time getting system! together. Even when computer and terminal are purchased from one vendor, but separately, you may What about maintenance costs? At this time our experience is encounter extra costs and delays if the purchase rather limited. We set aside $3,000 for this year's support does not include installation and successful interfacing. of our 11 microcomputers and terminals (including teletype maintenance). It appears that this figure is within the ball park. I think that $300 per year per single user system will be about right for next year's maintenance budget. You Costs and Configurations should add about $100 to this amount for hard copy systems using teletypes or other printers because they require periodic attention for cleaning and lubrication. A minimal performance secondary classroom microcomputer will need to consist of the following components: What about future costs? I hear talk of major manufacturers Component coming out with $500 "sealed units" which would drive T.V. Approximate Cost monitor terminals (or perhaps use home T.V. sets with antenna Kit Assembled input). Software would be provided by plug-in ROM's. This Central processor figure seems not unreasonable to me. I would expect a good $ 200 $ 300 12K of memory BASIC with all functions intact, but no user program storage. 450 650 I/O interface (for cassette Such systems would be ideal for general problem solving, 200 300 programming instruction and computer gaming and would make recorder) Cabinet and power supply microcomputing in the classroom a forgone conclusion. 200 300 Vidio board 200 300 T.V. Monitor 150 150 Audio cassette recorder 100 100 Keyboard Lack of Standardization 100 150 Miscellaneous cables and hardware 50 50 Operating system They say every rose has its thorn. This is certainly true of 100 100 8K BASIC microcomputing. Although microcomputing will have extraoro o dinarily desirable effects upon the public schOOl curriculum, $1750 those very desirable effects may be significantly delayed by $2400 the lack of standardization. The opera.ting system is a software substitute for a front panel. It enables the operator to manipulate the computer on By being first on the market with a microcomputer, Altair in the T. V. monitor instead of fl ipping switches and observing effect established a defacto standard with their 100 pin bus. All well and good. Different manufacturers could market display lights on a front panel. A hardware front panel, instead of an operating system, will cost from $100 to $200 devices which were hardware compatible with each other and extra in kit, or from $200 to $300 extra assembled. The reap the obvious benefits of an expanded market created by BASIC interpreter and an assembler are either included free such standardization. But things have not turned out to be with purchase or 1isted separately at a low price, generally that simple. We find that Altair BASIC will not operate with well under $100. an IMSAI I/O unless hardware alterations are made. Another example of incompatibility is finding a BASIC interpreter If the preceding is minimal, what would be considered better? that will work with a Polymorphic vidio board in anIMSAI machine. IMSAI basic won't; Polymorphic BASIC won't;. but Two items: hard copy and mass storage. If a teletype were Altair BASIC will (with modifications). What we are finding substituted for the T.V. monitor and vidio interface, the is that contrary to claims of the manufacturers true hardware additional assembled cost would be about $700 (reconditioned compatibility does not exist. While this may not be a large teletype cost of $900 less $450 for the vidio interface and problem to computer hobbyists who have the technical skills T. V. monitor pl us $250 for a front panel (a hard copy system to make hardware and software modifications·to accommodate must have a front panel for computer control)). There are the incompatibilities, there are large potential markets for· much better hard copy printers on the market than teletypes-general computing in which lack of standardization will be they print faster (30 characters per second vs. 10 characters very harmful. The public school market is one such example. per second) and are somewhat less expensive to maintain, but Lack of standardization has certainly caused us problems by they are more expensive at around $2,000 and do not have a FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 creating unexpected delays, added expenses, and reduced selection of software options. The problem, of course, lies in the added expense of custom fitting a desired component into a system of different manufacture. Perhaps of even more significance is finding someone to do the work for you. A perfect illustration of this situation is the addition of audio cassette I/O. Seemingly simple, it turns out to be quite complex. Not just any cassette recorder can be used. The cassette interface board must be "tuned" to match the recorder. Tapes dumped from one system cannot be reliably loaded into another, thus severely inhibiting program interchange. Software to load and dump is 'not readily available (we have had to pay for the development of special software for our IMSAI's). Of even more importance is the fact that very few BASIC interpreters allow user developed BASIC programs to be saved. The save routines are generally completely separate from the BASIC interpreter, are awkward to use, and usually require the user to exactly specify that portion of memory he wishes to save. Microcomputer users desperately need cassette file commands to become a standard feature of BASIC interpreters. But this cannot happen, of course, until cassette 1/0 technology becomes standardized. Perhaps of even more importance to the standardization dilemma is the proliferation of BASIC interpreters. BASIC has become the language of choice for large numbers of general purpose computer users who program in the interactive mode. It is certainly the lingua franca of public school classroom computing. And its popularity contin~es to increase as many of its disadvantages, as compared to other languages, disappear with steady improvement. BASIC has now evolved into SUPER BASIC with added commands and functions, better format control, more string manipulation, file capabilities, etc. But its continued development has been accompanied by loss of uniformity. Some systems use "" " for 1i ne "crunchi ng", others use ":". One system will use "?" as a symbol for print, another the "!". The conventions for the randomize function tend to be quite different from one system to another. The list of differences continues to grow as each microcomputer manufacturer releases his own version of BASIC. While this competitive development encourages the continued improvement of BASIC, it inhibits the exchange of programs in BASIC. This is a significant problem in education. The Huntington Project simulations, for example, were written in DEC BASIC. But DEC BASIC is not compatible with any of the microcomputer BASIC's. Thus. a very signif~cant potential educational use of microcomputers, SIMULATION, is, at least for the time being. stopped dead in its tracksl It is-almost impossible for the end user to make the conversion. The supplier, lacking the resources to translate into a dozen or more versions of BASIC, does nothing! Please bear in mind that I am not talking about "special features" such as memory allocation, line length, and peek and poke. Such special features can be added to BASIC interpreters while still maintaining downward Compatibility. The problem lies in the lack of standardization in basic BASIC. Aside from the fact that various user groups have their own compelling reasons for more standardization, the microcomputer industry itself must recognize that its failure to establish a basic level of standardization will markedly inhibit information exchange which will in turn just as markedly inhibit market expansion. If such a standard can be established, it is a forgone conclusion that users will cooperate. The Huntington Project, for example, will then be able to translate their much desired simulations into a version of BASIC which all users can use. product Support People have expressed the fear that some microcomputer manufacturers will not be around in a few years to support their products. Some will have failed, some will be purchased by larger firms, others will have dropped out of the market in order to concentrate on other products. All of these things will surely happen. Many of today's manufacturers will not be here in five years to back their products. But this really is not much of a problem because these manufacturers are not providing very much support for their products now. The low cost of microcomputer products is partly due to the PAGE 168 deliberate absence of extensive product support. How can such a state of affairs exist. you may ask. Quite simply, the number of people engaged in digital electronics has now reached the point where there is a sufficient surplus to service the new markets created by micro electronics. Hardware and software serviceS are now being provided b~ local computer stores. While not as commOn as radio and T.V. repair shops. they are growing in proportion to the business available. In addition, a large number of engineers and technicians are moonlighting for fun and profit. So •..•• if anyone advises you to postpone your involvement with microcomputing due to lack of product support, be assured that they are setting up a straw man. There is a great deal of product support, and it is growing in pace with the size of the market. As with many consumer products, the support services are provided by the vendor and small entrepeneur. Small computers are rapidly becoming consumer items and will be serviced accordingly. Wh~t About Obsolescence? I don't think there is any question that a microcomputer purchased today will be technically obsolete in five years. But that does not mean that you cannot continue to use it for years after. Our PDP 8/E time-share system is now technically obsolete. But it is still less expensive to maintain than to replace it. Even though it has ferrite core memory and lacks the LSI devices that make microcomputers so relatively inexpens i ve, a11 of thi sis transpa rent to the user. Programming and other computer science concepts have remained essentially the same for years. I would estimate that it will be five or more years before maintenance costs for the 8/E will exceed the replacement cost. And application deficiencies should not be noticeable for an even longer period of time. The same should be true for today's microcomputers. Such long life is not true for many business and industrial applications where other factors such as throughput have extreme importance. The low sophistication requirements of pre-college educational use, however, argues for relative long life. Teacher Inservice To date, educational computing has mostly been a time-sharing affair. The central computer was operated by a specialist. The teacher or student did nothing more than turn on the terminal. Microcomputing is somewhat different. There is a computer to operate. How is the BASIC interpreter loaded? What is a bootstrap? How are computer memories organized? How do computers compute? What does the front panel do? Why do we have to learn hexadecimal? These questions must be answered and the skills learned by the teacher so that he or she can be responsible for the operation of the microcomputer. Because of pre-service experience and because we have had a small time-sharing system for four years, mathematics teachers in San Jose Unified were well acquainted with BASIC and computer programming in general. They also had some expertise with binary and octal arithmetic because these topics were introduced into the mathematics curriculum as part of the "modern math" improvements of the 60's. But operating a computer? Our teachers were completely unprepared! What teacher ever expected to have a computer system for classroom instruction within his or her lifetime? To rectify this situation we contracted with Don Inman of the People's Computer Company in Menlo Park, California. For nine two-hour sessions every Monday after school last fall, over thirty secondary mathematics and science teachers voluntarily gathered together to learn about microcomputers from Don. Believing hands on learning to be the only way to go, each of our secondary schools (13) purchased a small single, board microcomputer of local manufacturer called the Data Handler. Made by Western Data Systems of Santa Clara, California, it cost $160, used a 6502 microprocessor, had a hex keyboard for input and control and employed LED's to display output and the data and addres,s busses. These microcomputers were purchased as kits, assembled by the teachers and then used to learn about computer architecture and operation, machine level programming, input/output routines, etc. Most of these same teachers are continuing with another series of nine meetings this spring. The Data Handler microcomputers, FIRST COMPUTER FAIRE PROCEEDINGS by the way, are being used by students when not being used by teachers. Next year many of our teachers hope to participate in a National Science Foundation funded Microcomputer Teacher Inservice Institute to be conducted by the Lawrence Hall of Science (if their institute proposal is approved). This institute, to the best of our knowledge, will be the first ever offered to secondary teachers. Just think, when people ask where it all started, we can say that it started right here in the Bay Area. That's a good feeling and a good thought upon which to end. BOX 1579, PALO ALTO CA 94302 PAGE 169 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 170 THE CONSTRUCTION, OPERATION, AND MAINTENANCE OF A HIGH SCHOOL SYSTEM dream system." Our cheap system cont:ain~d ~j1e ALTAIR 8800 with: 8K RAM memory, one RS232 interface, a fan, and 8K BASIC. The. I/O device was to be the SWTPC CT-1024 wh.i,ch,we Melvin L, Zeddies 1854 Pacific 8each Drive would also construct. It was to include an San Diego CA 92109 RS 232 serial interface, and a manual cursor control. The actual T.V. for the display ,was donated by the parents of one of the students. ABSTRACT Our dream system contained: The,ALTAIR 8800, 20K RAM, 3 RS232 serial interfaces, fan, Developing ,a computer system from kits was vectored intercept, and a cassette tape interface, a very stimulating educational experience for two CT~1024's, each with a manual cursor control, high school and junior high school studeJ?ts. and a screen read. Also, we hoped to purchase There were, however, problem area~: fund~ng, an "old" (reconditioned) typagraph, model 3, so bureaucratic red tape, and a mult~tude of that we ~Jould have the capacity to produce hard,. skeptics. Overcoming these problems lead to copy when needed. ' the formation of a self developing group of We felt either of these two systems would students who were anxious and very able to provide a beginning and that from ,them we could solve problems in the administration of schools, build additional pieces of equipment as both money thp i.nstrllctional programs, career development, and items became available. We would also attempt while they attempted to create a new computer to build a system, whereby we could provide comscience instructional program. Juter services to others on the high school campus; Personal computer systems available in for example the physical education ,an9 science kit form provide a foundation upon which to departments. Also in our minds was the possibility challenge the educational programs in o,ur of freeing ourselves from the timesharing system schools, and human, as well as technological we were presently uSing, and paying for at a rate change. of about $2200 per year. We realized that we would probably have to do some software development, especially if we wanted to timeshare "our" system. However, we were prepared to launch into that aspect once we had our system in operation,. The recent development, and marketing of Our next step was to locate funds an,d obtain personalized computer system kits is destined to the necessary authorizations to be able to use them force changes upon educational institutions that for the purchase of our system. No one in the ,school have not' been remotely anticipated at this time. system seemed to know what we were talking about, at Students will arrive at the door of the school t:1is stage. No one knew who would have to authorize with an ever increasing store of experience and such, a purchase because all EDP equipment was purknowledge of computers. This will create a chased by the EDP Department for their use only. demand for new courses, updating of existing Finally, after some time and several discussions we courses in a radical manner, and will require COnvinced the principal to authorize the purchase teachers and administrators to become familiar with instructional funds, thereby avoiding the EDP with the language and thought patterns of the. Department and prodUCing a new procedure. Now the computer age student. We are not only referr~ng problem of identifying a particular sum of money for to high schools, and college levels, we are such a ourchase was approached. including junior high schools, and elementary In California there are two types of cateschools, even the kindergarten child will be gories for the purchase of school items, capital coming to school with a computer background. outlay and instructional supplies. Generally speakThose of us who can remember back several ing capital outlay is used for permanent, non- . years recall the term "generation gap" which was consumable items, while instructional supply mon~es used rather generously to cover many aspects of are used for the purchase of items that are conhuman behavior. l'le are now at a point in history sumable and/or changed in the instructional program. where we need to consider a "computer gap." Our We convinced the principal that since our system generation (those of us over 30) does not have would come in kit form it should be classed as inan "easy feeling" about "the computer", the structional supply, as are other kits, such as radi~, younger generation does. Their entire life span calculators, etc., that the industrial arts departhas been coincidental with that of the computer. ment purchased of a regular basis. He agreed to the The younger generation accepts the computer in instructional supply argument and we then proceeded the same "taken for granted manner" as we did the to obtain "spending rights" to as much instr1lcti~nal car and the radio. They see implications and supply funds as possible. We traded with other applications that we will not see, they will plunge schools who had over spent in a category where we ahead into areas that we would never even consider had underspent, etc. I'le also traded, teacher venturing into. We do not have a "background" assistant time for instructional funds"and exthat allows us to include the computer in explora:,;lored every possible source of funding short of a tions in a natural and unlabored manner, as the Federal Fundina proposal. The sources of funds we younger generation does. considered included; curriculum consultants, innoWhat must we d07 I would like to describe vatj:on grants, P.T.A., industrial sources! fund what 'we have attempted to do at one high school, raisina activities of all types, and trad~ng away in one school district, with one teacher and some of our next years funding. apprOXimately six stUdents. To our surprise, we found within a very In late February 1975 several students and short time and a few key trading deals, we ¢ould their teacher met to discuss a recent article that purc,hase our dream system plus a floppy disc. had appeared in a "do it yourself" magazine,'it was Our troubles ~lere not over thpugh. Ille had purchased an announcement of the MITS ALTAIR 8800 computer the ,typograph and it had just bee l1 delivered when kit. We had all read the article and had agreed a directive was issued by the EDP Department to 8et together to explore the possibilities of stating that all purchases of EDP equipment must obtaining such a kit. It didn't take long for us be cleared through their office. vie took them to agree, it seems we had already made up our minds. literaly, and since our system was not equipment All that remained for us to do was to settle upon there was no need to have the cleared. the characteristics of our system and look for the Our system was ordered in Ma.rch 1975, and money to pay for our "dream." A week later we it c,ontained: the ALTAIR 8800, with three RS232 again met and agreed that we needed to make a interfaces, 20K RAM, a floppy diSC, disc controller, telephone call or two for some particulars. We Extended BASIC, a cassette interfa~, two SWTPC ' made calls,'one to MITS and one to SWTPC; both CT-1024's each with screen read and manual cursor were more informative that we antici'pated. control. , We drew up listings of two systems; the The first kits to arrive were those for the first was the Cheapest, and'the second was "our FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 171 SI'ITPC CT-1024' s. These kits went together without own maintenance. The only problem we could difficulty and worked the first time they were envision was developing an ongoing supply of fired up. \'Ie now began to use these (CT-1024) technician/students to insure the well being of the for I/Os on the timesharing system, and allowed system. This problem was solved by developing a the students to check them out over night and small group of students into certificated maintenance/ also over the weekends. The only complaint came operators. The training cycle was to include from parents who were concerned because the student several students from each grade, with the sophopmores who had checked the terminal out would arrive home working with experienced juniors and seniors. These with a group of students who did not leave until students upon completion of a specific training the early morning hours. They would keep the phone program were to be licensen ~s svste~ maintenance/ line in use from the time they arrived until the operators. Only licensed personnel were allowed to parents forced a system shutdown, sometimes as perform diagnostic work on the system, pull boards, as late as 1:00-2:00 A.M. Our SWTPC terminals, replace components, and checkout the system. in spite of being carried around and banged about, The original authorization for this course continued to function quite well. After two years was given by the principal of the school, however, of operation, we have only had to replace a few the central office personnel were reluctant to of the keyboard switches, everything else remains authorize it because it did not fit into mathematics, in operation without modification of any kind. science, industrial arts, and a computer science area Several months later our ALTAIR 8800 arrived, (and still does not exist at this time). We even and with great fanfare and the taking of pictures, tried to have our course considered as a career it was unpacked and looked at with great anticipation~ducation experiment, but that was also turned vie even put the front panel together and propped down. We were finally considered to be interit in the case so we could see what "it" really disciplinary in nature and therefore, the junior looked like. Many students stopped by to see administrator was designated to oversee the what we were doing and to look at our front panel. course. The construction of the ALTAIR went along The official course title, "Computer quite smoothly. The only problems encountered Technology 1-2", was approved finally. The during the construction involved trying to locate course included: the latest field changes and incorporate them into 1. The development of computers in the our system. Then there were several transistors historical sense, including the soldered in wrong, a fe~l ICs were upside down, and impact upon humankind, with c:onjectures a few ',lisread capacitors. Problems were also for the future. caused by solder bridges and flakes of solder, but 2. The foundations of computer mathematics these were found by using a strong light and small including basic Boolean Algebra and wire brush. Finally, after only three weeks, it Logic, stressing TTL. was time to apply power to our system. IT didn't 3. The electrical circuits that are used quite work they way it was supposed to. in hardware including, AND, OR, NAND, The most difficult task was getting all the NOR, FF, also ICs with LSI, and MSI. bugs out. It took us about a month of work, checkir 4. Components of a computer system at the and rechecking everything in each part of the systen block level including basic components to get to function properly. This troubleshooting such as CPU, memory, etc, also the diSC, period pointed up tr.e necessity of keeping an cassette interface, and other peripherals. operation log, detailed notes on troubles, a 5. The component level of computer systems skepticism in believing schematics, and double that includes individual functioning of checlcing everything, taking nothing and no one for components in all sections of the computer granted. Some of the problems we encountered were: system. This level is one below the several parts were missing, the schematics were block level of each board or assembly. wrong for the 4K memory boards, the memory ICs 6. The use of test equipment includes the arrived three weeks after the baords and did not YOM, Dm~, Oscilloscope, IC tester and work at the proper speeds, the factory field change! handtools. The interpretation of data were not sent to us, and finally, the suggested is also a portion of this section. (bv the factory) change in the deposit circuitry 7. Troubleshooting the system includes didn't work. the block level, co~ponent level, The task of getting our system to function component replacement, and system properly presented a problem that required the . checkout. development of a systematic approach, and emphas~zec 8. Comprehensive examinations to cover: the need to be aware of one's assumptions. One Theory of computers, computer operation of the most common assumptions we made which and checkout, and troubleshooting. caused us difficulty was that there was only one Those students satisfactorily completing this course deficient part causing the problem. One never are to be granted a license to operate and maintain knovis if this is true until the system is again the computer system at Morse High Schonl. working well, and the possibility of multiple The materials used in the preceeding course malfunctions cannot be overlooked. include: Kemeny, J. Man and the Computer, Streater, Troubleshooting also demands the use of Integrated Circuit Logic Elements, and the system test equioment. Our system also included a manuals for MITS ALTAIR 8800. digital m~ltimeter, an IC tester, and oscilloscope, At the present time the computer has been as ~lell as the needed handtools. The use of these almost totally neglected as a useable tool in the instruments and the interpretation of their ininstruction program of most schools, only isolated formation again dema'nded some knowledge of the exar.lples exist of the use of computers in the theory of the computer system (note also the instruction program. The advent of personalized assumption that they are functioning properly). computer systems will force the schools to include The students at this point began to obtain a it into all areas of the curriculum. Our system thorough understanding of TTL and how the computer provided us with some very important insight into was supposed ,to function. the use of computer systems, these inSights are: h'hen our system finally worked as we thought 1. Young children can understand the internal it should it was a great feeling for all of us. workings of computer systems. We had accomplished a truly challenging task; had 2. Students at all levels can develop very done what many thought we could not do. Those sophisticated sofblare in a relatively people who had supported us, skeptically, were very short period of time. impressed. \~e were all filled with a real sense of 3. Students are very creative in the use of accomplishment and pride in our achievement. the computer. As soon as our system was in operation the 4. Students can be very helpful in solving EDP Division issued another directive, they would some of the problems at a particular school, not authorize any parts of our computer system to especially when USing a computer. be placed upon the normal district maintenance 5. Adults(teachers and EDP personnel) can contract. This was great, because we had the become very threatened when students start knowledge, experience, and equipment to perform our using EDP equipment in creative ways. FIRST COMPUTER FAIRE PROCEEDINGS PAGE 172 BOX 1579, PALO ALTO CA 94302 all areas. 6. Develop a counseling service that would handle the mundane record keeping for the counselors. 7. EDP attendance, dumping information onto cassettes for easy storage. Maintaining an entire year of attendance records, which would be of immense benefit to the administration of the school. S. Programming students into classes, also stored upon cassettes for further, that can be replaced by a computer deserves such a fate. 8. Students gain insights and understandings in areas by beco~ing involved in computer applications in those areas. 9. What ooppens (almost always good) many times when students and computers interact can not be anticipated. ir.1plementation. Toe proposed courses are: fequired some software development however. 5. Development of heuristic applications in 7. Any teacher, administrator, or EDP person These ~oints of awareness lead us to develop the following courses of study to be used with our computer system. However, at this time because some teachers and administrators can not understand the need nor the content of the proposed courses, an official authorization has not been given for their Tliis to the science department. 6. The computer may solve some problems, but its use generates many other problems that need to be resolved. reference. No doubt more applications exist and have already been explored, but the fact that students were using their energy, and talents in a positive way to solve some of the school's many problems was very important. COMPUTER APPLICATIONS IN NATURAL SCIENCE. This course woulrl provide the student with the opportunity of exploring computer applications in the areas of: mathematics, including: numerical analysis, nu~ber theory, ordinary and partial differential equations, modern algebra, matricies, geometry, etc. The schools are in for a tremendous amount of change, forced upon them by the availability of cheap computer systems. The students who attend schools now and in the future will have an ever Increasing familiarity with computer systems. At this time it is possible to develop a functional computer system from kits with high school and junior school students constructing, operating, and maintaining CONPUTER APPLICATIONS IN THE BEHAVIORAL SCIENCES. This course would ~rovide the student with the such a system. The use of opportunity of exploring computer applications in the curriculum of the schools will require some additional courses being made available to students. Teachers will need to realize they may never be able to understand the products of IT\any students in the area of computer science. biology, phYSiCS, chemistry, and any combination of these areas. COHPUTER APFLICATIONS IN !·:ATHENATICS. This course would provide the student with the opportunity of exploring computer applications in the area of the areas of pSYChology, political sCience, history, economics, sociology, anthropology, as well as combinations of these fields. CONFUTER APPLICATIONS IN BUSINESS. This course would provide the student with the opportunity of exploring computer applications in t:le areas of: marketino. finance, management, advertizing, or any combination of these areas. HEURISTIC APPLICATIONS OF COr·IPUTER SCIENCE. This course would allow the student to explore applications in such areas as: music, art, dance, literature, counseling, etc. CONPUTER TECHNOLOGY. This sequence of four semester courses would provide the sutdent with the opportunity of learning the tr.eory, operation, and repair of ?ersonal computer systens. Also provided is the opportunity to design a small computer system, experimenting with circuits common to the industry. personal computer s~'st~ms in Personilized computer systems are here, NO\oJl The battle behleen the big vs the little system is over. Guess who had won? BACKGROUND/BIOGRAPHY Nel vin L. Zeddies was first .ini tiated into the computer faternity in 1957 through the courtesy of the U.S.Army and Fort Bliss, Texas. He has continually "played" with computers since that time, constructing a tlcrude" computer with junior Finally, the opportunity of constructing one's high school students in 1966. In addition to teaching mathematics in the San Diego schools, he has been involved in many NSF Institutes in own system is also provided. mathematics and computer science as a faculty INDEPENDENT STUDY IN CONPUTER LANGUAGES. This course l;!ould al101tl tr.e student who desires to study a computer language other than BASIC, FORTRAN, or COBOL, the opportunity of developing a fluency in a language such as, ALGOL, PL/1, APL, RPG, etc. INDEPENDENT EXPLORATIONS IN COlcPUTER SCIENCE. This course would allow the student who desires to acquire a deep understanding of computers and computer technology, to work at the compiler/ translator/interpreter level of programming. These courses were to be in addition to the regular offerings: Introduction to Computer Science, a course in BASIC programming; FORTRAN IV a course in programming in FORTRAN. These two courses were the only ones available to students within the current curriculur.1. The, preceeding courses were to be phased into existance over a period of several years, and were to be offered during one time block with different students stUdying different courses within the same class. Credit would be granted upon completion of their course work and demonstrated kno>lledge of the contents of the course. This de~onstrated kno\>lledge would usually take the form of a demonstration for the instructor on the equipment or the presentation of appropriate software Currently on leave from the San Diego scnools, he is serving as professor of mathematics and computer science at United States International University, where he has also served as Assistant Dean. He is currently developing the area of pe,rsonalized computer applications at U.S.I.U. He is rr.arried, and he and his Wife, Marcia, have two children of the computer era, Marlene (9), and V,ark (7). He has an A.B. from San Diego State College, N.A. and Ph.D. from United States Internationa International University, also a post doctoral year of study at U S.I.U.'s Institute for Educational ~;anagement. He is presently interested in humanistic r"athematics, reading instruction for small boys using computers, and technological extensions of humankind. BILBIOGRAPHY Kemeny, John. Nan and the COJ"puter. Ilew York: Charles Scribner's Sons, 1972. Streater, J. vi. Integrated Circuit Looic Elements. New York: Howard 'II. SC\ms, Inc., 1974. items. Where can your system be used in the school program to enhance the learning of students? \ve have found there are a variety of applications, ~any of which demand some form of mass storage and a large core. (Our. system had 20K of core.) Our thinking was along the following lines: 1. The phySical education department liked to have their statistics kept and we would do it for theM. . 2. Some diagnostic information relating to the behavior of our teams, and the opposing teams could be analyzed by our syste~, Our students had developed software to be used in basketball, and baseball which had proven to be helpful. 3. Simulations for the natural and social science classes could be developed and used with our system. ~. mer.ber. A timesharing service could be offered Ze:ddies, 1'-1. L., et. al. Indi vidual i-zed Tnstruction for Gifted Students using Computer TimeShare Systems. San Diego: San Diego City Schools, 1974. FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 173 EDUCATING PEOPLE ABOUT PERSONAL COMPUTING: A MAJOR PROGRAM AT THE LAWRENCE HALL OF SCIENCE Bob Kahn & lee BerlTlln .....rence Han of Science University of California Berkeley CA 94720 *Agreatly expanded and more general version of this paper entitled: PubUa Aaaess to Personat Computing: A NBIJ1 Rote for Scnenae Museums, is publ ished in COMPUTER Magazine of the Insitiute for Electrical and Electronic Engineers Computer Society, April, 1977. Traditionally, one thinks of the museum as a repository for stuffed animals, art, and artifacts from the present and past. The science museum Is often a maze of exhibits (frequently automated by push buttons and floor mat switches) illuminating various aspects of science, history, or technology. Likewise, a popular mass media image of the computer depicts a row of magnetic tape drives lining the walls of an air-conditioned, false-floored, glassed-in room where specially trained computer operators and programmers huddle around a central console of . bllnking lights. From an educational standpoint, both the museum and early generations of computers, whose Image is depicted above, have shared a common characteristic: they have tended to be static and passive. They have offered the public little opportunity for participation or access to technology. A museum visit often' involves a lot of walking, looklng,and listening, but' I ittle touching or participating. And, for those who do not already use computers In business, school, or the university, public access has generally been vicarious, or limited to computer output only. However, computer technology has advanced considerably beyond what the public has experienced, and some sclencetechnology centers are re-deflnlng their traditional role as a community showcase and repository~ This paper discusses ways in which the Lawrence Hall of Science is making modern computers accessible and understandable to the general public. Slowly, people are becoming aware of the potential power computers have in areas beyond business and data analysis. With good software, the computer can become a personalized tool for extending the mind: a personal laboratory for simulated experimentation, an artistic medium, an information retrieval system, a gaming opponent and personal entertainment center, a teacher, a sophisticated editing facti ity, and of course, a programmable calculator--all in the same box. This is the essence and the power of· personal computing. When people (particularly children) have been exposed to personal computing, they search out and demand access to It. This demand is evident in the proliferation of homebrew computer clubs, microcomputer kits, hobby shops, and computer hobbyist newsletters. But awareness of personal computing power must spread far beyond the hobbyist movement. While one no longer needs a crystal ball to foresee a computer in every home, it will still be a number of years before everyone's television becomes a terminal. In those intervening years, it is imperative that adults and children, not Just professionals and hobbyists, achieve a reasonable level of computer awareness or oomputer Ziteracy. Computer literacy has been well defined In a recent report by Roy Amara'et al. for the Institute for the Future as the understanding of bqsia aomputer functions intemrs of ",hat aomputers aan and aannot do. with partiautar attention to their potentiat. aSI4etl. as their timits. in meeting human needs. Whi Ie many recent books and films have attempted to speak to this need, computer literacy can be more quickly and effectIvely achieved by giving the general public direct, hands-on access to computers in a nonthreatening, rel"axed learning envl ronment. One type of Institution that Is Ideally suited to provIde public access to computing is the science-technology center--not the traditional science museum described earlier, but an emerging new type of activity-oriented community learning resource devoted to furthering the public's appreciation for the methods, tools, and principles of science and scientific research. Unlike the traditional museum, the hallmark of science-technology centers Is disaovel'lf learning or teaming saienae by doing saienoe. Instead of rows of glass cases protected by signs and security guards, modern science centers encourage visitors to touch objects, manipulate controls, participate in workshops and classes In an Informal, non-school mu,eum environment. Clearly, interact.-ve computers and computer terminals would be right at home in such places. Indeed; most science-technology centers recently built or still in the planning stages have made proviSions for computerrelated exhibits and activities. Of the 167,000 children and adults who visited the Lawrence Hall of Science (LHS) in 1975-76, more than 27,000 (or 16%) of them came specifically for the'purpose of gaining access to computers through various workshops, classes, visiting school programs and regularly scheduled public usage hours. In addition, LHS Is engaged In providing an educational time-sharing service to local schools. The LHS (NOVA aOO-based) time-sharing computer system presently reaches more than 40 schools and educational Institutions in Northern California including a Montessori school, elementary, Junior and senior high schools (both public and private), the California School for the Deaf, Junior colleges, four-year colleges, and some departments of U.C. Berkeley and U.C.L.A. The Lawrence Hall has put considerable thought and effort into building a computer education facility that would; simultaneously meet the needs of public visitors and vtst~lng school groups and extend computing out to local schools and the San Francisco Bay Area community, Including a new program providing home access to computing at low cost. On a smaller scale, LHS Is following In the footsteps of Dartmouth College, adopting the philosophy of Dartmouth's president, John Kemeny In his book, Man and the Computer. Kemeny describes Dartmouth's computing facility as an Intellectual resource for the community, like a library, where computing power is freely accessible to the community. On such a philosophical basis, over the past six years, LHS has defined three major objectives for Its computer education program: 1) To educate children and adults about the milieu of computers in an enjoyable, Intriguing, non-threatening learning environment; 2) To offer the public hands-on computing at low cost; 3) To develop an exportable educational program of computer activities that will serve as a resource for schools and other learning centers and public educational Institutions. Lawrence Hall has attempted to meet these objectives through a variety of activities and programs. Several terminals are openly accessible to visitors In Lawrence Hall's exhibit areas. These terminals offer a limited selection of games and simulations. Two of these terminals form an Integral part of a new exhibit on energy uses and alternative sources. LHS has an extensive program for visiting school children, and the Hall's two computer terminal rooms (each containing ten teletypes) assure that each individual ,student receives a maximum amount of hands-on experience during hls/ her hour in the computer laboratory. The two computer terminal rooms are also used for after-school and In-service classes and for public computer access. LHS offers a complete series of computer classes (to more than 1000 children and adults) throughout the year. The courses are designed to meet the needs and abilities of students at various ages from eight years to eighty. They cover topics from computer literacy for children and adults, to programming and theoretical and applied topics In computer science. However, exhibits, courses, and workshops provide limited or structured access. LHS also offers unstructured actess to computers. People who simply wish to sit down' at a terminal and execute any program of their own choosing from the Program library or even write their own programs (often exercising skills previously learned in workshops and classes) may do so on the weekends, Thursday evenings, and Friday afternoons. At these times, Lawrence Hall opens one or both of its computer-terminal rooms to the public at a cost of $1.50 per hour. A person simply buys a ticket which reserves him/her a terminal for an hour (half-hour tickets are available for 75¢). Furt!1ermore, LHS has allocated some ports on Its time-sharing system for home use by its members at a monthly rate comparable to Its educational rate; a much lower rate Is available to members wishing home access restricted to evening and late night hours. The Lawrence Hall of Science represents an active campaign by a science center to educate the members of its COIIIllunltt about the power of personal computing. It'provldes for, Increased public awareness of computers in an informal FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 learning environment; it also offers options for more Indepth, formal learning through classes. Host important, it offers an opportunity for personal exploration of Interactive computing through freely accessible, but structured exhibits and through direct, unstructured, self-motivated hands-on access, including access to individuals in the privacy of their own homes. For the mid-1970's, this represents a large step toward making computer power available to the community. Robert A. Kahn has been the director of the Computer Education Project at UC Berkeley's Lawrence Hall of Science since'June, 1972. During this time he has also been studying for his Ph.D. in education. As part of a Haster's project, Kahn developed an introductory computer course for 8-10 year old children. He is currently interested in facilitating informal learning in' the museum environment. Lee Berman is coordinator of computer activities at the Lawrence Hall of Science. He is responsible for Lawrence Hall's computer outreach program, and in this capacity, he maintains constant communication with and provides support for more than 40 schools and educational uS.ers on the Lawrence Hall time-sharing system. Being a candidate for a Ph.D. in romantic poetry, Berman has naturally gravitated toward computers. His responsibilities also Include editing the LHS computer newsletter, EducationaZ Computing, and maintaining the LHS library of computer programs. PAGE 174 FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 PAGE 175 CAl ANSWER PROCESSING IN BASIC response. Blank the answer variable. to calling routine. 4. Franz J. Frederick Education Building. Room 112 West Lafayette IN 47907 Return If no match in step 3, check to see i f all keywords have been com.pared without success. If so, print an incorrect response message, record indication of incorrect response and record the student's actual response. Blank the answer variable. Return to the calling routine. CALLING PROGRAII DESIGN The presentation deals with the implementations of algorithms for keyword answer processing and phonetic answer processing. The algorithms are implemented as subroutines in extended BASIC. Completely commented listings are included. There are over 30 computer-assisted instruction languages in existence. Of these only one (PLANIT) is "machine independent" to major extent. None are available currently (publicly at least) for use on micro-computers. The design of an answer processi,ng routine is dependent to some extent upon the design of the calling program. Most CAl languages treat lessons as blocks of information to be presented to the student. The block may be composed of (1) information to be displayed, (2) question, (3) specified answers to be compared to a student's response and (4) actions to be performed dependent upon the quality of the students' response. A suggested block in BASIC would be as follows: The major design intent of these languages was centered around the notion of providing certain basic computational capability for use by teachers. It was assumed that these teachers should be able to use the language without being experienced programmers. It was also assumed that the primary use would be tutorial based upon sets of questions and answers. The first efforts at answer processing involved exact answer match. After initial experimentation, teachers began to discover that exact answer matching simply was not effective for many types of tutorial lessons. For example, the student's answer to a question might have the same words in a different order and therefore be counted wrong. The exact answer match implicitly required exact order as well. This dilemma lead to the development of keyword answer processors. In this case, the author specified a keyword and if that word occurred anywhere in the student's response, the response was considered correct. Embellishments quickly became necessary and included such things as (1) multiple keywords and (2) allOWing the keyword to be embedded within a larger word. This latter feature allowed the student to respond with the plural form or past tense of the authors' answer and still be considered correct. After some further experimentation teachers began to find th~t exact order of keywords was indeed important and desirable for some. lessons. Consequently, the next major embellishment of keyword processors allowed stipulation of exact order or no order. These developments in keyword processors were not only very useful in the standard automated lesson but opened the way for experimentation with simulated conversational interaction. The counselor-patient types of simulations became possible providing the teacher could specify reasonable anticipated questions or question sequence which could reasonably occur in real life situations .. The developments were rather useful in computer-assisted instruction applications but basically were available only in CAl languages. Dle actual implementation, of answer processors usually treats the processors as language functions with parameters. With the advent of low cost micro-processors and in particular the advent of multi-user micro-processor systems, the ideal of low cost CAl in the classroom seems possible. The only generally available higher level language currently on micro systems is of course BASIC in more or less extended versions. BASIC does not have, however, embedded answer processing functions except at the exact answer level. This means that the CAl author must create his own code to do these functions and repeat it extensively through a lesson or create generalized subroutines for these functions. Recognizing that it may be some time before a micro CAl language is generally available and that extended BASIC with string functions is likely to be a defacto standard, the author designed a generalized keyword subrou.tine in BASIC. This subroutine was designed to allow specification by the author of up to five keywords and to allow the author to specify how many must be matched in order to be considered correct. The keyword algorithm is as follows: KEYWORD ALGORITHM 1. Compare each author keyword with student's response. 2. If a keyword matches, increment the match counter. 3. Cc;nopare the match counter with the authors' specified number of matches. If equal, print a correct response message, record indication of correct response and record the student's actual EXAMPLE OF "BLOCK" 500 505 506 510 520 521 530 540 550 560 570 580 590 PRINT "NAME A PROPERTY OF COLOR" REM---STUDENT RESPONSE VARIABLE IS A$ AND IS THE SAME REM--- IN ALL BLOCKS INPUT A$ REM--R IS NUIIBER OF BLOCK IN THE PROGRAM; K IS THE REM---NUllBKR OF KEYWORDS TO MATCH R-9 : K-l REM--AUTHOR SPECIFIED KEYWORD A$(l)=''HUE'' A$(2)~"VALUE" A$(3)-"INTENSITY" REM---CALL KEYWORD SUBROUTINE COSUB 7000 DESIGN OF KEYWORD SUBROUTINE The keyword subroutine presented in this paper requires the following extended BASIC features. 1. STRINGS (length at least equal to 70 characters) 2. MID$(A$,I,J) 3. LEN(A$) The keyword subroutine requires the following unique variables. 1. K2 (number of matches) 2. K (number of keywords to match-see BLOCK design) 3. K1 (actual number of author keywords) 4. A$ (string variable which holds student answer) 5. R$(I,J) (string matrix used to record student responses and performance record) 6. A(5) (numeric matrix used to hold length of keyword strings) The keyword routine uses only two temporary variables (I and J). They are used as loop counter variables. The keyword subroutine .allows the following keyword checkS.: 1. Specification of single keyword match from field of 1 to 5 author specified keywords. 2. The key word is treated 8S a root .keyword consequently it will allow the occurrence of the keyword with prefix and/or suffix in the student response. KEYWORD PROGRAM LISTING 1 REM --- CLEAR VARIABLE SPACE AND' ASSIGN 1000 BYTES TO STRINGS 2 .CLEAR 1000 9 REM --- DECLARE NUMERIC AND STRING MATRICES 10 DIM A(5) ,A$(5) ,R$(10,3) 95 REM --- FIRST "BLOCK" OF INSTRUCTIONAL MATERIAL 96 REM DISPLAY QUESTION AND REQUEsT RESPONSE 97 REM A$ IS USED AS A GENElIAL ANSWER VARIABLE FOR ALL 98 REM IIBLOCKS" . 100 PRINT: PRINT: PRINT "WHAT IS ONE PROPERTY OF COLOR";: INPUTE A$ 105 REM --- THE VARIABLE "R" IS USED TO NUMBER THE BLOCKS AND 106 REM IS SUBSEQUENTLY USED AS AN INDEX TO THE .STUDENT. 107 REM RECORD MATRIX "R$(R,C)'" 108 Rl!II THE VARIABLE "K" IS USED BY THE TEACHER TO SPECIFY 109 REM THE mlMBER .OF KEYWORDS REQUIRED FOR A COmCT RESFONSE FIRST COMPUTER FAIRE PROCEEDINGS BOX 1579, PALO ALTO CA 94302 110 R=l:K=l 115 REM --- THE SUBSCRIPTED STRING VARIABLE A$ (N) IS USED BY 116 REM . THE TEACHER TO HOLD THE KEYWORDS CONS IDERED TO BE 117 REM CORRECT ANSWERS 120 A$ (1}="VALUE" :A$ (2}="IIUE" :A$ (3}="INTENSITY" 125 REM --- CALL KEYWORD PROCESSOR SUBROUTINE (THE SUBROUTINE 126 REM JUDGES CORRECTNESS OF RESPONSE AND AUTOMATICALLY 127 REM RECORDS THE INDICATION OF CORRECTNESS IN R$ (R, C) 130 GOSUB 7000 195 REM ---. ANOTHER INSTII-VCTIONAL "BLOCK" BEGINS HERE. TIlE 196 REM STRUCTDRE IS THE SAME AS FOR BLOCK 1 (R=I). 200 PRINT: PRINT: PRINT "NAME TWO PROPERTIES OF COLOR" 210 INPUT A$ 220 R=2:K=2 230 A$ (1}="INTENSITY" :A$(2}="VALUE" :A$ (3}="HUE" 240 GOSUB 7000 295 REM --- "BLOCK 3" BEGINS HERE AND HAS THE SAME STRUCTURE 296 REM AS THE PRECEEDING BLOCKS. 300 PRINT:PRINT:PRINT "NAME ALL THREE PROPERTIES OF COLOR" 310 INPUT A$ 320 R=3:K=3 330 A$ (l}=''HUE'' :A$(2)="INTENSITY" :A$ (3}="VALUE" 340 GOSUB 7000 495 REM --- TIlE NEXT STATEMENT CONCLUDES THE BLOCKS SUPPLIED 496 REM TO TEST THE KEYWORD PROCESSOR SUBROUTINE. 500 GOTO 9999 6994 REM 6995 REM --- •••••• TIlE KEYWORD PROCESSOR SUBROUTINE •••••• 7000 K2=0 7005 REM --- DETERMINE TIlE LENGTHS OF THE AUTHORS KEYWORDS 7010 A(I}=LEN (A$ (1» 7020 A(2}=LEN(A$(2)} 7030 A(3)=LEN(A$(3)} 7040 A(4)=LEN(A$(4)} 7050 A(5}=LEN(A$(5» 7055 REM - - DETERMINE HOW MANY KEYWORDS WERE SUPPLIED FOR 7056 REM TEST BY THE AUTHOR. 7060 FOR 1=1 TO 5 7070 IF A(I)=O THEN 7090 7080 NEXT I ' 7085 REM --- THE VARIABLE Kl CONTAINS THE ACTUAL NUMBER OF 7086 REM KE,(WORDS IN THE AUTHORS LIST 7090 K1=I 7095 REM --- COMPARE THE NUMBER OF KEYWORDS SPECIFIED FOR MATCH 7096 REM WITH THE NUMBER OF KEYWORDS IN THE LIST. IF 7097 REM K IS GREATER THAN Kl THEN ASSUME ALL IN THE 7098 REM LIST MUST MATCH. 7100 IF K:>K1 THEN K=Kl 7110 1=1 7115 REM --- CHECK TO SEE IF CURRENT KEYWORD BEING TESTED 7116 REM IS EMPTY (IE, HAS NO CHARACTERS), IF SO TERMINATE 7117 REM THE TEST SEQUENCE. 7120 IF A(I)=O THEN 7200 7125 REM --- COMPARE THE CURRENT KEYWORD WITH ALL SEQUENCES OF 7126 REM CHARACTERS IN THE STDDENTS' ANSWER. 7130 FOR J=1 TO LEN (A$) 7140 IF MID$(A$,J,A(I)}<>A$(I) THEN 7150 7141 REM - - IF MATClI, INCREMENT MATCH COUNTER 7142 K2=K2+l 7144 GOTO 7160 7150 NEXT J 7155 REM --- COMPARE MATCH COUNTER WITH THE NUMBER OF KEYWORDS 7156 REM SPECIFIED AS NECESSARY FOR CORRECT RESPONSE. IF 7157 REM EQUAL, PRINT POSITIVE MESSAGE FOR STUDENT. IF NOT, 7158 REM CHECK TO SEE IF ALL KEYWORDS IN LIST HAVE BEEN 7159 REM HAVE BEEN TESTED. 7160 IF K2=K THEN PRINT "RIGHT":GOTO 7230 7165 REM --- IF ALL KEYWORDS IN THE LIST HAVE BEEN TESTED, PRINT 7166 REM NEGATIVE MESSAGE TO THE STUDENT. 7170 IF 1=5 THEN 7200 7180 1=1+1 7190 GOTO 7120 7200 PRINT "WRONG! II 7205 REM - - STORE INDICATION OF WRONG RESPONSE IN THE STUDENT RECORD 7206 REM MATRIX. 7210 R$(R,3)="-" 7220 GOTO 7240 7225 REM --- STORE INDICATION OF CORRECT RESPONSE IN THE STUDENT RECORD 7226 REM MATRIX. 7230 R$(R,3}="+" 7235 REM --- STORE ACTUAL STUDENT RESPONSE IN THE STUDENT RECORD 7236 REM MATRIX 7240 R$ (R, 2) =A$ 7245 REM --- BLANK RESPONSE VARIABLE. 7250 A$=" " 7255 REM --- RETURN TO THE CALLING "BLOCK". 7260' RETURN 9999 END Answer processing using keywords represents a very powerful tool in the development of conversational simulations. Programs can be devised which can carry on a useful conversation in a lim! ted context. While keyword answer processing opened new horizohs in the developme!1t of tutorial lessons, teachers began to encounter problems with students who could not spell or who could not type accurately. These problems lead to a concern for some sort of answer processor which could phonetically encode the responses and thus avoid some PAGE 176 basic problems'in typographic errors and spelling errors. A very basic but interesting phonetic answer processor algorithm was developed through a project funded by the National Science Foundation. The proje.ct resulted in the development of a CAl language called PLANIT. I twas to be ll machine-independent ll • It successfully met that goal with the only restrictions being a 24 bit word size (minimum) and access to a FORTRAN IV compiler. The phonetic algorithm used in PLANIT is quoted verbatim in this paper. The general algorithm for a phonetic answer processor in BASIC is as follows: BASIC PHONETIC PROCESSOR PROCEDURE 1. 2. Disassemble the answer or response string into single character strings. Sequentially convert each single character string into its t phonetic equivalent using the PLANIT PHONETIC ALGORITHM. 3. Reassemble phonetic characters equivalents into a single string. 4. Return to calling program for comparison of phonetic equivalent response to a phonetic equivalent answer specified by the lesson author. DES IGN OF PHONETIC SUBROUTINE The phonetic answer processor subroutine requires the following extended BASIC features: 1. STRINGS (length at least equal to 70 characters) 2. MID$(A$,J,I} 3. LEN(A$} PHONETIC ENCODING AND FORMULAS PROCESSING* PHONETI C ENCOD ING The phonetic encoding process is accomplished in four steps: Step 1 - Letter Equivalent: All letters are transformed into their letter equivalents. Any remaining characters including blanks are unchanged. The letter in Row 1 is transforI!led into the letter immediately below in Row 2. PLAN!T ignores all other characters. Row 1 Row 2 ABCDEFGHIJKLMNOPQRSTDVWXYZ ABCDABCHACCLMMABCRCDABHCAC (original letter) (letter equivalent) Step 2 - The H Replacement: Each H in a word is transformed to the preceding letter provided the character is a letter. If not a letter (e.g., a blank), H is unchanged. Step 3 - Elimination of Successive Identical Consonants: All but the first element of an uninterrupted sequence of a single consonant is eliminated, (e.g., CC=C, TT=T). Step 4 - Elimination of As: All vowels, transformed into A's, are eliminated except if A is the first character of the word to be encoded. The final word contains only consonants and a leading A if there is one. Examples: Original Word Steps 4 1 PHONETIC HAZARD ON-LINE AWHILE BHAMADAC HACARD BBAMAOAC HACARD AM-LARA ABHALA ~LARA AAAALA BAMADAC HACARD AM-LAMA AAAALA EMDC HeRD AM-LM AL The phonetic subroutine requires the following unique variables: 1. B$ (phonetic encoded answer) 2. A$ (string variable to hold student response) 3. R$(I,J) (string matrix to hold student performance records) *Bennick, F. D. and C. H. Frye "PLANIT LANGUAGE REFERENCE MANUAL", System Dev. Corporation TM-(L}-4422/002/01, Oct. 1970. (APPENDIX E) FIRST COMPUTER FAIRE PROCEEDINGS 4. B$(73) (string matrix used to hold individus1 characters from student response or author answer) The phonetic subroutine uses only two temporary variables They are used as loop counter variables and index pOinters for matrices. (J and K). The phonetic answer processor subroutine is designed to be called to process both the authors' answer and the students' response (on separate GOsua calls). The phonetic response processor can handle character strings up to 70 characters length with embedded blanks and punctuation. The only restriction is that the use of a comma in the students' answer may produce a syntax error depending on which BASIC interpreter you use. PHONETIC RESPONSE PROCESSOR LISTING 1 REM --- CLEAR VARIABLE SPACE AND ASSIGN 500 BYTES TO STRINGS 2 CLEAR 500 9 REM --- DECLARE STRING MATRICES FOR PHONETIC SUBROUTINE 10 DIM B$(73) 15 REM --- DECLARE STRING MATRIX FOR STUDENT PERFORMANCE RECORDS 16 REM THE R DIMENSION REFERS TO THE NUMBER OF "BLOCKS" 17 REM ENCOUNTERED BY THE STUDENT. THE C DIMENSION REFERS 18 REM TO (1) BLOCK NUMBER, (2) ACTUAL RESPONSE, AND (3) 19 REM THE RESULT OF COMPARING RESPONSE WITH ANSWER 20 DIM R$(30,3) 70 B$(O)-" " 80 1-0 95