Byte Magazine Volume 00 Number 09 - Shooting Stars

This book was produced in EPUB format by the Internet Archive.

The book pages were scanned and converted to EPUB format automatically. This process relies on optical character recognition, and is somewhat susceptible to errors. The book may not offer the correct reading sequence, and there may be weird characters, non-words, and incorrect guesses at structure. Some page numbers and headers or footers may remain from the scanned page. The process which identifies images might have found stray marks on the page which are not actually images from the book. The hidden page numbering which may be available to your ereader corresponds to the numbered pages in the print edition, but is not an exact match; page numbers will increment at the same rate as the corresponding print edition, but we may have started numbering before the print book's visible page numbers. The Internet Archive is working to improve the scanning process and resulting books, but in the meantime, we hope that this book will be useful to you.

The Internet Archive was founded in 1996 to build an Internet library and to promote universal access to all knowledge. The Archive's purposes include offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format. The Internet Archive includes texts, audio, moving images, and software as well as archived web pages, and provides specialized services for information access for the blind and other persons with disabilities.

Created with abbyy2epub (v.1.7.0)

DT ^®H)© yp

MP-A processor card. A complete microcomputer system on a single

card. It features the "Motorola" MC6800 processor. The powerful

memory orientated processor that is rapidly becoming the standard

of comparison in the industry. Also on this board is the MCM6830L7

u Mikbug ROM, MC681 ORAM and the MC14411 baud rate generator.

The crystal controlled master clock oscillator and tri-state data bus

drivers complete the board. Everything works from a single 5.0

Volt supply. ft/1D .

Mp-A $145.00

MP-M main memory card. This circuit board contains twoblocks of 2,048 words of memory. Each part has its ownsupply regulator and can operate independently of the otherhalf. The memory chips are the proven reliable 2102 statictype. They are capable of cycling fast enough to allow fullspeed operation of the processor at all times. No waiting forrefresh cycles and no problems with "flakey" memories. Onlya single 5.0 Volt supply required.

MP-M $125.00

Chassis, mother board

r^ and power supply. Ano-

" Is, V ^ ./•^B ^r dized cabinet with perfor-

^1 aM%2 arSO^r ated cover for cool operation.

t'JSKr Te" amP power supply will

^jjffly power fully expanded system of

^L/ ~2r UP t0 s'x memory cards and eight

interface cards.

MP-B-Mother Board $40.00

MP-F-Chassis $30.00

MP-P-Power Supply $35.00

T© IK ©C^S/AT

MP-C serial control interface. Thisprogrammable interface may be usedto connect the computer to either avideo terminal or TTY current loopsystem. Directly compatable witheither system. No hardware changes.MP-C $40.00

m©@

(g©

[CD)

Computer Systemwith serial interface and 2,048 wordsof memory $395.00

Mikbug® is a registered trademark ofMotorola Inc.

□ Enclosed is $395 for my SwTPC Computer Kit □ Send DataDorBAC #

□ or MC Ex Date

ADDRESS

CITY STATE ZIP

Southwest Technical Products Corp., Box 32040, San Antonio, Texas 78284

M

it^-Hf <l>u«- .>••'■•« *■•'■*'*"* •-•-^—.w B-i

[11111

M BYTESAVER

l*«

JM|M

i.: ■-'■

til"**'

Supplied with one 2704 PROM

containing special software

transfer RAM content to

PROM and PROM

to RAM.

How to save your programs—

and have a PROM programmer, too

Cromemco's popular BYTESAVER™memory board gives you two of themost-wanted features in microcomputerwork:

(1) a simple, easy way to store yourcomputer programs in program-mable read only memory(PROM).

(2) a PROM memory board withthe capacity for a full 8K bytesof PROM memory storage.

ECONOMICAL

The BYTESAVER™ is both a placeand a way to store programseconomically. It transfers programsfrom the non-permanent computerRAM memory to the permanent PROMmemory in the BYTESAVER™ . Onceyour program is in the BYTE-SAVER™ , it's protected from powerturn-offs, intentional or accidental. ThePROMs used with BYTESAVER™ areUV erasable and can be used again andagain.

The BYTESAVER™ itself plugsdirectly into your Altair 8800 orIMSAI 8080.

PROM PROGRAMMER

Many people are surprised to learnthat in the BYTESAVER™ you alsohave your own PROM programmer. But

it's so. And it saves you up to hundredsof dollars, since you no longer need tobuy one separately.

The built-in programmer is designedfor the 2704 and 2708 PROMs. The2708 holds IK bytes, four times thecapacity of the well-known older 1702PROM (yet cost-per-byte is about thesame). The 2708 is also fast — it letsyour computer work at its speedwithout a wait state. And it'slow-powered. With 2708's in all 8sockets, the BYTESAVER™ is stillwithin MITS bus specifications,drawing only about 500 mA from the+8V bus. A complement of 2708PROMs gives the BYTESAVER™ itsfull 8K capacity.

HOLDS LARGE PROGRAMS

The BYTESAVER's™ 8K-byte

capacity lets you store the larger andmore powerful programs. 8K BASIC,for example, easily fits in theBYTESAVER™ capacity of 8 PROMs.One 1K PROM will hold many gamessuch as Cromemco's DAZZLER-LIFEor DAZZLE-WRITER.

NO KEYBOARD NEEDED

The BYTESAVER™ comes withspecial software programmed into a2704 PROM. This software controlstransfer of the computer RAM contentto the BYTESAVER™ PROM.

So you are ready to go. You don't

even need a keyboard. Just set thecomputer sense switches as instructedin the BYTESAVER™ documentation.

Transfer of memory content toPROM ("burning") takes less than aminute. The BYTESAVER™ softwarecontrols computer lights to verifycomplete and accurate transfer ofmemory content.

The software also programs any ofthe other 7 PROM positions in theBYTESAVER™ as readily as the first.

And when used to transferinformation from the BYTESAVER™PROMs to RAM, the special design ofthe software allows loading a largeprogram such as 8K BASIC in onesecond.

AVAILABLE NOW - STORE/MAIL

The BYTESAVER™ js so|d atcomputer stores from coast to coast. Ororder by mail from Cromemco.Cromemco ships promptly. You canhave the BYTESAVER™ in yourcomputer within a week after yourorder is received.

BYTESAVERTM kit $195

(Model 8KBS-K)BYTESAVER™ assembled .... $295

(Model 8KBS-W)Shipped prepaid if fully paid with order.California users add 6% sales tax.Mastercharge and BankAmericard accepted

with signed order.

Q CromemcoSpecialists in computer peripheralsOne First St., Los Altos, CA 94022 • (415) 941-2967

o—[I

MAR ~\S=i>

"o "lc=o

TEMP |<=^>

0(

MULTIPLEXER

3^

~i

^

RESET.RUN/HALT,3 0MAREO,INTREO,CPREO

XTA.XTB.XOMAGNT,RUN,INTGNT,

IFETCH,OATAF

-^-{

page 8

In This BIT!

Richard Simpson describes his firstDate With KIM, the new product fromMOS Technology which comes assem-bled and ready to use. This product,which is the basis of his system, marksthe first direct entry of a semicon-ductor manufacturer into the personalsystems field.

Are different microcomputersequivalent? In n Source, RD Boudinotpresents some excellent backgroundinformation on multiple sources ofcomponents and systems, the mixingof products from different manu-facturers and methods of evaluatingproducts for use in a personal com-puting system.

Of what use is a nice friendlypermanent memory? Dale Eichbauercontributes some ideas on the use ofRead Only Memories in Microcom-puter Memory Address Space.

Previous articles have covered pro-gramming and uses of some of thesimpler fusible link read only memo-ries. But how about erasable ROMs?Roger L Smith provides some MoreInformation on PROMs including amethod of programming the widelyavailable 1702 parts.

One way to get a hard copy termi-nal is to use a receive only Teletypeunit. Using an inexpensive ASCII key-board and a UART circuit, Dr GeorgeHallcr shows how to Serialize the BitsFrom Your Mystery Keyboard andachieve the same function as a key-board send receive Teletype for abouthalf the cost.

Dissatisfied with toggle switches?Use An Octal Front Panel similar toHerman DeMonstoy's design toreplace toggle switches with an octalkeyboard.

INTERNA!. CONTROL LINES

EXTERNAL INPUTS OR OUTPUTS

DATA LINES

LXMAR,

MEMSEL,

OEVSEL.

.INES 5WSEL,

K1CPSEL

page 60

You'll be SHOOTING STARS in a

fascinating logical game when youimplement a version of Willard Nico'sprogram on your computer. On thecover is artist Robert Tinncy's impres-sion of a SHOOTING STARS addict.

A simple signal generator mightsuffice for a radio man, but testing ofcomputers and data communicationshardware can require more sophis-ticated equipment. One such item is aSerial ASCII Word Generator such asthe design Ronald Finger describes.

How do you take advantage of adecade of software experience? Oneway is to emulate another computer'sarchitecture as Intersil has done withits IM6100. Robert Nelson describesa "Chip" Off the Olde PDP-8E in thisfirst part of a two part article.

Can a computer measure voltageswithout hundreds of dollars worth ofhardware? Of course it can. The secretis to use Microprocessor Based Analog/Digital Conversion Techniques of thesort described in Roger Frank's articleon a very basic interface.

One of the keys to creating anassembler is defining exactly what theinput source language will look like.An appropriate choice which simplifieswriting the assembler will greatlyspeed up the process of implementingthe program. In his article on thesubject, Gregory Jewell shows how toSimplify Your Homemade Assemblerusing techniques which are applicableto most microcomputers.

In the Queue

BITE #9

MAY 1976

staff

28

3638425070

818246074

Foreground

MORE INFORMATION ON PROMs

Hardware — SmithSERIALIZE THE BITS FROM YOUR MYSTERY KEYBOARD

Hardware — HallerAN OCTAL FRONT PANEL

Hardware — OeMonstoySHOOTING STARS

Applications — NicoBUILD A SERIAL ASCII WORD GENERATOR

Hardware — FingerMICROPROCESSOR BASED ANALOG/DIGITAL CONVERSION

Interface Techniques — Frank

Background

A DATE WITH KIM

New Product — SimpsonNSOURCE

Systems — BoudinotROMs IN MICROCOMPUTER MEMORY ADDRESS SPACE

Systems — Eichbauer"CHIP" OFF THE OLDE PDP-8/E: THE INTERSIL IM6100

Hardware — NelsonSIMPLIFY YOUR HOMEMADE ASSEMBLER

Software — Jewell

Nucleus

2

In This BYTE

4

Trends in Applications

14

Letters

35

Classified Ads

41,58

What's New?

54

Clubs and Newsletters

56

BYTE's Bugs

84

Puzzle Time, Space Ace Answer

88

Book Review

96

BOMB

96

Reader's Service

PUBLISHERS

Virginia Peschke

Manfred Peschke

EDITOR

Carl T Helmers, Jr

GENERAL MANAGER

Manfred Peschke

PRODUCTION MANAGER

Judith Havey

PRODUCTION ASSISTANT

Elizabeth Alpaugh

CIRCULATION

Deborah R Luhrs

PUBLISHERS ASSISTANTS

Cheryl Hurd

Carol Nyland

Deena Zealy

ADVERTISING

Elizabeth Alpaugh

Virginia Peschke

TYPOGRAPHY

Custom Marketing Resources, Inc

Goodway Graphics

Mary Lavoie

Taimi Woodward

PHOTOGRAPHY

Ed Crabtree

Custom Marketing Resources, Inc

ART

Bill Morello

PRINTING

Custom Marketing Resources, Inc

The George Banta Company

ASSOCIATES

Dan Fylstra

Don Lancaster

Harold A Mauch

Chris Ryland

BYTE magazine is publishedmonthly by BYTE Publica-tions, Inc, 70 Main St, Peter-borough, New Hampshire03458. Subscription rates are$12 for one year worldwide.Two years, $22. Three years,$30. Second class postage paidat Peterborough New Hamp-shire 03458 and at additionalmailing offices. Phone603-924-7217. Entire contentscopyright 1976 BYTE Publica-tions, Inc, Peterborough NH03458. Address editorial cor-respondence to Editor, BYTE,70 Main St, Peterborough NH03458.

Trends in Applications

Editorial by Carl Helmers

Prognostication is like anoperational amplifier sys-tem .. .

A computer system can beused to perform an oldtask using a new approachwhich requires less per-sonal effort or work.

[This editorial is takenfrom the text of a talkpresented at the recent"World Altair Convention"held by MITS Inc in Albu-querque NM.J

Where is the small computer field headed?In order to talk about the future of smallcomputers and their applications, I have totake on the role of a prognosticator, a pre-dictor of future trends and events. Prognos-tication is an art to which mystical ormagical qualities are often attributed, butwhich in reality is nothing more than a com-bination of reasoning and imagination basedupon observation. The injection of imagina-tion about possible trends and developmentsmakes prognostication a bit different from anarrow linear extrapolation of identifiedtrends. The imagination component isheavily influenced by personal values andphilosophies, and represents a feedback ofoughts and shoulds into the course of eventsas they develop. Prognostication is thus amethod of extrapolating observed currenttrends into the future coupled with theprognosticator's opinions of what should behappening. In the terms of the scientist orengineer, prognostication is like an opera-tional amplifier system in which the inputsignal is the observed set of trends and thefeedback network is the prognosticator'spersonal philosophy and imagination. Forexample, in predicting the fate of civilization,if one is a congenital pessimist like themembers of the Club of Rome, then the pre-dictions will come out claiming disaster andruin. If one is an optimist about the expand-ing possibilities created by advancing tech-nology, then a totally different character ofprediction will result. When you listen towhat I have to say, be warned that I have adefinite personal point of view regardingcomputer technology and its proper uses,and that this shapes the nature of theimagination content and the trends I selectto emphasize.

A Point of View

The point of view from which I buildmy conceptual model of a possible futurestate of the computer world is the view thatthe individual person is the most importantcomponent part of the human species. It isan observed fact that every great advancemade in scientific progress, every great workof art, and every notable human achieve-ment is the result of the work of individualhuman beings, whether or not the ultimatesource of the idea, work or achievement canbe identified. What is true for the notableaccomplishments is just as true for the ones

which may not be individually recorded inhistory books. It is the individual humanbeing with responsible self interest at heartwho discovers new ways to handle old prob-lems, invents new problems and their solu-tions, creates works of art and leads to animproved way of life. My views of the trendsin computing are thus oriented to the waysin which computer systems technology canprovide a better and more comfortable exis-tence for you — the individuals who are inthe knowledgeable vanguard of the newtechnology of personal computing. In asense, one of the most exciting aspects ofthe present time is the prospect that we -you, I, the rest of civilization — are in theearly stages of one of the "golden ages" ofthe planet's history, a time when art andscience are flourishing throughout the moreadvanced segments of the civilization. Com-puting is one important characteristic of thiscurrent age.

What Are Computers Used For?

So much for the preface. Just what arecomputer systems used for? How will thecharacteristics of these uses develop as aresult of the constant improvement of hard-ware and software techniques? At the high-est level, I can identify two major facets ofthe computer system's application:

• A computer system can be used toperform an old task using a newapproach which requires less personaleffort or work.

• A computer system can be used toaccomplish new tasks which were pre-viously unattainable without the"intelligence" of the processor with itsstored programs and conditionalexecution.

In any given application, there is not neces-sarily a sharp distinction between the twofacets of the computer's use. But this viewilluminates two interesting aspects of thetechnology, and can be used in the analysisof a computer's importance to an applica-tion. A couple of extreme examples willillustrate what I mean by these facets ofcomputing.

A good example of an old task which canbe expedited considerably by use of a com-puter system is the personal accounting taskof balancing a check book. In the modern

FreedomTo The Attair!

„- ~ _

l_t

3P-t S

TVterminal

-►

tape punch

Often, the most difficult and expensive aspect of bringing up a workingsystem 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, thissingle, versatile card could very well handle all the input/output needs ofyour 8800 system. The 3p , s has two 8_bjt para||e| l/Q portSj with

full handshaking logic, plus a serial I/O port with a datarange that can be set anywhere between 35 and 9600Baud. Shown on the left is just one demonstration of thetotal flexibility of the 3P + S.

One parallel output port can be used to set upcontrol conditions for both parallel and serial ports, as wellas for setting the serial I/O baud rate under programcontrol. One parallel input port is available for polling theInput Data flags and External Device flags, and for checkingthe serial I/O error flags.

Addressing of the module is selectable to any of64 four-address segments within the range of 256 I/Oaddresses. Add another dimension of flexibility by usingeither the (JART and control port, or the two parallelports, to occupy the lower two relative addresses.S is the only module that will allow 1.5 stop bits, required by the oldteletypes such as the 15, 28, or 33 TTY's.

paper tapereader

1

103modem

keyboard

1

phoneline

The3P(and less expensive!) model

Our 59-page descriptive 3P + S Owner's Manual, with detailed schematics andapplications, is available for $4.00 (fully refundable upon purchase of a 3P I S).Kit Prices, with premium grade, low profileIC sockets, $135; without IC sockets, $125.

Write Us, for details on our othercompatible 8800 plug-in modules. j \\ * A TStW lll~M~"M#~kJ~t\.f

6200-Y Hollis StreetEmeryville, CA 94608

A computer system can beused to accomplish newtasks which were previ-ously unattainable withoutthe "intelligence" of theprocessor with its storedprograms and conditionalexecution.

A computer system is acentral requirement forthe control of whiz banghardware and the logicalprogress of a gamealgorithm.

American way of life, the check book is oneof the most ubiquitous of personal financialinstruments. Unless you live dangerously,you balance that check book once a month,whenever the bank statement comes. Themethod of balancing a check book is a bor-ing procedure which is well defined andnearly universal in its use. By employing acomputer system, this boring procedure canbe expedited through automation. Themethod is to use a program with interactivecharacteristics to enter the data, perform thearithmetic, and — if you have hard copy —give you a record of the transactions onpaper. Using such programs, the accuracy ofthe check book can in general be improvedand the time required each month can beconsiderably reduced. This reduction in timewasted on check books can be put to use inother more enjoyable tasks, thus improvingyour state of well being and happiness. Theessence of this type of a computer applica-tion is use of the system as a "busyworkeliminator," a term I first heard applied by along time friend, Ken Hardwick. The busy-work is more efficiently performed throughautomation, thus minimizing the humandemands of the work.

An example of the new task which couldnot previously have been accomplished isprovided by every highly automated inter-active game which is developed and run on acomputer system. There is no way that youor I could have played Space War or StarTrek, or a host of other games, without acomputer to store the logic, the responsesand histories of the player's performance inmultiple games. (An aside: One could playthe games by manually executing the logic,but that would be an onerous task beyondthe patience of most normal people.) Herethe computer system is a central require-ment for control of whiz bang hardware andlogical progress of the game algorithm. With-out a speedy and intelligent little "Maxwell'sdemon" to control the flow of electrons,you would be unable to play these games atall.

A Short and Incomplete Encyclopedia ofApplications

The application of a technology such ascomputer systems by individuals dependsupon price reductions to the point wherepeople can afford the systems without goingbankrupt. The first major breakthrough inthis area was provided by our hosts today,MITS Inc, with the Altair 8800 introduced amere 15 months ago. To quote the market-ing blurbs, now that the "age of the afford-able computer" has arrived, individual appli-cations are possible. Here is a short andincomplete encyclopedia of contemporary

applications ideas, the inputs to the prognos-tication process.

Relieving Onerous Tasks

Here the emphasis is primarily upon the"busywork eliminator" aspect of computersystems; however, in many cases additionalfunctions are added to the basic task tomake the result a more comprehensive solu-tion to the problem.

April 15 comes in a few short weeks.Have you ever considered the prospect of anautomated tax preparation process? Theminimal automation is that of bookkeepingand records coupled with the calculationalcapabilities of your computer. More elabor-ate aids to recovering as much money aspossible is the use of your computer tomodel the various ways of combining deduc-tions and options such as income averagingso that the tax you pay is reduced to theminimum within the currently applicablerules. (You can also pull off a bit of "cyber-crud" intimidation the next time the auditorcalls: "Well, sir, my computer is program-med according to your rules, so it must beright.")

One of my major problems is keepingtrack of my record library. I like to listen toclassical music of the 18th, 19th and occa-sionally the 20th centuries. I have a recordshelf which is heavily burdened with my col-lection, and no way (outside of imperfecthuman memory) at present to tell whether Ialready have a record or not when I am in arecord store. As a result, my collection hasseveral unfortunate duplications. An even-tual application for my own home computersystem will be the generation of a personalrecord catalog which I can bring with mewhen I go to record stores for a buyingspree. The work involved in setting up a filecard version of the system is so large that I'llnever do it; but using my computer to keeptrack of the library, I can automaticallygenerate an updated list after each trip tothe record stores around Boston.

How many times have you thought aboutthe problem of mailing lists? If you are in-volved in a computer club's newsletteroperation, the problem is probably at theforefront of your consciousness wheneverthe newsletter is mailed; but lists are usefulfor a number of personal purposes as well.Do you partake in the sending of greetingcards which occurs each year? If you do,automation of the list of card recipients willgreatly improve the time efficiency of thatoperation (although some purists might sayit lacks a certain "personal" touch). Mailinglists and files of commonly used addresses

Continued on page 90

Introd

r

You're the captainof a crusading starship againstthe logic of your "8008" or "8080". YouTmission: search-and-destroy a random numberof alien ships, without running out of time, outof fuel, out of ammunition or out of the galaxy.Your galaxy consists of 64 quadrants, in whichthere are 64 sectors. You must plan yourmission to destroy all aliens. But, every timeyou move you lose a stardate and preciousfuel. Don't run into a roaming star that coulddamage your ship! And, don't forget howmuch fuel your warp factor uses! Suddenly,Condition RED! Alien in sight! But, you don'tknow how big he is. Fire a phasor or torpedo?He's damaged or destroyed. But, you've usedup valuable fuel. Does he fire back? How

ICELBI COM! Ill El*CONIUIXING INC.

about the fuel used for your protectiveshields? Be careful. You're runningout of time and fuel! But, don'tgive up hope. There are refuelingstations out there. It's your jobto maneuver logically, strategically,carefully to complete your mission.Here's the multidimensional microcomputergame you've asked for. It's got everythingyou need for exciting intergalactic adventure.A total program in book form in machinelanguage, for 4K memory: flow charts,illustrations, and more. The program givesyou a new, different game every time. Orderyour copy of SCELBI's GALAXY GAME BOOKtoday. Only $14.95 ppd. Use Master Charge.Then blast off on yourown mission in the galaxy.

ONLY

1495

ppd.

1322 Rear BostonMilford, CT 06460 •

Post Road203/874-1573

Pricing, specifications, availability subject to change withoutnotice. Prices for U.S. and Canadian delivery at book mailingrate. Add $2.50 for each publication if Priority Air Service(U.S.) desired. Overseas include $5.00 for each publication forAirmail service.

Photo 1: When you firstopen your KIM-1 box, yousee a thick layer of docu-mentation, including alarge wall chart of I hesystem's hardware details,an MCS650X InstructionSet Summary card, KIM-1User Manual, ProgrammingManual and HardwareManual. Also shown in thispicture is the KIM monitorlisting copy which must berequested separately and isa must if you are to takeadvantage of KIM's sub-routines in applicationsprograms.

A Date with KIM

Richard S Simpson

314 Second Av

Haddon Heights NJ 08035

Here it is! In the November 1975 BYTE,Dan Fylstra reviewed the capabilities of theMOS Technology 6501 microprocessor chipin an article titled "Son of Motorola" (page56). The article stated thai "it will be threeto six months before you sec (a 6501)designed into a kit. . ." Well, MOS Tech-nology has gone one better and introducednot a kit, but a completely assembled, testedand warrantced microcomputer with a pricetag of only $250! Using the 6502 processorchip (a 6501 with an on-chip clock), themicrocomputer features I K of RAM, 2 K ofROM containing the system executive, acomplete audio cassette interface, a serialterminal interface, 15 bidirectional 10 lines,a 23 key keypad and a six digit LED display.This completely assembled one board com-puter has all the programming features ofthe 6502 at a very competitive price.

If you have been hesitating over buying amicrocomputer because of the difficulty ofassembly and the fear that it won't workwhen you're finished, KIM-1 is for you. Theonly assembly required is to attach six selfadhesive plastic feet to the back of the

KIM-1 printed circuit board and attach a+5 volt, 1 ampere power supply to the 44pin edge connector provided. You'll alsoneed a supply of +12 V for the cassetteinterface; but a handful of flashlight bat-teries should work fine since only about50 mA of +12 V is required, and that onlywhen the interface is being used.

The name KIM is an acronym for Key-board Input Monitor. The name really des-cribes the ROM executive routines, not thewhole unit, but it's a pleasant change fromthe manufacturer's name followed by anumber. It's also significant that the systemderives its name from its software.

The KIM-1 board can be operated in oneof two modes: using the on board keypadand LED display, or using a serial terminal.The keypad and hexadecimal display isinfinitely easier and less error prone thanthrowing toggle switches and reading resultsfrom binary lamps. In fact, for programentry and many simple applications, I preferthe 23 key keypad and bright LED displayto my slow, noisy Teletype. The keys have agood, positive "feel" to them (MOS Tech-

Photo 2: The KIM-1 proc-essor as it is removedfrom its box. The MOSTechnology productcomes in a neat packagewhich has one foam pad-ded and static protectedKIM-1 board as its bottomlayer.

nology should know about such things, sincethey are a major manufacturer of chips forcalculators).

The switch in the upper right corner ofthe keypad puts the machine in singleinstruction (not single cycle) mode. Whenthe switch is "on," each depression of the"GO" button causes a single instruction ofyour program to be executed. Control isthen returned to the executive program inROM and the contents of all six machineregisters (PC, X, Y, S, P, and the accumula-tor) are stored in fixed memory locationswhere you can easily examine them throughthe keypad or terminal and then "GO" tothe next instruction. This is an importantcapability, since if you just halt a micro-processor after each instruction there is noway of examining the registers (they're allinside the chip!).

I won't go into any detail on the instruc-tion set (see Dan Fylstra's article for that)except to say that it is comprehensive. Thevariety of addressing modes makes complexprogramming (especially when processinglists) a lot easier. The 6502 architecture hasno 10 register or IO instructions, so anymemory location can become an 10 "port" ifyou build the hardware for it. KIM comeswith a built-in 15 line bidirectional 10interface. TTL levels are acceptable, ofcourse, and one of the lines can supplyenough current (5 mA) to directly drive apower transistor. The manual shows how touse it to drive a small speaker for "micro-processor music" programmed in a manner

similar to the Kluge Harp of October BYTE(page 14). Each line can be separately pro-grammed for input or output by writing astatus word into the correct memorylocation.

The cassette interface is carefully thoughtout and should be foolproof. Half of theexecutive ROM is devoted to the cassetteinterface software, which includes rudimen-tary file management and sophisticated pro-grammed equivalents to UART operation.This software allows multiple dumps to asingle cassette. A header written on eachoutput segment allows you to say, in effect,"find me program number 34 on the tapeand load it starting at location.. ." A check-sum is stored at the end of each segment andthe user is immediately informed if thecomputed checksum doesn't match when thetape is read back in. You can even recordvoice data between segments of digitaldata — the interface will ignore the voice.This feature could be used to verbally recordthe instructions for a game and then auto-matically load and run it. Both high and lowlevel outputs are provided to interface withany type of cassette recorder. It's not a vitalfeature, but it indicates the care with whichthe entire system has been thought out.

The TTY interface is for a standard20 mA current loop (figure 1 shows how Imodified it for an RS-232 interface). Aunique feature of the software is automaticdata rate detection. As soon as the system ispowered up, the user types a RUBOUTcharacter on his terminal. The software

If you have been hesitatingover buying a micro-computer because of thedifficulty of assembly andthe fear that it won't workwhen you're finished, thenKIM-1 is for you.

KIM-1 derives its namefrom the software, a sig-nificant indication of theimportance of good usersupport programs.

9

RS-232CONNECT

20mA CURRENT LOOP TORS-232 CONVERSION

KIM-I

APPLICATION

CONNECTOR

I.3K

2

4N33

5

d

p>

3 o—

DATA ►

JTn9I4

K

)

—° T

+ DATA

1

4

+ 5

2K

5

4N33

1

—o R

—° U—o 1

k

D

. i

(

,,

2

X

Jr

Figure I: One way to in-terface KIM-I with anRS-232 compatible ter-minal is illustrated in thisdiagram. Opto isolators areused to accomplish thecoupling. The RS-232 pins1, 2 and 3 will be suffici-ent for terminals which donot involve handshaking;on some terminals, pins 5,6, 8 and 20 of the stand-ard RS-232 plug may haveto be tied together tobypass handshaking sig-nals.

calculates the data rate (anything from 110to 1200 baud is acceptable) and auto-matically adjusts all further conversation tothat rate. No additional timing standards orswitches are required for the interface.

The real beauty of the terminal interfaceis in the software, not the hardware. Onrequest, MOS Technology supplies a com-plete listing of KIM. All the executive ROMsoftware subroutines are documented andavailable to the user referencing this well-commented listing. Thus, to print the con-tents of the accumulator in hex on theterminal requires a simple one-instructionsubroutine call. Those readers who have hadto invent their own terminal interface soft-ware will have a deep appreciation for thiscapability. Similar subroutines are providedfor reading characters from the terminal orkeypad, printing one or a siring of ASCIIcharacters, or writing digits in the LEDdisplay.

To round out the terminal interface,software is provided in ROM to read andpunch paper tape if your terminal is soequipped. Again, care has been taken toprovide checksums on the punched tapewhich is automatically verified when thedata is reloaded. This kind of attention todetail reflects the high caliber of the MOSTechnology offering. One reason for this isthe fact that MOS Technology sells a size-able portion of the KIM units to industrialusers. This policy of building to industrialrather than consumer standards is alsoevident in the quality of the PC board, the

PC artwork, and the fact that the board iscoated with a solder mask, a plastic coatingwhich protects the printed wiring. Tofurther emphasize their faith in KIM, MOSTechnology gives you a 90 day warranty onthe entire KIM system, not just the com-ponents. Mail-in repair service is availableeven after the warranty expires.

Interval Timer

Another feature of KIM which is findingits way into more and more microprocessorsis the inclusion of a program controlledinterval timer. The KIM board actuallycontains two programmable timers, but oneis dedicated to control the keypad andcassette interface. Any count from 1 to 256can be loaded into the timer by writing tothe timer's memory location. The user cancontrol the scale of the timer by pro-gramming it to count every clock pulse or tocount every 8th, 64th, or 256th clock pulse.This prescaling of the counter is done bydecoding the last two address bits for thetimer. Thus, the time scale is controlled bywhich memory location is loaded with thecount. You might consider using a similarscheme whenever you have to write morethan eight bits to control an external device:Just use the least significant address bits asdata.

When the timer has counted down tozero, a software interrupt is generated, noti-fying the program that "time has run out."As soon as the interrupt is issued, the timercontinues to count past zero (into negativenumbers) at the clock rate. If the program isservicing other interrupts, it can read thecounter register to determine how long ago(in machine cycles) the timer interruptoccurred.

Memory Expansion

If you are interested in expanding theKIM memory beyond the I K provided,you'll be glad to know that all the decodingfor the first 4 K is provided right on the KIMboard. All you need to provide is 4 K moreof RAM chips and some buffers.

There arc two connectors on the KIMboard; one called the expansion connector isfor adding memory and bus oriented devices.The second connector, called the applicationconnector, interfaces directly to the outsideworld. The expansion connector has all theaddress, data, and memory control signals.The application connector terminates thelines for the audio cassette, the terminalsend and receive signals, and the 15 10 lines.Connections are also provided so that thekeypad can be removed from the KIM boardand mounted elsewhere, a useful feature if

10

KIM-1

microcomputei

A COMPLETEMICROCOMPUTER

ONLY $245

NOT A KIT!

• FULLY ASSEMBLEDFULLY TESTED

. FULLY WARRANTED

OPERATES WITH

KEYBOARD & DISPLAY

• AUDIO CASSETTE

• TTY

KIM-1 INCLUDES

i HARDWARE

KIM-1 MODULE WITH6502/jP ARRAY6530 ARRAY (2)1 K BYTE RAM15 I/O PINS

. SOFTWARE

MONITOR PROGRAMS(STORED IN2048 ROM BYTES)

• FULL DOCUMENTATION

KIM-1 USER MANUAL

SYSTEM SCHEMATIC

6500 HARDWARE

MANUAL

6500 PROGRAMMING

MANUAL

6500 PROGRAMMER'S

REFERENCE CARD

USE THIS FORMTO ORDER YOUR KIM-1 TODAY!

IB-5

Send to:

■I

Please ship me_

KIM-1 Systems at a cost of $245.00 per system plus $4.50 for

MOS TECHNOLOGY. INC.KIM-1, 950 Rittenhouse Rd.Norristown. PA 19401

shipping, handling and insurance (U.S. and Canada only) PA residents add 6% sales tax.

(International sales subject to U.S. Commodity Control Regulations.Add $20.00 per system for shipping and handling of international orders.)

My check or money order is enclosed for $

Name

Address _City

Zip_

J

11

Photo 3: Wiring for StandAlone Use. With due re-spect to the instructions inthe KIM-1 user's manual,and addition of some mis-cellaneous parts, the re-sults will be a wiring har-ness similar to that shownhere. Wires have beenattached and labelled forGND, +5 volts and +12 V.The audio cassette inter-face has been brought outto an RCA-style phonojack assembly purchased ata retail electronics store,along with interconnectioncables for the recorder in-put and output. This setupenables the user to enterand test out programsthrough the KIM-1 controlpanel and LED display.

you want to wrap up the KIM printed circuitboard in sheet metal along with a powersupply.

Documentation

The documentation which comes withKIM is thorough and comprehensive. Anyregular reader of BYTE should have notrouble following the details of the 200 pageprogramming manual. There are plenty ofexamples; and the explanation of the opera-tions which occur in each machine cycle ofmulticycle instructions, while not essential,is very instructive. Special sections of themanual are devoted to interrupt handlingand use of the stack pointer. This is vitalinformation often glossed over in othermanuals.

I have to admit that I have not yetdigested all the information in the 150 pagehardware manual which came with my KIM,since my main interest is in programming mysystem as soon as possible. However, themanual seems to have a solid emphasis on 10interfacing and usage of the control lines.

The third manual provided is the actualKIM user's manual. This 100 page documentexplains how the keypad, cassette interfaceand terminal interface are to be used. It gives

a few basic programming examples, includ-ing an example which goes through theentire design of a simple application usingthe IO lines. My only complaint is that nosample program was provided for the use ofthe programmable timer or the ROM execu-tive subroutines. Also, the listing of KIMshould have been supplied as a standarditem.

Also included in the package is a pocket-reference card for the instruction set and awall size schematic of the entire KIM board.Two other useful documents are availablefrom MOS Technology on request. One isthe manual for the 6500 cross-assembler,which is available on several commercialtime-sharing systems. The other is the well-commentcd listing of the executive programsstored in ROM as mentioned earlier.

In summary, the KIM is an excellentmicrocomputer requiring no assembly andwhich is very attractively priced. The onlyauxiliary equipment required is a powersupply and a cassette recorder. The manualsare among the best available and the built-inkeypad and display make KIM easy to getstarted with. The terminal interface and easeof memory expansion make it easy toupgrade as your requirements increase. Makea date with KIM - you'll enjoy it! ■

12

IF YOU'RE NOT DESIGNING

WITH ACSC proto-board;look

AT ALL YOU'RE MISSING

Utility—Models are availablewith or without built-in regulatedpower supplies (fixed oradjustable;

Accessibility—All parts areinstantly and easily accessible, forquick signal tracing, circuitmodifications, etc.

Economy—Eliminate heat andmechanical damage to expensiveparts. Save money by re-usingcomponents.

Versatility —Use with virtually alltypes of parts, including resistorscapacitors, transistors, DIP'S.TO-5's, LED's. transformers,relays, pots, etc. Most plug indirectly, in seconds.

Durability—All Proto-Boardmodels are carefully constructedof premium materials, designedand tested for long, trouble-freeservice.

Expandability— Proto-Boardunits can be instantly inter-connected for greater capacity.

Visibility—All partsare instantly and easilyvisible, for quick circuitanalysis and diagramming

Variety —A wide variety ofmodels are available withcapacities ranging from 630 to3060 solderless tie-points (6 to 3214-pin DIP'S), to fit every technicaland budget requirement.

Speed—Assemble,test and modify circuias fast as you can pushin or pull out a lead.Save hours on everyproject.

Adaptability—Use in design,packaging, inspection, QC, etcWorks with most types of circuits,in many, many applications.

Flexibility —Use independently,or in conjunction with otheraccessories, such as scopes,counters, CSC Proto-Clip™connectors, Design Mate™ testequipment, etc. One Proto-Boardunit can serve a thousandapplications.

Whatever type ofelectronic circuits youworkwith.youcandomore in less time withCSC's solderless Proto-Board systems. As fast andeasy as pushing in or pulling outa lead, you can design, test andmodify circuits at will. Com-ponents plug into rugged 5-pointterminals, and jumpers, whereneeded, are lengths of #22 AWGsolid wire. In the same time you tookto read this ad, you could be well onyour way to assembling a new circuit.For more information, see your CSCdealer, or write for our catalog anddistributor list.

CSC PROTO-BOARD SOLDERLESS BREADBOARDS

CONTINENTAL SPECIALTIES CORPORATION

EASY DOES IT

44 Kendall Street, Box 1942

New Haven, CT 06509 • 203-624-3103 TWX: 710-465-1227

West Coast office: Box 7809, San Francisco, CA

94119 • 415-421-8872 TWX: 910-372-7992

Canada: Len Finkler Ltd., Ontario

© 1976Continental Specialties Corp.

Prices and specifications subject to change without notice.

MODELNUMBER

NO. OF

SOLDERLESS IC CAPACITY MANUFACTURER'S

TIE-POINTS (14-PIN DIP'S) SUGG LIST

OTHERFEATURES

PB-6

630

6

$15.95

Kit — 10-minute assembly

PB-100

760

10

19.95

Kit—with larger capacity

PB-101

940

10

29.95

8 distribution buses,higher capacity

PB-102

1240

12

39.95

Large capacity, moderateprice

PB-103

2250

24

59.95

Even larger capacity: only2.76 per tie-point

PB-104

3060

32

79.95

Largest capacity; lowestprice per tie-point

PB-203

2250

24

75.00

Built-in 1%-regulated5V, 1A low-ripple powersupply

PB-203A

2250

24

120.00

As above plus separate 'i-amp+15Vand -15V internallyadjustable regulated powersupplies

13

Letters

Establishing BYTE Com-mittees of Correspondence

To encourage corre-spondence among readers,beginning with letters re-ceived after May 1 1976,BYTE will print the nameand full address of eachpublished letter's author.If you do not wish youraddress to be printed,mark it "do not print myfull address " or the logicalequivalent.

ON THE TRUTH AND BEAUTY OF

BLINKING LIGHTS

(AND OTHER SUBJECTS)

The "Total Kitchen Information System"was a big hit since I'm constantly pesteredby people who want to know what I couldpossibly do with a computer in my abode.Well done!

I am glad to see that BYTE is attemptingto reverse that great movement to rid com-puters of blinking lights. A computer isn't acomputer without blinking lights! Just com-pare an IBM 370/158 to a 370/155 (which itreplaced) to see what I mean. Or how aboutthe six foot light panel of a 360/195? LightsForever!

There seems to be a good deal of interestin the game of Space War. I wrote a versionof Space War for an Adage AGT-40 graphicssystem a couple of years ago that was prettysuccessful. Based on my experiences, I couldnot guarantee that the game will be suitablefor running on current micros since thecomputation overhead is fairly high. How-ever, some BYTE readers should be able tomake simplifications to the game which willpermit some level of it to be played.

Kevin KelleyWappingers Falls NY

ON CODE TRANSLATIONSAND VACUUMS

In your editorial in December 1975BYTE you expounded on the need for acommon high level language to facilitate theexchange of software between differentcomputer systems. Another approach to theproblem might be to write some sort oftranslation or cross-assembler routine toconvert, say, 8080 into the equivalent, say,6800 instructions. Such a scheme would useless memory than a high level languagecompiler and therefore be of more use tousers with small systems (or budgets). I'mnot sure how valid the scheme is andthought that perhaps you or BYTE's readerscould determine its validity.

I would also like to join Mr Ryland'slament on the software vacuum.

Another gripe along these lines is the"literature vacuum." The manufacturerssupply basic information on their micro-processor and that's about it. Take, forexample, the 8008. It was around for yearswith only Intel's information until MartinResearch came out with MicrocomputerDesign, a virtual encyclopedia on the 8008.It's a fantastic book, and I can't seem to findsuch an "encyclopedia" for any other micro-processor. This makes it tough to comparemicroprocessors without buying a systembased on that microprocessor, which getsexpensive.

Anyway, BYTE's pretty good so far -keep up the good work.

Brian GrcinerDeep River, Ontario

Where architectures are similar, trans-lation between instruction sets is quitefeasible. Whenever assembly code takesadvantage of "special characteristics" withno direct equivalent in the target machine ofthe translation, the result of a simple trans-lator will be what could at best be termed"inefficient" code. A complicated translatorwhich lakes advantage of special cases wouldtend to eat up a lot of memory lor itsprogram, just as a compiler or high levellanguage does. One of the slowest methodsof all would be to implement an interpretivesimulation program on the target machine,which can execute the instructions of thesource machine program. Such simulationsare typically 20 to 50 times slower than realtime execution on the source machine.

These comments are obviously not thelast word on the subject.

A QUERY ABOUT THEAUDIO STANDARD

I read with interest BYTE's proposedcassette standard. I'm in agreement with allthe specifications but one: the choice ofmark and space frequencies. I think themark frequency should be lower than thespace frequency.

It is desirable to be able to read into thecomputer two or more blocks of data as one"file." For instance: To assemble a programon a tape that was produced by dumpingseveral TVT pages - to do this without errorrequires that the entire interblock gapappear to the computer as "mark." To dothis without wasting tape requires that thedrive be slopped in the interblock gap.

As the standard is proposed, special cir-cuitry is required to "edit" the tape stop-page. If the mark and space frequencies are

14

The Enlightened Ahnlr.

Your Altair already has theintelligence, so let our VDM-1 DisplayModule make the best of its capacityto communicate. This is not a limited"TV Typewriter." The VDM-1 is anultra-high speed output device, builtright into your 8800 system.

The VDM-1 generates sixteen

allows scrolling at about 4 lines persecond, eliminating complicated timingprogram routines. At top speed, thedisplay scrolls through a dump of 65Kof memory in two minutes; that's about1000 lines per minute!

Multiple programmable cursorcircuitry is built in. All 1024 cursors

64-character lines in a large easy-to-read can be displayed at one time or begin

font with both upper and lower case

letters. It contains IK (1024) bytes ofrandom access memory, to which theprocessor can read or write, just asthough the memory were an integralpart of the system. As the informationis written in, contents of the on-cardmemory are displayed instantly withoutinterrupting the operation of theprocessor.

Once the processor provides thedisplay status parameters, the VDM-1can be made to "scroll"its display upwardsor downwards. Abuilt-in timer

anywhere in the display. Thus, theVDM-1 can display white-on-black orblack-on-white —perfect for manyvideo games! The VDM-1 also featuresEIA Video output for any standardvideo monitor, or a television repairshop can easily modify your own TV set.

The VDM-1 comes with freeterminal mode software, designed forteletype replacement when used withBASIC or our own Resident Assemblysystem. (Powerful text editing soft-ware and various game pack-ages are also availablefrom ProcessorTechnologyCorp.)

Our detailed VDM-1 Owner'sManual is available for $4.00, refundablewith purchase of the VDM-1.

Kit Prices, $179, premium grade,low profile 1C sockets included.

Write Us, for details on our othercompatible 8800 plug-in modules.

technology

6200-Y Hollis Street W 'Emeryville, CA 94608

The important point is theneed for proper operatingprocedure to prevent the"gap trash" from produc-ing errors.

exchanged, and no writing is done while thetape is not at speed, no added circuitry isneeded.

Michael W FellingerBoulder CO

Harold Mauch, one of the participants atthe standards conference, replies:

Mr. Fellinger raises several interestingpoints which were considered by the partici-pants in the BYTE symposium. I thinksignificance depends on the manner in whichthe cassette standard is implemented andused. I believe Mr Fellinger is assuming theinterblock gap produces the same kind ofdeciphered output as the "marking" toneproduces. This is not necessarily the case.First of all the interblock gap created bystopping and starting the cassette is full oftrash caused by de-energizing and re-energizing the record head while the tape isdecelerating and accelerating. This is heardon playback as a "chirp." Even if the markand space frequencies were interchanged, theproblem remains since the lower markingfrequency will "chirp" to the space fre-quency and momentarily be interpreted as aspace. Second, there is a precedent in datacommunication for interpreting the absenceof signal as a space. This is the idea behind a"break." It is useful because it notifies theuser or equipment of a signal or line fault.The teleprinter runs "open" or the "break"indicator comes on.

Strictly speaking, either of the two fre-quencies could have been chosen as the"marking" state and would have made verylittle difference if the states were decipheredwith a phase locked loop or other FM typediscriminator. The type of cassette playerwith which this standard will be used "rollsoff" or attenuates the higher frequencies.Consequently the higher frequency tone willbe somewhat lower amplitude during play-back than the lower frequency tone. Sincethe signal level is most conveniently adjustedduring the "marking" interval preceding ablock of data, it is desirable that the markingtone be the lowest amplitude of the twotones. This would be the high frequency inmost cassette players. The lower frequencytone would then always have a somewhatgreater amplitude than the reference adjust-ment level increasing the immunity to signaldropout.

Choosing the higher frequency as the"marking" state also permits circuit econ-omics if the deciphering is done digitally.

A recorded character is "framed" by aleading "space" bit and trailing "mark" bits.The beginning of a character is denoted bythe mark-to-space transition at the beginning

of the start bit. Obviously it is desirable toidentify this event as precisely as possible. Inthe circuit described in the March issue ofBYTE (and subsequent revision in the Aprilissue and previously by Don Lancaster inBYTE No. 1) the existence of the lowerfrequency is indicated by the full cycling ofa retriggerable monostable. The fact that it isallowed to time out indicates the presence ofthe lower frequency immediately and unam-biguously. Consequently the high-to-low fre-quency transition produces a relativelyprecise event. On the other hand the low-to-high frequency produces a condition some-what like saying "if you don't hear from meI'm not going." This leaves open the timeinterval in which to make a decision. Speci-fying that interval and acting on it involves aslight circuit complication which is notnecessary with the proposal as stated.

All of the above comments aside, theimportant point is the need for properoperating procedure to prevent the "gaptrash" from producing errors. When opera-ting manually do not permit the computerto utilize the cassette output until well intothe five second "marking" leader precedingeach block of data. Identify the end of eachblock with a special character. For example:a line feed or ETX code if the content of theblock is text or an asterisk (*) if the contentis a program. This tells the computer toinhibit further response to the cassette.When operating automatically (computercontrolling the tape unit remote controlinput) have the control program wait for asecond or two of "clean" marking intervalbefore accepting data from the cassette. Ifthe "no signal" condition produced the sameoutput as the "marking" state, this pro-cedure could not be implemented as simplyand effectively as it is.

Harold A MauchDallas TX

PAYING OHMAGE TO RESISTANCE

The article on standard abbreviations, "Kor k?" in the January 1976 BYTE byManfred Peshka was interesting, but Inoticed one major flaw in the abbreviationused for the unit of resistance, the ohm.Using the letter O is a very bad idea as, whenit follows a number, it is difficult to identifythe number and the units. For example,the article on blinking lights on page 53 hadthe following line: "The 222 O resistors ..."I first thought this to be a typographicalerror until I read the standards article. It isalways a bad idea to use O for anythingwhen using the number 0 at the same time

Continued on page 80

16

3f9

If «■■

:p:K ft *;■;*. ftpf ft ft

s.fm ft

• J » « i 1 « It I -1 1

lh i. _: _ ' m

*P

'/*»!

■3 -^y

***"%=,.

..get it ALL together!

Please Contact One Of Our Distributors-Computer Way—Huntington Beach, CaliforniaBargain Electronics—LaMeda, CaliforniaComput-O-Mat Systems—Rye, New YorkThe Computer Workshop, Inc.—Montgomery County,

MarylandComputer Mart Corporated—Boston, MassachusettsThe Computer Mart of New York—New York City,

New YorkComunicaciones S.A.—San Jose, Costa RicaComputer Country—Denver, Colorado

SPHERE

CORPORATION

940 North 400 East

North Salt Lake,Utah 84054

(801) 292-8466

DELIVERY: 60-90 DAYS

n Source

RD Boudinot PhDComputer Sciences Corp6565 Arlington BlvdFalls Church VA 22046

For integrated circuits,physical and electricalequivalents sometimeshave identical designations— and sometimes havecompletely differentnumbers.

The practice of one company supplyingan assembly or a component which is equiva-lent to a product of another company iscalled second sourcing. In fact, there areoften many alternatives to the originalsupplier; thus the title of this article. Weshall discuss the history of second sourcing,why second sourcing has flourished, whatthe buyer's risks are, and how to approachthe decision process within the secondsource environment with specific applicationto personal microcomputer systems.

The Price Umbrella

The financial basis for second sourcing isthe nature of the marketing strategies thathave been historically applied to computersystems. Pricing has been a game of bal-ancing the capability of a product against itsmanufacturing cost. The strategy has been toproduce a series of systems where eachsystem is more capable than the one below.The low end machine usually sells at a smallprofit. By designing each system for eventualupgrade, it is possible to double the powerof the entry level machine with a dispro-portionate hardware cost. For example,twice the capability may be expected to costthe user slightly less than twice as much. Ifthe increased capability is achieved bysimply changing a CPU clock, the profitpotential is obvious. The difference betweena Burroughs 2500 and 3500 is an example ofa board-change upgrade.

Figure 1 depicts a predicted end userprice versus capability using an arbitrary 1.8factor. In this figure, 16 times the capabilitycosts 10.49 as much to the user. It seemslike a bargain, but manufacturing 16 timesthe power may have only cost twice as

much. At this point, the vendor would beyielding 500 percent profit on the upper endmachine and only a narrow margin on thelower end machine. The stage is set forsecond sourcing by companies who offer"twice the capabilities at half the price."

It must be noted that many other factors,costs, and risks, affect a manufacturer'spricing. His real decision is a function ofmarket research of how many machines hemight expect to sell, how much it will costto design, fabricate, and market them, howmany will be upgraded initially or later, etc.All costs for machine design are spread oversome number of machines (usually the num-ber of high probability projected sales) alongwith fabrication costs and markup. Then thefinal prices are established.

If sales are as good as or better thanpredicted, fat profits may result. However, alarge risk is always present, as the demise ofthe computer production divisions of GEand RCA has shown.

History of Second Sourcing

Second sourcing has been with the elec-tronics industry for a long time. It has longbeen expected that several manufacturerswould make a 10 uF, 16 V tubular capaci-tor or a 1000 O, 0.25 W resistor. The sameapplies to tubes and transistors. One maypurchase a 6BE6 manufactured by GE,RCA, or Sylvania, among others. Likewise a2N2222 may be purchased from Motorola,RCA or Texas Instruments. Finally, amongdiscrete components, electrical equivalencyis often cross-referenced between a givenmanufacturer's line of transistors and othertransistors not manufactured by him. Acommon tactic is to make a general purpose

18

Figure I: End user cost versus capability.End user cost is shown on horizontal axis forincreasing capability on the vertical axis. Inthe example, increasing the cost by anarbitrary factor of 1.8 doubles capability.

!6

8

4

2

1

/*

4

8

'6 .

1.8 3.24 5.83 10.49

device which meets or exceeds the require-ments of a large number of devices. TheRadio Shack line of 37 transistors whichcross reference to 20,000 other designationsis an example. The first lesson many peoplelearn about second sources in discrete com-ponents is that electrical equivalence doesnot guarantee physical equivalence.Attempting to fit an equivalent part with aTO-3 case into a circuit board where a failedTO-92 case was originally used teaches alesson which is rarely forgotten.

The advent of the integrated circuitbrought greater attention to second sourc-ing. The 9000 series and 7400 series pio-neered by Texas Instruments and Fairchildwere quickly copied, once success was evi-dent, by numerous competitors. ICs, likediscretes, became fair game; confusing equiv-alent numbers were eliminated and everyonenow numbers a 7410 as a 7410.

The S1998 clock chip manufactured byAmerican Microsystems, Inc (AMI) is anelectrical and physical equivalent of theMM5316 made by National SemiconductorCorporation. However, the 1103A made byAMI is an equivalent of the Intel 1103A 1Kb RAM. In LSI (large scale integration)second sources sometimes are numbered thesame as their equivalent, and sometimes not.

Large Computer Second Sourcing

The potential profitability of secondsourcing was described above. Such profitscan be realized only in a successful market.Just as IBM became the giant controllingmore large computer sales than all its com-petitors, likewise, it became the obvious andsomewhat vulnerable target for secondsourcing. Although large computers and

systems existed for a decade, it was not untilthe late 1960s that viable second sourcealternatives were developed and marketedwith significant success.

IBM received substantial competitionfrom vendors offering: (1) peripherals, suchas disk drives and controllers and remoteterminal controllers, (2) core memory, and(3) terminals. Several law suits followed, themost famous of which was Telex versus IBMand IBM's subsequent countersuit. Telexaccused IBM of monopolizing, and IBMaccused Telex of stealing proprietary infor-mation.

The efforts to divert IBM business con-tinue from a variety of sources. In all areasof peripherals, core, and terminals, alterna-tives to IBM equipment exist; in some casesthere are many choices. As with com-ponents, alternate devices sometimes beardesignations which disclose relationships andsometimes they do not. For example, an Itel7330 disk system replaces an IBM 3330 disksystem. On the other hand, an alternative toan IBM 3270 CRT is the ADDS 980A CRT.

Minicomputer Second Sourcing

Second sourcing in the minicomputerenvironment has been aimed primarily atperipherals and core. Sophisticated terminalsubsystems are not generally used withminicomputers and certainly not in thequantity to make the area as lucrative as it isin the large scale computer environment.Among peripherals, alternate sources areoften derived simply by modification of aninterface. If a peripheral maker who suppliesbrand X designs a tape reader and punch orline printer whose interface is easily modi-fied, then supporting brand Y with the same

Second sourcing is univer-sal for discrete com-ponents — generally any100 O resistor will do, andin many circumstances any0.01 uF capacitor will suf-fice in an appropriateapplication.

19

Increased production witha minimum of additionaloverhead means morecompetitive prices and re-duced manufacturingcosts.

Isolating the real problemin the midst of five dif-ferent vendors claimingtheir hardware meets theirspecs (yet the "system"won't run), could exceedanyone's patience.

device requires only a small capital invest-ment. Increased production with a minimumof additional overhead means more com-petitive prices and reduced manufacturingcosts.

The second source alternatives in mini-computer core memory developed as a resultof two factors. First, the pricing strategiesapplied to large scale computers were alsoapplied to minicomputers. Therefore, eachsuccessful minicomputer created a secondsource market. Prime examples are the DataGeneral Nova 800 or 1200 and the DigitalEquipment Corporation (DEC) PDP-8 orPDP-11. Other less widely sold systems (interms of total sales) such as the HewlettPackard HP-21XX series, have also been theobject of second sourcing when a largeamount of expensive, additional core isadded to a computer for the resultantincrease in productivity. This type ofmachine generally supports multiple users ina timesharing mode, where the number ofusers efficiently handled is a function of theamount of core memory available.

Second, advances in solid state memoryprovided alternatives to traditional corememory. Benefits included cost and speed,although these parameters graduallyimproved from marginally to substantially infavor of solid state memory.

Microcomputer Second Sourcing

The second source market in micro-computers is directed at memory and IOboards. From all indications, terminals maysoon be included in this market. Currently,the peripherals market is limited becausetapes, disks, readers, and punches cost morethan microcomputers. The only inexpensivedevices for external storage now available arethe audio cassette type. The peripheralsmarket can be expected to expand rapidly,as will the alternate sources. Microprocessorusers will continue to appreciate the signifi-cance of the chip name: Microprocessor.Computers are "processors," which requireinputs and produce outputs. Inputs areprimarily originated from terminals or pe-ripherals and outputs must be passed toterminals or peripherals. A microprocessoralone has few uses.

For two reasons, main memory is cur-rently the major second source item in themicroprocessor area. First, if RAM is pur-chased from the supplier of the micro-computer kit, 8 KB of memory costs morethan the basic kit in almost every case.Second, after terminals, main memory issecond in importance to an operative sys-tem. The memory available limits the size ofprograms and data buffers and determinesthe level at which programming must beaccomplished, i.e., machine language, assem-bler, interpreter, or compiler.

IO control boards represent a unique areaof second sourcing. Almost no such parallelexists in large scale computers. Some specialpurpose boards are available for mini-computers, but they are mostly limited tospecial AD, DA, or multiplexer interfacesrather than conventional IO interfaces.

Risks to the Second Source User

We have discussed the wide variety ofsecond sources available, ranging from dis-crete components to peripherals, micro-processors, and IO boards. The risks andproblems are just as divergent.

Discrete components such as resistors andcapacitors are intrinsically low in risk. Theyeither work or they do not. Their per-formance parameters are readily measuredand little confusion is possible. Likewise,more complex components such as tubesand transistors are easily checked for almostall parameters in conventional testers.

More complex devices such as TTL andCMOS chips are fairly easily tested in termsof switching function, voltages, and loadsonly at low speeds. Failures at circuit speedsare not easily detected on a unit basis.However, suspected devices are relativelyeasy to replace, and they seldom fail.

Computer peripherals represent thepotential for enormous problems. Some clas-sic fingerpointing contests have centeredaround systems consisting of an IBM main-frame with brand A tapes, brand B disks,brand C core, and brand D terminals. Iso-lating the real problem in the midst of fivedifferent vendors claiming their hardwaremeets their specs (yet the "system" won'trun), could exceed anyone's patience.

20

Core memory followed a slightly dif-ferent pattern and the risks have changed.Initially, some mainframe vendors dis-claimed any warranties and refused to pro-vide maintenance service if another vendor'score memory was utilized. The courts didnot concur, and mainframe vendors wereforced to allow second source memory to beintegrated with their systems. One problemwas thus relieved, but the fingerpointingpossibility still exists. Additional micro-processor systems' considerations will bediscussed in the next section.

10 and other special purpose boards aresusceptible to the considerations discussedabove. Additional considerations relevant totheir selection are discussed in the nextsection.

It is clear that some of the problems inusing second sources in large scale or mini-computer systems do not equally apply tomicroprocessor systems. Larger systems aregenerally maintained by their vendor(s).Microprocessor systems tend to be main-tained by their builder/integrator.

How to Approach the Decision Process

The following discussion will addressmicroprocessor systems only. The five con-siderations in second source selection arc:

• Support

• Cost

• Performance

• Physical characteristics

• Electrical requirements.

Each will be discussed separately in termsof its relationships to the decision process. Amethodology for deriving a selection thatleaves the weighting factors up to the indi-vidual will be presented.

The support area includes:

• Initial documentation

• Services available from the factory orregional offices, such as consultationwhen a problem arises

• Other integral hardware and software.

Documentation includes not only adequateconstruction instructions but also debuginstructions for use if the unit is inoperativeafter construction is complete or if it failslater. Detailed instructions regarding the useof all switches, in the case of the main-frames, and software tips, in the case ofperipherals, are also important. Determiningthe adequacy of support is the most difficultof all the evaluations to be made. One ruleof thumb is to rely on more than one sourceof information if at all possible and never touse second hand information.

The product cost is the easiest to deter-mine. For investments of significant size, aphone call to check the latest price is oftenvery profitable. Unlike most market areas,microprocessor and related components arecontinually decreasing in cost. The Novem-ber issue of BYTE lists the cost of a 4 KBmemory board for the ALTAI R 8800 at$264. A conversation with an ALTAIRrepresentative in early November 1975placed the price under $200.

Performance characteristics may not bereadily available. When buying a stereoamplifier, one of the parameters alwayscompared is RMS power in watts. In themicroprocessor environment, all timing datais not always published with the advertise-ment. RAM memory varies almost on orderof magnitude in speed. Among the 2102RAM series alone a 6:1 relationship exists.The speeds of 2102 devices are listed in table1.

Physical characteristics include height,width, depth, and weight. If a board won'tphysically fit in an enclosure, electricalcompatibility has little meaning (unless youare prepared to rewire by hand). Also to bedouble checked are plug and socket com-patibility and heat dissipation.

Electrical characteristics arc very impor-tant considerations. The primary parametersare current requirements and the impacts onthe bus. Each microprocessor kit thatincludes a power supply in the cabinet hasan inherent limiting factor. Arbitrarily, wewill assume that a 10 A, 5 V supply is

Table I: 2102 RAM access speeds.

Device Designation

Access Time

2102

1000 ius

2102-1

500 /us

2102-2

650 ms

2102-8

1500 ms

2102-A

350 ms

2102-A-2

250 ms

2102-A-4

450 ms

21

Table 2: Expandability example.

Components

System A

Components

System B

Basic SystemTwo 10 Boards12 Memory BoardsTotal Required

2 A2 A6 A

Basic SystemTwo 10 Boards6 Memory BoardsTotal Required

2 A2 A6 A

10 A

10 A

System A expandable to 48 KB System B expandable to 24 KBmemory memory

Microcomputers are trulyan idea whose time hascome.

included. If the "bare-bones" processorrequires 2 A, and each IO board requires 1A, and two IO ports arc required, then thecurrent load before adding core memory is 4A. This leaves 6 A available. Now we have adecision point based on present and futurememory and IO requirements. If the vendor4 KB memory board costs $200, and thesecond source board cost $100, the choicemay seem obvious. It is often the case thatvendor boards require low current. We'll use0.5 A as an example. The second sourceexample will be 1 A. If no future require-ments for special interfaces are planned,then the decision is a straight forwardevaluation of core memory expandability.The expandability problem just described isdepicted in table 2. Given the same basicsystem, configuration A, using vendor sup-plied boards, is expandable to 48 KB ofmemory.

Configuration B is only expandable to 24KB memory using the available power sup-ply. The decision is further clouded if twomore IO boards are contemplated for thefuture, resulting in the new limitations oftable 3. The decision then is based onwhether 16 KB of core, the limitation ofconfiguration D, is sufficient for projectrequirements. The second main electricalcharacteristic to consider is the number ofTTL loads an alternate board will drive. In abus system allowing expansion up to 20boards, each board should be able to drive20 loads. Otherwise, a limitation to expand-ability is introduced.

Software characteristics include the avail-ability of vendor or second source software.If a high level language is required, any

microprocessor system that does not have aself-hosted, high level language available atan appropriate cost is unacceptable. Soft-ware considerations are also appropriate forspecial interfaces and devices. If supportingsoftware is not available, it sometimes provesto be a long tedious job to develop sophisti-cated handlers. Finally, firmware (softwarestored in read only memory (ROM)) may bea major consideration. Firmware monitorsand assemblers are available for M6800systems via the vendors and for 8080 sys-tems through alternate sources. Dis-advantages of firmware vary slightly de-pending on whether ROM or erasable pro-grammable read only memory (EROM) isutilized. If a ROM is "burned in," nooptions exist for easily modifying orpatching the firmware. Such a requirementresults when a bug, or program error, isdetected or when new applications or hard-ware make modifications desirable. It ishoped that the latter case is more common.One approach worth considering for a sys-tem that is expected to grow in the future isto use a firmware monitor and bootstraploader to load all operational programs,compilers, and interpreters from an externalstorage device, such as a cassette. There arecertainly cases, however, where a firmwareassembler or BASIC interpreter is the bestchoice.

A Decision Matrix Example

A final example, to be used only as anexample, is included. Because each selectionmust be made on an individual basis, theactual companies and parametric data arenot included in the example.

Table 3: Expandability example.

Components

System C

Components

System D

Basic System4 IO Boards8 Memory BoardsTotal Required

2 A4 A4 A

Basic System

4 IO Boards

4 Memory Boards

Total Required

2 A4 A4 A

10 A

10 A

System C expandable to 32 KB System D expandable to 16 KBmemory memory

22

The first step is to establish a method ofranking each contender in each area: sup-port, performance, physical characteristics,electrical requirements, cost, and software.Within each category, the criteria of excel-lence must be established by using discretemeasures where possible. If the scales to beused will range from 1 to 10, then thecriteria for achieving each ranking must beestablished. Then the relative weightings foreach characteristic, perhaps 50 percent cost,40 percent electrical, and 10 percent soft-ware, must be established. Finally, mini-mally acceptable standards must be deter-mined for each category. It is possible for anitem to rank worse than the lowest incre-ment by being a physical impossibility. Intable 4, items flagged with an "x" areunacceptable. Thus we see that brand B doesnot meet the minimum electrical specifica-tion, brand C exceeds the cost range, brandD will not fit physically into the cabinet,and brand E was unacceptably slow. Fur-ther, in this example, support, physicalcharacteristics, and electrical characteristicshave a weighting factor of 0.0. They werefactors for elimination but not comparison.The decision was binary: Acceptable orunacceptable.

This decision matrix technique is ofconsiderable value, even if one has noconfidence in the weighting factors, becauseit forces a systematic comparison and evalu-ation of all characteristics of the choices. Ithas been used by the author on numerousoccasions and has dispelled numerous mis-conceptions. The hard facts lined up againsteach other can be most revealing.

Conclusions

In conclusion, there are three key pointsto be made. (1) Second sourcing is a healthy

Table 4: Sample decision matrix. Weighting scale of I to 10; 10 is best.X designates unacceptable.

0)

u

u

tfl

n

cm

C

re

a>

re E

TJ

E

0

aa

3

0

4-

,5 re>. re

.c -c

8 1

4JUO

1

a

is1 s

CO

O.

O. U

ill CC

O

c/i

C/3

g £

Brand A

2

2

3

2

8

4

19

5

Brand B

X

Brand C

X

Brand D

X

Brand E

X

Brand X

2

5

4

3

2

4

20

6.4

Weighting Factor

0

0.4

0

0

0.5

0.1

phenomenon. In fact, because secondsources establish product credibility andguarantee users that someone will be able tosupply them, many chip makers actuallyseek a second source. (2) The benefits to thesource user are primarily monetary; how-ever, there arc hazards, and they must beconsidered before making a decision. (3)Finally, it took the large scale computermarket a decade and the minicomputermarket several years to develop secondsource markets. Using the date of intro-duction of the ALTAIR 8800 in January1975 as the date of initial general avail-ability, the microcomputer industry hasachieved this maturity within its first year ofexistence. Microcomputers are truly an ideawhose time has come."

GLOSSARY

Capability: In a broad sense, the capability ofa system is a weighted sum of the individualfeatures which make a system easy to use andreliable. In a more specific sense, a particu-lar capability of a system is a point of com-parison with equivalent points on other sys-tems. (A general capability might be the ability ofa system to accomplish a particular application; aspecific capability might be the mass storagemedium employed in a system.)

Firmware: In the context of this article, firmwaremeans software which has been written into a readonly memory. A second definition of firmwareapplicable to microprogrammed machines is the setof microprograms required to emulate a specificCPU architecture.

Microprocessor: This means any of the large scaleintegration (LSI) computer designs currently avail-able and used for inexpensive personal computingsystems.

Second sourcing: The practice of "follow theleader" as applied to the electronics and computertechnology. One company designs and markets aproduct; then a second (or third, etc.) companytakes the external functional specifications andcreates an equivalent circuit which will accomplishthe same functions. The second sourcing is oftensanctioned by licensing arrangements. The secondsource company for any given product is always ina following mode, since the product's innovator isby definition the first firm in the marketplace.

Vendor: The commercial term for the source of aproduct is "vendor."

23

Read Only Memories inMicrocomputer Memory Address Space

The important advantagesof a ROM in microcom-puter use are nonvolatilityand write protection forwhatever data it holds.

A bootstrap or absoluteloader is a simple programwhich just transfers datafrom an input device tomemory. To keep it inyour machine, it shouldideally be in ROM.

System monitors are primetargets for ROMtechnology.

Dale Eichbauer

Digitech

PO Box 6838

Grosse Pointe Ml 48236

In an earlier BYTE (see "Read OnlyMemory Technology," page 64, December1975), Don Lancaster introduced the use ofread only memories as a tool for design atthe hardware level. This application is butone of a multitude of uses for ROMs,especially when you consider a ROM as partof the main memory address space for yourcomputer. The important advantages of aROM in microcomputer use are nonvolatil-ity and write protection for whatever data itholds. It relieves the user from the chore ofreentering frequently used programs eachtime his machine is fired up or after data isaccidentally modified. To put it simply,your data is always in the machine wheneveryou need it.

The two most common and well knownuses of ROMs are for holding loaders andsystem programs. There are two basic typesof loaders: the bootstrap (or absolute) andthe more complex relocating loaders. Thebootstrap or absolute loader is a shortprogram which is used to load the machinefollowing a power interruption or any othertype of catastrophic failure which wipesout the main programmable memory.(Unless your machine's programmablememory is of a special design, it is volatile,meaning that its data is lost if power to thememory is lost for more than a very shorttime.) This loader program requests inputfrom a peripheral device such as a paper tapereader or cassette drive which contains pro-grams needed for machine operation andstores this input data in programmablememory. After toggling all your data in fromthe front panel following power interrup-tion, one can easily see both the convenienceand versatility of such a bootstrap loader.

The relocating loader takes the input datafrom the peripheral device, converts itsaddresses from a relocatable form intoabsolute binary and stores it in memory atselected addresses. It might typically per-form some error checking and turn overexecution to the loaded object program.

Monitors and Debuggers

System programs suitable for or, prefer-ably, in ROM include such things as systemmonitors, assemblers, device drivers, soft-ware debugging programs, hardware faulttesting and diagnostics. The system monitor(which is often available from the computeror CPU manufacturer) is a program whichhandles and coordinates machine operationsat a basic level. A monitor allows the user tocontrol the entire system's operation withsimple, powerful commands. A typical moni-tor might have commands for the creation,modification, and deletion of files, deviceindependent IO (from the user's point ofview), automatic assembly and execution ofprograms, relocation of programs and data,and so forth. Device drivers (short programswhich handle the software end of peripheralinterfacing) are rarely changed oncedebugged and are needed for almost all IOoperations, making them a natural for ROMstorage. Software debugging programs, oftenmanufacturer supplied, provide a means ofdetecting and correcting programming faults.The many forms and features which theypossess are too extensive for any detail inthis article. One rather unusual but poten-tially useful application of ROM storage is instoring hardware testing and diagnosticroutines. Testing of the microcomputeroften can be done by simple programs whichexecute an algorithm and compare the re-sults with the correct answer. It can also bedone by complex programs which executeall functions of the machine, often in cer-tain critical combinations peculiar to the

24

machine under test. At first it would seemthat there is no need to put these routines inmemory of any type until needed except forconvenience, since it would be an infre-quently used task. Consider, however, thecase where a fault which is to be located is insome way related to or impeding the inputor the programmable memory's storage func-tions. If this is the case, then the testing ordiagnostic routine may never get into themachine in usable form to do its job.

Simulation and Emulation

Simulation is another use of ROMs inmicrocomputers which will become morecommon as CPU capabilities increase, ma-chines proliferate, and users demand more oftheir machines. Simulation is the techniqueof interpretively executing an instruction setfor one computer design using a programrunning on a second "host" machine. Forexample, a host machine with an 8080 CPUcould execute object programs from anothermachine which uses a 6800 or PACE CPU (oreven IBM 360/370 software for those withdelusions of grandeur). A ROM could con-tain the simulator program to execute theforeign instruction set. With an appropriategeneral purpose simulator program it mighteven be possible to change the instructionset of a machine by referencing a differentROM data table for each simulated machine.Of course all such simulations run muchmore slowly than the actual speed of thecomputer in question.

A related technique is emulation, inwhich microprogrammed hardware imple-ments an instruction set directly. Somemicroprocessors are internally micropro-grammed, but the user typically will not seethis fact externally. Microprogrammed com-puters are fairly widespread in contemporarytechnology. And with nearly every micro-programmed computer, there is a controlstore implemented in some form of ROM.But the majority of microprocessor chipscurrently available do not give the user afacility to use microprogramming tech-niques. The instruction set is typically com-mitted by the manufacturer during thedesign stage; so, to perform the software of aforeign machine, a software simulator mustbe used as described above.

With such simulations, the slowness ofoperation is due to the fact that a series ofinstructions (a subroutine) must be executedon the host computer in order to achieve theeffect of a single instruction of the simulatedmachine. Even though a simulated computermay be 10 to 50 times slower than the realmachine, such slowness is often tolerablewhen compared to the time it would take to

hand translate the program. Use of ROM tostore the simulator makes the simulationmode virtually a part of your hardware,protected from destruction due to powerloss or accidental modification during pro-gram execution.

Subroutines

Another excellent use of ROMs is thestorage of subroutines. Multiply, divide,double precision, floating point, conversionformulas and other algorithms, plus addi-tional software implemented functions are inthe machine as soon as power is applied.When they have been implemented in ROM,such subroutines act as if they were reallyhardware instructions.

Security Data

Anyone assembling a multi user computersystem, especially one with remote access,should consider using a ROM for main-taining data pertinent to the various users ofthe system. This data might include suchthings as access codes, what devices andmemory segments are authorized for use bywhich individuals, the particular user's sys-tem priorities (for job and device schedulingby the operating system), and so forth. Theoperating system constantly needs such in-formation to make decisions concerning thehandling of tasks for the current users. AROM protects this information from modi-fication or destruction, whether accidentalor malicious.

Tables

An excellent use for ROMs is the storageof tables of values. There are many tables,such as logarithmic, sine, cosine, and tangentvalues, which could be of use to almost anycomputer hobbyist. A program needing oneof these values then has to merely look upthe desired value in the appropriate ROMtable. Such tables can also be used to speedup high precision calculations by giving anapproximate starting value. Those faced withinterfacing a non-ASCII encoded terminal orother peripheral (such as EBCDIC, Selectric,Baudot, or Hollerith) to their microcom-puter may find that a character conversiontable, implemented in ROM, is part of thesolution, as Don Lancaster points out inBYTE #4. However, while his conversionscheme uses a ROM which does its conver-sion of data apparently at the peripheralitself, in many cases it would be useful ordesirable to perform this conversion in themachine. Such a conversion method wouldeven make it possible for two terminals,whatever their coding scheme, to commu-

If you plan to do a lot ofsimulation, the simulatorprogram might be a logicalchoice for ROM. With dili-gent software preparation,your humble 8008 couldsimulate a mighty 360/370(although much muchmore slowly in execution).

A library of often usedsubroutines is anotheritem which would make agood candidate for ROMstorage.

Data tables for charactercode conversion via soft-ware can be stored inROM if they are used alot.

25

nicate with each other using the microcom-puter (and its ROM) as a sophisticatedinterpreter. And, if data rates, characterlengths, and line lengths are different, thensuch a setup offers the added advantage ofusing software and memory as a buffer tocompensate for these differences.

Waveforms

If your machine is equipped with a DAconverter (digital to analog converter), thena ROM can contain a set of values which,when output through the DA, will produce acustom waveform. In many cases specialwaveforms may be generated in this fashionwhich would be impractical to generate,using any other method. Both the frequencyand amplitude of the waveform may becontrolled completely by software. With an8 bit word and a DA with 10 volts full scaleoutput, resolution of 0.04 volts per bit isobtainable. The maximum generated fre-

quency is dependent on the speed of themicrocomputer and the number of outputsper cycle required for a suitable waveshape.

Error Checking and Arithmetic

Two other possible uses for ROMs whichmay be implemented either in main memoryor as processor add-ons are a parity gener-ator/checker and a fast multiplier/divider. Atable for all possible combinations of a wordcan be referenced to generate the parity bitor a flag check bit. Multiplication anddivision may also be done as table functions.Several of the IC fast multipliers currentlyavailable are actually modified and speciallyprogrammed ROMs.

The article in BYTE #4 also introducedProgrammable Read Only Memories(PROMs), which are the most useful type ofROM for computer hobbyists, since a cus-tom pattern costs very little to have pro-grammed or the user can do,it himself."

Bibliography on ROMs and PROMs

If you want to use yourcomputer as a low fre-quency (audio) waveformgenerator, you could burna set of standard waveformpatterns into ROMs, usingsoftware to drive a DAconversion device at vari-ous frequencies.

These articles are found in engineering publica-tions, which should be available in well stockedcorporate or university libraries.

"PROMpting a minicomputer" by Robert High-tower of Motorola in the February, 1973,Electronic Engineer/Systems Engineering Today.This is a description of a bootstrap (or absolute)and a relocating loader for a PDP-11 which isstored in ROM.

"PROMs, Proms, Promises" by Jerry Metzger inJune 16, 1975, Electronics Products Magazine.This is a good introductory article on PROMs andincludes a wall chart of all PROMs available, bothbipolar and MOS, as of its publication.

"PROMs — a practical alternative to randomlogic" by Dave Uimari of Signetics in the January21, 1974, Electronic Products Magazine. Here is anexcellent article on PROM theory and use whichalso includes lengthy discussions on programming,such as how it is done, best place to have it done,typical large and small scale equipment, etc.; listsPROM programming services and equipmentmanufacturers.

"Designer's Guide to Semiconductor Memories— Part 1" by Robert J Frankenberg of Hewlett-Packard Data Systems in August 5, 1975, EDNmagazine. This is a good introduction to all typesof memories, ROMs and PROMs included; it alsoincludes an excellent list of references.

"Read-Only-Memories in computers — whereare they headed?" by Roger R Dussine of Com-pagnie Honeywell Bull and Robert M Zieve ofHoneywell Information Systems in the August 1,1972, EDN magazine. The authors provide anoverall survey of ROMs, their use in computers,mentions use for fault location, bootstrap, someunusual types of ROMs, and things to come inROM technology.

"Programmable ROMs offer a digital approachto waveform synthesis" by Karl Huehne ofMotorola in the August 1, 1972, EDN magazine.This is a detailed description of ROM waveformsynthesis.

"Large Bipolar ROMs and p/ROMs Revolu-tionize Logic and System Design" by Joe Mc-

Dowell of Monolithic Memories, Inc in the June,1974, Computer Design. Here you'll find a shortsurvey of the current bipolar ROM technology andsome examples of use, including a ROM controlledtiming pulse generator under microcomputercommand.

"Mixing Memories in Minicomputer-based Con-trol Systems" by Richard A Farwell of DataGeneral in the February, 1973, Control Engineer-ing. This is a discussion of how various memoriesare used in Data General minicomputers and thecosts and tradeoffs involved; a section on ROMslists a number of uses outlined in this article.

Manufacturer's data sheets on particular devicescontain a wealth of information and are free forthe asking. As an example, the data sheets belowcontain listings of ROM and PROM lookup tablesof values.

From AMI:

• A 256 word sine and cosine table in theS8614 supplemental note.

• An arctan table in the S8771 supplementalnote.

• A 512 word sine and cosine table in theS8772 data sheet.

• A Hollerith to USASCII conversion table inthe S8457 data sheet.

• A USASCII to Hollerith conversion table inthe S8539 data sheet.

From Nitron:

• A Hollerith to ASCII conversion table in theNCM 1112 data sheet.

• A Selectric to ASCII to Selectric conversiontable in the NCM 1151 data sheet.

• A 512 word sine and cosine table in theNCM 1141 data sheet.

From Computer Microtechnology:

• ASCII to EBCDIC and EBCDIC to ASCIIconversion tables in the CM 2850 sup-plemental note.

26

Can anyone beatthe Altair System?

We doubt it.

When it comes to microcomputers, Altair from MITS is the leaderin the field.

The Altair 8800 is now backed by a complete selection of plug-incompatible boards. Included are a variety of the most advanced memoryand interface boards. PROM board, vector interrupt, real time clock,and prototype board.

Altair 8800 peripherals include a revolutionary, low-cost floppy disksystem. Teletype.™ line printer, and soon-to-be-announced CRT terminal.

Software for the Altair 8800 includes an assembler, text editor, moni-tor, debug, BASIC. Extended BASIC, and a Disk Operating System.Aid this software is not just icing on the cake —it has received industrywide acclaim for its efficiency and revolutionary features.

But MITS hasn't stopped with the Altair 8800. There is also theAltair 680—complete with memory and selectable interface—builtaround the new 6800 microprocessor chip. And soon-to-be-announcedare the Altair 8800a and the Altair 8800b.

m

MITS doesn't stop with just supplying hardware and software,either. Every Altair owner is automatically a member of the Altair UsersGroup through which he has access to the substantial Altair softwarelibrary. Every Altair owner is informed of up-to-date developments via afree subscription to Computer Notes. Every Atair owner is assured thathe is dealing with a company that stands firmly behind its products.

After all. we didn't become the leader by messing around. Shouldn'tyou send for more information or visit one of our Atair dealers?

Altair Coupon

Please send me the following information:

□ Your latest catalog and price list

□ Software information package

□ Please include a list of your dealers

NAME

ADDRESS

CITY

. STATE & Z1P_

DuQLaB©

2450 Alamo S.E. Albuquerque, N.M. 87106

More Informationon PROMs

Roger L Smith4502 E Nancy LnPhoenix AZ 85040

Have you ever wanted to program yourown read only memories automatically sothat you could copy programs into a per-manent storage device? This article concernsone kind of erasable read only memory, theIntel 1702A integrated circuit and itspin compatible equivalents the NationalMM5202AQ and MM5203Q. Thesememories store 256 eight bit bytes of datausing a method which allows total erasureand reprogramming many times. Themethod of programming is complex whileerasure can be accomplished simply byexposure to an ionizing radiation (such asultraviolet light). When you need to storelarge tables of data or programs, use of suchread only memories is a very attractivealternative to more elaborate types ofmemory provided a method of programmingis available. These erasable read onlymemories are economical as well, sincetypical prices at the time of this article are inthe $20 range.

Why PROMs?

A few years ago, it became apparent thatthe different users of read only memories(ROMs) had many special applications whichrequired only one or two copies of any givendata pattern. The technology of mask pro-grammed read only memories is only costeffective for large production runs of partsso an alternative had to be found. A meanswas needed for the user of read onlymemories to inexpensively field program oneor two copies of a data pattern. This iswhere Harris Semiconductor, a division ofHarris Intertype Co., entered the picture andcoined the term PROM for programmableread only memory, a Harris trademark thathas become almost generic through wide-spread use. A PROM then was simply aROM that could be programmed in the field.

While production read only memories aremanufactured from specific masks providedweeks in advance by the user, a PROM canbe programmed in seconds automatically bythe user reducing turn-around time to aminimum.

Types of PROMs

Let's examine some of the differentPROMs in use today. There are a number ofoptions for the memory elements used inmaking programmable read only memoriesincluding nichrome fuse links, diodematrices, stored charge devices, amorphoussemiconductors, polycrystalline silicon fuses,etc. Note that all these memory elementscan be electrically altered in order to storedata. A few can also be restored to theoriginal condition; these are used in erasableread only memories (EROMs).

Figure 1 illustrates how the basic PROMoperates. The first thing to notice is adecode circuit. This decodes the address toselect one of the 32, 64 (or whatever) wordgates in the memory matrix. The decoder issimply an array of multiple input gates withone input for each address bit and one gatefor each memory word.

Each decoder gate drives a multipleemitter word driver transistor. In series witheach emitter is a memory element which inthis case is a fusible link. In this example, wehave a 4 bit word so each word drivertransistor contains 4 emitters, each con-nected to a fusible memory element. Thememory elements then connect to theappropriate bit sensors and output buffers (4in this example).

When a particular word is addressed, itsdecoder and word driver transistor turn on.If the fuse link is intact, the bit sensor turnson and the output line for that bit goes low(logical zero). If the fuse link is open, the

28

vcc

ADDRESSLINES

■o OUTPUT BIT

SENSE AMP

Figure I: This partial schematic of a PROM shows the circuit for one word and one bit. ThisPROM would be the nichrome fuse link type.

sensor and buffer circuit remains off and theoutput is high (1 bit).

Not shown in the diagram are the chipselect (or chip enable) lines. The chip selectlines are typically connected to the higherorder address bits. When many PROMs areutilized, an external decoder circuit (such as74154 or 7442) might be used to decodeseveral high order address bits and decidewhich PROMs to enable or select. Essen-tially, the chip select inputs are used to turnon the output bit sensors and buffers whenthe PROM is selected. PROMs use opencollector or tri-state output buffers so thatthey can be bused. The buffers are in thehigh impedance state until enabled.

The nichrome fusible link type of pro-grammable read only memory is manufac-tured by Harris, Signetics, Texas Instru-ments, and Motorola. From this basicnichrome fuse PROM, other types haveevolved. The next natural step was to poly-crystalline silicon fuses, as made by Intel andAdvanced Micro Devices. These are easier tobuild in the semiconductor fabrication proc-ess because the fuse links are also made outof a semiconductor material. The siliconfuses are burned open in the same manner asthe nichrome fusible link type. Due to thesemiconductor structure of the memoryelements, these PROMs often require a moreelaborate programmer than the nichromefuse type.

Another development in memory ele-ments is the Avalanche Induced Migration(AIM) device patented by Intersil. Fabrica-tion of these elements is similar to TTL logicwhich simplifies the manufacturing process.The elements are basically NPN transistorsarranged in a matrix with common collectorson the X-lines and common emitters on theN1-Vines. In programming a logical one, a highcurrent is forced through the desired transis-tor from emitter to collector. The emitter to

base junction is forced beyond normalavalanche and into secondary breakdown.Aluminum flows into the junction causing abase to emitter short that in effect leaves abase to collector diode. These PROMs areprogrammed using 2.5 us pulses of 200 mAcurrent that are alternated with sense pulses.After a number of pulses, a change is sensedand the programmer moves on to the nextbit.

Erasable ROMs

A memory element used by Intel andNational Semiconductor is a stored chargetype called a FAMOS transistor. FAMOSstands for floating-gate avalanche-injectionMOS charge-storage device. It is similar to aP-channel silicon gate field-effect transistorwith no contact on the gate. Programmingthe FAMOS type of memory element re-quires a pulse more negative than —30 voltsapplied to the drain or source P-N junction.High energy electrons are injected into thefloating silicon gate. With this negativecharge on the gate, there is current con-duction between the source and drain of theFAMOS transistor.

The primary advantage of this storedcharge type of memory element is that thecharge can be removed later by exposing itto a high intensity, short wavelength ultra-violet light. The radiation creates an ionizingaction that causes the charge on the floatinggate to leak back to the substrate. Theseerasable ROMs (EROMs) are provided with atransparent quartz lid to allow exposure tothe radiation. More about erasure later.

For the really dedicated computerhobbyist who wants all of his system moni-tor, resident assembler, text editor, etc. inPROMs because they are all working asdesired (at least this week), erasable ROMs

29

A2

1

—v^—

24

Al

2

23

AO

3

22

Dl

4

21

D2

5

20

D3

6

19

D4

7

18

D5

8

17

D6

9

16

D7

10

15

D8

II

14

Vcc

12

13

Table I: Intel 1702A EROM input voltages.

Vdd

Vcc

Vcc

A3

A4

A5

A6

A7

Vgg

Vbb

CS

PROGRAM

Figure 2: Pin-out diagram Intel 1702AEROM. AO- A 7 = address inputs; Dl - DS= data output (for READ mode), data input(for PROGRAM mode); CS = chip select.

are the logical choice. Currently available foraround $20 are the 2 Kb Intel 1702A andNational MM5202AQ and MM5203Q. All ofthese EROMs use the FAMOS stored chargememory elements and can be erased withultraviolet light. These EROMs have onedefinite advantage over regular ROMs; theyhave been tested before delivery.

Intel 1 702A EROM

The Intel 1702A EROM is produced in a24 pin dual in line package with a trans-parent quartz lid. Intel also makes a 1602AROM which is identical to the I702A exceptthat it has a metal lid and is not erasable. Allchips undergo complete programming andfunctional testing on each bit position priorto shipment. The 1702A and 1602A areboth 256 word by 8 bit, entirely static MOSROMs with no clocks required. All inputsand outputs are TTL and DTL compatible,but the outputs are tri-level to allow outputbusing capability. Memory expansion issimplified by use of a chip select inputwhich disables the chip when high (logicalone). Figure 2 shows the Intel 1702A pinconnections while table I shows the voltageinputs for the read or program modes.

Erasure Methods

To erase EROMs such as the I702A, Intelrecommends using the Model S-52 ultra-violet lamp available from Ultra-VioletProducts Inc., San Gabriel CA (cost is

Pin

12 Vcc

13 PROGRAM

14CS

15 Vbb

16 Vgg

22 Vcc

23 Vcc

24 Vdd

ReadMode

5 V5 V

ground5 V-9 V

5 V5 V-9 V

Program Mode

ground

Program pulse(-46 V to -48 V)

ground

12 V

Pulsed Vgg input(-35 V to -40 V)

ground

ground

Pulsed Vdd input(-46 V to -48 V)

about $170) or through Intel distributors.An inexpensive eraser can be built for about$15 using a General Electric ultraviolet lamp#G8T5, a ballast transformer, single poleswitch, a push button starter switch, andmounting hardware. The lamp is mounted inan enclosure and the EROM is placed underit at a distance of 0.25 inch. The lamp isturned on for about 6 minutes for completeerasure, but use caution not to exposeanyone to the ultraviolet rays.

CAUTION: When using an ultravioletlamp, you should exercise extremecare not to expose your eyes or skin tothe rays. Short wave ultraviolet lightcan cause sunburning of the eyes andskin.

According to a National Semiconductorengineer, the ultraviolet erasable EROMscannot be indefinitely erased and repro-grammed. After about 52 cycles of repro-gramming, the device will not work properlyunless it is reconditioned by baking in anoven at 400°F for 45 minutes. After recon-ditioning, the program-erase cycle can berepeated another 52 limes, although theNational Semiconductor engineerrecommends only 35 cycles betweenreconditioning.

EROM Programming

We'll describe two possible methods ofprogramming these EROMs. The firstmethod is highly recommended, will proveleast expensive, and is extremely simple —order it programmed or send it in to beprogrammed!

Many EROMs arc not simple to program.The 1702A type EROM requires a series(over 32) of 47 volt programming pulses of 3ms duration with 20 percent duty cycle foreach word. Also, at the beginning of eachpulse, the address must be complemented.

30

Manual programming is out, and the cost ofan automatic programmer may not be justi-fied. Remember also that in order to eraseprograms you must buy some type ofultraviolet lamp. A PROM/EROM pro-grammer could, however, prove to be a veryinteresting and fund raising activity for anindustrious computer club.

If this isn't convincing enough, or if youplan on going into the business, or if you'rejust plain curious, you may want to try thecircuit of figure 3 that can be built toprogram the 1702A, 5202AQ, etc. Theprogrammer is a simplification of the IntelMP7-03 programmer and is designed to workwith the 8080 program of table 3. Crowbar

Figure 3 A:

BIT 2,OUTPUT PORT 4

Figures 3A and 3B: Com-puter controlled PROMprogrammer for storedcharge PRO Ms. Unlessotherwise noted, transistorsare MPS-A06 or 2N3722or equivalent. Pin 14 ofICs to 5 V, pin 7 toground.

31

Figure 3B:

PINS on p^SOCKET

[Tpw^

ROM

rW

[T^wv-

100

| 6 I—WV

rfT

| 7 |-W-

| 8 [-VW-

I 9 I-^WV-

I 1 l0°

QTj-^ww

£

©-

+ 5V DATA BITSb OUTPUT

7404P°RT 2

DO

rr^3tf<?<°°

11\

1_,—,. 6.8K 7403

6.8K V

■ t 6.8K 7403 7404

7403

j, - 6.8K 7403

@

Cs>

NPUT LLrPORT 2 ► ID£

<G.8K

ADDRESS BITS

E"

■3^

.□-

|6.8K

330 3/

OUTPUT7486 PORT 3

-<0D0

330 6.

IE"

7486

330 8/

fe

-<(0D I

-<0DZ

-<0D3

-^0D4

-<0D5

-<0D6

-<(0D7

(TO PART A)

32

Figure 4: Program flow chart.

( BEGIN )

INITIALIZE:

CLEAR REG A, SET ADDR

DISABLE PROGRAMMER

SET EROM ADDR, GETDATA AND LOAD TOEROM

START PROGRAMMER:SET PROGRAM ENABLEBIT

DELAY 520 MS FORPROGRAMMER TOPROGRAM DATA

STOP PROGRAMMER:RESET PROGRAM ENABLEBIT

DELAY 9 MS FORPROGRAMMER TO STOP

READDATA

TESTDATA

YES

TURN INTE LIGHT ON,SAVE BAD DATA ADDR,INCREMENT ERROR TABLE

INCREMENT ADDR,GET NEXT ERCM ADDR

YES

and protective features have been removed,so you need to check your circuit voltagesbefore each use. Input data and addressesshould be in positive logic (i.e., logical one isa positive level). The five monostables arecontained in three 9602 dual one shotintegrated circuits. Do not substitute the74123 dual monostable which is very suscep-tible to noise and therefore may not operateproperly for this application. These mono-stables generate the proper programmingpulses when enabled by bit 2 of the outputport 4. The pulses are repeated every 15 ms(by the first 9602) and the length of time

Table 2:

Programmer Connections

1. Connect 8 Address lines to output port 3 ofyour 8080 computer (port 3 lines OD0 toOD7).

2. Connect 8 Output Data lines from output port2 to pins 1, 5, and 11 of the three 7404s fordata to be programmed (port 2 lines OD0 toOD7).

3. Connect computer input port 2 to pins 4, 8, 12of 7404s for reading EROM data for com-parison (port 2 lines ID0 to ID7).

4. Connect bit 2 of output port 4 to pin 1 of74L10 (near the PROGRAM ENABLE switch).

5. Connect 5 V and —9 V supplies from computeror other source and connect the 110 VACpower line.

Programmer Operation

DO NOT TURN POWER ON OR OFF WHILEEROM 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 fiveinstructions of the program (to disable ProgramEnable).

5. Set computer at address 001/000, switch onProgram Enable switch, and start computer.

6. At Halt, turn off Program Enable switch andremove EROM.

Programmer Calibration Test

ALL POWER ON, AND NO EROM IN THESOCKET.

1. Be sure Program Enable switch is OFF.

2. Measure 5 V at pins 12, 13, 15, 22, and 23.

3. Measure 0 V at pin 14.

4. Measure-9 V at pins 16 and 24.

5. Ground pin 2 of the 7405 IC and measure 0 Vat pin 24 of the EROM socket.

6. Ground pin 4 of 7405 IC and measure 58 V atpin 15.

7. Ground pin 6 of 7405 and measure 47 V at pins12, 14, 22, and 23. Adjust pot on NE550 forthe 47 V. Pin 13 should remain at 5 V. Measure9 V at pin 16.

8. Ground pins 6 and 8 of 7405 and measure 47 Vat pin 13.

■/ END J

33

The author will programthe 1702A EROM for $5. Allhe needs is the PROM, anoctal or hexadecimal listing ofthe desired program and $5.

each word is programmed is determined bythe software. This will be 520 ms with theprogram given here, so about 35 pulses aregenerated per word. Note that all bits in aword are programmed at one time.

At first glance it would appear that thevoltages generated by this programmer don'tseem to agree with the voltages specified forprogramming the 1702A in the manufac-turer's documentation. However, if you lookat the voltages with respect to Vcc (pin 12),they do agree. Follow the programminginstructions of table 2 exactly and be sureyou don't turn power on or off while anEROM is in the socket. The monostablcscould be triggered and program unwantedbits in the EROM. Also, turn the ProgramEnable switch to off when inserting orremoving EROMs. Table 2 gives a completelist of programmer connections and a cali-bration test.

A program for use in your 8080 typecomputer to program the 1702A (or equiva-lent) is shown in table 3 and the accompany-ing flow chart is shown in figure 4. This

program is loaded into your computer start-ing at octal location 001/000, and the datato be written into the EROM is loadedstarting at location 002/000. If any errors inprogramming are detected, the InterruptEnable (INTE) light will light and the EROMaddresses of the invalid words will be storedconsecutively starting at octal location000/000. The program runs for about 2.25minutes and then halts. If you have an 8008system, you can translate the operations andchange the timing loops accordingly. Forusers of other machines, comments and aflow chart are provided to aid in translatingthe 8080 code for your cuidalue.. ThisEROM program can be entered and operatedentirely from front panel switches or, forthose with a teletype, punched tape, TVtypewriter, etc., the program can be modi-fied to suit. In any event, check that thetiming loops are correct for your particularsystem before attempting to use the pro-grammer to actually program EROMs.

Good luck with the PROM/EROMs foryour computer."

Table 3: 8080 program for EROM programmer.

001 /ooo

257

XRA

A ;

/001

117

MOV

C,A ;

/002

137

MOV

E,A ;

/003

323

004

OUT

4

/005

041

000

002

LXI

H.DATBK ;

/010

323

003

START:

OUT

3 ;

/012

176

MOV

A,M ;

/013

323

002

OUT

2

/015

076

004

MVI

A,004

/017

323

004

OUT

4

/021

006

260

MVI

B.260 ;

/023

026

000

MVI

D.000

/025

025

DELAY1

DCR

D ;

/026

302

025

001

JNZ

DELA1

/031

005

DCR

B

/032

302

025

001

JNZ

DELAY1

/035

257

XRA

A

/036

323

004

OUT

4

/040

006

003

MVI

B,003

/042

025

DELAY2

DCR

D

/043

302

042

001

JNZ

DELA2

/046

005

DCR

B

/047

302

042

001

JNZ

DELA2

/052

333

002

IN

2

/054

276

CMP

M

/055

312

064

001

JZ

ALLOK

/060

373

El

/061

173

MOV

A,E

/062

002

ST AX

B

/063

014

INR

C

/064

076

377

ALLOK:

MVI

A.377

/066

273

CMP

E

/067

312

100

001

JZ

STOP

/072

034

INR

E

/073

043

INX

H

/074

173

MOV

A,E

/075

303

010

001

JMP

START

/100

166

STOP:

HLT

002/000

(EROM DATA)

DATBK:

BLK

256.

CLEAR REGISTER A

SET ERROR TABLE ADDRESS

SET FIRST EROM ADDRESS

DISABLE PROGRAMMER

SET ADDRESS FOR DATA TABLE

SET EROM ADDRESS

GET DATA FROM TABLE

LOAD DATA TO EROM

SET BIT 2 = 1

ENABLE PROGRAMMER

SET DELAY COUNT

DELAY FOR 520 MSEC*

CLEAR REGISTER ADISABLE PROGRAMMERSET DELAY COUNTDELAY 9 MSEC*

READ PROGRAMMED DATA

CHECK DATA - IS IT CORRECT?

JUMP IF OK

BAD DATA - TURN INTE LIGHT ON

GET DATA ADDRESS FOR DATA

STORE BAD DATA ADDRESS

INCREMENT ERROR TABLE ADDRESS

CHECK IF DONE PROGRAMMING THIS CHIP

AT LAST ADDRESS?

HALT IF DONE

INCREMENT EROM ADDRESS

SET NEXT DATA ADDRESS FOR DATA TABLE

GET NEXT EROM ADDRESS

CONTINUE - PROGRAM NEXT WORD

HALT -ALL DONE

*Note: Time delay loops are shown for an ALTAIR 8800 with a clock frequency of 2 MHz. Total loop time = 11.5 usee for an apparent frequencyof 1.3 MHz.

34

Classified Ads Available forIndividuals and Clubs

Readers who have equipment, software or otheritems to buy, sell or swap should send in a clearlytyped or printed notice to that effect. The noticesare free of charge and will be printed one time onlyon a space available basis. Insertions should belimited to no more than 100 words. Notices can beaccepted from individuals or bona fide computerusers' clubs only. Commercial advertisers shouldcontact Virginia Peschke at BYTE for the latestrate card and terms.

WANTED: Back issues of BYTE. I need one eachof issues =^1, 2, 3, and 4. If you are willing to sellany one of these, please write stating price. K TMatthews, 5959 Student Union Mall, VancouverBC, Canada V61 1 K2 (6041 224-5672.

SWAP OR SELL: TIL 302 0.27 inch 7 segmentLED display, TIL305 7 by 5 matrix LED displays,TIL360 4 digit calculator type displays, 4.255 MHzcrystals, regulator boards with +12, +6, and —6Voutputs, AA Nr-Cads, Cal-Tex CT5001 andTC5005 calculator chips, Model 26 KSR Teletype,and misc. TTL and linear (Cs. Will swap formicroprocessors, memories, TVT-II boards, etc.Also need software for Mostek MK5065 micro-processor and would like to contact other 5065users. Please send address and phone number to CLee, 1221 Miller Rd, Apt 234, Garland TX 75041.

CORE MEMORY SYSTEM FOR SALE. 16,000words, 32 bits per word, with schematics. 2 masterunits and 2 slave units available, also small drummemory unit. Will sell real cheap to best offer t getin cash and or equipment in trade. Call David Kohl,(212) 253-3401, evenings.

FOR SALE: MITS Altair 8800 minicomputer.Factory assembled, $500. Two assembled 4Kmemory boards, $150 each. Serial interface card88-SIDA $110. Three 88-EC Extender cards $70.$950 takes all. Call Michael H Chandler, (916)331 -4032 after 5 PM PST.

TRADE OR SELL: One DEC PDP-8/L mini-computer. Has 12 bit word, 4K memory and TTYinterface. Will sell for $850 or trade for goodoptical PT reader. All software included.EDUSYSTEM-10 BASIC, assembler, text editor,tests, etc. Call or write B Wheeler, Box 363, Route24, Chester NJ 07930. (201) 879-5746.

FOR SALE: MITS 88-SIOA RS-232 serial 10interface for Altair 800 $80 assembled. 88-MCS256 byte static memory $60 assembled. DavidRichards, 6655 Hill St, El Cerrito CA 94530, (4151529-0759 evenings.

SELL OR TRADE: Like-new IBM Model 213Dictating/Transcribing Machine. 3 inch wide beltand indexing card makes a random-access magneticstorage media; just move the level to the file youwant. Far better than a cassette. Complete withremote controls, cover, new tape and a bunch ofnew index C3rds! Super neat! Have 6 units. Only$150 each. Also have some Boeing Electronics CallDiverters (demo units). You can use as intended oras auto dialer for computer-controlled applications.Only $225. Call or write R E Larson, 2524 BurnettCt So, Renton WA 98055 (206) 255-4094.

A DREAM COME TRUE: Two model 35 ASRconsole Teletypes complete, in superb condition,$1000 each. Also 450 reels of computer tape 2400feet, mosi wilh tape seals, $2 each. Pick up, cashonly. Kenneth C Hopper, 4021 S Bowman, Indi-anapolis, IN 46227, (317) 787-8661.

FOR SALE OR SWAP: 12 sheets of double sided,1 ounce copper circuit board, 3/32" by 11 1/4" by16 1/2". $12. Les Harrison, 1201 Country ClubRd, Wilmington NC 28401, 763-591*-.

FOR SALE: Two factory made Honeywell H-112computers. Memory; 12 bit core. Mainframe:Front panel with switches and lights, power supplyand cabinet. Software: Editor, SymbolicAssembler, Monitor and Debug, Diagnostics, TIC-TAC-TOE. Schematics and timing specs. Fullyfunctional, need only interface to your peripherals.Build or buy interfaces from Honeywell. ASR-33 +HS Papertape reader interface $225 extra. 4 K CPU(Expandable) $900. 8K CPU $1200. Terms:Money order and shipping and freight chargescollect. Specs only, $10. C Ziemlak, 2 ChamplainDr, Hudson MA 01749.

SMART CRT TERMINAL: Keyboard, two tapedrives and controls, color output and powersupply. Unit has limited functions with its ownprocessor but your own microprocessor can beworked in. Tape operations include delete, edit,search, etc. Unit, diagrams, two tapes and blackand white CRT. $995. Call John at (502)456-5471, 5 PM to 9 PM EDT.

Attention, Computer Hams. FOR SALE: OneMorse code to ASCII (parallel) converter withpower supply. Unit connects to speaker output ofany receiver. Unit is constructed in attractive woodgrain cabinet. Asking $150. Call (607) 754-0309,or write Jack Davis, 3304 1 /2 Pearl St, Endwell NY13760.

FOR SALE OR TRADE : Tektronix 453, excellentcondition, looking for disk drive, high speedreader/punch, DECTape, etc, for PDP-8M. FrankDepetrillo, 32 Quincy St, Providence, Rl 02908,(401) 751-2374.

FOR SALE OR TRADE: Mitey-Mite TTYw/keyboard IC controller; Drake R4A-TX4AC3-MS-4-L4 ham station. Want ASR-33. GMcKee, 1117 S Rodgers, Okmulgee OK 74447.(918)756-2978.

WANTED: Model ASR 33 Teletype. Please specifyfeatures, condition and price. James E Crane, 5650Windsor Way *308, Culver City CA 90230, (213)649-4187.

Bits About BYTE Binders

Debbie's in a bind. She can't answer allyour binder requests and do everything elsetoo. When we make the binders in the fall,we'll let you know about it in BYTE."

iNTRoduciNq The

MICRO ALTAIR

The complete Computer Systemthat requires just a keyboardand TV monitor for use.

The MICRO-ALTAIRis:The hardware — video terminal interface board, CPU/ROM/

RAM board, backplane, power supply and cabinet.The software — video driver, debugger, operating kernel

supplied on ROM.The personal computer systBm — complete, expandable, no

loose ends — a complete and powerful tool;THE SOLUTION BOX FROM POLYMORPHIC SYSTEMS.Applications include smart terminals, data acquisition systems,games, accounting, front-end for a larger computer-anywhere alittle processing is required

COMPLETE SYSTEM |EXCEPT FOR MONITOR AND ASCII KEY-BOARD] S575.00 KIT. DELIVERY 60 DAYS - SERIAL I/O ANDCASSETTE OPTIONS AVAILABLE.

1 s§SINPiIi',?i#% ■».

MillJtiiiV

TF"F?MTNAi

I WmmmV \l IJL 1 if ft*.

t * »«»* **•* WCWMIil

t l# I MM' •'WdM mm,,

» **p##r mm0 »**•* «#« *?** 4*m#I «i|lnrt <•»■»« wt m tear*

t fir****** #*#**** *%t'rwM* ** {g^f

twwwwwK swims

Go to your local computer store and compare

Video Terminal Interlace — characters are stored in on-board memoryEntire screen may be read or written in 20 milliseconds Software includesa text editing system with scrolling and insert and delete by character orline

S230 00 assembledS?60 00 assembled

VTI/32 32 character line SI 60 OG kit

VTI/64 64 character line SI 85 DO kit

VTI/SK Socket kit lor VTI kit S 15.00Delivery — 30 days

Analog Interlace — 1 or 2 channels at analog output with 10 bits ol reso-lutions '0-10V or t 5V with bipolar option I 6 bits ol latched digital outputand 8 analog comparators lor software controlled A/0 conversionsADA/1 1 analog output S135 00 kit S175 00 assemhled

ADA/2 2 analog outputs S185 00 kit $235 00 assemhled

ADA/SK Socket kit lor ADA kit S 10 00Delivery — 30 days

All prices and specifications subject to change without notice Prices are USA onlyCalil residents add 6% sales lax. Add 5% shipping, handling, and insurance

POLYMORPHIC SYSTEMS

737 S. Kellogg. Goleia, CA 9301 7

BflnkAmencarrl and Maste

(805) 967-2351

35

Serialize Those Bits FromYour Mystery Keyboard

Dr George L Haller1500 Galleon DrNaples FL 33940

Figure J: Parallel ASCII to Serial ASCII Converter. The output of an ASCIIkeyboard can be converted from parallel to asynchronous serial format usinga UART and two 555 timers. The result can be used to drive the 20mA cur-rent loop of the Teletype print mechanism.

OSCILLATOR

!&P0LV a

i-WV

X

C3lMF

€

_I_C4

IC3a74 06

IC2555

PULSESTRETCHER

GROUND

ACK

POWER

FLAG

D6

D5

D4

D3

D2

01

DO

l

^

(J>

%--T*

©-

©■

fioV

d>

SANDERS

KEYBOARD

TERMINALS

7406POWER-PIN I4«+5VPIN 7-GND

1T06

D5

DO

IC4AY-5-IOI3

UART

♦ 5VA

X

R5

ioon

C7lMF

oTTY-

Hl

•^12 L0

20mA

CURRENT LOOPDRIVE

3,21

X

~7h

C6

.lMF

Ar

note:most uart pins are"no connection"

Now that you have deciphered yourmystery keyboard, (page 62, September1975 BYTE) and have determined whichterminals are for the power supply, data bits,and flag pulse, what are you going to dowith it? Well, one good use is to make it partof a Teletype style terminal. The Teletypemodels 33KSR or ASR, which are completewith printer and mechanical keyboard, arestill quite expensive, usually over $1000new; but the model 33R0, which consists ofthe printer only, can be bought for less thanone half of that price. Now, mate the model33RO Teletype with your electronic key-board and you have the equivalent of the33KSR for your computer terminal. TheASR is the same with the addition of papertape punch and reader. The computer ter-minal is usually specified as a full duplexterminal which merely means that whileboth the printer and the keyboard operatewith serial data, they are not connectedtogether except through the computer. Thefollowing is a description of a small adapterwhich will convert your electronic keyboardfrom a parallel to a serial output devicewhich will then be the keyboard half of yourfull duplex terminal. The cost of the partsfor this adapter, exclusive of power supply,is less than $10.

The main component of this adapter is,of course, the UART which has been usedfor several years in communication circuitsfor scries to parallel and parallel to scriesconversion. An excellent explanation of theUART was given in the very first issue ofBYTE. (Don Lancaster's "Serial Interface,"page 22, September 1975 BYTE.) In orderto use the UART, we write in 8 bits ofparallel data whenever a key is struck. Thekey pressed pulse sent to the UART must benegative going and have the correct width todrive the UART strobe. A clock frequency

36

of 1760 Hz must be applied in order to get a110 baud data rate out of the UART. Theoutput will produce a high level mark and alow level space. Note that we are only usingone half of the UART. The adapter shownhere was made for the Sanders keyboard,but it should be applicable to any keyboardif considerations are made to insure that thestart pulse sent to the UART is negativegoing, and data is in true form (logical 1 is ahigh level). Looking at figure 1, we find thatthe power is applied to UART pins 1, 2, and3. The power requirement is about 200 mAat 5 volts (pin 1) and 10 mA at -12 volts(pin 2). The data bits are wired directly fromthe keyboard to the UART as shown.Terminal 6, the acknowledge function to thekeyboard, is grounded. Terminal 8 of thekeyboard is the key pressed flag. In theSanders keyboard, this flag is a negativegoing pulse which is too short to operate theUART directly. This pulse is first stretchedin a 555 timer circuit (IC2). This particularstretcher requires a negative input. Afterstretching, it is reinverted in a section of the7406 and applied to the UART. The clockcircuit is also a 555 (IC1). The outputfrequency at pin 3 of IC1 should be adjustedto 1760 Hz. This can be determined by usinga frequency counter or by adjusting thepotentiometer until good copy is obtainedwhile the keyboard and adapter are con-nected directly to the 33R0. The frequencyshould be held to an accuracy of about 1%,but this is no problem with a good poly-styrene condenser shown as 0.01 ;uF. Mostof the other terminals on the transmissionside of the UART should be a high levelinput, which means that they can be leftunconnected, since they have internal pullups. The exception is terminal 21 which isgrounded. The serial output is connectedthrough the inverter with an external pull upresistor which provides the loop with a markcurrent of 20 mA and a space current ofzero.

Another slight modification of theSanders keyboard will make it more useful.As received, the keyboard has no "line feed"key. It is a simple matter to convert the TABkey to an LF key. We must change the codefor this key from an 013 to an 012 octal,which means wc must change the zero bitfrom a l to a 0. Find the terminal at aboutthe center of the rear of the diode matrixlabeled "VT". A yellow wire connects thisterminal to the TAB key. On top of thematrix board this terminal is connected to asingle diode. Either end of this diode shouldbe disconnected. This is the zero bit diode.There are two other diodes still connectedunder the board which will leave the code012 octal."

If you want a microcomputerwith ail of these standard features • • •

• 8080 MPU (The onewith growing soft-ware support)

• 1024 Byte ROM(With maximum capacity of 4K Bytes)

• 1024 Byte RAM(With maximumcapacity of 2KBytes)

•TTY Serial I/O•E1A Serial I/O

• 3 parallel l/O's•ASCII/Baudotterminal com-patibility with TTY machines or video units

• Monitor having load, dump, display, insertand go functions

• Complete with cardconnectors• ComprehensiveUser's Manual, plusIntel 8080 User'sManual• Completelyfactory assembledand tested—nota kit

•Optional ac-cessories: Key-board/videodisplay, audiocassette modeminterface, power supply, ROM programmerand attractive cabinetry... plus more optionsto follow. The HAL MCEM-8080. $375

then let us send you our card.

HAL Communications Corp. hasbeen a leader in digital communi-cations for over half a decade.The MCEM-8080 microcomputershows just how far this leadershiphas taken us... and how far itcan take you in your applications.That's why we'd like to sendyou our card—one PCboard that we feel is thebest-valued, most complete

ffl

microcomputer you can buy. Fordetails on the MCEM-8080, writetoday. We'll also include compre-hensive information on the HALDS-3000 KSR microprocessor-based terminal, the terminal thatgives you multi-code compati-bility, flexibility for futurechanges, editing, and aconvenient, large videodisplay format.

HAL Communications Corp.

Box 365,807 E. Green Street, Urbana, Illinois 61801

Telephone (217) 367-7373

37

An Octal Front Panel

Herman DeMonstoy

2 Pioneer Rd

Painted Post NY 14870

A standard method of writing a programinto a computer has been to use toggleswitches. Being lazy and becoming very tiredof toggling in data, I was sure there was abetter way. Figure I is a block diagram ofmy "better way" to input front panel data.This is a keyboard control unit which elim-inates most of the toggle switches, replacingthem with an octal data entry keyboard andvarious function buttons. No program needsto be entered before using it. The computersees the data just as if the original toggleswitches were there, but one keystroke now

HIGH ADDR.

MICROPROCESSOR CONTROL

LOW ADDRDATA

ALLCONTROL

A

HIGHREADOUT

f

A

LOWREADOUT

8 BITLATCH

I

A

8 BITDECODEANDLATCH

IO TO 18KEYS

CONTROL switches:

HALT

I CYCLE

RESET

RUN

EXAM.

EXAM. NXT

DEPOSIT

DEP. NXT.

INTERUPT

DEPOSIT HIGH ADDRESS

Figure I: Block Diagram of a Front Panel Control. Fhe idea is to use an octalentry keyboard to enter data which is decoded and latched into several 8 bitregisters.

performs the function which had requiredthree toggle switches.

Programming with this design is doneusing octal codes. The reason I chose octal isthe fact that a seven segment display doesnot conveniently decode four bits intohexadecimal digits. I use this design as themain control panel of my new experimentalcomputer based on the 6502 chip.

Theory of Operation

Figure 2 shows the schematic of the mainportion of the circuit. When a number key ispressed, the strobe line (pin 8 of \C 28) goeshigh and starts the first oneshot (IC25A). Atthe same time, the data lines have been setup to the binary code of the key beingpressed. The encoding is done by the 7420NAND gates, IC26A, IC26B and IC27A. Thefirst oneshot writes data into the third latch(IC21) using the old output of the secondlatch (IC20). At the end of the pulse fromthe first oneshot, the second oneshot(IC25B) is fired. This writes data from thefirst latch (IC19) into the second latch(IC20). At the end of this pulse, the thirdoneshot (IC24A) is fired. This writes thenew octal digit into the first latch. In thismanner data will shift to the left one octaldigit position each time a key is pressed.Progress of the shifting can be watched inthe octal display connected to the outputsof the entry latches. When the correct data isfound in the display, the deposit switch orother functions associated with the com-puter can be activated to enter the data intothe computer. A second 8 bit latch to accepthigh order address information is shown inthis design. By pressing the DHA (DepositHigh Address) key, data is transferred fromthe entry byte to a second one byte latch

38

INTEGRATED

CIRCUIT

POWER

CONNECTIONS

IC

+ 5V

GNO

7475

5

12

74123

16

8

7420

14

7

74 30

14

7

7447

16

8

15 14

HIGH ORDER13 12 II

LOW ORDER / DATA

NOTE-.IjiF BYPASS CAPACITORSSHOULD BE WIRED FROM+ 5 TO GNO AT SEVERALPLACES.

Figure 2: KeyboardDecode and Latching Cir-cuits. The NAND gates areused to encode keystrokeswhich are entered into thelow order at lCi9. Shiftingaction controlled by one-shots is used to move dataout of IC19 into IC20then into IC2I (see textfor description). A second8 bit latch, manually con-trolled, is formed by IC22and IC23 and is used todefine high order addressinformation.

. C4 TO 12.1/j.F, EACH KEY

used to define bits 8 to 15 for use in address-ing the memory of my computer.

The wiring of the displays is shown, alongwith a power regulator in figure 3. Each byteof information which is to be visible has asimilar set of displays.

Construction

The keyboard was constructed on a 5inch by 5 inch (12.7 cm by 12.7 cm) pieceof printed circuit board material, with con-nections along one edge. A wire wrap boardmade out of Vector 0.1 inch grid (2.54 mm

grid) stock and wire wrap sockets was usedto mount integrated circuits; a small boardwas also fabricated to hold the display cir-cuits. Figure 4 shows a top view and a sideview of the mechanical arrangements in myoriginal.

Bypass capacitors of 0.1 jiiF were usedliberally between the power supply andground. 0.1 /jF capacitors were alsomounted from the switch outputs to ground.These bypass capacitors were found neces-sary to keep from getting extra entries forsingle keystrokes. If the oneshots are inad-

39

+7 T0 8VDC

LM309K

T 39MF 1 ' T 39^

/" iov rh f>7 iov

+ 5V REGULATED TO ALL IC S $

LED DISPLAYS-

IC3 IIC6)

HP 5082-7730

Figure 3: 3 Digit OctalDisplay and Power Regu-lator. One such display isrequired for each byte; the9th bit is wired to zero forthe purposes of decodingthe high order digit.

IC7 TO ICI2 ►

ARE AB34B27I4 |C9

RESISTOR NETWORKS. (ICI2)USE 270 OHM, 1/4 WRESISTORS IF SUB-STITUTION REQUIRED.

+ 5V

l

IC2 (IC5)HP5082-7730

IC87 (ICII)

h

7 SEGMENT DECODE-

Hi

+ 7 TO 8VUNREGULATED

T

ICI (IC4)

HP 5082-7730

1CI5 (ICI8)7447

7 6

\F

3

1

1

0000

O °

0000000000

I)

0

o!

0000

HLT

1CY

RST

RUN

EXM

EXMNXT

INT

DHA

5

e

7

DEP

2

3

4

DEPNXT

0

1

o. TOP VIEW

PC BOARD

7 SEGMENTDISPLAYS —

KEYS

Q-tK\ rh rh rh 5 ^

/z±-

VECTOR BOARD

^WIRE WRAP SOCKETSb. SIDE VIEW

WIRE WRAP PINSFROM EACH KEY

Figure 4: Mechanical Layout of the Author's Unit. The placement of parts isshown schematically in this illustration. The octal keys are at the lower leftportion of the keyboard; the remaining keys are function buttons for theauthor's 6502 computer system.

h

ICI4 (ICI7)7447

"T

ti

IC7

(IC10)

ICI3 (ICI6)7447

/\ /\ /\

5 4 3

\S

/\ /\ /\

vertently triggered on a key release, a zerowill appear as the last entry in the display.

I mounted this keyboard on an 8 inch by10 inch (20.3 cm by 25.4 cm) sloping panelbox that serves as the front panel of my6502 computer. There is plenty of room leftin this box for the rest of the manual con-trols. I plan eventually to put address anddata lights on this panel also.

Extensions and Modifications

There are many possible variations of thisidea that could be considered. This design isintended to take the place of the 16 addressand data switches that appear on many com-puters. Using only three displays, it couldalso be used as a terminal to enter 8 lines ofdata through an IO port.

The seven segment display could be re-placed with 16 single LEDs, or with a suit-able hexadecimal display, or even elimi-nated. If you have low order addressswitches which are separate from dataswitches, then a third 8 bit register anddisplay just like the high address could beadded to make a total of 24 lines.

I used a 7 to 8 volt unregulated powersupply with a regulator for the ICs as shownin figure 3. The unregulated voltage was rundirectly to the display LEDs. If you use thecomputer's 5 volt supply for the displays aswell as logic, then the 270 O limiting re-sistors can be replaced with 150O resistors.The total current required for the circuit isabout 1.5 amperes in either case. If you havea regulated supply, the regulator circuit offigure 3 can be omitted."

40

A New Low for Paper Tape Input Costs. . .

One way to lower the cost of mechanic-ally oriented peripherals such as paper tapereaders, printers, tape recording, etc, is tominimize the number of mechanical partsrequired. Here is an example of the result ofsuch a strategy, the OP80A Low Cost PaperTape Reader manufactured by Oliver AudioEngineering. There are "no moving parts" -except the paper tape itself when it is pulledthrough the guides as part of a readoperation.

The device is designed to interface withan 8 bit parallel 10 port for any of themicroprocessors now on the market. It isideal for loading all types of microprocessorsupport software in cases where it is distrib-uted on paper tape. A well known 12Kextended BASIC package is said to beloadable in 30 seconds (by experienced tapepullers). The electronic limits set a maxi-mum feasible rate of 5000 CPS, with theactual rale entirely determined by the speedat which you pull the tape past the precisionoptical sensor array. If you make or buy ahigh speed paper tape winder, your rate oftransfer could be quite high.

The device is available as a fully as-sembled and tested version for $95 or as akit for $74.50. The device has four statusLEDs, an anodized aluminum box, lour feetof flat interface cable, assembly instructions(for the kit), interlace schematics and re-lated documentation. Oliver Audio Engineer-ing is located at 1 143 North Poinsetlia Dr,Los Angeles CA 90046, (21 3) 874-6463.*

What's

New?

IMSAI

announces

a unique

4KRAM

board

for just

$139.

Nobody has a 4K RAM boardthat gives you so much for yourmoney. It's fully compatible withthe Altair 8800.

Through the front panelor under software control, youcan write protect or unprotectany IK group of RAM's. Alsounder software control you cancheck the status of any 4K RAMboard in IK blocks to determinewhether it's protected or not. Theboard has LED's that clearly showyou the memory protect statusof each IK block and whichblock is active. And there's acircuit provided that will let youprevent the loss of data in thememory if there's a power failure.This low power board has aguaranteed 450 ns cycle time-no wait cycle required. There'snothing like the IMSAI 4K RAMboard around.

Dealer inquiries invited.

IMS Associates, Inc.

IT.

IMS Associates, Inc.1922 Republic Ave.San Leandro, CA 94577(415) 483-2093

Order Your IMSAI 4K RAM Board ForOnly $139. Use BankAmericard,Master Charge, personal check ormoney order.

~l

□ Send .

D Charge to my credit card

□ BAC No .

□ MC No _

4K RAM hoards today

Signature-Name

Address

City/State/Zip-

LT

^J

41

Figure 1: Three special patterns of stars and black holes. The game beginswith a single star representing the Big Bang theory (left), and is won when thepattern of only one central black hole is achieved (center). The pattern shownon the right represents a loss and terminates the game.

SHOOTING STARS

Willard I Nico

Delta t

11020 Old Katy Rd, Suite 204

Houston TX 77043

There are probably as many reasons tohave a computer in the home as there arecomputers in homes. For whatever reasonyou have one though, it's only human natureto want to show it off to other people.

Say you have a super program called"Investment Portfolio Analysis andStatistical Summary" (IPASS) up andrunning on your Scclbi 8H or whatever. Ittook months to write and debug the pro-gram and it involved several unique conceptsof which you are justifiably proud. You canpicture the furious activity going on insidethe little heart of the computer and woulddearly love to show off your skill to Mr andMrs Nexdor and bask in their admiration.So you invite them over for cocktails.

The program runs flawlessly and, as theresults flash on the display screen, you stepback slightly to receive your praise. MrNexdor looks at you with a blank expressionand says, "But will it grind pepper?"

That actually happened to me. One wayaround this problem is to save IPASS foryour own enjoyment and have a gameprogram or two available to show off. Ofcourse, for some people game programs arethe primary interest in having a homecomputer. Whatever your games interest, I

think you'll find SHOOTING STARS aninteresting addition to your library.

I started my quest for a "show-off" gameabout a year ago, searching everywhere forone that was just right. I learned a veryinteresting fact quickly: My computerdoesn't speak BASIC, and to date manygames have been written and published inthat language.

So I had to do it myself. The result isSHOOTING STARS, a game with enoughchallenge to intrigue, enough variables tomake learning to win difficult (but notimpossible), and a couple of goodies thrownin to involve the player with the computer.

A complete program listing for 8008computer is included, as well as the variousmessages that allow the computer to interactwith the player.

The Game

Nine dot or asterisk characters arcarranged in a 3 by 3 matrix on the playingfield which may be shown on a CRT screen.The matrix represents the universe; asterisksarc stars and dots arc black holes. The playershoots stars which die and turn into blackholes. When a star dies, it affects other starsand black holes in its particular galaxy.

42

How To Play

Each position in the universe is assigned anumber (sec figure 2). The computeroutputs the current composition of theuniverse and asks YOUR SHOT? The playcrresponds by typing the position number ofthe star he decides to shoot. Then the newconstellation is displayed for the next shot.

Effect Of Shooting A Star

When a star dies, it affects the stars andblack holes of its particular galaxy. Theeffect is that fragments of the star move intoblack holes to become new stars and otherfragments collide with other stars and knockthem out of orbit producing black holes.Each star has its own galaxy as shown infigure 3.

The Program

The game proceeds in an orderly mannerwhich is shown in the Flow Chart of figure 4.The heading, rules and interactive messagesrequire approximately 1600 B of memory. Iuse a Delta t Digital Recorder for messagestorage and retrieval since it operates in thereverse as well as forward incrementalmodes. Each message is prefaced with a

message number surrounded with STX andETX characters. A search routine in themain program finds the first address, decideswhether the desired message is ahead orbehind the current tape position, andrewinds or spins forward as necessary.

Table 1 is a list of the interactivemessages. For computers with limitedmemory the essential messages are in thefirst portion of the table; the fancy headingis next, and the rules of the game occupy thelargest number of bytes at the end of thetext.

When the program is entered at address014000, the 8O08's H and L pointers arc setto the beginning of the heading. Then themessage control routine is called. It outputssequentially each character of the messageuntil the EM delimiter is encountered whichreturns control to the main program.

The status of the universe is stored in theB and C registers. Universe positions Ithrough 4 and 6 through 9 arc representedby the eight bits in the B register. A one bitrepresents a star, and a zero a black hole. Bit0 of the C register keeps track of position 5.

The universe is set up in the beginning byclearing the B register and setting C to 001

Figure 2: Positions in theuniverse are identified bynumbers.

Figure 3: A complete setof galaxies which areassociated with every staror black hole position.Stars or black holes withina galaxy are affectedwhenever the respectiveposition has been chosen.

octal. The D register, which will tally thenumber of shots fired, is also cleared as partof the initialization process. Each time theprint universe routine is entered after a validshot, the D register is incremented to countthe shot.

Displaying The Universe

First, the print universe routine isentered. This routine sets the E register tooctal 012 and will decrement the registereach time the print loop is executed. The Eregister tells the program when it needs toinsert a couple of linefeeds for spacing, whenit needs to branch to the position 5 specialroutine, and when it has finished printingthe universe. These events occur at thefollowing E register exception counts:

006 — Insert two linefeeds

005 — Go to position 5 subroutine

003 - Insert two linefeeds000 - Done Print; exit

In normal processing, the positions repre-sented by the bits in the B register areinspected one-by-one for star or black holestatus, and the corresponding symbol isprinted. It's done like this: The B register isloaded to A and rotated one place to theright. The rotated byte is loaded into B to beready for the following position next timearound in the loop. The carry flag is thentested for a one or zero. If the carry is zero,the program jumps to the dot outputsection. A one in the carry bit causes theasterisk output to be executed.

At the exception counts, further pro-cessing is required.

Thus when the E register count indicatesthat position 5 is the next one to be printed,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 chartcorrespond to the labels found in table 3.

(begin j

WINTEST

9

ar|

'YOUR

SHOT'

SEARCH E

INMASKTAB

.FOUND > ' C STAR

BAD SHOT'

CHANGEGALAXY

COUNTSHOTS

<t)

'YOU GIVEUP TOO EASY

r-0

E IS ANINVALIDSTAR

( END J

44

rotates the least significant bit to carry. Theprogram then jumps back to the asterisk anddot output portion of the loop. Note thatthe rotated C register content is not loadedagain to C, since we are only interested inthe least significant bit.

Table 1: Program Messages. This table lists all the messages used bySHOOTING STARS. Each message entry in the table starts with a symbolicname and an absolute address. The text should be stored at ascendingmemory address locations, and terminated with an end of message (EM)delimiter of octal 031, which is printed as ■. The symbolic names in this tableare referenced by table 3.

Shoot A Star

When the universe has been displayed, themessage YOUR SHOT? is printed and thecomputer waits for the player to type anumber from 1 to 9 which indicates the starhe wants to shoot. The ASCII code for thenumber the player types is compared to thefirst byte in each group of four contained inthe MASKTAB table 2. The number of triesat the table is monitored by the E register,which starts at 011 and is decremented eachtime around the "test for match" loop. Ifthe E register gets to 000 without finding amatch, the input is tested for code 177(delete), indicating that the player gives upand wants to start over. If a match still can'tbe found, the NOT A VALID STARNUMBER message is printed, and theuniverse displayed again. If this happens, theprint universe routine is entered just afterthe instruction that causes the shot to becounted, so the player won't be charged forhis mistake.

When a find is made in the MASKTABtable, the program is ready to process theplayer's shot. First, it must make sure theplayer is following the rules and hasn't shota black hole. The second byte of the fourbyte group is used as a "mask" to blank outall the positions of the universe except theone that has been shot. Figure 5 shows howthe mask is used with the Boolean ANDfunction to isolate the bit representing theshot position from among the eight bits ofthe B register. After masking out all but theselected position, the resultant byte is testedto see if it is zero. If it is, the shot positionwas a black hole and the message HEY!YOU CAN ONLY SHOOT STARS, NOTBLACK HOLES! is printed. If this happens,the universe is displayed again withoutcounting the shot.

If the mask itself is zero, it indicates thatposition 5 was selected, and so the program

HEYI YOU CAN ONLY SHOOT STARS.NOT BLACK HOLES.

MESS2:

016077

THAT WASN'T A VALID STAR NUMBER!

TRY AGAIN!

016156

YOU LOST THE GAME!

WANT TO SHOOT SOME MORE STARS'

YOU WIN! GOOD SHOOTING!YOU FIRED •

SHOTS.BEST POSSIBLE SCORE IS 11 SHOTS.

WANT TO SHOOT AGAIN. DEAOEYE?

MESS6:

017022

YOU GIVE UP TOO EASILY!

WANT TO SHOOT SOME MORE STARS' .

MESS7

017114YOUR SHOT?

HMESS'

017131S H O

O • T

I N G

SSS

AAAA A

RRRRR

SSS T A A

SHOOTING STARS"

A BRAIN TEASER GAMEWANTTHE RULES' .

THERE ARE STARS:AND BLACK HOLES:IN THE UNIVERSE

YOU SHOOT A STAR

INOT A BLACK HOLE]

BY TYPING ITS NUMBER 1 2 3

4 5 6

7 8 9

THAT CHANGES THE STAR TO A BLACK HOLE'

ITO SEE MORE RULES. TYPE ANY KEY.) ■

SSS

S

SSS

PAGE2:

021277

EACH STAR IS IN A GALAXY. WHEN YOUSHOOT A STAR, EVERYTHING IN ITS GALAXYCHANGES. ALL STARS BECOME BLACK HOLESAND ALL BLACK HOLES BECOME STARS.

GALAXIES:

• 2 • . • 3 ■ • 4

6 • •

7 • . • 8 •

(TYPE ANY KEY FOR LAST PAGE OF RULES.) •

THE GAME STARTSWITH THE UNIVERSELIKE THIS

YOU WIN WHEN YOUCHANGE IT TO THIS

YOU LOSE IF YOUGET THIS

READY TO PLAY. TYPE ANY KEY TO STARTTHE GAME, GOOD LUCK! •

45

DATA 1 0MASK 0 0

1 1 00 0 0

1 0 11 0 0

1 0

0 0

1 1 00 0 0

0 0 1

1 0 0

RESULT 0 0

00

0 0 0

1

0

1 0 0

0 1

1 1

0 0

0 0 0

0 0 0

0

0

TT

Figure 5: The AND function of Booleanlogic is used to mask the current universe inorder to select one position for testing eachshot.

POSITION

GALAXY

CENTER

LOCATION

SHOT

MASK

MASK

MASK

MASKTAB 015070

061

001

013

001

015074

062

002

007

000

015100

063

004

026

001

015104

064

010

051

000

015110

065

000

132

001

015114

066

020

224

000

015120

067

040

150

001

015124

070

100

340

000

015130

071

200

320

001

Table 2: MASKTAB, a table of masks to test and alter galaxies. This tablegives the data needed for memory locations 015/070 to 015/133 in theSHOOTING STA RS program. This table is used to check the shot fired for avalid star number and to change the portion of the universe which is affectedby the star's change.

POSITIONS IN GALAXY

MASK 10 110 10 1DATA 00 010 110

RESULT 10 10 0 0 11

9 8 7 6 4 3 2 1

Figure 6: The EXCLU-SIVE OR function ofBoolean logic is used tocomplement bits selectedaccording to the galaxyinformation stored for theposition just shot.

tests the C instead of the B register for astar.

Change A Galaxy

Once the program has determined thatthe shot was valid, it can use the next bytein the MASKTAB table to change the dotsand stars in the galaxy of the "shot" star.Again, the table entry is a mask, but thistime the Boolean EXCLUSIVE OR functionis used. The result is that the selectedpositions are complemented; one bits arechanged to zero bits and the zeros arechanged to ones. Figure 6 shows how themask does this neat trick. After the change ismade, the new universe is stored in the Bregister.

Byte four of the MASKTAB table entrycontains a mask that is used to EXCLUSIVEOR the C register to change position 5 ifrequired. If star 5 is to be complemented,the mask will be octal 001; if not, it will beoctal 000.

After the universe in the B and C registersis changed, the new universe is displayed andthe cycle repeats until a win or a loss isdetected, or until the player gives up.

Win Or Loss Test

Each time the universe is displayed, it istested for a win or a loss. If both the B andC registers contain the octal number 000,the YOU LOST THE GAME message isprinted, and the opportunity to play again isoffered.

If the B register contains octal 377 and Cis octal 000 a win is delected. After display-ing the proper message, the binary contentof the D register is converted to decimalnumbers and the number of shots fired isprinted. The calculation is performed by thebinary to decimal conversion subroutine.

Binary To Decimal Conversion

The B, C and E registers arc assigned thefunctions of summing the hundred, ten andunit digits of the score respectively. Theprocess is one of repetitively adding a one tothe three digit number while subtracting aone from the shots fired register (D).Looping continues until all shots fired havebeen counted in the 3 digit decimal form.

The somewhat unusual feature of thebinary to decimal conversion is that it isdone directly in ASCII numeric code. Thethree registers B, C and E arc intially loadedwith octal 060, which is the ASCII numericcharacter zero. After each increment, theleast significant digit register (E) is tested tosee if it contains octal 072. If it does, theregister has counted 060, 061 . . . 071,which is 0 through 9 in ASCII, and has justbeen incremented one more to 072. When

46

the register has 072, a carry conditionexists. When this condition is detected, theregister is reset to 060 and the next registerin line (C) is incremented. After incre-menting, the second register is tested for acarry in the same manner, and so on. Whenall the shots have been counted, theregisters B, C and E will not only representthe decimal equivalent of the shots fired, butwill contain the proper ASCII codes for thedecimal digits of the count.

Print The Shots

To suppress leading zeros, the hundredsdigit (B) is tested for octal 060. If it containsany other code, the contents of all threeregisters will be printed. If it contains octal060, the lens register (C) is similarly testedand the output will be one digit if it is atzero (code 060) and two digits if it is not.

Figure 7 contains a flow chart of thebinary to decimal conversion program. Youmay find use for it in some of your otherprograms.

Program Listing Conventions

Table 3 contains the complete program asit was implemented in my 8008 system usingthe SCELBI 8H computer. The listing is insymbolic assembly language with absoluteoctal address and memory contents.

The 8008 computer has 8 possible restartinstructions which are one byte calls tolocations in the first portion of memoryaddress space. These are used to accessutility subroutines needed by theSHOOTING STARS program. The requiredrestarts are as follows:

RST0: User's input routine, starting atlocation 000/000 which is used to wait forone character input from the keyboarddevice.

RST1: Exit Routine, starting at location000/010. This is a return address to thesystem monitor for the computer.

C BEGIN J

TALLYHO

( END J

Figure 7: A binary to dec-imal conversion is per-formed to output 3 dec-imal digits encoded asASCII numeric characters.This is a flow chart of theconversion routine, withlabels referring to table 3.

octal

address

octal code

label

op.

operand

commentary

014/000

006

012

SHOOTSTR

LAI

012

display a linefeed to

014/002

025

RST

2

initialize display:

014/003

066

131

LLI

LIHMESSI

set address pointers

014/005

056

01 /

LHI

HIHMESSI

to heading message;

014/007

106

134

015

CAL

OUTPUT

print message 8t return;

014/012

106

151

015

CAL

INPUT

call input looper;

014/015

074

116

CPI

■N'

is first letter *N'?

014/017

150

052

014

JTZ

ASTART

if so then plunge into game

014/022

066

147

LLI

LIPAGE1I

if not then point to first

014/024

056

020

LHI

HIPAGE1I

page 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

066

2/7

LLI

LIPAGE2)

point to second page of

014/034

056

021

LHI

HIPAGE2)

rules text;

014/036

106

134

015

CAL

OUTPUT

display second page of rules.

014/041

075

RST

7

wait for goahead;

014/042

066

13/

LLI

LIPAGE3)

point to third page of

014/044

066

023

LHI

HIPAGE3)

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

LBI

0

initialize the universe

014/061

026

001

LCI

1

to starting pattern;

Table 3: The SHOOTINGSTARS program specifiedin symbolic assembly lan-guage with an absolute list-ing of addresses and codesfor the author's system.

47

octal

address

octal code

label

op.

operand

commentary

014/063

331

LDB

then clear shot counter;

014/064

030

CNTSHOT

IND

count a shot (anticipatory);

014/065

046 012

SETCNT

LEI

10D

loop count 10 iterations.

014/067

041

DISLOOP

OCE

is the loop done?

014/070

150 321 014

JTZ

WINTEST

if so then go to win testing;

014/073

304

LAE

if not then continue display;

014/074

074 006

CPI

6

is it fourth cycle7

014/076

150 142 014

JTZ

LINFEED

if so then new line needed:

014/101

074 003

CPI

3

is it seventh cycle7

014/103

150 142 014

JTZ

LINFEED

il so then new line needed;

014/106

074 005

CPI

5

is it star number 5?

014/110

150 151 014

JTZ

FIVTST

if so then go test star 5;

014/113

250

NEDOT

XRA

clear the carry (and A too).

014/114

301

LAB

move universe to A;

014/115

012

RRC

rotate next place into carry;

014/116

310

LBA

save it in B for a while.

014/117

100 130 014

PSEUDOT

JFC

LOADOT

if dot then go output dot;

014/122

006 052

LAI

otherwise load a star;

014/124

025

RST

2

then print the star;

014/125

104 133 014

JMP

SPCNOW

branch around dot logic;

014/130

006 056

LOADOT

LAI

load a dot;

014/132

025

RST

2

then print Ihe dot.

014/133

006 040

SPCNOW

LAI

load a space;

014/135

025

RST

2

print one space.

014/136

025

RST

2

then print a second:

014/137

104 067 014

JMP

DISLOOP

waltz around loop once more;

014/142

006 012

LINFEED

LAI

012

load a line feed:

014/144

025

RST

2

display a line feed.

014/145

025

RST

2

then a second one;

014/146

104 113 014

JMP

NEDOT

back to print next dot or star;

014/151

250

FIVTST

XRA

no operation intended — leftover;

014/152

302

LAC

get position 5 status.

014/153

012

RRC

put status into carry;

014/154

104 117 014

JMP

PSEUDOT

rejoin main line after RRC;

014/157

006 012

GOTSTAR

LAI

012

load a line feed:

014/161

025

RST

2

have finished universe print,

014/162

025

RST

2

so punt several

014/163

025

RST

2

line feeds

014/164

025

RST

2

to separate

014/165

025

RST

2

successive rounds;

014/166

066 114

LLI

LIMESS7I

point to the 'yout shot'

014/170

056 017

LHI

HIMESS71

message;

014/172

106 134 015

CAL

OUTPUT

then go print it;

014/175

005

RST

0

call input for character.

014/176

025

RST

2

immediately echo the input;

014/177

340

LEA

save input temporarily in E;

014/200

006 012

LAI

012

load a line feed.

014/202

025

RST

2

print three line feeds to

014/203

025

RST

2

space out the response

014/204

025

RST

2

a bit more;

014/205

304

LAE

recover input lor testing;

014/206

046 Oil

LEI

90

loop count for table search;

014/210

066 070

LLI

LIMASKTAB)

set up pointer to the

014/212

056 015

LHI

HIMASKTABI

the mask table;

014/214

277

NEXGRUP

CPM

is inpul equal table chaiacter7

014/215

150 233 014

JTZ

FOUND

il so then go alter structure ol

014/220

041

DCE

the universe otherwise just

014/221

150 273 014

JTZ

INVAL

check end of loop;

014/224

060

INL

increment ihe L

014/225

060

INL

legister pointer

014/226

060

INL

four limes lo get

014/227

060

INL

to next table entry.

014/230

104 214 014

JMP

NEXGRUP

then go test next entry.

014/233

060

FOUND

INL

point to position mask

014/234

307

LAM

and load mask into A;

014/235

074 000

CPI

0

is il zero7

014/237

110 253 014

JFZ

UNIV2A

if not then fringe position;

014/242

302

LAC

otherwise ihe cenler position;

014/243

074 001

CPI

1

is a star in center7

014/245

110 165 015

JFZ

BADFELO

if not then have wrong move;

014/250

104 260 014

JMP

NEXBYT

if so then go process star;

014/253

301

UNIV2A

LAB

rest of universe to A;

014/254

247

NDM

AND with mask to isolate srar.

014/255

150 165 015

JTZ

BADFELO

if not stai then wrong move;

014/260

060

MEXBYT

INL

point to the galaxy mask;

014/261

301

LAB

feich universe again;

014/262

257

XRM

and complement the universe

014/263

310

LBA

on a line petlotmance;

014/264

060

INL

point to center mask.

014/265

302

LAC

fetch center of universe.

014/266

257

XRM

complement center if required.

014/267

320

LCA

save center of universe;

014/270

104 064 014

JMP

CNTSHOT

go display a new universe.

014/273

074 177

INVAL

CPI

177

was invalid shot a 'delete'7

014/275

110 307 014

JFZ

NOTVAL

if not then recycle bad star;

014/300

066 022

LLI

LIMESS6I

otherwise poinl lo giving up

014/302

056 017

LHI

HIMESS6I

message:

014/304

104 034 015

JMP

PRNTIT

display Ihen lest for restart;

014/307

066 077

MOTVAL

LLI

LIMESS2)

poinl to Ihe invalid sun

014/311

056 016

LHI

LIMESS2)

number message

014/313

106 134 015

OUTMES

CAL

OUTPUT

outpul a message then

014/316

104 065 014

JMP

SETCNT

go display Ihe universe again.

014/321

301

WINTEST

LAB

move universe to A.

014/322

074 377

CPI

1 11 1 11 11B

are all lunge stars present7

014/324

110 050 015

JFZ

LOSSTST

il not see if player has lost.

014/327

302

LAC

fetch center of universe;

014/330

074 000

CPI

0

is center of universe empty7

014/332

110 157 014

JFZ

GOTSTAR

is full Ihen not win;

014/335

066 243

LLI

L1MESS4!

no star' got a win, folks

014/337

056 016

LHI

HIMESS4I

so point to win message;

014/341

106 134 015

CAL

OUTPUT

then display win message;

014/344

046 060

LEI

'0'

begin binary to decimal conversion

014/346

314

LBE

by setting all Ihiee working

014/347

324

LCE

register to (ASCII) zero;

014/350

031

DCD

get rid of last shot;

014/351

303

LAD

move shoi count to A for test;

014/352

074 00O

CPI

0

lest tor zero (noi needed in

014/354

150 026 015

JTZ

LSTSIG

SHOOTING STARS but generallyuseful with conversions);

014/357

006 072

LAI

need compare lo ASCI 1 '9' + 1,

014/361

040

MOR6DEC

INE

count up one in 1 .s. digit,

014/362

274

CPE

is it equal to overflow code7

014/363

110 000 015

JFZ

TALLYHO

il noi then tally and continue;

014/366

046 060

LEI

'0'

else reset 1's digit to zero

014/370

020

INC

and carry into next digit;

RST2: User's output routine, starting atlocation 000/020. This routine prints ordisplays one character on the output devicefor the system. The character to be output isin the A register when RST2 is entered.

RST7: A "do Nothing" keyboard inputacknowledgement routine, starting at loca-tion 000/070. Any character typed on thekeyboard causes return from this subroutine.

For the optimum use of the program, theoutput device should be a cathode ray tubeterminal with a scrolling feature.

Game Background

I first saw the SHOOTING STARS gamein the September, 1974, issue of PCCf as aprogram called TEASER. If you arc ananalytical person, you can figure out all ofthe possible positions.

PCC Editor, Bob Albrecht, told me thatthe program was contributed to theHewlett-Packard software library, and orig-inally written in BASIC."

tPCC is People's Computer Company which pub-lishes a tabloid size computer hobbyist newspaperfive or more times during the school year. It's filledwith games written in BASIC, art, and computernews. If you are interested, write to People'sComputer Company, PO Box 310, Menlo Park CA94025.

Symbol table, in 0

rder of appearance

SHOOTSTH

014 000

ASTART

014 052

CNTSHOT

014 004

SETCNT

014 065

DISLOOP

014 066

NEDOT

014 113

PSEUDOT

014 117

LOADOT

014 130

SPCNOW

014 133

LINFEED

014 142

FIVTST

014 151

GOTSTAR

014 15?

NEXGRUP

014 214

FOUND

014 233

UNIV2A

014 253

NEXTBYT

014 260

INVAL

014 273

NOTVAL

014 307

OUTMES

014 313

WINTEST

014 321

MOREDEC

014 361

TALLYHO

015 000

THREED

015 023

MIDPRNT

015025

LSTSIG

015 020

RECYC

015 032

PRNTIT

015 034

LOSSTST

015 050

MASKTAB

015 070

OUTPUT

01 5/134

INPUT

015 151

GETNEXT

015 154

BADFELO

015 165

MESSI

016/000

MESS2

016/077

MESS3

016/1 50

MESS4

016 243

MESS5

016 310

MESS6

017 022

MESS7

01 / 144

HMESS

017.131

PAGE1

020 14/

PAGE2

021'277

PAGE3

023 137

48

octal

address

octal cod

a

label

op.

operand

commentary

014/371

272

CPC

is it equal to overflow code loo7

014/372

110

000

015

JFZ

TALLYHO

il not then tally and continue.

014/375

026

060

LCI

'0'

else reset middle digit to zero

014/377

010

1MB

and carry into m.s. digit;

01 6/000

031

TALLYHO

DCD

decremen! score counter tor tally;

015/001

110

361

014

JFZ

MOREDEC

it not zero then keep loopin.

015/004

301

LAB

fetch leading digit to A.

015/005

074

060

CPI

•tj

is H (ASCII) jero'

015/007

1 10

023

015

JFZ

THREED

if not go display three digits.

016/012

302

LAC

letch middle dign to A.

015/013

074

060

CPI

0'

is it IASCII1 zero too'

015/015

110

025

015

JFZ

MIDPRNT

if not go display two digits;

015/020

104

026

015

JMP

LSTSIG

it so display only one;

015/023

025

THREED

RST

2

display ihree digils, lelt first;

015/024

302

LAC

telch middle digit lo A,

015/025

025

MIDPRNT

RST

2

display two digits, left first;

015/026

304

LSTSIG

LAE

fetch 1's digit;

015/027

025

RST

2

display remaining digit;

015/030

066

310

LLI

LIMESS5)

point to first pari of vou win;

015/032

056

016

RECYC

LHI

HIMESS5)

second part of MESS5/MESS6 pointe

015/034

106

134

015

PRNTIT

CAL

OUTPUT

display the message.

015/037

106

151

015

CAL

INPUT

felch a chaiacter lor continue

015/042

074

131

CPI

'V

query, is it "yes"?

015/044

150

052

014

JTZ

ASTART

il so then continue game;

015/047

015

RST

1

otherwise call EXIT;

015/050

074

000

LOSSTST

CPI

0

is fringe universe all black holes?

015/052

1 10

157

014

JFZ

GOTSTAR

if not then connnue game;

015/066

302

LAC

if so then test centei position;

015/056

0/4

000

CPI

0

is center also black hole'

015/060

1 11)

157

014

JFZ

GOTSTAR

it not then continue game;

015/0G3

066

156

LLI

L1MESS3I

else point to loss message.

016.065

104

032

016

JMP

RECYC

and go punt lOSS,

015 070

able

II

MASKTAB

BLK

036D

36 byles |>I mask table;

016 1.14

:«)/

OUTPUT

LAM

li'idi nexl message byte.

015/135

0/4

031

CPI

031

is il a delimiter?

015'13/

053

RTZ

return when delimitei found.

016 140

1)25

HST

2

iithriwise display livle.

015/141

mil)

INL

noun to nexl by 18;

015142

i id

134

1)15

JFZ

OUTPUT

is it page boundary?

015145

050

ItslH

il so increment page.

016146

104

134

015

JMP

OUTPUT

.mil then recycle.

015/151

005

INPUT

RST

0

,,,,, ,„.„, ,;,,,,, .,.

015.152

340

LEA

save il in E.

016 153

026

RST

2

echo on display.

015 154

005

GETNEXT

RST

0

gel nexl character.

015 165

026

RST

2

echo on display;

(116 156

0/4

012

CPI

012

was il a line teed?

015 160

1 10

154

016

JFZ

GETNEXT

il iini continue scan.

015 163

304

LAE

il so. restore lirsl input,

016.164

00/

HET

and then return lo caller;

016 165

066

000

BADFELO

LLI

LIMESS1I

iuiiiii to the eiroi message

015* 167

066

016

LHI

HIMESS1I

admonishing bad 'Stat';

015 Wl

104

313

111 4

JMP

OUTMES

and go display error;

Notation:

L(HMESS) = low order 8 bitsof address of HMESS;

H(HMESS) = high order 8 bitsof address of HMESS;

'N' = the ASCII character

"N";

9D = the decimal number 9;

7 = the octal number 7 (withhigh order zeros as needed);

mnemonics are from originalIntel 8008 documentation;

octal code is shown in ascend-ing address order top to bot-tom, left to right;

MODEL CC-7 SPECIFICATIONS:

A. Recording Mode: Tape saturation binary.This is not an FSK or Home type recorder.No voice capability. No Modem.

B. Two channels (1) Clock, 12) Data. OR, Twodata channels providing four (4) tracks onthe cassette. Can also be used for NRZ,Bi-Phase, etc.

C. Inputs: Two (2). Will accept TTY, TTL orRS 232 digital.

D. Outputs: Two (2). Board changeable fromRS 232 to TTY or TTL digital.

E. Runs at 2400 baud or less. Synchronous orAsynchronous. Runs at 4800 baud Synchro-nous (simple external synchronizer diagramfurnished.) Runs at 3.1 "/sec. Speed regula-tions + .5% .

F. Compatability: Will interface any computeror terminal with a serial I/O. (Altair, Sphere,M6800, PDP8, LSI 11, etc.)

G. Other Data: (110-220 V), (50-60 Hz); 2Watts total; UL listed 955D; three wire linecord; on/off switch; audio, meter and lightoperation monitors. Remote control of mo-tor optional. Four foot, seven conductorremoting cable provided. Uses high gradeaudio cassettes.

H. Warrantee: 90 days. All units tested at 110and 2400 baud before shipment. Test cas-sette with 8080 software program included.This cassette was recorded and played backduring quality control.

ALSO AVAILABLE. MODEL CC-7A with vari-able speed motor. Uses electronic speed controlat 4"(sec. ot \ess.

Runs at 4800 baud Synchronous or Asynchro-nous without external circuitry.Recommended for quantity users who ex-change tapes. Comes with speed adjusting tapeto set exact speed.

DIGITAL DATA RECORDER $149.95

FOR COMPUTER or TELETYPE USEAny baud rate up to 4800

Uses the industry standard tape satura-tion method to beat all FSK systems ten toone. No modems or FSK decoders required.Loads 8K of memory in 17 seconds. Thisrecorder, using high grade audio cassettes,enables you to back Lip your computer byloading and dumping programs and data fastas you go, thus enabling you to get by withless memory. Can be software controlled.

Master Charge & BankAmericard accepted.

On orders for Recorders and Kits please addS2.00 for Shipping & Handling.(N.J. Residents add 5% Sales Tax)

NATIONAL multiplex

CORPORATION

3474 Rand Avenue, Box 288South Plainfield, New Jersey 07080(201) 561-3600

NOW AVAILABLERECORD/PLAYBACK AMPLIFIER KIT

This expanded version of our ComputerAid board can be used with your own deck(cassette or reel to reel). Go to 9600 baudon reel to reel with suitable heads. Digitalin, digital out, serial format. Kit includes allparts, case and power supply. Includes highbaud rate synchronizer. $59.95

COMING SOON - IN KIT FORM

* I/O Board for use with Computer Aid orother digital recorders. Variable baud rateselectable on externally located unit byone knob. Can load computer or acceptdumps without software, thus providingTurnkey Operation. For any 8 bit compu-ter.

* Hexadecimal or Octal Keyboard — Loadprograms direct from keyboards' 20 keysand verifying display. Does not use Com-puter I/O. Can be wired Octal or Hex. —Your choice.

* Interested in these? Send your name andaddress for brochure when released.

Send One dollar for Cassette Operating andMaintenance Manual with Schematics andSoftware control data for 8080 and 6800.Also applies to Kit above. (Postpaid)

49

• • f««*****<K ****** <*

^b • & fh & K 4w %* %*A

^ff 4C II* ond m O""

6 ft §j* Cfcr Q*

iMiil^ijIiliiiillHIHliM!1^ "

Photo I: Front Panel View. The controls of the ASCII word generatorinclude rotary mode selections at the left and right, two rows of datadefinition switches for words A and B, and various indicators.

Build a Serial ASCII Word Generator

Ronald J Finger3417 E 65th AvAnchorage AK 99502

A couple of months ago, I decided todesign and build a hardware ASCII toBaudot code converter. The design of thisunit was going along quite well when itsuddenly dawned on me that there would beno way to test the converter without gen-erating a serial ASCII test pattern. So theconverter was put aside temporarily while Idecided what to do about generating testpatterns.

My first impulse was to throw together aquick breadboard setup that would justgenerate a serial ASCII output in the UARTformal. It turned out, however, that itwould require a fair amount of logic just todo that. Why not add some versatility andmake it a real test instrument? By now, thewheels had started to turn and some desiredfeatures were suggested by some of myassociates. The final result is shown in figure1 and photos 1, 2 and 3.

For the purpose of this article, I'mdefining an ASCII word to be the completesequence of 1 start bit, 7 data bits with anASCII character code, I data bit with theASCII parity information, and 2 stop bits.This is the standard asynchronous dataformat used for serial communications.

Output Patterns and Modes

The generator has four different dataoutput patterns available. They are selectedby the four position rotary switch (SI9) onthe left side of the panel as shown in photo1. The selections are as follows:

R —The only output available in thisposition is the "rubout." All 8 bitswill be logic high regardless of anyother switch setting.A - The pattern of this word is deter-mined by the top row of bitselector switches (SI to S8).B —This pattern is set by the bottom

row of switches (S9 to S16).A/B — In this position, words A and B areselected alternately.The generator has three different outputmodes. They are selected by the threeposition rotary switch (S20) on the rightside of the panel. All of the modes produce aserial ASCII output. The difference is in theliming of the output:

B — In this mode, the word is generated asingle bit at a time. There is nolimitation on the interval betweenbits. This mode is useful in the designand analysis of computer input out-put hardware.W—A single word will be produced inthis mode with a rate of 110 baud.This mode proved to be very useful

50

Jl

EIA SERIALDATA OUT

J2

TTL SERIALDATA OUT

•CLOCK OUT

+ 5

*4

PU^^H,

WORDA

¥^W

WORDB

Figure I: Circuit of the ASCII Word Generator. This design generates two different data wordsset by switches and features four patterns available in three operating modes. Power and groundconnections for the integrated circuits are as follows:

Number Device +5 V Ground

IC1IC2IC3IC4IC5IC6IC7IC9

74150

24

74157

16

74157

16

74161

16

74265

16

555

8

7474

14

7400

14

12

51

Photo 2: Wiring of theCircuit Board. The proto-type word generator wasbuilt using a Vector3677-2 DIP plugboard.Point to point wiring wasdone using solder for inter-connection with Molexpins for the IC leads.

in testing the aformentioned ASCIIto Baudot code converter. It is alsouseful for loading data into a com-puter in serial form.C —This mode produces continuous out-put of the selected word pattern. It ismost useful in testing teleprintersand other output devices.The switch labeled B/W (SI 7) is used totrigger the single bit or single word outputmodes. It has no function in the continuousmode. A spring loaded toggle switch isshown in photo 1, although a push buttoncould be used.

LED lamps are used to indicate eitherword A or B, and to display the serialoutput. In the bit mode, the output patterncan easily be verified by observing the LED,which is connected to the serial output.

Standard TTL and RS-232C outputs areavailable from the front panel binding posts.A choice of two different clock outputs isavailable. A symmetrical 110 baud andpulsed 10 baud output can be selected byS21. This switch is not used very often, so itis mounted on the rear panel. The clockoutputs are very useful for the synchroniza-tion of an oscilloscope. The 110 baud willsync the bit rate and the 10 baud will syncthe word rate.

The Circuit

Refer to the schematic diagram of figure1 for a review of the circuit operation. IC6 isconnected as an astable multivibrator, run-ning at 220 Hz. The output is applied to

IC7A, a D flip flop connected as a toggle todivide the frequency by two. This not onlyprovides a perfectly symmetrical 110 baudoutput, but provides a means of turning theclock on and off using the set input ofIC7A. The SR latch, IC9A and B, is used tocontrol the clock via IC7A's S input. S20and IC9D control the latch. In the con-tinuous mode the latch output stays high sothe clock runs uninterrupted. In the wordmode, the latch is set by a pulse generatedby S17. This switch is debounced by IC5C,so that only one pulse per switch operationis generated. In the W mode of S20, thelatch is reset by the carry output pulse ofIC4, which occurs only at the end of a word,slopping the clock at the end of one word.In the B mode of S20, the 110 baud clock isalways off and clocking is provided only byS17, IC5C, and IC9C. Serial output is thuscontrolled by the rate that S17 is operated.IC2 and 3 are data switches that determinethe output bit pattern. They are controlledby S19 and IC7B. In the rubout positionof S19, both IC2 and IC3 are disabled,forcing all outputs low. In the "A" position,the Q output of IC7B is forced to a logic lowso that the A outputs of IC2 and IC3 areselected. In the "B" position, the Q outputis high and the B outputs are selected. In the"A/B" position of S19, IC7B is clocked bythe carry output of U4. As was statedearlier, this occurs only at the end of a word.The 0 output of IC7B thus goes from highto low on every other word, and A and Bwill alternate. IC4 is a binary counter that

52

has been programmed for a count of 11. Itaddresses the data selector, IC1, which takesthe parallel data and provides serial output.The start bit and two stop bits have beenhardwired at IC1. It should be noted that allparallel inputs to IC1 are inverted so that theserial output will be normal.

The output is bypassed to minimize noiseand is buffered by IC5D. The TTL outputcan sink up to 16 mA. The RS-232C outputis provided by the op amp, IC8. The outputlevels will depend on the ± supply inputs toIC8. They should be equal and from 5 to 1 5volts at 10 mA. The logic supply shouldprovide +5 volts regulated at .25A.

The model shown in photo 2 was point topoint wired on a Vector number 3677-2 DIPplugboard. If you want to wire wrap, use thenumber 3682-2 plugboard. The physical ar-rangement of the completed project isshown in photo 3. The enclosure is an LMBModel W-1C utility case.

Appreciation is expressed to Fred La-Plante who took the pictures, supplied thetest printer, and provided useful suggestionsduring the design of this unit. A doublesided printed circuit board for this design(with plated through holes) will be avail-able. Readers may write to the authorfor details."

Photo 3: The general mechanical arrangement of the unit is shown in thispicture. The front panel switches are toward the top of the photograph, witha wiring harness running to a socket for the plugboard.

EARN A

SUBSCRIPTION

TO BYTE

You can earn twelve issues of BYTE, new, orextension of your present subscription, in one oftwo ways.

I.Sign up a bulk dealer. Have your localelectronics store order ten or more copies of BYTEper month and mention on the purchase order thatyou recommended BYTE.

2. Sign up six friends for one year subscriptions,send in the names and addresses together withpayment.

WHY PAY MOREFOR ALTAIR MEMORY

8,192-8 BIT WORD KIT

ON SINGLE CARD$28500

• PLUG DIRECTLY INTO 8800

• 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

• 8K OR 4K WITH EXPANSION

• JUMPER PROGRAM 4K OR 8K SLOT

• DETAILED THEORY AND ASSEMBLY

8K LOW POWER RAM KIT:4K LOW POWER RAM KIT:4K EXPANSION FOR 4KLST:

WRITE TO DA VE (K6LKL) at

8KLST4KLST4KXST

$285.00$159.00$139.00

PLUS SHIPPING

ON DISPLAY AT

BYTE SHOP

MOUNTAIN VIEW CA

P.O. Box 9160,Stockton CA 95208

•CALIF. RES. ADD SALES TAX•MASTER CHARGE - OK•BANKAMERICARD - OK

53

Clubs and Newsletters

AEDS Convention

AEDS, the Association for EducationalData Processing, is holding its 14th AnnualConvention in Phoenix AZ May 3-7 1976.For information contact Rick Meyer, con-vention chairperson, at Phoenix Union HS,2526 W Osborn Rd, Phoenix AZ 85017, orcall (602) 257-3045.

Amateur Computer Group of NJ

The February issue of the ACGNj News,Volume 2 Number 2, reports on the JanuaryACGN) meeting, which included a demon-stration of the new Intel SDK-8 8080 systemdesign kit along with its documentation,courtesy of Art Chapman of Intel. Thenewsletter also included technical notes byRoger Amion (on memory expansion viapiggyback mounting of ICs) and ArtChapman (a circuit to help program 2708EROMs), and a compendium of Altair tech-nical information from several sources.

The February ACGN] News alsoannounced the Trenton Computer FestivalMay 2 1976, beginning at 10 AM in Arm-strong Hall at Trenton State College. Thebuilding is located in Ewing Township onRoute 31. For detailed information, write:

Trenton Computer Festival

Trenton State College

Trenton N) 08625For direct contact, phone Dr A Katz at(609) 771-2487, or Sol Libes at (201)889-2000, extension 248.

V TOMTOM

exhibits, displays

TECHNICAL TALKS

amature computer club conventionhome computingdoor prizes contestscomputer groupsprogram duplication servicemanufacturers booths

News from the Cleveland Digital Group

Gary Coleman of the Cleveland DigitalGroup writes that CDG has formed theMidwest Affiliation of Computer Clubs, itsfirst goal being a conference for computerclub members June 12 and 13. The con-ference will offer a place for manufacturersto show their wares and for computerhobbyists to visit and ask questions, etc.

For further information, contact Gary at14058 Superior Rd, Apt 8, Cleveland OH44118, or phone (216) 371-9304.

Dr Dobb's Journal of Tiny BASICCalisthenics & Orthodontia

This is the journal of information aboutthe PCC Tiny BASIC idea: interpretivelanguage software developed by amateurs toimplement such languages for micro-computers. The Volume 1 Number 1 issuecontained 19 photocopied pages includingreprints of the PCC articles on Tiny BASICas a reference and starting point. Threeissues are $3, with xerographic reproductionwhile circulation is low. Interested partiesshould write to Tiny BASIC & Orthodontia,Box 310, Menlo Park CA 94025.

The PILOT Information Exchange

PILOT is a language of Computer AidedInstruction (CAI) first created by JohnStarkweather at the University of California.According to an article by Sylvan Rubinwhich appeared in the November 1973 issueof Computer Decisions, the language is asimple structure oriented to the CAI situa-tion, enabling one to construct interactivesequences of questions and answers whichare presented to students.

The article by Dr Rubin and the Number2 copy of the PILOT Information ExchangeNewsletter were recently sent to BYTE. Thenewsletter is coordinated by Gregory Yob,and subscriptions are available at $2 perquantum of information. Contact:

Gregory Yob

c/o LO*OP Center

8099 La Plaza

Cotati CA 94928

(707) 795-0405

And From 65 Notes.. .

The Volume 3 Number 1 issue of 6"5Notes, publication of the HP-65 Users' Club,arrived at BYTE recently. This issue con-tinues the trend of branching out toward theother programmable calculators. In RichardVanderburgh's "SR-52 Notes," you'll findout about how to create several "pseudocodes," such as "Halt", branch to 000, andset error condition, for the SR-52 programs.These instructions, like their equivalents on

54

the HP-65, are not documented by themanufacturer and take trickery to accom-plish.

This issue also includes several HP-65,HP-55, HP-25 and SR-52 programs. One ofthe most exciting is Richard Vanderburgh'sSR-52 Assembler/Loader program which isprobably the first self-assembler for a handheld calculator! It has some restrictions onits operations, but it is an enticing prospect.Also found in the mailing of the Volume 3Number 1 issue is an index to 65 Notes forJuly through December 1975, preparedby Alvin Gaines of Atlanta GA. If youwant to find out what people are find-ing out about hand held programmablecalculators, then you should investigate what65 Notes has to offer.

Contact Richard J Nelson, 2541 WCamden PI, Santa Ana CA 92704, for asubscription at $1 2 per annum.

Lansing Ml Activities

Computer Hobbyists Around Lansing isthe name of the club which has been formedin that vicinity. If you wish to participate,contact one of the following people:

Joyce ChurchMarvin Church4307 Mar-Moor DrLansing Ml 48917Phone: 482-9452William Serviss13121 Tucker DrDeWittMl 48820Phone: 669-3179Daniel L Herrick1214 Frederick DrPO Box 513Owosso Ml 48867Phone: 723-3264

LO*OP Center

LO*OP Center, Inc, is an organizationrun by Liza Loop, dedicated to providingcomputers upon which children can exercisetheir minds. According to the brochure sentto BYTE:

"Computers as learning and teachingmedia can be adapted to handle aninfinite variety of subject material,including creative writing and forms ofartistic expression . . . The staff con-centrates on expanding the horizons ofchildren through Computer AssistedInstruction. Special emphasis will beplaced on material for young childrenwhich encourages creativity and theknowledge that they are in control ofthe machine. A large library of pro-grams of interest to junior high and

VT-1920

Complete CRT terminal with monitor, keyboard, housing,

interface for 8080 CPU and power supply Kit-$695.00

MTS-8

All the features of the VT-1920 above plus 8080 CPU, 1 K bytes

of ROM, 4K bytes of RAM, serial interface, cassette interface,

assembler editor and debug software. Kit—$1195.00

BASICS

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 line display capacity but useonly as much memory as characters displayed, because ourterminals share memory with the computer and can be expandedto 64K bytes. Scrolling is under cursor control to any locationand any number of lines limited only by available RAM memory,either line by line or page by page.

MIKRA-DP.O. Box 403Holliston Mass 01746

TEL. 617-881-3111

MIKRA-D

A

ALTAI R 8800

OWNERS

Is your ALTAIR:

* Slow to start up . . .

* Writing all 0's or 1's into memory . . .Producing the wrong STATUS . . .Having troubles running BASIC . . .

Then your Altair may have CPU Clock problems.

PARASITIC ENGINEERING now offers

a permanent fix-kit for the Altair 8800 CPUClock; for only $15.

Send now for our FREE brochure detailingwhat this kit can do for your ALTAIR.Better yet, see for yourself. Send for yourkit TODAY.

only $15.

Kit is shipped postpaid anywhere in theUnited States. Kit includes completeinstructions and all piarts necessary to get'Cookbook Clock Pulses.'

PARASITIC ENGINEERING

PO BOX 6314

ALBANY CA 94706

55

A Note on Dates andDeadlines

It takes time to putBYTE together. Materialmust be edited, typeset,proofread, pasted up, shotinto negatives, printed,then mailed. Thus, noticesshould be in our hands nolater than the 20th of thethird month precedingpublication. Deadline forthe August 1976 issue isMay 20 1976.

high school age people has alreadybeen developed in centers across thecountry and is available through theLO*OP center."Activities at the LO*OP center will be ofinterest to the residents of Sonoma CountyCA and others at greater distance. In addi-tion to the educational emphasis, the centerhas a weekly Teacher's Forum and is host tothe Sonoma County Minicomputer Clubmeetings. Contact LO*OP Center, 8099 LaPlaza, Cotati CA 94928 (707) 795-0405.

DACS Newsletter

The Volume I Number 4 issue of theDenver Amateur Computer Society News-letter, dated February 1976, mentionsmeetings, classes for beginners, and thegroup's growth. A lecture by Adam Osborne,Osborne & Associates, arranged andscheduled on short notice February 5, wasexcellent, and well received by the DACSmembers, reported the newsletter. Alsoworth noting is the formation of specialinterest user groups for the various proces-sors of members. Contact Denver AmateurComputer Society at PO Box 6338, DenverCO 80206.

Hoosier Amateur Computer &Kluge Society (HACKS)

Ray Borrill, who will soon be opening acomputer store called "Data Domain,"phoned to urge club activity in the vicinityof Bloomington IN. Interested individualsshould contact Ray at 111 S College Av,Bloomington IN 47401.

Journal of Community Communications

Lee Felsenstein publishes the Journal ofCommunity Communications, a com-pendium of personal opinions on the socialimplications of computers. JCC is publishedoccasionally by LGC Engineering at $1 perissue, 12 issues for $10. The address is LGCEngineering, 1807 Delaware St, Berkeley CA94703

The Analytical Engine

The Chesapeake Microcomputer Club isthe result of activity in the Washington-Baltimore-Northern Virginia area, docu-mented in 777e Analytical Engine. TheChesapeake Microcomputer Club is to becommended for thinking up an excellent andunique name for the newsletter, one whichreflects the origins of computers. TheVolume 1 Number 2 issue of The AnalyticalEngine includes a report from the CaretakerBoard by Rich Kuzmack, an editorial byPhilip N Hisley summarizing the growth ofthe club, a technical note by Jeff Schmitt onusing FIFO memory chips (his example isthe Fairchild 3341), a technical note byAlan Hastings showing how to program asoftware UART with detailed 8080 code forhis version, announcement of a club visit toMOS Technology February 18-20, and biog-raphies of the candidates for club officersalong with an election ballot. Meetings havebeen held at "The Other Barn," OaklandMills Village Center, Columbia MD. Forinformation write Chesapeake Micro Com-puter, 236 St David Court, X4, BaltimoreMD 21030. Editor of The Analytical Engineis Philip N Hisley, (301)667-9690.

YTE'SUGS

space (logical 0) state shall be a voltage morepositive than +3 volts with respect toground. The maximum magnitude in eitherdirection is specified as 25 volts with respectto ground.

Here lies documentation of known bugsdetected In previous editions of BYTE. . .

RS-232 Levels

In Gary Liming's article, "Data Paths," inFebruary 1976 BYTE, there is an error inthe statement of the RS-232 voltage levels atthe top of the first column on page 39. TheRS-232 specification, according to a Xeroxexcerpt supplied by Ron Finger of Anchor-age AK, provides that the mark (logical 1)state shall be a voltage more negative than—3 volts with respect to ground; that the

Donald Zanolla of Burbank IL points outthe following discrepancy in the sample codegiven on page 62 of BYTE January 1976,"Taking Advantage of Memory AddressSpace."

The symbol X could not be used in aprogram assembled by the Motorola 6800assembler; the example would be correct if adifferent symbol such as "XX" were used inits place, ie:

LDX XX fetch first operand

(16 bits);

STX A16

56

Connecticut Microists

George Ahmuty, 6011 Wendy Ln, West-port CT 06881, is interested in contactingother Connecticut "Microists" and forming aclub. George can be reached by phone at227-8534.

News of N ECS

The March 3 meeting of the New EnglandComputer Society, held at the Mitre Corpo-ration's Cafeteria (Building C) in BedfordMA, 8 PM, heard a talk by Tom Miller,system architect for Texas Instruments, onthe design of the TMS9900 processor. Thismicroprocessor is scheduled to be availablethrough Tl distributors in May, with a priceof $99.32 in quantities of one. (BYTEpublished Robert Baker's "MicroprocessorUpdate" on the TMS9900 in the April 1976issue.) The large quantity price strategy ofTl, according to Mr Miller, was to make theTMS9900's price be about twice the price ofan 8 bit processor in equivalent volume. Theappearance of a TMS9900 based processor inthe personal computing market cannot befar away, and Mr Miller strongly implied thatTl is trying to encourage that particular useof their new processor. The talk's technicalcontent included the machine's general ar-chitecture and a series of 10 to 15 slides onthe practical details of TTL interfaces to thechip in small systems contexts.

Other activities were Dave LeVine's re-port on group purchase activities, including aone time purchase of IM6100 parts for clubmembers at the 100 piece price, arrangedwith a local distributor. Dave Day presentedan introductory session on hardware prac-tices, oriented toward the members with nodetailed hardware background. Doug John-son presented a concurrent introduction tosoftware concepts applicable to microcom-puters.

Inquiries about NECS should be directedto PO Box 198, Bedford MA 01730.

Long Island Computer Association (LICA)

The Long Island Computer Associationheld its first meeting on January 16 1976and formed a steering committee. The clubis open to anyone, amateur or professional,with an interest in computers, applications,programming or related subjects. Meetingsare held at the New York Institute ofTechnology, Building 500, Route 25A andWhiteney Ln, Old Westbury NY, usually onthe third Friday of each month. For furtherinformation, contact Gerald Harrison,evenings until 9 PM at (516) 938-6769, orwrite Gerald at 36 Irene Ln E, Plainview NYI I 803.

Kansas City Club?

Earl G Day, 13208 W 94lh Ter, LenexaKS 66215, would like to contact individualsinterested in forming a computer club in theKansas City area. Earl's phone number is(913)492-9315.

Ithaca NY Computer Group

Steve Edelman, 204 Dryden Rd, IthacaNY 14850, sent BYTE a note announcingformation of the Ithaca Computer Group.One of the first activities was to arrange abulk purchase of 91L02A RAM chips formembers. The Ithaca Computer Groupmeets "semi sporadically, but mostly on thesecond Sunday of the month." For informa-tion call Steve at (607) 272-2339.

ALTAIR

WANTED

Microprocessors Kit or AssembledSPHERE • MOTOROLA • INTEL

& OTHERS

Memories, I/O boards, chassis, power supplies, modems, peripherals, specials,prom programmers, ADCS, DACS, GPI0S, RS232 faces, and any associated software.

FORWARD INFORMATION AND/OR INQUIRIES TO:

AMERICAN USED MICROPROCESSORS,EQUIPMENT & SUPPLY CORP.©

BOX 515,PRAIRIEVIEW, ILLINOIS 60069TELEPHONE (312) 634-0076

For complete monthly catalog of items available and in stock Enclose $10. forsix issues. Many new unused items. Amazing values for everyone. a-70

VO<-ao ^T6a9eZ+<-»-AVeH-ao ^ae-can you decode this borderT-eE-K+AVGH-ao ^T6a6eJ:+<-*-AVGH-ao u' 6

1A SoFtware SoFtware Pluq^NKiTs I

- - . Oven 400 complex BUSINESS and ENGINEERING pnognami ~ ^ -

/\ITAIR JIMEPIATEL!/ available with documentation. HUNVREVS QOoO i

Oven 400 complex BUSINESS and ENGINEERING pnognamiIMWEPIATELV available with, documentation. HUHVREVS********0& Gamei and Plctune pnognamA fan amusement. Change youA computen. ^nom a toyinto an extnemely uAe&ul tool with oua Real Time Intenface KITS. SPECIAL-- 10%0{{ on ALL ondenj, necelved in May, mention BYTE. OuK 14 page iample catalogtUti, Hund/iedi, o^ unique value*, iend $1 to coven, handting and postage, pnu.eedeductible with \lnj>t onden. TO: SOFTWARE". p-°- Drawer C; Marcy, N.Y. 13^03

AV0

a£4-<-*AV©«-acnT6cteeE + <->-AVO«-ao ^T Deiler and distribution inquiries welcome. 6aeeE-K-»-AVO*-0o i T6a9eZ + <-*AVGH-Ia

57

What's

New?

Is This a Luxury Desk Top Versionof theSR-52?

The only way to answer thai questionmight be to go to a dealer or departmentstore which handles the Texas Instrumentscalculator products line and compare. Butthe SR-60 gives the user much more in adesk lop package, available at a suggestedretail price of $1695. The extras include: abuilt in 20 character prompting display, a 20character wide printer which can record theresults of calculations or traces and dumps

77 SR-60 DesktopProgrammable Calculator.

of programs in the machine, a standardmemory of 480 program steps and 40 datalocations, an option (at $700) to expandmemory capacity to 1920 program steps and100 data locations, algebraic expressionnotation with 9 levels of parentheses, up to

78 program labels, 15 user defined func-tions, 10 flags, 10 branch operations, 4 levelsof subroutine stacking, 2 modes of indirectaddressing, and a complete program editingcapability using the display, with the optionof listing programs on the thermal printer.The SR-60 calculator also features a traceoption useful for debugging program opera-tion. Mass storage for this calculator isprovided by 2 inch by 10.5 inch (5.08 cm by26.67 cm) magnetic cards.

An extensive library of prerecorded pro-grams is available for financial, mathe-matical, electrical engineering, statistics andsurveying. The unit comes with a basiclibrary of 10 prerecorded programs, opera-ting manual, programming manual, pro-gramming pad, blank magnetic cards, andcard holders. Inquiries should be directed toTexas Instruments, Inc, PO Box 5012 MS84,Dallas TX 75222, Attn: SR-60. The SR-60will be available through Tl office equip-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 whichmight prove quite attractive to individualswishing to tradeoff dollars against the timeand trouble of kit oriented approaches. At$5900 for the basic desk top unit the userwill find a "black box" which is program-mable in a high level language called HPL, a32 character alphanumeric display andmatching 16 character wide alphanumericprinter for examining programs and resultsof programs, 12 user programmable keyswhich through use of a shift key provide 24user programmable program options, and atape cartridge device which can be used foroff line storage of up to 250,000 bytestransferred at a data rate of 2,750 bytes persecond.

The standard unit has 8 K bytes ofinternal programmable memory, which isexpandable to a maximum of 32 K. Optionalplug in ROM packets are available to providesuch extended HPL functions as stringhandling, general language extensions such as

58

FOR/NEXT loops, matrix operations,plotter control, general 10, extended 10, etc.Up to four of these ROM packets can beplugged into the machine at one time.

The other aspect well worth consideringfor experimentalists is the fact that themachine is intended to be used with 10 forprocess control, laboratory instrument con-trol, and other nonstandard 10 functions. Byimplication this means that the home experi-menter with a large budget could find thismachine to be an excellent controller ofsuch items as burglar alarms, fire alarms,kitchen information systems, model railroadlayouts, etc. A business person could inter-face the HP printer for this machine (atextra cost) and develop packages whichcould handle most small business data pro-cessing needs, using the tape cartridge 10 formass storage of statistics and records (withhard copy back up for the conservatives inthe audience)."

CPU Emulator

for 6800-Based Microprocessor Systems

The DICE/68 is a microcomputer systemdevelopment aid designed to provide users ofthe 6800 microprocessor and the MotorolaExorciser development system with thecapability of in-circuit CPU emulation.Other features of this design and debuggingtool include status indicators for data andaddress buses, plus additional system controlfeatures.

By plugging a 40 pin DICE/68 adapterdirectly into the 6800 CPU socket on one'sown hardware, it is possible to debug a 6800system prototype, complete with RAM,ROM, IO circuitry and two phase clock,using the full range of diagnostic aids avail-able through the Motorola EXBUG™ oper-ating system found in its Exorciser product.The user can, after specifying throughDICE/68 the block of memory allocated tothe prototype system, begin the hardwaredebugging phase of development.

The DICE/68 system, in addition to beinga good microprocessor system debugging aid,can also be used effectively in a productiontesting environment. This product will be ofprimary interest to BYTE readers engaged inmicroprocessor systems design and micro-processor system service activities. The priceis $795 with delivery 2 to 4 weeks ARO.

For further information contact DigitalElectronics Corporation, 2126 Sixth St,Berkeley CA 94710.

MICRO PERIPHERALS

MP-48

°<??s

*>.

^

COMPLETELY ASSEMBLED AND READY TO RUN8080 PPI AND 6800 PIA COMPATIBLE

64 CHARACTER ASCII75 LINE PER MINUTEUP TO 40 COLUMNSORDINARY ROLL PAPERPARALLEL INTERFACE

ORDER NOW!1st COME - 1st SHIPPED

ALLOW 60 DAYS FOR DELIVERY

UTAH RESIDENTS ADD 5% SALES TAX

DEALER INQUIRIES INVITED

micro peripherals, inc.

P.O. BOX 22101 / SALT LAKE CITY / UTAH 84122

PONG

AY5 - 8500

6 GAME

MOS/LSI CHIP

PONG

Never before AvailableFeatures the ultimate in PONG Game design:

*6 Selectable GamesTennis, Hockey, Handball,Practice, Rifle Shooting.'Automatic Scoring*Score display on TV

*Selectable bat size*Selectable angles'Selectable ball speed"Automatic or Manual ball

service"Realistic Sounds$39.95 each — supply limited■ Order 5 take 10% Discount ■ 10 take 15% DiscountAlso available as a kit.Send$1.00 for kit info and data sheet.

MICROCOMPUTERSPECIALS

AMD8080A CPU $ 35.95 AMD 2102 Static Ram $ 2.90AMI 6800 CPU $ 35.95 Gl AY51013A UART $ 5.90Gl CP1600 CPU $ 79.95 AMI S1998 Digital Clk$ 6.95EVK 6800 Design Kit $239.95 AMD 2112 Static Ram$ 3.90

Notice to engineers & inventors. Your idea is worth money.Let us market your product or kit and we will give you cash.Write for details.

Satisfaction Guaranteed.

All shipments First Class in U.S. Add $1.00 to cover handlingon orders under $25.00. Minimum order $5.00. Californiaresidents add 6% tax.

ADVANCED MICRO-ELECTRONICS

3198 G Airport Loop Drive

Costa Mesa, CA 92626

59

"Chip" Off the Olde PDP 8/E:

The Intersil IM6I00

Parti

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

Robert Nelson

Chief Engineer

PCM Inc

180 Thorup Ln

San Ramon CA 94583

Of all the computers in the world today,there are probably more Digital EquipmentCorporation (DEC) PDP-8s than any otherkind.* A recent article in ElectronicEngineering Times (October 20, 1975, page2) estimates ". . . there are upwards of70,000 PDP-8s in use in the field, and that60 percent of all recent electrical engineeringgraduates have been exposed to the PDP-8and its software." The PDP-8 at this pointmay truly be the universal computer. Thelatest version from DEC is the PDP-8/E.

There are some good reasons for thePDP-8's popularity. It has been availablesince 1964. It has always been relativelyinexpensive (at least for industrial users). Itemploys a convenient parallel word length of12 bits, which can make it more powerfulthan a 8 bit machine. An important con-sideration for the hobbyist is that it is easyto understand, both hardware and software.And there is a literal flood of softwareavailable for it. DEC itself makes availablemore than a thousand fully developed anddocumented programs for the 8. DECUS, aDEC-sponsored non-profit, free-membershipuser's group maintains a library of hundredsof other programs. And many users, such asuniversities, US government operations andresearch groups have developed and made

available additional programming for the 8.Just a few of the fully-documented pro-grams available from DEC for the PDP-8:

• PAL III - A basic 2- (or optionally 3-)pass assembler.

• MACRO-8 - An advanced assemblerwith all the features of PAL III plusmany others, such as user-definedmacros, double-precision integers,floating-point constants, Boolean alge-bra operators, etc.

• FORTRAN IV compiler - Runs in 8Kof memory.

• Extended BASIC translator - Also for8K of memory.

• FOCAL — An interactive languagesimilar to BASIC and FORTRAN, butrequiring less memory than either, andeven easier to learn.

• DIBOL — A business-oriented languagesimilar to COBOL.

• TECO — A text editor and corrector.

• DDT — A program debugging routine.

There are also many diversionary, game (yes,including Space War) and educational pro-grams available.

In addition to software, DEC makesavailable many tutorial handbooks for thePDP-8 machines. The PDP-8/E Small Com-

PCM manufactures the PCM-12, a machine based on the IM61O0, which is much like a kit-form PDP-8/E.

60

The PDP-8 at this pointmay truly be the universalcomputer.

puter Handbook and Introduction to Pro-gramming cover the PDP-8 hardware andhow-to methods for PDP-8 software, respec-tively. They are superbly written, assumeyou start reading with almost no knowledgeof computers, and use absolutely no "com-pulerese" that isn't fully explained first. Forthe tyro wanting to learn basic computeroperation and programming, these inexpen-sive paperbacks are hard to beat. Write toDEC, 146 Main St, Maynard MA 01754, orphone (617)897-5111.

Now with this brief introduction to thePDP-8, it is easy to see that it might make anideal machine for the computer hobbyist toown. However, the prices are still a bit steepfor home use — several thousand dollars foran operating machine. But now Intersil(10900 N Tantau Av, Cupertino CA 95014;phone (408) 996-5000) has introduced theIM6I00, a 40 pin DIP microprocessor chipthat recognizes the PDP-8/E instruction setand can therefore execute PDP-8 software.That means that if you build yourself a smallcomputer around the 6100, it can immedi-ately become a working machine, ratherthan simply an empty brain, by filling itsmemory with almost any program that willrun on the PDP-8. And that includes BASIC,FORTRAN, FOCAL, assemblers, editors,games, etc.

The bus structure of the IM6100 caneasily be adapted to provide a subset of thePDP-8 OMNIBUS signals. Therefore all pro-grammed IO interfaces for the PDP-8 (Tele-type, paper tape reader, punch, printer, etc.)will operate with the IM6100 without anyhardware or software modification.

The essential differences between the6100 and PDP-8/E CPU are few. The 6100,unlike the PDP-8/E, does not provide fortimesharing (at least not yet, but see thediscussion of Intersil's support chips for theIM6100 in the second part of this article).The 6100 does not support the DEC ex-

tended arithmetic element (EAE). This is anoptional piece of hardware that speeds exe-cution of high level mathematical routines,such as floating-point arithmetic, trig and logfunctions, etc. (Of course the 6100 can, withstandard PDP-8 software, execute any ofthese mathematical functions without theEAE; it just calculates the results in soft-ware, more slowly.) The direct memoryaccess (DMA) structure of the IM6100 dif-fers from that of the PDP-8/E. The IM6100,having a limited number of pins, does notprovide continuous or "real time" access toall its internal registers (Accumulator, MQRegister, Link, etc.). This "fault" the 6100has in common with all microprocessors andrequires that the front panel of a smallcomputer built around it be implemented insoftware. More about that later.

Some of the features of the IM6100 are:

• The 6100 contains six 12 bit registers,a programmed logic array (PLA),arithmetic logic unit (ALU) and all thenecessary gating and timing circuitryto implement a complete PDP-8/Ecentral processor unit (CPU).

• Silicon gate CMOS construction lorlow power, single supply operation.Silicon gate means that chip size issmall for CMOS, and that leads tolower chip cost. CMOS constructionmeans excellent noise immunity.

• The chip needs just a single 5 to 11 Vpower supply, and it doesn't need tobe regulated. Current drain at 5 V isabout 4 mA.

• All inputs and outputs are fully TTLcompatible, when operated at 5 V.

• Static operation (a rare feature in aMOS processor). All registers insidethe chip are static, which means youcan shut off the clock without losingdata. This makes it possible to putboth single clock or single instruction

Since the IM6100 featuresstatic operation, the basicCPU clock can be variedfrom 0 Hz to the maxi-mum operating speed. Aspeed control could beadded to an IM6100 basedprocessor.

As in many of the 40 pinpackaged 16 bit micro-computers, the IM6100uses a common 12 bit databus for both address anddata information.

*The following are registeredtrademarks of Digital Equip-ment Corporation, MaynardMA: DEC, PDP, FOCAL,OMNIBUS.

61

Memory address space in aPDP-8 (IM6100) is a col-lection of fields of pagesof memory locations.

buttons on the front panel, a great aidfor program debugging.

• On chip crystal oscillator. Just put acrystal across pins 14 and 15 and thechip will generate all its own timing.Or substitute a TTL pulse generator atpin 14 and clock the chip at any speedfrom 0 Hz to the maximum allowableclock frequency.

• Interfaces directly with standard solidstate programmable random accessmemories (2102s, for example),PROMs and ROMs, as well as standardTTL memories and logic.

• Operating at 10 volts, with an 8 MHzcrystal, the 6100 will do a memory toaccumulator binary addition in just2.5 nS. This spec makes it the fastestavailable MOS microprocessor.(Hobbyist operation will probably beat 5 volts, though, to make TTLinterfacing easy. This reduces themaximum clock frequency to 4 MHzand increases the above-mentioned addtime to 5 nS. Still, that's one of thefastest chips around when you con-sider that this is a 12 bit addition.)

A Lap Around the Pins

A basic understanding of the operation ofthe IM6100 can begin by familiarizingoneself with the operation of each of thepins on the chip:

Pin 1: Supply voltage. Typically 5 V atabout 4 mA.

Pin 2: RUN line. When this line is high, themachine is running. This pin operates inconjunction with pin 6, the RUN/HALTline. Negative pulses on the latter pincause the 6100 to alternately go to therun and halt states.

Pin 3: DMAGNT line. When a DMA requestis generated, by a low level on theDMAREQ line (pin 4), the 6100 grantsthe request at the end of the currentinstruction by presenting a high level onthis line.

Pin 4: DMAREQ line. Sec pin 3.

Pin 5: CPREQ line. A low level presented tothis line causes a control panel interruptto occur after completion of the currentinstruction.

Pin 6: RUN/HALT line. See pin 2.

Pin 7: RESET line. A low level presented tothis pin clears the 6100 accumulator,loads 7777g into the program counterand puts the CPU into the "halt" state(RUN line low).

Pin 8: INTREQ line. A peripheral devicerequests an interrupt by presenting a lowlevel to this line.

Pin 9: XTA line. This timing line goes highonce each machine cycle. It is typicallyused by external logic to indicate the"read" portion of the cycle. See thetiming diagram of figure I.

Pin 10: LXMAR line. The LXMAR pulse isdeveloped by the CPU once each cycle. Itis primarily used externally to latch theaddress sent out on the 12 data lines(DX0 to DX11) by the 6100 at T1 time.

Pin 11: WAIT line. The 6100 samples theWAIT line at T3 time (read) and T6 time(write). If it finds the WAIT line low, itextends the current state by incrementsof the clock period until WAIT goes highagain. By using this feature, the 61 00 canoperate with memories of any speed.

Pin 12: XTB line. Similar to XTA; anotherexternal timing line that can be used todrive external devices. It is high onlyduring T1 and T6.

Pin 13: XTC line. The most importantliming line. High through T3, then goeslow for the rest of the cycle.

Pin 14: Crystal input for internal oscillator,or drive point for an external clockoscillator.

Pin 15: The other side of the crystal, orgrounded if an external oscillator is used.

Pins 16 to 28 (except 26): DX0 to DX11.These are the 12 multiplexed, bidirec-tional lines that carry instructions anddata into and out of the chip. DX0 is themost significant bit (MSB), DXI I theleast significant bit (LSB). (This is theopposite of numbering conventions usedwith most 8 bit processors.)

Pin 26: Ground.

Pin 29: Link line. This line, when high,indicates that the Link flip flop is set.

Pin 30: DEVSEL line. The IM6 I 00 employsfour select lines to distinguish cyclesinvolving main memory, external devices,control panel and the switch register from

62

CRYSTALFREQUENCY

I FETCH,PIN 36

LXMAR,PIN 10

DX(DATA)LINES

_TL

r_r

XTA,PIN 9

XTC,

PIN 13

J

r

Figure 1: IMG I00 CPU

Timing Diagram, '/'his is anexample of the liming ofseveral IM6I00 processorsignals during the execu-tion of a DCA instruction.

one another. The DEVSEL line, whenlow, asserts that the cycle involves anexternal device.

Pin 31: SWSEL line. This select line, whenlow, indicates that the switch register isto be used for the read operation.

Pin 32: CO line. This line, like the CI and C2lines, is used by external devices tocontrol the operation of the CPU duringan IOT instruction (see discussion ofinstruction set, below).

Pin 33: C1 line. See pin 32.

Pin 34: C2 line. See pin 32.

Pin 35: SKP line. Similar to ihc C lines,above. When the external device assertsthis line low during an IOT instruction, itcauses the 6 100 to skip the next sequen-tial instruction.

Pin 36: I FETCH line. This line is highthroughout each cycle that is used tofetch an instruction.

Pin 37: MEMSEL line. This select line, whenlow, indicates the cycle involves mainmemory action.

Pin 38: CPSEL line. When low, this selectline indicates the instruction or data is tobe read from or written into the controlpanel memory.

Pin 39: INTGNT line. This line goes highwhen the 6100 grants a device interrupt.

Pin 40: DATAF line. This line goes highduring the execute phase of an indirectlyaddressed AND, TAD, ISZ or DCAinstruction. It allows the extended ad-dress element to select a different fieldthan that from which the instructionitself was taken.

Timing Diagram

IM6I00 timing is quite easy lo under-stand. Refer to the basic CPU timingdiagram shown in figure 1. This diagram isgiven in the form of an example thecomplete fetch and execute cycles of a DCAinstruction. This instruction deposits the6100 accumulator contents into a selectedmemory location, then clears theaccumulator.

T-state timing is derived directly from thecrystal. Each state requires two completecycles of the crystal oscillator. Then eachmachine cycle requires cither five or sixT-states, depending on the instruction. SixT-states are required when the particularmachine cycle involves a write operation.Most instructions require two or threemachine cycles to complete their fetch andexecute phases, but a few require fourcycles.

The example begins with the first cycle,fetching the DCA instruction from memory.Throughout the fetch cycle the I FETCH linestays high. During Tl the instructionaddress, derived from the IM6100 programcounter, is put on the data lines (DX). TheLXMAR pulse is then used to clock thisaddress into a 12 bit wide latch in Ihcmemory. (The trailing edge of LXMARshould be used to produce this latchingaction, so the DX data has plenty of time tosettle at the latch inputs.) The memory thenretains this address until another LXMARpulse comes along in the next cycle.

The next thing that happens is that one

63

FIELD 7

FIELD 6

FIELD 5

FIELD 4

FIELD 3

FIELD 2

FIELD 1

FIELD 0

32K MEMORY

of the select lines, MEMSEL, DEVSEL,CPSEL or SWSEL, goes low at the risingedge of T2. The purpose of the select is tospecify whether the action during the cycleconcerns main memory (MEMSEL), anexternal device (DEVSEL), the control panelmemory (CPSEL), or the front panel switchregister (SWSEL). In our example we arcfirst fetching an instruction from mainmemory, then depositing data into mainmemory, so in both cycles it will be theMEMSEL line that will go low. This signal isused (in the first cycle) to allow the mainmemory to drive the data lines, with thedata to be received by the IM6100. In thefirst cycle of the example the data trans-mitted by memory will be the DCA instruc-tion. States T3, T4, and T5 of the first cycleare then used by the 6100 for internaloperations such as register transfers andALU operations.

The second cycle starts with the 6100putting the address to be written into on thedata lines, and outputting the LXMAR pulseto latch this address into main memory.(This address is a part of the DCA instruc-tion which was fetched in the first cycle.)Although the second cycle is a "write"cycle, the 6100 will first perform a dummy(or "don't care") read at T2 when the

PAGE 36

<*

z

PAGE OO

LOC 176

LOC 175

z

<-

LOC Oil

LOC OIO

I MEMORY FIELDALL NUMBERS IN THE ABOVE MAP ARE OCTAL

I MEMORY PAGE

0

2

3

4

5

6

7

S

9

10 1 1

PAGE NUMBEROCTAL 00 TO 37

PAGE ADDRESSOCTAL 000 TO 177

Figure 2: Memory Organization, The memory address space of the IM6100(and the PDP-8) is divided into fields of 4096 words. Each field in turn isconsidered to have 32 pages. Within each page there are 128 memorylocations. The division into fields, pages and locations is required by the wayin which the instructions reference memory.

MEMSEL line is driven low. This read data isignored by the 6100. States T3, T4, and T5are again used for internal operations. At T6the 61 00 puts the data to be written into thelatched address in main memory onto thedata lines. Then the MEMSEL line is drivenlow to actuate the write operation. Thememory itself differentiates between readand write, when MEMSEL goes low, bymonitoring the XTA or XTC line. When theX line is high it is a read, when low a write.(XTC is probably the best line to use forthis, because it provides a little hold timeafter a read operation.)

This completes our walk through a typicalinstruction fetch and execution. Someinstructions take more cycles, but the timingis still basically the same. Here are somethings to keep in mind:

1. All instructions start with a five statefetch cycle.

2. The LXMAR pulse occurs in everycycle. In addition to latching addresses,it can be used to clear or set flip flops,etc., in peripheral devices.

3. In a given cycle, only one select lineoperates. However, some instructionsinvolve a cycle which uses one selectline, followed by a cycle which usesanother select line. For example, seethe discussion of the IM6100's uniquecontrol panel provisions, below.

4. DX line data moves in both directions,to and from the 6100. Only in someT-states is this data valid; in other statesthese lines are in the high impedancestate and just float. See the timingdiagram, figure I.

5. The XTA, XTB and XTC lines serve asindicators of the current state of the6100, within the cycle.

Instruction Set

The IM6100 instruction set is identical tothat of the PDP-8/E. All instructions are 12bits long, so it always takes just one machinecycle to fetch an instruction. The 6100makes no distinction between instructionsand data; it can manipulate instructions asdata or execute data as instructions when itis programmed to do so. Software personswill recognize this convenience. The instruc-tion can be divided into three categories:memory reference instructions, operate in-structions and input output transfer (IOT)instructions. But before discussing thesethree instruction types, let's get acquaintedwith the memory structure to be used withthe 61 00 (again, it's just like the PDP-8).

Like the PDP-8, the IM6100 has a basicaddressing capacity of 4096 (4 K) 12 bitwords. This addressing capacity is a natural

64

result of the 12 bit word width, and can beexpanded to 32 K, or beyond, by additionof a simple extended address elementmodule. This module, when designed forPDP-8 software compatibility, requiresabout 25 SSI and MSI TTL chips (but seediscussion of Intersil's IM6I00 LSI supportchips, to follow in part 2 of this article). Amaximum memory size of 32 K can beimplemented with a PDP-8.

The memory system is organized into4096-word blocks called "fields." The first4 K words are in field 0. If a full 32 K ofmemory is installed, the uppermost memoryfield is numbered 7. In any given memoryfield every location has a unique 4-digit octal(12 bit binary) address, 0000 to 7777decimal 0000 to 4096. Each memory field isfurther subdivided into 32 pages of 128words each. Memory pages are numberedsequentially from octal 00, containing octaladdresses 0000 - 0177, to octal 37, con-taining octal addresses 7600 7777. Thefirst five bits of a 12 bit memory addressdenote the page number and the low order 7bits specify the address of the memorylocation within the given page, called thepage address. See figure 2.

During an instruction letch cycle, theIM6IO0 letches the instruction pointed toby the program counter (PC). The contentsof the PC are transferred to the memoryaddress register (MAR), and the PC is in-cremented by one. The PC then contains theaddress of the next sequential instruction.The MAR contains the address of the "cur-rent" instruction, which must be fetchedfrom memory. Bits 0 - 4 of the MARidentify the current page, that is, the pagefrom which instructions are currently beingfetched, and bits 5 II identify the

location within the current page.

The memory reference instructions oper-ate on the contents of a memory location oruse the contents of a memory location tooperate on the accumulator or programcounter. The first three bits of a memoryreference instruction specify the operationcode, or "opcode," and the low order 9 bitsthe operand address, as shown in figure 3.

Bits 5 — 11, the page address, identify thelocation of the operand on a given page, butthey do not identify the page itself. Thepage is identified by the page bit, bit 4. If bit4 is a 0, the page address specified isinterpreted to be on page 0. If bit 4 is a I,the page address is interpreted to be alocation on the current page, that is, thepage from which the current instruction wasfetched.

For example, if bits 5 through II repre-sent octal 023 and bit 4 is a "0", the

location referenced is the absolute octaladdress 0023. However, if bit 4 is a "I " andthe current instruction was fetched fromoctal location 4610, the page address 023designates the absolute octal address 4623.

By this method 256 locations may bedirectly addressed, I 28 on page 0 and 1 28on the current page. Other locations arcaddressed by utilizing bit 3. When bit 3 is a"0", the operand address is a direct address.But when bit 3 is a "1", the address is takento be "indirect." An indirect address (or"pointer" address) identifies the memorylocation that contains the desired absoluteaddress. To address a location that is notdirectly addressable (not on page 0 or thecurrent page), the absolute address of thedesired location is stored in one of the 256directly addressable locations. This directlyaddressable location is used as the "pointer."(To make life simpler, remember that anindirect address and pointer address reallymean the same thing — the hiding place thatcontains the full 12 bit effective address ofthe operand you really want.)

So the IM6I00 has direct and indirectaddressing capability. It has one other ad-dressing ability, autoindexing. Octal locations

0010 to 0017 in page 0 are auto-indexed. If these locations are addressedindirectly, the contents are incremented byone and restored before they arc used as theoperand address. These locations may, there-fore, be used lor indexing applications.

The memory reference instructionmnemonics, and their opcodes, are shown inTable I, along with an explanation of whatthey do and how long they take to execute.

The second category of instructions istermed the operate instructions, all of whichhave an opcode of octal 7. These instruc-tions are all used for IM6100 internal oper-ations, such as conditional and uncon-ditional skips, accumulator rotates (eitherleft or right, and one- or two-bit shifts),clearing and setting the accumulator and

OPERAND ADDRESS

1 1

OPCODE 0B-5e1 1

IA

MP

1 1 1 1 1 1

PAGE ADDRESS1 1 1 1 1 1

ADDRESSING BIT-

0 = OIRECT

1 - INDIRECT

J t_

O.PAGE O

I = CURRENT PAGE

Figure 3: Memory Reference Instruction Format. Memory reference instruc-tions make use of the memory organization concepts in figure 2. The pageaddress identifies the particular word desired; the page bit (MP) selectswhether the current page or page 0 is selected; the addressing mode bit allowsan additional single level of indirection so that data outside the current page(but still within the current memory field) can be referenced.

65

Mnemonic

BinaryOp Code

Operation

Number of T-States

Required(direct addressing)

AND

000

Logical AND —The memorylocation addressed is AND'edwith the AC. Result remainsin AC.

10

TAD

001

Binary ADD — Memory contentsare added to AC; result remainsin AC. Carry complements Link.

10

ISZ

010

Increment and skip if zero — Thememory location is incremented.If the result is zero, the nextsequential instruction is skipped.

16

DCA

011

Deposit, and clear AC — Thecontents of the AC are depositedin the addressed memory location,then the AC is cleared.

11

JMS

100

Jump to Subroutine — The PCcontents are stored in the addressedmemory location. The PC is thenset to one address higher than thatin the instruction.

11

JWIP

101

Unconditional Jump — The nextinstruction is taken from theaddress embedded in the currentinstruction.

10

Table I: Summary of Memory Reference Instructions. This set of Sixinstructions references memory in the format of figure 3. Instructions withbinary opcodes 110 and 111 are the IOT and Operate instructions,respectively.

Com

CO

rolC1

LinesC2

Operation

H

H

H

The content of the AC is sent to the device.

L

H

H

The content of the AC is sent to the device. Then the ACis cleared.

H

L

H

The device data is OR'ed with the AC; result remains inthe AC.

L

L

H

The device data is loaded into the AC.

X

H

L

The device data is added to the contents of the PC.

X

L

L

The device data is loaded into the PC.

X — don't care

Table 2: Input Output Control Lines. The states of the three control lines(defined by the IO hardware) tell the IM6I00 what to do during an IOTinstruction.

link, fetching the MQ Register to the ac-cumulator, etc. These instructions use bits 3to I I in the instruction word (after theopcode of 7 in bits 0 — 2) to specify theexact operation to be performed. All thesebits are available, of course, since all theoperations specified arc internal to theIM6100 itself and do not require specifica-tion of a memory address.

No detailed listing of these instructionswill be given here since it is a lengthy list,and it is clearly explained in the IM6I00data sheet (and also in DEC's Small Com-puter Handbook). However, it should bepointed out that these instructions aretermed microinstructions by DEC, sincethey can be combined by setting or clearingthe proper bits in the instruction word. Thisoften cuts down the number of individualsteps necessary in a program. It is possible,for example, to use a single instruction toproduce CLL followed by RTL, which willclear the Link then rotate the accumulatortwo positions to the left.

The third category of instructions con-sists of the input output transfer (IOT)instructions. These all have an opcode ofoctal 6 and are used to initiate the operationof peripheral devices and to transfer databetween peripherals and the 6100. (Ac-tually wc are talking here about programmeddata transfers; data can also be transferred toor from peripherals by means of interruptsand direct memory access, to be explainedlater.)

In an IOT instruction, bits 0 to 2 arcalways scl to binary I 10. Bits 3 to 8 are thedevice selection code, used to select theperipheral device, and bits 9 to II specifythe operation to be performed with theselected peripheral. The device selectioncode octal 00 in bits 3 to 8 is reserved forprocessor lOTs. There are eight of these:octal 6000 - 6007. They are used by theCPU for certain housekeeping operationssuch as turning on and off the interruptsystem, fetching flag bits to the accumu-lator, etc. These are explained in detail inthe 6100 data sheet.

A programmed data transfer begins whenthe IM6I00 fetches an instruction frommemory and recognizes it as an IOT instruc-tion. The 6100 sequences the IOT instruc-tion through a 2 cycle execute phase ref-erred to as IOTA and IOTB. The instructionmust be latched into the external device,using the LXMAR pulse. DEVSEL is theactive select line for all IOT instructions.The selected peripheral device controls theIM6 I 00 during the data transfer by means ofthe CO, CI, C2 and SKP lines. The type ofdata transfer is specified by the peripheral

66

device by asserting the control lines asshown in table 2.

The SKP line, when asserted low by theperipheral device during an IOT, causes theIM6I00 to skip the next sequential instruc-tion. This feature is used to sense the statusof various flags in the device interface. TheCO, CI and C2 lines are treated inde-pendently of the SKP line.

Except for processor lOTs, all IOT in-structions arc nonspecific in that, unlike allother instructions, the operation that theyperform is not known by the CPU. Rather,the hardware designer specifies what each ofthese instructions does by the logic he buildsinto the interface for the specific peripheraldevice. The IOT instructions work in con-junction with the CO, CI, C2 and SKP lineson the 6100 chip. Let's take an example:For a PDP-8 compatible Teletype interface,il is necessary that the IOT instruction octal6034 cause the TTY keyboard data to be"OR'ed" into the 6100 accumulator. Refer-ring to table 2, it is seen that in order tocause device data to be "OR'ed" into theaccumulator, it is necessary to pull control

line CI low while CO and C2 remain high.The interface logic, then, must recognize thearrival of the octal 6034 code and assert C1low. Similarly, IOT instruction octal 6031must cause the next instruction to beskipped if the keyboard data ready flag is setin the device interface. To accomplish this,the interface logic must, upon arrival of theoctal 6031 instruction code, test the dataready flag, and then if (and only if) it is set,assert the SKP line low. (By the way, in thetypical DEC PDP-8 system, device code octal03 has been assigned to the TTY keyboardand octal 04 to the TTY printer.)

It is seen, then, that the system designerhas nearly complete freedom with the IOTinstructions. He first decides what he wantsa given IOT instruction to do, then buildsthe necessary "interpretive" logic into hisperipheral interface. Those of us who wantDEC software compatibility, though, mustuse the IOT instructions as already definedin the aforementioned Small ComputerHandbook and Introduction to Program-ming, and make sure that our interface logic"understands" those instructions."

This article is beingprinted in two parts. Thesecond part continues thediscussion, covering topicsincluding interrupts, directmemory access, controlpanel software and sup-port devices for theIM 6100.

ORGANIZATION OF THE IM6100

Many of the microprocessor chips available today were not designed to be the heart of ageneral purpose minicomputer. They were primarily designed with dedicated industrial controlapplications in mind. But the Intersil IM6100 is an exception, since it imitates so well thestructure of the PDP-8/E CPU. A block diagram of the 6100 is shown below.

LINKI LINE

o—D

CRYSTAL O-

2 LINES

XTA,XT8,XTC,

DMAGNT,

RUN,

INTGNT,

IFETCH,

DATAF

8 LINESO*

PC

~u.

~u.

t__

ALU

TEMP

INTERNAL BUS(12 LINES)

J<^=>

yz=>

y^=>

]C=>

]<^=>

>c=>

o

TIMING ANDSTATE CONTROL

£> MULTIPLEXER <^

~|

—I

,R

5 LINES

1

♦

MAJOR STATEGENERATOR

*~-1

1

-^T—►[

PLA LATCH

ALU AND REGTRANSFER LOGIC

lT>0 12 DX (DATA)LINES

RESET,RUN /HALT,■O DMAREO,INTREO,CPREO

CO4 LINES CI

O C2

SKP

MEMORY ANDDEVICE CONTROL

■ INTERNAL CONTROL LINES■EXTERNAL INPUTS OR OUTPUTS: DATA LINES

LXMAR,MEMSEL,DEVSEL,5 LINES SWSEL, ►OCPSEL

Accumulator (AC)

The AC is a 12 bit register with whicharithmetic and logical operations are per-

formed. Data words may be fetched frommemory to the AC or stored from the ACinto the memory. Arithmetic and logicaloperations involve two operands, one held in

67

the AC and the other fetched from memory.The result of the operation is left in the AC.The AC may be cleared, complemented,tested, incremented or rotated under pro-gram control. The AC also serves as an inputoutput register. All programmed data trans-fers pass through the AC.

Link

The Link is a 1 bit flip flop that serves asa high order extension of the AC. It is usedas a carry flip flop for 2's complementarithmetic. A carry out of the ALU comple-ments the Link. The Link can be cleared,set, complemented and tested under pro-gram control, and rotated as part of the AC.

MQ Register (MQ)

The MQ is a 12 bit register which isprogram accessible. The contents of the ACmay be transferred to the MQ for temporarystorage. The MQ can be OR'ed with the ACand the result stored in the AC. The con-tents of the AC and the MQ may also beexchanged.

Program Counter (PC)

The 12 bit PC contains the address of thememory location from which the nextinstruction is fetched. During an instructionfetch, the PC is transferred to the MAR andthe PC is then incremented by one. Whenthere is a branch to another address inmemory, the branch address is transferredinto the PC. Branching normally takes placeunder program control. However, during aninput output (IOT) operation, a device mayspecify a branch address. A skip (SKP)instruction increments the PC by one, thuscausing the next instruction to be skipped.The SKP instruction may be unconditionalor conditional on the state of the AC andthe Link. During an IOT operation, a devicecan also cause a SKP, by asserting the SKPline (pin 35) low.

Memory Address Register (MAR)

While accessing memory, the 12 bit MARcontains the address of the memory locationthat is currently selected lor reading orwriting. The MAR is also used as an internalregister for microprogram control duringdata transfers to and from memory andperipherals.

Arithmetic and Logic Unit (ALU)

The ALU performs both arithmetic andlogical operations, including 2's complementbinary addition, AND, OR and complement.The ALU can perform a single position shiftto either left or right, as well as a two bit

shift in either direction. The ALU can alsoshift by three positions to implement a byteswap in two steps. The AC is always oneinput to the ALU. However, under internalmicroprogram control, the AC may be gatedoff and all ones or all zeros gated in. Thesecond input to the ALU can be any one ofthe other registers under microprogram con-trol.

Temporary Register (TEMP)

The 12 bit TEMP latches the result of anALU operation before it is sent to thedestination register, to avoid race conditions.The TEMP is also used as an internal registerfor microprogram control.

Instruction Register (IR)

During an instruction fetch, the 12 bit IRcontains the instruction that is to be exe-cuted by the CPU. The IR specifies theinitial step of the microprogram sequencefor each instruction and is also used as aninternal register to store temporary data formicroprogram control.

Multiplexer (DX)

The 12 bit input output multiplexerhandles data, address and instruction trans-fers into and out of the CPU, from or intothe main memory and peripheral devices ona time-multiplexed basis.

Major State Generator and ProgrammedLogic Array (PLA)

During an instruction fetch the instruc-tion to be executed is loaded into the IR.The PLA is then used for the correctsequencing of the CPU for the appropriateinstruction. After an instruction is com-pletely sequenced, the major slate generatorscans the internal priority network. Thestate of the priority network decideswhether the machine is going to fetch thenext instruction in sequence or service oneof the external request lines.

Memory and Device Control, ALU andRegister Transfer Logic

The memory and device control unitprovides external select signals to com-municate with peripheral devices (DEVSEL),switch register (SWSEL), memory(MEMSEL) and control panel memory(CPSEL). During IOT instructions this unitalso modifies the PLA outputs, dependingon the states of the four device control lines(SKP, CO, CI and C2). The ALU and registertransfer logic provides the control signals forthe internal register transfers and ALUoperation. ■

68

BILL GODBOUT ELECTRONICSBOX 2355, OAKLAND AIRPORT, CA 94614

VOU tiAV PLACE MASTERCHARGE® OR 6ANKAMERICARD® ORDERS B^ CALLING, 24 HOURS A VAV,

(415) 357-7007

TERMS: ADD SOt TO ORDERS UNDER $10. ADD SHIPPING WHERE INDICATED; OTHERWISEITEMS SHIPPED POSTPAID. CAL RES ADD TAX. NO COD—-IT'S TOO MUCH PAPERWORK;

Qor Hew 4 k X 8 Ram Kjf ^ Ay. X 8 Erom Boorc/ #,

Other manufacturers have picked up on our bufferedaddresses and data outputs... and they've startedusing hysteresis on the data in, too..,and staticoperation...but we've got the recipe on keepingthe price down. ALTAIR 8800 PLUG-IN COMPATIBLE.Onboard regulation, sockets for all ICs, lots ofbypassing, 1a power consumption, instructions; theonly thing we skimped on was the price.

Here s a home for your software, in a memory thatdoesn't forget, Our EROMs may be changed at will,so your board won't become obsolete as your soft-ware changes. Expandable to 8K x 8, Program it

YOURSELF,,.HAVE US PROGRAM IT FOR A NOMINAL FEE...OR SPECIFY ONE OF OUR PRE-PROGRAMMED BOARDS I THEYCOME WITH 8080 EDITOR, ASSEMBLER, AND MONITOR PRE

programmed. ALTAIR 8800 PLUG-IN COMPATIBLE.

Qor Bargain Ram Kit ?o*eX *°r CPU & Men>ory

microcomputersupply $44.95

NAKED RAM4k x 8 $7995

This general purpose board is designed specifi-cally for JOLT systems, but is equally applica-ble to other bi-directional buss systems. Ifyou don't need the on board regulation or buf-fers of our "bigger brother" 4K X 8 board, thenthis is the way to implement cost-effectivememory. Low power —under 750 ma. Same size

AS JOLT RAM CARD; WITH INSTRUCTIONS.

91L02 WH.ILE™EY

. Low Power LAST

Inmosstatic SPECIAL!|

IK RAMS $2.35

This power supply kit delivers 5 Volts a 5 Amps, aswell as +12V a h Amp, -12V a h Amp, and an adjust-able negative bias supply. Foldback current lim-iting—same size as Jolt power supply card—crow-bar OVERVOLTAGE PROTECTION—1% REGULATION, 5V. A

quality computer supply,.includes chassis and allhardware, but less line cord. for 117 vac, 60 hz.Please add shipping for 8 pounds.

SEND

FOR

OUR

FREEFLYER

IT'SFILLED

WITH

GOODIES

111

Microprocessor Based Analog

Roger Frank

1801 E Girard #247

Englewood CO 80110

An analog signal is typi-cally a voltage level . . .which corresponds tomeasurement of somephysical variable.

Analog signals can be proc-essed with only a minimaladdition of hardware to asystem.

Analog input and output capabilities,when added to a microcomputer, can greatlyexpand the power of the home or hobbycomputer. Inherently, the microprocessor isa digital device, ideal for control of discrete(on or off) input and output levels. How-ever, many analog signals can also be proc-essed with only minimal additional hard-ware. With this addition, such devices astemperature sensors or photocells can bemonitored, and output peripherals such asoscilloscopes and audio amplifiers can beadded to the microprocessor.

Taking traditional approaches to analogto digital conversion can be very expensiveto the hobbyist. Hundreds of dollars couldbe spent, but this would yield only highspeed or resolution. For the amateur,typically eight bits of accuracy is sufficient,and speed is not a critical factor. Thebrightness of the sun, the temperature of theroom, or the moisture of the front lawn donot change very rapidly. By allowing themicroprocessor to do most of the workinvolved in the conversion, a simple, inex-pensive circuit can convert an analog inputto a digital word in less than a millisecond.The overall cost can be kept under $20 forfour channels of analog input.

Two techniques of analog to digital con-version are easily accomplished by a micro-processor: the ramp and successive approxi-mation methods. In each case, the task is togenerate a digital word, apply it to a digitalto analog converter (DAC), and compare theanalog output of the DAC to the analoginput to be converted. Based on the resultsof the comparison, the next digital word tothe DAC is generated.

Traditionally, several gates, up-downcounters, and clock generators are used toachieve the conversion. This approach ismuch more expensive than using the micro-processor to implement the same functions,using no external TTL logic in the conver-sion at all.

The Ramp Technique

The simplest approach is the ramp tech-nique. It has the advantage of needing theleast code in the microprocessor, but thedisadvantage of being the slowest, some 15times slower, on the average, than thesuccessive approximation approach discussedlater. For many applications, where speed isnot critical, this approach may be best. Sincethe ramp technique is conceptually easiest tounderstand, it will be examined closely first.

Figure l shows the block diagram of theAD conversion system. Unlike hardwareapproaches, the identical components can beused for successive approximation, ramp, ortracking conversion algorithms. The hard-ware can be tailored, by software, to meetspeed or accuracy requirements of the over-all system.

To understand the circuit, assume infigure 1 that the analog input to the + inputconnector of the comparator is 2.00 V, andthat all zero bits are applied to the DAC'sdigital inputs. The DAC's output will be 0 Vat the comparator's — input connector. Thecomparator's output will be a 1 bit, which isapplied to the microprocessor through aninput port. The software, by reading andtesting the input port, knows if the digitalword applied to the DAC is too large or toosmall. In this case, the 1 bit read at the inputport means "too small" and the micro-processor will increment the digital word atthe input to the DAC. The output of theDAC increases by a small amount each timethe comparator says "too small," until theDAC generated analog voltage just exceedsthe "unknown" input voltage. At thatmoment, the comparator output will be readas a 0 bit, and the digital equivalent of theanalog input voltage will be present at theinput to the DAC.

This sequence, using an eight bit DAC,generates a ramp voltage at the input to thecomparator with each step l/256th of the

70

/Digital Conversion

A challenge: Write a pro-gram to send data to theDAC at regular intervals,connect the DAC outputto a high fidelity amplifier,and play music with theDAC as a waveform gen-erator.

full scale voltage. In this application, a fivevolt full scale is typical, so each step wouldbe about 19.5 millivolts. Using the MotorolaMC6800 microprocessor, a routine toaccomplish this simple conversion would beas shown in listing 1.

Note that with the MC6800, IO is treatedas a memory location, so it is simple todirectly implement the algorithm. For theIntel 8008, a similar sequence could be used,as shown in listing 2. In this example,Register B will have the eight bit digitalequivalent of the analog input when thesequence is complete.

OUTPUT PORTFROM MICROPROCESSOR

BIT7 BITO

vvvvvvvv

MSB

LSB

b7 b6 b5 b4 b3 b2 bl bo

DIGITAL TO ANALOGCONVERTER

INPUT PORTOF MICROPROCESSOR

VOLTAGE OUTPUTPROPORTIONAL TODIGITAL INPUT WORD

BIT 7

COMPARATOR

ANALOG UNKNOWNVOLTAGE INPUT(2.0 V IN EXAMPLE)

The Successive Approximation Method

A faster technique, which always takesthe same number of passes through thedecision making loop, is the successive ap-proximation method. The hardware isexactly the same, but instead of changingthe least significant bits in incrementingfashion (19.5 millivolts per step), thismethod changes the most significant bits,one at a time, and very quickly homes in onthe correct digital word.

Using the same example, with 2.00 Vapplied to the "unknown" input of thecomparator, the sequence is like this. First,the most significant bit, bit 7, is set to a onein the DAC. The output of the DACimmediately goes to half scale, or 2.5 volts.(Remember that bit 7 represents 2**7 or128 times the least significant bit's weight of19.5 mV, which is about 2.5 volts.) Rightaway, the microprocessor knows that in thefinal digital word, bit 7 will be a zero, sincethe comparator is already saying "too high"with that bit only set in the DAC. Themicroprocessor removes bit 7 from the DACand sets bit 6 to a one. Now the DAC outputof 1.25 V is compared to the 2.00 V "un-known" input to the comparator, and theprocessor quickly learns that bit 6, by itself,is "too low," since 1.25 V is less than

Figure I: The microprocessor controlled analog digital conversion systemconsists of an 8 bit DAC output which is compared against the unknowninput.

1

RAMP

CLR

DAC

start conversion at zero;

2

RLOOP

INC

DAC

increment output voltage;

3

TST

COMP

test comparator input of b

t 7 (N)

4

BMI

RLOOP

back for more until done;

5

RTS

return to caller;

Listing I: The ramp method of conversion, specified as asymbolic assembly language program for the Motorola6800 central processor.

clear the accumulator with XOR;clear B from A;

increment DAC input word by one;move to accumulator for output;output to DAC device code;input from comparator device codeusing sign bit for comparator;return when done;

Listing 2: The ramp method of conversion, specified as asymbolic assembly language program for the Intel 8008processor.

1

RAMP

XOR

A

2

LBA

3

LOOP

INC

B

4

LAB

5

OUT

DAC

6

INP

COMP

7

JTS

LOOP

8

RET

71

result will be in A;

rotating mask, most significant first;

apply trial bit to A with addition;

send it to the output DAC latch;

read the comparator output;

check sign bit with comparator output;

if low then retain trial bit;

recover the DAC word;

restore zero to last trial bit;

then go shift the rotating mask;

keep the trial bit as logical one;

rotate the mask;

on eighth rotate, carry set

so return from the conversion;

Listing 3: A successive approximation conversion, specified as a symbolicassembly language program for the Motorola 6800 processor. This programwas adapted from a Motorola application note on the subject. Note that forfast processors or slow operational amplifiers (such as the 741), a delay loopshould be inserted between lines 4 and 5 of this program to allow theoutput to settle.

1

SUCAPPRX

CLR

A

2

LDAB

#$80

3

NEXTBIT

ABA

4

STAA

DAC

5

LDAA

COMP

6

ANDA

#$80

7

BNE

RETAIN

8

LDAA

DAC

9

SBA

10

BRA

MSHIFT

11

RETAIN

LDAA

DAC

12

MSHIFT

ROR

B

13

BCC

NEXTBIT

14

RTS

1 TESTPGM

LDAA

#$00

load test value for DAC

2

STAA

DAC

and store it in the DAC

3

RTS

then return to caller;

DIGITAL WORDAT INPUT TO DACIS 0II00II0

3.0

\/

VOLTAGEI.O

Listing 4: A test program which can be used to loadthe immediate value of 0 into the DAC output port.The symbolic location DAC is assumed to be theoutput port address.

2.00 V. In this case, the processor leaves bit6 on and adds the bit with lesser signifi-cance, bit 5. With bit 6 and bit 5 on, theDAC output voltage is 1.87 V, still too low.Thus, bit 5 also is left on and the next bit inline is tried.

The algorithm is this: simply try a bit,starting at the most significant. If the DACgenerated voltage exceeds the "unknown,"remove that bit only, else keep it. Try thenext bit, repeating the process until all bitshave been determined. In this case, eightpasses through the loop will result in thecomplete digital equivalent of the unknownanalog voltage input in a matter of milli-seconds.

This faster technique has been imple-mented with the MC6800 microprocessorwith the sequence shown in listing 3. Asustained rate of 1000 conversions persecond has been achieved.

An actual circuit to implement thesetechniques is shown in figure 2. The circuituses an inexpensive Motorola MCI408L-8digital to analog converter, which converts

TIME

INVERTING INPUTOF COMPARATOR

Figure 2: A ramp conver-sion starts at zero voltageoutput and increases thevoltage until it equals orjust exceeds the unknowninput. For larger inputvoltages, conversion takeslonger since the programmust cycle through all theintermediate values fromzero to the final binaryword.

digital inputs to a current output at pin 4.Current output, which is subsequently con-verted to a voltage, is typical with DACs.

The circuit to the left of the DAC is asimple zener diode voltage regulator. Thezener maintains a constant voltage dropacross the resistor R1, since the right side ofthe resistor is at virtual ground. The currentthrough R1 is the reference current, which iseither absorbed internally or steered out theDACs pin 4. How much current leaves theDAC is a function of the digital input wordapplied on pins 5 through 12.

The current cannot be compared to theunknown analog input voltage without someconversion. Dig out your operational ampli-fier articles and you'll realize that theLM301 is functioning as a current to voltageconverter, which changes the 0 to 2 mAoutput of the DAC into a 0 to 5 V voltage.This voltage, after a little filtering, is thenapplied to an LM311 comparator.

The LM311 has the useful feature ofhaving an analog comparator input, but aTTL compatible (open collector) output.The LM311 output can be directly appliedto an input port of the microprocessor forprogram controlled evaluation. Resistors R6and R5 add a little hysteresis to the com-parator and, like the filtering componentsCI, C2, C4 and R7, are recommended,though not absolutely essential to the opera-tion of the circuit. Similarly, a 741 typeopamp can be used in place of the LM301,but the circuit will take longer to convertthe current output of the DAC into a stablevoltage at the input to the LM311.

Circuit calibration is simple and consistsof only one adjustment. First apply all zerosto the digital input to the DAC. The voltageat pin 6 of the LM301 should be very nearlyzero volts. If it isn't, check your circuitcarefully. If off by only a few millivolts, asmall offset current could be injected intothe input of the LM301 to make it exactlyzero volts, but for eight bit accuracy thisshould not be necessary. Now apply all 1bits to the DAC input. The output of thecurrent to voltage converter should now beadjusted to 5.00 V with resistor R4. Withthis setting, you have calibrated to the19.5 mV/b specification used in theexamples.

Expansion of this circuit, once the singlechannel version is complete, is straight-forward and very inexpensive. For example,each additional channel of analog to digitalconversion can be added with only anadditional comparator. Each added LM31 Ihas its output connected to a separate inputport bit, up to eight channels per port for an8 bit processor. Then in software, choose thechannel of interest by logically masking out

72

FROM MICROPROCESSOR OUTPUT LATCH

+ 5V

TO MICROPROCESSORINPUT PORT

-15LM30IACURRENT TO VOLTAGECONVERSION

-15 V

LM3IIANALOG COMPARATOR

-I5VMCI408L-8DIGITAL TO ANALOGCONVERTER

Figure 3: Schematic of the circuit used for 8 bit conversions. This hardware can be used for either the ramp or successiveapproximation methods described in this article.

all the other channels. Here the LM339 canbe used to have four comparators, and fourchannels of AD, in one package. Similarly, atno charge, this circuit can be used as asource of digitally programmed analog volt-age to deflect an oscilloscope trace or act asa computer controlled function generator,producing extremely complex waveforms, ifdesired. Another use could be a keyboard

controlled power supply with suitable cur-rent gain added to the DAC output.

These techniques and this inexpensivecircuit open a wide world of analog inter-facing to the microprocessor hobbyist. Nowthe home computer can go beyond thenumber crunching, logic control functionsand talk to the real world on its own analogterms."

Stamp Out Cybercrud

COMPUTER

Have you every been victimized byone of a myriad computer based inter-personal putdowns? In Ted Nelson'sbook, Computer Lib/Dream Machines,you'll find an excellent essay on thenature of this "cybercrud."

Have you ever wondered where to gofor a basic starting point in your questfor information about computer applica-tions and uses? Ted Nelson's book.Computer Lib/Dream Machines, is theplace for you to begin.

Computer Lib/Dream Machines is forthe layman — the person who is intelli-gent and inquisitive about computers. Itis written and self published by aphilosopher who is also a self confessedcomputer fan and an excellent teacher ofbasic concepts. (For those who have notyet heard, ivory towers are constructedout of real and substantial white bricks.)The most important aspect of this book

is its inspirational data content. Themachines we're all busy working on aredeep personal expressions, and not thecold and inhuman monsters of the tradi-tional stereotype. The book definesmany of the terms and explains many ofthe techniques which can be used in thepersonal computer systems we're allbusy constructing and programming. Itperforms this service in a way whichadds color and excitement to this newestof art forms, the computer application.

Computer Lib/Dream Machines ismust reading for the beginner, and is alsoa refreshing self examination for the oldhand at programming and systems work.

You can order your copy of Com-puter Lib/Dream Machines from BYTE'sBooks for $7 postpaid. Send your ordertoday to BYTE's Books, 70 Main St.Peterborough NH 03458. Help stampout cybercrud.

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

Name

Address

Cily

Slate

Zip

'' Check enclosed

ii Bill MC #

ii Bill BA #

BIT!

Exp. Date.. Exp. Date.

PETERBOROUGH, NH 03458

Signature

73

Simplify Your Homemade

Gregory C Jewell11855 Southeast 188thRenton WA 98055

-CHARACTER POSITION » I 2 3 4 5 6

12 13 14 15 16 17 18 19 20

—V//AR |% W II A

label (optional) -ignored

mnemonic operation codeor pseudo operation

ignored

operand field

comments (to end of line)

Notes: 1. A semicolon (;) in line position 1indicates the whole line is a commentand will be ignored by the assembler.2. If the .AS or .AZ pseudo operations areused, the operand field can be as long asrequired.

Figure I: Summary of simplified assembler source format. This figureillustrates the fixed field format. The label field is used to define symbols, theoperation code field is used to specify a mnemonic operation code or apseudo operation, and the operand field is used to contain informationaccording to the format of figure 2. Comments may be written by starting aline with a semicolon in position one, or following the operand field with thedesired comments.

Our primary goal in the design of a simpleassembler is to eliminate the need to parse aline in order to determine what informationis contained in that line. Rather than asking"What are you trying to give me?", ourassembler will demand, "I know where I am,so give me what I want."

The assembler described here is a three-pass assembler. The first pass compiles asymbol table; the second pass outputs thegenerated machine code, and the third passproduces a hexadecimal listing of the gen-erated machine code with its associatedaddresses and source statements.

Labels

The first step on our path to simplicity isa major one even though its impact on ourprogram writing will be slight. We willspecify that all labels should have a fixedlength of four characters with a restrictionthat the first character should be alphabetic.Although not the main objective, requiringfixed length labels adds the feature ofallowing embedded blanks in the labels.Figure 1 illustrates the fixed field format ofthe simplified assembler. In the example, aline of assembler input is shown in theboxes, with shaded boxes indicating blanks.The label AXLE is shown on a statementcontaining the JSR operation code withoperand WHAT.

Six or eight characters is a popularmaximum for assembly language labels; how-ever, our four character labels will savememory space and speed up the task ofsearching for a label in the symbol table.

74

Assembler

The simplified assemblerwill demand "I knowwhere I am, so give mewhat I want."

A label is defined when it appears for thefirst time in a statement of the programwhich is being assembled. A label is notrequired for every statement. However, ifthe first character position of the statementis found to have an alphabetic character,then the first four columns define a newlabel for the symbol table. If the firstposition is a blank, then the assemblershould ignore the remaining positions of thelabel field. This is an example of what iscalled a fixed field syntax because we alwaysexpect a label or no label at all in thesepositions. Programming of the assembler issimplified by use of this limitation. The needfor parsing has been nearly eliminated bythis single requirement of fixed-length labels.But let's take a few more steps.

Operation Codes

As in commercially available assemblers,the next field on each line of the programbeing assembled is an operation code field.This field is separated by a blank characterposition from the label field, and thus beginsin the sixth character position of our fixedfield input format. In the operation codefield, the assembler can find two types ofinformation: an assembler pseudo operationor a mnemonic operation code for machineinstructions.

Pseudo Operations

A mnemonic operation code is a symbolwhich the assembler in most instances willtranslate into a machine instruction. Apseudo operation code is a similar symbolwhich looks very much like a mnemonicoperation code. However, the pseudo opera-

Mnemonic Description

.SA starting address

.RS reserve storage

.XW hexadecimal word

.AS ASCII string

.AZ ASCII siring with zero

.DF define address

.1 L inhibit listing

.EL enable listing

.ND end

Table I: Pseudo operations.

Action

Defines the address for the next instruction.The assembler must know where to start assign-ing code whether by default or instruction.Similar to the ORG pseudo-op of otherlanguages.

Saves space for specified number of words.

Loads specified hexadecimal value into location.

Breaks down a character string into its ASCI Iequivalent.

Same as .AS except that the ASCII code is ter-minated by a zero byte.

Loads address of specified label into location.

Inhibits listing during third pass.

Enables listing during third pass (defaultcondition).

End of source program.

tion does not normally generate machineinstructions and is used instead to controlhow the assembler will generate code. Allassemblers have pseudo operations. Ours isno exception. When choosing pseudo opera-tions, the goal of simplicity should be keptin mind. Most likely we will be able to getby without many of the fancy or powerfulpseudo operations that add bulk and com-plexity to the assembler program.

I have defined nine basic pseudo opera-tions for my assembler. All begin with aperiod so that the assembler program needonly examine the first character to deter-mine if the mnemonic is a pseudo operation.This speeds address calculation during thefirst pass since all other PACE instructionsgenerate a single word of code. It also aids

75

Table 2: An example ofthe output of an assemblerimplemented according tothis definition. This assem-bly shows a memory testprogram written for theauthor's system. Bearing inmind all the limitationsplaced upon the sourceformat to simplify writingthe assembler, note thatthe listing looks like a"typical" output of anassembler. Note the fre-quent use of commentlines (starting with a semi-colon) to explain variousaspects of the program.The program uses theauthor's 3 character mne-monics instead of thePA CE mnemonics, and thepseudo operations areshown in table I.

END FIRST PASS,

0 ERRORS DETECTED

SYMBOL

TABLE

DATA

000E

DSPL

0024

ERR

0020

LIM

002 5

NEXT

00 ID

RITE

000.1

READ

0006

REED

0015

END OF SYMBOL TABLE,

3 LABELS

human recognition. The nine pseudo opera-tions are briefly described in table 1.

We now have all the information requiredto complete the first (address allocation)pass. It is possible to identify a label andcalculate its address, since PACE has fixedlength instructions. The label and itsassociated address are stored in the symboltable sequentially. A symbol definition re-quires three words, since we must store twowords for the name and one word for theaddress. If desired, at the end of the firstpass the labels may be sorted by the firstcharacter (it's surprising how close this

TWO-PART MEMORY TEST

CI) ADDRESS-DATA CHECK

WRITE h UNIQUE NUMBER IN ALL LOCATIONSIF A USED ADDRESS LINE IS BAD- THEN AT LEASONE EPPOP MILL OCCUR

10

\ 1

121314151617181?2821

242 5262728

2 9

3 031323334

3 73 8

3 3

4 04 1424344454 6474349

0 0 0 0000 1

0002 F9

0003

00040 0 0 5

5226DA00 RITE

19027A0119FB

. SA 0LIM IV2, 26STA R2, <R2 '

P2, LIM

READ

P2. 1

PITE

SHE

.IMPATE.IMF-

LOAD STARTING ADDRESS OF TEST

I.J RITE ADDRESS INTO LOCATION

MEMORY LIMIT REACHED"'

YES

NO. INC INDEX

PEAD BACK UNIQUE NUMBERS

00060 0 0 70 0 0 8

0 0 0 90 0 0 A0 0 0 B

0 0 0 C0 0 0 D

52 26FA0O19011916F91A1 9 0 27A0119F9

READ

LIMSHE

.IMP.IMPSUEJ HPA I S..IMP

R2, 26R2, i P2

+ 2ERR

R2.LIMDATAR2, 1REHH+1

RELOAD STARTING ADDRESSCOMPARE. SKIP IF ERROR

MEMORY LIMIT REACHED?YES, GO TO NEXT PART OFNO. INC INDEX

TEST

SHIFT-ONE DATATEST WORD HAS AWRITE TEST WORDTEST ALL BIT PO

CHECKSINGLE BIT SET

IN ALL location;ilTIONS

0 0 0 E0 0 0 F

0 0 1 0

001 1

00120 0 130 0 14

00 15

0 0 1 60 0 1 70 O 1 S0 0 1 90 0 1 A00 IB

0011 c

0 0 1 D00 IE

0 0 1 F

5O01 DATA

5226

D2O0

F91319027A0119FB

LIM

LIMSTA

SHE

J MP

HIS

.IMP

PO. 1P2. 26RO, '. R2''P2. L IMPEELP2, 1D A T A + 2

I N I T I

LOAD

WRITE

MEMORYYESNO. IH(

LIZE TEST WORDTARTING ADDRESSTEST WORDLIMIT REACHED'

INDEX

PEAD BACK TEST WORD

REED LIMSNE

.IMPJ MPSNE.IMP

HIS

.IMP2802 NEXT SHL

F200190119 0 7F90B19 027A0119F930245F05 E 0 0

RELOAD STARTING ADDRESSCOMPARE, SKIP IF ERROR

R2, 26PO, < R2.'

+ 2ERR

R2, L IMNEXTR2. 1REED+1

PO.1 SHIFT TEST WORD

5.DATA+1 WRITE NEW TEST WORD IF NONZEROR2.RO TEST COMPLETE. DISPLAY 0 ERRORS

MEMORYYESNO. IN'

LIMIT PEACHED"INDEX

53 . ERROR ROUTINE DISPLAY BAD LOCATION

54 ;

55 0020 5C80 ERR CPY RO.R2

56 0O21 B102 ST I DSPL LOAD DISPLAY REGISTER

57 0022 D903 'STA R2, LIM +1 SAVE TEST DATA FOR REFERENCE5 8 0W2 3 00 00 HLT

5 9 0024 30 09 DSPL XW 3809 ADDRESS OF DISPLAY REGISTER60 0025 03FF LIM XW 3FF MEMORY LIMIT = IK

6 1 . ND

END THIRD PASS,

ERRORS DETECTED

76

comes to actually alphabetizing the labels)and listed with their addresses. The sampleassembly of table 2 shows the result of sucha sort.

Mnemonic Operation Codes

The next step toward simplification is tospecify that all mnemonic operation codesshould also have a fixed length. NationalSemiconductor Corporation, PACE'S manu-facturer, suggests mnemonics containingfrom two to five characters. Even if we usethe manufacturer's suggested mnemonicsand specify a fixed length of five characters,the indirect notation @ would probablythrow a wrench into the works since the @

usually directly precedes the label ratherthan immediately following the mnemonic.I chose to define a set of 3 charactermnemonics. This saves memory space andspeeds up the search for mnemonics in thetable of operation codes. The three charac-ters of the mnemonic operation code can bestored in one and a half words (3 bytes) andthe binary opcode may be kept in theremaining byte. There is nothing magicabout mnemonics; they are simply aids toremembering the instructions. It's yourcomputer, so you might as well use yourown mnemonics — unless you plan to makeyour assembler commercially available.Table 3 shows the correlation between the

An effective address is acombination of an address-ing mode and a displace-ment.

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

Manfacturer's

Suggested

Author's

Mnemonics

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

skip if greater

SGT

6.

SKAZ

skip if AND is zero

SAZ

7.

ISZ

increment and skip if zero

ISZ

8.

DSZ

decrement and skip if zero

DSZ

9.

LD@

load indirect

LDI

10.

ST@

store indirect

STI

11.

LSEX

load with sign extended

LSX

12.

AND

logical AND

AND

13.

OR

logical OR

IOR

14.

SUBB

subtract with borrow

SBB

15.

DECA

decimal add

DCA

16.

AISZ

add immediate, skip if zero

AIS

17.

LI

load immediate

LIM

18.

XCHRS

exchange register and stack

XRS

19.

CFR

copy flags into register

CFR

20.

CRF

copy register into flags

CRF

21.

PUSH

push register onto stack

PSH

22.

PULL

pull register from stack

PUL

23.

CAI

complement and add immediate

CAI

24.

SKNE

skip if not equal

SNE

25.

LD

load

LDA

26.

ST

store

STA

27.

ADD

add

ADD

28.

RXCH

register exchange

RGX

29.

RCPY

register copy

CPY

30.

RADD

register add

RAD

31.

RADC

register add with carry

RAC

32.

RAND

register logical AND

RND

33.

RXOR

register exclusive-OR

XOR

34.

BOC

branch on condition

BOC

35.

RTS

return from subroutine

RTS

36.

RTI

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

All assemblers have pseudooperations. This one is noexception.

77

manufacturer's suggested mnemonics andthe 3 character mnemonics which I selectedto simplify my assembler.

Instruction Groups

So far we have defined a 4 character labelfield and a 3 character mnemonic field. Tomake the program readable, we'll allow asingle character (blank) after each field and asemicolon in the first character position(column one) to signal a comment line. Ourassembler now expects either a blank, asemicolon, or an alphabetic character in thefirst position. As noted earlier, if the firstposition of a line contains an alphabeticcharacter, then a label exists in the first fourpositions. The fifth position is ignored. Thesixth through eighth positions contain theoperation code or pseudo operationmnemonic and the ninth position is ignored.What does the assembler expect in the tenthposition? To answer this question, we mustcollect instructions with similar binary andsource formats into instruction groups. Theonly variation within an instruction group isthe mnemonic operation code. Figure 2 liststhe ten PACE instruction groups.

After the instruction group is determined,our assembler will know exactly what tolook for and where to find it. For example,if the instruction is in group three, the tenthcharacter position is ignored (allowing youto specify RO, AO, XO, or whatever pleases

you at the time), a digit less than four isexpected in the eleventh position; thetwelfth position is ignored, and the destina-tion (DEST) field begins in the thirteenthposition. If the instruction is in group four,then the assembler expects to find a digitless than four in the eleventh and fourteenthpositions. If the instruction is in groupseven, then the assembler's worries are over,since such instructions have no operands.

Destination Field

The destination field (DEST) is requiredto determine the effective address. An effec-tive address is the combination of anaddressing mode and a displacement. Thefour PACE addressing modes are programcounter relative, relative to register R2 usedas an index, relative to register R3 used as anindex, and base page. All addressing modesof the destination field entries (destinationmodes) listed in table 4 are program counterrelative except the last two: (R) is indexmode and *K is base page mode. The indexand base page modes are limited primarilyby my own biases and could be chosendifferently in your own version of such anassembler. As with all other fields of apersonal assembler, the DEST field shouldbe tailored to your own preferences. Themodes of table 4 are sufficient while main-taining the goal of simplicity.

Figure 2: PACE Instruction groups.

Group Instructions

0 JMP,JMI,JSR,JSI,SGT,SAZ,ISZ,DSZ,LDI,STI,LSX,AND,IOR,SBB,DCA

I5

1 1 14 3 2

B

i i

1 0

inary Format

ooooooooo

98765432 1

00

Operand Format

Position 10

OP

XR

DISP

DEST*

1 AIS.LIM.CAI

OP

R

IMMEDIATE

R,K

2 XRS,CFR,CRF,PSH,PUL

OP

1 -

NOT USED

R

3 SNE,LDA,STA,ADD

OP

R

XR

DISP

R, DEST*

4 RGX,CPY,RAD,RAC,RND,XOR

OP

DR

SR

NOT USED

R,R

5 BOC

M.DEST*

OP

CC DISP

6 RTS.RTI

OP

DISP

7 PSF.PLF.HLT

OP

NOT USED

none

8 SET.PLS

OP

FC

P

NOT USED

M

R,K or R,K,L

9 SHL,SHR,ROL,ROR

OP

R

N

L

R = RO, R1, R2or R3 0< K <0« M « F L= "L" (

:Fletter L)

* See Modes of the destination field, table 4.

78

Again, by examining only the first charac-ter of the field, the assembler can determineif the DEST field has a label, a specifieddisplacement, an index register, or a basepage value. The + or — extension after thelabel will always be in the same relativeposition since we have declared that alllabels contain four characters. If the firstcharacter of the DEST field is an alphabeticcharacter, then the first four characters ofthe field form the label; and, if there is anextension, the + or — will always be the fifthcharacter of the field.

Example

Table 2 shows the output of the first andthird passes of a memory test program. Itlooks general even though strict rules wereapplied. The execution lime is approxi-mately 1.5 seconds for each 1 K of memorytested. Notice the destination LIM +1 instatement line 57. LIM+1 would have pro-duced an UNDEFINED LABEL error. Thetrailing blank is part of the label.

If you desire simplicity and can live withLIM +1 rather than LIM+1 then you mightimplement the rules I have presented (oryour own variation) in your homemadeassembler.

Conclusion

The simplified homemade assembler'ssource language is now completely defined

Table 4: Modes of the destination field(DEST).

DEST

Description

LABEL

symbolic

LABEL+K

symbol relative

LABEL-K

symbol relative

.+K

(here plus K)

program counterrelative

.-K

(here minus K)

program counterrelative

(R)

index register

*K

base page

0<= K < --

= FF

R = R2 or

R3

in a way which is simple and easy toimplement, yet probably adequate for allour programming needs. Except for the .ASand .AZ pseudo operations, we haveeliminated the need for parsing, mainly byspecifying a fixed label length (withembedded blanks) and a fixed mnemoniclength. Other simplifications were achievedby selecting only basic pseudo operationsand destination modes. By using thesetechniques, you should have your home-made assembler running by tomorrow."

REFERENCE

PACE Technical DescriptionNational Semiconductor CorpSanta Clara CA 95051Publication number 4200078AJune 1975

GLOSSARY

ASCII: American Standard Code for InformationInterchange. A 7 bit code used by many machines.

Assembler: An assembler is a program whichaccepts a symbolic representation of some compu-ter program and transforms it into one which canbe executed by a computer. The symbolic repre-sentation is called a source program; the executablerepresentation is called an object program.

Character Position: Each line of the source pro-gram which is read by the assembler is a characterstring. In a fixed field syntax, the characterpositions are numbered (in this case, from 1 to theend of the line). Each field of the format is a groupof characters specified by number, such as the labelfield which is positions 1 to 4 of a line in theexample of this article.

Mnemonic: A technique to assist human memory.A mnemonic term is an abbreviation or acronymused instead of numeric codes in order to facilitateeasy recognition. Example: BOC for Branch OnCondition rather than 4.

Parsing: The breaking down of a general characterstring into its structural forms. This requires syntaxrules for the computer language analogous to thegrammar rules for English that define "subject,"

"predicate," "object," and so forth. In this assem-bler, we simplify syntax rules by requiring fixedpositions for each piece of information on a linewhich eliminates the need for parsing.

Pass: An assembler typically must look at theentire data of a program several times. Each pass ofan assembler is one complete scan through theprogram data. In the simplest home brew assem-blers using audio cassette mass storage, each passwill require manual intervention to rewind andrestart the appropriate tape cassette drive.

Pseudo operation: A group of characters having thesame general form as a computer instruction, butnever executed by the computer as an actualinstruction. Pseudo operations are instructions tothe assembler.

Source Program: A program coded as a humanreadable character string in some programminglanguage, which must be translated into machinelanguage.

Symbol Table: A dictionary relating one set ofsymbols to another set of symbols or numbers. Theassembler builds a table of labels used in theassembly language program and assigns memorylocations (addresses) to those labels.

79

Do not ask me to RAPEmy BYTEs!

Computers now or in thenext generation couldnever be even a fraction asreliable or intelligent as ahuman being.

How close are we to acomputer that can drive acar (without a crash)?

Continued from page 16

unless the convention of using a slashed zerois used as well. To avoid all this perhaps ilwould be best if the standard symbol forohms, the Greek letter Omega (£2) is used, orthat the word "ohm" be spelled out to avoidconfusion.

Michael S MaitenLos Angeles CA

You have a point, which was also madeby several others. In future B YTEs you canexpect to see the term "ohm" used whereresistance values are specified.

SCIENTIFIC APPLICATIONS, ANYONE?

I would like to suggest that the variousscientific applications of the various micro-computer systems available should receivesome time in the Foreground. Floating pointprocessing, implementation of hardware andsoftware approaches to trigonometric andtranscendental functions, digital filtering,AD and DA conversion are all areas ofapplication that expand the usefulness of themicrocomputer into practical, real worldscience and engineering. It's been saidbefore, but the applications are limited onlyby the user's imagination. Some simpleexamples might be the star locator routineused by an amateur astronomer, or theantenna simulator used by the ham radiooperator for the computer-aided-design of anew antenna, or the engineer studying theresponse of a bandpass filter for a bio-feedback system.

Truly, the possibilities are awesome.

B Humprey JrFPO Seattle WA

NO DeBYTEchery . . .

My real reason for writing is the BOMB... I know that I feel about BYTEs like theother dudes and dudesses feel about theirBYTEs and man there is no way that I'mgoing to tear, bend, spindle or mullilate mymag so that someone can get $50 bucks (tome the mag is worth $50 bucks). The pointis this. . . put BOMB on a card - I'd evenpay postage but do not ask mc to RAPEmy BYTEs!

Michael B GambleAPO New York NY

Sorry, Michael. The BOMB form andquestionnaire will remain on tear sheets forthe time being. However, you (or anyoneelse) are free to photocopy the BOMB pageby whatever means available ... we place anotice to that effect on the pages in ques-

tion. You will note, however, that we nowhave an easily removable reader's service"bingo" card, and a subscription servicecard which avoids the need to cut up B YTEfor those important functions, yet preservesa magazine free of excessive insertionswhich interfere with reading and enjoymentof the copy.

THE ABSURDITY OFALL POWERFUL COMPUTERS

"Could A Computer Take Over?" missesan important point: Computers now or inthe next generation could never be even afraction as reliable or intelligent as a humanbeing. Estimates of the information capacityof the human brain range from 10**40 to10**70 bits from what I know. The biggestcomputer systems today have on the orderof 10**10 bits. On the basis of memorycapacity only, that makes the biggest com-puter systems today at least 10**30 limes asstupid as human beings.

Moreover, if a computer with the capac-ity of the human mind did exist, its intel-ligence would never be realized because:

1. At error levels even millions of limessmaller than the best computer todayand with total redundancy of opera-tion, the system would crash into atwitching mass of bug ridden pulsesevery time its vast resources aretapped.

2. Software written for it could never bedebugged and proven out completelyeven if the hardware could be reliedupon.

Paul CarrickSan Jose CA

Beware of proofs that "it can't be done. "Al least one eminent professor "proved"prior to 1903 that a heavier than air machinecould not fly. However, more than likelyany computer oriented dictatorship wouldinstead be built upon a layer of "Cyber-crud," distortions and mystical half truthsabout computers (see Theodor Nelson'sbook, Computer Lib/Dream Machines/ Partof the goal of popularizing computer tech-nology is to help avoid such a dire turn ofevents.

OGHAM AND STONEHENGE

It appears that Thomas C Mclntirc, authorof "How to Save the Bytes," has re-inventedOgham, an archaic Irish character set whichwas in use 1 500 to 1000 years ago.

Is it possible that the Irish inventedOgham for the same reason Mr Mclntire did,to achieve communication with a computer?It is well known that analog computersexisted in ancient times. Perhaps these

80

computers possessed digital capability whichhas gone unrecognized. I am, of course,referring to Stonehenge, an early CPUcomposed of monolithic chips. Similarwoodhenges also existed.

Have menhirs inscribed with Ogham everbeen found?

Has a menhir reader ever been discoveredat Stonehenge?

H A Jones

SOME SUGGESTIONS

I would like to see BYTE be a critical eyeover the amateur computing field. Newmachines, chips, software should be re-viewed in some standardized fashion, as inthe Popular Science new car tests. Theconveniences of software availability shouldbe gone into; Bob Baker's PDP-11/LSI storyonly had one paragraph on that subject. Thearticle did not compare the quality of theinstruction set to the other available micros(I'm not familiar enough with any chipsother than the 8080 to make a judgment,just given the instruction set). How does itsadaptability by home tinkerers comparewith other machines? Don't get me wrong. Iliked the article on the LSI-11, but I thinkBob should have been more critical as well asdoing the good job he did on explainingwhat's inside it. These things, while a lotcheaper than in the past, are still a majorinvestment. I'd like to know what I'm givingup in order to get what I 'm getting.

I would also like to see software articles,maybe programming style and structuredprogramming, explained, and algorithms forthe interesting or the useful. Full programsare nice but I'd also like an emphasis on"how to," ie, "take this technique and run"rather than canned routines.

Is there any such thing as a home builtprinter, plotter, disk drive and other exoticequipment which gets around the high-technology manufacturing by using laborintensive techniques at home? I'd like toknow about it.

As spice, maybe some articles occasion-ally on exotic uses of computers in general —send a reporter to the ACM meetings and tellus what's happening; for instance, how closeare we to a computer that can drive a car(without a crash)?

Philip RobareChampaign IL

BYTE often gets letters which ore full ofsuggestions about articles for the magazine.Philip Robare'$ is one of the best in thatcategory. Potential authors would do well tolook at some of his suggestions for articlesand short subjects.

UNBELIEVABLE!!!!!

The intecolor® 8001 Kit

A Complete 8 COLOR intelligentCRT Terminal Kit

$1,395

"Complete" Means

• 8080 CPU • 25 Line x 80 Character/Line • 4Kx8 RAM / PROM Software

• Sockets for UV Erasable PROM • 19" Shadow Mask Color CR Tube

• RS232 I/O • Sockets for 64 Special Graphics • Selectable Baud Rates to9600 Baud • Single Package • 8 Color Monitor • ASCII Set

• Keyboard • Bell • Manual

And you also get the Intecolor" 8001 9 Sector Convergence System forease of set up (3-5 minutes) and stability.Additional Options Available:

• Roll • Additional RAM to 32K • 48 Line x 80 Characters/Line • Light Pen

• Limited Graphics Mode • Background Color • Special Graphics Characters

• Games

ISC WILL MAKE A BELIEVER OUT OF YOU.

i° Send me_

(no.) Intecolor" 8001 kits at $1,395 plus $15.00 ship-

ping charges each.

Enclosed is my D cashier's check. □ money order, □ personal check*

n $350 deposit/kit for C.O.D. shipment for $

NAME

ADDRESS

CITY

.STATE-

ZIP,

'Allow 8 weeks clearance on personal checksDelivery 30-60 days ARO

Intolllnonr Cuctomc rnrn 4376 Ridge Gate Drive, Duluth, Georgia 30136iiiieiiiyeiu aysicins turp.,, Telephone (404)449-5961

Solid State Music Memory Products

MB-2 Memory Board

Altair compatible, address & wait onboard DIP switches. 4Kx8. May be piggy-backed for 8Kx8.

PC Board $ 22

Kit (2102's 1 us) $112

Kit (91 l02A's .55 us) $132

IO-1 I/O Universal Board

8 bit parallel input & output portscommon address decoding jumper se-lected, one address for 8800 front panelsense switch, 40 uncommitted sockets,plug compatible with 8800Kit $42 PC Board $22

IO-2 Prom & Universal Board

I/O for 8800, 2 ports committed, padsfor 3 more, other pads for EROMS,UART, etc.

Kit $47 PC Board $22

Altair Compatible Mother Board

PC Board $40

Video Board

32 lines by 32 charactersKit $125 PC Board $35

All kits may be purchased built and testedfor an additional $25

2101

$ 4.50

74C89

$ 3.50

2111

$ 5.00

74189

$ 3.50

2112

$ 5.00

8223

$ 2.50

4002-1

$ 6.00

93410

$ 3.50

4002-2

$ 6.00

91 L02A

$ 2.55

7489

$ 2.50

1702

$ 5.00

74200

$ 5.90

1702A*

$12.00

741200

$ 5.90

*Programin<

) $ 5.00

MIKOS

2102's

1usec

.65usec

.5usec

64

$16$112

$18$128

$20$144

419 Portofino Dr.San Carlos, Calif. 94070Check or money order only. Calif, res. 6%tax. All orders postpaid in US. All devicestested prior to sale. Money back 30 dayguarantee $10 min. order. Prices subject tochange without notice.

81

ATTENTION All Ye Alice Freaks and Other Lovers of Logical Systems. Here isdocumented evidence that Lewis Carroll would have read BYTE had he lived in1976:

JABBERWOCKY.

'Twas brillig, and the slithy tovesDid gyre and gimble in the wabe;

All mimsy were the borogoves,And the mo me raths outgrabe.

"Beware the Jabberwock, my son!

The jaws that BYTE, the claws that catch!Beware the Jubjub bird, and shun

The frumious Bandersnatch!"

He took his vorpal sword in hand:

Long time the manxome foe he sought—

So rested he by the Tumtum tree,And stood awhile in thought.

And as in uffish thought he stood,The Jabberwock, with eyes of flame,

Came whiffling through the tulgey wood,And burbled as it came!

One, two! One, two! And through and throughThe vorpal blade went snicker-snack!

He left it dead, and with its headHe went galumphing back.

"And hast thou slain the Jabberwock?

Come to my arms, my beamish boy!0 frabjous day! Callooh! Callay!"

He chortled in his joy.

'Twas brillig, and the slithy tovesDid gyre and gimble in the wabe;All mimsy were the borogoves,And the mome raths outgrabe.

Don't miss out on all the fun and high quality information which is found inevery 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.

1

Name . .AddressCity . .

. State.

Zip..

° BILL ME □ Check for $12 enclosed

□Bill BankAmericard or MasterCharge #

Name . .AddressCity . .

State Zip.

□ BILL ME OCheck for $12 enclosed

□ Bill BankAmericard or MasterCharge #

• BYTE • 70 Main St • Peterborough NH 03458

Allow six weeks for processing.82

DELTA ELECTRONICS CO

POST OFFICE BOX 2, AMESBURY, MASS. 01913

Phone (617) 388-4705

wipers onThis itemis 18%" x

Bolt, Baranek & Newman DATA CODER

DELTA specializes in the unusual in electronics surplus, and we have once again found a highly desirable

item. This is a DATA CODER (digitizer) 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

data. The data (charts, maps, waveforms, drawings, game grids, etc.) is placed in the bed, and the sight

is moved along the data. This generates vertical & horizontal displacement codes, which can be stored

and processed by your calculator or micro-computer.

The bed size is 12%" x 10 5/8", and has a 7" x 10V4" portion which is translucent, for use as a lighttable. Each axis is divided into 128 increments, for a total of 16,384 discrete bits over the bed. Horiz.increment size = .10", vert, increment size = .083". Each axis generates an 8 bit code by means ofan encoding board. This makes it very easy to interface to any logic family.

is a must for your micro-computer, as it is now possible to digitize any type of data. Limited quantity. Overall size17%" x 3" high. Shipping weight 10 lbs. Comes with complete coding data. STOCK NO. B5352 $79.95 each

SECURITY SYSTEM CARD READER

Another unusual item from DELTA I These card readers were made by AMP, Inc. for use insecurity systems. A stiff 2 1 /8" x 3 3/8" card (credit card size) is inserted, which closes a micro-switch, A 115v AC solenoid is then energized, which pulls down a set of wipers to read throughholes in the card. The wipers are arranged in 3 8 bit bytes, plus 1 bit, for 25 bits total. By usingboth sides of the card, 48 bits are available. Ideal for security systems—entry can be controlled by useuse of a card, with an almost infinite number of combinations, rather than an easily duplicated key.

As another example, an entire Social Security number, plus an entry code, could be read from a card. It could be used as acheap bootstrap loader for micro-computers, or as a simple data entry device. Many other uses. Overall size 5" x 5" x 9" deep.Shipping weight 6 lbs. STOCK NO. B5353 $19.95 each, 2 for $35

MICROSWITCH KEYBOARD

m

-^■i

ImLJLAJ^

rrnTrm

Price slashed to $20 ! Was $45 in catalog 15, special this month at $20. Made byMICROSWITCH (Honeywell). Brand new, in factory cartons, some even have the topmounting plate attached. 54 keys + space bar, alpha-numeric & computer control keys.The coding is EBCDID (not ASCI I) 7 level output TTL compatable, Easily converted toASCII or other codes. The switches are mounted on one PC board & connected to a 2ndencoder board by ribbon cable.*'13'/2" wide x 5 V, shipping weight 8 lbs. At this price,how can you pass it up? STOCK NO. B5199 reduced to $20 each

5 volt, 60 amp REGULATOR

A super heavy duty 5 volt regulator made by SPERRY/UNIVAC. 21v DC to 35v DC input (30vnominal).Output adjustable from 4.75v to 5.25v, up to 60 AMPS ! Overcurrent protected at 65 A,overvoltage crowbar at 7.0v. Typical ripple only 50mv p-p at full load. 5%" wide, 8'/j" high, 10"deep. Shipping weight 24 lbs. We only have a few, so place your order now.STOCK NO. B5391 $35 each

na ooiaczin

KEYBOARD KIT

This unusual keyboard kit is made byMicro-Switch. It has a set of switches& space bar in a modular frame, olus 42The keys are red, white or blue, with 8 control keysThe switches are arranged in 4 rows but are easily removed

molded double shot keys packed in a foam carton.

in addition to letters, numbers and many symbols.

or moved to other positions. This makes for a very versatile keyboard, as any number & type of keys can be

arranged in any pattern to suit your individual needs. Any type of encoding can be wired. Finished size is 9%" x 3%" x 2" high.

STOCK NO. B6015 Shipping weight 3 lbs. $19.95 each, 2 for $35

Heavy Duty Power Supplies

These heavy duty power supplies are ideal as a general purpose lab supply, micro-computersupply, etc. All have a constant voltage transformer and large 18,000 mfd. 35v electrolyticfiltering caps. In addition, the + and — 10v and —3.6v outputs each have seperate semi-Shipping weight 27 lbs. ~~ *~~^ " conductor regulators, which are voltage adjustable. Each is 22%" long, &A" wide, 6" high.

B531 3....Outputs at -30v <g> 1.5 amp, +30v @ .5 amp, -10v <s> 1.5 amp, +10v <g> .5 amp, and -3.6v @ 1.5 amp. 85 watts total. $24.50 each

B5314....Outputs at -30v (s> 1 amp, +30v @ .5 amp, -10v @ 1 amp, and +10v <s> .5 amp. 60 watts total. $19.50 each

B5342....Outputs at -30v <a> 1.5 amp, +30v <a> .5 amp, — 10v @ 1.5 amp, and +10v @ .5 amp. 80 watts total. $22.50 each

IBM 1620 COMPUTER

Our 1620 is for sale ! Complete IBM 1620 computer system with 1620 20K CPU (with all options), 2.5 megabyte 1311 DISK drive,and 1 622 Card Reader-Punch. Complete with software (Fortran, SOS, scientific packages, and DOS), complete set of hardwarediagnostics, logic diagrams, and manuals. Also a spare set of logic cards. The system is currently running and can be seen; however,the core memory box has at least one bad matrix line and there are several areas of memory which cannot be used unless repaired.(You could program around those areas.) System sold as-is for $3400. Phone for more information.

V

Send for our latest free catalog. We welcome Mastercharge & BankAmeriCard orders; we must have ALL the numberson the card for processing. Please include sufficient postage (2 lbs. min.)—excess will be refunded. Minimum order $5.

Puzzle Time

Using the letters of the alphabet from Ato Y, place a letter in each box of the 5 by 5grid so that the sum of the ASCII codes forthe letters in each column and each row isequal. To help you, the following table givesthe OCTAL. ASCII code for each letter. Allcodes are 7 bit ASCII.

Robert Baker34 White Pine DrLittleton MA 01460

Answer in June issue

A

=

101

B

=

102

C

=

103

D

=

104

E

=

105

F

=

106

G

=

107

H

=

110

I

=

111

J

=

112

K

=

113

L

=

114

M

=

115

N

=

116

0

=

117

P

=

120

Q

=

121

R

=

122

S

=

123

T

=

124

U

=

125

V

=

126

w

=

127

X

=

130

Y

=

131

(Z

=

132)

Answer to Space Ace April page 12

N

F

S

U

B

R

O

U

T

1

N

E

s

U

A

P

O

R

E

C

O

R

D

1

M

E

N

S

1

0

IM

R

T

O

U

T

P

U

T

R

O

T

A

R

E

p

O

O

W

R

1

T

E

X

T

E

R

N

A

L

R

u

1

G

E

D

O

C

E

D

O

C

N

E

O

1

E

N

S

R

E

L

B

A

1

R

A

V

S

G

U

B

W

c

1

A

C

A

1

O

D

N

E

P

1

N

T

R

1

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

1

c

M

G

R

D

N

R

T

L

O

E

T

E

L

S

R

A

E

O

Y

N

T

P

1

A

M

G

A

A

S

1

N

L

L

T

N

1

R

P

R

V

P

E

D

E

D

P

C

L

1

O

L

F

Y

A

A

1

L

R

R

L

O

A

0

1

S

L

A

E

R

R

G

U

E

P

E

T

Y

P

E

O

T

1

N

U

B

R

O

Q

X

1

S

C

A

L

A

R

L

1

T

E

R

A

L

E

F

U

N

C

T

1

O

N

G

1

S

S

A

Y

L

84

MC144I2 UNIVERSAL MODEM CHIPMCI4412 contains a complete FSK modulator and de-modulatar compatible with foreign and USA communications.(0-600 BPS)FEATURES:

.On chip crystal oscillator.Echo suppressor disable tone generator.Originate and answer modes

.Simplex, half-duplex, and full duplex operation.On chip sine wave.Modem self test mode.Selectable data rates: 0-2000-3000-600.Single supplyVDD=4.75 to 15VDC - FL suffixVDD=4.75 to 6 VDC - VL suffixTYPICAL APPLICATIONS:

.Stand alone - low speed modems.Built - in low speed modems.Remote terminals, accoustic couplers

MC14412FL S28.99

MC14412VL $21.74

6 pages of data .60

Crystal for the above 54.95

ii

T- EEcho

TTLDST

-

0

12

> 13

0

14

IS

3

1

7

R. OilR. Dot

B.

Rx Car

G

; >

MC14411 BIT RATE GENERATOR.Single chip for generoting selectable frequencies for equip-ment in data communications such as TTY, printers, CRT sor microprocessors. Generates 14 different standard bitrates which are multiplied under external control to IX,8X, 16X or 64X initial value. Operates from single +5

volt supply. MCI4411 $11.98

4 pages of data 40

Crysta I for the above $4. 95

1 >c (—

T^

1 «« h

T-

1

RESET. RUN MLTINTBEO

(SI '

1 MO 1

f

w*

2jj

MAJOR STATEGENERATOR

■c 1 1

1

t

J

%m>

1 «■» h

PLA

1

t

| ,EMP f

CRYSTAL

r^

1

t

«1

IT""

!

IN1QNT •—IFETCH. 1"

%££&

ALU ANQ REG

MEMORYANO

Sc,ca

(1)

1

(40 PINS)

SWGEl MEMSEL

78H05 Voltage regulator. Fairchild 5V, 5A, TO-3 reg-ulator. Take care of those heavy current requirments with-out separate regulator/pass transistor combinations. Use itwith the same ease of instalation as the 309K(same pinarrangement.) with specs. • $11.25

-T-

IM6100 CPU. Intersils' 12 bit CMOS CPU chip is themicroprocessor which recognizes the famous PDP8/E instruc-tion set. Single power supply, 4-7V@ 400uA. $52.50Full data packet $4.00

TELETYPE CODE CONVERSION CHIP

MM5220BL converts 5 level Baudot into 8 level ASCII. Use

this chip to make your old TTY talk to your new computer.

MM5220BL $18. 00

Specs for the above .30

MOS TIME BASE KIT.

Only 1" X 1.5". Input 5 to 15 VDC, output is 60HZsquare wave for portable or mobile clocks. PC board isdrilled I MTBK-6GHZ $6.88

LM317 Voltage Regulator. 1 .5A, 3 terminal adjustableregulator in TO-3 case. Adjusts from +1 ,2V to +37V.Complete overload protection. .1% load regulation,,01%/V line regulation. No need to stock assorted reg-ulators - just stock resistors $4.99

Specs for the above 70

DATA BOOKS BY NATIONAL SEMICONDUCTOR

DIGITAL. Covers TTL, DTL, Tri-State, etc $3.95

LINEAR. Covers amplifiers, pre-amps, op-amps, .. $3.95LINEAR APPLICATIONS, Dozens of application notes andtechnical briefs covering the use of op-amps, regulators,

phase locked loops and audio amps $3.25

CMOS Gates, Flip Flops, registers, functional blocks $3VOLTAGE REGULATORS. A must for anyone making apower supply. Complete theory including transformers,

filters, heat sinks, regulators, etc $3.00

MEMORY, Information on MOS and Bipolar memories':

RAMS, ROMS, PROMS and decoders/encoders $3.95

INTERFACE. Covers peripheral drivers, level translators,line driver/receivers, memory and clock drivers, sense amps

display driver and opto-couplers $3.95

(Outside U.S., add postage for 1 -5lbsl

DATA BOOKS FROM FAIRCHILD.

Linear. 776 pages of data and applications for Foir-

child linear ICs. Great value $4.25

MOS/CMOS/nMOS/pMOS/CCD. Data and applications onMOS and charge coupled devices including preliminary dataon new and future offerings. Want to know about 16Kcharge coupled line addressable memories? $3.95

Says

TREE 'CAUSE YOU CAN'T FIND THOSEDEVICES YOU'VE BEEN READING ABOUT?TRY TRI-TEK1I1

IM6508 CPE CMOS RAM

IK X 1 Bit in 16 pin DIP offers micro watt operation foron-card battery back up operation. This keeps contentsof memory from disappearing on power down. On-chipaddress registers improve system performance and reducepackage count. IM6508CPE $7.75

IM6518 CPN CMOS RAM.

IK X 1 Bit like the 6508 except two additional chip sel-ect pins have been added for reduced interconnects onlarger memory layouts. 18 pin DIP package.

IM6518CPN , $7.75

6 pages of data for above 90

H~

ICM7205 IPG CMOS STOPWATCH CHIP24 pin DIP package has on-chip oscillator and 6 digitdirect drive capability. All you add is crystal, trimmer,battery, switches and LEDs. Has START/STOP, TAYLORor SPLIT modes. 59 min, 59.99 sec range. Low battery

indicator. ICM7205 IPG $19.95

6 pages of data 90

PRECISION 10 TURN POTENTIOMETERSpectrol model 502. Resistance is 10K - 3%. Linearityis - .25%. 1/4" bushing mount. 1/8" shaft diameter.Body dia Is .85". TTP-S10K $4.50

NSL4944 LED. Current regulated, universal diffused-lensred LED lamp. A GaAsP solid-state high intensity LEDencapsulated in a plastic package containing a current reg-ulating IC that provides constant intensity over a wide volt-age range. 2 to 18V, AC or DC. Use for indicator lamps,optical coupling, battery charging circuits, logic probes,almost any place you need a lamp. Long life, wide angle.No series resistor needed. Typical 13mA forward current.NSL4944 with panel mounting clip 89$

D-A CONVERTER BY ZELTEX

8 bit precision hybrid circuit for use in controllers, timers,volt meters, etc. Molded plastic package with P.C. pins.Super buy on this better than usual subsystem. ZELTEXmodel ZD430. DAC-430 $4.95

NEW BOOK! I I "An Introduction to Microcomputers"This is the book which Fairchild Semiconductor Company

called " the best darned introduction to the industry

to date." Covers everything from basic concepts to a re-view of real microcomputers. IMG-001 $8.00

tRi-tek, inc.

6522 nopth 43R& Avenue,qlendale, arizoiia 85301

phone 602 - 931-6949

Minimum order $10 US/$15 Foreign in US-funds. All orders postage paid.Please add insurance. Master Charge and Bank America cards welcome,($20 minimum) Telephone orders may be placed 11AM to 5PM daily, Monthru Fri. Call 602-931-6949. Check reader service card or send stompfor our latest flyers packed with new and surplus electronic components.

85

K

s%5

i^S

!j

The

The

the w

Transistor

"art'

TTL €

and Diode

futBifac-.'

ri

Data Book

CircuitsData8ook

te*ii

w 12:

iw«'

I*4""

-j

3

ag

pi

- 1

1

i

You'll Want to Nybbleat these Byte Books

Where does the editor of a computer magazine turn to when he mustverify some author's hardware design? Information on a 75450interface gate, or a 74147 priority encoder circuit does not spring forthby magic. Checking the information supplied by authors is part ofBYTE's quality control program.When you build a project, you need this same sort of information. All you find in the advertisements for parts aremysterious numbers identifying the little beasties .. . hardly the sort of information which can be used to design acustom logic circuit. You can find out about many of the numbers by using the information found in these books. Nolaboratory bench is complete without an accompanying library shelf filled with references - and this set of TexasInstruments engineering manuals plus Don Lancaster's TTL Cookbook will provide an excellent starting point oraddition to your personal library.

• The TTL Cookbook by Don Lancaster, published by HowardW. Sams, Indianapolis, Indiana. Start your quest for data here withDon's tutorial explanations of what makes a TTL logic design tick.335 pages, $8.95 postpaid.

• The TTL Data Book for Design Engineers, by TexasInstruments Incorporated. How does an engineer find out aboutthe TTL circuits? He reads the manufacturer's literature. This 640page beauty covers the detailed specs of most of the 7400 seriesTTL logic devices. No experimenter working with TTL has acomplete library without The TTL Data Book for DesignEngineers. Order yours today, only $3.95 postpaid.

• The Supplement to The TTL Data Book for Design Engi-neers, by Texas Instruments Incorporated. What happens whenyou can't find a 7400 series device listed in The Data Book forDesign Engineers? Before you start screaming and tearing yourhair out in frustration, turn to the Supplement. The Supplementhas 400 pages of additional information including a comprehensiveindex to both TTL Data Book volumes. To be complete (and keepyour hair in place and vocal cords intact) you'd best order thesupplement at $1.95 to accompany the main volume.

• The Linear and Interface Circuits Data Book for DesignEngineers, by Texas Instruments Incorporated. When you runacross one of those weird numbers like 75365 the immediatefrustration problem occurs again. What kind of gate could that be?We won't tell in this ad, but you can find out by reading thespecifications in The Linear and Interface Circuits Data Book forDesign Engineers. You can interface your brain to the 72xxx(linear) and 75xxx (interface) series of functions by ordering yourcopy of this 688 page manual at only $3.95 postpaid.

• The Semiconductor Memory Data Book for Design Engi-neers, by Texas Instruments, Incorporated. Don't forget theimportance of memories to your systems. Refer to this 272 pagemanual to find out about the T.I. versions of many of the popularrandom access memories and read only memories. Order yourpersonal copy today, only $2.95 postpaid.

• The Transistor and Diode Data Book for Design Engineers,

by Texas Instruments, Incorporated. You'd expect a big fat databook and a wide line of diodes and transistors from a companywhich has been around from the start of semiconductors. Well, itsavailable in the form of this 1248 page manual from T.I. whichdescribes the characteristics of over 800 types of transistors andover 500 types of silicon diodes. This book covers the T.I. line oflow power semiconductors (1 Watt or less). You won't find everytype of transistor or diode in existence here, but you'll find mostof the numbers used in switching and amplifying circuits. Orderyour copy today, only $4.95 postpaid.

• The Power Semiconductor Handbook for Design Engineers by

Texas Instruments, Incorporated. To complement the low powertransistor handbook, T.I. supplies this 800 page tome on highpower transistors and related switching devices. Here is where youfind data on the brute force monsters which are used to controlmany Watts electronically. Fill out your library with this book,available for only $3.95 postpaid.

• Understanding Solid State Electronics by Texas Instruments,Incorporated. This is an excellent tutorial introduction to thesubject of transistor and diode circuitry. The book was created forthe reader who wants or needs to understand electronics, but can'tdevote years to the study. This 242 page softbound book is a mustaddition to the beginner's library at only $2.95.

• The Optoelectronics Data Book for Design Engineers by

Texas Instruments, Incorporated. This 366 page book is acompendium of information on T.I. phototransistors, LEDs andrelated devices. Order yours at $2.95 postpaid.

Buyers of these books should be cautioned: heavy reading will be required. Thesebooks are so tilled with information that they weigh in at a total of about 190ounces (5387 grams). On the basis of sheer mass, these books have got to be thebargain of the century. Make sure that you use a structurally sound book shelf andabove all avoid dropping one of these books on your foot. But the mass of thesebooks doesn't affect the bargain: we pay postage on all orders shipped to addressesin the USA and Canada, so the prices you see are the prices you pay. (That's onlyS.005 per gram on the average.)

.TTL Cookbook @ $8.95

.TTL Data Book @ $3.95

.Supplement to TTL Data Book @ $1.95

. Linear and Interface Circuits @ $3.95

. Semiconductor Memory Data @ $2.95

. Transistor and Diode Data Book @ $4.95

. Understanding Solid State Electronics @ $2.95

.Optoelectronics Data Book @ $2.95

. Power Semiconductor Handbook @ $3.95

Please add 75 cents for postage and handling.

Send to: Name

Please allow six weeks for delivery.

Address

C'ily

Slate

Zip

BVTI

i Check enclosed

n Bill MC=

11 Bill BA#.

Exp. Date.. Exp. Date.

PETERBOROUGH, IMH 03458

Signature

Feel free to photocopy this or any other page if you wish to keep your BYTE intact.

86

S. D. SALES CO.

P. 0. BOX 28810 DALLAS, TEXAS 75228

ALARM CLOCK KIT SIX DIGIT LED

Thousands of hobbyists have bought and built our original clock kitand were completely satisfied. But we have received many requestsfor an alarm clock kit with the same value and quality that you havecome to expect from S.D. So, here it is!

THE KIT INCLUDES:

1 Mostek 50252 Alarm Clock Chip6 Hewlett Packard .30 in. common cathode readouts.15 NPN Driver Transistors1 Etched and Drilled P.C. Board set

1 Step Down Transformer

2 Switches for time set

2 Slide Switches for alarm set and enable1 Filter Cap4 IN4002 Rectifiers1 IN914Diode1 .01 Disc Cap15 Resistors1 Speaker for alarm1 LED lamp for PM indicator.

$16.

50

(COMPLETE KIT)

Why pay MORE MONEY for our competitor's clock that has LESSDIGITS that are SMALLER in size?

Please take note that we use only first run parts in our kits andinclude ALL the necessary parts. Not like some of our competitorswho use retested readouts and chips or who may not even includeswitches in their kits.

60 Hz. Crystal Time Base

FOR DIGITAL CLOCKS Jc

S. D. SALES EXCLUSIVE!

95

The kit you have been waiting for is here NOW, and at anunbelievable price! Thanks to S.D. Sales you can turn that digitalclock of yours into a superbly accurate, DC operated, time piece.

KIT FEATURES:

A. 60 Hz output with accuracy comparable to a digital watch.

B. Directly interfaces with all MOS clock chips.

C. Super low power consumption (1.5 Ma typ.) ^O

D. Uses latest MOS 17 stage divider IC. <$$*

E. Eliminates forever the problem of AC line glitches.

F. Perfect for cars, boats, campers, or even for portable

clocks at ham field days.

G. Small size, can be used in existing enclosures.

Kit includes crystal, divider IC, P.C. Board plus all other necessaryparts and specs.

2102 1K RAM's - 8 FOR $12.95

New units

We bought a load on a super

deal, hence this fantastic price.

Units tested for 500NS Speed.

INTEL 1702A 2K ERASEABLE PROM'S $6.95

We tell it like it is. We could have said these werefactory new, but here is the straight scoop. We boughta load of new computer gear that contained a quantityof 1702A's in sockets. We carefully removed the parts,verified their quality, and are offering them on one heckof a deal. First come, first served. Satisfactionguaranteed.

MV-50TYPELED'S

byLITRONK

10 for$1

factory Prime!

3 DIGIT LED ARRAY - 75c @j@j

by UTRONIXDL33MMB. 3 MAN-3 Size Readouts In onepackage. These are factory prime, notretested rejects as sold by others,compare this price! 75c 3 for $2.

SALE ON CUT LEAD SEMICONDUCTORS

Leads were cut for PCB insertion. Still very useable.

1N914/1N4148 100/S2

1N4002 1 AmplOOPIV 407$1

1N4745A16V1WZener 20/$1

EN2222NPN Transistor 25/S1

EN2907 PNP Transistor 25/S1

2N3904NPN Driver Xstr 25/$1

2N3392 GE Pre-amp Xstr 25!$1

C103YSCFt.800MA.60V 10/$1

ALL NEW.

UNUSED.

SOME ARE

HOUSE*

SLIDE SWITCH ASSORTMENT

Our best seller. Includes miniature and standardsizes, single and multi-position units. All new,first quality, name brand switches. Try one pack-age and you'll reorder more. Special — 12 lor $1(Assortment)

DISC CAP ASSORTMENT

PC leads. At least 10 different

values. Includes .001, .01, .05,

plus other standard values.

60 FOR $1

UPRIGHT ELECTROLYTIC CAPS

47mfd35V-10/$1 68 mfd 25V-8/$1Brand new by Sprague. PC leads.

RESISTOR ASSORTMENT

1/4W5% and 10%. PC leads.A good mix of values. 200/$2

r™^

1000 MFD FILTER CAPS

Rated 35 WVDC. Upright style with P.C. leads.Most popular value for hobbyists. Compare at upto $1.19 each from franchise type electronic partsstores.S.D. Special4forS1

FAIRCHILD BIG LED READOUTS

A big .50 inch easy to read character. Now available In either common anodeor common cathode. Take your pick. Super low current drain, only 5 MA persegment typical. YOUR

FND - 510 Common Anode CHOICE

FND - 503 Common Cathode $1.50 ea. 6 for $7.50

DUAL 741C (5558) OP AMPS

Mini dip. New house numbered units

by RAYTHEON.

4FORS1

FET'S BY TEXAS INSTRUMENTS — SPECIAL 5 for $1

KTIS-75 but with an internal house number. TO-92 plastic case. N. Channel,

Junction type FET.

We do not sell junk. Money backguarantee on every item. No C.O.D.Texas Res. add 5% tax. Postagerates went up 30%! Please add 5%of your total order to help covershipping.

S. D. SALES CO.

P.O. BOX 28810DALLAS, TEXAS 75228

87

BOOK REVIEW

EDN Microprocessor Design Series Volume11 written and edited by EDN staff, CahnersPublishing Co, 221 Columbus Av, BostonMA 02/16, 1975, $7.95 (USA) or $8.95(foreign). A combination package of VolumeI and II is available for $11 (USA) while thesupply of Volume I lasts.

To anyone who is involved in engineeringdesign and applications involving electronicsand computers, EDN is one of the mostdesirable trade magazines. |lt is sometimesfruslratingly difficult to get on the subscrip-tion list of this excellent publication, so acommon practice at many companies is totemporarily borrow the copies wheneverpossible.| EDN has been writing aboutmicroprocessors for systems engineers vir-tually from the start of the technology,featuring these problem solvers in numeroustechnical articles. To help make the informa-tion more widely available, EDN came out

with Volume 1 of the EDN MicroprocessorDesign Series reprints.

Volume II of the EDN MicroprocessorDesign Series, published toward the end of1975, includes articles featured as late asNovember 1975. The book contains a wealthof technical information which is up to dateand quite informative for the advancedcomputer amateur, and a must for theprofessionals in the audience. The orienta-tion, as always, is toward the contemporaryengineer's approach to computers and micro-processor applications. The articles arcorganized in four sections: "Directories andMarket" summarizes the market and pricesat the time of publication. This includes avery complete wall chart of 72 differentvendors (underwritten by Digital EquipmentCorp's Components Group) and completelists of names and addresses of the variouscompanies. The photo of the book accom-panying this review was made with the wallchart as a backdrop. The second section is"Evaluations and Comparisons," articles onthe formation of benchmark tests, trends inmicroprocessor technology and related sub-jects. The third section, "Software andProgramming," is devoted to educating engi-neers in those arts and what to look for ininstruction sets. The fourth and final sectionis "Design and Applications," practical de-tails of using and applying microprocessors,including Special Features Editor RobertCushman's series on the design and construc-tion of the EDN "toy/tool" low cost micro-computer demonstration system. You'll finda complete discussion of the "toy/tool"concept in the first article and a photo storyon the prototype result in a second article.Other articles are on pitfalls, the concept ofa portable debugging tool, and other designtopics.

For an up to dale picture of the currentstate of the microprocessor art as viewed byone of the leading trade magazines, Volume11 of the EDN Microprocessor Design Seriesis highly recommended reading." . . . CH

88

r

MICROPROCESSOR

VOLUME 2

If you liked Volume 1, you'll love Volume 2. This second volume of the popular EDN jiPDESIGN SERIES is the one and only authoritative source for designers interested in /uP's.

At a cost less than other similar publications, it provides more, useful, objective \iVinformation. Here's what you get in the EDN jiP DESIGN SERIES that you don't get elsewhere:

• Microprocessor Directory: A complete file-card type listing of all /jP's now on themarket that includes detailed information on performance, architecture, software,price and availability.

• Microcomputer Systems Directory: A fold-out wall chart, this directory describesfeatures, capabilities, size, options, peripherals, prices and software support for allavailable juC's on the pc board level.

• Microprocessor Market Report: A summary report of EDN's annual study of micro-processor applications and market needs.

• Microprocessor Benchmarks: Sample benchmark studies of most popular /jP's.

• Plus — design and applications articles including: "How To Get Started In Micro-processors On A Shoestring" by EDN's Bob Cushman.

At $7.95/copy, USA only ($8.95, non-USA), this is a genuine bargain. So order now.Check or money order must accompany order. Make checks payable to: EDN /jP Reprints.

Call Roy Forsberg (617) 536-7780 for quantity discounts.

Send to jliP Reprints, Vol. 2EDN Magazine221 Columbus Ave.Boston, MA 02116

Please send me

Enclosed is $

EDN MicroprocessorDesign Series

ORDER BLANK

_ copies of EDN's juP Design Series.

(Cost is $7.95/copy, USA only; $8.95/copy, non-USA)

Check or money order must accompany each order. No COD.MA residents add 5% Sales Tax

Send myseries to:

Name

Title

V

CompanyAddress _City

State

-ZIP Code

The applications of smallcomputers will be en-hanced by creation ofstandards on items ofinterfacing. One itemwhich should be standard-ized is an 8 bit peripheralinterface plug which willbecome the logical equiva-lent for small computersof what the RCA stylephono plug is for audioequipment.

Continued from page 6

can be useful for your ordinary personalcorrespondence. This is especially true ifyou use a text editor and audio tape or hardcopy output as a major component of yourcorrespondence. The addressing can then betaken right from the list, and the corres-pondence can be filed away in an electro-magnetic duplicate for future reference.Whenever correspondence or addressing listsarc involved, the computer system can beused to help reduce the burden of maintain-ing these activities, thus freeing your timefor more enjoyable pursuits.

Enjoyment and Fascination

At the present time, the prospect ofenjoyment and fascination is probably oneof the most important components of themotivations to purchase and use computers.This is certainly one of my major motiva-tions: I simply like the intricacies and com-plexities of programming and logical systemswhich allow me to program. For me, gettinginvolved in computers is one of the greatfascinations of life. But fascination devoid ofgoals and objectives is an empty exercise.Making unique applications is one of themajor ways in which this enjoyment isrealized for me, and I suspect it is a motiva-tion for many of you as well. One of myown personal goals is the prospect of musi-cal applications, particularly the tantalizingidea of conducting an electronic symphonyorchestra controlled by the processor whichacts as my baton.

This musical application is an example ofthe use of the computer system to accom-plish new tasks previously impossible: Itwas never before possible for an individualof very modest means to have the artisticfreedom of experimenting with a symphonyorchestra. Most other applications involvingenjoyment and fascination are of a similarnature: Complex activities never before pos-sible without the computer system'sautomation.

Have you ever played Space War? It usedto be the case that high resolution graphicsand number crunching computers were outof the range of the person of ordinarymeans. With the new technology, we'realmost to the point where a good Space Wargame can be had by many of the people inthis audience, using ordinary TV monitors asperipherals and contemporary microcompu-ters as the number crunchers.

Are you a radio amateur? Then yourpresence at this convention is probably areflection of your knowledge of the ways inwhich microcomputers can be used in that

activity. At the simple end of the complex-ity spectrum, a microcomputer is welladapted to automation of amateur radiostation activities: Simple software can beused to generate and interpret high speedprecision Morse code using your ASCII key-board and video display. Similarly, softwarecan be easily employed to automate theconversion of Baudot to ASCII and viceversa, thus adapting your station to an FCCrestriction, and incidentally allowing you touse cheap obsolete print mechanisms re-moved from commercial service. On a moreelaborate scale, there is the prospect of anamateur radio "HARPA" network of com-puter automated stations for purposes ofpacket switching communications andnationwide time sharing of amateur comput-ing facilities, "to prove it can be done."

Do you run a model railroad? You canhave a railroad control facility far in ad-vance of what is found on conventional com-mercial transportation facilities when youuse your microcomputer to automate opera-tions on your layout. The programmed con-trol of processes is one of the biggest fieldsof computer application, and a model rail-road is a good example of such a real timeprocess control problem. Model railroadingis an example of what might be called an"industrial modelling hobby." The same sortof fascination which infects the model rail-roader can also be applied to new fields withthe computer automation theme. Have youever thought of the challenge of building amodel automated production line? Have youever thought about the challenge of model-ling, for instance, an automated oil refineryor pipeline system? You can do such model-ling both intellectually and with actualphysical hardware using the personal compu-ter as a central element.

Another variant on the modelling hobbyis that of model airplanes and other radiocontrolled action models. One of the latesttrends in avionics is the "fly by wire"approach to aircraft control in which com-puters and data buses are used instead oftraditional mechanical linkages andhydraulic control systems. In aircraft model-ling, this approach could also be employedto some extent, as well as the use of micro-processors to implement complicated inertialnavigation algorithms and pre-programmedmaneuvers for the airplane which can beactuated on command of the ground station.

Are you interested in visual and graphicarts? The computer coupled with home brewplotters and other graphic output displayscan be used in a number of fascinating waysto produce drawings and pictures.

Have you ever wanted to make yourself a

90

3S] CRYSTALS

THESE FREQUENCIES ONLY

Kan *CYIACY2ACY3ACY7ACY12ACY14ACY19ACY22ACY30B

Frequency1 000 MH;2.000 MHz•I 000 MHz5.000 MHz10.000 MHz14.31816 MHz1B.Q0QMH;20.000 MHz32.000 MHz

Case StyleHC33/U

HC33/UHC18/U

hcib.u

HCtBiUHC1B/UHCIS'UHC18.U

HCie.u

S4 95S4.95S4.95S4 95S4 95

CLOCK CASES

Nrcely styled cases complete with redbezel (or use in such applications asdesk clocks, car clocks, alarm clocks,instrument casesDIMENSIONS VIM", I itt", H-2"

$5.95 .

64

Key

Keyboard

$24.95

This keyboard is composed of 64 Magnetic Reed Switches, in one molded unit. It rsunencoded with each SPST switch Drought out to two pins.

HO0165 Keyboard Encoder ROM

JOYSTICK

These joysticks feature four100K potentiometers, lhat varyresistance proportional to theangle of the stick. Sturdy metalconstruction with plasticscomponents only at the mova-ble joint. Perfect for electronicgames and instrumentation

$9.95ea

MOS LSI DEVICES

CLOCK CHIPS

MM5309

6 Digi:. BCD Outputs. Reset PIN

MM5311

6 Digit BCD Outputs, 12 or 24 Hour

MM531?

■! Digit. BCD Outputs, 1 PPS Outpul

MM5313

G DrgiT. BCD Outputs, IPPSOulput

MM5314

6 Digi:. 12 or 24 Hour. 50 or 60 Hz

MMS316

4 Digil, Alarm, IPPS Outpul

MM53IB

Video Clock Chip. For Use With MM5841

CT7Q01

6 Digi', Calander. Alarm. 12 or 24 Hour

CALCULATOR CHIPS

MM5725

S Digil. Four Function. Less Decimal

MM573S

MM5739

8 Digi1. 4 Function, Floating Decimal

CT5001

12 digit 4 Function

CT5D05

12 digit 4 Function with Memory

CT5030

I2<ti(]it ■! Function ana%

MISC. MOS

MM532Q

TV Camera Sync Generator

MM584!

Video Generator For MM53I8

MM5330

4% Digit DVM Chip

MK5007

Complete 4 Digit Counter

LOllO.'LDllt 3Vj Digital Voltmeter Chip Set

MC1408L7

7 Bit Digital To Analog Com/

$1095

$25.00

9.95

DL728

The DL728 rs a Dual 0.5" common calhode reddisplay II is ideal lor use with clock chips, assegments are already multiplexed $2.95

1/16 VECTOR BOARD

0 1" Hole Spacing P-Partern Price

Part No Length Widoth 1-19 20-49

64P-M 0G2XXXPI69P44 02XXXP64P44 06284P44 062169P44 062169P84 062I69P44 062C1

VECTOR WIRING PENCIL

V&clfH Wumu Pencil PI 73 consists ol n n.'.nn nniii i,:,iini:r..vnintii lunccroncounce] tool winch is used to guide anil wran losulaled wife, led oil asell-contained leplaceatile oddOiii. onto component leads or tcrtninalsinsi.il-led on pie-punched "P" Pattern Vectdtpord-. Conneclidns Between tilewrapped wneantt componenl leads, padsoi tenninals me made Py soldcrincjComplete wild 250 FT ol ted wire. CO En

REPLACEMENT WIRE— BOBBINS FOR WIRING PENCII

W36-3-A-Pkg. 3 250 It. 36 AWG GREEN $2.40

W36-3-B-Pkg. 3 250 II. 36 AWG RED

W36-3-C-Pkg. 3 250 It. 36 AWG CLEAR

W36-3-D-Pkg. 3 250 II. 36 AWG BLUE

$2.40$2.40$2.40

WxIVS" XFMERS

Trial were designed tor clock lype ap-plications 110 Vac primary® 60 HiSecondaries 8-10 Vac (s>

30 mA-50 mA50 Vac (S30 mV5Q niAE' :ellent tor mimaiure power suppli& gas discharge displays

P.C. Mount

SPECIAL

S.79

MOLEX PINS

PINS USED AS INEXPENSIVESUBSTITUTE FOR SOCKETSSPECIAL 100/1.49

SPECIAL 1000/12.00

MICROPROCESSOR COMPONENTS

8080$24.95

..V5AAMJ! ,

2519252425252527252925322533

AV-5-101

2513

CPU'S8 Bit CPUSuper 8008Super 8008

1024 DYNAMICHEX 32 OITHEX 40 OH"512 DYNAMIC1024 DYNAMICDUAL 25E BITDUAL 512 BITOUAD 80 BIT1024 STATICFIFO16X4 REG

UAflTS20K BAUD

ROM'SCHAR GENRANDOM BITS

M&Xii&ixxii^S''

ff//'///////////////

8080A$39.95

S19.95324,95S39 95

8111859991L0274200934105262

5203B2S2382S123

RAM'S256X11024X1256X11024X14096X1256X41024X!16X4256X4256X416X41024X1256X1?5bXI2048X1

STATIC

DYNAMIC

STATIC

STATIC

DYNAMIC

STATIC

MNOS

STATIC

STATIC

STATIC

STATIC

STATIC

STATIC

STATIC

DYNAMIC

FAMOSFAMOSOPENCTRISTATE

S2 252.956 952 49

19.95

BUILD YOUR OWN JOLT MICROCOMPUTER IN JUST 3 HOURSOR LESS FOR $159.95.

A COMPLETE MICROCOMPUTER IN A SINGLE CPU KIT INCLUDES: • An MOS

Technology MCS6502 NMOS microprocessor • 512 bytes of program RAM. and 64bytes ol interrupt vector RAM • 1K bytes of mask programmed ROM containingDEMON, a powerful debug monitor • 26 programmable I/O lines • Internal RC clock, orcrystal controlled clock with user supplied crystal • Serial I/O ports for use with a tele-printer current loop drive/receiver, or an EIA standard driver/receiver • Expandable ad-dress and data buses • Hardware interrupt • Control panel interface lines available oncard connector • Complete assembly manuals and sample programs

JOLT ACCESSORY KITS

JOLT RAM Card —Fully s1 microsecond access tir$199.96

JOLT I/O Card (Peripheral Interlace Adapter) — 2 PIALSI chips. 32 lO lines, lour interrupt lines, on-board tie-coding and standard TTL drive. Fully programmableS95.50

JOLT Power Supply—Operates at '5. ■ 12 and 10voltages. Supports JOLT CPU. 4K bytes ot RAM andJOLT LO card — or. CPU and 8 I O cards S99.95JOLT +5V Booster Option — Fits onlo JOLT PowerSupply card Supports CPU. 8K bytes RAM and 8 10CPU and cards. S24.95

JOLT Universal Card — Same size (<*»" x 7"|. samelorm lactor as older JOLT cards Completely blank,drilled lo accept 14, 16, 2d or 40 pin sockets S24.95JOLT Accessory Bag — Conlains enough hardwarconned one JOLT card to Wlors. card spacers, hardware.JOLT Residenl Assembler

timesharing assemblers.PROMs, roady lor plugging

Deiiv

totint cable.S39.95

Fully symbolic, singlecompatible iviiti

red

lour

1702A

) JOLT PROM card

JOLT 1702A PROM Card — Sockets tor 2,0413 bytes olPROM memory Placo anywhere in memory with lumperselectable addresses S99.95

NOW: YOUR OWN VIDEO GAME FOR THE ENTIRE FAMILY

AUT0TEL ®WARNING LIGHTS ARE NOT ENOUGH

AN AUDIBLE ALARM INDICATINGPOTENTIAL ENGINE DAMAGE

AUTOTEL is an eflecien! (15 ma current standby) device by which every owner ot anautomobile. Iruck ot vehicle equipped with indicator lights tor temperature and oilpressure can be assured ot a reliable warning before an impending failureAUTOTEL. by means ol an audible signal 70 do pulsing) immediately forewarns thevehicle DperatOl 0l B malfunction Dl failure, allcwing time lo correct and prevent majorengine failures. It is programmed so there s no sound during normal operatingconrjilions.

AUTOTEL features CMOS circuitry, packaged n a ZW sq. x ft" case. The kit comescomplete wilh all components, hardware and case lo hook directly into your car'swarning light system.

$9.95 Per Kit

$14.95 Assembled

IMC 3V2 DIGIT DVM KIT

DIMS 3" W. W H, 2Vi

This 0-2 VOC .05 per cent digital voltmeter features the Motorola 314 digitDVM chip set. It has a .4" LED display and operates from a single -5Vpower supply. The unit is provided complete with an injection molded blackplastic case complete with Bezel. An optional power supply is availablewhich fits into the same case as the 0-2V DVM allowing ! 17 VAC operation.

A. 0-2V DVM with Case $49.95

B. 5V Power Supply $14.95

JE700 clock

The JE700 is a low cost digital do■s a very high quality unit The urures a simulated walnut case vmensionsof 6 i2'i it li ut

MAN72 high Drighlness readout, iMMOjI-J clDCk chip

115 VAC—

$17.95

Per Kit

This game comes pre-tesled with two PROFESSIONAL Kraft joysticks. Joysticks allow 2 dimensionalplayer control (rather than only one dimension, such as up and down.) If you require more than twoplayers, order extra joysicks. All that's required is a 5V72A power supply, a harness, and speaker.Comes with schematics, wiring information, and all necessary documentation, Game gives 1Vcomposite video output, perfect for any TV monitor, Game designed so one, (wo, three, or fourplayers can play at the same time. You can even play against the HOUSE. Score for each person isshown on TV-set. These boards are production over runs of a well known video game manufacturer,and are not rejects, or in any way inferior to one presently being sold in games for over S1,000.00.KIT A — $179.95 PROFESSIONAL game P.C. board, and 2 PROFESSIONAL joysticks. P.C. boardsize is 10%" x 17". This is the same PROFESSIONAL game as seen In commercial establishments,Dont't confuse it with the simple games sold in stores, or with analog kits.ACCESSORY B — S3.95 Six feet of ribbon cable, three SPST switches (coin simulator,house/player, and start switch), for those of you who don't have exlra wire or switches lo build theharness.

ACCESSORY-C —339.95 Two additional PROFESSIONAL Kraft joysticks, for third and fourthplayer.

DIGITAL CLOCK KIT — 31/2 INCH DIGITS

4 DIGIT KIT S49.956 DIGIT KIT S69.95

4 DIGIT ASSEMBLED $59.956 DIGIT ASSEMBLED S79.95

This clock features tug Vk" high digitsfin viewing in offices, auditoriums, etcEach digil is fotmed by 31 bnghl 0.8"LED's The clock operates trom M7VAC,has eilhor 12 or 2-1 hi operation The 6digil version is 27' k3'/j" *1"i", and the■i digil rj 18' k3"=" x IV kits come

Specify 12 Or 24 Hi When Ordering

Satisfaction Guaranteed. $5.00 Min. Order. U.S. Funds.

California Residents — Add 6% Sales Tax — Data Sheets 25c each

Send a 13c Stamp (postage) for a FREE 1976 Catalog

O/fWtSS

*P.O. BOX 822, BELMONT, CA. 94002PHONE ORDERS — (415) 592-8097

JE803 PROBE

The Logic Probe IS a unit winch is for Ihe most partiruli;';|)i:ii'iil)li; m trouble shooting logic familiesTTL, DTL. RTL. CMOS It derives the powei it-needs lo operate directly otf of Ihe Circuit unite!test, drawing a senni 10 mA max II uses a MAN3readoui to Indicate any ol the following states bylliese symbols (Hi-1 (LOW)-o (PULSE) -P TheProbe can deled li-'in liiiqui::i::y iihlses 10 '15 MHz

it can't be used ai mos levels or arcuii damage

will result

$9.95 Per Kit

printed circuit board

ELECTRONIC CRAPS

Electronic craps is an en-tirely electronic gamefeaturing a dice "rolldown". 14 LED's formtwo dice thai roll when ac-tivated by a push boiton.Dimensions are 6V2" x

zw-'xm".

$19.95^'

o24.95Assembie'

ELECTRONIC ROULETTE

This kit comes complete wilh allcomponents, including the case andline cord. Electronic Roulette, is en-lirely electronic, and features 32LED's lhat form a wheel, that is acti-vated, by a push botton switch. Di-mensions are 6V2" x 6V2" x IV2".

$29.95$34.95

Per KitAssembled

Continental Specialties

PHOTO BOARD 100

A low cost, big 10 IC capacitybreadboard kit with all the quality ofQT sockets and Ihe best of the ProtoBoard series . . . complete down tothe last nut. bolt and screw. In-cludes 2 0T-35S Sockets, 1 QT-358Bus Strip; 2 5-way binding posts: 4rubber feet: screws, nuts. Bolls, andeasy assembly insturctii

S19.95V

The day of the ROM chiprack in a retail store, or aweekly software special oncassette tape may not befar away.

robot? It is virtually impossible to considerthe problem of making your own robotmechanisms without a computer to controlthe show and calculate where the arms, legs,and other mechanisms should be going basedupon inputs from the environment. I knowof several people who are already workingon robots as a hobby, and expect that thiswill be one of the most exciting and chal-lenging subsets of the activity of personalcomputing experimenters.

New Technology and Practical Applications

The new technology of personal comput-ing of course provides numerous practicalapplications which could not previously havebeen accomplished. These tasks require acomputer.

How about automation of your house-hold? Start by using the computer as a key-stone of an advanced burglar and fire proc-essing system. For the time being, since com-puter technology is so far in advance of thenorm, the element of surprise and befuddle-ment which is necessary to scare off a burg-lar can be greatly augmented through com-puter approaches. These can range fromimproved sensor monitoring and discrimina-tion, to improved methods of making theburglar nervous and uncomfortable in hisactivities. As a sensor of fires, the sophistica-tion of the alarm system can be improvedand it might even be possible to provideselective automatic extinguishing operationsdepending upon the nature of the fire sensed.

Don't stop at the defensive mechanismsof your household. Continue your automa-tion into areas of cost cutting and efficiency.Have your household utility computer moni-tor fuel flow, control the zone controls ofyour heating system based on occupancy ofthe rooms in question,' and incorporate costeffectiveness calculations into your heatingand air conditioning systems where there areoptions. For instance, with a very simpleBASIC program, you could instantly evalu-ate the proper mix of wood furnace versusoil furnace versus electric base board heatingin a typical New England household whichhas all three options installed.

Then there is the new technology ofinexpensive text manipulation and storage.At the surface, this is a straightforwardapplication. But there is the prospect ofultimate privacy for your personal records aswell, since the computer can be used toautomate ciphers which require extremeamounts of time on large scale computers tocrack, but which are simple to translategiven the key of which you are the solepossessor. Thus you are the sole decidingelement as to who sees the records under

normal circumstances, and extraordinary cir-cumstances become extremely costly for theperson or agency attempting access to yourfiles.

Besides the security element of ciphersused for personal files, the very prospect ofadvanced information processing at home isexciting. For instance, we ran an article inBYTE on the "Total Kitchen InformationSystem," which is a subset of the variousfiling and information retrieval tasks whichcould be aided by the personal computer athome. The text processing computer can beused to automate kitchen recipe files, littleblack books for bachelors, business contactlists, correspondence, book manuscripts,school research papers, and a host of otherproblems where character text is a centralcomponent.

What are the Prognostications?

So much for the observations and imagin-ation inputs; what will the technologicaltrends be, as these personal uses of com-puters expand? How will the present smallindustry of personal computing manu-facturers change and expand as time goeson? In short, what are the prognosticationsfor the future?

Product Evolution

The trend in product marketing andpackaging for the near future is "smoothingout the wrinkles." Present day kits workwell, and can be mastered by many indi-viduals, as demonstrated by the many peoplewho have bought and are using them. How-ever, with no attempt at being unjustifiablycritical, present day computer kits are inmany respects like experimental aircraft kits.A bit of sophistication is often necessary onthe part of purchasers. But people buy, buildand fly experimental aircraft, and peoplebuy, build and program present day com-puters in kit form. The next step in productevolution for this market will be the "com-puter system component" product analo-gous to the high fidelity market. Here theidea is that a user purchases an assembledproduct, not a kit, and with a minimum oftrouble interfaces this product to otherproducts, not necessarily of the samemanufacturer.

Standards

In order to achieve newer and widermarkets composed of individuals who arenot handy with soldering iron and oscillo-scopes, there are several industry wide con-siderations in the area of "standardization."Just as railroads soon found the advantagesof standard track gauges, automotive manu-

92

SOLIDSTATESALES

FeaturesValue

SPECIAL PURPOSETRANSISTORS

INTEGRATED CIRCUITS

HARDWARE

+

P.C. SOCKETS

SILICON POWERRECTIFIERS

ZENERS

TRIACS

SCRS

LIGHT EMITTINGDIODES

SPECIAL

PURCHASE

ITEMS

WE HAVE AVAILABLE

USED IBM SELECTRIC

731 INPUT/OUTPUT

TYPEWRITERS,

WITH MANUALS FOR$350.00

ALSO AVAILABLE USED

KLEINSCHMIDT M-311PRINTERS

THEY POINT AT THERATE OF120 CHARACTERS/SECOND.S450.00

VIDEO CAMERA KIT

I A UNIQUE ALL SOLID STATE CAMERA KITFEATURING A... 100 X 100 BITSELF SCANNING CHARGEDCOUPLED DEVICE

INCLUDES THE FOLLOWINGUNIQUE FEATURES...POUND IN FA« MOKEEXPENSIVE CAMERASIF AVAILABLE

I MAY BE USED FOf mSURVEILLANCE WITH AN WUOHTSOURCE

I EXCELLENT FOft STANDARDSURVEILLANCE WORK BECAUSEOF ITS UOHT WEKjHT ANDSMALL SIZE

I ALL COMPONENTS MOUNTEDON TWO PARALLEL 3'X 5-SINGLE SIDED BOARDS TOTALWEIGHT UNDER 2 LBS

I MAY BE WIREDBY PERSONWITH SOME Tf CHKHCALEXPERIENCE IN *■« MRS

SUPER UNBELIEVABLE

MAT BE USEDWITH AMATEURRADIO FOR VIDEO

USED FOR CHARAC-TER RECOGNITIONFOR COMPUTERSWITH EXTERNALCIRCUITS

MAY BE USED INA VACUUM. UN-DER WATER. HIGHALTITUDE, ANDIN MAGNETICENVIRONMENTBECAUSE THEREIS NO HIGHVOLTAGE ORMAGNETICDEFLECTION

WE SUPPLY ALLSEMICONDUCTORS.BOARDS. DATASHEETS,DIAGRAMS. RESISTORSAND CAPACITORS

SORRY. WE DO NOT SUPPLYTHE CASE. BATTERIES(OR SUPPLY"| THE LENSE(NOT SUPPLIED! DEPENDSUPON THE USE

INTEL 8080 CPU $37.50

8008 8 BIT MICRO PROCESSING CHIP

I (with Data Book) II9 00

I 2102-1 1024BTRAM $2.60

5202A UV PROM $12.50

MM5203 UV PROM $12.50

1 702A UV PROM $1 2.50

5204-4K PROM $24.85

MINATURE MULTI-TURN TRIM POTS TOO. BOO

5K. 10K, 25K. 50K. 100K. 200K

%.lt*. , 3)12.00

MULTI-TURN TRIM POTS Similar to Bourns3010 style'/.."xV.'xl'/."; 50. 100.IK. 10K 50K ohms

I 11.80 m. 3114.00

LIGHT ACTIVATED SCR'l

1 TO-18. 200V 1A ]

PRINTED CIRCUIT BOARD

F8 MICROPROCESSOR KIT

WE'VE GOT THE F8 MICROPROCESSOR KIT, ONEOF THE MOST ADVANCED MCU SYSTEMS ON THEMARKET TODAY FOR ONLY *-J J Q QQ

This throe chip microprocessor system has the(ottowino advantages:

1) Driven by a »5»nd 'l? voll power supply

2) Two I/O ports on the CPU chip, and ROM.making 32 bidirectional lines

3) 64 bytes ol fast RAM scratchpad buiii into theCPU chip.

4} A built in clock generator and power-on reset builtinto the CPU chip.

5) A programmable internal timer built into the ROM chip

6) 60% o> the instructions are 1 byte

7) TTL I/O compatibility.

8) consumes less than 300mw of power per chip

9) A local interrupt with automatic adress vector

10) expandable to 64K bytes (2102-1 'si ol memory

11) 20 mil loop & RS - 232 included.

The F8 Kit has enough parts and instructions to demon-strate microprocessor programs up to 1K byte, and todebug those programs.

We supply.

1- 3850 CPU

t- 3851A FAIR-BUG progrfimmod storageunit, provides the programmer with allits I/O subroutine , and allows the pro-grammer to display or alter memory,and register contents via a teletypeterminal.

I- 3853Static mamory interlace

8- 2102

Plus CMOS gates and buffers. PC card,instruction manuals, programmingguide, and time sharing guide

JL-urJi-

DO PORT \-1 l/QPOBT

8-BIT ARITHMETICB4M AH Y 1 DECIMALINTERRUPT FETCH LOOIC

-[ l/qpor7|-[ do pout y

AOOHESS STACK

good to 1 MHZ

Nek. matched1.50 H.

VECTOR BOARD I " SPACINGI 4 5'x 8.5* SHEET

4 WATT IH LASER DIODE $7.95

TRANSISTOR SPECIALS

2N3585 NPN Si TO-68 $ .95

2N3772 NPN Si TO-3 $1.80

2N4901 PNPSiTO-3 $ .85

2N5088 PNP SI TO-92 4/$ 1.00

2N4898 PNP TO-68 $ .60

2N404 PNP GE TO-5 5/$1.00

2N3919 NPN Si TO-3 RF $1.50

MPSA13 NPN Si TO-92 3/$1.00

2N3767 NPN Si TO-68 I .70

2N2222NPNSiTO-18 5/S1.00

2N3055 NPN Si TO-3 $ .80

2N3904 NPN Si TO-92 5/$1.00

2N3906 PNP Si TO-92 5/$1.00

2N5296 NPN SI TO-220 $ .50

2N6109PNPSITO-220 $ .55

2N3866 NPN SI TO-5 $ .75

2N3638 NPN SI TO-5 5/$1.00

2N6517NPNTO-92Si 3/S1.

mnmmmsm

S.8UF 35V 3/$ 1.0033UF 25V $ .4030UF 6V ,5/Sl.OOI50UF 20V $ .50

I 2N 5457 N PET » .45

I 2N4891 UJT t .45

I TIS43UJT $ .35

ER 900 TRIGGER DIODES 4/11.00

| 2N 6028 PROG. UJT I .65

VERIPAX PC BOARDThis board Is a v„" single sided pa-per apoxy board. 4V1" x 6Vi".DRILLED and ETCHED which willhold up to 21 single 14 pin IC's orB. 16. or LSI DIP IC's with busseslor power supply connector. 15.25I MV5691 YELLOW-GREEN

BIPOLAR LED 11.25

| MT-2 PHOTO TRANS I .50

| RED. YELLOW. GREEN OR

AMBER LARGE LED's ea. S .20

I 1 4 PIN DIP SOCKETS S .35

16 PIN DIP SOCKETS I .35

MOLEXPINS 100/11.00

1000/15.00I 6 PIN MINI DIP SOCKETS I

10 PIN TO-5 TEFLON PC SOCKETS

s

.80

10 WATT ZENERS 3.9. 4.7.

s

.5075

1 WATT ZENERS 4.7

5.6. 10

. 12.

PRV 1A 3A

12A

50A

125A

100 .06 14

.30

.80

CT7001 ALARM CLOCK CHIP $5.75

FPA 711-7 LEVEL Diode Array OpticalTape Readers $5.95

NATIONAL

MM1 402—3.20MM1403—3.20MM1404—2.50MM5013—7.75MM5016—3.50MM501 7—4.75MM5055-4.00MM5056—4.00

MOS DEVICES

MM5057—4.00MM5058—4.95MM5080—4.95MM5061—4.30MM5555—6.25MM5556—6.25MM5210-1.95MM5260-2.95

.90 2.30 1050

REGULATED MODULARPOWER SUPPLIES

- 15VDC AT 10Oma

15VAC INPUT $24.95

I 5VDC AT 1 A. 1 1 5VAC INPUT $24.95

1 12VDCAT-54 $24.96

IN4146IIN914) 1501.00

] 1 103, 1024 bit RAM $2.75

I NEC 6003 2048 bit RAM 16.00

1 1101 258 bit RAM $1.40

I 7489 RAM 12.30

| 7 POLE 1 THROW TO-5 MINATURE

ROTARY SWITCH MS

74L00-7400-7401-7402-7403-7404-7405-7406-7407-7408-7409-7410-7411-7412-7413-7414-7416-7417-7420-7425-7426-7427-7430-7432-7437—7438-7440—7441-7442-7445-7446-7447-7448-7472-7473-7474—

9559.79.87.87.852834

: SERIES

7476— .35

7480— .48

7483— .757485—1.05

7486— .34

7490— .49

7491— .79

7492— .49

7493— .49

7495— .74

7496— .7974107— .3474121— .3874123— 74

74125— .54

74126— .54

74150— .92

74151— .6974153— .7974154—1.0574155—1.0574157- .7574161— .9574164—1.1074165—1.1074173—1.3574175— .9574177— .7574181—2.3074192—1.1074193—1,1074194—1.15

74195— 74

74196- .9575324-1.7575491—1.10

5- .49

CMOS (DIODE CLAMPED)

74C02- .26 4013- .45 4028- .95

74CIO- .30 4015-1.24 4029-1.20

4001- .24 4017-1.15 4030- .49

4002- .24 4018-1.24 4035-1.504006-1.35 4019- .50 4042- .754007- .24 4022-1.24 4046-2.75

4009- .50 4024- .95 4047-3.50

4010- .50 4025- .24 4060- .49

4011- .24 4026-1.90 4065-1.95

4012- .24 4027- .55 4066-1.00

LEO READOUTS

FND 500-5" C.C $1.75 [

HP7740-.3"C.C $1.40

MAN-4-.25" C C $1.20

MAN-7-.3" C.A $1.25 |

DL747-.6'C.A $1.95

NS33-3 d

CD 1 10 LINEAR 256 XI BIT SELFSCANNING CHARGED COUPLEDDEVISE $125.C

SANKEN AUDIO POWER AMPS

Si 101OG 10 WATTS $ 6.90

Si 1020 G 20 WATTS 113.95

Si 1050 G 50 WATTS $24.95

ALCO MINATURE TOGGLE SWITCHES

MTA106SPDT $1.20

MTA 206 DPDT $1.70

LINEAR CIRCUITS

LM 309K 5V 1A REGULATOR $1-00

723 — 40 + 40V REGULATOR $ .54

301/748-HiPer. Op. Amp $ .28

320T5. 12. 15. OR 24V

NEGATIVE REG $1.50

741Aor741COP. AMP $ .31

709c OPER. AMP $ .25

307 OP AMP $ .25

CA 3047 HI PERF OP AMP S .95

CA 3089 FM IF SYSTEM $3.25

340T-5.8. 12. 15. 18. 24V POS

REG. TO-220 $1.20

101 OPER. AMP. HI PERFORM $ .75

LM 308 Oper. Amp., Low Power ... $1.05

747 —DUAL741 S .65

556 - DUAL TIMER I .95

537 - PRECISION OP. AMP $2.60

540-70W POWER DRIVER $2.50

LM 3900 - QUAD OP. AMP $ .49

LM 324 —QUAD 741 $1.50

560 — PHASE LOCK LOOP $2.50

561 - PHASE LOCK LOOP $2.50

565 - PHASE LOCK LOOP $1.60

566 FUNCTION GEN $2.50

567 - TONE DECODER $1.60

LM 1310N FM STEREO DEMOD .... $2.75

8038 IC VOLTAGE CONT. OSC $3.90

LM370-AGC SQUELCH AMP $1.15

555 — 2 US — 2 HR. TIMER $ .53

553 QUAD TIMER $2.50

FCD 810 OPTO-ISOLATOR $ .80

1 458 DUAL OP. AMP $ .SB

LM 380 — 2W AUDIO AMP $ 80

LM 377 — 2W Stereo Audio Amp. . . $2.50

LM381 - STEREO PREAMP $1.00

LM 382 — DUAL AUDIO PREAMP .. $1.00LM311—HIPER.COMPARATOR..6 .95

LM 319 — Dual Hi Speed Comp $1

LM 339 — QUAD COMPARATOR . $1

~TA 10A 25AI1.5A 6A 35A.40 .70 1.30 .40 .50 1.20

400 I 10 1.60 2.60 1.00 1.20 2.20600 170 230 3.6ol 150 3.00

Senrf25l for our catalog featuring

Transistors and Rectifiers

145 Hampshire St.. Cambridge. Mass

SOLID STATE SALES

SOMt BVILL *- MAS

An audio turntable withcuing controls is the onlypresently available "poorman's disk drive," shouldmanufacturers and otherorganizations choose todistribute audio encodedinformation on long play-ing records.

facturers found the advantages of standardtire sizes, and electronics manufacturers usestandardized integrated circuit parts, so toothere is a definite need for standardization inseveral areas of the personal computingindustry if we are to achieve the convenienceof interconnection of components whichcharacterizes the modern high fidelity audiosystem.

A step in the direction of standardizationbegan when BYTE magazine sponsored anaudio recording standards conference lastNovember, a conference which resulted inselecting the provisional standard describedin BYTE's February and March issues. As acontinuation of this trend, BYTE is pro-posing a second conference next fall todiscuss experiences with the recording for-mat, including software data formats, as anaddition to the standard. Also needed is thespecification of a standard 8 bit peripheralinterface plug standard, which will becomethe logical equivalent of the RCA stylephono plug used in audio equipment. Thereis a proliferation of central processor designson the market, so much so that the maker ofan applications oriented peripheral such as amusic synthesizer black box, a burglar alarmblack box, a TV graphics generator, a hardcopy printer, a floppy disk system, or thelike has no way to ensure that his black boxwill plug into everybody's computer regard-less of manufacturer. By providing astandard 10 plug for 8 bit data quanta withinterrupt and directional control as well asstrobes, the industry can be expanded con-siderably. The more options people havewith their personal computers, the moredesirable is the product.

Software Markets?

Another area which should be developedis the software markets. It is not clear yetwhat this means. One item which we'll beadding to BYTE at some point in the futureis a commercially oriented classified soft-ware advertisement which will enable smalloperations to economically market softwarepackages. It is fairly obvious that in thispersonal use market, with many individualson limited budgets, one aspect of softwarewhich must be considered is price and massproduction. A high fidelity record, forinstance, is mass marketed with a small butnagging incidence of piracy. If the price of astereo record were to double, the instancesof copying and piracy would go even higher.By analogy, software prepared for thepersonal use markets will not be salable athigh prices in the same way that largecomputer software packages are sold at highprices. The problem of contract enforcement

may become intractable with large numbersof users.

The fact of the matter is that people oflow moral character have few scruples aboutcopying a work which takes time, moneyand effort to develop. One answer to theproblem is to not write software at all.Another answer is to mass produce applica-tions software at low prices so that softwarebecomes the personal systems industryequivalent of a high fidelity record. In therecord industry, most people simply go outand purchase the record, thus crediting theartists and recording company with theroyalty. The reason is that if you add up allthe costs — both moral and economic — thedifference in price between a legitimaterecording and a pirated one is miniscule, orin favor of the legitimate recording. It is notclear yet how such mass production willwork out in detail, but the day of the ROMchip rack in a retail store, or a weeklysoftware special on a cassette tape may notbe far away. It is quite likely that most ofthe software being sold at retail in this waywill be for application packages which arewritten using software development tools oflimited distribution. The packages of widestmarket will most likely be relocatable objectcode for particular applications on particularmicrocomputers; assemblers, interpretersand compilers may never become more thanbundled packages distributed bymanufacturers.

Mass Storage Trends

The present day situation in mass storagemethods for personal computing is fairlyprimitive. The only widely distributed massstorage method is audio and direct digitalrecording on inexpensive cassette or reel toreel recording devices. These methods arereliable and accomplish the goal of electro-magnetic off line recording, but they fall farshort of the random access requirementneeded for a good information storage andretrieval system.

In order to fully accomplish the con-venient personal computing function, thereis a definite market need for an inexpensiverandom access mass storage system. Aboutthe only way this can be done inexpensivelyright now is through the medium of phono-graph record technology applied to readonly copies of software packages representedas audio recordings of digital information.The placement of the arm of the phono-graph on a particular band of the record,using a cuing control, is a poor man'sequivalent of a disk drive access arm.

Here is what is needed of inventors andmanufacturers: a budget version of the

94

VIATRON terminal. Unused, consists ofkeyboard, micro-processor, control panel,video display, 2 built-in tape decks, pow-er supply. Operates on 115v AC 60 cycle.Unused but in storage for 4 years. Due tostorage, may require some work. Sold "asis" FOB Lynn, Mass. Ship wgt. 160 lbs.Has memory, automatic input/output un-der program control, tape search, keyverification, tape validation, etc.

Send for informative data brochure. Lim-ited quantity. $425.00 FOB Lynn, Mass.

CLOCK KIT $14.00

Includes all parts with MM5316 chip,etched & drilled PC board, transformer,everything except case.

SP-284 $14.00 each 2/$25.00

JiMUi

« HHflHH B H BTli H B MM ■■

HHHHHHHHHHBfiBn

SaeHBBBHiB

ASCII KEYBOARD, brand new w/TI ASCII chip inplace & data $45.00

COMPUTER GRADE LOGIC SUPPLY CAPS, BRAND NEW

47,000 Uf

32,000

160,000

66.000

1,000

2,000

25V

25

10

10

60

55

$2.00

ST

1,000

1.75

ST

3,300

2.00

ST

1,600

2.00

ST

8,000

.90

AL

500

1.00

AL

"ST"

503520166

.901.25

.601.25

.35'AL" axial

ALALALALAL

5 VOLT 1 AMP REGULATED power supply kit for logic work. All parts includingLM-309K $7.50

DUMMY LOAD RESISTOR, non inductive, 50 ohm 5 watt"AA" NICAD CELLS brand new, fine biz for handy talkies

S1.25 ea.

LINEAR by RCA, brand new, gold bond process

301

307

324

339A

741

S

.60

.52

1.80

1.60

.50

74774814583401555 timer

$

.82.50.96.80.60

MM5314MM53167001

$1.009/$9.00

$3.003.008.00

MEMORY SYSTEM $125.00

New memory system by Honeywell, small . . .measures only 9x4x1 inches. 1024 core memory,1024 words with 8,9,10 bits/word. Random access,with all logic, register, timing, control, core select andsense functions in one package. New, booklet ofschematics and data. Looks like a good beginning fora mini-computer. Limited supply on hand.Ship wgt 3 lbs. #SP-79 $125.00

CORE MEMORY

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

yffesn^z

Eiii

■Mill■ ... . I

1-IPH VPff" MR3 wnS ^R ;

§1111

FREE CATALOGSP-7 NOW READYPlease add shipping cost on above.

MESHNA P0 Bx 62 E. Lynn Mass. 01904

95

EfTE

readerrvi

To get further information on the products advertised in BYTE, fill out the readerservice card with your name and address. Then circle the appropriate numbers for theadvertisers you select from this list. Add a 9 cent stamp to the card, then drop it in themail. Not only do you gain information, but our advertisers are encouraged to use themarketplace provided by BYTE. This helps us bring you a bigger BYTE.

A75

Advanced Micro-Electronics 59

A71

Micro Peripheral 59

A70

American Microprocessor 57

A57

MIKOS 81

BYTE's Books 73, 86

A20

Mikra-D 55

BYTE Subscriptions 5C

,82

*

MITSCIV, 27

A37

Celdat 73

A61

MOSTech 11

A6

Continental Specialties

13

A22

National Multiplex 49

A41

Cromemco 1

A63

Parasitic Engineering 55

A7

Delta 83

A23

Polymorphic 35

A8

Dutronics 53

A24

Processor Technology 5, 1 5

A72

EDN 89

A26

Scelbi 7

A9

Godbout 69

#

Scientific Research 57

A69

HAL Communications

37

A27

S D Sales 87

A12

IMS Clll, 41

A59

Solid State Sales 93

A38

ISC 81

A29

Southwest Tech CI I

A15

James 91

A30

Sphere 17

A18

Meshna 95

A32

Tri Tek 85

'Reader service inquiries not solicited. Correspond directly with company.

BCJlvlB: BYTE's Ongoing Monitor Box

BYTE would like to know how readers evaluate the efforts of the authorswhose blood, sweat, twisted typewriter keys, smoking ICs and esoteric softwareabstractions are reflected in these pages. BYTE will pay a $50 bonus to the authorwho receives the most points in this survey each month.

• Articles you like most get 10 points, articles you like least get 0 (ornegative) points - with intermediate values according to your personal scale ofpreferences, integers only.

• Only one entry per reader.

Page

No. Article

8 Simpson: A Date With KIM18 Boudinot: n Source

24 Eichbauer: ROM in uP Memory Address Space28 Smith: More Information on PROMs36 Haller: Serialize the Bits . . .38 DeMonstoy: An Octal Front Panel42 Nico: SHOOTING STARS50 Finger: Serial ASCII Word Generator60 Nelson: "Chip" Off the Olde PDP-8/E70 Frank: Analog/Digital Conversion Techniques74 Jewell: Simplify Your Homemade Assembler

LIKEDLEAST BEST

0123456789 100123456789 100123456789 1001 23456789 100123456789 100123456789 100123456789 100123456789 100123456789 100123456789 100123456789 10

February BOMB Results

Winner of the $50 prize for the most popular article in the February1976 issue of BYTE is W Douglas Maurer's "Processing AlgebraicExpressions." Runners up in the voting were Robert Grappel's "MyDear Aunt Sally" and Don Lancaster's "Color TV Graphics."

Feel free to photocopy this or any other page if you wish to keep your BYTE intact.

96

floppy disk in which compatibility withhigher priced media format might be thrownout the window if necessary, and costcutting is the primary goal. The approachesto cost cutting might include lowering datadensity to relax mechanical tolerances, useof slower access mechanisms, use of somemanual operations in place of electronicallycontrolled ones, etc. The engineering of suchan inexpensive device I will leave to theinventors; the requirement of inexpensiverandom access mass storage is very real andwill meet with a large market if the problemis solved.

Other approaches to the on line massstorage problem, such as bubble memoriesand CCD devices, may eventually be of someinterest; but for the moment, cost is out ofthe consumer market's range, and non elec-trical off line copies are still needed whenthe power fails.

Personal Systems

The general trend in hardware and soft-ware which will lead to the most widespreadavailability of computing (and the largestfuture markets for companies who supportthis trend) is toward a smoothly packagedproduct which can be made to work withthe minimum difficulty by any literate andthinking person. This is the black boxapproach to computing, one which the truecomputer hobbyist finds foreign, but whichthe person without special engineeringtalents or interests will purchase. When suchpersonal systems become widely available tothe general public, the application of com-puter technology to everyday problems willbecome widespread and large mass marketsfor applications programming products canbegin to develop. I am talking here about amaturity of the small systems industry into anew equivalent of what happened at anearlier time with the automotive industry. Iam also talking about a development oftechnological mass marketing which willhave an impact similar to the automobile inits effects of opening up a multitude of newoptions for people through computing.There will always be the computer enthusi-ast market, just as there is now and hasalways been a "speed" market for auto-motive specialty products. The people whoare heavily involved in hardware and soft-ware design and developing practical applica-tions ideas will become the entrepeneurs andpurveyors of products as the larger generalmarket develops. Who will become theGeneral Motors of the computing field? Ican't predict that by any means. But I willpredict that there will be such a concern. Itwill be an interesting show to watch as thenext decade unfolds. ■

If you thought a rugged,professional yet affordablecomputer didn't exist,

thinkIMSAI

8080.

Sure there are other commercial,high-quality computers that canperform like the 8080. But theirprices are 5 times as high. There isa rugged, reliable, industrial com-puter, with high commercial-typeperformance. And prices that arecompetitive with Altair's hobbyistkit. The IMSAI 8080. Fully assem-bled, it's $931. Unassembled, its$499, until May 1-then $599.And ours is available now.

In our case, you can tella computer by its cabinet. TheIMSAI 8080 is made for commer-cial users. And it looks it. Insideand out! The cabinet is attractive,heavy-gauge aluminum. Theheavy-duty lucite front panel hasan extra 8 program controlledLED's. It plugs directly into theMother Board without a wireharness. And rugged commercialgrade paddle switches that arebacked up by reliable debouncingcircuits. But higher aesthetics onthe outside is only the beginning.The guts of the IMSAI 8080 iswhere its true beauty lies.

The 8080 is optionallyexpandable to a substantial systemwith 22 card slots in a singleprinted circuit board. And thedurable card cage is made ofcommercial-grade anodizedaluminum. The Altair kit onlyprovides 16 slots maximum in fourseparate sections, each section

requiring 200 solder connections.

The IMSAI 8080 powersupply produces a true 20 ampcurrent, enough to power a fullsystem. The Altair producesonly 8 amps.

You can expand to apowerful system with 64K ofmemory, plus a floppy disk con-troller, with its own on board8080-and a DOS. An audio tapecassette input device, a printer,plus a video terminal and ateleprinter. These peripherals willfunction with an 8-level priorityinterrupt system. IMSAI BASICsoftware is available in 4K, 8K

and 12K, that you can get inPROM. And a new $139 4KRAM board with softwarememory protect.

Find out more about thecomputer you thought didn'texist. Get a complete illustratedbrochure describing the IMSAI8080, options, peripherals, soft-ware, prices and specifications.Send one dollar to cover handlingto IMS. The IMSAI 8080. From "the same technology that developedthe HYPERCUBE Computerarchitecture and IntelligentDisk systems.

Dealer inquiries invited.

IMS Associates, Inc.

1922 Republic AvenueSan Leandro, CA 94577(415) 483-2093

* £1

M u> « «a A ij jt il m m ') '■ *»<k> &&&><& ik £> d& <^> ® « i) :■» «ji <®u

mits ALT/IIP ESC

J