Byte Magazine Volume 02 Number 12 - The Star Trek Computers

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)

Your computer system needn't cost a fortune.

Some computer kits include little more than a mother board anda front panel, and you pay extra for everything else you need to •make an operating computer.

SWTPC doesn'f do it that way, so you can get your SouthwestTechnical 6800 Computer up and running at a bargain costcompared with most other systems. It comes complete at $395with features that cost you extra with many other systems.

The Extras You Get

These extras include 4K of random-access memory, amini-operating system in read-only memory, and a serial controlinterface. They give you 1) a considerable amount of workingmemory for your programs, 2) capability through the mini-operating system to simply turn on power and enter programswithout having to first load in a bootstrap loader, and 3) aninterface for connecting a terminal and beginning to talk withyour computer immediately.

Low-Cost Add-Ons

Now that you have a working computer, you'll probably wantto add at least two features soon, more memory and interfacesfor needed accessory equipment. Memory for our 6800 isanother bargain. You can get 4K memory boards for just $100and 8K boards for only $250.

Our interfaces cost little compared with many other systems.

For just $35 you can add either a serial or parallel interfaceboard. (And you won't have to buy several interfaces on a costlyboard to get just the one you want.)

Peripheral Bargains

Your computer is no good without at least a terminal forentering data and viewing computer output, and you willprobably want a good method of storing programs and data.

We offer you a line of high-quality peripherals at low prices.(You can prove this by just comparing prices.)

Buy our CT-64 Video Terminal for only $325 and our CT-VMMonitor with matching cover for $175. Our MF-68 DualMinifloppy costs just $995, complete with Disk BASIC and adisk operating system. For cassette storage our AC-30Cassette Interface gives simple control for one or two cassetterecorders.

You can get inexpensive hard copy with our PR-40 Al-phanumeric Line Printer.

We back up the 6800 system with low-cost software,including 4K and 8K BASIC.

Compare the value you get with our computer and peripher-als before you buy. We think you'll find that SWTPC gives youmore for your money in every way.

Enclosed Is:

$995 for the Dual Minifloppy

$325 for the CT-64 Terminal

$175 for the CT-VM Monitor

$395 for the 4K 6800 Computer

Name

City

$250 lor the PR-40 Line Printer$79.50 for AC-30 Cassette Inferface

Or BAC # Exp. Date_

. Or MC # Exp. Date_

. Address.State

-Zip-

Esa

Southwest TechnicalProducts Corp.

219 W. Rhapsody. San Antonio. Texas 78216London: Southwest Technical Products Co., Ltd.Tokyo: Southwest Technical Products Corp./Japan

Circle 109 on inquiry card.

The easy way to get disk storage,FORTRAN IV, and other programming power

Control up tofour 8" drives

Control up tothree 5" drives

CRT terminalinterface

Functionswitches

LSI circuitry

1 kilobytePROM

Here's a new disk controller anddisk drive combination that will setyou up for truly powerful disk storage.

The new controller is extremelyversatile. You can use it with eitherour new 5" single disk drive or our8" dual disk drive. In fact, the con-troller will interface up to three 5" orfour 8" drives.

That means you can have enor-mous disk storage since the new con-troller puts 92 kilobytes on each sideof a 5" diskette and 256 kilobytes onan 8" diskette. Recording is in soft-sectored IBM format.

FORTRAN IV AND MORE

You can get still more Cromemcodisk operation aids. For example, wealso offer FORTRAN IV for our com-puter users.

And as in so many things, we arethe first manufacturer in the field tooffer this advanced program for theZ-80 pP.

Besides FORTRAN IV we also offerour special BASIC (14-digit precision),our Z-80 Assembler, and now an en-tertainment diskette with over a doz-en of our Dazzler® games.

KEYBOARD CONTROL

The new Model 4FDC disk con-troller (supplied in our Z-2D) is forour Z-2 computer or any S-100 buscomputer using our Z-80 CPU card.You should also know about theseother capabilities of the new con-troller:

• Its PROM-resident Disk OperatingSystem (RDOS) gives you key-Circle 34 on inquiry card.

Single 5"disk drive

Dual 8"disk drive

board control of your disk driveand also includes a bootstrap toload our powerful CDOS diskoperating system supplied on ailCromemco diskettes.

• The controller will interface yourCRT terminal through its RS-232serial port. May save you an I/O.

• It has 5 programmable intervaltimers.

• It has vectored interrupts.

• And it has an 8-bit parallel inputport and an 8-bit parallel outputport.

LOOK TO THE FUTURE

This new disk controller equipsyou for the future as well as for now.Not only can you now have verylarge storage, but the features of thecontroller and the standard IBM for-mat protect you from early obso-lescence.

STORES/FACTORY

This new card and the disk drivesare in production and available.

So contact your computer storeor the factory today and you can havethe power of FORTRAN IV and alarge memory right away.

PRICES

Model 4FDC-K Disk Controller kit $ 395

Model 4FDC-W Disk Controller assembled .. .$ 595Model WFD 5" single disk drive assembled . .$ 495

Model PFD-K 8" dual disk drive kit $1995

Model PFD-W 8" dual disk drive assembled . .$2495Disk drives are complete withpower supply, case and cables.

SOFTWARE

Purchasers of Cromemco computersor drives may purchase software on 5"or 8" diskettes as follows:

5" 8"

Diskette DisketteModel Model Price

FORTRAN IV FDF-S FDF-L $95

Z-80 Assembler FDA-S FDA-L $95

16K BASIC FDB-S FDB-L $95

Dazzler® games FDC-S FDC-L $95

ra

Cromemco

a t e

^^^^^B Specialists in computers and peripherals

2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400

BYTE December 1977

You can now have the industry

finest microcomputerwith that all-importantdisk drive

YOU CAN GET THATALL-IMPORTANT SOFTWARE,

TOO

Loading your programs and fileswill take you only a few seconds withthe new Cromemco Z-2D computer.

You can load fast because theZ-2D comes equipped with a 5"floppy disk drive and controller. Eachdiskette will store up to 92 kilobytes.

Diskettes will also store your pro-grams inexpensively—much more sothan with ROMs. And ever so muchmore conveniently than with cas-settes or paper tape.

The Z-2D itself is our fast, rugged,professional-grade Z-2 computerequipped with disk drive and con-troller. You can get the Z-2D witheither single or dual drives (dualshown in photo).

CROMEMCO HAS THESOFTWARE

You can rely on this: Cromemcois committed to supplying qualitysoftware support.

For example, here's what's nowavailable for our Z-2D users:CROMEMCO FORTRAN IV COM-PILER: a well-developed and power-ful FORTRAN that's ideal for scien-tific use. Produces optimized, relo-catable Z-80 object code.CROMEMCO 16K DISK BASIC: apowerful pre-compiling interpreterwith 14-digit precision and powerfulI/O handling capabilities. Particularlysuited to business applications.CROMEMCO Z-80 ASSEMBLER: amacro-assembler that produces relo-catable object code. Uses standardZ-80 mnemonics.

The professional-grade microcomputerfor professionals

ADVANCED CONTROLLER CARD

The new Z-2D is a professionalsystem that gives you professionalperformance.

In the Z-2D you get our well-known 4-MHz CPU card, the provenZ-2 chassis with 21-slot motherboardand 30-amp power supply that canhandle 21 cards and dual floppydrives with ease.

Then there's our new disk con-troller card with special features:

• Capability to handle up to 4disk drives

• A disk bootstrap Monitor in a1K 2708 PROM

• An RS-232 serial interface forinterfacing your CRT terminalor teletype

• LSI disk controller circuitry

Z-2 USERS:

Your Z-2 was designed with the futurein mind. It can be easily retrofittedwith everything needed to convert toa Z-2D. Only $935 kit; or $1135 forassembled retrofit package.

ra

Cromemco

Shown with optionalbench cabinet

We're able to put all of this in-cluding a UART for the CRT interfaceon just one card because we've takenthe forward step of using LSI con-troller circuitry.

STORE/FACTORY

Contact your computer store orCromemco factory now about theZ-2D. It's a real workhorse that youcan put to professional or OEM usenow.Kit: Z-2D with 1 disk drive

(Model Z2D-K) $1495.

Assembled: Z-2D fully assembled

and tested (Model Z2D-W) $2095.

Additional disk drive

(Model Z2D-FDD) $495.

SOFTWARE

(On standard IBM-formatsoft-sectored mini diskettes)

16K BASIC (Model FDB-S) $95

FORTRAN IV (Model FDF-S) $95

Z-80 Assembler (Model FDA-S) $95

BYTE December 1977

^^__^H Specialists in computers and peripherals

2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400

Circle 34 on inquiry card.

■ ■ ■_ a«

,

BITE DECEMBER 1977

In the Queue

Volume 2 Number 12

Foreground

PUBLISHERVirhini,j PcsihkeEDITOR IN CHIEF

48

A $19 MUSIC INTERFACE

Cail T Helmets |rPRODUCTION MANAGER

Music Systems—Struve

luililh ll.tw-v

76

ON A TEST EQUIPMENT DIET? TRY AN 8 CHANNEL DVM COCKTAIL!

ADVERTISING DIRECTOR

Dcbr.i linti.llic.iu

Test Equipment—Ciarcia

CIRCULATION MANAGER

130

USING THE POLYMORPHICS VIDEO INTERFACE

GrcRorv spii/iadcnEDITORS

Hardware—Wenzlaff

Lhrislophci P Mnitt.in

164

SAVE SOFTWARE: USE A UART FOR SERIAL IO

Blaise W l.iltkf,ASSISTANT PUBLISHER

Interfacing—McGahee

Lli/abcth Alp.tuBliCO-OP EDITORScc.ll Morrow

Background

PRODUCTION EDITORS

K.iii-n GrcnuryNam.* Salmon

12

THE COMPUTERS OF STAR TREK

ADVERTISINGNun-en Barcblc)

Specula tion—Schmucker- Tarr

P.mki.i Clark

24

A FLOPPY DISK TUTORIAL

EDITORIAL ASSISTANT

InRlid Nslanil

Floppy Disks— Rampil

PRODUCTION ASSISTANT

91

JACK AND THE MACHINE DEBUG

Cheryl HurdCIRCULATION ASSISTANT

Software Techniques—Grappel-Hemenway

Pamela R Heaslip

104

STRUCTURED PROGRAMMING WITH WARNIER-ORR DIAGRAMS: Part 1

DEALER SALES

Ginnie I Boudtieau

Software—Higgins

TRAFFIC MANAGER

112

SIMULATION OF MOTION: Part 2: An Automobile Suspension

Edmund D Kells |iART

Modelling—Smith

Wai Chlu LI

118

A LITTLE BIT ON INTERRUPTS

Durnlhy Shamunsky

Ellen Shamonsky

Tutorial— Wier

BOOK PUBLISHER

140

MULTIPROGRAMMING SIMPLIFIED

Christopher L StniihCONVENTION SUPERVISOR

Software—Lahasky

Elizabeth Alpaush

154

WHERE TO GET BARGAINS IN USED COMPUTER EQUIPMENT

EXECUTIVE SECRETARIES

|ill Callihan

Hardware—Libes

Patricia Glutk

156

A LOOK AT LISP

RECEPTIONISTJacqueline Earnshaw

Software—McGath

CLUBS AND NEWSLETTERS

162

RELATIVE ADDRESSING FOR THE 8080

David Wo/makDRAFTING

Software—Gaskell

Douelas Glen

186

A USER'S REPORT ON THE INTERCEPT JR

Stephen KruscLynn Malo

Applications—Lahore

Bill Morello

Dorothy ShamunskyTYPOGRAPHY

Nucleus

Custom Marketing Resources Ine

Goodway Graphics

BYTE is published monthly by

PHOTOGRAPHY

4

In This BYTE

BYTE Publications Inc. 70 Main Si,Peterborough NH 0345B Address all

Ed CrablreePRINTING

6

Is PASCAL the Next BASIC?

mail except subscriptions to aboveaddress: phone 1603) 924-7217. Address

Rumlord Press

NEW PRODUCTS EDITOR

10

Letters

all editorial correspondence to the editor

Daniel 1 vlslia

at the above address. Unacceptable

46

Technical Forum: Wheeler:

manuscripts will be returned il accom-

ASSOCIATES

Undocumented M6800 Instructions

panied by sufficient litst class postage.Not responsible lor lost manusciipts or

Waller BanksSieve Ciarcia

72

Technical Forum: Gordon:

photos. Opinions expressed by theauthors are not necessarily those of

David 1 ylslraPorlia IsaacsonBITS INCFloyd W Rchlinu

The XF and X7 Instructions of theMOS Technology 6502

BYTE Address all subscriptions, changeof address, Form 3579, and fulfillmentcomplaints to BYTE Subscriptions, PO

74

PC 77

Box 590. Martinsville NJ 08836, Second

Medellin Siephens

class postage paid at Peterborough NH

Jim Travisano

84

Get Your System Together

0345B and at additional mailingoffices- USPS Publication No. 102410.

Ronald Wil/c

143

Technical Forum: Gentry:Comments on Paging Schemes

Subscriptions are $12 for one year. $22 :,:tor two years, and $32 for three years in -the USA .inrl its possessions. Effective

146

Book Reviews

Jan 1 1978. $15 foi one year. $27 lortwo yHars, and $39 lor three years. Add

ADVERTISING SALES

148

Programming Quickies

$5.50 pet yeai for subscriptions toCanada and Mexico. Canadian second

Southern California:

149

BYTE's Bits

class registration no. 9321. $25 for a one

Buckley/Boris Associates ItlC

151

BYTE's Bugs

year subscription by surface mail world-wide. Air delivery to selected areas at

'.J 1J Souih BarrlngionSuile 202

152

Clubs, Newsletters

additional rates available upon request.$25 lor a one year subscription by air

Los AnRclcsCA TOO 19(jl t) 826-4621Northern California:

168

Diddle

delivery to Europe. Single copy price is

192

A Note to Novice Kit Builders. . .

$2.00 in the USA and its possessions.$2 40 in Canada and Mexico, and S3.50

Jules 1. Ihuinpson Ine

193,196,204,216

What's New?

in Europe, and $4,00 elsewhere- Foreignsubscriptions and sales should be remit-

Hearst Building

Suile 1 1 1

197

Bit Status Display

ted in United States lunds. Printed inUnited States of America. Entire

S.in 1 rancisco (.A 94103

(IIS) UO-8S-17

222

Classified Ads

contents copyright © 1977 by BYTE

224

BOMB

Publications Inc. All rights reserved.

'

'

224

Reader Service

BYTE December 1<177

This month's cover is based on KurtJ Schmucker and Robert M Tarr'sarticle, The Computers Of Star Trek(page 12). It is an appropriate topicfor computer people, many of whomare science fiction aficionados,Trekkies, and users of the Force. Thetheme, interpreted by artist RobertTinney, is: What would happen if thecrew of the Enterprise visited a holo-graphic museum of ancient technologythat had an exhibit devoted to per-sonal computing, circa 1977? Robertused Willard Nico and his 8080 basedcomputer system with dual floppydisk, video terminal and DECwriter asmodels for the diorama. The cassetterecorder, made obsolete by the diskdrives, is shown unused.

The floppy disk can give yourcomputer the extra storage powerneeded for many applications such asadvanced music and voice synthesis,artificial intelligence and robotics.Find out more about the ubiquitousfloppy in Ira Rampil's A Floppy DiskTutorial.

Microprocessor operation codestructure is sometimes incompletelydocumented, as is demonstrated intwo articles: Gerry Wheeler's commen-tary on Undocumented M6800 In-structions and H T Gordon's commen-tary on The XF and X7 Instructions ofthe MOS Technology 6502. Theeffects of the undocumented op codesare interesting, even if you don't wantto use them as part of normal codingpractices.

In a neatand practicalarticle A $1Some MusicNuts) providsquare wavechannels as aof the theory

combination of tutorialinformation, Bill Struve's9 Music Interface (andTheory for Computeres a way to generatemusical tones for fourresult of an investigationof harmony.

Transform your computer into apowerful 8 channel 31/4 digit voltmeter.Steve Ciarcia shows you how in thelatest installment of Ciarcia's CircuitCellar. Let a BASIC program do allyour calculations and get results that

compare favorably with expensivedigital voltmeters. Read On a TestEquipment Diet? Try an 8 ChannelDVM Cocktail!

Once upon a time, Jack and theMachine Talked; now Jack and hisfriendly 6800 have moved onto betterthings like debugging the programsissued by the assembler described in anearlier article. Turn to Jack and theMachine Debug by Grappel andHemenway for a humorous (buttutorial) account of the developmentof a program called Tracer 6800 whichuses software breakpoint techniques toprovide an instruction by instructionmachine code execution trace on aterminal or hard copy device.

In This BITE

To write well conceived programseasily, you have to design them in adisciplined and structured fashion.David A Higgins begins describing oneuseful method in the article on Struc-tured Programming with Warnier-OrrDiagrams, Part 1: Design Methodo-logy.

As a second installment in a seriesof articles, Stephen P Smith turns tothe problems of motion in whicheffects of the motion's current statefeed back into the model. Turn toSimulation of Motion: An AutomobileSuspension for a more detailed modelwhich features damping (shock absor-bers) and bounce (springs) in responseto external conditions (bumps in aroad).

The use of interrupts allows you tokeep track of several devices at thesame time. If you are not familiar withthe use of interrupts read Robert Wier'sarticle, A Little Bit on Interrupts.

Constructing and interfacing a Poly-Morphics Video Interface is describedby Wayne Wenztaff. Wayne describeshis experiences with his video interfaceand how he modified a television setfor use as a monitor in Using the Poly-Morphics Video Interface.

Multiprogramming allows yourcomputer to seemingly perform severaltasks at the same time. It can save pro-cessor time by always having a pro-gram executing while another pro-gram waits for some type of input.Prof Irwin Lahasky's article, Multipro-gramming Simplified, explains thebasics of multiprogramming.

Many experimenters, including theeditors of this magazine, have dis-covered the real advantages of pur-chasing used but eminently usablegear. Sol Libes gives valuable pointersto frugal hackers in Where to GetBargains in Used Computer Equip-ment.

As personal computer users acquiremore and more memory for theirprocessors, thoughts can be turned tomore powerful languages for the ex-pression of programs. Gary McGathfeels that small computer users shouldhave nonnumeric, symbolic datamanipulation abilities in their lang-usages. In A Look at LISP, Gary de-scribes one of the candidates for suchsymbolic manipulations in the smallcomputer.

Relative addressing allows jumpswithin a program to be made indepen-dent of the location of the programin memory address space. But whatabout such position independentcode in processors like the 8080 whichhave no relative branch addressing?Read James P Gaskell's Relative Ad-dressing for the 8080 and learn how tosimulate this feature for the 8080.

Handshaking is the process of coor-dinating two asynchronous processes,such as serial communication opera-tions and a program. In a short article,Thomas McGahee shows how to SaveSoftware: Use a UART for Serial IO.

What do you do if you're an ocean-ographer and want a microprocessorto help collect data at the bottom ofthe sea for eight weeks? One solutionis to use a watertight titanium sphereand a battery powered processor.Henry Lahore shows how he did itin A User's Report on Intercept Jr.

4 BYTE December 1977

FOUR STARPERFORMERSHE S-100 BU

Meet The North Star Family

THE NORTH STAR S-100 FAMILY—four high perform-ance products at attractive low prices. Our boards aredesigned for use in the North Star HORIZON computerand other S-100 bus computers using 8080 or Z80 proces-sors. Visit your computer store for a demonstration, orwrite for our free color catalog.

16K RAM BOARD

No other S-100 bus memory can match the performanceof the North Star 16K RAM at any price. This low-powerboard has been designed to work at full speed (no waitstates), even at 4MHz with both Z80 and 8080 systems.Memory refresh is invisible to the processor, bank switch-ing is provided and addressability is switch selectable intwo 8K sections. Best of all, a parity check option is avail-able. Kit: $399. Assembled: $459. Parity Option — kit:$39. Assembled: $59.

MICRO DISK SYSTEM

The North Star MDS is a complete floppy disk system withall hardware and software needed to add floppy diskmemory and a powerful disk BASIC to S-100 bus com-puters. The North Star MDS is widely considered one ofthe best designed and most complete S-100 bus products

available. The MDS includes the S-100 interface boardwith on-board PROM for system startup, Shugart mini-floppy disk drive, cabling and connectors, and DOS andBASIC software on diskette. Kit: $699. Assembled: $799.Additional drive — Kit: $400. Assembled: $450. SingleDrive Cabinet: $39. Optional Power Supply: $39.

Z80A PROCESSOR BOARD

The North Star ZPB brings the full speed, 4MHz Z80Amicroprocessor to the S-100 bus. Execution is more thantwice the speed of an 8080, and the ZPB operates in sys-tems both with and without front panels. The ZPB in-cludes vectored interrupts, auto-jump startup, and spacefor 1K of on-board EPROM. Kit: $199. Assembled: $259.EPROM Option — kit: $49. Assembled: $69.

HARDWARE FLOATING POINT BOARD

If you do number crunching, then this board is for you.The FPB performs high-speed floating point add, subtract,multiply and divide with selectable precision up to 14decimal digits. Arithmetic is up to 50 times faster than8080 software, and BASIC programs can execute up to10 times faster. A version of North Star BASIC is included.Kit: $259. Assembled: $359. Prices subject to change.

North Star

Computers

2547 Ninth Street • Berkeley, California 94710 • (415) 549-0858

Circle 83 on inquiry card.

BYTE December 1977

Editorial

Is PASCALthe NextBASIC?

By Carl Helmers

One of the most interesting phenomenain the academic world of computer scienceof late is the language PASCAL. This lang-uage is the subject of much intense activity,and is rapidly gaining acceptance as the lang-uage of choice for training and illustrationof computer concepts to new students ofthe field. Characteristic of this phenomenonis the existence of on the order of 100different implementations of the languagefor various computers and a very active"PASCAL User's Group."

PASCAL began in the late 1960s as atutorial experiment of Professor NiklausWirth: a method of teaching the conceptsof programming in a systematic fashionusing a consistent and highly structuredprogram representation. Historically,PASCAL has antecedents in the ALGOLlanguage but with the addition of con-cepts such as record and file structureswhich were missing in ALGOL'S definition.The following passage by Professor Wirthgives the essence of PASCAL'S purposes. ..

The development of the languagePASCAL is based on two principal aims.The first is to make available a languagesuitable to teach programming as a system-atic discipline based on certain fundamentalconcepts clearly and naturally reflected bythe language. The second Is to developimplementations of this language which areboth reliable and efficient on presentlyavailable computers.

The desire for a new language for thepurpose of teaching programming is due tomy dissatisfaction with the presently usedmajor languages whose features and con-structs too often cannot be explained logi-cally and convincingly and which too oftendefy systematic reasoning. Along with thisdissatisfaction goes my conviction that thelanguage in which the student is taught toexpress his ideas profoundly influences hishabits of thought and invention, and thatthe disorder governing these languagesdirectly imposes itself into the program-ming style of the students.

There is of course plenty of reason to becautious with the introduction of yetanother programming language, and theobjection against teaching programmingin a language which is not widely used andaccepted has undoubtedly some justifi-cation, at least based on short term com-mercial reasoning. However, the choice of alanguage for teaching based on its wide-

spread acceptance and availability, togetherwith the fact that the language most widelytaught is thereafter going to be the onemost widely used, forms the safest recipe forstagnation in a subject of such profoundpedagogical influence. I consider it thereforewell worthwhile to make an effort to breakthis vicious circle. [Quoted from the secondedition of the PASCAL User Manual andReport, by Kathleen Jensen and NiklausWirth, Springer Verlag, New York, 1974,page 133.]

Since the time of PASCAL'S creation byProfessor Wirth, the language has becomewidespread, primarily because his tutorialpurposes also happen to coincide with whatone might want in a systems and appli-cations programming language used insoftware development. In fact acceptancehas been sufficiently widespread that therenow exist implementations for some of themore common microprocessors in thepersonal computing field (using the PASCALUser's Group Newsletter as a source forthis information in a listing of implemen-tations in issue #8 recently published). Whatare the ramifications of PASCAL as it mightaffect personal computing users?

At the present time, outside of low levelassemblers, the personal computing field isdominated by one language, BASIC. It is thehigh level language of choice for users of theequipment and for manufacturers who sellto the users of the equipment. Any at-tempted personal computing system designthese days must come up to the standardsof a reasonable BASIC (such as the Micro-soft BASIC used by MITS, OSI, Commodoreand others) or it will be at a relative dis-advantage in the marketplace. This domi-nance of BASIC as a language is a fact of lifein this field. A decade and a half of languagedesign evolution has occurred since BASICfirst came on the scene, yet it still dominatesat the user level. Why?

In a casual enumeration mode, I can listseveral fairly obvious and interrelatedreasons why this has become the case; outof these reasons will come a similar scenariofor development of PASCAL as a futureoption for personal computers.

• Everybody knows BASIC.

• BASIC has a manufacturer indepen-dent standard definition.

• Lots of implementations of BASIC areavailable.

• Much personal use applications soft-ware already exists in BASIC.

• BASIC is friendly.

6 BYTE December 1977

a

corporation

I

J

I

i

•

The most cost effective

products for your

microcomputer.

RM6464K bytes

THE EXTENSYS

RM64 MEMORY BOARD

provides the most costeffective system memoryfound in the industry.The RM64 provides this becauseof our low cost per byte when

compared to our competition plus the increased reliability of asingle board over multiple boards containing less memory. Theboard is S-100 bus compatible making it usable in over a dozendifferent microcomputer systems including ALTAI R and IMSAI.The RM64 is available in four configurations: 16K, 32K, 48K, or64K bytes of memory all on ONE board. The board is completelyassembled, checked out and burned in for over 100 hours priorto shipment. This complete testing procedure allows Extensysto provide a one year warranty on parts, labor and materials(assuming no misuse of the board occurs).On board hardware is provided for:

- Individual memory bank address selection in 8K byteincrements;

■ Complete dynamic refresh logic without loss of processingefficiency while programs are running;

■ Board select logic which allows more than one 64K byte boardper system;

- S-100 bus compatibility including on-board voltage regulator;

■ Memory overlap which allows memory sharing the same addressspace to coexist in the same system;

Write protection in 16Kblocks; and

Fully socketed for 64Kallowing 16K, 32K, and 48Kversions to be upgraded ata later date.

Delivery of the RM64 is 15 to 30 Days uponreceipt of order. Prices for the RM64 include shipping and handlingprepaid in the continental United States.

Extensys Corporation is also announcing several other new,highly cost effective products. The FOS100 Floppy Disk Systemis based upon the Extensys File I/O Board and incorporateseither one or two dual PerSci Model 277 floppy disk drives. TheFOS100 System also includes the Extensys MultiprocessorOperating System, EMOS. EMOS provided many large systemcapabilities, such as multi-processor, multi-user operation andindividual file privacy based on user supplied passwords. TheMM 16 Memory Manager interfaces to RM64 memory boards tocreate a megabyte or more of memory and adds full DMAcapability to the FOS100 Floppy Disk System.

Extensys Fully Assembled and Tested Prices

RM64-16RM 64-32RM64-48RM 64-6416K Upgrade

$ 595$ 895$1195$1495$ 375

FOS100-2FOS100-4

MM16

$2880$4680

$ 295

Circle 52 on inquiry card.

sxfensys

^^■■^corporation380 Bernardo AvenueMountain View, CA94040(415) 969-6100

Articles Policy

BYTI. Is continually seeking qualitymanuscripts written by individuals whoare applying personal computer systems,designing suth systems, or who haveknowledge which will prove useful toour readers. I or a more formal descrip-tion of procedures and requirements,potential authors should send a self-addressed, stamped envelope to BYTEAuthors' Guide, 70 Main St, Peter-borough NH 03458.

Articles which are accepted arepurchased with a rate ot up to $50 permagazine page, based on technicalquality and suitability for BYTE'sreadership. Each month, the authorsof the two leading articles In the readerpoll (BYTE's Ongoing Monitor Box or"BOMB") are presented with bonuschecks of $100 and $50. Unsolicitedmaterials should be accompanied by fullname and address, as well as returnpostage.*

At a superficial level, these reasons arepart of a self-sustaining loop of circularreasoning: Since BASIC is friendly, every-body wants to know BASIC; since so manypeople learn BASIC, there tend to be lotsof implementations. Much software forapplications has been written in BASIC.Since a manufacturer independent standardfor BASIC exists, conversion of programsfrom one machine to another is simplified,thus making widely available software usefulto people, and so on ... ad infinitum. . .This is Professor Wirth's "vicious circle."

Like many similar conventions, BASIChas been bootstrapped into the publicawareness over time, and has acquired acertain inertia of its own that will keep itgoing for years in the same way thatFORTRAN seems to live forever. Let'sexamine the reasons in this list, and in sodoing compare BASIC to PASCAL, a lang-uage which is quite possibly in an earlierstage of a similar bootstrap cycle and mayindeed become a much demanded "languageof choice" for the user community. Viciouscircles can have positive aspects: it alldepends on which circle one has established.A contention I make is that the same sortof "vicious circle" can be, and indeed isbeing established for the language PASCAL.

Everybody Knows BASIC.

BASIC historically was introduced at atime when "big" computers dominated thefield, and there was a need to partition theactivities of such computers into smallindividually oriented packages for purposesof making the "big" computer availableto many people. This partitioning succeededadmirably: when professor X (or Y or Z)wanted to make real exercises in program-ming available to students, BASIC wasfrequently employed, due to its availabilityand interactive simplicity. Like any tech-nology, BASIC did not start out in an"everybody knows" state, but it got thatway through its early availability and nosmall push from pedagogues of computerscience.

Today, the teachers of programming aretending to push PASCAL as the language ofchoice for teaching "good" programmingconcepts. The PASCAL User's Group isevidence of the number of academic peoplewho support the ideas of Professor Wirth tothe extent of implementing their own localPASCAL systems for educational purposes.(This is typically clone using a number oftechniques of machine independence con-ceived by early implcmentors of PASCALfor purposes of spreading its implemen-tations.) One result of this availability is that

PASCAL is becoming the tool of teachingprogramming concepts which ProfessorWirth envisioned . . . and the beginnings ofthe "everybody knows" state for PASCALare already evident.

BASIC Has a Manufacturer IndependentStandard Definition.

This comment is nominally true ofBASIC. Work is indeed in progress on anANSI standard for BASIC, and there isof course the original Dartmouth Collegedefinition of BASIC. The fact that peopleare trying to define a standard form ofBASIC, however, is a result of the factthat the implementations of BASIC havebeen somewhat subject to variations. Inthe personal computing world, there arenumerous differences at a detail levelbetween language extensions of variousBASIC interpreters, some as basic as thevariations in string and array handlingin various forms of minicomputer BASIC.

BASIC language implementors are nodifferent from implementors of a numberof languages, often succumbing to the"wouldn't it be neat if" syndrome andthrowing in features not part of the originaldefinitions of the language. The hitch withsuch featurism is that if anyone uses thefeatures, the programs written with thefeature may no longer be portable.

Of course PASCAL would be no moreimmune to featurism on the part of imple-mentors; at least that would be an obviouscontention since there is no fundamentaldifference between people who implementBASIC and people who implement PASCAL.But before making such a statement, anexamination for the motives of implemen-tation featurism should be made. BASICin its original definition is a very limitedand parochial language, one which representsa viewpoint of quick implementation ofprograms with limited 10 formatting,standard floating point operations, and nointent to service large or complicatedapplications. Thus, many of the "feature"temptations presented to BASIC imple-mentors are a result of attempts to correctthe deficiencies of BASIC by adding omitteditems (for example, strings, implementeddifferently in various BASIC interpreters).

PASCAL, on the other hand, by havinga definition which is more general in scopethan BASIC (although by no means compli-cated to use in simple problems) helps cutdown these "feature" temptations on thepart of its implementors. One basic exampleof this slightly more general definition isin PASCAL'S inclusion of extensible data

Continued on page 184

BYTE December 1977

MBS 2K/4K EPPOM BoardKit less EPROM * 64.95

Kit with 8-1702A (1 jjs] 104.95Kit with 16-1702A0 fis) 144.95

And, we build just

about any board you'll

want for S-100 bus expansion.

When you're thinking about expansionlook to the Solid State Music "blueboards:' You'll find quality and user versa-tility built into every one allowing you to ex-pand your system in whatever direction youchoose . . . and, we've been doing it for years.

Right from the start we design our boards with ourcustomers in mind. Extra features are added that willaid in expansion, not hinder program design and devel-opment. All first class parts are used and they're checkedto make sure you have years of trouble free operation. Plus,every kit comes complete with assembly instructions and userinformation to make assembly a snap and operation a pleasure.

Talk to your dealer today to get more facts about the "blue boards"

or write direct. Compare prices, quality and features. You'll find out

why more and more people are using Solid State Music "blue boards"

for their S-100 bus expansion.

104 2-Parallel and 2-SorialInpul/Output Board

Assembled boards also aal slightly higher prices

SPECIAL BONUS OFFERAn 8080 Monitor for1/2 price!!!

If you buy any of the Solid State Musickits or assembled boards you'll receivea SSM8080 Monitor complete with ei-ther eight 1702's or two 2708's and over50 pages of software information. A$49.95 retail value . . . just $25.00. Hurry!

CLjbercDm

Circle 106 on inquiry card.

Solid State Music2102A Walsh AvenueSanta Clara, CA 95050(408) 246-2707

We're the blue boards

DON'T KNOCKHOMEBREW

I just happened on Edgar Cohen'sletter titled "Homebrew" (August 1977,page 12). He feels as I do, that we asreaders should be looking at morehomebrew computer articles in BYTE.My motive for writing was spurred byyour follow-up comments.

We in amateur radio have been home-brewing it for years, even before com-mercial equipment was available. Andmuch of the present day homebrewingis for economic reasons. At age 13, Iwouldn't have had my own amateurradio station had it not been for homebuilt equipment, much of it comingfrom construction articles in publica-tions like BYTE. This same rule appliesto test equipment I've built (frequencycounter) and I think it applies to com-puters as well.

As a matter of fact, the only reasonI don't have a computer yet is becausepractically everything on the market isout of my price range. To top if off,there are very few good surplus buysavailable, another way we in amateurradio get by cheaply.

I think you are wrong about the timeinvested in homebrew equipment. I andmany other readers would gladly investthe time, if only the technology werethere to give us a shove in the rightdirection. Certainly, the parts aren't ex-pensive at all and much can be saved bywire wrapping instead of using ready togo printed circuit boards made up andsold by someone else.

Gary L Montgomery

WB3GBQ

Rockville MD

In reply, let me reiterate the fact thatI am a confirmed homebrewer, alwaystrying to get the best system by my ownviewpoints on the subject of design. Butperhaps the reason I don't view themethod as cost effective is the remem-brance of money spent to get one of thefirst Motorola 6800 chips ($360 for anXC6800 in early 1975) and similarpurchase of 4 K static memory chipsahead of later price reductions. I'vebuilt a system with close to 800 TTLand MOS integrated circuits in the mainprocessor modules, a system which,much to my homebrew surprise, worksquite reliably. So I can certainly attest tothe effectiveness of the approach. . .CH

ANOTHER VIEW OF TECHNOLOGY'SUSEFULNESS

I am writing to BYTE in response toprevious letters by Robert Garner (AskBYTE, May 1977) and Nelson Ingersoll(Letters, September 1977) about themoral future and purpose of the com-puter.

In response to Mr Garner's letter, thereal hazard that results from computersbeing "plugged into applications rightand left" arises not from intangible andpoorly defined moral abuses that mightresult from their introduction, but ratherfrom the standpoint of cost effective-ness. Computers are being considered forsuch purposes as maintaining home foodrecipe files and keeping track of foodinventory, where it is much simpler andcheaper to perform these tasks the old-fashioned way. I agree with Mr Garnerthat computers could be misused, buthe seems to promote the same generalhysteria that is currently plaguing thenew science of genetic engineering. True,along with every new technologicaldevelopment comes a host of possibi-lities of misuse, but surely these can beminimized so that we could reap themaximum benefits from it? Sanctimo-nious morality does nothing but helpthe public to concentrate solely on thedeficiencies of a technological develop-ment and destroy it before it has had achance to prove itself.

Mr Ingersoll's problem seems to liein the fact that he sees the computer asa device that will replace all of ourduties as human beings and turn us intononthinking, passive entities. I primarilysee the computer as a tool, as a devicethat will aid man and not replace him.The "automation of physical and mentaldrudgery" does not relieve man of anyresponsibility to be productive and tothink, but rather it frees him fromsimpler tasks (drudgery) in order to bethe most creative and achieve thegreatest self-satisfaction; man is onlyutilizing the feature that distinguisheshim from the rest of the animal king-dom; in this instance, a decided advan-tage. I argue that performing simple andthoughtless tasks Is drudgery. The "box"analogy is poor in that it presupposesit took no effort to design, build, andprogram the computer and robot tomake the box. What Mr Ingersoll over-looks is that to accomplish this the man

Continued on page 19

I IMH^^^M ^

limpak ^™™ZED

ajrr^jw.Kjj.iwi-w.w^i

ALABAMA

Mobile

Lafayette Radio Electronics

CALIFORNIA

Berkeley

Al Lasher Electronics

Monterey

Zackit

Palo Alto

Zack Electronics

Sacramento

The Radio Place

Sacramento

Zackit

San Carlos

J&H Outlet Store

San Francisco

Zack Electronics

■' Sunnyvale

Sunnyvale Electronics

Vallejo

Zackit

Walnut Creek

Byte Shop Computer Store

FLORIDA

Tampa

Microcomputer Systems

GEORGIA

Atlanta

Atlanta Computer Mart

HAWAII

! Aiea

Delcoms Hawaii

Honolulu

Integrated Circuit Supply

ILLINOIS

Evanston

Itty Bitty Machine Co.

INDIANA

East Chicago

Aero Electronics Corp.

Hammond

Quantum Computer Works

LOUISIANA

Baton Rouge

Davis Electronic Supply Co.

MARYLAND

Baltimore

Computer Workshop of Baltimore

Rockville

Computer Workshop

MASSACHUSETTS

Medford

Tufts Electronics

MICHIGAN

Lansing

Fulton Radio Supply Co.

MINNESOTA

Duluth

Northwest Radio of Duluth

Eagan

Dacom Amateur Radio Ctr.

MISSOURI

Parkville

Computer Workshop of Kansas City

MONTANA

Billings

Conley Radio Supply

NEBRASKA

Lincoln

Altair Computer Center

NEW JERSEY

Hoboken

Hoboken Computer Works

NEW YORK

Albany

Fort Orange Electronics

New York

Computer Mart of New York

New York

The Computer Store

Troy

Trojan Electronics

White Plains

The Computer Corner

OHIO

Cincinnati

Digital Design

OKLAHOMA

Oklahoma City

Bits, Bytes & Micros

OREGON

Beaverton

Altair Computer Center

PENNSYLVANIA

Murraysville

Computer Workshop of Pittsburgh

RHODE ISLAND

Cranston

Jabbour Electronics City

Pawtucket

Jabbour Electronics City

TENNESSEE

Memphis

Sere-Rose & Spencer Electronics

Oak Ridge

Computer Denn

TEXAS

Dallas

Computer Shops Inc.

Houston

Altair Computer Center

Houston

Interactive Computers

VIRGINIA

Alexandria

Computer Hardware Store

Springfield Computer Workshop of Nonhern Virginia

WASHINGTON

Bellevue

Altair Computer Center

Longview

Progress Electronics

WEST VIRGINIA

Morgantown

The Computer Comer

Morgantown

Electro Distributing Co.

CANADA

Alberta, Calgary

The Computer Shop

FOREIGN

France, Paris

Computer Boutique

yhiir Jimpaii mnAYi

JIM-PAK, 1021 HOWARD AVENUE,

SAN CARLOS, CALIFORNIA 94070

10

BYTE December 1977

Circle 67 on inquiry card.

ATTENTION DEALERS:

Announcing

electronic components

One-Stop Component Center

*0ver 200 quality items in-cluding integrated circuits,resistors, diodes, transis-tors, capacitors, connect-ors, switches, sockets,LEDs and Data Bookscovering all JIM-PAX®items.

* Immediate delivery on allorders

* Store display racks avail-able

* Stock rotation and returnpolicy

* Direct mail program avail-able from list of activeelectronic buyers in dealers'area.

* National advertising cam-paign in leading electronicsmagazines to include listof qualifying dealers

* Nationally known manu-facturers' products at pricesevery dealer can afford

* Guaranteed products

* Standard industry partnumbers

y .

im-pak

EEBBSSBEHComponent Center

A component line of provensellers developed for theindependent dealer. Ideal forcomputer shops, schoolstores, electronic dealers,hobby shops, or any locationwhere there is a potentialmarket for electronic sales.

A product line which sup-plies most of your needsfrom one distributor with areputation for fast andefficient service. Attractiveand compact display racksmake initial installation ofthe JIM-PAK® line easy.

Your customers deserve thebest. Now you can profitablyretail name brand compon-ents at competitive prices.Be the first in your area toannounce and sell the JIM-PAK® line. Write or calltoday.

© FOR MORE INFORMATION AND PRICING SCHEDULE CONTACT:

, a division of James Electronics, 1021 Howard Avenue, San Carlos, California 94070, (415) 592-8097

Circle 67 on inquiry card. u1* TE DecemWr 1977 11

The Computers of Star Trek

About the Authors

Kurt J Schmucker has been employed as a mathematician at the Depart-ment of Defense in Washington DC since 1974. He received an MS in mathe-matics in 1974 from Michigan State Univerisity, and an MS in computerscience from Johns Hopkins University in 1977. Mr Schmucker is also cur-rently an advanced special student in the computer science department of theUniversity of Maryland. He is a member of Phi Beta Kappa, the MathematicalAssociation of America, and the ACM.

Robert M Tarr has been employed as an electronics engineer at the Depart-ment of Defense in Washington DC since 1974. He received an MS in mater-ials science in 1972, an MS in electrical engineering in 1973, and an engineerdegree in electrical engineering in 1975, all from the University of SouthernCalifornia. He is currently pursuing a PhD in electrical engineering with acomputers major at the University of Maryland. Mr Tarr is a member of PhiBeta Kappa, Eta Kappa Nu, and the IEEE.

Introduction

The world of Star Trek represents manythings to many people. To the majority it isan escape into a time when man is onceagain challenged by the vastness of hisknown universe and can assume the nowlost role of the explorer of unknown ter-ritories with their inherent, but also un-known, dangers. To others it is the tale ofman's final triumph over his own inhuman-ity; a world where race (human, humanoidor other), color and background are notpoints of contention and disunity, but arerather different reference points fromwhich the society can grow together inpeace. In this case "infinite diversity ininfinite combinations" yields a whole whichis greater than the sum of its parts. To yetothers it is a time when science and themysteries of nature are more clearly under-stood, an understanding which brings fortha technology beyond one's wildestimagination.

12

BYTE December 1977

Whatever view one takes of the Star Trekphenomenon, one can ask how closely ourpresent culture approaches that ideal, be itin the area of science, human understanding,or man's view of himself in his world. Thisessay will try to measure one such gapbetween our own world and that of StarTrek: the state of computer technology.

Star Trek, with its fantastic starship theEnterprise, presents a level of computerscience and computer engineering predictedby many science fiction writers.1'2'3'4'5Problems like voice 10, automatic program-ming in a natural language and computeranalysis of complex, ill-defined problemsare handled routinely. How close is thepresent technology to solving these problems?How soon can the computers of the Enter-prise be constructed? Let us try to answerthese questions.

Very little, if any, technical informationis available on the Enterprise computers.Only vague, nontechnical statements areever made by the Captain or the ScienceOfficer.

"Deep in the heart of this ship are ourcomputer banks. They operate the entireship. They also contain the whole ofhuman and humanoid knowledge. Theyare indisputably reliable. Our lives dependon them. "6

"In a matter of a few seconds we canobtain an answer to any factual question,regardless of its complexity, "i

No references are ever made to its physicalconfiguration. Is it in fact one large centralprocessor with terminals and perhaps ter-minal concentrators scattered throughoutthe ship, or a number of smaller optimized-for-special-functions processors looselycoupled through a shipwide network? Theportions of the Star Fleet Technical Manualwhich recently have been made available toother than Star Fleet personnel do not in-clude the "Ship's Computers SystemsSchematics" section or the "Ship's Com-puters Maintenance Schematics" section.8

This essay will speculate on varioushypotheses supported by the user level in-formation available, and will attempt toshow the hardware and software possibilities.

The Role of the Enterprise

The world of Star Trek takes place in thelate 22nd or early 23rd century.9'10 In thatera the United Starship Enterprise is perhapsthe second largest scientific and technicalachievement resulting from the combinedtechnologies of a unified portion of theMilky Way.11 In the 22nd century a portionof the intelligent life forms of the galaxy

have bonded together to form a union calledthe United Federation of Planets. It is aunion more loose than the United States ofAmerica of the 19th, 20th and 21st cen-turies, yet stronger than the United Nationsof the 20th century.12 These planets occupya significant portion of the Milky Way calledthe Treaty Exploration Territory, roughlya sphere centered on Sol with a radius of4750 parsecs (approximately 15,500 lightyears). The Articles of the Federation werethe agreement which established this union.They authorized funds for the building of aStar Fleet to act as the armed, peace keepingforce of the Federation. The Fleet would bedesigned and built using state of the arttechniques.

Included in this Star Fleet appropriationwas an initial expenditure for 14 heavycruiser starships, one to be named theEnterprise. These starships would be capableof extended duration patrol of the TreatyExploration Territory and would be providedwith weaponry and other capabilities enablingthem to accomplish a myriad of possibletasks.

A starship on patrol represented theFederation in all matters within its occupiedquadrant of space. Its functions includedmilitary uses (defense of borders and moni-toring of intergalactic treaties with theKlingon and Romulan Empires, two other

"Computer, I want a complete rundown of all references to the design ofcomputer systems for Enterprise class ships in the first quarter century ofBYTE magazine."

"Yes, sir, but are you prepared for recursion?"

BYTE December 1977

13

Federation-sized planetary unions, policeactions (enforcement of Federation law,investigation of criminal actions), scientificmissions (new explorations, data gatheringassignments), diplomatic assignments, andmissions of mercy.

It may be of benefit to compare the star-ship Enterprise to its namesake of the 20thcentury, the United States aircraft carrierEnterprise, in order to get a grasp of thescope involved in the construction of sucha vessel. The USS Enterprise, launched in1960, was the largest warship of its time andrepresented state of the art technology. It isstill operational today and is powered byten nuclear reactors. The USS Enterprisecan sail on one set of reactor cores forabout ten to 13 years or roughly 300,000miles. It is provisioned every few weeks,however. The total cost of the constructionand outfitting was 451 million dollars. Inwartime, its complement is 5500 peopleconsisting of 162 officers and approxi-mately 29401 enlisted men plus 2400 airmenattached to an air wing.1 3

The starship Enterprise, on the otherhand, is powered by a controlled matter-antimatter reaction.14'15

The total cost of the Enterprise was 50billion credits.16 On patrol, its complementconsists entirely of 430 officers with 43command (lieutenant and above) and 387crew (ensign rank).17 Traveling at the speedof light (ie: Warp Factor 1, approximately1/200th of its flank speed) the Enterprisecan travel for 18 years (as measured by acalendar traveling aboard the Enterprise!)without refueling or taking on additionalprovisions.18

Computer Uses and Capabilities of theEnterprise

An enterprise as complex as a starshiprequires a vast amount of computer sup-port. Many of the routine tasks, such asmonitoring of life-support systems, foodsynthesis and turbolift control (a verticaland horizontal elevator used for intrashiptransportation) are automatically maintainedand controlled by the ship's computers.These are manually controlled only duringan emergency.

Even more demanding and less well-defined tasks are routinely delegated to theship's computers. The computers can activatethe ship's alert systems and initiate thedeflector shields (a set of very sophisticateddefensive force shields which block matterand selective energy transmission) uponanalysis from the ship's sensors. It appearsthat only a portion of the ship's vast amountof sensory data is routinely patched through

the computer, since it is often instructedto "tie in to all ship's sensors" and providethe command staff with an analysis ofunknown phenomena.1 9'20' ]

If most of the Enterprise computingpower resides in a central processing unit,this may point to a limitation in the com-puter's processing power. Perhaps if all datafrom all sensors were routinely processedthere would be insufficient computingpower to perform the remaining essentialfunctions. If, on the other hand, there is anetwork of processors, then it may be thatthe results of sensor input are not routinelypassed to the central complex.

Certain groups of sensors may be tiedto local processors which perform thenecessary functions, eg: activation of shields.The central processor complex does notroutinely have need for these results unlesscorrelation of the sensor data is required.

Computer control of the weapons sys-tems (phasers and photon torpedoes) is alsopossible through analysis of sensor input,but it is not as accurate as computer assistedhuman control coupled with visual contactwith the desired target.22 This, too, maypoint to either a lack of sufficient com-puting power for timely analysis, or a lack-of—appropriate decision algorithms for thistype of situafion.

Another major use of the computer,perhaps the one most apparent to the casualobserver, is information storage. The needfor an immense data base can be clearly seenwhen one considers the role a starship playsin its patrol area. A starship captain actsautonomously from Star Fleet Headquartersin almost all aspects of his command.23 Asfar as violations of Federation law are con-cerned, he is the judge and jury. In addition,the officers and crew often require instantaccess to the immense technical knowledgeof the Federation in order to cope with newphenomena encountered in their patrols.This requires the existence of an immenseinteractive data base on the Enterpriseitself. Because of the intergalactic distancesinvolved, there can be no link to the com-puters at Star Fleet Headquarters or onMemory Alpha. Subspace communica-tions require time for transmission, too(often on the order of days). ' 6

The vast amount of information stored inthis data base is best appreciated by relatingtwo incidents that happened on the Enter-prise. The first involved a small space cruisertraveling toward Ophiuchus VI without anidentification beacon. Upon pursuit, thecruiser entered an asteroid belt. After

Continued on page 172

14

BYTE December 1977

HORI

THE COMPLETE

TER

LookToThe North Star HORIZON Computer.

HORIZON™— a complete, high-performance microprocessorsystem with integrated floppy disk memory. HORIZON isattractive, professionally engineered, and ideal for business,educational and personal applications.

To begin programming in extended BASIC, merely add a CRTor hard-copy terminal. HORIZON-1 includes a Z80A processor,16K RAM, minifloppy™ disk and 12-slot S-100 motherboardwith serial terminal interface — all standard equipment.

WHAT ABOUT PERFORMANCE?

The Z80A processor operates at 4MHZ — double the power ofthe 8080. And our 16K RAM board lets the Z80A execute atfull speed. HORIZON can load or save a 10K byte disk programin less than 2 seconds. Each diskette can store 90K bytes.

AND SOFTWARE, TOO

HORIZON includes the North Star Disk Operating System andfull extended BASIC on diskette ready at power-on. Our BASIC,now in widespread use, has everything desired in a BASIC, in-cluding sequential and random disk files, formatted output, apowerful line editor, strings, machine language CALL and more.

EXPAND YOUR HORIZON

Also available—Hardware floating point board (FPB); addi-tional 16K memory boards with parity option. Add a seconddisk drive and you have HORIZON-2. Economical serial andparallel I/O ports may be installed on the motherboard. Manywidely available S-100 bus peripheral boards can be added toHORIZON.

QUALITY AT THE RIGHT PRICE

HORIZON processor board, RAM, FPB and MICRO DISK SYS-TEM can be bought separately for either Z80 or 8080 S-100 bussystems.

HORIZON-1 $1599 kit; $1899 assembled.

HORIZON-2 $1999 kit; $2349 assembled.

16K RAM-$399 kit; $459 assembled; Parity option $39 kit; $59assembled. FPB $259 kit; $359 assembled. Z80 board $199 kit;$259 assembled. Prices subject to change. HORIZON offeredin choice of wood or blue metal cover at no extra charge.

Write for free color catalogue or visit your local computer store.

North Star it Computers

2547 Ninth Street • Berkeley, California 94710 • (415) 549-0858

Circle 83 on inquiry card.

BYTE December 1977

15

Introducing Apple II.

i

msaj'mvt***'"!*-"

ii

Curie 4 on muu

The home computer that s readyto work, play and grow with you.

Clear the kitchen table. Bring in the colorT.V. Plug in your new Apple Ilf and connectany standard cassette recorder/player. Nowyou're ready for an evening of discovery inthe new world of personal computers.

Only Apple II makes it that easy. It's acomplete, ready to use computer—not a kit.At $1298, it includes features you won't findon other personal computers costing twice as

much.

Features such as video graphics in 15 colors.And a built-in memory capacity of 8K bytesROM and 4K bytes RAM -with room for lotsmore. But you don't even need to know aRAM from a ROM to use and enjoy Apple II.It's the first personal computer with a fastversion of BASIC—the English-like pro-gramming language—permanently built in.That means you can begin running yourApple II the first evening, entering your owninstructions and watching them work, even ifyou've had no previous computer experience.

The familiar typewriter-style keyboardmakes communication easy. And your pro-grams and data can be stored on (and re-trieved from) audio cassettes, using the built-in cassette interface, so you can swap withother Apple II users.This and other peri-pherals—optional equipment on most per-sonal computers, at hundreds of dollars extracost—are built into Apple II. And it'sdesigned to keep up with changing technol-ogy, to expand easily whenever you need it to.As an educational tool, Apple II is a soundinvestment. You can program it to tutor yourchildren in mostany subject, suchas spelling,

history or math. But the biggest benefit—nomatter how you use Apple II—is that you andyour family increase your familiarity with thecomputer itself. The more you experimentwith it, the more you discover about itspotential.

Start by playing PONG.Then invent yourown games using the input keyboard, gamepaddles and built-in speaker. As you experi-ment you'll acquire new programming skillswhich will open up new ways to use yourApple II. You'll learn to "paint" dazzling colordisplays using the unique color graphics com-mands in Apple BASIC, and write programsto create beautiful kaleidoscopic designs.As you master Apple BASIC, you'llbe able to organize, index andstore data on household fi-nances, income tax,recipes, and record col-lections. You can learn tochart your biorhythms,balance your checking ac-count, even control your homeenvironment. Apple II will go asfar as your imagination can take it.Best of all, Apple II is designed to growwith you. As your skill and experience withcomputing increase, you may want to addnew Apple peripherals. For example, a re-fined, more sophisticated BASIC language isbeing developed for advanced scientific and

mathematicalapplications.And in addi-tion to thebuilt-inaudio, video

and gameinterfaces,there'sroom foreight plug-inoptions such as a prototyping board for ex-perimenting with interfaces to other equip-ment; a serial board for connecting teletype,printer and other terminals; a parallel inter-face for communicating with a printer oranother computer; an EPROM board for stor-ing programs permanently; and a modemboard communications interface. A floppydisk interface with software and completeoperating systems will be available at the endof 1977. And there are many more options tocome, because Apple II was designed fromthe beginning to accommodate increasedpower and capability as yourrequirements change.

If you'd like to see for yourselfhow easy it is to use and enjoyApple II, visit your local dealer for ademonstration and a copy of our

Apple II™ is a completely self-containedcomputer system with BASIC in ROM,color graphics, ASCII keyboard, light-weight, efficient switching power supplyand molded case. It is supplied withBASIC in ROM, up to 48K bytes ofRAM, and with cassette tape, video andgame I/O interfaces built-in. Also in-cluded are two game paddles and ademonstration cassette.

SPECIFICATIONS

• Microprocessor: 6502 (1 MHz).

• Video Display: Memory mapped, 5

modes—all Software-selectable:

• Text—40 characters/line, 24 linesupper case.

• Color graphics—40h x 48v, 15 colors

• High-resolution graphics—280hx192v; black, white, violet, green(16K RAM minimum required)

• Both graphics modes can be selectedto include 4 lines of text at the bottomof the display area.

• Completely transparent memoryaccess. All color generation donedigitally.

• Memory: up to 48K bytes on-boardRAM (4K supplied)

• Uses either 4K or new 16K dynamicmemory chips

• Up to 12K ROM (8K supplied)

• Software

• Fast extended Integer BASIC inROM with color graphics commands

• Extensive monitor in ROM•I/O

• 1500 bps cassette interface

• 8-slot motherboard

• Apple game I/O connector

• ASCII keyboard pqrt_

• Speaker

• Compositevideooutput j

Apple II is also

available in board-only

form for the do-it-yourself hobbyist. Has

all of the features of the Apple II system,

but does not include case, keyboard,

power supply or game paddles. $798.

PONG is a trademark of Atari Inc.*Apple II plugs into any standard TV usingan inexpensive modulator (not supplied).

detailed brochure. Or write Apple ComputerInc., 20863 Stevens Creek Blvd..Cupertino,California 95014.

Circle 4 on inquiry card.

apple computer inc.

Order your Apple II now.

from any one of the following authorized dealers:

ALABAMA

Computerland3020 University Dr. B.W.Hunlsville 539-1200The Compulet Center303 B. Poplar PlaceBirmingham 942-8567

ALASKA

Team Electronics

Country Village Shopping Center

700 E. Benson Blvd.

Anchorage 276-2923

Team Electronics

404 E- Fireweed Lane

Anchorage 272-4823

Team Electronics

1698 Airpnrt Way

Fairbanks 456-4157

ARIZONA

Byte Shop

813 N. Scottsdale Road

Tempe 894-1193

CALIFORNIA

Computer Components

5848 Sepulveda Blvd.

Van Nuvs 786-7411

Computerland

11074 San Pablo Ave.

El Cerrito 233-5010

Computerland

22634 Foothill Blvd.

Hayward 538-80B0

Computerland

6840 La Cienega Blvd.

Inglewood 776-8080

Computerland

24001 Via Fabricante

Mission Vieio 770-0131

Cnmputerland

4233 Convoy Street

San Diego 660-9912

Computerland

117 Frement St.

San Francisco 546-1592

Compoterland

104 W. First Street

Tustin 544-0542

Byte Shop

6041 Greenback Lane

Citrus Heights 961-2983

Bvte Shop

2233 El Caraino Real

Palo Alto 327-B080

Byte Shop

496 S. Lake Ave.

Pasadena

Byte Shop

2626 Union Avenue

San Jose 377-4685

Byte Shop

1200 W. Hillsdale Blvd.

San Maten 341-4200

Byte Shop

3400 El Camino Real

Santa Clara 249-4221

Byte Shop

2989 N. Main Street

Walnut Creek 933-6252

A-VIDD Electronics

2210 Bellflower Road

Long Beach 598-0444

Computer Coontry

2232 Salt Air Drive

Santa Ana 832-9681

Compoter Playgronnd

6789 Westminster Avenue

Westminster 898-8330

Computer Store

1093 Mission St.

San Francisco 431-0640

Electric Braio

3038 N. Cedar Aye.

Fresno 227-8479

Raiobow Competing. Inc.

10723 White Oak

Granada Hills 360-2171

Strawberry Electronics

71 Glenn Way #9

Belmont 595-0231

COLORADO

Byte Shop

3464 S. Acoma St.

Englewood 761-6232

Team Electronics

3275 28th Street

Boulder 447-2368

Team Electronics

The Citadel

Colorado Springs 596-5566

Team Electronics

107 S. College

Fort Collins 484-7500

Team Electronics

Teller Arms Shopping Center

2401 Worth Avenue

Grand Junction 245-4455

Team Electronics

2045 Greeley Mall

Greeley 356-3800

COLORADO (continuedl

Team Electronics1450 Main StreetLongmont 772-7800

Team Electronics1022 Constitution RoadBelmont PlazaPoeblo 545-0703

FLORIDA

Byte Shop

1044 E. Oakland Park Blvd.

Ft. Lauderdale 561-2983

Byte Shop

7825 Bird Road

Miami 264-2963

GEORGIA

Data Mart, Inc.3001 It. Folton DriveAtlanta 233-0532

HAWAII

Real Share

190 S. King Street #890

Honolulu 536-1041

ILLINOIS

Team Electronics

Meadowdale Drive. Space 1A

Carpentersville 428-6474

Team Electronics

Northgate Mall Shopping Center

Decatur 877-2774

Team Electronics

Sandburg Mall

1150 W. Carl Sandburg Drive

Galesburg 344-1300

Team Electronics

Southpark Shopping Center

4200 16th Street

Moline 797-8261

Team Electronics

4700 Block-N. University Ave.

Peoria 692-2720

Team Electronics

1714 Fifth Avenue

Rock Island 786-9595

Team Electronics

321 01. Alpine Read

Rackfprd 399-2577

Team Electronics

Woodlield MallF-119

Schaumburg 882-5864

Team Electronics

2716 S. MacArthur Blvd.

Springfield 525-8637

Computerland

50 t. Rand Road

Arlington Heights 255-6488

Compoterland

9511 HI. Milwaukee Ave.

Niles 967-1714

Itty Bitty Machine Cumpany

1316 Chicago Avenue

Evanstnn 328-6800

INDIANA

The Data Domain2805 E. State Blvd.Fort Wayne 484-7611The Data Domain7027 Michigan RoadIndianapolis 251-3139

IOWA

Team Electronics202 Main StreetAmes 232-7705Team ElectronicsDuck Creek PlazaBettendorf 365-7013Team Electronics4444 First Avenue N.E.Lindale PlazaCedar Rapids 393-8956Team Electronics320 Kimberly RoadNorthpark Shopping CenterDavenport 386-2588Team Electronics2300 Kennedy RoadDubuque 583-9195Team ElectronicsRoom 120-Space 16The Mall

Iowa City 338-3681Team Electronics2015 E. Fnurth StreetSioux City 252-4507Team ElectronicsK-0 Stockyards Station2001 Leech AvenueSioux City 277-2019Team Electronics2750 University AvenueWaterloo 235-6507

KANSAS

Team Electronics215 W. Kaosas AvenueGarden City 276-2911Team Electronics14 S. Main StreetHutchinson 662-0632

KANSAS Icontinuedl

Team Electronics2319 Louisiana StreetLawrence 841-3775Team Electronics1132Westloop Shopping CenterManhattan 539-4636Team ElectronicsSpace 81-A Mid-State MallSalina 827-9361Team Electronics907 W. 27th Street TerraceTopeka 267-2200Team ElectronicsTowne East Square7700 E. KelloggWichita 685-8826Team Electronics791 N. West StreetWichita 942-1415Team Electronics"The Mall" on Harry StreetWichita 682-7559Barney & Associates425 N. BroadwayPittsburg 231-1970

KENTUCKY

Compoterland813 B Lyndon LaneLouisville 425-6308The Data Domain506H Euclid AvenueLexington 233-3346The Data Domain3028 Hunsinger LaneLouisville 466-5242

MARYLAND

Computerland

16065 Frederick Road

Rockville 948-7676

MASSACHUSETTS

The Computer Store, Inc.120 Cambridge StreetBurlington 272-8770

MICHIGAN

Team Electionics

Delta Plaza Shopping Center

Escanaba 786-3911

Team Electronics

M&M Plaza

Menominee 864-2213

MINNESOTA

Team Electronics

Ridgedale Mall

12503 Wayzata Blvd.

Minnetonka 544-7412

Team Electronics

204 Southdale Center

Edina 920-4817

Team Electronics

1248-50 Eden Prairie Center

Eden Prairie 941-8901

Team Electronics

207 Third Street

Bemidii 751-7880

Team Electronics

Kandi Mall South Hwy 71

Willmar 235-2120

Team Electronics

Crossroads Shopping Center

St. Cloud 263-6326

Team Electronics

Cedar Mall

Owatonna 451-7248

Team Electronics

Mesabi Mall

Hibbing 263-8200

Team Electronics

Thunderbird Mall

Virginia 741-5919

Team Electronics

Apache Plaza

Silver Lake Road

St. Anthony 789-4368

Team Electronics

1733 S. Robert Street

West St. Paul 451-1765

Team Electronics

2640 Hennepin Avenue S.

Minneapolis 377-9840

MINNESOTA Icootinuedl

Team Electronics

465 Rice Street

St. Paul 227-7223

Team Electronics

110 Sixth Avenue S.

St. Cloud 251-1335

Team Electronics

6413 Lvndale Avenoe S.

Mioneapplis 669-3268

Team Electronics

1311 Fourth St. S.E.

Minneapolis 378-1185

Team Electronics

Malllewoorl Plaza

3000 White Bear Avenoe

Maplewood 777-3737

Team Electronics

Madison East

Mankato 387-7937

Team Electronics

310 Grant Avenue

Eveleth 749-6140

Team Electronics

Hat Mar Mall

2100 N. Snelling Avenue

St. Paul 636-5147

Computer Depot

3515 W. 70th Street

Minneapolis 927-5601

MISSOURI

Team ElectrnnicsBiscavne fVlnll301 Stadium Blvd.Columbia 445-4496Electronic Components Intl.1306-B South Hwy 63Columbia 443-5225

MONTANA

Team Electronics613 Central AvenueGreat Falls 852-3281Team Electronics1206 W. KentMissoola 549-4119Computers Made Easy415 MorrowBozeman 586-3065

NEBRASKA

Team Electronics

148 Conestoga Mall

Highway 281 & 13th Street

Grand Island 381-0559

Team Electronics

2055 "0" Street

Lincoln 435-2959

Team Electronics

304 S. 72nd Street

Cedarnole Shopping Center

Omaha 397-1666

Team Electronics

Bel Air Plaza

12100 W. Center Road

Omaha 333-3100

Team Electronics

Sunset Plaza Shopping Center

Norfolk 379-1161

Team Electronics

The Mall

1000 S. Dewey

North Platte 534-4645

NEW HAMPSHIRE

Computermart170 Main StreetNashua 863-2386

NEW JERSEY

Cnmputerland

2 De Hart Street

Morristown 539-4077

Compotermart

501 Roote 27

Iselin 2B3-0600

NEW YORK

Computerland1612 Niagara Falls Blvd.Buffalo 836-6511Computerland225 Elmira RoadIthaca 277-4888Co-op Electronics9146 Main StreetClarence 634-2193

NORTH CAROLINA

Byte Shop

1213 Hillsborough St.

Raleigh 833-0210

NORTH DAKOTA

Team Electronics

2304 E. Broadway

Bismarck 223-4546

Team Electronics

West Acres Shopping Center

Fargo 282-4562

Team Electronics

1503 11th Avenue N.

Grand Forks 746-4474

Team Electronics

209 Uth Avenue S.W.

Minot 852-3281

Team Electronics

109 Main Street

Williston 572-7631

OHIO

The Data Dnmain1932 Brown StreetDayton 223-2348

OKLAHOMA

Team Electronics

1105 Elm Street

Stobbeman Village

Norman 329-3456

Team Electronics

Crossroads Mall

7000 Crossroads Space 2010

Oklahoma City 634-3357

Team Electronics

Penn Square Shopping Center

Penn Square

Oklahoma City 848-6573

Team Electronics

1134 Hall of Fame Avenue

Stillwater 377-2050

Team Electronics

5305 E. 41st

Southroads Mall

Tulsa 633-4575

Team Electronics

Wnodland Hills Mall

7021 Memorial

Tulsa 252-5751

Team Electronics

Surrey Hills

Yokon 373-1994

Bits, Bytes & Micros

1186 N. MacArthur Blvd.

Oklahoma City 947-5646

High Technnlogv

1020 W. Wilshire Blvd.

Oklahnma City 842-2021

OREGON

Team Electronics

1913 N.E. Third Street

Bend 389-8525

Team Electronics

1023 S.W. 1st

Canby 286-2539

Team Electronics

2230 Fairground Road N.E.

Salem 364-3278

SOUTH DAKOTA

Team Electronics

402 W. Sioox Avenue

Pierre 224-1881

Team Electronics

1101 Omaha Street

Rapid Citv 343-8363

Team Electronics

613 W. 41st Sheet

Sioux Falls 336-3730

Team Electrooics

41st Street & Western Avenue

Western Mall

Sioux Falls 339-1421

Team ElectronicsSioux Empire Mall4001 West 41st StreetSioux Falls 339-2237Team Electrooics223 Ninth Avenoe S.E.Watertown 686-4725

TEXAS

Byte Shop3211 FondrenHouston 977-0664Compoterland6439 WestheimerHouston 997-0909Computer Shops, Inc.13933 North CentralDallas 234-3412The Compoter Shop6812 Sao PedroSan Antonio 828-0553Computer Terminal2101 Myrtle St.El Paso 532-1777The KA Computer Store1200 Majesty DriveDallas

VIRGINIA

Home Compoter Center2927 Virginia Beach Blvd.Virginia Beach 486-1700Timbervilie ElectronicsP.O. Box 202Timbervilie 896-8926

WASHINGTON

Team Electronics423 W. YakimaYakima 453-0313

WISCONSIN

Team Electronics

3209 Rudolph Road

Eau Claire 834-0328

Team Electrcoics

3365 E. Clairmont Parkway

Eau Claire 834-1288

Team Electronics

3365 E. Washington Avenue

Madison 244-1339

Team Electronics

7512 W. Appleton Avenue

Milwaukee 461-7800

Team Electronics

3701 Durand Avenue

Elmwood Plaza Sboppiog Center

Racine 554-8505

Team Electionics

3347 Kohler Avenue

Memorial Mall, Space H-4

Sheboygan 458-8791

Team Electronics

5300 S. 76th

Southridge Center

Greendale 421-4300

Team Electronics

Sunrise Plaza

Highway 8 East

Rhinelander 369-3900

Team Electronics

1505 Losey Blvrl S.

Village Shopping Center

LaCrosse 788-2250

Team Electronics

2207 Grand Avenue

Wausau 842-3364

Team Electronics

3301-3500 S. 27th Street

Snuthgate Shopping Center

Milwaukee 672-7600

Team Electronics

2619 Milton Avenoe

Janesville 756-3150

Team Electionics

1801 Marshall Street

Manitowoc 664-3393

Team Electronics

7700 W Brownrleei Road

Northridge Center

Milwaukee 354-4860

Team Electrooics

396 Park Avenue

Oshkosh 233-7050

WYOMING

Team ElectrooicsHilltop Shopping Center207 S. MontanaCasper 235-6691

CANADA

Fotore Byte

2274 Rockland

Montreal. One. 731-4638

18

BYTE December 1977

If you would like to be an Apple dealer, call Gene Carter,Director of Dealer Marketing, 408-996-1010.

cippkz computer inc.

20863 Stevens Creek Boulevard, B3-CCupertino, California 95014(408) 996-1010

Circle 4 on inquiry card.

Circle 90 on inquiry card.

• Record and playback at 120,60 or 30 self-clocking bytes persecond (extended Kansas CityStandard)

• 1200, 600 or 300 baud dataterminal interface

• Dual cassette operation

• Compatible with SWTPC cas-sette software

• Optional kit permits programcontrol of cassettes

• Optional adaptor permits inter-facing with any computer

Upgrade your SWTPC 6800 system to 1200 baud withPerCom's CIS-30+dual-cassette/terminal interface

The CIS-30+ . . . four times as fast as SWTPC's AC-30 with the same dual-cassette capability . . .plus a 1200-baud data terminal interface ... in a SWTPCcolor-compatible package that's only 1/10 the size of the AC-30.

Dependable? The simplicity of Harold Mauch PerCom Data designs says morethan any well-chosen words. Simply put, for only $79.95* you get the fastest, mostdependable dual function interface you can buy for your SWTPC 6800.

See your nearest dealer or order direct from PerCom.

PerCom 'peripherals for persona/ computing'

PERCOM DATA COMPANY, INC.DEPT.B.318 BARNES •GARLAND, TX 75042

(214)276-1968

•Kit price. Assembled and tested:$99.95 + shipping. Tex. res. add5% tax. BAC & MC available.

Continued from page 10

must have been extremely proficient atbuilding boxes, for otherwise the pro-gramming would have been impossible.(Anyone who programs computerswould know this.) To illustrate my con-cept of the computer as a tool, I proposethat once the computer and robot havefreed the man from the drudgery ofmaking simple boxes, he can reallythink about what larger structure orscheme those boxes will be a part of.Following these guidelines will makethe computer a safe and useful toolthat benefits all society.

Mark Bizer

43 Morgan Cir

Amherst MA 01002

CONFIRMATION OF THE SR-51 A

PRINTER TRICK. . .AND SOME

GRAPEVINE JUICE

After reading Webb Simmons' letterin the September 1977 BYTE regardingthe use of his SR-5 I Tl calculator on thePC-100A printer, I decided to try thesame with my SR-51 A. Obviously thismodel functions on the PC-100A as wellas the SR-51 as shown by the printouttapes I have included with my letter. Thelonger tape is a line regression problemwhich I "made up" on the spur of the

moment in my haste to try out theSR-51A on the printer. Each 'x' value(1, 3, 5, 7, 9, 11, 13) and each 'y' value(2, 4, 6, 8, 10, 12, 14) is nolated at theedge of the tape and the number of datapoints entered (7) are also shown. Theshorter tape shows the printout of twoproblems I copied from the owner'smanual of the SR-51 A on pages 40 and42 respectively. The first is the conver-sion of polar coordinates (5,30°) torectangular coordinates while the secondis a conversion of spherical (5, 30°, 60°)to rectangular coordinates.

In addition to the SR-51A I alsoown the SR-50, SR-56 and the TlProgrammable 58 "Solidstate Software"and of course the PC100A printer. AsI am a newcomer to the hobby of homecalculator and computer systems I wouldappreciate hearing from other readerswho use these calculators I have men-tioned, in order to exchange ideas andinformation with them. I would like toknow especially if anyone who practiceschemistry or biochemistry as a hobby oras a student has any programs for thesesubjects that could be used or modifiedfor use on the Tl-5 8 or SR-56?

Finally, I have heard that Tl intendsto release a "programmer" for theTI-58/59 which will allow users torecord their own library modules andalso is planning on video monitors andXY plotters to add on to their pro-grammable calculators. Are these idle

SKsrt-fi jf<^

• « -A

CLR ALL

eir- V -—. 1"

1

4.

V

CLR ALL

c;

■j. ,,, t

c;

.-. n' .-.. .-.

1

y

'-.' L- ' '

v.

z. 5-x.^ ;<:;v

4. 330127019 -*,

<£

CLR

£

d

<

9

a

9,

Ko

O.

to.

'

1 1.ii.

c-owv. rt j.'^.'niKm

T« «CT, Co.n.0.

-

CLR ALL

13.13.14.

30. CIS

■3' c

CLR

, -~^\ -

1.

SLOPE

4.330127019 ST1

IN TCP

60. CIS3. 165063509

CLR

2. 165063509-"**. XIV

rur. r*t<~ X - 22

1. '45-X,

/"•«>*• t — 23.

CLR ALL

cut: »e<» >-33.

X '

t/w X ——G£.

CLR ALL

SKS"!* /Pz. (»»•»

rumors or do you know if there is anytruth to them?

William A Faria

74 Division St

New Bedford MA 02744

BYTE December 1977 19

NEED NEW PLAYER PIANOS?

Since you didn't mention it in theSeptember 1977 issue, let me be the firstto tell you about Superscope's latestentry:

It's called the Pianocorder (a Super-scope trademark), and it is an electronicplayer piano. Built around an 8080processor, it's scheduled to come in twoversions: a Vorsetzer, for grand pianosand such, and what seems to be a retrofitkit that can be put in an upright orspinet. This version is supposed to comeout around $1500 or so. The control isby means of a digital casette tape, whichcontrols which keys are down, and alsocontrols the dynamics (by controllingthe pulses into the solenoids). There aretwo things that are really exciting aboutthis: there's a record mode (casuallyinvite Van Cliburn over and have him tryout your new piano); and the device willcome with 100 cassettes, recorded fromMr Tuchinsky's collection. He's presi-dent of Superscope, and an avid fan ofplayer piano rolls from Welte; hiscollection includes most of the greatpianists from the turn of the century,who cut rolls for Mr Welte.

You can get more details from thesource by contacting Tony Blazina,manager, PTanocorder Division, Super-scope Inc, 20525 Nordhoff St, Chats-worth CA 91311. He says that basicdescriptive literature should be availablein a few weeks, and marketing early in1978. I first read about it in a recentissue of Electronics magazine.

A long list of possibilities come tomind. The output device is a piano.Given the data format, you could encodea score, make an arrangement for fourhands (why not eight?). You could takethe sheet music, encode it, fine tune thephrasing, pedalling, dynamics until youhad the perfect performance. Forlearning and teaching, you could encodethe right or left hand, or one part of aduet.

I hope we'll see an article coveringthese bases not too long from now.

Michael D Zorn

1833 S Peck Rd #4

Monrovia CA 91016

APL COMMENTS

I would like to offer a few commentson APL matters in your August andSeptember 1977 issues:

1. The readability of APL expressionsmight be brought out more clearlyby adding to your explanation(September BYTE, page 166) of mythought experiment (August BYTE,

PRIMER REMOVER

It was good to see so much attentionto APL in the August 1977 issue. Butyou goofed when you recommended theAPL Primer.

The APL Primer may be easy to read,but its author missed the boat on twokey attributes of APL. He neglectedAPL's treatment of arrays as wholes, andits treatment of programs as "user de-fined functions" that take arguments,return results, and behave just likeprimitives. The truth is, he didn't realizeat the time either how central those twotopics are, or how easy to introducethey'd prove to be.

Experience shows that they're nothard to get across. By shrinking fromforthright treatment of these funda-mental aspects of APL (and therebyfostering dreadful programming habits),the APL Primer does the newcomerto APL a great disservice.

You shouldn't recommend it. IBMshould withdraw it.

Paul Berry

I P Sharp Associates Inc

Ste 110, 299 California Av

Palo Alto CA 94306

PS: I know; I wrote it.

page 40) this sequence (box below).

2. There are many serious errors in theAPL references. For example, thereare five errors in those on page 65(August) alone. Perhaps you shouldconsider publishing a carefullychecked and annotated bibliographyfor APL.

3. In discussing APL, care should betaken to use appropriate terminolo-gy. For example, Mr Wimble's articleconfuses the important distinctionbetween operators and functions(already commented upon in MrAnthony's letter (August page 17))and uses the term arity for valence.Perhaps the best reference forterminology and fundamental con-cepts is one not yet mentionedin your articles: APL LanguageManual, available from IBM Corpas Form #GC26-3847.

Kenneth Iverson

163 Great Oak Ln

Pleasantville NY 10570

Mike Wimble concurs; the confusionover operators and functions is in partdue to changes and revisions to APL overthe years. We regret the bibliographicerrors, and will attempt to correct themin future APL articles. ■

iff

All candidates for primes to N.

(

iff) o . |

iff

A remainder table.

0 = (

iff )o . |

iff

Divisibility table. Column Ishows the divisors of I.

+ /(S)0 = (

iff ) o . |

iff

The number of divisors for each of iff .

2 = + /<S>0 = (

iff ) o . |

iff

A sieve showing which numbers haveexactly two divisors (the primes).

( 7--

+ /$() = ( \N)«

.I iff)/

Iff

Selection of the primes by the sieve.

Rated [G

Great LocationsComputerLand

Now Open:

3020 Omversity Drive N WHuntsville.AL 35805

11074 San Pablo AvenueEl Cernto. CA 94530

22634 Foothill BlvdHayward. CA 94542

6840 La Cienega BlvdInglewood, CA 90302

24001 Via Fabncante, *904Mission Vieia CA 92630

4233 Convoy StreetSan Diego. CA 92111

117 Fremont Street

San Francisco, CA 94105

El Cd Plaza

171 E Thousand Oaks BlvdThousand Oaks, CA 91360

104 W First StreetTustm, CA 92680

2475 Black Pock TurnpikeFairfield. CT 06430

Astro Shopping CenterKirkwood HighwayNewark, DE 19711

50 East Rand PoadArlington Heights. IL 60004

9511 No Milwaukee AvenueMiles, IL 60648

10935 S Cicero AvenueOak Lawn, IL 60453

813-B Lyndon LaneLouisville, kY 40222

16065 Frederick Poad (Pt 355)Rockville, MD 20855

419 AmherstNashua, NH 03060

2 De Hart StreetMornstown, NJ 07960

1612 Niagara Falls Blvd

Buffalo, NY 14150

225 Elmira PoadIthaca, NY 14850

1304 SOM Center PoadMayfield Heights, OH 44124

Shoal Creek Plaza3300 Anderson LaneAustin, TX 78757

6439 Westheimer Poad

Houston, TX 77057 (713)

52-58 Clarence StreetSydney, NSW AUSTRALIA

Opening Soon:

6743 Dublin BlvdDublin, CA 94566

42-42nd AvenueSan Mateo, CA 94403

2927 28th StreetKentwood, Ml 94508

Franchises Available:Computerland Corp.

1922 Republic AveSan Leandro, CA 94577(415) 895-9363

(205)539-1200(415)233-5010(415)538-8080(213) 776-80801714)770-01311714)560-9912(415)546-1592

(805)495-3554(714)544-0542(203) 374-2227

(302)738-9656(312)255-6488

(312)967-1714(312)422-8080(502)425-8308

(301)948-7676(603)889-5238(201)539-4077

(716)836-6511(607) 277-4888

(216)461-1200

(512)452-5701

977-0909/0910

29-3753

20

BYTE December 1977

Circle 30 on inquiry card.

Rated ICr

The Best Game in Town.

Welcome to ComputerLand.An incredible adventure intothe world of personalcomputers. A one-of-a-kindshopping experience.

Each ComputerLand storepresents everything you everwanted to know aboutcomputers. And then some.

Take our Game Room, forstarters. You'll find excitementfor the whole family in ourendless variety of challengingcomputer games. You can battle the Klingons in anout-of-this-world game of StarTrek. Create an elec-tronic work of art with a computer controlled TV. Testyour skill in a game of computerized hangman.

You can even plot your biorhythm.

But we're more than just fun and gamesEach ComputerLand store offers aknowledgeable and person-able staff of professionals

And if your system breaks down,our in-store service departmentwill get you back up andrunning.

Right now!

Great Selection.

Your first stop at ComputerLandmay well be your last stop.

ComputerLand offers the finestquality and

to serve you.Plus the greatest avail-able selection of micro components. Whether it's a dataprocessing system for your business or a computer controlledsprinkler system for your home, you'll find whatever you needat ComputerLand

Read on.

Genuine Service.

We want to supplyyou with the onesystem that's right.Rather than a com-plete system that isn't.Or a limited systemthat is.

That's why, at Com-puterLand, you dealwith real professionalswho are also realpeople. People whospeak your language... in addition to BASIC, COBOL or FORTRAN.

People, in short, who can offer both the novice andthe old hand the same expert guidance in selectingthe optimum system he or she needs.

Yet, assisting in the purchase is only the beginning ofComputerLand's service. If the kit you bought requires alittle more do-it-yourself than you yourself can do. weprovide assembly assistance.

If that complex program proves to be just that, we provideprogramming assistance,

Circle 30 on inquiry card.

largest selec-tion of all themajor brand names.Like Apple Computer,Cromemco. DEC, Diablo,Hazeltine, ICOM.IMSAI, LearSiegler,National Semiconductor, North Star, TexasInstruments, Vector Graphics and more.

Plus a complete inventory of tools, books and accessories.

What's more, at ComputerLand, we deal in product. Notpromises. Our inventory is on our own shelves. Rather than themanufacturer's. So you can take delivery on tomorrow's com-ponents today. _________________________

Which means,simply put, that atComputerLand, youget exactly whatyou want.

Exactly when youwant it.

Be Our Guest.

Begin with thegrand tour of ourexhibit areas. "Test-drive" any of ourindividual systems.

Then tell us your needs. We'll sit down and talk about the systemthat's right for you. It's as easy as that at ComputerLand.

The great computer store. RATED G.

Call or write forthe address of the ComputerLand store nearest you.

Franchise opportunities available.

ComputerLand

1922 Republic Avenue, San Leandro. CA 94577 (415) 895-9363

BYTE December 1977 21

Some people build personal computers ior the love o! building. Andthe systems they buy are usually more fun to build than to operate.

The Equinox System , on the other hand, is designed for people whobuild for the love of computing. When you put it together, it's really to-gether. Ready to work for, and with, you in the development of your ownprofessional, intellectual, business and even social interests.

The Equinox System ™ goes together easily with construction aidslike parts legends and solder masks. The Equinox System ™ fits togetherperfectly, and will continue to be a perfect fit with future hardware andsoftware. And it's all S-100 compatible, so you'll be able to work togetherwith the largest group of peripherals, software, suppliers and systemusers in personal computing.

Mainframes, interfacing, memory, software—The Equinox Systemhas it all together now.

Really together.

THE MAINFRAMES

The Equinox System offers an important choice in mainframes.

The Equinox 100 mainframe integrates the popular 8080A CPUinto a powerful front panel programming center. For users who preferanother CPU, however, we also offer the Equibox —a fully engineeredcabinet, power supply and S-100 busboard system ready for installationof your choice of CPU •

It would be difficult to forego the speed and convenience of theEquinox 100 front panel, however. It allows you to work in conciseoctal digits on a 12-key keyboard and digital LED display. It allows youto monitor and/or alter the contents of any CPU register or register pair,I/O device or memory location. And the Equinox 100 front panelwill perform these operations while fully halted, single-stepping, or Slow-Stepping rM at a programmable rate!

It is, quite simply, one of the most powerful, intelligent and wonder-fully convenient front panels in the world. And comparisons of TheEquinox System™ mainframes don't stop at the front panel.

Both Equinox 100 and Equibox compare directly to full-scaleand mini computers in reliability of operation. Both Equinox 100 andEquibox are equipped with massive 26-amp Constant Voltage (ferro-resonant) power supplies to protect your programs from in-home appli-

ance loads, system loads, and even area-wide line voltage drops aslow as 90 VAC.

And the exclusive Noiseguard system on our 20-slot busboardproduces signals that are "textbook clean," eliminating a major sourceof data errors and interfacing problems that plague most otherpersonal computer systems. Plus, there are dozens of other featuresto make your mainframemore convenient: carryinghandle and tilt-up stand, key-operated power switch forsystem security, spare powerregulators for your smallperipherals, and more.

It's no wonder that Equinoxmainframes have been acclaimed as a major advance in per-sonal computers. Equinox 100 or Equibox —each has thefeatures you want all together in one elegant package.

THE INTERFACING

a:

TOGENC

Interfacing your input/output devices to your mainframe canbe a frustrating, expensive and time-consuming process.

That's why The Equinox System offers all the interfacingyou're likely to need in one low-cost kit. _

The Equinox I/O Interface is a single board that plugs right into your Equinox 100 bus. Andyou're ready to plug in 3 audio cassette units with individual motion control, a Teletype* orRS-232 terminal, and any 8-bit parallel device. . . including graphics display, line printer orpaper tape reader.

The Equinox I/O Interface has 1K bytes of RAM and ROM on board, preprogrammed withpowerful Cassette Operating Executive (COPE) software. COPE handles dozens of interfacingand data handling tasks to increase the efficiencyof your software. Your programs can store andretrieve cassette data with a simple CALL COPEinstruction. Data is formatted, checked and trans-ferred in blocks up to 64K bytes with a single READor WRITE instruction. COPE can even bootstrapyour programs.

V II. Di'iember l<)77

jj«TM^ . ., ,,

,L

W!

All Equinox software is designed to make full use of COPE capabili-ties. So loading your Equinox software is as simple as selecting anaddress and pressing RUN. Cassette data storage has never beenmore convenient.

The Equinox I/O Interface is programmed for the highly-reliable300 baud Kansas City Standard for cassette data transfers. . .but can

be reprogrammed for fasterrates in the future. Your TTY/RS-232 channel also featuresuser-programmable rates upto 4800 baud. And you haveaccess to all COPE routines.

There is no more cost-effective way to handle yoursystem interfacing. And the Equinox I/O Interface is evenmore attractively priced when purchased with a completesystem.

THE MEMORY

You can get your Equinox System together with morelow-cost memory.

The Equinox System is the first system to offer theECONORAM III™ 8K X 8 memory board with the advancedSynchroFresh natural-timing refreshing system.

Configured as two individually addressable 4K blocks, the ECONORAM III comes as-sembled, tested and guaranteed to work perfectly in your Equinox System for one fullyear. It is also available as a lower-cost kit.

For tight budgets, the K-Ration 4K X 8 static memory kit is also available for your EquinoxSystem This high-efficiency design is one of the most widely used, lowest power and lowest

cost memories available for S-100 systems.

And the memory savings are even greaterwhen you purchase your Equinox Systemall together!

,TM

THE SOFTWARE

The Equinox System now includes two primary software packages:EQU/ATE for text-oriented programming, editing and assembly, andBASIC-EO language for number-oriented programming.

Both of these powerful programming languages have been greatlyenhanced by full integration with our COPE interfacing software.

EQU/ATE gives you the power of a fully programmable text language.Using EQU/ATE, you can create programs to edit copy, keep inventory,manipulate your files of addresses or recipes, and more.

EQU/ATE is also one of the most powerful editor/assemblers available.EQU/ATE writes, assembles and executes your programs. It is fullysymbolic, accepts global symbols and assembles programs larger thanavailable memory.

EQU/ATE is also an extraordinary text editor which works interactivelywith you to edit by character, string or line. It also offers full number edit-ing of memory contents in octal, hex or decimal.

Yet, EQU/ATE is extremely compact, occupying only 4K of memorywith 8K total memory required.

BASIC-EQ is a powerful, interactive, high-level programming lan-guage developed for math and science applications. Its primary use isin the manipulation of numbers, although it is capable of string orientedoperation. Our version, BASIC-EQ, occupies 5K of memory.

Both BASIC-EQ and EQU/ATE are supplied on cassette, ready toload themselves into your Equinox System . They are competitivelypriced. . .and are even more attractive when purchased together withyour Equinox System

GET IT TOGETHER!

For more information and ordering:

BY MAIL Send check or money order to Equinox

Division. Parasitic Engineering. P.O.

Box 6314. Albany. California 94706

800-648-5311. BankAmericard/Visa and

Master Charge accepted.

See The Equinox System ™ at your local

computer shop.

*A trademark of Teletype Corporation.

BY PHONE

IN PERSON

A Floppy Disk Tutorial

Ira Rampil

917 Engineering Research BldgUniversity of WisconsinMadison Wl 53706

What peripheral device most often definesthe home hacker's ultimate system? It is, ofcourse, the floppy disk. But what are thesedevices that seem to have the ability totransform the smallest microprocessor sys-tem into a full-fledged computer? How dothey work, and are they worth the cost? Islowly uncovered the answers to these ques-tions as I sought to upgrade my system byadding floppies.

Basically, the floppy disk is the littlecousin of IBM and other manufacturers'huge hard disk drives. As far as any com-puter is concerned, the floppy is a real diskdrive. The differences between it and (forexample) an IBM 3330 disk are mainlyspecifications of speed and storage capacity.Floppies, like other disks, are relatively fastrandom access memories. If the last threewords sound familiar, it should be no sur-prise. Semiconductor random access mem-ories store (if programmable) and read databy address, with a unit quantity of data(typically one bit) at each address. The dataat any address can be quickly and easilychanged without disturbing the contents ofany other address.

So it is with floppy disks except that theaccess times are now measured in centi-seconds instead of nanoseconds, and thequantity of data at each point is nowhundreds or thousands of bits instead of justone. Because the structure of disk storage issimilar to that of main memory, it is oftenused to store programs and data, especiallythose programs and data which are fre-quently referenced or modified. In fact,during the early age of electronic digitalcomputers, machines like the IBM 650actually used a rotating drum similar to adisk as its only memory, which fetched newinstructions for execution with each revolu-tion. It is widely believed that the Minute-man missile system still uses such a memory.

All of the other mass storage techniquesavailable to hackers, such as paper tape,audio, and even digital cassettes, are funda-mentally serial memories. That is, all or mostof the recorded data may have to be passedthrough in order to find a particular piece ofdata.

Table 1 compares several different massstorage techniques. As you can see, floppydisks fall between hard surface cartridge

Table 7: A comparison ofseveral different mass stor-age techniques.

Technique

IBM 2315Cartridge Disk

IBM 3740Floppy

DigitalCassette

AudioCassette

Units

Data Capacity

48.

3.0

6.0

0.84

Million bits(unformatted)

Average or TypicalAccess Time

.035

.45

20

120*

Seconds

(* = manually

controlled)

Data Transfer Rate

2500

250

10.

0.3

k bps

Price of CommercialPackage: Drive +Power + Control ler

$8000

$1500

$1000**

$100

**Note thatpersonal com-puting digitalcassettes can bemuch cheaperthan commercialdrives

System Cost perUnit Data Rate

.32

.6

10

33.3

cents per bps

System Cost perUnit Storage

.016

.05

.016

.012

cents per bitstored

Media Cost

$100

$8.

$4.

$4.

(unit quantityprices)

Storage Cost

1.7

2.2

0.55

3.9

cents/kilobyteof media

24

BYTE December 1977

Typetronic:your source for complete computer

management systems...now introduces New Jersey's most

complete computer store

The new Typetronic ComputerStore has all the professionalismand depth of the field-proven Type-tronic minicomputer managementsystems. In fact, the store is staffedby experienced professionals whohave devoted years to the success

■*.•«£*

of the Typetronic systems... power-ful tools for management in suchfields as retail chain stores andchemical distributor operations.

The Typetronic Computer Storeis New Jersey's most complete andcomprehensive store for hobby-ists, engineers, and businessusers. It offers awide range of

hardware and software packages,including microprocessor andNOVA* compatible minicomputersystems and peripherals...plusclassroom courses, expert assis-tance, and many other services.

Highlights include:• Hands-on demonstrations of

microprocessors and other

equipment.

A variety of microprocessor

assembly kits...IMSAI, Pro-cessor Technology, Motorola,

etc.

Formal classes on both software

and hardware topics.

Library of publications, product

literature, etc.

Use of the Typetronic computer

with micro-assembler.

"NOVA is a registered trademark of Data General Corp.

11 -**>r-^

typetronic

computjerstore

806 Route 17, Ramsey, N.J. 07446201-825-1300

If you are located in the N.J./N.Y./Pa. metropolitan area anddesire additional details, return this coupon:

( ) We are considering the automation of our companyoperations. Please have a systems representativecontact me.

( ) Please send me your brochure on the new TypetronicComputer Store.

Name

Title

CompanyStreet

Div.

■ City.

. State.

.Zip.

Circle 122 on inquiry card.

BYTE December 1977 25

__

PLASTIC ^- ~ ~~- -^

CARTRIDGE .. ■** ^.— ' -«,-_. \.

/ ~V X \

/ / INDEX HOLE °0&, / \ \

// \ -Af \ \

/ / ' j^ \ ° \ \1 i / /r ^v \ \ \

/ / TRACK 76 / ^^T ^^^^ ^ \ *

^-1 H SPINDLE 1 | 1 | |

i \ m hole ) i i

1 1 TRACK 00 \ \ \ / / 1 II

v \ \ ^

\ \

\ \ HEAD ACCESS

\ ■*. HOLE

<~*\

- /

/ /

/ /

> \

yy

DISKETTE—^ ^\ ~~-^ |

c-

\--~^'

^*^ ***»— —~~ *"~

' --*"

COLOR KEY:

4LED

1 MAGNETIC MEDIA CONCE

J BY PROTECTIVE WRAPPE

R

MAGNETIC MEDIA VISIBLE THRUHOLES IN PROTECTIVE WRAPPER

Figure 1: An X-ray view of a floppy disk. The floppy disk is encased in aprotective plastic cartridge 8 inches square. Dotted line circles illustratethe portion of the disk where data is stored. It is coated with an oxide layersimilar to that used on magnetic tape. The combination read and write headcontacts the oxide layer through the slot shown at the bottom of thecartridge.

disks and cassette systems in terms ofperformance and cost. (We're not even con-sidering the much more expensive 2311,2314 and 3330 type disk drives of thebig machines here.) Both floppies anddigital cassette systems provide high per-formance at medium cost. Audio cassettesprovide low performance at low cost. (Car-tridge disks are not likely to fall into thehands of a hacker; they are included forreference only.) The big tradeoff is speedversus price, of course. A floppy is very fastand more expensive, while the digital cas-sette is much slower but cheaper. The sameholds true for the media. Diskettes cost

more per kilobyte than do high qualityaudio cassettes like Memorex MRX-2 C30,when used for digital recording. If speed andrandom access are important, get a floppy. Iflow cost and vast amounts of storage areimportant, get digital cassettes. My ownsystem will eventually have a floppy disk foran operating system and a digital cassettetransport for archival storage.

Floppy disks were first developed at IBMlaboratories in the middle 60s. They werefirst used as a means of storing micro-program code for programmable peripheralcontrollers in the S/370 family, and wereeventually used to store the microcodeddiagnostics and emulator functions for the370 computers. Then, in the beginning of1973, IBM introduced the 3740 Data EntrySystem. Like a keypunch, except that data isrecorded on a floppy instead of cards, one3740 floppy disk holds the equivalent of3000 cards. IBM then predicted that floppieswould replace cards as the principle dataentry medium. This of course has yet tohappen completely, but is well under way.In the midst of all the commotion, someonediscovered that floppy disks make excellentmini and microcomputer peripherals, andthe floppy peripheral industry was born.Thus the 3740 is the device that started thefloppy industry.

As for the floppy disks (diskettes) them-selves, figure 1 provides a closeup view. AnIBM diskette looks for all the world like a 45rpm record in a plastic jacket. Actually, thediskette is defined to be a disk of heavyMylar based magnetic tape material. It is 7.8inches (19.8 cm) in diameter with a centerspindle hole 1.5 inches (3.81 cm) in diam-eter. The 0.01 inch (0.025 cm) index hole isused to synchronize data as the disk rotates.Data is stored on the surface of the disk inthe oxide coating, the same technique usedin magnetic tape storage. And like magnetictape, floppies are very susceptible to con-tamination by foreign particles (dirt, dust,fingerprints). Therefore, the diskette is en-closed in a thin semistiff low friction plasticjacket known as a cartridge. The standardcartridge has three openings in it to allowthe spindle, read and write head, and indexphotosensor to have access to the disk.

The inside surfaces of the cartridge havesoft, low friction liners. The liners wipe the

26

BYTE December 1977

<^

•

»

^

y*

ssn

\tt*N

B

uv

UP AND RUNNING

TDL EQUIPMENT USED BY NEW JERSEY PUBLIC TELEVISIONTO PROCESS NEW JERSEY GUBERNATORIAL PRIMARY ELECTION RETURNS

John Montagna, computer engineer (above left),lead this successful network team in generatingelection results speedily, efficiently and reliablyusing predominantly TDL hardware and soft-ware. Montagna created three programs to getthe job done. The text for a SWAPPER pro-gram was written and assembled using the TDLTEXT EDITOR and Z80 RELOCATING MACROASSEMBLER. The SWAPPER text and alldebugging was run through TDL's ZAPPLEMONITOR. The relocatable object code waspunched onto paper tape. A MAIN USERSprogram updated votes and controlled air dis-play. An ALTERNATE USERS program gothard copy out and votes in. The latter twoprograms were written in BASIC. Montagnamodified the ZAPPLE BASIC to permit time-sharing between the two USERS programs.

TDL's XITAN SYSTEMS have the capacity to dosimilar tasks for you. Write to us for XITANinformation and the name of your nearest TDLdealer.

Circle 117 on inquiry card.

Four screens were incorporated, two terminalsentered votes as they came in and were usedto call back votes to check accuracy. Mon-tagna called on the power and flexibilityoffered by TDL's ZPU board and three Z-16Memory boards.

Montagna's setup worked constantly for overfour hours updating and displaying state-wideand county-wide- results without flaw.

"I chose TDL because they have all the soft-ware to support their hardware, and it's good;it has the flexibility to do the job."

John Montagna

We salute John Montagna and NEW JERSEYPUBLIC BROADCASTING for spearheadingthe micro-computer revolution.

TECHNICAL

DESIGN

LABS

RESEARCH PARK BLDG. H 1101 STATE ROADPRINCETON, NEW JERSEY 08540 (609) 921-0321

BYTE December 1977

27

Figure 2a: A diagram ofa floppy disk showing atypical location of thewire protect (or file pro-tect) hole. When this holeis punched out, datacannot be erased from thedisk. The write protecthole serves the same pur-pose as the plastic tabson a magnetic tapecassette.

WRITE PROTECT HOLE

X

Figure 2b: A floppy diskwith a design modificationto allow "hard sectoring."32 0.10 inch (0.025 cm)holes are punched in thedisk in addition to theindex hole. These holes en-able the hardware todetect the exact rotationalposition of the disk bymeans of a photosensor.The need for space wast-ing address fields is elim-inated with one hole persector, and the number ofdata sectors can betypically increased from26 to 32 per track.

INDEX HOLE

32 0.1 in. SECTOR HOLES

disk clean and eliminate static charge whilereducing the necessary spindle torque. Toprotect the disk even further when thediskette is not in use, it is kept in acardboard sleeve, in the same manner that anLP record is kept in its album cover. Theindustry standard (IBM 3740) specificationsfor diskettes is fairly rigorous and widelyaccepted, although a number of variationshave lately appeared on the scene. Two ofthese are shown in figure 2.

The write protect hole is a small plasticknockout in the cartridge which serves thesame purpose as the small knockout tabs in atape cassette. A sensor detects whether theknockouts have been removed or not, and ifso, disables the write electronics. Anothervariation is the presence of many smallsector indexing holes punched in the disk.The advantage of this so-called hard sector-ing process is a higher data capacity pertrack. This will be discussed in more detaillater.

A third, relatively recent, innovation inthe manufacture of diskettes is to coat bothsides of the Mylar backing with magnetic

oxide and to put an additional head accessslot on the opposite side of the cartridge,giving a two-sided floppy disk (see photo2 and figure 6). Some manufacturers havegone so far as to develop a drive mechanismwhich simultaneously accesses both sides atonce. IBM, Information Terminals, BASFand Wabash are some of the companieswhich sell floppy disks. The price of disk-ettes varies from $12 to $7 each in boxes often to about $4 to $5 each in largequantities.

Drive Hardware

There is a commonly drawn analogy be-tween a disk drive and a phonograph. Bothare mass storage devices in which the data isstored on a platter-shaped medium. Theplatter is seated on a spindle around which itrevolves while the data pickup (needle ormagnetic head) moves radially across thedata. In the case of a phonograph record, themusic, or data if you will, is recorded onspiral grooves or tracks which are cut intothe record. To access a particular song, thetone arm is moved radially over the recordand placed down in the starting groove ofthe song. In contrast, the data on a com-puter disk is stored in discrete concentriccircles, not one continuous spiral. The con-centric circles are called tracks and areaccessed by a magnetic head which isbumped mechanically from track to trackunder computer control. Data is stored bymeans of saturated magnetic recording at amaximum density of 3200 bits per inch (onthe innermost track), and 48 tracks perradial inch.

Most floppy drives on the market todayuse either a synchronous AC or servo-controlled DC motor to drive the spindle atexactly 360 rpm. Speed control is veryimportant to insure data reliability. Thespindle motor runs continuously whether ornot a diskette is loaded.

When a diskette is loaded into a drive, itis inserted into a narrow slot and thecartridge is held in place between a springand a small metal protrusion. The door overthe slot is then closed, clamping the disketteto the rotating spindle. At the same time, inmost drives, the read and write head isengaged.

The type of read and write head used isone of the important differences betweenhard disks and floppies. Hard disks use asystem known as flying heads in which theread and write heads are aerodynamicallyfloated off the surface of the disk. They areheld a very small and precisely controlled

Continued on page 35

28

BYTE December 1977

WAN

Circle 108 on inquiry card.

BYTE December 1977 29

Ohio Scientific advancesthe state-of-the-artof smell computers.

From our inexpensive 8K BASIC in ROM Challenger IIP to our powerful triple processorChallenger III, Ohio Scientific offers a full range of products that are technologicallysuperior to anything available on the market today.

Challenger IIP

Challenger n

sM*^-

"""*s-«i-^

Challenger IIfrom Ohio Scien-tific is a diskbased computercapable of stor-ing up to 500,000bytes of informa-tion on an OhioScientific dualdrive floppy disk.

Challenger IIP from Ohio Scientific is our uniquepersonal computer with BASIC in ROM and 4K RAMfor programs in BASIC.

Complete with audio cassette interface and a fullcomputer keyboard, Challenger IIP can be connectedto a home TV via an RF converter and it's ready to go.

Challenger IIP comes fully assembled and testedfor only $598.00.

Challenger II comes with 16K of RAM (the diskBASIC is automatically loaded into the computer sothere is no need for ROM's) and our powerful DiskOperating System (DOS) which allows the computerto perform big computer functions like random ac-cess, sequential and index sequential files in BASIC,and I/O distributors which support multiple terminalsand industry standard line printers.

And best of all a 16K Challenger II with serial inter-face, single drive floppy disk, (250,000 bytes) BASICand DOS costs only $1,964.00 fully assembled.

Challenger III

Challenger III from Ohio Scientific is the revolutionary, new triple processorcomputer that allows you to run programs written for the 6502A, 6800 and Z-80processors.

Incredible as this is, a disk based Challenger III costs

only about 10% more than conventional single processor

microcomputers. A 32K Challenger III with a

serial interface and a dual drive floppy disk

assembled and tested costs $3,481.00.

11679 Hayden • Hiram, Ohio 44234

For more information send for ourFree, short form catalog, or send $1 forour 64 pg. Small Computing Buyers Guide.

30 BYTE December 1977

Meet Challenger IIPfrom Ohio Scientific.

Unlike any other personal computer available today

Complete with BASIC in ROM and 4K RAM,Challenger IIP is the ideal computer for programsin BASIC.

BASIC is there the instant you turn the computeron with a full 32 x 64 character video display.Challenger IIP also comes with an Audio CassetteInterface for program storage. The user simply con-nects a Video Monitor or a TV via an RF Converter(not supplied) and the machine is ready to use.

Challenger IIP is ideal for both the home userwho is new to computing or the experienced userwho wants expansion capabilities. Challenger IIPcomes with a four slot backplane and is expandablevia the full Ohio Scientific product line, which in-cludes 15 system boards offered in over 40 differentversions.

Ohio Scientific has always maintained upward

expandability from old models to new models,which is nice to know considering the rate at whichtechnology is constantly improving. For example,Ohio Scientific's original 400 series products canbe plugged right into the new Challenger IIP. AndOhio Scientific has 2 years of experience in build-ing personal computers, so we're not new to thisbusiness unlike some of our competitors.

Complete with a full computer keyboard Chal-lenger IIP comes fully assembled for $598 fromOhio Scientific.

Check the chart below and compare ChallengerIIP with other BASIC in ROM computers. Unlikeother personal computers, Challenger IIP has amuch greater capacity for expansion and the capa-bility to perform big computer functions with all ofits big computer features.

Ohio Scientific

Other BASIC in ROM

Processor

Challenger IIP

Computers

6502A

6502 or Z-80

Clock

1 or 2 MHz

slower

Display (Lines/Characters)

32/64

25/40 or 16/64

Keyboard

Full Computer

4 Function

(Capacitive Contact)

Calculator Type or Full Computer(Mechanical Contact)

Display Characters

256

128 or 64

Lower Case

Yes

No

Plotting

Yes

Yes

Audio Cassette Interface

Yes

Yes

BASIC

8K By Microsoft

some have only 4K BASIC

String Functions PEEK, POKE, User

Yes

Not Always

Machine Language Accessible

Yes

Not Always

Optional Assembler/Editor

Yes

No

Disk Option Available Now

Yes

No

In Case Memory Expansion Ability

36K

Less

Expansion Boards Available Now

15

None

BYTE December 1977 31

Introducing three boards onlyOhio Scientific could build.

Ohio Scientific provides 15 system boards offered in over 40 different versions for Ohio Scientific Com-puter users. All of the boards are compatible with Ohio Scientific systems and many of them are by fartechnologically superior to any other microcomputer products on the market. And Ohio Scientific has thetechnology that made them possible.

500 CPU Board

This board gives you our ultra-fast 8K BASIC in ROMwith plenty of user workspace (4K RAM) for as little as$298.00. Use it as a standalone or as the CPU in a largesystem. BASIC is there the instant you turn it on. Andin the October issue of Kilobaud Magazine, our versionof 8K BASIC came out the winner in a BASIC timingcomparison test of all of our competitors. The 500 is thefastest around!

510 Systems CPU Board

This is our unbelievable triple processor board! Com-plete with the 6502A, 6800, and Z-80 processors, thisboard allows you to run virtually all programs publishedfor small computers. Available in the Challenger III, the510 board is ideal for industrial development and re-search applications. There isn't another triple proces-sor board like the 510 anywhere, except at OhioScientific!

560Z CPU Expander Board

The 560Z board is our multiprocessing board with aZ-80 and 6100 chip. This board allows you to runseveral processors simultaneously and the 6100 chiplets you run powerful PDP8 software with the 560Z. The560Z board is the only multiprocessing board availablefor small computers, and Ohio Scientific makes it!

These three state-of-the-art CPUs are only a small part of the picture. Ohio Scientific's advanced tech-nology offers you other unique features such as Multiport Memories, Distributed Processing, Big Disks withup to 300 megabytes on line, and Advanced Software.

11679 Hayden • Hiram, Ohio 44234

32

3YTE December 1977

Announcing the mostadvanced diskanywhere for s6,000

The 74 megabyte diskfrom Ohio Scientific

C-D74 from OhioScientific is the ultimatestorage device for smallcomputers.

TheC-D74 is the firstWinchester technology diskfor small computers makingbig system technology af-fordable and reliable for thesmall system not undermaintenance contract.

The disk uses a non-re-movable sealed chamberdrive with a unique rotarypositioner to provide thehighest performance diskavailable today.

The Ohio ScientificC-D74can store all therecords of a medium sizecompany for instant access.And the Winchester tech-nology of the C-D74 meansthat the drive can run 24hours a day without worryof disk wear.

There are other importantC-D74 applications in businesscomputing and research in computingitself. The disk makes small computerspractical for much larger jobs thanformerly thought feasible, particularly since most business computing isdisk bound and not computer bound.

C-D74 provides an unbelievable 35 millisecond average access timeto any of 74 million bytes of information. With a 10 millisecond singletrack seek, the drive has an incredible data transfer rate of 7.3 megabitsper second.

Recommended minimum hardware for the C-D74 is a Challengerwith 32K RAM and at least 8K on a Dual Port 525 board, and a singleor dual-drive floppy disk.

The drive , cable, interface for an Ohio Scientific Challenger andOS-74 operating'system software is $6,000 FOB Hiram, OH.Equipment rack shown not included.

OHIO SCIENTIFICDEALERS

Abacuz Stores Limited55 Erb St. EastWaterloo. OntarioCanada N2C 3E0(519) 885-1211American Microprocessors

Equipment S Supply Corp.20 N. Milwaukee Ave.Prarieview, IL 60069(312) 634-0076Century 23

4566 Spring Mountain Rd.Las Vegas, NV 89102Computer Mart of New York118 Madison Ave.New York. NY 10010(212) 686-7923Computer PowerP.O. Box 28193San Diego, CA 92128(712) 746-0064Delaware Microsystems92 E. Main St. #1Newark, DE 19711(302) 738-3700Desert DataMicrocomputer SalesP.O. Box 1334Tucson, AZ 85702(602) 623-6502The Homa Computer Co.P.O. Box 1891University StationCharlottesville. VA 22903(804) 295-1975MlcrocompP.O. Box 1221Fond-Du-Lac, Wl 54935(414) 921-4669Microcomputer Workshop234 Tennyson Terr.Williamsville, NY 14221(716) 634-6844Omaha Computer Stare4540 S. 84th St.Omaha, NE 68127(402) 592-3590

REPRESENTATIVES

Abacuz Data

P.O. Box 276

Oil City. PA 16301

Associates Consultents

33 Ogden Ave.

East Williston, NY 11596

(516) 746-1079

BRAG Microcomputers

19 Cambridge St.

Rochester, NY 14607

(716)442-5861

Computer Business

P.O. Box 171

LaPorte, IN 46350

(219) 362-5812

Johnson Computer

P.O. Box 523

Medina, OH 44256

(216) 725-4560

Omega Computing, Ltd.

Box 220, Station P

Toronto, Ont. M5S 2S7

(416) 424-2174

Pan Atlantic Computer Systems, GmbH

61 Darmstadt

Frankfurterstrasse 78

West Germany

(08102) 3206

Science Education Extension

11516 LeHavre Dr.

Potomac, MD 20854

(301) 299-9506

Spectrum Technology Services

P.O. Box 942

Palos Verdes Estates, CA 90274

Tek-Aids, Inc.

1513 Crain St.

Evanston, IL 60202

(312) 328-0110

Secom Systems

541-1 New Peach Tree Rd.Chamhlee, GA 30341(404) 934-3272Yingco, Inc.2 World Trade Cntr.Penthouse 107th FloorNew York, NY 10048(212) 775-1184

The state of the art in small computers.

To order direct call 1-216-569-3241

Take aneven BIGGER

Byte

i

Fully assembled DEC

Writer II Keyboard

Printing Terminal at the

sensational low price

of only $1495!

with the Heathkit H1116-Bit Personal Computing System

Based on the world-famous DECLSI-11, the Heathkit H11 and it'speripherals are designed to give youall the power and speed you need fortotal computing versatility. It's one ofthe few FULL 16-bit personal com-puters available to hobbyists today,and equivalent commercial versionswould cost literally thousands of dol-lars more! As with the H8 system,complete "program-ready" softwareis supplied: the Heath/DEC PDP-11software includes ED-11 editor;PAL-11S relocatable assembler;LINK-11S link editor; AbsoluteLoader; ODT-11X debug; IOX LP I/Oexecutive program; DUMP-AB-POand DUMP-AB-PB; plus BASIC andFOCAL; and it executes the PDP-11 /

40 instruction set! The software issupplied in easy-to-use paper tapeformat, perfect for the H10 paper tapereader/punch. And with Heath'scomplete assembly manuals andsoftware documentation, you havethe most solidly supported computersystem you'll find anywhere. Sinkyour teeth into it today!

H11 LSI-11 16-Bit Computer $1295

H11-1 4K Memory 275

H11-2 Parallel Interface 95

H11-5 Serial Interface 95

H10 Paper Tape/Reader/Punch . .350H36 LA36 DEC Writer II 1495

If purchased separately,

Heath System Price

*360500

S33500C

Prices are mail order net F.O.B., Benton Harbor, Michigan.Prices and specifications subject to change without notice.

Heathkit Catalog

Read about computers and nearly400 other easy-to-build kits.

Schlumberger

Heath Company, 334-360Benton Harbor, Ml 49022

Please send me my FREE Heathkit Catalog.I am not on your mailing list.

Name-

Address-City

CP-133-1

_State_Zip-

Use coupon for

mail-order

catalog or bring

to store for

retail catalog.

34

BYTE Decemher 1977

AVAILABLE LOCALLYVisit the Heathkit Electronic Centernearest you (Units of SchlumbergerProducts Corporation) and see ourComplete Computer LineParts and service available. All kits dis-played, and sold at slightly higher prices.ARIZONA - Phoenix, 85017

2727 W. Indian School Rd. 602-279-6247CALIFORNIA

Anaheim, 92805

330 E. Ball Rd. 714-776-9420

El Cerrito, 94530

6000 Potrero Ave. 415-236-8870

Los Angeles, 90007

2309 S. Flower St. 213-749-0261

Pomona, 91767

1655 Orange Grove Ave. N. 714-623-3543

Redwood City, 94063

2001 Middlefield Rd. 415-365-8155

Sacramento, 95625

1860 Fulton Ave. 916-486-1575

San Diego (La Mesa, 92041)

8363 Center Dr. 714-461-0110

Woodland Hills, 91364

22504 Ventura Blvd. 213-883-0531COLORADO - Denver, 80212

5940 W. 38th Ave. 303-422-3408CONNECTICUT- Hartford (Avon, 06001)

395 W. Main St. (Rte. 44) 203-678-0323FLORIDA

Miami (Hialeah, 33012)

4705 W. 16th Ave. 305-823-2280

Tampa, 33614

4019 West Hillsborough Ave. 813-886-2541GEORGIA-Atlanta, 30342

5285 Roswell Rd. 404-252-4341ILLINOIS

Chicago, 60645

3462-66 W. Devon Ave. 312-583-3920

Chicago (Downers Grove, 60515)

224 Ogden Ave. 312-852-1304INDIANA - Indianapolis, 46220

2112 E. 62nd St. 317-257-4321KANSAS - Kansas City (Mission, 66202)

5960 Lamar Ave. 913-362-4486KENTUCKY - Louisville, 40243

12401 Shelbyville Rd. 502-245-7811LOUISIANA-New Orleans (Kenner, 70062)

1900 Veterans Memorial Hwy. 504-722-6321MARYLAND

Baltimore, 21234

1713 E. Joppa Rd. 301-661-4446

Rockville, 20B52

5542 Nicholson Lane 301-881-5420MASSACHUSETTS

Boston (Peabody, 01960)

242 Andover St. 617-531-9330

Boston (Wellesley, 02181)

165 Worcester Ave.

(Rt. 9 just west of Rt. 128) 617-237-1510MICHIGAN

Detroit, 48219

18645 W. Eight Mile Rd. 313-535-6480

E. Detroit, 48021

18149 E. Eight Mile Rd. 313-772-0416MINNESOTA— Minneapolis (Hopkins, 55343)

101 Shady Oak Rd. 612-938-6371MISSOURI - St. Louis (Bridgeton) 63044

3794 McKelvey Rd. 314-291-1850NEBRASKA-Omaha, 68134

9207 Maple St. 402-391-2071NEW JERSEY

Fair Lawn, 07410

35-07 Broadway (Rte. 4) 201-791-6935

Ocean, 07712

1013 State Hwy. 35 201-775-1231NEW YORK

Buffalo (Amherst, 14226)

3476 Sheridan Dr. 716-835-3090

Jericho, Long Island, 11753

15 Jericho Turnpike 516-334-8181

Rochester, 14623

937 Jefferson Rd. 716-244-5470

While Plains

(North White Plains, 10603)

7 Reservoir Rd. 914-761-7690OHIO

Cincinnati (Woodlawn, 45215)

10133 Springfield Pike 513-771-8850

Cleveland, 44129

5444 Pearl Rd. 216-886-2590

Columbus, 43229

2500 Morse Rd. 614-475-7200

Toledo, 43615

48 So. Byrne Rd. 419-537-1887PENNSYLVANIA

Philadelphia, 19149

6318 Roosevelt Blvd. 215-288-0180

Frazer (Chester Co.) 19355

630 Lancaster Pike (Rt. 30) 215-647-5555

Pittsburgh, 15235

3482 Wm. Penn Hwy. 412-824-3564RHODE ISLAND

Providence (Warwick, 02886)

558 Greenwich Ave. 401-738-5150TEXAS

Dallas, 75201

2715 Ross Ave. 214-826-4053

Houston, 77027

3705 Westheimer 713-623-2090VIRGINIA

Alexandria, 22303

6201 Richmond Hwy. 703-765-5515

Norfolk (Virginia Beach, 23455)

1055 Independence Blvd. 804-460-0997WASHINGTON -Seattle, 98121

2221 Third Ave. 206-682-2172WISCONSIN - Milwaukee, 53216

5215 W. Fond du Lac 414-873-8250OPENING THIS FALL: San Jose, California

Circle 58 on inquiry card.

Continued from page 28

SOLENOID

PRESSURE PADLOAD SPRING

CARTRIDGEDISKETTE

SPINDLE

READ ANDWRITE HEAD

'LEAD SCREW

HEAD POSITION MOTOR

Figure 3: Diagrammatic representation of a floppy disk drive system. The read and write head and the pressure pad are mountedon the head carriage, which can be moved radially (see arrow A) to any given data track by means of the motor controlled leadscrew. The bail Is solenoid actuated (see arrow B) and is used to lift the pressure pad away from the disk during insertion andremoval. The floppy disk remains in its protective plastic cartridge at all times; the head makes contact with the oxide surfacethrough an access slot (see figure 1). The spindle rotates the floppy disk at 360 rpm during use.

distance away from the magnetic surface inthe relative wind created by the rapidlyspinning disk. Flying heads are very difficultto build and maintain, and therefore quiteexpensive. The advantage of flying heads isthat they cause no wear on the disk surface(unless they "crash," of course) and there-fore permit very high rotational speeds anddata rate.

Floppies, on the other hand, use a con-tact head. Contact heads are much simpler,mechanically speaking. They are pressedonto the floppy in much the same way as atape head is pressed into magnetic tape.Thus in the terminology of flying heads,floppy disk heads are permanently"crashed." The chief drawback of thesecontact heads is the wear they cause to thefloppy and vice versa. Diskettes are rated interms of the number of passes the headmakes over a particular spot before an erroris likely to occur there, while read and writeheads are rated in terms of the number ofhours they can survive contact with thediskette before replacement. Typicallyquoted values of component life are in themillions of passes per track for diskettes, andtens of thousands of hours of contact for theread and write heads. In order to stretch theuseful component lives, most floppy control-lers will command the drive to unload thehead from the diskette when the floppy is

not being used. A typical mechanism forhead loading and positioning is shownschematically in figure 3.

Most manufacturers use a lead screwdriven by a stepping motor to move the headfrom track to track (A stepper motor is amotor which rotates a fixed number ofdegrees every time it receives a pulse.).'Thehead is mounted on a carriage which ispushed back and forth across the disketteby the rotation of the lead screw. The pitchof the lead screw is chosen such that thestepper motor's angular rotation is trans-lated into a linear motion equal to the track-to-track radial distance of 0.0213 inches(0.05 cm) (IBM format). A "seek," whichmeans moving the head to the desired track,consists of the retraction of the head back totrack 00 followed by n pulses to the steppermotor in order to reach the desired track n.Track 00 position of the head is detectedby a microswitch sensor. Likewise, tracks44-76 are detected, for reasons to be dis-cussed later. Variations on head positioningschemes in the newer drives include "voicecoil" methods which position the head witha linear actuator similar to an acousticsuspension loud speaker's voice coil.

Controllers

The basic function of a floppy disk con-troller is to do many of the small house-

BYTE December 1977

35

keeping tasks necessary in order to use thefloppy as a storage device. Perhaps the mostimportant task of a controller is the handlingof floppy disk formatting. Formatting is thekey to the floppy disk's random access capa-bility, since it provides the stored data withaccess addresses.

Basically, formatting breaks each track upinto discrete areas known as sectors. Eachsector is of fixed length and is assigned itsown address based on the sector's physicallocation on the disk. With soft sectoreddisks, sector addresses are permanentlywritten into the beginning of each sector touniquely identify the corresponding blockof data.

Formatting is a concept similar to the

wide bands between selections on a phono-graph record. The bands on a record allowthe- listener to select and play particularsongs. In fact, a recent addition to the list ofexotic hi fi equipment is a microprocessorcontrolled turntable called the Accutrac.The unit has an infrared emitter and re-flection detector built into the tonearm headwhich sense when the tonearm is over asmooth band, detect the record's format,and allow the processor to randomly accessany track. The track can be played and re-played, or any other track on that side ofthe record can be accessed.

A floppy disk controller works in muchthe same way. The computer passes a sectoraddress to the controller, which moves the

Figure 4: The IBM 3740 floppy disk format. The format is "soft"sectored, meaning that data written in the track controls theorganization of information on each track. Each of the 77 data tracks on the floppy disk contains data, address and controlfields grouped together to form "sectors." Each sector contains a sequence of fields, identical to those of the other sectors,which are further broken down into individual data bytes. One complete track is shown in this illustration. The index holeprovides the only hardware synchronization in this format.

36

BYTE December 1977

Now you can gain all the speed and flexibility of adisk-based PolyMorphic microcomputer systemwithout scrapping your POLY 88.

Our POLY 88 Upgrade-to-Disk Kit enables you toquickly and easily convert your POLY 88 into acomplete System 8813, a very versatile disksystem with one, two or three floppy disk drives.

You retain all the essential parts of your POLY 88system (includingthe powerful BASIC softwarelibrary) and gainthe increased access speed andprogramming flexibility of PolyMorphic's remarkablenew System 8813.

Our POLY 88 Upgrade-to-Disk Kit contains every-thing you need to perform a quick "disk transplant"on your POLY 88 at home, using a few simple tools.Each upgrade kit contains a brushed aluminum

front panel and walnut cabinet with one, two orthree floppy disk drives, controller, power supply, fanand 2K of ROM. You also receive two copies of oursystem disk, containing our powerful diskoperating system, fully extended BASIC and versatiletext editor and assembler. The single-drive POLY 88Upgrade-to-Disk Kit costs $1,450.

Why wait? Drop by your nearest PolyMorphicSystems dealer today and have him demonstratethe speedy and flexible new System 8813 for you.Then, ask him to show you just how quickly andeasily you can perform a disk transplant on yourPOLY 88.

If you can't drop by your dealer, please call us at(805) 967-0468. Or write PolyMorphic Systems Inc.,460 Ward Drive, Santa Barbara, CA 93111.

Perform adisk transplant

BYTE December 1977

37

DATA BYTE

► I 0 0 I 0 I 10

juin_mLnn^uumjL

CLOCK BITS

I I

I I

I I

GAP BYTE

00000000

jL_n^i^L_ji_n

ji

CLOCK BITS

I I

I I

I I I I

ADDRESS MARKS

juiniLJLJLJiJL'mjimi

CLOCK BITS

Figure 5: Examples of FM data encoding. In this scheme, clock bits alternatewith data bits to provide constant resynchronization during data recovery.The concept of FM, or "frequency modulation," comes about because astring of Is in the data bit, when interlaced with the clock bits, gives a differ-ent frequency of pulses than a string of Os. The pulse train at the top of thefigure shows the data byte J 0010110 encoded using this technique. Themiddle section shows the format for a "gap " or zero byte. Gaps are used toprovide buffer regions between fields so that minor fluctuations in motorspeed will not affect accuracy. Also shown is the format for address marks,which serve to inform the system that the next byte is the beginning of adata or address field. Certain clock and data bits of the address marks areintentionally set equal to zero in order to differentiate them from other typesof bytes. The last three data bits in the address mark tell whether the infor-mation that follows is deleted data, regular data, an index byte or an IDbyte.

head to the proper track. The controllerthen waits for the desired sector address topass under the head before allowing the datatransfer to occur. The data transfers arealways of fixed length to avoid unintentionaloverwriting of other sectors.

The IBM standard format is illustrated infigure 4. It currently represents the mostpopular form of soft sectoring. The formatis conservatively designed to protect againstoverwrites and to synchronize data transfers.The format details the content of each ofthe 77 tracks: data, address and controlfields grouped together to form sectors.Each sector contains a sequence of fieldsidentical to those of the other sectors. Thesefields are further broken down into individ-ual data bytes, each of which is coded to

n n n

MARK TYPE

0 0 0

DELETED DATA

0 I 1

DATA

1 0 0

INDEX

1 1 0

ID

identify its type to the controller. Thisencoding is easily accomplished through theuse of clock bits. Clock bits are written, asshown in figure 5, prior to every data bit ona diskette. This is done to provide continu-ous resynchronization in the data recoveryprocess. This in turn decreases the confusionresulting from small motor speed variationswhile decreasing the signal recovery band-width and improving the overall data reli-ability. Most data recovery circuits utilizea phase locked loop which provides a limitedform of timing memory that can recover adata bit if the preceding clock bit is missing,or the motor speed is slightly off. Thosebytes which serve a special formatting func-tion are called address marks and are rec-ognized by a pattern of intentionallymissing clock bits. There is a single patternof clock bits that serves to identify all fourtypes of address marks; each type is iden-

38

BYTE December 1977

Circle 96 on inquiry card.

theVEClOTI

4-T

filial

PROM/RAM

BOARD

from

VeClO=* G=*APHC

PROM: Space for 2K bytes, 1702A. Storebootstrap loaders and monitors.

RAM: 1K bytes, 2102LIPC, 450 ns, lowpower. NO NEED TO RELOCATE STACKWHEN ADDING MEMORY.

CIRCUITRY: Replaces memory write logicon ALTAIR™ and Imsai front panels.

REGULATORS: Two regulators. No need forregulated power supply.

JUMP-ON-RESET: PROM program execu-tion starts at any location in memory withoutinterfering with programs in any other por-tion of memory.

S-100 BUS; +8 and -16 VDC; P/C BOARDSOLDER MASKED BOTH SIDES WITHPLATED THROUGH HOLES; ALL SOCKETSINCLUDED.

OPTIONAL FIRMWARE: 512 byte monitorfor use with Tarbell tape interface on 2,1702A PROMs.

PROM/RAM KIT WITHOUT PROMS

+ OPTION A - SIO Rev. 1 or 3 P + S+ OPTION B-2SIO(MITS)+ OPTION C-SIO 2 (IMSAI)

$ 89$129$129$129$159

+ OPTION D - Poly Video Interface

(Includes Video Driver)

California residents please add 6% tax.

IMMEDIATE DELIVERY FROM FACTORYOR YOUR LOCAL COMPUTER STORE

T.M.

OH G3APHC inc.

717 LAKEFIELD ROAD. SUITE F • WESTLAKE VILLAGE, CA 91361 • (805) 497-0733

Circle 127 on inquiry card.

BYTE December 1977

39

Pressure Pad

Spindle

Head PositionMotor

Lead Screw

Read and Write Head

Insertion Slot

Photo I: A floppy disk unit. The cover has been opened to reveal the diskdrive system and its associated electronics. The floppy disk is inserted andremoved at the front, as shown. Courtesy Innovex Corporation.

tified by the data bits in the byte. Addressmarks serve to inform the system that thenext byte is the beginning of a data oraddress field.

Another special byte present in the IBMformat is the zero byte, which makes up thepredefined gaps. Gaps exist to provide abuffer region between other fields whosephysical length may vary slightly, dependingon the spindle speed and software synchro-nization. Gap bytes contain only clock bitswhich preserve the proper output frequencyin the phase locked loop for synchronousdata recovery, starting with the first byteof the next field.

Picking the index hole as a convenientstarting reference, every track will containthe same sequence of data, address and con-

trol fields. Roughly 46 gap bytes after theleading edge of the index photocell thereis an address mark called an index addressmark. The index address mark byte servesas a landmark indicating that exactly 32bytes follow before the first byte of the firstsector of the track. The length of the postindex gap is fixed at 32 bytes since it liesbetween the index address mark and the IDrecord of the first sector, and neither ofthese fields are user written. Consequently,they are immovable and fixed in length.

Each sector has four major fields: the IDrecord, the ID gap, the data field record,and the data gap. The ID record, as its nameimplies, provides the complete identificationfor the sector. Its first byte is an ID addressmark which permits the system to get readyto read the address information. Next arethe 8 bit track and sector address fields,each followed by a byte of eight zeros.Finally, a 16 bit cyclic redundancy checkword (see BYTE, March 1977, page 42) iscalculated to confirm error free address readback. Note that in the IBM format, the trackand sector addresses are defined by thesector's physical location on the diskette.Because of this the user cannot usuallymodify the ID record. Following the IDrecord is the ID gap, which is 17 byteslong. Its primary functions are to bufferthe length of the data field record andto provide a place for the read and writehead to switch to write mode before enter-ing the data area without disrupting anyother information.

The data field record is the heart of thefloppy disk, and without it none of the restof these fields would be necessary. The datafield consists of 130 eight byte bits in whichthe owner of the diskette is free to recordprograms, text, or any other informationdesired. Actually, only 128 bytes of the 130bytes allocated is free for user data; the finaltwo bytes of the data field are reserved foranother cyclic redundancy check (CRC)word, to permit error checking duringread operations. After the cyclic redundancycheck word, there is another gap, 33 byteslong, providing a head write-to-read transi-tion area and another safeguard against dataspillover. The next sector's ID address markfollows immediately after the data gap. Ofcourse, the tangential speed of the disketteis different for every track, being greatest ontrack 00 and least on track 77. This physicalfact, combined with a constant data rate of

40

BYTE December 1977

THIS IS ^ flCTUflL PHOTOGRfPH OF fi DISPLffi' 9CREB- SHQHDC KOfflflCTERS fflBWO W OR UN AfflHB-n.

Tf€ APHft-VUHI LETS YOUDKFW BOTH IffERAND lowcaseUTTERS, 64 CHflRACTERS PER UC. 16 LD€5 EP IN fl QflR,EtfWDED FORMftT. FOR CHY $145.00!

The neui flM-VBI-II is not a kit, but a fully assented,tested, burnt-in board with a 1 year uarranty. tod look atwhet you get! We use fast, 250 nsec RflM'S to allow using theftPHft-VDM-II with the 280 micro processor cards, And there'sa keyboard input port that allows use of an ASCII encodedkeyboard, uitn +5v & -12V power supplied for keyboard logic.

The Alpha-VDM-ll contains 1K (1024) bytes of ran-dom access memory, to which the processor canread or write, just as though the memory were anintegral part of the system. As the information iswritten, the contents of this on-card memory aredisplayed instantly without interrupting the opera-tion of the processor.

All timing required to generate a standard videosignal is provided by a crystal oscillator and as-sociated digital circuitry. Centering of the displayon the monitor screen is controlled by drift-freecounter logic.

The 1K by 8 static display memory buffer is directlyaddressable as RAM on the S-100 bus. Displayingdata on the screen is accomplished by moving thedata to be displayed in the first 512 bytes of theAlpha-VDM memory. Therefore the display updateis essentially instantaneous. Output routines canmake use of all Memory Reference instruction, in-cluding one byte moves, (i.e. MOV M, reg.)

Multiple programmable cursor circuitry is built in.All 1024 cursors can be displayed at one time, andanywhere in the display. Thus, the VDM can displaywhite-on-black or black-on-white — perfect formany video games! The VDM also features EIA

Circle 68 on inquiry card.

Video output for any standard video monitor, or aTV repair shop can easily modify your own set.

The VDM comes with free terminal mode software,designed for teletype replacement. Options includeselect blinking cursors, text line blanking after car-riage return.

Also available: 4K RAM; $107.00, 8K RAM;$197.50, 8K(Z) fast RAM; $217.50, Alpha-VDM;$107.00, Graphics-VDM; $137.00.

Order direct, by check, BankAmericard or MasterCharge (Add $1.50 shipping, credit customers giveus all the card numbers, please and Ohio residentsadd 41/2% sales tax) or contact us for more infor-mation. Kent-Moore Instrument Company, a sub-sidiary of Kent-Moore Corporation (founded in1919), P.O. Box 507, Industrial Ave., Pioneer, Ohio43554. (419) 737-2352. Or, Kent-Moore of Canada,246 S. Cawthra Rd., Mississauga, Ontario L-A3P2,Canada.

Kent-MooreINSTRUMENT COMPANY

BYTE December 1977 41

Photo 2: A closeup of theShugart SA850 double-sided floppy disk headassembly. Each head ineffect acts as the pressurepad for the other head.Courtesy Shugart Asso-ciates.

250 kHz, means that the physical bit densityon each track will be different, track 77having the highest density. In order to pre-vent peak shift distortion (see BYTE,February 1977, page 36) on the morecrowded innermost tracks, the write currentdelivered to the head is reduced whenwriting on tracks 44-77.

Most floppies in use today use the fre-quency modulation (FM) encoding describedhere. In the search for ever higher per-formance, several new codes have beendeveloped to increase the capacity andtransfer rate of floppy disks. These schemesare MFM (modified FM) and M2FM(modified MFM) which are usually referred

to as "double density" options by manu-facturers. They work by a set of rules thatremove clock bits when those bits will notbe required for synchronization. Groupcoded data is also more compressed thanraw FM. All of these techniques requiremore sophisticated electronics than FM, andare slightly less reliable because they removeredundancy and at the same time have prob-lems with peak shift due to more criticaltiming requirements.

Hard sectoring is another high perform-ance option increasing the storage capacityof a diskette. By adding sector holes tiedthrough the index photosensor to a sectoraddress counter circuit, the need for space

42

BYTE December 1977

wasting address fields is eliminated, increas-ing the space available for data. The numberof data sectors is increased from 26 to 32in most hard sectoring schemes.

There have been several complex largescale integration (LSI) chips introduced,such as Nippon Electric's NEC MPD372,which contain most of the circuitry neces-sary to perform the formatting and devicecontrol functions of a floppy disk controller.These chips obviously simplify the task ofdesigning a general purpose, inexpensivecontroller.

Decoding a diskette's format codes is asfar as some controllers go. They leave muchwork still to be done by software in thehost computer in order to retrieve data filesfrom a diskette. At the other extreme somecontrollers have dedicated intelligence in theform of their own microprocessors. A floppydisk operating system will usually include ageneral-purpose set of subroutines, calleda device handler, which takes care of what-ever messy details the controller can't do.A partial list of the tasks required of adevice handler for a floppy disk includes:

• determining the track and sectoraddress of a desired file

• doing a seek to the desired track

• scanning sector addresses for a match

• reading, writing and buffering data

• error detection and correction

If the files to be stored are longer thanone sector's worth of data, then there mustbe additional software, usually called a filemanagement package. The file managerdetermines how to break up and reassemblelarge blocks of data and maintain a directoryof where all the files and remaining freespace is located. The file manager is typicallyused to invoke the device handler in orderto keep minor details transparent to theuser. The user merely has to call the filemanager and ask that a file identified by aname be either written or retrieved. Fromthat point on, he or she can be completelyignorant of the details of lookups, timing,noncontiguous files, error retries and manyothe complications required for floppy diskoperation. Of course, transparent or not,these two programs add quite a bit of over-head to the task of disk access: the hostcomputer must spend time (up to severalhundred milliseconds) between the timea request is made to the file manager and thetime the access begins. In most micro-processors and minicomputers, this timeis precious and could almost always be spentmore profitably elsewhere.

In an effort to reduce unproductive over-head time, many manufacturers are design-

The Dual Sided Floppy

One of the most promising develop-ments in the floppy disk field is thenew two-sided floppy. An example ofthis is the Shugart Associates SA850/851 double sided floppy disk driveshown in photo 2. Details of the drivemechanism are shown in figure 6. Theprice of the unit is approximately$750, and it is capable of storing upto four times the data of a standardfloppy disk drive (1600 K bytes unfor-matted or 1200 K bytes formatted).The unit is available with doubledensity FM encoding capability (calledM^FM). A metal band driven by astepper motor is used to position thedual head assembly. Photo 2 shows acloseup of the head assembly.

1 Base CastingMounting Plate

Capstan

Double-SidedDiskette

Figure 6: A diagram of the Shugart SA 850 dual sided floppy disk drive. Notethe metal band which is used for positioning the head assembly. (Graphicscourtesy Shugart Associates.)

BYTE December 1977 43

Command Language

Command

Command Syntax

Function

Allocate

AX n

Create an emptyfile of lengthn with nameA*

Copy

CX Y

Copy file X intoY

Delete

D X

Delete file X

Eject

Ed

Eject diskettein drive d

File

F u X

Open file X andassign itlogical unitnumber u

F u

Close file asso-ciated with u

F

Close all files

Gap

Gd

Compress datagaps on drived

Input

1 t sd

Read sector s ontrack t ondrive d

Kill

K d seq

Initialize disketteon drive dwith optionalinterleavedsectorsequence seq

Load

LX

Read entire file X

Name

N X Y

Rename X by Y

Output

0 t s d

Write sector son track t ondrive d

Position

Pus byte

Position openfile associatedwith u to therelative sectorand byteoffset

Pu

Report currentposition ofopen fileassociatedwith u

Query

QX

Report indextrack info forfile X

Read

Run

Read n bytesfrom openfile u

R u

Read variablelength recordfrom open

file u

Save

S X

Write a new filecalled X

Test

Td

Run diagnosticson drive d

Write

W u n

Write n bytes tothe open fileassociatedwith u

*File References (FR): A 4 part

identifier for each

disk file <

:onsists of a

name,

version, type and

drive num

ber. Identifiers consist of alphanumeric

characters

separated by

special

punctuation char-

acters. "Wild card" and

partial

file constructions

are allowed.

Table 2: The command set for the PerSci intelligentfloppy disk controller.

ing and producing "intelligent" controllers,which vary from dumb to very bright. Thelabel "intelligent" does not specify exactlywhat the controller is capable of, but indi-cates only that it can reduce the host'sworkload associated with floppy disk use.These intelligent controllers usually take theform of a separate high speed dedicatedmicroprocessor attached to the host's DMA-10 bus. The host can issue a small number ofmacrocommands which the controller pro-cessor can decode and execute on its own.

There are two paths to intelligence thatmanufacturers are currently taking. Thefirst, similar to the channel computer con-cept, is to provide a controller capable ofexecuting user-written mini-instructionsdirectly and independent of the host's mainmemory. These mini-instructions, above thelevel of the controller's microcode butbelow the level of typical user filecommands (GET file, PUT file), provide agreat deal of flexibility in terms of incor-porating the floppy into a preexisting highperformance operating system. Controllersof this type might be most efficiently usedin high performance minicomputer systems.Here a sophisticated file manager programcan take full advantage of the flexibility andother features of this type of controller andat the same time reduce the host's workload.An example of this type of controller isScientific Micro Systems' FD0300 family ofcontrollers for various different computerfamilies.

The second approach is to incorporatethe entire device handler and most of thefile manager programs into the controller.This method takes care of the hardware de-tails and most of the software details of filemanagement for the user. However, thisis at the expense of eliminating control offile formats, directories and other things,since the controller usually has a fixed andrather simplistic approach to file manage-ment. This is not necessarily bad forpersonal microcomputer systems, in whichthe goal is not necessarily tricky data filemanipulations but rather rapid and con-venient access to a small number of files(such as assemblers, compilers, sources andobject codes). In fact, this type of controllermay be the best bet for meeting that sortof system requirement. An example of thistype of controller is the PerSci 1070. The1070 communicates with its host largelyby single character ASCII codes whichsignify major file operations such as S forseek, D for delete, and G for get (read).The complete list of 1070 op codes isfairly powerful, as can be seen in table 2.

Adding intelligence to a floppy disk con-

44

BYTE December 1977

trailer costs about $200 to $300. Thisbrings the total cost to about $400 to $600,matching the cost of most floppy diskdrives. Including another $200 for a powersupply, cables and a cabinet raises the costof a floppy disk system to double that ofmany personal computer systems. Manypersonal computer systems (the author'sincluded) are little more than workshopcuriosities. The addition of a fast massstorage device would transform them intoconvenient and powerful interactive tools."

GLOSSARY

Address mark: A special byte used for format-ting data (see figure 5).

Bail: A solenoid operated mechanical deviceused to lift the pressure pad away from thefloppy disk during insertion and removal.

Cartridge: A square plastic sleeve used toprotect the floppy disk.

Data field: That portion of a sector in whichdata can be stored.

Floppy disk: A flexible plastic disk used forbulk data storage and retrieval.

FM encoding: A floppy disk encoding tech-nique in which clock bits alternate with databits in a serial pulse train.

Gap byte: A data byte consisting of all zeros,used as a buffer between various regions on thefloppy disk.

Hard sectoring: A technique of sector identifi-cation in which each sector is assigned a uniquephysical hole on the disk, and 32 sectors can beput in a single floppy disk track. Since thisform of sectoring requires a unique hole pat-tern and a different type of controller, it isincompatible with soft sectored disks.

Head: An electromagnetic device used forreading, recording or erasing data on a magneticmedium such as the floppy disk.

Sector: One of several fixed length subdivisionsof a floppy disk track used for storing data andID information. Typical mechanisms use 26, 32or a similar small number of sectors per track.

Soft sectoring: A technique of sector identifi-cation in which only one physical hole on thedisk is used to synchronize the beginning of atrack's data. Then, the remainder of the track isdivided into sectors which contain the sectoridentification as part of the fixed format ofdata on the track. Only 26 sectors per track arepossible due to the formatting informationwhich must be recorded with each sector. Thisformat is incompatible with the hard sectoredformat which achieves higher data content.

Track: One of 77 concentric rings of data on afloppy disk. The radial distance between tracksis 0.0213 inch (0.05 cm).

Only

Computer EnterprisesHas All 3:

1. Lowest Prices

2. Reliability

3. SpeediestShipping

North Star Horizon Computer System

The Complete Z80A System*Z80ACPTJat4MHZ

* 16K 200 ns RAM

* Serial I/O * lor 2

micro disk drives p ... „ ,

* Tins QnH -RA.QTn ureait L-asn

Card DiscountPrice Price

DOS and BASIC

Horizon 1(1 drive) kitHorizon 1 (2 drives) kit

THE standard of VideoDisplay Terminals—Lear Siegler ADM-3A Kit

SPECIAL TOTAL SYSTEMcombinationSAVE $50 MORE-Horizon 1 and ADM-3A

kitsHorizon 2 and ADM-3A

kits

$1497 $1439$1871 $1799

$ 770 $ 740

$2214 $2129$2589 $2489

SEND FOR YOUR FREE COPY

OF COMPUTER ENTERPRISES

DISCOUNT CATALOG

Polymorphic VTI / 64 kitIMSAI 8080 with 22 slots kitIMSAI Factory Assembled 16K RAMIMSAI Factory Assembled 32K RAMIMSAI Video Interface VIO-B kitIMSAI Video Interface VIO-C kitSeals 2S0ns 8K RAM kitTDL ZFU kit

4K Expansion for TDL Z16K

SEMI 4200 ChipsTDL 8K BASIC Paper TapeTDL 12K BASIC Paper TapeTDL Macro Assembler Paper Tape

$186 $179

$614 $590

$464 $446

$748 $719

$234 $225

$278 $267

$250 $240

$252 $242

$ 99 $ 95

$ 13 $ 12

$ 47 $ 45

$ 89 $ 86

1 47 $ 45

Shipping charges: $10 per CPU on larger units; $1.50per kit. $2.00 min. per order.

Delivery is stock to 30 days on most items. Shipment isimmediate tor payment by cashier's check, money or-der or charge card. Allow 3 weeks for personal checksto clear. N.Y. State residents add approp. sales tax.Availability, prices and specs may change withoutnotice. „ .,

Write Or Call

computerenterpriser™

Fayetteville, N.Y. 13066P.O. Box 71

Phone (315) 637-6208 Today!

Circle 28 on inquiry card.

BYTE December 1977

45

TechnicalFcpum

Gerry Wheeler

Computer Communications Network Group

University of Waterloo

Waterloo, Ontario CANADA

Undocumented M6800 Instructions

Table I: A list of six un-documented M6800instructions and theirdefinitions. The operationsand operation codes whichinvoke them are defined inthe column labelled Re-sult, and the next instruc-tion address is given ineach case. Halt and CatchFire (HCF) does not havea "next instruction"address because the pro-cessor hangs up.

According to Motorola there are 197valid operation codes for the M6800 micro-processor. This means that of the 256possible 8 bit combinations, 59 are calledinvalid instructions.

Have you, like myself, ever wonderedabout these invalid codes? What wouldhappen if you accidentally executed one?It does happen sometimes, of course, when-ever your latest software creation takes anunexpected leap into never never land andbegins executing randomly set memorylocations. What are those holes in the opcode chart anyway?

The mystery of those holes held myattention until the suspense was unbearable.To satisfy my gnawing curiosity I executedthose codes deliberately, defying man andMotorola! And I got some interesting results.

Some of those codes seem to be justNOPS: they do nothing. Others change theflags in the condition code register accordingto some pattern that is, as yet, unde-ciphered.

But let me tell you about a couple of theinteresting ones. See table 1 for descriptionsof six instructions that Motorola didn't tellus about. The mnemonics are, of course,assigned by me.

The first one, NBA, is self-explanatory.The A and B accumulators are ANDed to-gether, and the result is stored in A. I hadto use NBA as the mnemonic because ABAis already used by Motorola. This instructionhas been checked out thoroughly, and seemsto be perfect, even setting the conditioncodes correctly. The only uncertainty is itsexecution time.

The store immediate instructions mayrequire some explanation. Consider for amoment the load immediate instructions.These instructions take the byte followingthe op code and put it into the appropriateregister. Therefore the store immediateinstructions should store the register intothe byte immediately after the op code,right? The only flaw is that there is a holeleft after the instruction, and the registeris stored after that (see figure 1). Note thatthe next instruction executed is the bytefollowing the newly stored register. Thismeans that the store immediate A and Binstructions are three bytes long, and thestore immediate X and SP instructionsare four bytes long!

Now for the big surprise. This one hasbeen dubbed HCF for Halt and Catch Fire.Well, almost. When this instruction is runthe only way to see what it is doing is withan oscilloscope. From the user's point ofview the machine halts and defies mostattempts to get it restarted. Those personswith indicator lamps on the address buswill see that the processor begins to read allof memory, sequentially, very quickly. Ineffect, the address bus turns into a 16 bitcounter. However, the processor takes nonotice of what it is reading. . . it just reads.The only way out of this race is with theRESET line. The machine ignores the IRQ,NMI and HALT lines. For all intents andpurposes the processor has halted and caughtfire! It is quite possible that the HCFinstructions are put into the 6800 designintentionally in the interest of productiontesting of newly fabricated processor chips.

Hexadecimal

Next Instruction

Name

Mnemonic

Op Code

Result

At

AND accumulators

NBA

14

A.B^A

PC+ 1

store ACCA, immediate

STAA

87

A-H>C+2

PC+ 3

store ACCB, immediate

STAB

C7

B~>PC+2

PC+ 3

store SP, immediate

STS

8F

SPh-^PC+2;SPI^PC+3

PC+ 4

store IX, immediate

STX

CF

IXh~>PC+2;IX|->PC+3

PC+ 4

Halt and Catch Fire

HCF

9D or DD

see text

Not applicable

46

BYTE December 1977

Circle 96 on inquiry card.

MEMORY CAPACITY EXCEEDEDCORRECTIVE ACTION: ADD ON MEMORY

By Problem Solver Systems, Inc.• •••• FEATURES •••••

16K Static RAM250nS & 450nS Versions

ADDRESSING in anr4K boundariesBANK SELECT up to 8 banksMEMORY PROTECT 1K incrementsBUFFERING all address and data linesWAIT STATES 0-Z

SEGMENT DISABLE up to 6 1K banksSOL PHANTOM

KM8B8K Static RAM 450nS

• ADDRESSING select in any BK boundary

• PROVISION for Interrupt

• MEMORY PROTECT

• BUFFERED data and address lines

• PIN COMPATIBLE with KIM-1, which allows fora Bussed System

• SPECIAL LOGIC which allows monitor programto operate with lull 65K memory

Contact Us For The Sealer Nearest You 8040 Deering Ave., Canoga Park, Ca. » (213) 888-5079

rPfijeiEM Solver' Systems Jn

This one instruction might provide the auto-matic test equipment with a quick initialindication of whether the particular pro-cessor chip is a total dud, or a prospectfor more detailed automatic testing andverification of defect free operation.

While these instructions are now docu-mented, some warnings must in all fairnessbe stated lest the user run into problems.The primary warning is that there may be areason that they were left undocumented:they may not work with every 6800 pro-cessor, so any software intended for pro-duction, distribution to friends or forpublication should never use these instruc-tions. At different times during the historyof M6800 production at Motorola, revisionsand changes in the production masks mayalter the effects of these instructions with-out any warning to users; after all, anundocumented instruction is not there fromMotorola's point of view, so why tell theusers about changes in its definition? Simi-larly, when 6800 parts are acquired fromsuppliers other than Motorola, use of inde-pendent designs for the production masksby the second source leaves definition ofthese undocumented instructions unspeci-fied and not necessarily identical to

Motorola's definitions. But these warningsapply only to programs to be distributedin some way; if your personal processorexecutes these instructions and you finda use for them in your own handcraftedassembly language programs, then by allmeans take advantage of them."

C F ? ? r r r r O P

- NEXT INSTRUCTION

- INDEX REGISTER STORED HERE

- DON'T CARE

-("CF"= STORE INDEX, IMMEDIATE)

Figure 1: The "Store Index Immediate" instruction requires four bytes ofmemory, as illustrated here. The operation code hexadecimal CFis followedby one byte which is "don't care" as far as the operation of this instructionis concerned. The third and fourth bytes of the operation receive the 16 bitaddress value from the index register in the normal order. In this diagram, rrrris the 16 bit target for the immediate store, and OP is the first byte of thenext instruction. Operation of the "Store Stack Pointer Immediate"instruc-tion is similar.

BYTE December 1977

47

A $19 Music Interface

(And Some Music Theory for Computer Nuts)

Bill Sti Live800 Madison AvMemphis TN 38163

"It's all Relative." So it is in physics asit was in music. About 600 BC Pythagorasdiscovered that strings under equal tensionsounded harmonious if their lengths werein ratios of small whole numbers like 2/1,3/2, 4/3, 5/3, etc. Many experimentsthroughout the world since that time havetold us that in music, it is the ratios of thefrequencies of the notes that count, not theabsolute frequencies. It has only been inrecent times that there has been inter-national agreement that A above middleC is 440 Hz. Musicians call the "distance"between two notes an interval. Musical inter-vals are actually the ratios of the frequenciesof two notes, and are so important in musicthat many of the ratios, or intervals, havenames. For example, 2/1 is called the octave,3/2 is called a perfect fifth, 4/3 is called aperfect fourth, 5/3 is called the major sixth,etc. These names make sense to musiciansbecause they represent the distance betweentwo notes on the musical scale like do re mifa sol la ti do, which might be numbered 1through 8, respectively. An octave is do todo, a perfect fifth is do to sol, a perfectfourth is do to fa, a major sixth is do tola, etc. The pure diatonic scale was con-structed to maximize harmony betweennotes. This scale has been called the naturalscale, and is one of the two most widelyused scales in Western music. Many unac-companied singing groups sing on this scalebecause it sounds right to them, even thoughthey may not be able to tell you the dif-ference between pure diatonic and tempereddiatonic scales. Later you'll see how easy

it is for a computer to generate notes on thisscale.

Pianos, electronic organs, and synthe-sizers are all tuned to a slightly differentscale, the equally tempered diatonic scale.JS Bach (1685-1750) played keyboard in-struments and composed music whichrequired changing key signatures (whichwe'll define by example later in this discus-sion), during the performance. But changingkey signatures on an instrument tuned tothe pure diatonic scale usually requiredretuning the instrument as you'll see in amoment. Bach found his way out of thisdilemma by slightly mistuning his instru-ments, a technique which had recently beendeveloped in Europe. This tempering wasdone so that all key signatures were equallyout of tune, or equally tempered. Whenthis is done, the ratio of frequencies of anytwo adjacent notes turns out to be thetwelfth root of two (the value 1.0594631noted mathematically as J>^/2 or calculatedin FORTRAN-like languages as 2**(1.0/12)).He chose this ratio because there are twelvehalf steps per octave and the octave is aratio of 2/1. Only the octave is kept purelyharmonic in this scale: The perfect fifth is0.11 percent low, the perfect fourth is0.11 percent high, the major sixth is 0.91percent high, etc. Since the most discrim-inating ear can only perceive differencesin frequency when they are more than0.2 percent, the most harmonious inter-vals (the octave, the fifth and fourth) areindistinguishable between the two scales.But what Bach and the world gained bygiving up a little harmonic perfection was aquantum jump in the versatility of fixedtuned instruments (and an added quantumjump in the time and skill required toproperly tune one).

48

BYTE December 1977

FIRST EASY WAY TO BUYA MINICOMPUTER

MINI 12 SPECIFICATIONS

Word LengthCPU

12 Bits

IM6100fullystaticCMOS

device

Instruction Set

Identical to the DigitalEquipment CorporationPDP-8E

Clock Rate

4MHZ

Major State TimeSerial interface

500NS

20 MA current loop

standard, RS-232

Baud Rate

Optional

110 Standard, Others

Memory

optional

8192 words standard,

expandable to 32 K words

Control Panel

PDP-8E compatible, with

additional functions

Parallel Interface

12 input and 12 output

lines

Real Time Clock

Programmable, from 10MS to 40.95 seconds

Counter

Counts External Events

Expansion Bus

50 line, TTL compatibleterminated bus structure

Binary Loader

ROM resident.

Monitor BootstrapPower Requirements

ROM resident.

100/120/200/240 VAC,

50/60 HZ

Dimensions

2" high x 13" wide x 14"deep

BUT

HOW'M I GONNA PAYFOR IT?

TLF offers 3 purchase plans:

1) CASH with order - and receivea BONUS CERTIFICATEworth $100 on selected MINI12 accessories.

2) Send $350 with order and paybalance of $545 when ready toship or COD to postman.

3) NO INTEREST EASYPAYMENT PLAN

HERE'S HOW IT WORKS:

STEP 1

Fill in coupon belowand mail TODAYwith your check for$195 to:

TLF

P.O. Box 2298

Littleton

Colorado 80161

C^

And your wife will be happytoo! In fact she might justbuy it herself (for you ofcourse) for Christmas.

You can use your BAC/VISA, Master Charge orAmerican Express too!

Make all cheques payable toTLF Corporation.

I

Please enter my order for

STEP 2

When your MINI 12 is readyto be shipped you send us$200 or pay postman COD.

STEP 3

The balance of $500 is paidin 4 equal monthlyinstallments of $125 each.

TOTAL PRICE ONLY $895

WHAT COULD BESIMPLER?

©TLF 1977

MINI 12 Computers @ $895 each as per the plan checked below:

1 D Enclosed is $895 - I want the Bonus certificate. □ Send more information please.

2 □ Enclosed is $350 - I will pay $545 when you're ready to ship or COD when delivered.

3 □ Enclosed is $195 - I will pay $200 when you're ready to ship and 4 monthly payments of $125 ea.

Check

Card#

Signature

Name

Address .

City

TLF

Money Order.

BAC/VISA _ Interbank #.

Master Charge

American Express

. Exp Date.

Phone

State

. Zip .

CorporationTelephone

P.O.303

Box922

22986241

Littleton

ColoradoTelex 454541

80161

Circle 121 on inquiry card.

BYTE December 1977 49

Harmonious Computers

Microcomputers can give us both per-fection and versatility. Since division bysmall whole numbers is trivial with digitalelectronics, it is at first sight more practicalto use the pure diatonic scale when digitallygenerating music, just as it has been morepractical to use the equally tempered dia-tonic scale for music performed on classicalkeyboard instruments. Changing key signa-tures in computer generated music is noproblem, since the entire instrument may be"retuned" in a few microseconds.

The greatest advantage of the micro-computer is the ease with which anyonecan produce music. Years of time con-suming practice are not required. Applica-tion of computers to music may changemusic from an activity primarily dominatedby motor skills to one dominated by theintellect. Composers no longer have to beskilled at playing an instrument in orderto work out their compositions.

Do, re, mi, fa, sol, la, ti, do! NorthAmerican, English, and Italian children alllearn how to sing the scale. Most of themalso learn other representations of the samemusical scale like: CD EFGABC, and:

Rarely if ever are any of these youngstersexposed to: 264 Hz, 297 Hz, 330 Hz, 352Hz, 396 Hz, 440 Hz, 495 Hz, 528 Hz, orto: 1/1, 9/8, 5/4, 4/3, 3/2, 5/3, 15/8, 2/1.These two sets of numbers are also repre-sentations of do, re, mi, fa, sol, la, ti, do inthe pure diatonic scale. Equally valid (es-pecially for the piano) representations ofthis simple do to do musical scale are;261.6 Hz, 293.7 Hz, 329.6 Hz, 349.2 Hz,392.0 Hz, 440 Hz, 493.9 Hz, 523.3 Hz,which are related to each other by powersof the twelfth root of 2: 20/12(=i.000),22/12(=1.1225), 24/12j 25/12, 27/12,29/12, 211/12, 212/12 (=2.000). As youmay have guessed by now, these last twosets of numbers are the frequencies andfrequency ratios of the equally temperedscale of do to do played on a piano.

So far, so good, but if you are as fast asI am at absorbing this material, by now it

should be as clear as mud! Organization offacts into a pattern often does wonders forthe intellect, so let us organize all this in-formation into one table (table 1) and callit the "Key of C Major" so that musicianswill think we are talking about music insteadof computers.

You should notice a couple of thingsabout table 1. First, at the bottom lineyou'll see that I've added a new concept:the musician's idea of step size. The stepscome in two sizes, whole and half. Remem-bering that everything is relative, we can talkabout step size in terms of the ratio of thefrequencies of the pitches, or notes. In thepure scale, a half step up in pitch is an in-crease of 16/15 in frequency and a wholestep up is an increase of 9/8 or 10/9. In thetempered scale all half steps up are an in-crease in frequency by the twelfth root oftwo (21/2), and all whole steps up in pitchincrease the frequency by the sixth root oftwo (21/6) which is two half steps:

21/12 x 21/12 = 22/12 = 21/6

Secondly, you should note that the dif-ference between the pure and temperednotes is imperceptible for four of the eightnotes. You may be wondering why 440/440= +.91 percent instead of 0 percent and why261.6/264 = 0 percent instead of -.91percent. To answer this, look at the "Fre-quency Ratio to C" lines and recall thateverything is relative so: C(tempered)/C(pure) = 1/1, or 0 percent and A(tem-pered)/A(pure) = 23/4/(5/3) = 1.6818/1.6667, or +.91 percent.

To make this last point clear let's make ado to do scale from A = 220 Hz to A = 440Hz, table 2. I could have made C(tempered)= C(pure), but that would violate an inter-national agreement about A = 440 Hz!Besides, this way I can tell you about ascale in the minor mode. We'll impressthe musicians looking over our shouldersby calling table 2 "Key of A Minor."

The two major differences between thesetwo keys are the beginning note and the se-quence of whole (W) and half (H) steps upthe scale. Both the starting place and thesequence are specified in the name1 of thekey. The key of C major begins with C andproceeds in the major mode sequence ofsteps, WWHWWWH. The key of A minor

Article continued on page 54

Text continued on page 58

50

BYTE December 1977

APB0«SS»ONW

HOBBYIST

THE AJ 8411/O-A COMPLETELYREFURBISHED IBM SELECTRICTERMINAL WITH BUILT IN ASCIIINTERFACE-JUST $995

Features:

■ ASCII code

■ 14.9 characters per second printout

■ Special introductory price —$995(regularly $1195). 75% discount overoriginal price of new unit.

■ Choice of RS 232 Serial Interface orParallel Interface (requires 3P + S)

■ Order direct from factory

■ 30 day warranty—parts and labor

■ Nationwide service locations

AJ 841 WARRANTY AND SERVICE ISAVAILABLE IN THE FOLLOWING CITIES:

High quality selectric printing

Reliable, heavy duty selectricmechanism

Off line use as typewriter

Los Angeles

Cincinnati

Philadelphia

Detroit

Hackensack

Dallas

Columbus

Houston

Cleveland

Atlanta

San Jose

Chicago

Boston

New York

Washington,

DC.

ANDERSON_ JACOBSON

Anderson Jacobson, Inc., 521 Charcot AvenueSan Jose, California 95131, (408) 263-8520

HOW TO ORDER ANAJ 841 I/O TERMINAL

1. Make cashier's check or money order pay-able to: ANDERSON JACOBSON, INC.

Address your request to:Personal Computer Terminal

CLIP AND MAIL WITH ORDER

SELECT EITHER:

□ RS 232 Serial Interface

□ Parallel Interface (requires 3P + S)

NumhprnfuniK (a) ffQQq pn<-h $Local Sales Tax $

ANDERSON JACOBSON, INC.521 Charcot Avenue

Shipping and handling $35.00 each

(excluding San Jose) $

San Jose, CA 95131

2. Upon written notification, pick up your ter-minal at the AJ service office located in one

TOTAL $

NAMF.

of the above cities. Allow six to eight weeksfor delivery.

3. Afinal check of your unit will be made at thelocal AJ service office at time of pick up.

4. For warranty or repair service, return unitto designated service location.

ADDRESS

CITY STATF 7TP

PHDNF ( 1

Circle 3 on inquiry card.

BYTE December 1977

51

FROM THE INVENTORS OF SEX SOMETHING NEW,THE WORLD'S BEST KEPT SECRET.

SEX

Now what self-respecting companyresorts to a cheap trick like this toget your attention.

WE DO

And it works, doesn't it? So doesour new 16K STATIC RAM memoryboard. It is fully assembled andtested and plugs into your SWTPC6800 microcomputer—allowing youto expand your system to 48K. ThePRICE?? That's the sexy part. It'sso BARE we can only reveal itthrough the mail. (Sent in plainbrown wrapper so as not to offenda non-computer oriented spouse.)

Name -Street -

SMOKE SIGNAL BROADCASTING

P.O. Box 2017Hollywood, California 90028

Exactly one year ago, we introduced SEX to BYTE Magazine with this littlead. Your response was tremendous — much greater, in fact, than to anyof our other larger ads which made no mention of sex. Researchers at thepsychology department of TJU say that, because the readers of BYTE arenot a controlled group (some irresponsible parents even let their childrenread the magazine), no statistically valid conclusions can be drawn. Webelieve, however, that we may have stumbled across something of evenmore interest to computerists than the old 8080. It is, in fact, the world'sbest kept secret.

What is it you ask? First, please keep this confidential. If word got out totoo many people, it might depress the market for late model 8080's somuch that one of those high priced units could be purchased for less thana comparably equipped new economical 6800 with automatic bootstrapand power disc drives. The world's greatest secret is: NOW THERE IS ALOT OF GOOD SOFTWARE FOR THE 6800. For instance, there are twodisc based editors and three assemblers available for the SMOKE SIGNALBROADCASTING BFD-68 disc system. A disc based BASIC COMPILERwith data file capability is available and so is a BASIC INTERPRETER withdata file capability. We also have a DISASSEMBLER with TRACE capabil-ity, a SOURCE GENERATOR and a smart IK MONITOR program with I/O,tape load and punch, breakpoint, single step capability and much more.If you're a newcomer to computing and want to learn what BASIC is allabout, we have a LEARN BASIC package that leads you from basic BASICto advanced BASIC in 12 easy lessons. All this plus the best microcom-puter disc operating system around.

SUPER EDITOR: The SE-1 is a content oriented editor withstring search and block move capability. Changes may bemade by referring to line number or string content or a com-bination of references. Naturally, it is designed for file trans-fers to and from the BFD-68 so the size of the edited file islimited only by the capacity of the diskette. $29 on disketteor cassette.

SUPER ASSEMBLER: The SA-1 inputs source code from a fileon the BFD-68 and outputs object code to disc file. Some verylarge programs can be assembled with the SA-1 since thesource code resides on disc and is not resident in memory.Assembly listings include alphabetized and tabulated symboltable: $29 on diskette or cassette.

Complete source listings are included for both the SE-1 andSA-1. Order both for $53 and save $5.

SMARTBUG —A CURE FOR MIKBUGITIS: A super smartMotorola-Mikbug replacement that preserves almost all Mik-bug entry locations so your present programs will run withoutmodification. Uses ACIA for baud rates to 19,200 and includesmany additional features including a software single-step tracecommand. Manual and source listing for $19.50.

TRACE-DISASSEMBLER: The TD-1 in the trace mode allowsyou to trace through a program and monitor and change theregisters or memory as you go along. In the disassemblermode, it provides you with a way to make a program listing

from a program when you only have the object code. $19.95on cassette. Add $5.95 for diskette.

SOURCE GENERATOR: The SG-1 is a very fancy disassemblerthat takes object code in memory and creates a listing andoutputs source code to cassette tape or the BFD-68 in eitherSWTPC CO-res or SSB Editor format. The source code gener-ated includes labels so that the source file created may beedited and re-assembled with whatever changes the userwishes to make. $24.95 on cassette. Add $5.95 for diskette.

BASIC COMPILER: The Software Dynamics Basic Compiler hasbeen adapted for use on the BFD-68. This is a super fast busi-ness oriented BASIC with PRINT USING statement, disk datafile capability and ten digit accuracy. Because it is a compiler,you can develop business programs, compile them and deliveran object module, thus, keeping the BASIC source program asyour trade secret. Write for more information.

LEARN BASIC is a 12 lesson programmed course in BASIC.It takes the new owner of a 12K or larger 6800 computer sys-tem from beginning BASIC to advanced BASIC in easily under-stood steps. Requires SWTPC6800 version 2.0 BASIC. Includes65 page manual. $39.95 on cassette or diskette.

A BASIC INTERPRETER for the BFD-68 with data file capa-bility is available for $39.95 from Computerware, 830 FirstStreet, Encinitas, CA 92024. Write them for more details.

P.O. Box 2017, Hollywood, CA 90028* (213) 462-5652

52 BYTE December 1977

Circle 104 on inquiry card.

FULLY ASSEMBLED PRODUCTS FOR THETRULY COMPATIBLE SS-50 6800 BUS.

Our Basic Floppy Disc System (BFD-68) must, in all modesty, becalled superb. It comes completely assembled with a disc con-troller that is plug compatible with the SWTPC 6800. The cabinetand power supply are capable of handling up to 3 Shugart Mini-Floppy Drives. One drive is included in the price of the BFD-68and others may be added easily at any time. Or you may savemoney by ordering the dual-drive BFD-68-2 or triple drive BFD-68-3 (pictured). Price: BFD-68 $795, BFD-68-2 $1139, BFD-68-3$1479, SA-400 Drive $360.

The BFD-68 includes our Disc Operating System Software. Thesoftware provides direct commands to name and rename files,transfer memory to disc and disc to memory and to automaticallyjump to the starting location of any program loaded from disc tomemory. The direct command names are: RUN, GET, GETHEX,

CLOSE, SAVE, DELETE, APPEND, RENAME, COPY, LIST, LINK and PRINT. In addition, the Disc File Management subroutines are

available to create files under your program control.

A bootstrap PROM is included on the controller board to initiate the Disc Operating System which loads into a 4K memory board

located at 7000 or optionally at D000. Thus, you can be up and running from a cold start in just a few seconds.

SUPER SOFTWARE: Free patches are provided for SWTPC BASIC version 2.0 and Co-Resident Editor/Assembler. These patchesallow the SAVE and LOAD commands to work with the disc or the cassette at your option.See the opposite page for more details on the Super Software available for the BFD-68.

M-16-A: The M-16-A is a single power supply fully STATIC 16Kmemory system. It is fully buffered and requires only half thepower of a similar size system using low power 2102's. With theM-16-A, you can expand your system to 48K, add one of ourEPROM boards, our BFD-68 disk controller board and still haveroom to spare. The M-16-A is switch selectable to any 4K startingaddress and hardware write protect is included. Price $529.

P-38: The P-38 series modules are available in 3 configurations.The basic P-38 is an 8K EPROM board containing room for 82708's. Like all our products, it is completely assembled. As abonus, one 2708 is included which contains SMARTBUG, our IKMikbug compatible monitor program. The P-38 is switch select-able to any 8K location. P.'ice $179.

The P-38-1 contains all the features of the basic P-38 plus abuilt in interface to the POP-1 and the Oliver Paper Tape Reader.Price $229.

The P-38-FF is a plug-in interface card for the ICOM Frugal Floppyand the other ICOM full size floppy disks. It contains all the fea-tures of the P-38-1 plus an additional 2708 with the ICOM boot-strap software. ICOM's 6800 FDOS-II is included on diskette.Price $299.

The PS-1 power supply kit provides plus and minus 16 volts required for the P-38 series boards. Also, it allows a wiring modi-fication to be made to the 8 volt supply that will increase its output by one volt. Price $24.95.

NEW PRODUCT: The POP-1 is a 2708 EPROM programmer that is contained in a separate cabinet outside the 6800 and connectedby ribbon cable. The POP-1 uses a separate self-contained power supply for the programming voltage. There is plenty of power to pro-gram 2708's from any manufacturer — no need to choose only the most expensive 2708's. The POP-1 interfaces to the SMOKESIGNAL BROADCASTING P-38-1 EPROM board and complete software is provided on cassette. The software allows you to duplicatean existing 2708 (making changes if you wish) or to transfer a block of RAM to EPROM. An adaptive programming technique is usedthat allows most 2708's to be programmed within 15 seconds. Instructions are also provided showing how to modify the POP-1to program the TMS 2716. Price $129.

ALU OUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEMBLED. MASTERCHARGE AND VISA CARDS WELCOME.

P.O. Box 2017, Hollywood, CA 90028 • (213) 462-5652

Circle 104 on inquiry card.

BYTE December 1977 53

Continued from page 50

Key of C Major

r

III

= h-

V O in i

° S ■ t (

>■ el) H"

Cm /-

Interval

From C: Unison

MajorSecond

MajorThird

PerfectFourth

PerfectFifth

MajorSixth

MajorSeventh

Octave

Sung: doCalled: C

re

D

miE

fa

F

solG

laA

tiB

doC

o

N

Written:

y

^

\

')

)

/

_|

*

S

1

^

1

0

((\\

\

s

/

—

/

m

KJ

)

/

^

/

0

*JV

Units

Frequency

Pure: 264

297

330

352

396

440

495

528

Hz

i Tempered: 261.6

293.7

329.6

349.2

392.0

440

493.9

523.3

Hz

FrequencyRatio toCfor,

Pure: 1/1

9/8

5/4

4/3

3/2

5/3

15/8

2/1

Hz/Hz

Tempered: 1

21/6

21/3

25/12

.27/12

23/4

211/12

2

Hz/Hz

Tempered/Pure : 0 /

\ -0.23 /

V +0.79 /

\+0.11 /

\ _0'11 /

\ +0.91 /

\ +0.68 /

\°

%

Step Size: /whole\ /wr

ole\ /Half \ /Wh

ole\ /wr

ole\ /wholeS. /h<

A

Table J: The key of C major. There is a direct equivalence between a musician's terminology for musical concepts and thephysicist's or mathematician's precise measures of the idea. One of the attractions of music is this low level precision involvedin the creation of high level emotional sensations.

54

BYTE December 1977

vj| DIGITAL RESEARCH

NEWCP/M" SOFTWARE

Digital Research is pleased to announce theavailability of our new macro assembler called"MAC" which is upward compatible from ourprevious 8080 assembler provided with version1.3 of CP/M"'. Our new assembler is compatiblewith the latest Intel macro standard, andincorporates several facilities which will provequite useful:

IF, ENDIF, ELSE provide conditionalassembly facilities which are controlled byboolean expressions involving the arithmeticoperators (+. -, ', /, MOD, and unary -), shiftand mask operations (SHL, SHR, AND, OR,XOR), and relational operators (LT, LE, EQ, GE,and NUL).

MACRO definitions allow groups ofinstructions to be stored and substituted inthe source program, as the macro namesare encountered. Definitions and calls canbe nested, symbols can be constructedthrough concatenation (using the special &operator), local symbols can be created(using the LOCAL pseudo operation). Macroparameters can be formed to pass arbitrarystrings of text to a specific macro forsubstitution during expansion. In particular,the MACLIB (macro library) feature allowsthe programmer to define a particular set ofmacros for generation of machine code forany specific 8 or 16 bit machine which doesnot match the Intel 8080 instruction set.Macro libraries are included with MACfortheZilog Z-80 instruction set, along with macrosfor performing simple peripheral and se-quential file I/O under CP/M.

Circle 39 on inquiry card.

IRPC, IRP, REPT provide repetition ofsource statements under control of a list ofcharacters or items to be substituted eachtime the statements are expanded. Thisfeature is particularly useful in generating. groups of assembly language statementswith similar structure.

SORTED SYMBOLS are provided in adiskette file suitable for listing on your lineprinter or use during debugging.

TITLE, PAGE are provided to control pageejects and titles on each page of the sourcelisting.

PARAMETERS can be specified whenMAC is started to control the source anddestination of particular files as well as listingformats for macro generation.

MAC DOCUMENTATION

MAC documentation includes the "MacroAssembler Language Method and Applica-tions Guide", the most complete guide tomacro applications available toddy. Examplesinclude macro-based languages, high-levelcontrol structures and operating system interfa-ces. Over 60 listings of working 8080 macroassembly language programs are provided sothis manual can be used as a study guide inadvanced macro applications. (The manual isavailable for separate purchase.)

The macro assembler occupies a 12K regionof memory, and requires concurrent operationwith CP/M system, thus requiring 16K of programspace during operation. Additional memory

space is used for the symbol table, resulting in aminimum usable memory size of obout 20K.

'PLEASE NOTE: MAC is a copyrighted product of DigitalResearch and may not be copied for use by anyindividual other than the purchaser. Due to the proprie-tary nature of MAC, the machine code diskette isavailable only to registered owners of the CP/M™Operating System. Although you may purchase the"Macro Assembler Language Manual and ApplicationsGuide" separately, Digital Research cannot acceptdiskette orders without your registered CP/M™ SerialNumber. (If you haven't returned your CP/M " Registra-tion Card, you may do so at this time.)

ORDER FORM:

I would like to purchase:

( ) 'MAC Macro Assembler Language Manualand Applications Guide" Only (200 pages) for$15.00( ) 'MAC Macro Assembler Language Manualand Applications Guide" and MAC Ma-chine Code Diskette*. CP/M" Serial No.

for $70.00.

( ) MAC Machine Code Diskette" Only CP/M "

Serial No. for $60.00.

California residents please add 6% sales tax.Total purchase: $ .

) Please charge to my

Mastercharge 9

BankAmericard 'Expiration Date

NameAddressCity

) I would like further Information on:( ) CP/M " Operating System.( ) MAC Macro Assembler.

Zip .

PI DJE.Tfll RESEARCH

P.O. Box 579, Pacific Grove, CA 93940

BYTE December 1977 55

Key of A Minor

r

010o

c

1

3

5

US

o E

(ft

S 'u

'«

>■

Q.

(0 o

u c

c

Interval

Major

Minor

Perfect

Perfect

Minor

Minor

From A

Unison

Second

Third

Fourth

Fifth

Sixth

Seventh

Octave

Sung*

do

re

mi

fa

sol

la

ti

do

Called

A

B

C

D

E

F

G

k

A

)

■w

.

1

s

r

r-

)-

#

1

Vy

,

\

/

^

/

m

tJ

)

1

^

/

/

Units

Pure

Frequency

220

247.5

264

293.3

330

352

391.1

440

Hz

Tempered

Frequency

220

246.9

261.6

293.7

329.6

349.2

392.0

440

Hz

PureRatio

Hz/Hz

To A

1/1

9/8

6/5

4/3

3/2

8/5

16/9

2/1

TemperedRatioTo A

1

21/6

21/4 '

25/12

27/12

22/3

25/6

2

Hz/Hz

Tempered/

Pure

0

-0.23

-0.90

+0.11

-0.11

-0.79

+0.23

0

%

Pure A Minor/

}o

J

Pure C Major

0\ /

0

-1.25

\ /

0

0

-1.24

0

%

Step

/

\ /

\ /

\/\/\ / \ / \

Size

/Wh

ole\ / H

3lf \/Wh

ole\ /Whole\ / Half \ /Whole\ /Whole\

s.»

*North American and English children learn a movable do scale, so do can be any note. The French and Italians have a fixed dosystem so do is C.

Table 2: The key of A minor. As in table 1, we note the same information, but start the scale on A instead of C. This changesthe order of half and whole steps (bottom line) from a major mode sequence to a minor mode sequence; an extra line has beenadded to show the frequency ratios of the minor key with respect to the major key.

56 BYTE December 1977

Computer Mainframe System

First in the TEI family... The MCS-112 and 122 Mainframe Systems."The Base on Which to Build"

The cabinet

A heavy duty precision formed cabinet of finecraftsmanship. Completely machined andready for assembly The exterior is fin-ished in TEI blue. Vented for mostefficient thermal character-istics. Furnished withnecessary hardware.

The front panel

The front panel is blankexcept for an indicates ACswitch and a reset switchHowever, the chassis and motherboard are desisned so that you mayremove the front panel and insert an IMSAIor equivalent front panel. Soon to beavailable will be our "VIRTUAL OPERATING CON-SOLE" especially desisned to complement ourMainframe Systems.

Specifications

MCS-112

MCS-122

Dimensions TWWx12Dx7VSiH

Power +8 volt DC 17 amps

Power ±16volt DC 2amps

17'/4Wx19ViDx7'AH

30 amps4 amps

/The motherboard

An S-100 Bus system high quality mother board with 100-pin edge connectors. Compatible with IMSAI, MITS,CROMEMCO, TDL and other S-100 bus configured circuit boards. Plug connections for reset switch. Voltage terminalsare screw type to power supply leads. All card guides are provided. 12 slots for MCS-112 model and 22 slots forMCS-122 model.

Edge connectors

High quality edge connectors factory mounted and wave soldered to eliminate this nuisance foryou. Completely checked out for shorts or open traces. ALL edge connectors furnished, 12 forthe MCS-112 and 22 for the MCS-122. No additional expense when you expand yoursystem.

The power supply

One of a kind ... using a constant voltage transformer CCVT) with a very

high immunity to input line noise ... greater than 100 db rejection.

Line regulation better than ± 1% from an input of 95 to HO Volt

AC at full load to 85 to 140 Volt AC at three quarter load.

Designed to meet UL-478 specifications (EDP SPECS).

Individual fusing on all input and output voltage

lines. See specifications below for power

ratings.

The cooling system

A 115 CFM muffin fan with acommercial grade washable filterwill provide clean airflow over allcircuitry

The wiring

All wiring is color coded and ALL isprecut to length with connecting lugsfactory machine applied. Soldering isheld to an absolute minimum.

NOW ... TEI puts it alltogether for you. Mainframesystems (6, 12 and 22-slot) ...Floppy and mini-floppy disc drivesystems (single, double and triple withdual density) ... a Z-80 CPU with address-able "jump to" and autostart capability (alsovariable speed control).. . 8K and 16K RAM ... 16Channel A/D and D/A converter ... 3 serial + 3parallel multiple I/O ... and other supporting boards... and our newest item, the PROCESSOR TERMINAL — ACRT, keyboard, mini-floppy disc and 12-slot mainframe with a8080A_CPU - all housed in one quality aluminum case. All ofthese fine products at prices you will like. Watch for them all.

Contact your local TEI dealer or if you are not near one of our

dealers, write or call CMC MARKETING CORP direct for more

information.

(DEALER INQUIRIES INVITED)

PLEASE SEND ME:

□ MCS-112 Kit® 395.00 □ MCS-112 Assembled @ 445.00

□ MCS-122 Kit @ 495.00 □ MCS-122 Assembled @ 575.00

Texas residents add 5% Sales TaxI Enclose Check □ or Money Order □CMC MARKETING CORP7231 Fondren Rd, Houston, TX 77036 Telephone (713) 774-9526

c

□

5

INC.

Circle 20 on inquiry card.

BYTE December 1977

57

Text continued from page 50

starts with A and proceeds in the minormode sequence, WHWWHWW.

Look at the frequencies of the notescalled D and G in these two keys. For tem-pered tuning, each of these notes keeps thesame frequency although the key changesfrom C major to A minor. For pure tuning,however, each of these notes must belowered by 1.25 percent when changingfrom C major to A minor. A singer orviolinist does this during a performance,but can you imagine a pianist or organiststopping in the middle of a performance toretune two notes in each octave? Bach'sequally tempered tuning survives all suchkey shifts quite well. The most sensitiveintervals (octave, fourth, fifth) are stillimperceptibly different from the purescale, and the other intervals get no worse.You should notice one more thing when youare comparing these two tables. There aretwo kinds of thirds, sixths, and sevenths.As you may have guessed, there are also twokinds of seconds, major and minor. Thereis also an interval called the tritone, so therecan be twelve equal half steps per octave.

So if we list all of the intervals, we find13 to get 12 half steps per octave. Sincethese thirteen intervals form what is knownas the chromatic scale, we'll call this list"Intervals of the Chromatic Scale" andwrite it down in table 3.

You can learn at least five things byinspecting table 3.

First, the k sign is used to denote a halfstep down from a note and is called a flat.

Interval

1 Unison

2 Minor Second

3 Major Second

4 Minor Third

5 Major Third

6 Perfect Fourth

7 Tritone

8 Perfect Fifth

9 Minor Sixth

10 Major Sixth

11 Minor Seventh

12 Major Seventh

13 Octave

C Major

A Minor

|c-

-c|

c-

-Db

|c-

-d|

c-

-Eb

|c-

-E I

|c-

-F |

c-

-Gl>

|c-

-g|

c-

-A

|c-

-A |

c-

-Bk

|c-

-B I

|c-

~C

A-A

A-B

A-B

|A-C

A-Dk

A-D

A-E[

A-E

A-F

A-G'

A-G

A-A'

A-A'

Pure Ratio

Tempered Ratio

1/1

20/12

16/15

21/12

9/8

22/12

6/5

23/12

5/4

24/12

4/3

25/12

(64/45 or 45/32)

26/12

3/2

27/12

8/5

28/12

5/3

29/12

16/9

210/12

15/8

211/12

2/1

212/12

The sign for a half step up is # and is calleda sharp.

Second, you should now be able to write

jcwiiu, yuu miuuiu nuw uc duie iu wi

the notes used in the scales of all major aminor keys. For example, the key of Cminor begins with C and proceedsWHWWHWW, so it would be: C, D, E>>, F,G, A1", B^, C. The key signature is the short-hand used by musicians to specify the key atthe beginning of each line of music:

itV'—

-&*-«—

Table 3: Intervals of the chromatic scale.

KEY OF C MINOR

This tells the person playing the music thatall of the Es, As, and Bs should be playedone half step flat.

Third, the major and minor modessound different because different intervalsare used for the third, sixth, and seventh.

Fourth, the two most dissonant intervals,the minor second and the tritone, are notused in any major or minor key, but areneeded for some key changes.

Fifth, and perhaps most important forimplementation on a "dinky" computerand for experimentation, is that the onlyprime numbers used in the pure pitch ratiosare 2, 3, and 5. Also, 5 only appears to thefirst power and 3 only to the first andsecond powers. You will see later how easyit is to implement the pure diatonic scalewith inexpensive integrated circuits externalto the computer, so the computer is not tiedup by generating the pitches itself. In con-trast, the powers of the twelfth root of twomay be obtained from the moderately ex-pensive "top octave" integrated circuit, orcalculated (but not accurately) in real timeby the dinky itself. In the latter case therewill be little computer power left for calcu-lating the melody or harmony.

From Music to Mathematics and Back Again

Webster defines inversion of a musicalinterval as: "A simple interval with its uppertone transposed an octave downwards. . .Inverted primes become octaves; secondsbecome sevenths; thirds, sixths, etc."

A mathematical inversion Webster definesas: "A change in the order of terms of aproportion. . ." So what if a fifth is just aninverted fourth? Simplification, that's what!If we divide the chromatic scale right in themiddle at the tritone, the bottom half isjust the inverse of the upper half. This meansthat you only need to learn and think abouthalf as much. This is not only true musically

58

liYTL December 1977

DATELINE . . . BASE 2

BASE2 is pleased to offer the following products to the S-100 market at the indslury's lowest prices:

8K Static Memory Board

This 8K board is available in two versions. The 8KS-B operates al 450ns Tor use with 8080 and 8080A microprocessorsystems and Z-80 systems operating at 2MHz. The 8KS-Z operates al 250ns and is suitable for use with Z-80 systemsoperating at 4MHz. Both kits feature factory Tresh 2102's (low power on 8KS-B) and include sockets for all IC's.Support logic is low power Schottky to minimize power consumption. Address and data lines are fully buffered and4K bank addressing is DIP switch selectable. Memory Proloct/Unprotoct. selectable wail stales and battery backupare also designed into the board. Circuit boards an; snider masked and silk-screened for ease of construction. Thesekits are the best memorv value on the market! Available from slock . . .

8KS-B $125

8KS-Z $145

Z-80 CPU Board

Our Z-80 card is also offered in two speed ranges. The C.PZ-1 operates at 2MHz and the CPZ-2 operates al 4MHz.These cards offer the maximum in versatility at unbelievably low cost. A socket is included on the board for a 2708EPROM which is addressable to any 4K boundary above 32K. The power-on jump feature can be selected to addressany 4K boundary above 32K or the on-board 2708. An On-board run-stop flip-flop and optional generation of MemoryWrite allows the board to run with or without a front panel. The board can be selected to run in either the 8080 mode,to lake advantage of existing software, or in the Z-80 mode for maximum efficiency. For use in existing systems, a wailState may be added to the Ml cycle, Memorv request cycle, on-board ROM cycle, input cycle and output cycle. DMAgrant tri-states all signals from the processor board. All this and more on top quality PC boards, fully socketed withfresh IC's.

CPZ-1 $110

CPZ-2 $125

S-100 for Digital Group Systems

This kit offers, at long last, the ability to lake advantage of S-100 products within your existing Digital Group main-frame. Once installed, up to four S-100 boards can be used in addition to Ihe existing boards in the D.G. system. Thesvslem includes an "intelligent" mother board, ribbon cables to link existing D.G. CPU to Ihe DGS-100 board and apower wiring harness. The DGS-100 is designed to fit in Ihe 5 V x 12" empty area in the standard D.G. cabinet. Itmay seem expensive but there's a lot here! End vour frustration!

DGS-100 $295

16K Static Memory Board

Base 2 can now offer the same price/performance in a 16K static RAM as in its popular 8K RAM. This kit includes 8Kbank addressing with 4K boundary address setting on DIP switches. This low power unit provides on-board bankselection for unlimited expansion ... No MUX board required. Using highest quality boards and components woexpect this kit to be one of Ihe mosl popular units on the market. Available in two speed ranges, the 16KS-B operates.il 450ns while the 16KS-Z operates at 250ns.

16KS-B $285

16KS-Z $325

Send for more details on these products. Got on our mailiniproducts al factory-direct prices from BASE2. Why pay more w

for information on more soon to be announced

ba/e_ inc

p.o. box 9941

marina del rey, ca. 90291

213/822-4499

CA residents add 6% taxMC/BAC accepted

p.o. box 9941

marina del rey, ca. 90291

213/822-4499

FOB —U.S. destination

irele 8 on inquiry card.

and mathematically, but your own earswill also easily recognize the similaritiesbetween an interval and its inverse.

Try the following experiment on anypiano or organ that's in tune. Pick out anyblack or white key and call it 1 for ref-erence. This home note is called the tonicand should be located near the center of thekeyboard for reasons I'll explain in amoment. Now find note 6 by counting upsix keys including 1 and all black and whitekeys. Now play both 1 and 6 together;that's how a perfect fourth sounds. Try itagain with 1 and 8 this time; that's how aperfect fifth sounds. Now go back and forthbetween 1 and 8 and then 1 and 6 to get afeel for the fifth and its inverse. Next trythe same thing with 2 and 7 then 2 and 9.These two intervals are also the fourth andits inverse, the fifth, but you have trans-posed them up by half a step. Now try aminor third and its inverse, the major sixth.First play 1 and 4 together and then 1 and10 together.

You should notice that the minor thirdand major sixth don't sound quite as sweetor harmonious as the fourth and fifth did.Now try transposing up a half step to 2 and5 then another half step to 3 and 6, and soon up the keyboard. Do the same with thefourth, first 2 and 7, then 3 and 8 and so onup the scale. Notice how the fourth andminor third sound similar regardless of thetonic or home key chosen, and how theyare clearly different from each other even ifplayed in different octaves; in music as inphysics everything is relative to the observer.

You may even want to make a list foryourself of the intervals which sound alike.You can also note which intervals are mostharmonious and which are most dissonant,or rough. I'll even bet your list looks likemine! If you think I've biased you, haveyour friends or family make lists. I'll bet

Interval

Ratio

Inverse

Octave Shift

Musical Inverse

Unison

1/1

1/1

2/1

Octave

Fourth

4/3

3/4

3/2

Fifth

Major Third

5/4

4/5

8/5

Minor Sixth

Minor Third

6/5

5/6

5/3

Major Sixth

Major Second

9/8

8/9

16/9

Minor Seventh

Minor Second*

16/15

15/16

15/8

Major Seventh

Tritone

64/45

45/64

45/32

Tritone

*The minor second is more dissonant to me than the tritone, but the tritone seemsmore dissonant to me than the major seventh, so the minor second doesn't fit inthis list very well.

Table 4: Music to mathematics to music. The intervals useful in music arelisted in order from the most harmonious to the most dissonant. Most peopleare in good agreement about the order of evaluation of the relative degrees ofharmoniousness in the first five intervals listed.

they all are in agreement. Table 4 containsmy list, which I've called "Music to Mathe-matics to Music" for reasons you'll see ina moment.

Now isn't that a remarkable historicalachievement: what musicians have beencalling an inverse is also an inverse of the fre-quencies of pitches according to the mathe-matical definition of inverse. Although I'mneither mathematician nor musician, I haveread a number of books on both subjects,including some on the psychophysics ofmusic, and I have never seen this simpleand simplifying correspondence of musicaland mathematical inverses mentioned. Per-haps it was information lost with the burn-ing of Pythagoras and his temple 2500 yearsago. A close look at my list of most har-monious to most dissonant reveals that asthe top and bottom of the fractions getlarger, the harmony decreases and thedissonance increases, (with the exceptionof the minor second; but let's forget aboutthis exception for the moment).

The order in this list is no accident;neither is it a learned cultural bias! It is asif we had a brain with a center which con-tinually seeks for simplicity, harmony andorder. The harmonic series: 1, 2, 3, 4, 5,6, . . ., is found extensively in man'stheories about nature. Is this because it is aproperty of nature, or is it because man'sbrain can understand things better if theyare in such a series? Such a question isinteresting, but can only be raised and notanswered in an article about music forcomputer nuts. Music, like speech, is uniqueto man and is totally abstract. By abstract,I mean that for the most part, no attemptto copy nature is made.

Music is solely a product of man's brain,or ear-brain combination. Here is where wefind harmonic series galore. A musical chordsuch as the major triad is three notes playedtogether, the frequencies of the notes beingrelated to each other as elements of a har-monic series are related. In the key of Cmajor, the major triad is C, E, and G whichhave pitch ratios of 4, 5, and 6 (ie: 4/4,5/4 and 6/4). Often to make the chordsound fuller, a musician will add the C anoctave lower, and the C an octave higher.This also fills out the harmonic series somemore: 2, , 4, 5, 6, , and 8. How about themissing 1, 3, 7, 9, etc? You can try 1 and 3for yourself; they are simply the C an octavelower still, and the fifth up from the nextC, and they fit in beautifully.

Unfortunately, you won't be able to try7 on a piano; it would be 7/4, which is1.8 percent lower than B , a minor seventhfrom the C of the triad. Fortunately, if you

60

BYTE December 1977

6800 Text Editing System

This Editor has caused more talk than anyother TSC program. Most users find it hard tobelieve its power. The TSC Text Editing Systemwill allow extreme ease in any text preparation,whether it be an assembler language programor a legal document.

Included are all the usual edit features pluscommands for block move, block copy, tabs,local and global string changes, and overlays.All editor commands can be used as contentoriented commands. The commands mayalso be used in a character, line, or relativeposition fashion and either in a local or globalsense.

Some other unique features include theability to work forward or backwards through afile, restrictive column zone definitions, a de-finable tab fill character, plus many more.

The TSC Text Editing System comes com-plete with assembler language source listingand a very thorough users manual which in-cludes a "Mini-Tutorial" for those wishing to getstarted immediately.

SL68-24 Manual and Source Listing $23.50With Cassette $ 30.45 With Paper Tape $31.50

Meet the TSCText Handlers!

6800 Text Processing System

The TSC Text Processing System is by farthe most powerful text formatter available to themicro user. Over 50 commands are providedfor easy paging, margin setting, and spacing.Right, left, right and left, and center justificationmodes are all handled. The TSC Text Proces-sor is actually a formatting language whichallows the creation of macros including vari-ables. All of these features allow for veryefficient footnote handling, special documentpreparation, and form letters.

Other features supported include pagenumbering (either Arabic or Roman Numerals),complete page size control (line length, pagelength, top, bottom, left and right margins, etc.),tabs, conditional formatting control, exact titleplacing, contiguous space and text control, plusmuch, much more.

The Text Processor in conjunction with theText Editor will give your micro the powers ofthe best text processing system available. Thecomplete assembler language source listingand extensive users manual are included.SL68-29 Manual and Source Listing $ 32.00With Cassette $38.95 With Paper Tape $40.00

8080 Systems Available Soon!

TECHNICAL SYSTEMS

CONSULTANTS, INC.

CWPODO-

rUQoaa a ooouo

t7POCD D Q DOOQ

■ OX 2574 W.LAFAYETTE INDIANA 47906317 742-7509

SPECIALISTS IN PROGRAMS. SOFTWARE. * HARDWARE FOR INDUSTRY A. THE HOBBYIST

d W/Cassette $30.45d W/Paper tape $31.50 t□ Complete 6800, 8080,alog 25<t

Name

□ W/Cassette $38.951

W/Paper tape $41.00|

& 6502 Software Cat-|

Adrireqq I

City

State

Zip 1

Circle 118 on inquiry card.

BYTE December 1977

61

build the pure diatonic scale interface de-scribed below, you will be able to hear foryourself how well 7 fits into the series. Alsoyou will be able to hear 11, and 13, and tohear how, and under what conditions theyfit.

The ear-brain wants so much to hearharmonic series that it will even fill inmissing pitches. The "missing fundamental,"or the lowest note of a harmonic series, hasbeen studied by many doing acoustics re-search. If your ear is presented with a seriesof tones whose frequencies are in the ratiosof whole numbers such as 2, 3, 4, 5, 6, or3, 5, 7, 9, your brain tells you that youactually hear the pitch corresponding to 1(the fundamental) also!

Now let's get back to the dissonance ofthe minor second and why you needed tostay in the middle of the piano keyboardto do the experiments with intervals. If twopitches are very close together, the ear can-not tell them apart, and they are heard asa single smooth pitch. If the pitches are farenough apart, two smooth and distinct notesare heard. If the distance between thepitches is in the critical band, the two notesare heard as two more or less rough notes.This roughness is maximum at 1/4 of thecritical band. It turns out that the minorsecond is 1/4 of the critical band over themiddle of the piano range, and this is why it

sounds so dissonant. The width of the criti-cal band is roughly equal to:

100 Hz+ 50 Hz xf

where f is the frequency of the note in kHz.You can calculate that, as you go to lowernotes on the piano, roughness, or dis-sonance, will be heard in the minor and thenmajor thirds, and still lower will be heardeven in the fourth and fifth, until at thelowest octave the only consonant intervalwill be the octave itself. Thus, if you wantthe music you compose to sound har-monious, you should have the pitches re-lated to each other in the harmonic series,and pitches played at the same time shouldbe more than 1/2 of the critical band apart.Analysis of music composed by Bach andDvorak shows that their chords obey thesetwo simple rules.

To compose interesting music, you'llneed a few more rules. Most music hastwo features, constancy and variety.It is as if the brain center which looked fororder, simplicity, and harmony was easilybored, so once it found a pattern, it wouldsoon be looking for another. Our musicalneeds vary. Sometimes we want very simpletunes so we can unwind, and at other timeswe need complex melodies to keep ourinterest. Once you have made a tune with acomputer, it will be possible, in principle,

TTL 5 VOLT

CMOS 12 VOLT

KIM-ICOMPUTER

TTL b VOLT

CMOS 12 VOLT

R/W.K5, <t>2

Ap TO Ag

D0 TO D7

Do TO D7

A0 TO A7

FOR FUTURECMOS EXPANSION \

(_ $2, 12 VOLTS

5 VOLT TTLTO 12 VOLTCMOSLEVELSHIFTER

$2

Do TO

E>

WP20 TO WP22

l

T

D4000T0 DW PR0G'"° U "V DIVID

75oi \ and' n

Dp TO D7y

7402 \

Dp TO D7 /

ll

RAMMABLEERS FORKEY, OCTAVE,OTES

FIGURE 2(BLOCK)

WW 1400 TO WW 1402 STROBES

R/W, K5, <t>2

Ap TO Ag

-J

A

ADDRESSDECODER

NOTE 2 )

NOTE 3 )

NOTE 4 )

SQUARE WAVENPTE OUTPUTS

WW 1403 TO WW I4P7WRITE STRPBES

FPR

FUTURE

USE

*2=CLCCK PHASE 2, ICOMHz

Figure 7: Block diagram of the musical tone generator interface. All logic (see figures 3 and 4) of the tone generator itself is12 V CMOS, with level conversion from the TTL 5 V levels at the computer output.

62 BYTE December 1977

ARTEC Introduces

The Expandable 32K Elephant

The 8K-32K Expandable Memory That Grows With Your System

Now, for the first time, you can have areliable true static memory that will growwith your system. Start with the board and8K memory. Then add on one, two or three8K increments of memory up to 32K. 250 nsaccess time. The Artec 32K ExpandableMemory allows you plenty of room formemory and all necessary support hardware.

For five years Artec craftsmanship andreliability has been proven in tough industrialuse. Now, you too can enjoy breadboardsand memories that will work time after time.Boards like the GP 100 and the wire wrapWW-100. Send for an Artec Board, yourorder will be sent the same day as received.

Board & 8K of memory—$290.008K add on kits—$255.00 ea.Full 32K board—$1,055.00

MM I IMl

4W'-g| :

d« SsrfiBI

IlliSFlBBl

GP-100—$20.00

Maximum designversatility alongwith standard ad-dress decoding andbuffering forS—100 systems.Room for 32 un-committed 16 pinIC's, 5 bus buffer &decoding chips, 1. DIP address selectswitch, a 5 volt reg-ulator and more.High quality FR4epoxy. All holes platedthrough. Reflowed sol-der circuitry.

WW-100—$20.00

A wire wrap breadboard,similar to the GP 100. Al-lows wirewrap of allsizes of sockets in anycombination. An extraregulator position formultiple voltage applica-tions. Contact fingerpads arranged for easy

TO ORDER: Use your Mastercharge orBankAmericard. Or just send along a moneyorder. Your order will get same day service.

FOR MORE INFORMATION: For moreinformation about these or any of Artec'scomplete line of circuit boards or for eitherindustrial or personal use, please call orwrite. A catalogue will gladly be sent.

Please send me:

D 32K D GP-100 □ WW-100□ I've enclosed a money order.Bill my □ Mastercharge

□ BankAmericard No.

Name —AddressCity

-Zip.

10% discount for students & computer club members.

pin insertion.

mec aecTRonia, inc.

605 Old County Rd. • San Carlos, CA 94070 • (415) 592-2740

Circle 5 on inquiry card.

BYTE December 1977

63

for you to have the computer make allsorts of variations of your tune to keep itinteresting.

Now let's switch gears from music tocomputer oriented electronics and find outhow to build a diatonic computer musicinterface. The interface costs less than $19to build, including 24 integrated circuits,LEDs, resistors, four diodes, and a universaltype printed circuit board. It will put outfour notes simultaneously, and will play inalmost nine octaves (17.36 Hz to 7812.5Hz). The highest and lowest octaves have12 and 13 different notes, and the middleseven octaves have 33 notes each, givinga total of 256 unique notes. It uses threebytes of memory space.

The interface can be functionally divided(see figure 1) into four parts:

• A set of programmable frequencydividers.

• A three byte latch.

• An address decoder.

• A level shifter to change the 5 V sig-nals from the computer to 12 V sig-nals for the CMOS circuits so theycan operate fast enough to follow the500 ns write pulse put out by thecomputer.

The block diagram shows that I've chosenhexadecimal addresses 1400 to 1402 to drivethe interface. This is a convenient memorylocation for me because I have a KIM-1with 12 K of memory and these locationsare not used for anything else. You'll noticethat I've also decoded write pulses forhexadecimal addresses 1403 to 1407 andpage selects of addresses 20XX to 22XX forfuture expansion of the interface. Also,eight address lines, eight data lines, a clockline, and the write pulses for addresses20XX to 22XX, all at 12 V, are broughtout to the edge connector for use withother CMOS interfaces.

Figure 2: Detail block dia-gram of the tone genera-tor, which uses the 1 MHzclock of the KIM-1 as itsfrequency standard. Theoutputs at right are squarewave signals which can besent to further filteringand signal processing be-fore mixing down to oneor two stereo channels.

*2

DO TO

s>

SIX

HALFBYTELATCHES

STROBE

TT

YVI400, Dp TO D3

J

f|„« I.OOMHz

KEY

SELECT

WI400, D4 TO D6

OCTAVEGENERATORANDSELECTOR

WI40I, Dp TO DJ) sELEXT

WI40I, D4 TO D7

D

NOTE 2SELECT

WI4Q2, Dp TO~blT) NOT

rE 3_ECT

WI402, D4 TO

^)

NOTE 4SELECT

WI400, D7

■f|( = 66,7KHz TO I25KHZ

-^n (n= I, 2, 3,4, 5, 6,7, 8) fk0 = 520.8Hz TO I25KHZ

WWI400 TO WWI402

FLIP

FLOP

R

FLIP

FLOP

R

FLI P

FLOP

R

FLI P

FLOP

R

—r-

4—►OUTPUT NOTE I

(fkonl=l74Hz TO 7.8KHz)

-►OUTPUT NOTE 2

(fkon2= 17.4Hz TO 78KHz)

-^2

-►OUTPUT NOTE 3

lfkon3=34.7Hz TO 122.IHz)

-►OUTPUT NOTE 4

lfkon4=69.4Hz TO 244.1Hz)

64

BYTE December 1977

DYNAMIC RAMS

• Bank Selectable via Software

• Addressable in 4K increments

• On Board Refresh

• ROM phantom line to inhibit RAM for ROM

• Addressing Switch Selectable

• Solder Mask Both Sides

• Top Quality FR-4 fire resistantglass board material

32KDS

64KDS

.. 750.01,850.0

STATIC RAMS

l t fcWI ( i wtr'"'M

■—Hera —nri

' • B-'J''.'^ i B. nH

—WHM ' mirw

■ "•■•■ .* 1,,,. J i^TM

■ H| 'V HI

iiiiiiinrti tiuiitriTiTrrrriYtTiiEntlf

-X-8KSC-Z-16KSC-A

• Access times to 250 nsec.

• Address selectable by DIP Switch

• All Address, Control, and Dataoutlines fully buffered

• Low Power Consumption

• Meets all DMA requirements

• Solder Mask both sides of PC. boards

• Top Quality FR-4 fire resistantglass board material

:K*M<

KSC-

6KSC-A (250 nsec.)

.... 269.00.... 579.00

ALL BOARDS S-100 BUS COMPATIBLE

ERSALPR

Have you seen the Seals Electronics, Inc.,Peripheral Universal Processor-PUP-1 ? It is thenewest member of the Seals family of perfor-mance products. The PUP-1 is designed to meet

all the needs and demands placed on a con-tinuous-duty micro-computer by OEM appli-cations. Write or call Seals factory direct formore information.

SEALS ELECTRONICS, INC.

10728 DUTCHTOWN RD. ■ CONCORD, TN. 37720

PHONE 615-966-8771

TELEX NO. 55-7444

Circle 101 on inquiry card.

BYTE December 1977 65

*2 O [J>C-

ALLRES630I/4W

ISTORS £

IC47406

O-^fc^

IC4

7406

o—HS***-

O-^fcx^

IC47406

04 C>-

^

IC47406

"5 n>—4£*^

C—^

ICI7406

07 £>-

Dl02D3

IC84042

Ql

61 ■

03 ■

02 03 Q4

$>' (*)(*) (*)(*)

02 Q3 Q4

oooeoo?

+4Z

in,

IC9J3 4029

ICiO4001

KEY DIVIDER

fb- INH405

;^B^

ICI44042

NSL5053

^p^pi^D

1

ICI84042

NSL ■5053

02 03 04

30 CO 00 OS

♦ 12

1 SFY

WWI40D /77 L

+ 12

Jtli

icts

J2 4029J 3 CO

71

IC204042

01 02 03 04

NSL •5053

30 Qt

IC234042

•current thru led indicatorsis limited by the outputs of

THE 4042'S

NSL *5053

Q4 Q3 Q4

30 00000?

♦ 12

J2 IC2I

J3 4029

Ti

+ IZ

in,

IC24

*' 4029J3 CO

CIUP/ON PE

XI

L.

Ql02

ICI34024

03

Q«

05

06

07

OCTAVE GENERATORAND SELECTOR

~^h

ICI 7

4001

iE>n

JO

J

ICI74001

ICI64013

7

JZl

:ijs^

D 0

0 ,C22 R

4013

0

I

ICIO4001

^>c±

Q

IC224013

j

DEFAULT MIXING CIRCUIT

I^F25V

■Onote I

SELECTOROUTPUT

-O NOTE 2

SELECTOROUTPUT

-ONOTE 3

SELECTOROUTPUT

-O NOTE 4

SELECTOROUTPUT

• I 1£ ®T0 AUDIO AMP (~2 3VPP)

<> "7 USE THIS AS A QUICK

470 KLUGE IN LIEU OF

4 w , MORE ELABORATE

/?j SYNTHESIZER MODULES

.J

Figure 3: Schematic of the tone generator's key, octave and note selectionlogic. A default mixing circuit is shown to allow connection of all four out-puts directly to one audio amplifier for testing.

66

BYTE December 1977

Peripheral Vision is a young, fast-moving companythat's dedicated to selling reasonably pricedperipherals for various manufacturers' CPU's.

So now, when you build your microcomputersystem, you'll know where to iook for all theperipherals that will make your system do what it'ssupposed to do.

Peripheral Vision may be young, but we have someold-fashioned ideas about how to run our business.

We know there are serious incompatibilities amongthe various manufacturers' peripherals and CPU's.We want to get them together. And we want to bringsignificant new products to market—productsconsisting of everything from adaptationinstructions/kits for hardware and software to majornew designs.

Most important to our customers, Peripheral Visionis committed to helping you get along with yourcomputer. We'll do all we can to make it easy.

Our first product is a real reflection of thisphilosophy. It's a full-size floppy disk for the Altair-Imsai plug-in compatible S-100 BUS. And it'savailable for as low as $750.00.

Our floppy disk has many exciting features:•1 interface card supports 4 or more drives•Stores over 300,000 bytes per floppy•Bootstrap EPROM included—no more toggling orpaper tape

•Completely S-100 plug-in compatible

•Drive is from Innovex (the originator of the floppy

concept)~assembled and tested

•Disk operating system with file management

system included on floppy

•Cabinet and power supply optional

Also in the works are many new products we'll beletting you know about soon, if you'd like to take acloser look. Like I/O cards, tape drives, an impactprinter—all for the S-100 BUS—and we're designingperipherals for a lot of other CPU's too.

We've given you a little glimpse of who we are andwhat we're doing. If you want to see more, just fill inthe coupon below.

RO. Box 6267/Denver, Colorado 80206 303/777-4292

Nome

City/State/Zip .

Circle 91 on inquiry card.

BYTE December 1977

67

R/W Q>~

K5 O-

A9 O

A8 O-

A7 O

A6 IZ>

I I

3n^ t

*2 C>

A5 O

A4 [I>

A3 O

A2 O

Al O-

AO C>

H>>2-

^

IC37406

H>^

H>o-E

IC27406

5J>*~6

&o$

9J>^8

11 r»^^IO

I I

3 fc^- 4

ICI7406

^

3fi^J2

^

;630 >630

lirs^.10 1

4>^

•630

■630

+ 12

I I

;630

■630

'630

•630

+ 12

; 630

+ 12

•630

■630

+ 12

'630

+ 12

■630

10

IC54028

IC64023

113. N

13

10

WP22

WP2I

-CI> } FUTURE USE

WP20

■oJ

+12

IC37406

I3I>^J2

•630

J°J£ 1 ^

Ar' IN746*>■ 3.3VIN4I48

SH>

IN4I48 J

+12IC2 §

7406 S630

I3r>v 12 1

4>^

3.3V

IC74028

"6""5""4»

"3""2""I""0"

4 WWI400

LATCH STROBE PULSES

C> TO KEY, OCTAVE

7 WWI40I

-£> TO NOTES I, 2

J *^°<L-C>T0 NOTES 3,4

I WWI403 p-Q

16 WWI404

I

o

2 WWI405

14 WWI406 |-L

i '

i

3 WWI407

FUTUREEXPANSION

Figure 4: Schematic of the tone generator's KIM-1 address space decoding, adiagram of the edge connector, and power wiring table for figures 3 and 4.

68 BYTE December 1977

The six programmable dividers are theheart of the interface (see the detail blockdiagram of figure 2 and circuit diagram offigure 3). Five of these are 4029 presettable,bidirectional, binary or decade counters setup to count down in binary mode. In thismode the carry out (CO) line goes low when-ever the counter counts down to 0. The COsignal is inverted and returned to the presetenable (PE) input which sets the counter tothe value of the binary number on input pinsJ4 to J1. Each positive transition of theclock (C) input causes the counter to countdown by one as long as the clock inhibit(CI) is low. Because J4 (pin 3 on IC9, IC15,IC19, IC21, and IC24) is always high, thecounters may be set to divide by 8, 9, 10,11, 12, 13, 14, or 15, depending on thebinary number on inputs J3 to J-|. Thisnumber is stored in 4042 latches by writingthe data into D3 to D-| of the latch as if itwere a memory location. For example, if abinary three (011) were on J3 to J1, 8+3, or11 would be loaded into the counter whenPE went high, and the C input would have11 positive transitions before CO would golow, forcing PE high momentarily, and again

loading the counter with 11. Thus the fre-quency of PE pulses would be 1/11 of thefrequency of positive transitions at C. Aflip flop at the output of the note dividersconverts the PE impulses into square waveswith a 50 percent duty cycle. Each of theQ4 latch outputs turns off a divider andthus turns off the sound of one or morenote outputs. Bits 4 and 8 of hexadeci-mal location 1400 turn off all the sound,whereas bits 4 and 8 of address 1401 and1402 turn off notes 1 thru 4, respectively.The reason for all this turn off is that musichas a lot more silence in it than is generallyrecognized. To make notes sound distinct,rather than all run together, the sound mustbe shut off for periods of 10 to 50 ms (forexample).

The key selector divides the computer's1 MHz clock by a number from 1 5 to 8 toproduce frequency f|< of 66.7 kHz to 125kHz as shown in the second block diagram.A binary divider, IC13, produces sevenmore octaves (factors of two in frequency)from f«, and the 1 of 8 selector, IC12,selects one of the octaves, f|^Q (520.8 Hz to125 kHz), based on bits 6 to 4 stored at

Number

PoweType

r Wiring Te+5V

bleGND

+12 V

IC1

7406

14

7

—

IC2

7406

14

7

-

IC3

7406

14

7

-

IC4

7406

14

7

-

IC5

4028

-

8

16

IC6

4023

-

7

14

IC7

4028

-

8

16

IC8

4042

-

8

16

IC9

4029

-

8

16

IC10

4001

-

7

14

IC11

4042

-

8

16

IC12

4051

-

8

16

IC13

4024

-

7

14

IC14

4042

-

8

16

IC15

4029

-

8

16

IC16

4013

-

7

14

IC17

4001

—

7

14

IC18

4042

-

8

16

IC19

4029

-

8

16

IC20

4042

-

8

16

IC21

4029

-

8

16

IC22

4013

—

7

14

IC23

4042

-

8

16

IC24

4029

-

8

16

Edge Connector Wiring Diagram

+5 V

1

A

ground

12 V output 02

2

B

write page 20 *

f *2

3

C

write page 21

R/W

4

D

write page 22

K5

5

E

D0

D0

6

F

D1

D1

7

H

D2

D2

8

J

D3

D3

9

K

D4

D4

10

L

D5

D5

11

M

D6

> 12 V outputs

D6

12

N

D7

5 V inputs *

D7

13

P

A0

A0

14

R

A1

A1

15

S

A2

A2

16

T

A3

A3

17

U

A4

A4

18

V

A5

A5

19

w

A6

A6

20

X

A7

A7

21

Y

Ag 5 V input

A8

22

z

+12 V

Continued on page 170

BYTE December 1977

69

the best way to buildyour system..♦

IMSAI introduces

the PCS-80component system.

is to take it apartpiece by piece.

Compare the features of our S-100 bussystem, the industry standard, to anyoneelse. After you've taken them apart piece bypiece, you'll know why IMSAI is the systemyou can grow with. At a price you can livewith.

IMSAI 80/30 Integrated Video Computer(with Intelligent Keyboard-IKB-1)Standard Features:

D Price assembled $1499. IMSAI is the onlyS-100 bus manufacturer that offers a micro-processor driven keyboard with "N" keyroll over, 2'AK of RAM, 8 expansion slots,choice of 4K, 16K, 32K and 64K RAMexpansion boards, 3K ROM monitor,synch/asynch serial interfaces, parallel andserial ports, high resolution CRT monitor,24 x 80 display with graphic editing anddata entry features, and 28 amp power sup-ply for the incredibly low price of $1499.

□ mpu Speed. IMSAI is the only S-100 busmanufacturer that offers true 8080 com-patibility, operating at 3 mHz.

□ RAM Included. 2'AK.

□ Expansion Slots. Eight expansion slotsare provided in a new terminated and regu-lated motherboard (10 slots total).

□ RAM Board Sizes. IMSAI is the onlyS-100 bus manufacturer to supply 4K, 16K,32K, and 64K RAM memory expansionboards.

□ ROM Monitor. IMSAI is the only S-100bus manufacturer to provide 3K of ROM.

□ Asynch/Synch. Only one other S-100 busmanufacturer provides both methods ofdata communication.

D PIO/SIO. IMSAI is the only S-100 busmanufacturer that provides two serial portsand one fully implemented parallel port atno extra charge.

□ Video I/O. IMSAI is the only S-100 busmanufacturer to include a high resolution(14 mHz) monitor as an integrated part ofthe computer.

D CRT Format. IMSAI is the only S-100bus manufacturer to provide a full 24 x 80screen, which is two times the capacity ofthe common 16 x 64 screen.D Graphic/Edit. IMSAI is the only S-100bus manufacturer that provides graphicsand text editing features with character andline insert/delete for your CRT display.

D Keyboard Included. IMSAI is the onlyS-100 bus manufacturer to supply a micro-processor driven keyboard with "N" keyroll over and tiered construction for a truetypewriter keyboard touch.

□ 28 amp Power Supply. The world famousIMSAI power supply assures stability andreliability of performance.

Options: IMSAI is the only S-100 bus manu-facturer to provide a comprehensive arrayof fully integrated options including: lineand character printers, CRT terminals,intelligent keyboard, ACR storage, stan-dard and mini floppies, TTY BASIC withOS, 4K, 8K and 12K BASIC, audio cassetteBASIC with OS, 8K disk operating system(DOS) based upon CP/M* scientificallyand commercially oriented disc BASIC andlevel 2 FORTRAN IV compiler.D Printers. Only one other S-100 bus manu-facturer can supply both line and characterprinters.

□ CRT/Keyboard. IMSAI is the only S-100bus manufacturer to provide both CRTterminal and intelligent keyboard asseparate options.

D ACR Storage. Available.D Floppies. IMSAI is one of the few S-100bus manufacturers to provide bothstandard and mini floppies and the onlyS-100 bus manufacturer that suppliesdouble density standard floppies.

□ TTY BASIC. IMSAI is one of the fewS-100 bus manufacturers that provides self-contained operating systems with 4K, 8Kand 12K BASIC.

□ ACR BASIC. IMSAI supports ACRBASIC with an 8K version.

D DOS. IMSAI is the only S-100 bus manu-facturer to provide an enhanced version ofthe control program monitor (CP/M*) thatcan support up to 18 disk drives.

□ Disc BASIC. IMSAI is the only S-100 busmanufacturer that provides both scientificand commercial versions of compileroriented BASIC.

D FORTRAN IV. IMSAI is the only S-100bus manufacturer that offers a level 2FORTRAN IV compiler that operatesunder an enhanced version of CP/M.*

Prices and specifications subject to change without notice.*CP/M is a trademark of Digital Research Corporation.

Price/Performanceno one else has put together.

m

The Standard of Excellence

IMSAI Manufacturing Corporation, 14860 Wicks Blvd., San Leandro, CA 94577 (415) 483-2093 TWX 910-366-7287 in Microcomputer Systems

Circle 61 on inquiry card.

BYTE December 1977

71

TechnicalFwum

The XF and X7 Instructions

of the MOS Technology 6502

H T Gordon

Dept of Entomological Sciences110 Wellman HallUniversity of CaliforniaBerkeley CA 94720

Technical Forum is a fea-ture intended as an Interactivedialog on the technology ofpersonal computing. The sub-ject matter is open-ended, andthe intent is to foster dis-cussion and communicationamong readers of BYTE. Weask that all correspondentssupply their full names andaddresses to be printed withtheir commentaries. We alsoask that correspondentssupply their telephone num-bers, which will be printedunless we are explicitly askedto omit them.

None of the operation codes listed in theinstruction set of the MOS Technology 6502has a low order bit pattern of 1111 (hexa-decimal F) or 0111 (hexadecimal 7), al-though many have 1110, 1101, 0110 or0101. How does the processor interpretop codes of type XF or X7 where X is anarbitrary high order digit?

When I tried this out I found that it exe-cutes them as valid instructions to do boththe XE and XD, or both the X6 and X5instructions, with fascinating and usefulresults. Thus for example A5 XX causesa load of the byte in page zero locationXX into the accumulator, A6 XX loadsthis byte into the X register, and A7 XXloads it into both index registers, an oper-ation that would need three program byteswith the conventional coding.

Op code 87 is even more interesting,since 85 XX stores the value in the accu-mulator into page zero location XX and

86 stores the value in the X register intoXX, and it is obviously impossible to storetwo different values simultaneously in onelocation. The effect of 87 XX is to storeinto location XX only those 1 bits thatoccur in both the accumulator and theX register. The effect is that of a logicalAND between the accumulator and theX register (neither one being altered), withstorage of the result into XX.

The effect of 97 XX resembles that of

87 XX, except that the result of the ANDis stored in page zero location XX + Y,since Y indexed storage is used by opcodes 95 and 96. Since these are storeinstructions, no testable flags are set. Ingeneral, op codes of type XD and XEhave the same logic as X5 and X6, differingonly in having a 2 byte absolute addressinstead of a 1 byte page zero address. Thisis not true for op codes of type 9X. Bothare nevertheless executed, but the operationsare not the same as those of 96 and 97.They resemble the valid 9D in that storage

into a Y indexed absolute address (XXXX +Y) is commanded. However, 9E stores theresult of an AND between the byte in theX register and hexadecimal immediate value02, ie: if bit 1 of this byte is a 1, 02 isstored, and if not, 00 is stored. (I have noidea where the processor finds the 02.) Opcode 9F stores the result of an ANDbetween the value 02, the X register, andthe accumulator; if the bytes in both re-gisters have a 1 in bit 1, 02 is stored; other-wise 00 is stored.

When X6 and X5 command differentoperations, X7 causes the X6 to be donefirst, followed by the X5. For exampleE7 XX causes the byte in XX to be incre-mented by 1, then subtracts this value fromthe accumulator, setting the proper flagsand leaving the result in the accumulator.Everything the "new" instructions do couldof course also be done with the conventionalset, using more program bytes and time.Most of the unused op codes of the 6502"run," but 12 of type X2 cause operationsto become "lost in space," from which onlyRESET can rescue them. It would be inter-esting to know whether some of the unusedop codes of other microprocessor designswill also prove to be valid instructions.

Since discovering the XF and X7 instruc-tions, I have found that there are also"unofficial" XB instructions. For exampleA9 XX is a load immediate of the byte XXinto the accumulator, and AA commandstransfer of the byte in the accumulatorinto the X register. The effect of AB XXis to load XX into both the accumulatorand X registers, setting the usual flags.Some other XB op codes are also executed,but I have not yet had time to work outtheir operation. I have no doubt that someof these instructions could be put to use,but there is a hazard. If manufacturersdecide to add new planned instructionsin chip redesign, programs using the un-planned ones will be incompatible."

72

BYTE December 1977

$,

The *6,000 DP

Center.

IMSAI Introducesthe VDP-80

Until now. owning real computing power meant payingunreal prices. Announcing the IMSAI VDP-80 Video DataProcessor, a complete computer, intelligent terminal andmegabyte floppy disk mass storage system. All in onecompact cabinet. All for just $5995? A complete desk topDP center.

For small business applications, the VDP-80 places astand-alone computer at your fingertips. And, our full lineof add-on peripherals, assures that the system can beexpanded as your needs do.

For the large business user, with an existing centralmainframe, the VDP-80 is the ultimate remote processor.You have the advantage of powerful local processingcapability, plus the epitome in cost-effectiveness forimplementing a distributed data communications network.

Take a close look at the following features. Then you'llknow why we call our VDP-80 the desk top DP center.

D Powerful, High-Speed, Central Processor. 3 mHz

Intel 8085 microprocessor. 32K RAM memory (expandableto 196K). Parallel and serial I/O. Asynch, synch andbisynch communications. Programmable baud rates(.05-56 KB).

□ Megabyte Mass Storage. PerSci dual floppy, doubledensity disk drive standard. One million byte storagecapacity. Three floppy disk drives can be added-on,providing 4 million bytes of on-line storage.

D Drives Printers, Plotters, Terminals, Modems andTape Drives. Supports up to six terminals or modems, andfour tape drives. Drives plotters, serial printers and lineprinters (up to 300 1pm).

Circle 61 on inquiry card.

□ 12"CRT, 24x80 Field, User Programmable Font.

Character and line insert/delete allows fast programcorrection and text editing. Inverse video and programmablefield allows highlighting or enlarging graphics of informa-tion display. Titled fields protect information blocks frombeing written over accidentally. Programmable font (up to256 different characters) allows foreign language and specialpurpose character forms.

ii Alphanumeric Intelligent Keyboard. 62-pad mainkeyboard. Programmable 12-pad numeric keyboard. 12-padcontrol keyboard. Standard typewriter and calculatorkeyboard layouts. "N" key roll over reduces operator errorduring high-speed data entry.

D Commercial BASIC, FORTRAN IV, DOS Software.

Built-in ROM monitor allows extensive debugging anddiagnostics. BASIC, interactive or compiler version.FORTRAN IV level 2 ANSI compiler. DOS-enhanced CP/M.**

Distributed processing, financial reporting and analysis,word processing, whatever your application, the VDP-80 isyour answer.

Dial (415) 483-2093, and we'll tell you how you can putour $5995* DP Center on your desk top. When it comes tosmall business computers, Just Ask IMSAI.

"Base price VDP-80/1000. $5995. with 32K RAM memory and dual double density floppydisk drive. U.S. Domestic Price Only. Features and prices subject to change without notice.'"CP/M is a trademark of Digital Research Corporation.

\m

The Standard of Excellencein Microcomputer Systems

IMSAI Manufacturing Corporation14860 Wicks Blvd.San Leandro, CA 94577(415)483-2093 TWX 910-366-7287

BYTE December 1977

73

Photo J: A view of the PC 77 convention floor.

Photo 2: Heath's dis-play, a popular spotat the conventionwhere hackers couldget their hands on thenew Heath kit com-puters for the firsttime.

PC77

By Chris Morgan, Editor

Who would go to Atlantic City before thegambling casinos are built? Computer freaks,that's who! Thousands of microcomputerenthusiasts (between 8 and 12 thousand)crammed into the Shelburne hotel August27 and 28 to see over 150 manufacturersdisplay their computer creations. Exoticsights met the eye at every turn: a completemock up of a fighter plane was being run bya microcomputer, with plans available tointrepid experimenters who wanted toduplicate the gadget; games galore and somevery high class color graphics filled videoscreens; computers spoke and listenedto fascinated onlookers; Heath, Commodoreand Radio Shack displayed their brand newmicrocomputer systems; and BYTE was onhand at a brand new convention booth.

Everything went smoothly from firsthour to last, and the well attended banquetfeatured a host of speakers including com-puter pioneer Dr John Mauchly.

Next year's convention promises to beeven bigger and better at its new location:the Atlantic City Convention Center."

Photos by Charles Floto

Photo 3: One of the many colorvideo displays on view at Per-sonal Computing 77. Shown aretwo Compucolor displaysoffered by the Computer MartofNJ.

<$GlQDCs@

Photo 4: The Computer Store (New York area) booth.

Photo 5: One corner of the expansive MITS boothwhich took up over 800 square feet and featuredthe complete line of Altair computers.

IN ELECTRONICS @) HAS THE LINE..

DIP/IC INSERTION TOOL with PIN STRAIGHTENER

STRAIGHTEN PINS

RELEASE

PICK-UP

INSERT

* MINIMUM ORDER $25.00, SHIPPING CHARGE $1.00, N.Y. CITY AND STATE RESIDENTS ADD TAX

OK MACHINE AND TOOL CORPORATION

3455 CONNER STREET, BRONX. NEW YORK, N.Y. 10475 U.S.A.

PHONE (212) 994-6600 TELEX NO. 125091

Circle 85 on inquiry card.

BYTE December 1177 75

Qispcia'sBipcuil Bella*

On a TestEquipment Diet?

Photo I: ICs on ICE.Pictured are all the com-ponents necessary to buildthe 8 channel 3'A digitcomputer controlled volt-meter described in thisarticle.

Try an 8 Channel DVM Cocktail!

Steve CiarciaPOB 582Glastonbury CT 06033

About three weeks ago, I was testing anew 8 bit analog to digital converter whichI had just built for an upcoming magazinearticle: this one, in fact. It was a high speedsuccessive approximation analog to digitalconverter which performed 200,000 con-versions a second, and it worked fine. I hadintended to use it for some speech digitiza-tion experiments. During the testing phase,however, I became exasperated from con-tinually moving my digital voltmeter (DVM)probes around the circuit to take readingsand having to stop to make the same cal-culations repeatedly. To speed the processup, I wrote a BASIC program which woulddo the number crunching, provided I typedin the voltage values correctly. More often,though, all I wanted was to monitor a fewvoltage levels simultaneously.

After stringing my two DVMs, an analogvolt-ohm meter (VOM), and my oscilloscopeall over the bench to aid in my testing, I

Motorola MC14433 3M Digit Analog to Digital Converter Specifications:

Accuracy: ± 0.05% of reading ± 1 count

Two voltage ranges: 1.999 V and 199.9 mV

Up to 25 conversions per second

Input impedance > 1000 megohms

Auto zero

Single positive voltage reference

Auto polarity

Drives CMOS or low power Schottky loads

On chip system clock

Over, under, and auto ranging signals available

concluded that there must be a better way.It's old hat to use one channel of a dualtrace scope to troubleshoot the other trace,so it was natural to consider using theanalog to digital converter to monitoritself. While the thought was momentarilygratifying, the low resolution inherentwith eight bits and clumsy binary con-version made me reconsider.

While thinking over this dilemma I wasleaning back in my reclining desk chairwith one elbow on my computer and myfeet up on my printer. I realized that Ishould move some of the junk so that I'dhave more room in the basement. I con-cluded that what I needed were eight DVMs.This insane desire was quickly eradicatedand replaced by a more economically soundidea. I had designed a 4 channel 8 bit digitalto analog converter to run with BASIC. Itwas only natural to design a multichannelanalog to digital converter which also inter-faced to BASIC.

12 bit analog to digital converters and 3%Adigit DVM chips come in a variety of con-figurations. Converters which specificallystate that they are 12 bit converter modulescan have either binary or binary codeddecimal (BCD) outputs, but are almostuniversally parallel binary output devices.The end of conversion signal results inimmediate data output. The computerjust has to scan the data lines and translatethem into meaningful notation. Chips which

76

BYTE December 1977

MORE BYTES FOR YOUR BUCK !

8K RAM.. .assembled, burnt-in, testedand warranted... only $19750!

These are not kits, but completely assembled andtested boards, with a 1 year warranty. No soldering,no messing, no chance of mis-connections . . . justplug 'em in and you're ready to run. The 8K RAM hasthe same features and speed as our 4K RAM (500nsec, no wait states) and if that isn't fast enoughthere's our 8K (Z) fast RAM that gives you a 250 nsecaccess time for only $217.50!

Because of the low power memory chips used, powerrequirements are lower than many other RAM boards.And the 8K RAM uses less power than two 4K boards.All RAMs are manufactured to military specificationMIL STD-883-C, assuring greatest control overreliability.

Address selection is easily accomplished by ourVisaddress™, an easy to read switch on the boardtop. The 8K board is designed to be selected as oneof eight possible 8K RAM boards present on the S-100bus.

To achieve address selection, the top address linesare decoded using the Visaddress switch. The switchwill then show the selected starting address of theRAM card. (i.e. 0 = 0000-1 FFF, 2=20$f-3FFF, etc.on the 8K board).

Circle 68 on inquiry card.

Both boards have fully buffered address and datalines, and extensive built-in noise immunity circuitry.And are plug-in compatible with the S-100 bus(Altair 8800, IMSA1 8080, etc.)

Quality, assembled boards at less than kit prices. Butwhat else should you expect from a company whoseprime products are electronic test instrumentationand microprocessing components?

Also available: 4K RAM; $107.00, Alpha-VDM; $107.00,Alpha-VDM-ll; $145.00, Graphics-VDM; $137.00.

Order direct by check, BankAmericard or MasterCharge (Add $1.50 shipping, credit customers give usall the card numbers, please and Ohio residents add41/2% sales tax) or contact us for more information.Kent-Moore Instrument Company, a subsidiary ofKent-Moore Corporation (founded in 1919), P.O. Box507, Industrial Ave., Pioneer, Ohio 43554. (419) 737-2352. Or, Kent-Moore of Canada, 246 S. Cawthra Rd.,Mississauga, Ontario L-A3P2, Canada.

Kent-MooreINSTRUMENT COMPANY

BYTE December 1977 77

are specifically referred to as 3'/2 or 4/2 digitDVM large scale integrated circuit (LSI)chips do not have this luxury. In general,their output is a combination of serial andparallel, one digit at a time. Interfacing to aparallel output analog to digital converterwould be far easier with regard to the com-puter software, but as is generally the case,one never gets something for nothing. 12 bitparallel analog to digital converters areexpensive. Most are designed to cover highspeed data acquisition applications. Speed(1000 to 100 K conversions per second)costs money.

This leaves us with the 3/2 digit DVM LSIchips. They run very slowly by comparison(1 to 50 conversions a second), but cost an

Figure It A simplified functional representation of the Motorola MCI44333'A digit analog to digital converter. 1a shows a block diagram of the device;lb shows the two integration periods used to convert the input voltage to a3'A digit decimal number. During time tj, the unknown voltage (Vjn) is ap-plied to an integrator having a predefined integration time constant (r) for apreset time. During t2 a known negative voltage is presented to the integrator.The time needed for the integrator to return to the 0 level is therefore afunction of the unknown voltage. A digital counter keeps track of this time,from which Vjp can be calculated.

VOLTS

INTEGRATOR OUTPUT

VOLTAGE VO

VIN I /

SLOPE=

VIN

T

/ VIN2// VIN3

SLOPE* VREF/r

TIME

*

t|

»

■» t2 I »

t;

. 2-

*

order of magnitude less. Software to per-form the serial to parallel conversions is a bitmore involved, but once it's written, whocares?

One of the latest chips to hit the marketis the Motorola MCI4433, a 3/2 digit lowpower complementary MOS analog to digitalconverter. Its specifications (relative tocomputer applications) are listed in the boxon page 76.

The MC14433 is a modified dual rampintegrating analog to digital converter. Thisis outlined in figure 1.

The conversion sequence is divided intotwo integration periods: unknown andreference. During the Vjn or unknown inputintegration sequence, the unknown voltageis applied to an integrator with a definedintegration time constant for a predeter-mined time limit. The result is that thevoltage level at the output of the integratorwill be a function of the unknown voltageinput. More positive input voltages willresult in higher levels at the integratoroutput.

During the second cycle of the integra-tion sequence, Vjn is replaced at the inputof the integrator with a negative 2.000 Vreference. The output of the integratorstarts to move toward zero while the digitalcircuitry in the chip keeps track of the timeit takes to make it to zero again. The timedifference between the two integrationsequences is then a function of their voltagedifference. Since the integration time con-stants are the same for both periods, if 2.000V were the unknown applied voltage, t2would be equal to ti. The unknown voltageis equivalent to the ratio of the periods,times the voltage reference, Vref. This isalso known as a ratiometric converter. Quitea mouthful. The full scale range of theconverter is determined by the level of Vref.Changing Vref to .200 V will make the same1999 count represent a 199.9 mV fullscale. (Obviously, Vref could be set to anyvalue within the voltage limitations of thechip. But, remember, full scale will still be

(la)

<0 START

•" r

T = integration time constant

ti = unknown voltage integration period

(constant)tj = reference voltage integration period

(variable)

v - Vint1 -

v0

T

Vref t2

T

that is

Vin <2

vref t,

Ob)

78 BYTE December 1977

-'**„

•^

*•.

x.

/

■'%>.„>.

VI & VII

are finallyreleased!

.°-v

Si

Or

**„

Volume VI

Yes and it still contains what was previouslyadvertised. A fully disk interactive businesspackage with A/R, Inv., A/P, ledgers, tax totals,payroll records, more.

As a bonus it also contains the Users Manual forour Firmware Ledger package. These 100 extrapages contain report formats, file creation rou-tines and our very powerful program ACBS1 usedto create the powerful file structured data base.

$49.95

Volume VII

Here is that Chess program you have beenwaiting for as well as a disk interactive MedicalBilling package with patient history file.

Also included is our disk interactive WordProcessing package(revision 0).

*& ■'

$39.95

Add $1.50/Vol. for U.P.S. and handling except to APO and PO addresses.Foreign orders add $8/Vol. for air shipment — US dollars only. No purchaseorders over $50.

. L

VOLUME

I

_

$24.95

VOLUME

II

—

24.95

VOLUME

III

—

39.95

VOLUME

IV

—

9.95

VOLUME

V

—

9.95

OUR SOFTWARE IS COPY-RIGHTED AND MAY NOT BEREPRODUCED OR SOLD.

Due to the numerous copyright violations onour earlier volumes — until further notice weare offering a REWARD leading to the arrestand conviction of anyone reproducing oursoftware in ANY way without our writtenpermission. This includes diskettes, paper andmagnetic tape, cassettes, records, papercopies, etc.

SCIENTIFICRESEARCH

220 KnollwoodKey Biscayne, FL 33149

Phone orders (800) 638-9194Information 305-361-1153

AVAILABLE AT MOST COMPUTER STORES

10% discount on purchases of entire set. Offer expires December 30, 1977

honored

Figure 2: Circuit for the8 channel 314 digit volt-meter.

1999 counts even if it represents 2.463 V,if for example that were Vref.)

Making a DVM Chip Computer Compatible

There are more bus configurations than Iknow what to do with lately, so I set up thisinterface to run from decoded input andoutput ports. Whether they be memorymapped 10 or not, we do not care, as longas the outputs are latched and the inputscan be driven by low power Schottky TTLdevices.

To fully utilize this eight channel 3/2digit DVM, we must design the correct hard-ware interface and write a universal softwaredriver.

Hardware and Data Format

Figure 2 details the schematic of the 8channel interface board. IC1 is the MCI4433DVM chip. With the values chosen, it willperform approximately 25 conversions asecond. Reducing the 68 K resistor betweenpins 10 and 11 to about 27 K will increasethis to about 50 conversions per second.This is an out of specification conditionand, though probably successful, isdependent on individual parts.

Each output pin of IC1 has the power todrive one LS TTL load. Since all input portsare not necessarily low power, we provideIC3 and IC4 as buffers. They are 74LS04sand while they are capable of driving regularTTL, they do invert the output data of theDVM. Any driver program must complementthe BCD and digit data it receives from thisinterface before using it.

IC2 is a MCI 403 precision voltagereference chip and supplies the Vref input.This IC will vary only 7 mV over a range of0° to 70°C from its nominal 2.5 V output.While a zener diode might also supply anadequate reference voltage, the temperaturedrift characteristics of the average zenerwould negate the value of a V/i digitconverter if used beyond a 5 or 10°C tem-perature variation. A precision voltageintegrated circuit is an absolute must ifthis circuit is to be used for practicalapplications.

IC5 is a 7474 which is used here as a set-reset flip flop. The end conversion signalfrom IC1 sets it, and an output bit fromthe computer resets it after reading theoutput data.

IC6 is an 8 input CMOS multiplexer.Its address lines are tied directly to a latched

u.

I C 2

MC I403U

1 X

oov rh

.iioov

Z0K-Wv—

l

VREF VIN

ICIMC 144333 1/2 DIGIT DVM

DSI 0S2 DS3 DS4 Q3 Q2 Ql QOCLK

IC374LS04

MYLAR

$10

Y

Y

Continued on page 92

TYPICAL RESISTORINPUT SCALING

-1.999 < VIN < 1.999V-5V < MAX < 5V

IC474LS04

IC474LS04

wOwOw

B7 B6 B5 B4 B3 B2 Bl BO

PORT 003 INPUTSELECTED CHANNELDATA OUTPUT

PORT 002 INPUTOVERRANGE ANDEND OF CONVERSIONSTATUS

PORT 003 OUTPUTCHANNEL SELECTAND CONVERSIONSTART

f_~^GND

m

80

BYTE December 1977

Tfca [L^a^J to ^a^ S^&aaa *%

MODEL CC-8 $175.00

4800 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Errorrate 108 at 4800 BAUD. Can be used from 110 to 4800 BAUD into a UART or "BitBanger PIA" -no clocking required. This is not an audio recorder. It takes RS232 orTTL signals from the terminal or computer and gives back the same signals. No audiointerface is used. Motor start/stop is manual or through TTL or RS232 signals.

Tape speed is 3.2"/second nominal; 1.6"/sec. optional. 110 volt, 60 Hz, 5 watts.(220 Volts on special order). Can use high quality audio cassettes (Philips Type) orcertified data cassettes. Can be used in remote locations from a 12 Volt battery.

Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PRO-GRAM RELOADING and DATA STORAGE. Especially recommended for 6800systems, 6502 systems, 1800 systems and beginners with the 8080 systems. Manualcontrol except for motor start/stop. 6800 or 8080 software for file or record searchingavailable on request with order. Used by major computer manufacturers, Bell Tele-phone and U.S. Government for program reloading and field servicing.

AVAILABILITY - Off the shelf.

6800 CONTROLLER for SWTP

HI

PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. EXPANDSMIKBUG with 1 K of ADDITIONAL ROM PROGRAM.

This is a complete tape controller for the SWTP 6800 system. Has 3 K of EPROMspace for your own programs. A 1 K ROM (2708) is provided with all tape and moni-tor functions. The ROM program is identical to our extensive 8080 ROM program.

Has one ACIA for one or two tape drives, one USART for an additional Serial portand a 4 bit parallel port for motor control. Will control one or two CC-8 or 3M3Adrives with the software provided. Can be used with other tape drives controllable with4 TTL bits if appropriate software changes are made.

Extra serial port is provided for your use with a second terminal or printer. (RS232,TTL or 20 ma)

The ROM program supplements the MIKBUG program and is entered automaticallyon reset.

AVAiLABiLiTY-off the shelf. $190.00, Tested & Assmb. ($160.00, Kit)

PROVIDES MONITOR AND TAPE SOFTWARE in ROM TERMINAL andTAPE PORTS on SAME BOARD CONTROLS ONE or TWO TAPE UNITS(CC-8 or 3M3A)

This is a complete 8080, 8085, or Z80 system controller. It provides the terminalI/O (RS232, 20 mA, or TTL) and the data cartridge I/O, plus the motor controllingparallel I/O latches. Two kilobytes of on board ROM provide turn on and go controlof your Altair or Imsai. NO MORE BOOTSTRAPPING. Loads and Dumps memoryin hex on the terminal, formats tape cartridge files, has word processing and papertape routines. Best of all, it has the search routines to locate files and records bymeans of six, five, and four letter strings. Just type in the file name and the recorderand software do the rest. Can be used in the BiSync (IBM), BiPhase (Phase encoded)or NRZ modes with suitable recorders and interfaces.

This is Revision 7 of this controller. This version features 2708 type EPROM's sothat you can write your own software or relocate it as desired. One 2708 prepro-grammed is supplied with the board. A socket is available for the second ROMallowing up to a full 2K of monitor programs.

Fits all S100 bus computers using 8080 or Z80 MPU's. Requires 2 MHz clockfrom bus. Cannot be used with audio cassettes without an interface. Cassette orcartridge inputs are RS232 level.

AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER$190.00 ($160.00 Kit)

Z 80 BOARD for SWTP COMPUTER: Now you can use the 8080/Z80 software programs in your SWTP 6800machine. Replaces your MPU board with a Z80 and ROM so that you are up and running with your presentSWTP memory and MPC card. $200 assembled and tested. ($160 kit)

AVAILABLE-November '77.

OVERSEAS: Export Version 220 volt 50 hz. Write factory or: Megatron-Datameg, 8011 Putzbrunn, Munchen, Germany; Nippon Automation5-16-7 Shiba, Minato-Ku, Tokyo. Japan; Hobbydata, FACK 20012, Malmo, Sweden; G. Ashbee, 172 /field Road, London SW 10-9ag: Trin-tronics, Ltd., 186 Queen Street W., Toronto, Ontario, Canada; EBASA, Enrique Barges 17, Barcelona 14, Spain;ARIES, 7, rue Saint Phillipe duRoute, 75008 Paris; Micro/em 20131, Milano, Italy; Eagle Electric, Capetown, S. Africa.

For U.P.S. delivery, add $3.00 Overseas and air shipments charges collect. N.J. Residents add 5% Sales Tax. WRITE or CALL for furtherinformation. Phone Orders on Master Charge and BankAmericard accepted.

National Multiplex Corporation

i —^

3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 «.

Circle 82 on inquiry card.

BYTE December 1977

81

SYNCHRO SOUND

■■■■■ENTERPRISES, INC.MHHH

One-stop shoppingfor Hardware and Software

Everything you need in small computer systems with special emphasis

on TERMINALS! Look at these units...compare price, quality, delivery,

service...and you'll see why you don't have to look anyplace else!

LEAR SIEGLER ADM 3A TERMINAL

Full addressable cursorDisplay format—24 linesof 80 characters per lineCommunications rates—75 to19,200 BaudComputer interfaces— EIA standard

ADM3A

Kit

ADM3AAssembledLower Caseoption

$739.95

849.95

69.00

ADM 1ATERMINAL

• Display Format—80 charactersper line by 24 lines• Full cursor controlEdit operations: clear screen,clear unprotected character type-over.(Options are Character Insert/Delete,Line Insert/Delete, Erase to endof page, Erase Line/Field)and much more

Assembled $1398.00

ADM 2A TERMINAL

• 1920 character display (24 x 80)

• 16 function keys for 32 commands

• Separate keyboard—119 keys

• 10 key numeric pad .nM „.

• Single key edit operations £sDsMe^led ...

• Page, field or line edit <fc^oAC f\r\

• Security, protected fields $1090.UUand much more

OKIDATA MODEL 110LINE PRINTER

• 110 CPS dot matrix

Feed" $1149.00

K3° 1279.00

RS 232C

Interface... 260.00

OKIDATA MODEL 22LINE PRINTER

125 lihes per minute132-column print line

• Upper/lowercase

• 8 differentcharacter sizes

• 12 IPS paper slew

Tractor Feed $2249.00

RS 232C Serial Interface. . . 37 9.00

DECWRITER II

• 132 column printing

• 10-30 CPS

• Full keyboard

• Tractor feed

$1695.00

■ *!^i|h»,..

82

BYTE December 1977

SYNCHRO SOUND

ENTERPRISES, INC.I

CENTRONICS703 SERIALPRINTER

• Lowcostof ownership

• Bidirectional logic seeking printing

• Microprocessor electronics

• Excellent print quality

CENTRONICS 761 PRINTER

• 300 Baud serial transmission

• Bidirectional and incremental printing

• RS232, CCITT-V24, orcurrent loop interface

• Baud selection (110/150/300)

$1695.00|

Receive only version

1595.00!

KSR with Keyboard.

$2395.00

IMSAI 8080 MICROCOMPUTER• Powerful • Low cost • Easy to use

IMSAI 8080

«|SK^W

With 22 SlotMother Board

$619.95

With Z-80 CPU

849.95

HAZELTINE1500VIDEO TERMINAL

• Reverse video

• 24 x 80 display

• Programmablebrightness levels

• RS232 andcurrent loopand much more"

Assembled

$1149.00

Kit also available

Fully IBM 3740 mediaand format compatibleFull formatter

FLOPPY DISKSYSTEM

and controllerbuilt-in

ICOM Model FD3712Dual Drive System

$2795.00!

HAZELTINE MODULAR 1INTELLIGENT TERMINAL

• 1920 character display

• 8 different video levels

• Full editing capability

• Removable keyboardand much more

Assembled ....

$1659.00

We carry a full line of the following: TDL,Centronics, Seals, Hazeltine, Micropolis,Hayden, IMSAI, Cromemco,Compucolor, Icom, Lear Siegler, Okidata,DEC, Javelin, North Star, Peripheral Vision.Same day delivery and shipping on mostitems. Full modern repair facilities onpremises for complete servicing ofeverything we sell.

SPECIAL BUYS

Sorac IQ 120 Video Terminal Kit $959.00

DEC LA 180 Printer 2769.00

Compucolor 8001 Color Computer Z595.00

ICOM Microfloppy System 989.00

North Star Microfloppy Disk Kit 599.00

2708 Eproms 27.95

Javelin 9" Video Monitor 159.95

Livermore Modem Model 76 299.00

Sol 20 with Solos Kit (limited supply) 999.00

Micropolis Model 1053MOD 2 1799.00

IMSAI AP44-44 Col. Printer Kit 329.00

TDL Xitan Alpha 1 Computer Kit 699.00

SYNCHRO-SOUND ENTERPRISES, INC.

The Computer People

193-25 Jamaica Avenue,

Jamaica, New York 11423

212/468-7067 TWX: 710-582-5886

Hours 9-4 daily Visit our new showroom

andSaturday Working unitsondisplay

Dept.BB BankAmericard • MasterCharge

Circle 112 on inquiry card.

Get Your System Together

John G Whitney2405 Haisley DrAnn Arbor Ml 48103

So you now have your own home com-puter system up and running. Your pro-cessor is on one bench, a cassette massstorage memory unit on another. The ter-minal stands nearby, with the paper tapepunch and your TV video monitor on thefloor. To top it off you have 20 interconnec-ting cables lying around. Does this remindyou of your computer system? Things don'thave to be this way when with a moderateamount of time and money one can convertone's computing apparatus into a well organ-ized and laid out system.

Most professionally installed minicom-puter systems have most of their hardwaremounted in one rather large cabinet.Mounting the hardware in such a cabineteliminates many interconnecting cables thatotherwise would be lying around on thefloor. A cabinet for your system will in-crease the system's reliability by shorteningcable lengths between system components,since they are now all mounted together.The shorter cables will have less capacitancewhich will in turn lower the amount of bytetransfer errors due to noise pickup. A cab-inet will also provide easy movability of thetotal computing system without muchtrouble. By mounting your computer hard-ware in such a cabinet you can achievethese results in addition to improvingyour system's appearance and efficiency.

At almost any used computer surpluscenter one can find a fairly cheap andadequate stripped down computer frame

or cabinet that will serve the purpose.I have found a 20 by 25 by 60 inch (40.8 by63.5 by 15.24 cm) size frame quite suit-able for my homebrew computing system.The size depends mainly on the size of theexisting equipment in your system. Some ofthe better cabinets are the ones in which allfour sides have panels which swing open toexpose the computer hardware for easy ser-vicing. If you fail to locate such a cabinet,you can easily construct an adequatewooden enclosure.

After acquiring a cabinet it's usually bestto install a fairly large ventilating fan to keepthe heat generated by the hardware to aminimum. Another addition such as a rowof 110 V AC outlets, mounted on the insideof one side panel, will decrease your workwhen changing or increasing your com-puter's equipment. A main power switch forall electrical equipment in the cabinet,when mounted near the front, becomesquite handy when all power is to be discon-nected. Other additions, like a smoked glassor plastic front door panel to improve yourcabinet's appearance, are left to yourimagination.

Not only will the cabinet provide anenclosure for your equipment, but anysufficiently large unused space can be usedto store your computer software, in papertape or cassette form. When utilizing spacefor your system's software it becomesnecessary to insulate and shield these areasfrom all electrical wires or possible strongmagnetic fields. This can be done either bymoving the wires away from the space or bysurrounding them with a steel shield whichwill confine the magnetic fields. Otherwiseyou might find that your software cassettescontain small bits of garbage.

In utilizing a cabinet with your systemyou won't just improve your computer'sappearance and efficiency, but when some-one views your system he or she won'texclaim in disbelief, "Is that the computer?That little box!"*

84

BYTE December 1977

landu

s canpjTEns

A DIVISION OF TANDY CORPORATION

ANNOUNCING

GRAND OPENING

MOST COMPLETE LINE OF MICROCOMPUTERS AND ACCESSORIESPLACE YOUR ORDER TODAY — CALL TOLL-FREE —800-433-1679

RADIO SHACK

6800 S?"«-

SOUTHWEST TECHNICAL PRODUCTS

CPU's — Alpha Micro, ICOM,IMSAI, Polymorphlcs,Processor Technology,T.D.L., Vector Graphics,Equinox

POPULAR BRANDS"CARRIED

DISCS — ICOM, Digital

Systems, IMSAI, Mlcroplls,

North Star, Polymorphlcs,

Processor Technology,

Shugart, Smoke Signal, SWTP,

Perscl, Extensys

TERMINALS —

Beehive,

Lear Slegler,

SOROC, SWTP,Informer

Complete Line of Parts and Accessories!Call for Special Prices! 800-433-1679

PRINTERS —Centronics, Okidata, Practical Automation, SWTP,Diablo, IMSAI

Mall To: TANDY COMPUTERS

P.O. Box 2936, Fort Worth, Texas 76102

Please Send Me TANDY COMPUTERSFull-Line 1978 Catalog

PLEASE PRINT

Name Apt. _

Street

City

. State.

.Zip.

Circle 114 on inquiry card.

BYTE December 1977 85

Sol Terminal Computer

^m

I

•

To do real work with any computer, big or small, it takesa complete system. Thais one of the nice things about theSol-20. It was built from the ground-up as the heart of threefixed price computer systems with all the peripheral gear andsoftware included to get you up and on the air.

Sol System I costs just $1649 in kit form or S2129 fullyburned in and tested. Here's what you get: a Sol-20 with theSOLOS personality module for stand alone computer power,an 8192 word memory, a 12" TV/video monitor, a cassetterecorder with BASIC software tape and all necessary cables.

Sol System II has the same equipment plus a larger

*!\fkBM r 9 V'iV.'r.'

capacity 16,384 word memory. It sells for S1883 in kit form; $2283 fully assembled.

For even more demanding tasks, Sol System III features Sol-20/SOLOS, a 32,768 wordmemory, the video monitor, Helios II Disk Memory System and DISK BASIC Diskette. Price,S4750 in kit form, S5450 fully assembled and tested.

And remember, though we call these small or personal computer systems, they have more

power per dollar than anything everoffered. They provide performance com-parable with mini-computer systems pricedthousands of dollars more.

The Small ComputerCatalog for the rest of the realcomputer system story.

Visit your local computer store fora copy of our fully illustrated 22 page cata-log. Or you may write or call us if moreconvenient. Please address ProcessorTechnology, Box B. 6200 Hollis Street,EmerwilleVCA 94608. (415) 652-8080.

The Functional beauty of Sol Computer Systems ismore than skin deep, A look inside reveals a simple eleganceof design and sturdy construelion.

.•; •

Corporation ^# m

Wk

iSt-

/ *l

t m

• r *■ v ^ + m

■f' ~ ""■-"/ !i

• '.-•• • ■'■■-•

f

«

B

1

■#•1

» -3iii »»»». -i

II.

mum

fxiw n

?- >*•'■

f.;>'

5, f

la1

6 tOiAfl . I

The end of bad solder joints, heat damagedcomponents and sick IC's. Introducing theSemikit. Item 1, a 16KRA Memory Board, s369.

Let's face it. Loading andsoldering PC Boards is not muchfun for the kit builder. Evenmore important, it's the placewhere most of the trouble getsintroduced. The real fun andeducation comes in running andtesting boards.

Now the Semikit withfully tested IC's.

At the price of a kit, ProcessorTechnology Corporation intro-duces the Semikit. It's a fullystuffed, assembled and wavesoldered PC Board loaded withIC's that have gone through Q.C.and final checkout (a first inthe industry).

We leave you the fun oftesting with our fully documentedset of instructions. We do theproduction tasks of loading, wavesoldering and inspecting theboards. You do the more interest-ing and time consuming choreof testing and burning-inthe boards.

The result is one sweet deal

for both of us. You get a boardwhere the primary causes ofdamage (poor solder joints, excesssolder and bad IC's) are virtuallyeliminated. You get a board ofhighest professional quality.And we get the business!

The 16KRA MemoryBoard's at your dealer now.

Your Processor Technologydealer has the first Semikit, a16KRA Memory Board, in stockand ready to go right now. Youcan take it home tonight for$369 as a Semikit or for S399fully assembled, tested andburned-in.

You'll have a 16,384 bytememory with a better price per-formance ratio than anythingon the market today. Now you canafford to add quality, highdensity memory to your systemfor remarkably little. And youcan add enough to solve complexcomputing problems right inthe main frame.

The memory features invisible

refresh. There's no waiting whilethe CPU is running. Worst caseaccess time is 400 nsec. Each4,096 word block is independentlyaddressable for maximum sys-tem flexibility. Power is typically5 watts, the same as most single4K memory modules. Back-uppower connection is built-in.

Other Semi's are comingyour way.

The 16KRA Memory isProcessor's first step in addingmore fun, capability and reli-ability to your computer systemat lower cost. Other modules areon the way to your dealer now.Come on down today.

Or you may contact usdirectly. Please address ProcessorTechnology Corporation, Box B,7100 Johnson Industrial Drive,Pleasanton, California 94566.Phone (415) 829-2600.

ProcessorTechnofog

Circle 95 on inquiry card.

UYTE December 1977

89

See Sol here

ARIZONA

Byte Shop Tempe813 N. Scottsdale Rd.Tempe, AZ 85281(602) 894-1129

Byte Shop Phoenix12654 N. 28th Dr.Phoenix, AZ 85029(602) 942-7300

Byte Shop Tucson2612 E. BroadwayTucson, AZ 85716(602) 327-4579

CALIFORNIA

The Byte Shop1514 University Ave.Berkeley, CA 94703(415) 845-6366

Computer Center1913 Harbor Blvd.Costa Mesa, CA 92627(714)646-0221

DCI Computer Systems4670 N. El CapitanFresno, CA 93711(209) 266-9566

The Byte Shop1122 "B" StreetHayward, CA 94541(415)537-2983.

The Byte Shop16508 Hawthorne Blvd.Lawndale, CA 90260(213)371-2421

The Computer Mart633-B West KatellaOrange, CA 92667(714)633-1222

Byte Shop

496 South Lake Ave.

Pasadena, CA 91101

(213)684-3311

Micro-ComputerApplication Systems2322 Capitol AvenueSacramento, CA 95816(916)443-4944

The Computer Storeof San Francisco1093 Mission StreetSan Francisco, CA 94103(415)431-0640

Byte Shop

321 Pacific Ave.

San Francisco, CA 94111

(415)421-8686

The Byte Shop2626 Union AvenueSan Jose, CA 95124(408) 377-4685

The Computer Room124H Blossom Hill Rd.San Jose, CA 95123(408) 226-8383

The Byte Shop509 Francisco Blvd.San Rafael, CA 94901(415)457-9311

The Byte Shop3400 El Camino RealSanta Clara, CA 95051(408) 249-4221

Recreational Computer

Centers

1324 South Mary Ave.

Sunnyvale, CA 94087

(408)735-7480

Byte Shop of Tarzana18423 Ventura Blvd.Tarzana, CA 91356(213)343-3919

Computer Components5848 Sepulveda Blvd.Van Nuys, CA 91411(213)786-7411

The Byte Shop2989 North Main St.Walnut Creek, CA 94596(415)933-6252

Byte Shop

14300 Beach Blvd.

Westminster, CA 92683

(714)894-9131

COLORADO

Byte Shop3101 Walnut St.Boulder, CO 80301(303) 449-6233

Byte Shop3464 S. Acoma St.Englewood, CO 80110(303)761-6232

FLORIDA

Byte Shop of

Fort Lauderdale

1044 East Oakland Park

Blvd.

Ft. Lauderdale, FL 33334

(305) 561-2983

Byte Shop of Miami7825 Bird RoadMiami, FL 33155(305) 264-2983

Microcomputer

Systems Inc.

144 So. Dale Mabry Hwy.

Tampa, FL 33609

(813)879-4301

GEORGIA

Atlanta Computer Mart5091-B Buford Hwy.Atlanta, GA 30340(404) 455-0647

ILLINOIS

Champaign Computer

Company

318 N. Neil Street

Champaign, IL 61820

(217)359-5883

itty bitty machine co.1322 Chicago Ave.Evanston, IL 60201(312)328-6800

itty bitty machine co.42 West RooseveltLombard, IL 60148(312)620-5808

INDIANA

The Data Domain406 So. College Ave.Bloomington, IN 47401(812)334-3607

The Byte Shop5947 East 82nd St.Indianapolis, IN 46250(317)842-2983

The Data Domain7027 N.Michigan Rd.Indianapolis, IN 46268(317)251-3139

IOWA

The Computer Storeof Davenport4128 Brady StreetDavenport, IA 52806(319) 386-3330

KENTUCKY

The Data Domain3028 Hunsinger LaneLouisville, KY 40220(502) 456-5242

MICHIGAN

The Computer Store

of Ann Arbor

310 East Washington

Ann Arbor, Ml 48104

(313)995-7616

Computer Martof Royal Oak1800 W. 14 Mile Rd.Royal Oak, Ml 48073(313)576-0900

General Computer Store2011 LivernoisTroy, Ml 48084(313)362-0022

MINNESOTA

Computer Depot, Inc.3515 W. 70th St.Minneapolis, MN 55435(612) 927-5601

NEW JERSEY

Hoboken Computer WorksNo. 20 Hudson PlaceHoboken, NJ 07030(201)420-1644

The Computer Martof New Jersey501 Route 27Iselin, NJ 08830(201)283-0600

NEW YORK

The Computer Shoppe444 Middle Country Rd.Middle Island, NY 11953(516) 732-4446

The Computer Mart

of New York

118 Madison Ave.

New York, NY 10001

(212)686-7923

The Computer Corner200 Hamilton Ave.White Plains, NY 10601(914)949-3282

NORTH CAROLINAROMs 'N' RAMsCrabtree Valley MallRaleigh, NC 27604(919) 781-0003

OHIO

Byte Shop

2432 Chester Lane

Columbus, OH 43321

(614)486-7761

Computer Mart of Dayton2665 S. Dixie Ave.Dayton, OH 45409(513) 296-1248

OREGON

Byte Shop Computer Store3482 SW Cedar Hills Blvd.Beaverton, OR 97005(503) 644-2686

The Real OregonComputer Co.205 West 10th Ave.Eugene, OR 97401(503)484-1040

Byte Shop Computer Store2033 SW 4th Ave.Portland, OR 97201(503) 223-3496

RHODE ISLAND

Computer Power, Inc.M24 Airport Mall1800 Post Rd.Warwick, Rl 02886(401) 738-4477

SOUTH CAROLINA

Byte Shop2018 Green St.Columbia, SC 29205(803) 771-7824

TENNESSEE

Microproducts & Systems2307 E. Center StreetKingsport, TN 37664(615)245-8081

TEXAS

Computer Port926 N. CollinsArlington, TX 76011(817)469-1502

Computertex2300 Richmond Ave.Houston, TX 77006(713)526-3456

Interactive Computers7646V2 Dashwood Rd.Houston, TX 77036(713) 772-5257

Neighborhood Computer

Store

#20 Terrace

Shopping Center

4902 - 34th Street

Lubbock, TX 79410

(806)797-1468

The Micro Store634 So. CentralExpresswayRichardson, TX 75080(214)231-1096

VIRGINIA

The Computer Systems

Store

1984 Chain Bridge Rd.

McLean, VA 22101

(703)821-8333

Media Reactions Inc.Reston International Center11800 Sunrise Valley Dr.Suite #312Reston, VA 22091(703)471-9330

The Home Computer Center2927 Virginia Beach Blvd.Virginia Beach, VA 23452(804)340-1977

WASHINGTONByte Shop Computer Store14701 N.E. 20th Ave.Bellevue, WA 98007(206) 746-0651

The Retail Computer Store410 N.E. 72ndSeattle, WA 98115(206)524-4101

WISCONSIN

The MilwaukeeComputer Store6916 W. North Ave.Milwaukee, Wl 53213(414)259-9140

WASHINGTON D.C.

GeorgetownComputer Store3286 M Street NWWashington, D.C. 20004(203)362-2127

CANADA

Trintronics160 Elgin St.Place Bell CanadaOttawa, Ontario K2P 2C4(613)236-7767

Computer Mart Ltd.1543 Bayview Ave.Toronto, Ontario M1K 4K4(416)484-9708

First CanadianComputer Store Ltd.44 Eglinton Ave. WestToronto, Ontario M4R 1A1(416)482-8080

The Computer Place186 Queen St. WestToronto, Ontario M5V 1Z1(416)598-0262

Basic Computer Group Ltd.1548 East 8th Ave.Vancouver, B.C. V6J 4R8(604) 736-7474

Pacific Computer Store4509 Rupert St.Vancouver, B.C. V5R 2J4(604) 438-3282

ProcessorTechnology

90

BYTE December 1977

Circle 95 on inquiry card.

Jack and the Machine Debug

... or Reading the Traces of the Wild Program

I may have bugs in theprogram, but the pro-grammer's got bats in hisbelfry.

"It has to be done by now. That sub-routine can't take much more than a fewmilliseconds per entry, and there aren'tmany entries. I'll give it a few moreseconds." Jack sat nervously puffing hiscigar. "It can't take this long," said Jack, hispatience exhausted. He punched the RESETbutton.

"What do you want now, Jack? Here Iam, faithfully running your program, andyou interrupt me. Find a mistake in yourcode?"

"Hardly. You should be clone by now.What have you been doing that took solong?"

"Well, when you interrupted me, I thinkI was executing a load-immediateinstruction."

"Where?"

"How should I know? You interruptedme. I'm in the monitor ROM now. I can'tkeep track of every instruction I execute."

"True, true. It sure would be nice if youcould, though."

"Well, I can't. I already assemble yourprograms for you; you can't expect me todebug them for you too! That's supposed tobe your department!"

"I know, computer. How do I figureout where you went wrong?"

"How do 1 know?"

"Calm yourself or I'll use your parts inmy F8."

"Okay, Jack. I'm sorry I lost my head.Anything would be better than inflictingthat F8 on us. How about trying a break-point?"

"Good idea! Computer, sometimes youamaze me. Try a breakpoint at the sub-routine return."

"Shouldn't I reload the program first,Jack?"

"I guess so." Jack waited as computerreloaded the program from its cassettes."Now, put a software interrupt at 1 FCO."

"One SWI inserted (hexadecimal 3F tome). Shall I run the program now?"

"Start." Jack went into the kitchen fora beer. He returned a few minutes later."Computer! What are you doing? RESET!"

"Now what?"

"I told you to set a breakpoint!"

"I did set a breakpoint; see the 3F at1 FCO. I just haven't executed that instruc-tion yet."

"Why not?"

"I haven't the foggiest idea. I just executethem in the order that you wrote them.Writing programs is supposed to be yourcontribution to our work."

"Don't get snide. Remove the break-point."

"Done."

"Now, put the breakpoint at 1 FA2."

"I'll reload the program first, Jack."

"I guess you should, but I hate waitingfor those cassettes."

"They're your design, remember. If youwant speed, buy me some disks."

"They're on order."

"Great. Now let me load the program thebest I can from these archaic, cranky, slow,old . . ."

"Just do the job without the com-mentary!"

The cassette in the read drive turned everso slowly. "I'm ready now, Jack. The break-point is set."

Continued on page 133

Robert D Grappel148 Wood StLexington MA 02173

Jack E Hemenway151 Tremont StBoston MA 02116

I just execute them in the

order that you wrote

them. Writing programs is

supposed to be your

contribution to our

work...

B\ TE December 1977

91

Continued from page 80

output port. The usual conversion sequenceis to set the channel information to themultiplexer, clear the EOC flip flop and waitfor an end of conversion signal. More on thislater.

Photo 2: Eight meters (some are multimeters, others are voltmeters) whichcould be replaced (at least for DC voltage measurements) by the computer-ized 8 channel voltmeter described here.

Data Format

As I stated earlier, the data from theDVM to the computer is both serial andparallel. There are four digit select lines andfour BCD data lines (see table 1).

With respect to what the computer seesthrough the 74LS04 buffers, the digitselect output is low when the respectivedigit is selected. The most significant digit(34 digit DS1) goes low immediately afteran EOC pulse, followed by the remainingdigits sequencing from most significant toleast significant digit (MSD to LSD). Aninterdigit blanking time of two clock periodsis included to ensure that the BCD datahas settled. The multiplex clock rate is equalto the system clock frequency divided by80.

During the Yi digit (DS1), the polarityand certain status bits are available. It wouldbe confusing to list the status bits, since theyare not being used in this application forautoranging. The polarity will be Q2 and a"1" will indicate negative. The V2 digit valuewill appear on Q3 and a "1" will indicatehigh.

The interface is summarized by port

Photo 3: Prototype boardfor the 8 channel 316 digitvoltmeter.

92 BYTE December 1977

Talk to our Computer...and it will talk back!

(Plainly speaking, it's only from the Digital Group.)

Now, your Digital Group computer becomes morethan a silent partner. You can vocally commandyour computer... it will listen... and it will talk backto you. How? With the introduction of the excitingnew Digital Group/Votrax Voice Synthesizer.

All this is possible because the Digital Group/Votrax.Voice Synthesizer has an unlimited vocabulary, •"64 "human sounds" that can be combined adcombined to form words and languages^your own computer glibly spoutingSpanish, Russian, Japanese and )Maverage English words require cmemory! j

Programming the Di£pl Groyp/'

supplied withysoftware wruclh will I

Assemblerincluded.

We have additional software acost:

• "Talking Basic" — $10. MAXI-Basic outpuconverted to English.

• "Talking CW" — $10. For impressing yourHAM buddies. Requires the forthcomingHAM interface card.

• "Latin and Spanish Talking" — $10. Hearthecomputer repeat letters and words typed inLatin or Spanish.

• Demonstration Tape — $5. A sample ofaudio tape and a complete explanation ofthe system.

Bonus: A basic input circuit is included that maybe programmed to understand a small vocabulary ofvoice commands.

Unlimited Applications

these possibilities:

An aid forSynthesizers

nomy —

e blind, with the Voiceting a CRT display

.put and output of

ft :'»«^4dBfiM

, ent terminals >i^>AM radio repeater telemetry systems'student ld»guagiip5ronunciation learning

irfkPr^^

Jy, w«g§rould be shouting this one. The. Group/Votrax Voice Synthesizer, with all itscapabilities, is only $495 kit or $595 assembled andtest/e*i^?at's language anybody can understand.

O.K., you've listened briefly to what we have to sayabout the new Digital Group/Votrax VoiceSynthesizer. But we can keep right on talking! Writeor call today for all the details — music to your ears.

po box 6528 denver, Colorado 80206 (303) 777-7133

Circle 38 on inquiry card.

Photo 4: An illustration of the accuracy of the computerized voltmeter. AData Precision 416 digit digital multimeter and the author's system simultane-ously measure a C cell battery. The computer value is 1.540 V comparedwith the Data Precision reading of 1.5402 V.

allocations in table 1. (Note: I have assignedparticular port numbers to each byte. Thesedesignations will run directly with the soft-ware driver provided. If the reader wishes toassign different port numbers, that is fine,but remember to modify the driver softwareto reflect the changes.)

Designing an Analog to Digital ConverterSoftware Driver

For a hardware personality like me, soft-ware is a tedious task. I don't like writingany more than I have to and if it is possibleto write a universal piece of code which iscompatible with any operating system, allthe better. Units such as the digital toanalog converter I presented in the Septem-ber 1977 BYTE (page 30) do not need soft-ware drivers because the hardware is expli-citly designed to be independent of com-puter timing. Timing is the key word. A"software driver" is the same as its hardwarecounterpart. Both serve to couple thecomputer to external devices andsynchronize the timing. The most obviousdriver already existing in a computer systemlike my Digital Group system is theasynchronous data link to the tape cassette,video display and printer. The computer isinstructed through this program to performexplicitly timed operations which result inthe correct serial input and output.

The 3iVi digit DVM interface is not unlikea communications driver. To effectivelyobtain data from the interface, the computer

Table 1:formats.

10 port data

Command Output Byte (Port 003 OUT) (Enable = 1 Disable = 0)

B7 = EOC/lnterrupt Enable/disable

B6 )

B5 \ Future Expansion

B4

B3 '

B2 /

B1 } Channel Select, 0-7

B0 I

Status Input Byte (Port 002 IN)

B7 \

B6 )

B5 I

B4 ( Not Used

B3 J

B2 '

B1 = Out of Range (-1.999 < Vin > 1.999)

B0 = End of Conversion

IC1

Data Input Byte (Port 003 IN)

Symbol

Pin Number

B7 = 1st digit (MSD): When true = B7-»-0

DS1

19

B6 = 2nd digit B6 .

B5 = 3rd digit B5 \ N/A

B4 = 4th digit B4 '

DS2

18

DS3

17

DS4

16

B3 ) B3 = 1/2 digit value

Q3

23

B2 ( BCD Digit Value B2 = Polarity

Q2

22

B1 ( B1 = N/A

Qi

21

B0 ) B0 = Status Bit

Qo

20

94

BYTE December 1977

i : i

newSTANDARD ASSEMBLER

^^^^^^^^^ t ,n 8080 CPU on an 8080 based

, written in symbolic language for an 8080 LWAssembles programs written y

. f 4K memory (of which at least 1K shou.d be RAM);

8080 computer with m,— of « men J^ ^a source Ust.ng.nputdev.ee, an keyboard/printer will allow

into memory. be utjlized. Each I/O

to individual systems. through QA (nexa.

FUNCTION:

HARDWARE REQUIRED:OPTIONAL HARDWARE:

SOFTWARE REQUIRED:MEMORY UTILIZED:

PSEUDO-OPERATORS:PROGRAM OPERATION:

SOURCE FORMAT:DOCUMENTATION:

SPECIAL FEATURES:OPTIONS:

[^barac.erized its 8080 proS,™ . ■ > ^ DB ^

byte), DS (data string) »<" °W aisembled object

zeros, h»s "literal Jj>'W ^ operands.

U!e of letter, of number, as CFU „, man„al deseribes .he operation of

SerrorTordS'pCar^-bytbeasseniblerl

LTaSi'eKSS-,-^--

^ea is witaW "' «"«* ■"" "™ " ..„ ,„ <,e,enbed in the doeti-

A P-b.d paper S ^gS^I^^ WS^

presented in the documentation's«. ^ ^ m hand hnf. am eaders now

in widespread use. NO It. hdocumentation.

Scelbi's 8080 Standard Assembler: $19.95 Optional object code

on punched paper tape, specify 8080SA-OPT: $10.00. Optional

commented source listing on punched paper tape, specify

8080SA-SPT: $39.00.

OPTIONAL PAPER TAPE NOW AVAILABLE!

*

JT ICffll ■ COMPILERCONIULTING INC.

Post Office Box 133 PP STNMilford, CT 06406 Dept. B

Circle 98 on inquiry card.

BYTE December 1977

95

Listing 1: An assembly program for driving the 8 channel 3'A digit voltmeterin figure 3. It is designed to run on the Z-80 and is assembled to occupy mem-ory page octal 140.

000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000

000000

000 000000 000

ASSM 110000 140000

140000140000140000140000140000140000140000140000140000140000140000140000140000140000140000140002140004.140004140010140012140014140016140020140022140024140026140030140032140034140034140040140040140040140040140041140042140044140046140046140046140046140046140046140046140046140046140046140046140047140052140053140057140062140062140062140062140064140066140070140072140074140076140100140102140104140106140111140113140115140117140120140123140123140123140123140126140130140133140135140140140143140145140151140153140156140160140162140164140144140164140164140147140171140173140175140175140175140175140177140201140203140205140207140207140207140207140211140214140215140216140217140220140222

353

042 042 140

257

375 041 040 140

375 167 001

006 002076 007323 003366 200323 003333 002313 107050 372020 342004 200315 341014 000313 122040 001014375 141 000

140

140

072 042313 077042 042 140070 010

312 355 140375 044 001030 356

335 041 000 140026 000375 136 001

313 043313 043335 031

072 041 140323 003344 200323 003

333 002313 107050 372313 117040 124

006 200315 361 140057

017017017

346 001036 000

01000110012001250130014001500160017001800190020002100220023002400250026002700290029003000310032003300340035003600370038003900400041004200430044004500460047004600490050005100520053005400550056005700580059006000610062006300640065006600670068006900700071007200730074007500760077007800790080008100820083008400850086008700880089009000910092009300940095009600970098009901000101010201030104010501060107010801090110011101120113011401150116011701180119012001210

*** MC14433 3 1/2 DIGIT A/D CONVERTER DRIVER

DIP ECIU 3 DATA INPUT PORT NUMBER

SIP EMJ 2 STATUS INPUT PORT NUMBER

COP ECIU 3 COMMAND OUTPUT PORT NUMBER

EEOC EOU 200 ENABLE EOC INPUT

DEOC ECIU 000 DISABLE EOC INPUT

* CONVERTED CHANNEL DATA BUFFERS

CHAN1 DU

DUDU

CHAN7 DU

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

* INTERMEDIATE DATA BUFFERS

POLVAL DfiCHAN DB

CCP DUSTATUS DU*

000 LAST POLARITY VALUE <0=P0SUIVE1000 CURRENT CHANNEL NUMBER000000 COMMAND CHANNEL PARAMETER000000 RETURN STATUS PARAMETER

*** START A/D CONVERTER*

* INPUT PARAMETER=DE REGISTER UITH CHANNEL SELECT BITS

* SET FOR DESIRED CHANNEL (BIT 0=1

* FOR CHANNEL Or ETC.)

* OUTPUT PARAMETER=HL REGISTER(BIT 0 FOR CHANNEL 0

* UHERE 0=GOOD VALUES1=0UT OF RANGE)

START EXLBXORLDLB

DErHL SAVE INPUT PARAMETER

(CCP), HI.

A INITIALIZE CHANNEL NUMBER

IY,POLVAL INITIALIZE INTERMEDIATE DATA POINTER

(IY+ll.A ZERO CHANNEL NUMBER

* START A/D CONVERTER AND ESTABLISH POLARITY*

LIP B.2 CYCLE TUO TIMES

SELECT CHANNEL 8

SELECT CHANNEL

ENABLE EOC INPUTREAD STATUSTEST FOR EOCJUMP IF NOT TRUEJUMP IF NOT DONESELECT DGIT 1READ DIGITPOLARITY=POSITIV!£BIT 2,D TEST POLARITY BIT-JR NZjPOS JUMP IF POSITIVE

inc: c polar:i:ty=negative

POS LD <IY+0),C SAVE CURRENT POLARITY

*

» SELECT NEXT CHANNEL FOR CONVERSION

LD

Ar7

OUT

COP

OR

EEOC

OUT

COP

IN

SIP

BIT

0,A

JR

Z,WAIT

D.INZ

AGAIN

LD

11,200

CALL

RDIG

111

CO

SELNXT LDSRI.

[NCCN INCJR

iELOOl IDLD

LDSLASLAADD

A,(CCP) LOAD CHANNEL COMMAND PARAMETER

A TEST NEXT CHANNEL BIT

(CCP),A RESTORE

C.SEL001 JUMP IF CHANNEL SELECTED

ZrRAPUP

(IYH) INCREMENT CHANNEL NUMBER

SELNXT

IXrCHANO LOAD DATA BUFFER BASE ADDRESS

DfO

E,(IY+1) LOAD CURRENT CHANNEL NUMBER

E CALCULATE BUFFER OFFSET

E

IX, DE

* SELECT CHANNEL AND START CONVERSION

A,(CHAN) LOAD CHANNEL NUMULR

OUTOR

COP

EEOC

COP

SELECT CHANNELENABLE EOC OUTPUTCOMMAND A/D CONVERTER

* UAIT FOR EOC

WEOC IN SIP READ CONVERTER STATUS

BIT 0,A TEST FOR EOC

JR Z.UEOC JUMP IF NOT READY

BIT 1,A TEST FOR OVERANGE

JR NZ,OVER JUMP IF TRUE

*

* CONVERSION DONE{PROCESS FIRST (MSD) DIGIT

LD

B, 200

SELECT DIGIT 1

CALL

RDIG

UAIT AND READ DIGIT 1

CPL

RRCA

RIGHT

JUSTIFY DIGIT VALUE

RRCA

RRCA

AND

1

ISOLATE

LD

£,(>

INITIALIZE STATUS BYTE

must synchronize itself to the integratedcircuit and perform a set instructionrepertoire to demultiplex the input datastream. There is a certain trade-off betweenhardware and software. Another ten or15 chips could be added to the interfaceboard so that it requires no more softwarethan the digital to analog converter board,but the cost justification is not there.

Driver programs can be triggered byeither a poll from another program or aninterrupt which initiates execution. Whileboth can be equally effective in certainapplications, using interrupt initiated driverswhich give the appearance of simultaneouscomputer operation can be hazardous. Bynow, most experimenters have masteredBASIC and are trying to find more challeng-ing applications. But consider for a momentthe BASIC interpreters most systems areprovided with. They may execute divinely,but they have no source listing and there-fore cannot be modified very easily. If aprogram utilizes information providedthrough interrupt driven peripherals, but hasno way of knowing when the informationwill arrive, it is of no use. Attempting to addinterrupt analog data acquisition tounsourced sequentially interpreted BASIC ismore than I intend to explain this month.Sometime in a future article I'll describe acontrol application which uses interrupts asthey were intended.

Adding this DVM interface to BASICrequires a polled driver. A machine languageprogram is written which can be insertedanywhere in the computer's memory(assuming it's assembled to execute there, of

Constructing the Interface

1. Use IC sockets and solder in all passivecomponents.

2. Turn on the power and ensure that thecorrect supply voltages are presented toICs 1, 2 and 6. Turn off power.

3. Insert IC2 and apply power. The output atpin 2 should be 2.5 V and should not drift.Adjust the pot so that there is exactly2.000 V on IC1 pin 2. Turn off power.

4. Insert the rest of the ICs including theMC14433. Be careful when inserting the4051 and MC14433. You are now ready towire the board to some convenient inputand output ports and see if it flies.

5. Turn on power. A driver program obviouslyis necessary to see if the circuit actuallyworks and I have included one. If you arereally anxious, you can try a couple ofquickies: an oscilloscope attached to digitselect or data lines will tell you immediatelyif the circuit is running. You should seesquare waves of various duty cycles.Another method is to write a short programwhich scans the end of conversion bit(remember to reset it first) and halt. If ithalts, there must be an EOC.

96

BYTE December 1977

MSD

WhatYou See is What You Get!

Now, A Video System You Can Afford!

MSDV-100

Video Display System:

The Video Display System is a highquality 80 character, 24 line video outputdevice for the S-100 bus. Many advancedfeatures have been incorporated which arenot normally found on units costing manytimes the price.

The character set includes upper andlower case characters as well as fullpunctuation. Any character can beunderlined, a feature useful in wordprocessing. A character can also be made toblink at a user selectable rate, often usedfor alarm or warning situations. Additionallya character can appear in reverse field(black on white) or, if composite video isused, individual characters can beintensified.

Also included in the MSDV-100 is theability to generate high quality continuousforms overlays. Charts, graphs, or orderentry forms are easy to produce on thevideo screen.

A third significant feature of the VideoDisplay System is the ability to display greyscale elements in any of nine levels in anyof 1920 positions on the screen. This isespecially useful for bar graphs and for greyscale graphics or animations.

Internally, the MSDV-100 is a two-boardS-100 based system which occupies 2K ofRAM address space and two I/O ports, userselectable. The microcomputer can write tothe screen directly with horizontal retracesynchronization if desired for a flicker free,very high speed display.

Software support for the MSDV-100 iscomplete with both machine language code,including fully commented source listings,and a comprehensive Basic softwarepackage implementing all MSDV-100features. Assembly language drivers allowthe sophisticated user to easily customizethe system for specilized applications.

Programs are provided that permit theuser to link the video system to high levelprogramming languages such as Basic. Alink program, provided in Basic, permitsthe user with no knowledge of assemblylanguage programming to immediatelyobtain video output. The link fullyimplements the forms capability of theMSDV-100, including direct cursoraddressing, as well as the other advancedfeatures of the Video Display System.

MSDD-100

Floppy Disc System:

The MSDD-100 Floppy Disc System is asignificant advance in low cost, high densitymass storage systems. Using the industrystandard Shugart SA400 minifloppy™ driveand a highly reliable LSI controller, thesingle card MSDD-100 Floppy Disc Systemrepresents a major cost/performancebreakthrough for the hobbyist andbusinessman.

Many features not provided on largerdisc systems are standard on the MSDD-100Disc system. The controller will support upto three drives and provides all of the disctiming functions, therefore no softwaretiming loops are required. A very flexibleonboard vectored interrupt structure isprovided, a valuable feature for use inmodern multi-tasking applications.

The disc controller design is totallysynchronous, requiring no "one shots".Ease of maintenance is evidenced by the factthat there are no adjustments required foroperation.

Circle 81 on inquiry card.

Also included are disc driver routines forAltair Basic, which allow program and datastoreage on disc, and permit sector levelI/O through Basic. Many programs and filesmay be kept on a single disc, and cassetteI/O is retained. These drivers work with 8K,3.2, 8K 4.0, Extended 3.2 and 4.1 versionsof Basic.

The Altair/SlOO compatible disccontroller is a single board design, andfeatures very low power consumption.

Included free with each MSDD-100Floppy Disc System is a software package,provided on diskette, for formatting,certifying, and copying discs, as well asprograms for creating fully customizedmemory-to-disc and disc-to-memoryroutines which may be put in read-onlymemory. In addition, assembly language I/Odriver listings are provided to facilitatecustom applications programming.

' 2765 So Colorado Blvd.Suite 110 Denver.CO 80222 (303)758-7411 \

Sanyo Monitor (VM4209) $150

Micro-Floppy Disc System $499*

(Assembled) $599*

Video Display System $285

(Assembled) $385

Additional Drivers $350 ea.

Diskettes $4.25 ea.

'Power Supply not included.To place Order, send check, money order or BAor MC Card # with exp. date and signature.Uncertified checks require 6 weeks process-ing. Phone orders accepted.Please Send me the following: AMOUNT

TOTAL:

Name

Address

City, State, Zip

□ Send me more information

Listing 7, continued:

140224110225110225

140225140225.1102271402311402311402311402311402321402341402401402421402461402501402501402501402501402511102561402621402641402641402641402641402651402701402731402731402731402731402751.40300140302(40305140305140305140305140307140312110311140317110317110317140317140321140324140326140331140333140333140333140333140335140340140341140344140347140352140355140355140355140355.140360140361140361140361140361140361140363140364140365140366110370140371

313 122040 017

014

036 200375 313040 022375 313030 314

375 313050 006375 313030 300

263335 167

375 161

313 010315 361346 017335 167

313 010315 361346 017335 167

313 010315 361346 017335 167

030 205

076 002335 167257

335 167335 167335 167303 140

000 106000 306

000 106000 206

000000

140001

140002

140003

000001

003140

052 044311

333 003

057

course) and called as a subroutine when theperipheral is to be exercised. The DigitalGroup Maxi BASIC, like many others, hasinstructions which allow memory and 10port manipulation as well as calling machinelanguage subroutines. It is this latter callinstruction which initiates the analog todigital conversion cycles and communicateswith the interface driver program. When itexecutes this call instruction, it passes achannel convert code in the DE registerpair. The driver program returns controlto the BASIC interpreter at the conclusionof the analog to digital conversion. Thisprovides a convenient method of synchron-ization. BASIC waits for the driver to finishstoring the converted input data before

J 2201230

LB CrE

* TEST POLARITY OF CHANNEL

12601270

2.D TEST POLARITYNZ.MSD2 JUMP IP POSITIVE

1290 * NEGATIVE POLARITY

1300 *

1310 INC C

132013301340135013601370138013901400141014201430144014501460147014001490

Er200 LOAD NEGATIVE SIGNOf(IY+0) TEST PREVIOUS POLARITYN'ZrMSD3 JUMP IF ALSO NEGATIVEOr(IY+0) MAKE PREVIOUS VALUE NEGATIVESCSC CONVERT AGAIN

* POSITIVE POLARITY

Ot(IY-K)) TEST PREVIOUS POLARITYZrMSD3 JUMP IF ALSO POSITIVEOf(IY+0) MAKE PREVIOUS VALUE POSITIVESCSC CONVERT AGAIN

* SAVE MSD AND CURRENT POLARITY

(IX+0>CIY+O)

ADD POLARITY SIGN TO MSD■A SAVE IN DATA DUFFER■ C SAVE CURRENT POLARITY

1510 * process;; 2nd digit

154015501560157015801590160016101620163016401650166016701680169017001710

RRC E

CALL RDIG

AND 017

LB UX+DtA

* PROCESS 3RD DIGIT

SELECT DIGIT 2

WAIT AND READ DIGIT

ISOLATE

A STORE SECOND DIGIT

RRC B

CALL RDIG

AND 017

1.D <IX+2>.A

*

* PROCESS 4TH DIGIT

*

RRC BCALL RDIGAND 017LD (IX+3):JR INCCN

SELECT 3RD DIGITWAIT AND READ DIGITISOLATEA STORE

SELECT 4TH DIGITWAIT AND REAP DIGITISOLATEA STORE

.000 OVERRANGE VALUE INTO DATA BUFFER

1750 OVER

1760

1770

1780

1790

1800

1810

LOAD MSD VALUE

A

(IX+1) ,(IX+2)t<IX+3),INCCN

LOAD LSD VALUES

1830184018501S6018701880189019001910192019301940195019601970

* END OF CHANNEL CONVERSIONS

RAPUP LD

HL.(STATUS)

RETURN TO CALLER

* READ DIGIT ROUTINE

READ DATA BYTE

CONVERT TO HIGH TRUE LOGIC

SAVE COPY

TEST FOR GIVEN DIGIT READY

JUMP Tl" NOT

RESTORE A REGISTER

RETURN TO CALLER

trying to use it. Perhaps the next level isto write an interrupt driver which con-tinually updates a value in the interpreter'stables of variables; but this would require asource listing and further documentation ofthe interpreter in order to accomplish thegoal.

The Driver Is a Relocatable Subroutine

The actual program which interfaces toand stores the values to the DVM chip iswritten in the form of a single callable sub-routine. To maintain the relocatability ofthe subroutine to any page in memory, allinformation necessary for the properexecution of the driver is provided at thetime of the call. The additional informationabout which channels are to be converted isloaded into the DE registers at the time ofthe call. One bit of the E register is allocatedfor each analog to digital channel. Channel 1is the least significant bit and channel 8 isthe most significant. Setting a "1" value forthe channel bit will tell the driver to convertthat channel and a "0" means to ignore it.Loading E with binary 10 110 011 willindicate to the driver that channels 1, 2, 5,6 and 8 are to be converted. Setting all bitsto "1" will cause all channels to be read andconverted. Indicating to the driver which, ifany, channels are to be read rather thanscanning all of them is a method of savingtime. By computer standards, this analog todigital interface is slow; it is better not towaste any more time than is necessary.

The driver starts the conversion processby selecting a channel address to convert.This is accomplished by looking at the leastsignificant bit of the E register. If it is a "1"it will convert on that channel. If it is a "0"it shifts and inspects the next bit, and so onuntil it finds one that is set. When a bit setcondition is found, the channel address ofthat particular channel is sent out via port003 to the analog input multiplexer IC6 andthe end of conversion flip flop IC5 is reset.The DVM then starts the process ofconverting the analog input signal.

Demultiplexing the output of the DVM isfairly straightforward. The processor hangsin a loop waiting for an end of conversionsignal. When this happens, the programknows that the next four digits of data arewhat is wanted. The DVM integrated circuitsets each of the digit select lines successively,and the program records the values of thefour data lines each time. It strips the statusand polarity bits from the most significant

98

BYTE December 1977

Table 2: Powertable for figure 3.

wiring

+5V -5V

GND

IC Number Type Pin Pin

Pin

Id MC14433 24 13

IC2 MC1403 1

IC3.4 74LS04 14

IC5 7474 14

IC6 CD4051 16 7

1&123778

Note: All resistors % W 5% unless otherwise noted.

All capacitors are 100 V ceramics unless otherwise noted.

f START J

SAVE

REQUESTEDCHANNELNUMBERS

READ AND SAVEMOST SIGNIFICANTBIT WITH POLARITYSIGN

INITIALIZE

INTERMEDIATE

VARIABLES

PERFORM TWOANALOG TO DIGITALCONVERSIONS ANDSAVE LASTPOLARITY VALUE

CONVERSIONREQUEST FORNEXTCHANNEL

READ AND SAVESECOND, THIRDAND FOURTHDIGITS

Figure 3: Flowchart of the digital voltmeter driver program of listing 1.

BYTE December 1977

99

ROGRAM --S.CIARCIA

THE DECIMAL STARTING LOCATION OF

Listing 2: A BASIC program (written in Max/ BASIC) which performs dataacquisition and computes results from the output of the 8 channel digitalvoltmeter.

LIST

100 RUM

IK) REM

120 REM 8 CHANNEL 3 1/2 DIGIT SCANNING

130 REM REV 1.5

140 REM SPECIAL ANALYSIS SECTION

150 REM TTL TO MOS VOLTAGE LEVEL CONVERTER

140 REM

170 REM

ISO REM

190 LET Ml=24574

192 REM PAGE 14O(0CTA1_>

200 REM Ml IS SET TO BE

210 REM THE VALUE TABLE

220 LET M2=24614

230 REM M2 IS THE MACHINE LANGUAGE CALL ADDREi

240 LET M3 = 10

250 REM M3 IS THE GAIN. IN THIS APPLICATION, '

240 REM IS +19.99 TO -19.99 VOLTS

270 REM TO USE THE CONVERTER FOR -1,999 TO +1.999,

280 GOTO 300

290 PRINT'TO REPEAT THE SAME SELECTION, TYPE AN X"

291 PRINT'TO SELECT A NEW OPTION,TYPE AN 0" SINPUT

292 IF B$="X" THEN GOTO 420294 PRINT ! PRINT I PRINT300 PRINT- OPTION LIST"310 REM WE START THE PROGRAM WITH AN OPTION

320 PRINT" - -

330 PRINT'O SELECT CHANNELS"

340 PRINT"! SCAN AND DISPLAY ALL CHANNELS"

-SCAN AND DISPLAY SELECTED CHANNEI

SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY"

— -SCAN CHANNEL 1 CONTINUOUSLY 100 TIMES"

GO TO SPECIAL ANALYSIS SUBROUTINES"

390 REM THESE ROUTINES ARE DEPENDENT UPON THE PARTICULAR A/D APPLICAT!

400 PRINT"* - EXIT"

410 PRINT'UHICH OPTION "i INPUT S420 IF S=0 THEN 520

LOCATION FOR THE A/D

RANGE

LET

THE CONVERT!:!

I 1ST

350 PRINT340 PRINT370 PRINT380 PRINT

Bt

ONCE

THANKYOU" ;END

430 IF S=l THEN 930

440 IF S=2 THEN 1040

450 IF S=3 THEN 1280

440 IF 8=4 THEN 1380

470 IF S=5 THEN 1470

480 IF S-=4 THEN PRINT"

490 GOTO 410

500 REM

510 REM FIRST WE DETERMINE WHICH ANALOG CHANNELS TO READ

520 PRINT "INDICATE YOUR CHOICES WITH A Y OR N AFTER THE CHANNEL NUMBS

530 FOR Ol TO 8

540 PRINT"CHANNEL "JC,

550 INPUT AI

540 REM ACCEPT ONLY TRUE INPUTS

570 IF A»="Y" THEN LET A(Ci=l :GOTO 410

580 IF A*="N" THEN LET A<C>=0 [SOTO 410

590 PRINT "INPUT A Y FOR YES OR A N FOR NO"

400 GOTO 540

410 NEXT C

420 GOTO 290

430 REM

440 REM

450 REM

440 REM SET D EQUAL TO THE DECIMAL MEMORY ADDRESS OF THE

470 REM BEGINNING OF VALUE TABLE

480 REM THIS SUBROUTINE DETERMINES THE 3 1/2 DIGIT VALUE

690 REM FROM THE TABLE IN MEMORY

700 LET 1)1= J XAM(D)

710 LET 0=01

720 if <:i:o-'«:i2a then let CMJ1-12S

730 D-B+l

740 LET U=EXAM<D>

750 D-D+l

740 LET E=EXAM!fi)

770 U=n+i

780 LET R=EXAM(D)

790 LET B=B+1

800 LET Y-OK , l*W> + < . 0;l*E> + < ,001*R)

810 LET Y1=M3*Y

820 RETURN

830 REM

840 REM THIS SUBROUTINE PRINTS OUT

350 PRINT-CHANNEL "jXf IS ":

840 IF 0K128 THEN PRINT" "i SOOTO

870 IF Bl>=128 THEN PRINT ■-"!

880 IF M3=:J.0 THEN PRINT X5F2PY1."

890 PRINT Z6F3;Y1;" VOLTS"

900 RETURN

910 REM

920 REM

930 LET B-CALI... <M2,2SS>

940 REM THE CALL INSTRUCTION I ELLS

950 REM 255 IS ALL BITS SET

940 REM THIS WILL CAUSE: THE A/D TO CONVERT

970 1 ET D = M1

980 REM B IS THE START ADDRESS

990 FOR' X=l TO 3

1000 GOSUB 700

1010 REM GET 3 1/2 DIGIT VALUI

1020 IF Y>=2 THEN PRINT"CHANNt

1030 GOSUB 850

1040 NEXT X

1050 GOTO 290

380

I'AGE VALUE!

GOTO 900

THE A/D INTERFACE TO START CONVERTING

THE VALUE TABLE.

FROM MEMORY"tXI" IS OUT OF

ight channel:

:goto 1040

digit (the 3/4 digit) and reformats the valueinto four bytes of memory. The three wholedigits will be stored in BCD notation andoccupy three of the bytes. The Vi digit,polarity and out of range will be located inthe remaining data byte. Polarity is indicatedby setting the most significant bit. A positivereading is a zero condition and negative is aone in that bit. The 54 digit value can onlybe a one or zero and occupies the leastsignificant bit of the quantity. Out of rangeis accomplished with a little program man-ipulation. If the driver detects that theincoming reading is not within range, it setsthe equivalent of +2 in the J4 digit byte.Obviously, this is an illegal condition for aDVM capable of only counting to 1999, butit is easy for BASIC to check theauthenticity of the data by checking that allincoming values are between -1999 and+1999. The driver program continues to dothis same sequence until all designatedchannels have been converted.

There is a slight peculiarity with DVMchips: they don't like changes in polarity.The first conversion after a change inpolarity will be 0.000 and will have to bediscarded. In a single channel DVM thiswouldn't present a problem, but whenreading eight channels, some will be negativeinputs and others will be positive.

The initial conversion also has the sameproblem to contend with, since the con-version history when the driver is not activeis unknown. The solution is to write asmarter driver. Following a call, the driverprogram initializes the interface and deter-mines the polarity. After that, any time thepolarity changes between successive readingson designated channels, another conversionis initiated and stored. Figure 3 is asimplified flow diagram showing the logicaldesign of the driver.

The end product of the driver is a 32 bytememory resident table which contains theeight 4 byte values corresponding to theeight channels. The values are sequentiallyarranged in the table. A simple formulalocates a particular channel location at L +(4(N-1)) where L is the starting address ofthe table and N is the channel number. Acomplete assembly listing of the DVM driveris outlined in listing Litis made to run on aZ-80 and is assembled to occupy page 140(octal).

The driver can be assembled forpractically any portion of memory, but takecare not to overlap into operating system orsource files. If you own Digital Group soft-

100

BYTE December 1977

Listing 2, continued:

1060 LET D=M1

.1070 GOSUB 1130

1080 GOTO 290

1090 REM

1100 REM

1110 REM

1120 REM THIS SUBROUTINE PRINTS ONLY THE SELECTED CHANNELS

1130 LET L=A(l>*l+A<2)*2+A(3>*4tA<4>*3+A<5>*16TA<6)*32l-A<7)*A4+A<a)*l?3

1110 REM THIS EQUATION SETS THE BIT PATTERN FOR THE CALL TO THE A/D

1150 LET H=CALL<M2rL>

1160 REM H U1LL RETURN FROM THE CALL WITH THE HL REG. VALUE BUT

1170 REM IS NOT BEING USED PRESENTLY IN THIS PROGRAM

HBO FOR X=l TO a

1190 GOSUB 700

1200 LET Z-A<l)+A<2)+A<3)+A(4>+A(5>+A(6)+A<7>+A<8>

1210 IF Z=0 THEN F'RINT'NO CHANNELS HAVE BEEN SELECTED" SEXIT 290

1220 IF A<X>=0 THEN 1250

1230 IF Y>=2 THEN PEINT'CHANNEL ■;xi" IS OUT OF RANGE' : GOTO 1250

1240 GOSUB 830

1250 NEXT X

1260 RETURN

1270 GOSUB 1130

1280 LET D==M1

1290 REM THIS SUBROUTINE IS A CONTINUOUS LOOP - EXIT WITH RESET SWITCH

1300 FOR J=l TO 1000

13 10 LET D=M1

1320 GOSUB 1130

1330 PRINT ! PRINT ! PRINT

1340 NEXT J

1350 GOTO 290

1360 REM

1370 REM THIS SUBROUTINE CONTINUOUSLY SCANS AND PRINTS CHANNEL 1

1380 FOR R=i TO 100

1390 LET U=CALL<M2.1>

1400 REM GO AND CONVERT CHANNEL 1 ONLY

1110 LET D=M1

1420 GOSOB 700

1430 LET X=l

1440 GOSUB 850

1450 NEXT R

1460 GOTO 290

1470 LET B=CALI.(M2.255)

1480 REM SCAN AND STORE ALL CHANNELS

1.490 LET U = M1

1S00 FOR X=l TO 8

1510 GOSUB 700

1520 LET V(X>=Y1

1530 REM SET VALUES INTO AN 8 VALUE ARRAY

1510 NEXT X

1550 REM CHECK CALIBRATION

1560 IF V(8)>«2.006 THEN PRINT'OUT OF CALIBRATION- 1 GOTO 290

1570 IF V(8)<=1.?94 THEN PRINT-OUT OF CALIBRATION- ! GOTO 290

1580 PRINT-TTL TO MOS LEVEL CONVERTER TTL LOU INPOT STATE' (PRINT! PRINT

.1,590 PRINT-DIODE Dl ■

1600 PRINT"VOLTAGE DROP •liUt2)-Vfl)tl VOLTS"

1610 PRINT !PRINT-R1-

1620 LET T1=(V<2>-V<3>1/2200

1630 PRINT-CURRENT = "»T1r■ AMPS"

1610 PRINT'FOWER " "iTl*Tl*2200

1650 PRINT IPRINT'Ol"

1660 PRINT-VCE 01 = ■jV(4>-V<3)i■ VOLTS"

1670 PRINT-VBE Bl * •iV(3)rl" VOLTS"

1680 PRINT-VCB 01 ■ •iV(4);1 VOLTS'

1690 PRINT 1PRINT-R2-

1700 LET T2==<V(5>-V(4) J/4700

1710 PRINT-R2 DROP - ".V(5)-V<4)r" VOLTS'

1720 PRINT-CURRENT » •tTZf AMPS"

1730 PRINT-POUER ■ ■iT2*T2*47001■ WATTS'

1740 PRINT 1PRINT-R3'

1750 LET T3=(V<6)-V(7>1/4700

1760 PRINT-R3 DROP « ■iV(6)-V<7))" VOLTS'

1770 PRINT-CURRENT = 'rT3r- AMPS"

1780 PRINT-POUER » '

1790 PRINTSPRINT"02'

1800 FRINT'VBE 02 >

1810 PRINT-VCE 02 »

1820 PRINT-VCB 02 »

1830 PRINT-IC OF 02

;T3*T3*4700i- WATTS'

VOLTS■VOLTS"VOLTS'

■;V(S)-V(4)i-" IV < 7 ) -V (5) > ■■>V<7>-V<4>f"= -!T3i' AMPS'

1840 print'pouer dissipation = '8<v<7>-v<5>>*t3!1850 print:print:print-supply voltages-

1860 PRINT V(6)1870 PRINT'-'8V<5>

1880 GOTO 290READY

OPTION LIST

—SELECT CHANNELS—SCAN AND DISPLAY ALL CHANNELS—-SCAN AND DISPLAY SELECTED CHANNEI S ONCE

-SCAN AND DISPLAY SELECTED CHANNELS CONTINUOU!

SCAN CHANNEL I CONTINUOUSLY 100 TIMES

SO TO SPECIAL ANALYSIS SUBROUTINES

EX] I

1

WHICH OPTION

•'1

CHANNI L

CHANNI 1

CHANNEI

I HANNEI

CHANNEI

■ 34 vol TS

.93 VOLTS.ol VOL IS

..". volrs

.02 VOLTS

CHANNEL 6 IS 5.04 VOLTSCHANNEL 7 IS -11.45 VOLTS

CHANNEL 3 IS 2.00 VOLTS

TO REPEAT THE SAME SELECTION. TYPE AM X

10 SELECT A NEW OPTION, TYPE AM il

ro

OPTION LIST

0 SELECT CHANNELS

1 SCAN AND DISPLAY ALL CHANNELS

2 SCAN AND DISPLAY SELECTED CHANNELS ONCE

3 - SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY

4 — SCAN CHANNEL 1 CONTINUOUSLY 1.00 TIMES

5 GO TO SPECIAL ANALYSIS SUBROUTINES

6 EXIT

WHICH OPTIONYO

INDICATE YOUR CHOICES WITH A Y OR N AFTER THE CHANNEL NUMBER

CHANNEL. 1 TY

CHANNEI. 2 ?N

CHANNEL 3 TN

CHANNEL 4 ?Y

CHANNEL 5 TY

CHANNEI 6 TN

CHANNEI. 7 TN

CHANNEL. 8 TN

TO REPEAT THE SAME SELECTION. TYPE AN X

TO SELECT A NEU OPTION.TYPE AN 0

?0

OPTION LIST

0 - -SELECT CHANNELS

1 - SCAN AND DISPLAY ALL CHANNELS

2 SCAN AND DISPLAY SELECTED CHANNELS ONCE

3 • SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY

4 SCAN CHANNEL 1 CONTINUOUSLY 100 TIMES

5 GO TO SPECIAL ANALYSIS SUBROUTINES

6 EXIT

WHICH OPTION

CHANNECHANNECHANNETO REPTO SEL?0

L 1 IS 3.54 VOLTS

L 4 IS -10.75 VOLTS

L 5 IS -11.02 VOLTS

EAT THE SAME SELECTION. TYPE

ECT A NEU OPT ION.TYPE AN 0

OPTION LIST

SELECT CHANNELS

SCAN AND DISPLAY ALL CHANNELS

SCAN AND DISPLAY SELECTED CHANNELS ONCE

SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY

- SCAN CHANNEL 1 CONTINUOUSLY 100 TIMES

GO TO SPECIAL ANALYSIS SUBROUTINES

EXIT

WHICH OPTION

TTL TO MOS LEVEL CONVERTER

-TTL LOU INPOT STATE

DIODE Dl

VOLTAGE DROP

Rl

CURRENT '

POWER '■-■

1)1

VCE 01 =

VBE 01 =

VCB 01 ■

R2

R2 DROP c

CURRENT ■

POWER -

R3

R3 DROP i

CURRENT I

POWER ■

02

VBE 02 ■

VCE 02 ■

VCB 02 ■

IC OF 02

-.61 VOLTS

1.0454545E-03 AMPS2.4045452E-03

10.12 VOLTS.63 VOLTS10.75 VOLTS

.27 VOLTS

5.7444B09E-05 AMPS1.5510639E-05 WATTS

-6.41 VOLTS-1.3638298E-03 AMPS8.742149E-03 WATTS

.27 VOLTS

.43 VOLTS

.7 VOLTS

-1.3633298E-03 AMPSPOWER DISSIPATION ■ -5.3644681E-04 UATTSSUPPLY VOLTAGES

5.04-11.02

TO REPEAT THE SAME SELECTION. TYPE AN XTO SELECT A NEU OPTION.TYPE AN 0Ytl

OPTION LIST

0 SELECT CHANNELS

1 — SCAM AND DISPLAY ALL CHANNELS

2 SCAN AND DISPLAY SELECTED CHANNELS ONCE

3 - SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUS

4 SCAN CHANNEI 1 CONTINUOUSLY 100 TIMES

5 GO TO SPECIAL ANALYSIS SUBROUTINES

6 EXIT

WHICH OPTION76

TIIANKYOUREADY

BYTE December 1977

101

CHANNEL N0.7

A

CHANNEL N0.4

CHANNEL NO.3

T

TL

ONTROL i 1^ ? ' ZZK

NPUT CHNO ►) O W^-^

TTL 7404 "' R

CONTROL

012N2907

CHANNEL NO.I

CHANNEL N0.2'

R34.7K

CHANNEL NO.6

MOS LEVELO OUTPUT5V

/77

©02 -l+i

2N2222 ;

-12L-

R24.7 K

-I2V

NOTE: CHANNEL NO. 8CONNECTED TO 2.000 V REF

CHANNEL N0.5

Figure 4: A sample circuit illustrating the use of the 8 channel 3'A digit volt-meter. The circuit is a TTL to MOS voltage level converter.

ware, there are some alternatives dependingon what version you have. For people withstraight (non-universal) 32 character Z-80Maxi BASIC Version 1.0, page 012 is emptyand has been left for future expansion. Ifyou have the 64 character Maxi BASICVersion 1.1, it's better not to try to bury thedriver within the interpreter unless you're anexperienced programmer. Owners of 8080systems have only to reassemble the codeusing 8080 instructions and locate it in asimilar manner. The logic behind the driveris not so involved that it necessitates usingthe Z-80. Any microprocessor should beable to work with the interface.

Using the Interface with BASIC

This DVM interface is specificallydesigned to run with a BASIC interpretersuch as Maxi BASIC or the equivalent.Listing 2 illustrates a BASIC program whichdoes data acquisition and computes resultsfrom this input data. Often, the best methodof explanation is to illustrate the actual useof a device. This program, while beinggeneral in nature, provides specific referenceto the value of mating BASIC and analogacquisition.

Figure 4 is a circuit of a TTL to MOSvoltage level converter. Its use is to convert0 and 5 V TTL levels to +5 V and -12 VMOS logic levels. It is a relatively simplecircuit, but it shows how BASIC can workfor you.

Up to this point I have said that the inputrange of the DVM is ±1.999 V. By puttingresistor voltage dividers in series with themultiplexer channel inputs, other ranges can

be accommodated. A 900 K-100 K resistordivider network will change the inputrange to ±19.999 V. Some channels canbe set for 20 V ranges. With the presentCD4051, though, separate resistor dividersare needed on the inputs because the max-imum voltage handling capability of the4051 is the range of its power supply.Relays, which could pass the high voltages,could be configured to allow use of only oneselectable divider network, but for now weare limited. If you put resistor dividers onthe inputs, the only necessity is to instructthe program to multiply the particularchannel reading by an appropriate rangingfactor. In this particular case, all inputchannels have been set for ±19.99 V ranges,and the multiplier is ten.

The program presents an option list. Itallows general application as an acquisitionand data logging tool. With it, one can selectto read and print all eight channels,particular channels, or log a single channelcontinuously. Option 5 is what it's allabout. It automatically records the inputvoltages and computes the circuit parameterssuch as power dissipation and voltage drops.A very complicated circuit example wouldprobably have been more impressive, butthat is merely a case of applying program-ming talents to the same set of input data.

One further note of explanation: the callinstruction in Maxi BASIC has been mis-interpreted by some people. It is not adirectly executable instruction, but is ratherused in a statement like LET X = CALL(2560,9). The BASIC interpreter will go tomemory location decimal 2560 and startexecuting a machine language subroutine.The number in parentheses after the commais the value which is put in the D and Eregisters at the same time. This is a 16 bitvalue with a range of 0 to 65,535. When themachine language subroutine is finished, itreturns to the interpreter. X will then have avalue equal to whatever was in the H and Lregisters when the subroutine ended.

The following items are available from GeneralDigital Corporation, 700 Burnside Av, EastHartford CT 06108:

1. Complete set of integrated circuitsincluding the MC14433 and MC1403. . .$29.95

2. Complete kit of all parts including PCboard, sockets, integrated circuits andother components. . .$64.95

3. Assembled and tested unit completewith DVM interface. . .$79.95

All items are postpaid in the continental US.

102

BYTE December 1977

Conclusion

Having eight channels is better thanhaving one, especially if it doesn't cost anymore. I've attempted to present a low costsolution to a usually expensive data ac-quisition problem. As is always the case withcomputers, the maximum utilization of thedevice is dependent upon the programmer,and as my college textbooks used to say, thisis an exercise left to the reader.

If you have a suggestion for an article oran idea about a project to be built, pleasewrite and tell me about it. Please enclose astamped, self-addressed envelope. Unfor-tunately, based on the mail volume of pre-vious articles, I will not be able to answerall letters personally, but I will attempt to."

The author

would like to extend

special thanks

to Dave Hardenbrook

for his help in

writing the DVM driver

program.

Photo 5: The breadboard circuit of the schematic in figure 4 used to test the8 channel voltmeter.

THE ALPHA-1 SYSTEM

• RATED A BEST BUY

IN MASS STORAGE

SYSTEMS

^APPLICATIONS

• BUSINESS applications include mailing lists, payroll,billing, and inventory.

• CASSETTE BACKUP for disk-based Systems notonly provides large amounts of storage at low cost,but also provides for convenient storage of histori-cal records.

• DEVELOPMENT SYSTEM features include a power-ful operating System with an Editor, Assembler, andDebugger, plus a variety of System utilities whichspeed development.

• OEM applications include P.O.S. data capture, wordprocessing systems, audio-visual presentation sys-tems, telephone call transfer systems.

• hardware

• Stores greater than 500K bytes per side of a C-60tape.

• Access a file in 17 seconds average on a C-60 tape.

• Load 8K of data in less than 11 seconds (6250 baud).

• 100% interchangeability of cassettes with no adjust-ments required orallowed.

• Compatible with all popular S-100 Bus Microcom-puters.

• Audio track under computer control.

• Eliminates the need for ROM/PROM monitors.

• software

• MCOS, a powerful stand-alone cassette operatingsystem, is operationally much simpler than a D.O.S.,handles variable length named files, will update afile in place, packs or copies tapes with a singlecommand.

• EXTENDED BASIC with MCOS permits array hand-ling and concatenation of files, plus all capabilitiesof MCOS.

• PRICES START AT $240

• FREE BUYERS GUIDE

If you are shopping for a tape or disk system for yourS-100 Bus Computer System, you do not have all thefacts until you have the MECA "BUYERS GUIDE TOMASS STORAGE." This 10 page guide book provides aframework for evaluating cassette, cartridge, and disk-based systems. Write for your copy today.

For complete information including the Dealer nearestyou, write or phone:

mecsi

7026 O.W.S. Road, Yucca Valley, CA 92284(714)365-7686

Circle 70 on inquiry card.

BYTE December 1977

103

Structured Programmingwith Warnier-Orr Diagrams

Part 1: Design Methodology

David A Higgins

Langston Kitch and Associates

715 E 8th St

Topeka KS 66607

Any successful program design method-ology must be able to do several things: itmust produce consistent, low cost, highreliability results; it must produce themquickly, while still allowing for easy mainte-nance later and, it must be simple enough toallow anyone (and I do mean anyone) to useit. Warnier-Orr diagrams (after Jean-Dominique Warnier in France and KennethT Orr in the United States) satisfy all of theabove requirements with an added bonus;they produce structured programs thatnearly always run correctly at the firsteffective trial. They allow people to producesuperprograms without being superprogram-mers.

The purpose of this article is to show howto develop and code a structured programusing the Warnier-Orr methodology fromstart to finish. The technique is a straight-forward approach to producing correct pro-grams. It is just as valid and successful forpersonal microcomputer applications as it isfor megacomputer applications in the worldof business, science and industry. I feel thatthis method of designing a program is one ofthe most advanced state of the art softwaredevelopment techniques in existence today.It is a concise, step by step method withpredictable results.

Step One: Identify the Output

This is the first, the primary and the mostimportant rule of all for the construction ofa correct program. It cannot be emphasizedenough. The failure to first identify theoutputs of a program is usually the primaryreason programs fail to run correctly.

You must ask yourself the questions:"How will I be able to tell when I amthrough with this program?" "What will the

printed, displayed and punched outputsphysically look like?" "What will the pro-gram be able to do?" All of these questionsmust be thoroughly answered before youcan even begin to think of coding theprogram. Skipping this step because "Aw, Iknow what I want to do," or "Gee, this isn'tany fun, let's start coding," is a commonmistake, and although you may get awaywith it on a small program once in a while,omitting it will kill you more often than not.

A good example of the kind of troubleyou can get into by assuming that you knoweverything about a problem can be found ina recent popular film. In the movie JeremiahJohnson, Jeremiah befriends an old-hunterand trapper in the mountains. The oldhunter asks Jeremiah if he can skin a bear."Of course I can," he replies. In the nextscene, we see the old man running down ahill towards the cabin closely pursued by avery large bear. The hunter runs into theopen front door, leaps out of the backwindow and yells: "There . . . you skin thatone and I'll go get you another." Jeremiahfailed to do one basic thing; he forgot to askwhether the bear he was supposed to skinwas dead. Skinning a dead bear is one thing,skinning one that is still running around theroom trying to skin you is quite another.Just as writing a program after it has beenproperly defined is one thing, and trying towrite one when you aren't even sure what itis supposed to do when you are finished isanother.

Defining outputs is not really an un-reasonable requirement to make; after all, nobuilding contractor would begin construc-tion without first knowing what the finishedbuilding was supposed to look like; noelectrical engineer would start soldering

104

BYTE December 1977

YES YOU CAN

Put The Versatile 2 To Work Now!

Even if you've NEVER used a computer, you can begin to operate the Versatile 2 immediately.It's all been done for you: a compact computer that needs no extras, and a complete software library'

Great for HOBBYISTS • TEACHERS • BUSINESSMEN

HOME You don't have to be aprogrammer or electronics techni-cian. Or know anything more thanhow to plug it in, and read ourmanual. Get your hobby going with-out hassle.

CLASSROOM Get your kids rightto work learning BASIC, playinggames and solving math and ac-counting problems without worry-ing about what makes the computergo.

Sluiuarl Mini-FloppyController built into thcVl

Numeric Keypad may be ordered asoption at no charge.

STATUS REPORT

PHOTON TORPEDOES LEFT 9PHASER STRENGTH LETT 25SHIELD STRENGTH 1125

STAR DOTE 115*8 31

REHH1H1HG EHERtt 22M

common un red uu

CMMM 1 REPORT KL1NS0N POSITIONKL1IK0N VESSEL 1: QUAD 2 SECTOR «(UKM VESSEL 2: ttWI 4 SECTOR 6

ENTER PART HJKR NV-349B

PART WISER HV-349BDESCRIPTION: 3 IN GLOBE WIDEIWtrflCTlKR: aOBE INC.CURRENT SUPPLIER: PURCHASED DIRECT FRON FACTORS

01V. IN STOCK COST PRICE 0T1. ORDERED DUE DATE17 24.76 «.BS 5B 1/1I/7B

ENTER PARI KIKR: I <

OFFICE Stop drowning in paper-work. And quit worrying aboutwhich system will work best for you.With our business accounting pack-age, you can concentrate on busi-ness while the Versatile S con-centrates on maintaining yourrecords compactly, and permanent-ly on diskette.

SPECIFICATIONS

Z-80 CPU

Video display with graphics on 9"

64x16 screen

16K Static RAM Memory

Serial and Parallel I/O Ports with

standard RS-232 Connector provided

at rear of unit

ROM to drive RS-232

EXPANDABLE

Add memory, printer, and up to 3external mini-floppy disk drives.

OPTIONS

8K Memory Boards at $195.00 each.

HOME SOFTWARE LIBRARY

Five diskettes are included to give you im-mediate programming capabilities.

DISK #1 contains a Disk Operating Systemand 12K Extended BASIC. Easy to usestatements include: IF THEN, GOTO,READ, EXIT, FOR, NEXT. You get com-plete line editor, multi-statement lines andmulti-dimension arrays. A BASIC teachingprogram on this diskette will have you quick-ly programming in BASIC.

DISK #2 has many games including STAR-TREK, BLACKJACK and STAR WARS.There's room left over for you to add yourown.

DISK #3 is a Home Accounting Package withprograms like Budgeting, and CheckbookBalancing.

DISK #4 contains a Small Business Account-ing Package. Included are programs for Pay-roll, Inventory Control, Accounts Payableand Receivable, Taxes, Invoicing, CheckPrinting, and much more.

DISK #5 is a formatted blank diskette foryou to enter your own programs.

Versatile 2

$2495 Assembled and Tested. 6 Month Warranty. 30-day delivery or available direct from dealers.

Scientific Sales, Inc.

175W. Wieuca, Suite 210

Atlanta, GA 30342

(404) 252-6808

COMPUTER DATA SYSTEMS

5460 Fairmont Drive

Wilmington, Delaware 19808

(302) 738-0933

Alexander and Company, Inc.

5518 Florin Road

Sacramento, CA 95823

(916) 422-9070

Circle 25 on inquiry card.

BYTE December 1977

105

MONTHLY FINANCIAL REPORTFOR THE MONTH OF JANUARY 1977

BALANCE FORWARD OF

DATE1

CHECK*978

TO:

GROCERY STORE-MILK, BREAD, EG.GS

DEBIT2.23

CREDIT

BALANCE229.67

1

979

PHONE COMPANY

37.14

192.53

3

980

GAS BILL

25.61

166.92

5

981

GEORGE FREDRICK-SHOVELLING SNOW

5.00

156.92

5

PAYCHECK DEPOSIT

312

18

469.10

6

982

ELECTRIC COMPANY

23.15

4 4 5.95

31 1013

BYTE MAGAZINE 12.00

-SUBSCRIPTION RENEWAL

CURRFNT BALANCE

Figure 1: Proposed output of a computer program for balancing a checkbookand producing an end of month report.

parts together without a schematic diagram.In fact, no profession (reliable professionanyway) involved in the business of puttingthings together ever starts to build anythingunless they know what it will look like afterthey are done. Yet, that is precisely the waymost programmers try to write programs.Then they wonder what went wrong whenthey have problems. The same programmingprinciples which apply to the professionalapply just as much to the amateur, for noone's time is unlimited.

After defining all of the outputs of theprogram, the next step is to define thelogical data base, although you will probablynever really spend much time at this stepwith most personal microcomputer applica-tions.

Step Two: Define the Logical Data Base

The reason this step is trivial for manypersonal use applications is because thelogical data base typically consists of only

CHECK FILE <

YEAR

d,vl

MONTH(1,m)

DAY(1,cll

. TRANS-< ACTIONS <' (1,1)

DEBIT

(0,1)

CREDIT(0,1)

Figure 2: Logical data structure for the checkbook balance report. Thenotation (l,n) indicates an operation will take place at least once and possiblymany times.

one numeric field. It is typically the fieldholding a person's response to a programgenerated question. For illustrative purposeslet us look at a home computer applicationthat requires a slightly more complex database arrangement. Take for instance a com-puter program that would balance the familycheckbook and produce a financial reporteach month. The report designed in step onemight look something like figure 1.

If you were keeping manual records thatyou wanted to be able to search very easily,you would keep each one of those entries,perhaps on index cards, filed by year, bymonth and by date. Figure 2 illustrates away of representing the logical data struc-ture for the checkbook balance report inWarnier-Orr notation.

In figure 2, you can see the logical datastructure for the checkbook balance report.The report is organized by year; within eachyear by months; within each month by days;and within each day by transactions, whichare either debits (checks) or credits (de-posits). Note that year, month, day, andtransactions all appear in the report at leastonce and possibly many times; thus we seethe notation (1,n) in the diagram. Having anentry for a day that had no transactions orhaving a monthly report with no days ishardly worth the trouble. However, eachtransaction is either a credit transaction(credit occurring once, and debit not occur-ring) or a debit transaction (debit occurringonce and credit not occurring). This con-dition is reflected on the chart by the "©"symbol, which is the symbol for mutualexclusion.

One important point needs to be madehere. The diagram of figure 2 is not thelogical data base for this report; it is only thereport's logical data structure. Making achart of the logical data base requires thatwe map the data elements that appear in thereport onto the logical report structure, aswe have done in figure 3. In figure 2 weshowed conceptual relationships of one partof the structure to another. In figure 3 we'vefilled in the required details needed tocomplete each level of the structure. Onelevel of the structure corresponds to onebracket and the levels are counted left toright.

Step Three: Define the Physical Data Base

Defining the physical data base of a pro-gram is largely a packaging decision: whatphysical arrangement of the data in the

106 BYTE December 1977

IN THE L.A. AREA

TECH-MART

• 19590 VENTURA BOULEVARD ■

TARZANA, CALIFORNIA 91356

(213) 344-0153

IMSAI COMPUTER

MODEL 8080 MICROPROCESSOR SYSTEM

$875

ASSEMBLEDAND TESTED

INCLUDES CPU, MAINFRAME WITH 22 CARD SLOTS, FRONT PANEL,AND POWER SUPPLY. COMES ASSEMBLED AND READY TO PLUG IN AND ENJOY!

8K RAM BOARD

$225

250 nSACCESS

LOWPOWER

NOT AKIT

ASSEMBLEDANDTESTED

• S100 BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS

• CONVENIENT DIP SWITCH SELECTION OF ADDRESS ASSIGNMENT AND WAIT CYCLES

• MEMORY PROTECTION DIP SWITCH SELECTABLE IN INCREMENTS OF 256, 512 1K, 2K, 4K, or 8K BYTES

• FULLY BUFFERED ADDRESS LINES ALLOW USE IN LARGE COMPUTER SYSTEMS

16K 2708 EPROM BOARD

INCLUDES ALL SUPPORT CIRCUITRY AND SOCKETS READY TO PLUG-IN 16 2708 IC'S

$99

2708'S NOT INCLUDED

• ALLOWS CONVENIENT STORAGE AND ALTERATION OF YOUR OWN CUSTOMIZED COMPUTER PROGRAMS

• S100BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS

• DIP SWITCH SELECTION OF MEMORY ADDRESS ASSIGNMENT

• DIP SWITCH SELECTION OF MEMORY WAIT CYCLES

• ASSEMBLED AND TESTED, NOT A KIT

8K 2708 EPROM PROGRAMMER BOARD

$145

COMPLETE SYSTEM FOR "BURNING IN" PROGRAMS INTO THEELECTRICALLY ALTERABLE 2708 MEMORY

2708'SNOT INCLUDED

• S100BUS ALTAIR/IMSAI COMPATIBLE

• COMPLETE 2708 PROGRAMMING SYSTEM

• DOUBLES AS 8K NON VOLATILE PROGRAM STORAGE

• ASSEMBLED AND TESTED, NOT A KIT

2708 EPROMS $1850 21L02 250 nS $175

TOP QUALITY PARTS - NOT SECONDS

74 SERIES IC's74LS SERIES IC'sLINEARS

COMPLETE LISTINGSIN OUR CATALOG

SOROC IQ-120 TERMINAL

$995

• RS-232 COMPATIBLE 24 LINES X 80 CHARACTERS INCLUDING BLOCK MODE OPTION

8080 A $14 POWER SUPPLY 12 VOLT $995

PER SCI DUAL DRIVE

$1400

8-INCH FLOPPY WITH IMS CABINET AND POWER SUPPLY

Many other parts available —Just call or write for free catalog

NEW PRODUCTS COMING - WATCH FOR OUR ADS - INFORMATION AVAILABLE

WE WELCOME INQUIRIES

Circle 116 on inquiry card.

BYTE December 1977

107

YEAR NUMBER

HECK / YEAR J MONTH J

ILE A (1,y) \ d.m) \

NAME OF MONTHBALANCE FORWARD

DAYI1,d)

DAY NUMBER

CURRENT BALANCE

TRANSACTIONS(1,1)

DEBIT(0,1)

CREDIT(0,1)

BALANCE AMOUNT

CHECK NUMBER"TO" DESCRIPTION

"FOR" DESCRIPTION(0,1)

AMOUNT

CREDIT DESCRIPTIONAMOUNT

Figure 3: The logical database is generated by map-ping the data elementsthat appear in the reportonto the logical data struc-ture.

date

check or

deposit

flag

computer will best suit the needs of theprogram. The only help I can give you onthis is the simple suggestion that the physicalrepresentation should mirror the logicalrepresentation in all but the most extremecases. These are hardware decisions. Youmay wish to construct a file one way if youare using a cassette tape storage system; youmay construct it another way if you have afloppy disk. You would not want to imposea file structure that forced a cassette tape tobehave like a disk by running back and forththrough the tape at high speed. That is agood way to burn up a tape drive in a hurry.Ultimately, as memories become faster,more versatile and more efficient, the phys-ical data base will probably always be able tomirror the logical data base. Magnetic bubblememories, for instance, have no movingparts to burn up.

In the checkbook balance report programthe simplest physical data base would be asequential file. The necessary informationand a brief description of each transactioncould be stored in the order shown in figure4, read left to right.

descriptionfield 1

descriptionfield 2

transactionnumber

H

Figure 4: A sequential file with a record format such as this is the simplestphysical data base for the checkbook program. The information that isneeded has been decided by the logical data base. The order they are put onthe file depends on exactly what you intend to do. Since in this case we willbe sorting by date, the date of the transaction appears first on the file.

Given that we have a file with thisinformation on it which is sorted by year,month, day and transaction, producing areport program is almost a trivial exercise.

Step Four: Design the Process Structure

Since in this case we are working with asingle program, the process structure willultimately represent the program structure.Were we designing an entire system, anaccounts receivable system for instance, theprocess structure would represent many pro-grams and the associated system proceduresthat would operate them. The process struc-ture is obtained from the same logical datastructure that the logical data base wasderived from.

Referring again to both figures 1 and 2,we can begin to design the program from thebottom to the top. Looking first at theleftmost bracket, which for this step islabeled REPORT PROGRAM, we coulddraw a structure thus:

REPORT PROGRAM

START PROGRAM < OPEN FILES

{»

END PROGRAM < CLOSE FILES

{<

Note that program structure is denoted byleft to right positioning, and that sequencesof operations are noted top (first) to bottom(last).

We can see that the only thing for us todo at the beginning of the program is toopen the files, and the only thing to do at

108

BYTE December 1977

the end of the program is to close the fileswc have used. Moving right to the YEARbracket, the process END YEAR must bedefined. For this program there is nothing todo at the end of the year, so we fill in thebracket with the notation SKIP.

YEAR(1,Y>

{•

For the bracket labeled MONTH, there isthe matter of printing the CURRENTBALANCE at the end of the month.

EMD MONT

"{

PRINT CURRENT BALANCE

There are no processes to be performed atthe end of each DAY, therefore we show theEND DAY process the same way as the ENDYEAR process.

{■

The TRANSACTIONS process is wheremost of the work is done. For each CREDITor DEBIT, one line and possibly a second(for DEBIT) is printed, showing the appro-priate information; the running balance isupdated, and the next record must be read.

MOVE CHECK NUMBER.CHECK "TO", ANDCHECK AMOUNTTO PRINT LINE

TRANSACTIONS11. t)

DEBIT10,11

CREDIT(0,1)

ENDTRANS-ACTION

SUBTRACT CHECK AMOUNTFROM RUNNING BALANCE

MOVE RUNNING BALANCE TOPRINT LINE

PRINT A LINE

PRINT SECOND LINE 10.11

SPACE ONE LINE

MOVE DEPOSIT AMOUNT,

DEPOSIT DESCRIPTIONTO PRINT LINE

ADD DEPOSIT AMOUNT TORUNNING BALANCE

MOVE RUNNING BALANCE TOPRINT LINE

PRINT A LINESPACE ONE LINE

< GET NEXT

Free Bugbacks. f

Our Bugback adhesive labels stick to

their chips, immediately identifying logic

functions and pin numbers. But even

without the S6.50 Bugback freebie, our

Bugbooks are a great bargain. Nine

books, packed with everything

to teach you digital and

analog electronics

from scratch.

Bugbooks I & II - 750

pages, with experiments

in basic digital electronics

to sophisticated circuits.

S 17.00.

Bugbook MA - Advanced topics

in digital logic transmission. S5.00.

Bugbook III - General overview

of microcomputer systems with

particular emphasis on interlacing,

I/O, programming in machine languages

597 pages. $15.00.

Bugbooks V & VI - Digital logic and

microcomputers from ground zero.

$6.50 worthof Bugback8labels freewith $35.00book purchase.

Emphasis on self-teaching. No previousknowledge ol electronics needed.Over 900 pages. SIS.00.BRS-1 - Lab workbook providing theoryand applications of the 555 timer chip.$6.95,

BRS-2 - Text/workbook covering the bestdesign of low-pass, high-pass,bandpass and notch filters.$8.50

BRS-4 - OP-AMP and linearcourse. 300 pages. $9.00.Select your $35 (or more)book value and get $6.50worth of Bugbacks now. Sendcheck or money order directlyto E&L Instruments. We'll shippostpaid anywhere in continental U.S.nn iO®

^^^tT*

Please send the following Bugbooks, postpaid. I've enclosed

$ □ Bugbook l/ll $17.00 □ HA $5.00 □ III $15.00

□ V/VI $19.00 D BRS-1 $6.95 □ BRS-2 $8.50 □ BRS-4 $9.(Name

Address

City

Enclose check, money order or numbers from BankAmericarrJ/Visa or Master Charge We will ship postpaid anywhere inContinental U. S.

Circle 46 on inquiry card.

BYTE December 1977

109

Figure 5: Completed Warnier-Orr diagram for a checkbook balancing report program. This program arrangement will probablyresult in the smallest amount of memory being used. The sequences of operations at any given level (left-right position) areread from top to bottom. A level of operations corresponds to a logical level of procedure calls in a block structured program-ming language.

REPORT PROGRAM

. YEAR( I1.Y)

OPEN FILES3EGIN PROGRAM ( SET INITIAL VALUESREAD FIRST RECORD

BEGIN YEAR

r

BEGIN MONTH

. MONTH I DAY

( (l.ml ( II.til

PRINT HEADINGS

PRINT STARTING BALANCE

INITIALISE RUNNING BALANCE

BEGIN DAY

DEBIT10.11

, TRANSACTIONS

CREDIT10.1)

END TRANSACTION

V

ENDPROGRAM ( CLOSE FILES

JD DAY / SKIP

END MONTH < PRINT CURRENT BALANCE

( SKIP

MOVE CHECK NUMBER, CHECK "TO", ANDCHECK AMOUNT TO PRINT LINE

SUBTRACT CHECK AMOUNT FROM RUNNING BALANCE

MOVE RUNNING BALANCE TO PRINT LINE

PRINT A LINE

PRINT SECOND LINE (0.11

SPACE ONE LINE

MOVE DEPOSIT AMOUNT, DEPOSIT DESCRIPTIONTO PRINT LINE

ADD DEPOSIT AMOUNT TO RUNNING BALANCE

MOVE RUNNING BALANCE TO PRINT LINE

PRINT A LINE

SPACE ONE LINE

f GETN

EXT RECORD

With this much of the program designdone, the only things to be filled in are theBEGIN brackets for each level. The entirediagram with these processes added is shownin figure 5.

Looking at the Warnier-Orr diagram forthe checkbook balance program, you can seethe entire series of events which must takeplace to correctly process the report as itwas given. Note also that this is the onlycorrect structure that will produce thecheckbook balance report. Any other struc-

ture that will produce the report is iso-morphic to this structure. The structure isalso optimal in operation, in the sense thatnothing is ever done unless it must be done.

The program which is coded from thisstructure will also have some predictablefeatures. It will run as quickly as possible. Itwill usually require the least amount ofstorage. It is very easy to maintain, and itwill run correctly at the first effective trial.Not bad dividends for a half hour of extrawork. Syntax runs are not effective trials,but, with a little diligence and effort, syntaxerrors can also be brought under control.

Next month Part 2 will show how easy itis to fill in the details of structured programsusing Warnier-Orr diagrams."

110

BYTE December 1977

Dynabyte builds the Great Memory

.We cut up a Dynabyte 16k. PdynarnicRAMbidafd and con:shuctedthis pyrarrifd to illustrateanir^portajfit point: Dynabyte -%; .-.designs.and builds memory boards,.with the sameunAatchedenjji^'neefjng^biiityand[technicalskill' -!that wentinto'Egyfit'S Qfeat '.v4\ •, Pyramid. : '•,'.' •>.''''. . V'.''"'.-' t'' --" ■ '''; ■', ,On:edf'the seyehw|$ndersQf... <the ancient worldj the Great <"'■: ' • tPyrahiid has been standing on the J;de|e/tforarrincredibte4,40CJ* ; *'years. Although its enormous basecoders 13,acres,Jt Is perfectly *square. Rising 450 feet, it is as tallas a 3 7 stOfy building. Over 2.3million blocks of stone were used,each averaging 2% tons. Someweigh 16 tons. Despite their size,they fit together with a tolerancethat is less than half the width of ahuman hair.

Dynabyte builds its 16kdynamic RAM boards with thesame exceptional precisionand care. Their reliability is assolid as a rock.

Dynabyte's design meets rigidindustrial grade standards. Thedesign is so good, in fact, that oneof the largest, most experiencedelectronics manufacturers hastried to imitate it. (We were

flattered but not surprised;we .;know howgoodIt is.) *' ; More than i4Q0miGrocompu^ter owners also know how good it-IjK' Dynabyte'sT 6k dynamic isrunning in more systems than anyother dynamic memory onthemarket. -'.-'' ■'.':■•'-, «.

/We select the best componentsWe carrpuy to build the 16k dynam-ic, because solid parts make a solid"memory.. Our memory chips, forexample, are factory, prime from ,National Semiconductor.i Dynabyte was the first todeliver 16k dynamic RAM'sassembled, tested and burnedin. And at a price competitive withkits! Each board's completefunction is confirmed by threestages of testing and a burn incycle that runs 72 hours at 70° C(158°).

When we build them thatsolid we can guarantee themfor a full year.

If a Dynabyte board ever needsrepair, we provide factory servicewith a 24 hour turnaround for bothwarranty and non-warranty work.

The Dynabyte 16k dynamichas the widest compatibility of anydynamic memory. So it will work inyour system.

* .7 TKe Great Memory by / •Dynabytelis a solid buy. Arid ah"economical bne^ Effective OctoberX, the Tjew Manufacturer's "Suggested Prfce is reduced frofh

• $485 to $399.- :-:{i -v-V-.,: /■;;';

•Ask for the Great Memory byDynabyte at your local computerstore. If it isn't in stock, telf the•owner-that he missed another •Dynabyte sale, and order direct. *Telephone (415)494-7817. CableDYNABYTE. Or mall to Dynabyte,Inc., 4020 Fabian, Palo Alto, CA ~94303.

Specifications: 16,384 bytes, NationalSemiconductor MM5271 chips, S-100 com-patible, 350 nsec. access time, 550 nsec.cycle time, transparent refresh, no wait statesfor 2 MHz 8080 processor, on board clock, 5watts power consumption, 1 MHz direct mem-ory access, 16k addressing, solder masked,assembled with sockets, tested, burned in,guaranteed one year.

Dynabyte

Builders of the Great Memory

Circle 43 on inquiry card.

BYTE December 1977 111

Part 2:

Simulation Of Motion An Automobile Suspension

Stephen P Smith

POB 841

Parksley VA 23421

Have you ever taken your system out to aclub meeting or demonstration, only to findthat something is ruining your car's hand-ling? Was it because of the heavy powersupply in the back seat? Would heavy dutyshock absorbers help? You can answer thesequestions using your personal computer andthe simulation techniques found here.

Last month [page 18], I introduced somebasic ideas used in simulating motion. Agames application was used as an example.This month I'll expand on that base, explainsome additional ways that forces can act,and demonstrate a more accurate techniquefor computing speeds and positions. Theexample I'll use will be a simulation of anautomobile suspension and its responseto a varying road surface. Automobileenthusiasts will be able to see how differentsprings and shock absorbers would affectthe way a car rides. More important, allcomputer users will acquire some additionaltools to use in their own simulations andgain insights into new applications for theirpersonal systems.

First, let's review the basic points made inthe last article. When beginning a simulation,you will first divide the motion beingsimulated into degrees of freedom. In otherwords, you will decide which motionsyou want to simulate, up and down, sideto side, etc. From then on, calculationswill be made separately for each degree offreedom. Next you will decide whichforces are acting in each direction anddetermine how much each force wouldchange the speed of some object in 1 second.If you use the metric system of units, thechange, or acceleration (in meters persecond per second), will be exactly equal tothe force (in newtons) divided by the massof the object (in kilograms). You will nowbe ready to predict the speed and position ofthe object at a step of D seconds into thefuture. Add up the effects of the individualforces. Multiply the total by D (the stepsize) and add the product to the present

speed. This is the speed of the object at atime D seconds into the future. Now multi-ply the speed by D and add that productto the present position. This is the positionthe object will take in D seconds. Thesimulation program will now calculate newvalues for the forces and mass and step thesimulation forward once more. The processwill continue until an end condition isreached.

In the lunar lander game simulation, twodegrees of freedom were considered, up anddown, and side to side. The up and down orvertical motion was affected by gravity andthrust. The side to side or horizontal motionwas affected only by thrust. Both of theseforces were determined independent of thespeed and position of the lander. Gravityprovided a constant change in speed, andthrust was controlled by the user. In thisarticle we will explore variable forces whichare not determined by the user, but directlyby the speed and position we are simulating.

As mentioned earlier, the example we'lluse is an automobile suspension, the partswhich connect the wheel to the body. Themost important of these parts are the springand the shock absorber. We will assumethat there are other parts which keep thewheel from moving back and forth, butonly the wheel's up and down motionwill be considered (see figure 1). Of course,the entire car can also move along the road.We will consider that as a second degree offreedom. Let's examine separately theforces that contribute to vertical andhorizontal motion.

Motion down the road results when thecar's motor, through the wheels, pushesthe car forward. Air resistance and rollingfriction try to slow it down. To simplifythe simulation, we will assume that theseforces balance each other exactly. Thismeans that the speed along the road willnot change. If the speed starts at somevalue other than zero, the horizontal posi-tion will change. As we will see later, the

112

BYTE December 1977

Y-+.08Y=-.08-0

s®

y^.

10 /

BUMP

sy

SHOCK ABSORBER

HORIZONTAL

VELOCITY

(X)

FROST HEAVE ?ROAD SURFACE LEVEL MODEL

Figure I: A conceptual model of the "automobile" (unicycle, rather) which is modelled in the sample program of listing 1 asdiscussed in this article. The wheel in this model tracks the road surface exactly, and has its own vertical velocity due to thehorizontal velocity interacting with bumps in the road. The actions of the wheel In turn couple through the spring and shockabsorber suspension to the "body" of the automobile. The purpose of this simple model is to calculate the vertical positionof the car body at any given point down the road, given the effects of gravity, shock absorber, spring and excitement providedby the bumps and holes. The table in the figure is taken from lines 605 and 606 of the BASIC program of listing 1, and is usedto plot the road surface. A better dynamic model of a car would have many more degrees of freedom than this simple model.

simulation program must keep track of theposition along the road, because it willdetermine how the wheel, and in turnthe body, moves up and down.

In the vertical degree of freedom we willneed to consider gravity. You will rememberfrom the last article that to simulate gravitya program subtracts a constant value fromthe speed for each unit step. (Speed andposition are considered positive if they aredirected upward.) On the earth the gravita-tional acceleration constant is 9.8 meters persecond per second, so for each second ofsimulated time, velocity changes by 9.8meters per second. Since the car obviouslydoes not continue to move downward, theremust be other forces balancing gravity.These are produced by the spring and shockabsorber, and are determined by the verticalspeed and position of the body.

Let's examine the spring first. At its nor-mal length (often called the free length) aspring produces no force at all. If it iscompressed, in other words forced to be-come shorter, it will push back on whateveris compressing it. The shorter the springis forced to become, the harder it will pushback. This is an example of a force thatdepends upon position. In the automobileexample, as gravity pulls the body down,

the spring is compressed. The spring beginsto push upward on the body, and at somepoint the two forces balance each other.The body will eventually come to rest there.

Knowing a little information about thespring we can compute that point. Springsproduce forces which are equal to the dis-tance they are compressed times a constant.The metric units for the constant are new-tons per meter. Sample values are shown intable 1, column a. Suppose that gravityexerts a force of 5000 newtons on the carbody; then a spring with a constant of100000 newtons per meter would have to becompressed .05 meters (100000.x.05=5000.)to balance the pull of gravity. At this pointthe system would be in equilibrium.

What about the shock absorber? It wasdesigned to produce a force that dependsnot on how far it is compressed, but on howfast it is being compressed. The faster youtry to move it, the harder it resists beingmoved. Like the spring, a constant is usedto calculate the force, this time multiplyingthe speed. The metric units for this constantare newtons per meter per second and somerepresentative values are shown in table1, column b. At equilibrium there is nomotion, so the shock absorber produces noforce. If you were to push down the car

BYTE December 1977

113

Vehicle

Full size car (LTD, etc)Intermediate (Torino, Cutlass, etc)Compact (Nova, Aspen, etc)Subcompact (Vega, Pinto, etc)

Add 20% for heavy duty suspension.

Subtract 20% for front wheel.

(a)

Spring

3200300028002600

(b)

Damping

1450

1200

1000

700

Table I: Representativespring and damping con-stants for automobiles.The units are metric: thespring constant is quotedas newtons per meter ofcompression; the damplingconstant is expressed asnewtons per meter persecond.

Table 2: A sample roadsurface table. This tableis used to draw the sur-face curve shown infigure I.

Horizontal

Road

Position

Surface

0

0.0

10

0.0

12

0.08

13

0.08

14

0.0

20

0.0

21

-.04

22

-.04

23

-.08

24

0.0

30

0.0

50

0.1

51

0.0

100

0.0

14 BYTE December

1977

body at a speed of 2 meters per second, ashock with a constant of 50 would resistthat motion with a force of 100 newtons(50 x 2). When you let up on the body,the spring would exert a greater force thangravity and the body would move upward.The shock absorber would also resist thatmotion. This action is called damping. Thedamping in an automobile suspension mustbe carefully chosen so that the body returnsquickly to equilibrium, but does not con-tinue to bounce back and forth for very longafterward.

Armed with your present knowledge ofsimulation you should be ready to makejust such a choice using a trial and errorapproach. Calculate the forces on the body,and then use them to find the speed andposition one step into the future. That speedand position will be used to calculate newvalues for the forces, which in turn will beused to step the simulation forward oncemore. Repeating the process continuously,you will simulate the motion of the carbody. Try different values for the spring anddamping constants until the desired outputis achieved for a given set of inputs.

The inputs, you'll remember, are goingto be determined by the simulated positionin the horizontal degree of freedom. At eachposition along the road the input routinewill determine the height of the road surfaceabove or below normal. If we assume thatthe wheel does not leave the road this willalso give us the up and down motion of thewheel. The data can be stored in a tablein memory. By entering different values forthe horizontal speed at the start of thesimulation, we can also vary how fast thecar will pass over our model road. At eachstep the program will enter the table to findthe road height which corresponds to thecurrent horizontal position.

This method will work as long as thereis an entry in the table for every horizontalposition we will find. That could be a verybig table, especially if the step size is small.To eliminate the need for large tables, wecan use a technique called interpolation.Very simply, interpolation is done like this.When the program enters the table, butdoesn't find an entry exactly equal to the

current horizontal, it finds the next smallerentry and the next larger entry. An inter-polation formula is then used to figure outwhere the present position falls betweenthe two table entries, and to calculate theroad surface which lies at the same pointbetween the corresponding table entriesof road height. For example, suppose aprogram entered table 2 to find the roadsurface corresponding to a horizontalposition of 11. It would find entries at10 and 12 with corresponding road heightsof 0.0 and 0.08. Because 11 lies halfwaybetween 10 and 12, the interpolationformula will find a corresponding roadsurface that lies half way between 0.0 and0.08 or 0.04. There are other interpolationformulas that use three, four, or more ofthe table points, but this method using twois generally accurate enough with a reason-ably detailed table. To simplify yourimplementation of interpolation, I haveincluded a BASIC function in the programof listing 1 which uses the 2 point method.Users can simply place their own tablesin the data statement and use the functionin their programs, or they can followthrough the equations and implement themdirectly.

In our automotive simulation, the inter-polated table data will give us the verticalroad and wheel position. The differencebetween this and the vertical position ofthe body will be the amount the spring iscompressed. We can quickly calculate theresulting force. If the simulation programretains the wheel's position from the pre-vious step, it can also calculate the wheel'svertical speed. Reversing the equation usedto find a new position, the speed is equalto the difference in the two positionsdivided by the step size. If the wheel movedfrom .08 meters to .04 meters in a step of0.01 seconds, its speed would be (.04-.08)/.01 = -4.0 meters per second. The differencebetween this speed and the speed of thebody is used to calculate the force producedby the shock absorber. All these calculationsare included in the BASIC program of listing1. Readers who want more detail on theequations will find them there as well-commented program statements.

Also in that program is a new method forcomputing speeds and positions. Theequations used in the lunar landing gameworked fairly well when the forces did notdepend upon the speed and position. In thissimulation they do, and even small errorscan snowball if not corrected. To do this,we will use a powerful numerical technique,one which uses the results from three pre-vious steps to help predict the next, and

Application Software!

"ASIc

S()| TWAIO;1 -IMKARV

l""« m

— •» «.w.

t BASIC

SOFTWARE \LIBRARY

VOLUME II

12"

You canbuy softwarefrom anybody -

but ours worksin your system.

We only sell one product,Quality.

We have been in business for over nine years building a reputationfor providing a quality product at nominal prices — NOT what thetraffic will bear. Our software is:

• Versatile — as most programs allow for multiple modes ofoperation.

• Tutorial — as each program is self prompting and leads youthrough the program (most have very detailed instructionscontained right in their source code).

• Comprehensive — as an example our PSD program not onlycomputes Power Spectral Densities but also includes FFT's,Inverse-transforms, Windowing, Sliding Windows, simul-taneous FFT's variable data sizes, etc. and as a last wordour software is:

• Readable — as all of our programs are reproduced full sizefor ease in reading.

• Virtually Machine Independent — these programs are writtenin a subset of Dartmouth Basic but are not oriented for anyone particular system. Just in case your Basic might notuse one of our functions we have included an appendix inVolume V which gives conversion algorithms for 19 differ-ent Basic's; thats right, just look it up and make the sub-stitution for your particular version. If you would like toconvert your favorite program in to Fortran or APL or anyother language, the appendix in Volume II will define thestatements and their parameters as used in our programs.

Over 85% of our programs in the first five volumes will execute inmost 8K Basic's with 16K of free user RAM. If you only have 4KBasic, because of its' lack of string functions only about 60% of ourprograms in Volumes I thru V would be useable, however theyshould execute in only 8K of user RAM.

All of our programs are available on machine readable media. Forthose that have specific needs, we can tailor any of our programs foryou or we can write one to fit your specific needs.

Vol. 1 — $24.95

Vol. Ill — $39.95

Bookkeeping

Advanced Business

Games

Billing, Inventory

Pictures

Investments

Payroll

Vol. II — $24.95

Vol. IV — $9.95

Math/Engineering

General Purpose

Plotting/Statistics

Basic Statement

Vol. V — $9.95

Def.

Experimenter's

Program

SCIENTIFIC RESEARCH

220 Knollwood, Key Biscayne, FL 33149

Phone orders call (800) 638-9194Information—(305) 361-1153

Add $1.50 per volume handling, all domestic shipments sent U.P.S. exceptAPO and P.O. Box which go parcel post. Foreign orders add $8.00/volumefor air shipment and make payable In U.S. dollars only.

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Amerlcard accepted.

Our Software is copyrighted and may not be reproduced or sold.

BYTE December 1977

115

which then goes back and corrects thestep when the predicted results are available.It is called, logically enough, a predictor-corrector method. Rather than attemptto explain it here, I'll provide a BASICprogramming example which you canadapt to your own simulations. Readerswith a good background in math may wishto reference a book on numerical methodsfor more details. In either case you willhave acquired a tool which will be veryuseful in future simulations.

Looking back over the two articlesyou should begin to see some ideas foryour own simulations. They could involve

forces which are constant, user controlled,or which depend directly on the motionyou are simulating. Inputs can come fromyour keyboard, from an analog device suchas a joystick, or from tables interpolatedby your program. The outputs might tellyou how well you are playing a game, orwhich of several configurations is bestfor a design you are contemplating. In thenext article I'll continue to expand on thetypes of forces considered. In particular,I'll show how you can handle forces whichact in more than one degree of freedomand suggest some ways to handle rotarymotion."

189 REM SET PROGRAM CONSTANTS

lie ki«-leeeeei2e K2--2eee138 H'seeue y-ie

158 D-8.85

151 REM SET INITIAL SPEED AND POSITION

166 T-6

178 P1»9.8*H^K1

171 Sl-6

172 REM FIND INITIAL ROAD SURFACE

175 11-9

176 Xl»8

177 Yl»8

178 X-8

182 GOSUB 606

183 I2»<Y-I1)/D

184 I1«Y

185 REM CALCULATE INITIAL FORCES

186 FWPl-inm'H

187 F2><Sl>I2)*K2<fl

188 A1-F1+F2-9.8

189 REM SET PAST DATA EQUAL TO INITIAL DATA196 S2-S1

286 S3-S1216 S4-S1238 A2«A1248 A3>A1296 A4-A1

259 REM BEGIN SIMULATION268 REM PREDICT SPEED AND POSITION276 S"S1+D/24*(55*A1-59*A2+37*A3-9*A4>286 P-P1+D'24*<53*S1-39*S2+37*S3-9*S4>

281 X-X+U*D

282 REM FIND HEM ROAD SURFACE

283 G0SU6 606

284 I2«<Y-I1VD

285 Il-Y

296 REN PREDICT NEW FORCES

291 Fl-<P-U>m/H

292 F2»<S-I2)*K2/H306 AmFl+F2—9.8

316 REN CORRECT SPEED AND POSITION320 S'Sl<H>'24t(9*A+19*Al-5*A2+A3)330 P-P1+D/24»<9*S+19*S1-5»S2+S3>

340 REM CORRECT FORCES AND UPDATE SAVED DATA

341 F1-(P-I1>«K1/N

342 F2-<P-I2)*K2/N350 A4-A3

360 A3-A2

370 A2-A1

380 A1-F1+F2-9.8

390 S4-S3

400 S3-S2

416 S2-S1

420 Sl-S

430 Pl-P

446 T-T+D

490 PRINT T,S1,P1

460 IF X<160 THEN 270

470 END

668 REM INTERPOLATE TABLE TO FIND661 REM VALUE OF Y CORRESPONDING682 REM TO GIUEN UALUE OF X

665 DATA 6,8,1616.12.8.68,13,8.66,14,8,28,0,21,-6.84

666 DATA 22,-6.64,23,-0.08,24,0,30,0,50,0.1,51,6,100,0611 REM TABLE FORMAT IS X<1>,Y<1),X(2),Y<2>, ...

626 IF X<X1 THEN 676

636 X2-X1

646 Y2-Y1

636 READ XI,Yl

666 GO TO 626

676 Y»Y2+<Y1-Y2)*<X-X2)/(X1-X2)

686 RETURN

Automobile Suspension Simulator

Listing 1: This program was written to help interested readersfollow the mathematics of the accompanying article. Particularattention should be paid to the interpolation subroutine and tothe equations for the predictor-corrector method of predictingfuture positions and velocities. The program was not intended tobe efficient; readers will surely be able to shorten it once themethod is understood. The following table defines the variablenames I've used.

Kl = spring constant

K2 = damping constant

M = mass supported by the spring

V = horizontal speed of the entire carD = time step size

T = elapsed time in the simulation

P, S, A = predicted values for vertical position, speed, and

total effect of forcesPI, SI, Al = present values of vertical position, speed, and

total effect of forces

52, A2 = speed and effect of forces one step past

53, A3 = speed and effect of forces two steps past

54, A4 = speed and effect of forces three steps pastFi = change in speed due to spring

F2 = change in speed due to damping (shock absorber)

11 = current vertical position of the wheel

12 = current vertical speed of the wheelX = current position of car along the road

Y = road height at position X

XI, Yl, X2, Y2 = table entries for positions immediatelygreater than and immediately less than the current valueofX

I expect it will occur to many of you that graphic rather thanprinted output will make this program much clearer. The wave-form produced by a plot of the data would give you a muchbetter feel for the motion of the car body. For the example inthis listing, try plotting position from -0.1 meter to +0.1 meterversus time from 0 to 100 seconds.

One final note: to avoid losing data, it is important that theinterval between points of the table in the interpolation subrou-tine is larger than the distance the car moves in one step. In otherwords, if you want to model a road that changes rapidly, you willhave to reduce the step size (D) to a value less than the minimumof(X(n)~ X(n+i))IV.

116

BYTE December 1977

Ximedia Presents...

a reliable small business disk systemfor both word processing and computation

Ximedia Systems stress reliability and performance at an affordable price. That re-quires hundreds of product evaluations. It also requires a strong commitment toselling only those components which have operated dependably in business or pro-fessional applications. The Small Business Disk System (SBD-I) is that kind of system.

OPERATIONAL CAPABILITY

The SBD-I system is designed for the professional forsuch tasks as word processing, accounting, inven-tory control, and other business-related activities.

We like this system for a number of reasons. First,the North Star Disk-Operating-System (DOS) withextended disk BASIC is excellent. It's as bug free asany BASIC now in use. Also, it's a truly extendedBASIC with features like formatted output, callablemachine language subroutines, random and sequentialfile access, and a powerful line editor.

On the hardware side, we have found all the NorthStar products to be well-engineered, well-designed,and extremely reliable. The Micro-Disk System,around which the HORIZON is built, was the firstmini-floppy system commercially available, and is stillthe leader. Each 5/2" diskette will hold 90K bytes ofdata, which means about 50 pages of text per disk,perfect for word processing. We've included 32Kof Crea/Com dynamic memory which is in our exper-ience, one of the better dynamic boards around. Theyrequire low power, they're fast, and they use a goodrefresh scheme. For memory, 32K should be plentyand the HORIZON is expandable up to 65K andbeyond!

The combination of 32K of Ram, 180K of Disk, Z-80speed and the FOX-1100 make SBD-I system apowerful tool for the professional user. It's a goodmedium-sized system that can be expanded to in-clude more memory, more disks, and other S-100accessories when and if they become necessary.

TECHNICAL CAPABILITY

The North Star HORIZON computer is built aroundthe highly successful Micro-Disk System. The CPUcard is based on the Z-80 microprocessor, and de-signed to run at a full 4 MHz. It also features a jump-on-start circuit to pull in the disk bootstrap on power-up.

The HORIZON motherboard has an on-board serialinterface with room to add another serial and/orparallel I/O port. The Crea/Com memory is a veryfast (250s) dynamic ram board with lots of features.First, the refresh is handled by an on-board processorand is fofa//y invisible to the main processor. Othergoodies include a pin 67 phantom line, full or partialwrite protect, no wait states (even at Z-80 speeds),and guaranteed tested, burned in factory prime chips.

The Perkin-Elmer FOX-1100 is a super high quality,low cost CRT terminal that's a cut above the com-petition. The first big improvement is the 9x12 matrix.This means terrific readability and lowercase char-acters that descend! Other features include ahooded, eye-level display, black-on-white or white-on-black display, full 96 character ASCII characterset, direct cursor addressing, 80x24 display, re-settable tab stops, Typamatic auto repeat, wrap-around or scroll modes, and a debug mode fordisplaying control characters. All in all, the FOX is asuperior terminal designed for the serious user andbuilt to take abuses of day in and day out use.

The alternate SBD-IP system includes a 55 CPSdaisy-wheel printer for letter quality hard-copy output.

SMALL BUSINESS DISK SYSTEM SBD-I

QUANTITY

1

3

11

1 set1 set

DESCRIPTION

North Star HORIZON-2 computer(without memory board)Extra card guides and connectorsCrea/Com 32K fast dynamic memoryPerkin-Elmer FOX-1100 CRT terminalInterconnection cablesXimedia proprietary system docu-mentation

TOTAL SUGGESTED RETAIL

SUGGESTEDRETAIL

$1,949.00

21.00

885.00

1,440.00

25.00

50.00

$4,370.00

CONVENIENT ORDERING: Toll free number. Prepaid,Mastercharge, and Visa orders shipped free; othersfreight-collect. Most orders shipped from stock. If not,we will notify. California residents add 6% sales tax.

Fully Assembled and Tested XIMEDIA SYSTEM PRICE-$3,975.00

XililEDiA

1290 24th Avenue

San Francisco, California 94122

(415) 566-7472- Toll Free (800) 227-4440

Circle 132 on inquiry card.

BYTE December 1977

117

A Little Bit on Interrupts

Robert R Wier

POB 9209

College Station TX 77840

While talking with fellow enthusiasts at-tending meetings of computer clubs, thereseem to be several aspects of small computersystems which are particularly confusing tonewcomers to the hobby. One of these isinterrupts. This article explains how themechanisms of interrupts work, and whatcan be done with them in a personal com-puter system.

History

When computers first came into wide-spread use, they ran primarily on card ortape batch principles. The operator had longlists of instructions which told him whichcard decks to use to run which jobs. Eachjob had to be set up independently, whichwas okay as long as this setup time wasshort in relation to the amount of time eachjob ran. A desired goal was to keep themachine running as much as possible. Astechnology advanced and job run times be-came shorter, setup time became a signifi-cant fraction of the total job run time. Itwas clear that if the machine could take oversome of the chores of the operator, but atmachine speed, the utilization of the systemcould be increased. Accounting and setupprocedures could be accomplished by pro-grams stored inside the machine, and thenthe computer could request the operator toperform only those duties that actually re-quired human intervention (such as mount-ing a disk pack). Thus programs called"operating systems" came into use. Aboutthis same time, it was realized that if such amachine were going to run jobs under anoperating system, there had to be some wayto return control to the operating systemshould the program encounter difficulties.That is, the operator should be able to jerkcontrol of the machine away from the pro-

gram currently running and give it to theoperating system without having to gothrough the process of clearing the machineand reloading the operating system manuallyeach time. Another problem emerged at thistime with the fact that as the central proc-essing unit improved in efficiency due tothe faster technology, the devices used forinput and output, called peripherals, re-mained at about the same speed. Therefore,if the central processing unit had to wait forthe completion of an input or output opera-tion, it would just sit there testing andretesting to see if the program could pro-ceed. This was frequently called a "busywait loop," or "spin lock." It is a techniquewhich is still frequently used in microproces-sor systems.

Clearly, since 10 operations were so slow,it would be nice if the processor couldsimply request the 10 hardware to input to oroutput from memory directly without proc-essor intervention. Then the processor couldgo on and perform useful computationswhile the 10 operation was in progress. Ofcourse this required considerably moresophisticated 10 hardware than was in usepreviously, when the processor orchestratedevery data transfer. But since the 10 hard-ware didn't need to be able to perform com-plicated arithmetic functions it could beregarded as a "mini" central processing unitor (Aha!) microprocessor. Indeed, theoriginal purpose of the microprocessor chipwhich has made our hobby possible was toproduce cheap, reasonably smart peripheralsystems at low cost. That is, each 10 channelwould have its own smaller processor tohandle only data transfers between an IOdevice and memory. A little thought willreveal a problem, however. If the processorsimply starts an 10 operation and thenpursues other matters, how does it know

118

BYTE December 1977

Everything you've ever

wanted to Know aboutmicrocomputers in

ONE complete book

for only $10.95

Over 400 pages. Full 8V2" x 11" size.

The ultimate bookabout microcomputers.Written by experts. .. SCELBI and BYTE. Over400 pages. A collector's item,featuring The Basics

from the first 16 issues of BYTE and SCELBI'sclassic library of books. Your microcomputerbookshelf is incomplete without this priceless edition.

You can't buy informationorganized like this any-where. This is the bookthat everyone who is into micro-computers needs for reference,for ideas, for clues to problemsolving. It is a truly authorita-tive text, featuring easy-to-read,easy-to-understand articles bymore than 50 recognized pro-fessional authors, who know andlove microcomputers from theground up. Logical and com-plete, it features many glos-saries, and is illuminated withprofuse illustrations and photo-graphs.

The Scelbi/BYTE Primer isdivided into four logical sec-tions, that take you from point"0" through building and pro-gramming your own computer...step-by-step-by-step.

What can you do with a micro-computer? Checkbook balanc-ing. Recipe converting and foodinventory. Heating and air condi-tioning control. Home and busi-ness security and management.Playing the ponies. Analysis ofthe stock market. Maintainingmassive data banks. Self-instruc-tion. Toys and games. Smallbusiness accounting and inven-tory. And lots, lots more.

Circle 98 on inquiry card.

How does a microcomputer do

it? Lots of "how to" theory. In-troducing you to microcomputeroperation. 6800, 6502, Z80 CPUchip capabilities. RAM and ROMmemories. Addressing methods.

Ill

YHiiimiPamirs

Over 400 pages. Selected articlesfrom BYTE and SCELBI books.Profusely illustrated. Manyphotographs. $10.95, plus 500shipping and handling.

How to control peripherals.Transmission of information toand from computers. Magneticrecording devices for bulk stor-age. Analog to digital conver-sion. How a computer can talk.Other I/O techniques. And more.

Order your copy today!

SCELBI COMPUTERCONSULTING INC.

Post Office Box 133 PP STNDept. B

Milford, CT 06460

BITS

70 Main StreetPeterborough, NH03458

Prices shown for North American customers.Master Charge. Postal and bank MoneyOrders preferred. Personal checks delayshipping up to 4 weeks. Pricing, specifica-tions, availability subject lo change withoutnotice.

****

All about building a micro-computer system. Over 12 com-plete construction articles. Flip-flops. LED devices. Recyclingused ICs. Modular construction.Making your own p.c. boards.Prototype board construction.Make your own logic probes.Construction plans for 6800 andZ80 computers. Building plansfor l/Os — TV and CRT displays,cassette interfaces, etc. Mathe-matics functions. ROM program-mer. Plus much, much more.

How to program a micro-computer. Programming for thebeginner. Assembling programsby hand. Monitoring programs.Number conversions. Game ofHexpawn. Design your own as-sembler. Lots more.

And that's only the beginning!Others have spent millions ac-quiring the type of microcom-puter information found withinthe 400 pages of The Scelbi/BYTE Primer. But, it costs youonly $10.95, plus 500 for postageand handling, complete! Youknow the quality of Scelbi andBYTE. This is your assurance ofexcellence throughout this MUSTtext. Order your copy today! And,get one for a friend!

BYTE December 1977

119

Figure I: What happenswhen an 8080 interruptoccurs. The interrupt sig-nal occurs first at someexternal device. Then,external circuitry createsan interrupt signal andsends an RST instructionto the processor as thesecond step. As a thirdstep the old programcounter information issaved on the stack to allowlater return. Then, thefourth step which is partof executing the RST in-struction is to jump toone of eight possible re-start locations in the first64 bytes of memory ad-dress space; if the eightbytes are not sufficient,step five, shown here, is aJump to an extension ofthe interrupt routine.Responsibility for savingthe state of the processor(beyond the return fromsubroutine pointer pushedautomatically into thestack by RST n) is up tothe programmer codingthe interrupt responseroutine.

when the 10 operation is finished so that itmay use the data input, or refill the bufferjust output. What if the drive mangles thetape and the data has to be output or inputagain? What was needed was the ability forthe 10 processor to be able to tap thecentral processor on the shoulder and say"I'm finished," or "I fouled it up."

There was also the problem of real timeapplications which, depending on the sys-tem, needed the computer to be able todetect some condition, make a decision, andact on it quickly. If you had a big busy waitloop, where several instructions wereexecuted in the loop between each checkingof the status of each separate input signal,your refinery's catalytic converter might gocritical before the computer even checked tosee if something was wrong, a disquietingdevelopment.

What Interrupts Do

So, interrupts were devised. Indeed, somecomputer scientists feel that the major dif-ference between the second and thirdgeneration machine was not only the transi-tion to integrated circuitry, but the adventof the interruptable machine as well. But

exactly what happens when something fromthe outside world, or a condition internal tothe processing, wants attention?

Suppose the processor is hardwired withat least one interrupt line, and probablymore. When an interrupt occurs, the desiredeffect is to:

• Store all the information regardingthe presently running program whichis necessary to resume execution atthe same point some time in thefuture, so as not to have to start itover again from the beginning. Thisincludes the program counter, anystatus information, and, optionally,the processor registers. This "statesaving" activity must be complete orunpredictable behavior can ensue uponreturn to the interrupted process.

• Insert into the program counter theaddress of the first instruction in theinterrupt program which will handlethe condition which caused the inter-rupt. When the interrupt routine isfinished, the status register(s), programcounter, and processor registers of theinterrupted program may be restoredand the interrupted program resumes

INTERRUPT

*

SOURCE

EXTERNAL LOGICTRANSFORMSINTERRUPT INTO"RST" INSTRUCTIONREQUEST

8080PROCESSOR

120 BYTE December 1977

More Than Just Hardware.

When you put the MSI 6800 ComputerSystem together with our FD-8 Floppy DiskMemory, you have the best 6800 hardwarepackage available today.

But to make a computer system work,you need more than just powerful hardware,you need powerful software . . . and MSI haswhat you need.

MSI Disk Extended BASIC Available InBoth Compiler and Interpreter Versions

The new Software Dynamics BASICCompiler is now available from MSI in an FD-8

business applications.

The ExceUent TSC Editor In An FD-8Disk Version

TSC's new text editing system is clearlythe most powerful editor available for anymicrocomputer system. The FD-8 disk versionallows you to edit and assemble long sourcefiles from disk and to place object code on diskas well.

MSI Reverse Assembler

Our Reverse Assembler for the FD-8 allowsdisassembly of object code programs, completewith creation of symbol tables, labels, and equatestatements. The source code is placed on diskwhere it can be edited and reassembled.

Interpretive Debugger

An Interpretive Debugger is now availablefor MSI and SWTP 6800 systems. IDB is themost complete debugging package ever releasedfor 6800 systems.

Hardware and software . . . MSI offers a

new 1978 Catalog and get all the details about

■ « i ii r» _ _ m«f»w i _*._

Liiese cuiu many uiuei 1111c i»ioi piuuu^a.

THioUvett Scientific

220 West Cedar

Olathe, Kansas 66061

(913) 764-3273

TWX 910 749 6403 (MSI OLAT)

TELEX 42525 (MSI A OLAT)

&*

Circle 75 on inquiry card.

BYTU December 1977 121

WIRED "OR" INTERRUPT LINE

SYSTEM DATA BUS

PROCESSOR AND

REST OFSYSTEM

INTERRUPT

"WHODUNIT"INPUT PORT

0 ■ "I DIDN'T DO IT II - "I DID IT!"

0 0 0 0 0 0 1 O

COLOR KEY.-

10 ACCESSED BY INTERRUPT OFDEVICE NO.I, THIS CASE

□

10 IGNORED THIS CASE

I DIDN T DO IT!

Figure 2: The "Who DoneIt" problem on interrupts.Some means must be pro-vided to determine which10 device requested servicewhen more than one de-vice shares an interruptline on any processor.Here is one way of deter-mining "who done it":The input port "WHO-DUNIT" looks at eightsingle bit status flagscorresponding to up toeight devices; if the flagis on, then that device"did it."

running without really being awarethat it was temporarily not in controlof the processor. This process of re-storing the machine state is the inverseof the state saving activity.

Interrupt Hardware

The actual hardware that is included toeffect interrupts varies somewhat from oneprocessor to the next. Virtually all of themsave the old program counter in some speci-fied location and insert the address of theinterrupt handler's first instruction into theprogram counter. This is in effect an uncon-ditional branch to a subroutine with linkagefor return after interrupt processing. Eachmachine is different, though, in the actionstaken beyond these two basic functions. Inthe IBM 370 series, the hardware doespractically everything for the programmer.In microprocessors, the software interruptprogram must do some of the things that thehardware does in the larger machines. Let'slook at the most popular microprocessorsand see what they do.

Interrupts on the Intel 8080

When an interrupt request is received, the8080 completes the current instruction be-fore taking any action on the interrupt.Virtually all miniproccssors and microproc-

essors do this, since there would be all sortsof problems encountered if an interruptwere recognized in the middle of the execu-tion of an instruction. A little thought willshow why. The 8080 does not incrementthe program counter. The program counterfor the old program is pushed, saved, ontothe stack. The next instruction to beexecuted is "jammed" onto the data bus byexternal interrupt circuitry and is called therestart instruction. Depending on the restartinstruction operand, the next instructionexecuted (ie: the address placed into theprogram counter) may be one of eightpossible decimal memory locations: 0, 8,16,24, 32,40,48, or 56. 8080 programmers willnote that there are just enough memorylocations, eight, between these addresses tosave the registers of the old program, disablefurther interrupts, and execute a jump toanother location, which in this case will bethe interrupt service routine. This entireoperation is explained in figure 1.

Obviously, if you ever contemplate usingall eight classes of interrupts, you want tobe sure not to program using the first 64memory locations since those are reservedby the hardware for interrupt handling. Butwhat if you want to have only one class ofinterrupt? Say, a panel switch that theoperator (you) can push to get the attention

122

BYTE December 1977

Game Playing With Computers by

Donald D Spencer, published by Hayden.What does it mean to play games using acomputer? Read this book to get anintroduction into numerous recreationaluses of the computer to program and playmathematical and logical games. Topicsinclude numerous mathematical problems,casino games, board games, unusual gam-bling games, and miscellaneous logic games.Numerous BASIC language programs andlistings are included to show details. $16.95.

Scientific Analysis on the Pocket

Calculator by Jon M Smith, published byJohn Wiley & Sons. This book is another ina set of source books for mathematicalanalysis using the contemporary products oftechnology. It is oriented to the pocketcalculator, yet it will provide you withalgorithms and methods useful with anypersonal computer which implements thescientific and analytical functions found ona good pocket calculator. For a morecomplete description, see the book reviewon page 120 of the December 1976 BYTE;or order its 392 pages of detailed technicalinformation and review its use for yourself.$13.75.

References

and

Robots

from BITS

Build Your Own Working Robot by

David L Heiserman, published by TabBooks. This book will not tell you how tobuild Robbie, the robot of ForbiddenPlanet, or a classical android of sciencefiction. What it will introduce you to is theproblems of making a robot mobile devicecalled Buster III, using pre-microprocessorTTL integrated circuits for all logicfunctions. It is a must book for backgroundreading, but much of the logic can beextremely simplified using today's micro-processor technology. Use this book as afirst look at these problems from which youcan build further and more elaboratesolutions. Softbound, $5.95.

IT

i

A Dictionary of Microcomputing by

Philip E Burton. In the opinion of BYTE'seditor, Carl Helmers, "This is one of thebest designed and executed dictionaries ofcomputer related terms yet seen on themarket. It is of particular relevance to thoseindividuals who want a good generalreference to numerous technical terms,broadly covering hardware and softwarefields as currently practiced." This newhardbound edition is part of the GarlandReference Library of Science and Technol-ogy. $12.50.

Software Design for Microprocessors.

This stand alone guide to microprocessorshas been designed by the people at TexasInstruments to convey knowledge to thefirst time user of microprocessors. Thisexcellent source book of computer conceptsbegins with an outline of the basic principlesof the general purpose computer, itsmachine architecture, software, and meth-ods of addressing. It proceeds to discusshow to build software, what is involved indocumenting what you've done once you'vedone it, the mechanics of programming, andspecific examples using the Tl TMS-1000,TMS-8080, TMS-9900 and SBP0400 de-signs. You'll find a thick hardcover text-book filled with over 370 pages of usefulinformation including a comprehensiveglossary of microprocessor terminology,among several other detailed appendices.$12.95.

Send to:

BITS, Inc70 Main StPeterborough NH 03458

Total for all books checkedPostage, 50 cents per book for.Overseas, 75 cents per book forGrand Total

$.

Check payment method:My check is enclosed

Bill my MC No.

Bill my BAC No.

Name

Exp. dateExp. date

.books $

_books $

$

Address

City^

State

Zip

Signature

Prices shown subject to change.

You may photocopy this page if you wish to leave your BYTE intact.

All orders prepaid.

In unusual cases, processing may exceed 30 days.

Circle 12 on inquiry card.

BYTE December 1977 123

of the machine. Then just program the par-ticular location that you (or the computerhardware designer) hardwired in. Let'ssuppose for a minute that you need morethan eight interrupts. That's possible, withina few restrictions as shown in figure 2. JustOR the interrupt request lines from the out-side world together and feed them to thesame interrupt line going into the processor.But then how do you know which device hascaused the interrupt? Obviously there willhave to be another signal somewhere to indi-cate which device needs attention. Thiscould be implemented in a variety of ways:

• The device could place an identifyingnumber on the data bus which wouldidentify the device.

• An input port could be wired so thatthe device would signal that it neededattention.

• The processor could send an interroga-tion to each device connected to thatinterrupt line asking if it was the onethat sent the request.

The first and second methods are faster sincethe device number or input data could beused as an index to go to the appropriateinterrupt handler program. The thirdmethod is called polling and may be some-what time consuming if many devices usethe same interrupt line. Because so much ofthe interrupt logic of the 8080 is external tothe chip, there can be considerable variation.Most 8080 systems use a simple restart(RST) operation code, but any instructionincluding jump (JMP) or call (CALL) can beused with appropriate external logic.

Motorola 6800 Interrupts

This chip has built into it the capabilityof decoding and servicing a smaller numberof interrupts, but in a more automatic waythan the 8080. The 6800 uses an indirect"vectored" interrupt situation in which eachsource of an interrupt looks up a uniquevector location for the address of its serviceroutine. When an interrupt is indicated tothe 6800 by one of three possible sources,the processor automatically saves the twoaccumulators, index register, status register,and program counter on the stack, and inthe process of doing so it changes the stackpointer. Thus, the 6800 has the advantageof never requiring program code to achievestate saving functions. It simultaneously hasthe disadvantage of always performing acomplete state save so there is no way to"cut corners" and save time by ignoringthe saving and restoring of data which is notchanged by the interrupt routine. This

vectoring method also has the disadvantageof requiring that the stack pointer mustnever be used for other purposes (such asa pseudo-index register) when interruptsare possible. The three interrupts possibleon the 6800 are:

Maskable Interrupt (IRQ). This inter-rupt occurs when a hardware signal causesa low state on the IRQ line of the proces-sor. This line is always wired in a "wiredor" configuration when multiple sourcesare used, so some form of polling orpriority logic is needed to identifysources. When an interrupt occurs, a flagis set in the processor which prevents asecond interrupt from interrupting theroutine which processes the first to arrive.

Non-Maskable Interrupt (NMI). Thisinterrupt is identical to the IRQ interruptexcept that no "masking" of repeatedinterrupts occurs in the processor to pre-vent conflicts. As a result, without exter-nal logic to do the masking only oneinterrupt source should be dedicated tothis signal. Motorola intended this line tobe used with the absolute highest priorityexternal signal in a typical system: thesignal which indicates a 110 VAC mainpower supply "power failure" in a dedi-cated application system; the interruptresponse routine in such a case wouldhave enough time before the capacitorsof the power supply discharge (typically)to save the state of the processor and pre-pare for later return of power. But theintended use does not mean the only use,and with proper care this interrupt linecan be used for inputs as diverse as adirect memory address (DMA) controlleror real time clock.

Software Interrupt (SWI). This inter-rupt occurs when a program executesa software interrupt instruction. Theactions taken are exactly the same asthose for the totally asynchronous NMIand IRQ hardware inputs. The onlydifference is that the SWI is not a trueinterrupt since it is programmed into thesoftware at a fixed point, whereas aninterrupt such as NMI or IRQ can occurat any time relative to the execution ofa program. The SWI instruction, in effect,is a call to an interrupt subroutine, withreturn implemented via an RTI (returnfrom interrupt) instruction.

There is one further method of interruptinga process in the 6800 which is not charac-terized by the state saving needed to effect atrue interrupt style action. This is use of the"reset" (RES) line of the hardware. Thisform of interruption merely causes an

124

BYTE December 1977

Digital Computer Fund-amentals by Jefferson C Boyce.The way to a world of learning isthrough books. A great place to start,and to return from time to time, isthe classical textbook. This newbook from Prentice Hall is in-tended as just that. Topics coveredinclude digital computer operation,basic computer circuits and concepts,Boolean algebra, implementing com-puter operations in hardware, com-municating with the computer andrelated issues of coding schemes,detailed discussions of the controlsection, memory functions, arithme-tic and logic functions, input andoutput functions of a classical com-puter, a chapter on computer pro-gramming and a final summarychapter on the details of a typicalminicomputer design interpreted inthe light of the more theoreticalgeneral concepts in the book. Thisbook is excellent background infor-mation for the literate and well readhacker. Order yours today. $15.95hardbound.

Adam Osborne's books An Introductionto Microcomputers, Volumes 1 and 2, are a

concise compendium of the technical detailsof microprocessors at the component(engineering) level. These are the sourcebooks for the system designer who plans toemploy the microprocessor, or the advancedhomebrewer who wants a dash of custom-ization not found in commercial products.

Volume 1 is subtitled "Basic Con-cepts." This is the book which presents aframework of ideas concerning the designand use of small computers implementedwith LSI. Topics include definitions of themicrocomputer, fundamental concepts oflogic and numbering characteristics ofinstruction sets, etc. $7.50.

How to Buy and Use

Minicomputers and Microcomputers

by William Barden. People have oftenasked us where to turn to get anintroductory book about computersfor personal use. One excellent placeto start is How to Buy and UseMinicomputers and Microcomputers,William Barden Jr's instant summaryof the small computer revolution,published by Howard Sams in mid-1976. This is one of the first booksof the "general introduction tocomputers" genre to be publishedwith an emphasis towards the smallcomputer and personal computing asit is being practiced these days, thebook, written for the novice as wellas the expert, surveys the technicaldetails of the field in nine chaptersand 10 appendices. This book is light(but essential) reading for the experi-enced computer person, and worthyof serious, concentrated perusal bythe novice. $9.95.

j HowtoBuySUgo

i MMCQKIPUTEHSS| MiCHQCQRIHJTEHS

Volume 2 is a much thicker detailed

volume which complements the informationin the first volume. This is the volume whichfills in many of the details left out of theconceptual treatment in Volume 1. Hereyou'll find 19 detailed chapters on theengineering and logical specifications of pro-ducts made by 16 different manufacturers,including in many cases reprints from themanufacturers' documentation as well asnew materials provided by the author. Pub-lished in 1976, it even includes such pro-cessors as the MicroNOVA by Data Generaland the Texas Instruments TMS-9900 aswell as the older 8 and 16 bit machines.Organization is by design type, and whereparts of several manufacturers were in-tended for a given processor design such asthe 8080, these are grouped into a singlechapter. Revised second edition $15.00.

|OSF,rHWilZr.N&ttIM

COMPUTERPOWER

ANDHUMANREASON

FROMIUDCMENTTO CALCULATION ,

. Computer Power And Human

Reason by Joseph Weizenbaum. Thisbook is one which should bepurchased or read for several reasons.If you're presently a programmer bytrade or skill, you'll see a philosophyof computer use and abuse pro-pounded. It's genuinely interesting,and definitely provocative if youreference the storm of letters, coun-ter letters and counter counter letterswhich this book produced in theAssociation for Computing Machin-ery's SIGART newsletters during1976. If you're a novice to the field,the tutorial and explanatory chaptersof this book, which are aimed at thelayman, will serve as an excellentbackground source which is alsoeminently readable- This includes anexcellent and low level explanationof what an algorithm is, and howcomputers go about executing effec-tive algorithms. $5.95 softbound.

Send to;

BITS, Inc70 Main StPeterborough NH 03458

Total for all books checked

Postage, 50 cents per book for

Overseas, 75 cents per book for

Grand Total

Check payment method:

My check is enclosed

Bill my MC No.

_ Bill my BAC No.

booksbooks

Name

Exp. dateExp. date

Address

City

State

Zip

Signature

You may photocopy this page if you wish to leave your BYTE intact. In unusual cases, processing may exceed 30 days

Circle 12 on inquiry card.

BYTE December 1977

125

COLOR KEY

MEMORY WHICH CAN BEROM (AND OFTEN IS)

MEMORY WHICH MUST BEJ PROGRAMMABLE SCRATCHPAD

, LINKAGES DURINGIRQ INTERRUPT

STEP 2:PUSH OLD PROCESSORSTATE INTO STACK

STEP I:INTERRUPTINPUT ON IRQ

EXTERNALEVENT

*

ssoo

PROCESSOR

Figure 3: The 6800 proc-essor's interrupt structure.This vectored interruptmethod starts with aninterrupt signal to theprocessor. In this example,IRQ occurs, so the proces-sor generates a referenceto the IRQ vector locationat hexadecimal FFF8 andFFF9. The two byte ad-dress at the IRQ vectorlocation in turn points tothe IRQ routine some-where else in address spaceand as the last step in theprocess, the routine iscalled. As part of thespecial interrupt routinecall, the old state informa-tion is pushed onto thestack.

unconditional branch to a restart location,and is typically used to initialize the systemor to recover from disastrous errors.

All four sources of interruption of the6800 processor, IRQ, NMI, SWI and RESuse a similar indirect vectored approach tolocating the address of the desired routine.In the cases of IRQ, NMI and SWI thedesired routine is a subroutine which returnsvia an RTI (return from interrupt)instruction; in the case of RES the desiredroutine is the beginning of the softwarewhich gains control when the processor isrestarted.

In each case, the processor uses a 2 byteaddress stored in the region from hexa-decimal address FFF8 to FFFF in memoryaddress space as the starting address for thedesired routine. Thus, for example, supposea source of an interrupt changes the stateof the IRQ line, causing an IRQ interrupt.The processor first completes the previousinstruction, as noted earlier. Then, insteadof executing the next instruction, itexecutes the details of the built in "statesaving" sequence. After state saving, the

processor sends out address to memory forlocation FFF8 from which it obtains thehigh order address of the interrupt routine.Then it sends out the address FFF9, fromwhich it obtains the low order address ofthe interrupt routine. It then branches tothe interrupt routine at the address justobtained. A similar process occurs for theNMI response using the data contained inlocations FFFC and FFFD as an address; forthe SWI response using data contained inlocations FFFA and FFFB as an address;and for the RES response using data con-tained in locations FFFE and FFFF as anaddress.

The MOS Technology 6502

This 8 bit processor is very similar to the6800 in its processing of interrupts. There isno separate vector for a software interrupt asimplemented in the 6800, so the 6502'sinterrupt vector region only includes non-maskable interrupts (FFFA and FFFB con-tain the address), reset (FFFC and FFFDcontain the address), and maskableinterrupts (FFFE and FFFF contain the

126

liYTE December 1977

to oil fiVT€ mogozinesubscribers one!would-be subscribers

SAVE MONEY! As of January 1, 1978, we are raising our subscription rates to meet the increasedcosts of producing and mailing BYTE to our more than 110,000 monthly readers. The new domesticsubscription rates, effective January 1, 1978:

Current RatesOne year U.S.Two years U.S. — $22

Three years U.S. — $32

ates Effective January 1, 1978One year U.S. — $15

Two years U.S. —$27Three years U.S. — $39

If you already subscribe to BYTE and still haveseveral months to go before expiration of yoursubscription, you can still take advantage ofcurrent rates for renewal (even up to threeyears). Use coupon below. When your presentsubscription expires, your renewal ordercommences.

If you are not yet a subscriber to BYTE, theleading magazine for the creative homecomputer experimenter, don't delay . . . mailthis coupon and start getting your own copiesof this invaluable magazine, before new ratesbecome effective.

KITE

BUI

i

M

USE THIS MONEY-SAVING COUPON TODAY

To new subscribers:Read your first copy of BYTE, if it'severything you expected, honor ourinvoice. If it isn't, just write"CANCEL" across the invoice andmail it back. You won't be billed, andthe first issue is yours.

Allow 6 to 8 weeks for processing.

© Byte Publications, Inc. 1977

BYTE Subscription Dept

• P.O. Box 361 • Arlington, Mass. 02174

PLEASE ENTER MY SUBSCRIPTION FOR:

D One year $12 (12 issues) □ Two years $22 □ Three years $32

D Check enclosed (entitles you to bonus of one extra issue)

□ BUI me □ Bill BankAmericard/Visa □ Bill Master ChargeCard Number I I II I I I I I I I I I I I

Signature: - ^—

Address: ■ ■

City:— ; State/Country:

Offer expires December 31, 1977FOREIGN RATES FOR ONE YEAR: (Please remit in U.S. Funds)

□ Canada or Mexico $17.50 (Air delivered) □ Europe $25 (Air delivered)

□ All other countries except above: $25 (Surface delivery)

Air delivery available on request

359&.^

Expiration Date: —Name (please print)-

Code:-

address.) The 6502's BRK instruction issimilar to the 6800's SWI, except it uses thesame vector location as the maskable inter-rupt (IRQ) rather than a separate addressvector.

Interesting Uses

Now knowing about interrupts, what aretheir uses on the personal computer system,and what kinds of programming should weuse with them? Probably a majority of userswill not need to use interrupts at all, at leastuntil they have several years programmingexperience. If you have an 8080, just becareful to write your programs around thecritical interrupt locations in low memoryaddresses, in case sometime in the futureyou decide to start using them. If you have a6800 and use a dedicated monitor such asJBUG or MIKBUG, much of your freedomto use interrupts is replaced by hardwiredresponse vectors in ROM found at FFF8 toFFFF. Almost certainly if you plan onwriting or using some type of operatingsystem, the interrupt facilities will need tobe used in the interrupt routines.

The use of interrupts for 10 operationsprobably will not be a major applicationexcept in cases of direct memory access orfast peripherals. Personal systems tend to bestrongly oriented to a memory conservativetype of programming, since the cost ofthe processor hardware is so low to beginwith, and the slowness of lO is not really asignificant factor.

Real time applications are likely toabound in small systems. The timers that areincluded in some systems often operate byallowing the program to load a desirednumber, which is then counted down (oradded up, depending on the hardware)independent of the processor. When zero isreached, the timer can generate an interrupt.This could be useful in such applications askeeping track of how long programs use theprocessor, allowing a player a limitedamount of time to make a move in gameslike Star Trek, generating time of dayapplications and so on. A very interestingreal time application of interrupts is in theuse of light pens on oscilloscope graphicsdisplays. This is one use of computers thatmany hobbyists, upon seeing it operate forthe first time, feel is just this side of magic.Actually, when you consider how theoscilloscope display is generated, the mech-anism is very straightforward. You maydeduce that the computer, or 10 device,must know where the beam of light iscurrently positioned on the scope's screen,or else it would be just a jumbled mess.Therefore, if a photosensitive device is

placed close to the screen, when the lightbeam strikes the cell an interrupt may begenerated. This interrupt may then causethe location of the beam to be noted bystoring the current values in the countersused to control the beam.

Another extremely interesting applica-tion is the emulation of hardwired instruc-tions. If the processor allows software orillegal instruction interrupts then softwareroutines may be programmed which willproduce the same effect as if the desiredinstruction had actually been included in thesilicon on the chip. For example, supposethat you frequently needed an instructionwhich would, for some unfathomablereason, add the contents of all the registersand output them to a teleprinter. Youcould set up a subroutine in each programthat required this action. But if youfound that you needed this instructionfrequently in every program you ran on themachine, another way of implementing thisroutine would be to place into the programcode (that is, the program being run) some-thing to cause an interrupt.

This interrupt would cause the interruptroutine to determine which action wasdesired, execute it, and then resume theinterrupted program. Of course, the in-struction would be executed much moreslowly than if hardwired. Once the routinewas finalized, it could be burned into readonly memory, and from then on it wouldalways be available for the programmer'suse. The actual bit pattern inserted intothe program, to cause the interrupt, varieswith the processor. If there are unimple-mented operation codes then you maysimply choose one and use it to signify thenew operation from then on. If unimple-mented operation codes do not exist, orthey cause the machine to "hang up" andnot interrupt, then a software interrupt,called a "supervisor call" on the 370, may beused. This is somewhat less pleasing, how-ever, since the code on the program listingwill always look the same (ie: a softwareinterrupt) and make debugging a bit moredifficult. The 6800's SWI instruction withits separate vector is ideally suited to thisuse. Obviously, a byte would have to bestored somewhere which would signify tothe interrupt routine which operationwas desired. In a 6800 this would be accom-plished by following the SWI instructionwith the appropriate 1 byte code, andmodifying the stack so that RTI returnscontrol one byte past its normal point ofreturn.

It is possible to reproduce a particularmachine's entire instruction set on another

128

BYTE December 1977

entirely different machine in this manner.This is frequently called "emulation,"although the term is also used to describethis process being accomplished by micro-code which, confusingly enough, is onlyremotely related to microprocessors.

Conclusion

We have seen that the use of interruptsallows computers to become more versatilethan when they are dedicated to oneprogram. Interrupts allow the machine to in-teract with the outside world while at thesame time allowing it to pursue "its own"interests. Interrupts are useful for accom-plishing things in ways which, while moredifficult to program initially perhaps, maybe worthwhile in the ease of application."

REFERENCES

1. Intel 8080 Microcomputer Systems User'sManual, Intel Corporation, Santa Clara CA,July 1975.

2. M6800 Systems Reference and Data Sheets,Motorola Semiconductor Products Inc, PhoenixAZ.

3. MCS6500 Microcomputer Family Program-ming Manual, MOS Technology, Norristown,PA.

SPEAK "KAAMPYUTAOLKER"

MODEL CT-1 SYNTHESIZERCSR1 SOFTWARE SYSTEMDEMONSTRATION CASSETTE

395.00

35.00

2.95

CALIF RESIDENTS AOD 6% SALES TAX

WRITE FOR INFORMATIVE LITERATURE

COMPUTALKER CONSULTANTS

BOX 1951, DEPT. B, SANTA MONICA, CA 90406

P.O.

DAJEN Electronics

7214 Springleaf Ct.

Citrus Heights, Ca. 95610

(916) 723-1050

Easy to use! Everything you needfor I/O, mass storage, and a monitor.

3 complete parallel parts with theirown handshaking, latched outputs, bi-directional.

Serial port with 20 ma, 60 ma,RS-232, speeds from 75 to 19,200. 256bytes of RAM for stack and bufferstorage.

2708 PROGRAMMER

3K of ROM, 2-2708's provided withmonitor: complete video, software, cassette routines, 16 com-mands total.

High-speed cassette system with 2 relays, simultaneousread and write, speeds from 500 to 40,000.

Yes, please rush my SCI to:

Name

Altair, Poly,

Address 'MSA'; M0.

Tarbell Com-patible

City State Zip.

Mastercharge Exp. .

Visa/B.A Exp. .

Signature

Kit

$285

Assembled

$345

OUR NEWEST BABY!

The System Central InterfaceSCI

Circle 35 on inquiry card.

BYTE December 1977

129

Using the PolyMorphics Video Interface

Wayne Wenzlaff3494 S Greenwood CtEaganMN 55122

I recently purchased one of the PolyMor-phic Video Terminal Interface units from alocal computer store. After opening theplastic bags included with the kit and check-ing the parts against the packing list, I satdown to the task of assembling the kit. Theinstructions looked simple enough, the partswere all there, and there was a parts diagram,except I couldn't read it.

Well, being no stranger to electronics, Iarmed myself with a pen, the schematic, anda bottle of Dr Pepper. (The Dr Pepper isimportant!) Some four hours and manybottles later, my board was complete. Trac-ing circuit diagrams is OK if you have a lotof time and know your electronics, butthere have to be a lot of nonelectronicspeople who bought this board and had thesame problem. The more I thought about it,

NEW VIDEO INPUT

FROM 3rd VIDEO

o-

IO,uF*SEE TEXT

B +

€)

2SC563

VIDEO AMPLIFIER

RI4I

47

■JWV-

■—^ TO VIDEOI—^ OUTPUT

EXISTING

TEST POINT

X

Figure I: This is the simplified schematic for the video amplifier. The dot-ted capacitor is the added component to the original circuit. Take care toconnect the positive side of the capacitor to the television circuitry. Thevideo signal from the video interface can be connected directly through thiscapacitor.

the more curious I became. A call to Poly-Morphics gave me the answer.

It seems that some of the first instruc-tion books printed managed to get by thequality control department without beingchecked. In any case, I spoke to a very niceperson by the name of Cindy Feeney, whoturned out to be the national marketingmanager. She apologized for the problem,and explained that they sent a letter to theirdealers as soon as they became aware of themistake. The only trouble is they didn'tknow who had purchased the boards withthe bad diagram, so some of us unfortunatesgot hold of a kit without knowing aboutthe letter. She explained that the diagramhad been reprinted, this time in three colorsfor easy readability. And she sent one to me.Free! She also offered to replace the diagramto anyone else who has had the same pro-blem if they will just drop her a note. Theaddress is PolyMorphics, 737 S Kellog Av,GoletaCA93017.

Now I needed a television to connect itto. I don't own a video monitor, but I dohave a black and white television set, aPanasonic Model TR-542. With this set,adding a video input is a cinch. A schematicof the section of the video amplifier to bemodified is shown in figure 1. Panasonicprovides a test point at the input of thevideo amplifier. The signal is positive going(signal is positive with respect to ground)and the level is 0.9 V peak to peak. ThePolyMorphics board provides a positivegoing video output, with about 1 V peak topeak level. Talk about a perfect match!

In order to eliminate any biasing pro-blems for the video amplifier, I elected toleave the video intermediate frequency (IF)stage connected. The PolyMorphics boardhas plenty of video to drive the amplifier, sothe only thing you need to do is turn thetelevision to an unused channel, preferably

130

BYTE December 1977

UHF. The PolyMorphics board provides aslight amount of DC bias on the video line,and this will distort your display unless youfilter it out. The simplest cure for this is theaddition of a coupling capacitor in the videoline. Install it in series with the center con-ductor, with the positive end connected tothe TV circuitry as shown in figure 1. Ex-periment to see what value works best foryou, but it will probably be between 0.1 and10mF.

With the television modified and theboard completely assembled, I was now upto the section labeled 1.6. For those of youwho don't own the PolyMorphics terminal,that section reads, "As it stands now, yourunit should work if connected via coaxialcable to a video monitor or modified televi-sion set." Wrong. Not that there's anythingwrong with the terminal, but I have builttwo of them now, and they don't do any-thing until you put something in memory.For ease of testing, the following programcan be entered via the front panel switches.This eliminates the need for anything but acomputer, the video interface board and themodified television. Set the PolyMorphicsaddress to 0000, then proceed as follows:

0000

21

0001

0A

0002

00

0003

3E

0004

38

0005

77

0006

23

0007

C3

0008

03

0009

00

Photo I: This is the display generated by the program written to output aseries of vertical bars. The dark bands running across the monitor indicatethat the horizontal frequency of the video interface and the horizontalfrequency of the monitor are not identical.

Notice the dark lines running from thelower left to upper right hand corner of thescreen. These are present because the hori-zontal frequency of the set is not the sameas the horizontal frequency of the video ter-minal. The standard horizontal frequency ofa television set is 15,750 Hz. The frequencyof the PolyMorphic board is 17,094 Hz. Al-though the manual would lead you to be-lieve that this is a simple adjustment of thehorizontal hold control, not all sets can beadjusted to operate at this frequency with-out some internal modification. I had accessto four standard video monitors which Ilater tried the board on. Only two of thefour were able to lock in and produce ausable display. Fortunately it's not too

HORIZONTAL HOLD

This program should display alternate blackand white vertical bars on the screen. I say"should" because the display I got is illus-trated in photo 1.

Figure 2: The section of the horizontal holdcircuit that determines what the horizontalfrequency is must be modified to match thehorizontal frequency of the video interface.The dotted resistor and switch are additionsto the original circuit. By changing the valueof R4I5, I changed the range of the horizon-tal frequency adjustment. The switch is notnecessary but allows the use of the set aseither a monitor or a television.

BYTE December 1977

131

Illlli jiillil Imm milt

XIMEDIA PRESENTS

The Perkin-Elmer Fox-1100

The Low-Cost, Not-So-Dumb CRT

Fully Assembled and Tested—$1,295.00

Ximedia Corporation stresses reliabilityand performance at an affordable price.That requires literally hundreds of productevaluations. It also requires a strong com-mitment to selling only those componentswhich have operated dependably inbusiness or professional applications.The Perkin-Elmer FOX-1100 has that kindof track record. And it has the followingfeatures:

• Resetable tab stops

• Numeric key pad

• Highly readable 9 x 12 dot matrix

• Hooded, anti-glare screen

• Upper and lower case

• Black-on-white/white-on-black display

• Transparent mode—displayscontrol characters

• Direct cursor addressing

• Typamatic auto repeat

• Local service centers

All in all, the FOX is a superior terminaldesigned for the serious user and built totake the abuses of day in day out use at aprice the economy-minded user can afford.

XililEDiA

1290 24th Avenue

San Francisco, California 94122

(415)566-7472

Toll Free (800) 227-4440

CONVENIENT ORDERING: Toll free number. Prepaid,Mastercharge, and Visa orders shipped free; othersfreight-collect. Most orders shipped from stock. If not,we will notify. California residents add 6% sales tax.

Photo 2: The correct display should havevertically aligned black and white bands.This indicates that the horizontal frequencyof the video interface and the monitor areidentical.

difficult to modify the set once you knowwhat you are up against.

The sets that seem to cause the troubleare the ones that use a coil to adjust thehorizontal frequency instead of a poten-tiometer. A quick look at my Panasoniclocated the culprit. The horizontal fre-quency is determined by a coil, in con-junction with a 6.8 k resistor (R415) asshown in figure 2. Although it would bedifficult to change the coil, we can adjustits range by changing R415. A 5.6 k resistoradded in parallel with R415 changed therange sufficiently to produce a properdisplay. I could have permanently alteredthe value of R415, but then the set wouldnot have been usable as a standard TV set.By connecting a switch in series with oneof the leads from the 5.6 k resistor I candisconnect the added resistor from thecircuit when I'm not using the set as amonitor.

The final display is shown in photo 2.Adding a video input required only onepart, a capacitor. Correcting for the un-usual horizontal frequency took a singleresistor. This may not work for every set,but you'd be surprised how many sets use acircuit very similar to this one. If you havea tight budget, arm yourself with a sche-matic of your TV, a few spare parts, and thisarticle. You'll undoubtedly learn something,and the pleasure of doing it yourself can'tbe beat. Besides, assuming you already owna black and white television set, where elsecan you get a video monitor conversion forunder a dollar?"

132

BYTE December 1977

Circle 132 on inquiry card.

Continued from page 91

"Start the program."

Time passed, a lot of time. Jack stabbedthe RESET button hard enough to pushthe computer across the desk.

"Gently, Jack! I get your message. Youmust be putting the breakpoint in the wrongplace."

"If I knew where to put the breakpoint,then I probably wouldn't need one. What Ineed is some way to sprinkle a program withbreakpoints and just skip the ones I don'tneed."

"No can do, Jack. My MIKBUG monitortraps every breakpoint and that is that. Youcan't skip by one. If you put obstacles inmy path, I trip over them. You don't wanta bruised computer, do you, Jack?"

"I guess not. What I do want is a betterway to debug. There's got to be somethingmore effective than this 'stab in the dark'approach."

"May I make a suggestion, Jack?"

"Now look who's the designer. Whatwords of wisdom have you, 0 great sage ofMotorola?"

"Sarcasm will get you nowhere, exceptmaybe 'stabbed in the dark.' I was going tosuggest that you investigate my HALT in-put. If you put a properly timed signal there,then I'll execute only one instruction at atime. You can run programs so slowly evena human can follow the processing."

"That's an interesting idea. Let me thinkabout it for a while."

"I can hardly stop you, Jack. I don't havehands. . .yet. You were looking at thoserobot articles in BYTE, weren't you!"

"Talking is quite enough, computer!"

"I. . .guess. . .so."

Jack sat back in his chair and thought.Computer knew better than to interruptsuch meditations of his human partner.Computer liked its power continuous.

"No good, computer." Jack rolled hischair to the console again. "Hardware singlestepping isn't what I need. I need to be ableto read your registers and check memorylocations. In short, I need your MIKBUGcapabilities to help me debug. With yourhardware suggestion I'd still need to knowwhere to stop single stepping. That's nobetter than breakpointing."

"Not exactly, Jack. If you don't muck upmy contents with your debugging stuff,then you can resume running again afteryou stop stepping. You can write reentrantcode, can't you, Jack?"

"That's exactly what I'm trying to debug.Thanks a bunch."

"Sorry. I guess we'll both have to livewith MIKBUG for a while longer, until you

write me a real nice monitor, with asynchro-nous IO, and disks, and. .."

"Get off the disk kick. A debugger iswhat I need. I want a purely softwareanswer. I need to have MIKBUG-like facili-ties that I can use wherever I want in a pro-gram without upsetting that program. It'sgot to be reentrant. It's got to know how tobreak down instructions. It should give mea sort of breakpoint for each instructionexecuted."

"The program you seek is called a tracer.They're available on big machines, like yourpartner Grappel's PDP-11. Maybe he canadapt one to your liking."

"And adapt it to your limited faculties."

"His big machine can't even talk! Don'tyou say I'm limited!"

"Okay, okay, I give up. Anyway, it'sbedtime. Good night."

"Yeah," said computer. Jack flipped thepower switch, and computer's red eyedimmed.

"So what's new?" said computer as itsfan began to hum.

"Well, I uh. . .found.. .discovered that. . .noticed, uh. . ."

NEW...

We have introduced two new productswhich interface to a variety of bus structures:the S-100 bus - the Motorola bus - theIntel SBC 80/10 bus. We have a ScientificCalculator Board which will do your complexmathematical computations in firmware with aminimum of dedicated RAM or software sup-port. In kit form, prices start at $99.95.

A new video display module which pro-vides for a format of up to 24 lines and a full80 characters wide is ready. Lower case andcustom character sets are available on specialorder.

It can also be obtained to provide 32, 36,40, 64, or 72 characters per line. In kit form,prices start at $199.95.

Call or write for data sheets - or contactyour local dealer.

Celetion

P.O. Box 6215

Syracuse, New York 13217

(315) 422-6666

Circle 138 on inquiry card.

BYTE December 1977

133

Circle 119 on inquiry card.

CDCTlPflRE

B-BT COmPUTERS

THE

TECHNICO

SUPER STARTER

SYSTEM

AND

SUPER SYSTEM 16

v.s.

THE HEATH H-11

SAVE OVER $1000SEND FOR FREE BROCHURETECHNICO 1-800-638-2893

9130 RED BRANCH RD. COLUMBIA, MD 21045CIRCLE INQUIRY NO.

"Come on, Jack, out with it!"

"That problem you were havingyesterday. . ."

"I wasn't having any problem yesterday!It was your code that was a problem. I justread 'em; I don't write 'em!"

"I know. But you should have warnedme that I was pushing one more item ontothe stack than I was popping off. When youexecuted the subroutine return, you got abyte of data confused with the real returnaddress."

"I did not confuse anything! I did exact-ly, 1 repeat, exactly, what you asked for.You said PSH, I pushed! You said PUL, Ipulled a byte off the stack. You said RTS,and I took the top of the stack as a returnaddress. I may have bugs in the program, butthe programmer's got bats in his belfry!If you can't count the number of bytes youput on the stack, you might think of goingback to philosophy!"

"Cool it!"

"I might say. . ."

"Cool it!"

Jack glared at the console, and com-puter's red eye stared back. "I'm sorry,Jack."

"I guess it really is my fault, computer."

"Friends?"

"Friends."

"Going to get a tracer written?"

"Yep."

"Can I assemble it? I'll do a very carefuljob."

"I'm sure you will, computer. I'm sureyou will."

"Computer, let's try to work this break-point thing out."

"Glad to help, Jack."

"Fine. Now, we need a program whichdoesn't change any register or conditioncode or memory location in the targetprogram. . .the one I need to debug."

"It's got to be reentrant. Right, Jack?"

"It should print the contents of all yourregisters, the address of the present instruc-tion, and the instruction code. Somethinglike the MIKBUG format should do."

"That's a problem. How do I do all thatprinting without messing up the registers?"

"Come on, computer. . .that's easy. Yousave all the registers before printing and thenrestore them when you're done."

"Like the MIKBUG software interruptdoes, on the stack! You know, sometimesyou're pretty smart, Jack."

"Except we can't do it that way."

CDfTFflBE

IB-BIT COmPUTERS

HARDWARE

TECHNICO

HEATH

FEATURES

SYSTEM 16

H-11

DUAL

YES

NO

FLOPPY'S

CASSETTES

YES

NO

VIDEO

YES

NO

BOARD

E-PROM

YES

NO

PROGRAMMER

*FOR COMPLETE COMPARISON SEEHEATH LITERATURE AND CONTACTTECHNICO FOR FREE CATALOG

CIRCLE INQUIRY NO

134

BYTE December 1977

Circle 119 on inquiry card.

Circle 119 on inquiry card.

"Why?"

"Because MIKBUG won't let me changethe address of the software interrupt handlerprogram. It's in ROM, unfortunately. We'llneed another way."

"Jack, isn't this breakpoint thing sort oflike a subroutine? I mean, it's, say, 'called'from the target program. . .does some stufflike printing. . .and then returns to thetarget program."

"I guess we have to do it that way. We'llput a subroutine call (JSR) at the addresswhere the trace is to begin. It will call thetrace program, which will be written as asubroutine. The subroutine will first have tosave all the registers, then print my debug-ging info. It can then restore the registersand return. Thanks for the idea, computer."

"Don't thank me yet; it won't work. IfI insert a 3 byte subroutine jump into thetarget program, then I've destroyed threebytes of your code. Then, when I returnfrom the subroutine, I return three bytesfurther into the target program, not where Istarted."

Jack thought a bit and puffed his cigar.

"Jack! That cigar smoke is getting in mycassettes! How can you humans stand allthat stuff? Do computers get cancer of the

CDfTIPfiRE

PROCESSORS

MICRO-

TMS-9900

LSI 11

PROCESSOR

TECHNICO

HEATH

FEATURES

SUPERSYSTEM 16

H-11

SINGLE

YES

NO

CHIP

CPU

WITH HDW.

YES

NO

MULT.-DIV.

INCL'D.

COMMUNI-

YES

NO

CATIONS REG-

ISTER UNIT

IB-

YES

NO

REGISTERS

'FOR COMPLETE COMPARISON CONTACT

DEC, FOR 9900 CONTACT

TEXAS INSTRUMENTS OR TECHNICO

CIRCLE INQUIRY NO.

»

CDtTlFflRE

Era S price 5

IN STORE

TECHNICO

HEATH*

PRICE

SYSTEM16

H-11

MINIMUM

$299

$1,350

KIT

WITH POWER

$442

$1,550

SUPPLY AND

1-0

WITH ASSEM-

BLY

$491

$1,845

LANGUAGE

WITH MEMORY

$968

$2,140

FOR FULL

SOFTWARE

'FOR COMPLETE COMPARISON SEE HEATHAND SEND FOR TECHNICO PRICE LIST

CIRCLE INQUIRY NO

integrated circuit or something?"

"Relax, my automated friend. You'requite safe. I just figured out how to workthe tracing."

"I'm all ears."

"I'm surprised you can stop talking longenough to listen. Anyway, I can overcomeyour objections by careful programming.Before inserting the subroutine jump, you'llsave the three bytes you're replacing. Youcan put them back before you return."

"But, Jack, I still return to the wrongplace!"

"Hold it a minute! I can fix up the returnaddress on your stack to back it up threebytes. Then you'll return to the code you'vereplaced and restored. That'll be a break-point that I can really use."

"Glad to help you. But, Jack, you stillhave to know where to breakpoint. We'rescarcely better off than we were withMIKBUG. True, the program can now con-tinue after your breakpoint. Is that all youwanted?"

"It's enough for right now, but we'llprobably extend it later. Please assemblethis code." Jack placed a cassette in thedrive and pressed PLAY. Jack smiled. "It'sthe only sure way to keep it quiet."

Circle 119 on inquiry card.

BYTE December 1977

135

All a trace is is a movingbreakpoint... You handleit in the usual way exceptthat before you return youput a new breakpointwhere the next instruc-tion will be, and fix up theprevious breakpoint as ifit were never there.

Why anybody would tryto trace a program withinterrupts going off isbeyond me, but we'dbetter be complete.

"Computer, I want to extend Bob'sbreakpoint."

"It was only a matter of time. I supposeyou want a full trace now."

"Right. It isn't that much more. All atrace is is a moving breakpoint."

"If you can't figure out where.you wantyour breakpoint, then you make me push itaround through your stuff. Why is it that Ialways have to bail you out of yourproblems?"

"That's what I built you for, remember?"

"Calm down, Jack. I was only kidding."

"I didn't build your sense of humor,that's for sure! Anyway, here's how you'lltrace a program. Start with a breakpoint.You handle it in the usual way, except thatbefore you return you put a new breakpointwhere the next instruction will be. Effective-ly, this breakpoints every instruction!"

"Some things are easy to state in wordsbut hard to code. How do I figure out wheremy next instruction is? I have instructionsof different lengths in my op code set. Imight jump or branch. . ."

"Computer, remember the 'ThompsonLister' program on page 99 of the October1976 BYTE? It could figure out how long aninstruction was by disassembling your codein memory. Well, I'm going to give you aversion of that algorithm so that you canfind the next op code. It'll also help you for-mat the instruction printout for my ease inreading."

"Fine. . .if you think you're up to it.Besides, I remember that the 'ThompsonLister' couldn't catch invalid instructions.Sometimes you stick data into a subroutinereturn address and force me into the middleof nowhere!"

"I remember that incident well enough.I'll add a table of invalid op codes so thatyou can call me names when you hit one."

"This I like."

"I thought you would. Now, think youcan trace?"

Computer sat with lights quivering. "I'vegot problems, Jack. You've given me a wayto find the next instruction in most cases,but what about jumps or branches? Knowingthe length of the instruction is no help."

"True. I guess we'll need a set of specialcases."

"Oh boy. Here we go."

"It won't be too bad." Jack didn't soundtoo convinced. "Let's start with the jumps.There are subroutine jumps and uncondi-tional jumps. They can be indexed or ex-tended addressing."

"The subroutine stuff doesn't matter,Jack. For my purposes, a jump is a jump.All I need is the location of the end of thejump."

"Fine. So, we'll have two special cases:extended jumps and indexed jumps. Theextended jumps are easy; the second andthird byte of the instruction are the addressyou require to set your new breakpoint."

"Done."

"The indexed jumps need the contentsof the index register from the target pro-gram, but you have saved that! You havethe offset in the second byte of the instruc-tion! Do a simple addition and you have thenew breakpoint address!"

"It's simple if you give me a 16 bit addi-tion program."

"Surely. Now for subroutine returns.You can get the return address from thestack. You've saved the target program stackpointer, so you can get the top of the targetstack for your new breakpoint. That'sspecial case 3."

"But what about all the branches?"

"That will take a bit of work. Let's workon the unconditional branches first; they'resimpler. You do know where the targetprogram is because you've got its programcounter saved. You get the offset from thesecond byte of the instruction. You just addthe offset to the program counter."

"What about signs, Jack?"

"Oh, yes. Forgot about that."

"I noticed that."

"All right, computer. You get a goldstar! If the offset is negative, you mustsubtract it from the program counter. I'llgive you a 16 bit subtract too."

"All that for just unconditional branches!I shudder to think what the conditionalbranches will need."

"Not too much more. We just have todecide whether the branch will be executedor not. If not, then the branch is justanother 2 byte instruction. If it is to be exe-cuted, then it is equivalent, for your pur-poses, to an unconditional branch. You'vealready got code to handle each case."

"Yeah, but how do I know if the branchis to be executed? ESP?"

"Nothing but good, clever programmingis needed here. You have the conditioncodes from the target program saved away.You have the op code, the type of branch.All it takes is a little trick. You'll copy thebranch into a spot in the trace code and setthe condition codes from your save area.Then, if the branch falls through, you knowto treat it as a normal 2 byte instruction.The branch will tell you when to use yourbranch code. Simple, huh?"

"Self-modifying code. . .very poor form,Jack!"

"Can you do it better?"

"No."

"Then stop complaining. It's effective;

136

BYTE December 1977

it works. Don't knock it."

"At least it will have your name on itand not mine. Any more special cases?"

"A few. We've got to take care of theinterrupt instructions RTI and WAI andSWI. Why anybody would try to trace a pro-gram with interrupts going off is beyond me,but we'd better be complete. They won'tbe hard to handle."

"Thank God!"

"Since when did you get religious? Any-how, the RTI is just like the subroutinereturn; just the return address is deeper onthe stack."

"That was relatively painless. I can figureout the SWI code myself. I know the soft-ware interrupt will get a handler addressfrom its vector, which, since I have MIK-BUG, is in ROM. My new breakpoint goesat the address found in the vector."

"Very good, computer. Now, the WAI isa bit of a problem. You can't know whetherthe interrupt that will get you out of waitstate will be an IRQ or an NMI. They havedifferent vectors. We'll just have to pick oneand warn the user of my tracer that theother type of interrupt causes problems."

"The IRQ is used more often, so I guessI'll get my new address from the IRQvector."

"I guess that's a good choice."

"Done with special cases, Jack?"

"I think so. Here, I'll load this programand you try to trace it."

Computer began to trace. Jack smiled asthe printout overflowed down the printer.Suddenly, the printing stopped. Jackpunched RESET.

"I was going good there, wasn't I, Jack?"

"Yeah, but why did you stop?"

"You had this call to MIKBUG in the tar-get program. I traced the next instructionand put my breakpoint out, but then every-thing fell apart."

"Of course, of course! You can't putbreakpoints into ROM! You can try to storeanything you want, the data won't change!When you breakpoint, check that yourbreakpoint is going in. If not, quit beforeyou get lost in thought."

"Now you tell me!"

"Better late than never. Now let's see, wecan't trace through ROM or nonexistentmemory and we can't tolerate nonmaskedinterrupts at all, or IRQs unless we were ina wait for interrupt state. Can you think ofany other places we'd have trouble?"

"Well, if you hit my RESET then I'llhave trouble. I might not have fixed up mybreakpoint yet."

"Right. Tell you what: every time you fixup the code after having traced an instruc-

tion, wait for me to hit a key on the console.This will let me stop tracing cleanly."

"Glad to oblige. Now, your favoritetrick of modifying instructions could causeproblems. If an instruction tries to modifythe instruction I've tried to breakpoint,well, kaboom!!!"

"Very graphic."

"You're buying me some graphicsequipment?"

"No, my eager processor. Perhaps amuzzle. . ."

"Okay. Beware of tracing programswhich use modifying instructions. Youshouldn't write them that way anyhow."

"Computer, try tracing this now."

The stream of printout began again, withJack periodically tapping the carriage re-turn key. "Wait a minute, wait a minute!Computer, you're getting some of thesebranches screwed up."

"I'm just doing what you said to do."

"Well maybe I was wrong."

"Please publish that last comment,Jack! I want that admission in writing!"

"Okay. Now, what's the problem? Whydo some branches trace properly and othersdon't?" Jack poured over the printoutwhile computer hummed contentedly.

"Bob! Come here and look at this!"(Enter Bob, who really was there all thetime, but didn't say much.) Bob scannedthe trace listing.

"You always get forward branches right.That must be a clue. What is it about back-ward branches? You get some of themright." Bob thought some more.

"Oh, sure!" Bob jumped to the consoleagain, papers falling to the floor. "If youbranch backwards less than three bytes,then your new breakpoint overlaps thepresent instruction!"

"Fine, Bob. Now what are we to doabout that? My breakpoint has to be threebytes long."

"Yes, but this problem only happens onbackwards branches. A branch doesn'tchange anything in the target program ex-cept the program counter. In fact, it needn'tbe executed at all. We just change the returnaddress from the trace routine to get back tothe right place in the target program! Wereturn to the breakpoint call, not thebranch! It's easy."

"Fine, Bob. Can I rest now? It's been along time since I had some time to myself.All work and no play makes Jack's com-puter dull."

"Computer!"

"What is it, Jack? I was just reading thatnew language you guys have been working

Of course, you can'texpect to put break-points into read onlymemories...

BYTE December 1977

137

on, STRUBAL. Bob wants me to compile itfor him. It looks like a big project."

"Well, right now I want you to help meextend our debugger."

"You never give up, do you, Jack?"

"With such an able assistant, why shouldI?"

"That's hitting below the belt."

"You don't have a belt, computer."

"I forgot," said computer sheepishly."What now?"

"Your tracing is very helpful, but I'd liketo be able to fix the errors that I findwithout reloading the program and retracingmy steps."

"Would you say 'our steps'?"

"If you insist."

"I do."

"Okay. We don't want to retrace oursteps. We need more of MIKBUG's capa-bilities in the debugger. I want to be ableto change the register contents in the targetprogram."

"After I spend so much effort saving thecontents?"

"Yes. If I find that a register has thewrong thing in it, then I'll want to correctthe register before you go on to the nextinstruction."

nnnouncsnG

0RHI1GE COUHTV'S

most [onuenient& mast Affordable

Computer Store

WE OFFER A COMPLETE LINE OF MICROCOMPUTERS,PERIPHERALS AND ACCESSORIES

IMSAI SEALS PRINTERS

CROMEMCO HAZELTINE BOOKS

BYTE 8 LEAR SEAGLER MAGAZINES

VISIT OUR STORE AND SEE THELATEST IN AFFORDABLE COMPUTERS

BVTE

ShOP

v

WER

4*

674 ELCAMINO REALEL CAMINO PLAZATUSTIN, CA 92680

PHONE f7ft)73l-r6S6

MON THUR 11 - 7IRI 11-9

SA1 10 - b

"Well, that's no big deal. I just changemy stored value for that register. Then,when I return to the target program, theregister will have what you want in it. Howwill you tell me which register to change?"

"I thought a lot about that, and I think Iwill use the console input that now tells youto go on. From now on, if I type a carriagereturn, then go to the next instruction. IfI type a capital A, then I want to changeyour A register. If I type a capital B, then Iwant to change your B register. Similarly,X and S indicate your index and stackregisters. Just after the input you can waitfor me to type in the new value I want inthat register."

"I suppose I keep letting you changeregisters until you get around to a carriagereturn?"

"Right, and, if I type something thatdoesn't correspond to a register, just skip it.Prompt me for another input."

"Yes sir, boss. Let me anticipate yournext request. You want to be able to changememory locations, like MIKBUG does."

"Right again! We'll indicate that with acapital M. I'll enter the address. You give methe present contents and then let me typemy desired value for that location."

"Done. I'm going to add a feature thatmight be useful. I'll automatically convertlower case letters to upper case. Then youwon't have to worry about case shifting onthat fancy console."

"That's a good idea. Thanks."

"Glad to help. At least it will keep theswearing down when you forget to shift."

"Yes."

"Jack, I've got a question."

"What?"

"If you can change registers and memoryat will, can't you get me into situationswhere I can't continue a trace? Especiallyif you muck around with the stack."

"I guess that's true, but let the user be-ware. I don't expect you to protect againstevery stupidity that a programmer maycome up with. All the legitimate cases Ican think of will work correctly. After all,the trace program is only about onekilobyte."

"I'm glad you said that and not me."

"Computer, we understand each other."

"Yeah, Jack. Now can I go back to read-ing STRUBAL?"

"I suppose so."

"Jack, would you put a clean cassette indrive 1 ? I think I may be needing it."

"Sometimes I wonder who works forwhom," muttered Jack as he reached forthe bulk eraser. He dropped the cassette

138

BYTE December 1977

Circle 15 on inquiry card.

into the drive. It began to slowly and in-exorably turn.

"Computer, load the tracer program,please."

"You want to change it again1."

"Don't get steamed up. I just want to runan example to test out the tracer."

"What target program should I load?"

"You don't need one."

"Come on, Jack, be serious. Of courseI need a target program. You don't expectme to trace memory garbage. You don'tmean that, do you, Jack?"

"You've already loaded a program;let's trace that."

"Trace the tracer. Clever! That willreally show that tracing doesn't upset thetarget program. Okay, I'm ready."

"Go."

"What address in the program do youwant to start at?"

"How about 212 hexadecimal?"

"212 it is. Here are your registers: index,condition code, B, A, and stack pointer.The instruction is a CLR B, hexadecimal 5F.What would you like?"

"Continue trace." Computer traced thenext instruction. Jack typed a carriage re-turn and computer traced again. Again Jackhit the return and computer traced. Jackhit yet another carriage return. Computertraced the instruction at 219.

"Why don't you show off some of yourregister change stuff? You're at a compare Awith 8C immediate instruction; why notmake A equal to 8C?"

"Fine. Do it."

"Done. What now?"

"Continue tracing."

"The tracing tracer traces, and havingtraced, moves on."

"Can the poetry and just trace the pro-gram, if you don't mind."

Computer traced the next ten instruc-tions without comment. "Let's show someof the other debug stuff."

"Okay. Change the B register to FF."

"Done."

"Change the index register to 1234."

"Roger."

"Change the condition codes in the tar-get program to D1."

"That's cute, Jack. What does it mean?"

"Just do it."

"All right. How about a memory change?I've got lots of memory that isn't being usedright now."

"Fine. Look at location 500."

"It's got 22 in it now."

"Make that 44, computer."

"Your wish is my command."

"Continue the trace."

"I'm at 10B now. It's a jump toMIKBUG."

Jack hit a carriage return.

"Got to stop here, Jack. I can't traceROM. Try a new address?"

"No, I think that will make a sufficientexample." Jack turned and walked towardthe kitchen. He almost imagined that heheard a sigh from the workshop. He ig-nored it."

And when Tracer was done, Jack's computer sent his printer the followinglisting of tracer tracing tracer, ultimate confirmation of the program's opera-tion. In this listing, the lines which are blank except for single colons illus-trate inputs of carriage returns to cause the program to proceed with tracingthe next instruction. Each line of output contains the hexadecimal contentsof the index. register, processor condition codes, B and A accumulators,stack pointer, current instruction address, and the current instruction'shexadecimal operation code and operands. A fter tracing through to location0245, several memory manipulation and register manipulation commandsare executed, followed by one further line of traced code.

ENTER START-TRACE ADDRESS: 0212

X CC B A SP-ADDRESS INSTRUCTION0212 D0 02 8C A042 0212 5F

0SI2 D4 00 8C AW42 0213 FE 0173

02 16 1)0 00 8C AU42 61216 A6 00

02 16 D8 00 A6 A042 0218 08

0217 D8 00 A6 A042 0219 81 8CA BC

0217 D4 B0 8C A042 021F) 27 1C

0217 D4 00 8C A042 0239 5C

0217 D0 01 8C A042 023A 5C

0217 OS 32 8C A042 023P 5C

0217 DO 03 8C A042 023C F7 0 172

0217 D0 03 8C A042 023F 5A

02 17 D0 02 8C A042 0240 27 09

02 17 D0 02 BC A042 0242 5A

0217 00 01 8C A042 0243 27 03

0217 D0 01 8C A042 0245 BD 010BE FFX 1 2 3 4C Dl

Using Tracer 6800

A low level trace technique is a useful ad-junct to an assembly language oriented pro-gram development situation. The tracer pro-gram described in this short story can bepurchased by 6800 owners in the form of aPaperbytestm program product, number 2.1,soon to be published. Tracer: A 6800 Debug-ging Program includes a reprint of "Jack andthe Machine Debug," tracer program notes,complete assembly and source listing, objectprogram listing, and machine readable Paper-bytestm bar codes for the object program.Watch BYTE for details on price and where topurchase Tracer.

BYTE December 1977

139

Multiprogramming Simplified

Multiprogramming is the ability of thecomputer's operating system to handle andexecute several programs concurrently. Inthis article, I've set out to explain in a simplefashion the concept of how the operatingsystem of a computer handles more than onejob (program) at one time. Only the essentialelements are included in this simple model,which is based on a "typical" large scalecomputer's programming environment. Thesame general concepts are of course appli-cable as well to the much smaller memoryregions of the typical personal computer.

The operating system, through its variouscontrol programs, keeps track of the amountand location of available memory and thespecific memory regions allocated to pro-

Job

Active Ready Waiting

NSI

Queue

Queue Queue Queue

Cells

A - 100 K

B- 1 50 K

C" 50 K

D- 150 K

E - 100 K

Program Counter = xxxxxx

Figure I: When a program is entered into the multiprogramming computer, itis first put onto a job queue. The jobs are typically stored in the order theyare entered, and each queue entry has all the essential information about thejob.

JobQueue

D - 150 KE - 100 K

Active ReadyQueue Queue

ABC

WaitingQueue

NSI

Cells

A 100,000B 200,000C 350,000

Program Counter =

= xxxxxx

Figure 2a: Enough memory is available to fit the first three programs into theready queue so they can await execution. The next sequential instruction(NSI) cell for each of the programs is initialized to the location of the firstinstruction in the corresponding program.

grams currently in memory. As programs(tasks) are read into the computer, certaininformation associated with them isstored by the computer. The name of theprogram and the location where the aboveinformation about the program is storedis placed on a list called the job (task)queue (see figure 1). As memory becomesavailable, programs to be executed areloaded into memory (figures 2a and 2b)according to their size and arrival time(how long they have been waiting). Infor-mation regarding these programs, such asname and location, is placed on the readyqueue. As processing continues, programsare categorized as either active, ready orwaiting. Only one program at a time canbe active.

The operating system maintains a specialmemory location for each program inmemory which contains the next sequentialinstruction (NSI) to be executed for thatprogram. This memory location is calledthe NSI cell. As a program is loaded intomemory, the address of the first instructionto be executed for that program is movedinto this NSI cell. A special NSI register(program counter) is maintained by thehardware containing the address of the nextsequential instruction to be executed for thecurrently active program. When a programbecomes active, the next sequential instruc-tion pointer is moved from its NSI cell tothe program counter of the computer; thiswill of course be dynamically changing forthe currently active program. As instructionsfor the active program are executed thevalue of the program counter is typicallyincremented by the length of the currentinstruction being executed to reflect theaddress of the next instruction addressthat is to be executed. When branchesoccur, the program counter is redefinedcompletely. This process is repeated untilthe program is either completed or inter-rupted by an outside service request from areal time clock or 10 operation. If the activeprogram has been completed, its memoryallocation is freed and becomes available forreallocation. If it was interrupted it will be

140

I1YTE December I 977

Irwin LahaskyBankers Trust Company1 Bankers Trust PlazaNew York NY 10006

placed on the waiting queue and its nextsequential instruction pointer will be definedby the old program counter value at the timeof interrupt. The highest priority program inthe ready queue will be given active status,its NSI cell will be moved to the programcounter, and instruction execution will beresumed at its NSI address.

As 10 requests are serviced, programs willbe moved from the waiting queue to theready queue, and will be returned to activestatus when their turn comes. Example:Program A (100 K bytes), program B (150K bytes), program C (50 K bytes), programD (150 K bytes) and program E (100 Kbytes) are read into the computer and placedon the job queue (figure 1). 350 K bytes ofmemory are available beginning at addresslocation decimal 100,000. Addresses 0 thru99,999 may contain operating system pro-grams. Program A is loaded into locations100,000 to 199,999, its NSI pointer is setto its first instruction to be executed(address 100,000), and it is placed in theready queue. Program B is loaded intolocations 200,000 to 349,999, its NSIpointer is set to its first instruction addressof 200,000, and it is placed second in theready queue. Program C is loaded intolocations 350,000 to 399,999, its NSIpointer is set to 350,000, and it is placedthird in the ready queue. 50 K bytes remainavailable in memory from addresses 400,000to 449,999, but this is insufficient for eitherof the remaining programs (D and E), whichrequire 150 K and 100 K bytes, respectively.Therefore this memory will remain tempo-rarily unused (figures 2a and 2b).

If there is no entry in the active queue,the first program in the ready queue, pro-gram A, is moved to active status, its NSIcell is moved to the program counter(figure 3), and execution will begin at thestatus address. Program B now becomesfirst on the ready queue and program Csecond. As the instruction at location100,000 is fetched and executed, theaddress in the program counter valuechanges as instructions are executed.

Assuming the first instruction is 2 bytes

Address 000,000

Operating System Programs

Address 99,999

* Address 100,000

Program A

Address 199,999

* Address 200,000

Program B

Address 349,999 *

Address 350,000

Program C

Address 399,999

Address 400,000

Unused

Address 449,999

Figure 2b: A representation of where the programs are actually stored inmemory. Addresses 0 thru 99,999 (decimal notation) are used by the oper-ating system of this example.

JobQueue

D - 1 50 KE - 100 K

ActiveQueue

ReadyQueue

WaitingQueue

NSICells

A 100,000B 200,000C 350,000

Program Counter = 100000

Figure 3: Program A is moved into the active queue to be executed. Thenext sequential instruction pointer is moved from the appropriate NSI cell tothe program counter upon activation.

JobQueue

D " 150 KE - 100 K

ActiveQueue

ReadyQueue

B

c

WaitingQueue

NSICells

A 100,000B 200,000C 350,000

Program Counter = 100002

Figure 4: The program counter is here incremented by 2, since the firstinstruction of program A is a 2 byte instruction. This has no effect on therelated NSI cell.

BYTE December 1977 141

long, the next sequential instruction tobe executed becomes 100,002 (figure 4).After the execution of the instruction atlocation 100,000 is completed, the instruc-tion pointed to by the program counter(at location 100,002) is fetched for execu-tion, and the program counter is changedto 100,004. This is done because the second

JobQueue

D- 150 KE- 100 K

ActiveQueue

ReadyQueue

WaitingQueue

NSICells

A 158,272B 200,000C 350,000

Program Counter = 158,272

Figure 5: When program A reaches memory location 758,266, read instruc-tion is encountered that is 6 bytes long. The program counter is incrementedby 6 to 158,272. While the read operation takes place, program A is removedfrom the active queue and put into the waiting queue. The current value ofthe program counter is then stored in the A NSI cell as shown here.

JobQueue

D - 150 KE - 1 00 K

ActiveQueue

B

ReadyQueue

C

WaitingQueue

A

NSICells

A 158,272B 200,000C 350,000

Program

Counter =

200,000

Figure 6: The next program on the ready queue is moved to the active queueafter an interrupt. The appropriate NSI cell is moved to the program counter(re)starting the program on its way.

JobQueue

ActiveQueue

150 K

ReadyQueue

WaitingQueue

NSICells

A 158,272B 248,208

E 350,000

Program Counter = 158,272

Figure 7: At this point program C has finished and has been removed frommemory. There is not enough room for program D but there is for program E,which is loaded into memory and the ready queue. Program E's NSI cell is setto its first instruction's location. Program A 's read operation has finished andprogram A is again in the active queue. The programs will continue to shift inand out of the active status as they are interrupted, until the entire series, andany that are read in later, is completed.

instruction is also two bytes long.

Processing continues in this manner untilan interrupt in processing is encountered,such as a request to read data into the pro-gram from an input device or a request towrite data to an output device. In this case,time is required to get or write the externaldata, and control is transferred to anotherprogram in the following manner. For thepurpose of our example, let us assume thatprogram A issued a read instruction locatedat address 158,266, and that this instructiontype is six bytes long. The program counterwhich had been pointing to address 158,266will be incremented by 6 to 158,272 (figure5). An interrupt is generated by this IOinstruction.

The program counter contains the addresswhere execution is to be resumed for pro-gram A (158,272). The program counteris stored in program A's NSI cell, and pro-gram A is placed last on the waiting queue.The next program in the ready queue ismoved to active status, its NSI cell is movedto the program counter, and processing iscontinued at the address (now different) inthe program counter (figure 6).

As jobs are completed and their memoryallocation is freed, programs waiting on thejob queue are loaded into available locations.Their NSI cells are initialized and they areplaced last on the ready queue.

Programs are loaded into memory ac-cording to their position on the job queue,their memory needs, and availability of core.If program C, which occupies 50 K bytes,finishes first, its memory allocation of 50K bytes plus the 50 K bytes which is unused(total 100 K bytes) is not sufficient for pro-gram D (which needs 150 K bytes) eventhough program D is next in line on the jobqueue. The 100 K bytes of available memoryis sufficient for program E, so it is loadedinto locations 350,000 thru 449,999. ItsNSI cell is then set to 350,000 and it isplaced last on the ready queue (figure 7).

This idea of multiprogramming hasdeveloped over a number of years of conven-tional computing systems, ranging from thesimplicity of two interacting programs onsmall machines to the larger contexts ofmany jobs executing simultaneously on thebiggest machines. It is an example of howcreative programming and design of systemssoftware can make a machine do more thanwhat the hardware designer intended."

142

BYTE December 1977

Comments on Paging Schemes

Just read "Give Your Micro a Megabyte"by R D Grappel in the July BYTE and Ithought it was GREAT! I think I have a wayto avoid the startup "difficulty" referred to:

1. Reset the "page written latch."This will keep the junk page frombeing written into bulk store.

2. Use a latch to disable the page com-parator logic so as to force a "notequal" output. This will cause the pageprocessor to begin the page fetchsequence. The comparator will be en-abled upon completion of the fetchoperation.

3. Use the output of the page com-parator as the source for causing themain processor to wait. This will allow

immediate response to a request for anonresident page. The main thing,however, is that the page processorneed not respond as quickly as before,since the comparator has already asser-ted the wait request to the main pro-cessor.

4. Update the page select register afterthe completion of the page fetch oper-ation. By waiting until the newly re-quested page is in main store, the waitrequest will automatically be disabledat the proper time. Also, each time theupdate occurs, the comparator is en-abled, thus the latch set during startupwill be cleared to its normal run state.

It is clear that by doing things this waythe startup sequence looks just like anyother nonresident page fetch. ■

TechnicalFcnum

James F Gentry4116Schalk Rd 1Millers MD 21107

Senior ComputerSystems Technicians

We're the fastest growing small-computer systems company in the world.Not just in systems sales, but in careers as well.

Several new Senior Systems Tech positions are opening up here inSouthboro this month and in the immediate future. They're key assignmentsthat demand at least 3 years' experience, minimum, and an ASEE degree orits equivalent. Your background should include familiarity with CPU memory,moving head disks and related peripherals.

What each of these jobs offers is the chance to move your career up tonew levels.

Our salary levels, benefit program and training programs are attractiveand more easily discussed in a personal interview.

To arrange for an interview send a letter or resume to John Prendergast,Data General, Route 9, Southboro, MA 01772. Data General is an equalopportunity employer M/F.

IrDataGeneral

Circle 36 on inquiry card.

BYTE December 1977

143

The disk system you want

at a price you didn't expect from a

company that understands systems.

144 BYTE December I977

THE VISTA *50FLOPPY DISCOUNT

We know that one of the biggest problems inpersonal computing is that you're buying withyour own personal dollars.

That's precisely why you're going to likedoing business with us.

We're Vista Computer Company, the personalcomputer systems brainchild of the business com-puter systems people at Randal Data Systems.

And our V80 Floppy Disk System is a perfectexample of how we're prepared to help you get themost out of your personal computing dollars.

$649 buys you thewhole kit and kaboodle

The $649 you spend on a Vista V80 FloppyDisk System ($749 assembled) gets you every-thing you need:

An 80K byte minifloppy drive (assembled andtested) that can be powered directly by your8080 or Z-80 computer. (Case and powersupply optional.)An I/O cable and asingle card, S100 bus-compatible controller kitthat handles up to fourdrives and includes a PROMfor bootstrap loading (addi-tional drives just $399).VOS, the most advancedmicrocomputer disk operatingsystem available, and ourBASIC-E compiler, designedto work with VOS, all on a

single diskette. Software functions includeinstantaneous program loading, named dynamicfiles, program editing, assembling, debugging,batch processing, and file copying on back-updiskettes.

All backed by the Vista 90-day warranty, mem-bership in VUE (Vista Users' Exchange), andDataforce, our associated service company with115 locations throughout the country.

Test drive the V80at your local computer store

Drop by your nearest computer store and runthe V80 through its paces. Once you find out whatit can do for you, you'll see that our combinationof high performance and low price is hard to beatand easy to take.

We love to take orders

If you'd like us to ship you a Vista V80 FloppyDisk System, they're available now. Just send us acheck or money order for the amountof purchase, or your BankAmericard/VISA or Master Charge accountnumber with expiration date andauthorized signature. California resi-dents add 6% sales tax. Uncertifiedchecks require six weeks processing.

To place your order, or to obtainfurther information, call or write today.

Vista Computer Company, 2807Oregon Court, Torrance, CA 90503.(213) 320-3880.

Vi/tci

We never forget it's your pocket.

BYTE December 1977

145

Control your Premises!with INTROL

the IntelligentRemote Control System

Mountain Hardware's new Introl™ system is a sophisticatedremote control system that communicates over the standard110 VAC power lines. The AC Controller"" board is an S-100compatible board that is capable of controlling up to64 remote units anywhere in your building. The AC Remote'"unit has two independently controllable AC sockets thatcan turn two 500 wott appliances on or off. The computer canalso "poll" the remote to check its status (on or off).Programs can easily be written in Basic or assembly languageto monitor and control remote devices. All future remotes(temperature indicator, remote terminal, and status sensor)will be compatible with the AC Controller board. An Apple IIversion is also available.

A functional Introl system requires one AC Controller boardand at least one remote unit. Complete documentationis provided with each component of the Introl system alongwith software subroutines for your own controller programs.

aaaaam Advanced 8KPROROM Memory System

PROAOM is a 7.BK 6PROM + 512 RAM board that is S-100compatible. It has a built in programmer which allows you toprogram the AMI-6834 CPROMs one byte at a time withoutspecial software. The kit is complete with sockets, manual,256 bytes of RAM and one 512 byte PROM, preprogrammedwith on 8080 system monitor.

KIT ASS6MBLCD

AC Controller $149 $ 189

AC Remote $99 $ 149

PROROM $164 $214

68346PROMs $10 ea.

Available now at most computer stores or directly fromMountain Hardware, Inc. Visa and Master Charge accepted.Calif, res. add 6% sales tax. (408) 336-2495.

K Mountain Hardware, Inc.

S Box 1133 Ben Lomond, CA 95005

Beck Reviews

Principles of Interactive Computer Graphicsby William M Newman and Robert FSprouil, McGraw-Hill, New York. $22.50.

It seems to be only a matter of time untilsomeone somewhere develops a high resolu-tion graphics display at a price within thereach of the amateur computer experi-menter. Several companies have alreadyintroduced devices capable of generatingmedium resolution pictures using buscompatible cards and a common TV ormonitor. Once the hardware is available,then comes the software: the programsthat build the picture and move it in twoor even what looks like three dimensions.A highly definitive and readable book byWilliam Newman and Robert Sprouil,Principles of Interactive Computer Graphics,leads the reader step-by-step throughdisplay devices, display files, interactivegraphics, three-dimensional computergraphics and finally graphics systems.The book is designed as a college text,but this does not diminish its generalusefulness. The language is not heavyand the math is for the most part limitedto algebra. Nine appendices cover most ofthe nonalgebraic math and machine orlanguage specific descriptions.

Part 1 describes available display devicesincluding CRTs, storage tubes and plasmapanels. Attention is given here for thenonhardware oriented reader to gain anunderstanding of what actually happensinside the equipment and what the advan-tages and disadvantages of each gadget are.Next follow two chapters on point plottingdisplays and vector generation. These arefollowed by a chapter on display processors,the highly necessary hardware that drivesthe actual picture making unit. Also coveredhere is an instruction set for a display pro-cessor that is used throughout the book.

Part 2 gets into the actual programming.For openers, the authors describe a hypothe-tical instruction set similar to that used onthe IMLAC PDS-1 and the 18 bit DEC com-puters. This instruction set, along with thatof the previous section and the SAIL lang-uage (an extension of ALGOL-60), is used inthe numerous examples to illustrate sampletechniques and methods. The authors thencontinue with a description of the use ofsubroutines and files to simplify and con-dense the instructions required to generatea picture. Finally, once you have built apicture, how do you move it? In the chapter

146

BYTE December 1977

Circle 79 on inquiry card.

on transformations, both rotation about anaxis and shifting along a line are discussed.Then comes the problem of eliminating partof a display that has been transformed offthe screen. For the solutions the authorsdescribe methods such as scissoring, clipping,windowing and viewporting.

Interactive graphics, part 3, is the realheart of the book and probably the mostinteresting section. Here is where graphicinput devices such as the light pen or theStanford Research Institute "mouse" aretied into the total system to provide a devicewhich is efficient and usable. Also coveredhere are interrupt techniques, hardwareversus software, and character recognition.

Three-dimensional graphics is given agood treatment with discussions of wireframe perspective, hidden line, hiddensurface and shading, to name a few. Thissection once again discusses the trans-formation theory and some sample imple-mentations required to move a three-dimen-sional object through space.

The last section, part 5, deals with neededlanguages as well as those now available foruse in developing interactive graphics sys-tems. Included are discussions of commandlanguages, primitive operators, and someconsiderations on system design.

From a hobbyist standpoint, one of thebest parts of the book is its extensive biblio-graphy. Over 300 references are cited witha short preceding section which describessome of the most useful.

While it does not read like a popularnovel, the book is exciting and tends toencourage "leafing through" until some-thing interesting catches the eye for moredetailed reading. The authors have gone toconsiderable effort to expound virtuallyevery method or algorithm talked aboutwith actual program segments and profuseillustrations (After all, what good is a bookabout graphics without lots of pictures?).

For the beginner in graphics who needsto know a little about everything or forthe professional who needs a referencework, this book is a good place to start.The style is easy to read and skim for thenovice, and the depth of the materialpresented is sufficient so that with thebibliography and appendices, even anold-timer can learn a lot.

If you are not afraid of something be-sides BASIC and the ASR-33 then thisbook can make a valuable addition toyour reference shelf.

Steven Fox

875 Foxcroft Lp

Bosque Farms NM 87068"

Introducing a new order of profes-sional printing performance—theIntegral Impact... with featuresnormally found only in big, higher-priced units.

• Microprocessor based controller

• Serial RS-232, current loop andparallel TTL interfaces are standard

• Built-in self-test mode

• Plain paper—8V2" wide—roll orfanfold

• Standard 64 character ASCII setusing 5 x 7 dot matrix

• Multiple copies without adjustments

• Line length to 132 columns

• Instantaneous print rate to 165 cps,throughput to 80 cps

• Attractive table top console withfront panel controls

'Site5

lN\P*cT

Circle 63 on inquiry card.

lYow-Big Printer

Performanceata

Mini-Printer

Price

Only $745complete

^Integral Data Systems

5 Bridge Street • Watertown, MA 02172 . (617)926-1011

BYTE December 1977 147

Circle 69 on inquiry card.

FINALLY.

A State-of-tHe-ArtT«h>I For LearningSoftware Design.

And at an affordable price. TheModu-Learn™ home study coursefrom Logical Services.Now you can learn microcomputerprogramming in ten comprehensiblelessons. At home. In your own time. Atyour own pace.

You learn to solve complex problemsby breaking them down into easilyprogrammed modules. Prepared byprofessional design engineers, theModu-Learn™ course presents sys-tematic software design techniques,structured program design, and prac-tical examples from real 8080Amicro-computer applications. All in amodular sequence of 10 lessons . . .more than 500 pages, bound into onepractical notebook for easy reference.

You get diverse examples, problems,and solutions. With thorough back-ground material on micro-computerarchitecture, hardware/software trade-offs, and useful reference tables. Allfor only $49.95.

For $49.95 you learn design tech-niques that make software work foryou. Modu-Learn™ starts with thebasics. Our problem-solution ap-proach enables you to "graduate" asa programmer.

See Modu-Learn™ at your local com-puter store or order now using thecoupon below.

Please send the Modu-Learn™course forme to examine. Enclosed is $49.95 (plus$2.00 postage and handling) or myMastercharge/Bankamericard authoriza-tion.

Name:,

Address:.City:

.State:.

Card #

Expiration date:.Signature:

711 Stierlin RoadMountain View, CA 94043(415) 965-8365

Programming Cuicfcies

A Number Guessing Game

Keith C Laudenslager139 Bronx DrCheektowaga NY 14227

SERVICES INCORPORATED

This is a game to guess a number between0 and 99 that the 8080 computer is thinkingof. When the program if initialized, a "C"followed by a carriage return and line feedis sent out to your Teletypewriter or videomonitor. To start, type in any 2 digit num-ber using leading zero for numbers belowten. If it is not the number the computer isthinking of, the number will be typed outfollowed with an "H" or "L" The "H" or"L" indicates that you guessed either toohigh or too low. If the number is guessedcorrectly, it will be typed out and followedby the letter "C." To play again, just type inanother 2 digit number. The program islisted in symbolic form along with absolutecode, and was assembled by hand."

1030

IE

A3

START

HVI

E.43H

■ Ei- "C"

1038

CD

86

10

CALL

CHOUT

■OUTPUT CHARACTER

1035

CD

91

10

CALL

CRLF

I0UTPUT CARRIAGE RET AND LINE FEED

1038

04

LOOP

INR

B

I INCREMENT LOOP COUNT

1039

DB

FE

IN

FEH

<INPUT DATA

103B

E6

01

AMI

04H

1 CHECK IF DATA AVAILABLE

103D

CA

38

10

JZ

LOOP

I LOOP UNTIL DATA READY

1040

78

MOV

A>B

J OTHERWISE GET COMPUTER NUMBER

1041

87

DAA

■ADJUST TO DECIMAL NUMBER

1042

47

MOV

B,A

IRES Bl-NUMBER

1043

CD

9C

10

G-UESSIN

CALL

INECHO

1 INPUT DATA AND ECHO

1046

CD

AB

10

CALL

ASCBIN

1 ASCI I TO BINARY CONVERTOR

1049

OF

RRC

;move FIRST

104A

OF

RRC

JDIGIT TO

104B

OF

RRC

■UPPER 4 BITS

104C

or

RRC

)0F BINARY DATA

I04D

4F

MOV

CA

I REG Ct-RESULT

104E

CD

9C

10

CALL

INECHO

1GET SECOND DIGIT

1051

CD

AB

10

CALL

ASCBIN

■ASCII TO BINARY CONVERTOR

1054

81

ADD

C

■PACK BOTH NUMBERS TOGETHER

1055

4F

MOV

CA

■ REG O-BOTH NUMBERS

1056

3E

SO

TEST

MVI

A.50H

■REG At- 50

1058

B8

CMP

B

■IS COMPUTER # ABOVE 507

1059

FA

63

10

JM

ABOVE

■ GO TO ABOVE IF 1 ABOVE 50

105C

B9

CMP

C

■NUMBER GUESSED ABOVE 50?

105D

FA

6F

10

JM

NUMHI

■ IF ABOVE 50 GO TO NUMHI

1060

C3

67

10

JMP

CMPBC

■GO TO CMPBC IF BOTH BELOW 50

1063

B9

ABOVE

CMP

C

■IS NUMBER GUESSED ABOVE 507

1064

F2

74

10

JP

NUMLO

■IF NOT ABOVE 50 GO TO NUMLO

1067

79

CMPBC

MOV

A.C

■ACCt-NUMBER GUESSED

1068

B8

CMP

B

■COMPARE COMPUTER AND GUESSED #

1069

CA

30

10

JZ

START

■IF EQUAL GO TO START

106C

FA

74

10

JM

NUMLO

■GUESSED TOO LOW

106F

IE

48

NUMHI

MVI

E.48H

■ Ei-m"

1071

C3

76

10

JMP

OT

)OUTPUT "H"

10 74

IE

4C

NUMLO

MVI

E.4CH

JEl""L"

1076

CD

86

10

OT

CALL

CHOUT

■OUTPUT CHARACTER

10 79

CD

91

10

CALL

CRLF

■OUTPUT CARRIAGE RET AND LINE FEED

107C

DB

FE

NXTNUM

IN

FE

■INPUT DATA

10 7E

E6

04

ANI

04H

J IS DATA READY

1080

CA

7C

10

JZ

NXTNUM

■LOOP UNTIL DATA READY

1083

C3

43

10

JMP

GUESSIN

■PROCESS NEXT NUMBER

1086

DB

FE

CHOUT

IN

FE

JCHECK IF TRANSMIT

1088

E6

oe

ANI

OS

J BUFFER IS EMPTY

108A.

CA

86

10

JZ

CHOUT

■LOOP IF BUSY

108D

7B

MOV

A.E

■ACCl-DATA

108E

D3

FF

OUT

FF

■OUTPUT CHARACTER

1090

C9

RET

■RETURN

1091

IE

OD

CRLF

MVI

E.ODH

■REG "E"I-CARRIAGE RETURN

1093

CD

86

10

CALL

CHOUT

■OUTPUT CHARACTER

1096

IE

OA

MVI

E.OAH

JREG "E"I-LINE FEED

1098

CD

86

10

CALL

CHOUT

■OUTPUT CHARACTER

109B

C9

RET

1 RETURN

I09C

DB

FE

INECHO

IN

FE

IIS DATA AVAILABLE?

109E

E6

04

ANI

04H

JCHECK STATUS BIT

I0A0

CA

9C

10

JZ

INECHO

■LOOP UNTIL DATA AVAILABLE

10A3

DB

FF

IN

FF

)INPUT DATA

10A5

5F

MOV

E.A

JREG El-DATA

10A6

CD

86

10

CALL

CHOUT

■ECHO DATA

10A9

7B

MOV

A.E

■RESTORE DATA TO ACCUMULATOR

10AA

C9

RET

■ RETURN

10AB

D6

30

ASCBIN

SUI

30H

JSUBTRACT ASCII ZERO

lOflD

FE

OA

CPI

OAH

■IS IT A LETTER OR NUMBER?

10AF

FS

RM

■RETURN IF IT IS A NUMBER

10BO

D6

07

SUI

07H

■SUBTRACT ASCII SEVEN

10BB

C9

RET

■ RETURN

148 BYTE December 1977

BYTEs Bits

TECHNICAL NOTE:

Selectric Interfacing Experiences

I enjoyed Dan Fylstra's well writtenarticle ("Interfacing the IBM SelectricKeyboard Printer," June 1977 BYTE,page 46), as his experience paralleledmy own. Perhaps it is too obvious tomention but one big advantage of theSelectric is that it makes a fine standalone typewriter. This is not impairedby connecting it to a computer and canhelp justify the outlay of several hun-dred dollars. There are many variationson the Selectric theme beyond thecarriage size. Coil voltage may be 24 or48 V, friction feed or a variety oftraction feed (pin feed) platens areavailable, some printers are withoutkeyboards, and Selectric mechanismsare used in other manufacturers' hous-ings and equipment.

The 10 Selectric (versus the type-writer version) is designed for con-tinuous operation and once set upproperly it should be quite reliable.Properly is the catch word since it isa complex mechanism and those whowork on these machines professionallyare used to getting professional prices.Surplus units can run the gamut fromfunctionally perfect and well maintainedto run-to-destruction and cannibalizedhulks. I've been favorably impressedwith the parts situation both in termsof price and availability.

For my Selectric output device,I also chose the open loop control sys-tem since it uses only one output portand less than 250 words of memory(8080 or Z-80). No interrupts or inputports are involved. With careful trim-ming of software timing loops very littlespeed loss should occur. Selectrics aremore notable for quality print thanspeed; other impact printers are muchfaster. Mine runs about 12 to 14 charac-ters a second, including carriage returns,and is nearly at the upper limit of speed.

A Note on Selectric Interfacing:A Magnet Driver Circuit

I also started to do my interface withrelays but hit on a simpler design. Minehas less isolation than Dan Fylstra'sbut this has been no problem. Drivingeither interface thru optoisolators wouldbe good practice since relays andsolenoids are very noisy. My actualcircuit and program aren't given as Iadapted a single relay to replace themissing dual latching shift relays. Thefront end is about the same except Iused all eight bits. This will make iteasier to actuate the check relay eitherwith the tilt and rotate relays or as acontrol relay. The number of control

CABLE aCONNECTORS

SELECTRIC

?S

O 1 TYPICAL

MAGNET

c

o 1 typical

{magnet

C

c^

NORTK STAR OWNERS

The System Executive PackageYou Have Been Waiting For:

ft EDITOR: Line oriented with auto number, incrementing to any value;holding up to 6 files in memory.

ft MONITOR/EXEC: Tape I/O in TARBELL & ESP formats (object orsource); disk I/O for NORTHSTAR, reads HEX paper tape in INTELformat.

ft ASSEMBLER: Processor technology — ESP compatible; assemble theprogram for one address & put object elsewhere.

ft DEBUGGER: Breakpoint - continue from breakpoint & resumeexecution reset & clear breakpoint.

ft DISASSEMBLER: HEX or ASCII clump -labels located by address, notjust assigned — writes assembler format file to memory location.

THE PACKAGE IS COMPI LIE AND HEADY IO LOADUSINO YOUR EXIS I INC, DOS INPU I /OU I PU 1 HOU I INES.

DISKETTE + EXTENSIVE MANUAL ONLY $48.00

1st Class Poslaqe, Insurance, Handling & Cahl. Residents - (>% Sales ! ax Included.

714/894-9131M-F 11:30 9:00

SAT 10-6

BYTE SHDP

14300 BEACH BOULEVARD • WESTMINSTER, CA 92683

Circle 16 on inquiry card.

BYTE December 1977

149

Circle 139 on inquiry card.

TAKE ADVANTAGE OF US...

We offer a full 10% DISCOUNT on many major lines:

IMSAI Processor Technology

Vector Graphic TDL

North Star Solid State Music

- and others -

Many items at even greater discounts:

IMSAI, w/22-slot motherboard, reg. $699.95, OUR PRICE $58995!Vector Graphic Vector 1-plus, reg. $659, OUR PRICE $560°°!North Star Micro Floppy Kit, reg. $699, OUR PRICE $599'™!

No service charge for credit cards. Take a 5% cash discount on yourwhole order if you don't use a credit card.

Absolute lowest prices on 16K or 32K Dynamic RAM Boards.

4K, 8K, and 16K Static Boards and 2-80 CPU Boards are being deliv-ered at rock-bottom prices. Call for quotation. Call or write for ourfree 64-page catalog.

If it's made for the S-100 bus, chances are we stock itf

7 White Place, Clark, NJ 07066 (201) 382-1318

MUSIC.

Demo Record(stereo LP)$2

includes 4th classpostage in USA. For1st class, add $2.

Synthesis Board:Waveform: dual RAM,

sync switch-over,

64 elements each

with 256 levels.

Programmable filter

smooths "steps".Envelope: rise: 256

levels,4ms to 1.3s.

fall: 256 levels, 3ms

to 7.8s. sustain:

256 levels.Volume:256 levels.Pitch:96, piano range

&8higher* Price: $220 (kit).* If 2MHz clock is unavailable (on pin 49 for S-100

COMPUTER-CONTROLLED MUSIC

Our Synthesis Boards (specs and price given above left) are professional synthesizersfor serious musical applications such as studio recording, live performances, andeducational use. An S-100 controller (parallel version available soon) runs 1 to 8synthesis boards; the price is $88 to $180 depending on cables required. Write forinformation on these products, and a complete description of our synthesis methodsand how they compare with others'. Dea|er inquiries invited

ALF PRODUCTS INC. 8080 software available at cost.

JL^L?r-9,UUi T^^T-,^ Both products featured on LP.

DENVER, CO 80228 r

Produce musicwith your microfor $159 or less.

Quad chromatic pitchgenerators are S-100boards (parallel ver-sion available)whichproduce 1 to4 tonesat once, each toneany of 96 pitches*Square wave output

§ plugs into your amp.

#8IPI'W 1,2,and3 tone units" *$fSfc* ($111,$127,&$143kit)I i00«ffli««j are expandable to 4tone unit ($159 kit,$185 assembled). Allunits expandable toinclude synthesizerfeatures,units), ask about our crystal option,$16.

SYNTHESIZER SYSTEMS.

functions can be expanded with a BCDto decimal converter (7442 etc) betweenthe 7400s and the transistors. For 48 Vcoils use 2N2907A (James, 5/$1) tran-sistors and the suppression diodesshould be on the relays. In this circuitthe relay common line must not begrounded. Switching the motor on andoff generates a big noise spike, worseon the inductive start motors than onthe capacitor start ones. A zero crossingsolid state relay would probably be thebest solution and could allow TTL levelon and off control.

What can you do with a printer?With a 64 or more character width moni-tor, floppy disk or computer controlledcassettes and a good text editor, you caneasily store, retrieve, edit and print outletters, manuscripts, resumes, etc. Iwrote this note on a Digital Group Z-80system, stored it on a Phi-Deck, edited iton a DGSS text editor (awkward butwell priced) and printed out the finalversion in 5 minutes. On a lesser scale,hardcopy of disassembled machine lang-uage programs or BASIC program listingsmake it much easier to see the wholeprogram and structure or debug it. Prin-ters are generally a poor substitute for avideo monitor when running games. Thatapproach can put you up to your arm-pits in paper. Paper that has been usedon one side is often available free fromcommercial computer users and is fine(as is, or sheared) for listings, worksheets etc. This saves money and trees.

Don Southwick7611 Aberdeen WayBoulder CO 80301 ■

IEEE

A call for papers has been issued forthe Pattern Recognition and ImageProcessing Conference scheduled forChicago IL on June 5 thru 7 1978.Sponsored by the Machine Intelligenceand Pattern Analysis Technical Com-mittee of the IEEE Computer Society,the program will consist of invitedpapers, panel discussions and contri-buted papers. Papers are invited on allaspects of pattern recognition and imageprocessing, including statistical and syn-tactic pattern recognition, clustering,shape and texture recognition, scenesegmentation and analysis, image fil-tering, enhancing and reconstruction,and medical, industrial and remotesensing applications.

There are two categories of contri-buted papers, and authors should statetheir preference when sending inmaterial. Long papers (about 5000words and suitable for a 25 minute oralpresentation) are due December 1 1977.Short papers (about 500 words andsuitable for a 15 minute oral presen-tation) are due February 1 1978. Cameraready copy in both categories is dueApril 1 1978.

Send image processing papers (in

150

BYTE December 1977

Circle 1 on inquiry card.

triplicate) to Prof K Preston Jr, Depart-ment of Electrical Engineering,Carnegie-Mellon University, 5000 ForbesAv, Pittsburgh PA 15213, (412)621-2600. All other papers should besent (in triplicate) to Prof R L Kashyap,School of Electrical Engineering, PurdueUniversity, West Lafayette IN 47907,(317) 493-9137."

Ambiguous BOMBacity

The following two comments werereceived, referencing the same article inthe BOMB evaluations for May 1977.The author's name has been para-meterized to "X" for purposes of anony-mity. "Y" stands for the article name.

Comment 1:

<Y> is awful. <X> is an idiot.(Rating: 0)

Comment 2:

<X> is a great writer! He is clear,concise and yet detailed. (Rating:10)

All one can conclude is that subjectiveevaluations of the same item sometimesdiffer markedly."

A Small Hole in the APL

There is one section of MikeWimble's article, "An APL Interpreterfor Microcomputers, Part 3" (October1977 BYTE, page 64), that should beclarified. Figures 32 and 33 are actually

c

UBR

0

I

|«iW

SVAL

(SV1

C-5?

'" f

Siggraph 1978 Call for Papers

The 5th Annual Conference onComputer Graphics and InteractiveTechniques will be held August 23 to25 1978 in Atlanta GA, sponsored byACM/Siggraph. The deadline for a 300to 500 word abstract is December 151977. The first draft manuscript (in-cluding figures) is due |anuary 16 1978.Send those to Prof R L Phillips, pro-gram chairman. 213 Aerospace Engi-neering Building, North Campus, Univer-sity of Michigan, Ann Arbor Ml 48109."

A Little Contest

A firm called Etronix has announcedan applications contest featuring the useof Fairchild Technology Kits. Thecontest is open to anyone. It featuresa Fairchild Video Entertainment System($169.95) as first prize; second prize isa Fairchild LED or LCD digital watch(approximately $80); third, fourth, andfifth prizes are Timeband digital LEDwatches (approximately $30). Send toEtronix, Box 321, Issaquah WA 98027,for your entry blank and rules. Contestcloses December 30 1977."

BYTEs Begs

continuations of the case structurelabeled CODE and established in figure31 (see page 66). A note should havebeen placed below the exponentiationbranch at the bottom of figure 31 tomake this clear."

MIXTE J FIGURI

YES

m

fjf;i*-D u

Z— Z* 1

;:;

IAKE COPT OF DESCRIPTOR

■^ Z* (OA*I*BI

Where to get it.

Equipment, parts, sup-plies and services. Hard tofind and standard items atbargain prices.

Over 600 places to findtransceivers, antennas,surplus, new and usedequipment, ixPs/com-puters, ICs, components,assortments, assemblies,discounted items, testequipment, peripherals,etc. Hundreds of large andsmall mail order sources.

A complete directorydivided by sources, itemsand locations. Saves count-less hours of shopping.Easily pays for itself throughcomparative buying.Contains no advertising.

Rush my order. I enclose $5.95 plus 550postage and handling. Californians add390 sales tax. Full refund if notcompletely satisfied within 10 days.

Name

Address.

City/State/Zip I -g

Primary interest: Amateur Radio DCBD I <

Experimenting □ ^Ps/Computers □ | S

Send to: Peninsula Marketing | P-

Dept. D ■

12625 Lido Way

Saratoga, CA 95070

BYTE December 1977

151

Conducted byDavid Wozmak

Slobs andNewsletters

Eastern Iowa Computer Club

The Eastern Iowa Computer Club is agroup of computer enthusiasts and otherinterested people. If you'd like to join,contact Samuel Dillon, 1125 WashingtonDr, Marion IA 52302.

Illiana Teleprinter Society

The Illiana Teleprinter Society is a newChicago based group of microcomputerexperimenters. Meetings will be held on thesecond Thursday of each month at 8 PM inthe lower lobby of the Clyde Savings andLoan Building, 722 W Cermak Rd, NorthRiverside IL The programs will includespeakers from Digital Equipment Corpor-ation, IBM, and Heath Company, as wellas an informal program of discussions andsoftware swaps between members. Allmeetings are open to the public. Thosecurious about microcomputers and theiruses are invited to attend. For more infor-mation contact John March, president,POB 874, Oak Park IL 60303.

Apple I Library

The Apple I software and hardwarelibrary is being started in Indiana tosupport the Apple I computer. Interested

readers can obtain material at cost. Writeto Joe Torxewski, 51625 Chestnut Rd,Granger IN 46530.

Jim's Industry Notes

This newsletter is aimed primarily atretailers and manufacturers. The newsletterprovides fast turnaround news on industrydata, and a communication medium forexchange of ideas, problems, solutions,etc. The newsletter contains no advertising.

Jim's Industry Notes is sent first class.Contact Jim Warren, POB 3010, Palo AltoCA 94305.

St Louis Amateur Computer Club

SLACC's newsletter, the SLACC Stack,contains club information and an appli-cations forum. Meetings are held at 7 PMon the first Tuesday of every month atthe Thornhill branch of the St Louis CountyLibrary. Contact Frank Curtis, c/o SLACCStack, 24 Midpark, St Louis MO 63124.

CHIPS

A microcomputer club has been formedin the central New York State area. Theclub, known as CHI PS (Computer Hobbyistsin Processing — Syracuse), has been holdingregular monthly meetings and hardwareand software demonstrations for almosta year. Membership is open to all who areinterested in the microcomputer field. Forfurther information, contact CHIPS, c/oJ A Green, General Electric Company,Court St Plant #3, Room 16, POB 4840,Syracuse NY 13221.

INTERNATIONAL DATA SYSTEMS, INC.

400 North Washington Street. Suite 200Falls Church, Virginia 22046 USATelephone (703) 536-7373

S100 Bus Cards (ALTAIR/IMSAI Compatible)

88-SPM Clock Module

USES

88-UFC Frequency Counter Module

88-MODEM Originate/Answer MODEM

GENERAL PURPOSE PERIPHERALS

MCTK

TSM

DAC8

Morse Code Trainer/KeyerTemperature Sensing Module

Your computer keeps time of day regardless of what program it is executing.Applications include event logging, data entry, ham radio, etc. Provision forbattery backup is included

Measure frequencies up to 600 MHz or period with 1/10 microsecond resolu-tion. Computer can monitor four separate inputs under software control.

Use your computer to call other computer systems such as large timesharingsystems Also allows other computer terminals to "dial-up" your computer.Auto-dialer is included so your computer can call other computers under soft-ware control. Operates at 110, 134.5, 150, 300, and 600 band.

Hard/Software package which allows your computer to teach Morse Code, key yourtransmitter, and send prestored messages. Uses "NEW CODE METHOD" for training.

Use it lo measure inside and/or outside temperature for computerized climatecontrol systems, etc.

Requires one eight bit TTL level latched parallel output port. Use it to producecomputer music or to drive voltage controlled devices.

KIT PRICE

$96.00

$179.00

$245.00

$29.00

$24 00

Eight Bit Digital toAnalog ConverterTerms: Payment with order. Shipment prepaid. Delivery is stock to 30 days. Write or call for detailed product brochures

$19.00

152

BYTE December I 977

Circle 65 on inquiry card.

Southern Nevada Personal ComputingSociety

The SNPCS meets on alternate Saturdaysfrom noon to approximately 3 PM. Itsmembership is open to Clark Countyresidents and students of Clark Countyeducational institutions. Dues for acorporate member are $12 per year; familymembership is $18 per year; correspondencemembership is $6 per year; and studentmembership is $3 per year. Subscriptionto the newsletter Hard Copy is includedin the membership. Meetings are heldat Clark County Community College,Cheyenne Campus, room 3106. For moreinformation contact Edna Wells (secretary/treasurer) at 1405 Lucilee St, Las VegasNV 89101, (702)642-0212.

Unofficial Heath Users' Group

A Heathkit computer users' group (as ofthis writing still unnamed) in New HavenCT produces a newsletter, BUSS, con-taining information about the Heathkitcomputers. You can get more informationabout the newsletter by writing to BUSS,c/o Charles Floto, 267 Willow St,New Haven CT 06511.

Microcomputer Tinkers and Bug Busters

This new club needs members and peoplewilling to produce a newsletter. ContactMicrocomputer Tinders and Bug BustersSociety, 3845 Le Bleu St, Beaumont TX77707.

Portland Computer Society

The Oregon based Portland ComputerSociety was formed in the summer of 1976by Mike Enkelis and Mike Boyd when theydiscovered that the Altair computer hadbecome a reality. To get in touch with thePCS, write to the Portland ComputerSociety, 3763 SE Division St, Portland OR97202.

SEMCO

The Southeastern Michigan ComputerOrganization will be hosting the MACCComputerfest '78 in the Detroit PlazaHotel on June 23 thru 25 1978. For clubor Computerfest information contactSEMCO, POB 9578, North End Station,Detroit Ml 48201.

A TRS-80 Users' Group

This group is dedicated to the exchangeof programs and technical data for the newZ-80 based system by Radio Shack. Inter-ested parties may send a self-addressedstamped envelope to R Gordon Lloyd,7554 Southgate Rd, Fayetteville NC 28304.

Junior Computer Hackers of America

All students interested in forming anationwide organization and publishinga newsletter of, by, and for computeroriented students should contact BrianMoran, 7335 N Manning Dr, Peoria IL61614."

ALPHA Z-80 $ ^95

ASSEMBLED

• 12 SLOT MOTHER BOARD

• 12 CONNECTORS (S-100 BUS)

• 17 AMP POWER SUPPLY

• HEAVY DUTY CABINET WITH FAN

• Z-80 CPU BOARD: All Sockets Included, Gold Con-tact Fingers, High Quality Glass Epoxy PC Board,Double-Sided, Plated Through Holes, Requires Only+ 8 VDC / 800 MA.

NOTE: 22 SLOTS/30 AMP POWER SUPPLY - $595.

ADS also sells IMSAI and NORTH STAR Assembled at Kit Prices + LEARSIEGLER ADM 3A Assembled at $888.00. TERMS: Cash with Order.Prices include Freight. (N.C Residents add 4% Sales Tax.)

ADS

ALPHA DIGITAL SYSTEMS

Data Acquisition, Computation and Control

ROUTE 4 BOX 171ABOONE, NORTH CAROLINA 28607

Circle 2 on inquiry card.

BYTE December 1977

153

Where to Get Bargainsin Used Computer Equipment

Sol Libes, PresidentAmateur Computer Group of NJ1776 Raritan RdScotch Plains NJ 07076

Once they have their computers up andrunning, computer experimenters starthunting around for peripherals. They lookfor things like Teletypes (usually ASR-33s),video terminals, printers, paper tape readersand punches, etc. The big problem here iscost. In fact, those electronic and electro-mechanical IO gadgets can often cost severaltimes the price of the processor itself. Newvideo terminals can cost you $1500 and up.Printers can cost as much as $2000. Whatcan a hobbyist do to save money? One way

Used Computer Equipment Vendors

American Used Computer CorporationPOB 68 Kenmore StaBoston MA 02215(617) 261- 1100

Atlantic Surplus Sales3730 Nautilus AvBrooklyn NY 11224(212)372-0349

Computer Warehouse Store584 Commonwealth AvBoston MA(617) 261-2701

Data Access Systems100 Route 46Mountain Lakes NJ 07046(201) 335-3322

Data-Lease

700 N Valley St #A

Anaheim CA 92801

Data Processing Design Inc6980 Aragon Cir, Suite BBuena Park CA 90620(714) 994-4971.

Federal Communications Corporation

Suite 107

11105 Shady Trl

Dallas TX 75229

(214) 620-0644

Herback & Rademan Inc401 E Erie AvPhiladelphia PA 19134

(215) 426-1700

Equipment

Used minicomputers, printersvideo terminals, modems.Teletypes, etc. Also new equipmentfor personal computing via theComputer Warehouse Store.

Teletypes, parts, supplies andmiscellaneous.

(See American Used ComputerCorporation)

Used Teletypes, DECwriters, videoterminals, modems, parts.

Minicomputers, video terminals,Teletypes, etc.

PDP-11s, printers, terminals,etc.

Used Teletypes, data phonesand TWX units

Used computer gear and parts.

is to buy used equipment. The question is,where do you find it?

The big market in used computer equip-ment is due to many factors, one being thatthe state of the art is changing rapidly andcompanies frequently obsolete workingequipment to keep up. Thus, there is agreat deal of equipment available that maynot be up to the latest speed or have thelatest features, but is fully operational. Forexample, you can buy a used video terminal(ASR-33 compatible) for less than $500,or a video terminal that requires some re-wiring for under $200. Hard copy terminalsrange from $300 (for an untested unit) to$1000 for guaranteed units with extrafeatures.

There are even minicomputers availableat bargain prices. Digital Equipment Corpor-ation PDP-8s with 4 K words of corememory and serial interface start at $750and go up to $3000 for newer models.

New dealers in used equipment areappearing all the time. The list that accom-panies this report is not complete by anymeans, but it does include the larger dealersin the country. Most used equipment dealerspublish catalogs and maintain mailinglists. A simple postcard will usually get youtheir latest equipment listing and put youon their mailing list. Most of these com-panies are eager to deal with computerexperimenters.

Many dealers refurbish the used equip-ment they sell and restore it to manu-facturer's specifications to the point whereit is often indistinguishable from newequipment. For example, several dealersrefurbish Teletypes to "as new" condition.This means a complete cleaning, replace-ment of defective or worn components,replacement of items such as plastic covers,repainting exposed metal enclosures, runningthe machine for at least 5 hours to insureits performance, and guaranteeing it for90 days. A new Model ASR-33 Teletype

154

BYTE December 1977

costs approximately $1200, while an "asnew" reconditioned unit typically sells for$700 and an "as is" nonreconditionedmachine goes for as little as $500.

Particularly good buys can be obtainedon equipment no longer being manu-factured or from a manufacturer who isno longer in business. Prices are oftenconsiderably less than those for equipmentstill being manufactured.

The largest and oldest used computerequipment dealer is American Used Com-puter Corporation, which was started in1968. Second largest is Newman ComputerExchange, which was founded in 1972.

In addition to equipment dealers, usedequipment is often advertised in publicationssuch as On-Line, Electronics News, Com-puterworld and Computer Hotline. Theseshould be consulted regularly for current"buys" and new companies in the market.

Another excellent source of used com-puter equipment is amateur radio fleamarkets. Ham radio operators are big usersof Teletypes and other printers, tape readersand punches, etc. These flea markets areheld locally and regionally. The largest isheld in April in Dayton OH, and drawsover 10,000 attendees. There are acres offlea marketers. To find out when andwhere the ham flea markets are being held,consult the ham magazines such as QST, CQand Ham Radio.

Good hunting!"

Used Computer Equipment Vendors

JM Associates80 Emerald AvWestmont I\JJ 08108

ICC Computer Corporation1115 Security DrDallas TX 75247(214) 630-1401

Minicomputer Exchange154 San LazaroSunnyvale CA 94086(408) 7334400

National Teletypewriter Corporation207 Newtown RdPlainview NY 11803(516) 293-0444

Newman Computer Exchange3960 Varsity DrAnn Arbor Ml 48104(313) 994-3200

PMR Canada Ltd

94 Hyde Av

Toronto, Ontario CANADA

(416) 653-4842

RCA Service CompanyBldg 204-2Camden NJ 08101(609) 779-4129

Rondure Company1224 Security DrDallas TX 75247(214) 630-4621

Van't Slot Enterprises550 Springfield AvBerkeley Heights NJ 07922(201)464-5310

Equipment

Used computer peripherals,etc.

Used Teletypes and TWX units.

Miniperipherals.

Used Teletypes, parts and supplies.

Used minicomputers, peripherals,Teletypes, etc.

Used processors, memories, con-trollers, etc.

Used Teletypes

Miniperipherals, modems,parts, etc.

Used Teletypes, parts and supplies.

PERCOM DATA COMPANY, INC.

4021 WJNDSOR • GARLAND. TEXAS 75042

(214) 276-1968

MULTIPLE DATA RATE INTERFACING FOR YOUR CASSETTE AND RS-232 TERMINAL

the CI-812

The Only S-100 InterfaceYou May Ever Need

On one card, you get dependable "KC-standard "/biphase encoded cassette inter-facing at 30, 60, 120, or 240 bytes persecond, and full-duplex RS-232 data ex-change at 300- to 9600-baud. Kit, includ-ing instruction manual, only $89.95*.

* Assembled and tested,$119.95. Add 5% forshipping. Texas resi-dents add 5% sales tax.BAC/MC available.

PerCom 'peripherals for personal computing'

Circle 90 on inquiry card.

BYTE December 1977

155

A Look at LISP

Gary McGath7 Silver Dr, #3Nashua NH 03060

Today BASIC is the universal language ofthe microcomputer hobby. It is easy to learn,can run in a small amount of memory, andprovides a common ground for people withdifferent processors. But many microcom-puters are no longer so "micro," and theyneed a more powerful language to use theirfull capabilities.

What properties should this languagehave? It should work well interactively,since most hobbyists use their machinesthat way. It should be simple in form, sothat implementing and understanding it areeasy. It should be good at handling non-numeric data, since most computer hobby-ists aren't interested in "computing" in theliteral sense (ie: numerical calculations) asmuch as in graphics, information manage-ment and other such applications. It shouldrun efficiently. And it should make pro-gramming easy.

A prime candidate, on all but one ofthese counts, is LISP. LISP was developed atMIT in the early 1960s; it has never attainedwidespread use, perhaps because of its un-usual syntax, or else because it tends to runslowly. It is oriented not toward productionwork, but toward program development andexperimentation.

Evaluating LISP in terms of the criteriamentioned above: It is very strong on inter-action. Its syntax, though unusual, is verysimple. It includes names and a versatilestructured type in its data handling facilities.It is powerful enough to make most program-ming jobs simple. Unfortunately, though, itloses to many other languages in efficiency,at least when it is run by an interpreter (as isthe normal case). But unless speed is socrucial for a given problem that it outweighsthe convenience, LISP is an excellent choice.

The purpose of this article is not to be aprimer on LISP, but to give you reasons tolook for such a primer (for instance, Weiss-man's Lisp 1.5 Primer, published by Dicken-son). There are, as far as I know, no micro-computer based interpreters for the language

yet; but this could change, if suppliers see apotential market.

Much of the power of LISP comes fromthe fact that in it, programs are data. Thismeans that one program can build up orlook at another program, or even operate onitself. This is a tremendous help for debug-ging programs, since it lets them be examinedor modified on the fly. For instance, a LISProutine might call a special error handlingroutine if it detected an unwarranted stateof affairs; this routine could let the userexamine and change variables, since variablesin LISP are also data, or even change part ofthe program to get it back on the right track.

The structure which is used for programsand data is the list. A list is a sequence ofany length, written as its elements enclosedin parentheses. For instance, (I 2 3 4) is alist of four numbers. Lists can contain lists;((1 2 3 4)) is a list with one element, whichis a list of four numbers. Note that in LISP,parentheses always change the content ofexpressions; they are never optional, as insome languages.

Programs can create lists as they run,thus giving themselves the storage theyneed. This is another speciality of LISP,called dynamic storage a/location. Mostprograms have to set out their storage re-quirements before they are run; a BASICprogram, for instance, can't decide halfwaythrough its execution that it needs anotherarray. But LISP picks up its storage as itneeds it. To give just one example of whatthis can mean: You can run a LISP pro-gram on a small amount of data with yourcurrent memory supply, then expand itwhen you get more memory to handle moredata with no changes to the LISP program.

LISP programs are unusual, but con-sistent, in that they use one tool everywhere.This tool is functional application. BASICprogrammers are familiar with simple func-tions like SIN; in the expression SIN (X),SIN is the function, which is applied to theargument X. In LISP, this expression would

156

BYTE December 1977

be written as the list (SIN X). The rule isthat the first thing in the list is the function,and the rest of the list is its arguments.A LISP program is a list of this form, whichgets evaluated by applying the function tothe arguments. The value of the list is theresult of this application. This value mayitself be used as an argument to anotherfunction; thus, programs can be built upfrom lists within lists to any level.

Some functions do other things besidesreturning a value. The function SETQ, forinstance, performs the role of the assign-ment statement in other languages.(SETQ X 5) is like BASIC'S LET X = 5.COND tests a condition and performs oromits evaluations depending on the truth orfalsehood of that condition. This gives acapability like BASIC'S IF statement, exceptthat COND is much more general. The fol-lowing is a simple example of how CONDcan be used:

(COND((GREATERP X Y) (SETQREL 1))((LESSPX Y) (SETQREL-1))(T(SETQRELO)))

This is what happens when the CONDexpression is evaluated: The functionGREATERP is applied to X and Y. If X isgreater than Y, the value returned will be T,otherwise it will be NIL. If T (or for thatmatter, any value but NIL) is returned, then(SETQ REL 1) will be evaluated, and theCOND will be done. If, however, X is lessthan Y, then COND will try again on thefirst element of its next argument; that is,(LESSP X Y). If X is less than Y, this willevaluate to T, REL will be set to —1, andthe COND will be done. If, however, thisalso falls through, then X must equal Y. T isthen evaluated; since T is a special constantwhich always evaluates to itself, COND willfinally be satisfied, and REL will be set to 0.

When a variable is used in a list, it is apiece of data like any other, of a type calledatom. Atoms can be passed around by them-selves (as opposed to passing around theirvalues) by using the function QUOTE.(SETQ X Y) sets X's value to be the same asY's value; but (SETQ X (QUOTE Y)) setsX's value to be the atom Y itself. This letsyou keep verbal information around forlater printing. QUOTE is also useful withlists, since it lets you create a list of datawhich isn't intended for evaluation.

The complement of QUOTE is EVAL.This takes an argument, already evaluatedonce by the application mechanism, andevaluates it again. The use of QUOTE andEVAL provides one way of writing a pro-gram for later repeated use; at some pointyou write:

A sample LISP program for building a maze(which may be used in Wumpus type games). Theuser defines the maze by typing in lists of twoatoms, which give two rooms that are adjacent toeach other. The rooms may have as names anyatoms not otherwise used. Input is terminated byentering NIL. The function returns a list of atomswhich are the names of all the rooms; this value isalso available as the value of the atom MAZELIST.Each of the room atoms has as its value a list ofall the rooms to which it is adjacent.

The only function used here which was notmentioned in the main text of this article is MEMQ.This function tests whether its first argument is amember of its second argument, in the sense oflist membership.

(SETQ MAZEBUILD(QUOTE (LAMBDA 0

(SETQ MAZELIST NIL) .'initialize the value(PROG (TEMP) ;TEMP is a local variableA ;A is a label

(COND ((SETQ TEMP (READ));geta pair(SETQR1 (CAR TEMP))(SETQ R2 (CAR (CDR TEMP)),1he names of the two rooms(COND ((MEMQ R1 MAZELIST);is this room known already?(SETQ (EVALR1)

(CONS R2 (EVALR1))))((SETQ (EVALR1)(CONS R2 NIL));if not, start it up(SETQ MAZELIST(CONS R1 MAZELIST))))(COND ((MEMQ R2 MAZELIST);do the same for R2(SETQ (EVAL R2)

(CONS R1 (EVALR2))))((SETQ (EVALR2)(CONS R1 NIL))(SETQ MAZELIST(CONS R2 MAZELIST))))(GO A) ;repeat if wasn't nil)))MAZELIST))) ;return the value

(SETQ X (QUOTE list-to-be-evaluated-later))

Elsewhere you have:

(EVALX)

When this is encountered, X is evaluatedonce by the LISP interpreter, giving list-to-be-evaluatecl-later; then EVAL evaluates itagain, generating its value and all side effects.

A list can be modified (I'll discuss themethods when I get to the structure of lists),so program editing is possible. But simplyevaluating fixed lists, even with editing, isn'ta very flexible method of programming. Itwould be more useful to have a programthat can operate on alternative sets of data;that is, to run it with one set of data, thenrun it again on different data. This can bedone, of course, by SETQing variables onwhich the program will operate. But this

BYTE December 1977

157

Circle 140 on inquiry card.

AT LAST!

s

co

CMX

g

CD

Your idle system can now come alive.The software scarcity is over.

Do you need business programs?

ACp°^Paym

<e? Ge

Accounts Receivable?

ner

alL-6'

dger

W^e

d'»c

a^'1

Payroll??

fv/tn,

VL

'sts?

CD

CD

O

C/3

BASIC interpreters... or just a monitor???

We can supply them — and we can supply"them in 8-level paper tape, a variety of audiocassette formats and on some floppy diskformats.

Write for our software catalog —

P. S. We buy programs either outright or on a royalty basis.

MORE 6800 POWER

from MICROWARE

A/BASIC COMPILER

• Generates Pure M6800 Code — No Run-TimePackage Required

• Compiled Programs Run Much Faster Than Interpreters

• Low Overhead—Will Run in 8K System Without Disk

• Programmer has Complete Control of Memory Allocation

• Many Powerful Extensions to Basic Syntax

DA1 • MOTOROLA "D2 KIT" EXPANSION KIT

• Converts D2 to Terminal-Based I/O

• Includes Popular RT/68 ROM

• Retains Full Cassette I/O Capability

• Allows use of most popular 6800 software; editors,assemblers, BASIC, etc.

• Comprehensive documentation—over 80 pages

A/BASIC w/manual $49.95

A/BASIC W/RT/68MX $99.95

RT/68MX w/manual $55.00

DA1 w/manuals $69.95

Motorola MMS68104 16K RAM for D2 (Assm) $395.00

Call or write today for our free catalogot M6800 software and hardware products. 1 Phone orders (515) 279-9856 g

U.S. Orders Postpaid. iim^^u

THE MICROWVRE CORPORATION

RO. BOX 954 Des Moines,Iowa 50304

means that each program must operate ondifferent variables, or else bookkeepingproblems start coming up. A more convenientmethod, which LISP provides, is to define afunction which takes its data as arguments.

A user defined function is a list which hasthe atom LAMBDA as its first element.(This has its roots in a mathematical nota-tion called the lambda-calculus.) The secondelement of this list is a list of atoms. Theseatoms are the parameters of the function,that is, the things that catch the argumentsto the function. After the list of parameters,any number of expressions can follow.

The use of functions with parameters isfamiliar to FORTRAN programmers, andmany versions of BASIC provide it in asimple form. What happens when a userdefined function is called is this: First, theold values of the atoms_on the parameterlist are saved on a stack. Then the param-eters are given the values of the cor-responding arguments. (There must be oneparameter for each argument.) Next, theremaining expressions of the function areevaluated in order. The value of the lastexpression is the value of the function. Afterthis value is found, the old values of theatoms on the parameter list are restoredfrom the stack. Thus, as far as the outsideworld is concerned, these atoms were nevertouched.

There are various methods for setting upfunction definitions in various implementa-tions, and the method in Weissman's book isdistinctly confusing. A straightforwardmethod is to let the function be the value ofan atom. Then to define a function, youwould just have to enter

(SETQ FUN (QUOTE (LAMBDA(...)...)))

At any later time you could simply use(FUN args) to apply the function.

There is, incidentally, no objection tousing a function from inside itself. Thismethod is called recursion, and it is oftenuseful to break up a complicated case intosimple ones. The idea is this: Your functionexamines its argument. If the argument is asimple one, it just returns the value. Other-wise, it finds a simpler case which has aknown relation to the case at hand, andcalls itself with an argument for the simplercase. For instance, the factorial function(FACT X), which returns X * (X - 1)*(X -2) * ... * 1, could be written:

(SETQ FACT

(LAMBDA (X)

(COND ((LESSPX2) 1)((*X(FACT(-X1)))))))

(Note the use of arithmetic operators as

158

BYTE December 1977

Circle 136 on inquiry card.

Circle 49 on inquiry card.

functions in this example.) The importantthing to remember in recursion is that therealways has to be a simple, nonrecursive caseon which all the recursive cases are built;otherwise, you will find yourself blowingyour stack without getting a result.

Input and output in LISP are simple. Thefunction READ reads one LISP expressionand returns that expression as the value ofthe function call; the function PRINT printsthe value of its argument. Arguments tothese two functions are necessarily im-plementation dependent; they may includethe name of the device or some other indica-tion of where to go for the 10 function.A good system will also provide other func-tions, including ways of reading singlecharacters and controlling output formatting.A desirable (but expensive) function wouldbe one that printed a list in a readable in-dented format.

And now for the question that everyonehas been asking: What are lists really like?A list really has only two parts, the firstelement and all the rest. These are called thecar and the cdr, respectively, of the list.(Legend has it that these names come fromthe old IBM 704 implementation of LISP,where they stood for "contents of address ofregister" and "contents of decrement ofregister.") The cdr of a list is itself a list,containing all the elements but the first.In the case of a one element list, the cdris the atom NIL which we met earlier inconnection with COND. LISP takes NILto be a list of zero elements; it can betreated as a list in most ways, and can bewritten as (); but, of course, it has no caror cdr. The functions CAR and CDR areavailable for taking the car and cdr of alist. There are also two functions, calledRPLACA and RPLACD, for changing thecar and cdr of an existing list.

This system lets you have pointers intoany part or sublist of a list. For instance, ifY is some list, you might use

(SETQX (CDR Y))

to get a version of Y without its first ele-ment. Both of these variables will then sharethe same storage; therefore, a RPLACA orRPLACD on X will change Y's value. Themoral: Handle shared lists with care!

Unfortunately, the cost of the car andcdr approach is that indexing down a listis tedious. If you want the fifth elementof a list, you have to work your waythrough four cdr pointers and then takethe car. This isn't too bad when workinglinearly down a list, since a variable can beset to successive cdrs to get each element;but it does slow down random access.

16K RAM

FULLY STATIC

NTRODUCTORY$450 KIT PRICE

10 SLOT TABLE TOP

MICROCOMPUTERS

TT-8080... KIT $475

SYSTEM WITH 16K& I/OTT-8080-S... KIT $1125

CARD CAGE

& MOTHER BOARD

ECT-100... KIT $100

WITH CONNECTORS

& GUIDES

ECT-100-F... KIT $200

»IMP

Mtt».

CPU'S , MEMORY

MOTHER BOARDS

PROTOTYPING BOARDS

EXTENDER CARDS

POWER SUPPLIES

IIIIIIIII

DEALER INQUIRIES INVITED SHIPPING EXTRA

ELECTRONIC CONTROL TECHNOLOGY

P.O. BOX 6, UNION, NEW JERSEY 07083(201) 686-8080

Don Lancaster's ingenius design provides softwarecontrollable options including:

• Scrolling • Full performance cursor

• Over 2K on-screen characters with only

3MHz bandwidth

• Variety of line/character formats including16/32, 16/64....even 32/64

• User selectable line lengths

TELL ME MORE! (

( ) SEND FREE CATALOG

Name: .

) Send instruction manual for the TVT-6 Kitwith full operational details. $1 enclosed.

City: .

.Zip:

ELECTRONICS, INC.

DEPT.12-B, 1020 W.WILSHIREBLVD.. OKLAHOMA CITY. OK 73116

Circle 87 on inquiry card.

BYTE December 1977

159

Circle 80 on inquiry card.

Need Hard Copy?

TRY OUR

RICES

SSP-40 .....,,....., .

Contains its own micro processor for easy connection to

your RS232 serial port or TTY current loop. *>■#»*

MP-40 ;• • -425

interfaces to your micro computer parallel output port for

ASCII data transfer » - _ _

KP-40KIT ...,-... 179

Contains1 mechanism. PC board, all components.transformer and complete assembly instructions forparallel data transfer.

AM of our 40 series printers use the same reliable 5x7 impact.dqt matrix mechanism withup to 40 columns per line on ordinary paper with a print speed of 75 lines minute

SEND FOR FREE LITERATURE

k~\ Box 22101

Salt Lake Gity, Utah 84122(801)566-0201

The Great

International

Math On KeysBook

k^,,,,,,.

From Texas Instruments

Do you need a numerical algorithm for calculating exchange

rates in a hotel on a foreign trip? Or figuring those

mysterious "points" when facing the sanctimonious charisma

of a banker at mortgage arrangement time? This book is a

compendium of simple explanations and step by step

procedures for accomplishing numerical solutions to

numerous commonly encountered situations in daily life.

Each entry is characterized by a statement of the problem,

including the elements of theory required, and the keystrokes

needed to solve the problem on an algebraic entry calculator.

This is an invaluable sourcebook of information for the

person who is inclined to manipulate numbers. $4.95, plus 50

cents postage.

For convenience, use any

of the coupons on pages123, 125 or 167, writingBITS, Inc. in tnjs book's title. Pro-

70 Main Street cessing may occasionally

Peterborough N H 03458 exceed 30 days.

Master Charge and BankAmericard Welcome.

Send now to:

The function which builds up lists iscalled CONS. CONS takes two arguments:The first becomes the car of the new list,and the second becomes the cdr. The argu-ments themselves are unchanged; whathappens is that a new structure is created toencompass them both. This new structureis allocated from a pool of free storage.Using CONS is one of two ways to createnew lists; the other is READ (which uses theequivalent of CONS internally), or the inter-preter's top level reader.

But if you keep CONSing things, won'tyou eventually run out of free storage? Yes,this would be true if nothing were done toprevent this situation. But storage can oftenbe reused. A list may be entered once andthen forgotten; a variable may be reassigned,leaving its old value in limbo. This storagecan be reclaimed by a routine called agarbage collector. Whenever the interpreterfinds itself running out of storage, it can callthe garbage collector, which finds storagethat is available for reuse and designatesit as such.

Garbage collection, unfortunately, is aslow process. Whenever it has to be done,the system comes to a complete halt for afew seconds. This can create problems forreal time applications. I have heard reports,however, of a LISP system being developedwhich does its garbage collection in smallchunks, so the waiting is distributed moreevenly. Garbage collection is the price thathas to be paid for dynamic storage alloca-tion, unless you want to keep track of allallocated storage explicitly.

Now for the interpreter itself. InteractiveLISP is run in a READ-EVAL-PRINT loop.That is, an expression is entered, it is evalu-ated, and its value is printed. The mechanismsused for these operations are identical tothose of READ, EVAL and PRINT respec-tively. This means that a LISP functioncan start up its own equivalent of the inter-preter anywhere the programmer chooses;this is often useful for debugging programs.You might, for instance, place a READ-EVAL-PRINT loop as the first thing in afunction, giving it a provision for exiting, sothat you could look at its parameters anddecide if they are valid. This gives you anability corresponding to breakpoints inmachine language debugging.

But how do you do looping? The func-tions which allow this are PROG and GO.PROG constructs are similar to user definedfunctions, except that PROG is used in placeof LAMBDA and the construct isn't appliedto anything. The parameters are NIL, orelse indeterminate, at first. The function GOcan be used within a PROG construct, and

160

BYTE December 1977

Circle 12 on inquiry card.

Circle 13 on inquiry card.

nowhere else. Its one argument is an atom;it treats that atom, which is not evaluated,as a statement label and goes to that label,if it exists in the PROG. For instance, anonterminating READ-EVAL-PRINT loopcould be written thus:

(PROG ()A(PRINT (EVAL (READ)))

(GO A))

PROGs can put a GO inside a CONDexpression to allow for conditional branches.

Finally, LISP is an expandable language.Its costly features (in terms of designing theinterpreter) are data definition, input andoutput, garbage collection, and a design thatpermits recursion. Once thisexists, individualfunctions are fairly cheap. This means thatwith sufficient documentation, the usercould add his or her own machine languagefunctions to perform specialized operations(eg: graphics). LISP interpreters might evenbe sold in a minimal version, with add onmodules available for larger memory sizes.(No, I can't say right now how much memo-ry that minimal version would take.)

LISP is not an ail-purpose language. Ifyou like to do matrix inversions or quadraticinterpolations, you will find it outrageouslyslow and awkward. But if you are interestedin symbolic work, if you are not frightenedby the unusual, if ease of use is more impor-tant to you than speed, and if your compu-ter has the capacity, LISP may be yourbest choice."

GLOSSARY

Atom: a variable or literal used in a list.

Car: the first element of a list.

Cdr: all elements of a list except the first element.

Dynamic storage allocation: the ability of a pro-gram to get the storage space it needs as it isexecuting.

Garbage collector: a routine that searches thestorage space for previously used memory spacethat is no longer needed and allocates these memorynodes as free space.

Interpreter: a program that analyzes an instruc-tion and executes it before going to the nextinstruction.

List: a data structure, represented as a sequenceof elements enclosed in parentheses.

NIL: an atom that doubles as a list of length zero.

Recursion: the ability of a function to repeatedlycall itself.

That's right, if we don't sell a bunch of ourBASIC SOFTWARE VOLUME 1 albumsquick, we'll get fired! Included are lots 'n' lotsof your favorite Basic programs such asLUNAR LANDER and BLASTOFF!, plus newones like MAILING LIST, FOURIER FIT andAMPLE ANNIE. Plays through your Tarbell,Kansas City or Altair cassette interface (wecoded all three ways). Or make cassettecopies. Only 6 bucks. Don't be a dummy, or-der today! Satisfaction guaranteed or moneyback.

to: SOFTWARE RECORDS

PO BOX 8401-BUNIVERSAL CITY, CA 91508

(CALIFORNIA RESIDENTS: PLEASE ADD 6% SALES TAX)

$6

VEESIEAM

16K X 8 BIT RAM MEMORY

STATIC OR DYNAMICHAVE IT YOUR WAY !!!!!!

DYNAMIC RAM

Sphere Plug Compatible270 NSEC Access Time470 NSEC Read/Write TimeFully SocketedLow Power

STATIC RAM

Sphere Plug CompatibleEasy Home Brew Interface150 NSEC Access Time300 NSEC Read/Write TimeFully Socketed

MODELWWW-16KA

DESCRIPTIONFully Assembled

PRICE 1$549.00

WWW-16KK [ Kit

$449.00 |

MODEL

WWW KAS

DESCRIPTION

Fully Assembled

PRICE

$650.00

WWWKKS

Kit

$550.00

WWW ENTERPRISES

P. O. BOX 548

HARBOR CITY, CA. 90710

(213) 835-9417

Circle 131 on inquiry card.

BYTE December 1977

161

Relative Addressing for the 8080

James P GaskellGriffon IndustriesAustin RdAmherst NH 03031

An essential characteristic of any com-puter is the ability to branch as a result of adecision. These jumps, or branches, can bedone with target addresses determined in anumber of ways. Examples include absolute(direct) jumps, indirect jumps, indexedjumps and relative jumps.

The instruction set for the 8080 pro-cessor includes explicit absolute jumps,both unconditional and conditional. Italso has one indexed jump (although itallows for no offset). Unfortunately, theinstruction set does not include any rela-tive jump instructions, instructions whichare necessary if position independent pro-gramming is to be accomplished. However,a routine can be used that simulates thedesired result, thus enhancing the 8080'susefulness to programmers.

A relative jump goes to a specified offsetfrom the present address. Instructions ofthis type allow jumps within a program to be

independent of where the program is locatedin memory. That is, if the whole (object)program is moved to a new area of memory,the jumps are still valid. It is not necessaryto reassemble or explicitly relocate a pro-gram every time it is moved around inmemory.

In order to implement this routine, threesteps have to be taken. First, a short pro-gram must be entered into memory. Second,a section of memory must be set to a con-stant. Third, some macroinstructions mustbe added to the 8080 assembler. (Macroin-structions are assembly language instructionsthat are expanded into a sequence of ma-chine language instructions during as-sembly.) After these steps are taken, relativejumps can be written in a straightforwardfashion in assembly language.

First, the program shown in listing 1 mustbe entered into memory. It is important thatthis program start at hexadecimal address

Listing i: A program usedto perform relative jumpson the 8080 processor.A block of memory mustalso be set aside for theRST 7 instruction, andthe macroinstructions

listed in table 1 must beadded to the assemblerto allow this program towork.

ixadecimal

Hexadecimal

Label

Op

Operand

Commentary

Address

Code

0038

22

4B

00

ENTER:

SHLD

TEMPI

Save H L

003B

E1

POP

H

HL= (THERE" HERE+ BIAS+ 1)

003C

EB

XCHG

003 D

E3

XTHL

TOS = Original DEHL= (HERE + 3)

003E

F5

PUSH

PSW

Save PSW

003 F

19

DAD

D

HL = (THERE + BIAS +

0040

11

FC

3F

LXI

D,"(BIAS + 4)

0043

19

DAD

D

HL=THERE

0044

F1

POP

PSW

Restore PSW

0045

E3

XTHL

TOS = THEREHL = Original DE

0046

EB

XCHG

Restore DE

0047

2A

4B

00

LHLD

TEMPI

Restore HL

004 A

C9

EXIT:

RET

Jump THERE

004 B

00

TEMPI:

NOP

2 bytes oftemporary

004C

00

END:

NOP

storage

Note: In this listing, BIAS = C000 and TEMPI = 004B.

162

HYTE December 1977

0038, because it will be entered during exe-cution via a ReSTart 7 instruction. Also,since TEMPI is used for data storage, it isnecessary that TEMPI be located in pro-grammable memory and not in read onlymemory.

Second, a block of memory must be setto the RST 7 instruction. The larger theblock, the greater the range of the relativejump instruction. An address near themiddle of this area should be chosen as theBIAS address. The machine language codefor the RST 7 instruction is hexadecimal FF.This fortuitous coding permits an easy wayto meet the present requirement. Select anarea of (logical) memory where no hardwarememory exists. If the data bus has pull upresistors, doing a memory read to theselocations results in reading hexadecimal FF.

Third, macroinstructions should be writ-ten for the assembler so that it will do thecomputations necessary to implement therelative jump. Since relative jumps can bedone either unconditionally or based oneither state of any of the four flags, thisrequires that nine macroinstructions bewritten. Table 1 outlines what has to bedone. If your assembler cannot handlemacroinstructions, or if you do not havean assembler, you must enter the properCALL instruction as shown in the table.

To help in understanding the theoryof operation, refer to figure 1. Since wewish to jump from HERE to THERE, weinsert JR THERE (= CALL (THERE -HERE + BIAS)) at HERE. This instructionpushes (HERE + 3) onto the stack andjumps to the location (THERE - HERE +BIAS). At this new location we have madesure that the contents are equal to hexa-decimal FF (= RST 7). This instructionpushes (THERE - HERE + BIAS + 1) ontothe stack and jumps to hexadecimal 0038.At 0038, we find our program. This programfirst saves the contents of selected registers.It then pops the top two words off the stackand adds them together to give (THERE +BIAS + 4). After (BIAS + 4) is subtractedoff, we are left with THERE. This addressis pushed onto the stack and the registersare restored to their original conditions. Thefinal RETurn does a jump to THERE.

This routine uses four bytes in the stackand takes 78.5 jus (with a 2 MHz clock,ignoring memory wait times) to execute.For comparison, the absolute jump usesno stack locations and executes in 5.0 jus.This routine returns all registers in theiroriginal states (except, of course, PC).After the overhead is established, eachrelative jump requires three bytes, whichis the same as the absolute jump. Thismeans that switching between absolute

MacroNumber

Macroinstruction

Assembled Instruction

12-9

JR LABEL

JR (FLAG) LABEL

CALL (LABEL- $ + BIAS)C (FLAG) (LABEL- $ + BIAS)

Note 1: $ means the location of the current instruction.Note 2: (FLAG) means any of the eight condition flags, ie: NZ, Z,NC, C, PO, PE, P or M.

Table I: The nine macroinstructions which enable the assembler to performrelative jumps on the 8080 processor.

Instr

HERE:

JR THEREInstr

; CALL (THERE - HERE + BIAS)1N locations

Instr

♦

THERE:

InstrInstr

; Address = (HERE + N)

BIAS:

RST 7RST 7RST 7

RST 7

RST 7RST 7

; Contents = FF

IN locations

♦; Address = (THERE " HERE + BIAS)

Figure I: An illustration of relative addressing as it is performed on the 8080processor. The program jumps from HERE to THERE.

and relative jumps does not affect thelength of the object code. As requirementschange (basically, relocatability versusexecution speed) it should not be difficultto alter the coding.

In summary, the ability to do relativejumps can be added to an 8080 basedsystem. The working program requiresonly 21 bytes with perhaps anothercouple of hundred bytes located elsewhere,so the demand on memory space is quitelow. In a typical application of relativejumps, object programs are pulled off amass storage unit, placed in any availablememory, and immediately used. Thisexample shows some of the strength ofthis kind of jump and some of the reasonfor the experimenter to add this capabilityto his/her operating system."

BYTE December 1977

163

Save Software:

Use a UART for Serial IO

Fr Thomas McGaheeDon Bosco Tech202 Union AvPaterson NJ 07502

In my opinion suppliers of software formicroprocessors should refrain from writingtheir software for serial 10. Before you beatme over the head with your expensive Tele-type, let me explain myself further.

Much of the software for serial devicessuch as Teletypes is written in such a waythat the software itself provides the parallelto serial and serial to parallel conversion andtiming necessary to allow the Teletype tocommunicate with the computer. [A primeexample is the Motorola 6800 's MIKBUGprogram.] This may save the price of aUART, but it also ties down a complicatedmemory program to emulate a UART. Ipropose that instead of writing the softwarefor a serial device, all software be written forparallel IO. If provisions are made for the"handshaking" status information, then theparallel information can be easily convertedto serial information if desired by using aUART. With proper handshaking and aUART, the speed of serial 10 can be madeindependent of the software, allowing theuser to choose 110 bps or any other desiredspeed as presented to the UART clockinputs. All the user has to do is provide thedesired clock rate. Further, such parallelhandshaking would allow parallel devicessuch as the SwTPC TVT II to be used atspeeds of several hundred characters persecond instead of 10 per second.

If properly designed, a parallel IO inter-face can offer the following advantages:

1. External IO devices may be serial orparallel.

2. External IO devices may be madeto run at a data rate up to their maximumspeed.

3. External IO devices may be mixed;ie: a parallel input and serial output or viceversa.

4. Changing from one external IOdevice to another would require at most achange in a few jumpers.

Handshaking

The key to an effective IO scheme is alittle thing we call "handshaking." Hand-shaking is a technique wherein two devicescommunicate their status to one another.For instance, if the computer gives the exter-nal IO device a signal that indicates that ithas valid data available on its output port,and the external device, after acceptingand processing this data then provides thecomputer with a signal that indicates it isready to accept a new input, this is hand-shaking.

How can we provide this handshaking?Well, a UART already provides handshakingsignals. For that matter, most external IOdevices do or can provide the necessarysignals needed for handshaking. What isneeded is a way to communicate thisinformation to the computer.

The first technique that might come tomind would be to use a special input andoutput port to communicate status infor-mation. As it happens, the ASCII code

Figure I: A circuit for setting up hand-shaking between a computer and a UART.The eighth bits of the input and outputports are used to indicate whether the datahas been sucess fully transmitted and the sys-tem is ready to transmit the next bit ofinformation. This circuit can be adapted toany 8 bit computer. IC4 is a standard UARTpart, an asynchronous data interface. Someintegrated circuit part numbers which maybe used for IC4 are: the COM 2502 andCOM 2017 by Standard Microsystems, the2536 by Signetlcs, the AY 5 1012, byGeneral Instruments, the TMS 6011 byTexas Instruments, the TR 1602 by WesternDigital, and the SI883 by American Micro-systems. All res/stances are measured inohms and all resistors are % W.

164

BYTE December 1977

0=0

-j rn£5

roww >

o

-VA >c

'o oo w

SK:

row m"

r-

-O"

=i

U)-l

xx

HX

mm

X>

too

02

mm

CDU)

-<<

mS

xx

>s

CDH

cap

-n>

■flZ

mw

ss»

3JS

^^m

mH

2 3

m

o

5-

m^H

■fr

3IrZ

c/>

fON

0J>

X

-w»—>;

i_J

o —

t>iro

OJ

o

ro

CD

ro

roen

r~to

CD

ro

r~w

CD

O

ID

CO

-J

3J3J TJW

mm <=dm S°

iii^iiil f^fffW

^^

o c o

onoo

K CO NO ->

— ct>

-. s

3>" (D

a.

74007412374123UART

-1<

10

(D

-»ai en -b

+<

CO 00 CO 00

a

zo

Mill

1

-AM<

BYTE December 1977

165

Octal (Page 0)

Octal

Address

Op Code

Operand

Mnemonic

100

113

INP 005

101

310

LBA

102

174

200

CPE 200

104

150

100 000

JTC 000100

107

106

123 000

CAL 000123

112

044

177

NDI 177

114

310

LBA

115

007

RET

123

250

XRA

124

133

OUT 015

125

301

LAB

126

133

OUT 015

127

113

INP 005

130

074

200

CPI 200

132

100

127 000

JFC 000127

135

301

LAB

136

007

RET

Commentary

ASCII input routine using input port 005;

input data into register B;

check if most significant bit is high;

if bit not high continue input loop;

echo ASCII character;

strip off most significant bit;

registers A and B contain ASCII character;

return;

ASCII output routine using output port 015;

clear output port;

load ASCII character into register B;

output ASCII character;

check most significant bit of input port

to see if it is high;

if bit is high continue checking loop;

restore ASCII character to register A;

return;

Listing 1: Typical software routines for parallel 10 handshaking. This listing is representedin octal for an 8008 processor. A subroutine of this sort can be used at a wide variety of datarates since the receiving device will indicate when the next byte of data is to be sent. The deter-mining factor for data transmission rate is the speed of the UART's clock.

universally used by small computers onlyrequires seven bits to define all the regularcharacters: upper and lower case, numeric,special symbols and control characters. Thuswe have the eighth bit, the most significantbit, available for use as a status bit.

Figure 1 shows one way of setting uphandshaking between a computer and aUART. The receiver of the UART has theseven necessary data lines connected directlyto the input port. The eighth bit of theinput port is connected to a simple RS flipflop formed by two cross coupled NANDgates. When receiver data available (RDA,pin 19 of the UART) goes high, indicatingthat the receiver section has valid data, thissignal is inverted and fed to the RS flip flop,causing the most significant bit of the inputport to go high. This high level at the mostsignificant bit can be detected by the soft-ware in a wait loop. [This status line canalso be used to trigger an edge sensitive inter-rupt. . .CH/

Once the software has acquired the data,in most situations it calls for an echo, whichuses the output ASCII routine. The softwarefirst clears the output port, insuring that themost significant bit is low. Then the ASCIIand the high most significant bit are sent tothe output port. The low to high transitionof bit 07 is detected by oneshot IC3A whichcauses a few hundred nanoseconds of delaybefore causing oneshot IC3B to output anegative pulse. This negative pulse is fed tothe transmitter data strobe pin of theUART,. which causes the data from theoutput port to be loaded into the UART'stransmitter buffer. At the same time thereceiver data available pin of the UART isalso pulsed low, resetting the receiver

section's data available line to a low level. Atthis time the RS flip flop maintains theinput port's most significant bit at a highlevel.

Having echoed the ASCII code back tothe UART, the software can now waitwith a loop testing the most significantbit of the input port for its low state.Meanwhile the UART transmitter sectionis busy sending out serial data. When itis done, or at least when it is ready to acceptmore data, the transmitter buffer emptywill go high. Oneshot IC2A detects therising edge and produces a few hundrednanoseconds of delay, and then oneshotIC2B produces a negative pulse thatresets the RS flip flop. The software detectsthis when the most significant bit at theinput port goes low. This indicates that theoutput operation has been successfullycompleted. The system is also ready toaccept more input at this time.

Note that while the example shown wasfor a UART, no restrictions were made onthe speed at which the UART was beingclocked. Because we used handshaking logicsignals we can run our UART at whateverclock speed we desire.

By using a handshaking method such asthis, the software is reduced to periodicchecking of the status bit. Output characterscan be sent at any time, not overlappingreceipt and echo of an input character. Theonly other restrictions on use of this tech-nique are that a dummy character must besent out when the system is initialized, andof course the UART clock rate input mustbe matched to the rate of the terminal orother communications device at the end ofthe serial transmission channel."

166

BYTE December 1977

We Speak Your Language...

Practical Microcomputer Programming:

The Intel 8080 by W J Weller, A V Shatzel,and H Y Nice. Here is a comprehensivesource of programming information for thepresent or prospective user of the 8080microcomputer, including moving data,binary arithmetic operations, multiplicationand division, use of the stack pointer, sub-routines, arrays and tables, conversions,decimal arithmetic, various 10 options, realtime clocks and interrupt driven processes,and debugging techniques.

This 306 page hardcover book is wellworth its $21.95 price and should be inevery 8080 or Z-80 user's library.

A

COLLECTION

OF

PROGRAMMING

PROBLEMS

AND

TECHNIQUES

A Collection of Programming Problems

and Techniques by H A Maurer and M RWilliams. Here is a book that presents youwith problems—nearly 400 of them: pro-blems and games like chess, bridge, NIM;practical problems such as applications ofthe law of science, Kramer's rule for solvingsimultaneous equations, and applicationsof Latin squares to problems of probability;and more advanced computer science topicssuch as the use of Backus Naur form. Onequarter of the book is devoted to an appen-dix that gives stymied readers hints on howto proceed with solutions of the problems.The most valuable feature of the book is itscareful and thorough explanation of theuse of algorithms to solve problems. Nodyed-in-the-wool programmer or experi-menter will be able to read this book forvery long before trying to solve the tanta-lizing and well presented problems. $13.50.

f 9.00

THE FIRST

BOOK

OF

KIM

0*8

Top Down Structured Programming

Techniques by Daniel McCracken who hascalled structured programming "a majorintellectual invention." What is structuredprogramming? Clement McGowan andJohn Kelly answer this question in theirlively, well written book. Top Down Struc-tured Programming Techniques. Discoverthe three basic types of flowcharts andhow to optimize them. One section dealswith the best ways to manage programsbeing written by a team of programmers.An important feature of this book is itsuniversality: practically any program in anylanguage can be improved by using the ideasdescribed in it. $15.95.

The First Book of KIM. Attention KIM

users! Here is the book you've been waitingfor. In it you'll find a beginner's guide tothe MOS Technology KIM-1 microcomputeras well as an assortment of games includingCard Dealer, Chess Clock, Horse Race,Lunar Lander and Music Box. Also featuredare diagnostic and utility programs fortesting both the computer and externalequipment (such as cassette recorders), andchapters on expanding memory and con-trolling analog devices. This 176 pagevolume should prove an essential additionto any KIM user's library. $9.00.

6800 Programming for Logic Design

8080 Programming for Logic Design by

Adam Osborne. These books are sequels toAdam Osborne's previous books, An Intro-duction to Microcomputers, volumes 1 and2. They explain how an assembly languagein a microcomputer system can replacecombinatorial logic such as TTL logic andthe like. If you're a logic designer, you'lldiscover how to do your job in a new way.If you're a programmer, you'll find manynew and valuable techniques including theuse of macros, high level languages, peri-pheral interface adapters (PIAs), and so on.Also included are complete chapters onassembler language, direct digital logicsimulation, and large sections devoted tothe implementation of all these ideasusing the Motorola 6800 processor andthe 8080 processor. $7.50 each.

DIAL YOUR ORDERS ON THE BITS TOLL FREE HOT LINE: 1-800-258-5477.

In New Hampshire, call collect: 924-3355 Check Payment method:

Send to: 4Mfe ^y check is enclosed

BITS, Inc. '"-' ' Bill my MC No

70 Main Street JSmim SSSm Bill my BAC No

Peterborough NH 03458

. Exp. date.Exp. date .

Name

Address

Total for all books checkedPostage, 50 cents per book for_

$_

Qay_

State

Zip Code

Overseas, 75 cents per book for.

.books $__books $_

Grand Total

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

Circle 12 on inquiry card.

BYTE December 1977 167

Diddle

Stan Skoglund

5757 Avenida Sanchez

San Diego CA 92124

Listing 7.

OCTAL

000377

SWITCH: EQU

255

000000

ORG

000000

; "DIDDLE

' VERSION 1.0

000000

076

START: MVI

A,3

000001

003

000002

016

BEGIN: MVI

C,0

000003

000

000004

107

RUN: MOV

B,A

000005

021

SPEED: LXI

D,64

000006

100

000007

000

000010

041

LXI

H,0

000011

000

00001 2

000

000013

002

DSPLY: STAX

B

000014

002

STAX

B

000015

002

STAX

B

000016

002

STAX

B

000017

002

STAX

B

000020

002

STAX

B

000021

002

STAX

B

000022

031

DAD

D

000023

322

JNC

DSPLY

000024

013

Q00025

000

000026

333

IN

SWTCH

000027

377

000030

376

CPI

0

000031

000

000032

312

JZ

SPEED

000033

005

000034

000

000035

062

STA

SPEED+1

000036

006

000037

000

000040

014

INR

C

000041

171

MOV

A,C

000042

376

CPI

63

000043

077

000044

362

JP

RESET

000045

063

000046

000

000047

376

CPI

31

000050

037

000051

170

MOV

A,B

000052

007

RLC

000053

372

JM

RUN

000054

004

000055

000

000056

017

RRC

000057

017

RRC

000060

303

JMP

RUN

000061

004

000062

000

000063 170

000064 000

000065 303

000066 002

000067 000

.ADDRESS OF SENSE SWITCH PORT

INITIALIZE DISPLAY PATTERN

INITIALIZE DIRECTION COUNTER

;MOVE DISPLAY TO B-REG

INITIALIZE TIMER DURATION COUNTER

.INITIALIZE TIMER BASE

DISPLAY BIT PATTERN VIA ADDRESS LIGHTSDO IT AGAIN TO MAKE IT BRIGHTER

AND BRIGHTER

AND BRIGHTER

AND BRIGHTER

AND BRIGHTER

AND BRIGHTESTI

ADD TO TIMER BASE. TIMER ELAPSED?

NO, GO BACK AND DISPLAY AGAIN

;OTHERWISE READ SENSE SWITCHES;DOES PLAYER WANT DISPLAY TO STOP?;YES, GO BACK AND RE-ISSUE SAME DISPLAY

;OTHERWISE SAVE NEW SPEED

;BUMP DIRECTION COUNTER

;TIME TO RESET DIRECTION COUNTER?

;YES, JUMP TO RESET SECTION

;SET STATUS WORD

;MOVE PATTERN INTO A-REG.

;SHIFT PATTERN 1 BIT TO THE LEFT

gUMP IF STILL MOVING IN LEFT DIRECTION

;SHIFT PATTERN 1 BIT TO THE RIGHT;SHIFT PATTERN 1 BIT TO THE RIGHT;GO DISPLAY NEW PATTERN AT NEW SPEED

THIS SECTION IS EXECUTED AFTER PATTERN HAS MOVED 4 TIMES TO THELEFT AND 4 TIMES TO THE RIGHT.

RESET:

MOV

A,B

; MOVE PATTERN INTO A-REG.

THIS NEXT LOCATION CAN BE LOADED WITH OCTAL 057 WHICH WILLADD A LITTLE ZIP TO DIDDLE.

NOP

JMP

BEGIN

;CHANGETO CMA

;GO START OVER AGAIN

168

BYTE December 1977

"Diddle" is a game program in which onecan sit with an Altair 8800 computer anddiddle around for some time without solvinganything. The pure satisfaction of beatingthe game makes it all worthwhile.

The object of Diddle is to stop themoving pattern in address lights A12 andA13 while it is approaching from the right.If this is done within the rules and regula-tions you are considered a winner. Ofcourse, almost everybody wins at the slowerspeeds, while only a selected few are tal-ented enough to beat the computer in thehigh speed race. Try your luck!

Load Diddle via the front panelswitches, referring to listing 1. For those ofyou wishing to make paper tapes or Xeroxcopies of this listing, be my guest. Diddle ispublic domain software.

Program Operation:

• Select the program starting addressby setting all the address switchesoff (down).

• Press examine.

• Press run.

• Set address switch 10 up. Observe apattern moving in address lights A08thru A15. Watch it for a minute or so.Try to predict its behavior.

• Set all the address switches down.Note that the pattern stops moving.Now set address switch 10 up again.The display in the lights should startmoving again if the program is oper-ating properly.

• There exists a relationship between thespeed of the moving pattern and theaddress switch used in the above steps.Switches to the left of A10 will causethe pattern to move faster, whileswitches to the right will produce aslower motion. Only A08 thru A15can be used. Program ignores switchesAOOthru A07.

Rules and Regulation:

• Once a player starts the pattern mov-ing, he must wait at least 5 secondsbefore making his move to stop it.This prevents a player from creepingup to the stopping spot by toggling thespeed switch.

• The moving pattern must be approach-ing the stopping position from theright when a player attempts his move.

• You must upon demand show thatyou can beat Diddle three out ofthree times at the speed you claim to

be a winner. If you cannot do this,then you are not a bonafide winner,but just a diddler.• In all cases the burden of proof is leftto the player, not the judges. However,the judges' decision is final.

Theory of Operation andGeneral Notes on Diddle

The display pattern is shown in theaddress LEDs by executing a STAX Binstruction which causes the 8080 pro-cessor to output 16 bits of information tothe address bus. The choice of the STAX Binstruction was made so that the B registercould contain the display pattern. Tomodify the display, it is only necessary tomodify the B register and then execute theSTAX B instruction. This method of displayrequires keeping in mind some other con-siderations. For instance, remember that theprocessor is also putting onto the addressbus the location of each instruction itfetches from memory and therefore, inorder to control address LEDs A8 thru A15via the B register, the STAX B instructionmust be located in low memory (belowoctal address 377). Try relocating Diddleto octal 10000 and you will see that thedisplay still rotates, but address LED A12will always be on. Also, for the same reason,the maximum display pattern one couldhope to achieve would be 13 bits, althoughDiddle only uses an 8 bit display.

The speed of the rotating pattern isdetermined by adding a value to an accumu-lative counter until it overflows. Of course,the larger the value, the quicker the counterwill overflow. The real trick with Diddle isthat it lets the value be selected by theplayer at execution time. This is done byexecuting an IN instruction from port 255.MITS has provided the ability to read thefront panel switches (A8 thru A15) viasoftware using this port.

The direction of motion of the displaypattern is determined by counting the num-ber of rotations. Eight rotations will causethe pattern to revolve once, 16 rotations willcause it to revolve twice, etc. The patternis rotated in the left direction until thecounter reaches 31, then it is rotated in theright direction until it reaches 63. Thecounter is then reset and the cycle beginsagain.

It is interesting to note that the contactbounce of the front panel switches does notseem to affect the operation of Diddle. Thisis probably because the reflex time is muchlarger than the contact bounce time."

BYTE December 1977

169

Continued from page 69

A two-sided printed cir-cuit board and a kit of partsare now commercially avail-able. The board alone is $19,and the complete kit is $39.The assembled, tested andwarranteed unit is $69. Sendto: Meade Electronics, 511Meade Cir, Memphis TN38122.

address 1400, to send to the dividers, IC15and IC19, for notes 1 and 2. Notes 2 and 3are only in the low octaves 5 and 6 so up tothree octaves may be played at once. I chosethese to be in the lower octaves because Iuse them for rhythm and accompaniment.You may want to add other octave selectorsfor more control, or add manual switches tohave notes 4 and 3 in any octave.

The data from the computer is strobedinto the latches by write pulses generated bythe address decoder, IC5 to IC7 (figure 4).K5 from KIM-1 is low whenever the sixth1024 block of memory is addressed. K5is combined in IC5 with A9, As, and R/Wto produce pulses when addresses 20XX to

22XX are written into. The pulse indicatingaddresses 20XX (2000 to 20FF) are_beingwritten into is combined with A7 to A3 and02 to produce a negative pulse during phasetwo of the computer clock when locations1400 to 1407 are being written into. Thisshort pulse is combined with A2 to Arj inIC7 to produce strobe pulses for the latchesduring the 500 ns when the data is stable onthe data bus. Generating a tune is done bystoring (with a timed sequence) the appro-priate data into locations 1400 to 1402 asyou would any other memory location. The5 to 12 V level shifter is simply a high volt-age, open collector hex inverter, 7406.In retrospect, diodes D^ to D4 are pro-

Effective

Nearby Integer

Musical Note N

Key

Note

Actual

Pitch

Nearest

Ratio

Assuming

Well Tempered

256/N

1 MHz/(16N)

Ratio

(R-W)/R

B

256252

8 8

9 14

1.00001.0159

244.14248.02

1.00001.0000

0.00000.0156

C

■

242240

11 118 15 (10,12)

1.05791.0667

258.26260.42

1.05951.0595

0.00150.0068

C#

234225224

9 13

15 15

8 14

1.09401.13781.1429

267.09277.78279.02

1.12251.12251.1225

0.02600.01350.0178

D ■*

220216210

10 11

9 12

14 15

1.16361.18521.2190

284.09289.35297.62

1.18921.18921.1892

0.02200.00340.0245

D#

208200198

8 13

10 10

9 11

1.23081.28001.2929

300.48312.50315.66

1.25991.25991.2599

0.02370.01570.0255

E ■«

196195192

14 14

13 15

8 12

1.30611.31281.3333

318.88320.51325.52

1.33481.33481.3348

0.02200.01700.0011

F

■

182180176

13 149 10 (12,15)8 11

1.40661.42221.4545

343.41347.22355.11

1.41421.41421.4142

0.00540.00560.0277

F#

169168

13 1312 14

1.51481.5238

369.82372.02

1.49831.4983

0.01100.0167

G

■

165162160

11 159 98 10

1.55151.58021.6000

378.79385.80390.63

1.58741.58741.5874

0.02310.00450.0079

G#

156154150

12 1311 1410 15

1.64101.66231.7067

400.64405.84416.67

1.68181.68181.6818

0.02480.01170.0146

A ■*

144143

140

8 9 (12,15)11 1310 14

1.77781.79021.8286

434.03437.06446.43

1.78181.78181.7818

0.00260.00470.0256

A# ■*

135132

9 15

11 12

1.89631.9394

462.96473.48

1.88761.8876

0.00450.0266

B

130128

10 13

8 8 (next octave)

1.96922.0000

480.77488.28

2.00002.0000

0.01560.0000

■ Diatonic major scale notes "best fit" to A = 440 standard.

* Best fit of diatonic major scale to equally tempered scale based on B = 244.14.

Table 5: Table of possible intervals. The circuit of figures I to 4 produces the following set of possible frequencies assuming a1 MHz central processor clock. In this table, outputs have been grouped near the equivalent well tempered scale ratio and fre-quencies. The asterisk (*) indicates best fit for a logarithmic well tempered scale series starting at a ratio of1.0000, calculatedusing a program on a pocket calculator. Notations in parentheses show effective integers derived by shifting to the next octave.Note that with this calculation, use of "best" fit finds the note A in this octave at 434 Hz, 0.7% flat with respect to the standardA of 440 Hz. Table 6 picks a set from this table which is closest to the standard pitches but not optimal with respect to equaltemperment.

170

BYTE December I 977

bably not needed since IC6 probably can'tsupply enough current to damage IC3,even though the input voltage maximum toIC3 is specified as 5.5 V. The four extra out-puts on the quad I.itches are used with 24LEDs to give you a bonus light show, andare useful in figuring out what data is beingsent to the interface from the computer. TheLEDs are lit with Os instead of Is at the Jinputs, so that the more lights, the lowerthe divisor and the higher the note. If youwant the lights to read the same as the Jinputs, reverse them and tie the anodes to+12 V.

The middle seven octaves of the interfaceeach have 33 unique combinations of thekey and note dividers. I've made a list of fre-quencies in one such octave. You'll noticeright away that there is no way to get a per-fect fifth if you use 244.14 Hz as the homeor "tonic" note. This is because to go up infrequency by 3/2s, you need to already bedividing by a number that has 3 in it such as9, 12, or 15. So if you want to change to anote that is a fifth from the tonic, 248.02Hz, 260.42 Hz, 267.09 Hz etc can be usedas the tonic, but 244.14 Hz, 258.26 Hz,279.02 Hz can't be. Although this may seemrestricting, remember that the octave herehas almost three times as many notes as anoctave on a piano. For the tritone inter-vals), you will find that 10/7 and 7/5 areindistinguishable from 64/45 and 45/32,and are easier to use.

Now to get started using the interface,let's write a program to play the do to doscale in both major and minor modes. Tokeep it simple, we'll let note 1 play andkeep the others silent. To silence notes2 to 4, we need to store a 1 in bit 7 oflocation 1401 and in bits 4 and 7 of loca-tion 1402. To hear anything, we also needa 0 in bits 4 and 7 of location 1400 andto hear note 1, a 0 in bit 4 of 1401. Oneset of data to accomplish this is:

Data

Address

140014011402

xyFzFF

where x, y, and z are numbers less than 8and the Fs are any number more than 7(eg: hexadecimal E).

If you look at the major and minormode sequences in table 1, "Key of CMajor," or in table 2, "Key of A Minor,"you'll find that the major scale tonic mustcontain two 3s and a 5 in the divisor soyou can multiply by 9 and 15, and theminor scale tonic must contain two 3s.

The so called "rate multipliers" also do

their multiplication by dividing by a smallernumber. To make this idea clear to you I'vewritten out the ratios, divisors, output fre-quencies, and the data to be written intolocations 1400 and 1401 (don't forget towrite FF into 1402). For example, if hexa-decimal 34 and hexadecimal F7 are writteninto 1400 and 1401, the 1.00 MHz clockwill be divided by (8x12x15x2) to givean output frequency of 347.222 Hz.

To play the major scale, your memoryshould look like this:

( start j

Address

Data

SCALE+0

34

SCALE+1

F7

SCALE+2

40

SCALE+3

F2

etc

The major and minor diatonic scales andthe twelve note chromatic scale are not theonly scales that are pleasing to the humanear. With this interface you should be able tocreate new and pleasing musical scales, andcompose music which has never been heardbefore. You can explore the sounds of inter-vals with frequency ratios of 7/4, 9/5, 9/7,and 7/6 which are not found in Westernmusic. You should also be able to inventsome new and interesting chords sinceyou will have more of the harmonic seriesavailable to you. Just watch out for thecritical band by keeping your notes morethan 50 Hz apart plus 25 Hz for each kHz."

LOAD REGISTER XWITH 0

J'

LOAD ACCUMULATORWITH OCTAVE ANDKEY DATA LOCATEDAT SCALE + X

STORE ACCUMULATORIN I400

INCREMENT X

LOAD ACCUMULATORWITH NOTE DATALOCATED ATSCALE + X

STORE ACCUMULATORIN I40I

WAIT 250 mS

INCREMENT X

N(Vdoes

X=I6N

( END* ")

♦CHANGE OCTAVE ANDREPEAT OR RETURN

Figure 5: Flowchart of a simple program to cycle through a series of notecodes found in a table indexed by register X, with 16 entries.

Divisor

Data

fKON1

Ratio

Octave

Key

Note

1400

1401

Tonic

1/1

8

12

15

34

F7

347.2

Second

9/8

16

8

10

40

F2

390.6

Third

5/4

8

12

12

34

F4

434.0

Fourth

4/3

8

9

15

31

F7

463.0

Fifth

3/2

8

12

10

34

F2

520.8

Sixth

5/3

8

12

9

34

F1

578.7

Seventh

15/8

8

12

8

34

F0

651.0

Octave

2/1

4

12

15

24

F7

694.4

Tonic

1/1

8

12

12

34

F4

434.0

Second

9/8

16

8

8

40

FO

488.3

Third

6/5

8

12

10

34

F2

520.8

Fourth

4/3

8

12

9

34

F1

578.7

Fifth

3/2

8

12

8

34

FO

651.0

Sixth

8/5

4

12

15

24

F7

694.4

Seventh

16/9

8

9

9

31

F1

771.6

Octave

2/1

4

12

12

24

F4

868.1

Table 6: A selection of codes taken from the integers of table 5 and appliedto the hardware of figures I to 4, to create a major scale (tonic F relative toA = 440) and minor scale (tonic A, relative to A = 440).

ISYTE December I 377

171

Circle 54 on inquiry card.

D-2 BINDER ADAPTERS

G

$36.00

Ri

P.O. Box 10767Salem StationWinston-Salem, N.C.27108

(919) 748-8761

We're not playing games!

Our systems mean

BUSINESS!

The systems can play games, but they're really meant todo business. Our Z-80 based minicomputer system haskeyboard, video display, printer, 24K of memory, dualfloppy disks including full business software — and isavailable assembled and tested, starting at...

$3,995.00

Nothing else to buy (except paper and floppy disks) torun:

Accounts Receivable General LedgerAccounts Payable Inventory

Payroll ... and others

Programs run in BASIC interpreter, which is supplied.

Dealer and sales agent inquiries are invited

MiniMicroMart, Inc.

1618 James Street

Syracuse, New York 13203

(315)422-4467

Continued from page 14

rescuing the small space cruiser, the captainwas being questioned concerning his actions(which had necessitated the intervention ofa starship). His statements were routinelyrouted through the data base for confirma-tion or contradiction. Less than one secondafter he stated "I have a Masters licence.",the computer countered with "Incorrect.Masters licence revoked stardate 1317.6."Even more surprisingly, the computer hadpreviously identified this captain correctlyfrom his voice print and other sensory data.His complete file, including criminal record,was instantly available to the Enterpriseofficers. So, at the very least, the Enterprisedata base must contain complete biographicalinformation on all known criminals in thegalaxy!27

The second incident began with the com-puter's response to the inquiry: "Computer.Linguistic banks. Definition of the followingword: 'redjac'." After receiving a negativereply, all other banks were searched. Theanswer was then in the affirmative: "Work-ing. Red Jack: Source: Earth, nineteenthcentury. Language: English. Nickname ap-plied to mass murderer of women. OtherEarth synonym: Jack the Ripper." At thispoint an additional inquiry was made:"Computer. Criminological files. Cases ofunsolved multiple murders of women sinceJack the Ripper." The computer respondedwith a half dozen such crimes ranging intime from the unsolved murder of sevenwomen in Shanghai, China, Earth in 1932to the crimes on Rigel IV only one yearpreceding the inquiry.28

The amount of linguistic, criminologicaland biographical data that would have to bestored, on line to answer these types ofquestions almost defies belief.

Apart from the exceptional tasks whichthe Enterprise computers perform, theirman-computer interface is even moreamazing. All the computer terminals areequipped for audio IO, full graphics includingthe display of photographic data, and can betied into any of the ship's numerous databanks. The voice commands that can beprocessed by the ship's computers are notfrom a small set of command words (eg:"End yellow alert! Begin processing. FindYeoman Rand!"); rather they are com-pletely unrestricted English! Examples oftypical commands are:

Compute to the last digit the value

of pi.29 [Quite a trick if you can do

it. . . CM]

Computer. Digest log recordings for past

five solar minutes. Correlate hypotheses.

Compare with life forms register. Ques-

172

BYTE December 1977

Circle 77 on inquiry card.

Circle 103 on inquiry card.

tion: Could such an entity within dis-cussed limits exist in this galaxy?7,0

Engineering Officer Scott reports warpengines damaged but repairable. Ascertainprecise degree and nature of damage,compute nature and magnitude of forcesresponsible, and program possiblecountermeasures.31

Library computer. . . Give me everythingyou have on a man named or known asKodos the Executioner. After that, acheck on an actor named AntonKaridian.3 2

Hardware Innovations Necessary

With the immense amount of data thatmust be stored on line and available for fastaccess, one area of technology that musthave been highly developed in the Star Trekera is memory technology. A reasonableestimate of the size of the Enterprise database is 10^2 bits. To achieve a retrieval "ina manner of seconds," an effective memoryaccess time of 10—15 seconds is required(see reference on page 180). No operationalmemory devices today offer the necessaryfast access time, along with high capacity,low power consumption and small volume.However, a number of devices hithertorestricted to the research lab are becomingoperational which have some or all of thedesired qualities. These include the so-calledelectronic disks, the Megastore of theAmpex Corporation, and Josephson junctiondevices.

Electronic disks are memory devices em-ploying various new technologies which donot involve mechanical movement, butwhich possess the capacity of fixed ormovable head disks, along with dramaticallyfaster access times. They are just now begin-ning to become operational. Some problemsexist in a few of the technologies, eg:memory volatility is a slight problem inthe electron beam addressed electronicdisk.33'34

The Megastore of the Ampex Corpora-tion, however, represents a new use for anold technology. Megastore uses magneticcore, a technology that has been on thedecline since the advent of smaller and fastersemiconductor memories. The use of Mega-store as a mass storage device is now afact.35

The Josephson junction is another entirelynew technology which could be used formemory. The Josephson junction device isa superconducting tunnel junction firstdemonstrated in 1962 by Brian Josephson atCambridge. In one form, it exhibits a veryrapid switching phenomenon between twomodes of junction tunneling which enables

BUY, SELL OR TRADE

YOUR NEW OR USED HARDWARE, SOFTWARE

OR LITERATURE THROUGH OUR NATIONWIDE

SMALL COMPUTER SYSTEMS DATA BASE

Enter any item you wish to buy, sell or trade in our SmallComputer Systems Data Base. We will process yourentry against all others in our data base and mail you aprintout of all matching entries. You then contact thecorrespondents listed in those entries to effect your buy,sell or trade. Your entry will remain active in our database for three months. All incoming entries will be pro-cessed against your item and your entry will be mailedto all those that match. Thus you are assured of a widecoverage for your buy, sell or trade.

The cost of your first entry is $4.00, each additional itemsubmitted at the same time is $2.00. Send the entry formbelow together with your check to:

THE SMALL COMPUTER SYSTEMS CO.

P.O. Box 4344, Warren, New Jersey 07060

□ BUY

D HARDWARE

□ SELL

□ SOFTWARE

G TRADE

D LITERATURE

Name.Street.City

State_

.Zip.

Telephone (Include Area Code)

Attach description of item (approximately SO words).

THE PERFECT N

.MsfcPUDAY# fCARDS

.Any of theversatile boards

Z-80 CPU $35.00

2708/16 EPR0M $25.00

PR0T0B0ARD $25.00

8k STATIC RAM $25.00

PLEASE ADD S2.00 SHIPPING PER ORDER

from

IMSAI8080 Kit

—with 22 slot M.B.

$5BOP°

PLUS $10.00 SHIPPING

V

\7\ itlm oudio

PO BOX 91 ITHACA, N.Y. 14850 (607) 273-3271

Circle 137 on inquiry card.

BYTE December 1977 173

Circle 59 on inquiry card.

Talk to yourcomputer for $299*

SpeechLab™ lets you talk to and control any S-100bus computer... Sol, Altair, IMSAI, etc. Use for compu-ter input, research, vocal control and games. Price, $299assembled and tested. Complete hardware/softwaresystem, 275 page lab and 95 page hardware manuals.

Address Heuristics, Inc., 900 N. San Antonio Road,

Heuristics

Los Altos, CA 94022.Phone (415) 948-2542.

INC.

Get the best in

Business Data

Processing Systems

Accounting, Inventory, General Ledger,Timesharing Applications

Also a complete line of personal computersand peripherals, including:

• Polymorphic

• DTC

• North Star• Books/Magazines

HARDWARE/SOFTWARE SUPPORT

Our experienced staff is ready to help you

configure the best system to suit your needs

• IMSAI

• Digital Group

• Compucolor

■w

A company of Business Solutions, Inc.

124 H Blossom Hill Road • San Jose, CA 95123(408) 226-8383

the device to be used as a flip flop register.The Josephson junction, as far as memorytechnology is concerned, is over 15 yearsaway. One difficulty with this technologyis that it operates at the extremely coldtemperature of liquid helium (4.2°K) andtherefore requires a sophisticated externalrefrigeration unit.36 The typical access timesfor memory devices employing these tech-nologies are shown in the following table:

Integrated circuits

10 to 100 ns

Magnetic core

1000 ns

Fixed head disk

8,000,000 ns

Electronic disk technologies:

• Charge coupled devices

6400 ns

• Domain tip propagation

1,280,000 ns

• Electron-beam addressed

10,000 ns

• Magnetic bubbles

640,000 ns

Josephson junction

1 ns

Without a doubt, the new technologywhich provides the fastest access is theJosephson junction. (Laboratory accesstimes of 0.6 ns have been recorded.) Becauseof the speed of the Josephson junction, itssmall size and low power consumption,much work is currently being done to bringit from the laboratory into the workingcomputer world.

With respect to operational memorydevices, then, the current technology is stillfive or six orders of magnitude away fromthe world of Star Trek, where the measureused is memory access time. However, anadditional possibility is that the Enterprisecomputer may be organized as an associativeor content addressable memory. Such anorganization would reduce the access timerequirements by at least a few orders ofmagnitude and would make the memoryaccess time requirements closer to ourcurrent technology.

The remote terminals on the Enterprisealso represent a real challenge for today'selectronic technology. These terminals areprimarily used for live visual communicationbetween ships as well as for internal shipcommunications. They are also capable ofdisplaying photograph quality records froma data base plus alphanumerics. Since thevideophone is a reality today (although invery limited quantities and at great ex-pense),37 the visual communication usagealone poses no problem. Graphics displayterminals using the current raster scantechnology can presently provide this.

The display of photographs from thedata base, however, is a different matter.If the raster technology is used, then thestorage of digitized photographs by currentdata compression techniques38 wouldrequire such an immense amount ofsecondary storage39 that our current

174

BYTE December 1977

Circle 32 on inquiry card.

Circle 62 on inquiry card.

memory technologies could not do the job.But one could envision a central photographstorage from which a specific photograph isretrieved mechanically and brought intoposition in front of a high resolution TVcamera. The camera produces the necessaryraster scan signal to drive the display.Whether a mechanical retrieval of a randomphotograph could be performed in a timelyfashion, however, is open to discussion.

Another possibility is to use the plasmadisplay technology coupled with backprojection. This is currently done in theMagnavox 10000 Plasma Display Terminal,now being successfully used in the PLATOIV Project (Programmed Logic forAutomatic Teaching Operation, Fourth Gen-eration) at the University of Illinois.40'41|42The Model 10000 allows back projection ofmicrofiche data concurrent with the displayof graphic information.43 Such a systemallows a small amount of information on thescreen to be modified without redrawing orrecomputing the unchanging major portionof the display. The problem on the Enter-prise, however, is to transmit such a backprojection from a common library to aremote terminal.

Any hardware on board the Enterprisemust be rugged. The starship is often sub-jected to jolts of sufficient magnitude topropel a forewarned, experienced and able-bodied crewman a distance of 20 feet ormore.44'45'46 While it is stated that thecomputer hardware is enclosed in anti-gravity, antiacceleration and antiradiationfields,47 this is at best impossible to evaluateand at worst incomprehensible to today'sscience.

Software Innovations Necessary

Apart from the hardware innovationsnecessary to realize the level of computertechnology present in Star Trek, there are-software and theoretical developmentswhich must be made. Certain elements ofthat level of technology are not hardwarebound (or at least do not appear to beso). Two of these most apparent to thecomputer oriented Star Trek observer arespeech recognition and semantic compre-hension of a natural language.

Speech Recognition

It is often hard for nontechnical peopleto understand the problems involved inspeech recognition by computer. After all,every 5 year old child can understandthe speech of fellow human beings, evenin the presence of significant backgroundnoise or degradation. Can the process be sodifficult to program?

experience

excitement

challenge

intrigue

with your computerand

Dr. C. Wil liam Engel's

Stimulating Simulations

64-page paperback book

10 Programs in BASIC

art auctionmonster chaselost treas uregone fishingspace flightforest firena utical navigationbusiness managementrare birdsdiamond thief$5 a copy -immediate delivery - 1st class postage paid

C W. Engel, P.O. Box 16612, Tampa, FL 33687

Each SimulationContains

scenario

sample run

f lowc hart

list of variables

program listing

suggested modifications

For the computerthat haseverything

Searching for a Christmasidea for your computer?Stop in and see ourcomplete line of computerproducts at our twoconvenient locations orsend $2 to GeneralComputer Company, Inc.,420 Main St., Brighton,Michigan 48116We'll RUSH you our NEW 80PAGE MAIL-ORDERCATALOG.

GeneralComputerCompany, Inc.

Put the top of the line at thetop of your Christmas list.

1310 Michigan AvenueEast Lansing, Mich. 48823(517) 351-3260

75 W. Long Lake RoadTroy, Mich. 48084(313) 362-0022

Circle 55 on inquiry card.

BYTE December 1977

175

Circle 19 on inquiry card.

ADM-3A

IN KITFORM

$

695

00'

«

^%a

'#

*j

s?

■80 CHARACTERS/LINE• 24 LINES/SCREEN> ADDRESSABLE OURSUR'9, 10, or 11 BIT WORDS

2&

• All equipmentF.O.B. Dallas, Texasor Anaheim, California

• Terms — check ormoney order withorder

• Delivery in 30 days

• Add $20 for Shippingand Handling

OPTIONS:

• Lower case optionadd $100,00

• Numeric key padoption add $75.00

• 75-19,200 BAUD

• FULL & HALF DUPLEX

• ODD/EVEN/NO PARITY

• RS232 INTERFACE OR20 ma CURRENT LOOP

CET COMPLETE DETAILS WITH A DIRECT CALL:214 258-2414 TWX 910-860-5761 TELEX 73-0022

800 527-3248

mi-\H 25tS-ZllVt IWX 910-860-57capital

930 N. BELTLINE

equipment brokers

IRVING, TEXAS 75061 f

MACRO FLOPPYCONTROLLER

S-100 Compatible Flexible Disk Controller handles up toeight standard or mini disk drives.

On Board EPROM contains all disk interface software:

*CP/M compatible driver routines and bootstrap

*Blank disk format routine

*Routines for system customization

"Jump table driven software for easy interface

Crystal controlled clock. Board Address Jumper selectable.

Controller compatible with many brands of drives such as

Persci, Shugart, Pertec, Remex.

Model FDC-108MA (mini) Assembled and tested $400.00Model FDC-108SA (Standard) Assembled and tested $400.00Model FDC-108K (Bare PC Board, LSI

Controller IC, Pre-Programmod EPROM) $225.00

Available stock to 10 days.Contact your local distributor, or

Computer Hobbyist Products, Inc.

P.0 Box 18113

San Jose, CA 95158

(408) 629-9108

(Calif, residents add 6% sales tax.)

Dealer inquiries invited.

What some do not realize is that speechis a method of communication used byintelligent, knowledgeable beings whoemploy elements of syntax, semantics andworld knowledge in order to process acomplex signal. But only a portion of thissignal is purely linguistic information.Current studies indicate that the 5 yearold is able to utilize both hemispheresof his brain in language learning, unlikeadults. Biologically, the child is speciallyadapted to learn language by recognizingand inferring grammar from the speech ofthose around him. This research bringsinto new light the human cognitiveabilities for language and speech recognition.Recognition of the spoken word is often anunderestimated task.48'49 Star Trekpresents a world in which this problem iscompletely solved. Almost all commands tothe computer complex are given vocally.The processor is always able to convert thisaudio signal into an appropriate internalrepresentation of English words andsentences.50

At present, the success in speech recog-nition could be characterized by saying thata vocabulary of 1000 words can berecognized for one speaker, or a vocabularyof one word for 1000 speakers.51 Thereasons for this lack of progress in over 20years of work are many, but the main dif-ficulties are presently in separating thephonemes (the basic units of speech) fromeach other and from other information inthe speech signal.52 Some researchers haveestimated that less than 1% of the energytransmitted by voice output is used for thelinguistic signal itself. The majority of theenergy communicates other factors like thesex, state of health (head cold, flu, etc),emotional state and other nonlinguisticinformation about the speaker.53 Merelyseparating the linguistic portion is difficultbecause it is masked by the torrent ofextraneous information (as far as speechrecognition is concerned).

Aside from the separation of "pure"linguistic information from the speechsignal, separating the individual phonemeshas also proven to be nontrivial.

Speech is a semicontinuous phenomenon.To be able to separate individual phonemesimplies the difficult task of mapping thissemicontinuous process onto a sequence ofdiscrete entities. While some success hasbeen attained with this method of phonemicanalysis, current research is dealing directlywith the semicontinuous phonetic stretcheswhich correspond in some sense to fusedphonemic elements such as syllables.54

Relying merely on the audio signal alone

176

BYTE December 1977

Circle 29 on inquiry card.

Circle 1 7 on inquiry card.

is insufficient for automatic speech recog-nition.55'56 Current efforts correspond tothe theories of human cognition of speechand employ elements of grammatical,contextual and semantic constraints as wellas world knowledge. Techniques and modelsfrom artificial intelligence, mathematicallinguistics, the theory of stochasticprocesses, and acoustical and phonologicalanalysis are being extensively

employed.57'58 The difference (or moreaccurately the gulf) between the currentstate of speech recognition and that of theworld of Star Trek cannot be overem-phasized, however. Extensive theoreticalanalysis and perhaps some breakthroughs incomputational techniques are requiredbefore this gulf can be bridged.

Natural Language Processing

Completely separate from the notion ofspeech recognition is the idea of semanticcomprehension of a natural language by acomputer, ie: computer "understanding" ofthe meaning of a normal English statement,as opposed to a statement made in a pro-gramming language, however "high" level.Suppose that some suitable input method isused (voice, if the speech recognitionproblem has been solved) to get Englishstatements into the computer memory. Whatsuccess has there been on the design ofalgorithms which could syntactically andsemantically analyze these statements sothat they can be "understood" by the com-puter? In the world of Star Trek, thisproblem has been completely solved. Fromthe examples cited earlier, one can see thatthe Enterprise has an English "compiler"which can accept and correctly processunrestricted English.

The current state of natural languageunderstanding is not yet even near that ofStar Trek. However, many universities andresearch centers are examining this problemand have made significant contributions inthe past few years. At present it is possibleto correctly process relatively unrestrictedEnglish statements made in the context ofnarrow fields, eg: marine chemistry. Whilethe vocabulary of these fields is understand-ably restricted (one rarely uses the word"sonata" while making retrievals from achemical data base), the syntax covers awide range of possible English constructions.One example of such a prototype language"understander" is the LUNAR systemdeveloped by Bolt Beranek and NewmanInc. This system is used to process questionsto a data base of geological data recoveredfrom lunar samples. Examples of the kind of

JsmSersepvicTng!

k Ours offers a built-in logic probe (hi, lo,

9 and pulse), special edge connector that

J allows clip lead probing, jumper links in

k all supply lines, a non-skid needlepoint

Whether for troubleshooting or analysis,at some point you will need our EX-TENDER BOARD W/ LOGIC PROBE ($35).

probe .price.

. plus quality parts and a realistic

SimplifiefControTl

Th^nDTnicni ftTno/Dci AvnnAonf«H7iic 1^

The OPTO-ISOLATOR/RELAY BOARD ($117) is Ka natural for controlling audio systems, model Strains, robot devices .. . more uses are dis- ftcovered daily, as described in our applications finotes. 8 reed relays respond to an 8 bit word i

from your computer; 8 opto-isolators accept fcan 8 bit word from the outside world and send 1^it back to your machine for handshaking or fur-

Suimn iwmiimimfmimmfmlnlii ther control purposes.

r?

\COMING—Heath H-8&« compatible versions! $

MULLEN COMPUTER RQARDSj

BOX 6214, HAYWARD, CA 94545

"Products that make your computer useful"

CAVE J

All kits ore S-100 Altair/lMSAI compatible. Available by mail (ship-ped postpaid in the USA from stock: Colifornians add soles tax) or atmany fine computer stores. Dealer inquires invited.

:J

IUe'me oot tin lest software.

vn vwVSsiB ^i^ 'WW ^Ss" ^^^wl WW

Fortran

Basic

ANSI standard, except for COMPLEX VARIABLES 4K, 8K, Extended and Disk versions availableISIS -II, CP/M. DTC Microfile, MITS DOS In use for over two years in over 5000 installations

M DS, ISIS-II. CP/M, Altair* versions available

ROM compatible

Package includes FORTRAN Compiler.Assembler, relocating Linking Loader and runlime library

One-byte integer, two-byte integer,

four-byte, and eight-byte REAL variable types

Comprehensive error messages

Optimized code generation

Disk file I/O supported by run-time system

Only library routines needed for programexecution are loaded.

Main program and subroutines may be compiledseparately

Single Copies $500.00

OEM Prices available upon requestAvailable Early 1978: 8OB0/Z-80 APL, COBOL-74 OEM Prices available upon request

Widely known as Altair* BASIC

Disk version supports random and sequentialfloppy disk files

M Ore features per byte than any other BASIC

Fllll string manipulation, including concatenationand string arrays

Integer and Double Precision Variables

Direct access to machine I/O ports and memorylocations with BASIC statements

Single COpieS CP/M and ISIS-II Disk

basic $350.00

300 San Mateo N.E., Suite 819, Albuquerque, N.M. 87108

•Altair is a trademark of MITS, Inc.

Circle 74 on inquiry card.

BYTE December 1977 177

Circle 115 on inquiry card.

TarbellFloppy Disc Interface

Designed for Hobbyists andSystems Developers

Plugs directly into your IMSAI or ALTAIR" and handles upto 4 standard single drives in daisy-chain.Operates at standard 250K bits per second on normal discformat capacity of 243K bytes.

Works with modified CP/M Operating System and BASIC-ECompiler.

Hardware includes 4 extra 1C slots, built-in phantom boot-strap and on-board crystal clock. Uses WD 1771 LSI Chip.6-month warranty and extensive documentation.PRICE: Kit $190 Assembled $265

• ALTAIR is a trademark/tradename of M1TS, INC.

. . 20620 South Leapwood Avenue, Suite P/' Carson, California 90746

(213) 538-4251

canaria Boards DO Something

svstnms. inc. **

n ■ v

1 §

»: rjkt I I I

i t i':,i I 1 i

CL2400

Real Time Clock

$98—Kit

$135—Assembled

If your system needs to know what time it is, our CL2400 isthe board for you. The present time in hours, minutes, andseconds is always available for input, and is continuouslyupdated by the highly accurate 60 Hz power line frequency.Need periodic interrupts? The CL2400 can do that, too, at anyof 6 rates. Reference manual with BASIC and assemblylanguage software examples included.

PC3200

Power Control System

PC3232 $299—Kit $360—Assm.

PC3216 $189—Kit $240—Assm.

PC3202 $39.50— Kit $52—Assm.

If your system needs on/off control of lights, motors,appliances, etc., our PC3200 System components are foryou. Control boards allow one I/O port to control 32 (PC3232)or 16 (PC3216) external Power Control Units, such as thePC3202 which controls 120 VAC loads to 400 Watts. Opticallyisolated, low voltage, current-limited control lines arestandard in this growing product line.

Canada

systems, inc.

(formerly comptek)

P.O. Box 516

La Canada, CA 91011

(213) 790-7957

English that the system can correctly processare:

What is the average modal concentra-tion of lllmenite in Type A rocks?

I need all chemical analyses of lunarsoil.

Give me the K/Rb ratios for all lunarsamples.

One interesting failure of the systemoccurred on the following input by a non-geologist:

What is the average weight of all yoursamples?

It seems, among other things, that thesystem had no notion of "ownership" builtinto its vocabulary, and even more im-portant, it had no mass data on the samplesanyway.5

Prototype work such as the LUNARsystem is paralleled by (and in fact theLUNAR system employs) recent automatatheory work on the nature of naturallanguages. While early natural languagemodeling employed deterministic finite stateautomata (with their associated regulargrammars) the naivete of this model is wellknown. Even a pushdown automaton (equiv-alent to a context free grammar) is known tobe an inadequate model for a naturallanguage.60 However, attempts to extendthese models to linear bounded automata(equivalent to context sensitive grammars)or additions to the context free model havemet with some objections. Recent work ontransition network grammars, which are anextension of regular grammars (equivalent tofinite state machines), has produced veryencouraging results. In a very real sense, thismodel is superior to the extensions of thecontext free model and holds much promisefor the future.61'62 The transition networkgrammar model is also considered to beequivalent to the artificial intelligence ap-proach to language comprehension used inthe well-known system by Winograd.63

As in speech recognition, much workremains to be done before natural languagecomprehension by computer can reach thelevel of Star Trek. Most probably work inmathematical linguistics will supplement andbe supplemented by practical prototypelanguage "understanders." In the meantime,the prototype work will provide usable,albeit restricted, natural language "com-pilers."

It can be seen that Star Trek represents alevel of computer science and technologydecades beyond the current state of the art.Immense or revolutionary resources arerequired for the on line memory alone. Even

178

BYTE December 1977

Circle 18 on inquiry card.

Circle 37 on inquiry card.

fitting the mainframe along with all thissecondary memory into the available floorspace would be difficult. Complexphenomena such as speech and languageappear to be completely understood by thescientists of the Federation, yet in our owntime these problems have resisted intenseresearch efforts.

Ironically, some areas of Star Trek'scomputer science appear to be virtuallyidentical to present day standards. Computersecurity procedures can still be underminedby ingenious programmers.64'65 In additionthe art of computer programming seems tobe not much advanced from today. At onepoint the Science Officer requires a matterof hours to initiate a class 1 prioritycommand.66 One would think that in twocenturies of software development, suchurgent requests could be more easily pro-cessed and resources reallocated withoutextensive action by systems programmers.

We should not scoff at the view ofcomputer science presented by Star Trek,however. Science fiction often predictsfuture science fact with remarkableaccuracy. Lunar exploration and the laserare but two examples of current technologypredicted by science fiction writers. Whileone can present various and often con-tradictory explanations of this phenome-non, one cannot dismiss it. Perhaps StarTrek does give us a glimpse of the future ofthe computer; perhaps not. In any case, onecan agree with the Enterprise's ScienceOfficer when he says, "There is one thing wecan say: they will have many interestingadventures."67

Computer Space Aboard the Enterprise

According to the Enterprise blueprints,the computers aboard the Enterprise are physi-cally located in four areas. The primary hullcontains the main ship's computer and the mainengineering computer. The main ship's com-puter is located on both decks 7 and 8 belowthe bridge, with a total of about 1400 squaremeters of floor space. The main engineeringcomputer is located in the engineering spaceson the seventh deck below the starboard energyconverters. This complex has about 64 squaremeters of area.

The secondary hull houses the auxiliaryship's computer beneath the botany and hydro-ponics labs on deck 19. The total area of thiscomplex is 340 square meters. The auxiliaryengineering computer, also housed in the se-condary hull, is located on deck 16 near theshuttlecraft hanger. This complex occupiesabout 72 square meters.

The total space aboard the Enterprise de-voted directly to the computer complexes istherefore about 1900 square meters. This figuredoes not take into account the numerous ter-minals located throughout the ship.

21 START-AT-HOMECOMPUTER BUSINESSES

in the shoestring, start-at-home

computer business handbook

CONSULT I NG •PROGRAMMING • SOFTWARE PACKAGES «C0MFREELANCE WRITING »SEMINARS • TAPE/DISC CLEANINGFIELD SERVICE • SYSTEMS HOUSES • LEASING»SUPPL I ESPUBLISHING • TIME BROKERS • HARDWARE DISTRIBUTORSSALES AGENC I ES • HEADHUNTING ^TEMPORARY SERVICESUSED COMPUTERS • FINDER1 S FEES»SCRAP COMPONENTSCOMPUTER PRODUCTS AND SERVICES FOR THE HOME

„

f vidli. S! *fNC

5

Tft«t Al HQttl

computet 1

bu |,

ha idl i •■■ ■

Plus - - hundreds of ideas onmoonlighting, going full-time,image building, revenue building,bidding, contracts, marketing,professionalism, and much more.No career planning tool like itover published. Order now and ifyou're not completely satisfied,send it back within 30 days fora full and Immediate refund.

• 8*

X 11 ringbound #113 pp. #$12.Call 312-945-2940 or mail coupon

00

DRTRSERRCH

730 WAUKEGAN ROAD • SUITE108DEERFIELD, ILLINOIS 60015

Rush copies of "The Shoestring Start- At- Home

Computer Business Handbook to me right away -

NAME/COMPANY

ADDRESS

CITY/STATE/ZIP

□ CHECK ENCLOSEDQBANKAMERI CARDQMASTERCHARGE

THE BETTER BUG TRAP

AND

Al tair/IMSAI compatible board catches program bugs andprovides timing for real-time applications.

Four hardware breakpoint addresses. Software breakpointsonly possible at instructions in RAM. Better Bug Trapbreakpoints can be in ROM or RAM, and at data orinstructions in memory, input/output channels, or stacklocations.

Board can stop CPU or interrupt CPU at a breakpoint.

Real-time functions: watchdog timer, real-time clock (fortime of day clock), interval timer.

Sophisticated timesharing made possiblel

Unique interrupt structure: generates a CALL instruction toyour subroutine anywhere in memory, not a RST!

Addressed as memory. All parameters set easily by software.

All this and more for about the price of a real-time clockboard, but nothing else does the job of the Better Bug Trap.

$160, assembled and tested. 2 manuals plus software. 90 daywarranty. Shipped UPS. Delivery from stock.

4jftcr0ntcB

r Dfiv OC1/1 ni iaicct "sdi-* c

inc.

BOX 3514, 123 WEST 3RD ST., SUITE 8GREENVILLE, NC 27834 e (919)758-7757

Circle 73 on inquiry card.

BYTE December 1977

179

Circle 126 on inquiry card.

16K Static RAM

«^ IMSAI/Altair/Poly 88/Sol 20

'365 Assembled

Very low power-650 ma +5V; 90 ma +12V; 16 ma -5VUses 4K Static RAMS-No refreshLow-profile sockets for all chipsEach 4K addressable to any 4K boundarySolder mask; silk-screen; plated-through holesLow-power Schottky TTL's—Tested IC'sFully buffered S-100 bus-Gold-plated contactsDesigned for 500ns system-S.D. Sales and TDL Z-80 tested

Delivery: Stock to 4 weeks. MC and BA accepted. Ordersshipped prepaid. California residents add 6% sales tax.

\fr

ANDENBERG DATA PRODUCTS

PO BOX 2507

SANTA-MARIA, CALIFORNIA 93454 805-937-7951

Ifo ay\ FINALLY, A

(%£W VWITHBYTE!

6800 AUTOMATIC TELEPHONE DIALERPROGRAM $9.95 postpaid

Have your 6800 system dial your phone • Usesonly 5 external components • Stores 650 variablelength phone numbers • Operates in less than IKbytes of memory

Includes: Paper tape in Mikbug® format and ob-ject code • Circuit diagram and instructions• Instructions for adapting to other 6800 systems

6800 TELEPHONE ANSWERING DEVICEPROGRAM $4.95 postpaid

Have your 6800 system answer your phone andrecord messages automatically. Compatible withany 6800 system.

Includes: Assembly listing and object code • Cir-cuit diagram and instructions

Write to: SOFTWARE EXCHANGE2681 PETERBOROW. BLOOMFIELD, MICH. 48033

Mikbug" is a registered trademark of Motorola Inc.

Memory Requirements for the Enterprise

The Enterprise's computer contains "thewhole of human and humanoid knowledge"'in the 23rd century and "in a matter of a fewseconds . . . can obtain an answer to any factualquestion". More specific information on thevolume of data to be stored is required in orderto gauge the memory requirements, though. Bymaking reasonable and plausable assumptions,this amount of information can be expressed inbits in order to estimate the memory size andaccess time requirements needed aboard theEn terprise.

At present, the Library of Congress containsover 72 million volumes. J It would seem rea-sonable to assume that the store of knowledgein the Enterprise is about a million times thatof the present Library of Congress (given thepresent rate of growth of technical knowledgeand assuming that this rate will increase steadilyover the next 250 years). This yields a bank ofknowledge for the Enterprise which would fillabout 10^4 volumes. Assuming a volume con-tains on the average 1000 pages of 1000 words,with each word averaging between six to eightletters, and a 6 to 8 bit character code for com-puter storage, the information expressed inthose 10^4 volumes represents a staggeringamount of bits: on the order of 1022i

It is much more difficult to arrive at an esti-mate of the access time needed to meet thestated user interaction. The entire notion ofrecord retrieval on secondary keys is not nearlyas well formulated as primary key retrieval.70(Recall that retrieval by a primary key is a re-trieval of one record based on the field whichorders the data set. A secondary key retrieval isa retrieval of all records which have a givenvalue, or a given range of values, in any otherfield. An example of a primary key retrieval is:"Retrieve the medical record for Pete Smith."An example of a retrieval on a secondary keyis: "Retrieve all cases of cancer diagnosis in thepast year."

Knowing the current state of memory tech-nology, though, one can linearly extrapolatefrom response times on data bases of knownsize in use today to get an approximation ofthe memory access times needed to achieve thedesired response for the data base on the Enter-prise. Knuth presents an example of a fully in-verted file (a file together with a dictionary/directory for each field) with one million rec-ords of 40 characters each. With some reason-able assumptions, he computes an access timeof 10.7 seconds for a request involving tenfields for which ten records are found. The

average access time for the disk used was7 1

71 ms. Extrapolating this example, an aver-age memory access time of 10—15 secondswould be required to process this retrieval inone second if the data base was as large as thaton the Enterprise (assuming a similar data or-ganization). But current work in retrievingentries from large data bases may significantlyshorten the required memory access times.72

FOOTNOTES

lAsimov, Isaac, "The Last Question," ScienceFiction Quarterly, November 1956, page 6.

^Heinlein, Robert A, The Moon is a HarshMistress, Putnam, New York, 1966.

3Clarke, Arthur C, 2001 — A Space Odyssey,New American Library, New York, 1968.

4 Jones, D F, Colossus (aka: "The ForbinProject"), Putnam, New York, 1967.

180

BYTE December 1977

Circle 105 on inquiry card.

Circle 133 on inquiry card.

^Gerrold, David, When Harlie Was One,Doubleday, New York, 1972.

6"Wolf in the Fold," Star Trek episode, firsttelecast 12/22/67, adapted by James Blish, StarTrek 8, Bantam, New York, 1972, page 127.

7 Ibid, page 127.

°In the unauthorized transmission of certainportions of the Star Fleet Technical Manual whichtook place on stardate 3113, the index of themanual listed these sections. The sections them-selves, unfortunately, were not transmitted. Com-piled by Franz Joseph, Star Fleet TechnicalManual, Ballantine Books, New York, 1975, page00.00:05 and pages 00:00:08 to 00:00:09.

"in "Space Seed," a Star Trek episode aboutsuspended animation space ships ("sleeper ships"),we are told that Kahn, the leader of those on thesleeper ship, left Earth after 1996. Spock informsus that sleeper ships were last used in 2018. Kahn"slept" for two centuries or more, which impliesthat this episode takes place in the late 22nd or23rd century. "Space Seed," Star Trek episode,first telecast 2/16/67, adapted by James Blish, StarTrek 2, Bantam, New York, 1968, page 106.

10Whitfield, Stephen E and Roddenberry,Gene, The Making of Star Trek, Ballantine, NewYork, 1968, pages 128, 40, 170 and 198.

Ustar Fleet Headquarters, an artifically con-structed "world," is the largest, "Articles of theFederation," chapter 7, article 52, paragraph 3 andarticle 53, paragraph 1; compiled by Franz Joseph,Star Fleet Technical Manual, Ballantine Books,New York, 1975, page 00:01:09.12Ibid, Preamble, page 00:01:00.13Moore, J E (Ed), Jane's Fighting Ships 1975-

1976, pages 428 to 429, and 1976-1977, page 565.14"Articles of the Federation," chapter 7,

article 53, paragraph 1: op cit, page 00:01:09.

15"Star Fleet Technical Order 03:11:20,"compiled by Franz Joseph, Star Fleet TechnicalManual, Ballantine Books, New York, 1975, page03:11:20.

it)<'Mirror, Mirror," Star Trek episode, firsttelecast 10/6/67, adapted by James Blish, StarTrek 3, Bantam, New York, 1969, page 75.

17"Star Fleet Technical Order 01:04:10,"compiled by Franz Joseph, Star Fleet TechnicalManual, Ballantine Books, New York, 1975, page01:04:10.

18"Outboard Bow and Stern Elevations Blue-prints," drawn by Franz Joseph. BOOKLET OFGENERAL PLANS: USS Constitution Class,Ballantine Books, New York, 1975, sheet 4.

19Cogswell, T R and Spano, C A, Spock,Messiah!, Bantam, New York, 1976, page 5.

20"Tomorrow is Yesterday," Star Trekepisode, first telecast 1/26/67, adapted by JamesBlish, Star Trek 2, Bantam, New York, 1968,page 27.

21"Journey to Babel," Star Trek episode, firsttelecast 11/17/67, adapted by James Blish, StarTrek 4, Bantam, New York, 1971, page 51.

22"Balance of Terror," Star Trek episode, firsttelecast 12/15/66, adapted by James Blish, StarTrek 1, Bantam, New York, 1967, page 74.

23"For the World is Hollow and I HaveTouched the Sky," Star Trek episode, first telecast11/8/68.

24"The Lights of Zetar," Star Trek episode,first telecast 1/31/69, adapted by James Blish,Star Trek 6, Bantam, New York, 1972, page 26.

25"Return to Tomorrow," Star Trek episode,first telecast 2/9/68, adapted by James Blish, StarTrek 9, Bantam, New York, 1973, page 3.

26"xhe Enterprise Incident," Star Trekepisode, first telecast 9/27/68, adapted by JamesBlish, Star Trek 4, Bantam, New York, 1971, page27.

27«Mudd's Women," Star Trek episode, firsttelecast 10/13/66.

28"Wolf in the Fold," op cit, pages 132 and134.

29Ibid, page 139.

30ibid, page 133.

31"Tomorrow is Yesterday," op cit, page 32.

32"The Conscience of the King," Star Trekepisode, first telecast 12/8/66, adapted by JamesBlish, The Star Trek Reader II, Dutton, New York,

1977, pages 121 to 122.

fi?Ot3«aat3t3CXK«t3t3CX3«3t3t3t3tXK3t3t3t3t3t36X3tXXX383ag

PRAMMER III

by xybek

The Ultimate EPROM Memory BoardFor Your SIOO-Bus Computer

•k Accommodates from 1 k to 30k of the above EPROMS, inany combination, each addressable on any 1 k boundarywithin the board's 32k address space.

~k 1k of scratch-pad RAM.

■k On-board programming for all three EPROM types.

■*• Tri-state buffers on all address and data lines.

•k Empty EPROM sockets do not require address space.

Xybek • P.O. Box4925 • Stanford, CA94305

Telephone: (408) 296-8188

80-103A Serial I/O and FSK modem forprofessional and hobby communications.

• Completely compatible with your IMSAI, ALTAIR*SOL** or other S-100 microcomputers.Trademarks of *MITS, **Processor Technology

• Designed for use on the dial telephone or TWXnetworks, or 2-wire dedicated lines, meets allFCC regulations when used with a CBT coupler.

• All digital modulation and demodulation with on

board cyrstal clock and precision filter mean thatNO ADJUSTMENTS ARE REQUIRED

• Bell 103 standard frequencies

• Automated dial (pulsed) and answer

• Originate and answer mode

• 110 or 300 BPS speed select

• Complete self test capability

• Character length, stop bit, and parityarranty and full documentation

l day i

PRICES

Bare Board and ManualAssembled (48 hour burn in)

49.95279.95

DC Hayes Assoc.|3

P.O. Box 9884, Atlanta, Ga. 30319, 404/231-0574

Circle 57 on inquiry card.

BYTE December 1977

181

Circle 44 on inquiry card.

ED SMITH'S SOFTWARE WORKS

M6800 SYSTEM DEBUGGING/UTILITY SOFTWARE

for SWTPCoor Altair 680b

M6800 DISASSEMBLER/TRACE is a powerful debug tool thai allows the userto examine (or examine and execute) any area of memory under complete oper-ator control. The trace program displays the complete CPU status before and afterexecution of each instruction allowing the operator to "software-single-step"through the program under test. It also has a "partial program" run function plusmany others. M68DT $20.00

M6800 DISASSEMBLER SOURCE GENERATOR will produce compactedsource code or an assembler styled program listing with symbolic labels and inst.mnemonics. Source code output (either tape or disc) is suitable for re-editing andassembly with the SwTPCo co-resident assembler or the TSC text editor andassembler. M68SG $25.00

M6800 RELOCATE program will take any contiguous area of memory andrelocate it anywhere within RAM. Operand addresses are checked and adjustedas necessary. You can relocate ROM/PROM into RAM if desired.

M68RL $10.00

M6800 BINARY LOADER allows the user to save and load programs at the

maximum rate possible using Kansas City Standard recording. The save functiongenerates a short loader Mikbug* formatted pgm. at the beginning of each tape.The tape is read using Mikbug" "L" command.

M68BL $10.00

All programs supplied on Kansas City Standard Mikbug" formatted cassettes.

Special Offer: All 4 programs for $55.00 •••

Order direct by check. Specify system configuration if other than SwTPCo.California residents add sales tax.

ED SMITH'S SOFTWARE WORKS330 Camino de las ColinasRedondo Beach, CA 90277

-Mikbug is a trademark of Motorola, Inc.

PERSunflL-CumPUTErVriEWS

Covering the entire affordable computer Held

Bytes ol RAM. CRTJl»*KeyDOHfii lor abr^PCom moil ore ^*ITRSeO^

i progi

I

bl Ihe personal computermarket" (Commodore's PETline) have yetlo be shipped. User's Groups havebeen established lor both makes ^PET User Group <PO Gon^a?Montgomery vide, PA 18P^ "membership (firsi v^ *^

js i;^ Subscription Dept.: P.O. BOX 425

prooram ejch^^e*

j,^ U.S. Rales: 1 year (12 Issues) $9.00 ■

rnrp BONUS TO NEW SUBSCRI

■ DAYTON, OHIO 454192 years (24 Issues) $16.00

Special Report #8: Software Review, Firms, and Share Groups.A one-stop reference to currently available software and sources

33Martin, R R, "Electronic Disks in the1980s," Computer, volume 8, number 2, February1975, page 24.

34Kelly, J, "The Development of an Exper-imental Electron Beam Addressed MemoryModule," Computer, volume 8, number 2,February 197 5, page 32.

3oKinnucan, P, "A New Use for CoreMemory," Mini-Micro Systems, volume 10, number3, March 1977, pages 23 to 26.

S^Miller, R T, "Superconducting Tunnel Junc-tions," IBM Research Reports, volume 9, number1, 1973.

37Hardeman, L J,"Picturephone to Change itsImage," Electronics, volume 46, number 19, 13September 1973, pages 75 to 76.

38McCarthy, J P, "Automatic File Com-pression," Proceedings of the International Com-puting Symposium 1973, Davos, Switzerland,North Holland, Amsterdam, 1974, pages 511 to516.

39 An image with a resolution approximatelyequal to that of a present day television frame con-tains about 10° bits. High quality, high resolutionphotographs can contain as many as 10*0 bits;Ware, W H, "The Ultimate Computer," IEEESpectrum, volume 9, number 3, March 1972, pages84 to 91.

40National Science Foundation MOSAIC,volume 3, number 3, Summer 1972.

41-Alpert, D and Bitzer, D L, "Advances InComputer Based Education," Science, volume 167,20 March 1970, pages 1582 to 1590.

42Bitzer, D L and Johnson, R L, "PLATO: AComputer Based System Used In the Engineeringof Education," IEEE Proceedings, volume 59,number 6, June 1971, pages 960 to 968.

43Model 10000 Plasma Display TerminalBrochure, MAGNAVOX, Fort Wayne IN.

^"Tomorrow is Yesterday," op cit, page 26.

45«The Alternative Factor," Star Trek episode,first telecast 3/30/67, adapted by James Blish,Star Trek 10, Bantam, New York, 1974, page 1.

4°"The Immunity Syndrome," Star Trekepisode, first telecast 1/19/68, adapted by JamesBlish, Star Trek 9, Bantam, New York, 1973, pages179 and 183.

^'"Outboard Bow and Stern Elevations Blue-prints," op cit.

48Lenneberg, Eric H, "Capacity for LanguageAcquisition," Lester (Ed), Readings in AppliedTransformational Linguistics, second edition, HoltRinehart, New York, 1973.

49Lenneberg, Eric H, "On ExplainingLanguage," Lester (Ed), Readings in AppliedTransformational Linguistics, second edition. HoltRinehart, New York, 1973.

°^For the sake of simplicity, it will be assumedthat all speech recognition and natural languagecomprehension is for only one language: English.This is clearly not the case, but it is representative.If all the problems with these two types of pro-cessing were solved for English, then the extensionto other languages would be easy. [A debatablepoint . . . CM]

*■* Flanagan, J L, Speech Analysis, Synthesis,and Perception, Springer-Verlag, New York, 1972,page 196.

°2Garvin, P L, "A Linguist's View of Language-data Processing," P L Garvin (Ed), On MachineTranslation, McGraw-Hill, New York, 1963, page20.

53Ibid, page 18.

54Ibid, pages 19 to 20.

55Newell, A, et al. Speech Understanding•Systems: Final Report of a Study Group, North-Holland, New York, 1973.

56"The C-MU Speech Recognition Project,"Proc IEEE Systems Sciences and CyberneticsConference, Pittsburgh PA, 1970.

S^Woods, W A, "Motivation and Overview ofBBN Speechlis: An Experimental Prototype forSpeech Understanding Research," IEEE

Symposium on Speech Recognition, Carnegie-Mellon University, 1974.

58Baker, J K, "The Dragon System — An Over-view," IEEE Symposium on Speech Recognition,Carnegie-Mellon University, 1974.

5"Woods, W A, "Progress in Natural LanguageUnderstanding — An application to lunar geology,"AFIPS Conference Proceedings, volume 42, 1973,

182

BYTE December 1977

Circle 93 on inquiry card.

Circle 45 on inquiry card.

pages 441 to 450.

60Chomsky, N, "A Transformational Approachto Syntax," J A Fodor and J J Katz (Ed), TheStructure of Language. Prentice-Hall, EnglewoodCliffs NJ, 1964.

61Woods, W A, "Transition Network Grammarsfor Natural Language Analysis," Comm of theACM, volume 13, number 10, October 1970, pages591 to 606.

62Winograd, T, Understanding Natural Lan-guage, Academic Press, New York, page 43.

63Wilks, Y, "Parsing English I," Charniak, Eand Wilks, Y (Ed), Computational Semantics,North-Holland, Amsterdam, 1976, page 99.

64In "Court Martial," the Enterprise RecordsOfficer is able to modify the ship's computer basedlog, a file which should never be alterable; "CourtMartial," Star Trek episode, first telecast 2/2/67.

65In "The Menagerie," the Enterprise ScienceOfficer is able to tie in the ship's life-support systemwith the helm. The ship's computer would notaccept any course changes, since this wouldadversely affect the life support. In this way, theScience Officer was able to take over the ship;"The Menagerie," Star Trek episode, first telecast11/17/66 and 11/24/66 (a 2 part episode).

66"Wolf in the Fold," op cit, page 138.

^"Assignment: Earth," Star Trek episode, firsttelecast 3/29/68.

68BOOKLET OF GENERAL PLANS: USSConstitution Class, drawn by Franz Joseph, Bal-lantine Books, New York, 1975.

69Golenpaul, A (Ed), Information Please Alma-nac, 31st edition, Dan Golenpaul Associates, 1977,page 295.

70Knuth, D E, The Art of Computer Program-ming, volume 3 (Sorting and Searching), Addison-Wesley, Reading MA, 1973, pages 550 to 551.

71Ibid, pages 553 to 554.

'^Hardgrave, W T, "The Prospects for LargeCapacity Set Support Systems imbedded withinGeneralized Data Management Systems," Proceed-ing of the International Computing Symposium1973, Davos, Switzerland, North-Holland, Amster-dam, 1974, pages 549 to 556."

LIGHTPEN

$37.

50

-DRAW PICTURES-COMPOSE MUSIC-INPUT TO GAMES

Attaches to any 8080 system with TTL input port and memorymapped video driver (PTC, Oomemco, Polymorphic, etc.). Allowscomputer to interrogate the pen at any time and determine itslocation.

S-UK) Wire Wrap 1-0 Kits

FLOATING POINTPROCESSOR

$60.

00

Interfaces new National floating point processor chip. Floatingpoint arithmetic to 8 digits accuracy, plus trig and log functions.Runs in parallel with 8080 processor. Mini-BASIO packageincluded.

TTL I-O I INPUT PORTS $19.95, 2 LATCHED OUTPUTPORTS $14.95, SERIAL I-O. teletype and RS 2.J2 $14.95, HIOHSPEED CASSETTE TAPE interface, up to 4K baud $29.95.

S-100 Bus Buffering kit, plus 8 bits TTL I-O

$24.95

All kits include very thorough documentation, color-coded wraplists, driver software, IC's, and multi-color wire (30 ga). Busbuffering kit is required by all other kits, including FPP.

Wrap tool, sockets, and wire wrap board not included.

col). Master Charge, VISA accepted

Virginia residents add sales taxCash nrders shipped postpaid

Educational Data System

of Virginia, Inc.P.O. Box 2115

Newport News, Va. 23602

rO?

A*

PROGRAMMED COURSES

ON CASSETTES

ONLY $29.95

(per course)

S1 ■ INTRODUCTION TO MICROPROCESSORS. Thisseminar is intended for all non-specialists who wish toacquire a broad understanding of the basic conceptsand advantages of microprocessors. It explains howmicroprocessors work and it stresses methods, costs,advantages and disadvantages for the most importantaplication areas of each type of microprocessor. Whatis needed to implement a system; how to use it; theimpact of microprocessor-based systems; their evo-lution. Topics covered include: BASIC DEFINITIONS.SYSTEM COMPONENTS, MICROPROCESSOR AP-LICATIONS, WHAT TO LOOK FOR, and IMPACT ANDEVALUATION.

S2- PROGRAMMING MICROPROCESSORS. Thisseminar describes the internal operation of a micro-processor system including how instructions arefetched and executed, how programs are written andexecuted in typical cases (arithmetic and input-output).The goal of this cource is to provide an overall under-standing of the basic concepts of microprocessorprogramming. Requires an understanding of the mainconcepts in the INTRODUCTION TO MICRO-PROCESSORS SEMINAR. It is recommended thatthese two seminars be taken together.

EACH 2Vz HOUR COURSE INCLUDES 2 CASSETTES AND COURSE BOOK.Shipping and Handling: $1.50 one course, $0.80 each additional course.

SYBEX

In the U.S.: 2161 Shattuck Avenue, Berkeley, Calif 94704

In EUROPE: 313 Rue Lecourbe, 75015 - Paris, France.

To Order By Phone: (415) 848-8233 (BankAmericard/Master Charge)

Circle 111 on inquiry card.

BYTE December 1977

183

Continued from page 8

types which can be declared, as well asfile and record structures missing fromBASIC. PASCAL is a block structuredlanguage allowing multiple character stringsfor procedure and data names, and is thuscloser to the natural symbolic thoughtprocesses of designing a program than isBASIC.

A classical contrast between the twolanguages in this area of features is to posethe problem: How would I use the languageto include complex numbers for use inengineering analysis or physics? In BASIC,

U.S. POSTAL. SERVICE

STATEMENT OF OWNERSHIP, MANAGEMENT AND CIRCULATION

(Required by S9 U.S.C 36X51

I. TITLE OF PUBLICATION

BYTE Thfi Small Systems Journal

A. PUBLICATION NO 2. DATE OF Fl

1 | 0 [2 J 4 ]l 1 0 1 9/29/77

3. FREQUENCY OF ISSUE

MONTHLY

□ F ISSUES PUBLISHEDANNUALLY

12

ANNUAL SUaSCRlPTIC

""" 512.00

*. LOCATION OF KNOWN OFFICE OF PUBLICATION (Street, City. Count*. Sta

70 Main St. Peterborough, Hillsboro,

jitrf ZIP Code) (Not printer*)

NH 03458

5. LOCATION OF THE HEADQUARTERS OR GENERAL BUSINESS OFFICES OF THE PUBLISHERS f.Vof printcrt)

70 Main St. Peterborough, Hillsboro, NH Q3458

NAMES AND COMPLETE ADDRESSES OF PUBLISHER, EDITOR. AND MANAGING EDITOR

PUBLISHER (Name arid Addreu)

Virginia Peschke 74-S Grove St. __ Peterborough, NH 034 58

DITOR (Name and'Addrett)

Carl Helmers Noone Ave. Peterborough, NH 03458

IANAGING EDITOR f^«nf and Addreu)

None

7. OWNER (l( owned by a corporation, iti name and oddrpti mutt be ttated and alto immediately thereunder the name* and addrettet of ttnek-hoUten owning or holding I percent or more of total amount of ttock If not owned by a corporation, the namet and addrettet of the individualourncrt mm: be given. If owned by a partnership or other unincorporated firm, itt name and addreu, at well at that of each individual muttbe given.)

BYTE Publications Inc.

...yi.rgiiLL.a- .E.es,ciik.e.,.,

far! Helmprs

AOORESS

70 Main St. Peterborough, NH

74»i Grove St. Peterborough,

Noone Ave,.

Peterborough,., NH

»• KNOWN BONDHOLDERS, MORTGAGEES, ANp OTHER SECURITY HOLDERS OWNING OR HOLDING 1 PERCENT DR MORE OFTOTAL AMOUNT OF BONDS, MORTGAGES OR OTHER SECURITIES (If there art none, to etote)

9. FOR COMPLETION BY NONPROFIT ORGANIZATIONS AUTHORIZED TO MAIL AT SPECIAL RATES (Section 132.I22.FSM)Tha purpote, Junction, and nonprofit ttatu* of (hit organization and the enompt itetu* for Federal income tax purpoaat (Check one)

□ HAVE NOT CHANPRECEDING 1Z Ml

CCO DURING

□ HAVE CHANGED DURINGPRECEDING 12 MONTHS

if tub mil explanation of change

EXTENT ANO NATURE OF CIRCULATION

A. TOTAL NO. COPIES PRINTED (Net PrttU Run)

PAID CIRCULATION

1. SALES THROUGH DEALERS ANO CARRIERS. STREETVENDORS AND COUNTER SALES

2. MAIL SUBSCRIPTIONS

C. TOTAL PAID CIRCULATION (Sum Of 10B1 and 10B2)

E. TOTAL DISTRIBUTION (Sum of C and I))

F. COPIES NOT DISTRIBUTED

I. OFFICE USE, LEFT OVER. UNACCOUNTED, SPOILEDAFTER PRINTING __

2. RETURNS FROM NEWS AGENTS

t. I certify (hat the statements made by meabove are correct and complete.

AVERAGE NO. COPIES EACH ACTUAL NO. COPIES OF SINGLEISSUE DURING PRECEDING ISSUE PUBLISHED NEAREST TO 13 MONTHS FILING DATE

90,928

19,128

67,665

86,793

559

2,275

a,3qi

90,928

107,400

21,196

77,651

38,847

1,760

100,607

none as of this d

107,400

ITLE OFEMTOD, PUBLISHER. BUSINESS

12. FOR COMPLETION BY PUBLISHERS MAILING AT THE REG'

ULAR RATES (f

'a' f^£^J^_juhiish"

(Section 132.121, Potto! Service Manual)

39 U. S C. 3626 provldet In pertlnont pan; "No pereon who would have ba*n entitled to mall matiar vm.Hr former taction 43G9 of thli tltlaihall mall luch matiar at lha fatal provided unbar thl* luBaectlori unlan ha fllai annually with iha Poetal Sorvlca a written requett for parmlMion

I hereby requett parmlMion to mall the publication named In Item 1 at the printed pott an*

SIGNATURE AND.JT1TLE OF EDITOR, PUBLISHER, BUSINESS h

GBR, OR OWNER

(See instructions on reverse)

I might not even want to consider thepossiblity of using the language for complexnumbers because of the kluge that wouldresult. Using PASCAL, I would simply usethe type extensibility of data to declare acomplex number type and code variousprocedures to implement complex numberoperations. An example of this concept,which involves no features not inherent inPASCAL'S definition, is given on pages42ff of the PASCAL User Manual andReport quoted earlier. Of course, perhapsnot all possible or desirable features wereincluded in PASCAL'S definition, so dialectsmay occur there as well as in BASIC. But thenecessity of dialects generated throughextensions is probably less in PASCAL,making the standard created by ProfessorWirth a closer approximation to whatactually gets implemented.

Lots of Implementations of BASICAre Available.

Here is where BASIC no doubt has aconsiderable lead over PASCAL at thepresent time. But PASCAL is rapidly gainingin a catch up mode. As noted earlier, thereare presently nearly 100 different implemen-tations of PASCAL, mostly for minicom-puters and larger computers ranging in sizeand scope up to a CRAY-1 implementationof PASCAL. At the low end, according tothe PASCAL Users Group Newsletter,number 8, page 64, there are presentlycompilers implemented for the Motorola6800, Intel 8080 and Zilog Z-80 micro-processor architectures (although the listingdid not mention whether the compilerswere self-compilers or cross compilers).Implementations are coming, part of thehistory of the language and the activefollowing it has among computer sciencepeople.

Much Personal Use Applications SoftwareAlready Exists in BASIC.

No argument here. The number of booksand periodicals which publish programsin BASIC will probably exceed the numberwith PASCAL representations of equivalentprograms for a long time to come. But thisis equivalent to saying that BASIC has beenaround longer in the public eye, for giventime much of the same sort of software canand will be written in PASCAL as more andmore implementations become available.

BASIC is Friendly.

BASIC is fundamentally an interactiveapproach to programming in which pro-

184 BYTE December 1977

grams are entered in source form and testedwithin the confines of one session witheffectively instant change from editing toexecution. If PASCAL is to become anequivalent "friendly" language, it must beimplemented in a way which allows asimilar instant change from editing thedesign to trying out the design of an appli-cation.

Whether this friendliness requirementcan be best met by an interpreter or acompiler is an open question, but it isa definite requirement. In BASIC therule to date has been interpretive, or semi-compiled code, where semicompiled meansthat symbols for language tokens are re-placed by compact codes. In PASCALto date, compilation has been the rulerather than the exception. It is conceivablethat a compiled PASCAL coupled with anediting and object code maintenance facilityoriented to the block level might givesufficiently quick response at the terminalwith much faster execution times associatedwith compiled code.

Another open question concerningPASCAL is that of how much memory isrequired for a PASCAL self-compiler orresident interpreter in a typical personalcomputer's microprocessor based system.I suspect that a compiler or interpreter ofPASCAL can be built which will fit within16 K to 32 K bytes of memory, but whetherthis is really possible or not is by no meansclear to me.

To sum up the thesis, PASCAL is wellon its way to becoming the kind of widelyknown language which will be taught asa matter of course to new students ofprogramming. This in turn will tend to boostthe long term acceptance of PASCAL andget it established as one of the major lang-uages, a process which at an earlier dateoccurred for FORTRAN and BASIC. Forour own part, we at BYTE are interested ingiving PASCAL a boost. We have a surveyarticle about PASCAL in preparation at thepresent time. We would also like to talk toimplementors of the language who wouldbe interested in marketing PASCAL com-pilers or interpreters through softwarebook publications which include source codeand machine readable object code. For thosewho desire more background informationon PASCAL, we recommend the PASCALUser's Group, run by Andy Mickel at theUniversity of Minnesota Computer Center,227 Exp Engr, University of Minnesota,Minneapolis MN 55455, (612) 376-7290.The PASCAL Newsletter is published fourtimes per year, and at the time of thiswriting costs $4 per year."

Circle 84 on inquiry card.

ADD EXCITEMENT TO YOURVIDEO DISPLAY WITH A . . .

PROGRAMMABLE CHARACTERGENERATOR

INNOVATIVE S-100 CARD PROVIDES THE CAPABILITY OF DYNAM-ICALLY CREATING CHARACTERS GENERATED BY YOUR VIDEODISPLAY. PROGRAM SPECIAL MATH OR SCIENTIFIC SYMBOLS,APL CHARACTERS, SUB- AND SUPER-SCRIPTS, HIGH DENSITYBAR GRAPHS, SPACE SHIPS, ETC. YOUR ORIGINAL CHARACTERSET REMAINS INTACT AND AVAILABLE AT ANY TIME.

KEYBOARD INTERFACE AND DUAL JOYSTICK INTERFACES PRO-VIDED ON BOARD. IDEAL ADDITION TO SOL ™ TERMINALS,POLYMORPHIC ™ VTI, PROCESSOR TECHNOLOGY ™ VDM-1,SOLID STATE MUSIC™VIDEO BOARD AND OTHERS USING THEMOTOROLA rM9X7 MATRIX CHARACTER GENERATOR.

memwi wro SDffiitR - »h a

J TL ■: J ' D -: - .11

•UNRETOUCHED PHOTOS

FOR FURTHER INFORMATIONAND PRICING, CONTACT:

OBJECTIVE DESIGN, INC.

P.O. BOX 20325 TALLAHASSEE, FL 32304(904) 224-5545

"We've Got It!!"

A NEW ADDITION TO OUR STOCK OFSURPLUS ELECTRONIC EQUIPMENT

The IBM Selectric® BasedI/O Terminal $695.00

■ INTEGRAL MODEM

■ BCD OR CORRESPONDENCE CODEa TABLETOP MOUNTING

■ 22"W, 22"D X 8"H, 58 LBS

• ASCII CONVERSION AVAILABLE

• DOCUMENTATION INCLUDED

OTHER SURPLUS STOCK

• KEYBOARDS - ASCIIENCODED $40.00-$60.00

• CRT TERMINALS

• TAPE DRIVES $650.00

• EQUIPMENT CABINETS

• POWER SUPPLIES

PRINTERS

TRANSFORMERS

WIRE-CABLE

/_>-\ Send for a free catalog or call Bill BlaneyXglfJ toll free 800-258-1036. In N.H. 603-885-3705

WQPlaWiaE ELECTFOfllCSJIIL.

10 Flagstone Drive, Hudson, New Hampshire 03051

Visit OurStore

Circle 130 on inquiry card.

BYTE December 1977

185

Photo 1: The Intercept Jr unit shown in the titanium sphere with the cover removed. The rebuilt processor board is the oneclosest to the front of the assembly. The system is used to collect data from the continental shelf.

Henry LahoreOceanography WB-10U of WashingtonSeattle WA 98195

A User's Report on the Intercept Jr

About the Author

Henry Lahore obtaineda masters degree in electri-cal engineering at theUniversity of Washingtonin J970, and has workedwith Raytheon, ComputerAutomation, and PrimeComputers in the areas ofhardware interfacing andprogramming. This pro-ject is his first experiencewith CMOS circuitry.

In August 1976 Intersil Inc brought outIntercept Jr, a battery operated microcom-puter system using Intersil's IM-6100 12 bitCMOS microprocessor, which has been de-scribed in the May and June 1976 issues ofBYTE and the June 1976 IEEE Proceedings.

At the time, we in the oceanographydepartment at the University of Washingtonneeded a microcomputer for underwaterdata acquisition. This required a batteryoperated system which would have tooperate for several months. We had tochoose between the Intercept J r or the RCACOSMAC processor, the only batterypowered systems available at the time.Because the Intersil processor recognizesthe instruction set of the Digital EquipmentCorporation PDP-8E minicomputer, andbecause we had cross assemblers and pro-grammers available on campus who werefamiliar with the PDP-8 language, we chosethe Intersil product.

The Intercept Jr microcomputer systemconsists of a 10 by 11 inch (25.4 by 27.9

cm) board which features a keyboard, two4 digit LED displays, a monitor with micro-interpreter in read only memory, 256 wordsof programmable memory, three printed cir-cuit card sockets for option cards, and abattery power supply for $281. Option cardsavailable include 1 K bytes of programmablememory, 2 K bytes of bipolar programmableread only memory, a UART, and an audio-visual display card using LEDs and a speaker.Excellent hardware and software documen-tation is included.

We have made three different batterypowered data acquisition systems usingIntercept Jr. The sediment motion systemto be described has analog and digitalsensors and uses the IM-6100 micro-processor with 2000 words of memory.Data is recorded on a Memodyne incre-mental low power tape cassette.

In our sediment motion data acquisitionsystem (see photo 1) we have removedthe microprocessor from its socket onIntercept Jr and put it in our data acquisi-

186

BYTE Dccemhi

SPECIAL OFFER

TEXAS INSTRUMENTS PROGRAMMABLE

CALCULATORS•• TEC 9900 SUPER STARTER SYSTEM••' TELETYPE TERMINAL MODEL 43

BELOW DISCOUNT HOUSE PRICES!

•TISR58 $97.95

Tl SR 59 $224.95

TIPC 100A $149.95

COMPLETE with charger, case, instructions, war-ranty.

"TEC • 9900-SS 16 BIT COMPUTER16 bit TI9900 microP, 32 bit I/O hardware, mult &divide, buffered bus, 20 ma loop, RS 232C, 8 inter-rupts and sockets.

KIT-. $299.00

ASSEMBLED: $399.00

•"NEW! TELETYPE TERMINAL MODEL 43

10 or 30 CPS. Interface: EIA (RS232) or TTL

(Digital). Fantastic discounts.

WITH TTL INTERFACE: $984.95

WITH RS 232 INTERFACE: $1184.95

To order: check or money order plus $3 postageand handling. NYC residents only add 8% tax.

OWENS ASSOCIATES, DEPT. B

147 Norwood Avenue

Staten Island, New York 10304

Telephone: (2121 448-6283

WHLN YOUR NEW PET COMPUTERARRIVES, YOU AND YOUR PET WILLNEED TO COMMUNICATE. WE HAVETEN (10) PROGRAMS IN THE PET'SBASIC LANGUAGE, ON A SINGLEQUALITY CASSETTE, READY TORUN -GAMES, DISPLAYS, ANDGRAPHING PROGRAMS. USE THEM ASIS, OR MODIFY THEM TO MAKEYOUR OWN CUSTOM PROGRAMS.ORDER NOW SO YOU CAN HOUSEBREAK YOUR NEW PET QUICKLY.

Send SI9.95 in check or money order to:

DON ALAN ENTERPRISES

P O BOX 401

MARLTON, NEW JERSEY 08053

New Jersey residents add 5% sales tax,Dealer inquiries invited.

CHEAP TALKmodems

103 Type Full Duplex 0-300 Baud

RS 232 Interface, Manual or Lease Line

4 1/2x5 PCB Construction

One Year Warranty

$115.00

p

PHOflE 1

Send Check or C.O.D.Shipping, Handling and Sales Tax Included

Phone 1

1330 East State St.

Rockford, Illinois 61108

Phone (815) 962-8927

Circle 86 on inquiry card.

Circle 41 on inquiry card.

Circle 94 on inquiry card.

INDUSTRIAL QUALITY

MICROPROCESSOR CARD KITS

All <5V only. -.1(1 4 5 x 6.5. 22M4 t-dge conn

• H RAM S79.95 • ?K PROM S 79.95

• MtHhi-rlmard $39.95 • 4 K PROM S129.95

• Card Cane S20.00 • D.gnai I/O S 59.95

• KcvliOi'itl'Displav S89.95 • Cassette Interlace S 37.95

• Available tested and >n OEM aiyv

MICROCOMPUTER SYSTEMS

• 6800 Prototyping Board Stane( J

• Kit =1 6800 Student Computer

• Kil =2. Motorola EdufMtor II

• Kir =3. 6800 Industrial Card Set

■ =4 Hoi

t'brew

S 8-3 95SI 25.00

S21000S320 00

• BARE BOARDS, ENCLOSURES, FIRMWARE, ETC,SEND S3 70 FOR TECHNICAL MANUAL UNFORMATION ON ALL ABOVE)

St?m) Chuck or Money Order to:

01

• Sankamericmf (VISA)

• Master char ge

• Calil Residents Add

6% Sales Tax

ver opur

Electronic Commumcalions Co

P. O. Box 365, Chino. CA 91710or Visn Rei.nl Store13552 Central Avenue

Circle 102 on inquiry card.

r

Disc/3

1

DISC

CON

BUSI

(ass

Lear Siec

ADM-3

IMSAI 80

Centronic

Printer

/3 COMFIPLETE MlYESS SYS

Soroc IQ 120embled $899.

ler

A kit

80 kit

s Business

(132 column

»ANY

CROTEMS

95)$ 799.95

$ 599.95$1145.00s)

Disc/3

DIS

184

SANTA I

3/3COMPD LINCOLN B/ONICA, CAL213)451-891

ANY

LVD..IF. 90404

Circle 40 on inquiry card.

SIX PORT I/O CONTROLLER

Program Control of PortsS100 Buss CompatibleParallel I/O

Single Printed Circuit Board$149.00

VIDEO SYSTEM

30 x 64 Display - 1920 Char.128 Character Buffer1 Msec Read/Write TimeExtensive Software ProvidedProgrammable Display AttributeCharacters

$349.00

Available in Kits or Assembled

BankAmericard and Master Charge

Accepted

Dealer or Club Discounts Available

Box 28823

IOR

Dallas, Texas 75228

Circle 99 on inquiry card.

ELCOM CRYSTAL-CONTROLLED COUPLERSOUT PERFORM llDIRECTCONNECTEDMODEMS

The ELCOM 30 Originate-Only andELCOM 32 Originate/Answer acousticcoupled modems provide reliable BellSystem 103/113 compatible. Duplex orHalf-Duplex, 300 bps data communi-cation over conventional dial telephones.Advanced crystal-controlled digital tech-niques and high-order linear phase activefilters provide error-free operation overthe most marginal telephone circuits.A single 25-pin female connector pro-vides both EIA RS-232 and 20 mA TTYcompatible interfaces.

ALL PRICES FOB CONCORD. TNBankAmencard/Visa and Maslercharge welcome

El ElCom ENTERPRISESI 10728 DUTCHTOWN RD.I CONCORD. TN. 37720■ |615| 966-3352I (615) 689-5559 - Call 24 hours.

DEALERS INQUIRES INVITED

computerdepot me.

(Credit Cards Accepted)

3515 W. 70th St., Mpls., MN 55435(612) 927-5601

SOFTWARE GOT YOU STOPPED?If you have a single Northstar Disk,we can offer you fully-tested anddocumented packages for the fol-lowing:General Ledger with

Payroll $75.00

Mailing List with Coded

Sort, Zip Code Sort, and

Last Name Sort $75.00

Inventory Control $75.00

Other packages soon II Write or callfor details. Dealer inquiries en-couraged.

Name

Address

Part No. Qty. Amt. Enclosed

Circle 27 on inquiry card.

INTERFACE WITH YOUR COMPUTER■+ NATURALLY WITH THE NEWDHD-11 CONTROL PANEL

Utilizing unique B/BCBADDRESS AND and BCDIB hardware

OPERANDS IN OECIMAL techniques it is theINSTRUCTIONS IN HEX most powerful, flexible

control panel available.

• 16 bit bi-directional address anddata busses interface with any 8 or 1 6bit system (MOS or T2L|

• Addresses and data from controlpanel to u P loaded from keyboard inselectable hex or decimal.

• Addresses and data from u P to con-trol panel read by 5 digit hexadecimaldisplay in selectable hex or decimal.

• Serves as program loader, debugger,monitor (both single step and dynamicstrobe), and overall u P educator.

This control panel with only CPU andmemory form an ideal educator and)orstarter system or upgrades an existingmicro I mini system.

or free information, price and delivery contactu? ELECTRONICSP.O. BOX 2103 SYRACUSE. NY. 13220

Circle 47 on inquiry card.

Circle 123 on inquiry card.

tion system, which consists of an Augatwire wrap board with 2000 words ofprogrammable memory, two CMOS typeparallel interface elements, and miscellane-ous circuitry. Two ribbon cables with DIPconnectors form an umbilical cable of 28conductors between the processor and thedata acquisition system.

We use a cross assembler for PDP-8Eassembly language on a DEC PDP-10computer on campus. The 2000 wordprogram is loaded over the phonelines into our system in about 3 minutesat 300 bps. The Intercept Jr systemmonitor accepts the standard BIN loaderformat outputted by PDP-8 mini-computers or cross assemblers. At theend of program loading, a checksumis displayed on the numeric display toshow if there were any errors in trans-mission. We get perfect transmission morethan 90% of the time.

While in the lab, the data acquisitionsystem uses Intercept Jr to print memorydumps automatically at the end of anaveraging time. This has been extremelyuseful for debugging the program. When weare satisfied with its operation, the InterceptJr is removed from the data acquisitionsystem. The latter is then sealed in a titani-um sphere, and the entire apparatus isbrought out to the continental shelf torecord data for up to eight weeks. Thus, inthis project, the Intercept Jr serves as aremovable peripheral device used for pro-gram debugging, loading and testing.

When the data comes back on tapecassette, we use the Intercept Jr systemto dump the data to the Teleprinter for aquick look, and then dump the data overthe phone lines to the PDP-10 computerfor data analysis.

The data acquisition program is designedto operate in read only memory with 256words of programmable memory. Afterloading the program over the phone lines,we throw a switch which disables writecommands to all but the lower 256 wordsof the memory. This switch, which welabel RAM/ROM, has been very useful. Weuse the Intersil IM-6561 256 by 4 bit CMOSprogrammable memory. Harris Semicon-ductor is coming out with a field program-mable CMOS read only memory, HM-6612,which should be an exact replacement forthe IM-6561 programmable memory. Thiswill eliminate having to load the programevery time, but will increase power con-sumption. Each' read only memory willconsume 10 mA while being addressed.

Power Consumption

For any electronics which is to run onbatteries for an extended period of time,power consumption must be in the lowmilliwatt range. Many microprocessorsconsume more than 500 mW by themselves.Our CMOS data acquisition system con-sumes 18 mW of power. The CMOS circuitfamily has very low power consumption andfeatures almost as many different types ofcircuits as the TTL family.

The Intercept Jr CMOS microprocessorsystem comes with four alkaline D cellsthat last for about 20 hours of operationwith the LED numeric display on. Thefollowing current measurements are foroperation with the 2.45 MHz crystal oscil-lator installed:

5V

6V

HALTED

RUN

RUN with display

4.4 mA 5.6 mA

23 mA 30 mA

223 mA 350 mA

We see that the LED display takes ten timesas much power as the rest of the InterceptJr.

Power consumption in the CMOS com-puter system is proportional to the numberof instructions per second executed. Ourdata acquisition system samples data onceper second, does a little computation, andthen has nothing to do until the start df thenext second. Following Intersil's applicationbulletin, M005, we turn off the system clockwhile waiting for the next second. Thisreduces power consumption during thepause by a factor of 5.

The IM-6100 has a WAIT line that allowsthe use of slow memory. This WAIT statecan be used to reduce power consumptionfor all of the system except for the micro-processor itself. Turning off the clock tothe IM-6100 reduces current from 10 mAto .25 mA at the standard clock frequency.

We have also slowed the system clock to1 MHz. This allows us to increase the size ofthe pullup resistors from 1 k to 20 k ohmsin order to reduce power consumption. Ourdata acquisition system has to wait whilevarious peripherals are ready; slowing thesystem clock reduces the number of timeswe have to execute a wait loop. The reducedclock rate also permits us to use long cablesbetween the Intercept Jr and our dataacquisition system. The instantaneouscurrent consumed by our data acquisitionsystem is 10 mA. The average consumptionis only 3 mA due to its being on only about1/3 of every second.

188

BYTE December 1977

a

N

re you in the process of de-signing a turn-key computersystem?

o you have problemsfacing the hardware?

inter-

Then you need the hardware specialistCOMPUTER MACHINE SERVICE.

CMS is in the business of assembling and repairingof microcomputers and equipment.

CMS is not in the business to sell computer equip-ment.

Our primary objective ts to provide assembly serviceof the highest quality as well as prime quality repairservice on microcomputers and data communicationsequipment.

For information call: 213-328-9740or 213-328-9760

Or write: Computer Machine Service2909 Oregon CourtTorrance, CA 90503

FOR ALL YOUR HARDWARE PROBLEMSCMS IS THE ONE TO CALL.

BVTESHDP

the affordable computer store7825 BIRD ROAD QF(305)264-2983 MIAMI

DIAL264-BYTE M,AMI

WE HELP YOU GET YOUR SYSTEMUP AND RUNNING.

MEMORY EXPANSIONCOLOR TV GRAPHICSLEAR SIEGLER ADM 3PAPER TAPE READER

IMSAI8080

BYTE-8

SWTP MP68

CROMEMCO

PROCESSOR TECH

INTERFACES (KITS or ASSEMBLED UNITS)

IN FORT LAUDERDALE

1044 E Oakland Pk Blvd(305) 561-2983

ELCOM

ENTERPRISES

Now Distributing....

HAZELTINE 1500- Basic Terminal[kit or assembled]

CONTROL DATA - ConversationalDisplay Terminals [assembled]

ADDS - Regent 100 and 200Terminals [assembled]

BEE HIVE'S - B100 and B500[assembled]

TWX - New and Used

TELEX - New and Used

SHUGART - Mini-floppy Disc DriveUnits $310.00 while they lastlll

ALL PRICES FOB CONCORD. TN.BankAmencard/Visa and Mastercharge welcome

EICOtTI ENTERPRISES10728 DUTCHTOWN RD.CONCORD. TN. 37720(615) 966-33521615) 689-5559 - Call 24 hours.

DEALERS INQUIRES INVITED

El

Circle 31 on inquiry card.

Circle 14 on inquiry card.

Circle 47 on inquiry card.

CHESS

T> a crri

■ BAoIC

ctl

ha

g

sC

hlaasncar36

H1

ess

t r

a

lptie.

he

ES

adCa

■ y

Fr

BainsleiaySe

W 1

S E

ilifo

C E

p

en-

sic

ig

nc

\A

$]

rn

;t

0o

3 is a chess programn extended Basic. Itth of 7K charactersm intermediate leveli for a sample run to11 it plays.

SIC $10.00

.00 for shippingia residents add 6%

.ECTRONICSBOX 1832nt Calif. 94538

TYSON'S CORNER, VIRGINIA(WASHINGTON, D.C. AREA)

THE

COMPUTER SYSTEMSSTORE

"Specializing in Systems"

FEATURING:

Lear Siegier

DEC

SWTPC

Seals

Digilal Group

TDL

Books - MagazinesCOMPUTERS FOR HOME. SCHOOL. & SMALL BUSINESSOur slat) will help you selecl Irom ihe bes! of each manulac-lurer lo complete the system best suited to your needs.

SPECIAL: LEAR-SIEGLER ADM 3A

Processor Technology

Poy Morphic

Diablo

E & L

Vector Graphics

Apple

CROMEMCO

CSS

CDITIPUTER SYSTEmS STDBE

1984 CHAIN BRIDGE ROAD. McLEAN. VA 22101TELEPHONE (703) 821-8333

OPENING SOONALEXANDRIA.VA "NORFOLK.VA -BALTIMORE MD -ORLANDO,FLA

THE PROM SETTERREAD/WRITE

1702A and 2708

CAN ALSO WRITE and READ2716

AND OTHER EPROMS

ALTAIR/IMSAI COMPATIBLENO EXTERNAL POWER SUPPLY

LET YOUR COMPUTERDO IT ALL

SOFTWARE INCLUDEDDoubles as an 8 Bit Parallel I/O

KIT COMPLETE—$210ASSEMBLED—$375

DELIVERY LESS THAN 60 DAYSSZERLIP ENTERPRISES

1414 W. 259th STREETHARBOR CITY, CA. 90710Calif. Res. Add 6% Sales Tax

Circle 120 on inquiry card.

Circle 33 on inquiry card.

Circle 113 on inquiry card.

■ FLOPPY DISKS, MINI ORSTANDARD MEM0REX OR 3M

• 3M DATA CARTRIDGESDC300A. DC100A

• 3M DIGITAL CASSETTES

• 3M OR MEMOREX AUDIOCASSETTES, C-60

• 3M DISK CARTRIDGES

WE OFFER:•COMPETITIVE PRICING•IMMEDIATE DELIVERIES

(Any Quantity)• UNCONDITIONAL GUARANTEE

BETA BUSINESS SYSTEMS

83C9 VICKERSST.. #G

SAN DIEGO. CA 92111

1714) 565^1505

■

REMEMBER16K

ASSEMBLED AND TESTED

$520Features;

STATIC OPE RATIONACCESS TIME 2-5 On«SlOO BUS CO MPA 1 IEJL ELOW POWER TYPICALLY

EOSmq 8*

i 0 5ma 16v

2 4 rn ;i I6»rifgBATTERY BACKUP

AVATAR SYSTEMS

LAS VEGAS NEV 89 109(702) 733 8304

IT'S A GREAT BIG COMPUTER WORLD

But You Only Need

-w-THE COMPUTER CORNER:

~**~ •SOL - A New Dawn Is Here!

~**~ »IMSAI 8080

"**~ »POLY-88

■**" •TDLZ-80

~**~ •Memories & I/O Boards

-H-

-W— •Computer Book Service

M - •Magnetic Tapes & Disks _

+t— • Full Line of Magazines

H- *Brain Games & Puzzles

>f- •Workshops & Club Information _

*T Visit THE COMPUTER CORNER for

w all your computer needs. Stop in and

browse — you'll like our personal service.

fci THE COMPUTER CORNER

White Plains Mall - Upper LevelW 200 Hamillon Avenue

-X- White Plains, New York 10601

Tel: (914) WHY - DATA

Ample Parking10-6 DailY & Saturday

^( , 10-9 Thursday \>

Circle 11 on inquiry card.

Circle 134 on inquiry card.

Circle 23 on inquiry card.

High Speed Operation

We have not had any need for high speedoperation, but the Intercept Jr system canbe made to run at fairly high speeds byincreasing the voltage supply. The typicalinstruction takes 10 minor cycles for execu-tion:

Voltage (V)

5 V

6 V10 V

OSC Frequency (MHz)

2.54 MHz4.0 MHz8.0 MHz

Execution Speed (cycles per second)

200,000350,000700,000

The 8 MHz operation requires the use of the"A" version of the microprocessor. Thisoperates faster than the PDP-8E minicom-puter but takes less than .01 the power.

Option Cards

The UART card required the most modi-fication for our use. It has been designed foroperation only at 110 bps. We added theFairchild CMOS 4702 clock generator toallow selection of rates up to 2400 bps.

STATE OF THE ARTBOTH FORMS

There are two forms of the "state of the art". One form is thepersonal growth attained by most professionals who realize theymust stay in step, intellectually, with new concepts and newtechniques. Too often, a tragedy occurs when the professionalneglects the second form, his career development. The fatalmistake occurs when working in an environment that providesa continuous parallel to industry but neglects to provide theprofessional growth that is necessary to insure career develop-ment and avoid future frustrations. To insulate yourself againstthis happenstance, check with our professional staff. They willadvise you on your career development as it relates to yourtechnical development.

Our areas of specialization are:

SOFTWARE DEVELOPMENT

COMPUTER GRAPHICS

DATA BASE

COMPUTER DESIGN

SIMULATION AND MODELING

TELECOMMUNICATIONS

HARDWARE/SOFTWARE INTERFACE

For further information either call or send resume to:

PERRI-WHITE ASSOCIATES50 FRANKLIN STREETBOSTON, MASS. 02110

(617)423-1900 PERRI-WHITE & ASSOCIATES, INC.

ROBERT MARLOWE 5373 W. ALABAMA PLACE

HOUSTON, TEXAS 77056PERRI-WHITE & ASSOCIATES, INC. (713) 961-5500

44 MONTGOMERY STREET FRANK COLLINS

SAN FRANCISCO, CAL. 94104(415) 981-7000RICH ENGLE

Management Consultants

Specializing in Data Processing/Systems Engineering

All Replies Held In Strictest Confidence

The early UART cards were produced withRS-232 connectors mounted on the wrongside of the board. We also had to add a nega-tive voltage source. Our Texas Instrumentsteleprinter requires that a jumper be puton the UART card between pins 4 and 8.We found it very useful to add an LED toindicate when data was being received overthe phone lines.

The 1 K bytes of CMOS programmablememory that is available from Intersil hastwo AA cells mounted on the card forbattery backup. This card draws only 10/jAfrom the AA cells when power is turned off.It is affected by static electricity if it isremoved from its socket. Touching theprinted circuit side of the removal boardcauses a latchup on the card, scramblingthe data saved in memory.

The AUDVIS (audiovisual) board (6957)has 12 slide switches for inputs, and fourLED numeric displays with 12 LEDS inparallel for visual output, in addition to aspeaker for audio output.

We intend to introduce the micropro-cessors and the data acquisition system toscientists and technicians with the AUDVISboard, because it allows the new user toquickly get used to microcomputer inputand output, and binary to octal conversion.It was developed for use in 1 day InterceptJr classes given by Intersil around thecountry.

CMOS Logic Probe

The Intercept Jr system is meant to beonly a tutorial system. If one gets aroundto doing much hardware development, aCMOS logic probe becomes almost a neces-sity. For operation with the 2.45 MHzcrystal, the response time of the probemust be faster than 300 ns. ContinentalSpecialties, among others, has a fastCMOS logic probe with a useful pulselatch feature that turns on an LED if therehas been a logic state change. The hobbyistmight be interested in the AVR electronicsprobe which we have also used.

Selecting a Low Power Microcomputer

As a brief postscript we note that, as ofthis writing, the available battery poweredprocessors on the market include theIntersil IM-6100, RCA COSMAC, TexasInstruments 990 KL 16 bit microprocessor,and an upcoming l2L version of the NOVAminicomputer from Fairchild. We found itdifficult to obtain a cross assembler for anylow powered computer other than theIntersil CMOS PDP-8E, however."

190

BYTE December 1977

Circle 92 on inquiry card.

••INTRODUCING NEMESIS 7-•THE GAME WITH THE BRAIN

Tiif llrst. of ;t s..-ri«-s vif darjdhcli! computerized

«

■*is7 elecironicrttly duplicates e*acLly the nnc tenllffl, PabbUl wore nrr.ir.Rctl into 3 columns of 7, 5.

iv«- any nr all'pcbbleu from a column but could manipuli <m;c column per move. The loser took the last pebble,respectable opponent in Kemcsls' is a fixed progr.-uncomputer coniiistlnK of a custom designed LSI computer cbior.circuit. To win U extremely difficult but possible.Human opponents are also permittee).

Kasy to -isscnblo kit Includes alt parts Cexcepl batti?ry)including custom MQS computer circuit, PC board C case.Some soldering required $ 9.95

Kit th.it requires no soldering $14.95

Complete l ic tury .vihitnbleil name... . $16.95

Battery extra (9V transistor radio) 5 1-50

Include SI.50 shipping Nevada residents add 3fc PST

Send check or money order to:

Computer Creations Inc.1.18 West 2nd Street; Reno, Nevada; 89501

Id

WASH. DC AREA HOBBYISTS!

MicroDiversions

announces

HOBBYISTMICROCOMPUTING

An introduction to the design.

construction, and programming of

microprocessor-based computers.

EIGHT WEDNESDAY EVENING SESSIONS

JANUARY 4 -FEBRUARY 22

ThBse are companion "how-to-do-it"courses on the hardware and softwaretechnologies of personal computing taughtby Micro Diversions hardware and soft-ware designers. Coll/send/circle forbrochure.

HARDWARE - $75.00 SOFTWARE - $75.00BOTH $125.00

Classes limited in size: earlyregistration is recommended.

P.O. BOX 527

FALLS CHURCH, VA. 22046

(703)533-1133

South Florida

Sunny ComputerStores. Inc.

South Florida's First Computer StoreWE CARRY:

• ALPHA MICRO SYSTEMS,MICRO FILE, IMSAl

• BOOKS, MAGAZINES,NEWSPAPERS

• FULL SERVICE

• SOFTWARE

• WRITE OR PHONE US FORPRICES

MORE THAN JUST TOYS

Monday 12 noon — 9 pm

Tues.-Fri. 10-6

UNIVERSITY SHOPPING CENTER!1238A SOUTH DIXIE HIGHWAYCORAL GABLES, FLA. 33146(305)661-6042

Circle 24 on inquiry card.

Circle 72 on inquiry card.

Circle 110 on inquiry card.

CONVERT ANY TV

TO A HIGH QUALITY MONITOR

- NE* -

*■

HICH QUALITY

TTTTTTT V VT V VT V VT V

MOO -- KITS

*

•

••••

Hot Chassis or Transformer sets

S4-S0 characters per line

By-passes tuner & I.F.

formal viewing unaffected

Safe—Easy installation

ACVM Hi-Resolution $24.95 ppd

1FVM Ch2-6 Modulator $9.95 ppd

V

'AMP INC. Box 2931Los Angeles, Calif. 90029

Calif. Residents add 6% Sales Tax

5

TELETYPE

RECONDITIONING AND REPAIR

Prices for reconditioning of completemachinery including parts:

MODEL NO.

PRICES

M-32

ASR.KSR

$250.00

M-33

ASR.KSR

$250.00

M-35

ASR.KSR

$295.00

M-30

RO

$195.00

M-33

RO

$195.00

M-35

RO

$195.00

ALL PRICES FOB CONCORD, TN.BonkAmericarri • Visa and Mastercharge welcome

The prices listed above are for mechanicallycomplete teletype machines only. Quotesfor repair of incomplete machines madeon request.

E

IEICOm ENTERPRISES10728 DUTCHTOWN RD.CONCORD, TN. 37922(615) 966-3352(615) 689-5559 - Call 24 hours.

^^fik

WHAT ISa really good way toprotect all your valu-able back issues ofBYTE that will keepthem handy, clean, and

organized?

Send to: B YTE, POB 5120,

Philadelphia PA 19141

for information on binders and files.

Circle 125 on inquiry card.

Circle 47 on inquiry card.

r * %

MAKE YOUR COMPUTER PRODUCTIVEWITH SOFTWARE WRITTENu, IN NORTHSTAR BASIC

REM General Ledger t5

and Statements $75REM Mailing Labels $50REM Federal Income Tax $200,Schedule A and B

And More to Come . . .REM System Descriptions $2 each

REM System supplied on Diskette

with Program Documentationand Operating Manual

RUN Benson & Costello *29-02 23 A venueAstoria, New York 11105212-932-3316

% *

#

• computer .a depot ino. a

(Credit Cards Accepted)

• 3515 W. 70th St., Mpls., MN 55435 •

(612) 927-5601

" □ Motorola DII 6800

• Evaluation Kit $235.00 •

□ National SCMP Kit withKeyboard $190.00

• D E&L Digi-Designer Kit- •

Design Your Own

Circuits $ 77.75

• □ Speech Lab Kit-Talk To •

Your Computer .... $249.00

□ 2708 Eproms Full Spec

• 450NS From Tl & •Fairchild $ 16.95

□ IMSAl 8080 Complete 22

• Slots All IC's with Sockets- •Assem . & Tested . . . $850.00 #

□ TTL Catalog and Remember,

• We Pay The Shipping. •

Name

• Address •

• Part No. Qty. Amt. Enclosed •

CANADIANS!

Introducing our kit-by-the-monthplan available for only $500.00 downand $150.00 per month.

(Write for more information)

IMSAl 8080 KIT: $897.50

ASSM: $1245.20

Canadian Duty and Federal Tax Included

Hobby systems from $999.00 (Kit).Business/engineering systems from$11,900.00.(Assembled and Installed*).Educational discounts available. Wewill develop custom application pack-ages. Contact us for further informa-tion. Send $1.50 for catalogue.

VISA ■ CHARGEX ACCEPTED f\

Rotundra j^Mi

Box 1448, Calgary, Alta. T2P 2H9Phone (403) 283-8076

{Installation outside Western Canada extra).

Cybernetics

Circle 10 on inquiry card.

Circle 26 on inquiry card.

Circle 97 on inquiry card.

A Noteto NoviceKit Builders

Be certain that when you are putting to-gether a kit by soldering in your integratedcircuits that the identity of pin 1 positionis unambiguous. A particular example werecently learned about by personal ex-perience was the Texas Instruments TIMS-4044NL 4 K memory part used by a noviceto assemble an 8 K memory board froma kit product. The instructions for thisparticular kit quite properly stated that:

. . .the "dot" or "notch" on the endof the package is used for orientationpurposes and must match with thatshown on the component layoutdrawing for each of the integratedcircuits.

The only problem was that the part (for thenovice) was ambiguous:

shallow cjrooue with iniecmold mark circle

1—II II—II—1

lion

incorrecl Pif wrong no

I

n 1

ndemifical

^~~N

TMS4041NL-45P7727

C

( }

— zz

V_^

u u u u

1 11 II 1

LJ

L_J

The first-time novice who assembled theboard in question chose the deep notchas the identification of the proper end ofthe IC for pin 1, and was 180° from theproper orientation. The only other confir-mation of proper orientation would be thatpin 1 is at the left when the markings onthe IC are read in the normal fashion. Laterinspection of the mechanical data sectionof a Tl manual confirmed that the properorientation of the package in this case wasgiven by the shallow rectangular groove."

First Come

First Served

Back Issues of BYTE

About 300 July, 200 Aug.,and 500 Sept. 1977 issues ofBYTE. Orders will be filled on afirst come first served basis untilthe supply is exhausted; we willpartial ship and return any moniesin excess.

Readers please send $2.00 foreach issue; this includes postageand handling.

The Computer Place186 Queen Street WestToronto M5V 1Z1416-598-0262

Dealers please inquire.

^Complete listing of all feature \articles appearing in Volume Iof BYTE —September 1975 thruDecember 1976. Indexed for easyreference. Includes all errata.

REET

V*

To get yours, send a t.24 stamped self-addressedenvelope to:

BYTE Index70 Main StreetPeterborough NH 03458 A

192

BYTE December 1977

Deep Within Every

Novice Lurks a

Computer Hacker

Waiting to Get Out

Help free the novice in your life withtwo outstanding selections from BITS. . .

Your Home Computer, by JamesWhite, is a clearly written nontechnicaldescription of personal computers thatrequires no prior knowledge of computersor electronics. The emphasis is on under-standing; over 100 illustrations are included.Topics include: computing and you; com-munication inside a computer; computerthought processes; fixed memory; inputsand outputs; peripherals; systems com-ponents; how to choose a microcomputer;and so on. Your Personal Computer is theideal book for readers who thought theycould never understand how computerswork. And the best part is that it's easyand fun to read. Yours for $6.

The perfect book for the layman orwoman, How You Can Learn to Live WithComputers is a lively account of theseubiquitous machines and their role inpresent society. Author Harry Kleinbergbegins with some elementary logic andshows how a simple hardware circuit can beused to illustrate logical concepts. $8.95.

BITS Inc70 Main StPeterborough NH 03458

For ease in ordering, use the coupons onpages 123, 125 or 167, writing in thename(s) of the book(s) you want.

Please note that processing may exceed 30days in unusual cases.

Circle 1 2 on inquiry card.

What's New?

Program Development System

This new portable program develop-ment system is manufactured by Zilog,10460 Bubb Rd, Cupertino CA 95014.At $2850 in single unit quantities, theuser gets a system which includes a 300K byte full size floppy disk, 16 Kbytes of user programmable memory,3 K bytes of internal programmableread only memory, and an RS-232or current loop interface to a terminal.Add a terminal to this box, and indivi-dual users may find the price quiteattractive as well as the commercial andindustrial users for whom the system wasintended."

Circle 579 on inquiry card.

8085 Processor Card

Space Byte, 1720 Pontius Av, Suite201, Los Angeles CA 90025, makesthis $499 8085 processor card for theS-100 bus. The board includes a monitorprogram, RS-232 serial ports and inter-face for the iCOM 3700 or FrugalFloppy disk systems.*

Circle 580 on inquiry card.

8

O>«■

(0

u

u

c

(0

u(S

0

<

<

Q

<<

bp.

5-1

O uj</>>

3Oj

2dS<

3 a

£ CA«3

-J<

X

%

H3

a.

H3O

-J

UJ

-J

HZ

UJ

az

UJ

a.

UJ

Q

z

>

5<

oa.

a."oO-j

H

ZUJ

a3

3

JU

UJ Q

> UJ

-J <

z o

<2

oflO cjJ £- cs3 ft w

£<"

>-o2en cm uj

a

§<-- SB

u t

a. 5

. o

>■ z

< -

gJ

a. uj - uj

Oijgwp0S£ ZJ

oSSh

a. 5 -i «2

B O U. &

O-uj-J

Z UJ t/5 H< <N UJ 5

DC

O

HZ

UJ

S

UJ

U

<-J0.

UJ

s

CO

CO*■**

OS

<

UJ^

DC >UJ -JH Z

5 <»x o

^s

< a.tx> a.

< in

uj 3

RE H> >> OUJ UJ UJ

X * -J

H- t- W

<«£

uj uj cca. a. uj

UJ uj uf)

a ce 3

*■* «T «J ■*■*

> cfl s Q

+ PS O Z

. a g z uj

Q

3<CO

z<o

H

as

UJ

'</)

3

>CO

Q

UJH(/)

3

Q<

-J

55<u

H

3QCQ 3

Q<3 03

<o

CO ©

f rt s< — O

O H H

uj h 2

eineos

UJ H UJ0. O H

5t2«

z<

HCfiUJ

U

z

3UJ

t/J<

O(/1

UJH<Z

.a£

4)

uQ

IS 3

-1

UJ

> 2.uj -.

3 os §

u. £ —— Ohluo.w wO

H OS =(JCfiO I uj

Ujii3o

Szza

UJ Q B. 5

_j uj <* O

o

uHCDU

H

QZ

<

Qu

CQ

u

CDCD

aU

9)

s>

0■c

u

O)

c

?

ca-cOo

2

o

IN

OS

in

n

>«■

t-

(0

0

■■■■1

10

<

LUo

u

EQ

D

z<cc

LL

z<

z"<

zz<cc

CD

J

<

(0

hz

UJ

z

0

a

1

0

u

Circle 21 on inquiry card.

BYTE December 1977

193

Get Your FREE Subscription *

Find out all the LA TEST details about the

SECOND

&

COMIN' ON STRONG

• A Major Conference Program(published Faire Proceedings to be available, on-site)• Banquets with Fascinating Speakers• A MASS of Exhibits

5 Months Before the Second Faire

*s>

the following 50Administrative Systems, Inc.Anderson Jacobson, Inc.Apple Computer, Inc.Berg PublicationsBITS

Byte Publications, Inc.Byte Shops of Arizona/Micro AgeCalifornia Business MachinesCamelot Publishing Co.Cherry Electrical Products Corp.CMC Marketing Corp.Compucolor Corp.Computer Kits, Inc.Computer Warehouse StoreCreative ComputingCromemco, Inc.Digital Group

companies had already formally requested exhibit space:

Dymax

Electronics Emporium International

Godbout Electronics

Heuristics, Inc.

Ibex

Integrand Research Corp.

Interface Age

International Data Systems, Inc.

Ithaca Audio

Jade Co.

Micromation, Inc.

Motorola, Inc.

Mountain Hardware, Inc.

Neutronics

Newman Computer Exchange, Inc.

North Star Computers, Inc.

Osborne & Associates, Inc.

Paratronics, Inc.

People's Computer Co.

Phonics, Inc.

Promedics Data Corp.

Quay Corp.

RCA Corp.

SD Sales Co.

Smoke Signal Broadcasting

Solid State Music

Southwest Technical Products Corp.

Standard Engineering Corp.

Sybex, Inc.

Tri-Tek, Inc.

United Technical Publications

Ximedia Corp.

Xybek

FIRST West Coast Computer Faire

had • almost 13,000 people

• around 180 exhibitors

• almost 100 conference sessions

• four banquet speakers

all in just TWO days

SECOND West Coast Computer Faire

is THREE days long

March 3-4-5, 1978

9am-(ipm 9am-f>/mi Nottn~5pm

San Jose Convention Center, San Jose, Californiain the middle of Silicon Valley

Get the FREE Silicon Gulch Gazette

for all the latest details:

• Send us your name & mailing address

• The Gazette -- a tantalizing tabloid touting the Faire

& offering

'hot news" and "raging rumor" regarding home & hobby computing.

-AIRE BOX 1 579, PALO ALTO CA 94302 D (415) 851-7664j

*

194

BYTE December 1977

Circle 129 on inquiry card.

„jjv

1^

Q(P

SPEAK!

AT THE

SECOND

<%

Vx- *>ev

"<*

'<?

• Tutorially Talk about our Tantalizing Thinkertoys• Comprehensively Comment on your Complex Computer Calisthenics• Describe Daring Digital Deeds

CHOOSE YOUR OWN TOPIC S)

^

Topics at the FIRSTt Tutorials for the Computer Novicet People & Computerst Human Aspects of System Designt Personal Computers for the Physically Disabledt Legal Aspects of Personal Computingt Amateur Artificial Intelligencet Computer Art Systemst Music & Computerst Electronic Mail

t Computer Networking for Everyonet Personal Computers for Educationt Amateur Radio & Computers

West Coast Computer Faire included:

t Residential Energy & Computers

t Computers & Systems for Very Small Businesses

t Entrepreneurs

t Speech Recognition & Speech Synthesis by Home Computer

t Tutorials on Software Systems Design

t Implementation of Software Systems & Modules

t High-Level Languages for Home Computers

t Multi-Tasking on Home Computers

t Homebrew Hardware

t Bus & Interface Standards

t Microprogrammable Microprocessors for Hobbyists

t Commercial Hardware

NOTE: The Conference Proceedings of the First West Coast Computer Faire carries over 320 pages of these tutorials & technicalpresentations, many discussing the state-of-the-art in home & hobby computing. The Proceedings is immediately available fromComputer Faire (within California, $13.40; outside California, $12.68; foreign, please write for rates-payment must accompanyorder), or from your local computer store (a dastardly dis-service to you if it's not!).

FOR YOUR TALK TO RE PURLISHED

in the Proceedings of the SECOND West Coast Computer Faire,which will be available at the Faire,

abstracts & camera-ready papers

will be needed.

CALL or WRITE:

f Tell us your topic^mm^^*~ f Request Speakers' Instructions ~^^P^™^^ Deadline for submitting title & brief abstract of your talk(s): 1977 Dec 15 ^t

^p- Deadline for submitting camera-ready, full-text paper in specified format: 1978 Jan 2 ^M

DMPUTER FAIRE BOX 1 579, PALO ALTO CA 94302 D (41 5) 851 -7664 D

Circle 129 on inquiry card.

BYTE December 1977

195

What's

New Aid for Machine Language Hackers

Microcomputing enthusiasts who lackan assembler and must program inmachine language (without the benefitof a power eraser) may appreciate thisnew product. The Basic OperationalProgramming Aid (BOPA) comes with32 removable, reversible plastic slatson which machine code can be written,one byte to a slat. Machine instructionscan be inserted or rearranged simply bymoving the slats around. A set of BOPAscan be carried in a 3 ring binder. Thebasic BOPA is $11.95, with a specialink pen for $1 and a solvent solutionfor $1.25. An expanded 256 entrysystem is also available for $74.95, fromVamp Inc, POB 29315, Los Angeles CA90029."

Circle 521 on inquiry card.

Two Ways to Convert Your TVto a Monitor

There are two ways to convert yourTV set to a video monitor: You can usethe video signal to modulate a high fre-quency (RF) signal, creating a tinytransmitter which is attached to theantenna terminals of your TV set, oryou can physically modify the set toenter the video signal just beyond theTV's video detector. The former methodrequires no modifications to the TV, butlimits the bandwidth of the signal andhence the number of dots making upcharacters across the face of the screen.

You can take your choice of thesemethods with two kits from Vamp Inc.The RFVM-1 kit ($8.95) includes a1.25 by 1.75 inch (3.2 by 4.4 cm)printed circuit board which is designedto be installed inside your video sourceand attached to the TV through theantenna terminals, yielding a frequencyresponse of up to 4 MHz. The ACVM-1kit ($23.95) includes a 2 by 3 inch (5.1by 7.6 cm) baord designed to be in-stalled inside the TV set and provides afrequency response up to 10 MHz. Abypass switch is included with theACVM-1 to permit normal TV programviewing. Both kits are complete with allparts and can be obtained with a $1shipping and handling charge from VampInc, POB 29315, Hollywood CA90029."

Circle 523 on inquiry card.

New Power Supplies

Circle 522 on inquiry card.

The new SPS-D and SPS-T multipleoutput DC power supplies are designedfor microprocessors and memories,floppy disks, and similar applications.Available with adjustable voltages from± 5 VDC to ± 28 VDC and currentsfrom .1 to 1 2 A, the units feature com-plete isolation between outputs, currentlimiting, short circuit protection, andoptional overvoltage protection. Pricesrange from $104 to $139 and weightfrom 7 to 16 pounds. Additionaltechnical information and a new catalogare available from Standard Power Inc,1400 S Village Way, Santa Ana CA92705, (714) 558-8512."

Attention Homebrewers:

Roll Your Own Case with This Package

The "Flex-i-pak," a flexible instru-ment housing system, is supplied in abasic unit frame configuration with avariety of chassis and brackets to choosefrom as needed. Extrusions, brackets andpanels contain a pattern of holes on Viinch centers, allowing easy "erector set"construction. Card guides may be in-stalled in a variety of ways. The basiccase, measuring 17 inches (43.1 cm)by 13, 16 or 20 inches (33.0, 40.6 or50.8 cm) with heights from 3.5 to12.25 inches (8.9 to 31.1 cm), featuresvinyl covered top and bottom, side railsand perimeter frame of extrudedaluminum. Price of the Flex-i-pak insingle quantities varies from $72 to $145from the Buckeye Stamping Company,555 Marion Rd, Columbus OH 43207,(614) 445-8433."

Circle 524 on inquiry card.

Attention Readers, andVendors. . .

Where Do New Product ItemsCome From?

The information printed in thenew products pages of BYTE isobtained from "new product" or"press release" copy sent by thepromoters of new products. If inour judgment the neat new whiz-bang gizmo or save the worldsoftware package is of interestto the personal computing experi-menters and homebrewers whoread BYTE, we print the informa-tion in some form. We openlysolicit such information frommanufacturers and suppliers tothis marketplace. The informationis printed more or less as a first infirst out queue, subject to oc-casional priority modifications.

196

BYTE December 1977

Bit Status Display

DATA

Greg Tomalesky164 Preston RdParsippany NJ 07054

Here is an interesting modification to the7 segment display circuit shown in figure 3of "LEDs Light Up Your Logic" in February1976 BYTE, page 54. The original circuitdisplayed 1 or 0 to indicate the corres-ponding logic state. With the addition of twomore 7437 inverters and some rewiring (seefigure 1), the circuit will display H and L inplace of 1 and 0. I used a DL-704 commoncathode display, but of course a commonanode display may also be used.

Carrying this idea a little further, youcan display HI and LO in a similar mannerby using two displays.

7 segment displays can be used to dis-play many other letters such as A, C, E, F,H, I, J, L, O, P, S and U in upper case, andb, c, d, h, i and o in lower case. The uppercase letters A, C, E, F and the lower case band d may be used in conjunction with the

/ff 12 (GND)

numerals 0 thru 9 to form hexadecimaldisplays for use with microcomputers suchas the M6800 and MC6502, which havehexadecimal based structures."

Figure 1: This 7 segmentdisplay will monitor thestate of a single bit andoutput an H or L depend-ing on the status of thedata input. Power connec-tions to the 7437 inverterare +5 V to pin 14 andground to pin 7. All re-sistances are measured inohms and all resistors are0.25 W.

4K RAM BOARD

Assembled and tested. ^AA AB

See kit below.4K RAM BOARD KIT

450ns Access RAMs

Fully Buffered

Low Power $79.95

Static

5V only

4V4 x 6 inch board

Buy 4 RAM Board kits at$79.95 each and an 8 slotMother Board is yours

lncludes-8 connectors and card guides. FREE.

MOTHER BOARD

8 SLOT 44 PIN BUS

50 Pin Edge Connector

Mother Board $20.00 eaConnectors 2.50 ea

Card guides for above $10.00 per set.

4K PROM

-Low Power DV^/%KU

-5 V Only

— Industry Standard Bipolar ROM—Compatible With Our Bus

KIT WITH 2K OF PROM $79.95

Additional 2 K of PROM $40.00

2102 — $1.30 Multiples of 25 only.Low power, 450 n.s. Access and cycle.

DANA 2000A MultimeterRegularly $199.50 Our Price $165.00

MAKE CHECK OR MONEY ORDER PAYABLE TO:

Kathryn Atwood EnterprisesP.O. Box 5203, Orange, CA 92667

Discounts available at OEM quantities. For orders less than$25.00 total, add $1.25 for shipping. California residentsadd 6% sales tax. Estimated shipping time 2 days ARO withmoney order. For checks allows 7 days for check to clear.

Circle 7 on inquiry card.

BYTE December 1977

197

What's New?

A Quick Way to Panel Mount LEDs

6800 System Analyzer

Designed for use with the Motorola6800 microprocessor, this system ana-lyzer features single step instructionexecution, a hardware implementedbreakpoint which shifts from full speedto single step mode when a selectedaddress is reached, loop counting, andcycle delays. Hexadecimal addresses,loop counts and delays are set up withthumbwheel switches and displayedon LEDs. Priced at $995, the unit isoffered by Telcon Industries Inc, 5701NW 31st Av, Fort Lauderdale FL 33309,(305) 971-2250."

Circle 525 on inquiry card.

Hard Copy from Digital Panel Meters

Furniture for the Micro Age

A desk specifically designed to housea personal or business microcomputersystem is now available from ComputerSystems Design. The "Microdesk" (atrademark) can be easily assembledwithout tools in five minutes. The deskis constructed of high density vinyl cladboard and measures 48 by 24 by 28 inch(122 by 61 by 71 cm). A sliding shelf atconvenient typing height is provided fora keyboard. Also included for equipmentand books are two fixed shelves, one ofwhich is adjustable. Available as optionsare additional shelves or rails for rackmounted equipment. The Microdesk isavailable for $96.50, FOB Wichita, fromComputer Systems Design, 1611 ECentral, Wichita KS 67214, (316)265-1120."

Circle 527 on inquiry card.

This adapter converts digital panelmeter outputs in binary coded decimal(BCD) to Teletype inputs, for hard copyand paper tape records of panel readings.The Model DPT-415 has a presentformat that enables printing of up tofive digits, a sign and an additionalcharacter. It generates spaces, carriagereturns and line feeds. The DPT-415is complete and runs on a 5 V powersupply. The driving circuitry for the20 mA Teletype connection is includedon the 6.5 by 4.5 inch (16.5 by 11.4 cm)printed circuit board. The unit sells for$275, or $95 in quantities of 100, fromDigital Laboratories, 600 Pleasant St,Watertown MA 02172, (617)924-1680."

Circle 526 on inquiry card.

This one-piece lens and panel mountfor T VA light emitting diodes, calledCliplite, snaps securely into a 14 inchhole and requires no tools to assemble.A point source LED used with theCliplite produces a display five timesbrighter than a diffused LED withoutany loss in viewing angle. Five colors:red, green, amber, yellow and clearallow the Cliplite to enhance and pro-vide uniformity of color output fromLED to LED. The units are priced at$.10 in 10,000 quantities. A free sampleand data sheet can be requested on acompany letterhead from Visual Com-munications Company, POB 986, ElSegundoCA 90245, (213) 822-4727."

Circle 528 on inquiry card.

If It's a Long Way from Your Terminalto Your Computer. . .

A new line of RS232C EIA datacables is available in lengths up to 250feet and longer. The cables feature lowcapacitance (12 to 14 pF per foot),twisted wires to reduce crosstalk and.shielding to protect against electrostaticnoise. The cable sells for $18.50 for twoRS232C end connectors plus $.75 perfoot, from Data Set Cable Company,7 Danbury Rd, POB 622, RidgefieldCT 06877, (203) 438-9023."

Circle 529 on inquiry card.

198

BYTE December 1977

Circle 9 on inquiry card.

All Prime Quality — New Parts Only

Lowest Prices — Satisfaction Guaranteed

EDGE CARD CONNECTORS: 25 PIN SUBMINIATURE CONNECTORS:

Bifurcated Contacts. Not tin. Gold over nickel. 50/100 Pin (.100, Gold Plated Contacts.1.25, + .1 56 Pin spacing). Double Read out.

DB25P Plug $2.90 ea 5 pes $2.75

50/100 Altair Type -Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB25S Socket $3.90 ea 5 pes $3.75

507100 Imsai Type - Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB51212-1 Hood (grey) $1.00 ea 5 pes $.95

50/100 Imsai Type with Guides $4.50 ea 5 pes $4.25 ea DB51226-1A Hood (black) $1.00ea 5 pes $.95

Imsai Guides only $ .30/pr 5 pr $ .25/pr

SAVE:

All other contacts available: Solder Eyelet, Wire Wrap, etc. All gold. Buy a complete set:Many other types available: 10/20, 15/30, 18/36, etc. 1 Plug, 1 Socket, 1 Hood (any) $7.00/setWhen ordering: specify type of contact. 5 sets $6.50/set

eaeaeaea

2708 1KX8 PROM 450 NS

$18.00 ea

5 pes or more $1 7.00 ea

8080A- PRIME

$13.00 ea5 pes $12.00 ea

Write for larger quantity discounts.Dealers welcome.

Minimum order $10.00: Add $1.00 for shipping and handling.Orders over $25.00: We pay the shipping: Calif, residents add 6% tax.No COD's: For immediate shipment send money order or cashier's check.

When ordering:

State method of shipment:

Mail or UPS.

ORDER FROM:

Beckian Enterprises

P.O. Box 3089 Simi, Calif. 93063

ESAT-100

Economical Stand Alone Terminal

Assembled, Tested, Burned-ln S239.00

For Teletype. SCMP. Jolt. Kim SBC 80 User; A reliable, inex-pensive, self contained Communicating Terminal, completelyassembled, burned in, ami tested S239.00

SPECS 32 character x 16 lines * 2 pages of 5 * 7 dot main* 64character ASCII communicating with a serial, asynchronous 11unit code. TTL compatible from 300 to 9600 baud. KeyboardControls are back and Forward space, line leed, cleai page, or toend of line, select page 1 or 2. fullAialf duplex, local/remote,cursor on/off. odd/even/no parity. Output to TV rVonitor isComposite Video, 75 Ohms. Keyboard required is parallel output 7 unit ASCII with negative true strobes Keyboard may tapup to 200 Mo. from the ESAT 100 onboard 5V power supply.Power required il 11QVAC (™ 7 watts

COMMENTARY At this writing (10 1 77), the ESAT-100 is theonly Stand Alone Terminal board requiring only black andwhite TV sei and ASCII Keyboard You do not have lo havea S100 Bus Machine. O' even a computer May be used in con[unction wth a Modem and your home TV set to provide a limeshare type terminal at any Baud rate you desire.

Note, commercial terminals use an 80 character x 24 line lormat However, we have chosen 32 character * 16 hues for television set applications because of the limned resolution availableon mosl TV sets.

Nonetheless, for those of you who are the owners of eitherhigh quality video monitors, or the best of Japan's TVteceiveis.we offer the

Scrollboard Adapter Kit (designed to fit on ESAT 100) with 64characters x 16 lines and Automatic Scrolling for S29.95M & R Super mod Ft F Modulator for antenna connecHon withyour TV set Runs o'f of ESAT 100 power supply color andblack& wh.te for S24 95

itllf!

Sfiiii

ill Hi6! Mi*

CAP. SPECIAL:

The Highest Quality.

By pass anywhere;

VK06 0.1/100V for S0.29

LINEAR

LM380N 1.39

LM340T 5,12,15.99

NE560

NE561

NE565

NE566

NE567

LM1812

LM18S9

Full Color TV Game Kit:

Includes MM57100 Game Chip, MM53104 Clock Gen.. LM1889N ColorModulator, 3.58 MHz color burst oscillator crystal, variable cap for crystaladj. and PC board. Very impressive on color sets. All data sheets andschematics included...$25.95

Direct Reading Capacitance Meter Kit:

Here is a handy shop item incorporating a reliable and accurate measurement method which works from 01 pico i d to 10 micro + d. Includeslarge 6" scale analog meter movement, all electronic parts and full documentation and theory of operation. Requires 5V and + -12V power. Makesaccurate readings directly and instantly! No tuning, fiddling or interpolation required. Full documentation and theory...$39.95

5V Regulated Power Supply Kit:

Provides regulated 5V £*> approx. 250 ma for benchwork, breadboards andsmall projects. Includes LM340T-5 regulator, rectifiers, filter caps, andwall-plug transformer. Full notes...56.95

Nicad Batteries and Charger:

2 ea 2AH 'C' size Nicads (great for memortiter flashlights, etc. and charger...SI 3.95

2.952.951.951.491.494.954.95

VERBATIM Removable Magnetic Storage MediaPRICE REDUCTION!Minidiskettes 1-9 10-25 26-100

4.79 4.65 4.45

CPU SPECIALS

8080A 10.95

280 (2mHz) incl.18mHz Xtal 33.95Z80A (4mHz) incl.36mHz Xtal 39.95

OPTOCOUPLERS

4N26 1 00

PROMS

8223 Special 10/9.95

82S1158 x 512 15.95

EPROMS

MD525-01MD525-10MD525-16

Standard Size

Diskettes

FD34-1000

FD32-1000

FD65-1000

Cassettes

R-300

Digital Direct

RAMS

(Soft Sector) for: Intelligent Systems,

Magnovox, Microkit, and Vector Graphics

(10 Sector, Hard) for: Digi-log, North Star,

Polymorphic, Tei Inc., and Wang

(16 Sector, Hard) for: Altair, Comtek,

Micropolis, R2E, Realistic Controls,

and Teleray- Research Inc.

1-9 10-25 26-! 00

5.99 5.33 4.79

(Soft Sector, IBM Std.)

(Hard Sector, Inner dia.)

(Hard Sector, Outer dia.)

1-9

5.25

10-25

4.99

26-100

4.35

2708 650nS2708 450nSC1702A 1000nSMM5203QMM5204Q

12.95

16.95

4.95

4.95

9.95

21 L02 121 L.0221 11 AL-4C3107BPD41 1D-4

450nS250nS450nS60nS135nS

1.25

1.502.301.993.99

and OTHERS

AY5-1013 4.95

8K Static Memory Boards

Tested, Burned-ln, CompleteS1 79.00 for 450nS$239.00 for 250nSS 19.00 for Bare Board

4£K£S ctf^bTW fr

MM5369MM53202513 Up.2513 Lo.IN4005IN4148

Electrolabs

POB6721,Stanford, CA94305

415-321-5601

1.69

6.00

5.95

6.95

11/1.00

15/1.00

SATISFACTION100% GUARANTEED!

y power-fail CKTS, cold wea

TO ORDER:

Send check or money order and include $1.00 for shipping, 1.00 (optional) for insurance, and please include GYi% sales tax if you are aCalifornia state resident. COD orders add .85 Thank you.

Circle 48 on inquiry card.

BYTE December 1977

199

What's New?

Give a Jewel

In Isolation, RS232 and 20 mAGet Along

This adapter provides both RS232to 20 mA current loop and 20 mA toRS232 conversion, implemented withoptoisolators. It can be used to inter-face a terminal of one type to a com-puter of the other type for both inputand output, or it can be paralleled toprovide secondary output on a Teletypeor RS232 printer while still using thecomputer's primary terminal. The adap-ter comes assembled and tested withuser instructions. It is built on a 3 by 3.5by 1 inch (7.6 by 8.9 by 2.5 cm) printedcircuit board, with drilled, plated-through solder pads for all connectionspriced at $24.50, or with barrier stripsand screw terminals (pictured) for$29.50. Contact Connecticut Micro-computer, Pocono Rd, Brookfield CT06804."

This Wire Wrapping Kit is OK

Hobbyists and prototype engineerscan get started with wire wrapping usingthis new kit. The kit features a combina-tion tool for wrapping, stripping andunwrapping, a 50 (15.2 meters) foot rollof wire, two 14 pin and two 16 pin DIPwire wrap sockets, and a 4 by 4.5 inch(10.2 by 11.4 cm) prototyping boardwith a 44 pin edge connector usingstandard .156 (0.4 cm) inch spacing. TheModel WK-3B kit is available for $15.95from your local electronics outlet ordirectly from O K Machine and ToolCorporation 3455 Conner St, Bronx NY10475, (212) 994-6600."

At last, integrated circuit technologyhas found an imaginative use in jewelry.The Star Jewel pendant has a red lightemitting diode in a mirrored multi-faceted lucite setting. An integratedcircuit, powered by two inexpensivehearing aid batteries, blinks the LEDabout three times a second. One setof batteries will run the circuit forabout 300 hours, which should beenough for two to three months ofuse, depending on how vigorous yournight life is. Star Jewels are availablewith red, green, blue, silver and smokecolored gems and come complete withpendant chain, batteries and a velveteenpouch. The price of $31.25 includespostage and insurance, and the elec-tronics and wokmanship are guaranteedfor one year. A catalog of hand craftedjewelry, ray guns, and science fictionand computer art is also available for$.25 (free with a Star Jewel order) fromATRA, POB 456, Minneapolis MN55440."

Circle 530 on inquiry card.

Circle 532 on inquiry card.

Circle 533 on inquiry card.

Improvements in SolderlessBreadboarding

New versions of A P Products'Unicards provide five tie points ratherthan four in each row of terminals,making them ideal for breadboarding 24and 40 pin LSI integrated circuits. TheUnicards provide solderless, plug-in tiepoints in a .1 by .1 inch matrix. Theyhave a standard .156 inch center spacing22 pin double sided edge connector andplug into standard 5.25 inch card racks.Extender cards are also available.Additional features include rubber feetfor bench work and extractor handlesfor easy withdrawal from card racks.Unicard I, priced at $31.50, has 960 tiepoints, while Unicard II has 1620 tiepoints. The cards are available fromA P Products, 72 Corwin Dr, Box 110,Painesville OH 44077, (216) 354-2101."

Circle 531 on inquiry card.

200

BYTE December 1977

Digital Research Corporation

16K E-PROM CARD

S-1001 1 MSA 1/ALTAIR) BUSS COMPATIBLE

DEALER INQUIRES INVITEDSPECIAL OFFER: Our 2708's (650 NS) are $12.95 when purchased with above kit.

$69.95 (kit)

IMAGINE HAVING 16K

OF SOFTWARE ON LINE AT ALL TIME!

KIT FEATURES:

1. Double sided PC Board with solder mask and silk screen andGold plated contact Fingers.

2. Selectable wait states. f USES

3. All address lines and data lines buffered!

4. All sockets included.

5. On card regulators.KIT INCLUDES ALL PARTS AND SOCKETS! (EXCEPT 2708's)

ADD $25 FORASSEMBLED AND TESTED

FULLY STATIC! $149.00 KIT

KIT FEATURES:

1. Double sided PC Board with solder mask and silk screen layout.Gold plated contact fingers.

2. All sockets included! S-100 (1MSAI/ALTAIR)

3. Fully buffered on all address and data lines. BUSS COMPATIBLE

4. Phantom is jumper selectable to pin 67.

5. FOUR 7805 regulators are provided on card.

¥ *

8K LOW POWER RAM KIT!

PRICE WAR!

For a limited time only:Buy two 8K Kits for $129 ea.

Fully Assembled and Burned In —Blank PC Board With Documentation —TAKE THAT BILL GODBOUT!

USES21L02-1RAM'S.

$179.00

29.95

COMPUTER GRADE CAP.

48,000 MFD 25 WVDC Mallory$3.95 NEW!

TR1602B UART$4.50

8 POSITION DIP SWITCH

By Cts. Fits 16 Pin Socket.$1.95

RCA HOUSE #2N3772

NPN Power Transistor. 30 AMP.

150 W. VCEO-60. TOO. Vastly out

performs 2N3055. Reg. List $3.04

2 FOR $1

T. I. ASCII CHARACTER GENERATOR

TMS 4103 JC. 28 PIN CER DIP. Has

seven bit COLUMN Output for use with

Matrix hard copy devices. With specs.

$3.50

Tt$W- 4K STATIC RAM'S ^W;

2114. The industry standard. 18 PIN DIP. Arranged as IK X 4. Equivalent toFOUR 21L02's in ONE package! TWO chips give IK X 8. with data.

2 FOR $24

450N.S.!

MOTOROLA 7805RVOLTAGE REGULATOR

Same as standard 7805 except 750 MA

OUTPUT. TO-220. 5VDC OUTPUT.

$ .44 each 10 FOR $3.95

NATIONAL SEMI. MA1003 CAR CLOCK

Not a kit. Complete tested module.Works on 12 VDC, has on board timebase. Sold by others at $24.95. Big .30"Bright Green Digits. Same as used byDetroit in new cards.

$19.95

EDGE CONNECTOR — $1.50

Z - 80 PROGRAMMING MANUAL

By MOSTEK. the major Z - 80 second source. The most detailed explanationever on the workings of the Z - 80 CPU CHIPS. At least one full page on eachof the 158 Z - 80 instructions. A MUST reference manual for any user of theZ - 80. 300 pages. Just off the press! A D.R.C. exclusive! £| 2.95

2708 EPROMS 27°8

Prime new units from a major U.S. mfg.650 N.S. access time. Equivalent to four1702A's in one package!$15.75 each

TERMS: ORDERS UNDER $15 ADD $ .75. NO C.O.D. WE ACCEPT VISA, MASTER CHARGE AND AMERICANEXPRESS CARDS. MONEY BACK GUARANTEE ON ALL ITEMS. TEXAS RESIDENTS ADD 5% SALES TAX.

Digital Research Corporation

P. O. BOX 401247 • GARLAND, TEXAS 75040 • (214) 271-2461

(FORMERLY DRC) NOT AFFILIATED WITHANY OTHER MAIL ORDER COMPANY.

WE PAY POSTAGE!

Circle 42 on inquiry card.

BYTE December 1977

201

Hobby Computer Kits • • •

1

1 MODEM

Part no. 109

Type 103

Full of half duplex

Works up to 300 baud

Originate of Answer

No coils, only low cost components

TTL input and output

Connect 8 ohm speaker and crystal mic. directly to board

Uses XR FSK demodulator

Requires +5 volts

Board only $7.60, with parts $27.50

2 RS-232/TTL INTERFACE Part no. 232

Converts TTL to RS-232, and converts RS-232 to TTL

Two separate circuits

Requires +5 and ~12 volts

All connections go to a 10 pin gold plated edge connector

Board only $4.50, with parts $6.00

3 TAPE INTERFACE Part no. 111

Play and record Kansas City Standard tapes

Converts a low cost tape recorder to a digital recorder

Works up to 1200 baud

Digital in and out are TTL

Output of board connects to mic. input of recorder

Earphone of recorder connects to input on board

Requires +5 volts, low power drain

No coils

Board only $7.60, with parts $27.50

4 TELEVISION TYPEWRITER

Part no. 106

Stand alone TVT

32 char/line, 16 lines, modifications for 64 char/line included

Parallel ASCII (TTL) input

Video output

1K on board memory

Output for computer controlled curser

Auto scroll

Non destructive curser

Curser inputs: up, down, left, right, home, EOL, EOS

Scroll up, down

Requires +5 volts at 1.5 amps, and -12 volts at 30mA

Board only $39.00, with parts $145.00

5 UART and BAUD RATE GENERATOR Part no. 101

Converts serial to parallel and parallel to serial

Low cost on board baud rate generator

Baud rates: 110, 150, 300, 600, 1200, and 2400

Low power drain +5 volts and -12 volts required

TTL compatible

All characters contain a start bit, 5 to 8 data bits, 1 or 2 stop

bits and either odd or even parityAll connections go to a 44 pin gold plated edge connectorBoard only $12.00, with parts $35.00

6 RF MODULATOR Part no. 107Converts video to AM modulated RF, Channels 2 or 3Power required is 12 volts AC C. T., or +5 volts DCBoard only $4.50, with parts $13.50

4K/8K STATIC RAM Part no. 300

8K Altair bus memory

Uses 2102 Static memory chips

2-4K Blocks

Blocks can be addressed to any of 16 4K sections

Vector input option

TRI state buffered

Board only $22.50, with parts $160.00

TIDMA Part no. 112

Tape Interface Direct Memory Access

Record and play programs without bootstrap loader (no prom)

Has FSK encoder/decoder for direct connections to low costrecoder at 625 baud rate, and direct connections for inputsand outputs to a digital recorder at any baud rate

S-100 buss compatible

Comes assembled and tested for $160.00

APPLE 1 MOTHER BOARD Part no. 102

10 slots ~44 pin (. 156) connectors spaced % inch apart

Connects to edge connector of computer

Pin 20 and 22 connects to X & Z for power and ground

Board has provisions for by-pass capacitors

Board costs $15.00

D. C. POWER SUPPLY Part no. 6085

Board supplies a regulated +5 volts at 3 amps., +12,-12, and ~5

volts at 1 ampBoard has filters, rectifiers, and regulatorsPower required is 8 volts AC at 3 amps., and 24 volts AC C. T.

at 1.SampsBoard only $12.50

TO ORDER

Mention part number and description. For parts kits add "A" topart number. Shipping paid for orders accompanied by check,money order, or Master Charge, BankAmericard, or VISAnumber and signature. Shipping charges added to C.O.D. orders,Calif, res. add 6.5% for tax. Parts kits include sockets for all ICs,components, and circuit board. Documentation is included withall products. Dealer inquiries invited.

ELECTRONIC SYSTEMS

P.O. Box 212, Burlingame, CA 94010(408) 374-5984

202

BYTE December 1977

Circle 50 on inquiry card.

APPLE II I/O BOARD KIT

Plugs Into Slot of Apple II Mother Board

FEATURES:

18 Bit Parallel Output Port(Expandable to 3 Ports)

1 Input Port

15mA Output Current Sinkor Source

TTL or CMOS Compatible

Addressable anywhere in mem-ory output area

Can be used for peripheralequipment such as printers,floppy discs, cassettes, papertapes, etc.

KIT INCLUDES:

P.C. Board, I.C.'s Sockets and

Assembly Manual.

PRICE:

1 Input and 1 Output Port

for $49.00

1 Input and 3 Output Ports

for $64.00

DEALER INQUIRIES INVITED

UNGAR SOLDERING IRONS

27W SOLDERINGIRON KIT

Includes iron, 2 tips,

roll of solder and

iron stand

$6.72

DESOLDERING KIT

Includes iron and 3

desolder tips for dual

in lines, cams, etc.

$24.70

10W

ASSEMBLED

SOLDERING

IRON

$14.97

LD-130

3 DIGITS

A/D CONVERTER

$11.95

PUSH BUTTON

SWITCH

Red

or Green

3 for $1.00 ii

A FULLY PROGRAMMABLESLIDE RULE

the MATHEMATICIAN with 100 STEPS

• RPN logic with built-in' hier-archy lor increased speed andaccuracy in calculating se-quences involving arithmetictrigonometric, logarithmic, pow-er or exponential functions

• A three-level stack plusseper-ate accumulating memory forquick, accurate solutions to com-plex calculations ■ Eight-digitLED display with full-floatingdecimal system • Common andnatural logarithms and antilog-anthms ■ Sine,cosine, tangentand inverse trigonometric func-tions • Instant automatic cal-culation of powers and roots

• Instant conversions of radiansto degrees or vice versa •Square, square root, and reci-procal calculalions • Pi. changesign, and register exchangekeys • Automatic reciprocals

• Ability to automatically sumsquares * Storage memory «

Roll-down clear • MOS/LSIsolid-state circuitry. • Engineer-ed and manufactured by Nation-al Semiconductor Corp., a worldleader in solid-state technology

• Simplified programming Yousimply engage a learn switchand perform a problem in normalmanner The 4615 records theformula and lets you debug theprogram as it's written • Thelearn-mode capacity total 100separate steps « Several differ-ent programs can be containedat the same time ■ Constantfactors can be entered as pro-gram steps. • Delete featurelets you correct programs whileyou are writing them • Skip keypermitsskippingoverentire pro-grams to access additional pro-grams within 100-step capacity

• Programs remain intact untilnew programs are written overor until your 4615 is turned off

• You have total freedom toselect keyboard entries as vari-ables or constants • Automaticwarning signal in display lets youknow when you exceed pro-gramming capacity • The4615is rechargeable and comes com-plete with nickel cadmium bat-teries.

10 DAY MONEY BACK GUARANTEE

4615 @ 29.95_

AC charger @ 4.95 _

. Carrying case <8> 2.95_ Calc. stand <3 1.95.

3RD GENERATION ONLY $63.00

ASCII KEYBOARD KIT

FURTHER IMPROVEMENTS, MORE FEATURES

• TTL Logic Circuits OPTIONS:

• Power: +5V, 275mA • Metal Enclosure (Paint-,, ' „ ed IBM Blue and White

• Upper and Lower Case 525 00

• Full ASCII Set (Alpha . rcD„i;jMr„n «-> nnNumeric, Symbols, ' « Pin Edge Con. S2.00

Control) • I.C. Sockets . . . $4.00

• 7 ot 8 Bits Parallel Data • Serial Output (Shift

• Optional Serial Output Register) $2.00

• Selectable Positive or • Upper Case LockNegative Strobe, and Switch (for CapitalStrobe Pulse Width Letters and Numbers)

• 'N' Key Roll-Over $2 °"

. Full Debounced P NUMBERS: Key-

„ . „■. „ board, P.C. Board, all re-

• Cama8e Return Key quired components and as-

• Repeat Function Key sembly manual.

. Shift Lock, 2 Shift Keys N0TE. ,f you haye this

• 4 User Defineable Keys 53 Key Teletype Key-

• P.C. Board Size: board you can buy the17-3/16" x S" Kit without it for $44.95.

"CHRISTMAS SPECIAL-lsi DMM KIT Reg. $77.77 ^tf* ,,

concord cw eoo

*

. AUTO RANGING . AUTO POLARITY

• AUTO ZERO . 3 LARGE DIGITS (1/2")

. RECHARGABLE

MEASUREMENT RANGES: Voltage (AC-DC) 1MV-100V; Cur-rent (AC-DC) 10juA-1A; RESISTANCE: UM0M12. Basic DCaccuracy, better than 0.1% > 1 digit. POWER: 4 AA batteries(rechargable batteries optional).

• NI-CAD BATTERIES: $6 • AC CHARGER: S4.95• ENCLOSURE: $12.95 • TEST LEADS: S2.95• SHUNT KIT FOR 3 CURRENT RANGES: $4.75

KEYBOARD. DMM and CALCULATOR: S3.50.

ALL OTHERS - SI.00.

California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD.

REDONDO BEACH, CA. 90278

TEL. (213)376-8005

WRITE FOR FREE CATALOG

You are invited to visit our store at the above address

Circle 51 on inquiry card.

BYTE December 1977

203

What's New?

CALCULATORS

Everyone Should Learn Programming,Tl Calculates

Photo I: Tl's DataMan offers arithmetic practiceproblems and math strategy games for theyoungster. It includes a "beat the clock" timerfeature and a "whiz-bang" display for correctanswers.

Circle 555 on inquiry card.

Photo 2: The Tl 58, shown mounted on thePC-IOOA printing cradle with alphabetic printingcapability.

Circle 556 on inquiry card.

In a move calculated to encourageinterest in programming and compu-tational problem solving, Texas Instru-ments introduced a number of newgeneral purpose and specialty calculatorsrecently. In a press announcement, Tlnoted that nearly 400,000 peoplepurchased programmable calculatorsin 1976, and estimated that over 3million people a year would be buyingprogrammables by 1979. Includedamong Tl's new products are calculatorswith "Solid State Software" programlibraries, new tutorial books on pro-gramming, and a new teaching devicefor the kiddies.

At the top of the new line are the TlProgrammables 57, 58 and 59. TheProgrammable 57 ($79.95), whichevidently supersedes the SR-56, includesa 150 keystroke program memory,insert and delete keys for editing pro-grams, and ten labels for "relocatable"program branching. The 57 comes witha new learning guide, Making TracksInto Programming, which replaces theusual owner's manual.

The Programmable 58 ($124.95) and59 ($299.95) feature larger program anddata memories, and plug-in Solid StateSoftware read only memory modulescontaining up to 5000 program stepseach. The ROM libraries range fromapplied statistics and surveying to realestate, investment, aviation and marinenavigation programs.

Internal memory on the 58 and 59can be allocated either to program stepsor to data registers. The unit of allo-cation is ten data registers or 80 programsteps. The Tl 58 has up to 480 program

Photo 3: The ultra compact DataClip calculatorwill run for WOO hours on one set of batteries.

Circle 557 on inquiry card.

Photo 4: The Tl 59 features Solid StateSoftware plug-in program librarymodules of up to 5000 program steps,as well as a magnetic card reader andinternal memory for 960 program steps.

Circle 558 on inquiry card.

Photo 5: The new Tl 57 programmablecalculator can store up to 150 key-strokes.

Circle 559 on inquiry card.

steps or up to 60 data registers, whilethe Tl 59 has up to 960 program stepsor 100 data registers. (When all 100memory registers are in use on the Tl59, 160 program steps are still available.)The Tl 59 also has a magnetic cardfacility. Using two cards, up to 960program steps can be recorded andreloaded in this way.

Additional features of the Tl 58and 59 are up to ten registers forlooping, incrementing and decrementing,up to ten flags which can be set, resetor tested, and up to six levels of sub-routine calls. Program steps may beaddressed in absolute, indirect andlabel modes, while data registers may beaddressed directly or indirectly.

A related new product is thePC-100A printing cradle, which can beused with any Tl programmable cal-culator except the Programmable 57.This printer has 64 alphabetic, numericand special characters which can beprinted at the rate of 60 charactersper second. Up to 20 characters can beprinted per line on 2.5 inch (6.4 cm)wide thermal paper. The PC-100A canalso be used to print, list or trace pro-gram steps as an aid to debugging. It ispriced at $199.95.

Another element in Tl's consumereducation program is a new book,Calculating Better Decisions. Pricedat $4.95, the book is offered in apackage with the SR-51-11 calculatorfor $69.95. The book concentrateson use of the SR-51-11's advancedstatistical functions in psychologyand the social sciences and in businessfinance.

One strategy in Tl's plan to placeseveral calculators in every home is todesign specialty calculators for specifictypes of consumers or consumer uses.A good example of this strategy is thenew MBA calculator, aimed at the

Continued on page 206

204 BYTE December 1977

■4

AA

ES NOT INCLUDED

ELECTRONIC TOUCH ORGAN KIT

Fantastic new design uses CMOS I.e. and a to-tal of 39 semi-conductors to give a touch con-trol keyboard, all the electronic parts in one PCBoard. This organ is easy to build, yet has fea-tures like a full two-octave range touch key-board, variable tremolo; two voices; built-in I.C.amplifier with volume control, complete withspeaker and a specially designed plexi-glasscase.*ldeal kit for beginner or gift for children $24*50GO*

30MHZ FREQUENCY COUNTER KIT

Model 250-30A

Take advantage of this new state-of-lhe-art counter featuring the many benefits of customLSI circuitry. This new technology approach to instrumentation yields enhanced perfor-mance, smaller physical size, drastically reduced power consumption (portable batteryoperation is now practical), dependability, easy assembly and revolutionary lower pricing!

M* 0.5" red LED 6 digits displaySO * Resolution: 1 Hz at 1 sec. 10 Hz at 1/10 sec.

w • Sensitivity: 10 Mv RMS to 30 Hz

* Internal power supply: 5.2V at 1 amp regulated

* Input corinector: BNC type

* Input power required: 117V AC 50/60 Hz

* Diode protected for over voltage input

Includes all parts,PC Board and Transformer

CALCULATOR

with STOPWATCH

6 Functions with % and memory

8 Digits big green display

•Built-in X'tal controlled stop

watch count to 1/10 of a second.

Special Price Only

$16.50 Ea.

BATTERIES NOT INCLUDED

lWoll AUDIO AMP

All parts are pre assembled

on a mini PC Board

Supply Voltage 6— 9V D.C.

SPECIAL PR ICE $1.95 ea.

2W+ 2W STEREO AMP

^ 11 parts completed on a PC Boar

2 LM380 I.C, volume,

bass, treble control included

Supply voltage: 9 15V D.C.

Sensitivity: 100Mv

c distort

1*

J 1 KH:

ONLY $5.75 ea.

5W AUDIO AMP KIT

2 LM 380 with Volume ConPower Supply 6 — 1 8V DC

only *S.OO«o.

-10 ELECTH

TIMER KIT

Time Controlled from 1-100sec.

Ideal to be used as time delayunit for burglar alarm, photoservice, and other purposes.Max. loading 110V, 2 AMP.Supply voltage 12-18V D.C.

: timer $11.50 each

ELECTRONIC ALARM SIREN

AU —399

COMPLETE UNIT

Ideal for use as an Alarm Uniior hookup to your car back -ui

t to make a reverse indicator

Light Output up to 130 dB.

Voltage Supply 6~-12V

$7.50

19 KEY HEXADECIMALKEY PAD

• 1 —0 • Homekey

• ABCDEF *<-->Key

SPECIAL $10.50 ea.

Low Cost Hexadecimal 16 Key Pad

Designed for Calculator

Can be used for Computer

Data Entry Pad or Digital Lock

All key tops Dlank with super

good touch feeling $0.95 ea.

*

DIGITAL ELECTRONIC LOCK KIT

able

$6.50 ea. ««'.i>»

CMOS i.c. 4D'9'»

IN CIBCU1T A"vC ""

400ft RELAY AND KEY PAD NOT INCLUDED

POWER SUPPLY KIT

0-30V D.C. REGULATEDUses UA723 and ZN3055 PowerTR output can be adjusted from0-30V, 2 AMP. Complete with PCboard and all electronic parts.

>-ao power supply $9.50 each

MA1003, 12V DC CLOCK MODULE

[JBBIBB H

$19.50

Built in X'TAL controlledtime base. Protected againstautomotive volt transients.Automatic brightness con-trol with 0.3" green colordisplay. Display turnoffwith ignition "OFF".

MECHANICAL DIGITAL CLOCK

WITH DAY ANDDATE OF THE WEEK

Supply Voltage 110V AC. limited quantity $15.50 ea.

QUARTZ CRYSTALS

1 MHZ

$4.95

2 MHZ

$5.25

4 MHZ

$5.25

10 MHZ

$5.25

3.579 MHZ

$1.25

Color TV Type

ELECTRONICSWITCH KIT

CONDENSER TYPE

Touch on Touch OHuse 7473 I C.and 12V relay$5.50 oacii

VHF MODULATOR

For TV Gime or Crjmpu

This unit convans ihe Video

Signal 10 RF Signal

'ideo Input IVDC RF Outpm 1 .£

61.25 MHZ Icnannel3l

Fr<j. Adjuiwble *3 MHZ

ONLY $4.50

Tl1955

Alternative AY38500-1

6 Game 128 Pin Dip)

TV Game Chip with Data

Tennis Squash hockey.

practice & 2 shooting.

Special Only $6.50

*#.

PC Board for TV Gai

RCA STEREO AM-FMMUX TUNER AMP

5 Watt Per Channel RMS With8 Track Tape Player Built In

Manufactured bv RCA, maker ofQuality Systems. All Solid StateCircuitry with Beautifully detailedpanel. Limited Quantity. ONLY $53.50 ea.

ON-SCRIM TVCLOCK KIT

Same one as in July RadioElectronics. Kit includes PCBoard, MM5318 and MM5841chip. All other electronic partswith transformer.

ONLY $21.00

BIPOLAR LEO

Jumbo Size red/green change colorwhen reverse polarity of voltage.

Ideal for go/nogo indicator.Two for $1.00

-tt-

.C. TEST CLIPS

Same as the E-Z clipsWith 20" Long Leadsn Black and Red Colors

$2.75 per pair

DIGITAL CASSETTE TAPE C-60

COMPUTER RECORDING

All these tapes made in U.S.A.

by a top cassette tape Co.

Never Recorded—Reg. $6.80 ea.

3 packs/$5.00

Can be used in Audio

Recording as well.

►►►

4i&Biil

SOUND ACTIVATED SWITCH

Sub-Mini Size

Condenser Microphone

$2.50 each

FET Transistor Built-in

SIGMA 78REI, 12DC RELAY

400/1 COIL SPDT$1.30 ea. or 10 for $10.00ALL BRAND NEW UNITS

COMPUTER GRADE CAPACITORS

5,600 MFD 60V S2.20 ea.

10,000 MFD 50V

1 1,500 MFD 75V

34,800 MFD 50V

39,000 MFD 12V

100,000 MFD 6V

£3.25 ea.$3.95 ea.$4.25 ea.S2.00 ea.

$3.50 ea.

TV Comes

NATUMSi

• 4 Games-Tennis, HockeyRacquet Handball and Sirgle Handball.

• Auto counter display onthe screen.

BBS)

CLOCK KITMOST POPULARMM5314 KIT

WITH .\ N[ w CAStUCIH l? 24 Houl0 60 HZ lllflul 6 D.qpls F

►►►►

Special Only S14.95 ea.

WIRE

WRAPPING

TOOL

$29.50

Wire Wrapping

In Bulk100' $2.00

500' $8.50

Sub Mini SizePANEL METER

500 UAONLY $1.20 ea

^£>,

MATCHED PAIR

POWER TRANSISTORS

MOTOROLA MJE2955 PNPMJE3055 NPN

*=v

TRANSFORMERS

ALL 117 VOLT INPUT

30V at 15 amp S30.00 ea.

36V CT at 3 amp $ 4.50 ea,

50V CTat 2 5amp $ 4.50 ea.

48V CTat 2-Samp $ 4.50 ea.

12Vor24V at 2 amp $ 3.90 ea.

24V CTat 800MA S 1.80 ea.

0.8V -12V at 400MA $ 1.80 ea.

^*~K AC POWER SUPPLY

a^^™"^ Adapter Type Tramtormar^K^S? 12V AC Output 200 MA™ $2.76 each

6V DC Output 130MA $1.90 ea.8.7VDC Output 130MA $1.90 m.12V DC Output 100MA $1.90 aa.

150UA METER

only$1.50 ea.

50 UA PANEL METER

Slza2'i" x 2'-"

Only S3.80 ea.

MINI-SIZED I.C.AM RADIO

Si2e smaller than a box of matches! I

Receives all AM stations

Batteries and ear phone included

►►

^B^ TAr.r.i e cuuiTi

TOGGLE SWITCH

of submirn loggle switchamp 125V AC comacr

19 10 99'MS 24H2P SPST 0 90 0 80MS 244 SPDT 1.00 0 90

MS 245 DPDT 1 20 1.10

A A

■Is fiiliii

SPDT On OH SI 30 uDPDT On O'l SI 50 e3PDT On Of* $1 J'J, e

JOY STICK

4 100K Volume ut

only $5.50 .

PUSH-BUTTON SWITCH

'Ql N/Open Qontact

1®2£ Color: Red, White, Slue,t^S^1 Green, Black. 4/$ 1.00

V^A N/Ciose also

^JB Available 50a ea.

\£0 LARGE QTY AVAILABLE

SOLID STATE ELECTRONIC BUZZER

MINIMUM ORDER $10 00. Calilarr

! 10% ooilBBe 'or out of state Overseas

SEND CHECK OR MON

12/77

' ORDER TO

|H FORMULA INTERNATIONAL INC.

2603 CRENSHAW BOULEVARD • HAWTHORNE. CALIFORNIA 902b0

Far more mlormanon pleaie call 12131 679 5 162

STORE HOURS 10 7 Monday Saturday

BmAMETORO

►►

SUBMINIATURES TOCGLESWITCHES

►►

Circle 53 on inquiry card.

BYTE December 1977

205

What's New?

CALCULATORS etc

An Exotic Way to Tell Time

For the man or woman who haseverything, Hewlett-Packard now offersthe most exotic wristwatch ever de-signed, the HP-01. Priced at a cool $650in stainless steel or $750 with a goldfilled case, the HP-01 is an integratedtimepiece and calculator. It has 28 keys(six finger operated, 22 stylus operated)and a light emitting diode (LED) displaywith 12 different display modes orindicators.

The HP-01 displays the time of dayin either 12 or 24 hour format, with anindicator to show PM time. The usercan add or subtract time, with automaticdate adjustment if the time change isacross midnight. Time can also be con-verted to and from decimal hours. Thedevice has two alarms, one which can beset for a specific time and one based onelapsed time as tracked by an internal

Continued on page 208

Continued from page 204

hundreds of thousands of masters inbusiness administration students anddegree holders. The MBA ($79.95),like the Tl Business Analyst, hasspecial keys to accomplish commonbusiness functions such as net presentvalue, internal rate of return, trendline analysis, mean, variance andstandard deviation, accumulated interestand remaining loan balance, and annuitycalculations. But it also has a simplifiedprogramming feature, allowing storageof up to 32 program steps but no testsand branches, as well as 12 datamemories.

Another new product, the Tl 1680"Replay Calculator," is designed specifi-cally for applications such as checkbookreconciliation or "balancing the books"in an accounting system. The Tl 1680($29.95) allows the user to recall upto 20 previously entered numbers andarithmetic operations, and to changethe previous entries to see what effectthe change has on the calculated result.

If the typical Tl calculator is tooheavy or bulky for your pocket, Tl stillhas something for you. The new Data-Clip ($34.95) is about the size of a6 inch (15.2 cm) ruler, and no thickerthan a pencil. It has five functions andan 8 digit liquid crystal (LCD) display,and will operate up to 1000 hours on aset of batteries.

And finally, for the kiddies, there'sDataMan! Tl evidently believes thatyoungsters should get started withcalculators at an early age (so thatthey'll be ready for programming byage 12?). DataMan ($24.95), patternedafter the highly successful "LittleProfessor" introduced a year ago,offers children practice with arithmeticproblems and fun with math strategygames. Learning activities possible withthe unit include the Answer Checker,Problem Storage, Math Tables andMissing Numbers, and games includeWipe Out and Force Out. A special"beat the clock" timing feature addsto the fun and challenge of the exer-cises and games. Correct answers arerewarded with "whiz-bang," a highly

Photo 6: The new MBA calculator isaimed at business administrationstudents.

Circle 560 on inquiry card.

Photo 7: This new book is availablealone or packaged with the SR-51-11calculator.

Circle 562 on inquiry card.

Photo 8: The Tl 1680 replay calculator,which remembers the last 20 numbersand operations entered, is useful forcheckbook balancing.

Circle 561 on inquiry card.

visual action packed display "on theorder of modern stadium scoreboards."DataMan can be adjusted to presentproblems appropriate to the youngster'sachievement level. It comes with a mathactivity book and helpful hints forparents.

Clearly, Tl's calculators are movingin the direction of increasing diversityand sophistication. In fact, the Tl 59with the PC-100A printing cradle pro-bably qualifies as a personal computer,with limited alphabetic data handling,hard copy, and mass storage. But whenwill Tl introduce a product similar tothe Commodore PET or the Radio ShackTRS-80, and what impact will it haveon the marketplace? This is anyone'sguess. In the meantime, you can findout about today's calculators by con-tacting Texas Instruments Inc, InquiryAnswering Service, POB 53 (attn: theproduct of your choice), Lubbock TX79408."

206

BYTE December 1977

,•••• The 4th Annual ••••

HOLIDAY SPECIAL

8K ECOnoram II - 4 lor $475.00!

Under $0.0018 per bit! Not only arewe celebrating the holiday season...but we're answering a challenge fromBilly Gage and Jim Tanner at DRC. There's been a bit of friendly rivalrylately over who can deliver the most for the least; we have always pridedourselves on being able to do just that, and with 32K of quality memoryfor $475.00, we think even DRC is going to have to agree with us.

But price is by no means the only reason to buy a Godbout memory board:those who know memory appreciate the many options packed into a basic mem-ory board. Extras like a vector interrupt provision if you try to writeinto protected memory. Configuration as two independent 4K blocks (bothindividually protectable). A selectable write strobe for either PWR orMWRITE. An all static design. The ability to handle DMA devices. Guar-anteed speed under 450 ns (witli on board wait state logic for use with 4MHz Z-80) and guaranteed current under 1.5A (1250 inA typ) . All inputs andoutputs fully buffered; outputs are tri-state for use with bi-directionalbusses. And of course, sockets for all ICs, legended board with soldermask, low power Schottky support ICs, assembly instructions, a 1 year war-ranty on all parts...this isn't just another board, this is a board you candepend on. Prices apply to boards in kit form only.

MOTHERBOARD

10 Slots $90 18 Slots $124

Active Terminator $29.50

Plugs into any S-100 Motherboard whose buss lacks active terminations.Cleans up noise, crosstalk, overshoot, and other buss problems that canscramble data unpredictably. Kit form only.

Includes all edge connectors, plus active terminationsto minimize crosstalk, noise, overshoot, and ringingthat may be present with unterminated busses. Excel-lent for stand alone system, or add to existingsystems. Kit form only.

vidffi

CAVE

9raf£< _

■m

COMINGSOON

ECONORAM VI

12 K for $235

The Heath 118 computer looks like

a winner...and we'll be happy to supplyyou with 12K of nemory for $235, whichhappens to be what Heath charges fortheir 8K memory. All the same featuresas our popular 8K ECONORAM IItm kit (seeabove), with all static design, buffer-ing, switched protect and phantom, andour 2 block configuration gives the a-bility to place 4K on 4K boundaries.

As usual, you get a legended, soldermasked board, sockets for all ICs, topperformance, and a warranty on parts.

Check out our memory if you wantyour H8 to get the most for the least.

Personal to Frank Tinius: watchthis space, it's happening!

TERMS: Please allow up to 5°6 for ship-ping, more for supply f, VP2; excess re-funded. Prices good through end of mag-azine cover month. Californians add tax.CODs accepted with street address. ForBankAmcricard®/VISA®/Mastercharge®orders($15 min) call 415-562-0636, 24 hours.

modulator$7.50

2 WATT STEREO AMP

Assembled stereo 2W ampuses LM380S. With vol-ume, tone, balance con-trols. Use with 12V forportable amp or autouse. Only $10.00

1.8432 MHz xtal

HC 6 size with

wire leads $5.95

Raa@i?©@®aD55X5]G(M? ©as©

This adjustable packaging system forS-100 buss microcomputers is compatiblewith Altair 8800 and IMSAI 8080 size cards.Outside, it is beautiful...with a dark bluetextured vinyl finish and lines unmarred byexternal screws or fasteners. Inside,there is space for 21 cards total (on 0.75"centers) with .a fully adjustable interiorcard mounting system (card guides and hard-ware provided for 12 cards). The interioris instantly accessible, the rear and frontpanels are removable and recessed.

And the clincher: our 10/11 slot mother-board fits perfectly inside this case. Soif you want a classy home for your micro,look this over...it is the best we've seen.VP2 ASSEMBLED MICROCOMPUTER CASE $134.30

Small System Power Supply

Finally, a quality, cost-effective supply for small sys-tems. Gives you a full 4 Amps at 5 Volts, with crowbarovervoltage protection, along with half an Amp of +12 andhalf an Amp of -12...and an additional 10 mA supply, ad-justable over 5 to 10V for biasing required by some CPUs.Although intended to be used with computer systems, it'salso a dandy little bench supply for digital experiments.

$50

BILL GODBOUT ELECTRONICSBOX 2355, OAKLAND AIRPORT, CA 94614

SEVERAL GOOD REASONS KHY YOU SHOULDHAVE OUR FLYER: 1) CMOS 2) LINEARS3) MICROPROCESSORS 4) POWER SUPPLIES5) RESISTORS 6) CAPACITORS 7) DIS-PLAYS 8) SOCKETS 9) VECTOR PRODUCTS10) ENCLOSURES II) ALL THE OTHER

THINGS WE CAN'T FIT INTO THIS SPACE.

Circle 56 on inquiry card.

BYTE December 1977

207

Continued from page 206

timer. The alarms generate a 2.5 secondbeeping tone.

A timer and stopwatch feature dis-plays elapsed time in hours, minutesand seconds or in minutes, seconds andhundredths of a second. Elapsed timereadings can be taken and one readingcan be stored in memory. In combin-ation with the calculator functions, thisfeature allows the user to performdynamic calculations. For example,while the user is on the telephone, theHP-01 can be set to calculate how muchthe call is costing, updating the displayevery second.

A 200 year calendar feature candisplay the date in US or Europeanformat, and can be used to find past orfuture dates given the current date andthe number of days. The number of daysbetween two dates, the day of the weekand the day of the year for any date canalso be determined.

The calculator functions include add,subtract, multiply, divide, percentage,net amount, chain and repeat calcul-ations. Four digits of precision are pro-vided, with automatic conversion to andfrom scientific notation as needed. Amemory key provides access to amemory register, and two more memoryregisters are used for intermediateresults of calculations.

In classic fashion, Hewlett-Packard

engineers found innovative solutions toa number of difficult design problemsin producing this device. The HP-01employs a hybrid assembly of six CMOSchips, drawing a total of 15 )LIW, oneten thousandth of the power requiredby the HP-35. The watch case had to bewater resistant, yet still have a keyboardthat perforated the front plate and analarm signal that could penetrate theback. This was done by placing a thinrubber diaphragm backed by a conduc-tive layer under the keys. When a keyis pressed, the rubber diaphragm pro-vides the springback, and the conductivelayer makes a direct connection with agold contact on the surface of the CMOShybrid. This method has worked withoutfailure in tests where the keys have beenpressed over one million times. Thealarm works by exciting the upperpiezoelectric ceramic layer of a 2 layerplate. The vibrations in the ceramiclayer resonate through the stainlesssteel second layer, which acts as adiaphragm. With the watch itself as asounding board, the results are audiblebeeps.

How long before we scarcely noticewhen our watch beeps and says, "It'sfour thirty. Don't forget to make thatphone call before five."? In themeantime, the HP-01 is available fromHewlett-Packard Corporation, 1501 PageMill Rd, Palo Alto CA 94304, (415)493-1501."

Circle 563 on inquiry card.

RCA's New COSMAC Manual

A 28 page Instruction Manual for theRCA COSMAC Microterminal CDP18S021, MPM-212, describing the instal-lation and application of a hand helddata terminal for microcomputersystems using the CDP1802 micro-processor, is now available from RCASolid State.

The Microterminal, which is the sizeand shape of a pocket calculator,provides .a means of controlling aCOSMAC-based system and supplieshexadecimal IO capability. It is designedto interface directly with the COSMACEvaluation Kit CDP18S020 supporthardware, but it can be designed intouser built systems to provide the samecontrol, communications and debuggingfunctions.

The manual includes a description ofthe hardware and the software programsavailable in the read only memory sup-plied with the Microterminal, and alsoincludes installation instructions andutility program listings. The operatingmodes of the Microterminal aredescribed along with several examples ofoperating sequences.

Copies of this new 8V2 by 11 inchInstruction Manual for the RCACOSMAC Microterminal CDP18S021,MPM-212 may be obtained for $2 each(US price) from RCA Solid StateDivision, POB 3200, Somerville N)08876.■

Circle 565 on inquiry card.

^g CLjbercDm boards

MB-1 MK-8 Computer RAM, (not S-100), 4KX8, uses 2102

type RAMs, PCBD only $22

MB-3 1702A EROM Board, 4KX8, S-100, switchable ad-dress and wait cycles, kit less PROMS $65

MB-4 Basic 4KX8 ram, uses 2102 type rams, may be ex-panded to 8KX8 with piggybacking, S-100 buss. PC

board $30

MB-6 Basic 8KX8 ram uses 2102 type rams, memory pro-tect in 256 to 8K switchable S-100 buss, PCBD $35

MB-7 16KX8, Static RAM uses//P410 Protection, fully buf-fered.

PCBD .... $30.00 KIT... .$525.00

MB-8 2708 EROM board, S-100, 8KX8or 16KX8 kit without

PROMS $85

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or

82S129 PROM kit without RAMs or PROMs $80

IO-2 S-100,8 bit parallel l/Oport, %of board is for kludging.Kit $55 PCBD $30

IO-4 Two serial I/O ports with full handshaking 20/60 macurrent loop. Two parallel I/O ports.

Kit $150

VB-1 64X 16 video board, upper lower case Greek, com-posite and parallel video with software, S-100.Kit.... $150 / PCBD.... $30

SP-1 Music synthesizer board. S-100, computer controllerwave forms, 9 octaves, 1V rms V?% distortion, includes

software kit $200

Altair Compatible Mother Board, 11 x 11V2 x Vs".

Board only... $45 With 15 connectors $105.

Extender Board full size. Board only $9

With connector $13.50

Solid state music Cybercom boards are high quality glassboard with gold finger contacts. All boards are check forshorts. Kits only have solder mask. 90 day guarantee onCybercom kits.

Non-electrical cosmetic rejected PCBD from Cybercom.IO-2 $21 MB-6.... $21 VB-1 000. ... $25

Y/mc

inc.

WAMECO INC.

MEM-1 8KX8 fully buffered, S-100, uses 2102 type rams.

PCBC $30

Mother Board 12 slot, terminated, S-100, board only$35

CPU-1 8080A Processor board S-100 with 8 level vector

interrupt PCBD ' $30

10% discount on 10 or more of WAMECO PCBD in anycombination.

NEWI All IC's Sockets & hardware lor WAMECO CPU-1include all prime Eowa, 8214, 8224. 8212. PCBD not in-cluded $65

All ICs, sockets & hardware for WAMECO MEM-1 includesprime 2102AL-4's PCBD not included. Order PCBD sepa-rately $135

Special 2102AL-4 1K x 1 ram Va less power than 21L02type rams, with power down, prime from NEC. Ea. 2.00; 32ea. 1.80; 64 ea. 1.70; 128 ea. 1.60; 256 ea. 1.50.

9080A AMD 8080A (Prime)

8212/74S412Prime

8214 Prime

8216 Prime

8224 Prime

8228 Prime

8251 Prime

8255 Prime

1702A-6 AMD 402A Prime

TMS-6011 UART Prime

2513 Char Gen Upper Prime

2513 Char Gen Lower Prime

1702A Intel Not Prime

20.004.008.304.955.008.9014.5014.505.006.9511.0011.004.00

m

419 Portofino DriveSan Carlos, California 94070

Please send for IC, Xistorand Computer parts list.

74 LOO

74L01

74L02

74L03

74L04

74L05

74L06

74L08

74L09

74L10

74L20

74L26

74L30

74L32

74L42

74L51

74L54

74L55

74L71

74L73

74L74

74L75

74L78

74L85

74L86

74L89

74L90

74L91

74L93

74L95

74L98

74L123

74L164

74L165

74L192

74L193

MH0026

MC1488

.25

.25

.25

.25

.30

.40

.30

.40

.40

.30

.35

40

.40

.45

1.50

35

.45

.35

.30

.55

.55

1.20

.90

1.40

75

3.50

1.50

1.50

1.70

1.70

2 80

1.50

2.50

2.50

1.25

1.20

2.95

1.50

74LS00

74LS01

74LS02

74LS03

74LS04

74LS05

74LS08

74LS10

74LS12

74LS20

74LS22

74LS27

74LS30

74LS37

74LS38

74LS42

74LS51

74LS54

74LS55

74LS73

74LS74

74LS76

74LS151

74LS174

74LS175

74LS192

2501B

2502B

2507V

2510A

2517V

2519B

2532B

2533V

DM8131

N8263

MC1489

DM8837

.40

50

.40

.40

.45

.45

.40

.40

.55

.40

.45

45

.40

.60

.60

1.50

.40

.45

.40

.65

65

65

1.55

2.20

1.95

2.85

1.25

3.00

1.25

2.00

1.25

2.80

2.80

2.80

2.50

3.50

1.50

1.50

1101

1103

2101

2111-1

2112

2602

4002-1

4002-2

1.251 254.503.754.501.607507.50

MM5262 1.007489 2.00

74200

74C89

82S06

82S07

82S17

8223

82S23

82S123

82S126

82S129

82S130

82S131

IM5600

IM5610

IM5603

IM5604

IM5623

IM5624

MMI6330 2.50

DM8573 4.50

DM8574 5.50

DM8575 4.50

DM8576 4.50

DM8577 3.50

DM8578 4.00

2.4576 MHZ

XTAL 7.20

4.953.002.002.002.002.503.003.003.503.503.953.952.502.503.003.503.003.50

Check or money order only. If you are not a regular customer and yourorder is large please send either a cashier's check or a postal moneyorder, otherwise there will be a delay ol two weeks for the check toclear. All items post paid in the U.S. Calif, residents add 6% tax.Money back 30 day guarantee. We cannot accept returned IC's thaihave been soldered to. Prices subject to change without notice. $10minimum order. $1.00 service charge on orders lemi than $10.

208

BYTE December 1977

Circle 76 on inquiry card.

DIODES/ZENERS

SOCKETS/BRIDGES

TRANSISTORS, LEDS, etc.

. 1N914

100v

10mA .05

8-pin pcb .25 ww .45

2N2222

NPN (Plastic .10) .15

1N4005

600v

1A .08

14-pin pcb .25 ww .40

2N2907

PNP

.15

1N4007

1000v

1A .15

16-pin pcb .25 ww .40

2N3906

PNP

.10

1N4148

75v

10mA .05

18-pin pcb .25 ww .75

2 N 3054

NPN

.35

1N753A

6.2v

z .25

22-pin pcb .45 ww 1.25

2N3055

NPN 15A 60v

.50

1N758A

10v

z .25

24-pin pcb .35 ww 1.10

T1P125

PNP Darlington

.35

1N759A

12v

z .25

28-pin pcb .35 ww 1.45

LED Greer

, Red, Clear

.15

1N4733

5.1 v

z .25

40-pin pcb .50 ww 1.25

D.L.747

7 seg 5/8" high corn-anode 1.95

1N5243

13v

z .25

Mo lex pins .01 To-3 Sockets .45

XAN72

7 seg corn-anode

1.50

1N5244B

14v

z .25

FND359

Red 7 seg corn-cathode

1.25

1N5245B

15v

z .25

2 Amp Bridge 100-prv 1.2025 Amp Bridge 200-prv 1.95

CMOS

- T T L -

4000

.15

7400

.15

7473 .25

74176 1.25

74H72

.55

74S133

.45

4001

.20

7401

.15

7474 .35

74180 .85

74H101

.75

74S140

.75

4002

.20

7402

.20

7475 .35

74181 2.25

74H103

.75

74S151

.35

4004

3.95

7403

.20

7476 .30

74182 .95

74H106

.95

74S153

.35

4006

1.20

7404

.15

7480 .55

74190 1.75

74S157

.80

4007

.35

7405

.25

7481 .75

74191 1.35

74 LOO

.35

74S158

.35

4008

.95

7406

.35

7483 .95

74192 1.65

74L02

.35

74S194

1.05

4009

.30

7407

.55

7485 .95

74193 .85

74L03

.30

74S257I8123)

.25

4010

.45

7408

.25

7486 .30

74194 1.25

74L04

.35

4011

.20

7409

.15

7489 1.35

74195 .95

74L10

.35

74LS00

.35

4012

.20

7410

.10

7490 .55

74196 1.25

74L20

.35

74LS01

.35

4013

.40

7411

.25

7491 .95

74197 1.25

74L30

.45

74LS02

.35

4014

1.10

7412

.30

7492 .95

74198 2.35

74L47

1.95

74LS04

.35

4015

.95

7413

.45

7493 .40

74221 1.00

74L51

.45

74LS05

.45

4016

.35

7414

1.10

7494 1.25

74367 .85

74L55

.65

74LS08

.35

4017

1.10

7416

.25

7495 .60

74L72

.45

74LS09

.35

4018

1.10

7417

.40

7496 .80

75108A .35

74L73

.40

74LS10

.35

4019

.60

7420

.15

74100 1.85

75110 .35

74L74

.45

74LS11

.35

4020

.85

7426

.30

74107 .35

75491 .50

74L75

.55

74LS20

.35

4021

1.35

7427

.45

74121 .35

75492 .50

74L93

.55

74LS21

.25

4022

.95

7430

.15

74122 .55

74L123

.55

74LS22

.25

4023

.25

7432

.30

74123 .55

74H00 .25

74LS32

.40

4024

.75

7437

.35

74125 .45

74H01 .25

74S00

.55

74LS37

.35

4025

.35

7438

.35

74126 .35

74H04 .25

74S02

.55

74LS40

.45

4026

1.95

7440

.25

74132 1.35

74H05 .25

74S03

.30

74LS42

1.10

4027

.50

7441

1.15

74141 1.00

74H08 .35

74S04

.35

74LS51

.50

4028

.95

7442

.45

74150 .85

74H10 .35

74S05

.35

74LS74

.65

4030

.35

7443

.85

74151 .75

74H11 .25

74S08

.35

74LS86

.65

4033

1.50

7444

.45

74153 .95

74H15 .30

74S10

.35

74LS90

.95

4034

2.45

7445

.65

74154 1.05

74H20 .30

74S11

.35

74LS93

.95

4035

1.25

7446

.95

74156 .95

74H21 .25

74S20

.35

74LS107

.85

4040

1.35

7447

.95

74157 .65

74H22 .40

74S40

.25

74LS123

1.00

4041

.69

7448

.70

74161 .85

74H30 .25

74S50

.25

74LS151

.95

4042

.95

7450

.25

74163 .95

74H40 .25

74S51

.45

74LS153

1.20

4043

.95

7451

.25

74164 .60

74H50 .25

74S64

.25

74LS157

.85

4044

.95

7453

.20

74165 1.50

74H51 .25

74S74

.40

74LS164

1.90

4046

1.75

7454

.25

74166 1.35

74H52 .15

74S112

.90

74LS367

.85

4049

.70

7460

.40

74175 .80

74H53J .25

74S114

1.30

74LS368

.85

4050

.50

7470

.45

74H55 .25

4066

.95.40

7472

.40

4069

4071

.35

LINEARS, REGULATORS, etc.

4081

.70

8266 .35

LM320K5 (7905) 1.65

LM340T24

.95

LM723

.50

4082

.45

MCT2 .95

LM320K12 1.65

LM340K12

2.15

LM725

1.75

8038 3.95LM201 .75

LM320T5 1 65

LM340K15

1.25

LM739

1 Rn

9000SERIEJ

1-IVIOjt.v 1 O 1 *\J\J

LM320T12 1.65

LM340K18

1.25

LM74K8-14I.25

9301

'.85

LM301 .25

LM320T15 1.65

LM340K24

.95

LM747

1.10

9309

.35

LM308 (Mini) .75

LM339 .95

LM373

2.95

LM1307

1.25

9322

.85

LM309H .65

7805 (340T5) .95

LM380

.95

LM1458

.95

95H03

.55

LM309K (340K-5) .85

LM340T12 1.00

LM709 (8,14 PIN) .25

LM3900

.50

9601

.75

LM310 1.15

LM340T15 1.00

LM711

.45

LM75451

.65

9602

.50

LM311D (Mini) .75LM318 (Mini) .65

LM340T18 1.00

NE555NE556NE565

.50.95.95

tY CLO(

:ks

MEMOF

74S188I8223)

1702A

MM5314

MM5316

2102-1

3.006.953.003.501.75

INTEGRATED CIRCUITS UNLIMIT

7889 Clairemont Mesa Boulevard, San Diego, California 9:

ED

NE566NE567

1.751.35

2111

2102L-1TR 1602B/TMS6011

1.95

(714) 278-4394 (Calif. Res.)

SPECIALDISCOUNTS

6.95

All orders shipped prepaid No minimum

Total Order

Deduct

car

8080 AD8T138T238T24

1

5.001.501.50

Open accounts invited COD orders accepted $ioo-$300 10%Discounts available at OEM Quantities California Residents add 6% Sales Tax $301 -$1000 15%

2.00

All IC's Prime/Guaranteed. All orders shipped same day received.

$1000-Up

20%

2107B-4

4.95

24 Hour Toll Free Phone 1-800-854-2211 MasterCharge / BankAmericard / AE circle 64 on inquiry card.

What's New?

SILICON

Full ASCII Character Set in aByte Sized Dot Matrix

New Clock Chip for 6800 Systems

■ ,-., . $■ jj . _!.... JL6......L*.... ca -_..i 1._..... I _L

=?ByJ5Bffi|iBH|yiBglj ]{|^mWffiwMiPPB*™

i

bjEw

rlL

^nfi|^gi|

Ug K

n^Sfl|j

^ptosis

ill

apSyw

i

Microcomputer designs based on theMotorola 6800 microprocessor andothers such as the MOS TechnologyMCS6S12 can be simplified with thismonolithic clock generator chip. Re-quiring only a 5 V supply and a quartzcrystal or RC (resistor and capacitor)network, the MC6875 provides buffered2 phase clock outputs, automatic clockstretching for slow memories, directmemory access or dynamic memoryrefreshing. It also has request and grantlogic for 10 peripherals, and a Schmitttrigger power on and reset function.Available in a 16 pin dual in line pack-age, the MC6875 costs $3.45 in 1000piece quantities from Motorola LinearProducts, 2200 W Broadway, Mesa AZ85202, (602) 962-2294."

Circle 534 on inquiry card.

How About a 1 Bit Microprocessor?

Improved Version of 2708 from Intel

While the popular 2708 1 K byteEROM chip continues to drop in price,Intel has introduced an improved versionof the chip, the 2758, which makes readonly memory designs still simpler. Thenew chip is completely TTL compatibleand requires only a 5 V power supply. Itis directly upgradable to a 2 K byte 2716EROM or a 2316E mask programmedROM, both of which require only a 5 Vsupply. Power dissipation is less than50% of the 2708, and a power switchinginput can be used to reduce dissipationby more than 80% when the chip is notselected.

Even more interesting are the device'sprogramming features. The entire EROMcan be programmed in less than aminute, twice as fast as the 2708, butin addition any number of bytes can beprogrammed at one time. And a byteis programmed simply by applying aTTL level signal to a program controlinput for 50 ms. The programmingsignal need not be pulsed but is simplydirect current. These features makein-system programming much easier todesign. (Who knows? Perhaps we'll seeEROM boards with ultraviolet lightspermanently mounted for periodic era-sure and reprogramming.)

The 2758's introductory price of$26.60 is less than half the 2708'sinitial price of $65.50, and the 2758and 2716 are expected to drop in priceper bit much more rapidly than the2708. The new devices have a headstart on the production "learning curve"first traveled by the 2708. The 2758 isavailable from Intel Corporation, 3065Bowers Av, Santa Clara CA 95051,(408) 246-7501.*

Circle 536 on inquiry card.

If eight bits just isn't right for yourapplication, perhaps a 1 bit micro-processor will do the job. The Motorola

MC14500B is a 1 bit static CMOS pro-cessor which performs logical operationson data occurring on a 1 bit bidirectionalbus and data in a 1 bit accumulator. Fiveof the processor's 16 instructions pro-vide Boolean functions of the data busand accumulator bits, while the re-maining instructions control data trans-fers and generate control signals.

Also called the Industrial ControlUnit, the MC14500B is the monolithicembodiment of a programmable logiccontroller. With a looping programflow, the processor offers a simple wayto sequentially control electronic andelectromechanical devices in applicationssuch as traffic controllers, office copiers,telephone dialing systems and micro-program control sequencers. The pro-cessor will operate at up to 1 MHz and

A new 1024 by 8 bit charactergenerator ROM can be used to simplifyvideo display and dot matrix printercontrollers. The TMS4710 outputsdots for upper and lower case letters,numbers and special characters withspacing due to use of 5 by 7 charactersin an 8 by 8 matrix. Three state outputsand dual output enables are provided inthe plastic or ceramic 24 pin DIP pack-age, which is priced at $10.66 or $12.66in 100 piece quantities. Contact TexasInstruments' Inquiry Answering Service,POB 1443, M/S 669 (attn: TMS4710),Houston TX 77001, (713) 494-5115ext2781."

Circle 537 on inquiry card.

An 8 by 8 Multiply in 100 ns

i'lmmmumikw ilium*

<M*m~m-ze iiimi 5; * r** xmi; a» s"3

Microcomputer applications such asreal time music synthesis and speechprocessing, fast Fourier transformcomputations and fast floating pointprocessors call for enormous numbersof multiplications each second. In theseapplications, a new chip from Mono-lithic Memories can help. It performsan 8 by 8 bit signed or unsigned 2'scomplement multiplication in 100 ns,yielding a 16 bit signed or unsignedresult. The 40 pin bipolar LSI deviceuses a single 5 V power supply, con-sumes only 1 W and features three stateoutputs for pipelined operations. TheMMI67558 is second sourced by ITTSemiconductors and sells for $64 in100 up quantities from MonolithicMemories, 1165 E Arques Av, SunnyvaleCA 94086, (408) 739-3535."

Circle 538 on inquiry card.

includes an oscillator on the chip. Thecircuit, in a 16 pin ceramic or plasticDIP, is available for $7.58 in 100 upquantities from Motorola's IntegratedCircuit Division, 3501 Ed BluesteinBlvd, Austin TX 78721, (512) 928-2600."

Circle 535 on inquiry card.

210

BYTE December 1977

Circle 135 on inquiry card.

CHRISTMASSPECIAL

IMMEDIATE DELIVERY

Selectric Terminal — USED, AS IS, butremoved from working installation.Nationwide service available.

SPECIAL ITEMS FOR ABOVE TERMINALASCII controller — 200 character buffer, all128 characters, set at 110 to 1200 Baud(average throughput is 13 cps). ASR33

$795.00

compatible RS232C interface.

$225.00

BOTH UNITS ORDERED TOGETHER

$890.00

SURPLUS BARGAIN:

New, in original containers. Double density

floppy drives. Model GSM 10.

$549.00

2 for

$1059.00

IBM format disk kit to use GSM 10 drive with

above terminal controller.

$249.00

Board and EPROM only

$99.00

Mastercharge, Visa or COD accepted.

$40.00 deposit on COD

* LIMITED QUANTITIES Call or write by Dec. 5, 1977to reserve for shipment on or before Dec. 12, 1977.

J^ oliarp<& Associates Inc.

Box 10666, Edgemont Branch Golden, Colorado 80401

NEW 8080 and 8O8B RGFeRGNCG GUIDG

A TOTALLY NEW CONCEPT!

SAVES TIME AND MONEY!

MAKES YOUR JOB EASIER!

A powerful new tool for every serious 8080 user — professional and novice alike.

Priceless timesaver for engineers, technicians, and programmers. Saves time and

money in the lab, on the production line, or in the field.

Convenient pocket size — 3% by 7% inches — gives quick and easy access to all vital

reference data. No more searching here and there for codes, instructions, or definitions.

It's all there — at your finger tips — everything you need to successfully use the 8080A

and —Intel's new 8085 microprocessor.

Features cross listing, for rapid assembly and disassembly, of MACHINE CODES and

MNEMONICS • Concise description of 8080 and 8085 OPERATIONS, SIGNALS,

PINOUTS, and INSTRUCTIONS • Convenient cross conversion of OCTAL,

HEXIDECIMAL, DECIMAL, ASCII, and EBCDIC codes • Easy-to-read tables of powers

of two, eight, and sixteen ... and much more...

Sturdy • Handsome • Easy-to-use • Data Packed

Your timesaver will give many years of professional service.

$12.95 each (plus postage & California sales tax) — 25% discount for 4 or more.MoneyBack Guarantee: You must be fully satisfied or simply return the guide within 15 days forfull and prompt refund.

URBAN INSTRUMENTS

4014 CODY ROAD • DEPARTMENT C1 ■SHERMAN OAKS • CALIFORNIA 91403

master charge

BANKAMERICARD

PLEASE SEND.

NAME

STREET

CITY

STATE

. 8080 ti mesa vers to:

CHECK/M.O. ENCLOSED D BANKAMERICARD [J MASTER CHARGED

CARD NUMBER

GOOD THRU 4 DIGITS ABOVE NAME

.ZIP SIGNATURE

(MASTER CHARGE)

Circle 124 on inquiry card.

BYTE December 1977 211

COMPU TIMECT 100

COMPU/TIME offers

A

Real Darn Clever

Enhancement to users of

IMSAI/ALTAIR Microprocessors

S100 BUS COMPATIBLE

TIME & CALENDAR

COMPU/TIME CT100 $199 Kit $245 Assembled

COMPU only C101 $149 Kit $189 Assembled

TIME only T102 $165 Kit $205 Assembled

COMPU/TIME PC Board wily $ 80

TV-l

You will want to know about the TU-1 Video to TelevisiorInterface Kit.

No need to buy a separate Video Monitor if you alreadyown a TV set. Just connect the TW-l between your systemvideo output and the TV set antenna terminals—that's allthere is to it—to convert your TV set to a Video Monitor, ancat a much lower cost! PRICE S>8 95

•IBcfB

FCS 8000A — Vh Digit — .8" Display

NEWI 25 Pin Version with colon & am/pm indicator

• Connects almost onelor one with 3B17, 3BT7Aor D. (3617 available at$5.00 each).

• Typical segment, current3mA except colon. 10 hrsb & c and 10 min. a & Awhicn are 16 mA.■ Forward voltage drop1 5 veils

FRONT VIEW - FSCaOOO

SPECIAL$4.95 EA.

• MAXIMUM FORWARDCURRENT - 25 mA.

® /to

SLIT-N-WRAP WIRE WRAP TOOL

• Slits and opens Insulation exposingbare wire

• No pre-cuttlng or pre-stripping.

• Comes complete with two -100 ft spools

#28 AWG wire

Plugboards 8800V

Model P180

$24.50

Universal Microcomputer/^ • Processor plugboard, use withJ S-100 bus complete with heat sink &! hardware 5.3 x 10 x 1/16"

$19.95

CHANNEL F

$159.95

mmomo nofosrmmmmim systm

• Freeze Action • Speed Option

• Automatic time and scorekeeping

• Battery-free AC operation

• Dual controls with 8-way action

• Built-in Pro Hockey and Tennis games

• Easy hook-up on any B/W or Cotor TV

• Factory warranty

Channel F — additional cartridges -

— Tlc-Tac-Toe/Shooting GalleryQuad ra -doodle /Doodle/0812 — Desert Fox/Snooting Gallery

0815 — Spacewar {2 players)0818 — Marjic Numbers

(computer logic)

- Blackjack (1 or 2 players)i4 —Spitfire (1 or 2 players)19 — Drag strip (1 or 2 players)0820 — Man (2 players)0822 —Baseball [2 payers)

EDGE CONNECTORS

20

0UAL

10

PIN

30

DUAL

lb

PIN

it

DUAL

71

PIN

44

DUAL

??

PtH

80

DUAL

40

PIN

86

DUAL

43

PIN

100

DUAL

so

PIN

100

DUAL

SO

PIN

100

DUAL

SO

PIN

100

DUAL

50

PIN

GOLD

GOLD

GOLD

GOLD

GOLD

GOLD(6800)

GOLDJIHSAI/ALTAIR)

GOLD!IMSAI/ALTAIR)

GOLD(N0 EARS-IH5AI

TIN 1.1" SPACING)

» .50.751.952.504.955.004.254.953.503.25

ALTAIR/IHSAI CARD GUIDES

Computer Products

5351 WEST 144th STREET

LAWNDALE, CALIFORNIA 90260

(213) 679-3313

RETAIL STORE HOURS M-F 9-7 SAT. 9-5Discounts available at OEM quantities. Add $1.25for shipping. California residents add 6% sales tax.

CATALOG FREE WITH $10.00 ORDER

• 7400NTTL^!lt

5.00

3.50

SN7400N .16 SN7459A

SN7401N .16 SN7460N

SN7402N .21 SN7470N

SN7403N .16 SH7472N

SN7404N .18 SN7473N

SN7405N .24 SN7474N

SN7406N .20 SN7475N1

SN7407N 29 SN7476N'

SN7408N .25 SN7479N

SN7409N .25 SN7480N

SN7410N 18 Sn)74B2N

SN7411N .30 SN7483H

SN7412N .33 SN7485N

SN7413N .45 SN7486N

SN7414N .70 SN7488N

SN7416N .35 SN74B9N

SN7417N 35 SN7490N

SN7420N .21 SN7491N

SN7421N -33 SN7492N

SN7422N .49 SN7493N

SN7423N .37 SN7494N

SN7425N .29 SN7495N

SN7428M .29 SN7496N

SN7427N .37 SN7497N

SN7429N .42 SN74100N

SH7430N .26 SN74107N

SN7432N .31 SN74121N'

SN7437M .27 SN74122N

SN7438nf .27 SN74123N

SN7439N 25 SN74125N

SN744QN 15 SN74I26N

SN7441N .89 SN74J32N

SM7442N .59 SN74136N

SN7443N .75 SN74141N

SN7444N .75 SN74142N

SN7445N .75 SN74143N

SM7446H .81 SN74144N

SN7447N .69 SN74145N

SN7448N .79 SN74147N

SNMHN .26 SN74148N

SN7451N .27 SN74150N

SN7453N .27 SN74151N

SN7454N .20 SN74153N

MANY OTHERS AVAILABLE ON REQUEST 20% Discount tor 100 Combined 7400's

4.50

SN74154NSN74155NSN74I56NSN74157NSN74160NSN74161NSN74163NSN74164NSN74165NSN74166MSN74167NSN74170NSN74172NSN74173NSN74174NSN74175NSN74176NSN74177N5N74160NSN74181NSN74182NSN741B4NSN74185NSN741BOWSN74187NSN74188N5N74190NSN74191NSN74192NSN74193NSN74194N5N74195NSN74196NSN74197NSN74198NSN74199NSN742WNSN74279NSN74251NSN74284NSN74285NSN74367N

C04000CW001C04002CD40O6CD40O7CD40Q9CD4010C04011CD4012CD4013CO40I6CD4017CD-4019CD4020CO4022C04023CD4024CD4025CO4026CD4027C04Q28CD4029

.25

CMOS

290

C04030

CO4035

CO4O40

CD4042

CD4D44

CD4046

CD4047

CD4049

CD405O

CO40S1

C04053

CD4060

CD4066

CO4069

CD4071

CD40B1

C04511

C0451B

MC14566

74COON

74C02N

2952953.25

74C04N

74C10N

74C20N

74C30N

74C42N

74C73N

74C74

74C90N

74C95N

74C107N

74C151

74C154

74C157

74C160

74C161

74C563

74C164

74C173

74C193

740195

MC4044

MC14016

2.153.253.25

.56.

lM300(1 .80

LM301H .35

LM301CN .35

IM302H ,7S

LM304H 1.00

LM305H 95

LM307CN .35

LM308H 1.00

IM306CN 1.00LM309H 1.10

LM309K .99

LM310CN 1.15LM311H 90

LM311N .90

LM316CN 1.50LM319N 1.30

LM320K-5 1.35LM320K-5.2 1.35LM320K-12 1.35LM320K-15 1.35LM320T-5 1.75LM320T-5.2 1.75LM320I-8 1.75LH320T-12 1.75LM320T-15 1.75LM320T-18 1.75LM320T-24LM323K-5LM324NLM339NLM340K-5LM340K-6LM340K-8LM340K-12LM340K-15LM340K-18LM340K-24LM340T-5LM340T-6LM340T-8LM340T-12LM340T-1SLM340T-18LM340T-24LM350NLM351CN

LINEAR

9.95

LM370N

LM373N

LM377N

LM380N

LM380CH

LM381H

LM382N

NE501K

NES10A

NE531H

NE536T

NE540L

NE550N

NE555V

NE560B

NE561B

NE562B

NE565H

NE565N

NE566CN

NE567H

NE567V

LM703CN

LM709H

LM709N

LM710N

LM711N

LM723H

LM723H

LW733N

LM739N

LM74ICH

LM741CN

LM741-14N

LM747H

LM747N

LM748H

LM74BN

LM1303N

LM1304N

LM1305N

LM1307N

LM1310N

2.95

3.00

600GOO

LM1351NLM1414NLM1458CLM1496NLM1556VLM211INLM2901NLM3065NLM3900NLM3905N 60

LM3909 1.25

LM5556N 1.85MC5558V 1.00LM7525N .90

LM7S35N 1.2580388 4.95

LM75450 .49

75451CN .39

75452CN .39

75453CN .39

75454CN .39

75491CN .79

75492CN .89

75494CN .89

RCAUMEARCA3013 MS

CA3023 2.56

CA303S 2.48

CA3039 1.35

CA3046 1.30

CA3059 3.25

CA3060 3.25

CA3080 .85

CA3081 2.00

CA3082 2.00

CA3083CA3086CA3089CA3091CA3102CAS 123CA3130CA3140C A3 BOOHC4194RC4195

10.202.952.15

74LS0O74LS0274LS0374LS0474LS0574LS0874LS1074LS1374LS1474LS2074LS2674LS2?74LS2874LS3074LS3274LS4074LS5174LS5574LS73

29

74LS00 TTL

■19

74LS74

74LS75

74LS76

74LSB3

74LSB5

74LS86

74LS90

74LS92

74LS93

74LS95

74LS96

74LS107

74LS109

74LS112

74LS132

74LS136 .

74LSI3B

1 69

MM5309MM5311MM5312MM5314WM531GMM5316CT7001

CLOCK CHIPS

6 Oioii. BCO Outputs, Rosci PIN.

6 Drflh, BCO Outputs, 12 or 24 Hour

4 Onjt, SCO Outputs. 1 PPS Output

6 Die it. 12 or 24 Hour, 50 Of 60 Hi

4 Digit. Alarm, 1 PPS Output

Vidto Clor* Chip. For Use With IMM5841

6 Dloit, Calendar. Alarm, 12 or 24 Hour

74 LSI 39

74LS15I74LS15374LSI 5774LSI6274LSI6374LSI6474L517574LS18174LS19074LS19174LSI9274LS19374LS19474LS19574LS25774LS26074LS27974LS670

6.959.955 85

THE PROM SETTER

WRITE and READEPROM

I702A find 2708Plugs Direclly inlo your ALTAIR/IMSAI Computer

Inrlurlns Main Module Board and Exlernal EPROMSorkel Llnil

The EPROM Socket Unil is ronnecled to Ihe Com-puter through a 25 Pin Connector

Programming is accomplished hy the Compuler

Jusl Read in the Program to be Wrilten on theEPROM inlo ynur Processor and lei the Computerdo the rest.Use Rocket Unit lo Read EPROM's Contents into

your Computer

Software included

Nn Exlernal Power Supplies, Your Computer does

it all

Programs and Reads Both 1702A and 270B EPROMSDoubles as an Eight Bit Parallel I/O

Manual inr.luded Delivery Less ihnn 90 days

INTRODUCTRY OFFER

THE PROM SETTER

Kit S210 ASSEMBLEDS375PROM SETTER I

above unit with 2716 adapterKit$260 Assembled $425

WIRE WRAP CENTER

HOBBY-WRAP TOOL-BW-630

Battery Operated (Size C)Weighs ONLY 11 OuncesWraps 30 AWG Wire ontoStandard DIP Sockets (.025 inch)Complete with built-in bit and sleeve

WIRE-WRAP KIT — WK-2-WWRAP . STRIP . UNWRAP u£]

. Tool lor 30 AWG Wire ^K

• Roll of 50 Ft. White or Blue 30 AWG Wire**

• 50 pes. each 1", 2", 3" & 4" lengths —pre-stripped wire.

$11.95

WIRE WRAP TOOL WSU-30

WRAP . STRIP • UNWRAP-$5.95

WIRE WRAP WIRE — 30 AWG

50tt. $1.95 1000lt.,$15.00

SPECIFY COLOR — While - Yellow - Red - Green • Blue ■ Black

WIRE DISPENSER — WD-30

50 ft. roll 30 AWG KYNAR wire wrap wire $3.45 ea.

Cuts wire to desired length

Strips 1" of insulation Specify — Blue-Yellow-White-Red

LIQUID CRYSTAL DIGITALCLOCK-CALENDAR

vm

For Auto, Home, OfficeSmall in size (2x2%xV4)Push button for seconds release for date.Clocks mount anywhere with either 3M double-sided tape or VELCRO, included.2 MODELS AVAILABLE:

LCD-101, portable model runs on self-containedjattorles for better than a year.LCD-102, runs on 12 Volt system and is back-lighted.

LCD-101 or LCD-102 *tQO Qr

your choice $OJ. VO ea.

Cleardeekstand lor $2.00

MA1003, 12V DC CLOCK MODULE

Built in X'TAL controlledtime base. Protected againstautomotive volt Transients.Automatic brightness con-trol with 0.3" green colordisplay- Display turnoffwith ignition OFF"

$17.95

212

BYTE December 1977

Circle 66 on inquiry card.

MICROCOMPUTER

MICROPROCESSOR'S

F-8

Z-80

Z-80A

CDP1802CD

AM2901

6502

6800

8008-1

8080A

TMS-9900TL

6800 SUPPORT

6810P6820P6828P6834P6850P

19.9525.0035.0024.9522.9512.9519.958.7515.9589.95

6852P6860P6862P6880P

4.95

8.0011.2516.95

9.9511.9514.9517.95

2.70

Z80 SUPPORT DEVICES

38813882

12.9512.95

F-8 SUPPORT DEVICES

38513853

14.9514.95

DYNAMIC RAMS

1103

2104

2107 A

2107B

2107B-4

TMS4050

TMS4060

4096

4116

MM5270

MM5280

MCM6605

1.504.503.754.504.004.504.504.5042.005.006.006.00

CHARACTER

GENERATORS

2513 UP2513 DOWN2513 UP (5v)2513 DOWN I5u)MCM6571MCM6571AMCM6572MCM6574MCM6575

6.756.759.9510.9510.8010.8010.8014.7514.75

PROM'S

1702A

2704

2708

2716

360 T

5203AQ

5204AQ

6834

6834-1

82S23B

82S129B

8223B

5.00

15.00

20.00

38.00

4.50

4.00

6.00

16.95

14.95

4.00

4.25

2.70

8080A SUPPORT DEVICES

82128214821682248228823882518253825582578259

3.95

9.95

4.50

4.95

8.75

8.00

12.00

28.00

12.00

25.00

25.00

STATIC RAMS

21L02

21L02

21L11

1101A

2101-1

2102

2102-1

2111-1

2112-1

2114

31L01

3107

4200A

4804/2114

5101C-E

74C89

74S201

7489

8599

9102BPC

(450I(250)

1-24

1.501.954.251.492.951.251.504.003.0017.952.503.9512.9517.9511.953.254.502.251.881.65

25-99

1.40

1.804.101.292.751.151.303.502.8016.952.353.7012.5016.9511.253.054.302.101.751.45

100

1.25

1.50

3.95

1.10

2.60

1.00

1.15

3.25

2.69

16.50

2.00

3.25

11.95

16.50

10.25

2.85

4.25

1.90

1.60

1.30

KEYBOARD CHIPS

AY5-2376 13.95

AY5-3600 13.95

U ART'S

AY5-1013A

5.50

AY5-1014A

8.95

TR-1602A

5.50

TMS-6011

6.95

IM-6402

10.80

IM--6403

10.80

FLOPPY DISC CONTROLLER

1771B 55.95

1771B-01 59.95

SHIFT REGISTERS STATIC

2518B

2533V

TMS3002

TMS3112

MM5058

3.952.001.003.952.00

MISC. OTHER COMPONENTS

NH0025CN

NH0026CN

N8T20

N8T26

74367

DM8098

1488

1489

D-3207A

C-3404

1.702.503.502.45.90.901.951.952.003.95

P-3408A

5.00

P-4201

4.95

MM-5320

7.50

MM-5369

1.90

DM-8I30

2.90

DM8131

2.75

DM-8831

2.50

DM-8833

2.50

DM-8835

2.50

SN74LS367

.90

SN74LS368

.90

KIM

KIM-1

6502

6520

6522

6530-002

6530-003

6530-004

6530-005

USRT

S-2350WD1671B

245.0012.959.009.2515.9515.9515.9515.95

10.9529.95

WAVEFORM GENERATOR

8038 4.00

MC4024 2.50

566 1.75

TVGame Chip

TMS195SNL

Now Only$10.95

PerSci DISK AND CONTROLLER

Use the PerSci Disk and Controller now with theInfo 2000 Adapter for the S-100 Bus.

INFO 2000 "SPECIAL"

(includes Model 277 Dual Drive, Model 1070

Controller, Case with power supply and fan,

and cable) $2,150

Model 277 Dual Diskette Drive $1,130

Model 1070 Controller $740

Slimline case with power supply and fan $280

Adapter for the S-100 Bus (Kit) $120

JADE PARALLEL/SERIALINTERFACE KIT

$124.95 KIT

JADE

VIDEO INTERFACE KIT

$89.95 KIT

8K STATIC RAM BOARD

ASSEMBLED & TESTED

250ns.350ns.450ns.

5

19&95189.95$169.95

* WILL WORK WITH NO FRONT PANEL

* FULL DOCUMENTATION

* FULLY BUFFERED

* S100 DESIGN

* ADEOUATELY BYPASSED

* LOW POWER SCHOTTKY SUPPORT ICS

KIT

250ns.350ns.450ns.

$169.95$139.95$129.95

IMSAI/ALTAIR"

COMPATIBLE

S-100JADEZ80

-with PROVISIONS for \

ONBOARD 2708 and POWER ON JUMP

$135.00 EA.<2MHZ>$149.95 EA. «mhz>

BARE BOARD $35.00

IMSAI/ALTAIR

COMPATIBLE

S-100JADE 8080A KIT

- WITH EIGHT LEVEL VECTOR INTERRUPT

$110.00 KIT

BARE BOARD $35.00

Computer Products

5351 WEST 144th STREET

LAWNDALE, CALIFORNIA 90260

1213) 679-3313

RETAIL STORE HOURS M-F 9-7 SAT. 9-5Discounts available at OEM quantities. Add $1.25for shipping. California residents add 6% sales tax.

CATALOG FREE WITH $10.00 ORDER

Circle 66 on inquiry card.

BYTE December 1977

213

/-'^CRYSTALS {Mr

— .~t»»C1 THESE FREQUENCIES ONLY BaS*-!/'

PlfTS""

CY1A

CY2A

ICY2.0I

THESE FREQUENCIES ONLYFrequency Case/Style ~

LOGO MHz HC33/U

2.000 MHz HC33/U

-prTco

S5.95 •15.95

2 010 MHz

HC33IU

CY3ACY7ACY12ACY14ACYI9ACY22ACY30B

$1.951

4.000 MHz5.000 MHz10 000 MHz14.31818 MHz18 000 MHz20.000 MHz32.000 MHz

HC18/UHC1B/UHC18/UHC18UHC1S7UHC18/UHC18/U

S495S4.95S4 9554.95S4.95S4.95S4.95

m

RRFAD ROARD Each kit contains 350 wires

fc,r,t"fc' «■»***"»** cul l0 i^ different lengths

JUMPER WIRE KIT 'nmo.nos.o-.

- rvi i kch wire is stripped and

■he leads are bent 90* lor\*** .^.^"^^kWWW easy insertion.

Wire length is classifiedhy color coding.

All wire is solid tinned 22gauge with PVC Insulation.The wires come packed InJK1 ... .$10.00/ kit . a ww"1""! P|as,ic box-

CONNECTORS

PRINTED CIRCUIT EDGE-CARD

156 Spacing-Tin-Double Read-OutBifurcated Contacts — Fits .054 to .070 P.C. Cards

15/30 PINS (Solder Eyelet) $1.95

18/36 PINS (Solder Eyelet) $2.49

22/44 PINS (Solder Eyelet) $2.95

50/100 PINS (Wire Wrap) $6.95

50/100A(.ioo Spacing) PINS (Wire Wrap) $6.95

25 PIN-D SUBMINATURE

DB25P PLUG $3.25

DB25S SOCKET $4.95

205-CB

HEAT SINKS

#

205-CB Beryllium Copper w-black finish for TO-5291-.36H Aluminum for T0-220 Transistors &

Regulators680-.75A Black Anodized Aluminum for T0-3Dude 4 Black Anodized Aluminum — predrilled

mounting holes for TO-3 — 4V< x 1V4 x 2"

$ .25$1.60

S1.75

DIP SWITCHES spsrsiid. Action

#206-4 ( 8 pin dip) 4 switch unit S1.75 ea.#206-7 (14 pin dip) 7 switch unit 51.95 ei.#206-8 (16 pin dip) 8 switch unit 12.25 ••

© jm

(cannot be shipped via air)P.C Etch Materials Kitenough lot 5 circuit boardsEtched Ciicuil KitComplete tut — only add water6.5X4.5 X1/16 Epmy glassP-Pattern-44PC Tabs-spaced .156"Maling connector tor plugboard —22 pin double readoutUniversal Microcompuler/'PrQcessorplugboard — Epoxy Glass—completewith healsmk and mounting hardware5.313 X 10 X 1/16 copper clad

$29.95 ea$ 9.95 ea$ 6.95 ea$ 2.95 ea$19.95 ea

1/16 VECTOR BOARD

P3M ND.

64P44 0S2XXXP169P44 062XXXP64P44 062WE94P44 062WE169P44 062WE169P84 062WE169P44 062WEC1

1l~l^\ SUT-N-W RAP WIRE WRAP TOOL

ySClOt . slits and opens insulation exposing

bare wire

• No pre-cutting or pre-stripping.

• Comes complete with two -100 ft spools #28 AWG wire

Modal P1B0 $24.50

HEXADECIMALENCODER 19-KEY PAD

• 1-0

• ABCDEF

• Shift Key

• 2 Optional Keys

$10.95 each

63 KEY KEYBOARD

HDD165AY-5-Z37S

Encoder Chip (encodes 16 Keys)Encoder Chip (encodes 68 Keys)

$29.95

This keyboard tealures 63 nutcoded SPST keys, unattachedany kind o( P C.B A very solidmolded plastic 13" < 4" basesuits most applications

S7.95 sa.

ELlg "

TOOLS

A97MS — Diagonal Cutter - 4" semi-flush cut $7.95 ea.

A11DMS — Chain Nose Pliers ■ 4%" long 7.50 ea.

T-6 — Wire Stripper - #16 to #26 gauge 3.75 ea.

55B — Wire Stripper - #10 to #20 gauge 2.50 ea.

CS-8 — Cutter-Crimper Tool - 81V' long 7.95 ea.Nibbing Tool — Cuts, Trims or Notches Metal

up to #18 gauge 6.95 ea.

Nibbling Tool Replacement Punch 3.75 ea.

MICROPROCESSOR COMPONENTS

8080A82128214821682248228

2504

25182519252225242525252725292532253333417JLS670

2513(2140)2513(3021)2516MM5230

CPU

8 Bit Input/OutputPriority Interrupt ControlBi-Oirectional Bus DriverClock Generator/Driver

System Controller Bus Driver .10.95 Z80

$16.00 CDP1802 CPU

4.95 MC6800 8 Bit MPU

15.95 MC6820 Periph. Interlace Adapter

6.95 MC6810AP1 128 x 8 Static RAM

9.95 MC6830L8 1024 x 8 Bit ROM

CPU'S

SR'S

1024 DynamicHex 32 BITHex 40 BITDual 132 iill SSR512 Dynamic1024 DynamicDual 256 BITDual 512 BIT

Filo

16 ■ 4 Reg

UAflT'S30K Baud

ROM'SChat Gen.-upper caseChar Gen.-lower caseChar Gen2046 BIT (512 x 4 on 256 x a;

16.0026 50

7489

CPU

256x4256x4

BUI

8599

21L02O1L02 102-1 * I74200 256 x 1

93421 256 x 1

IMM5262

Sialic

Static

Dynamic

Sialic

Static

Static

Sialic

Static

Static

Sialic

Sun

6 953SI5

S5.95

$9 95

9.9510-95

UPD414(2104}4K

I702A 2048

5203 2048

82S23 32 x B

B2S123 32 « 8

74S287 1024

3601 256 <4

Dynamic

$19.9524.9515.006.0015.0029.95

$ 1.49

4 956.95

2 495.958.95

3 492.256 95

Dynamic 16 PinPROMS

famosOpen C

2716 16K

6301-1 1024

6330-1 256

Eorom

In-Stale BipolarOpen Collector Bipolar

34.953452.9S

SPECIAL REQUESTED ITEMS

AY-3-8500-1

8.95

AY-5-9100

17.50

AY-5-9200

14.95

AY-5-9500

4.95

AY-5-2376

14.95

9374

1.95

82S115

25.00

11C90

4M33

8T20

6T97

HDD 165

MCM6571

MCM6574

7205

19.95 MCM6575 17.50 9368

17.5017.5019.95

1CM7045ICM7207ICM7208ICM7209MK50240DS0026CHTIL308

3.95

24.95 LD110/111

7.50 95H90 11.95

22.00 MC3061P 3.50

7.50 MC4016 (74416) 7.50

17.50 MC140BL7 6.95

3.75 MC1408L8 9.95

PARATRONICS

Featured on February's Front Cover of Popular Electronics

Logic Analyzer Kit mom iom mom n

Model 100A

CLOCK CHIPS

MM5309 $9.95MM5311 4.95MM5312MM5314MM5316MM 5318MM5369MM5841

cnooi

4.954.956.959.952.95

$229.00/kit

I I I I I

• Analyzes any type of digital system

• Checks data rates in excess of 8

million words per second

• Trouble shoot TTL, CMOS. DTL. RTL,Schottky and M0S families

• Displays 16 logic states up to 8 digits wide

• See ones and zeros displayed on youtCRT, octal or hexadecimal formal

• Tests circuits under actual operatingconditions

• Easy to assemble — comeswithstep-by-stepconstruction "manual which includes 80 pages on logic analyzer operation.

111 m

llll m

#«r

Some applications are:Troubleshooting microprocessoraddress, instruction, and data flowExamine contents oi ROMSTracing operation of control logicChecking counter and shiftregister operationMonitoring I/O sequencesVerifying proper system operationsduring testing

PARATRONICS TRIGGER EXPANDER - Model 10

clock Model 10 — $229.00

unit). Baiaplatn — $9.95

Adds 16 additional bits. Provides digital delay and qualification of inputand 24-blt trigger word, — Connects direct to Model IQOAfor integrated

RRiSTi Wl

Model 2800$99.95

Comes wiin testleads, operating manualand spare fuse.

3Vi.Dlfllt Portable DMM

■ Overload Proieded

• .3" high LED Display

• Battery or AC operation

• Aulo Zeroing

• Imv, 1Va. 0.I ohm resolution

• Ove/ange reading

• 10 meg Input impendence

■ DC Accuracy 1% typicalRanges: DC Voltage -0-1000V/AC Voltage: 0-1000V

Freq Response 50-400 HZDC/AC Current: 0-100mAResistance' 0-10 meg ohmSize 6 4" x 4.4- x2"Accessories:

AC Adapter 8C-2B 8.00

RechargeableBatteries BP-26 20.00

Carrying Case LC-2B 6.00

CONTINENTAL SPECIALTIES

100 MHz 8-Dlgit Counter

• 20 H2-1QQ MHl Range . Four p0wef souces. I.e.

• ,6" LED Display batteries. 110 or 220V with

• Crystal-conlialled timebase charger 12V with auto

• Fully Automalic lighter adapter and external

• Portable—completely 7.2-10V power supply

.SS-t!™ I*"™ $134.95

X5.63-

ACCESSORIES FOR MAX 100:

Mobile Charger Eliminator

use power trom car lialleiy Model 100 — cut S3.95

Charger/Eliminator

uaellOVAC Model 100 —CAI S9 95

PROTO BOARD 6

$15.95

(6" longX 4" wide)

Other CS Proto Boards

PB100 - 4.5" x 6" $ 19.95

PB101 - 5.8" x 4.5" 29.95

PB102 - 7" x 4.5" 39.95

PB103-9"x6" 59.95

PB104 - 9.5" x 8" 79.95

PB203 - 9.75 x 614 x 2% 80.00PB203A -9.75x614x2* 129.95

(includes pow

supply)

LOGIC MONITOR

for DTL. HTL. TTL or CMOS Devices

$84.95

PROTO CLIPS

14 PIN16 PIN24 PIN40 PIN

S4.504.758.50

13.75

DESIGN MATES

DM1 - Circuit Designer

$69.95DM2 - Function Generator

$74.95DM3 - FtC Bridge

$74.95

QT PROTO STRIPS

•v.,",',-..',';::',,' -.'.•V.

PERMACEL® P-29 PLUS Electrical Tape - All Weatl

• *i" wide x 66 n • BlacK vinyl

Sj-9 Rolls $.79 each 10-uo Rolls $6.95/10 roll package

•lii!

me

•m

'iiiHii

ui type01-59S0T-59HOT-47SQT-47B01-35SQT-35BOT-16SQT-12SOT-8SOT-7S

590

0T-7S

Expeiimenlor 300Experimentor 600

$ 9.95110.95

S5.00 Minimum Order — U.S. Fundi OnlyCalllomla Raildentt — Add 6% Salei Tei

Spec Sheet! ■ 25c — Send 35« Stamp tor 1976 CatalogDealer Information Available

1978CATALOG

NOWAVAILABLE

1021-A HOWARD AVE., SAN CARLOS. CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097

All Advertlted Prtcei Good Thru December

CDTimeband "*\Digital Alarm Clocks

C-50.li - Ivory CaseC-50GB - Ebony Case

S16.95

• 24-iiour alarm

• Doze Bulton

• 100°, Solid Slate

• Large Red Led Disblay, 8' high)

. AMi'PM indicator

• Seconds display at touchof tuition

• Power failure indicator

■ One year factory warranty

Tlmeband lamp clock

24 hour alarm

• Doze button

• Alarm-on indicator

• .8" high Red LED Display

• AM/PM Indicator

• High intensity lamp

• Lamp shuts off when collapsedModel C-590 (Ivory) $29.95

AM/FM 8-TrackStereo ReceiverWith BSR Changer

• PLL System

• BSR Record Changer

• Slide Controls

• Automatic AFC Control

• 4 Speaker Output

• Walnut finish vinyl coveredwood veneer with smokedust cover

, Size: 20"W_x 9%"H x 15%"D

Model 8365 $149.95

DIGITAL STOPWATCH

• Bnghl 6 Digit LED Display

• Times 10 59 minutes 59.59 seconds

• Crystal Controlled Time Base

■ Three Stopwatches in One

Times Single Event — Split A Taylor

■ Size 4.5" x 2 15" x .90" |4W ounces)

• Uses 3 Penlite Cells

Kit — $39.95

Assembled — $49.95Heavy Duty Carry Case $5.95

Slop Watch Chip Only (7205) $19.95

3V2DIGIT DPM KIT

• New Bipolar Unit

• Auto Zeroinga .5" LED

Model KB500 DPM Kit

Auto PolarityLow PowerSingle IC Unit

$49.00Model 311D-5C-5V Power Kit $17.50

JE700 CLOCK

The JE7O0 ts a low cost digital dock, butis a very high quality unit The unit lea-tures a simulated walnul case with di-mensions ot 6 x 2'j xl M utilizes aMAN72 high hughiness readout, and theMM531J clock chip

115 VAC

it- ui ei nuui -^ _ j. __ ^jj

KIT ONLY $16.95

These joysticks feature four100K potentiometers, thatvary resistance proportionalto trie angle of the stick. Studymetal construction withplastic components only atthe movable joint. Perfectfor electronic games andinstrumentation.100K $5.95

5K S4.95

JOYSTICK

INSTRUMENT/CLOCK CASE

Injection molded unit. Completewith red bezal. 4Wx 4" x 1-9/16"

JE803 PROBE

The Logic Prone is a unit whicn is lomdespensiole in trouOle shooting logic lamiliesTTL. DTL RTL CMOS It dertves the power ilneeds to operate directly oft ol Ihe circuit underlest, drawing a scant 10 mA max It uses a MAN3readout 10 indicate any ol me following slates Dythese symbols ]H| ■ t (LOW) - o |PULSEi ■ P TheProbe can detecl high frequency pulses lo 45 MHzIl can I be used ai MDS levels or circuit damagewill result

$9.95 Per Kit

printed circuit board

PL 5V 1A Supply

This is a standard TTL power supply using, the well knownLM309K regulator IC to provide a solid 1 AMP ol current at 5volts We try to make things easy lor you by providingeverything you need in one package, including the hardware

•«»* $9.95 Per Kit J

214

BYTE December I 977

Circle 67 on inquiry card.

7400N TTL

SN7400NSN7401NSN7402NSN7403NSN7404NSN74Q5NSN7406NSN7407NSN7408NSN7409NSN7410NSN7411NSN74I2NSN7413NSN7414NSN7416NSN7417NSN7420NSN74Z1NSN7422NSN7423NSN7425NSN7426NSN7427NSN7429NSN7430NSN7432NSN7437NSN7438NSN7439NSN7440NSf«441NSN7442NSN7443NSN7444NSN7445NSN7446NSN7447SSN7448NSN745QNSN7451NSN7453NSN7454NSN7459ASN7460NSN7470N

SN7472N

SN7473N

SN7474N

SN747SN'

SN7476N'

SN7479N

SN7480N

SN7482N

SN74B3N

SN74B5N

SN74B6N

SN7488N

SN7469N

SN7490N

SN7491N

SN7492N

SN7493N

SN7494N

SN7495N

SN7496N

SN7497N

SN74100N

SN741D7N

SM74109N

SN74116N

SN74121N

SN74122N

SN74123N

SN74125N

SN74126N

SN74132N

SN74136N

SN74141N

SN74142N

SN74143N

SN74144N

SN74145N

SH74147N

SN7414BN

SN74150N

SN74151N

SN74153N

SN74154N

SN74155N

SN74156N

SN74157N

SN74160NSN74161NSN741B2N

SN74163NSN74164NSN74165NSN74166NSN74167NSN74170NSN74172NSH74173NSN74174NSN74175NSN74176NSN74177NSN74179NSN741B0NSN74181NSN74182NSN74184NSN741B5NSN74186NSN74187NSN74188NSN74190NSN74191NSN74192NSN74193NSN74194NSN74195NSN74196NSN74197NSN7419BNSN74199NSN74200NSN74251NSN74279NSN742B3NSN74284NSN74285NSN74365N5N74366NSN74367NSN74368NSN74390NSN74393N

20% Discount fof 100 Combined 7400's

CD40O0CD4001CD4002C04006CD4007CD4009CD4010CD401ICD4012CD40I3CD4014CD4015CD4016CD4017CD4018CO4019CD4020CD4021CD4022CD4023CD4024CD4025CD402GCD4Q27CO402BC04029CD4030CD4035CD4040CD4041CD4042CD4043

CMOS

CD4044

.89

CO4046

1.79

CD4047

2.50

CD404B

1.35

C04049

.49

CO405O

49

CD4051

1.19

CD4053

1.19

C04Q56

1.49

CD4059

9.95

CD4060

1.49

CD4066

.79

CO406B

.39

CD4069

45

CD4070

.55

CD4071

.23

CD4072

.49

CD4076

1.39

CD4081

.23

CD4082

.23

C04098

2.49

MC14409

14.95

MC14410

14.95

MC14419

4.95

MC14506

- 75

MC14507

.99

CD4508

3.95

CD4510

1.39

CD4511

1.29

C04515

2.95

CD4518

1.29

C04520

1 29

MC14562CD4566MC14583

74C0274C0474C1074C1474C2374C3074C4274C7374C7474C8974C9074C9374C9574C10774C15174C15474C15774C16074C16174C16374C16474C17374C19374C19580C9580C97

2.90

3.0D2.15

LM3U0H

LM301H

LM301CN -

LM302H

LM304H

LM305H

LM307CN

LM308H

LM30BCN

LM309H

LM309K

LM310CN

LM311H

LM311N

LM317K

LM318CN

LM319N

LM320K-5

LM320K-5.2

LM320K-12

LM320K-15

LM320T-5

LM320T-5.2

LM320T-B

LM320T-12

LM320T-15

LM32QT-18

LM320T-24

LM323K-5

LM324N

LM339N

LM340K-S

IM340K-6

LM340K-8

LM340K-12

LM340K-15

LM340K-18

LM340K-24

LM340T-5

LM340T-6

LINEAR

LM340T-8 LSS"

LM340T-I2 1-25

LM340T-15 1.25

LM340T-1B 1.25

LM34QT-24 1-25LM350N

LM351CN

78MG

LM370M

LM373N

LM377N

LM380N

LM380CN

LM38IN

LM382N

\E501K

NE510A

NE529A

NES31H

NE536T

NE540L

WESSON

NE555V

NE560B

NES61B

NE562B

NE565H

NE565N

HE566CN

NE567H

NE567V

LM703CN

LM709H

LM709N

LM710N

LM711N

LM723H

LM723N

LM733N

LM739N 1.19

LM741CH .35

LM741CN .35

LM741-14N .39

LM747H .79

LM747N .79

LM74BH .39

LM74BN .39

LM1303N .90

LM1304N 1.19

LM1305N 1.40

LM1307N .85

LM1310N 2.95

LM1351N 1-65

LM1414N 1.75

LM1458CN .59

LM1496N 95

LM155BV 1.75

LM2111N 1.95

LM2901N 2,95

LM3053 1.50

LM3055N .69LM3900N{3401).49

LM3905N .89

LM3909 1.25LM5555NMC5558VLM7525NLM7534N

LH75450

75451CN

75452CN

75453CN

75454CN

75491CN

75492CN

75494CN

RC419J

RC4195

4.95

V 74

74LS0O74LS0274LS0374LS0474L50574LS0874LS10741S1374LS1474LS2074LS2674LS2774LS2B74LS3074LS3274LS4074LS4274LS4774LS5174LS5574LS7374LS74

S74LS00 TTL

74LS7574LS7674LS6374LS8574LSB674LS9074LS9274LS9374LS9574LS9674LS10774LS10974LS11274LS123"74LS13274LS13674LS13874LS13974LS15174LS153

74LS15574 LSI 5774LS16074LSI6174LS16274LS16374LS16474LS17574LS18174LS19074LS19174LS19274LS19374LS19474LS19574LSJ5374LS257741S26074LSJ7974LS36774LS3B874LS670

BUGB00K"

Continuing Education Series' the

BUQBODKt I and II (17.00 pn tal

*f Pttor R. flony. Oiiid 0. Liiun. WMHYj

Sold as a sot llust lm> books outline over SO eipBitmnnts designed to teach

about TTL logic duos lo um itwm ilunction with mluoprocassoi systems You'll learn aboui ihe basic concepts o<diona! electronics Ifldudino gates, fllp-llopj. latches, busts, decodefs, nulli-ctoafs, doftirftlplBieis, LED BispUys. HAM's. ROM's, and much, much more

15.00

I.WI4HYJ

you W the laDuioui UAfll chip — that all Importantyour microcomputer. II also iRS !32C Interlace standard. PwtfeuHlly recomrr

THE 555 TIMER APPUCATtONSSOURCEBOOK WITH EXPERIMENTS

by Hewud M, ■•■tin

Thus Dooti shows you what the S55 lirner is jral ho* to use il Indud100 various design techniques, teutons and graphs lo ceate "re.timers, generalors. power supples, meisuremenl and control cmgames, circuits lor the home ard aulonohile. pholography, .Amateur Radio.

BUQBODK III liOB

ty PfliT R. Rtof, DiKd Q. Linen, WB4HYJ, Jonilhm A. TIMa

Hera Is tho book that puts II all together Besides having much valuable text' tnere are a sales ot eiperlmenu In which the reader completely eiploies the

B080 chip pm by pin and Introduces you lo the Mart B0 microcomputer1 unique easily interlaced system. It Is lecommendsd that you havi the U

ground on the BUGBOOKS I & II before proceeding wtlh BUGBOOK 111.

INSTRUCTOR'S MANUAL S3.DO

Necessary lor instruction ol Bugbcok I ana II Answers questions regardingeiperiments. suggestions lor lurthel reading, philosophy ol authors approach todigital electronics A must lor sell.leaching individuals.

OP AMP MANUAL

BUGBOOK V and VI S19.00 per tat

ty David 0. ItrtM. Peter fl, Rcay. Jeuttll A. TIHii

Eiparimeriis In iligilal electrpnics, oOBQA mlc'ocomputer progmmmiri_8DB0A mlciocomputor intortadng An integrated approach lo wit-instructedbasic digital electronics, bread boarding and S0B0A Interlacing/programmingBug book VI integrates the digital concepts Dl Bugbook V Into a treatment olSOB0A microcomputer programming end Interfadng Detail & laboratoryexperiments included with each book.

S5.00

CMOS-M — DESIGNERS PRIMERAND HANDBOOK

Sum al bale structure ol CMOS devices through In

se.oo

COMPLETE MANUAL FOR DIGITAL CLOCKS by John Weiss and John Brookl

FamlliarizDS technician or hobbyist with basic theories behind Signal clocks Includes trouble shooting guides, basic

chaiactensiics ol clocks, soldeiing techniques, dock component data sheets and construction tips. S3.95

XC209XC209XC209XC209

125" dla.RedGreenOrangeYellow

.ZOO" dia

DISCRETE LEDS

.ISO" dla.

10(51441

XC22

Red

XC22

Green

XC22

Yellow

XC22

Orange

SSL-22

RT

XC526

XC526XC526XC526

XC556XC556XC556XC556XC556

Red

Green

Yellow 41%

Orange 4U

.085" dia.MV50 ■ Red - 6/5

GreenYellowOtange

llNffU-AED LEO"

DISPLAY LEDS

TYPE

MAN 1

MAN 2MAN 3MAN 4MAN 7MAN 7GMAN7YMAN 52MAN 71MAN 72MAN 74MAN SIMAN 82MANS4MAN 3620MAN 3630MAN 3640MAN 4610MAN 4640MAN 4710MAN 4730MAN 4740MAN 4810MAN 6610

POLARITY

Common Anode-red5 x 7 Dot Matrix-redCommon Cathode-redCommon Caihode-iedCommon Anode-redCommon Anode-greenCommon An ode-ye I lawCommon Anode -greenCommon Anode-redCommon Anode-redCommon Cathode-redCommon Anode-yellowCommon Anode-ye I lowCommon Cathode-yellowCommon Anode-orangeCommon Anode-orange ±1Common Cathode-orangeCommon Anode-orangeCommon Cathode-orangeCommon Anode-red =1Common Anode-redCommon Cathode-redCommon Anode-yellowCommon Anode-orange-D.O.

TYPE

MAN 6630MAN 6640MAN 6650MAN 6660MAN 6680MAN 6710MAN 6730MAN 6740MAN 6750MAN 6760MAN 6780DL701DL702OL704DL707DL74.1DL746OL747DL749DL750DL33BFNDVOFND5D3FND507

POLARITY

CommonCommonCommonCommonCommonCommonCommonCommonCommoiCommonCommonCommonCommonCommonCommonCommonCommonCommonCommonCommonCommonCommonCommonCommor

Anode-orangeCathode-orange-D.DCathode-otange ±1Anode-orangeCathode-orangeAnode-red-D.D.Anode-red -O.D.Cathode-red-D.D.Cathode-red ±1Anode-redCathode-redAnode-red ^1Cathode-redCathode-redAnode-redAn ode-redAnode-red +1Anode-redCathode-ted ±1Cathode-redCathode-redCathode (FND359)Cathode (FND500)Anode (FND510)

CA3013CA3023CA3035CA3039CA3046CA3053CA3059CA3060CA3080CA3081

RCA LINEAR

2 15 CA3082

2.56 CA3083

2.48 CA3086

1.35 CA30B9

1.30 CA3091

i so CA3102

3*j>5 CA3123

3'25 CA3130

;85 CA3140

XR-2206KB Kit $19.95

WAVEFORMGENERATORS

XR-205 S8.40

XR-2206CP 5.50

XR-2207CP 3 85

STEREO DECODERSXR-1310CP S3.20

XR-1310EP 320

XR-1800P 320

XR-2567 2.99

XR-2Z06KA Kit $14.95

EXAR

S .49

XR-4136XR-1468XR-1488XR-14B9XR-2208

TIMERS

XR-555CP

XR-320P 1.55

XR-556CP 1.85

XR-255GCP 3.20

XR-22dOCP 4.B0PHASE LOCKED LOOPS

XR-210 5.20

XR-215 6.50

XR-567CP 1.95

XR-567CT 1,70

IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS

22 pin14 pin

Bpln10 pin

5 SOLDERTAIL STANDARD (TIN)

7:<

28 pm36 pin40 pin

28 pin36 pin40 oin

SOLDERTAIL STANDARD (GOLD)

24 pin28 pin36 pm43 40 pin

WIRE WRAP SOCKETS (GOLD) LEVEL #3

22 pin24 pin28 pin36 pin

50 PCS

ASST. 1ASST. 2ASST. 3ASST. 1ASST. 5ASST. 6ASST. 7

ASST. 8R

RESISTOR ASSORTMENTS $1.75 PER ASST.

10 OHM 12 OHM 15 OHM 16 OHM 22 OHM

27 OHM 33 OHM 39 OHM 47 OHM 56 OHM

66 OHM 82 OHM 100 OHM 120 OHM 150 OHM

180 OHM 220 OHM 270 OHM 330 OHM 390 OHM

470 OHM 560 OHM 680 OHM 820 OHM IK

I.2K 1 5K 1.BK 2.2K

3 3K

3.9K10K

470K1.2M3 3M

220K560K1 5M3 9M

5 6K15K

100K270K

2.7KG.8K18K47K120K330KB20K2 2M5.6M

1/4 WATT 5% - 50 PCS.

1/4 WATT 5% - 50 PCS.

1/4 WATT 5% ■ 50 PCS.

1/4 WATT 5% ■ 50 PCS.

1/4 WATT 5% 50 PCS.

1/4 WATT 5% 50 PCS.

1/4 WATT 5% 50 PCS.

Includes Resistor Assortments 1 -7(350 PCS.) $9-95 ea.

$5.00 Minimum Order —U.S. Fundi OnlyCalifornia Resident! - Add 6% Sales Tai

Spec Sheets - 25c — Send 35c Stamp lor 1978 CatalogDealer Information Available

1978

CATALOG

NOW

AVAILABLE

1021-A HOWARD AVE., SAN CARLOS. CA. 94070PHONE ORDERS WELCOME — (415) 592-8097

All AdvertlMd PrlCM Good Thru Ducambtr

HOBBY-WRAP TOOL-BW-630

Battery Operated (Size C)Weighs ONLY 11 OuncesWraps 30 AWG Wire ontoStandard DIP Sockets (.025 inch)Complete with built-in bit and sleeve

WIRE-WRAP KIT — WK-2-W

WRAP . STRIP . UNWRAP

• Tool lor 30 AWG Wire

• Roll ol 50 Ft. White or Blue 30 AWG Wire

• 50 pes. each 1", 2". 3" & A" lengthspre-stripped wire.

$11.95

WIRE WRAP TOOL WSU-30WRAP • STRIP . UNWRAP -S5.9!

WIRE WRAP WIRE — 30 AWG

25tt.min.{1.25 50H. $1.95 100ft. $2.95 1000ft. $15.00SPECIFY COLOR — White ■ Yellow - Red - Green -Blue - Black

WIRE DISPENSER — WD-30

50 ft. roll 30 AWG KYNAR wire wrap wire $3.45 ea.

• Cuts wire to desired length

• Strips 1" of insulation Specify

- Blue-Yellow-White-Red

REPLACEMENT DISPENSER SPOOLS FOR WD 30

Specify blue, yellow, white or red

S1.9B/spool

DIP/IC INSERTION TOOL WITH PIN STRAIGHTEN

Inserts both 14 and 16 pin packages. Pin Straightener

built into Handle.

ModelINS-1416 $3.49/ea.

HP 5082-7400 SERIES — MULTI-DIGIT

• 14" ht. • Common Cathode Red 2 Digit

• 3-5 volts @ 5 mils/second 3 Digit

• 7 segment Monolithic 4 Digit

• Dip Package 5 Digit

10 or more

$ .79 .69

.89 .79

.99 .89

1.19 .3S

TV GAME CHIP SET — $9.95

Includes AY-3-8500-1 Chip and 2.010 mhz crystal(2.010 crystal — $1.95 ea/AY-3-8500-1 Chip — $8.95 ea.)

TYPE

1N7461N75IA1N7521N7531N7541N9591N965B1N52321N52341N52351N5Z361N4561N45S1N4B5A1N4O011N40021N4O031N4D04

ZENERS —

VOLTS W

3.3 400mm

5.1 400m5.6 400m

6.2 400m6.6 400mB.2 400m15 400m5.6 500m6.2 500m6.8 500m7.5 500m

50 PIV 1 AMP

100 PIV 1 AMP

200 PIV 1 AMP

400 PfV 1 AMP

DIODES —

PRICE TYPE

4/1.00 1N4005

4/1.00 1N4O06

4/1.00 1N4O07

4/1.00 1N36O0

4/1.00 1N4148

8/1.00 1N4154

4/1.00 1N4305

28 1N4734

28 1N4735

2B 1N4736

28 1N4738

6/1.00 1N4742

6/1.00 1N4744

6/1.00 1N11B3

12/1.00 1N11B4

12/1,00 1N1185

12/1.00 1N1186

12/1.00 1N118B

RECTIFIERS

VOLTS W

600 PIV 1 AMP800 PIV 1 AMP1000 PIV 1 AMP20Om

10m10m

PRICE

10/1.0010/1.0010/1.oo6/1.0015/1.0012/1.0020/1.002828

15 iw

50 PIV 35 AMP

100 PIV 35 AMP

150 PIV 35 AMP

200 PIV 35 AMP

400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C36DC38M2N232BMOA 980-1MDA 980-3

15A@400V35A @ 200V1.6A @ 200V

FW BRIDGE REC.FW BRIDGE REC

MPS MS 511.00

MPSA06 6/1100

:mii 41I.M

2NH19A J/1100

2K2221 4(11.00

2N27Z2A rVJl.DO

2N2349 5/f 1 DO

2N2369A 4/11.00

2N24M 4/1100

2K2SOflA 4/11.00

2N2907A 5/11.00

2H292S Wit.00

2WMSMJE2KS

MJE30552N3W22H1399PH3S87

TRANSISTORS

2.1100I .89

2H3SM2H37022N37U42N370S2N37062N37072N37112W7242H172S2N37722N39032K39042K390S2N39Q62N40132N40142N4T23

5/11005/11.00S/11.00

T2K3/D4 3/11.OU

2N37Q5 5/J1.00 *T{

2N3706 Wll.DO Tf*

2N3707 Sftl.IH I

2nB711 5/*1.002N3724 1 ,85

5/11.004/11004/11.00

PN42502H44002M4012N44022N44032H44092HS0B62H50972N508B2N50892NSI292H51J*

2N52102N54322NS4492H59S1

4/11.004/11.004/11.005/11 DO5/11.00

511.00COO3/11.00511.00

CI 0681 SCfl 211.01

40409 11.75

40410 11.75

CAPACITOR

10 pf22 pf

47 pi100 pi220 pi470 pl

.001ml.0022.0047ml,01ml

1/35V.15/35V.22/35V.33/35V.47/35V.68/35V1.0/35V

50 VOLT CERAMICDISC CAPACITORS

10-49 50-100.04 ,03 .OOVF

CORNER

.05

0047^F.04 .03 .DVF .05

.04 .03 022J.F .06

.04 .03 .047MF .06

.04 .035 .IftF .12

100 VOLT MYLAR FILM CAPACITORS

.022mf

.047ml

.10

07

.imf

.27

22ml

+20% DIPPED TANTALUMS [SOLID) CAPACITORS.28 .23 .17 1.5/35V .30 .26.28 .23 -17 2.2/25V .31 .27,2B .23 .17 3.3/25V .31 .27

.28 .23 .17 4.7/25V .32 .28.28 .23 .17 6.8/25V .36 .31.28 ' .23 .17 10/25V .40 .35

.28 .23 .17 15/25V .63 .50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

.47/50V1.0/50V3.3/50V4.7/25V10/25V10/50V22/25V22/50V47/25V47/50V10O/25V1O0/50V220/25V220/50V470/25V1000/16V220O/16V

Axial Lead

.10

.47/25V.47/50V1.0/16V1.0/25V1.0/50V4.7/16V4.7/25V4.7/50V10/16V10/25V10/50V47/50V100/16V100/25V100/50V220/16V470/25V

Radial Ltid

.15

.13

Circle 67 on inquiry card.

BYTE December 1977

215

Whst's New?

SYSTEMS

MCM's Desk Top APL Computer

MCM Computers Inc has announcedthe reduction in price of its System 700,Model 782 APL computer to $4,950, anoffer explicitly aimed at the personalcomputing user.

The stand alone unit is smaller thanan office typewriter, Weighs only 20pounds (9 kg), and features a full APLlanguage interpreter interchangeablewith the latest implementations runningon MCM's larger System 800 and com-parable to APL.SV implementationsrunning on large scale systems such asthe IBM 370. The unit also containsfile handling and virtual memory (AVS)operating systems, and provides up to100 K bytes of virtual memory swappingon one of its two built-in cassettes. A

total of 200 K bytes of randomlyaccessible magnetic tape storage isavailable between the two cassettedrives. This "external" memory is inaddition to the built-in 8 K bytes ofprogrammable memory and 32 K bytesof read only memory. The MCM 782also incorporates a battery backupsystem that automatically saves theuser's workspace in case of power loss.Other technical features incorporatedinto the machine include dynamicmemory allocation of one to eight bytesfor integer data to conserve memory,total system overhead of less than 500bytes, and extended prompting facilityfor interactive English language conver-sational programs. The unit has an

integrated plasma alphanumeric display,full 46 key input and a bus structureto allow interface to the company'sother peripheral products. Attachmentssupported by the MCM unit includefloppy disk, printer, plotter, card readerand a serial communications interfacethat provides RS232C connection to ahost of standard devices in the generalcomputing market.

The RS232C interface, called theSCI-1200, is also being announced for$650. The unit provides programmableprotocol and line speed for serial con-nection to any 4 to 8 bit serial device.It is fully supported by software in readonly memory and provides an abilityto connect any ASCII, EBCDIC, corres-pondence or other devices. Printerssuch as Teletypes and DECwriters canbe connected via this SCI-1200, as canan acoustic coupler for communicationswith other systems, at speeds of up to1200 bps.

MCM provides a number of softwarepackages for use on its system, includingmath, statistics, finance, plotting, generalledger, order entry, billing, productionplanning, dynamic purchasing, manage-ment problem solving, and so on. A texteditor package called Text/700 is alsoavailable. A computer games packageis available for $100, which includesblackjack, hangman, ecology, and mathdrills for younger users.

The MCM 782 is being marketeddirect from MCM to end users at aprice of $4,950, FOB Fort Lee NJfor shipments in the US, and FOBKingston Ontario for shipments inCanada. All units are factory warrantedfor a period of 90 days. Deliveries arepresently available from stock. Allprepaid orders or inquiries should bedirected to MCM's headquarters in eitherthe US or Canada. Contact MCM Com-puters Inc, 2125 Center Av, Fort Lee N]07024, (201) 944-2737, or, in Canada,MCM Computers Ltd, 6700 Finch AvW, Suite 600, Rexdale, OntarioCANADA M9W5P5, (416) 675-1353."

Circle 545 on inquiry card.

A Chess "Mate" from Chafitz

Chafitz has introduced a very inter-esting device: a $200 Chess Challengerdesigned to play chess against humancompetition at a fairly sophisticatedlevel.

The unit is microprocessor based.The. physical package consists of arectangular enclosure containing the

electronics, on top of which is a chessboard, a calculator-like keyboard and anLED display. The user enters movesusing a simple coordinate code system,and the computer displays its moveson the LED display. Any regulationmove can be made, including castling(king or queen side) and capturing enpassant.

If the user improves to the pointwhere he or she can consistently beatthe Chess Challenger, the unit can bereturned to have a more sophisticatedset of algorithms entered by themanufacturer.

The device is intended primarilyfor the chess novice, of course, butunless you're Bobby Fisher (who claimsto have beaten the unit every time inthe #1 issue of Computer Chess News-letter) you should find it to be of

interest. Hackers who are also chessfreaks will be inspired to try their skillsat designing and programming chessplaying algorithms of their own.

For more information, contactChafitz, 1055 First St, Rockville MD20850, (301) 340-0200."

CHECK -Lights when the \computer has you \in checkFRDMWMnDisplays the pasttier ot the pieceyou want to move(your Startingposition)REitt.

Starts the game"—will cancelmBmoiyDouble MrTo be used lorCashing and lorEn PassantKtyi~Designates Rankand File board

_ CH6CK 01 I CISC

EH EH

FROM TO

QQ9Q(D O Q □

o ooo

, I LOSE

L -guts when com-pillar admits deteal and is incheckmateJOWMnrDisplays the newposition to whichyou have chosen

I io m

pieceemir

To enler yowmove Inlo thecomputer

CLur

To clear an unwanted movebe lore pressingante i

— CONTROL CENTER —

216

BYTE December 1977

TOUCH TONE ENCODER KIT

Simplicity itself to complete. No other parts required, no crystal required. The backof the touch pad has etched & drilled PC board and you solder the encoder chip to it.Add your own small speaker & 9 volt battery and you are done. A touch of the padproduces the proper tone signal from the speaker. We furnish schematic and instruc-tions.

SP-149-B $12.95

VIATRON CASSETTE DECKS

The computer cassette deck alone $35. Set of 2 boards read/write amp & servecontrol boards of this deck. $40.00

IR NIGHT VIEWER $199.00

Custom made, complete with light source & viewer in one piece. Comeswith carrying strap. Ready to operate with 6 volt lantern battery. Guar-anteed by the manufacturer. See in total darkness. Great for scientists,viewing nocturnal animals & birds, criminal investigation. . .observewithout being observed, and a ball for just plain snooping!!!! Sorryto say but no shipments to Calif, (lens may vary slightly from pic)

SPL-21 $199.00

FACTORY REJECT CALCULATORS

All more or less as shown. Some have "K" some don't. Nota cheapy. Probably sold for around $25.00. We check adozen or so and we found they seem to work for the mostpart. Runs on snap-on 9V battery. Some 4, some 5 func-tion. We include a reprint of How to fix calculators fromone of the magazines. Sold AS IS.

Ship wgt. 1 lb

SP-253A $3.00

0X1E W

BOOK

ana aboo a

OB S

WIRE WRAP WIRE

TEFZEL blue #30 Reg. price$13.28/100 ft. Our price 100 ft $2.00;500 ft $7.50.

MULTI COLORED SPECTRA WIRE

Footage8Cond. #2412 " 2214 " 2224 " #2429 " 22Great savings as

10'$2.503.003.505.007.50these

50'

9.00

11.00

13.00

100'15.0018.0021.00

20.00 30.0028.00 45.00

are about 1/4

book prices. All fresh & new.

TOUCHTONE ENCODER CHIP

Compatible with Bell system, no crystal required. Idealfor repeaters & w/specs. S6.00

CHARACTER GENERATOR CHIP

Memory is 512x5 produces 64 five by seven ASCIIcharacters. New material w/data S6.00

sWe&nMQr

Please add shipping cost on above. Minimum order $10

FREE CATALOG SP-IO NOW READYP.O. Box 62, E. Lynn, Massachusetts 01904

Circle 71 on inquiry card.

BYTE December 1977

217

What's New?

COSMAC Based Microcomputer Kit

SYSTEMS

A Real Word Processor

Computer Power and Light Inc,12321 Ventura Blvd, Studio City CA91604, (213) 760-0405, has announcedthis "commercial quality" microcom-puter based word processing system forunder $6000, complete. Based on thefirm's COMPAL-80 computer and XeroxCorporation's Diablo 1620 daisy wheelprinter, it is said to contain featurespreviously found on systems costing$20,000 or more.

Features of the machine include textediting using a large CRT display; inser-tion or deletion of text, and the abilityto move blocks of text anywhere;variable speed scrolling of entire text onthe CRT, forward or backward; abilityto search for all occurrences of a specificword or group of words, and replace-ment with alternative word or words;storage and retrieval of finished text onlow cost Philips audio cassettes at therate of 240 characters per second; avariety of printing options includingvariable line length; 1 to 5 spaces betweenlines; variable character spacing; preset-table page headings; page numbering;and right and left margin justificationusing the Diablo's unique characterspacing routines: no extra blanks areinserted in your text, nor is there anyneed for hyphenation.

This interesting application system isavailable from Computer Power andLight, 12321 Ventura Blvd, StudioCity CA 91604 or 7878 ClairemontMesa Blvd, San Diego CA 92111. 4 yearlease plans and bank financing areavailable."

Circle 539 on inquiry card.

ICS Microcomputer Trainer

Pre-assembled Motorola MEK6800D2

A complete self-study microcom-puter training course including an 8080based single board computer has beenintroduced by Integrated ComputerSystems Inc, 4445 Overland Av, CulverCity CA 90230, (213) 559-9265. Thecomputer includes 512 bytes of CMOSmemory, a 1 K byte monitor in electri-cally erasable PROM, a keyboard andLED display, and a prototyping area foraudio cassette, RS-232, current loop orother interface circuits. The board isaccompanied by a 650 page Microcom-puter Training Workbook which teachesthe 8080 instruction set, basic program-ming and hardware design techniques.The entire package, minus a powersupply, is offered for $545."

A fully assembled version of theMotorola MEK6800D2 kit, requiringonly a 5 V, 1 A power supply, is avail-able from Audio Engineering, 121Wisconsin NE, Albuquerque NM 87108,(505) 255-6451. The SY1-068 featuresa stand for the processor board and anattractive case for the keyboard andLED display. The processor board in-cludes 256 bytes of memory, a 1 K byteROM monitor, cassette interface, andparallel IO. The SY1-068 is priced at$269. Accessories include the keyboardand display case at $1 2.50, an extra 1 28bytes of memory at $7.50, and a powersupply kit with a 60 Hz clock at$29.95."

This kit, based on the RCA COSMAC1802 processor, is designed to be as-sembled by the user by wire wrappingon two pieces of Micro Vectorboard.The kit includes a 5 V, 1 A powersupply, eight toggle switches and LEDs,processor integrated circuit and clock,and 256 bytes of memory. Accessoriessuch as a cabinet and memory areplanned. The kit is priced at $90. Wirewrap sockets, wire and tool are anadditional $10, available from ChildOdyssey Enterprises Inc, POB 137,Alamogordo NM 88310, (505) 434-1065."

Circle 541 on inquiry card.

Z-80 Based System FeaturesSupport Boards

The new Z-80 based Mike 8 systemfeatures compatibility with most of theboards already available for the 8080based Mike 3. The full blown Model882 version of the Mike 8 includes aCPU board, 4 K bytes of memory, a1 K byte monitor program in ROM, anda "console board" with a keyboard andLED display. The package also includesan EROM programmer, a blank 2708EROM, and an ultraviolet lamp forEROM erasure. The Model 882 ismounted on a base with a switchingregulated power supply. An extensivemanual and a book entitled Microcom-puter Design complete the package,which sells for $895. Smaller Z-80 basedsystems are also offered, starting at$495. The book Microcomputer Designis available separately for $14.95. TheMike 8 is available through Semicon-ductor Specialists, the industrial distribu-tor based in Elmhurst IL, as well as the"MPU Shops" which Semi Specs isopening at many of its branch offices,or from the manufacturer, MartinResearch, 3336 Commerica! Av, North-brook IL 60062, (312) 498-5060."

Circle 540 on inquiry card.

Circle 543 on inquiry card.

Circle 542 on inquiry card.

218

BYTE December 1977

Now low-cost memorystacks up g % Jnin reliability!

Introducing a new generation of ECONORAM dynamicswith SynchroFresh reliability

Meet ECONORAM* III with SynchroFresh™, the8Kx8 dynamic memory for S-lOO bus computers thatreally works. And uses less than half the powerof static designs. And costs just $149 for anassembled 8K.

Unlike previous attempts at building a low-cost dy-namic memory, ECONORAM* III is entirely reliable ...because of SynchroFresh™, a new approach to memoryrefresh that is simple, elegant and totally effective.

SynchroFresh™was invented by George Morrow, de-signer of the original ECONORAM*. Instead of ar-bitrarily interrupting your CPU to perform memoryrefresh cycles, Morrow designed SynchroFresh™ toweave refresh invisibly into the natural timing of theS-lOO bus. SynchroFresh™ circuitry simply monitorsyour computer's machine states, utilizing all of thenormal opportunities for memory refresh. It'sthat simple.

And simplicity means reliability and dramaticallylower cost. That's why a SynchroFresh™ design waschosen for the first ECONORAM* dynamic, to follow inthe footsteps of the largest-selling static memoriesfor personal computers.

ECONORAM* III with SynchroFresh™is an 8Kx8 dy-namic board, configured as two individually address-able 4K blocks for flexibility. It is available assembled,tested and warranteed for one full year for just $149.This unprecedented warrantee offers a full refund ofpurchase price if ECONORAM* III does not runreliably with your S-lOO CPU—evidence of our con-fidence in its performance.

It is also available as a kit with complete assemblyinstructions and documentation for $159.

ECONORAM* III with SynchroFresh™, in assembledor kit form, may be ordered directly from Thinker-Toys™. Write 1201 10th Street, Berkeley CA 94710or call (415) 527-7548. Call BAC/MC orders toll-freeto 800-648-5311. Or ask your computer store to orderit for you.

NEW LOW PRICE

$149

8K assembled,.tested, warranteed1 year

A product of Morrow's Micro-Stuff for

Thinker Toys

•ECONORAM is a trademark ot Gndbnur Flmrrnnirs •■

Circle 73 or

What's New?

PERIPHERALS

First of a Series of Music Boards

Video Board for 6800 Systems

New Enclosures and Card Extender

IKiilllSllllllll

mainiiiiini

111/3111

A printed circuit board based onAlfred Anderson's article "Build ThisVideo Display Terminal," November1976 BYTE, page 106, is available fromF & D Associates, Box 183, NewPlymouth OH 45654, (614) 385-2023.The circuit generates a 16 by 32 char-acter display and can switch betweentwo 512 byte pages of memory. Theboard is designed to plug into theSwTPC (SS-50) bus, but could beinterfaced to other 6800 systems. Spaceis provided on the board for mountingan ATV Research Pixie-Verter (RFmodulator). The board and construc-tion hints are offered for $29 plus$2.50 shipping."

Circle 546 on inquiry card.

16 K of EROM on One Board

\J!

. Enclosures for Altair (S-100) buscompatible systems are now availablefrom Vector Electronic Co Inc, 12460Gladstone Av, Sylmar CA 91342, (213)365-9661. The enclosure dimensions,17.9 by 9.0 by 17.1 inches (45.5 by 22.9by 43.4 cm), allow room for up to 21cards, and plastic card guides are pro-vided for 12 cards. Adjustable slotsare provided for a mother board. Slide-in top, bottom and side panels free ofscrews and fasteners make for an attrac-tive finish. Optional accessories includea prepunched rear panel with ten holesfor DB25 connectors. The VP1($128.30) uses the Altair configurationof side to side card orientation withpower supply in the rear, while theVP2 ($134.30) has the IMSAI configura-tion of front to back card orientationwith power supply on the right side.Also available from Vector is the 3690-12 7.5 inch (19.0 cm) card extender,assembled with edge connector for $25."

Circle 548 on inquiry card.

{1

IBS1' EH«Si l-VH

Riil

■RflPr1' ' t» HW l! is*;

I

jjjjBJi K' |K

^™

sllli

'8T

1 1 p-

ifgJL

inmmmWSfn

5 m>

The 10-5-9 and 10-5-10 quad chro-matic pitch generator boards are de-signed to be a low cost start in computercontrolled music generation. The singleboard pitch generator produces one tofour tones simultaneously; two boardscan be used to produce eight simultane-ous tones in stereo. Each of the fourtones are separately controlled and canproduce any of 96 tones which forman 8 octave range. This covers theentire standard piano range, plus eighthigher pitches. Special connections allowlater expansion with accessory boardsto control various sound parameters.Using the optional on board crystaloscillator or a 2 MHz source (externalor pin 49 on the S-100 bus) all pitchesare within 0.1% of the A-440 Hzstandard. The 10-5-9 is S-100 com-patible, and the 10-5-10 is compatiblewith parallel output ports. Kit pricesfor both versions range from $111to $159 (depending on the number ofsimultaneous tones), and the assembledprice is $185. The oscillator is anadditional $16. Available for productevaluation: data sheet (free), demonstra-tion record ($1), and owner's manual($3 plus $1 postage). Contact ALFProducts Inc, 128 S Taft, Denver CO80228,(303) 234-0871."

Circle 547 on inquiry card.

This memory board is designedto hold up to 16 of the popular 27081 K byte EROMs, which have latelydropped to a very affordable price.Unused 4 K sections of the board canbe disabled to avoid consuming excessmemory address space. A wait statefeature is provided for fast Z-80 basedsystems. The complete kit for anAltair (S-100) bus computer is availablefor $85, minus the 2708 EROMs, fromIBEX, 1010 Morse Av, Suite 5, Sunny-vale CA 94086, (408) 739-3770."

Circle 550 on Inquiry card.

4 K 1702A EROM Board

Circle 549 on inquiry card.

A 4 K byte 1702A-based EROMmemory board for the SwTPC 6800 andsimilar systems is available from AptecInc, POB 15296, Tulsa OK 74115. Anaccessory clock stretcher board, basedon Jerry Henshaw's article "StretchThai 6800 Clock," December 1976BYTE, page 42, is offered to accommo-date the relatively slow 1702As. Acomplete kit minus the 1702As ispriced at $87.50, while the printedcircuit board and connector alone are$27.50. The clock stretcher kit is$6.25, or $2.50 for the board."

220

BYTE December 1977

S.D. SALES COMPANY

NOW THE ULTIMATE RAM BOARD

MEMORY CAPACITYMEMORY ADDRESSINGMEMORY WRITEPROTECTION8K, 16K, 24K, 32K using Mos-tek MK4115 with 8K bound-aries and protection. UtilizesDIP switches. PC board comeswith sockets for 32K operation.Orders now being acceptedallow 6 to 8 weeks for delivery.

Available the 1st quarter of1978: 16K, 32K, 48K, 64Kusing Mostek 4116 with 16Kboundaries and protection.

32K FOR $475.00

Buy an S100 compatible 8K Ram Board andupgrade the same board to a maximum of3 2 K in steps of 8K at your option by merelypurchasing more ram chips from S.D. Sales! Ata guaranteed price - Look at the features wehave built into the board.

PRICES START AT $151. FOR 8K RAM KITAdd $108.00 for each additional 8K Ram

Board fully assembed and tested for $50. extra.

8K FOR $151.00

INTERFACE CAPABILITYControl, data and address inputsutilizes low power Schottkydevices.

POWER REQUIREMENTS

+8VDC 4O0MA DC

4 18VDC 400MA DC

-18VDC 30MADC

on board regulation is provided.

On board (invisible)refresh is

provided with no wait states or

cycle stealing required.

MEMORY ACCESS TIME

IS 375ns.

Memory Cycle Time is 500ns.

Z-80 CPU BOARD KIT - Complete Kit $139.

CHECK THE ADVANCED FEATURES OF OUR Z-80 CPU BOARD:Expanded set of 158 instructions, 8080A software capability, operationfrom a single 5VDC power supply; always stops on an M1 state, true syncgenerated on card (a real plus feature!), dynamic refresh and NMI available,either 2MHZ or 4MHZ operation, quality double sided plated through PCboard; parts plus sockets priced for all IC's. "Add $10. extra for Z—80A chipwhich allows 4MHZ operation. Z-80 chip with Manual - $39.95

DIGITAL LED READOUTTHERMOMETER - $29.95

Features; Litronix dual 1/2" \ .,displays. Uses Silicoaix LD131 \ **Qflk,single chip CMOS A/D con-verter. Kit includes all nec-essary parts (except case);AC line cord and powersupply included. 0-149° F

6 DIGIT ALARM CLOCK KIT

Features: Litronix dual 1/2" displays, Mostek50250 super clock chip, single I.C. segmentdriver, SCR digit drivers. Greatly simplifiedconstruction. More reliable and easier to build.Kit includes all necessary parts (except case).Xfmr optional. Eliminate the hassle — avoidthe 5314! Do not confuse the Non — Alarmkits sold by our competition! *io QC /b-HAC XFMR - $1.50 Case $3.50 *l6.bO/Kll

5 Digit Countdown Utility-Darkroom Timer Kit - $44.95

Features: Large LED Ift" displays, crystalcontrolled Mostek 50397 counter displaydriver, set timer at 0.1 second precisionfrom 0.1 second to 59 minute 59.9 sec-ond, 5A-115V relay Included to controlphotographic enlarger, sun lamp, appli-ances, TV, or other equipment, operateson 115V AC, displays can be turned offfor total darkness applications, simplepush button operation, use In kitchen,school, office or laboratory. All nec-essary parts included. Special desiqn case$3.75

6 Digit General Purpose orComputer Timer Kit - $29.95

Features: Large LED Vi" displays, Mostek 50397 counterdisplay/driver, counts up to 59 minutes, 59.99 seconds withcrystal controlled 1/100 second accuracy, operates on 115V AC or12V DC supply. Use it to time telephone calls, athletic events,practice time, school and laboratory demonstrations,expeiiemerUs, chess games, etc. Time computer functions in realtime such as run times on programs, sub routines and othercomputer controlled events. Requires two output channels forstart/stop and clear controls. All necessary parts included. Specialdesign case $3.75

RAM'S-CPU'S-PROM'S

21L02-500NS 8/11.50

21L02-250NS 8/15.95

2114-4K 14.95

1101A-256 8/S4.00

1103- IK 99

MK4115-8K 19.45

74S 200 • 256 3.95

Z-80 includes manual 29.95

Z—80A includes manual 34.95

8080ACPU8BIT 11.95

8008 CPU 8 BIT 6.95

1702A- 1K- 1.5us 3.95 or 10/35.

2708 - 8K Intel - 450ns 14.95

5204 - 4K 7.95

82S129- IK 2.50

2708S • 8K signetics 650ns 9.95

8K LOW POWER RAM $159.95

Fully assembled and tested. Not a kit.

Imsai -Altair - S-100 Buss compatible,uses low power static 21L02-500ns fullybuffered on board regulated, qualityplated through PC board, including soldermask. 8 pos. dip switches for address select.

4K LOW POWER RAM KIT

Fully Buffered — on board regulated — re-duced power consumtpion utilizing lowpower 21 L02 - 1 500ns RAMS - Socketsprovided for all IC's. Quality plated throughPC board. "Add $10. for 250ns

RAM operation

The Whole Works-$79.95

MUSICAL HORN

One tune supplied with each kit. Additional tunes — $6.95each. Special tunes available. Standard tunes now available:—Dixie — Eyes of Texas — On Wisconsin — Yankee DoodleDandy - Notre Dame - Pink Panther - Aggie War Song —Anchors Away - Never on Sunday — Yellow Rose ofTexas — Deep in the Heart of Texas — Boomer Sooner —Bridge over River Kwai

. , . CAR & BOAT KIT HOME KIT

Special Design _ . __ — ^^

Case S3 50 $34.95 $26.90

Jumbo LED Car Clock Kit

FEATURES:

A. Bowmar Jumbo .5 inch LED array.

B. MOSTEK - 50250 - Super clock chip.

C. On board precision crystal lime base.

D. 12 or 24 hour Real Time format.

E. Perfect for cars, boats, vans, etc.

F. PC board and all parts (less case) inc.Alarm option — SI .50

AC XFMR -Si.50

$16.95

Bowmar 4 DigitLED Readout Array

4 JUMBO .50" DIGITS ON ONE STICK!WITH COLONS & AM/PM INDICATOR$3.95

Full y2" Litronix Jumbo DualDigit LED Displays

DL 722-C.C.

DL721 -C.A.

99c

DL 728 -C.C.

DL 727 - C.A.

$1.29

Low Cost Cassette Interface Kit$14.95

Features: K.C. standrad 2400/1200 Hz, 300Baud, TTL, I/O compatible, phase lock loop,22 pin connector. Feeds serial data via micro-processors I/O ports and from cassette taperecorder. $14.95

^> DISC CAP *ASSORTMENTPC leads. At least10 different values.Includes .001., .01,.05 + other standardvalues 60/$1.00

JOYSTICKS!

4-100K

POTS

$3.95 each

W&

39 MFD16V MalloryElectrolytic

15/S1.00

RESISTOR *ASSORTMENT

PC leadsA good mix of

values. SPECIAL!200/S2.00

*■ iooo mfd a

FILTER CAPS"Rated 35 WVDC.Upright style withPC leads. Many pop-ular values. 4/$1.

FLAT PACK5400 SERIES20 asst. devicesfor $1.00 s*,^W

Microprocessor Chips

8212- I/O port 3.50

8214- P.I.C 12.95

8216- Non Invert Bus 4.95

8224 - Clock Gen .■ 4.95

8226 - Invert Bus 3.95

PIO for Z-80 14.95

CTC for Z-80 14.95

8228 Sys. Controller. 8.20

8251 Prog. comm. interface 10.95

8255 Prog. perp. interface 13.50

8820 Dual Line Recr '. . 1.75

8830 Dual Line Dr 1.75

2513 Char. Gen 7.50

8838 Quad Bus. Recvr 2.00

74LS138N - 1/8 decoder 99

8T97-Hex Tri-State Buffer 1.25

1488/1489 RS232 1.50

TR1602B Uart 3.95

Counter Chips

ITT DUAL

SENSE

AMPLIFIER

75234 and 75235

49c each

SPRAGUE DUAL

DIFFERENTIAL

AMP. TD101

49c each

POWER RESISTOR

15 OHM

25Wby

CLAROSTAT

75c Each

ITT PART NO.

SAJ 110

Ideal for electronic

music circuits

7 stage freq.dividers.

49c each

MK50397 6 Digit elapsed timer. . . . 8.95

MK50250 Alarm clock 4.99

MK50380 Alarm chip 2.95

MK50396 6 digit up/down counter 12.95

MK5002 4 digit counter 8.95

MK5021 - Cal. chip sq. root 2.50

P.O. BOX 28810 - BDALLAS, TEXAS 75228

S. D. SALES CD.

i Emplro Ind. Co.

Call in your Visa or Masterchargein on our Toll Free Watts Line:

1-800-527-3460

Texas Residents call Collect:

214/271-0022

Dealer Inquiries Invited!

60 DAY MONEYBACK GUARANTEE!

NO COD's. TEXAS RESIDENTS ADD 5% SALESTAX. ADD 5% OF ORDER FOR POSTAGE &HANDLING. ORDERS UNDER S10. ADD 75cHANDLING. FOREIGN ORDERS - US FUNDSONLY!

Choose $1. Free Merchandise From Asterisk Items on each $15. Order!

Circle 100 on inquiry card.

BYTE December 1977

221

(jlassified Ads

FOR SALE: Used 83 pin cards made by ComputerEntry Systems, with many good 7000, 7100 and7400 series chips with slight cosmetic imperfec-tions. All boards S6.50 to $13, depending oncomplexity, or trade for early BYTEs. Ivan Reeder,414 Yeonas Or, Vienna VA 22180.

FOR SALE: IMSAI 8080 with 22 slot and fan,V8-1 video board, Morrow cassette with extras,two IO Cybercom board, two 4 K programmablememory boards. All less than one year old andtotal assembled, value $1,632. Lack of time forhobby. Will sell for best offer over $1,200. Canship UPS. James R Poole K4VBH, POB 268,Americus GA 31709.

FOR SALE: BYTE Vol 1 =1 to date, excellentcondition, best offer. Will ship securely packedand insured. Henry Stevens, POB 417, Alton NH03809. (603) 875-5550.

FOR SALE: Assembled, one RM 8080 CPU boardwith all chips S145; one SwTPC TVT1 debuggedand running S100; one TVT1 not running S50:two Digital Group 8 K memory without memorychips S65 each; four 1702s EPROM $12 each;one 5204 EPROM 750NS S8; two 82S129 PROMsS2.50 each. Send SASE for information. DavidParrish, Rt 1, Box 151, Lincolnton GA 30817.

FOR SALE: Maze generation program written inFORTRAN. This program generates unlimited pagemazes with only one solution each. The computergives the solution, too. A source listing is avail-able with implementation documentation for $25.It is 735 lines long, mostly comments on usage. Ifyou want to see a sample run, please send $1 tocover printing and computer time charges to belowaddress. Every maze is different! Philip Hunt,83 Cedar Hills, Cambridge OH 43725.

FOR SALE: Tape reader device. Originally usedto read three frames of paper tape at a time andconvert the data to 15 level parallel output.Housed in a 5 foot rack cabinet with a 3/4 doorand casters are: 1 each Digitronics 2500 300 cps8 level reader and 4566ALCR spooler; 20 slot36 pin card cage; 12 Nave or logic boards.1 extender; 1 Navcor t 12 V @ 2 A, -100 V @ 14 Apower supply, metered; 1 chassis with relays, etc,original cost $9,500; now $600 (you pick up orfreight; 200 lbs) Mike Gerow, 244 W 1st Av,Roselle NJ 07203. (201) 241 -3200; (201) 334-7246nights.

NEED: Information on General Automation SPC12/12 with 16 K core. Any software would beappreciated. Manual C Martinez, 7706 W GregorySt, Chicago IL 60656. (312) 631-6623.

MICRODATA REALITY: Are there any othercomputer hobbyists using this system? If so, I'dlike to say hello, swap notes and programs, etc.Would also like to know where to buy a 4 or 8way video terminal interface card and other peri-pherals for Microdata Reality (Model 1600 proc-essor). Jack Hardman, 140 Forest Av, Glen RidgeNJ 07028. (201) 429-8880.

FOR SALE: Digidecktm cassette tape drive (usesstandard audio type cassette) complete with motorcontrol, read write, and parallel to serial conver-sion electronics. Also, 100 plus page service manualand parts catalog included. All diagrams are veryreadable. These six drives appear perfect but mayhave a problem or two. Price $145 each pluspostage. Jim Beistle, 3728 Wilkie Way, FortWorth TX 76133.

FOR SALE: Source listing of program to calcu-late 1977 Federal Income Tax. Program will runin about 3 K. The program has 1040 line numbersto identify the calculated results when displayedon a CRT terminal. It is also formatted to fillout the form 1040 when the results are outputtedto a printer. Send $14.50 for copy of source list-ing and user operating instructions. C R Lufkin,31 5 Dominion Dr, Newport News VA 23602.

FOR SALE: MITS Altair 8800a computer' with1 K of memory. Works fine. $575, or best offer.Kurt Barbee, 2580 SW 3rd St, Corvallis OR 97330.

FOR SALE: SwTPC 6800 computer, 8 K pro-grammable memory, AC-300 cassette interface,CT-1024 TV terminal with cover, connectingcables and software. All equipment assembled andtested, $850. Dave Toruta, 4941 Mable, CorpusChristi TX 78411. (513) 854-2747.

FOR SALE: Friden Flexowriter, complete electrictypewriter with attached 8 level tape punch and8 level tape reader. Provision for input fromexternal source, and output to external punch orother data equipment, excellent condition, onlyS195. Nicely styled operating desk for above,includes motorized tape winder and also tape feedreel, plus cables for remote input and output,S39. Jim Cooper, POB 73, Paramus NJ 07652.

FOR SALE: Zilog Z-80 MCB board. Contains Z-80microprocessor, 4 K bytes programmable memory,sockets for 4 K bytes ROM, RS-232/TTY inter-face, two 8 bit IO ports, 4 channel counter/timerand more. Assembled, tested and working. Includespower supply, 1/2 K byte monitor PROM, and allmanuals, S475. Brian Rosen, 1127 Kentwood,San Jose CA 95129.

WANTED: A true proportional spacing typingmachine (eg: IBM composer) to use as a micro-computer input output device. Write J Williams,2415 Ansdel Ct, Reston VA 22091.

FOR SALE: One each IMSAI cassette interface.Make offer. Write J Williams, 2415 Ansdel Ct,Reston VA 22091.

FOR SALE: IBM 1401 CPU, 1402 card reader/

punch, two 7330 tape drives, and all maintenancemanuals. Qualifies for IBM maintenance agree-ment. Best offer over $1000. You pay shipping,Will consider trade for a Z-80 based micro-computer. William P Ruf, 9514 W 104th Ter,Overland Park KS 66212. (913) 888-9213.

Readers who have equipment, software or otheritems to buy, sell or swap should send in a clearlytyped notice to that effect. To be considered forpublication, an advertisement should be clearlynoncommercial, typed double spaced on plainwhite paper, and include complete name andaddress information. These notices are free ofcharge and will be printed one time only on a spaceavailable basis. Insertions should be limited to WOwords or less. Notices can be accepted fromindividuals or bona fide computer users clubs only.We can engage in no correspondence on these andyour confirmation of placement is appearance inan issue of BYTE.

Please note that it may take three or fourmonths for an ad to appear in the magazine.*

FOR SALE: IBM 604 Electronic Calculator withIBM 521 Reader Punch. 604 has over 1,000vacuum tube circuits with power supplies pro-ducing +150 VDC at 8 A, 100 VDC at 2.5 A,250 VDC at .05 A, +75 VDC at 1.0 A, and 175VDC at .25 A. 521 reads and punches 80 columncards. It has two sets of read brushes and punchunit. Lots of potential for 604 components. 521would make a good card IO with proper interface.Will take $500 for both. You pay transportation.George Kennedy, 2101 Church St, Selma AL36701. (205) 872-8263.

WANTED: Poly 88 mainframes (2) kit or as-sembled, will buy or trade. Contact Wallace Tufen,1504 Blackthorn Dr, Glenview IL 60025. (312)724-7828.

FOR SALE: HP-65 fully programmable pocketcalculator complete with all 14 accessory appli-cation Pacs (Finance, Math(2), Stat(2), EE(2),Chem Engr, Stress Analysis, Surveying MachineDesign, Medical, Aviation, and Navigation) andother accessories. Total price $350. Joe Kwasnieski,Apt 44, 13700 37th Av S, Seattle WA 98168.(206) 243-6967 evenings.

FOR SALE: Digital Group 8 K memory boards.Uses 450 ns low power memory chips, $225.Contact Roger Schoenmeyer, 7425 Treon PI,Dayton OH 45424. (513) 233-2355.

FOR SALE: HP-9810 desktop programmablecalculator with HP-9862 plotter. Calculator is com-plete with fully expanded optional memories forboth data and program, 16 column alphanumericthermal printer, Mathematics ROM, magnetic cardstorage, and four IO parts. Plotter is a high perfor-mance X-Y graphics plotter capable of plots upto 11 by 17 inches. Includes optional plottercontrol that permits automatic scaling, axisdrawing, and alphanumeric plotting and labeling,Privately owned, in perfect condition; asking$3500. Joe Kwasnieski, Apt 44, 13700 37th AvS, Seattle WA 98168. (206) 243-6967 evenings.

SWAP: Scott Model 433 Digital FM Stereo Tuner,frequency synthesized using PLL, digital readout,card programmed ^easily modified for computercontrol), several scanning modes, etc, originallycost $650. I want to trade for a microcomputer orrelated equipment. Prefer 6502 or 6800 basedsystem, but will consider anything. Make me anoffer I can't refuse. Schematics available for thetuner. Call days (617} 373-9171. Ray Jorgenson,RFD 3, Box 186, Plaistow NH 03865.

FOR SALE: Three "IBM 2311 disk drives. Stilleligible for IBM maintenance contract. $450 eachplus shipping. Wanted: Information for interfacingsame with 8080 system. Bob Stek, 19 Mayfield Rd,Regina, Saskatchewan CANADA. (306) 523-7184.

FOR SALE: Okidata CP-110 printer; loaded withsuch options as: RS-232 interface (110 to 9600baud), upper and lower case character set, tractorfeed option, electronic top-of-form option, andcomplete on board self-test electronics included.Cost over S1900 new, and has only been usedtwice; still in original factory carton. Must sacrificefor $1600 and you pay shipping. Contact DonCheeseman, POB 5534, San Antonio TX 78201.(512) 699-6880.

FOR SALE: Complete first year of BYTE, issues

1 thru 16. All packed and ready to ship. I paypostage. First $35 gets them. R Peters, LafayetteLn, Norfolk MA 02056.

FOR SALE: A complete set of circuit boards forthe TVT-1, as presented in the September 1973issue of Radio-Electronics; S20 plus postage.Also available: a 45 key keyboard (less encoder),$15 plus postage. Write Warren Spivack, 6625 AvM, Brooklyn NY 11234. (212) 763-7237.

WANTED: Programs for HP-25 not includingthose listed in original manual. Will exchange newones for the ones I have obtained. S Hamilton,Rt 2, Box 1022, Bainbridge GA 31717.

SWAP: Two Scott aircraft oxygen units; each unitsupplies two persons with O2. With two newmasks, hoses and connectors. Also, a skydiver

02 unit with mask, hose and connector. Want:ADM-3 or comparable. CRT and keyboard,RS232C and compatible with standard micro-computer, or, want: Transistorized oscilloscope,minimum 10 MHz bandwidth. F Lawrence, 533Riverview Rd, Swarthmore PA 19081 .

CONGRATULATIONS! This could be yourlucky day, if you are looking for a line printer.I have one complete 100 cps PRINTEC 100serial, impact, line printer (ASCII parallel) and onenearly complete backup unit, with extras for allboards. Unit includes vertical formatting unit,VFU punch, extra VFU tape and maintenancemanuals. Adjustable pin feed accommodates paperwidths from 3 inches to 14 7/8 inches. One unitis in working order; the other good for parts.Send your best offer to David E Fulton, POB 116,Port Ewen NY 12466, or call (914) 331-1442.

222

BYTE December 1977

NEW COMPUTER INTERFACE BOARD KIT

Our new computer kit allows you to interfaceserial TTL to RS 232 and RS 232 to TTL Thereare four of these supplied with the kit, so youcan run up to four devices on one TTL or fourseparate TTL to RS 232 devices.

Typical use: You can use your computerports to run an RS 232 printer, video terminaland two other RS 232 devices at once, without

constantly connecting and disconnecting yourterminals.

Example: Out store to printer — Voltagerequirement + 5V and ± 5V or ± 12 V depend-ing on your RS 232 device.

We supply — board, connectors, documen-tation and components. Sorry, we do not supplycase or power supply.

WHERE IT MAKES SENSE, MAY BE USED WITH ANY 8080, 6800, Z80 or F8 COMPUTER

GENERAL PURPOSE COMPUTER POWER SUPPLY KIT

This power supply kit features a high frequency torroid transformer with switchingtransistors in order to save space and weight. 115V 60 cycle primary. The outputswith local regulators are 5V to 10A, in one amp increments, - 5V at 1A, ± 12V at 1Aregulators supplied 6 340T-5 supplied.

$79

00

UNIVERSAL 4KMEMORY BOARD KIT

$74

50

This memory board may be used with the

F8 and with minor modifications may be used

with KIM-1jup.

32-2102-1 static RAM's, 16 address lines,8 data lines in, 8 data lines out, all buffered. On-board decoding for any 4 of 64 pages, standard44 pin, .156" buss.

F8 EVALUATIONWITH EXPANSION

A fantastic bargain for onlywith the following features:

• 20 ma or RS 232 interface

• 64K addressing range

• Program control timers

• 1K of on-board staticmemory

• Built in clock generator

BOARD KITCAPABILITIES

$99

00

64 Byte register

Built-in priority interrupts

Documentation

Uses Fairbug PSU

FOR FAIRBUG 4K F8 BASIC ON PAPER TAPE $25C

?G22 STATIC SHIFT REG2513CMARACTER GEN2518 HEX 32 BITSR2102 1 1071 BT RAM5280 4K OVNAMIC RAM5202A UV PROM

1 95S 6.75S 3 50S 1.19S 4.75

6 95

M01A-256B1TRAM S -75

2107B S 3.75

MK4008P- S 1.95

T>02A UV PROM S 4.95

5204 4K PROM £10 95

82S23 ... S 1.95

AY-5 1013UART S 6.95

MINIATURE MULT I TURN TRIM POTS100 500. 1K.2K,5K.10K,25K.50K,100K.

200K,500K 1 Meg. $.75 each 3/S2.00

MULT I TU^N TRiM PQlSS-miUi; to Eou'ns

3010 Slv'e 3'16"x5/8"y1 1 «". 50. 100.

1K. 10K. 50K ohms' SI 50 en 3-54.00

LIGHT ACTIVATED"SCR'j

TO '8, 2007 ! A S 1.10

TRANSISTOR SPECIALS

7N3585 NPN Si TO 66 .2N3772 NPN S. TO 3 .2N456A PNP GE2N4308 PNP Si TO 32N6056 NPN S> TO 3 D.n2N508GPNPS. TO 927N4898PNP TO-66.2N404 PNP GE TO-52N3919 NPN Si TO 3 HPMPSA 13 NPN Si TO 922N3767 NPM Si TO-662N2222 NPN Si TO-18 .2N3055 NPN Si TO 32N3904 NPN Si TO 92 .2N3906 PNP Si TO 922N5296 NPM Si TO 2202N6109PNPS< TO 2202N3638 PNP S. TO 5 . .2N65I I NPM TO 92 Si

95. S 1.00

PRINTED CIRCUIT BOARD

4-1/2"x6-1/2" SINGLE SIDED EPOXYBOARD 1/16" thick, unetched

7 WATTLD-65LASER DIODE IR Sa95

2N 3820 P FET . ... S 45

2N 5457 N FET $ .45

2N2646 S -45

ER 900 TRIGGER DIODES . 4 SI 002N 6028 PROG. UJT . . S .65

CCD202-100 x 100 charge coupled device

imago sensor S145.00

MCM6571A 7x9 upper & lower case char-acter generator S10.75

VERIPAX PC BOARDThis board is a 1/16" single sided papar epoxyboard, 4'/'x6V DRILLED and ETCHEDwhich will hold up to 21 single 14 pin IC'sor 8. 16, or LSI DIP ICs with busses to>power supply conrmLinr. .... . . £4.00

MV5691 YELLOW-GREEN

BIPOLAR LED S .90

FP 100 PHOTO TRANS S .50

RED, YELLOW, GREEN or AMBER

LARGE LED's 6/S1-00

1L-5 (MCT-2) S .75

MOLEX PINS • 100/S1.00

1000/S8.0010 WATT ZENERS 3.9. 4.7, 5.6, 8.2,

12,18,22,100,150 or 200V. . ea. S .601 WATT ZENERS4.7, 5.6,10, 12. 15

18 or 22V ea. S .25

MC6860 MODEM CHIP $9.95

PRV 1A 3A 12A 50A 125A

100 .06 AA 30 .80 3.70

200 .07 .20 .35 . 1.15 4.25

400 .09" " J25 .50 " ' 1.40 6.50600

2.30 10.50

1000 .20 .45 1.10 2.75 12.50

TANTULUM CAPACITORS

Full Wave Bridges

22UF 35V 5/$ 1.0047UF 35V 5/S1.0068UF 35V 5S1 00IUF 35V 5 SI 00

2 2UF J0V5 SI 00

3 3UF J5V 4 SI 004.7UF 15V 5/S1.0068UF 35V 4/Sl 00

10UF 10V S .2522UF 25V S 4015UF 35V 3/S1.0030UF 6V 5/S1.0033UF 35V47UF 20V68 UF 15V

40S .35

W7001 ALARMICLOCKCJ-

NATIONAL MOS DEVICES

MMI402- 1./5MM1403- 1.75MMI404- 1.75MM5013- 2.50MM5016-2.50MM50I7- 2 70MM5055- 2.25MM50B6 - 2.25

MM5057MM505SMM 5060-MM5061 -MM5555-MM5556MM5210MM5260

2 252.752.752 504.754.75

100

1.30

200 .75 1.25

2.00

400 95 1.50

3.00

600 120 1-75

4.00

SANKEN AUDIO POWER At

Si 1010 G 10 WATTS S

Si 1020 G 20 WATTS S

/IPS

79515.95

27 9b

WSU-30-Hand wire wrap tool uswrap, unwrap a Sirip #30 Wlf«

..1 lO

$5.30

#24, EIGHTCONDUCTOR

SPECTRAFLAT CABLE

| DIP SOCKETS

8 PIN - .22 24 PIN14 PIN - .25 28 PIN16 PIN - .28 40 PIN

18 PIN - ,30

-.40-.50-.60

107S1.50I007S13.50

309K S .95 340K-5.12.15

723 $ .50 or 24V. . . . .$ .85

LM 376 .... S .60 340T-5, 6. 8, 12

320K-5or15V 51.40 15,18 or 24VS1.10

320T-5,15 78 MG SI.35

or 24V . . $1.15 79 MG S1.35

RS232 DB 25P male $2.95

CONNECTORS DB 25S female $3.50

Circle 107 on inquiry card.

BYTE December 1977

223

Feadep Service

To gel lurtfier information on the products advertised in BYTE, fill out the reader service card with yourname and address. Then circle the appropriate numbers for the advertisers you select from the list. Add a 9cent stomp to the card, then drop it in the mail. Not only do you gain information, but our advertisers areencouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

1

2

3

4

5

134

7

8

9

10

11

12

141516

*

1819138202122232425262728293031323334353637383940414243444546

ALF 150

Alpha Digital 153

Anderson Jacobson 51

Apple Computer 16, 17, 18

Artec 63

AVATAR 189

Atwood Enterprises 197

Base 2 59

Beckian Enterprises 199

Benson & Costello 191

Beta Business Sys 189

BITS 123, 125, 160, 167, 192

BYTE Back Issues 192

BYTE Binders 191

BYTE Index 192 '

Byte Shop of Miami 189

Byte Shop, Tustin 138

Byte Shop, Westminster 149

BYTE Subs 1 27

Canada Systems 1 78

Capital Equipment Brokers 176

Celetron 133

CMC Marketing 57

Component Saies 193

Computalker 129

Computer Corner 189

Computer Creations 191

Computer Data Sys 105

Computer Depot 191

Computer Depot Dist 187

Computer Enterprises 45

Computer Hobbyist 176

Computerland 20, 21

Computer Machine Service 189

Computer Room, San Jose 174

Computer Systems Store 1 89

Cromemco 1, 2

DaJen 129

Data General 143

Data Search 179

Digital Group 93

Digital Research 55

Disc 3 187

Don Alan Enterprises 187

DRC Engineering 201

Dynabyte 111

Ed Smith's Software Works 182

Educational Data Sys 183

E & L Instruments 109

BDME

[ Y11V (■»{ (i.i{ Mr. .lirtr- (i \

Article No.

ARTICLE

47 Elcom Industries 189, 191, 187

48 Electrolabs 199

49 Elec Control Technology 1 59

50 Electronic Systems 202

51 Electronics Warehouse Inc 203

62 CW Engel 175

52 Extensys 7

53 Formula International 205

54 Gallagher Research Inc 172

55 General Computer 175

56 Godbout 207

57 DC Hayes 181

58 Heath 34, CIV

59 Heuristics 174 '61 IMSAI 70, 71,73

63 Integral Data Sys 147

64 Integrated Circuits Unlim 209

65 International Data Sys 152137 Ithaca Audio 173

99 IOR187

66 Jade 212,213

67 James 10, 11,214, 215

68 Kent-Moore 41, 77

69 Logical Services 148

70 Meca 103

71 Meshna217

72 Micro Diversions 191136 Micro Ware 158

73 Micronics 179

74 Microsoft 177

75 Midwestern Scientific Instruments 1

76 Mikos208

77 Mini Micro Mart 172

78 Morrow's Micro Stuff 219

79 Mountain Hardware 146

80 mpi 160

81 MSD9717 Mullen 177

82 National Multiplex 81

83 North Star Computers 5, 15

84 Objective Design 185

85 OK Machine & Tool 75

* Ohio Scientific Research 30, 31, 32,

86 Owens Associates 187

87 PAIA159

88 Parasitic Engineering 22, 23

89 Peninsula Marketing 151

90 PerCom Data 19, 155

91 Peripheral Vision 67

92 Perri-White 190

93 Personal Computer News 182

94 Phone I 187

* PolyMorphic Systems 3795l Processor Technology 86, 87, 88, 89, 90

96 Quantronics 39, 47

97 Rotundra Cybernetics 191

139 S-100 150

98 Scelbi 95, 119, CI 11

* Scientific Research 79, 11 5

100 SD Sales 221

101 Seals 65135 Sharp & Associates 211

102 Silver Spur 187

103 Small Computer Sys 173

104 Smoke Signal 52, 53

105 Software Exchange 18013 Software Records 161

140 Software Unlimited Ltd 158

106 Solid State Music 9

107 Solid State Sales 223

108 Soroc29

109 SwTPCCII

110 Sunny Computer Stores 191

111 Sybex 183

112 Synchro Sound 82, 83

113 Szerlip189

114 Tandy 85

115 Tarbell 178

116 Tech Mart 107

117 Technical Design Labs 27

118 Technical Systems Cnsltnts 61

119 Technico 134, 13520 TEI 57

120 TK Electronics 189

121 TLF 49

122 Typetronics 25

123 MP Electronics 187

124 Urban Instruments 211

125 Vamp 191

126 Vandenberg Data 180

127 Vector Graphic 39

* Vista Computers 144, 145

129 West Coast Computer Faire 194, 195

130 Worldwide 185

131 WWW Enterprises 161

132 Ximedia 117, 132

133 Xybek181

* Reader Service inquiries not solicited. Correspond directly with company.

21

33

1 Schmucker-Tarr: The Computers of Star Trek

2 Rampil: A Floppy Disk Tutorial

3 Struve: A $19 Music Interface

4 Ciarcia: Try an 8 Channel DVM Cocktail

5 Grappel-Hemenway: Jack and the Machine Debug

6 Higgins: Structured Programming with Warnier-Orr Diagrams

7 Smith: Simulation of Motion: Part 2

8 Wier: A Little Bit on Interrupts

9 Wenzlaff: Using the PolyMorphics Video Interface

10 Lahasky: Multiprogramming Simplified

11 Libes: Where to Get Bargains in Used Computer Equipment

12 McGath: A Look at LISP

13 Gaskell: Relative Addressing for the 8080

14 McGahee: Save Software: Use a UART for Serial IO

15 Lahore: A User's Report on the Intercept Jr

PAGE

12

24

48

76

91

104

112

118

130

140

154

156

162

164

186

BOMB Analysis for theSeptember 1977 Issue:

Rank(Multiples of a)

1st: Ciarcia, "Control the World," page 30 2.172nd: Jacoby, "Walsh Functions," page 190 1.14

The standard deviation of this sample was19% of the mean rating.

The first place winner in our BOMB tallyreceives a $100 bonus check, and a $50bonus is forwarded to the second placewinner. Be sure to indicate your reactions tothis month's issue by rating each article onthe BOMB evaluation card and forwardingit to our office. The BOMB card is yourdirect line to the editors' desks."

224

BYTE December 1977

SeeU* Scttuxuf

obd™how.b.av««fo«

■ ** ■ •

FOR THE BEGINNER

2totifc£

FOR THE INTERMEDIATE .

Understanding Microcomputers andSmall Computer Systems. A profuselyillustrated, easy-reading "must" bookexplaining fundamental concepts behindoperation of microcomputers. SimpleEnglish. Gives extra knowledge to readand understand computer magazines and

manufacturers' literature. Makes you feel"at home" around computers. Acceptedas the standard for the neophyte, youmust own this 300-page no-nonsense,easy-reading text. Includes easy-to-useglossary of key microcomputer orientedwords. Order now. Save! $9.95 each ppd

Scelbi's Software GourmetGuides and Cookbooks for

'8080'or'6800'lets you cookup mouthwatering programs.Delectable "how to" facts, in-cluding '8080' or '6800' in-struction sets. How to man-ipulate stacks. Flowcharts.Source listings. General pur-

pose routines for multipleprecision operation. Pro-gramming time delays forreal time. And lots more. Evenfloating point arithmetic rou-tines! Order your copies todayBon appetite! Specify:'8080'or'6800. $9.95 each ppd.

FOR THE ADVANCED...

GALAXY MicrocomputerOuter Space War Gamesfor'6800'. Captain yourown starship on intergallac-tic journeys filled with bat-tles, refueling problems,weaponry, warp factors,and more — all against your'6800'. A complete book,written in machine languagefor 4K memory. Ever-chang-ing interstellar adventure, includes source listings, flowcharts, routines, more. Order today. Blastoff tomor-row! $9.95 ppd.

SCELBAL.Higher LevelLanguage for'800878080'Systems.Complete, illus-trated programbook. Routines.Techniques.Source listings.Flow charts. More. Includes 5 com-mands, 14 statements, 7 functions, and itruns in 8K and more. All you need to cus-tomize a high level language for your sys-tem at a fraction of the cost. Order today!$49ppd.

The '8080' Programmer's Pocket Guide; '8080' Octal Code Card and/or '8080' Hex-adecimal Code Card. Compact pocket guide for instant reference to either code card.Cards are instant slide rule aids for programming/debugging '8080' software. Standardmnemonics with corresponding codes. Color coded instructions indicate which flagsare affected during instruction execution. Quick, logical reference formats. ASCII codechart for 128 characters. '8080'status words. Register pair codes. More. Order allthree now . . . only $2.95 per item.

Prices shown for North American customers. MasterCharge. Postal and bank Money Orders preferred

Personal checks delay shipping up to 4 weeks.Pricing, specifications, availability subject to changewithout notice.

i.

Mil IB COMPUIERCONIUL1ING INC.

Post Office Box 133 PP STNMilford, CT 06460 Dept. B

Circle 98 on inquiry card.

Ell

Get up .and runningright!...

with the Heathkit H8 8080 Personal Computing System!

H8 8080A 8-Bit

Computer $375

H8-1 4K Memory 140

H8-3 4K Chip Set 95

H8-5 Serial I/O and

Cassette Interface .... 110

H9 Video Terminal 530

ECP-3801 Cassette

Recorder/Player ..... 60

If purchased separately, *131000Heath System Price $J24450

NEW! Microprocessor CourseAND TRAINER

Learn the operation and programming

of microprocessors with our effective

self-study course and trainer!

When you invest in a personal computingsystem, you want it to perform. So youneed software. But putting a completehardware-software system together canbe difficult. Especially if all of thecomponents are not designed to worktogether. The H8 computer, software andperipherals were developed as a totalsystem. And we include the software(at NO extra cost) so you can startprogramming right away, Benton HarborBASIC with unique statements andcommands and efficient compressiontechniques lets you put more programin less space. The HASL-8 2-passassembler generates efficient machinelanguage code. The TED-8 line-orientedtext editor and BUG-8 terminal consoledebugging program permit fast entry,editing and debugging of programs.The H8's intelligent front panel providesefficient one-button program loading,

and lets you "see" what's going on inthe machine — in memory, in registersand at I/O ports.

While the H8 and its software gets youup and running, our peripherals completethe "system". The H9 12" CRT videoterminal is complete with ASCII 67-keykeyboard, long and short-form displays,auto-scrolling, plot mode, cursor andmore. And our ECP-3801 cassetterecorder/player provides convenientmass storage for all your programs oneasy-to-handle cassettes.

All this, plus complete documentation,service support through the Heathkitfactory or Heathkit Electronic Centersnationwide*, and self-instructionalprogramming courses make Heath yourBEST choice for a truly practical andversatile computer system that's readyand waiting for your commands.

Schlumberger

Send for your Heathkit Catalog or visit your Heathkit Electronic Center.

*See listing page 34

Circle 58 on inquiry card.