DLJ

MP-A processor card. A complete system on a si ngle ca rd . It features the "Motorola" MC6800 processor. The powerful memory orientated processor that is rapidly becoming the sta ndard of compariso n in the industry. Also on this board is the MCM6830L7 ® M ikbug ROM, MC681 0 RAM and the MC14411 baud rate ge nerator. The crystal control led master clock osci ll ator and tri-s t ate data drivers complete the board. Everything works from a single 5.0 V olt su pply. MP-A ...... $145.00

MP-M main memory card . This circuit board co ntains two blocks of 2,048 words of memory. Each part has its own supp ly regu lator and can operate independ ently of t he other half. The memory chips are the proven rei iab le 2102 static type. They are capable of cycling fast enough to all ow full speed operation of the processor at all tim es . No waiting for re f resh cycles and no problems with "flakey" memories. Only a single 5.0 Volt supp ly required.

MP·M ...... $125.00 MP·C se rial co ntrol interface . This progra mmable interface may be used to connect the computer to either a video t er mina l or TTY current loop sy st em . Directly compatable w ith either system. No hardware changes. Ch ass is, mother boa rd MP-C ...... $40.00 and power supply. Ano· dized cabi net with perfor­ ated cover for cool operation. Ten amp power supply w ill power fully expanded system of up to six memory cards and eig ht interface cards .

MP-B-Mother Board ...... $40.00 MP-F-Chassis ...... $30.00 MP-P-Power Supply .. . .. $35.00

lr@ & @~§&lr Computer System with serial interface and 2,048 words ©@[M1]~O:JJlr§~ §W§IJ~[M1] of memory ...... $395 .00

o Enclosed is $395 for my SwTPC Computer Kit 0 Send Data OorBAC ______# ______

o or MC ______Ex Date' ______

NAME

ADDRESS

C IT Y STATE Z IP Mikbug® is a registered trademarll of Motorola Inc. Southwest Technical Products Corp., Box 32040, San Antonio, Texas 78284 's popular BYTESAVER™ it's so. And it saves you up to hundreds even need a keyboard. Just set the memory board gives you two of the of dollars, since you no longer need to computer sense switches as instructed most-wanted features in microcomputer buy one separately. in the BYTESAVERTM documentation. work: The built-in programmer is designed Transfer of memory content to (1) a simple, easy way to store your for the 2704 and 2708 PROMs. The PROM ("burning") takes less than a computer programs in program­ 2708 holds 1 K bytes, four times the minute. The BYTESAVERTM software capacity of the well-known older 1702 controls computer lights to verify mable read only memory PROM (yet cost-per-byte is about the complete and accurate transfer of (PROM). same). The 2708 is also fast - it lets memory content. (2) a PROM memory board with your computer work at its speed The software also programs any of the capacity for a full 8K bytes without a wait state. And it's the other 7 PROM positions in the BYTESAVERTM as readily as the first. of PROM memory storage. low-powered. With 2708's in all 8 sockets, the BYTESAVERTM is still And when used to transfer information from the BYTESA VERTM ECONOMICAL within MITS bus specifications, drawing only about 500 mA from the PROMs to RAM, the special design of The BYTESAVERTM is both a place +8V bus. A complement of 2708 the software allows loading a large and a way to store programs PROMs gives the BYTESAVERTM its program such as 8K BASIC in one economically. It transfers programs full 8K capacity. second. from the non-permanent computer RAM memory to the permanent PROM HOLDS LARGE PROGRAMS AVAILABLE NOW - STORE/MAIL memory in the BYTESAVERTM . Once The BYTESAVER'sTM 8K-byte The BYTESAVERTM is sold at your program is in the BYTE­ capacity lets you store the larger and computer stores from coast to coast. Or SAVERTM , it's protected from power more powerful programs. 8K BASIC, order by mail from Cromemco. turn-offs, intentional or accidental. The for example, easily fits in the Cromemco ships promptly. You can PROMs used with BYTESAVERTM are BYTESAVERTM capacity of 8 PROMs. have the BYTESAVERTM in your UV erasable and can be used again and One 1 K PROM will hold many games computer within a week after your again. such as Cromemco's DAZZLER-LIFE order is received. or DAZZLE-WRITER. The BYTESAVERTM itself plugs BYTESAVERTM kit $195 directly into your Altair 8800 or (Model BKBS-K) IMSA18080. NO KEYBOARD NEEDED The BYTESAVERTM comes with BYTESAVERTM assembled $295 special software programmed into a (Model BKBS-W) PROM PROGRAMMER 2704 PROM. This software controls Shipped prepaid if fully paid with order. Many people are surprised to learn transfer of the computer RAM content California users add 6% sales tax. that in the BYTESAVERTM you also to the BYTESAVERTM PROM. Mastercharge and BankAmericard accepted have your own PROM programmer. But So you are ready to go. You don't with signed order. Cromemeo Specialists in computer peripherals One First 51., Los Altos, CA 94022 • (415) 941-2967 INTERNAL BUS liZ LINES) IMULTIPLEXER , I MAR ------1----1 ------j I I I RES£T. RUN/HALT. LINK r,-r----';:':::"'--::;::=:::J ----i ,; OMAR£O. INTR£O , I L INE I CPR£O .-----".:==:;-.::~_-~l +!iV 0 ---l I ~==:'::::'::;~=:-Il ---j co I co ------j C2 SKP

L XMAR. MEMSEL, OEVSEL, cpsnSWSEL ,

page 60

You'll be SHOOTING STARS in a fascinating logical game when you implement a vcrsion of Will ard Nico's program on your computer- On the cover is artist Robert Tinney's j mpres­ sion of a SHOOTING STARS addict.

A simpl e signal ge nerator mi ght suffice for a radi o man, bu t tcsting of computers and data commun ica tio ns hardware can requ ire more soph is­ page a ticated equ ipm ent. On e such itcm is a Serial ASCII Word Generator such as thc design Ronald Fin gc l· desc ribes.

How do you take adva ntagc of a In This ~~TI decade of soFtwal"e expcriencc? One way is to cmul ate anothcr computcr's Richard Simpson describes his first Prev ious al·ti cles have covered pr o­ architccture as Intersil has donc with Date With KIM, the new product from gramming and uses of some of th e its IM6100. Robert Nelson describcs MOS Techn ology which comes assem­ simpl er fu sibl e link read onl y memo­ a "Chip" Off the Olde PDP-8E in this bled and ready to use. This product, ri es. But how about el·asa bl e ROM s? first part of a two part article. wh ich is the basis of his system, marks Roge r L Smith pmvidcs so me More Can a computcr mc as urc voltagcs the first direct entry of a semicon­ Information on PROMs in cluding a method of programming th e wi del y with out hundreds of do ll ars worth of ductor manufacturer into the personal ava il ab le 1702 parts. hardware? Of cour se it can. The sccrct systems field . is to usc Microprocessor Based Analogi Are different microcomputel-s On e way to get a hard co py tCl"lni­ Di gital Conversion Techniques of thc equivalent? In n Source, RD Boudinot nal is to usc a I·cceivc onl y Teletypc sort dc sc ribcd in Roger FI·a nk 's articl e prese nts some exce ll ent bac kground unit. Usin g a l ~ in cxpensivc ASC II kcy­ on a very interface. information on mUltipl e sources of board and a UART circuit, Dr Gcorge comp onents and sys tems, th e mi xin g Hall er shows how to Serialize the Bits On e of th c kcys to crea ting an of products from different manu­ From Your Mystery Keyboard and asse mbl cr is dcfining exactly wh at thc facturers and methods of evalu atin g ach ievc th c sa me fu nc ti on a s a kcy­ input sourcc language wi ll look likc. products for use in a perso nal com­ board sc nd rcceive Tclctypc fO I· about An appropri atc choice whi ch simplifics puting syste m. half th e cost. writin g thc asse mbl er wi ll grea tly specd up th c proccss of implemcnting Of what use is a ni ce fri endl y Di ssa ti sfi ed wi th togg le swi tchcs? tfi e program. In hi s arti clc on th e perman ent memOl"Y? Dalc Ei chbauer Usc An Octal Front Panel simil ar to subjcct, Gregory Jewc ll shows how to co ntributes so me ideas on the use of Heml an DeMonstoy 's design to Simplify Your Homemade Assembler Read Only Memories in Microcom­ rcp la ce toggle sw itches with an octal using techniques which are applicable pu ter Memory Address Space. kcyboard . to most .

2 #9 MAY 1976 In lhe Queue staff

Foreground PUBLISHERS Virginia Pesch ke 28 MORE INFORMATION ON PROMs Man fred Pesch ke Hardware - Smith EDITOR Carl T Helmers, Jr 36 SERIALIZE THE BITS FROM YOUR MYSTERY KEYBOARD GENERAL MANAGER Hardware - Haller Manfred Pesch ke 38 AN OCTAL FRONT PANEL PRODUCTION MANAGER Judith Havey Hardware - l)eMonstoy PRODUCTION ASSISTANT 42 SHOOTING STARS Elizabeth Alpaugh Applications - Nico CIRCULATION 50 BUI lD A SERIAL ASCII WORD GENERATOR Deborah R Luhrs PUBLISHERS ASSISTANTS Hardware - Finger Cheryl Hurd 70 MICROPROCESSOR BASED ANALOG/ DIGITAL CONVERSION Carol Nyland Interface Techniques - Frank Deena Zealy ADVERTISING Elizabeth Alpaugh Virginia Peschke Background TYPOGRAPHY Custom Marketing Resources, Inc 8 A DATE WITH KIM Goodway Graphics New Product - Simpson Mary Lavoie Taimi Woodward 18 N SOURCE PHOTOGRAPHY Systems - Boudinot Ed Crabtree 24 ROMs IN MICROCOMPUTER MEMORY ADDRESS SPACE Custom Marketing Resources, Inc ART Systems - Eichbauer Bill MOrP.llo 60 "CHIP" OFF THE OlDE PDP-8/E: THE INTERSll IM6100 PRINTING Hardware - Nelson Custom Marketing Resources, Inc The George Banta Company 74 SIMPLI FY YOUR HOMEMADE ASSEMBLER ASSOCIATES Software - Jewell Dan Fylstra Don Lancas t er Harold A Mauch Nucleus Chris Ryland

2 In This BYTE 4 Trends in Applications BYTE magazine is published monthly by BYTE Publica­ 14 letters tions, Inc., 70 Main St, Peter­ borough, New Hampshire 35 Classified Ads 03458. Subscription rates are $12 for one year worldwide. 41,58 What's New? Two years, $22. Three years, 54 Clubs and Newsletters $30. Second class postage paid at Peterborough New HamP­ 56 BYTE's Bugs shire 03458 and at additional mailing offices. Phone 84 Puzzle Time, Space Ace Answer 603-924-7217. Entire contents copyright 1976 BYTE Publica­ 88 Book Review tions, Inc, Peterborough NH 03458. Address editorial cor­ 96 BOMB respondence to Editor, BYTE, 70 Main St, Peterborough NH 96 Reader's Service 03458.

3 Trends In Applications

Editorial by Carl Helmers Wh ere is the sma ll co mputer fi eld headed 7 which may not be individually recorded in In order to tal k about th e future of small history books. It is the individual human computers and their ap plicati ons, I have to being with responsible self interest at heart take on the ro le of a prognostic ator, a pre­ who discovers new ways to handle old prob­ dictor of futur-e trends and events. Prognos­ lems , invents new problems and their so lu­ tication is an art to wh ich mystic al or tions, creates works of art and leads to an mag ic al qualities are often attributed, but improved way of life . My views of the trends which in rea lity is nothing mor-e than a com­ in computing are thus oriented to the ways bin ation of r- easonin g and im ag in ation based in which computer systems technology can upon observation. The inj ection of im ag in a­ provide a better and more comfortable exis­ Prognostication is like an tion about possible trends and developments tence for you - the individuals who are in operational amplifier sys­ mak es pr'ognostication a bit different from a the knowledgeable vanguard of the new tem ... narTOW linear extrapolation of id entifi ed technology of personal computin g. In a trends. The im ag in ation co mponent is se nse, one of the most exciting aspects of heavily influenced by personal values and the present time is the prospect that we - philosophies, and represe nts a feedback of you, I, the rest of civi li za tion - are in the oughts and shoulds in to the cour-se of events early stages of one of the "go ld en ages" of as they deve lop. Prognostication is thu s a the planet's history, a time wh en art and method of extrapol ating observed current science are flourishing throughout the more trends into the future coupled with the advanced segments of the civi li zation. Com­ prognosticator's opinions of what should be puting is one important characteristic of this happening. In th e ter-ms of the scienti st or current age. engineer, progno stication is like an oper-a­ A computer system can be tional amplifier- syste m in which the input What Are Computers Used For? used to perform an old signa l is the observed set of trends and the So much for the preface. Just what are task using a new approach feedback network is the prognosticator"s which requires less per­ computer systems used for? How will the personal phil osophy and im agin ation. For characteristics of these uses develop as a sonal effort or work. example, in predicting the fate of civ ili zation, res ult of the constant improvement of hard­ if one is a congenital pessimist like the ware and software techniques? At the high­ memb ers of the Club of Rome, then the pre­ est leve l, I can identify two major facets of dictions will co me out claiming disa ster and the computer system's application: ruin . If one is an optimist abo ut the expand­ in g po ssibilities created by advancing tech­ • A computer system can be used to nology, then a totall y differ-ent character of perform an old task using a new prediction will r-esu lt. Wh en you li sten to approach wh ich requires less personal wh at I have to say, be warned that I have a effort or work. definite personal point of view regarding • A computer system can be used to computer technology and its proper uses, accomplish new tasks which were pre­ and that th is shapes the nature of the viously unattainable without the (This editorial is tal?en imagination content and the trends I se lect "intelligence" of the processor with its from the text of a talk to emph as ize. stored programs and conditional presented at the recent execution. "World Altair Convention" A Point of View held by MITS Inc in Albu­ Th e point of view from which I build In any given app li cation, there is not neces­ querque NM.j my conceptual model of a po ss ible futur-e sari ly a sharp distinction between the two state of the computer wor-Id is the view that facets of the computer's use. But this view the individual person is the most important illuminates two in teresting aspects of the component part of the human species. It is technology, and can be used in the analysis an observed fact tha t every grea t ad vance of a computer's importance to an appl ica­ made in sc ientific progress, eve ry great wor k tion . A couple of extreme examples will of art, and eve ry notab le human ac hi eve­ illustr-ate what I mean by these facets of ment is the res ult of th e wor-k of individual computin g. human be in gs, whether or- no t th e ul tim ate A good example of an old task which can source of the id ea, work or' ac hi evement can be ex pedited consid erably by use of a com­ be identified _ Wh at is true for the notab le puter system is the personal accounting task accomplishments is ju st as tr-ue for the ones of ba lancing a check book . In the modern

4 Freedom To The Altair!

Often,- the most difficult and expensive aspect of bringing up a working system is getting the data in and out of your computer to peripheral devices. The 3P +S I/O Module offers a practical and simple solution. And, this single, versatile card could very well handle all the input/output needs of your 8800 system. The 3 P I S has t wo 8-bit parall el I/ O ports, w ith full han dshaki ng logic, plus a se ri al I/ O port w ith a dat a range that ca n be set anywhere bet ween 35 and 9600 Baud. Shown on the left is just one demonstratio n of the t otal fl ex ibility of the 3P+ S. One pa rall el output port ca n be used to se t up contro l conditions for both pa rall el and se rial ports, as we ll paper tape as for se tting the serial I/ O ba ud rate under program reader co ntro l. O ne parall el input port is avail able for polli ng the Input Dat a fl ags and Ext ern al Devi ce fl ags, and for checking 103 the serial I/O error fl ags. modem A ddressin g of the module is se lectable t o any of 64 fo ur-address seg m en t s w ithin the range of 256 I/ O phone line addresses. A dd another dimension of fl ex ibility by using I either the UART and contro l port, or the two parall el port s, t o occupy the lower two re lative addresses. The 3P I S is the only m odule that w ill all ow 1.5 stop bits, required by the old (and less expensive!) m odel t elet ypes such as the 15, 28, or 33 TTY's. Our 59-page descriptive 3P + S Owner's Manual, w ith det ail ed sc hematics and applica tions, is ava il abl e for $4.00 (fully refundabl e upon purchase of a 3P I S). Kit Prices, with premium grade, low profile IC sockets, $135; without IC sockets, $125. Write Us, for details on our other compatible 8800 plug-in modules. Tech~ 6200-Y Hollis Street Emeryville, CA 94608 American way of life, the check book is one appl ic ations ideas, the inputs to the prognos­ of the most ubiquitous of personal financial tication process. instruments. Unless you li ve dangerously, you balance that check book once a month, Relieving Onerous Tasks whenever the bank statement comes. The Here the emphasis is primarily upon the method of balancing a check book is a bor­ "busywork eliminator" aspect of computer ing procedure which is well defined and systems; however, in many cases additional nearly universal in its use. By employing a functions are added to the basic task to computer system, this boring procedure can make the result a more comprehensive solu­ be expedited through automation . The tion to the problem. method is to use a program with interactive April 15 comes in a few short weeks . characteristics to enter the data, perform the Have you ever considered the prospect of an arithmetic, and - if you have hard copy - automated tax preparation process? The give you a record of the transactions on minimal automation is that of bookkeeping paper. Using such programs, the accuracy of and records coupled with the calcu lational A computer system can be the check book can in general be improved capab ilities of your computer. More elabor­ used to accomplish new and the time required each month can be ate aids to recovering as much money as tasks which were previ­ considerably reduced. This reduction in time possible is the use of your computer to ously unattainable without wasted on check books can be put to use in model the various ways of combining deduc­ the "intelligence" of the other more enjoyable tasks, thus improving tions and options such as income averaging processor with its stored your state of well being and happiness. The so that the tax you pay is reduced to the essence of this type of a computer app lica­ programs and conditional minimum within the currently appli cab le tion is use of the system as a "busywork execution. rules. (You can also pull off a bit of "cyber­ elimin ator," a term I first heard app li ed by a crud" intimidation the next time the auditor long time friend, Ken Hardwick. The busy­ calls: "We ll , sir, my computer is program­ work is more efficiently performed through med according to your rules, so it must be automation, thus minimizing the human right.") demands of the work. One of my major problems is keeping An example of the new task which could track of my record library. I li ke to listen to not previously have been accompl ished is classica'l music of the 18th, 19th and occa­ provided by every highly automated inter­ sional ly the 20th centuries. I have a record active game which is developed and run on a shelf which is heavily burdened with my co l­ com puter system . There is no way that you lection, and no way (outside of imperfect or I cou ld have played Space War or Star human memory) at present to tell whether I Trek, or a host of other games, without a already have a record or not when I am in a computer to store the logic, the responses record store. As a result, my col lection has and histories of the player's performance in several unfortunate duplications. An even­ mUltiple games. (An aside: One could play tual application for my own the games by manually executin g the logic, system will be the generation of a personal but that would be an onerous task beyond record catalog which I can bring with me the patience of most normal people.) Here wh en I go to record stores for a buying the computer system is a central require­ spree. The work involved in setting up a file ment for control of whi z bang hardware and card version of the system is so large that I'll logical progress of the game algorithm. With­ never do it ; but using my computer to keep A computer system is a out a speedy and intelligent little "Maxwell's track of the libl-ary, I can automaticall y central requirement for demon" to control the flow of electrons, generate an updated Iist after each tri p to the control of whiz bang you would be unable to play these games at the I'ecord stores around Boston. hardware and the logical al l. How many times have you thought about progress of a game the problem of mailing li sts? If you are in­ A Short and Incomplete Encyclopedia of algorithm. volved in a computer club's newsletter Applications opel'ation, the problem is probably at the The app li cation of a technology such as fore front of your consciousness whenever computer systems by individuals depends the newsletter is mailed; but lists are useful upon price reductions to the point where for a number of personal purposes as well. people can afford the systems without going Do you partake in the sending of greeting bankrupt. The first major breakthrough in cards which occurs each year? If you do, this area was provided by our hosts today, automation of the lis t of car-d recipients will MITS Inc, with the Altair 8800 introduced a greatly improve the time efficiency of that mere 15 months ago. To quote the market­ operation (although some purists might say ing blurbs, now that the "age of the affmd­ it lacks a cer-tain "personal" touch). Mailing ab le computer" has arrived, individual app li ­ li sts and files of commonly used addresses cations are possible. Here is a short and incomplete encyclopedia of contempol'ary Continued on page 90

6 about the fuel used for your protective You're the captain shields? Be careful. You're running of a crusading starship against out of time and fuel! But, don't the togic of your "8008" or "8080". Your give up hope. There are refueling mission : search-and-destroy. a random number stations out there. It's your job of atien ships, without running out of time, out to maneuver logically, strategically, of fuel, out of ammunition or out of the galaxy. carefully to complete your mission. Your galaxy consists of 64 quadrants, in which Here's the multidimensional microcomputer there are 64 sectors. You must plan your game you've asked for. It's got everything mission to destroy all aliens. But, every time you need for exciting intergalactic adventure. you move you lose a stardate and precious A total program in book form in machine fuel. Don't run into a roaming star that could language, for 4K memory: flow charts, damage your ship! Alld, don't forget how illustrations, and more. The program gives much fuel your warp factor uses! Suddenly, you a new, different game every time. Order Condition RED! Alien in sight! But, you don't your copy of SCELBI's GALAXY GAME BOOK know how big he is. Fire a phasor or torpedo? today. Only $14.95 ppd. Use Master Charge. He's damaged or destroyed. But, you've used Then blast off on your up valuable fuel . Does he fire back? How own mission in the galaxy.

1(ll~1 (OMIIlIJIIII

(O~llJlII~(j I~(. Pricing, specifications, availability subject to change without notice. Prices for U.S. and Canadian delivery at book mailing 1322 Rear Boston Post Road rate . Add $2.50 for each publication if Priority Air Service (U.S.) desired. Overseas include $5.00 for each publication for Milford, CT 06460 • 203/874-1573 Airmail service. Photo 1,' Wh en you first open your KIM-l box, you see a thick layer of docu­ mentation, including a large 'vWI/ chart of the system's hard'vWre details, an MCS650X Instruction Set SummaJY card, KIM -1 User Manual, Programming Manual and Hardware Manu al. Also shown in this picture is the KIM monitor listing copy which must be requested separately and is a must if you are to take advantage of KIM 's sub­ routines in applications programs. A Date with KIM

Richard S Simpson Here it is! In the November '1975 BYTE, KIM -1 printed circuit boa rd and attac h a 314 Second Av Dan Fylstra revi ewed th e ca pab iliti es of the +5 volt, 1 ampere power supply to th e 44 Haddon Heights NJ 08035 MOS Technology 6501 mi croprocessor chip pin edge connector pr ovided . You'll also in an article titled "Son of Motorola" (p age nee d a supply of +'12 V for th e casse tte 56). The article stated that "it will be three interface ; but a handful of flashlight bat­ to six months before you see (a 650'1) te ri es should work fin e since only about designed into a kit., ." We ll , MOS Tech­ 50 mA of +'12 V is required, and that onl y nology has go ne one better an d introduced wh en the interface is being used. not a kit, but a co mpl etely asse mbl ed, tes ted Th e name KIM is an acronym for Key­ and warranteed mi crocomputer with a pri ce boa rd Input Monitor. Th e name reall y des­ tag of only $2 50 1 Using the 6502 processo r cribes th e ROM executive routines, no t th e chip (a 6501 with an on-chip cl ock), th e wh ole unit, bu t it's a pl easant change fr om microcomputer features 1 K of RAM, 2 K of the manufactu re r's name foll owed by a ROM co ntaining the system executive, a number. It's also signi fica nt that th e sys tem compl ete audi o casse tte interface , a se ri al derives its name fro m its software. terminal interface,15 bidirectional 10 lin es, The KIM-l board can be operated in one a 23 key keypad and a si x di git LED di spl ay. of two modes: using th e on boa rd keypad Thi s compl etely asse mbl ed one board co m­ and LED di spl ay , or using a seri al terminal. puter has all th e programming fea tures of Th e key pad and hexadec imal displ ay is the 6502 at a very competitive pri ce . infini te ly eas ier and les s error prone th an If you have bee n hes itating over buyin g a throwing toggle sw itches and reading results mi crocomputer because of the di ffic ul ty of fr om bin ary lamp s. In fact, for program asse mbly and the fea r that it wo n't work entry and many simpl e appli ca ti ons, I prefer wh en you're fini shed, KIM- 'I is for you. Th e the 23 key keypad and bright LED di spl ay only assembl y required is to attac h six se lf to my slow, noisy Teletype, The keys have a adhesive pl asti c feet to th e back of the good, pos itive "fee l" to them (MO S Tec h-

8 Photo 2: The KIM-l proc­ essor as it is removed from its box. Th e MOS Technology product comes in a neat package which has one foam pad­ ded and static protected KIM-l board as its bottom layer. nology should know about such things, since si milar to the Kluge Harp of October BYTE If you have been hesitating they are a major manufacturer of chips for (page 14). Each line can be separately pro­ over buying a micro­ calculators). grammed for input or output by writing a computer because of the The switch in the upper right corner of status word into the correct memory difficulty of assembly and the keypad puts the machine in single location. the fear that it won't work instruction (not single cycle) mode. When The cassette interface is carefully thought when you're finished, then the switch is "on," each depression of the o ut and should be foolproof. Half of the KIM-1 is for you. "GO" button causes a single instruction of executive ROM is devoted to the cassette your program to be executed. Control is interface software, which includes rudimen­ then returned to the executive program in tary file manage ment an d sophisticated pro­ ROM and the contents of a ll six machine grammed equivalents to UART operation. registers (PC, X, Y, S, P, and the accumula­ This software allows mUltiple dumps to a tor) are stored in fixed memory locations singic cassette. A header written on each where you can easi ly examine them through output segment allows you to say, in effect, th e keypad or terminal and then "GO" to "find me program number 34 on the tape the ne xt instruction. This is an important and load it starting at location ... " A check­ capability, since if you just halt a micro­ sum is stored at the end of each segment and processor after each instruction there is no the user is immediately informed if the way of examining the registers (they're all computed checksum doesn't match when the inside the chip!). tape is read back in. You can even record I won't go into any detail on the instruc­ voice data between segments of digital tion set (see Dan Fylstra's article for that) data - the interface will ignore the voice. except to say that it is comprehensive. The This feature could be used to verbally record KIM-1 derives its name variety of addressing modes makes complex the instructions for a game and then auto­ from the software, a sig­ programming (especially when processing matically load and run it. Both high and low nificant indication of the lists) a lot easier. The 6502 architecture has leve l outputs are provided to interface with importance of good user 10 10 no register or instructions, so any any type of cassette recorder. It's not a vital support programs. memory location can become an 10 "port" if feature, but it indicates the care with which you build the hardware for it. KIM comes the entire system has been thought out. with a built-in 15 line bidirectional 10 The TTY interface is for a standard interface. TTL levels are acceptable, of 20 mA curr.ent loop (figure 1 shows how I course, and one of the lines can supply modified it for an RS-232 interface). A enough current (5 mAl to directly drive a unique feature of the software is automatic power transistor. The manual shows how to data rate detection. As soon as the system is use it to drive a small speaker for "micro­ powered up, the user types a RUBOUT processor music" programmed in a manner character on his termi nal . The software

9 PC artwork, and th e fa ct that the board is coated with a so lder mask, a plasti c coating which protects the prin ted wiring. To fur ther emphas ize their fa ith in KIM, MOS 2 0 mA CURRENT LOOP TO K IM - I Tec hnology gives yo u a 90 day warranty on RS- 232 RS- 2 3 2 CO NVER SI ON APPLICA TION CONNE CTOR CON NE CTOR the entire KIM system, not just the co m­ 4N 33 ponents. Mail- in re pair se rv ice is ava il abl e 1.3K 2 2 S even after the warranty expires. DATA Interval Timer

T Anoth er fea ture of KIM wh ich is finding 4 its way into more and more microprocessors is the inclusion of a prog ram controll ed 2 K +5 A interval timer. The KIM boa rd actuall y 4N33 conta ins two program mabl e t imers, bu t one -- DATA 3 R is dedicated to control the keypad and cassette inte rface. Any coun t from 1 to 256 ca n be loaded into the tim er by writ ing to the tim er's memory locati on. The use r can '---;..::.2 ____-+--0 u control th e scale of the t imer by pro­ gramming it to coun t eve ry clock pul se or to coun t eve ry 8th, 64th, or 256th clock pulse. This presca li ng of the coun ter is done by decoding the last tw o address bits fo r the timer. Thus, th e time scale is controlled by whi ch memory location is loaded wi th the Figure 7: One way to in­ calcul ates the data rate (anything from '110 count. You might consider usi ng a simil ar terface KIM- 7 with an to 1200 baud is accep table) and auto­ scheme wh enever you have to write more RS-232 compatible ter­ mati ca ll y adju sts all further conve rsation to than eight bits to co ntrol an external devi ce : minal is illustrated in this th at rate. No additio nal timin g stand ards or Ju st use the least significa nt add ress bi ts as diagram. Opto isolators are switches are requi red fo r the in terface. data. used to accomplish the The rea l bea uty of the terminal inte rface Wh en the tim er has coun ted dow n to coupling. Th e RS-232 pins is in the software, not the hardware. On ze ro, a software in terrupt is ge nerated, noti­ 7, 2 and 3 will be su ffici­ request, MOS Tec hn ology supp li es a com­ fy ing the program th at " time has run out." ent for terminals which do plete li stin g of KIM . All the executive ROM As soon as the in te rrup t is issued, the tim er not in volve handshaking,. software subroutin es are doc umented and continues to coun t past ze ro (in to negative on some terminals, pins 5, avail abl e to the use r referenci ng thi s we ll ­ num be rs) at th e clock ra te. If the program is 6, 8 and 20 o f the stand­ commented li sting. Thu s, to print the con­ se rvicing other inte rrup ts, it can read the ard RS-232 plug may have te nts of the accumu lator in hex on the co un te r reg ister to determine how long ago to be tied together to termin al requires a simpl e one-instructi on (in mac hin e cycles ) th e timer interrupt bypass handshaking sig­ subroutin e call. Th ose rea ders who have had occurred. nals. to in ve nt their own termin al interface soft­ ware will have a dee p apprec iation for thi s Memory Expansion capabi lity. Simil ar subrouti nes are provi ded If you are interested in ex panding the for reading charac ters from th e terminal or KIM memory beyond the '1 K provided, key pad, printing one or a strin g of ASC II yo u'll be glad to know that all the decoding characters, or wr itin g di gits in the LED for the first 4 K is prov ided ri ght on th e KIM displ ay. board . All you need to provi de is 4 K more To ro un d out the terminal interface, of RAM ch ip s and so me bu ffers. softwa re is provided in ROM to read and There arc two conn ectors on the KIM pun ch pa per tape if your terminal is so boa rd ; one called the expa nsion connec tor is equ ipped. Aga in, ca re has been take n to fo r adding memory and bus ori ented dev ices. prov ide checksu ms on the pun ched tape Th e second connector, ca ll ed the ap plication which is auto matica ll y ve ri fied when th e conn ector, interfaces directly to the outs ide data is reloaded. This kind of attention to wor ld . The ex pansion conn ector has all the detail reflects the hi gh ca li be r of the MOS address, data, and memory control signals. Tec hn ology offerin g. On e reason for thi s is The app li ca ti on co nn ector term inates the the fact that MOS Technology se ll s a size­ li nes for th e audio casse tte, th e te rminal abl e portion of the KIM units to indu strial sen d and receive signals, and the 15 10 lines. use rs. Thi s poli cy of bu ilding to industria l Conn ections are also provided so that the rather than consume r standard s is also keypad can be re moved from the KIM board ev ident in the qu ality of the PC board, th e and moun ted elsew here, a useful feature if

10 .... _ USE THIS FOR 8-5 I Send tlO:I ~ Please ship me __ KIM-1 Systems at a cost of $245.00 pe, system plus $4.50 fo, I ---_ SMhyiPcPhinecg'khoa,nmdloinngeyanod'dien'SUis,aennCcelos(eUd'Sf'oa,n$d(International sales subject to U.S. CanadaCommodity only) Cont,ol PA ,esidents Regulations add 6. % sales tax. I Add $20.00 pe, system for shipping and handling of international o,ders.) I

I IMOS TECHNOLO~ Name ______I I KIM-1, .950 Rittenhouse Rd. Add,ess I .. _ ';'0;10;_; ;O~ _";.. __ ';'. __ '~."

11 Photo 3: Wiring for Sta;,d you want to wrap up the KIM pl"inted circuit a few basic programming examples, includ­ Alone Use. With due re­ board in sheet metal along with a power in g an example which goes through the spect to the instructions in suppl y. entire design of a simpl e application using the KIM-l user's manual, the 10 lines. My on ly co mpl ain t is that no and addition of some mis­ samp le pr ogram was provided for the use of cellaneous parts, the re­ Documentation the programmable timer or the ROM execu­ suI ts will be a wiring har­ The documentation which comes with tive subroutin es. Also, the li sti ng of KIM ness similar to that shown KIM is thorough and comprehensive. Any shou ld have been suppl ied as a standard here. Wires have been regular reader of BYTE should have no item. attached and labelled for trouble following the details of the 200 page Also included in the pac kage is a pocket: GND, +5 volts and + 12 V. programming manua l. There are plenty of reference card for the in structi on set and a The audio cassette inter­ examples ; and the explanation of the ope ra­ wall size schematic of the entire I

12 IF YOU'RE NOT DESIGNING WITH A esc PROTO-BOARD:LOOK AT ALL YOU'RE MISSING.

Accessibility- All parts are instantly and easily accessible, for Utility-Models are available Quick signal tracing, c ircuit modifications, e tc . with or without built-in regulated Variety-A wide variety of power supplies (fixed or models are available with adjustable). capacities ranging from 630 to 3060 solderless tie-points (6 to 32 Economy- Eliminate heat and 14-pin DIP's), to fit every technical mechanical damage to expensive and budget requirement. parts. Save money by re-usi ng components.

Versatility- Use with virtually all types of parts, including resistors, capacitors, transistors, 01 P's, TO-S's, LED's. transformers, relays, pots, etc. Most plug in directly, in seconds.

Durability-All Proto-Board models are carefully constructed of premium materials, designed and tested for long, trouble-free service.

Expandablllty- Proto-Board units can be instantly inter­ connected for greater capacity.

Visibility-Ali parts are instantly and easily visible, for Quick circuit Whatever type of analysis and diagramming. electronic circuits you work with, you can do more in less time with CSC's solderless Proto­ Board systems, As fast and easy as pushing in or pulling out Speed-Assemble, a lead, you can design, test and test and modify circuits modify circuits at will. Com­ as fast as you can push in or pull out a lead. ponents plug into rugged 5-point Save hours on every terminals, and jumpers, where project. needed, are lengths of #22 AWG solid wire. In the same time you took to read this ad, you could be well on your way to assembling a new circuit. Adaptability- Use in design, packaging, inspection, ac, etc, For more information, see your CSC Works with most types of circuits, dealer, or write for our catalog and in many, many applications. distributor list. Flexibility- Use independently, or in conjunction with other accessories, such as scopes, esc PROTO-BOARD SOLDER LESS BREADBOARDS counters, CSC Proto-Clip 'M connectors, Design Mate oMtest equipment, etc. One Proto-Board NO. OF unit can serve a thousand MOOEL SOLDER LESS IC CAPACITY MANUFACTURER 'S OTHER applications. NUMBER TIE·POINTS (14·PIN DIP'S) SUGG LIST FEATURES PB·6 630 6 $15.95 Kit -10·minute assembly PB·l00 760 10 19.95 Kit - with larger capacity PB·l0l 940 10 29.95 8 distribution buses, CONTINENTAL SPECIALTIES CORPORAnON higher capacity PB·l02 1240 12 39.95 Large capacity. moderate price PB·l 03 2250 24 59.95 Even larger capacity; only 2.7¢ per tie· point EASY DOES IT 44 Kendall Street, Box 1942 PB·l04 3060 32 79.95 Largest capacity; lowest =5= price per tie·point New Haven, CT 06509.203-624-3103 TWX: 710-465-1227 West Coast office: Box 7809, San Francisco, CA PB·203 2250 24 75.00 Buiti'in l %·regu lated 94119.415-421-8872 TWX: 910-372-7992 5V, 1A low-ripple power Canada: Len Finkler Ltd., Ontario supp ly PB·203A 2250 24 120.00 As above plus separate 'h·amo + 15V and -15V internally © 1976Continental Specialties Corp. adjustab le regulated power Prices and specifications subject to change without notice. supplies

13 I would also lik e to join Mr Ryland's lament on the software vacuum. Anothel' gr ipe along these lin es is the " literature vacuum_" Th e manu fact urers suppl y basic information on their micro­ processor and that's abo ut it. Take, for exampl e, the 8008. It was around fo r yea rs with onl y In tel's in fo rm at ion un t il Martin Research came out with Microcomputer Design, a virtual encyclopedia on the 8008. It 's a fantast ic book, and I ca n't seem to find such an "encyclo ped ia" for any other micro­ processol-. Thi s makes it tough to compare letters microprocessors without buying a system based on that mi croprocessor, which gets ON THE TRUTH AND BEAUTY OF ex pensive. BLINKING LIGHTS Anyway, BYTE 's pretty good so far - (AND OTHER SUBJECTS) keep up the good work_ Establishing BYTE Com­ The "Total Kitch en In fOI'mation System" Brian Greiner mittees of Correspondence was a big hit sin ce I'm constantl y pestered Deep River, Ontario by people who want to know what I co uld To encourage corre­ possibly do with a computer in my abode. Where architectures are similar, tran s­ spondence among readers, Well done! lation between instruclion sets is quite beginning with letters re­ I am glad to see that BYTE is attempting feasible. Whenever assembly code takes ceived after May 7 7976, to reverse that great movement to I'id co m­ advantage of "special charaCl erislics " with BYTE will print the name puters of blinking li ghts. A com puter isn't a no direct equivalent in the targel machine of and full address of each computer without blinking li ghtsl Just com­ the translation, the result of a simple !rans­ published letter's author. pare an IBM 370(158 to a 370(155 (which it lator will be what could at besl be I erm ed If you do not wish your replaced) to see what I mean. Or how abo ut "inefficient" code. A complicated lronslalor address to be printed, the six foot light panel of a 360(l95? Lights which takes advantage of special cases would mark it "do not print my Foreve r! tend 10 eat up a lot of memory for its full address" or the logical There see ms to be a good deal of in terest program, just as a compiler or high level eq uivalent. in the ga me of Space War. I wrote a vers ion language does. One of the slowest mel hods of Space War for an Ad age AGT-40 graphics of all would be to implemenl an inl erpretive system a couple of years ago that was pl-e tty simulation program on the tel/get machine, successful. Based on my ex periences, I cou ld which ca n execute the instructions of the not guarantee that the game wi II be su itab Ie source machine program. Such simulal ions for runn i ng on cmrent 111 icros since the are typically 20 to 50 times slower than real computatio n overhead is fa irl y hi gh. How­ time execution on the source machine. ever , so me BYTE read el-s should be abl e to These comments are obviously nol I he make simplificat ions to the game which will last word on the subject. permit so me leve l of it to be played. A QUERY ABOUT THE Kevin Kelley AUDIO STANDARD Wappingers Falls NY I read with interest BYTE's pro posed ON CODE TRANSLATIONS cassette sta nd ard . I'm in agree mcnt with all AND VACUUMS the spec ifi cations bu t one: th c cho ice of I n yo ur ed ito ria l in Dece mber 1975 mark and space frcq uencies. I th in k thc BYTE yo u expound ed o n the need fo r a mark freq uency should be lower than the common high leve l language to fac ili tate rhe space fl'eq uency. exc hange of so ftware betwee n diffcrent I t is d esi rab Ie to be ab Ie to rec\d into the computer systcms. Another approach to the computer two or mme blocks o f data as one problem might be to wl-ite so me so rt o f "file." For in stance: To asse mbl e a prog ram transl ation or cross-assem bl er routine to on a tape that was produced by dumping convert, say, 8080 into the equivalent, say, several TVT pages - to do this without error 6800 ins tructi ons. Such a scheme would use rcquires that th e entire interblock gap less memory than a high level language appeal- to the co mputer as "mark." To do compiler and therefore be of more use to thi s with out wasting tape requ ires that the us ers with small systems (or budgets). I'm drive be stopped in the interblock gap . no t sure how va lid the scheme is and As th e standard is proposed, spec ial cil-­ th ought that perhaps you or BYTE's readers cuitry is required to "cdit" thc tape sto p­ could determine its validity. page . If the mark and space freq uencics are

14 The Enlightened Altair. Your Altair already has the allows scrolling at about 4 lines per intelligence, so let our VDM-l Display second, eliminating complicated timing Module make the best of its capacity program routines. At top speed, the to communicate. This is not a limited display scrolls through a dump of 65K "TV Typewriter." The VDM-l is an of memory in two minutes; that's about ultra-high speed output device, built 1000 lines per minute! right into your 8800 system. Multiple programmable cursor The VDM-l generates sixteen circuitry is built in. All 1024 cursors 64-charader lines in a large easy-to-read can be displayed at one time or begin font with both upper and lower case anywhere in the display. Thus, the letters. It contains 1K (1024) bytes of VDM-l can display white-on-black or random access memory, to which the black-on-white-perfect for many processor can read or write, just as video games! The VDM-l also features though the memory were an integral EIA Video output for any standard part of the system. As the information video monitor, or a television repair is written in, contents of the on-card shop can easily modify your own TV set. memory are displayed instantly without The VDM-l comes with free interrupting the operation of the terminal mode software, designed for processor. teletype replacement when used with Once the processor provides the BASIC or our own Resident Assembly display status parameters, the VDM-l system. (Powerful text editing soft- can be made to "scroll" ware and various game pack- its display upwards ages are also available or downwards. A from Processor built-in timer Technology Corp.)

Our detailed VDM-l Owner's Manual is available for $4.00, refundable with purchase of the VDM-l . Kit Prices, $179, premium grade, low profile I C sockets included. Write Us, for details on our other compatible 8800 plug-in modules. --~~~ Emeryville, CA 94608 exchanged, and no writing is done while the of the start bit. Obvio usly it is desirable to tape is not at speed, no added cir cuitry is identify this event as precise ly as possible. In needed. the circuit described in the March iss ue of Michael W Fellinger BYTE (and subsequent rev isio n in the April Boulder CO issu e and previousl y by Don Lancaster in BYTE No . 1) the ex istenc e of the lower Harold Mauch, one of the participants at frequency is indicated by the full cycling of the sta~dards conference, replies: a retrigge rable monostab le. The fact that it is all owed to time out indicates the presence of Mr. Fellinger raises several interesting the lower frequency immediately and un am­ points which were considered by the partici­ biguously. Consequently the high-la-low fre­ pants in the BYTE sy mpo sium. I think quency transition produces a relative ly significance depend s on the manner in which precise eve nt. On the other hand the low-to­ the cassette sta nd ard is impl emented ,and high ft"equency produces a conditio n some­ used . I beli eve Mr Fellinger is assuming the what like sayi ng " if yo u don't hear from me interblock gap pmduces the same kind of I'm not go ing." This leaves open the time The important point is the deciphered o utput as the "marking" tone interval in which to make a decision. Speci­ need for proper operating produces. This is not necessa ril y the case. fying that interval and ac ting on it in vo lves a procedure to prevent the First of all the interb lock gap created by slight circuit complication which is not "gap trash" from produc­ stopping and starting the cassette is full of necessary with the pmposa l as stated. trash caused by de-energizing and re­ ing errors. All of the above comments as id e, the energizing the record head while the tape is important point is the need for proper decelerating and acce lera t ing. This is hea rd operating pmcedure to preve nt the "gap on pl ayback as a "chirp." Even if the mark trash" from pro ducing errors. Wh en o pera­ and space freq uencies were in terchanged, the ting manu ally do not permit t he computer problcm rcmains since t he lowcr mark ing to utili ze the cassette o utput until well into fl'eq ucncy will "chirp" to the space fre­ the five second " marking" leader preceding quency and momcntaril y be interpreted as a each block of data. Id entify the end of each spacc. Second, thel'c is a precedent in data block with a s'pecial character. For example: communication 1'01' intel'preting the abscnce a line feed or ETX code if the content of the of signa l as a space. This is the id ea behind a block is text or an asteri sk (*) if the co nt ent " break." It is uscful because it notifies the is a program. This tells the computer to user o r eq uipm ent of a signal or lin e fault. inhibit further response to the cassette. The teleprinter I'u ns "open" or the "brcak" When operating automatica ll y (computer indi cator co mes o n. contmlling the tape unit remote contml Strictly speaking, eith er of the two fre­ input) have t he control pmgram wait for a quencies could have been chose n as the second or two of "clean" marking interval "marking" state and would have made very befo l- e accepting data fmm the cassette. If littlc difference if the sta tes wel'e dec iph ered the "no sign al" condition produced the same with a phasc locked loop o r other FM type output as the "marking" state, t hi s pm­ disCI"iminator. The type of cassette player ced ure co uld not be impl emented as simpl y with which this sta nd ard will be used "ro ll s and effectively as it is. off" or attenu ates the higher freq uencies. Consequently t he higher frequency tone will Harold A Mauch be so mew hat lowel' ampl itud e d uri ng pl ay­ Dallas TX back t han thc lower frequency to ne.; Since PAYING OHMAGE TO RESISTANCE thc signal leve l is most conveniently ad ju sted during t hc "marking" interva l preceding a The article on standard abbreviations, "K block of data, it is desirable that the mark ing or k?" in the January 1976 BYTE by to nc be the lowest amplitude of the two Manfred Peshka was interesting, but I tones. This would be the high freque nc y in noticed one major flaw in the abbreviatio n most casscttc playel·s. The lower ft-equency used for the unit of res istance, the o hm. tone would thcn always have a so mew hat Using the letter 0 is a ve l' y bad id ea as, when grcatcr amplitudc than the reference ad just­ it follows a number, it is difficult to identify ment Icve l inCl"c as in g the immunity to signal the number and the units_ For example, dropout. the article on blinking lights on page 53 had Choosing the hi gher frequency as the the following lin e: "The 222 0 I·es isto rs ... " "mar king" statc also permits c il'c uit eco n­ I fir st thought this to be a typogl'aphical omics if the dcciphcl'ing is done digitally. erro r until I read the sta nd Jl"ds article. It is A I'eco rd ed chal'actcr is "fl'amed" by d alw ays a bad idea to use 0 for anything lead in g "spacc" bit and trailing "mark" bits. when using the number 0 at t he sa me time The bcginning of a charactci' is denotcd by the mark-to-space tl'd nsition at the beginning Continued on page 80

16 .... get it ALL together!

Please Contact One Of Our Distributors­ Computer Way-Huntington Beach, California Bargain Electronics- LaMeda, California Comput-O-Mat Systems-Rye, New York ~SJl~EFlE The Computer Workshop, Inc.-Montgomery County, CORPORATION Maryland ~ Computer Mart Corpora ted-Boston, Massachusetts ~ 940 North 400 East The . Computer Mart of New York-New York City, North Salt Lake, Utah 84054 New York Comunicaciones S.A.-San Jose, Costa Rica (801) 292-8466 Computer Country- Denver, Colorado DELIVERY: 60-90 DAYS n ource

RD Boudinot PhD The practice of one co mpany suppl yi ng much. At this point, the vendor wo ul d be Computer Sciences Corp an assembly or a component which is equiva­ yielding 500 percent profit on the upper end 6565 Arlington Blvd lent to a product of anoth er com pany is machine and only a narrow margin on the Falls Church V A 22046 call ed second sourcin g. In fact, there are lower end mac hine. Th e stage is set for often many alternatives to the original second sourcing by companies who offer supplier; thus th e title of this article. We "twice the capabilities at half th e price." shall discuss the history of second sourcing, It mu st be noted that many other factors, why second sourcing has flourished, what costs, and risks, affect a manu facture r' s the buyer's risks are, and how to approach pricing. His re al decision is a functi on of the decision process within the second market research of how many mac hin es he source environment with specific application might ex pect to sell, how much it will cost to personal microcomputer systems. to design, fabricate, and market them, how many will be upgrad ed initiall y or later, etc. The Price Umbrella All costs for mac h in e des ign are spread over The fi nancial basis for second so urcing is some number of mac hin es (usu al ly the num­ the nature of the marketin g strategies that ber of high probability projected sales ) along have been hi storically ap pli ed to computer with fa brication costs and mar kup. Then the systems. Pri cing has bee n a ga me of bal­ final pri ces are establi shed. ancing th e capability of a product aga in st its If sa les are as good as or better than man ufac turing cost. Th e strategy has bee n to predicted, fat profits may resu lt. However, a produce a se ri es of systems · where each large ri sk is always prese nt, as the dem ise of system is more capable than the one below. the computer production divisi ons of GE The low end mac hine usua ll y se ll s at a sma ll and RCA has shown. profit. By design ing each system for eventual upgrade, it is possibl e to double the power History of Second Sourcing of the entry leve l mac hine with a di spro­ Second sourcing has bee n with the elec­ For integrated circuits, portionate hard wa re cost. For example, tronics industry for a long time. It has long physical and electrical twice the capability may be ex pected to cost bee n expected that several man ufacturers equivalents sometimes the user sli ghtl y less than tw ice as much. If would make a 10 uF, 16 V tubular capaci­ have identical designations the increased capabili ty is achieved by tor or a 1000 0, 0.25 W resistor. The sa me simply changing a CPU clock , the profit - and sometimes have appl ies to tubes and transistors. One may potential is obvious. Th e difference between purchase a 6BE6 manufac tured by GE, completely different a Burroughs 2500 and 3500 is an exampl e of RCA, or Sylvani a, among others. Likew ise a numbers. a board-change upgrade . 2N2222 may be purch ased from Motorola, Fi gure 1 depicts a predicted end user RCA or Te xas Instruments. Finally, among price versu s capability using an arbitrary 1.8 discrete components, electrical equivalenc y factor. In this figure, 16 times the ca pabili ty is often cross-referenced between a given costs 10.49 as mu ch to the use r. It see ms manufacturer's line of tra nsistors and other like a bargai n, but manu facturi ng 16 times transistors not manufactured by him. A th e power may have onl y cost twice as common tactic is to make a ge neral purpose

18 Figure 7: End user cost versus capability. 16 End user cost is shown on horizontal axis for 8 increasing capability on the vertical axis. In 4 the example, increasing the cost by an 2 arbitrary factor of 7. 8 doubles capability.

dev ice which meets or exceeds the requ ire­ syste ms existed for a decade, it was not until ments of a large number of devices. The the late 1960s that viable second source Radio Shack line of 37 transistors which altern atives were developed and marketed cross reference to 20,000 other designations with sign ifi cant success. is an exam pl e. The first lesson many people I BM rece ived sub stantial competition learn about second sources in discrete com­ from vendors offering: (1) peripherals, such ponents is that electri ca l eq ui va lence does as disk drives and controllers and remote Second sourcing is univer­ not guarantee ph ysical equivalence. terminal controll ers, (2) core memory, and sal for discrete com­ Attempting to fit an eq ui va lent part with a (3) terminals. Several law suits followed, the ponents - generally any TO-3 case into a circuit board where a fa il ed most famous of which was Telex versus IBM 1000 resistor will do, and TO-92 case was ori gin ally used teaches a and IBM' s subseq uent countersuit. Telex in many circumstances any accused I BM of monopolizing, and IBM lesso n wh ich is ra rely forgotten. 0.01 uF capacitor will suf­ The adve nt of the in tegrated circuit accused Telex of stealing proprietary infor­ fice in an appropriate brought greater attention to second sourc­ mation. application. ing. The 9000 series and 7400 series pio­ The efforts to divert I BM business con­ neered by Texas In struments and Fairchild tinue from a variety of sources. In all areas were quickly copied, once success was ev i­ of peri pherals, core, and te rminals, alterna­ dent, by num erous competitors. IC s, like tives to I BM equi pm ent ex ist; in some cases discretes, became fair game; confu si ng eq uiv­ there are many choices. As with com­ alent numbers were eliminated and eve ryone ponents, altern ate devices sometimes bear now numbers a 7410 as a 7410. designations which disclose relationships and Th e S1998 clock chip manufactured by sometimes they do not. For exampl e, an Itel American Microsystems, Inc (AMI) is an 7330 disk system replaces an IBM 3330 disk electrical and physical equ ivalent of the system. On the other hand, an alternative to MM5316 made by National Semiconductor an IBM 3270 CRT is the ADDS 980A CRT. Corporation. However, the 11 03A made by AMI is an equivalent of the Intel 11 03A 1 Second Sourcing Kb RAM . In LSI (large sca le integration) Second sourcing in the minicomputer second sources sometimes are numbered the environment has been aim ed primarily at same as their equivalent, and sometimes not. peripherals and core. Sophisticated terminal sub systems are not genera ll y used with Large Computer Second Sourcing and ce rtainl y not in the The potential profitability of second quantity to make the area as lu crative as it is sourcing was described above. Such profits in the large sca le computer environment. can be realized only in a successful market. Among peripherals, alternate sources are Just as IBM became the giant controlling often derived si mply by modification of an more large computer sales than all its com­ interface . If a periph eral maker who supplies petitors, likewise, it became the obvious and brand X designs a tape reader and punch or somewhat vulnerable target for second lin e printer whose interface is easily modi­ sourcing. Although large computers and fied, then supporting brand Y with the same

19 Increased production with a minimum of additional overhead means more competitive prices and re­ duced manufac turing costs.

devi ce requires onl y a small ca pital in vest­ For two reaso ns, main memory is cur­ men t. In creased produ ctio n with a min imum rently the major second source item in the of addi tional overh ead means more com­ mi croprocesso r area. First, if RAM is pur­ petitive pri ces and redu ced manufac turing chased fro m the supplier of the mi cro­ costs. computer kit, 8 KB of memory costs more The second source altern ati ves in mllll ­ than the bas ic kit in almost eve ry case. co mputer core memory deve loped as a result Seco nd , after terminals, main memory is of two fac tors. First, the pricin g strategies second in imp ortance to an operative sys­ applied to large sca le co mpu te rs were also te m. The memory avail abl e limits the size of applied to minicomputers. Therefore, each programs and data buffe rs and determines successful minicompute r created a second the level at which programming mu st be so urce market. Prim e exampl es are th e Data accompli shed, i. e. , machine language, assem­ General Nova 800 or 1200 and the Di gita l bler, , or compil er. Equipment Corporation (DE C) PDP-8 or 10 control board s represe nt a unique area PDP-ll. Other less wid ely so ld sys tems (in of second sourci ng. Almost no such parall el terms of total sa les ) such as the Hew lett exists in large sca le computers. Some special Packa rd HP-21 XX se ri es, have also bee n the purpose board s are avail abl e for mi ni­ obj ect of second sourcing wh en a large computers, bu t they are mostl y limited to amount of ex pensive, addi tional core is speci al AD , DA, or multiplexer interfaces add ed to a computer for the I-es ul ta nt rather than conventional 10 interfaces. increase in produ cti vity. Thi s type of machine ge nerall y supports mUl t ipl e use rs in Risks to the Second Source User Isolating the real problem a timesh aring mode, wh ere the number of We have di scu ssed the wid e va ri ety of in the midst of five dif­ use rs effi cientl y handled is a fun cti on of the second sources ava il abl e, ranging from di s­ ferent vendors claiming amount of core memory ava il abl e. crete components to peripherals, mi cro­ their hardware meets their Second , advances in so lid state memory processors, and 10 board s. The ri sks and provided alte rn ati ves to traditi onal core specs (yet the "system" probl ems are just as diverge nt. memory. Benefi ts in cluded cost and speed, won't run), could exceed Di screte comp onents such as resistors and a lt ho ugh th ese parameters gradu all y anyone's patience. capaci tors are in trin sica ll y low in risk. Th ey imp roved from margin all y to sub stantiall y in either work or th ey do not. Their per­ favo r of 501id state memory. formance parameters are read i Iy measu red and littl e confu sion .is poss ibl e. Lik ew ise, Microcomputer Second Sourcing more co mpl ex co mponents such as tu bes The second so ur ce mar ket in mi cro­ . and transistors are eas il y checked for alm ost computers is directed at memory and 10 all parameters in co nventional testers. board s. From all indi cations, te rm inals may More compl ex devices su ch as TTL and soon be included in this marke t. Currentl y, CMOS chips are fa irl y eas il y tested in term s the peripherals market is limited because of sw itching fun cti on, vo ltages , and loads tapes, di sks, readers, and punches cos t more onl y at low speeds. Failures at circui t speeds th an mi crocomputers. The () nl y in ex pensive are not easi ly detected on a uni t basis. devices fo r extern al storage now ava il abl e are However, susp ected devices are re lati ve ly th e audi o casse tte type. The peripherals easy to repl ace, and they se ld om fa il. mark et ca n be expected to expand rapidl y, Computer per ipherals represent the as will the altern ate so urces . Mi croprocessor potential fo r enormous problems . So me clas­ use rs will co ntinue to apprec iate th e signifi­ sic finge rp ointing co ntests have ce nte red cance of the chip name: Mi croprocessor. around systems consisting of an IBM main­ Compu ters are " processors," whi ch req uire fr ame wi th bra nd A ta pes, bra nd B disks, inputs and produ ce outpu ts. Inputs are brand C core, and brand 0 te rminals. Iso­ primaril y ori ginated fro m te rminals or pe­ lating the rea l probl em in th e mid st of five riph erals and outputs mu st be passed to diffe rent ve nd ors claiming their hardwa re te rmin als or periph erals. A microprocessor meets their specs (yet the "system" wo n't alone has fe w uses. run) , could exceed anyone's patience.

20 Core memory followed a slightly dif­ Documentation includes not only adequate ferent pattern and the risks have changed. construction instructions but also debug Initially, some mainframe vendors dis­ instructions for use if the unit is inoperative claimed any warranties and refused to pro­ after construction is complete or if it fails vide maintenance service if another vendor's later. Detai Ied instructi ons regard i ng the use core memory was utilized . The courts did of all switches, in the case of the main­ not concur, and mainframe vendors were frames, and software tips, in the case of forced to allow second source memory to be peripherals, are also important. Determining integrated with their systems. One problem the adequacy of support is the most difficult was thus relieved, but the fingerpointing of all the eva luations to be made. One rule possibility still exists. Additional micro­ of thumb is to rely on more than one source processor systems' considerations will be of information if at all possible and never to discussed in the next section. use second hand information. 10 and other special purpose boards are Th e product cost is the easiest to deter­ susceptible to the considerations discussed mine. For investments of significant size, a above . Additional considerations rel evant to phone call to check the latest price is often their selection are discussed in the next very pl"Ofitable . Unlike most market areas, section. microprocessor and related components are It is clear that some of the problems in continually decreasing in cost. The Novem­ using second sources in large scale or mini­ ber issue of BYTE Iists the cost of a 4 KB computer systems do not equally apply to memory board for the ALTAIR 8800 at microprocessor systems. Larger systems are $264. A conversation with an ALTAIR generally maintained by their vendor(s). represe ntative in early November 1975 Microprocessor systems tend to be main­ placed the price under $200. tained by their builder/integrator. Performance characteristics may not be readily available. Wh en buying a stereo How to Approach the Decision Process amplifier, one of the parameters always compared is RMS power in watts. In the The following discussion will address microprocessor environment, all timing data microprocessor systems only. The five con­ is not alwa ys published with the advertise­ siderations in second source selection are: ment. RAM memory varies almost on order • Support of mag nitude in speed. Among the 2102 RAM series alone a 6: °1 relationship exists. • Cost • Performance The speeds of 2102 devices are listed in table • Physical characteristics 1. • Electrical requirementso Physical characteristics include height, width, depth, and weight. If a board won't Each will be discussed separately in terms physically fit in an enclosure, electrical of its relationships to the decision process. A compatibility has little meaning (unless you methodology for deriving a selection that are prepared to r·ewire by hand) . Also to be leaves the weighting factors up to the indi­ double checked are pi ug and socket com­ vidual will be presented. patibility and heat dissipation. Electrical characteristics are very impor­ The support area includes: tant considerations. The primary parameters • Initial documentation are current req uirements and the impacts on • Services available from the factory or the bus. Each microprocessor kit that regional offices, such as consu Itation includ es a power supply in the cabinet has when a problem arises an inh eroent limiting factor. Arbitrarily, we • Other integral hardware and software. will assume that al 0 A, 5 V supply is

Table 7: 2702 RAM access speeds.

Device Designation Access Time

2102 1000115 2102-1 500115 2102-2 65O l1 s 2102-8 1500115 2102·A 350 11 5 2102-A-2 250115 2102-A-4 450115

21 Table 2: Expandabilityexample.

Components System A Components System B

Basic System 2A Basic System 2A Two 10 Boards 2A Two 10 Boards 2A 12 Memory Boards 6A 6 Memory Boards 6A Total Required 10 A Total Required 10 A System A expandable to 48 KB System B expandable to 24 KB memory memory

included. If the "bare-bones" pmcessor microprocessor system that does not have a requires 2 A, and each 10 board requires 1 self-h osted, high level language avai lab le at A, and two 10 ports are required, then the an appropriate cost is unacceptable. Soft­ current load before adding core memory is 4 ware considerations are also appropriate for A. This leaves 6 A avai lab le. Now we have a special interfaces and devices. If supporting decision point based on present and future software is not avai lab le, it sometimes proves memory and 10 requirements. If the vendor to be a long tedious job to develop sophisti­ 4 KB memory board costs $200, and the cated handlers. Finally, firmware {software second source board cost $100, the choice stored in read only memory (ROM)) may be may seem obvious. It is often the case that a major consideration. Firmware monitors vendor boards requ ire low current. We'll use and assemblers are available for M6800 Microcomputers are truly 0.5 A as an example. The second source systems via the vendors and for 8080 sys­ an idea whose time has example will be 1 A. If no future require­ tems through alternate sources. Dis­ come. ments for special interfaces are planned, advantages of firmware vary slightly de­ then the decision is a straight forward pending on whether ROM or erasable pro­ eval uation of core memory expandability. grammable read onl y memory (EROM) is The expandabi lity problem ju st described is utilized. If a ROM is "burned in," no depicted in table 2. Given the same basic options ex ist for easily modifying or system, configuration A, using vendor sup­ patching the firmware. Such a requirement plied boards, is expandab le to 48 KB of results when a bug, or program error, is memory. detected or when new applications or hard­ Configuration B is only expandable to 24 ware make modifications desirable. It is KB memory using the availab le powersup­ hoped that the latter case is more common. ply . The decision is further clouded if two One approach worth considering for a sys­ more 10 boards are contemplated for the tem that is expected to grow in the future is future, resulting in the new limi tations of to use a firmware monitor and bootstrap table 3. The decision then is based on loader to load all operational programs, whether 16 KB of core, the limitation of compilers, and interpreters from an external configuration D, is sufficient for project storage device, such as a cassette. There are requirements. The second main electrical certainly cases, however, where a firmware characteristic to consider is the number of assemb ler or BASIC interpreter is the best TTL loads an alternate board will drive. In a choice. bus system al lowin g expansion up to 20 boards, each board should be ab le to drive A Decision Matrix Example 20 loads. Otherwise, a limitation to expand­ A final example, to be used on ly as an ability is introduced. example, is included. Because each selection Software characteristics include the avai l­ must be made on an individual basis, the abi lity of vend or or second source software. actual companies and parametric data are If a hi gh leve l language is required, any not included in the example.

Table 3: Expandability example.

Components System C Components System D

Basic System 2A Basic System 2A 410 Boards 4A 4 10 Boards 4A 8 Memory Boards 4A 4 Memory Boards 4A Total Required 10 A Total Required 10 A System C expandable to 32 KB System D expandable to 16 KB memory memory

22 The first step is to establish a method of Table 4: Sample decision matrix. Weighting scale of 7 to 70,' 70 is best. ranking each contender in each area: sup­ X designates unacceptable. port, performance, physical characteristics, electrical requirements, cost, and software. .;:;u'" ... Within each category, the criteria of excel­ u '"c:: '"<: .~ lence must be established by using discrete co iij '"E "0 t E -co ...'" ~ measures where possible. If the scales to be 0 .u_ cou .~ . ~ co $ C. ... ::I 0 '" ...... ~ ..c:", '"... used wi II range from 1 to 10, the n the C. 't: > co u C" ..... 0'" .- 0 ::I ..c: ..c: 0'" 0 u (/) w~ [I:'" criteria for achieving each ranking must be c.'" c.U U (/) en ~ ~ established. Then the re lative weightings for each characteristic, perhaps 50 percent cost, Brand A 2 2 3 2 8 4 19 5 40 percent electrical, and 10 percent soft­ ware, must be established. Fina ll y, mini­ Brand B X mally acceptable standards must be deter­ Brand C X mined for each category. It is possible for an item to ra nk worse than the lowest incre­ Brand 0 X ment by being a physical impossibi li ty. In table 4, items flagged with an "x" are Brand E X unacceptable. Thus we see that brand B does not meet the minimum electrical specifica­ Brand X 2 5 4 3 2 4 20 6.4 tion, brand C exceeds the cost range, brand D wi ll not fit physically into the cabinet, Weighting Factor 0 0.4 0 0 0.5 0 .1 and bra nd E was unacceptably slow. Fur­ ther, in this example, support, physical characteristics, and electrical characteristics have a weighting factor of 0.0. They were phenomenon. In fact, because second factors for elimination but not comparison. sources establish product cred ibili ty and The decision was binary: Acceptable or guarantee users that someone wi ll be ab le to unacceptable. supply them, many chip makers actuall y This decision matrix techn ique is of seek a second source. (2) The be nefits to the considerable value, even if one has no source user are primarily monetary; how­ confidence in the weighting factors, because ever, there are hazards, and they must be it forces a systematic comparison and evalu­ considered before making a decision. (3) ation of all characteristics of the choices. It Fi nall y, it took the large scale computer has been used by the au thor on numerous market a decade and the minicomputer occasions and has dispe ll ed numerous mis­ market several years to develop second conceptions. The hard facts lined up aga inst sou rce markets. Using the date of intro­ each other can be most revea ling. duction of the ALTA I R 8800 in Janu ary 1975 as the date of initial general avail­ ability, the microcomputer industry has Conclusions achieved this maturity within its first year of In conclu sion, there are th ree key points existence. Microcomputers are tru ly an idea to be made. (1) Second sourcing is a healthy whose time has come.-

GLOSSARY M icroprocessor: This means any of the large sca le integration (LSI) computer designs currently ava il­ Capab ility: I n a broad sense, the capability of able and used for inexpensive personal computi ng a system is a weighted sum of the individual systems. features which make a system easv to use and rel iable. In a more specific sense, a particu­ Second sourcing: The practice of "foll ow the lar capability of a syst em is a point of com­ leader" as appl ied to the electronics and computer parison with equiva lent points on other sys­ technology. One company designs and markets a tems. (A general capability might be the ability of product; then a second (or third, etc.) company a system to accomplish a particular application; a takes the external functional specifications and specific capabi lity m ight be the mass storage creates an equivalent circuit which wi ll accomplish medium employed in a system.) the same functions. The second sourcing is often sanctioned by licensing arrangements. The second Firmware: I n the context of this article, firmware source company for any given product is always in means software wh ich has been written into a read a following mode, since the product's innovator is on ly memory. A second definition of firmware by definition the first !irm in the marketplace. applicable to microprogrammed machi nes is the set of microprograms required to emulate a specific V endor: The commercial term for the source of a CPU architecture. product is "vendor."

23 Read Only Memories in Microcomputer Memory Address Space

Th e rel ocating loader takes the input data Dale E ichbauer f!"O m the peripheral dev ice, conve rts its Digitech addresses fr om a relocatabl e form into PO Box 6838 Grosse Pointe MI 48236 absolute bin ary and stores it in memory at sel ected addresses. It might typically per­ The important advantages In an earli er BYTE (see "Read Only form some error checking and turn over of a ROM in microcom­ Memory Technology," page 64, Dece mber execution to the loaded obj ect program. puter use are nonvolatility 1975), Don Lancaster in troduced the use of Monitors and Debuggers and write protection for read onl y memori es as a too l for des ign at whatever data it holds. the hardware level. This appli ca tion is but System programs suitabl e for or, prefer­ one of a mul titud e of uses fo r ROM s, abl y, in ROM include such things as system especi ally wh en you co nsid er a ROM as part monito rs, as se mbl ers, device drivers, soft­ of the main memory address space for yo ur ware debu gg ing programs, hardware fault compu ter. The important advantages of a testing and di ag nostics. The system monitor ROM in mi crocompu te r use al·e nonvolatil­ (which is often avail abl e fr om th e compu te r ity and wri te protection fO!" wh atever data it or CPU manufacturer) is a program which holds . It rei ieves the use r from th e chore of handl es and coordinates mac hine operations ree ntering freq uently used programs each at a bas ic level. A monitor allows the user to time hi s mac hine is fil·ed up or after data is con trol the entire system's operation with accid enta ll y modifi ed. To pu t it simpl y, simple, powerful comm ands . A typical moni­ your data is a/ways in the mac hin e wh enever tor mi ght have commands for the crea ti on, A bootstrap or absolute you need it. modifi ca tion, and deletion of fil es, device loader is a simple program Th e two most co mm on and well kn own ind ependent 10 (from th e user's po in t of which just transfers data uses of ROM s are fo r holdin g loadel·s and view), automatic asse mbl y and execution of from an input device to syste m programs. Th ere are two basi c ty pes programs, relocation of programs and data, of loaders: th e bootstra p (or abso lu te ) and memory. To keep it in and so forth. Device dri vers (short programs th e more compl ex relocatin g loaders. The which handl e the software end of periph eral your machine, it should bootstrap or abso lu te loader is a short in terfacing) are rarely changed once ideally be in ROM . program which is used to load the mac hine deb ugged and are need ed for almost all 10 fo ll owin g a power interruption or any other operati ons, making them a natural for ROM type of catastrophi c fa ilure whi ch wipes storage . Software debu gg ing programs, often out the main programm ab le memory. manufac turer supplied, provide a mea ns of (Unl ess your mac hin e's prog ramm abl e detecting and correcting programming fa ults. memory is of a spec ial des ign, it is vo latil e, Th e many forms and fea tures which they mea nin g th at its data is los t if power to the possess are too ex tensive for any detail in memory is lost fo r more than a ve ry short thi s articl e. On e rather unusual but poten ­ time. ) Thi s loader program req uests input ti ally useful appli ca tion of ROM storage is in fr om a peripheral de vi ce such as a paper tape storing hardware testing and di ag nos ti c System monitors are prime reader or cassette dri ve whi ch co ntain s P!"O ­ routines . Tes ting of th e microcomputer targets for ROM grams needed fo r machin e operati on and often can be done by simpl e programs wh ich technology. stores this inpu t data in p!"Ogrammabl e execute an algo rith m and co mpare the re­ memory . Afte r togglin g all YO UI· data in from sui ts with the correct answer. It can also be th e fr ont panel fo ll ow in g powel· in terrup­ done by complex programs which execute tio n, one ca n eas il y see bo th th e co nve ni ence all functions of the mac hin e, ofte n in cer­ and ve rsa tili ty of such a bootstrap loader. tain critical combinations peculi ar to the

24 machine under test. At first it would seem han d translate the program. Use of ROM to that there is no need to put these routines in store the simul ator makes the si mul ation memory of any type until needed except for mode virtua ll y a part of your hardware, conveni ence, since it would be an infre­ pmtected from destruction due to power quently used task . Consider, however, the loss or accidental modification during pro­ case where a fa ult whi ch is to be located is in gram executi o n. some way rel ated to or impeding the inpu t or the programmab le memory's storage func ­ tions. If this is the case, then the testing or Subroutines If you plan to do a lot of diagnostic routine may never ge t into the Another exce ll ent use of ROM s is the simulation, the si mulator machine in usable form to do its job. storage of subroutines. Multiply, divide, program might be a logical double prec ision, floating poi nt, co nversion choice for ROM . With dili­ Simulation and Emulation formu las and other algorithms, plus addi­ gent software preparation, tion al software impl emented functions are in your humble 8008 could Simulation is another use of ROM s in the mac hin e as soon as power is applied. microcomputers which will become more simulate a mighty 360/370 Wh en they have bee n impl emented in ROM, (although much much common as CPU capabilities increase, ma­ such subroutin es act as if they were really more slowly in execution). chines proliferate, and users demand more of hardware instructions. their machines. Simulation is the technique of interpretively executing an in struction set Security Data for one computer desi gn using a program running on a second "host" machine. For Anyone asse mbling a mu lti user co mputer example, a host machine with an 8080 CPU system, es pec iall y one with remote access, co uld execute obj ect programs from another shou ld co nsid er using a ROM for main­ machine which uses a 6800 or PACE CPU (or ta ining data pertin ent to the var ious use rs of even IBM 360/370 software for those wi th the system. Thi s data mi ght include such delu sions of grandeur) . A ROM cou ld con­ th in gs as access codes, what devices and tain the simul ator progra m to execute the memory seg ments are authori zed for use by foreign in struction set. With an appropri ate which indi vid uals, the particular user's sys­ general purpose simulator program it might te m pri oriti es (for job and device schedu ling even be possibl e to change the in struction by the operating sys tem), and so forth. The set of a machine by referencing a different operating system co nstantly needs such in­ ROM data table for each simul ated mac hine. formati on to make decisions concerning the A library of often used Of co urse all such simulations run much handling of tasks fOI· the current users. A subroutines is another more slow ly than the ac tual speed of the ROM pmtects th is information from modi­ item which would make a computer in qu estion . fication or destruction, whether accidental good candidate for ROM A related technique is emul ation, in or mali cious. storage. which microprogrammed hardware i mpl e­ ments an instruction set directly. Some Tables microprocessors are intern all y micropro­ An exce ll ent use for ROM s is the storage gramm ed, but the user typica ll y wi ll not see of tables of va lu es. There are many tables, this fact externall y. Microprogrammed com­ such as loga rithmic, sin e, cosin e, and tangent puters are fair ly wid es pread in contemporary va lu es, whi ch could be of use to almost any techno logy. And with nea rl y every micro­ computer hobbyist. A program need ing one programmed computer, there is a control of these va lu es then has to merely look up store impl emented in some form of ROM . the des ired valu e in the appmpriate ROM But the majority of microprocesso r chips tab le. Such tabl es ca n also be used to speed currently avai lab le do not give the us er a up hi gh precision ca lcul ations by giving an faci li ty to use microprogra mming tech­ ap pr ox im ate startin g value. Those faced with niqu es. Th e in struction set is typica ll y co m­ interfac ing a non-ASC II encoded te rminal or mi tted by the manufacturer during the other peripheral (such as EBCD IC, Selec tric, Data tables for character des ign stage; so, to perform the software of a Bau dot, or Holl erith) to their microcom­ code conversion via soft­ fore ign mac hin e, a software simul ator mu st puter may find that a character conversion ware can be stored in be used as describ ed above . tab le, imp lemented in ROM, is part of the ROM if they are used a With such simulations, the slowness of solution, as Don Lancaster points out in lot. operation is due to the fact that a ser ies of BYTE # 4. However, whi le hi s co nversion in structions (a subroutine) must be executed scheme uses a ROM which does its co nver­ on the host computer in order to ach ieve the sio n of data apparentl y at the peripheral effect of a single in struction of the simul ated itse lf, in many cases it wo uld be useful or machine. Even though a simulated co mputer des irab le to perform thi s conversion in the may be 10 to 50 times slower than the rea l mac hin e. Such a co nv ersion method wou ld mac h ine, such slowness is often to lerabl e even make it possibl e for two term inals, when compared to the time it wou ld take to whatever their codi ng scheme, to commu-

25 nicate with each other using the microcom­ quency is dependent on the speed of the puter (and its ROM) as a sophisticated microcomputer and the number of outputs interpreter. And, if data rates, character per cycle required for a suitable waveshape. lengths, and line lengths are different, then such a setup offers the added advantage of Error Checking and Arithmetic using software and memory as a buffer to Two other possible uses for ROMs which compensate for these differences. may be implemented either in main memory or as processor add-ons are a parity ge ner­ Waveforms ator/checker and a fast multiplier/d ivid er. A If your machine is equ ipped with a DA table for all possible combinations of a word converter (digital to analog convener), then can be referenced to generate the parity bit a RoM ca n contain a set of valu es which, or a flag check bit. Multiplication and wh en output through the DA, will produce a division may also be done as table functions. custom waveform. In many cases special Several of the IC fast multipliers currently waveforms may be generated in this fashion available are actually modified and specially which would be impractical to generate, programmed ROMs. using any other method. Both the frequency The article in BYTE #4 also introduced and amplitude of the waveform may be Programmable Read Only Memories controlled completely by software. With an (PROMs), which are the most useful type of 8 bit word and a DA with 10 volts full sca le ROM for computer hobbyists, since a cus­ output, resolution of 0.04 volts per bit is tom pattern costs very little to have pro­ obtainable. The max imum ge nerated fre- grammed or the user can doH himself.-

Bibliography on ROMs and PROMs

These articles are found in engineering publ ica­ Dowell of Monolithic Memories , Inc in the June, tions, which should be available in well stocked 1974, Computer Design . Here you'll find a sh ort corporate or' universitv libraries. survey of the current bipolar ROM technology and "PROMpting a minicomputer " bV Robert High­ some examples of use, including a ROM controlled tower of Motorola in the February, 1973, timing pulse generator under microcomputer Electronic Engineer/Systems Engineering Today. command. This is a description of a bootstrap (or absolute) "Mixing Memories in Minicomputer-based Can· and a relocating loader for a PDP-11 which is trol Systems" by Richard A Farwell of Data stored in ROM. General in the February, 1973, Control Engineer· " PROMs, Proms, Promises " by Jerry Metzger in ing. This is a discussion of how various memories June 16, 1975, Electronics Products Magazine. are used in D ata Genera l mi nicomputers and the If you want to use your This is a good introductory article on. PROMs and costs and tradeoffs involved; a section on ROMs computer as a low fre­ includes a wall chart of all PROMs ava ilabl e, both lists a number of uses outlined in this article. bipolar and MOS, as of its publication. Manufacturer's data sheets on particu lar devices quency (audio) waveform "PROMs - a practical alternative to random contain a wealth of information and are free for generator, you could burn logic" by Dave Uimari of Signetics in the January the asking. As an example, the data sheets below a set of standard waveform 21, 1974, Electronic Products Maga zine. H ere is an excellent article on PROM theory and use which contain listings of ROM and PROM lookup tables patterns into ROMs, using also includes lengthy discussions on programming, of values. software to drive a DA such as how it is done, be st place to have it done, From AMI: conversion device at vari­ typica l large and small scale eq uipment, etc.; list s PROM programming services and eq uipment • A 256 word sine and cosine table in the ous frequencies. manufacturers. S8614 supplemental note. " D es ign er's Guide to Semiconductor Memories • An arctan table in the S8771 supplemental -Part 1" by Robert J Frankenberg of Hewlett­ note. Packard Data Systems in August 5, 1975, EDN • A 512. word sine and cosine table in the magazine. This is a good introduction to all types S8772 data sheet . of memories , ROMs and PROMs included ; it also • A Hollerith to USASCII conversion t able in includes an excellent list of references. the S8457 data sheet. "Read-Only-Memories in computers - where • A USASCII to Hollerith conversion t ab le in are they headed?" by Roger R Dussin e of Com· the S8539 data sheet. pagnie Honeywell Bull and Robert M Zieve of Honeywell Information Systems in the August 1, From Nitron: 1972, EDN magazine. Th e authors provide an overall survey of ROMs, their use in computers, • A Hollerith to ASCII conversion t able in the mentions use for fault location, bootstrap, so m e NCM 1112 data sheet. unusua l types of ROMs, and things to come in • A Selectric to ASCII to Selectric conversion table in the NCM 1151 data sheet. ROM technology. • A 512 word sine and cosine table in the "Programmable ROMs offer a digital approach NCM 1141 data sheet. to waveform synthes is" by Karl Huehne ·of Motorola in the August 1, 1972, EDN magazi ne . From Computer Microtechnology: This is a detailed description of ROM wa,:p. form synthesis. • ASCII to EBCDIC and EBCDIC to ASCII "Large Bipolar ROMs and p/ROMs R evolu· conversion tables in the CM 2850 sup­ tionize Logic and System Des ign" by Joe Mc- plemental note.

26 We doubt it.

When it comes to microcomputers, Altair from MITS is the leader MITS doesn't stop with just supplying hardware and software, in the field . either. Every Altair owner is automatically a member of the Altair Users The Altair 8800 is now backed by a complete sele'ction of plug- in Group through which he has access to the substantial Altair software compatible boards. In cluded are a variety of the most advanced memory libraly. Every Altair owner is informed of up-to-date developments via a and interface boards. PROM board . vector interrupt. real tim e clock. free subscription to Computer Notes. Every Altair owner is assured that and prototype board. he is dealin g with a compa ny that stands firmly behind its products. Altair 8800 peripherals incl ude a revolutionary. low-cost fl oppy disk After all. we didn 't become the leader by messing around. Shouldn't system. Teletype.'" line printer, and soon-to-be-announced CRT terminal. you send for more informa tion or visit one of our Altair dealers? Software for th e Altair 8800 includes an assembler, text editor. moni­ tor. debug. BASIC, Extended BASIC, and a Disk Operating System. And this software is not just icing on the cake -it has received industty r------, wide acclaim for its efficiency and revolutionary features. I Altair Coupon But MITS hasn't stopped with the Altair 8800. There is also the I Please send me the foll owing information : Altair 680 -complete with memory and selectable interface - built I 0 You r latest catalog and price li st around the new 6800 microprocessor chip. And soon-to-be-announced : 0 Softwa re information package are the Alta ir 8800a and the Alta ir 8800b. I 0 Please in clude a list of your dealers I NAME ______: ADDRESS ______I C ITY ______STATE & ZIP ____ I L ______~

[fiJ~ 2450 Alamo S.E. Albuquerque, N.M. 87106 More Information on PROMs

Roger L Smith Have you ever wanted to program your While production read only memories are 4502 E Nancy Ln own "read on ly memories automatically so manufactured from specific masks provided Phoenix AZ 85040 that you cou ld copy programs into a per­ weeks in advance by the user, a PROM can manent storage device? This article concerns be programmed in seconds automatically by one kind of erasable read on ly memory, the the user reducing turn-around time to a In tel 1702A and its minimum. pin compatible equivalents the National MM5202AQ and MM5203Q. These Types of PROMs memories store 256 eight bit bytes of data Let's examine some of the different using a method which allows total erasure PROMs in use today. There are a number of and reprogramming many times. The options for the memory elements used in method of programming is complex while making programmable read only memories _ erasure can be accomplished simply by including nichrome fuse links, diode exposure to an ionizing radiation (such as matrices, stored charge devices, amorphous ultraviolet light). When you need to store semiconductors, polycrystalline silicon fuses, large tables of data or programs, use of such etc. Note that all these memory elements read only memories is a very attractive can be electrically altered in order to store alternative to more elaborate types of memory provided a method of programming data. A few can also be restored to the is available. These erasable read on ly original condition; these are used in erasable read only memories (EROMs). memories are economical as well, since Figure 1 illustrates how the basic typical prices at the ti me of this article are in PROM operates. The first thing to notice is a the $20 range. decode circuit. This decodes the address to select one of the 32, 64 (or whatever) word Why PROMs? gates in the memory matrix. The decoder is A few years ago, it became apparent that simply an array of mUltiple input gates with the different users of read only memories one input for each address bit and one gate (ROMs) had many special app li cations wh ich for each memory word. required only one or two copies of any given Each decoder gate drives a mUltiple data pattern. The technology of mask pro­ emitter word driver transistor. In series with grammed read on ly memori es is only cost each emitter is a memory element which in effective for large production runs of parts this case is a fusib le link. In this example, we so an alternative had to be found. A means have a 4 bit word so each word driver was needed for the user of read only transistor contains 4 emitters, each con­ memories to inexpensively field program one nected to a fusible memory element. The or two copies of a data pattern. This is memory elements then connect to the where Harris Semiconductor, a division of appropriate bit sensors and output buffers (4 Harris Intertype Co., entered the picture and in this example) . coined the term PROM for programmable When a particular word is addressed, its read only memory, a Harri s trademark that decoder and word driver transistor turn on. has become almost generic through wide­ If the fuse link is intact, the bit sensor turns spread use. A PROM then was simp ly a on and the output line for that bit goes low ROM that could be programmed in th e field. (logical zero). If the fuse link is open, the

28 DECODE VCC

ADDRESS PROGRAM ,..-_____, C I R CUlT LINES

.----0 OUTPUT BIT TO OTHER BITS SENSE AMP FROM OTHER WORDS

G2 Figure 7: This partial schematic of a PROM shows the circuit for one word and one bit. This PROM would be the nichrome fuse linl? type. sensor and buffer circuit remains off and the base junction is forced beyond normal output is high (1 bit). avalanche and into secondary breakdown. Not shown in the diagram are the chip Aluminum flows into the junction causing a select (or chip enable) lines. The chip select base to emitter short that in effect leaves a lines are typically connected to the higher base to collector diode. These PROMs are order address bits. When many PROMs are programmed using 2.5 us pulses of 200 mA utili zed, an external decoder circuit (such as current that are alternated with sense pUlses. 74154 or 7442) might be used to decode After a number of pulses, a change is sensed several high order address bits and decide and the programmer moves on to the next which PROMs to enable or select. Essen­ bit. tially, the chip select inputs are used to turn on the output bit sensors and buffers when the PROM is selected. PROMs use open Erasable ROMs collector or tri-state output buffers so that they can be bused. The buffel's are in the A memory element used by I ntel and high impedance state until enabled. National Semiconductor is a stored charge type called a FAMOS transistor. FAMOS The nichrome fusible link type of pro­ stands for floating-gate avalanche-injection grammable read only memory is manufac­ MOS charge-storage device. It is similar to a tured by Harris, Signetics, Texas Instru­ P-channel silicon gate field-effect transistor ments, and Motorola. From this basic with no contact on the gate. Programming nichrome fuse PROM, other types have the F AMOS type of memory element re­ evolved. The next natural step was to poly­ quires a pulse more negative than -30 volts crystalline silicon fuses, as made by Intel and applied to the drain or source P-N junction. Advanced Micro Devices. These are easier to High energy electrons are injected into the build in the semiconductor fabrication proc­ floating silicon gate. With this negative ess because the fuse links are also made out charge on th e gate, there is current con­ of a semiconductor material. The silicon duction between the source and drain of the fuses are burned open in the same manner as F AMOS transistor. the nichrome fusible link type. Due to the semiconductor structure of the memory The primary advantage of this stored elements, these PROMs often require a more charge type of memory element is that the elaborate programmer than the nichrome charge can be removed later by ex posing it fuse type. to a high intensity, short wavelength ultra­ Another development in memory ele­ violet light. The radiation creates an ionizing ments is the Avalanche Induced Migration action that causes the charge on the floating (AIM) device patented by Intersil. Fabrica­ gate to leak back to the substrate. These tion of these elements is similar to TTL logic erasable ROMs (EROMs) are provided with a which simplifies the manufacturing process. transparent quartz lid to allow exposure to The elements are basically NPN transistors the radiation. More about erasure later. arranged in a matrix with common collectors For the really dedicated computer on the X-lines and common emitters on the hobbyist who wants all of his system moni­ 'V-lines. In programming a logical one, a high tor, resident assembler, text editor, etc. in current is forced through the desired transis­ PROMs because they are all working as tor from emitter to collector. The emitter to desired (at least this week), erasable ROMs

29 Table 7: Intel 77D2A EROM input lIoltages. A2 24 Vdd Read AI 2 23 Vee Pin Mode Program Mode

AO 3 22 Vee 12 Vee 5V ground 13PROGRAM 5V Program pulse 01 4 21 A3 (-46 V to -48 V) 02 5 20 A4 14 CS ground ground 15 Vbb 5V 12 V 03 6 19 A5 16 Vgg -9 V Pul sed Vgg input 04 7 18 A6 (-35 V to -40 V) 22 Vee 5V ground 05 8 17 A7 23 Vee 5V ground 06 9 16 Vgg 24 Vdd - 9 V Pulsed Vdd input (-46 V to -48 V) 07 10 15 Vbb 08 II 14 Cs about $170) or through In te l distributors. An inexpensive eraser can be built for about Vee 12 13 PROGRAM $15 using a General Electric ultrav iolet lamp #G8T5, a ballast transformer, single pole switch, a push button starter switch, and Figure 2: Pin-out diagram Intel 77D2A mounting hardwMe. The lamp is mounted in EROM. AD - A 7 = address inputs; D7 - D8 an enclosure an d the E ROM is pl aced under = data output (for READ modd data input it at a di stance of 0.25 inch. The lamp is (for PROGRAM mode); CS = chip select. turned on for about 6 minutes for complete eras ure, but use caution not to expose anyone to the ultrav iolet rays. are the logical choice. Currently ava il abl e for around $20 are the 2 Kb Intel 1702A and CA UTION: When us ing an ultraviolet National MM5202AQ and MM5203Q. All of lamp, you should exel'cise extreme these E ROMs use the F AMOS stored charge care not to expose your eyes or skin to memory elements and can be erased with the rays. Short wave ultrav iolet li ght ultraviolet li ght. These E ROMs have one can cause sun burning of the eyes and definite advantage over regular ROMs; they skin. have been tested before delivery. Accord in g to a National Sem iconductor Intel 1702A EROM engineer, the ul traviol et erasable EROMs The In te l 1702A EROM is produced in a cannot be in defin ite ly erased and repro­ 24 pin du al in line package with a trans­ gram med. After about 52 cycles of repro­ parent qu artz li d. In te l also makes a 1602A gramming, the device wi ll no t work properly ROM which is identical to thel702A except unless it is recond iti oned by baking in an that it has a metal li d and is not erasab le. All oven at 400°F for 45 minutes. After recon­ chips undergo complete program min g and ditioning, the program-e rase cycle can be functional testing on each bit position prior repeated another 52 tim es, although the to shi pment. The 1702A and 1602A are National Semiconductor engineer both 256 word by 8 bit, entirely static MOS recommends only 35 cycles between ROMs with no clocks I·eq uired. All inpu ts recond ition ing. and outputs are TTL and DTL compatibl e, but the outputs are tri- Ieve l to all ow output EROM Programming busing capabi li ty. Memory expansion is We'll describe two possible methods of simplified by use of a chip se lect input programming these EROMs. The first which disables the chip when high (log ical method is highly recommended, wi ll prove one) . Figure 2 shows the Intel 1702A pin least ex pensive, and is extremely simple - connections whil e tab le 1 shows the vo ltage order it programmed or send it in to be inputs for the read or program modes. programmed I Many EROMs are not simple to program. Erasure Methods The 1702A type EROM requires a series To erase EROMs such as the 1702A, Intel (over 32) of 47 vo lt programming pu lses of 3 recommends using the Model S-52 ultra­ ms duration with 20 percent duty cycle for viol et lamp avai lab le from Ultra-Violet each word. Also, at the beginn ing of each Products In c., San Gabriel CA (cost is pulse, the address mu st be complemented.

30 Manual programming is out, and the cost of If this isn't convincing enough, or if you an automatic programmer may not be j usti­ plan on going in to the business, or if you're fi ed. Remember also that in order to erase just plain curious, you may want to try the programs you must buy some type of circuit of figure 3 that can be bu il t to ultraviolet lamp. A PROM/E ROM pro­ program the 1702A, 5202AQ, etc. The grammer could, however, prove to be a very programmer is a simp lification of the Intel interesting and fund raising activity for an MP7-03 programmer and is designed to work industrious computer club. with the 8080 program of table 3. Crowbar

Figure 3A: 27 K STANCOR palao

10K 27K +

l' 10K

;J;'200 lOOK pF

4.7K

~~~PLY >------....-- ....----. 51'F + 5 +5V 10V i SUPPLY )>-!t--=r..... -l ... 'T' 1> TI GND~) J; 27K +5 27K

7405 +5 7405 IK +5 +5 20K 20K +5 +5 20 K ....-"I'(V--,

4.7K .05 12K .02 10K 4 .7K

1/2 o 6 4 1/2 0 o DM9602 DM9602 3.25mS 1551'S 3.0mS

a 4 Q 7 Q 9 a ~ ______~------~A Figures 3A and 38: Com­ puter controlled PROM "Xl---<_------i B PROGRAM programmer for stored ENABLE (TOPART B) charge PROMs. Unless

'--_____~6 otherwise noted, transistors are MPS-A06 or 2N3722 or equivalent. Pin 74 of ICs to 5 V, pin 7 to BIT 2, OUTPUT PORT 4 ground.

31 Figure 38:

PINS ON PROM + 5 V ",O-"A...!.T-"A--"-,--,-,,, jSOCKET 6.aK 4 100 AOORESS BIT S

OUT PUT PORT 3 h~I:------<.. OOO 2

9 r- fF---1f---<00 2 H~V'v---', 10

1+~+--~004

1+"'-+----( 005

1+"--+---< 006

r' f+'-'"-+--, O 0 7 H-'\Mr--< »--+-.. I 0 7

(TO PART A)

32 Figure 4: Program flow chart. and protective features have been removed, so you need to check your circuit voltages before each use. Input data and addresses should be in positive logic (i.e., logical one is INITIALIZE: a positive level) . The five monostables are CLEAR REX; A, SEr ADDR DISABLE pOCGJW.'MER contained in three 9602 dual one shot integrated circuits. Do not substitute the 74123 dual monostable which is very suscep­ tible to noise and therefore may not operate properly for this application. These mono­ SEr m:M ADDR, GET stables generate the proper programming DATA AND LClM 'TO pulses when enabled by bit 2 of the output ERCM port 4. The pulses are repeated every 15 ms (by the first 9602) and the length of time

Table 2: STARTP~: SEr POCGRAM ENABLE BIT Programmer Connections 1. Connect 8 Address lines to output port 3 of your 8080 computer (port 3 lines 000 to 007). 2. Connect 8 Output Data lines from output port DELAY 520 MS FOR 2 to pins 1, 5, and 11 of the three 7404s for P~'lD data to be programmed (port 2 lines 000 to POCGRAM DATA 007). 3. Connect computer input port 2 to pins 4,8, 12 of 7404s for reading EROM data for com­ parison (port 2 lines 100 to 107). S'roPP~: 4. Connect bit 2 of output port 4 to pi n 1 of RESEr POCGRAM ENABLE 74L 10 (near the PROGRAM ENABLE switch) . BIT 5. Connect 5 V and -9 V supplies from computer or other source and connect the 110 VAC power line.

Programmer Operation DELAY 9 MS FOR P~'lD S'roP DO NOT TURN POWER ON OR OFF WHILE EROM IS IN SOCKET. 1. Turn on computer and programmer. 2. Load EROM program at location 001/000. 3. Load desired EROM data at location 002/000. 4. Insert EROM into socket. Single step first five instructions of the program (to disable Program Enable). 5. Set computer at address 001/000, switch on Program Enable switch, and start computer. 6. At Halt, turn off Program Enable switch and remove EROM. TEST DATA Programmer Calibration Test ALL POWER ON , AND NO EROM IN THE SOCKET. 1. Be sure Program Enable switch is OFF. YES 2. Measure 5 V at pins 12, 13, 15,22, and 23. 3. Measure 0 V at pi n 14. 4. Measure -9 V at pins 16 and 24. 5. Ground pin 2 of the 7405 IC and measure 0 V at pin 24 of the EROM socket. 6. Ground pin 4 of 7405 IC and measure 58 V at '!URN INI'E LIGHT CN, pin 15. SAVE BAD DATA ADDR, 7. Ground pin 6 of 7405 and measure 47 V at pins llOEMENI' ERroR TABLE 12, 14, 22, and 23. Adjust pot on NE550 for the 47 V. Pin 13 should remain at 5 V. Measure 9 V at pin 16. 8. Ground pins 6 and 8 of 7405 and measure 47 V at pin 13.

IN:REMENr ADDR, GET NEXT m:M ADDR YES

33 each word is programmed is determined by program is loaded into your computer start­ the software. This will be 520 ms with the ing at octal location 001/000, and the data program given here, so about 35 pu lses are to be written into the EROM is loaded generated per word. Note that all bits in a starti ng at location 002/000. If any errors in word are programmed at one time. programming are detected, the Interrupt At first glance it wou ld appear that th e Enab le (INTE) light will light and the EROM voltages generated by this programmer don't addresses of the invalid words will be stored seem to agree wi th the vol tages specified for consecutively starting at octal lo cation programming the 1702A in the manufac­ 000/000. The program runs for about 2.25 turer's documentation. However, if you look minutes and then halts. If yo u have an 8008 at the vo ltages with respect to Vcc (pin '12), system, you can translate the operations and they do agree. Foll ow the programming change the timing loops accordi ngl y. For instructions of table 2 exactly and be sure users of other machines, comments and a you don't turn power on or off wh i Ie an flow chart are provided to aid in translating E ROM is in the socket. The monostabl es the 8080 code for your ma.c.l"\~~\e . lhis could be triggered and program unwanted EROM program can be entered and operated bits in the EROM. Also, turn the Program entirely from front panel switches or, for Enable switch to off when inserting or those with a teletype, punched tape, TV removing EROMs. Tabl e 2 gives a complete typewriter, etc., the program ca n be modi­ list of programmer connections and a cali­ fied to suit. In any eve nt, check that the bration test. timing loops are correct for YOUI' particul ar The a uthor wi ll program A program for use in your 8080 type system befo re attempting to use the pro­ the 1702A EROM fo r $5. All he needs is the PROM, an computer to program the 1702A (or eq uiva­ gra mmer to actually program EROMs. octal or hexadecimal listing of lent) is shown in table 3 and the accom pany­ Good luck with the PROM /EROMs fOl" the desired program and $5. ing flow ch art is shown in figure 4. This your computer.-

Tab/e 3: 8080 program for EROM programmer.

001/000 257 XRA A ;CLEAR REGISTER A /001 117 MOV C,A ;SET ERROR TABLE ADDRESS /002 137 MOV E,A ;S ET FIRST EROM ADDRESS /003 323 004 OUT 4 ;D ISABLE PROGRAMMER /005 041 000 002 LXI H,DATBK ;SET ADDRESS FOR DATA TABLE /010 323 003 START : OUT 3 ;SET EROM ADDRESS /012 176 MOV A,M ;GET DATA FROM TABLE /013 323 002 OUT 2 ;LOAD DATA TO EROM /015 076 004 MVI A,004 ;SET BIT 2 = 1 /017 323 004 OUT 4 ;ENABLE PROGRAMMER /021 006 260 MVI B,260 ;S ET DELAY COUNT /023 026 000 MVI D ,OOO /025 025 DELAYl : DCR D ;DELAY FOR 520 MSEC. * /026 302 025 001 JNZ DELAl /031 005 DCR B /032 302 025 001 JNZ DELAYl /035 257 XRA A ;C LEAR REGISTER A /036 323 004 OUT 4 ;DISABLE PROGRAMMER /040 006 003 MVI B,003 ;S ET DELAY COUNT /042 025 DELAY2: DCR D ;DELAY 9 MSEC. * /043 302 042 001 JNZ DELA2 /046 005 DCR B /047 302 042 001 JNZ DELA2 1052 333 002 IN 2 ;READ PROGRAMMED DATA /054 276 CMP M ;C HECK DATA - IS IT CORRECT? /055 312 064 001 JZ ALLOK ;JUMP IF OK /060 373 EI ;BAD DATA - T URN INTE LIGHT ON /061 173 MOV A,E ;GET DAT A ADDRESS FOR DATA /062 002 STAX B ;STORE BAD DATA ADDRESS /063 014 INR C ;INCREMENT ERROR TABLE ADDRESS /064 076 377 ALLOK: MVI A ,377 ;CHECK IF DONE PROGRAMMING THIS CHIP /066 273 CMP E ;AT L AST ADDRESS? /067 312 100 001 JZ STOP ;HALT IF DONE /072 034 INR E ;INCREMENT EROM ADDRESS /073 043 INX H ;SET NEXT DATA ADDRESS FOR DATA TABLE /074 173 MOV A,E ;GET NEXT EROM ADDRESS /075 303 010 001 JMP START ;CONTINU E - PROGRAM NEXT WORD /100 166 STOP: HLT ;HALT - ALL DONE

002/000 (EROM DATA) DATBK: BLK 256.

* Note: T ime delay loops are shown for an ALTA IR 8800 with a clock frequency of 2 MHz. Total loop time = 11 .5 usec for an apparent frequency of 1.3 MHz.

34 Classified Ads Available for INTROduciNG TIiE I ndividuals and Clubs MICRO-ALTAIR Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed or printed notice to that effect. The notices are free of charge and will be printed one time only on a space available basis. Insertions should be limited to no more than 100 words. Notices can be accepted from individuals or bona fide computer users' clubs only. Commercial advertisers should contact Virginia Peschke at BYTE for the latest rate card and terms.

WANTED: Back issues of BYTE. I need one each A DREAM COME TRUE : Two model 35 ASR of issues :;-1, 2. 3, and 4. If you are willing to se ll console Tele types complete, in superb condition, anyone of these, please write stating price . K T $1000 each . Also 450 reels of computer tape 2400 Matthews, 5959 Student Union Mall, Vancouver feet, most wilh tape seals. $2 each. Pick up, cash BC , Canada V61 1 K2 16041224·5672. only. Kenneth CHopper, 4021 S Bowman, Indi­ anapolis, IN 46227, 131717B7·B661 SWAP OR SELL : TIL 3020.27 inch 7 segment LED display, TIL305 7 by 5 matrix LED displays, FOR SALE OR SWAP : 12 sheets of double sided, TIL360 4 digit calculator type displays, 4.255 MHz 1 ounce copper circ-uil board, 3/32" by 11 1/4" by crystals, regulator boards with +12, +6, and -6V 16 1/2". $12. Les Harrison, 1201 Country Club outputs, AA Ni·Cads, Cal- Tex CT5001 and Rd, Wilmington NC 28401, 763·5915. TC5005 calculator chips, Model 26 KSR Teletype, . 10 and misc. TTL and linear ICs . Will swap for FOR SALE : Two factory made Honeywell H-112 microprocessors, memories, TVT-II boards. etc. computers. Memory : 12 bit core. Mainframe: Also need software for Mostek MK5065 micro­ Front panel with switches and tights, power supply processor and would like to contact other 5065 Clnd cabinet. Software : Editor, Symbolic users. Please send address and phone number to C Assembler, Monitor and Debug, Diagnostics, TIC­ The complete Computer System Lee , 1221 Miller Rd, Apt 234, Garland TX 75041. TAC-TOE . Schematics and timing specs. Fully that requires just a keyboard functional, need only interface to your peripherals. CORE MEMORY SYSTEM FOR SALE. 16,000 Build or buy interfaces fr('lm Honeywell. ASR-33 + and TV monitor for use. words, 32 bits per word, with schematics. 2 master HS Papertape reader interface $225 extra. 4 K CPU The MICRO· ALTAIR is: units and 2 slave units available, also small drum IExpandablel $900. B K CPU $1200. Terms : The hardware - video lerminal Inlerlace board. CPUIROMI rremory unit. Will sell real cheap to best offer I get Money order and shipping and freight charges RAM board . backplane. power supply and cablnel : in cash and or equipment in trade. Call David Kohl, collect. Specs only. $10, C Zieml

Video Terminal Interlace - characters are stored In on-board memory Entire screen may be read or wrillen in 20 milliseconds . Sottware Includes a text editing system with scrolling and insert and delete by characler or hne VTII32 32 characler line 5t60.00 kil 5230 .00 assembled Bits About BYTE Binders VTl164 64 charaCler hne 5185 .00 kit 5260 .00 assembled VTIISK Socket kit tor VTI kil 5 15 .00 Delivery - 30 days

Analog Interlace - lor 2 channels 01 analog OUI~UI with 10 bits 01 reso­ Debbie's in a bind. She can't answer all lutions 10-10V or :!:. 5V with bipola r option !. 6 bits at lalched digital output and 8 analag comparators lor sottware controlled AID conversions . your binder requests and do everything else ADAll 1 analog output 5135 .00 kit 5175 .00 assembled ADAI2 2 analog outputs 5185 .00 kil 5235 .00 assembled too. When we make the binders in the fall, ADA/SK Socket kit for ADA kit S 10.00 we'll let you know about it in BYTE.- Delivery - 30 days All prices .and specilications sulljecltachange withoul nalice Pflces are USA only Calil reSldenlS add 6% sales lax . AdIl5 °·';, sllipping . hanlliing . anll insurance

POLYMORPHIC SYSTEMS 737 S. Kellogg. Goleta, CA 93017 18051967·2351

BiI"I..Ame',ciJ,n ann MiJ~'e' Ch."qe Accepleci

35 Serialize Those Bits From Your Mystery Keyboard

Dr George L Ha ll er Now that you have deciphered your 1500 Galleon Dr mystery keyboard, (page 62, September Naples F L 33940 1975 BYTE) and have determin ed whi ch term in als are for the power suppl y, data bits, and flag pu lse, what are you go ing to do with it? Well, one good use is to make it part of a Teletype style termina l_ The Teletype models 33KSR or ASR, which are complete Figure 7: Parallel ASCII to Serial ASCII Converter. The output of an ASCII with printer and mechanical keyboard, are keyboard can be converted from para/lei to asynchronous serial format using sti ll qu ite expensive, usually over $WOO a VA RT and two 555 timers. The result can be used to drive the 20 mA cur­ new; but the model 33RO, wh ich consists of rent loop of the Teletype print mechanism. the printer on ly, can be bought for less than one hal f of that price. Now, mate the model

+ 5V + 5V 33 RO Teletype wi th your electron ic key­ RI OSCILLATOR 10K board and you have the equivalent of the

R2 3310-"111'.--0 TTY­ terminal which merely mea ns that wh il e CLOCK /' 25 12 LO SERIAL both the printer and the keyboard operate H CI 2 OU TPUT 20 mA with ser ial data, they are not connected rh~ OII'F CUR RENT LOOP R4 POLY +5V DR IVE 10K . together except through the computer_ The

IC4 +5V fo ll owing is a description of a sma ll adapter AY - 5-1013 which will convert your electronic keyboard UART 23 from a parallel to a serial output device which wi ll then be the keyboard half of your 3,21 7406 fu ll duplex terminal. The cost of th e parts POWER- for thi s adapter, ex clusive of power supply, PINI4 -+5V PIN7·GND is less than $10_ The main component of th is adapter is, GROUND of course, the UART which has been used ACK -12V for sevel-al years in communication cir cuits POWER for series to parall el and parall el to se ries Lr FLAG conversion. An exce ll ent ex planation of the 32 NOTE : D6 MOST UART PINS ARE UART was given in the very first issu e of 31 • NO CO NNECTION· D5 BYTE. (Don Lancaster '5 "Serial In terface," 30 D4 page 22, September 1975 BYTE .) In order 29 D3 to use the UART, we wr ite in 8 bits of 2 8 D2 parall el data whenever a key is struck . The 27 D I key pressed pulse sent to the UART must be 26 DO negative goi ng and have the correct width to drive the UART strobe_ A clock f requ ency

36 of 1760 Hz mu st be applied in order to get a 110 baud data rate out of the UART. The output will produce a hi gh leve l mark and a low level space. Note th at we are only using one half of the UART. The adapter shown he re was made for the Sanders keyboard, but it should be applicab le to any keyboard if consid erations are made to insure that the start pulse sent to the UART is negative go in g, and data is in true form (logical 1 is a hi gh level) . Looki ng at figure 1, we find that the power is applied to UART pins 1,2, and 3. The power requirement is about 200 mA at 5 volts (pin 1) and 10 mA at - 12 volts (pin 2) . The data bits are wired directly from the keyboard to the UART as shown. Terminal 6, the acknowledge function to th e If you want a microcomputer keyboard , is gro unded. Term in al 8 of th e keyboard is the key pressed flag. In the with all of these standard features ... Sanders key board, this fl ag is a negative • 8080 MPU (The one • Complete with card go ing pulse which is too short to operate the with growing soft­ connectors ware support) • Comprehensive UART directly. This pulse is first stretched • 1024 Byte ROM U ser's Manual, plus in a 555 timer circu it (IC2). This particular (With maximum ca­ U ser's pacity of 4K Bytes) Manual stretch er req ui res a negative input. After • 1024 Byte RAM • Completely stretching, it is reinverted in a section of the (With maximum factory assembled capacity of 2K and tested -not 7406 and app li ed to th e UART. The clock Bytes) akit · ~ • TTY Serial 1/0 • Optional ac­ circuit is also a 555 (IC1) . The output • EIA Serial 1/0 cessories: Key­ freque nc y at pin 3 of IC1 shou ld be ad justed · 3 parallel1/0's board/video • ASCII/Baudot display, audio to 1760 Hz. This can be determined by using terminal com­ cassette modem a freq uency cou nter or by ad justing the patibility with TTY machines or video units interface, power supply, ROM programmer • Monitor having load, dump, display, insert and attractive cabinetry .. . plus m o re optio ns potenti ometer until good copy is obtai ned and go functions to follow. The HAL MCEM-8080. $375 whil e the keyboard and adapter are co n­ nected direc tl y to the 33RO. The frequ ency shou ld be held to an accu racy of about 1 %, ... then let us send you our card. but thi s is no problem with a good poly­ HAL Communications Corp. has microcomputer you can buy. For styrene condense r shown as 0.01 !iF. Most been a leader in digital communi­ details on the MCEM-8080, write of the oth er term in als on the transm issi on cations for over half a decade. today. We'll also include compre­ side of the UART should be a hi gh level The MCEM-8080 microcomputer hensive information on the HAL shows just how far this leadership DS-3000 KSR microprocessor­ input, which mea ns that they can be left has taken us .. . and how far it based terminal, the terminal that unconnected, sin ce th ey have internal pull can take you in your applications. gives you multi-code compati­ ups . Th e exception is terminal 21 which is That's why we'd like to send bility, flexibility for future gro un ded. The serial output is conn ected you our card-one PC changes, editing, and a through the in verter with an external pull up board that we feel is the convenient, large video resistor which provides th e loop with a mark best-valued, most complete display format. current of 20 mA and a space current of HAL Communications Corp. ze ro. Box 365, 807 E. Green Street, Urbana, Illinois 61801 Another slig ht modification of th e Telephone (217) 367-7373 Sanders keyboard will make it more useful. As rece ived, the keyboard has no "line feed" key. It is a si m pie matter to convert the TAB key to an LF key. We must ch ange th e code fo r thi s key from an 013 to an 012 octal, which means we must change the ze ro bit from a 1 to a O. Find the terminal at about the center of th e rear of th e diode matri x labe led "VT". A ye ll ow wire connects this term in al to the TAB key. On top of the matri x board thi s terminal is con nected to a sin gle diode. Either end of this diode should be disconnected. This is the ze ro bit di ode. There are two other diodes sti ll connected und er the board which will leave the code 012 octal.-

37 An Octal Front Panel

Herman DeMonstoy performs the function which had required 2 Pioneer Rd three toggle switches. Painted Post NY 14870 Programming with this design is done using octal codes. The reason I chose octal is the fact that a seven segment display does A standard method of wr iting a program not conveniently decode four bits into into a computer has been to us e toggle hexadecimal digits. I use this design as the switches. Being lazy and becom in g very til'ed main control panel of my new experimental of toggling in data, I was sure there was a computer based on the 6502 chip. better way. Figul'e 1 is a block diagram of my "better way" to input front panel data. Theory of Operation This is a keyboard control unit which elim­ Figure 2 shows the schematic of th e main inates most of the toggle switches, repl acing portion of the circuit. When a number key is them with an octal data entry keyboard and pressed, the strobe line (pin 8 of IC 28) goes various fu nction buttons. No program needs high and starts the first oneshot (IC25A). At to be entered before usin g it. The computer the same time, the data lin es have bee n set sees the data just as if the original togg le up to the binary code of the key being switches were there, but one key stroke now pressed. The encoding is done by th e 7420 NAND gates, IC26A, IC26B and IC27 A. The first oneshot writes data into the third latch MICROPROCESSOR CONTROL (IC21) using the old output of the second

LOW ADDR . ALL latch (IC20). At the end of the pulse from HIGH ADDR . DATA CONTROL the first oneshot, the second oneshot (IC25B) is fired. This writes data from the CONTROL SWITCHES first latch (IC19) into the second latch HIGH LOW HALT (IC20). At the end of this pulse, the third READOUT READOUT I CYCLE RESET oneshot (IC24A) is fired . This writes th e RUN new octal digit into the first latch. In this EXAM EXAM. NXT. manner data will shift to the left one octal DEPOSIT digit position each time a key is pressed. ~ ~ DEP. NXT. INTERUPT Progress of the shifting can be watched in II 1I STROBE 10 TO 18 the octal disp lay connected to the outputs B BIT 8 BIT KEYS DECODE I of the entry latches. When the correct data is LATCH =- iC":::= AND 2 'V LATCH found in the display, the deposit switch or 4 other functions associated with the com­ t DEPOSIT HIGH ADDRESS I puter can be activated to enter the data into the computer. A second 8 bit latch to accept high order address information is shown in Figure 7: Bloc/? Diagram of a Front Panel Control, The idea is to use an octal this des ign. By pressing the DHA (Deposit entry l?eyboard to enter data which is decoded and latched into several 8 hit High Address) key, data is transferred from registers. the entry byte to a second one byte latch

38 HIGH ORDER LOW ORDER / DATA Figure 2: Keyboard IS 14 13 12 II 10 9 8 7 6 5 4 3 2 o Decode and Latching Cir­ INTEGRATED CIRCUIT POWER CONNECTIONS "I' I' '" I' "I' I' " I' "I' "I' cuits. The NAND gates are used to encode I?eystrokes ~ +5V GND ' 7475 5 12 ~, which are entered into the 74123 16 8 9 ~o~, 10 15 16 7420 14 7 low order at ICl9. Shifting 7430 14 7 IC23 IC22 7475 7475 7447 16 8 action controlled by one­ I ~~ I shots is used to move data NOTE­ 7 6 6 3 2 .I J

CI C2 R +5V C3 R3 .001 J

8 6 OTHER CONT ROL "'''m''~ IC28 A IC27 SWITCHES +5VKEYBOA~:J DHA 6' """ ~ 7430 7420 ~'"7420 (.f' -.0 ~ L~ I 2 3 4 5 12 13 12 109 I 2 4 5 ~ -----L.- 6 1 1" I 2 415 --., ...... r--<' 6 ~ -----L.- 1 --., 0..- ~~ ...... ,~ WIRE AS ~ --.L.. NEEDED --., ~ ---.L --.0 ~ ~ +-<> ~ ~ --0 0 ~ ~ --., r7 C4 TO 12 1' .lfLF,EACHKEY

used to define bits 8 to 15 fo r use in address­ grid) stock and wire wl-ap sockets was used ing the memory of my computer. to mount integrated circuits; a small board The wil-ing of the displays is shown, alon g was also fabl-icated to hold the display cir­ with a power regulator in figure 3. Each byte cu its. Figure 4 shows a top view and a side of information which is to be visible has a view of the mechanical arrangements in my sim ilar set of displays. origina l. Bypass capacitors of 0.1 MF were used Construction lib era ll y between the power supply and Th e keyboard was constructed on a 5 ground . 0.1 MF capacitors were also inch by 5 inch (12.7 em by 12.7 em) piece mou nted from the sw itch outputs to grou nd. of printed circuit board materi al, with con­ These bypass capacitors were found neces­ nections along one edge. A wire wrap board sary to keep from ge tting extra entries for made out of Vector 0.1 inch grid {2.54 mm single keystrokes. If the oneshots are in ad-

39 +7 T08VDC +5V REGULATED TO ALL IC S

+7 TO 8V UNREGULATED

14 14 14 '"

IC3 (lC6) ICZ (IC5) ICI (IC4) LED DISPLAYS- HP 508Z-7730 HP508Z-7730 HP508Z-7730

Z II I 1310 8 7 Z II I 1310 B 7 Z II I 1310 8 7 IC8 I Z 3 4 5 6 7 (lCI!) I Z 3 4 5 6 7 I Z 3 4 5 6 7 IC7 TO ICIZ ---_ Figure 3: 3 Digit Octal ARE AB348Z714 IC 9 IC7 RESISTOR NETWORKS. (lC IZ) (ICIO) Display and Power Regu­ USE Z70 OHM, 1/4 W lator. One such display is RESISTORS IF SUB­ STITUTION REQUIRED. required for each byte; the 1413 IZ II 109 8 14 13 IZ II 109 B 14 13 IZ II 109 S + 5V +5V 9th bit is wired to zero for 1514 13 IZ II 1514 13 IZ II 109 1514 13 IZ II 109 the purposes of decoding 109 t lV the high order digit. 7 SEGMENT DECODE- ~ ICI5 (ICIS) 16 ICI4 (ICI7) ICI3 (ICI6) 7447 7447 7447

I I fJ6 I I r J: 'Zl [ J: A /' A ~ I 7 6 543 Z o

vertently triggered on a key re lease, a ze ro will appear as the last entry in the display. ~------M0ill0ill I mounted this keyboard on an 8 inch by o i 0 0 0 1: 10 inch (20.3 cm by 25.4 cm) sloping panel o I------J I box that serves as the front panel of my 6502 computer. There is plenty of room left ~ I HLT I RST RUN : o 0 I CY 0 in this box for the rest of the manual con­ o I I o I I trols_ I plan eventua ll y to put address and o I EXM EXM INT DHA I data lights on this panel also. o I NXT I o I o I Extensions and Modifications o 5 6 7 DEP I o I There are many possible var iations of this o I idea that could be considered. This design is o 2 3 4 DEP I o I intend ed to take the place of the 16 address o I o I and data switches that appear on many com­ o 0 0 I NXT 0 I puters. Using only three displays, it could I also be used as a terminal to enter 8 lin es of I o I data through an 10 port. I The seven segment display could be re­ I I placed with 16 single LEDs, or with a suit­ able hexadecimal display, or eve n elimi­ O. TOP VIEW nated. If you have low order address switches which are separate from data PC BOARD 7 SEGMENT KEYS PANEL switches, then a third 8 bit register and DISPLAYS display just like the high address could be added to make a total of 24 lines. I used a 7 to 8 volt unreg ulated power supply with a regulator for the ICs as shown in figure 3. The unregu lated voltage was run

'-WIRE WRAP SOCKETS WIRE WRAP PINS directly to the display LEDs. If you use the FROM EACH KEY computer's 5 volt supply for the displays as b. SIDE VIEW well as logic, then the 270 0 limiting re­ sistors can be replaced with 150 0 resistors. Figure 4: Mechanical Layout of the Author's Unit. The placement of parts is The total current requ ired for the circuit is shown schematically in this illustration. The octal keys are at the lower left about 1.5 amperes in either case. If you have portion of the keyboard; the remaining keys are function buttons for the a regulated supply, the regulator circuit of author's 6502 computer system. figu re 3 can be om itted.-

40 IMSAI announces aUDIque• 4KRAM board for just $139. Nobody has a 4K RAM board that gives you so much for your money. It's fully compatible with the Altair 8800. Through the front panel or under software control, you can write protect or unprotect any lK group of RAM's. Also under software control you can check the status of any 4K RAM board in lK blocks to determine A New Low for Paper Tape Input Costs .. . whether it's protected or not. The One way to lower the cost of mechan ic­ board has LED's that clearly show all y oriented peripherals such as paper tape What's you the memory protect status readers, pr in ters, tape recording, etc, is to of each lK block and which minimi ze the number- of mec hani cal parts block is active. And there's a req uired. Here is an example of the r-esu lt of New? circuit provided that will let you such a str ategy, the OP80A Low Cost Paper prevent the loss of data in the Tape Reader manufac tured by Oliv er Audio memory if there's a power failure. En gin eerin g_ There are "no moving parts" - This low power board has a except the paper tape itse lf when it is pull ed guaranteed 450 ns cycle time­ through the gu id es as part of a read no wait cycle required. There's operation. nothing like the IMSAI 4K RAM Th e dev ice is des igned to interface with board around. an 8 bit parall el 10 pmt for any of the Dealer inquiries invited. miCl"opr ocessors now on the mark et. It is idea l for loadin g a ll types of mi croprocesso r­ support software in cases where it is di strib­ utee! on paper tape. A we ll known 12 K IMS Associates, Inc. extended BAS IC package is sa id to be loadabl e in 30 seconds (by experienced tape ~------I IMS Associates. Inc. I pul lers) . The electroni c limi ts set a max i­ I 1922 Republic Ave. mum fe asibl e rate of 5000 CPS, with the San Leandro, CA 94577 I actua l ra te entirely determined by the speed I (415) 483·2093 at wh ich you pu ll the ta pe past the precision I Order Your IMSAI 4K RAM Board For I optical sensor arTay. If you make or buy a Only $139. Use BankAmericard. hi gh speed paper tape winder', your rate of I Master Charge. personal check or I transfer cou ld be qu ite hi gh. money ord er. The device is ava il abl e as a fu ll y as­ I 0 Send _ _ 4K RAM hoards ,,,day I 0 Charge 10 my credit card semb led and tested ver-s ion fo r' $95 or- as a o BAC No. ______I kit for $74.50. Th e de vice has foUl" statu s I o MC No. ______LEDs, an anodi zed aluminum box, four feet I Signature I of flat in te r'face cable, asse mbly in structions I Name I (for the kit), interface sc hematic s and re­ Address ______lated documentation. Oliver Audio Engin eer­ I Ci'y/ S,a,e/ Zip I ing is located at 1143 North Poin settia Dr, Los Ange les CA 90046, (2 13) 874-6463.- L ______=-J

41 Figure .1: Three special patterns of stars and black holes. Th e game begins with a single star representing the Big Bang theory (left), and is won when the pattern of only one central blac!? hole is achieved (center). The pattern shown on the right represents a loss and terminates the game.

SHOOTING STARS

Willard I Nico There are probably as many reasons to think you'll find SHOOTING STARS an Delta t have a computer in the home as there are in te restin g addition to yo ur library. 11020 Old Katy Rd, Suite 204 computers in homes. For wh atever reason I started my quest for a "show-off" game Houston TX 77043 you have one though, it's only human nature about a year ago, sea rchin g everywhere for to want to show it off to other people. one that was just ri ght. I learned a very Say you have a super program ca ll ed interesting fact quickly: My computer "Investment Portfolio Analysis and doesn't speak BASIC, and to date many Statistical Summary" (I PASS) up and ga mes have been written and published in running on your Scelbi 8H or whatever. It that language. took months to write and debug th e pro­ So I had to do it myself. The resul t is gram and it in vo lved severa l unique concepts SHOOTING STARS, a game with enough of which you are justifiably proud. You can chall enge to intrigue , enough vari abl es to picture the furious ac tivity go in g on inside make lea rnin g to win difficult (but not the little heart of th e computer and would impossible), and a coupl e of goodies thrown dearly love to show off your ski ll to Mr and in to involv e the pl ayer with the computer. Mrs Nexdor and bask in the ir adm ir ation. A complete program li sting for 8008 So you invite them over for cocktail s. computer is included, as well as the various The program runs flawl ess ly and, as the messages that all ow the comp uter to interact res ults fl ash on the display scree n, you step with the player. back sli ghtly to receive your praise. Mr Nexdor looks at you with a blank ex pression The Game and says, "But will it gr ind pepper?" Nin e dot or aste ri sk characters are Th at actuall y happened to me. One way arrange d in a 3 by 3 matrix on the playing around this problem is to save IPASS for fie ld which ma y be shown on a CRT scree n. your own enjoyment and have a ga me The matrix represents the universe ; asterisks program or two ava il ab le to show off. Of are stars and dots are bl ack holes . The player course, fo r some people game programs are shoots stars which die and turn into bl ack the primary in te rest in hav in g a home holes. Wh en a star dies, it affects other stars computer. Whatever your games interest; I and black holes in its particular ga laxy.

42 How To Play message number surrounded with STX and Each position in the universe is assigned a ETX characters. A sea rch routine in the number (see figure 2). The computer main progra m finds the first address, decides outputs the current composition of the whether the desired message is ahead or universe and asks YOUR SHOT? Th e player behind the current tape pos ition, and res ponds by typing the position number of rewinds or sp i ns forward as necessary. the star he decides to shoot. Th en the new Tabl e 1 is a list of the interactive conste ll ation is displayed for the next shot. messages. For computers with limited memory the esse nti al messages are in the Effect Of Shooting A Star first portion of the table; the fa ncy heading Wh en a star dies, it affects the stars and is next, and the rul es of the game occupy the Figure 2: Positions in the universe are identified by bl ack holes of its particular galaxy. The largest number of bytes at the end of the numbers. effect is that fragments of the star move into text. bl ack holes to become new stars and other Wh en the program is entered at address frag ments collide with other stars and knock 014000, the 8008 's H and L poi nters are set them out of orbit producing bl ack holes . to the beginning of the head in g. Then the Each star has its own galaxy as shown in message control routine is cal led. It outputs figure 3. sequentially each ch aracter of the message until the EM delimiter is encountered which The Program returns control to the main program . The ga me proceeds in an orderly manner The status of the uni ve rse is stored in the which is shown in the Flow Ch art of figure 4. Band C registe rs . Univers e positions 1 The heading, rul es and interactive messages through 4 and 6 through 9 are represented require approximatel y 1600 B of memory . I by the eight bits in the B register. A one bit use a Delta t Digital Recorder for message represents a star, and a zero a bl ack hole. Bit storage and retrieval since it operates in the o of the C register keeps track of positi on 5, reverse as well as forward incremental The uni ve rse is set up in the beginning by modes. Each message is prefaced with a clearin g the B register and setting C to om

Figure 3: A complete set of galaxies which are associated with evelY star or blacl? hole position. Stars or blacl? holes within a galaxy are affected whenever the respective position has been chosen. octal. The D register, which will tally the 003 - Insert two Iin efeeds number of shots fired, is also cleared as part 000 - Done Print; ex it of the initi ali zation process. Each time the print universe routine is entered after a valid In normal processing, the positions repre­ shot, the D register is incremented to count sented by the bits in the B register are the shot. inspected one-by-one for star or black hole status, and the corresponding symbol is Displaying The Universe printed. It's done like this: The B register is First, the print universe routine is loaded to A and rotated one place to the entered. This routine sets the E register to right. The rotated byte is loaded into B to be octal 012 and will decrement the register ready for the following position next time each time the print loop is executed. The E around in the loop. The carry flag is then register tells the program when it needs to tested for a one or zero. If the carry is zero, insert a coupl e of linefeeds for spacing, when the program jumps to the dot output it needs to branch to the position 5 special section. A one in the carry bit causes the routine, and when it has finished printing asterisk output to be executed. the universe. These events occur at the At the exception counts, further pro­ foll owing E register exception counts: cessing is required. Thus when the E register count indicates 006 - Insert two linefeeds that position 5 is t he next one to be pri nted, 005 - Go to position 5 su broutine the program loads the C register to A and

Figure 4: A flow chart of the SHOOTING STA RS program acts as a gUide to the listing. The labels indicated on this flow chart correspond to the labels found in table 3.

SHOOTSTR

44 rotates the least significant bit to carry. The Table 7: Program Messages. This table lists all the messages used by program then jumps back to the asterisk and SHOOTING STA R5. Each message entry in the table starts with a symbolic dot output portion of the loop. Note that name and an absolute address. The text should be stored at ascending the rotated C register content is not loaded memory address locations, and terminated with an end of message (EM) again to C, since we are only interested in delimiter of octal 037, which is printed as -. The symbolic names in this table the least significant bit. are referenced by table 3.

Shoot A Star

Wh en the universe has been displayed, the MESS1: PAGE2, message YOUR SHOT? is printed and the 016000 021277 computer waits for the player to type a HE Y I YOU CAN ONLY SHOOT STARS, EACH STAR IS IN A GALAXY. WHEN YOU NOT BLACK HOLES. SHOOT A STAR, EVERYTHING IN ITS GALAXY CHANGES. ALL STAAS BECOME BLACK HOLES number from 1 to 9 wh ich indicates the star TRY AGAINI AND ALL BLACK HOLES BECOME ST ARS. he wants to shoot. The ASCII code for the GALAXIES, number the player types is compared to the MESS2: 1 • . • 2 • • 3 first byte in each group of four contained in 016077 4 . • 5 • THAT WASN'T A VA LID STAR NUMBER! the MASKT AB table 2. The number of tries TRY AGAIN! at the table is monitored by the E register, which starts at 011 and is decremented each MESS3, 7 ' . • B • • 9 time around the "test for match" loop. If 016156 (TYPE ANY KEY FOR LAST PAGE OF RULES.) • YOU LOST THE GAME! the E register gets to 000 without finding a PAGE3, WANT TO SHOOT SOME MORE STARS? match, the input is tested for code 177 023137 MESS4 : THE GAME STARTS (delete)' indicating that th e player gives up 016243 WITH THE UNIVERSE LIKE THIS and wants to start over. If a match still can't YOU WIN! GOOD SHOOTINGI YOU FIReD be found, the NOT A VALID STAR YOU WIN WHEN YOU NUMBER message is printed, and the MESS5: CHANGE IT TO THIS . . 016310 universe displ ayed again. If this happens, the SHOTS . BE ST POSSIBLE SCORE IS 11 SHOTS. YOU LOSE IF YOU print universe routine is entered just after GET THIS WANT TO SHOOT AGAIN, DEADEYE? • the instruction that causes the shot to be MESS6: counted, so the player won't be charged for READY TO PLAY. TYPE ANY KEY TO STAAT 017022 THE GAME. GOOD LUCK! • his mi stake. YOU GIVE UP TOO EASILYI When a f ind is made in the MASKT AB WANT TO SHOOT SOME MORE STARS? • table, the program is ready to process the MESS7: player's shot. First, it must make sure the 017114 player is following the rules and hasn't shot YOUR SHOT? a black hole. The second byte of the four HMESS : 017131 byte group is used as a "mask" to blank out S H 0 SSS TTT AAA RRR SSS all the positions of the universe except the S T A A A A S 0 T SSS T AAA AAA SSS one that has been shot. Figure 5 shows how S T A A AA S I N G SSS T A A A A SSS the mask is used with the Boolean AND ············SHQOTING S TARS············ function to isolate the bit representing the A BRA IN TEASER GAME shot position from among the eight bits of WANT THE RULES? the B register. After masking out al l but the PAGEl : 020147 selected position, the resultant byte is tested THERE ARE STARS : to see if it is ze ro. If it is, the shot position AND BLACK HOLES: IN THE UNIVERSE : was a black hole and the message HEY! YOU CAN ONLY SHOOT STARS, NOT YOU SHOOT A STAR BLACK HOLES! is printed. If this happens, (NOT A BLACK HOLE) the universe is displayed again without BY TYPING ITS NUMBER 1 2 3 counting the shot. 4 5 6 7 B 9 If the mask itself is zero, it indicates that THAT CHANGES THE ST AR TO A BLACK HOLE! position 5 was selected, and so the program (TO SEe MORE RULES. TYPE ANY KEY.).

45 tests the C instead of the B register for a star.

Change A Galaxy Once the program has determined that . the shot was va lid, it can use the next byte in the MASKT AB table to change the dots and stars in the galaxy of the "shot" star. Again, the tab le entry is a mask, but this time the Boolean EXCLUS IVE OR function is used. The result is that the selected positions are complemented; one bits are changed to zero bits and the zeros are changed to ones. Figure 6 shows how the mask does this neat trick. After the change is made, the new universe is stored in the B register. Byte four of the MASKT AB table entry contains a mask that is used to EXCLUS IVE OR the C register to change position 5 if required. If star 5 is to be complemented, the mask will be octal 001; if not, it will be octal 000. Figure 5: Th e AND function of Boolean After the universe in the Band C registers logic is used to mas/? the current universe in is changed, the new universe is di splayed and order to select one position for testing each the cycle repeats until a win or a loss is shot. detected, or until the player gives up.

Win Or Loss Test Eac h time the universe is displ ayed, it is POS ITION GALA XY CENTER tested for a win or a loss. If both the Band LOCAT ION SHOT MASK M ASK MASK C registers contain the octal number 000, MASKTAB 015070 061 001 013 001 the YOU LOST THE GAME message is 015074 062 002 007 000 printed, and the opportunity to play again is 015100 063 004 026 001 offered. 015104 064 010 051 000 If the B register contains octal 377 and C 015110 065 000 132 001 015114 066 020 224 000 is octal 000 a win is detected. After displ ay­ 015120 067 040 150 001 ing the proper message, th e binary content 015124 070 100 340 000 of the D register is converted to decimal 015130 071 200 320 001 numbers and the number of shots fired is printed. The calcu lation is performed by the Table 2: MASKTAB, a table of masl?s to test and alter galaxies. This table binary to decimal conversion subroutine. gives the data needed for memory locations 075/070 to 075/733 in the Binary To Deci mal Conversion SHOOTING STA RS program. This table is used to checl? the shot fired for a valid star number and to change the portion of the universe which is affected The B, C and E registers are assigned the by the star's change. functions of summing the hundred, ten and unit digits of the score respectively. The process is one of repetitively adding a one to the three digit number whi le subtracting a one from the shots fired register (D) . Looping continues until all shots fired have been counted in the 3 digit decimal form . The somewhat unusual feature of the Figure 6: The EXCLU- binary to decima l conversion is that it is 5 1VE OR function of done directly in ASC II numeric code. The Boolean logic is used to three registers B, C and E are intially loaded complement bits selected with octal 060, which is the ASCII numeric according to the galaxy character ze ro . After each increment, the information stored for the least significant digit register (E) is tested to position just shot. see if it contains octal 072. If it does, the register has counted 060, 061 ... 071, which is 0 through 9 in ASC II, and has just been incremented one more to 072. When

46 the register has 072, a carry conditi on exists. When this condition is detected, th e register is reset to 060 and the next regis ter in line (C) is incremented . After incre­ menting, the second register is tested for a carry in the same manner, and so on. Wh en all the shots have been counted, the registers B, C and E will not only represe nt the decimal eq uivalent of the shots fired, but will contain the proper ASCII co des for the decimal digits of th e count. Print The Shots To suppress le adi ng ze ros , th e hundreds digit (B) is te sted fo r octal 060. If it contains any other coele, the contents of all three registers will be printed. If it contains octal 060, the tens register (C) is simil arly tested and the output will be one digit if it is at ze ro (code 060) and two di gits if it is not. Figure 7 contains a flow chart of the binary to dec imal conversi on program. You Figure 7: A binary to dec­ may find us e for it in some of your other imal conversion is per­ programs. formed to output 3 dec­ Program Listing Conventions imal digits encoded as ASCI I numeric characters, Table 3 contain s the complete program as This is a flow chart of the it was impl emented in my 8008 system using conversion routine, with the SCELBI 8H computer. The listing is in lab els referring to table 3, sy mbolic assem bl y language with absolute octal address and memory con ten ts. Th e 8008 co mputer has 8 possible restart instructions which are one byte calls to locations in the first porti on of memory

add ress space. These are lIs ed to access TALLYHO uti lit Y sub r 0 uti n e S needed by the SI-IOOTI NG STARS program. The required restarts arc as fo ll o ws : RSTO : Use r's input routine, starting at location 000/000 which is lI sed to wait for one character input fr om the keyboard device. RST1: Ex it Routine, starting at location 000/010. This is a return address to the system moni tor fo r the computer.

octal address octal code label op. operand commentary Table 3: Th e SHOOTING

014/000 006 012 S HOOTSTR LAI 01 2 display 8 linefeed to STA RS program specified 014/002 025 RST 2 initialize display; 014/003 066 131 Lli LlHMESSI set address pointers in symbolic assembly lan­ 014/005 056 017 LHI HIHMESSI to heading message; 014/007 106 134 015 CAL OUTPUT print message & return; guage with an absolute list­ 014/012 106 151 015 CAL INPUT call input looper; ing of addresses and codes 014/015 074 116 CPI 'N' is first letter 'N'? 014/017 150 052 014 JTZ ASTART if so then plunge into game; for the author's system. 014/022 066 147 LLI LlPAGE 11 if not then point 10 first 014/024 056 020 LHI HIPAGElI P8ge of rules text ; 014/026 106 134 015 CAL OUTPUT and go output rules message; 014/031 075 RST 7 wait for goahead ; 014/032 066277 Lli LlPAGE21 point to second page of 014/034 056 021 LHI HIPAGE21 rules text; 014/036 106 134 015 CAL OUTPUT display second page of rules; 014/041 075 RST 7 walt for goahead ; 014/042 066 137 Lli LlPAGE31 point to third page of 014/044 056 023 LHI HIPAGE31 rules text; 014/046 106 134 015 CAL OUTPUT display third page of rules ; 014/051 075 RST 7 wait for goahead; 014/052 006 012 ASTART LAI 012 set up linefeed; 014/054 025 RST 2 display one linefeed, 014/055 025 RST 2 then a second linefeed, 014/056 025 RST 2 then a third; 014/057 016 000 LSI o initialize the universe 014/061 026 001 LCI to starting pattern;

47 octal RST2: User's output routine, starting at address octal code label op. operand commentary location 000/020. This routine prints or 014/063 331 LDB then clear shot counter ; 014/064 030 CNTSHOT lND count a shot (antiCipatory) ; displays one character on the output device 014/065 046 012 SETCNT LEI 10D looP count 10 iterations; 014/067 041 01SLOOP DCE IS t he loop done? for the system. The character to be output is 014/070 150 32 1 014 JTZ WINTEST if so then go to win testing ; 014/073 304 LAE if not then continue display ; in the A register when RST2 is entered. 014/074 074 006 CPl 6 IS 1\ fourth cycle' 014/076 150 142 014 JTZ L1NFEED "so then new line needed; RST7 : A "do Nothing" keyboard input 014/101 074 003 CPl 3 IS II seventh cycle? 014/ 103 150 142 014 JTZ L1NFEED I' so then new line needed; acknowledgement routine, starting at loca­ 014/ 106 074 005 CPl 5 is it star number 5 ? tion 000/070. Any character typed on the 014/110 150 151 014 JTZ FIVTST I' so then go test Slar 5 ; 014/113 250 NEDOT XRA clear the carry (and A too) ; keyboard causes return from this subroutine. 014/ 114 301 LAB move universe 10 A ; 014/ 115 012 RRC rotate next place 1010 carry; For the optimum use of the program, the 014/116 310 LBA save It in 8 for a while; 014/117 100 130014 PSEUDOT JFC LOA DOT If dot then go output dot; output device should be a cathode ray tube 014/ 122 006 052 LAI o therWise load a star; 014/124 025 RST 2 then pnnt the star ; terminal with a scrolling feature. 014/125 104 133 014 JMP SPCNOW branch around dot logiC ; 014/ 130 006 056 LOA DOT LAI load a dot ; 014/ 132 025 RST then prmt the dot ; 014/133 006 040 SPCNOW LAI load a space; Game Background 014/135 025 RST 2 pflnt one space, 014/136 025 RST 2 then pnnt a second ; I first saw the SHOOTING STARS game 014/137 104 067 014 JMP DIS LOOP waltz around loop once more; 014/142 006 012 LlNFEED LAI 012 load a line t eed; in the September, 1974, issue of peet as a 014/144 025 RST 2 display a Ime feed , 014/145 025 RST 2 then a second one; program called TEASER. If you are an 014/146 104 113014 JMP NEDOT back to print next dot or star; 014/151 250 F1VTST XRA no operation mtended - leftover; analytical person, you can figure out all of 014/152 302 LAC get position 5 status; 014/ 153 012 RRC put status Into carry ; the possible positions. 014/154 104 117014 JMP PSEUDOT rejoin main hne ailer ARC ; 014/ 157 006 012 GOTSTAR LAI 012 load a line feed ; pee Editor, Bob Albrecht, told me that 014/ 161 025 RST 2 have linlshed universe pnnt, the program was contributed to the 014/162 025 RST 2 so print several 014/ 163 025 RST 2 line feeds Hewlett-Packard software library, and orig- 014/ 164 025 RST 2 to separate 014/ 165 025 RST 2 successive rounds; inally written in BASIC.- 014/166 066 114 LLI LiMESS7I poin t to Ihe 'your shot' 014/170 056 017 LHI HtMESS71 m essage; 014/ 172 106 134 015 CA L OUTPUT then go print it ; 014/175 005 RST o ca ll mput for charactef ; tPCC is People's Computer Company which pub· 014/ 176 025 RST 2 Immediat ely echo the Input ; lishes a tabloid size computer hobbyist newspaper 014/ 177 340' LEA save Input temporarily In E; 014/200 006 012 LAI 012 load a Ime leed ; five or more times during the school year. It's filled 014/202 025 RST 2 print three line feeds to with games written in BASIC, art, and computer 014/203 025 RST 2 space oul the response 014/204 025 RST 2 a bll more; news. If you are interested, write to People's 014/205 304 LAE reCOVf!r In put for t cstln~L Computer Company, PO Box 310, Menlo Park CA 014/206 046 01 I LEI 9D loop count for table search ; 014/210 066 070 LLI LiMASKT ABI set up pOUl ter to the 94025. 014/ 212 056 015 LHI HIMASKT ABI The mask table; 014/214 277 NEXGRUP CPM 15 Input equal table character? 014/ 215 150 233 0 14 JTZ FOUND II so the n go alter structure 01 014/220 041 DCE the universe o therwise just 014/221 150 273 014 JTZ INVAL check end of loop; 014/ 224 060 INL Increment the L 014/ 225 060 INL registe r pOinter 014/ 226 060 INL four times to get 014/ 227 060 INL to next table entry : 014/230 104 2 14 014 JMP NEXGRUP then go test next e ntry ; 014/ 233 060 FOUND INL point 10 position mask 014/ 234 307 LAM and load mask into A; 014/235 074 000 CPI o IS I! zero' 014/ 237 110 253 014 JFZ UNIV2A II not then fllnge position; 014/ 242 302 LAC otherWise the center pOSition; 014/243 074 001 CP I I IS a Sl,lt In center' Symbol table, in orde r of appearance 014/ 245 110 165 015 JFZ BADFELO " nOt then have wrong move; 014 /250 104 260 014 JMP NEXBYT " so then go process star: SHOOTSTR 014 000 014/253 301 UNIV2A LAB rest 01 universe to A: ASTART 0 14 0:'7 014 /254 247 NDM AN 0 WI! h mask to Isola Ie star ; CNTSHOT 0140{i·1 014 /255 150 165 015 HZ BADFELO II nO I s tar then wrong move; SETCNT 0 14 06:' 014 /260 060 NEXBYT INL pO int to the galaxy milsk ; DI SLOOP 0 14066 014/261 301 LAB fetch universe again; NE DOT 014 11 3 014 /262 257 XRM a nd complement the universe PSEU DOT 0 14 11 7 014/263 3 10 LBA on illine perlOtmtH1Ce ; LOA DO T 0 14 130 014 /264 060 INL POInI to ce nter mask ; SPCNOW 014 133 014 /265 302 LAC letch cen ter 01 universe; L1 N FEE D 014 142 014 /266 257 XRM complement center II required ; FIVTST 014 15 1 014/267 320 LCA Silve center o f universe ; GOTSTAR 014 157 014/270 104 064 014 JMP CNTSHOT go display a new universe; NEXGRUP 0 14 ' 2 14 014 /273 074 177 INVAL CPI 177 was invalid shot a 'delete" FOUND 014 233 014/275 110 307 014 JFZ NOTVAL If nOt then recycle bad star ; UNIV2A 0 14 ' 2:'3 014/300 066 022 LLI LlMESS61 o therWise point to giving up NEXTBYT 014 260 014/302 056 017 LHI HIMESS61 message; IN VAL 0 14 273 014/ 304 104 034 015 JMP PRNTIT display then test lor res tart ; NOTVAL 014 307 014/307 066077 NOTVAL LLI LiMESS21 POll1t to the Invalid Star OUTMES 014 3 13 014/311 056 016 LHI LlMESS21 number message WINTE ST 014 /32 1 014/313 106 134 015 OUTMES CAL OUTPUT ou tput a message then MOREDEC 0 14 36 1 014/ 316 104 065 014 JMP SETCNT go di splay the universe again; TALLY HO 015 000 014/ 321 301 WINTEST LAB move universe to A: THREE D 0 15 / 023 014/322 074 377 CP I 11111111 B a re all fllnge stars present ' MI DPR N T 01 5 10 25 014 /324 110050015 JFZ LOSSTST II flat see If player has los t; LSTSIG 01 5026 014/327 302 LAC le tch cen ter o f universe : RECYC 01510 32 014/330 074 000 CPI o IS cenler o f unive rse emptv' PRNTIT 0 15 1034 014/332 110 157 014 JFZ GOTSTAR IS full then not win; LOSSTST 01 510 50 l 014/335 066 243 LLI LlMESS4i no star got a win, folk s MASKTAB 015-070 014 /337 056 016 LHI HtMESS41 so pOint to win message : OUTPUT 0151134 014/341 106 134 015 CA L OUTPUT then display Win message ; INPUT 015115 1 014/ 344 046060 LEI '0' begin binary to decimal converSion GETNEXT 015, 154 014 /346 314 LBE by se tting all thr ee working BADFELO 01 51165 014/ 347 324 LeE regiSter to (ASC II) zero; MESSI 016/000 014/ 350 031 DGD get rid of last shot ; MESS2 0 16/077 014/ 351 303 LAD move shot count to A for test ; ME SS3 Ol 6 f l 5G 014/352 074 000 CPI o test for zero (nOI needed In MESS4 0 16 124 3 014/354 ISO 026 015 HZ LSTSIG SHOOTING STARS bu t gene rally MESS5 01 613 10 useful with converSIons); MESS6 01 7022 014/ 357 006 072 LAI need compare to ASCII 'g' t 1; MESS7 01 7 \44 014136 1 040 MORE DEC INE count up one In l .s. digit ; HMESS 01 71 13 1 014/362 274 CPE IS It equal t o overflow code' PAGE l 020 ' 14 7 014/363 110 000 015 JFZ TALLYHO It nOt then lally a nd continue; PAGE2 0 2 1/'277 014/366 046 060 LEI '0' els e resel 1 '5 digit 10 l ero PA GE] 0 23 137 014/370 020 INC and carry into next digit;

48 octal address octal code label op. operand c ommentar y 0 14/ 371 272 CPC IS II eq u al t o overfl o w c o d e too' 014 /372 110000015 JFZ T A LL V H O If nO I I hen ta lly and continue: 014 /375 026 060 LCI ·0· else l esel m Iddle dIgit 10 zero 014/ 377 010 INB and carry mto m .s. d'9It ; 015/000 031 T A LL Y HO DCD dec remen l score counter f o r tall y ; 015/001 110 361 0 14 JFZ M O RE D EC If not l ero th en k eep loo pln; 0 15/004 30 1 LAB l e t c h !ead"l9 digIt t o A : 015/005 074 060 CPI ·0· IS II (ASCII) zero' 015/007 110023 0 15 JFZ TH R EED II n o t go d ,splay three dlglls: 015/01 2 302 L AC fe t c h middle digit to A : 01510 13 0 74 060 CPI ·0 · IS " (ASCII ) zero 100' 015/015 11 0 025 01 5 JFZ M I DPRNT II not go d isplay two d1 91 1S; 015/020 104 026 01 5 JMP L STSIG II SO cl lSp lilY o nl y o n e; 015/023 025 THREED RST 2 d ispla y three digits, le ft first ; 015/ 024 302 LAC h! t Ch mid dle digit to A ; 01 5 / 025 025 M1DPRN T RST d i sp lay IwO d l911 S, l eft first ; 015/026 304 L ST S1G LAE f etch 1 ' 5 digit ; 01 5/0 2 7 025 RS T 2 display remaHling dlgll : 015/030 066 3 10 Lli LlMESS51 p Olllt 10 f irst part of yo u wIn : 0 15 /032 056 016 RECVC LHI HiMESS51 second pari o f MESS5/ MESS6 poifller; 015/034 106 134 0 15 PRNTIT CAL OUTPUT d isplay the m essage; 0 15/037 106 151 0 15 CAL INPUT fel c h II c harac l e, f o r con linue 0 15 /042 074 131 CPI -yo Qu ery, IS II " y es"? 0 15/044 150 052 0 14 JTZ ASTART II so then co nl1J1U e game ; 0 15/047 015 RST 1 o th (!lwlsecali EX I T ; 01 5/050 0 74 000 L OSST ST CP I o I S h i nge Ulilverse a ll black holes? 01 5/052 110 157 014 JF Z GOTSTAR II 11 0 1 then c o n tinue game; 0 15 /0 55 307 L A C II so t hen lest cen tc, POSi tio n ; Notation : 0 15/056 074 000 CPI o IS cenl er al so black hole' 01 5/060 110 157 0 14 JF Z GOTSTAR I t 110 1 Iht! n CO llI1I1UC ya me ; L(HMESS) low order 8 bi ts 0 15 /063 0 66 156 Lli LlM ESS31 1! lse POI.lI to loss Ille ssage, 0 1!:110 65 104 0 3 2 0 15 JMP RECVC " nel qo pi lilt l oss, of address of HMESS;

() 15 ' U/O ~ I ' I' T,III!I' ! ! M ASK TAB BLK 036D H(HMESS) = high order 8 b its

0 1'.) / 1 J 4 J UI O UTPU T LAM 1.. \(; 11 I1I' X I Ifll'SS,tllt! Ilyl e, of address of HM ESS; 01 ':J / 135 0/4 OJ I CPI 0 3 1 I S I t , I cle t"1111t'1 ' 0 15113 1 05J RTZ " ' l lIII' wil en d elllllllel t o uncl. 'N' the ASC II character 0 15 140 () 2 ~) RS T u llll'I W ISt: d ls!)I"V h yl .!, 0 15 / 14 1 0 60 INL p Oln l 10 n e xi IIV I £' , "N"; 0 1511 4 7 11 0 1]4 0 15 J FZ O U TPUT IS II I) d y e iIOU!ld" , y) 0 15 / 14 5 050 INH I t SO I IlC rf ' lnl ~ 1l1 P dqI"' . 90 the decimal number 9; 0 151J46 104 134 O l !) JMP O UT PUT ,\11( 1 I hell I I!cycte, =

0 1511 ~) 1 005 ! NPU T RS T CJI! I IH' X I e h ,II '!C I I! f . 7 = the octal number 7 (wit h L EA S. I VI' 11 III E. 0 15/ 157 34 0 high order zeros as needed ) ; 0 15 153 () 7 ~ RST ? ech o Oil 111 ::, 111 .1'1. 01 5 15 4 005 GE TNEX T RS T o ~ P't f ll!X t clh U.ICI C I . 0 15 155 0 7':J RST ? " c h o 011 ,II sp !"v , mnemonics are from original Ol !) 15G 0 14 0 17 CP I 0 12 wd S I I d IIIle t c e( P 0 1 '.) ! I GU 11 0 154 0 15 JFZ G ETN EX T " nOI CO llll!llll! Se, l l1 . documentation; (l 15 lli] 30 4 L AE " ~o . II!St OI f: 111 ::, 1 I"put . UI ~) / I G t1 00 7 RET ," ld t!" ' 11 rt: t u l n 10 c;. II" , . octal code is shown in ascend­

0 1':J I G~ Utl(i 000 HADF E L O Lli LIMESS I I p Ul n t 10 til e t,! I I OI ml !Ss , I ~ 1 1! ing address order top to bot· H (MESSI ) . UJIl HlIlI SI I II I( J Ihld ' S id' · . 0 1!J 11(j1 0 5G 01 G LHI tom, left to right; 01 ~ , I I I 104 J 13 (J14 JMP OUTMES dlllt qo l ," spl" V 1! I' O I ; DIGITAL DATA RECORDER $ 149.95 MODEL CC-7 SPECI FICATIONS: NOW AVAILABL E FOR COMPUTER or TELETYPE USE A. Recording Mode : Tape sat uration binary. Any baud rate up to 4800 RECORD/PLAYBACK AMPLIFIER KIT Th is is not an FSK or Home type recorder. No voice capability. No Modem. B. Two channels (11 Clock, (21 Data. OR, T wo This expanded version of our Computer data channels providing four (41 tracks on Aid board can be used with your own dec k the casse tte. Can also be used for N RZ, (cassette or reel to ree l )< Go to 9600 baud BI·Phase, et c. on reel to reel with suitable heads. Digital C. Inputs : Two (21. Will accept TTY, TTL or in , digital out, se rial format. Kit includes all RS 232 digital . parts, case and power supply. Includes high D. Outputs : Two (21. Board changeable from baud rate synchronizer. $59.95 RS 232 to TTY or TTL digital. E. Ru ns at 2400 baud or less. Synchronous or Asynchronous. Runs at 4800 baud Synchro· nous (simple ex ternal synchronizer diagram COMING SOON - IN KIT FORM f urnished.! Runs at 3 .1·· /sec . Speed regula · tions ± .5% . * I/O Board for use with Computer Aid or F. Compa tability : Will interface any computer Uses the industry standard tape satura­ other digital recorders . Variable baud rate or t~rminal with a serial I/O. (Altair, Sphere, M6800, PDP8, LSI 11 , etc.1 tion method to beat a ll FSK systems ten to selectable on externally located unit by one. No modems or FSK d ecoders required. G. Other Data : (110·220 VI, (50-60 Hzl ; 2 one knob. Can load computer or accept L oads 8K of m emory in 17 seconds. This Watts total; UL listed 955D; three wire line dumps wit hout software, thus providing recorder , using high grade audio cassettes, cord; on/off switch ; audio, meter and l ight T urnkey Operation. For any 8 bit compu­ operati on monitors. Remo te control of enables you to bac k up your computer by mo· ter. tor optional . Four foot, seve n con ductor loading and dumping p rograms and data fast remoting cable provided. Uses high grade as YOLl go, thus enabling you to get by with audio casse ttes. less memory. Can be software contro ll ed. * Hexadecimal or Octal K eyboard - Load H. Warrantee : 90 days. All units tes ted at 110 Master Charge & Ban kAmericard accepted. programs direct from keyboards' 20 keys and 24 00 baud before shipment. Test cas ­ and verifying display. Does not use Com­ On orders for Recorders and Kits p lease add se tte w ith 8080 so ftw..re program incl uded. puter I/O. Can b e wired Octal or Hex . - This casse tte was recorded and played ba ck $2.00 for Shipping & Handl ing. Your choice. during q uality con trol . (N.J. Residents add 5 % Sales T ax )

ALSO AVAILABLE : MODEL CC·7A wi th vari­ * Interested in these? Send your name and able speed motor. Uses electron ic speed control at 4" Isec. or less . NATIONAL multiplex address for brochure when rel ease d. Runs at 4800 baud Synchronous or Asynchro· nous without external circuitr y. CORPORA TION Send One dollar for Cass ette Operating and Recommended for quantity users who ex· 3474 Rand A ve nue, Bo x 288 Maintenance Manual with Schematics and change tapes . Comes with speed adjusting tape South Plainfi eld, N ew Jersey 07080 Software control data for 8080 and 6800. to set exact speed . (201 ) 561 ·3600 Also applies to Kit above. (Postpaid)

49 Photo 7: Front Panel View. Th e controls of the ASCII word generator include rotOlY m ode selections at the left and right, two rows of data definition switches for words A and B, and various indicators.

Build a Serial ASCII Word Generator

Ronald J Finger Output Patterns an d Modes 3417 E 65th Av The ge nerator has four different data Anchorage A K 99502 output patterns ava il abl e. They are selected by the four position rotary switch (519) on A cou pl e of months ago, I decid ed to the left sid e of the· panel as shown in photo des ign and build a hardware ASC II to 1. The selections are as fo ll ows: Baudot code converter. The des ign of this R - The onl y output ava il able in this unit was going along qu ite we ll when it pos ition is the "rubout." A II 8 bits sudden ly daw ned on me th at there wou ld be will be log ic high rega rdl ess of any no way to test the co nverter without ge n­ other switch setting. eratin g a se ri al ASC II test pattern . So the A - The pattern of th is word is deter- co nverter was put as id e temporar il y whil e I mined by the top row of bit dec ided what to do about ge neratin g test se lector sw itches (51 to 58)_ patterns. B - This pattern is set by the bottom My first impul se was to throw together a row of sw itches (59 to 516) . quick brea dboa rd se tup that wo ul d ju st AlB - In this positio n, words A and B are generate a seria l ASC II outpu t in the UART se lected alternately. for mat. It turned out, however, that it The ge nerator has three different output would req uire a fair amount of log ic just to modes. They are se lec ted by the three do th at. Wh y not add so me versatility and position rotary switch (5 20) o n the right make it a rea l tes t in strument7 By now, th e si de of the panel. All of the modes produce a wheel s had started to turn and so me des ired se ri al ASC II output. The difference is in the features were suggested by so me of my timing of the output: assoc iates. The fina l res ult is shown in figure B - In thi s mode, the word is generated a 1 and ph otos ·1, 2 and 3. single bit at a time. There is no For the purpose of this article, I'm limi tation on the in terval between defining an ASC II word to be the compl ete bits. This mode is useful in the desig n sequence of ·1 start bit, 7 data bits with an and analys is of co mputer inpu t out­ ASC II character code, 1 data bit with the put hardware. ASCII par ity informati on, and 2 stop bits_ W - A single word wi ll be produced in This is the sta nd ard asy nchronous data thi s mode with a rate of 110 baud. for mat used for se ri al communica tions. This mode proved to be very useful

50 +5 +5 +1 2

ON-I 5.6K " 4.7 K 3 .3K JI ~ EIA 5ERIAL DATA OUT

J2 ~ TTL 5ERIAL DATA OUT

+5 +5 3 9 16 24 10 1217 +5 4 16 W 10 21 7 IC2 ICI II 20 IC3 5 74157 74150 12 19 74157 5 15 15 12 13 18 12

13

516

CL IC4 74161 IC58 CLOC K OUT 74265 10 5 21 CR L 9

B +5 A Al B +5 C~ IK w 520A :/'lSI9A / 4 .7 K +5 10 12 D 5 a IC7A In, 7474 I / / IC78 r 519B 7474 3 II CL Q R 13

180K 4 .7K +5 IC5C 14 lOOK 74265 13

Figure 7: Circuit of the ASCII Word Generator. This design generates two different data words se t by switches and features four patterns available in three operating modes. Power and ground connections for the integrated circuits are as follo ws: Number Device +5 V Ground IC1 74150 24 12 IC2 74157 16 8 IC3 74157 16 8 IC4 74161 16 8 IC5 74265 16 8 IC6 555 8 1 IC7 7474 14 7 IC9 7400 14 7

51 Photo 2: Wiring of the Circuit Board. The proto­ type word generator was built using a Vector 3677-2 DIP plugboard. Point to point wiring was done using solder for inter­ connection with Molex pins for the Ie leads.

in testing the aformentioned A5CII IC7 A, a D flip flop connected as a toggle to to Baudot code converter. It is also divide the frequency by two. This not only useful for loading data into a com­ provides a perfectly symmetrical 110 baud puter in serial form. output, but provides a means of turning the C - This mode produces continuous out· clock on and off using the set input of put of the selected word pattern. I t is IC7A . The 5R latch, IC9A and B, is used to most useful in testing teleprinters control the clock via IC7 A's 5 input. 520 and other output devices. and IC9D control the latch. I n the con­ The switch labeled B/W (517) is used to tinuous mode the latch output stays high so trigger the single bit or single word output the clock runs uninterrupted. In the word modes. It has no function in the continuous mode, the latch is set by a pulse generated mode. A spring loaded toggle switch is by 517. This switch is debounced by ICSC, shown in photo 1, although a push button so that only one pulse per switch operation could be used. is generated. I n the W mode of 520, the LED lamps are used to indicate either latch is reset by the carry output pulse of word A or B, and to display the serial IC4, which occurs only at the end of a word, output. I n the bit mode, the output pattern stopping the clock at the end of one word. can easily be verified by observing the LED, I n the B mode of 520, the 110 baud clock is which is connected to the serial output. always off and clocking is provided only by 5tandard TTL and R5-232C outputs are 517, ICSC, and IC9e. 5erial output is thus available from the front panel binding posts. controlled by the rate that 517 is operated. A choice of two different clock outputs is IC2 and 3 are data switches that determine available. A symmetrical 110 baud and the output bit pattern. They are controlled pulsed 10 baud output can be selected by by 519 and IC7B. I n the rubout position 521 . This switch is not used very often, so it of S19, both IC2 and IC3 are disabled, is mounted on th e rear panel. The clock forcing all outputs low. In the "A" position, outputs are very useful for the synchroniza­ the Q output of IC7B is forced to a logic low tion of an oscilloscope. The 110 baud will so that the A outputs of IC2 and IC3 are sync the bit rate and the 10 baud will sync selected. In the "B" position, the Q output the word rate . is high and the B outputs are selected. In the "A/B" position of 519, IC7B is clocked by The Circuit the carry output of U4. As was stated Refer to the schematic di agram of figure earlier, this occurs only at the end of a word. 1 for a revi ew of the circuit operation. IC6 is The Q output of IC7B thus goes from high connected as an astable multivibrator, run­ to low on every other word, and A and B ning at 220 Hz. The output is applied to will alternate. IC4 is a binary counter that

52 has been programmed for a count of 11 . It addresses the data selector, IC1, which takes the parallel data and provides serial output. The start bit and two stop bits have been hardwired at IC1 . It should be noted that all parallel inputs to IC1 are inverted so that the ser ial ou tput wi II be normal. The output is bypassed to min im ize noise and is buffered by IC5D . The TTL output can sink up to 16 rnA. The RS-232C output is provided by the op amp, IC8 . The output levels will dep end on the ± supply inputs to IC8 . They should be equal and from 5 to 15 volts at lOrnA. The logic supply should provide +5 volts regulated at .25A. Th e model shown in photo 2 was point to point wired on a Vector number 3677-2 DIP plugboard. If you want to wire wrap, use the number 3682-2 plugboard. The physical ar­ rangement of the completed project is shown in photo 3. The enclosure is an LMB Mod el W-1 C utility case. Appreciation is expressed to Fred La­ Plante who took the pictures, supplied the test printer, and provided useful suggestions during the design of this unit. A double sid ed printed circuit board for this design (with plated through holes) will be avail­ Photo 3: Th e general m echanical arrangem ent of the unit is shown in this able. Readers may write to the author picture. Th e front panel switches are toward the top of the photograph, with for details.- a wiring harness running to a soc/?et for the plugboard. WRY PAY MORE EARN A FOR ALTAIR MEMORY 8,192-8 BIT WORD KIT SUBSCRIPTION ON SINGLE CARD $285 00 • PLUG DI RECTL Y INTO 8800 TO BYTE .8800 RUNS AT FULL SPEED-520 nS ACCESS • LOW POWER STATIC RAM- 225 mA/1K • 100% INDUSTRIAL COMPONENTS • EASY INTERFACE TO HOME BREW .50/50 GOLD PLATED EDGE CONTACTS • EPOXY BOARD WITH PLATED THRU HOLES You can earn twelve issues of BYTE, new, or extension of your present subscription, in one of • 8K OR 4K WITH EXPANSION two ways. • JUMPER PROGRAM 4K OR 8K SLOT • DETAILED THEORY AND ASSEMBLY 1. Sign up a bulk dealer. Have your local electronics store order ten or more copies of BYTE 8K LOW POWER RAM KIT: 8KLST $285.00 per month and mention on the purchase order that 4K LOW POWER RAM KIT : 4KLST $159.00 you recommended BYTE. 4K EXPANSION FOR 4KLST: 4KXST $139.00 PLUS SHIPPING 2. Sign up six friends for one year subscriptions, WRITE TO DA VE (K6LKL) at ON DISPLAY AT send in the names and addresses together with BYTE SHOP MOUNTAIN VIEW CA payment. DUTIOIICI *CALIF. RES. ADD SALES TAX P.O. Box 9160, *MASTER CHARGE - OK Stockton CA 95208 *BANKAMERICARD - OK

53 News from the Cleveland Digital Group Clubs and Newsletters Gary Coleman of the Cleveland Digi tal Group writes that CDG has formed the Midwest Affiliation of Computer Clubs, its first goal being a conference for computer clu b members June 12 and 13. The con­ ference will offer a place for manufacturers AEDS Convention to show their wares and for computer hobbyists to visit and ask questions, etc. AEDS, the Association for Educational For further information, contact Gary at Data Processing, is holding its 14th Annual 14058 Superior Rd, Apt 8, Cleveland OH Convention in Phoenix AZ May 3-7 1976. 44118, or phone (216) 371-9304, For information contact Rick Meyer, con­ vention chairperson, at Phoenix Union HS, Dr Dobb's Journal of Tiny BASIC 2526 W Osborn Rd, Phoenix AZ 85017, or Calisthenics & Orthodontia call (602) 257-3045. This is the journal of information about the PCC Tiny BASIC idea: interpretive Amateur Computer Group of NJ .~, language software developed by amateurs to The February issue of the ACGNj News, I - implement such languages for micro­ Sf.~..... , ~ Volume 2 Number 2, reports on the January computers, The Volume 1 Number 1 issue / ~ . '-..::. ACGNJ meeting, which included a demon­ contained 19 photocopied pages including stration of the new Intel SDK-8 8080 system reprints of the PCC articles on Tiny BASIC design kit along with its documentation, as a reference and starting point. Three courtesy of Art Chapman of Intel. The issues are $3, with xerographic reproduction newslettel', also included technical notes by while circulation is low. Interested parties Roger Amion (on memory expansion via should write to Tiny BASIC & Orthodontia, piggyback mounting of ICs) and Art Box 310, Menlo Park CA 94025. Chapman (a circuit to help program 2708 EROMs), and a compendium of Altair tech­ The PI LOT Information Exchange nical information from several sources. PI LOT is a language of Computer Aided The Febru ary ACGNj News also In struction (CAl) first created by John announced the Trenton Computer Festival Starkweather at the University of California. May 2 '1976, beginning at lOAM in Arm­ According to an article by Sylvan Rubin strong Hall at Trenton State College. The which appeared in the November 1973 issue building is located in Ewing Township on of Computer Decisions, the language is a Route 31. For detailed information, write: simple structure oriented to the CAl situa­ Trenton Computer Festival tion, enabling one to construct interactive Trenton State College sequences of questions and answers wh ich Trenton NJ 08625 are presented to students. For direct contact, phone Dr A Katz at The article by. Dr Rubin and the Number (609) 771-2487, or Sol Libes at (201) 2 copy of the PILOT Information Exchange 889-2000, ex tension 248. Newsletter were recently sent to BYTE . The newsletter is coordinated by Gregory Yob, and subscriptions are available at $2 per ~ st, voo~rrov@rro qu antum of information. Contact: Gregory Yob ~@~[f)lWV~[f3 c/o LO*OP Center [f~~VOW£[L 8099 La Plaza Cotati CA 94928 exhibits, displays (707) 795-0405 TECHNICAL TALKS omatur. co,:"put.r club convention And From 65 Notes_ .. home computing The Volume 3 Number 1 issue of 65 door prizes cont.sts Notes, publication of the HP-65 Users ' Club, computer groups arrived at BYTE recently. This issue con­

program duplication service tinues the trend of branching out toward the other programmable calculators. In Rich ard monufadur.,s booths Vanderburgh's "SR-52 Notes," you'll find

1, , 11\ l/It., I 1111 I " /\ 111\ •• •",11 1 /1 " , lUI "" /I" ,,,'u,,, out about how to create several " pseudo "" lIllI/ III , .. \ 1'1."".'" , codes," such as "Halt", branch to 000, and set error condition, for the SR-52 programs. These instructions, like their equivalents on

54 the HP-65, are not documented by the manufacturer and take trickery to accom­ pli sh. This issue also includes several HP-65, HP-55, HP-25 and SR-52 programs. One of the most exciting is Rich ard Vanderburgh's SR-52 Assembler/Loader program which is probably the first self-assembler for a hand held calculator l It has some restrictions on its operations, but it is an enticing prospect. Also found in the mailing of the Volume 3 Number 1 iss ue is an index to 65 Notes for July through Dece mber 1975, prepared by Alvin Gaines of Atlanta GA. If you VT-1920 want to find out what people are find­ Complete CRT terminal with monitor, keyboard, housing, in g out about hand held progra mmable interface for 8080 CPU and power supply Kit-$695.00 calcul ators, then you should investigate what MTS-8 65 Notes has to offer. All the features of the VT-1920 above plus 8080 CPU, 1 K bytes Contact Richard Nelson, 2541 W of ROM, 4K bytes of RAM, serial interface, cassette interface, assembler editor and debug software. Kit-$1195.00 Ca mden PI , Santa Ana CA 92704, for a BASIC-8 subscription at $"12 per annum. All the features of the MTS-8 above plus additional RAM memory and powerful Basic software. Kit-$1695.00 All systems have 80 character by 24 lin e display capacity but use Lansing MI Activities only as much me mory as characters displayed, because our Computer Hobbyists Around Lansing is terminals share memory with the computer and can be expanded the name of the club wh ich has been formed to 64K bytes . Scrolling is under cursor control to any location and any number of lines limited only by available RAM memory, in that vicinity. If you wish to participate, either line by lin e or page by page. contact one of the following people: MIKRA-O Joyce Church P.O. Bo x 403 Marvin Church IMIKRA-D I~I Holliston Mass 01746 4307 Mar-Moor Dr TE L. 617-881-3111 Lansing M I 48917 Phone: 482-9452 William Serviss 13121 Tucker Dr ALTAIR 8800 DeWitt MI 48820 Ph one: 669-3179 OWNERS Dani el L Herrick Is your ALTAIR : 1214 Frederick Dr * Slow to start up . .. PO Box 513 * Writing all D's or 1 's into memory . Owosso MI 48867 * Producing the wrong STATUS . . . Phone: 723-3264 * Having troubles running BASIC .. .

LO *OP Center Then your Altair may have CPU Clock problems. PARASITIC ENGINEERING now offers LO *OP Center, Inc, is an organization a permanent fix-kit for the Altai r 8800 CPU run by Li za Loop, dedicated to providing Clock; for only $15. co mputers upon which children can exercise thei r mi nd s. Accardi ng to the br oc hu re sent Send now for our FREE brochure detailing to BYTE: what this kit can do for your ALTAI R. "Computers as learning and teaching Better yet, see for yourself. Send for your medi a can be adapted to handle an kit TODAY. infini te va ri ety of subj ect material, including creative writing and forms of only $15. artistic exp ression .. . Th e staff con­ Kit is shipped postpaid anywhere in the ce ntrates on ex panding the hori zons of United States. Kit includes complete children through Computer Assisted instructions and all parts necessary to get In struction. Special emphasis will be 'Cookbook Clock Pulses.' pl aced on material for young children which encourages creativity and the PARASITIC ENGINEERING knowledge that they are in control of the machine. A large libl·ary of pro­ PO BOX 6314 ALBANY CA 94706 grams of interest to juni or high and

55 hi gh school age people has already Journal of Community Communications been developed in centers across the Lee Felsenstein publishes the Journal of coun try and is avai lab le through the Community Communications, a com­ LO *O P center." pendium of personal opinions on the socia l Activities at the LO *OP center wi II be of implicatiohs of computers. JCC is published interest to the residents of Sonoma County occasionally by LGC En gi neeri ng at $1 per CA and others at greater distance. In addi­ issue 12 issues for $10. The address is LGC tion to the educational emphas is, the center A Note on Dates and Engi~eering, 1807 Delaware St, Berkeley CA has a weekly Teacher's Forum and is host to 94703 Deadlines the Sonoma County Minicomputer Club meetings. Contact LO*OP Ce nter, 8099 La The Analytical Engine It takes time to put Plaza, Cotati CA 94928 (707) 795-0405. BYTE together. Material The Chesapeake Microcomputer Club is must be edited, typeset, the result of activity in the Washington proofread, pasted up, shot DACS Newsletter -Baltimore-Northern Virginia area, docu­ mented in The Analytical Engine. The into negatives, printed, The Volume I Number 4 issue of the then mailed. Thus, notices Chesapeake Microcomputer Club is to be Denver Amateur Computer Society News­ com mended for thinking up an excellent and should be in our hands no letter, dated February 1976, mentions later than 'the 20th of the unique name for the newsle tter, one which meetings, classes for beginners, and the reflects the origins of computers. The third month preceding gro up 's growth. A lecture by Adam Osborne, publication. Deadline for Volume 1 Number 2 issue of The Analytical Osborne & Assoc iates, arranged and Engine includes a report from the Caretaker the August 7976 issue is sc hedu led on short notice February 5, was May 207976. Board by Rich Ku zmack, an editorial by exce ll ent, and well received by the DACS Philip N Hisl ey summarizing the growth of members, reported the newsletter. Also the club, a technical note by Jeff Schmitt on worth notin g is the formation of special using FI FO memory chips (his exampl e is interest user groups for the val'ioLls proces­ the Fairchild 3341), a technical note by sors of members. Contact Denver Amateur Alan Hastin gs showing how to program a Computer Society at PO Box 6338, Denver software UART with detailed 8080 code for CO 80206. his version, an nouncement of a club visit to MOS Technology February 18-20, and biog­ Hoosier Amateur Computer & rap hi es of the candidates for club officers Kluge Society (HACKS) along with an election ballot. Meetings have Ray Borrill, who wi ll soon be ope nin g a been held at "The Other Barn," Oakland computer store called "Data Domain," Mills Village Center, Columbia MD. For phoned to urge club activity in the vic ini ty information write Chesapeake Micro Com­ of Bloomington IN . Interested indi vidu als puter, 236 St Dav id Court, X4, Baltimore shou ld contact Ray at 111 S Co ll ege Av, MD 21030. Editor of Th e Analytical Engine Bloomington IN 47401. is Philip N Hisley, (301) 667-9690.

space (logical 0) state shal l be a vo ltage more positive than +3 vo lts with respect to grou nd . The maximum magnitude in either YTE'S direction is spec ifi ed as 25 volts with respect UGS togt'Ound. B Donald Zano ll a of Burbank IL points out the fo llowing disCl'epancy in the samp le code Here lies documentation of l?/7own bugs given on page 62 of BYTE January 1976, detected in previous editions of BYTE . .. "Taking Advantage of Memory Address Space." The symbo l X could not be used in a RS-232 Levels pt'Ogram assembled by the In Gary Liming's article, "Data Paths," in assemb ler; the example would be correct if a February 1976 BYTE, there is an error in different symbol such as "XX" were used in the statement of the RS-232 vo ltage leve ls at its place, ie: the top of the first co lumn on page 39. The LDX XX fetch first o perand RS-232 specification, accord ing to a Xero x (16bits); excerpt supp li ed by Ron Finger of Anchor­ STX A I6 age AK, provid es th at the mark (logical 1) state sha ll be a vo ltage more nega tive than - 3 vo lts with resp ect to gt'O un d; that the

56 Connecticut Microi sts Long Island Computer Association (LlCA) George Ahmuty, 6011 Wend y Ln , West­ The Long Island Co mpu ter Association port CT 0688·1, is interested in contacting held its first meeting on Janu ary 16 ·1976 other Connecticut "Microists" and forming a and formed a steering committee. The club clu b. George can be reached by ph one at is open to anyone, amateur or profess ional, 227-8534. with an interest in computers, applications, programming or re lated subjects. Meeti ngs News of NECS are held a t the New York Insti tu te of Technology, Bui ldin g 500, Route 25A and The March 3 meeting of the New Engl and Whi teney Ln , Old Westbury NY, usually on Computer Society, held at the Mitre Corpo­ the third Friday of each month. For further ration's Cafeteria (Building C) in Bedford inform ation, contact Gerald Harri son, MA, 8 PM, heard a talk by Tom Miller, evenings until 9 PM at (516) 938-6769, or system architect for , on write Gerald at 36 Irene Ln E, Pl ainview NY the design of the TMS9900 processor. This 11803. microprocessor is scheduled to be available through TI distributors in May, with a price Kansas City Club? of $99.32 in quantities of one. (BYTE Earl G Day, 13208 W 94th Ter, Lenexa published Robert Baker's "Microprocessor KS 66215, would li ke to contact individu als Update" on the TMS9900 in the April 1976 interested in fo rmin g a computer club in the issue.) The large quantity price strategy of Kans as City area. Earl's phone number is TI, according to Mr Miller, was to make the (913) 492-93 15. TMS9900's price be about twice the price of an 8 bit processor in equivalent volume. The Ithaca NY Computer Group appea rance of a TMS9900 based processor in Steve Edelman, 204 Dryden Rd, Ithaca the personal computing market cannot be NY 14850, se nt BYTE a note ann ouncing far away, and Mr Miller strongly implied that fo rm ation of the Ithaca Computer Group. TI is trying to encourage that particular use One of the first activi ties was to arrange a of their new processor. The talk's technical bu lk purchase of 91 L02A R'AM chips for content included the mach ine' s general ar­ members. The Ithaca Co mputer Group chitecture and a series of 10 to 15 slides on meets "semi sporadically, but mostly on the the practical details of TTL interfaces to the second Sunday of the mon th ." For informa­ chip in small systems contexts. tion call Steve at (607) 272-2339. Other activities were Dave LeVine's re­ port on group purchase activities, including a WANTED one time purchase of IM6100 parts for club Microprocessors Kit or Assembled members at the 100 piece price, arran ge d with a local distributor. Dave Day prese nted ALTAIR • SPHERE • MOTOROLA • INTEL & OTHERS Memories, 1/ 0 boards, chassis, power supplie s, modems, peripherals, specials, an introductory session on hardware prac­ prom programmers, ADCS, DACS, GPIDS , RS232 faces, and any associated software. tices, oriented toward the members with no detailed hardware background. Doug John­ FORWARD INFORMATION AND/ OR INQUIRIES TO : son presented a concurrent introduction to AMERICAN USED MICROPROCESSORS, EQUIPMENT & SUPPLY CORP. © software concepts applicable to microcom­ BOX 515, puters. PRAIRIEVIEW, ILLINOIS 60069 Inquiries about NECS should be directed TElEPHONE (312) 634·0076 to PO Box 198, Bedford MA 01730. For complete monthly catalog of items available and in stock Enclose $10. for six iss ues. Many new unu sed items. Amazing values for everyone. A-70

V0+00l Toae£L~<~6V0+aolToae-can you decode this border7-£L~<~6V0+aolToae£L~<~6V0+aolT 6 0 < SofTWARE SofTWARE PluG--IN KiTS ~ £ OV~ 400 compl~x BUSINESS and ENGINEERING pnog~ L IMMEVIATELY avaA..f..a.bl~ with docwn~n;ta.:t{.on. HUNVREVS £ ALTAiR e • 8080 06 Ga.me6 and P-<-UWt~* pnog~* 60n* a.m1L6~~nt.* * Chang~ * /jou/C.* comput~* 6nom a :to/j < a -<-nto an ~x:tn~d/j 1L6~6ui. :tool wUh Ou/C. ReM. T-<-m~ -<-nt~6ac~ KITS. SPECIAL-' 20% o 066 on ALL onde;u, n~cuv~d -<-rL Ma/j, m~n.t-<-on BYTE . Ou/C. 2 4 pag~ ¢a.mpl~ ca.:ta.log T WU H(Lndn~d¢ 06 (LMq(L~ value6, und $1 :to cov~ handUng and po¢:ta.g~, pn-<-c~ ded(Lc:t-<-bl~ wUh 6~:t ond~. TO: SOFTWARE; P.O. Drawer C; Marcy, N.Y. 13403 o aL~<~fjV0+ao l Toae£L~<~6V0+ao l T De.ler .nd dIStribution inquiries welcome. Oae£L~<~L'>V'0+ao l TOae£L~<~L'>V0+ L a

57 TI SR-60 Desktop Programmable Calculator.

of programs in the mac hine, a standard memory of 480 program steps and 40 data locations, an option (at $700) to expand memory capacity to 1920 program steps and "100 data locations, algebraic expression notation with 9 levels of parentheses, up to 78 program labels, 15 user defined func­ tions,IO flags, 10 branch operations, 4 lev els of subroutine stacking, 2 modes of indirect addressing, and a complete program editing capability using the display, with the option of listing programs on the thermal printer. The SR-60 calculator also features a trace option usefu I for debugging program opera­ tion. Mass storage for this calculator is provided by 2 inch by 10.5 inch (5.08 cm by 26.67 cm) magnetic cards. Is This a Luxury Desk Top Version An extensive library of prerecorded pro­ of the SR-52? grams is available for financial, Il" athe­ The only way to answe r that question matical, electrical engineering, statistics and What's might be to go to a dealer or department surveying. The unit comes with a basic store which handles the Texas Instruments library of 10 prerecorded programs, opera­ calculator products lin e and compare. But ting manual, programmi ng manual, pro­ New? the SR-60 giv es th e L1s er much more in a gramming pad, blank magnetic cards, and desk top package, ava ilable at a suggested card holders. Inquiries should be directed to retai l price of f 1695. The extras include: a Texas Instruments, Inc, PO Box 5012 MS84, built in 20 character prompting display, a 20 Dallas TX 75222, Attn: SR-60. The SR-60 charac ter wide prin ter wh ich can record the will be available through TI office equip­ res ults of calcul ations or traces and dumps ment dealers and department stores.-

HP 9825A Desktop Programmable Calculator. A Desk Top High Level Language Machine Hewlett-Packard's 9825A Desk Top Pro­ grammable Calculator is an option which might prove quite attractive to individu als wishing to tradeoff dollars against the time and trouble of kit oriented approaches. At $5900 for the basic desk top unit the user will find a "black box" which is program­ mable in a high level language called HPL, a 32 character alphanumeric display and matching 16 character wide alphanumeric printer for examining programs and results of programs, 12 user programmable keys which through use of a shift key provide 24 user programmable program options, and a .....,/iiiiiiJoiiiiI .... ' ~ ':';;;;;;'o.liii:)tiiiiJtiiiiJ ~ ....., .::iI:IQ,~ tape, cartridge device wh ich can be used for I " :}f.'}' : ' /' " ~~'-.J~c .' j " I ' . '~ J, ,. 'I ' ' I I ' r I, ! ' I : ) I . ' I off line storage of up to 250,000 bytes , " ,/ '/ , ~ '-lUI.i.tJ' '''1' transferred at a data rate of '2,750 bytes per 1 ) / ~f ' '''''' / ' ', ' , ' / " ' , '. . / ' / I f...,;) ', " ' / I ' , ' 1...tJ ~I 'I I I I I U second. I I l ' I 'l ti!!I The standard unit has 8 K bytes of I . I I ' I 14iiiliJ I internal programmable mem ory, which is expandable to a maximum of 32 K. Optional :~~~~ plug in ROM packets are available to provide such extended H.I::'L functions as string handling, general language extensions such as

58 MICRO PERIPHERALS t-1 p.-4 121 .()o.s'll9- FOR/ NEXT loops, matrix operations, q'Q.~$ pl otter control, general 10, extended 10, etc. '-" v Up to four of these ROM packets can be .~ plugged into the machine at one time. The other aspect well worth considering for experimentalists is the fact that the mac hine is intended to be used with 10 for process control, laboratory in strument con­ trol, and other nonstandard 10 functions. By implication this means that the home experi­ COMPLETELY ASSEMBLED AND READY TO RUN menter with a large budget could find this 8080 PPI AND 6800 PIA COMPATIBLE machine to be an excellent controller of such items as burglar alarms, fire alarms, • 64 CHARACTER ASCII kitchen information systems, model railroad • 75 LINE PER MINUTE layouts, etc. A business person could inter­ • UP TO 40 COLUMNS face the HP printer for th is mach ine (at • ORDINARY ROLL PAPER extra cost) and develop packages wh ich • PARALLEL INTERFACE cou Id handle most small business data pro­ cessing needs, using the tape cartridge 10 for ORDER NOW! mass storage of statistics and records (with 1st COME - 1st SHIPPED hard copy back up for the conservatives in the audience).-

CPU Emulator for 6800-8ased Microprocessor Systems The DICE /68 is a microcom puter system development aid des igned to provid e users of the 6800 mi croprocessor an d the Motorola Exorciser deve lopm ent system with the PONG M;ih~!:,P PONG capab ility of in-circuit CPU emul ati on. Never before Available Other features of this desi gn and debugging Features the ultimate in PONG Game design : too l includ e status indicators for data and *6 Selectable Games *Selectable bat size address buses, plus additional system control Tennis, Hockey, Handball, *Selectable angles features. Practice, Rifle Shooting. *Selectable ball speed By plugging a 40 pin DICE /68 adapter * Automatic Scoring * Automatic or Manual ball *Score display on TV service di rectly into the 6800 CPU socket on one's * Realistic Sounds own hardware, it is poss ibl e to debug a 6800 $39.95 each - supply limited system prototype, complete with RAM , .Order 5 take 10% Discount • 10 ta'ke 15% Discount ROM, 10 circuitry and two ph ase clock, Also available as a kit. Send $1.00 for kit info and data sheet. usin g the full range of di ag nostic aids avail­ able through the Motorola EXBUG™ oper­ ati ng system found in its Exorciser product. MICROCOMPUTER Th e user can, after specifying through SPECIALS DICE/68 the bl ock of memory all ocated to AMD 8080A CPU $ 35.95 AMD 2102 Static Ram $ 2.90 the prototype system, beg in th e hardware AMI 6800 CPU $ 35.95 GI AY51013A UART $ 5.90 debugging phase of development. GI CP1600 CPU $ 79.95 AMI S1998 Digital Clk$ 6.95 The DICE /68 sys tem, in addition to being EVK 6800 Design Kit $239.95 AMD 2112Static Ram$ 3.90 a good microprocessor system debugging aid, Notice to engineers & inventors. Your idea is worth money. can also be used effective ly in a production Let us market your product or kit and we will give you cash. testing environ ment. This product will be of Write for details. prim ary in terest to BYTE readers engaged in Satisfaction Guaranteed. mic roprocessor syste ms des ign and micro­ All shipments First Class in U.S . Add $1.00 to cover handling processor system se rvice activiti es. The pri ce on orders under $25.00. Minimum order $5.00. California is $795 with delivery 2 to 4 weeks ARO. residents add 6% tax. For further inform ati on co ntact Di gital ADVANCED MICRO-ELECTRONICS Electronics Corporation, 2126 Sixth St, 3198 G Airport Loop Drive Berkeley CA 94710. Costa Mesa, CA 92626

59 HChip" Off the aide PDP 8/E:

The Intersil IM6100 Part I

If you are looking for an answer to the software availability problem, this microprocessor may be it.

Robert Nelson Of all the computers in the wO I'ld today, ava il able addi tional programming for the S. Chief Engineer there al'e probably more Di gita l Equ ipm ent Ju st a few of the full y- docum ented pro­ PCM Inc Co rp ol'a ti on (DEC) PDP, Ss than any other grams avail able fr om DEC fo r th e PDP-S: 180 Thorup Ln kind, A I'ecent article in Electroni c San Ramon C~ 94583 * Engin eerin g Times (October 20, '1975, page • PAL III - A bas ic 2- (or optionally 3-) pass assembler, 2) estim ates " .. , there are upward s of • MACRO-S - An adva nced asse mbler 70, 000 PDP,Ss in use in th e field, and that with all th e features of PAL III plu s 60 percent of all rece nt electrica l enginee rin g many others, such as use r-d efin ed gl'a du ates have bee n ex pose d to the PDP,S macros, double-prec ision intege rs, and its softwa re." Th e PDP-S at thi s poin t floatin g-p oin t constants, Boolean alge­ may trul y be the uni ve rsa l compute r. The bra 0pNators, etc, latest ve rsion fro m DE C is the PDP-S/E. • FORTRAN IV co mpiler - Run s in SK There arc so me good reasons fo r the of memory. PDP-S's popul arity. It has bee n ava il abl e • Exte nded BASI C translator - Also fo r si nce 1964. I t has al ways bee n relative ly S K of memory, inexpensive (at leas t for indu stri al use rs). It • FOCA L - An interactive language empl oys a conve ni ent para ll el wo rd length of simil ar to BASI C and FORTRAN, but 12 bits, wh ich can make it more powerful requiring less memory th an either, and th an a S bit mac hin e, An im portant con­ eve n easier to lea rn . siderati on fO I' the hobb yist is that it is easy • DIBOL - A bu siness-ori ented language to understan d, both hard ware and software. simil ar to COBOL, And there is a li te ral flood of software • TECO - A text edi tor and corrector. avail abl e for it. DE C itse lf makes ava il abl e • DDT - A program debu gging routin e. more than a th ousand fu lI y deve loped and docum ente d programs for the S. DE CUS, a There are also many di ve rsionary, ga me (yes, DE C-s ponsored non-profi t, free-m embel's h ip in cluding Space War) and ed ucational pro, use r's grou p main ta ins a li brary of hundreds grams ava il abl e, of other pr ograms. And many users, such as In addi tion to softwa re, DEC makes universiti es, US gove rnm ent opel'ations and ava il abl e many tu tori al handbooks for the resea rch grou ps ha ve developed and made PDP- S machines. Th e PDP-8/E Small Com-

PCM manufactures the PCM-12, a m achin e based o n the IM6100, which is much like a kit-form P DP-8 /E.

60 The PDP-8 at this point Since the IM6100 features may truly be the universal static operation, the basic computer. CP U clock can be varied from 0 Hz to the maxi­ mum operating speed. A speed control could be added to an I M61 00 based puter Handbook and Introduction to Pro­ tended al' ithmetic element (EAE). This is an processor. gramming cover the PDP- 8 hardware and optional piece of hardware that speeds exe­ how-to methods for PDP-8 sQf tware, respec­ cution of hi gh leve l mathematical l'Out ines, tively. Th ey are superbly written, ass ume such as floating-poin t arithmetic, tri g an d log you start reading with alm ost no know ledge fun ctions, etc. (Of course the 6100 ca n, with of computers, and use absolutely no "com­ standard PDP- 8 softwar'e, execute any of puterese" that isn't fully expl ained first. For these mathematica l fun ctions without the the tyro wanting to learn bas ic computer EAE; it ju st ca lcu lates the resu lts in soft­ opera tion and programm in g, th ese inexpen­ wa re, more slowly.) The direct memory sive paperbacks are hard to beat. Wr ite to access (DMA) structure of the IM 6'I00 dif­ DE C, 146 Mai n St, Maynard MA 01754, or fers from th at of the PDP-8 /E. The IM 6 100, ph one (617) 897-5 111 . hav ing a li mited number of pins, does not Now with this br ief introduction to the provide contin uous or' " real tim e" access to PDP-8, it is easy to see that it might make an all its internal registers (Accumulator, MQ id eal mac hin e for the computer hobbyist to Register, Lin k, etc. ), This "fault" the 6100 own. However, the pri ces are still a bit steep has in common with all microprocessors and for home use - seve r,al thousand dol lars for requires that the front panel of a small an operating mac hin e. But now In tersil computer bu il t around it be implemented in (10900 N Tantau Av, Cupertino CA 95014; softwar'e, More about that later'. ph one (408) 996-5000) has introduced the Some of th e fe atures of the IM 6'100 are : IM 6100, a 40 pin DIP mi croprocessor chip that recogni zes th e PDP-8/E instruction set • Th e 6100 contain s six '12 bit registers, and ca n therefore execute PDP-8 software. a programmed logic array (PLA), That me ans that if you build your se lf a small ar ithmetic logic un it (A LU) and all the co mpu ter arou nd the 6100, it can i m medi­ necessa ry ga ting and tim in g circuitry As in many of the 40 pin ate  y become a working machine, rather to impl ement a complete PDP- 8/E packaged 16 bit micro­ than simpl y an empty brain , by fillin g its ce ntral processor unit (CPU) , computers, the I M61 00 memory with alm ost any pr'ogram that will • Sili con gate CMOS constru ction for uses a common 12 bit data run on the PDP-8. And th at includes BASI C, low power, sin gle suppl y ope ration. FORTRAN, FOCAL, asse mbl ers, editor's, Silicon gate means that chip size is bus for both address and ga mes, etc. small for CMOS, and that leads to data information, The bus structure of the IM 61 00 ca n lower chip cost. CMOS construction easi ly be adapted to provide a subset of the means excel lent noise imm unity. PDP-8 OMN I BUS signals. Therefore all pro­ • The ch ip need s ju st a single 5 to 11 V gram med 10 interfaces for the PDP-8 (Te le­ power supp ly, and it doesn't need to typ e, paper tape rea der, punch, prin te r, etc.) be r'egul ated, Current drain at 5 V is will operate with the IM 6'100 without any about 4 mA , hardware or software modification. • All inputs and outpu ts are fu ll y TTL The esse nti al differences betwee n the compatible, whe n operated at 5 V. 6100 and PDP-8/E CPU are few. The 6100, • Static operati on (a rare feature in a unlike the PDP-8/E, does not prov ide for MOS processor), All reg isters in side times harin g (at least not yet, but see the the chip are static, whi ch means you *The following are registered di sc uss ion of In tersi l's supp ort chips for the can shu t off the clock without los in g trademarks of 0 igital Equ ip' ment Corporation, Maynard IM 6100 in the second part of this articl e). data, This makes it poss ibl e to put MA : DEC, PDP, FOCAL, The 6100 does not supp ort the DEC ex- both sin gle cloc k or sin gle instruction OMNIBUS.

61 buttons on th e fr ont pane l, a great aid Pin 6 : RUN / HALT line. See pin 2. for program debu gging. Pin 7: RESET line. A low leve l presented to • On chip crystal oscillatol', Just put a this pin clea rs the 6100 accumulator, crystal ac ross pin s 14 and 15 and th e lo ads 77778 into the program counter chip will genel'ate all its own timing. and puts th e CPU into the "halt" state Or substitute a TTL pulse ge nerator at (RUN line low). pin 14 and clock the chip atany speed Pin 8: INTREQ line. A periph el'al dev ice from 0 Hz to the max imum allowabl e requests an interrupt by prese nting a low clock frequency. level to this line. Memory address space in a • Interfaces direc tl y with standard solid Pin 9: XTA line. This timing lin e goes high PDP-8 (IM6100) is a col­ state programmable random access once each machine cycle. It is typi ca lly lection of fields of pages memories (2102s, for exa mpl e), used by external logic to indicate t he of memory locations. PROMs and ROM s, as well as standard "read" portion of th e cycle. See the TTL memories and lo gic, timing diagram of figure 1. • Operating at 10 volts, with an 8 MH z Pin 10: LXMAR line. The LXMAR pulse is crystal, th e 6100 will do a memory to deve loped by the CPU once each cycle. It accumula tor binary addi tion in just is primarily use d ex ternally to latch the 2,5 MS. This spec mak es it the fastest address sent aLit on the 12 data lin es available MOS microprocessor, (DXO to DXll) by the 6100 at T1 time. (Hobbyist operation will probably be Pin 11: WAIT line. Th e 6 100 sampl es the at 5 volts, though, to make TTL WAIT line at T3 time (read) and T6 time interfac in g easy, Thi s reduces the (write). If it find s the WAIT lin e low, it maximum cloc,k frequency to 4 MH z ex tends the cu n'en t s ta te by i ncremen ts and increases the above-m entioned add of the clock period until WAIT goes high time to 5 MS. Still, that's one of the again. By using this fea ture, the 6100 can fastest chips around when you con­ opera te wi th memori es of any spee d. sider th at thi s is a 12 bit add ition,) Pin 12: XTB line . SimilM to XTA; another external timing line that can be used to A Lap Around the Pins drive extern al devices. It is hi gh onl y A basic understanding of th e opel'ation of during T1 and T6. the IM6100 can beg in by familiarizing Pin 13: XTC line. The most impor ta nt oneself with th e operation of eac h of the timing lin e. High through T3, then goes pins on the chip: low for the res t of the cycle. Pin 14 : O'ystal input for intern al osc ill ator, Pin 1: Supply voltage. Typically 5 V at or dri ve point fOl" an extern al clock about 4 mA o osc ill ator. Pin 2: RUN line. When this line is high, th e Pin 15: The other side of th e crys tal, or machine is running, This pin opera tes in grounded if an external osc ill ator is used, conjunction with pin 6, the RUN / HALT Pins 16 to 28 (except 26) : DXO to DXll . lin e, Negative pul ses on the latter pin These are the 12 mUltipl exed, bidirec­ cause the 6'100 to altern ate ly go to the tional lin es that calTY in stru cti ons and run and halt states, data into and aLit of the chip. DXO is the Pin 3: DMAGNT line. Wh en a DMA req uest mos t significant bit (MSB), DXl1 the is ge nel-a ted, by a low leve l on the least significant bit (LSB). (This is the DMAREQ line (pin 4), the 6 100 gl'ants op pos ite of numbering conventions use d the requ est at the end of the cu rrent with most 8 bit processors.) instruction by presenting a high level on Pin 26: Ground. this line. Pin 29: Link line. Thi s line, when hi gh, Pin 4: DMAREQ line. See pin 3, indi cates that the Link flip fl op is se t. Pin 5: CPREQ line. A low leve l prese nted to Pin 30: DEVSEL line. The I M61 00 employs thi s lin e causes a control panel interrupt four se lect lines to distingu ish cycles to occur aftel' co mpl etion of the current inv olving main memory, external devices, instruction. control panel and the sw itch register from

62 'I' FIRST CYCLE "I' SECOND CYCL E 'I' CRYSTAL FREQUENCY

T- STATE

I FETCH , PIN 36 J LXMAR, PIN 10 Sl n DX

INSTRUCTION "DON'T CARE" (F ROM MEMOR Y ) REAO - DATA Figure 7: IM6700 CPU RE AD READ SEL I I t::r Timing Diagram. 777i5 is an XTA, example of the liming of PIN 9 n n se l/era/ IM6700 processor XTC, signals during Ihe execu- PIN 13 J I tion of a DCA instruclion,

one another. The DEVSEL line, when Timing Diagram low, asserts that the cycle in vo lves an IM 6100 timin g is quite easy to under­ ex tern al device, stand, Refer to the bas ic CPU ti m in g Pin 31: SWSEL line, Thi s se lect lin e, wh en di ag ram shown in figure I, Thi s di agram is low, indi cates that th e swi tc h I'egister is give n in the fQrm of an exampl e - the to be u se d for the read opera ti on, co mpl ete fetch and cxecute cycles or a DCA Pin 32: CO lin e, Thi s lin e, like th e ('I and C2 in stru cti on, This in Sti'u ction dcpos its the lin es, is used by ex tel'nal dev ic es to 6'100 ac cumulatol' contents into a se lected control the operation of th e CPU during me m 0 r y 10 ca tion, then clears th e an lOT in struction (see di scussion of acc umulator, in structi on se t, below), Pin 33: C1 lin e, See pin 32, T-state timing is derived direc tl y from th e Pin 34: C21ine, See pin 32, crys tal. Each statc requires two complete Pin 35: SKI' lin e, Similar to the C lin es, cycles of the crystal osc ill ator, Th en each above, Wh en th e extern al dev ice asserts machin e cycle req uil'es either five or six this lin e low dUl'in g an lOT in stru cti on, it T- states, depending on th e in struction, Si x ca uses the 6 '100 to sk i p th e nex t sequ en­ T- states MC I'equ ir ed when the parti cu lar tia l in sU-ucti on, mac hin e cyclc in vo lves a wl'ite opel'a tion, Pin 36: IFETCH line, Thi s lin e is hi gh Mos t in stru ctions I'e quil'e two 0 1' three thr oughout each cycle that is use d to mac hine cyclcs to compl e te their fetch and fetc h an in struction, execu te phascs, bu t a few req u il'c four Pin 37: MEMSEL line, This se lect lin e, when cycles, low, indicates th e cycle invo lves main The exa mpl c begins with the fir st cycle, me 1n 000y ac li on, fetchin g the DCA in str uction from mem ory, Pin 38: CPSEL line, Wh en low, this se lect Throughout thc retch cy cl e the I FETCH lin e lin e indi cales the inSti'uction or data is to stays hi gh, During T1 th e in structi on be I'ead f!'O m or wl'itten in to th e control ad dress, del'ivcd f!'O m th e IM 6100 program panel mcmol'Y- counter, is put on th e data lin es (OX), The Pin 39: INT GNT line, Thi s li nc goes hi gh LXMAR pul se is then use d to clock this when the 6100 grants a dev ice interrupt. address into a '12 bi t wi de la tch in the Pin 40: DATAF line, Thi s lin e goes hi gh memory, (Thc tra iling edge of LXMAR during the execute phase of an indirectly should be used to produce this latching addressed AN D, TAD, ISZ or DCA action, so th e OX data has pl enty of time to instruction , It allo ws the extended ad­ se ttl e at the latch inputs,) The memory th en dress element to select a different fi eld retains this address until anolh er LXMAR than th at from which th e instructi on pul se comes along in lhe next cycle, itself was taken, The next thing lhat happens is th at one

63 of th e select lines, MEMSEL, DEVS E L, MEMSEL lin e is driven low. This read data is CPSEL or SWSEL, goes low at th e risin g ignored by th e 6100. States T3, T4, and T5 edge of T2. Th e purpose of th e se lect is to are again use d for internal operation s. At T6 specify wh eth er th e ac ti on during th e cycl e th e 6100 puts th e data to be wri tten into th e concerns main memory (MEMSEL), an latched addr es s in main memory onto the external devi ce (DEVSEL), th e co ntrol panel data lines. Then the MEMSEL lin e is dri ve n memory (CPSEL), or th e front panel switch low to actu ate th e wl-ite operation. Th e register (SWSEL). In our exa mpl e we are memory itse lf diffel'e nti ates betwee n rea d first fetching an instruc tion fr om main and write, wh en MEMSEL goes low, by memory, th en depositing data into main moni toring th e XTA or XTC line. Wh en the memory, so in both cyc les it wi II be th e X line is high it is a read, wh en Iow a write. MEMSEL line th at will go low. Thi s signal is (XTC is pr obabl y the bes t line to use fo r use d (in th e first cyc le) to all ow th e main this, because it provides a littl e hold time mem ory to drive the data lines, with the after a read opel·ation.) data to be received by th e IM 6 100. In the Thi s compl etes our walk through a typical first cycl e of th e exampl e th e data tI'ans­ in struction fetch and execution. Some mitted by Ill cmol-y will be the DCA in stru c­ instructi ons take more cycl es, but th e timin g tion. States T3, T4, and T5 of th e first cycl e is still bas ic all y the same. Here are some are th en use d by th e 6"100 fo r intern al things to kee p in mind : operati ons such as register transfers a nd 1. All in stl'uctions start with a fi ve state ALU operations. fetch cycle. Th e second cycle starts with th e 6100 2. The LXMAR pul se OC CUI-S in every putting th c addl"ess to be wri tten into on th e cycle. In addition to latchin g addresses, data lines, and outputting the LXMAR pul se it ca n be use d to cl ea r 0 1" se t fl ip fl ops, to latch thi s addl'ess into main memory. etc., in periph eral devic es. (Thi s address is a part of th e DCA in stl-u c­ 3. In a give n cy cl e, onl y one se lect lin e tion which was fetched in the fir st cycle.) operates . Howevel", so me in struction s Although th e second cycle is a "wl-ite" invo lve a cycle which uses one selec t cycle, th e 6 100 will fil"st perfo l'm a dummy lin e, fo ll owed by a cycle which uses (0 1" "don't CMC " ) rea d at T2 when th e anoth er se lec t line. For example, see th e di sc uss ion of th e IM 6100's uniqu e con trol pane I provi sions, be low. 4. OX line data moves in both direc ti ons, . PAGE 37 LOC 177 to and fr om the 6100. Only in some FIELD 7 PAGE 36 LOC 176 T- states is this data valid ; in other states PAGE 35 LOC 175 th ese lin es are in th e hi gh impedance FI ELD 6 :> state and just fl oa t. See the timin g ~ ""'- di ag ram, figure 1. FIELD5 PAGE 12 LOC 012 5. Th e XTA, XTB and XTC lin es se rve as PAGE II LOC 011 indicators of th e cUln nt state of the FI ELD 4 PAGE 10 LOC 010 6100, within th e cycl e. PAGE 07 LOC 007 FIELD 3 PAGE 06 LOC 006 Instruction Set PAGE 05 LOC 005 Th e IM61 00 in struc tion set is identical to FIELD 2 PAGE 04 LOC 004 th at of th e PDP-8/ E. All in stl'uctions Me 12 PAGE 03 LOC 003 bits long, so it always takes ju st one mac hin e FIELD I )--- }- PAGE 02 LOC 002 cycl e to fe tch an in structi on. The 6100 PAGE 01 LO C 001 makes no di stin ction betwee n in structi ons FIELD 0 PAGE 00 LOC 000 and data; it ca n manipul ate in stru ctions as 32K MEMORY I MEMORY FIELD I MEMORY PAGE data or execute data as in struc tions wh en it

ALL NUMBERS IN THE ABOVE MAP ARE OCTAL is programmed to do so. Software pel'sons will recogni ze this conveni ence. Th e in struc­ ti on can be di vided into three ca tegori es: I 0 : I : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : I I I memory refel'e nce insu'ucti ons, operate in­ structions and input output transfe l" (lOT) PAGE NUMBER PAGE ADDRESS OCTAL DO TO 37 OCTAL 000 TO 177 in structions. Bu t before di sc uss in g these thl'ee in stru ction types, le t's ge t ac qu ain te d Figure 2: Memory Organization. Th e mem ory address space of Ihe IM 6 700 wi th th e me mory s truc tu I"e to be u se d wi th (and th e PDP- 8) is di vided into fields of 4 096 words. Each field in turn is the 6100 (aga in , it's ju st like th c PDP-8 ). considered to have 32 pages. Within each page there are 728 memory Lik e the PDP-8, th e IM6100 has a bas ic locations. The division into fields, pages and locations is required by the way addressin g ca pac ity of 4096 (4 K)1 2 bit in which the instructions reference memory. wOl"d s. Thi s addressing capac ity is a natural

64 res ult of the 12 bit wmd width, and ca n be location r'eferenced is the abso lute octal ex pan ded to 32 K, or beyond, by addi tion address 0023. However, if bit 4 is a "1" and of a simple extended address element the cunent in stru ction was fetched from modul e. This modul e, when designed for' octal location 46 10, the page address 023 PDP-8 software compatibi lity, requ ires designates the absolute octal address 4623. about 25 551 and MSI TIL chips (but see By this method 256 l ocat i on~ may be discussion of In ter'si l's IM 6 ' 00 LSI support directly addressed, 128 on page 0 and 128 chip s, to follow in part 2 of this arti cle ). A on the current page . Other locations are max imum memory size of 32 K can be addresse d by utilizing bit 3. Wh en bit 3 is a implemented with a PDP-8. "0", the operand address is a direct address. The memmy syste m is mganized into But when bit 3 is a "1 ", the address is taken 4096-w ord blocks ca ll ed "fields." The first to be "indirect. " An indirect address (or 4 K words are in fie ld O. If a fu ll 32 K of " po in ter" address ) identifies the memo ry memory is installed, the upper'most memory location th at contains th e desired absolute field is numbered 7. In any given memory address. To addr-ess a location th at is not field every location has a uniqu e 4-digit octal direc tl y addressa bl e (not on page 0 or the (12 bit binary) address, 0000 to 7777 current page ), the absolute address of the decimal 0000 to 4096. Each memory fi e ld is des ired location is stored in one of the 256 further subdivided in to 32 pages of 128 directly addressa bl e location s. Thi s direc tly words eac h. Memory pages are number'ed addressable location is used as the "pointer." seq uentiall y from octal 00, containing octal (To make li fe simpl er, rem ember that an add resses 0000 - 0177, to octal 37, con­ ind irec t address and pointer address rea ll y taining octal addresses 7600 - 7777. The mea n the sa me thing - th e hiding place that first fi ve bi ts of a 12 bi t memor'y add ress contains th e full 12 bit effective address of denote the page number and th e low order 7 the operand you really want.) bits spec ify the address of the memory So the IM 6 100 has dir'ect and indirect loca tion wi th in the given page, ca ll ed the addressing capability. It has one oth er ad­ page address. See figu re 2. dressing abi li ty, autoindexing, Octal locations During an in stru cti on fetch cycle, the 0010 to 0017 in page 0 are auto­ IM 6 100 fetches the in stru ction pointed to indexed, If these locations are addressed by th e program counter (PC). The contents indirec tl y, the co ntents are in cremented by of the PC are transferred to the memory one and restored before th ey are used as th e address register (MAR), an d th e PC is in­ opera nd address. These locations may, th ere­ cremen ted by one. The PC then co ntain s the fore, be use d for ind ex ing applications. address of the next seq uential in stru cti on. The memory reference in stru ction The MAR contain s th e ad dress of the "cur­ mnemoni cs, and their opcodes, are shown in rent" in stru ction , wh ich Illust be fetched Tabl e '1, along with an ex pl anation of wh at from memory. Bits 0 - 4 of the MAR they do and how long they take to execute. identify the current page, th at is, the page Th e second category of instructions is from which instructions are currently being termed th e operate instructions, a ll of which fetc hed, and bits 5 -'II identify the have an opcode of oc tal 7. These instruc­ loca ti on wit hin th e current page. ti ons are all used for IM 6100 inter-n al oper­ The memory reference in stru ctions oper­ ati ons, such as conditional and uncon­ ate on the contents of a mem ory location or ditional skip s, acc umulator rotates (either use th e contents of a memory location to left or' ri ght, and one- or two-bit sh ifts), opera te on th e acc uillul ator or program clearin g and setting the accumul ator and counter. The first three bits of a memory

reference in struction specify the operation OPERAND ADDRESS code, or "opcode," and the low order 9 bits o 2 3 4 5 6 7 8 9 10 th e operand address, as shown in figu r'e 3. " Bits 5 - "" , the page address, identify the IA MP PAGE ~DDRES~ location of th e operand on a given page, but : : I th ey do not identify the page itse lf. Th e ADDRESSING BIT-.-J ~PAGE BIT page is identifie d by the page bit, bi t 4. If bit 00 DIRECT O· PAGE 0 4 is a 0, the page ad dress specified rs I' INDIRECT I ' CURRENT PAGE interpreted to be on page O. If bit 4 is a '1, the page address is interpreted to be a Figure 3: Memory Reference Instruction Format. MemolY reference instruc­ location on the current page, that is, th e tions mal?e use of the memOlY organization concepts in figure 2. Th e page page from whi ch the current in struction was address identifies the particular word desired,' the page bit (MP) selects fetched. whether the current page or page 0 is selected,- the addressing mode bit allows For exampl e, if bi ts 5 through '11 repre­ an additional single level of indirection so that data outside the current page se nt oc tal 023 and bit 4 is a "0", th e (but slill wilhin the current memOlY field) can be referenced.

65 link, fetching the MQ Regi ster to the ac­ cumul ator, etc. These in structions use bits 3 to 1'1 in the instruction word (after the opcode of 7 in bits 0 - 2) to spec ify the exact opera tion to be performed. All th ese bits are available, of course, since all the opera tions spec if ied are in ternal to the IM6100 itself and do not require specifica­ tion of a memol'y address. Number of T-States No detai led li sti ng of th ese instructions Binary Required wi ll be give n here since it is a lengthy list, Mnemonic Op Code Operation (direct addressing) and it is clearly exp lain ed in th e IM 6'J00 AND 000 Logical AND - The memory 10 data sheet (and also in DEC' s Small Com­ location addressed is AND'ed puter Handboo/?). However, it should be with the AC. Res ult remains po in ted out that these in stru ctions are inAC. termed m icroi nstruc tions by DEC, si nce TAD 001 Binary ADD - Memory contents 10 they can be co mbined by setting or clea ring are added to AC; result remains the proper bits in the in struction word. This in AC. Carry complements Link. often cuts down the number of individual ISZ 010 Increment and skip if zero - The 16 steps necessary in a prog ram. I t is po ss ib le, memory location is incremented. for examp le, to use a single in struction to If the result is zero, the next produce Cll followed by RTl, which will sequential instruction is skipped . clea r the link then rotate th e acc umulator DCA 011 Deposit, a nd clear AC - The 11 two posi tions to the left. contents of the AC are deposited in the addressed memory location, The third category of in stru ctions con­ then the AC is cleared. sists of th e input output tr ansfer (lOT) instructions. These all have an opcode of JMS 100 Jump to Subroutine - The PC 11 contents are stored in the addressed oc ta l 6 and are use d to initi ate the operation memory location. The PC is then of peripheral devices and to transfer data set to one address higher than that betwee n periph erals an d th e 6'\ 00. (Ac­ in the instruction . tually we Me talking here about programmed JMP 101 Unconditional Jump - The next 10 data tr ansfers; data can also be transferred to instruction is taken from the or from peripherals by mea ns of interrupts address embedded in the current and d irect memory access, to be explained instruction. later.) In an lOT in stru ction, bits 0 to 2 are Table 7: Summary of MemolY Reference Instructions. This se t of six always set to bin ary '11 0. Bits 3 to 8 are the instructions references memolY in the format of figure 3. Instructions with device se lec tion code, used to se lect the binwy opcodes 770 and 777 are th e l OT and Operate instructions, peripheral dev ice, and bits 9 to 11 spec ify respec tively. th e operation to be performed wi th the se lected peripheral. The device se lec tion code oc tal 00 in bits 3 to 8 is reserved for processor lOTs. There are eight of these: octal 6000 - 6007. They are used by the CPU for cel:tain hou se kee ping operations Control Lines such as turning on and off the interrupt Operation CO Cl C2 syste m, fetch in g fla g bits to the accu mu­ H H H The content of the AC is sent to the device. lator, etc. The se are exp lain ed in detail in th e 6100 data sheet.. L H H The content of the AC is sent to the device. Then the AC is cleared. A pl'ogl'a mm ed da ta transfe r begi ns when the IM6100 fetche s an in stru ction from H L H The device data is OR'ed with th e AC; result remain s in memory and recogni zes it as an lOT instruc­ the AC . ti on. The 6'J00 se quences th e lOT in stru c­ L L H The device data is loaded into the AC . tion through a 2 cycle execute ph ase ref­ X H L The device data is added to the contents of the PC. erred to as IOT A and 10TB. Th e in struc ti on mu st be latched into th e external device, X L L The device data is loaded in to the PC . using the lXMAR pu lse . DEVSEl is the X - don't care ac tive se lect line for all lOT in structions. The se lected periph eral device controls the Table 2: Input Output Control Lines. Th e states of th e three control lines IM 6'I 00 duri ng th e data transfer by mcans of (defined by the 10 hardware ) tell the IM6 700 what to do during an l OT the CO, C1, C2 and SKP line s, The typ e of ins truction. data transfc l' is spec ifi ed by the pCI'ipheral

66 devi ce by asse rting the control li nes as li ne C1 low while CO and C2 remain hi gh. shown in table 2. The in te rface log ic, th en, mu st recogni ze th e The S KP Iin e, wh en asserted low by the arrival of the oc tal 6034 code and assert C1 peripheral devic e during an lOT, causes the low. Simil arl y, lOT in str ucti on octal 6031 IM6100 to skip th e nex t sequential in stru c­ mu st ca use the nex t instru ction to be Ition. Thi s fea ture is used to sen se th e sta tu s skipped if th e key board data ready flag is se t of vari ous flags in the device in terface. The in th e devic e intel"face. To accomplish this, CO, ("I and C2 lines are trea ted inde­ th e interfa ce logic mu st, upon arr iva l of th e pendentl y of the SKP lin e. octal 603"1 in stru cti on code, te st th e data Except for pr ocessor lOTs, all lOT in­ rea dy fl ag, and th en if (and only if) it is se t, stru ctions arc nonspecific in th at, unlike all asse rt the SKP lin e low. (By the way , in th e o th er in stru cti ons, the operati on th at th ey typica l DE C PDP-8 syste m, dev ice code oc tal perform is not kn ow n by the CPU . Rath er, 03 has been ass igned to th e TTY keyboard the hardware designer spec ifies wha t eac h of and octal 04 to the TTY printer.) these in stru cti ons does by the logic he bu il ds I t is see n, th en, th at the system designer into th e in te rface fo r the spec ific peripheral has nea rl y comp lete free dom with th e lOT device . The lOT in struction s work in con­ in structions. He first dec id es wh at he wants junc ti on with th e CO, C1, C2 and SI

OR GA NI ZATION OF THE IM 6100 Many of the microprocessor chips avai labl e today were not designed to be the heart of a ge neral purpose minicomputer. They were primarily desi gned with ded icated industrial control applications in mind. But th e Inters il IM 6100 is an exception, sin ce it imitates so well the structure of the PDP-8/E CPU. A block diagram of the 6100 is shown below.

INTERN A L BUS ( 12 LINES)

-~:---\...A.---'"..J k':;:::==;:>I~M~U~L2T~1 P::L;'E~X E~R~JI<:===::::::>o 12 ox (DATA) r I' • LINES ------1----1I I I _ _ -' I I I I I RESET, RUN I HALT, r-----Q DMAREO, LINK ------l I; 5 LINES INTREO , I LINE I CPR EO L _____ -----I

+5V 0 I I GND 0 ------1 P; A CO 4 LINES C I CRYSTAL ------~ , 2 LINES ~ C2 i-----i-!Ly---,----J SK P XTA ,XTB,XTC, DMAGNT, ,...... :------"-, RUN, 8 LINES TIMING AND INTGNT, STATE CONTROL IFETCH, L XMAR, DATAF MEMSEL, ---- INTERNAL CONTROL LINES DEV SE L , I LINE --- EXTERNA L INPUTS OR OUTPUTS SWSEL, WAIT = DA TA LINES '----+0 CPS E L

Accumulator (AC) form ed. Data word s may be fetched fr om mem ory to th e AC or stored fr om th e AC The AC is a l 2 bit re gister with wh ich into th e memory. Arithmetic and logi ca l ari thm etic and logica l opel'ations are per- operati ons in vo lve two operand s, one held in

67 the AC and the other fetched from memory. shift in either direc ti on. The ALU can also The resul t of the operation is left in the AC. shift by three positi ons to impl ement a byte The AC may be cleared, complemented, swap in two steps. Th e AC is always one tested, incl·emented or rotated under pro­ input to the ALU . However, under internal gram control. The AC also se rves as an input microprogram con trol, the AC may be ga ted output register. All programmed data trans­ off and all ones or all ze ros gated in . The fers pass through the AC. second inpu t to th e ALU ca n be anyone of the other I·egisters under micropr ogram con­ Link trol. The Link is a 1 bitflipflop that se rves as a high ord er ex tensi on of the AC. It is use d Temporary Register (TEMP) as a carry flip flop for 2's complement The ·12 bit TEMP latches the result of an arithm etic. A carry out of the ALU comple­ ALU operation before it is sent to the ments th e Link. The Lin k can be clea red, de stinati on register, to avoidl·ace condi tions. set, complemented and tested under pro­ The TEMP is also used as an in ter nal register gram control, and rotated as part of the AC. for microprogram contro l.

MQ Register (MQ) Instruction Register (IR) Th e MQ is a 12 bit I-e gister which is During an in wuction fetch, the ·12 bit IR program access ibl e. Th e contents of the AC contains th e in struction that is to be exe­ may be transferred to th e MQ for temp orary cuted by th e CPU. The I R spec ifies the storage. The MQ can be OR'ed with the AC initial step of the microprogram seq uence and the result stored in the AC. The con­ for each instru cti on and is also used as an tents of the AC and the MQ may also be intern al register to store temporary data for exc hanged. microprogram control.

Program Counter (PC) Multiplexer (OX) The 12 bit PC contains the address of the The 12 bit input outpu t multiplexer memory location fr om which the next handl es data, address and in stru ction trans­ instruction is fetched. DUI-ing an in struction fe l·s in to and out of th e CPU, fr om or into fetch, the PC is transferred to the MAR and the main memory and periphel-a l devices on the PC is then incremented by one. Wh en a tim e- multiplexed bas is. there is a branch to another add ress in memory, the branch add ress is transfer red Major State Generator and Programmed into the Pc. Branch in g norm all y takes place Lo gic Array (PLA) under progra m control. However, dUI·in g an DUI·in g an inStf"u ction fetch the in stru c­ input output (lOT) operation, a device may tion to be executed is loaded into th e IR . specify a branch address. A sk ip (S I

68 YOU MAY PLACE MAS TE RC ~ARGE® OR BANKAMER ICARV® ORDERS BY CALLI NG , 24 ~ O U RS A DAY, (415) 357-7007 ®IDffi®(ID TE RMS: AVO 5 0 ~ TO ORVE RS UNVER $10 . AVO S~I P PING W~ERE INV ICATEV; OTHE RW ISE, BILL GODBOUT ELECTRONICS ITE MS S~ I PPEV POSTPA IV. CAL RES AVO TAX. NO COV-- - IT' S TOO M U C ~ PAPERWORK! ®.BOX 2355. OAKLAND AIRPORT. CA 94614 0\1" t-lew 4 k X 8 Ram kit p.. Ak X8 Erom Board kit o~~,,~ ~CO~ S89.95 OTHER MANUFACTURERS HAVE PICKED UP ON OUR BUFFERED HERE'S A HOME FOR YOUR SOFTWARE, I N A MEMORY THAT ADDRESSES AND DATA OUTPUTS ••• AND THEy'VE STARTED DOESN'T FORGET. OUR EROMs MAY BE CHANGED AT WILL, USING HYSTERESIS ON THE DATA IN, TOO ••• AND STATIC SO YOUR BOARD WON'T BECOME OBSOLETE AS YOUR SOFT­ OPERATION ••• BUT WE'VE GOT THE RECIPE ON KEEPING WARE CHANGES. EXPANDABLE TO 8K X 8. PROGRAM IT THE PRICE DOWN. ALTAIR 8800 PLUG - IN COMPATIBLE. YOURSELF • • • HAVE US PROGRAM IT FOR A NOMINAL FEE ••• ONBOARD REGULATION, SOCKETS FOR ALL ICs, LOTS OF OR SPEC I FY ONE OF OUR PRE-PROGRAMMED BOARDS : THEY BYPASSING, LA POWER CONSUMPTION, INSTRUCTIONS; THE COME WITH 8080 EDITOR, ASSEMBLER, AND MONITOR PRE ONLY THING WE SKIMPED ON WAS THE PRICE. PROGRAMMED. ALTAIR 8800 PLUG-IN COMPATIBLE •

.. ~Ier for CPU & Memo our Bargain Ram Kit ~o~ ry , rtAKED RAM microcomputer Qkx8 $7995 supply $44.95

THIS GENERAL PURPOSE BOARD IS DESIGNED SPECIFI­ THIS POWER SUPPLY KIT DELIVERS 5 VOLTS Ii 5 AMPS, AS CALLY FOR JOLT SYSTEMS, BUT IS EQUALLY APPLICA­ WELL AS +12V @ ~ AMP, -12V ~ ~ AMP, AND AN ADJUST­ BLE TO OTHER B I - DI RECTI ONAL BUSS SYSTEMS. IF ABLE NEGATIVE BIAS SUPPLY. FOLDBACK CURRENT L1M­ YOU DON'T NEED THE ON BOARD REGULATI ON OR BUF­ ITING---SAME SIZE AS JOLT POWER SUPPLY CARD--CROW­ FERS OF OUR "BIGGER BROTHER" 4K X 8 BOARD, THEN BAR OVERVOLTAGE PROTECTION---l% REGULATION, 5V. A l'HI SIS THE WAY TO I MPLEMENT COST - EFFECTI VE QUALI TY COMPUTER SUPPLY •• INCLUDES CHASS I S AND ALL MEMORY. Low POWER --- UNDER 750 MA. SAME SIZE HARDWARE, BUT LESS LINE CORD. FOR 117 VAC, 60 Hz . PLEASE ADD SHIPPING FOR 8 POUNDS. AS JOLT RAM CARD; WITH INSTRUCTIONS. 6YEJ SEND ~~ FOR OUR 10000 uF at 10V. WHILE THEY FREE 91L02 THE P E RF ECT TON I C FOR P OW ER LAST! FLYER SUPPLIE S WITH A FARAO DEF I ­ Low Power qENCY . AX IAL LEAO PACKAGE IT'S $1.25 NMOS static SPECIAL! FILLED WITH lK RAMS $2.35 GOODIES I!! Microprocessor Based Analog

Roger Frank Analog input and output capabilities, The Ramp Technique 1801 E Girard # 247 when ad ded to a m icrocompu ter, can grea tl y Englewood CO 80110 ex pand the power of the home or hobby The simplest approac h is the ramp tech­ computer. Inherently, the mi croprocessor is nique. It has the advantage of needin g the a digital dev ice, ideal for control of di sc rete least code in the microprocessor, bu t the (on or off) input and output leve ls. How­ di sadva ntage of being the slowest, some 15 ever, many analog signals can also be proc­ times slowe r, on the average, than the essed wi th onl y minimal additional hard­ successive approxi mation approach di scussed ware. With this additi on, such devices as later. For many appl ications, wh ere speed is temperature se nsors or ph otocells can be not critical, this approach may be best. Since monitored, and output peripherals such as the ramp technique is conceptua ll y easiest to oscilloscopes and au di o amplifiers ca n be understand , it wi ll be examin ed closely first. added to the mi croprocessor. Figure 1 shows the bl ock di agram of the Taki ng tradi tional app roac hes to analog AD conversion system. Unlike hardware to digital conv ers ion can be very ex pensive approaches, the identical components can be An ana log signal is typi­ to the hobbyist. Hundreds of doll ars could use d fo r successive approx imati on, ramp, or cally a voltage level ... be spent, but this would yield onl y high tracking conversion algorithms. The hard­ speed or resolution. For the amateur, ware can be tailored, by software, to mee t wh ich corresponds to typical ly eight bits of acc uracy is suffi cie nt, spee d or acc ur acy requirements of the ove r­ measurement of some and speed is not a critical factor. The all system. physical variable. brightness of the sun , the tem perature of the To understand the circuit, assume in room, or the moisture of the front law n do figure 1 that the anal og inpu t to the + inpu t not change very rapidly. By all owin g the connector of the compara tor is 2.00 V, and microprocessor to do most of th e work th at all zero bi ts are applied to the DAC's involved in the conversion, a si mpl e, inex­ di gital inputs. The DAC' s output will be 0 V pensive circuit can convert an analog input at the comp arator's - input connector. The to a di gital word in less than a milli second. comparator's output will be a 1 bit, which is The overa ll cost can be kept under $20 for applied to the mi croprocessor thr ough an four channels of analog inpu t. input port. The software," by reading and Two techniques of analog to digital con­ testing the input port, knows if the digital version are easi Iy accompl ished by a mi cro­ word applied to the DAC is too large or too processor: the ramp and successive ap prox i­ small. In this case, th e 1 bi t re ad at the inpu t mati on methods. In each case, the task is to port means "too small" and the micro­ Analog signals can be proc­ ge nerate a digita l word, ap pl y it to a di gital processor will increment the digita l wo rd at essed with only a minimal to analog conve rte r (DAC), and compare the the input to the DAC. The output of the addition of hardware to a analog ou tpu t of the DAC to the analog DAC increases by a small amou nt each time system. i npu t to be converted. Base d on the resu Its th e comparator says "too small ," until the of the compari so n, th e next digi tal word to DAC ge nerated analog voltage ju st exceeds the DAC is ge nerated. the " un known" inpu t voltage. At that Traditionall y, severa l gates, up-down moment, th e comparator outpu t will be read counters, and clock gene rators are used to as a 0 bit, and the digital equivalent of the achieve the conversion. This approach is analog input vo ltage will be prese nt at the much more ex pensive than usin g th e mi cro­ inpu t to the DAC. processor to impl ement the same functions, This sequ ence, usin g an eight bit DAC, using no external TTL logic in the conver­ ge nerates a ram p voltage at the inpu t to the sion at all. comparator with eac h step 1/256th of the

70 A cha ll enge: Write a pro­ gram to send data to the DAC at regular intervals, connect the DAC output to a high fide lity amplifier, /Digital Conversion and play music with the DAC as a waveform gen­ erator.

full sca le voltage. In this application, a five OUTPUT PORT volt full scale is typical, so each step wou ld FROM MICROPROCESSOR INPUT PORT OF MICROPROCESSOR be about 19.5 mi llivolts. Using the Motorola BI T 7 ------BITO MC 6800 microprocessor, a routine to BIT 7 acco mplish this simple conversion wou ld be COMPARA TOR as shown in listing 1. LS B Note that with the MC6800, 10 is treated b7 b6 bS b4 b3 b2 bl as a memory location, so it is simple to directly implement the algorithm. For the DIGITAL TO ANALOG Intel 8008, a simi lar sequence cou ld be used, CONVERTER as shown in listing 2. In this example, ( Re gister B wil l have the eight bit digital ANALOG UNKNOWN VOLTAGE OUTPUT VOL TAGE INPUT equivalent of the analog input when the PROPORTIONA L TO (2.0 V IN EXAMP L E) sequ ence is complete. DIGITAL INPUT WORD

The Successive Approximation Method Figure 7: Th e microprocessor controlled analog digital conversion system A faster technique, which always takes consists of an 8 bit DA C output which is compared against the unknown the same number of passes through the input. deci sion making loop, is the successive ap­ proxi mation method. The hardware is exactly the same, but instead of changing the least significant bits in incrementing fashion (19.5 millivo lts per step), this 1 RAMP CLR DAC start conversion at zero; method changes the most significant bits, 2 RLOOP INC DAC increment output voltage; one at a time, and very quickly homes in on 3 TST COMP test comparator input of bit 7 (NI; 4 BMI RLOOP back for more until done; the correct digital word. 5 RTS return to caller; Usin g the same example, with 2.00 V applied to the "unknown" input of the Lis ting 7: Th e ramp method of conversion, sp ecified as a comparator, the sequence is like this. First, symbolic assembly language program for the Motorola the most significant bit, bit 7, is set to a one 6800 central processor. in the DAC. The output of the DAC imm ediately goes to half sca le, or 2.5 vo lts. (Remember that bit 7 represents 2**7 or 128 times the least significant bit's we ight of 19.5 mY, which is about 2.5 volts.) Right 1 RAMP XOR A clear the accumulator with XOR; awa y, the microprocessor knows that in the 2 LBA cl ea r B from A; final digital word, bit 7 will be a zero, since 3 LOOP INC B increm ent DAC input word by one; th e comparator is already say ing "too high" 4 LAB move to accumulator for output; 5 OUT DAC output to DAC device code ; with that bi t on Iy set in the DAC. The 6 INP COMP input from comparator device code microprocessor removes bit 7 from the DAC 7 JTS LOOP using sign bit for comparator; and sets bit 6 to a one. Now the DAC output 8 RET return when done; of 1.25 V is compared to the 2.00 V "un­ known" input to the comparator, and the Listing 2: Th e ramp method of conversion, specified as a processor quickly learns that bit 6, by itse lf, symbolic assembly language program for the Intel 8008 is "too low," since 1.25 V is less th an processo r.

71 digital inputs to a current output at pin 4. Current output, which is subsequ ently con­ verted to a voltage, is typical with DAC s. The circu it to the left of the DAC is a simpl e zener di ode voltage regu lator. The zener main ta in s a constant voltage drop ac ross the resistor R 1, sin ce the righ t side of SUCAPPRX CLR A result will be in A ; 2 LDAB #$80 rotating mask, most significant first; the resistor is at virtual ground. The current 3 NEXTBIT ABA apply trial bit to A with addition; through R 1 is the reference current, wh ich is 4 STAA DAC send it to the output DAC latch; either absorbed internally or steered out the 5 LDAA COMP read the comparator output; DAC' s pin 4. How mu ch current leaves the 6 ANDA #$80 check sign bit with comparator output; DAC is a function of the digi ta l input word 7 BNE RETAIN if low then reta in trial bit; 8 LDAA DAC recover the DAC word ; applied on pins 5 through 12. 9 SBA restore zero to last trial bit; The current cannot be compared to the 10 BRA MSHIFT then go shift the rotating mask; unknown anal og input vo ltage without some 11 RETAIN LDAA DAC keep the trial bit as logical one; conversion. Di g out your operational am pl i­ 12 MSHIFT ROR B rotate t he mask; 13 BCC NEXTBIT on eighth rotate, carry set fier articles and you'll rea li ze that the 14 RTS so retu rn from the conversion; LM301 is func tioning as a current to vo ltage converter, which changes the a to 2 mA Listing 3: A successive approximation conversion, specified as a symbolic output of the DAC into a 0 to 5 V vo ltage. assembly language program for the Motorola 6800 processor. This program This voltage, after a little filtering, is then was adapted from a Motorola application note on the subject. Note that for ap plied to an LM311 comparator. fast processors or slow operational amplifiers (su ch as the 747), a de lay loop Th e LM311 has the useful feature of should be inserted between lines 4 and 5 of this program to aI/ow the hav ing an analog comparator input, but a output to settle. TTL compatible (open coll ec tor) output. The LM311 output can be directly applied to an inpu t port of the microprocessor for program controlled eva lu ation. Res istors R6 1 TESTPGM LDAA # $00 load test va lu e for DAC; and R5 add a li ttle hysteresis to the com­ 2 STAA DAC and store it in the DAC; parator and, like the fi ltering components 3 RTS then return to ca ller; C1, C2, C4 and R7 , are recommended, though not absolutely essenti al to the opera­ Listing 4: A test program which can be used to load tion of the circu it. Similarly, a 741 type the immediate valu e of 0 into th e DAC output port. opamp can be used in pl ace of the LM 301, Th e symbolic location DA C is assumed to be th e but the circuit will take longe r to convert ou tpu t port address. the current output of the DAC into a stabl e vo ltage at the input to the LM 311. Circuit calibration is simple and consists DIGITAL WORD 2.00 V. In th is case, the processor leaves bi t of only one adjustment. First appl y all ze ros A T INPUT TO DAC IS 01100110 6 on and add s the bi t with lesser signi f i­ to the digital input to the DAC. The voltage cance, bit 5. With bit 6 and bi t 5 on, the at pin 6 of the LM 301 should be very nearly 3.0 \ ...... DAC output voltage is 1.87 V, still too low. zero volts. If it isn't, check your circuit Thus, bit 5 also is left on and the nex t bit in carefully. If off by onl y a few millivolts, a 2.0 ------small offset current could be injected into VOLTAGE Ii ne is tried. 1.0 Th e algorithm is this: simply try a bit, the input of the LM301 to make it exactly starting at the most significant. If the DAC ze ro volts, but for eight bit accuracy this generated vo ltage exceeds the "unknown," should not be necessary. Now apply all 1 TIME rem ove that bit only, else keep it. Try the bits to the DAC input. The outpu t of the INVERTING- INPUT nex t bi t, repea ti ng the process u nti I all bi ts current to vo ltage converter should now be OF COMPARA TOR have been determined. In this case, eight adjusted to 5.00 V with resistor R4. With passes through the loo p will result in the this setting, you have calibrated to the Figure 2: A ramp conver­ complete di gita l eq uivalent of the unknown 19.5 mV/ b spec ification used in the sion starts at zero voltage analog voltage input in a matter of milli­ exa mpl es. output and increases the seconds. Expansion of thi s ci rcui t, once the single voltage until it equals or This faster technique has been imple­ channel version is com pl ete, is straight­ just exceeds -the unlmown mented with the MC6800 microprocessor fo rward and very inex pensive. For exa mpl e, input. For larger input with the se quence shown in li sting 3. A each additi onal channel of analog to di gital voltages, conversion takes sustained rate of l 000 conversions per conversi on can be added wi th on Iy an longer since the program second has been ac h ieve d. additi onal comparator. Each added LM 311 must cycle through all th e An actual circuit to impl ement these has its output connected to a separate inpu t intermediate values from tec hniques is shown in figure 2. The circuit port bi t, up to eigh t channels per port for an zero to th e final binary uses an in expensive Motorola MC1408 L-8 8 bi t processor. Th en in software, choose the word. digital to analog converter, wh ich converts channel of interest by logica ll y masking out

72 C2 47pF FROM MICROPROCESSOR OUTPUT LATCH +5V R6 R5 R9 +15V R3 R4 b7 b6 b5 b4 b3 b2 bl bO 2K IK ANA LOG ~~~IO~K~~~I~MVE~G~ ____~IK~ __~ INPUT ~ R8 +15V 2K +15V 5 6 7 8 9 10 II 12 RI 2,7K 14 4 R7 10K '>!--4--TO MICROPROCESSOR INPUT PORT IN5 232 MC1408L-8 1 ,01 15 1?,4 1 JOOPF -15V LM30lA LM311 CURR ENT TO VOLTAGE ANALO G COMPARATOR CONVERSION -15V MC1408L-8 DIGITAL TO ANALOG CONVERTER Figure 3: Schematic of the circuit used for 8 bit conversions, This hardware can be used for either the ramp or successive approximation methods described in this article. all the other channels. Here the LM339 can contro ll ed power supply with suitable cur­ be used to have four comparators, and four rent gain added to the DAC output. channels of AD, in one package. Similarly, at These techn iqu es and this inexpensive no charge, this circuit ca n be used as a circu it open a wide world of analog inter­ source of digitally programmed analog volt­ fac in g to the microprocessor hobbyist. Now age to deflect an oscilloscope trace or act as the home computer can go beyond the a computer controlled function generator, number crunching, logic control functions producing ex tremely complex waveforms, if and tal k to the real worl d on its own analog desired. Another use could be a keyboard terms.-

Have you every been victimized by is its inspirational data content. The Stamp Out Cybercrud one of a myriad computer based inter­ machines we're all busy working on are personal putdowns? I n Ted Nelson's deep personal expressions, and not the book, Computer Lib/Dream Machines, cold and inhuman monsters of the tradi­ you'll find an excellent essay on the tional stereotype. The book defines nature of this "cybercrud." many of the terms and explains many of Have you ever wondered where to go the techniques which can be used in the for a basic starting point in your quest systems we're all COMPUTER for information about computer appl ica­ busy constructing and programming. It tions and u ses? Ted Nelson's book, performs this service in a way which Computer Lib/Dream Machines, is the adds color and excitement to this newest place for you to begin. of art forms, the computer application. Computer Lib/Dream Machines is for Computer Lib/Dream Machines is the layman - the person who is intelli­ must reading for the beginner, and is also gent and inquisitive about computers. It a refreshing self examination for the old is written and self published by a hand at programming and systems work. philosopher who is also a self confessed You can order your copy of Com­ computer fan and an excellent teacher of puter Lib/Dream Machines from BYTE's basic concepts. (For those who have not Books for $7 postpaid. Send you r order yet heard, ivory towers are constructed today to BYTE's Books, 70 Main St, out of real and substantial white bricks.) Peterborough NH 03458. H elp stamp The most important aspect of this book out cybercrud.

~------Pl ease add 50 cents for postage and handling. Please allow six weeks for delivery. Send copies of Computer Lib/Dream Machines to:

Name

ALiLIress

Cily Stale Zip

I I Check enclosed

II Bill MC #.'______Exp. Date _____

II Bill BA # Exp. Date ______Signature II PETERBOROUGH, NH 03458

73 Simplify Your HOfT1emade

Gregory C Jewell Our primary goal in the design of a simple 11855 Southeast 188th asse mbler is to eliminate the need to parse a Renton WA 98055 line in order to determine what information is contained in that line. Rather than ask ing "What are you trying to give me? ", our asse mbl er wi II demand, "I know where I am, so give me wha t I want." [CHARACTER POSITION The assem bler descri bed here is a three­ - • I 2 3 4 5 6 7 B 9 10 II 12 13 14 15 16 17 18 19 20 pass assembler. The first pass compiles a symbol table; the second pass outputs the generated machine code, and the third pass produces a hexadecimal listing of the gen­ erated machine code with its associated ',bo' ,.";.",,, J I addresses and source statements. ignored~ Labels The first step on our path to simplicity is mnemonic operation code or pseudo operation a major one even though its impact on our program writing will be slight. We will ignored ------~ specify that all labels should have a fixed length of four characters with a restriction operand field ------that the first character should be alphabetic. comments (to end of line) ------Although not the main objective, requiring fixed length labe ls adds the feature of Notes: 1. A semicolon (;) in line posItIon allowing embedded blanks in the labels. indicates the whole line is a comment Figure 1 illustrates the fixed field format of and will be ignored by the assembler. 2. If the .AS or .AZ pseudo operations are the simplified assembler. In the example, a used, the operand field can be as long as line of assembler input is shown in the required. boxes, with shaded boxes indicating blanks. The label AXLE is shown on a statement Figure 7,' Summary of simplified assembler source format. This figure containing the JSR operation code with illustrates the fixed field format. The label field is used to define symbols, the operand WHAT. operation code field is used to specify a mnemonic operation code or a Six or eight characters is a popular pseudo operation, and the operand field is used to contain information maximum for asse mbly language labe ls ; how­ according to the format of figure 2. Comments may be written by starting a ever, our four character labels will save line with a semicolon in position one, or following the operand field with the memory space and speed up the task of desired comments. searching for a label in the symbol table.

74 The simpl ified assembler will demand "I know where I am, so give me wha t I want." Assembler

A label is defined when it appears for the Mnemonic Description Action first time in a statement of the program which is being assembled. A label is not . SA starting address Defines the address for the next instruction . The assembler must know where to start assign­ required for every statement. However, if ing code whether by default or instruction. the first character position of the statement Similar to the ORG pseudo-op of other is found to have an alphabetic character, languages. then the first four columns define a new . RS reserve storage Saves space for speci fied number of words . label for the symbol table. If the first .XW hexadecimal word Loads specified hexadecimal value into location. positIOn is a blank, then the assembler .AS ASCII string Breaks down a character string into its ASCII should ignore the remaining positions of the equ ivalent. label field. This is an example of what is .AZ ASCII slri ng with zero Same as .AS except that the ASCII code is ter­ called a fixed field syntax because we always minat ed by a zero byte. expect a label or no label at al l in these . DF define address Loads address of specified label into location . positions. Programming of the assembler is simplified by use of this limitation. The need .1L inhibit listing Inhibits listing during third pass. for parsing has been nearly eliminated by .EL enable listi ng Enables listing during third pass (default condition l- this single requirement of fixed-length labels. . ND end End of source program . But let's ta~e a few more steps. Table 7,' Pseudo operations. Operation Codes As in commercia ll y avai lable assemblers, the next field on each line of the program tion does not normally generate machine being assembled is an operation code field. instructions and is used instead to control This field is separated by a blank character how the assemb ler will generate code. All position from the labe l field, and thus begins assemb lers have pseudo operations. Ours is in the sixth character position of our fixed no exception. When choosing pseudo opera­ field input format. In the operation code tions, the goal of simp li city should be kept field, the assembler can find two types of in mind. Most likely we will be ab le to get information: an assembler pseudo operation by without many of the fancy or powerful or a mnemonic operation code for machine pseudo operations that add bulk and com­ instructions. plex ity to the assemb ler program. I have defined nine basic pseudo opera­ Pseudo Operations tions for my assembler. All begin wi th a A mnemonic operation code is a symbol period so that the assemb ler program need which the assembler in most instances will on ly 'examine the first character to deter­ translate into a machine instruction. A mine if the mnemonic is a pseudo operation. pseudo operation code is a simi lar symbol This speeds address calculation during the which looks very much like a mnemonic first pass since all other PACE instructions operation code. However, the pseudo opera- genera te a single word of code. It also aids

75 human recogni tIOn, The nine pseudo opera­ tions are briefly described in table 1, We now have all the information required Table 2: An example of END fiRST PASS . o ERRORS DETECTED to complete the first (address al location) the output of an assembler pass, I t is possible to identify a labe l and SYMBOL TABLE implemented according to calculate its address, since PACE has fixed this definition. This assem­ DA T A 000E length instructions, The label and its DSPL 00 2 4 associated address are stored in the symbol bly shows a memory test ERR ('020 program written for the LIM €Hj25 tab le sequentiall y, A symbol defini tion re­ author's system. Bearing in NE XT 1301D quires three words, since we must store two R I TE 1300,1 words for the name and one word for the mind al/ the limitations READ 00'36 placed upon the source f;:EED 0015 address, If desired, at the end of the first format to simplify writing pass the labels may be sorted by th e first the assembler, note that E I'W OF S'tfo180L TABLE. character (it's surprising how close this the listing looks like a "typical" output of an TWO-P AR T MEMORY TEST 2 ( Il ADDRES S- DA TA CHECK assembler. Note the fre­ "3 I,IF: J TE HUll I QUE t, UI'I E:ER I N ALL LOCAT I OHS quent use of comment 4 I I" A U::: ED HDDf;'E::::; L I t'IE I ~: E:AD. THEil AT LE AS T lines (starting with a semi­ 5 OHE ERROR WILL OCCUR colon) to explain various 7 ,:A 0 aspects of the program. 001')0 5226 LHl 1<2. 26 LOAD STARTING ADDRESS OF TEST The program uses the :3 '300 I DA '30 R ITE ~ : TA F:2 . ( F~ 2 :- WF:ITE ADDF:ESS IHTO L OCATIOH 10 (HJ(12 F922 ~:t' IE F:2 , L 11'1 ME~OF: Y LIMIT F:EACHED ? author's 3 character mne­ t I 131;)(13 19~j2 J I'lF' F~ EAD ....· E':; monics instead of the 1 2 0004 7A~j 1 A I ': 1'2, 1 tW " I t'le I t'IDE;-; 1 3 00(15 191"8 -' 1'lF' F: I TE PACE mnemonics, and the 14 pseudo operations are 15 F:EAD 8ACK UNI OU E NUM8E F:S shown in table 7. 1 6 1 7 (HJ06 5226 F~ EAD LHl F'2 , 26 F'ELOAD S TART WG ADDRESS 1 8 (H~l l17 F A(Hj ':, 11 10 F'2 , F'2 ' .: OI ' lF' AF~ E " :::KIP IF EF.:F' OF.: 1 ':' (1(1(1::: 1901 -'I'lF' +2 20 ~jOO 9 19 16 ,-'I'lF' H ' F: 21 (100A F91A ::,I IE F'2 " LHl l'lEI'IOF.'''''' LH11T F: EACHE D? 22 (l~jOE: 1 'jOe: -' 1'lF' DiHH '( E":... (,;0 TO 1'1E>, : T F'A F: T OF TEST 2.3 0(1~~l C 7A(11 nl ':: P2 " 1 110 ' Tile ItWE >: 24 000[1 191"9 -"1P F'EAD+ 1

26 (2 ) :::HIFT -O HE DATA CHEO~ 27 TE :;T 1,.I 0F' [, HA'; A ::' IIIGLE 8 I T r,:ET 28 I,.IF'ITE TE':,T I"IOF.'D III ALL LOCHTJOfl S 29 TEST ALL 8 IT POSITIOHS 30 31 (1~'OE 50€1l DATA LHl F'O .. 1 HIITli,LIZE TE :::T I,IORD (100F 5226 L il'1 e'2, 2 6 LO A D :::TAe:T I tiG ADnF'[ ~, ~, 33 ~~U~1 111 112(10 '::1 A F.'L) , ', F: 2 " I,WITE TE 'oT 1).IO F:It 34 0(1 1 I F913 ':,tlE F; 2, L il'1 1'1 E 1'1t:1 F' 'l L 11'1 IT F:EACHED c-' 0012 1902 J I'lP F:EE[, \ ' E':, 36 O~J 13 lA01 AI ::' F' ~'} 1 1'10 " It'l C IIIDE :" .37 ,'014 1'91"8 .1 1'1 e' DHTH+2

3 ~~ READ 8Acr TE ST ~OF:D 40 4 I 13 (1 I c; 5226 REED L il'1 F'2 .. 2"; ' PELOAD S TARTlflG ADDF'ESS 42 ~30 I to F200 '::tiE F.' O, .: F; 2-, C. OI'l F' Ae'E, :::K I F' IF EF' F.' OF: 43 [ltl I I 90 1 JI'lF' +2 44 L30 I "c: 1 907 -' 1'lF' EF'F' 45 00 I 5' F308 ':,tlE P2 " L 11'1 MEMOF'Y LIMIT F:EACHED ~ 4 6 (10 I A I 91~1 2 ,-'I'lF' IIEi: 4::: 1?l1~1 1 r. : ? F9 .I IW F'EED+l 4 9 L3[1 I D 2:::(12 HE:,(T ':,HL PI) .. 1 ':,HIFT TE ::: T 1,.I0RD 5'.::1 (1(, 1 E 4:,FO E:OC 5 , D~TA+ I 1,IF' l TF. lIE 1,,1 TE'" T IJO~:D I F I~Ot~ZERO 51 L30 I I" 5EOO CP '" F'o; F.: ( 1 T E :,: T CO I'lF'L E T E " D I ::: F'L A 'r' '3 E RRO~'S

5 .3 54 00 2 (1 5(;::: 0 E F'F' C P''''' PO .. F:::: 56 002 1 8 1 ':12 STI DSPL LOAD DI SPLAY REGISTEF: 0022 D90 3 ~TA R2 , L1M +1 SAVE TEST DATA F OR PEFEREHCE C" , ~ , •...)'=, 0023 tH3 Lj [1 HLT 0024 :::(1L:'19 D ::: F' L >: 101 ::: cU:J 9 ADDRE SS OF DISPLAY PEGISTER 6121 (1(325 03Ff" L 11'1 :-,:1,1 31"1" MEMOF:Y LIMIT = IK 61 , HD

EI'I[I TH I F'D PA r,:':: , I) ER POF:S DETECTED

76 comes to actuall y alphabetizing the labels) usually directly precedes the label rather and li sted with their addresses. The sa mpl e than immediately fo ll owing the mnemonic. asse mbly of table 2 shows the result of such I chose to define a set of 3 character a sort. mnemonics. This saves memory space and speeds up the search for mnemonics in the Mnemonic Operation Codes table of operation codes. The three charac­ The next step toward simplification is to ters of the mnemonic operation code can be specify that a ll mnemonic operation codes stored in one and a half words (3 bytes) and shou ld also have a fixed length. National the binary opcode may be kept in the Semiconductor Corporation, PACE's manu­ remaining byte. There is nothing magic facturer, suggests mnemon ics containing about mnemonics; they are simply aids to from two to five characters. Even if we use remembering the instructions. It's your the manufacturer's suggested mnemonics computer, so you might as well use your An effective address is a and specify a fixed length of five characters, own mnemonics - unl ess you plan to make com bination of an address­ the indirect notation @ wou ld probably your assembler commerciall y avail able. ing mode and a displace­ throw a wrench into the works since the @ Table 3 shows the correlation between the ment.

Table 3: Correlation between manufacturer's suggested mnemonics and the author's 3 character mnemonics.

Ma nfactu rer' s Suggested Author's Mnemon ics Description Mnemonics

1. JMP jump JMP 2. JMP@ jump indirect JMI 3. JSR jump to subroutine JSR 4. JSR@ jump to subroutine indirect JSI 5. SKG sk ip if greater SGT 6. SKAZ sk ip if AN D is zero SAZ 7. ISZ in crement and sk ip if zero ISZ 8. DSZ decrement and sk ip if zero DSZ 9. LD@ load indirect LDI 10. ST@ store indirect STI 11. LSE X load with sign extended LSX 12. AND log ical AND AND 13. OR logical OR lOR 14. SUSS subtract with borrow SSS 15. DECA decima l add DCA 16. AISZ add immediate , skip if zero AIS 17. LI load immediate LIM , 18. XCHRS exchange register and stack XRS 19. CFR coPv flags into register CFR 20. CRF copy register into fl ags CRF 21 . PUSH pus h register onto stack PSH 22. PULL pu ll register from stack PUL 23. CAl complement and add immediate CA l 24. SKNE sk ip if not equal SNE 25. LD load LDA All assem bl ers have pseudo 26. ST store STA 27. ADD add ADD operations. Th is one is no 28. RXC H register exchange RG X exception. 29. RCPY register copy CPY 30. RADD register add RAD 31. RADC reg ister add with ca rr y RAC 32. RAND register log ical AN D RND 33. RXOR register exc lusive-OR XOR 34. SOC branch on condition SOC 35. RTS return from subroutine RTS 36. RT I return from interrupt RTI 37. PUSHF push flags onto stack PSF 38. PULLF pull stack into flags PLF 39. HALT halt HLT 40. SFLG set flag SET 41 . PFLG pulse flag PLS 42. SHL shift left SHL 43. SHR shift right SHR 44. ROL rotate left ROL 45. ROR rotate right ROR

77 manufacturer's suggested mnemonics and you at the time), a digit less than four is the 3 character mnemonics which I selected expected in the eleventh position; the to simplify my assembler. twelfth position is ignored, and the destina­ tion (DE5T) field begins in the thirteenth Instruction Groups posi tion. If the instruction is in group four, then the assembler expects to find a digit So far we have defined a 4 character labe l less than four in the eleventh and fourteenth field and a 3 character mnemonic field. To positions. If the instruction is in group make the program readable, we'll allow a seven, then the assembler's worries are over, singl e character (blank) after each field and a since such instructions have no operands. semicolon in the first character position (column one) to signal a comment line. Our assembler now expects either a blank, a Destination Field semicolon, or an alphabetic character in the first posi tion. As noted earlier, if the first The destination field (DE5T) is required position of a line contain s an alph abetic to determine the effective address. An effec­ character, then a label ex ists in the first four tive address is the combination of an positions. The fifth position is ignored. The addressing mode and a displacement. The sixth through eighth positions contain the four PACE addressing modes are program operation code or pseudo operation counter relative, relative to register R2 used mnemonic and the ninth position is ignored. as an index, relative to register R3 used as an What does the assembler expect in the tenth index, and base page. Al l addressing modes position? To answer this question, we must of the destination field entries (destination collect instructions with similar binary and modes) listed in table 4 are program counter source formats into instruction groups. The relative except the last two: (R) is index only variation within an instruction group is mode and *K is base page mode. The index the mnemonic operation code. Figure 2 li sts and base page modes are limited primarily the ten PACE instruction groups. by my own biases and could be chosen After the instruction group is determined, differently in your own version of such an our assembler will know exactly what to assembler. As with all other fields of a look for and where to find it. For example, personal assemb ler, the DE5T field should if the instruction is in group three, the tenth be tailored to your own preferences. The character position is ignored (allowing you modes of table 4 are sufficient while main­ to specify RO, AO, XO, or wh atever pleases taining the goal of simplicity.

Figure 2: PA CE In struction groups.

Group Instructions Binary Format Operand Format I I I I I 0 0 0 0 0 0 0 0 0 0 5 4 3 2 0 9 8 7 6 5 4 3 2 I 0 Position 10 0 JMP,JMI,JSR ,JSI,SGT,SAZ, ISZ,DSZ, LDI,STI,LSX,AN 0,1 OR ,SBB, DCA OP XR DISP DEST*

AIS,LlM,CAI OP R I IMMEDIATE R,K 2 XRS,CFR,CR F,PSH,PU L OP R NOT USED R 3 SNE, LDA,STA,ADD OP I R XR DISP R,DEST* 4 RGX,CPY,RAD,RAC,RND,XOR I OP DR SR NOT USED R,R 5 BOC I OP CC DISP M,DEST* 6 RTS,RTI I OP DISP K 7 PSF,PLF,HL T C OP NOT USED none 8 SET,PLS OP FC NOT USED M I I P I 9 SHL,SHR,ROL,ROR I OP I R I N IL R,K or R,K,L

R=RO,R1,R2orR3 0 ";; K ,,;; FF 0 ,,;; M ";; F L = "L" (letter L)

* See Modes of the destination field, table 4.

78 Again, by examining only the first charac­ Table 4: Modes of the destination field ter of the field, the assembler can determ ine (DEST). if the DEST field has a label, a specified displacement, an index register, or a base DEST Description page value. The + or - extension after the label will always be in the sa me relative LABEL symbol ic position since we have declared that all LABEL+K symbol relative labels contain four characters. If the first LABEL-K symbol relative character of the DEST field is an alphabetic character, then the first four characters of .+K (h ere plus KI program counter the field form the label ; and, if there is an relative extension, the + or - will always be the fifth .-K (here minus K) program counter character of the field. relative (R) index register

Example ' K base page Table 2 shows the output of the first and third passes of a memory test program. It 0 <= K < = FF looks general even though strict rules were R = R2 or R3 applied. The execution time is approxi­ mately 1.5 seconds for each 1 K of memory tested. Notice the destination LIM +1 in statement line 57. L1M+1 would have pro­ in a way which is simple and easy to duced an UNDEFINED LABEL error. The implement, yet probab ly adequate for all trailing blank is part of the label. our programming needs. Except for the .AS If you desire simplicity and can live with and .AZ pseudo operations, we have LIM +1 rather than L1M+1 then you might eliminated the need for parsing, mainly by implement the rules I have presented (or specifyi ng a fixed label length (with your own variation) in your homemade embedded blan ks) and a fixed mnemonic REFERENCE asse mbler. length. Other simplifications were achieved by selecting only basic pseudo operations PACE Technical Description Conclusion and destination modes. By using these National Semiconductor Corp Santa Clara CA 95051 The simpl ifi ed homemade asse mbler's techniques, you should have your home­ Publication number 4200078A source lan guage is now completely defi ned made assembler running by tomorrow.- June 1975

GLOSSARY

ASCII: American Standard Code for Information "predicate," "object," and so forth. In this assem­ Interchange. A 7 bit code used by many machines . bler, we simplify sy ntax rules by requiring fixed positions for each piece of information on a line Assembler : An assembler is a program which which eliminates the need for parsing. accepts a symbol ic representation of so me compu­ ter program and transforms it into one which can Pass : An assembler typically must look at the be executed by a computer. The sy mbolic repre. entire data of a program several times. Each pass of se ntation is called a source program; the executable an assembler is one complete scan through the representation is ca lled an object program. program data. In the simplest home brew assem­ blers using audio cassette mass storage, each pass Character Position: Each I ine of the source pro· will require manual intervention to rewind and gram which is read by the assembler is a character restart the appropriate tape cassette drive. stri ng. In a fixed field sy nta x, the character positions are numbered (in this case, from 1 to the Pseudo operation: A group of characters having the en d of the line). Each field of the format is a group same general form as a computer instruction, but of characters specified by number, such as the label never executed by the computer as an actual field which is positions 1 to 4 of a line in the instruction . Pseudo operations are instructions to example of this article. the assembler.

Source Program : A program coded as a human Mnemonic: A technique to ass ist human memory. readable character string in some programming A mnemonic term is an abbreviation or acronym language, which must be translated into machine used instead of numeric codes in order to facilita te easy recognition. Example: BOC for Branch On language. Condition rather than 4. Symbol Table: A dictionary relating one set of Parsing: The breaking down of a general character symbols to another se t of sy mbols or numbers. The string into its structural forms. This requires syntax assembler bu ilds a table of labels used in the rules for the computer language ana logou s to the assembly language program and assigns memory grammar rules for English that define "subject," locations (addresses) to those labels.

79 Continued from page 16 tion. You will note, however, that we now have an easily removable reader's service unless t he convention of using a slas hed zero "bingo" card, and a subscription service is used as well. To avo id all thi s perh aps it card which avoids the need to cut up BYTE would be best if the standard sy mbo l fo r for those important fun ctions, yet preserves ohm s, the Greek letter Omega (.\2) is used, or a magazine free of excessive insertions that t he word "ohm " be spel led out to avo id which interfere with reading and enjoyment co nfu sion. of the copy. Michael S Maiten Los Angeles CA THE ABSURDITY OF ALL POWERFUL COMPUTERS You have a point, which was also made "Could A Computel' Take Over?" mi sses by several others, In future BYTEs you can an important point: Computers now or in expect to see the term "ohm" used where th e next ge nerat ion could neve r be eve n a resistance values are specified. fraction as reli ab le or intelligent as a human be in g. Estimates of the in fo rm atio n ca pac it y SCIENTIFIC APPLICATIONS, ANYONE? of th e human brain range from '10 ** 40 to 10**70 bits from what I know. The biggest I would li ke to suggest th at the various co mputer systems today have on the o rd er scient ifi c app Ii cat io ns of t he var io us m icro­ of 10 ** 10 bits. On t he basis of memory co mputer systems ava il abl e shou ld I'ece ive Do not ask me to RAPE capac ity only, t hat makes the biggest co m­ some time in the Foregro und, Fl oating point my BYTEs! puter syste ms today at least 10**30 t imes as processin g, imp lementat ion of hardware and st upid as human be in gs. software ap proac hes to tr igo no metr ic and Moreover, if a comput er with t he ca pac­ transcendental fun ctions, di gital filt er ing, ity of the human mind did ex ist, its intel­ AD and DA conversion are all areas of lige nce wou ld never be I'ea li zed because : app li cation t hat ex pand the usefulness of the 1. At error leve ls eve n millio ns of t im es mi croco mputel' into pl'actical, rea l wOl'ld small er than the best co mputer today sc ience and engineering . It's bee n sa id and with tota l red und ancy of o pera­ before, but the applications are limited only tion, the system wo uld crash into a by the user's imag in at io n, So me simple twitching mass of bug ri dden pul ses ex ampl es might be t he star locator ro ut ine eve ry time it s vast reso urces are used by an amateur astronomer, or t he ta pped. antenna simul ator used by the ham rad io 2. Software written fo r it could never be operator for t he com puter-a id ed-d es ign of a debugged and proven out co mpl etely new antenna, 0 1' the engin ee l' stud ying t he eve n if the hal-dwal'e co ul d be relied res ponse ' of a bandpass filter fo r a bio­ upon. feed back system. Computers now or in the Paul Carrick next generation could Trul y, the poss ibilities are aweso me, ./ San Jose CA never be even a fraction as B Humprey Jr reliable or intelligent as a FPO Seattle WA Beware of proofs that "it can 'I be done, " A t least one eminent professor "proved " human being. NO DeBYTEchery ... prior to 7903 that a heavier than air machine could not fly. However, more Ihan lil?ely My rea l reaso n for writing is the BOMB any computer oriented dictatorship would ... I know that I fee l abo ut BYTE s like the inslead be buill upon a layer of "Cyber­ other dudes and dudesses fee l about the il' crud," distortions and mystical half truths BYTEs and man t here is no way that I'm about computers (see Theodor Nelson's go ing to tear, bend, spindle or multilate my boo/?, Computer Lib/Drea m Machines). Part mag so that someone ca n get $50 bucks (to of the goal of popularizing computer tech­ me the mag is wort h $5 0 bucks). Th e point nology is to help avoid such a dire turn of How close are we to a is this ... put BOM B on a card - I'd even events. pay postage - but do not ask me to RAPE computer that can drive a OGHAM AND STONEHENGE car (without a crash)? my BYTEsl Michael B Gamble It appears that Thomas C Mcintire, author APO New York NY of "How to Save the Bytes," has re-i nvented Ogham, an archaic Irish character set which Sorry, Michael. The BOMB form and was in use 1 500 to 1000 years ago. questionnaire will remain on tear sheets for Is it possible that the Irish invented the time being. However, you (or anyone Ogh am for the same reason Mr Mcintire did, else) are free to photocopy the BOMB page to ac hieve communication with a computer? by whatever means available , , . we place a It is well known that analog computers notice to that effect on the pages in ques- ex isted in anci ent times. Perhaps these

80 computers possessed digital capability which As spi ce, maybe so me art icles occasion­ has gone unrecognized. I am, of course, a ll y o n exotic uses of co mputers in ge neral - referring to Stonehenge, an early CPU se nd a reporter to the ACM meetings and tell composed of monolithic chips. Simil ar us what's happenin g; fo r in stance, how close woodhenges also existed. are we to a co mputer that ca n dri ve a car Have menhirs inscribed with Ogham ever (witho ut a cras h)? been found? Phi lip Robare Has a menhir reader ever been discovered Champaign IL at Stonehenge? H A Jones BYTE often gets letters which ure full o f suggestions about articles for the magazine. SOME SUGGESTIONS Philip Robare's is one of the best in that category. Potential authors would do well to wo uld lik e to see BYTE be a crit ical eye look at so me of his suggestions for articles ove r the amateur co mputing field . New and short subjects. mac hines, chip s, software sho uld be re­ viewed in so me stand ardi zed fas hio n, as in the Popular Science new car tests. The conve ni ences of so ft wa r'e avai labilit y should ' UNBELIEVABLE!!!!! be go ne into ; Bob Baker's PDP-ll / LS I story The Intecolor® 8001 Kit onl y had one parag raph on that subj ect. The A Complete 8 COLOR Intelligent art icle did not co mpare the quality of the CRT Terminal Kit instr uct io n set to the other ava il abl e micros $1,395 (I'm not fa mili ar enough wi th any chips other than the 8080 to make a judgment, ju st give n the in struction set ). How does it s adaptab ilit y by ho rn e tinkerers co mp are "Complete" Means with oth er mac hi nes? Don't get me wrong. I · • 8080 CPU' 25 Line x 80 Character/ Line' 4Kx8 RAM / PROM Software li ked the arti cle o n the LSI-ll , but I think • Sockets for UV Erasable PROM' 19" Shadow Mask Color CR Tube • RS232 I/ O ' Sockets for 64 Special Graphics' Selectable Baud Rates to Bob should have bee n more cr' itica l as we ll as 9600 Baud· Single Package' 8 Color Monitor' ASCII Set do in g the goo d job he did o n ex pl aining • Keyboard' Bell' Manual wh at's insid e it. These t hings, whi le a lot And you also get the Intecolor ' 8001 9 Sector Convergence System for chea per th an in the past, are sti ll a major ease of set up (3-5 minutes) and stability. Additional Options Available: in vest ment. I'd li ke to know what I'm giving • Roll· Additional RAM to 32K • 48 Line x 80 Characters/ Line' Light Pen up in order to get what I'm get ti ng. • Limited G raphics Mode · Background Color· Special Graphics Characters I wo uld also like to see software articles, • Games maybe prog ramming style and stl"uctured ISC WILL MAKE A BELIEVER OUT OF YOU . progra mming, ex pl ain ed, and algo ri thms for ...CD Send me ___ (no.) Intecolor ' 8001 kits at $1,395 plus $15.00 ship- ping charges each. the interesting o r the useful. Full programs w'" a. Enclosed is my 0 cashier's c heck. 0 money order. 0 personal check' are nice but I'd also like an emphasis o n 0 $350 deposit/kit for C.O.D. shipment for $ ______"how to," ie, "take this technique and run " NAME ______~----- ra th er than ca nn ed routines . ADDRESS ______Is there any such thing as a horn e bui lt CITY STATE ZIP______printer, pl otter, d isk dri ve and oth er exo ti c I';iI ' Allow 8 weeks clearance on personal checks. equipm ent whic h gets aro und th e high­ ~ Delivery 30-60 days ARO tec hno logy manu fa cturing by using labo r Intelllge ~t Systems Corp 4376 Ridge Gate Drive, Duluth, Georgia 30136 intensive tec hniques at ho me? I'd like to ' !i) Telephone (404) 449-5961 kn ow about it.

10-2 Prom & Universal Board 2101 $ 4.50 74C89 $ 3.50 Solid State Music Memory Products I/O for 8800, 2 ports committed, pads 2111 $ 5.00 74189 $ 3.50 MB-2 Memory Board for 3 more, other pads for EROMS, 2112 $ 5.00 8223 $ 2.50 Altair compatible, address & wait on UART, etc. 4002-1 $ 6.00 93410 $ 3.50 4002-2 $ 6.00 91 L02A $ 2;55 board DIP switches. 4Kx8. May be piggy­ Kit ..•. ••• $47 PC Board ...•• $22 backed for 8Kx8. 7489 $ 2.50 1702 $ 5.00 Altair Compatible Mother Board PC Board ...... •••... . .$ 22 74200 $ 5.90 1702A* $12.00 PC Board ...... •.$40 Kit 12102's 1 us) .•.....••.•••..$112 741200 $ 5.90 *Programing $ 5.00 Kit (91102A's .55 us) ••••.•.•.•.$132 Video Board 32 lines by 32 characters MIKOS 10-1 I/O Universal Board Kit ...... $125 PC Board •..•• $35 8 bit pa rallel input & output ports 419 Portofino Dr. common address decoding jumper se­ All kits may be purchased built and tested San Carlos, Calif. 94070 lected, one address for 8800 front panel for an additional $25 Ch eck or money order only. Calif. res. 6% sense switch, 40 uncommitted sockets, 2102's 1 usee .65usee .5uSt:C tax. All orders postpaid in US. All devices plug compatible with 8800 tested prior to sale. Money back 30 day Kit ...... $42 PC Board . •• .• $22 8 $16 $18 $20 guarantee $10 min. order. Prices subject to 64 $112 $128 $144 change without notice.

81 ATTENTION All Ye Alice Freaks and Other Lovers of Logical Systems. Here is documented evidence that Lewis Carroll would have read BYTE had he lived in 1976:

And as in uffish thought he stood, JABBERWOCKY. The Jabberwock, with eyes of flame, Came whiffling through the tulgey wood, And burbled as it came! 'Twas briIJig, and the slithy toves One, two! One, two! And through and through Did gyre and gimble in the wabe; The vorpal blade went snicker-snack! All mimsy were the borogoves, He left it dead, and with its head And the mome raths outgrabe. He went galumphing hack. "Beware the Jabberwock, my son! "And hast thou slain the Jabberwock? The jaws that BYTE, the claws that catch! Come to my arms, my beamish hoy! Beware the Jubjub bird, and shun o frabjous day! Callooh! Callay!" The frumious Bandersnatch!" He chortled in his joy. He took his vorpal sword in hand: 'Twas brillig, and the slithy toves Long time the manxome foe he sought­ Did gyre and gimble in the wabe; So rested he by the Tumtum tree, All mimsy were the borogoves, And stood awhile in thought. And the mome raths outgrabe.

Don't miss out on all the fun and high quality information which is found in every issue of BYTE. Subscribe today. Join the tea party and have a BYTE to eat.

If the subscription card is missing from your issue, use the coupons below. r ------1------l I I I I Name • ...... I Name ...... I I I I I Address ...... I Address ...... I I City ...... •...... State ...... Zip...... I City ...... • ...... • '....•.. State...... Zip •.... • . I I DBILLME DCheckfor$12enciosed I D BILLME o Check for $12 enclosed I I 0 Bill BankAmericard or MasterCharge # ...... I o Bill BankAmericard or MasterCharge # ...... I I I I ~------~------~ • BYTE. 70 Main St • Peterborough NH 03458

Allow six weeks for processing.

82 DELTA ELECTRONICS CO BOX 2, AMESBURY, MASS. 01913 Phone (617) 388-4705 Bolt, Baranek & Newman DATA CODER DEL TA spec iali zes in the unusual in electronics surplus, and we have once again found a highly desirable item. This is a DATA CODE R (digiti ze r) made by Bolt, Baranek & Newman. It was made for use in the medical electronics field, but finds use in many different applications. It is used to digitize any type of dat a. The data (charts, maps, waveforms, d rawings, game grids, etc'! is placed in the bed, and the sight is moved along the data. This generates·vert ical & horizontal displacement codes, wh ich can be stored and processed by your cal cu lator or micro·comp uter . The bed size is 12%" x 105/ 8", and has a 7" x lOY, ' portion which is transluce nt, for use as a light table. Each axis is divided into 128 increments, for a total of 16,384 discrete bits over the bed. Horiz. increment size = .10", ve rt. increment size = .083". Each axis generates an 8 bit code by means of wipers on an encodi ng board. This makes it very easy to interface to any logic family . Th is item is a must for your micro-computer, as it is now possible to digitize any type of data. Limited quantity. Overall size is 18%" x 17y,, " x 3" high . Shipping weight 1 0 Ibs. Comes with complete cod ing data. STOCK NO. 85352 $79.95 each SECURITY SYSTEM CARD READER Anot her unusual item from DE L TA ! These card rea ders were made by AMP, I nco for use in security systems. A stiff 2 1/8" x 33/8" card (credit card size) is inse rted, w hi ch closes a micro- .. 0 sw itch . A 115v AC solenoid is then energi zed, which pull s down a set of wipers to read through ' 1 holes in the ca rd . The wipers are arranged in 3 8 bit bytes. plus 1 bit. for 25 bits total. By using both sides of the card, 48 bits are available. Ideal for sec urity syst ems---entry can be controlled by use use of a ca rd, with an almost infinite number of co mbinations, rather than an easily duplicated key. A s another example, an entire Social Security number, p lus an entry code , could be read from a card . It could be u sed as a ch eap bootstrap loader for m icro-computers, or as a simple data entry d evice . Many other uses. Overall size 5" x 5 " x 9" dee p. Shipping weight 6lbs. STOCK NO. 85353 $19.95 each, 2 for $35

- MICROSW ITCH KEYBOARD Price slashed to $20! Wa s $45 in cata log 15, special this month at $20 . Made by -; I " ' . ·I .'~ I ··""!I-'tl c tl ; 'II; " · . .... t MICROSWITCH (Honeywell) . Brand new, in factory cartons, some even have the top J._""' ·I J:' mounting plate attached, 54 ke y s + space bar, alpha-numeric & computer control keys. ' "I;tllf.la!II' ~r. ··L_ · , ~ The coding is EBCDID (not ASCII) 7 leve l output TTL compatable, Easi ly converted to g . ' . ASCII or other codes . The switches are mounted on one PC board & con nected to a 2nd encoder board by ribbon cab le:--13Y, " w ide x 5y,,", shipping weight 8 Ibs. At this price, how can you pass it up] STOCK NO. 85199 reduced to $20 each 5 volt, 60 amp REGULATOR

A super heavy dut y 5 volt regulator made by SPERRY/UNIVAC. 21v DC to 35v D C mput (30v nominal) .Output adjustable from 4,75v to 5. 25v, up to 60 AMPS! Overcurrent protected at 65 A, overvol tage crowbar at 7 .0v. T ypical ripple only 50mv Pop at full load. 5 y,, " wide, 8 y," high, 10" d ee p . Shipping weight 24 Ibs. We only have a few, so place your order now. STOCK NO. 85391 $35 each

' . .. .. : ,g <~ ': ~ I, L' EifEl' o:::::::::J Cllil ...... KEYBOARD KIT ,Ii...·/ _ u::::a CD 0 ...... Th is unusual keyboard kit is made by fUM I !Ci:B" II . ' . . Micro-Switch. It has a set of sW itches & space bar in a modular frame. p lus 42 moldej double shot keys packed in a foam carton. The keys are red, white or blue, with 8 control keys in addition to letters, numbers and many sy mbols. T he switches are arranged in 4 rows but are easi ly removed or moved to other positions. Thi s makes for a very versatile keyboard , as any number & type of keys ca n be arranged in any pattern to su it your individual needs. Any type of encoding can be wired. Finished size is 9 %" x 3%" x 2" h igh . STOCK NO. 86015 Shipping weight 3lbs. $19.95 each, 2 for $35 Heavy Duty Power Supplies These heavy duty power suppl ies are ideal as a general purpose lab supply, micro-computer supply, et c. All ha ve a constant voltage transformer and large 18,000 mfd. 35v electrolytic f i ltering caps. In addition, the + and - 10v and - 3.6v outputs each have sepe rate se mi ­ conductor regu lators, w hich are voltage adjustable . Each is 22y,," long, 6Y,' wide, 6" high . .5 amp, - 1 Ov @ 1.5 amp, +10v @ .5 amp, and -3.6v @ 1.5 amp. 85 watts total. $24.50 each B5314 .... 0utputs at - 30v @ 1 amp, +30v @ .5 amp, - 1 Ov @ 1 amp, and + 1 Ov @ .5 amp. 6 0 watts total . $19.50 each B5342 .... 0utputs at - 3 0v @ 1.5 amp, +30v @ .5 amp, - 10v @ 1.5 amp, and + 10v @ .5 amp. 8 0 watts total . $22.50 each IBM 1620 COMPUTER Our 1620 is for sale! Complete IBM 1620 computer system with 1620 20 K CPU (with all options) , 2.5 megabyte 1311 DISK drive, and 1622 Card Reader-Punch. Complete w ith software (Fortran, SOS, sci entific packages, and DOS), complete set of hardware diagnostics, logic diagrams, and m anuals. Also a spare set of logic cards. The sy st em is cu rrently running and can be see n; however, the core memory box ha s at least one bad matrix line and there are seve ral areas of memory which ca nnot be used unless repaired. (You co uld program around those areas.) Syst em so ld as-is for $3400. Phone for more information. ·

Send f o r our latest free catalog. We welcome Mastercharge & BankAmeriCard orders; we must have ALL the numbers on the ca rd for processi ng. Pl ease include sufficient postage (2Ibs. min.)·-excess will be refunded . Minimum order $5. Using the letters of the alph abet from A to Y, place a letter in each box of the 5 by 5 grid so that the sum of the ASCII codes for the letters in eac h column and each row is equal. To help you, the following table gives the OCTAL. ASC II code for each letter. All Puzzle Time codes are 7 bi t ASC II.

A = 101 B = 102 C = 103 0 = 104 E = 105 F = 106 G = 107 H = 110 I = 111 J = 112 K = 113 L = 11 4 M = 11 5 N = 11 6 0 = 117 P = 120 Q = 121 R = 122 S = 123 T = 124 U = 125 V = 126 W = 127 X = 130 Y = 131 (Z = 132) Robert Baker Answer in June issue 34 White Pine Dr littleton MA 01460

Answer to Space Ace April page 12

N F S U B R 0 U T I N E S U A P 0 R E C 0 R D I M E N S I 0 N R T 0 U T P U T R 0 T A R E P 0 0 W R I T E X T E R N A L R U I G E D 0 C E D 0 C N E 0 I E N S R E L B A I R A V S G U B W C I A C A I 0 D N E P I N T R I H C M N T N M R T A C 0 A A A N E E H E C T A P C A I C M G R D N R T L 0 E T E L S R A E 0 Y N T P I A M G A A S I N L L T N I R P R V P E D E D P C L I 0 L F Y A A I L R R L 0 A 0 I S L A E R R G U E P E T Y P E 0 T I . N U B R 0 Q X I S C A L A R L I T E R A L E F U N C T I 0 N G I S S A Y L

84 MCI4412 UNI VERSAL MODEM CHIP MCl4412 contains a complete FSK modulator and de-mod­ ulator compatible with foreign and USA communications. (0-600 BPS) FEATURES, · On chip crystal asci lIotor • Echo suppressor disable tone generator • Originate and answer modes .Simplex, half-duplex, and full duplex operation .On chip sine wave • oVodem self test mode · Selectable doto rates: 0-200 0-300 0-600 A TREE 'CAUSE YOU CAN'T FIND THOSE • Single supply rw DEVICES YOU'VE BEEN READING A80UT? VDD=I.75 to 15VDC - FL sum. •• ••••• TRY TRI-TEKIII ••••••••••••••• VDD=I.75 to 6 VDC - VL sum. TYPICAL APPLICATIONS, .Stond alone - low speed modems .Built - in low speed modems . Remote terminals, occoustic couplers IM6 508 CPE CMOS RAM MCI4412FL. •••••••••••••• . • • • . •• .•.• .• ••• •• $28 .99 1 K X 1 Bit in 16 pin DIP offers micro watt operation for MCI4412VL. .. ••• •••• • • •••• •••••••••••••••• . $21.74 on-cord battery back up operation. This keeps contents 6 pages of doto...... 60 of memory from disappearing on power down. On-chip Crystol for th e above • • • • •• 54.95 address registers improve system perfannance and reduce pockoge count . IM6508CPE ••••••••••••••••••••• $7.75

IM6518 CPN CMOS RAM. 1 K X 1 Bit like the 6508 except two additional chip sel­ ect pins have been added for reduced interconnects on larger memory layouts . 18 pin DIP package. IM6518CPN • •• •• •••••• ••• ••• ••• ••• , • •••••• • ••• $7.75 6 pages of data for above. . • • • • • • • .90

c • •• T.'m~n.! EQult:lm.n. ",

MCI4411 BIT RATE GENERATOR. Single chip for generating selectable frequencie s fo r ment in doto communications such as TTY, printers, or microprocessors . Generates 14 different standard bit rates which are multiplied under external control to l X, 8X, 16 X or 64X initial value. Operates from single +5 78H05 Vo ltage regulator. Fairchild 5V , 5A, TO-3 reg­ vo lt suppl y. MCI44II. ••• •• •••••••• •• •••• •• • • $11.98 ulator. Take care of those heavy current requi rments with­ 4 pages of data. . • . • • • • • • • • • • . • • • • • • • •• •• • • • • • • • • .40 out separote regulator/ pass transistor combinations. Use it Crystal for the above • •• • •• • • ••• • ••• ••••• •• •••• . $4 .95 wi th the same ease of instalation m; the 309K(same pin arrangement.) • • ••• • •••• wi th specs •..•• .•• ••••• • • • $11 ICM7205 IPG CMOS STOPWATCH CHIP 24 pin 01 P package has an-chip oscillator and 6 digit direct drive capability. All you odd is crystal, trimmer, bottery, sw;tches ond LEOs. Hos START/STOP, TAYLOR or SPLIT modes. 59 min, 59.99 sec range. Low battery ;nd; cotor . ICM7205 IPG •.••••••••••••••••••• $19.95 6 pages of data...... 90

LM317 Voltage Regulator. 1 .5A, 3 terminal adjustable regulator in .TO-3 case . Ad justs from +1.2V to +37V . PRECISION 10 TURN POTENTIOMETER Complete overload protection. .1% load regulation, Spectrol model 502. Resistance is 10K ± 3%. linearity .01 %/V line regulation. No need to stock assorted reg- is ± . 25%. 1/ 4" bushing mount . l/B" shaft diameter. ulators - iust stack resistors ...... $4.99 Body d;o ;, .85". TTP-SIOK •••. .• .• . ••. • •• •••• M. 50 Specs for the above ...... 70

BfdM2°~~!;s ~ft.~I9>~t.LT~~:~t~,N~t~~T?~ •• $3.95 NSL4944 LED. Current regulated, universal diffused-lens LINEAR. Covers amplifiers, pre-amps, op-amps, •• $3 .95 red LED lamp. A GaAsP solid-stote high intensity LED ....." ...... eoo.,"'",w.Q LINEAR APPLICATIONS. Dozens of application notes and encapsulated in a plastic package containing a current reg­ -,·" ...... " OU"''',. technical briefs covering the use of op-amps, regulators, ulating IC that provides constant intensity over a wide volt­ phose locked loops and audio amps •• . . •..•.•.. .• .. $3.25 age range . 2 to lBV, AC or ~C. Use for indicator lamps, IM6100 CPU. Inters;ls' 12 b;t CMOS CPU ch;p ;s the CMOS Gates, Flip Flops, registers, functional blocks $3 optical coupling, battery charging circuits, lagic probes, microprocessor which recognizes the famous PDP8/ E instruc .. VOLTAGE REGULATORS. A must for anyone making a almost any place you need a lamp. Long life, wide angle. tion set. Single power supply, 4-7V@ 400uA. $52.50 power supply. Complete theory including transformers, No series resistor needed. Typical 13mA forward current . Full doto pocket. • •• • •• ••••••• •••• .••.•••• •• •• •• •• M.DO filters, heat sinks, regulators, etc •.• . .•. •• . .. •• . •• $3.00 NSL4944 ...... with panel mounting clip ...... 89~ MEMORY. Information on MOS and Bipolar memories': RAMS, ROMS, PROMS and decoders/ encoders ••.•. $3.95 INTERFACE . Covers peripheral drivers, level translators, D-A CONVERTER 8Y ZELTEX TELETYPE CODE CONVERSION CHIP line driver/ receivers, memory and clock dri vers, sense amps MM5220Bl converts 5 level Baudot into 8 level ASCII. Use 8 bit precision hybrid circuit for use in controllers, timen, display dri ver and opto-cauplers ••• . .•.••. .. • . • . .•• $3.95 volt meters, etc . Molded plastic package with P . C . pins. this chip to make your old TTY talk to your new computer. (Outside U. S., odd postage for 1.5Ibs\ MM5220BL ••.• • . .. •••• • ..• . • • .• • .•• •• .•. •• •••• $18.00 Super buy on this better than usual subsystem. ZELTEX Specs fo r the above ...... 30 model ZD430. DAC-430 ••••• ••• •• ••• .••.•• • • $4.95 FROM FAIRCHILD. Linear. 776 pages of dota and applications for Foir- Id linear Ie's. . Great value ...... $4.25 NEW BOOK! lIliAn Introduction to Microcomputersll MOS TIME BASE KIT . •••n< / (-MIC>

MinImum order $10 US/ $15 Foreign in US-funds. All orders postage paid. t~l- t€k, Inc. Please add insurance. tv'aster Charge and Bonk America cords welcome, ($20 minimum) Telephone orders may be placed 11AM to 5PM doily, Man M22 nORth 43RO avenue. thru Fri. Call 602-931-6949. Check reader service card or send stemp CiLenOaLe. aRIzona 8~301 for our latest flyers pocked with new and surplus eleetronic components. phone 6O'l - 931-6949

85 You'll Want to Nybble at these Byte Books Whe re does the editor of a computer magazine turn to when he must verify some author's hardware design? Information on a 75450 interface gate, or a 74147 priority encoder circuit does not spring forth by magic . Checking the information supplied by authors is part of BYTE's quality control program. When you build a proj ect, you need this sa me sort of information . All you find in the advertisements fo r parts are mysterious numbers identifying the little beasties . . . hardly the sort of information which can be used to design a custom logic circuit. You can find out about many of the numbers by using the information found in these books. No laboratory bench is complete without an accomp anying library shelf filled with references - and this set of Texas Instruments engineering manuals plus Don Lancaster's TTL Cookbook will provide an excellent starting point or addition to your personal library .

-The TTL Cookbook by Don Lancaster, published by Howard - The Transistor and Diode Data Book for Design Engineers, W. Sams, Ind ianapolis, Ind iana. Start your quest for data here with by T exas Instruments, Incorporat ed. You'd expect a big fat data Don's tu torial explanations of what m akes a TTL logic design tick. book and a w ide line of d iodes and t ra nsistors from a company 335 pages , $8.95 postpaid. wh ich h as bee n arou nd f rom the start of semiconductors. Wel( its - The TTL Data Book for Design Engineers, by T exas ava ilable in t he form of t his 1248 page manual f rom T . I. which Instruments Incorporated. How does an enginee r find ou t about describes t he characteri stics of over 800 types of transistors and the TTL circuits? He reads the ma nufacturer's li terature. This 640 over 500 t ypes of sil ico n diodes. This bo ok covers t he T .I. line of page beau ty covers the detailed specs of most of the 7400 series low power se micond uctors (1 Watt or less!. You won't find every TTL logic devices. No experimenter WOrki ng w i th TTL h as a type of transistor or d iode in existen ce here , but y ou' ll fi nd most com plete library w ithout The TTL Dat a Book f or Design o f the numbe rs used in switching and amplifying circuit s. O rder Engineers. Order y ou rs today, onl y $3.95 postpaid. your copy today , only $4.95 postpaid. -The Power Semiconductor Handbook for Design Engineers by - The Supplement to The TTL Data Book for Design Engi­ Texas Instruments, Incorporated. To complement the low power neers, by Texas Instruments Incorporated. Wh at happe ns w hen transistor handbook, To!. supplies this 800 page tome on high y ou ca n't find a 7400 seri es device listed in The Dat a Book for power transistors and related switching d evices. Here is where you Design Engineers? Before you start screaming and teari ng your find data on the brute force monsters which are use d to control hair ou t in frustrati on, turn to the Supp lement. T he Supplement many Watts electronically. Fill out your library with this book, has 400 pages of additional information indud ing a com prehensive availabl e for only $3.95 postpaid. index to both TTL Data Book volumes. To be comp lete (and keep y our hair in pl ace and vocal cords intact) you 'd best order the - Understanding Solid State Electronics by Texas Instruments, supp lement at $1.95 to accompany the m ain volum e. Incorporated. This is an excellent tutorial introduction to the subject of transistor and diode circuitry. The book was created for - The linear and Interface Circuit s Data Book for Design the reader who wants or needs to understand electronics , but can 't Engineers, by T exas Instruments Incorporated . When you run de vote years to the study. This 242 page softbound book is a.must across n ne o f th ose weird numbers like 7 5365 the im mediate addition t o the beginner's I ibrary at only $2.95. frustration problem occurs aga in. What k ind of gate could that be? We won't te ll in this ad, bu t you ca n find o u t by read ing th e -The Optoelectronics Data Book for Design Engineers by specifica tions in The linear and Interface Circuits Dat a Book for Texas Instruments, Incorporated. Th is 366 page book is a Design Engineers. You can in terface your brain to the 72xxx com pe ndium of information on TJ. phototransistors, LEOs and (linear) and 75xxx !interface) ser ies of functions by ordering you r relat ed ·devi ces . Order yours at $2.95 postpaid. copy of this 688 page manual at only $3.95 postpaid. Buyers of these books should be ca utioned: heavy readi ng wi ll be req uired. T hese - The Semiconductor Memory Data Book for Design Engi · books are so fi ll ed with info rma ti on that th ey weig h in at a total of about 190 neers, by Texas Instruments , Incorporated. Don't forget the ounces 15387 grams). On the basis of sheer mass, these books have got to be the import ance of memories t o y our system s. Refer to this 272 page bargain of the century. Make sure t ha t you use a structurally sound book shelf and manual to find out about the T .I. versions of many of the popular above all avoid dropping " lie of these books on your fool. But the mass of these . random access m em ories and read only memories. Order y our books doesn't aff ec t the bargain : we pay postage on all orders shipped to addresses in the USA and Canada, so the prices you see are the prices you pay _ (That'S only personal copy today, only $2.95 postpaid. $.005 per gram on the average. )

__ TTL Cookbook @ $8.95 Please add 75 cents for pos tage and ha nd ling. Please all ow six weel,s f or delivery. Send to : Name __ TTL Data Book @ $3.95 ~~------__ Supplement to TTL Data Book @ $1 . 95 __ Linear and Interface Circuits @ $3.95 Add ress __ Semiconductor Memory Data @ $2.95 City State Zip __ Transistor and Diode Data Book @ $4.95 __ Understanding Solid State Electronics @ $2.95 I I Check enc lose d __ Optoelectronics Data Book @ $2.95 I I Bill MC f!' ______Exp. Dat e ______Power Semiconductor Handbook @ $3.95 II Bill BA # Exp. Date ______~~TI PETERBOROUGH, NH 03458 Sign ature

Feel free to p h o tocop y this or allY o ther p age if you w ish t o keep your B Y T E intac t. 86 ------S. D. SALES CO. P. O. BOX 28810 TEXAS 75228 2102 1K RAM's - 8 FOR $12.95 ALARM CLOCK KIT SIX DIGIT LED New units We bought a load on a super deal, hence this fantastic price. Thousands of hobbyists have bought and built our original clock kit Units tested for 500NS Speed . and were completely satisfied. But we have received many requests INTEL 1702A 2K ERASEABLE PROM'S $6.95 for an alarm clock kit with the same value and quality that you have We tell it like it is . We could have said these were come to expect from S.O. So, here it is! factory new, but here is the straight scoop . We bought a IClad of new computer gear that contained a quantity THE KIT INCLUDES: of 1702A's in sockets . We carefully removed the parts, verified their quality, and are offering them on one heck 1 Mostek 50252 Alarm Clock Chip of a deal. First come, first served. Satisfaction 6 Hewlett Packard .30 in. common cathode readouts. uaranteed . 15 NPN Driver Transistors 3 DIGIT LED ARRAY - 75c 1 Etched and Drilled P.C. Board set MV-50 TYPE LED's byLiTRONIX byLlTRONIX 1 Step Down Transformer lor OL33MMB. 3 MAN-3 Size Readouts In one 10 51 package. These are factory prime, not 2 Switches for time set Factory Prime! retested rejects as sold by others. 2 Slide Switches for alarm set and enable compare this price! 75c 3 for $2. 1 FilterCap SALE ON CUT LEAD SEMICONDUCTORS 4 IN4002 Rectifiers Leads were cut for PCB insertion . Still very useable. 1 IN914 Diode 1N914/1N4148 ...... 100/$2 1 .01 Disc Cap 1N40021 Amp 100 PIV ...... 40/$1 (COMPLETE KIT) 1N4745A16V1WZener. . ... 20/$1 ALL NEW. 15 Resistors EN2222 NPN Transistor . . ... 25/$1 UNUSED. 1 Sp~aker for alarm EN2907 PNP Transistor. .25/$1 SOME ARE 1 LED lamp for PM indicator. 2N3904 NPN Driver Xstr. . .25/$1 HOUSE H 2N3392 GE Pre-amp Xstr. .25!$1 C103Y SCR . 800MA. 60V. .. . .10/$1 Why pay MORE MONEY for our competitor's clock that has LESS SLIDE SWITCH ASSORTMENT DIGITS that are SMALLER in size? Our besl seller. Includes minialure and slandaro ~ sizes, single and multi-position units. All new, ~.... a Please take note that we use only. first run parts in our kits and lirslqualily. name brand swilches. Try one pack- . , include ALL the necessary parts. Not like some of our competitors ...... -..:i2~~:.:.~:.:.nd:.:.~.::.o;::,~;I..,..1r..,.. eo....,rd....,er__ """"--: .:-:s:-:pec....,j8__ 1-- ...1-2 ... 'O-'S-I------~ who use retested readouts and chips or who may not even include DISC CAP ASSORTMENT switches in their kits. PC leads . At least 10 different values . Includes .001 , .01 .. 05 , 60 Hz. Crystal Time Base P:;:I:~~s:~n::~::~:::CCAPS 47 mfd 35 V-10/$1 68 mfd 25V-8/$1 FOR DIGITAL CLOCKS $5 95 1--__B_ra_nd_ne_w_by_sP_ra_gu_e ._Pc_le_ad_s. __--l S. D. SALES ExCLUSIVE! • 1/~~I~~Oa~:~~o~R~~~e~~s. ~ A ood mi x of values. 200/$2 The kit you have been waiting for is here NOW, and at an 1--...;.;..:.;;.;;.;;..;;.;;.;;.;;.;..;.;;;.;;.;;.;;.;.;;.;;.;;.;.;;;;...------1 unbelievable price! Thanks to S.D. Sales you can turn that digital 1000 MFD FILTER CAPS clock of yours into a superbly accurate, DC operated, time piece. :::pu':'~ueUr~~g~~: I'~8~1~ I :"uSp to $1 .19 each from franchise type electronic parts stores.S.D. Specisl4forS1

KIT FEATURES: FAIRCHILD BIG LED D~An'",..,rc: A big .50 Inch easy to read character. Now available in either oommon anode A. 60 Hz output with accuracy comparable to a digital watch. 0 Of oommon cathooe. Take your pick. Super low current drain, only 5 MA per segment typical. B. Directly interfaces with all MOS clock YOUR ChiPS'~S'\O'O FND 510 Common Anode CHOICE C. Super low power consumption (1.5 Ma typ.) .,.~O fO FND - 503 Common Cathode $1 .50 ea . 6 for $7 .50 D. Uses latest MOS 17 stage divider IC. ~\}'o( DUAL 741C (5558) OP AMPS Mini dip . New house numbered units E. Eliminates forever the problem of AC line glitches. by RAYTHEON. F. Perfect for cars, boats, campers, or even for portable 4 FOR $1 INSTRUMENTS - SPECIAL 510r 51 clocks at ham field days. house nurrOer. rQ-92 plastic case. N. Channel , G. Small size, can be used in existing enclosures. S. D. SALES CO. Kit includes crystal, divider IC, P.C. Board plus all other necessary P.O. BOX 28810 parts and specs. DALLAS, TEXAS 75228

87 BOOK REVIEW

EDN Mi cropr ocessor Design Se ries Volum e with Volum e 1 of th e EDN Microprocessor II wri tten and edited by EDN staft; Cahners Design Series reprints. Publishing Co, 227 Co lumbus All, Bos l on Volume II of th e EDN Microprocessor MA 02 77 6, 7975, $7.95 (USA ) or $8.95 Design Series , published toward the end of (foreign). A combination paclwge of Volume 1975, includes arti cles fea tured as late as I and /I is available for $ 77 (USA) while the November 1975. The book contain s a wea lth supply of Vo lume I lasts. of tec hni ca l informati on which is up to date and quite in fo rm ativ e for th e adva nced To anyone who is in vo lv ed in engin eerin g computer amateur, and a must for th e des ign and applications in vo lvin g electroni cs professionals in the audience. The ori enta­ and compu ters, EDN is one of the mos t ti on, as always, is toward the contemporary desirabl e trade magazi nes. II t is sometim es enginee r's approach to computers and mi cro­ fru stratin gly di ff icu lt to ge t on the subscri p­ processor appl ica ti ons. Th e articl es are tion li st of this exce ll ent publica ti on, so a orga ni zed in four sec ti ons: " Direc tori es and comm on prac tice at many compani es is to Market" summari zes th e market and prices temp orari Iy borrow the copies wh enever at the time of publica ti on. Thi s includes a poss ibl e. I EDN has bee n writing a bout very compl ete wall chart of 72 diffe rent mi croprocessors for sys tems engin ee rs vir­ ve nd ors (underwritten by Di gital Eq ui pment tuall y fr om th e sta rt of the tec hn ology, Co rp 's Co mponents Group) and compl ete fea turing these probl em so lve rs in numerous li sts of names and addresses of th e va ri ous tec hni ca l articles. To help make the in for ma­ compani es. The pho to of th e book accom­ tion more wid ely ava il able, EDN ca me out panying thi s revi ew was made with th e wall chart as a back drop. The second section is "Evalu ati ons and Co mpari sons, " articl es on th e fo rm ati on of benchm ark tests, trend s in microprocessor tec hn ology and related sub­ jec ts. The third section, " Software and Programming," is devo ted to edu ca ting engi­ nee rs in th ose arts and what to look fo r in instru cti on sets. The fourth and fin al sec ti on is "Design and Appli ca ti ons," practica l de­ tail s of usin g and appl yin g mi croprocessors, in cluding Spec ial Features Editor Robert Cushman 's ser ies on the des ign and construc­ ti on of the EDN "toy/tool" low cost micro­ co mputer demonstrati on system. Yo u'll find a compl ete di scu ss ion o f the "toy/tool" conce pt in the fir st article and a ph oto story on th e prototype result in a second article. Other arti cles are on pi tfa ll s, th e concept of a portabl e debu ggin g tool, and other design topi cs. For an up to date pi cture of t he current state of the mi croprocessor art as vi ewed by one of the leading trade magaz in es, Volum e II of the EDN Microprocessor Design Series is hi ghl y recommend ed rea din g. . . .. CH

88 THE J1 MICROPROCESSOR VOLUME 2

If you liked Volume 1, you'll love Volume 2 . This second volume of the popular EON !J.P DESIGN SERIES is the one and only authoritative source for designers interested in !J.P's. At a cost less than other similar publications, it provides more, useful, objective !J.P information. Here's what you get in the EDN !J.P DESIGN SERIES that you don't get elsewhere: • Microprocessor Djrectory: A complete file-card type listing of all !J.P's now on the market that includes detailed information on performance, architecture, software, price and availability. • Microcomputer Systems Directory: A fold-out wall chart, this directory describes features, capabilities, size, options, peripherals, prices and software support for all available !J.C's on the pc board level. • Microprocessor Market Report: A summary report of EON's annual study of micro­ processor applications and market needs. • Microprocessor Benchmarks: Sample benchmark studies of most popular !J. P's • Plus - deSign and applications articles including : " How To Get Started In Micro­ processors On A Shoestring" by EON's Bob Cushman. At $7.95/copy, USA only ($895, non-USA) , this is a genuine bargain . So order now. Check or money order must accompany order. Make checks payable to: EON !J.P Reprints. Call Roy Forsberg (617) 536-7780 for quantity discounts . •• ••••••••••••••••••••••••••••••••••••••••••• ••• Send to: !J.P Reprints, Vol. 2 EDN Microprocessor EON Magazine Design Series 221 Columbus Ave. Boston, MA 02116 ORDER BlANK

Please send me _ _ _ copies of EON 's !J. P Design Series. Enclosed is $ (Cost is $7.95/copy, USA only; $8.95/ copy, non-USA) Check or money order must accompany eac h order . No COD. MA residents add 5% Sales Ta x.

Send my Name ______Title ______series to: Company ______Address ______

City ______State ______71 P Code ______Continued from page 6 activity. At the simple end of the complex­ ity spectrum, a microcomputer is well can be useful for your ordinary personal adapted to automation of amateur radio correspondence . . This is especially true if station activities: Simple software can be you use a text ed itor and audio tape or hard used to generate and interpret high speed copy output as a major component of your precision Morse code using your ASC II key­ correspondence. The addressin g can then be board and video display . Similarly, software taken right from the list, and the con·es­ can be easily employed to automate the pondence can be filed away in an electro­ conversion of Baudot to ASCII and vice magnetic duplicate for future reference. The applications of small versa, thus adapti ng your station to an FCC Wh enever correspondence or addressing lists restriction, and incidentally allowing you to computers will be en­ are involved, the computer system can be use cheap obsolete print mech anisms re­ hanced by creation of used to help reduce the burden of maintain­ moved from commercial service . On a more standards on items of ing these activities, thus freeing yo ur time elaborate scale, there is the prospect of an interfacing_ One item for more enjoyab le pursuits. amateur radio "HARPA" network of com­ which should be standard­ puter automated stations for purposes of ized is an 8 bit peripheral Enjoyment and Fascination packet switching communications and interface plug which will At the present time, the pros pect of nationwide time sharing of amateur comput­ become the logical equiva­ enjoym ent and fascination is probab ly one ing faci li ties, "to prove it can be done." lent for small computers of the most important components of th.e Do you run a mod el railroad? You can of what the RCA style motivations to purchase and use computers. have a railroad control facility far in ad­ phono plug is for audio This is certainly one of my major motiva­ vance of what is fo und on conventional com­ equipment. tions: I simply like th e intricaci es and com­ mercial transportation faci liti es when you pl ex ities of programming and logical systems use your microcomputer to automate opera­ which allow me to program. For me, getting tions on your layout. The programmed con­ involved in computers is one of the great trol of processes is one of the biggest fields fascinations of life . But fascination devoid of of computer application, and a model rail­ goa ls and objectives is an empty exercise. road is a good example of such a real time Mak in g unique applications is one of the process control problem. Model railroading major ways in which this enjoyment is is an example of what might be called an re ali zed for me, and I suspect it is a motiva­ "industrial modelling hobby." The same sort tion for many of you as well. One of my of fascination which infects the model rail­ own personal goals is the prospect of musi­ roader can also be applied to new fields with cal ap plications, particul arly the tantalizing the computer automation theme. Have you id ea of conducting an electronic sy mphony ever thought of the cha ll enge of building a orchestra controlled by the processor which model automated production lin e? Have you ac ts as my baton. ever thought about the challenge of model­ This musical application is an exa mpl e of ling, for instance, an automated ·oil refinery the use of the computer system to accom­ or pipeline system? You can do such model ­ pli sh new tasks prev iously imposs ibl e: It lin g both intellectually and with actual was never befol·e poss ibl e for an individual physical hardware using the personal compu­ of very modest means to have the arti stic ter as a central element. freedom of ex perimenting with a symphony Another variant on the modelling hobby orchestra. Most other applications involving is that of model airplanes and other radio enjoyment and fasci nation are of a si mi lar contro ll ed action models. One of the latest nature: Complex activities never before pos­ trends in avionics is the "fly by wire" sible without th e computer system's approach to aircraft control in which com­ automation. puters and da ta buses are used instead of Have you ever pl ayed Space War? It used traditional mechanical linkages and to be the case that hi gh resolution graphics hydraulic control systems. In aircraft model­ and number crunching computers were out lin g, this approach cou ld also be employed of the range of the person of ordin ary to some extent, as well as the use of micro­ means. With the new technology, we're processors to impl ement compli cated inertial almost to the point where a good Space War navigation algorithms and pre- programmed game can be had by many of the people in maneuvers for the airplane which can be this audience, usin g ordinary TV monitors as actuated on command of the ground station . peripherals and contemporary microcompu­ Are you interested in visu al and graphi c ters as the number crunchers. arts? The computer coupled with home brew Are you a radio amateur ? Th en your plotters and other graphic output displays prese nce at this convention is probqb ly a can be used in a number of fascinating ways reflection of your kn owledge of the ways in to produce drawings and pictures. which mi crocomputers can be used in that Have you ever wanted to mak e yourself a

90 ICRYSTALS AUTOTEL @ THESE FREaUENCIES ONLY WARNING LIGHTS ARE NOT ENOUGH PlIf1 i1 Frequency Case 'it.,le CYtA 1 oao MH z HC33tU 8080 8080A CY2A 2.000 MHz HC3 3/U CY3A 4000 MHz HCI8!U $24.95 $39.95 CY7A 5.000 MHl HC181U eY12A 10.000 MHt HCt81U CV14A 14 .31818 MHz HCl 8/U CYI9A 18.000 MHz HCt8/U SU5 CPU ·S RA M·S CY22A 20000 MHz HCI8!U S495 6006 8 8 1t CPU 51 995 11 01 256Xt SlATIe 52.25 CYJOB 32.000 MHz HCt81U S4 .95 6060 Super800B S;i~.95 t l 03 1024)(1 DYNAMIC 2.95 S080A SU[lerBOO8 SJ995 2101 256Xl SIAliC 695 2102 IONX I STA TI C 2.49 CLOCK CASES SR·S 2107 J096X1 DY NAMIC 19.95 Nicety styled cases comple te Nlth red 2504 102JOnlAMIC 5900 211! 256X ,1 SIATIC 795 AN AUDIBLE ALARM INDICATING llezelloruseinsuchappliCailonsas 25 18 700 HEX 320(1 7010 102~Xl MN OS 2995 desk clocks. car clocks. alarm clocks . 25t9 HEX ~O lilT 7·1 89 16X~ STATI C POTENTIAL ENGINE DAMAGE mstrllmentcases "0 25Z ~ 512 DYNAMIC '95 8lOt Z56X ~ STATIC 795 AUTOTEL is an e!1ecient (15 rna curren t standby) device by which every owner 01 an DIMENSIONS. W· ·f".! ·1\'1"·. H-2 ·· , 2525 ION DYNAUIC 600 8tl 1 25@1 STA TIC '"795 2527 automobile. Iruck or vehicle eQuipped will! indicatm lights for lemperattlre and oil OUAL 256 1111 395 16X~ SlAnC 3" .1 00 "99 pressu re can be assured 01 a reliable warning be fore an impending failure . 2529 OUAl512 BII 91L02 102JXl SIAliC 275 2532 OUAD 80 IItT 395 AUTOTEl. by mean s 01 an audible signal 70 db pulsing) immediately forewarns the 74200 256xl STA IlC 695 2533 10t ~ STAllC 795 vehicle operalor of a maJ1unctlon or iailUle, allc wing lime to correct and prevenl maior 64 93 ~ 10 25bX l Sl"!tC 175 334 1 FIfO 695 engine failures. It is plOgrammed so ther e s no sound during normal operating Key . ~ . " , . 5262 20~BXI DYNAMIC 295 7;lLS670 t6X~REG 395 condi\io!"js. " • 0 ~ • \.. ~ Keyboard PROMS v • c ~ ~ M , UARTS AUTOTEL leatules CMOS circurtry, packaged 11 a 2'h ·· sq. x ~I·· case . The kit comes 1702A S24.95 ~ ...... AY-5· 101J 20K 8AUO $695 20J8 FAMoS 1595 com plet e wllh all components. haldware ana case to hook directly inlo your car"s _- ROhrs 5203 ]0~8 r·M.10S 1495 warning light syste m. 2513 CtMR GHI 1100 82S23 32X8 OPEN e soo 7J88 RANDOM BITS 350 82S123 3U8 TfliSlATE ~;~~~~~To~~!~ag~~~~~e~tSt~!~h:s~l~onemoldedUni! . lt is 1------t1--$;.9;;.;.;.500 9;;;5;;"";P...;e;;;r;,,,,;;K;,;,it~ __$;.1,;,4..:..;,;. 9;;;5;;",,;A,;;s;,;s;,;e;,;m,;;,;;b,;,le;;;d;;"'-I

S7.95 BUILD YOUR OWN JOLT MICROCOMPUTER IN JUST 3 HOURS IMe 3112 DIGIT DVM KIT OR LESS FOR $159.95. A COMPLETE MICROCOMPlJTER IN A SINGLE CPU KIT INCLUDES: 0 An MOS Technology MCS6502 NMOS microprocessor . 512 bytes of program RAM, and 64 bytes of interrupt vector RAM • 1 K bytes of mask programmed ROM cont aining D~MON , a powerful debug monitor . 26 programmable I/O lines. Internal RC clock, or crystal oontrolled clock with user supplied crystal. Serial 110 ports for use with a tele- DIMS 3" W, Hf' H, 2Vi ' D po",""ome"",.mal"lY. printer cu rrent loop drive/receiver, or an EIA standard driver/receiver . Expandable ad­ dress and data buses . Hardware interrupt . Control pa nel interface lines ava il able on A card connector . Complete assembly manuals and sample programs

JOLT ACCESSORY KITS B

JOLT RAM Card - Fu1!y slalic;l.096 bytcsot RAM w,lh JOLT Unlvarsal Card - Same SilO ('I \'~· ' ~ 7"), same 1 mlClOsecond access time and on·board decoding lorm lacto! as olhOi JOLT cards. Complelely blank, A Sl99.95 driliod to accept 14. 16. 2,1 or 40 pin sockets S24.95 $9.95eo JOLT I/O Card (Peripheral Interlace Adapter) - 2 PIA JOLT Accessory Bag - Coniains onoll9h hardware to This 0-2 VDC .05 per cent digital voltmeter features the Motorola 3\/2 digit .... ______-1. ~~I~;iP~~2 s~~~~~ ·~f ~~:~;.uP:u~I~~r~;:%~:· :~~~~ :do;;a~~;: t~1~~~~e~:~~t.lo~3~~ 5cab te , connoc· DVM chip set. It has a .4'· LED display 3nd operates from a single + 5V MOS LSI OEVICES S95.50 JOLT Resident Assembler - Fully symboliC, slfl!Jle power supply. The unit is provided complete with an injection molded black JOLT Power Supply - Operates at ,5, ·1 2 and - 10 pass reSiden t assembler, nil mnemOniCS comnatlble wilh plastic case complete with Bezel. An optional power supply is available CLOCK CHIPS volTages. Supports JOLT CPU. 4K bytes of RAM and timesharing assemblers. Oehvo re-d on foUl 1702A which tits into the same case as the 0-2V DVM allowing 117VACoperation. 1.41.15309 6 oigl:, BCD oU1PUIS . Resel PIN. S5 .95 JOLT 110 card _ or. cpu and 8 tlO cards. S99.95 PROMs, ready lor plugging In lO JOLT PROM card 1.41.45311 M"1 53 12 ~ g:~~ : :gg g~ :~~: ~: ~2p~~ 26u~pou~r : : ~~ ;~~~IY+!;d~~~~;:rt~~I~O~ ; ~~I~O~~~~~! :t~~cr JS~~~ ·~~02A PROM Card _ Sockots for 2.048 bytes 0 1 A. 0-2V DVM with Case $49.95 MM 5J13 MM5314 : g:~ ~;: ~;~ro~~p~~S~r ,'~~So~:~'z : : ~~ CPU and card~ . ·S24.95 PROM Placo (trlywhero In momory Wlttl jumper B. $14.95 MM 5316 MM 53 1S ~~~~I~J~~~~hl~~~~rouu~~lth MM5841 : : ~; I"------.;:;:::;:::;;:;;.:::=:::::;...:,;:::;:;:....------~~;:::;.;~~;""";;";,;,;:;,.:;...:...-----;,,,,,,;---t CT7oo1 6 algi!. calander. Alarm . 12 or 2;l Ho ur 6.9:' ~sh: ~~~oo"ll~ha ~~;II~s~n~:gl~a~~I~~I~ · t~~~ CALCULATOR CHIPS lur~ a Simulaled wa lnut case With (II· MM 5725 6 Digll . Four Funclion. less Decimal S2 .95 menSlons or 6 ... 2' 1 ~ 1 11 utilizes a MM57311 8 o!gll , 5 Fu nction: .~, -. ;.;. -, % 2.95 "'AN 72 high brightness reaaou t. ana l~ e 8 olgi!, ~ Funcllon. Aoaling Decimal 2.95 "'M5Jl ·! clock ctliP 12 !li(,llt 4 FunClion J.95 12digil4 Function with Memory 5.95 12ollJjt,IFunctionan(! 1. 7.95 MISC. MOS 115 VAC- MM 5320 TV Camera Sync Generator MM5841 Video Generator For MM5318 $17.95 1.11.15330 m Digit DVM Chip MK 5007 Complete.t Digit Counter Per Kit LOttO/LOllI 311 Digital VOltmeter Chip Sel MC1408L7 7 Bit Digital To Analog Conv . --r--~ DL728 I ProlJe If> a 110It wlli ch I~ for tile most ~an I ----- ...... )J The Dl728 IS a dual 0.5" ' commo n cathode red In ~~3~ ~~odO:;~~sIOt~l~ ~~~~1!~~1 . ~ 4 ~~ :to~ ,I dlrecUyoffoflllecucUltuMer 111 10 mA ma~ II II ses a MAN3 t I i I any 01 tile 101l0Wing states by I lIil · I (LOW)·o(PULSEj· P Th e delcct lugll lrCQuency pulses to 4S MK z $9.95 Per Kit A B c ·1 be Ilse!lat MOSIcvclsor clrcuil darllage r'. lt printed circuit board This game comes pre-tested with two PROFESSIONAL Kra ft joysticks. Joysticks al low 2 dimensional . ELECTRONIC C player contra I (rather than on ly one dimension, such as up and down .) If you require more th an twa players, order extra jaysicks. All that's required is a 5V/2A power su pply, a harn ess, and speaker. Electronic craps is an en· Comes with schematics, wiring information, and all necessary documentation, Game gives 1V ti rely elec troni c game co mposite video output , periec! for any TV mon itor, Game designed so one , two, th ree, or lou r featuring a dice "roll players can play at the same time . You can even play agains t the HOUSE. Score fo r each person is down ". 14 LED's lorm VECTOR WIRING PENCIL two dice thai roll when ac· shown on TV~et. These boards are production over runs of a well known video game manufacturer, tivated by a push boiton and are not rejects, or in any way inferior to one presently being so ld in games for over $1,000.00. ~, . Dimensions are 6'12 " )I, KIT A - 5179.95 PROFESSIONAL game P.C. board. and 2 PROFESSIONAL joyslicks. P.C. board 3V2 :· x lW· size is 10 '12'· x 17" . Thi sis th e same PROFESSIONAL game as seen in commercial establ ishm ents. $19.95 Per KII Dont't co nluse it with the simple games sold in stores, or wi th analog kits. vec1orWillnyPenciIP1 73consistso!ahanOheldfeatherweIOhl(unterone ACCESSORY B - 53 .95 Six leel 01 ribbon cable. Ihree SPST switc hes (co in simul alor. ounce) tool whiCh IS used 10 guide and wrap insulated wire. Icd 011 a sell·containe

92 F8 MICROPROCESSOR KI WE'VE GOT THE Fa MICROPROCESSOR KIT, ONE OF THE MOST ADVANCED MCU SYSTEMS ON THE A UNIQUE ALL SOLID STATE CAMERA KIT MARKET TODAY FOR ONLY $179.00 FEATURING A . .. 100 X 100 BIT This three chip microproceSSOl' system has lhe SELF SCANNING CHARGED rollowing advantagas: 1) Driven by a -S and' t 2 voU power supply COUPLED DEVICE 2) Two 1/0 ports on the CPU chip. and ROM. meking 32 bidilectionaJ lines IIAY lIE USED 3) 64 bytas 0118S1 RAM scralchpad builllnio the INCLUDE. FOLLOWINO CPU chip. THE WITH AliATEUR 4) A buill in clock generator and power·on reset buill UNIOUHEATUllEI. RADIO FOR VIOIO into the CPU chip 'OUND IN FAR IIOIIE 5) A programmable internal timer buill into Ihe ROM chip EX,ENIIVI CAIIERAI USED FOR CHARAC­ 6) 60% otlhe instructions8le 1 byle IF AVAILAILE TER RECOGNITION 7) TILIIOcompallbHlly. FOR COMPUTERS 8) consumes lass Itlan 300mw 01 power per chip • lOWVOlTAQESUPPLV!OR 9) A local interrupt with automatic adress vector. ItATTER&ESI. SAND I: \5 WITH EXTERNAL 10) elO:pandable 10 64K bytes f21 0.,·1'11 ) of memory. CIRCUITS III 20 mit loop &. AS - 232 inc(uded. • SENSITIVE TO INfRA Re:O AS WEU AS VISIBlE UGHT The Fe KH has enough pet1allnd instructions 10 demon· IIIAYHUaEDIN strate microproceNOl' pt0Ql'8IT1S up to 1 K byte. and to • ...AVBEUSEOFORIR AVACUUIII,U,. debug tho.. programs. SUAVEIU.AHCE WITH AH IR DE" WATE". HIOH We supply : UGHTSCMJRCE AL TTTUDE. AND , . 3850CPU • EXCELlENTFQRSTANDAAO INIIAONETIC ,. 3851AFAlR·BUGprogrammedSioraga SURVEIIJ..AHCE WORK BECAUSE EItVIRONIlENT unit, pl"ovides the programmer with all its 110 subroutine • and allows tna pro· OF ITS UGHT WEIGHT AND BECAUSE THERE SMALLSlZE grammer to display or alter memory. IS NO HIOH and register contents Ilia a teletype • AlL COMPONENTS MOUNTEO VOLTAOEOR terminal. ON TWO PARAlLfL 3° )( S" IIAONETIC I · 3853 Static memory interface SWOLE SIDED BOAROS TOT 41. DEFLECTION 8· 2102 WfIGHT UNDeR 2 L.8S Plus CMOS oates and buff8l'1. PC CIW"d. instruction IiIanUalS . programming • MAY BE WlRE08Y PERSON guide. and limt' sh8ling guide. WITH SOME T~CHNICAl EXPERIENCE IN " ·6 HRS WE SUPPL'( ALL SEMICONDUCTORS. BOARDS. DATA SHEETS. DIAGRAMS. RESISTQAS AND CAPACITORS. 115KBl'TES IlTATlC.DVN ....1C SOAAY. WE 00 NOT SUPPl v SUPER UNBEUEVA8LE MEMOItVINTERFACE THE CASE. BUTEAIES tOR SUPPl Y"I THE lENSE DATAPOINTEA=~~~~ iNCT SUPPUEOI DEPENDS - UPON THE USE good to 1 MHZ

TRANSISTOR SPECIALS CfMOS (DIODE CLAMPED} INTEL 8080 CPU ...... $37.50 2N3585 NPN SI TO·66 ...... S .95 74C02-.26 4013- .45 4028- .96 8008 8 BIT MICRO PROCESSING CHIP 2N3772 NPN SI TO·3. ... $1.60 J4C10- .30 4015--1.24 4029-1.20 (With Data Book) . .. S 19.00 2N4901 PNP SI TO·3 ...... $ .85 4001- .24 4017-1.15 4030- .49 2102· 11024BTRAh4. .. $ 2.60 2N5086 PNP SI TO·92 . .. 4/$ 1 .00 4002- .24 4018-1 .24 4035-1 .50 5202A UV PROM ...... $12.50 2N4698 PNP TO·66. .. . $ .60 4006-1.35 4019-.50 4042- .75 1.41.45203 UVPROM . $12.50 2N404PNPGETO·5 .. . .. 5/$1.00 4007- .24 4022-1.24 4046-2.75 1702A UV PROM ...... $12.50 2N3919 NPN SI TO·3 RF .. .. . $1 .50 4009-.50 4024- .95 4047-3.50 5204·4K PROM...... $24.95 MPSA 13 NPN III TO·92 . 3/$1 .00 4010- .50 4025-- .24 4060- .49 MINATURI MULTI·TURN TRIM POn 100,500 2N3767 NPN SI TO·66 ...... $ .70 4011- .24 4026-1.90 4055-1.95 4012- .24 4027- .55 4066-1.00 5K. 10K. 25K. 50K. 1 OOK. 200K 2N2222NPNSITO·18 5/$1 .00 2N3055 NPN SI TO·3 ...... $ .80 LED READOUTS 2N3904 NPN SI TO·92 . .. 5/$ 1.00 FND5'00·.5 · C.C. . . '1.75 2N3906 PNP SI TO·92 ... 5/$1 .00 HP 77 40·.3" C.C ...... SUO 2N5296 NPN SI TO·220 .. . $ .50 MAN·4·.25" C.C ...... '1.20 2N6109PNPSITQ·220 . . $ .55 MAN-7·.3" C.A. . '1.25 2N3666 NPNSITO·5.. ... $ .75 ·C.A 2N3638 NPN SI TO·5 ...... 5/$ 1.00 2N6517 NPN TQ·92 SI . .. 3/51.00

200 .95 1.25 2.00 5/$1 .00 6.BUF J5V J/$ 1.00 400 1.15 1.50 3.00 5/$1 .00 JJUF 25V $ .40 600 1.35 1.75 4.00 5/$1 .00 JOUF 6V .5/$1.00 5/$1.00 150UF 20V $ .50 CD 110 LINEAR 256 XI BIT SELF 4/$1.00 SCANNING CHARGED COUPLED DEVISE ...... 1125.00 CT7001 ALARM CLOCK CHiP ..... $5.15 SANK EN AUDIO POWER AIIPS 2N 4891 UJT FPA 711·7 LEVEL Diode Array Optical SI1010G 10 WATTS ...... 8.80 TIS 43 UJT ...... Tape Readars ...... $5.95 511020 G 20 WATTS ...... 113.85 ER 900 TRIGGER DIODES .. . NATIONAL MOS OEVICES SI1050 G 50 WATTS ...... '24.85 2N 8028 PROG. UJT . 1.41.41402-3.20 MM5057~.00 LINEAR CIRCUITS VERIPAX PC BOARD 1.41.41403-3.20 MM50!iB-4.95 LM 309K 5V 1 A REGULATOR ...... $1.00 ThiS board i, fI Y,.· single sided pa­ 1.41.41404-2.50 1.41.45060-4.95 723 - 40 + 40V REGULATOR ..... , . •54 per epoxy board, • Vt • )( 6 VI· , 1.41.45013-7.75 1.41.45061-4.30 3011748·Hi Per. Op. Amp . . . , .2' DRILLED and ETCHED which will 1.41.45016-3.50 MM5555~ . 26 320T 5. 12. 15. OR 24V hold up 10 21 Sinole 14 pin IC's Of 1.41.45017-4.75 MM5556~ . 25 NEGATIVE REG ...... '1.50 e, 16. or lSI DiP lC'a with busses 1.41.45055-4.00 1.41.45210-1.95 741Aor741COP. AMP ...... $ .31 lor power supply connector. 15.25 1.41.45056-4_00 1.41.45260-2.95 70ge OPEA. AMP. .. .., .25 MIl 51191 YELLOW.QREEN 307 OP AMP ...... , .25 BIPOLAR LED ...... 11.25 TTL IC SERIES CA 3047 HI PERF. OP AMp. .. , .85 MT·2 PHOTO TRANS ...... , .80 f4LOO- .26 7476- .35 CA 3069 FM IF SYSTEM ...... '3.25 RED. YELLOW. GREEN OR 7400- .14 7480- .48 340T·5, 8 , 12, 15, 16, 24V POS. AMBER LARGE LED's ... S .20 7401- . 15 7483- .75 REG . TO·220 ...... '1.20 1 4 PIN DIP SOCKETS . . , .35 7402- . 15 7485-1 .05 101 OPER . AMP. HI PERFORM . , .75 1 6 PIN DIP SOCKETS ...... , .38 7403- . 15 7486- .34 LM 308 Oper. Amp .. Low Power .. . . ,t.OS MOLEXPINS .. .. 100/11.00 7404- .18 7490- .49 747 - DUAL 741 . .. . • •85 1000"1.00 7405- .18 7491- .79 556 - DUALTIMER ...... , .85 8 PIN MINI DIP SOCKETS . .. . , .30 7406- .35 7492- .49 537 - PRECISION OP. AMP ...... '2.80 10 PIN TO·5 TEFLON PC SOCKETS . ' .80 7407- .33 7493- .49 540·70W POWER DRIVER ...... 12.50 7495- .74 10 WATT ZENERS 3.9 , 4.7. 7406- . 16 LM 3900 - OUAD OP. AMP. . ' .41 7409- . 18 7496- .79 12, 180R22V. .10 LM324-0UAD741 ...... '1.50 .. N., 7410- .15 74107- .34 560 - PHASE LOCK LOOP . . . . '2.50 tWAn 4 .7,5.6,10, 12, 7411- .25 74121- .38 561 - PHASE LOCK LOOP ...... ,UO 7412- .30 74123- .74 565 - PHASE LOCK LOOP $1 .50 7413- .45 74125- .54 566 FUNCTION GEN. .UO 7414-1 .45 74126- .54 567 - TONE DECODER ...... '1.50 PRV 1 A 3A 12A 50A 125A 7416- .33 74150- .92 LM 1310N FM STEREODEMOD .... '2.75 100 .06 .14 .30 .80 7417- .33 74151- .69 80361C VOLTAGE CONT. OSC .... 13.10 200 .07 .20 .35 1.15 4,25 7420- .15 74153- .79 LM370 - AGC SQUELCH AMP. . '1.15 7425- 27 74154-; .05 400 .09 .25 .50 1.40 6 .50 555 - 2 /Is - 2 HR . TIMER . ••53 7426- .24 74155-1 .05 553 QUAD TIMER ...... '2.50 600 .11 .30 .70 1.60 850 7427- .27 74157- .75 FCD6100PTO·150LATOR . ... , .80 600 .15 .35 .90 2.30 10.50 7430- .15 74161- .95 1458 DUAL OP . AMP...... ' .156 1000 .20 .45 1.10 2.75 12.50 7432- .24 74164-1 .10 LM 360 - 2W AUDIO AMP...... 80 REGULATED MODULAR 7437- .29 74185-1 .10 LM 377 - 2W Stereo Audio AmP . .. 12.50 7438- .29 74173-1 .35 LM 381 - STEREO PREAMP ...... S 1.00 POWER SUPPLIES 7440- .15 74175- .95 LM 362 - DUAL AUDIO PREAMP .. + - 15VOC AT 100m.l 7441- .95 74177- .75 311 - HI PEA. COMPARATOR . 115VAC INPUT ...... 24,85 7442- .59 74181-2 .30 5VDC AT 1 A. 115VAC INPUT ..... $24,85 7445- .79 74192-1 .10 12VOC AT .54 . . '2• •16 7446- .87 74193-1( .10 IN4146(1N914). . . .. 15111 .00 7447- .87 74194-1 .15 1103, 1024 bil RAM ...... $2.75 7446- .85 7419·S....!. '.7_ NEC 6003 2048 bll RAM ...... 11.00 7472- .28 74196- .95 1101256hitRAM . . '1.40 7473- .34 75324-1.75 7489 RAM ...... $2.30 7474- .35 75491-1 .10 7 POLE 1 THROW TO· 5 MINATURE 7475 .49 ROTARY SWITCH .. . ' .lI5 ALCO MINATURE TOGGLE SWITCHES MTA 106 SPOT . .. .. 11.20 UTA 208 OPOT . . '1.70 facturers found the advantages of standard may become intractable with large numbers tire sizes, and electronics manufacturers use of users. standardized integrated circuit parts, so too The fact of the matter is that people of there is a definite need for standardization in low moral character have few scruples about several areas of the personal computing copying a work which takes time, money industry if we are to achieve the convenience and effort to develop. One answer to the of interconnection of components which problem is to not write software at all . characterizes the modern high fidelity audio Another answer is to mass produce appl ica­ system. tions software at low prices so that software A step in the direction of standardization becomes the personal systems industry began when BYTE magazine sponsored an equivalent of a high fidelity record. In the audio recording standards conference last record industry, most people simply go out November, a conference which resulted in and purchase the record, thus credi ting the se lecting the provisional standard described artists and recording company with the in BYTE's February and March issues. As a royalty. The reason is that if you add up all continuation of this trend, BYTE is pro­ the costs - both moral and economic - the posing a second conference next fall to difference in price between a legitimate discuss experiences with the recording for­ recording and a pirated one is miniscule, or mat, including software data formats, as an in favor of the legitimate recording. It is not addi tion to the standard. Also needed is the clear yet how such mass production will specification of a standard 8 bit peripheral work out in detail, but the day of the ROM interface plug standard, which will become chip rack in a retail store, or a weekly the logical equiva lent of the RCA style software special on a cassette tape may not An audio turntable with phono plug used in audio equipment. There be far away. It is quite li kely that most of cuing controls is the only is a proliferation of central processor designs the software being sold at retai l in this way presently avai lable "poor on the market, so much so that the maker of will be for application packages which ar'e man's disk drive," should an applications oriented peripheral such as a written using software development tools of manufacturers and other music syn thesizer· black box, a burglar alarm limited distribution. The packages of widest black box, a TV graph ics generator, a hard market will most likely be relocatable object organizations choose to copy printer, a floppy disk system, or the code for particular applications on particular distribute audio encoded like has no way to ensure that his black box microcomputers; assemblers, interpreters information on long play­ will plug into everybody's computer regard­ and compilers may never become more than ing records. less of manufacturer. By providing a bundled packages distributed by standard 10 plug for 8 bit data quanta with manufacturers. interrupt and directional control as well as strobes, the industry ·can be expanded con­ Mass Storage Trends siderably. The more options people have The present day situation in mass storage with their personal computers, the more methods for personal computing is fair ly desirable is the product. primitive. The on ly wide ly distributed mass storage method is audio and direct digital Software Markets? recording on inexpensive cassette or reel to Another area which should be developed reel recording devices. These methods are is the software markets. It is not clear yet rei iable and accompl ish the goal of electro­ what thi s means. One item which we'll be magnetic off Iine recording, bu t they fall far adding to BYTE at some point in the future short of the random access requirement is a commerciall y oriented classified soft­ needed for a good information storage and ware advertisement wh ich will enable small retrieval system. operations to economically market software In order to fully accomplish the con­ packages. It is fairly obvious that in this venient personal computing function, there personal use market, with many individuals is a definite market need for an inexpensive on limited budgets, one aspect of software random access mass storage system. About which must be considered is price and mass the only way this can be done in expensively produc tion. A high fidel ity record, for right now is through the medium of phono­ instance, is mass marketed with a small but graph r'ecord technology app l ied to read nagging in cidence of piracy. If the price of a on ly copies of software packages represented stereo record were to double, the instances as audio recordings of digital information. of copying and piracy wou ld go even higher. The placement of the arm of the phono­ By analogy, software prepared for the graph on a particular band of the record, personal use mar'kets will not be sal able at using a cuing control, is a poor man's high prices in the same way th at large eq uiv alent of a disk drive access Mm . computer software packages are sold at high Here is what is need8d of inventors and prices. The problem of contract enforcement manufacturers: a budget version of the

94 ASCII KEYBOARD, brand new w/TI ASCII chip in place & data $45.00

COMPUTER GRADE LOGIC SUPPLY CAPS, BRAND NEW

47,000 Uf 25V $2.00 ST 1,000 50 .90 AL VIATRON terminal. Unused, consists of 32,000 25 1.75 ST 3,300 35 1.25 AL keyboard, micro-processor, control panel , 160,000 10 2.00 ST 1,600 20 .60 AL video display, 2 built-in tape decks, pow­ 66,000 10 2.00 ST 8,000 16 1.25 AL er supply. Operates on 115v AC 60 cycle. 1,000 60 .90 AL 500 6 .35 AL Unused but in storage for 4 years. Due to 2,000 55 1.00 AL "ST" screw top .... "AL" axial storage, may require some work. Sold "as 5 VO L T 1 AMP REG U LA TED power supply kit for logic work. All parts including is" FOB Lynn, Mass. Ship wgt. 160 Ibs. LM-309K $7.50 Has memory, automatic input/output un­ der program control, tape search, key DUMMY LOAD RESISTOR, non inductive, 50 ohm 5 watt $1 .00 verification, tape validation, etc. . "AA" NICAD CELLS brand new, fine biz for handy talkies 51 .25 ea. 9/$9.00 Send for informative data brochure. Lim­ ited quantity. $425.00 FOB Lynn, Mass. LINEAR by RCA, brand new, gold bond process

CLOCK KIT $14.00 301 $ .60 747 $ .82 MM5314 $3.00 Includes all parts with MM5316 chip, 307 .52 748 .50 MM5316 3.00 etched & drilled PC board, transformer, 324 1.80 1458 .96 7001 8.00 everything except case. 339A 1.60 3401 .80 SP-284 $14.00 each 2/$25_00 741 .50 555 timer .60

MEMORY SYSTEM $125.00 New memory system by Honeywell, smal l . .. measures only 9x4x 1 inches. 1024 core memory, 1024 words with 8,9,10 bits/word. Random access, with all logic, register, timing, control, core select and sense functions in one package. New, booklet of schematics and data. Looks like a good beginning for a mini-computer. Limited supply on hand. Ship wgt 3 Ibs. # SP-79 ...... $125.00

CORE MEMORY Another brand new memory, ultra small. Measures only 4 x 4 inches with format on one plane of 32 x 32 x 16 (16,384). Only about 35 units of this on hand. #SP-81 ...... $20.00

FREE CA TALOG SP-7 NOW READY Please add shipping cost on abo lI e. MESHNA PO Bx 62 E. lynn Mass. 01904

95 floppy disk in which compatibility with reader higher priced media format might be thrown out the window if necessary, and cost cu tti ng is the pri mary goal. The approaches service to cost cutting might include lowering data To get further information on the products advertised in BYTE, fill out the reader density to relax mechanical tolerances, use service card with your name and address. Then circle the appropriate numbers for the of slower access mechanisms, use of some advertisers you select from this list. Add a 9 cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the manual operations in place of electronically marketplace provided by BYTE. This helps us bring you a bigger BYTE. controlled ones, etc. The engineering of such an inexpensive device I will leave to the inventors; the requirement of inexpensive A75 Advanced Micro-E lectronics 59 A71 Micro Peripheral 59 random access mass storage is very real and A70 American Microprocessor 57 A57 MIKOS 81 will meet with a large market if the problem BYTE's Books 73,86 A20 Mikra·D 55 is solved. MITS CIV, 27 BYTE Subscriptions 53, 82 Other approaches to the on line mass A61 MOS Tech 11 A37 Celdat 73 storage problem, such as bubble memories Continental Specialties 13 A22 National Multiplex 49 A6 and CCD devices, may eventually be of some A41 Cromemco 1 A63 Parasitic Engineering 55 interest; but for the moment, cost is out of A7 Delta 83 A23 Polymorphic 35 A8 Dutronics 53 A24 Processor Technology 5, 15 the consumer market's range, and non elec­ A72 EDN 89 A26 Scelbi 7 trical off line copies are still needed when A9 Godbout 69 Scientific Research 57 the power fai ls. A69 HAL Communications 37 A27 S D Sales 87 A12 IMS CIII, 41 A59 Solid State Sales 93 Personal Systems A38 ISC 81 A29 Southwest Tech CII The general trend in hardware and soft· A15 James 91 A30 Sphere 17 ware which will lead to the most widespread A18 Meshna 95 A32 Tri Tek 85 availabi li ty of computing (and the largest future markets for companies who support *Reader service inquiries not solicited. Correspond directly with company. this trend) is toward a smoothly package d product which can be made to work with the minimum difficulty by any literate and thinking person. This is the black box BOMB: BYTE's Ongoing Monitor Box approach to computing, one which the true computer hobbyist finds foreign, but which BYTE would like to know how readers evaluate the efforts of the authors the person wi th ou t special engi neeri ng whose blood, sweat, twisted typewriter keys, smoking ICs and esoteric software abstractions are reflected in these pages. BYTE will pay a $50 bonus to the author talents or interests will purchase. When such who receives the most points in this survey each month. personal systems become widely available to the general public, the application of com­ eArticles you like most get 10 points, articles you like least get 0 (or puter technology to everyday problems will . negative) points - with intermediate values according to your personal scale of become widespread and large mass markets preferences, integers only. for applications programming products can eOnly one entry per reader. begin to develop. I am tal king here abou t a maturity of the small systems industry into a Page LIKED new equivalent of what happened at an No. Article LEAST BEST earlier time with the automotive industry. I 8 Simpson: A Date With KIM o 1 2 3 4 5 6 7 8 9 10 am also talking about a development of 18 Boudinot: n Source o 1 2 3 4 5 6 7 8 9 10 technological mass marketing which will 24 Eichbauer: ROM in uP Memory Address Space o 1 2 3 4 5 6 7 8 9 10 have an impact similar to the automobile in 28 Smith: More Information on PROMs o 1 2 3 4 5 6 7 8 9 10 its effects of opening up a multitude of new 36 Haller: Serialize the Bits .•. o 2 3 4 5 6 7 8 9 10 options for people through computing. 38 DeMonstoy: An Octal Front Panel o 2 3 4 5 6 7 8 9 10 There will always be the computer enthusi­ 42 Nico: SHOOTING STARS o 2 3 4 5 6 7 8 9 10 as t market, just as there is now and has always been a "speed" market for au to­ 50 Finger: Serial ASCII Word Generator o 2 3 4 5 6 7 8 9 10 motive specialty products. The people who 60 Nelson: "Chip" Off the Olde PDP-8/E o 1 2 3 4 5 6 7 8 9 10 are heavily involved in hardware and soft­ 70 Frank: Analog/Digital Conversion Techniques o 2 3 4 5 6 7 8 9 10 ware design and developing practical applica­ 74 Jewell: Simplify Your Homemade Assembler o 2 3 4 5 6 7 8 9 10 tions ideas will become the entrepeneurs and pu rveyors of products as the larger general February BOMB Results market develops. Who will become the Winner of the $50 prize for the most popular article in the February General Motors of the computing field? I 1976 issue of BYTE is W Douglas Maurer's "Processing Algebraic can't predict that by any means. But I will Expressions." Runners up in the voting were Robert Grappel's "My predict that there will be such a concern. It Dear Aunt Sally" and Don Lancaster's "Color TV Graphics." will be an interesting show to watch as the ne xt decade unfolds. - Feel free to photocopy this or any other page if you wish to keep your BYTE intact. 96 H you thought a rugged, professional yet affordable computer didn't exist, think IMSAI 8080.

Sure there are other commercial, high-quality computers that can perform like the 8080. But their prices are 5 times as high. There is a rugged, reliable, industrial com­ puter, with high commercial-type performance. And prices that are competitive with Altair's hobbyist kit. The IMSAI 8080. Fully assem­ bled, it's $931. Unassembled, it's $499, until May I-then $599. And ours is available now. In our case, you can tell a computer by its cabinet. The IMSAI 8080 is made for commer­ requiring 200 sold er connections. and 12K, that you can get in cial users. And it looks it. In side The IMSAI 8080 power PROM. And a new $139 4K and out! The cabinet is attractive, supply produces a true 20 amp RAM board with software heavy-gauge aluminum. The current, enough to power a full memory protect. heavy-duty lucite front panel has system. The Altair produces Find out more about the an extra 8 program controlled only 8 amps. computer you thought didn't LED's. It plugs directly into the You can expand to a exist. Get a complete illustrated Mother Board without a wire powerful system with 64K of brochure describing the IMSAI harness. And rugged commercial memory, plus a floppy disk con­ 8080, options, peripherals, soft­ grade paddle switches that are troller, with its own on board ware, prices and specifications. backed up by reli able debouncing 8080-and a DOS. An audio tape Send one dollar to cover handling circuits. But higher aesthetics on cassette input device, a printer, to IMS. The IMSAI 8080. From the outside is only the beginning. plus a video terminal and a the same technology that developed The guts of the IMSAI 8080 is teleprinter. These peripherals will the HYPERCUBE Computer where its true beauty lies. function with an 8-level priority architecture and Intelligent The 8080 is optionall y interrupt system. IMSAI BASIC Disk systems. expandable to a substantial system software is available in 4K, 8K Dealer inquiries invited. with 22 card slots in a sin gle printed circuit board. And the durable card cage is made of commerCia l- grade anodized aluminum. The Altair kit only IMS Associates, Inc. 1922 Republi c Avenue provides 16 slots maximum in four San Leandro, CA 94577 separate sections, each section (4 15) 483-2093