Byte Magazine Volume 04 Number 04 - Low Level Programming

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)

\

■■

=> ,H o h j .k [C .t '.: .1

.—. z x .c 'v .b .n m '.? '.- .5 . •-."

■MMMgMI^M

^.^^.j-^^^-^^

■■

■

Someday all terminals will be smart.

128 Functions—software controlled7x12 matrix, upper/lower case letters50 to 38,400 baud-selectable

82 x 16 or 92 x 22 format—plus graphicsPrinter output port"CHERRY" keyboard

CT-82 Intelligent Terminal, assembled and tested $795.00 ppd in Cont. U.S.

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216

Circle 350 on inquiry card.

Here's how you can be fully computerizedfor so much less than you thought

BUSINESS — EDUCATION —ENGINEERING — MANUFACTURING

We are pleased to announce the firstprofessional time-sharing system in themicrocomputer field.

Naturally, it's from Cromemco.

This new multi-user system will doall of the tasks you usually associate withmuch more expensive time-sharing com-puters. Yet it's priced at an almost un-believably low figure.

Look at these features:

• You can have up to 7 terminals plusa fast, 132-column line printer

• You can have a large system RAMmemory that's expandable to 1Amegabyte using the Bank Selectfeature

• Each user has an independent bankof RAM

• You can have floppy disk storage ofup to 1 megabyte

• You have confidentiality betweenmost stations

• And, make no mistake, the systemis fast and powerful. You'll want totry its fast execution time yourself.

4?

PROGRAMMERS LOVE OUR BASIC

This new system is based on Cro-memco's well-known System ThreeComputer and our new Multi-UserBASIC software package.

Programmers tell us that CromemcoMulti-User BASIC is the best in the field.Here are some of its attractions:

• You can use long variable namesand labels up to 31 characters long— names like "material on order"or "calculate speed reduction."

• You get many unusual and helpfulcommands that simplify programsand execution — commands such asPROTECT, LIST VARIABLES, NOLIST,and many more.

• No round-off error in financial work(because our BASIC uses binary-coded decimal rather than binaryoperation). And we've still been ableto make it FAST.

• Terminals and printer are interrupt-driven — no additional overheaduntil key is pressed.

• The conveniences in this Multi-UserBASIC make it much easier to writeyour own application software.

• A line editor simplifies changes.

BENCHMARK IT — NOWIn the final analysis, the thing to dois see this beautiful new system at yourdealer. See its rugged professional qual-ity. Evaluate it. Benchmark it for speedwith your own routine (you'll be agree-ably surprised, we guarantee you).

Find out, too, about Cromemco's rep-utation for quality and engineering.

Look into it now because you canhave the capabilities of a fully compu-terized operation much quicker and formuch less than you ever thought.

Circle 80 on inquiry card.

a

Cromemco

incorporated

Microcomputer Systems

280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400

BYTE April 1979

On Card

Voltage

Regulation

The single card computer

with the featuresthat help you in real life

COMPLETE COMPUTER

In this advanced card you get a pro-fessional quality computer that meetstoday's engineering needs. And it's onethat's complete. It lets you be up andrunning fast. All you need is a powersupply and your ROM software.

The computer itself is super. Fast4 MHz operation. Capacity for 8K bytesof ROM (uses 2716 PROMs which canbe programmed by our new 32K BYTE-SAVER* PROM card). There's also 1K ofon-board static RAM. Further, you getstraightforward interfacing through anRS-232 serial interface with ultra-fastspeed of up to 76,800 baud — softwareprogrammable.

Other features include 24 bits of bi-directional parallel I/O and five on-board programmable timers.

Add to that vectored interrupts.

ENORMOUS EXPANDABILITY

Besides all these features the Cro-memco single card computer gives youenormous expandability if you ever needit. And it's easy to expand. First, youcan expand with the new Cromemco32K BYTESAVER PROM card mentionedabove. Then there's Cromemco's broadline of S100-bus-compatible memoryand I/O interface cards. Cards with fea-tures such as relay interface, analoginterface, graphics interface, opto-isolator input, and A/D and D/A con-version. RAM and ROM cards, too.

Card age 32K BYTESAVER PROM card

EASY TO USE

Another convenience that makes theModel SCC computer easy to use is ourZ-80 monitor and 3K Control BASIC (intwo ROMs). With this optional softwareyou're ready to go. The monitor givesyou 12 commands. The BASIC, with 36commands/functions, will directly ac-cess I/O ports and memory locations —and call machine language subroutines.

Finally, to simplify things to the ulti-mate, we even have convenient cardcages. Rugged card cages. They holdcards firmly. No jiggling out of sockets.

AVAILABLE NOW/LOW PRICE

The Cromemco Model SCC is avail-able now at a low price of only $450factory assembled ($395 kit).

So act today. Get this high-capabilitycomputer working for you right away.

2 BYTE

n

Cromemco

^L^^^l Specialists in computers and peripherals

280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400

April 1979

Circle 80 on inquiry card.

In the Queue

BIT! April 1979Volume 4, Number 4

Foreground

10 THE TOY STORE BEGINS AT HOME, by Steve CiarciaBuild a challenging musical game in BASIC

26 SIMULATING PHYSICAL SYSTEMS, The Two-Dimensional Ideal Gas, by Mark ZimmermannExperiment with physical models on your computer

46 SOURCES OF NUMERICAL ERROR, by Daniel R Buskirk

Learn how to control errors from rounding and truncating

84 MARSPORT: The Three-Dimensional Celestial Mechanics Simulation for the HP 67/97, by D D HinrichsPilot a spaceship to a soft landing on the Martian surface

110 STANDARD DATA ENCRYPTION ALGORITHM, Part 2: Implementing the Algorithm, by R V MeushawThe Standard Data Encryption Algorithm on a KIM-1 computer. Part 2 of two parts.

132 QUEUING THEORY, Part 1: Queue Representation, by Len Gorney

Waiting lines are so important that an entire area of mathematics is devoted to their study

176 THE POWER OF THE HP-67 PROGRAMMABLE CALCULATOR, Part 2, by Robert CArp, JrAn example solution of simultaneous equations

page 10

Background

20 CROSS-POLLINATING THE APPLE II, by Richard Campbell

Add an Intel 8251 programmable communications interface

54 SMART MEMORY, Part 1, by Randy CSmith

The concept of associative ("smart") memory is discussed

66 A SIMULATED VIEW OF THE GALAXY, by Mark Dahmke

Viewing constellations from other parts of the galaxy, and related matters

144 CRYPTOGRAPHY IN THE FIELD, Part 2: Using the Pocket Calculator, by John P CostasUsing a pocket calculator to implement a field cipher

166 LIFE CAN BE EASY, by Randy SoderstromA simple implementation of Life

170 AN EASY WAY TO CALCULATE SINES AND COSINES, by Robert GrappelRelative sine and cosine values in one byte

210 AN INTRODUCTION TO MICROPROGRAMMING, by Ben E ClineThe fundamental level of control

218 A DIGITAL ALPHANUMERIC DISPLAY, by Daniel ChesterA 7 segment display

224 MICROCOMPUTER TIMESHARING: A Review of the Techniques, by Kenneth J JohnsonDesigning multiuser systems

236 A BINARY GUESSING GAME, by Mark Zimmermann and James Blodgett

U Lj

page 20

■,

■

."

■

• •• ■

■

•

'.• •

.■"

,

fc-V«.

'/

• -

•V

I ■

page 26

Calculator pattern recognition

Nucleus

4 In This BYTE

6 Editorial: On the Importance of Backups

8 Letters

42 Book Reviews

50, 247 Technical Forum

53, 192, 201 BYTE's Bugs

64,175,221 BYTE's Bits

172 Desk Top Wonders: Digital Circuit Simulation

190 Nybbles: BASIC Cross-Reference Table Generator

193 BYTE News

202 Event Queue

204 Clubs and Newsletters

222 Programming Quickies: Label and File Program

238 Languages Forum

249 What's New?

278 Unclassified Ads

280 BOMB

280 Reader Service

page 66

Cover Art:

INFINITE REGRESSIONby Robert Tinney.

BYTE is published monthly bv BYTE Publications Inc. 70 Main St. Peterborough NH 03458. Address all mail except subscriptions to above address, phone (603) 924-7217. Address sub-scriptions, change of address. USPS Form 3579. and fulfillment questions to BYTE Subscriptions. PO Box 590, Martinsville NJ 08836, Second class postage paid at Peterborough NH 03458 andat additional mailing offices-USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are S18 for one year. S32 for two years, and S46 for three years in the USA and its ppssessions. InCanada and Mexico. S20 for one year. $36 for two years, S52 for three years. S32 for one year air delivery to Europe. $32 surface delivery elsewhere. Air delivery to selected areas at addi-tional rates upon request. Single copy price is $2 in the USA and its possessions, S2.40 in Canada and Mexico, S3.50 in Europe, and S4 elsewhere. Foreign subscriptions and sales should be re-mitted in United States funds drawn on a US bank. Printed in United States of America.

Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lostmanuscripts pr photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1979 bv BYTE Publications Inc. All rights reserved.

BYTE® is available in microform from University Microfilms International, 300 N Zeeb Rd, Dept PR. Ann Arbpr Ml 48106 USA pr 18 Bedford Row, Dept PR, London WC1R 4EJENGLAND.

Subscription WATS Line: (800) 258-5485

April 1979 © BYTE Publications Inc

In this BYTE

Randy Soderstrom provides a quick andsimple Life program for the 8080 in hisarticle Life Can Be Easy. page 166

This month's cover painting by RobertTinney is called "Infinite Regression"— anappropriate way to introduce you to severalarticles in this issue dealing with computersimulation.

The term "simulation" can have abewildering variety of meanings; we haverestricted ourselves herein to simulations ofgalaxy projections, digital circuits, celestialmechanics, and an ideal two-dimensional gas— all using your personal computer or pro-grammable calculator.

By adding special controls to a micro-computer, a user can input special informa-tion or information in particular forms. Theaddition of four switches and four coloredlights allows your computer to play amemory game such as the ones found indepartment stores. Steve Ciarcia tells howThe Toy Store Begins at Home. page 10

There is more than one way to peelan Apple, or in this case to interface anApple II. Richard Campbell gets to the coreof the problem in Cross-Pollinating theApple II. page 20

One fascinating use of a computeris performing experiments quickly andeasily. The experimenter can define proper-ties and change parameters in a programrather than having to rebuild equipment.Mark Zimmermann discusses Simulation ofPhysical Systems, specifically The Two-Dimensional Ideal Gas. page 26

An important area of numerical calcu-lations is the control of errors: roundingerrors, truncation errors, and so on. DanielR Buskirk has some comments on this verynecessary study in Sources of NumericalError. page 46

Wouldn't it be nice to have a typeof memory in your computer that wouldanswer questions such as, "Which of myemployees are over 35 and make more than$20,000?" Such a memory is known as anassociative memory. Randy Smith introducesus to the world of Smart Memory in part 1of this 2 part series. page 54

Have you ever wondered what ourgalaxy looks like from one million lightyears away? Perhaps you want to study theformation of the Andromeda galaxy orincorporate a known star cluster into aspace war game. In either case you'll wantto have A Simulated View of the Galaxy asdiscussed by Mark Dahmke. page 66

Delmer D Hinrichs presents a com-bination three-dimensional Mars landerand introduction to celestial mechanicsin Marsport Here I Come: The Three-Dimensional Celestial Mechanics Simu-lation for the HP 67/97. page 84

The Standard Data Encryption Algo-rithm by Robert V Meushaw discusses itsimplementation on the basic KIM-1 system.A detailed description of the algorithm andgeneralized flowcharts are also given.

page 110

In everyday life we wait in lines beforewe can do particular things. The samehappens with computers. The study ofwaiting, called Queuing Theory, and howcomputers handle the situation is discussedby Len Gorney. page 132

The pocket calculator can be usedto encipher and decipher messages. JohnCostas provides us with working examples ofCryptography in the Field, Part 2: Using thePocket Calculator. page 144

When working with trigonometric quan-tities, it is not always necessary to arrive atthe precise value. Often a relationshipbetween the desired value and the entirerange of allowable values is sufficient.Robert Grappel discusses such an implemen-tation in An Easy Way to Calculate Sinesand Cosines. page 170

In The Power of the HP-67 ProgrammableCalculator, Part 2, Robert C Arp Jr con-cludes his discussion of the HP-67 with apractical applications program for solvingsimultaneous equations. page 1 76

The ability to microprogram a pro-cessor increases the power and usefulnessof that processor to a particular user.Microprogramming allows one machine toappear as several different processors whileusing the same hardware. Ben E Cline givesus An Introduction to Microprogrammingand shows how it can be used. page 210

Could you use a pocket-size alpha-numeric terminal? One of the main pro-blems with this type of device is the size ofthe video screen used for output. By using 7segment displays, Daniel Chester has thoughtof a way to make A Digital AlphanumericDisplay. page 218

Is it practical to use microcomputersfor timesharing? In Microcomputer Time-sharing, Kenneth J Johnson reviews some ofthe techniques developed for large computerswith an eye toward utilizing them on amicrocomputer. page 224

Artificial intelligence (Al) on a pro-grammable calculator? Why not? A BinaryGuessing Game shows you how. AuthorsMark Zimmermann and James Blodgettdescribe a pattern recognition algorithmthat tries to outguess the operator, oftenwith remarkable success. page 236

PublishersVirginia LondonerGordon R WilliamsonVice-President PeriodicalsJohn E HayesAssistantJill E Callihan

Editorial Director

Carl T Helmers Jr

Executive Editor

Christopher P Morgan

Editor in Chief

Raymond G A Cote

Senior Editor

Blaise W Liffick

Editor

Richard Shuford, N4ANG

Editorial Assistant

Gale Britton

New Products Editor

Clubs. Newsletters

Laura A Hanson

Drafting

Jon Swanson

Production EditorsDavid William HaywardAnn GravesArt DirectorEllen BinghamProduction ArtWai Chiu LiChristine DixonTypographersCheryl A HurdStephen KruseDebe L Wheeler

Advertising Director

Patricia E BurgessAssistantRuth M WalshAdv/Prod CoordinatorThomas HarveyAdvertising BillingNoreen BardsleyDon Bardsley

Receptionist

Jacqueline Earnshaw

Circulation ManagerGregory SpitzfadenAssistants

Pamela R HeaslipAgnes E PerryMelanie BertoniDealer Sales

Ginnie F BoudrieauAnne M Baldwin

Traffic Department

Rick FuetteMark Sandagata

Book Division:Publisher

Edmond C Kelly JrProduction Editors

Patricia CurranWilliam HurlinE S Associates

ComptrollerKevin MaguireAssistant

Mary E Fluhr

National AdvertisingSales Representatives:Hajar Associates Inc

East

280 Hillside Av

Needham Heights MA 02194

16171 444-3946

521 Fifth Av

New York NY 10017

12121 682-5844

Midwest

664 N Michigan AvSuite 1010Chicago IL 60611(3121 337-8008

West. Southwest

1000 Elwell Ct

Suite 227

Palo Alto CA 94303

1415) 964-0706/(714) 540-3554

Printing

The George Banta Company

Drafting

Techart Associates

TypographyGoodway Graphics

PhotographyEd Crabtree

Editorial Associate

Daniel FylstraAssociates

Walter BanksSteve CiarciaDavid FylstraIra Rampil

Distributors:

Eastern Canada

RS-232 Distribution Company

186 Queen St W, Suite 232

Toronto ONTARIO M5V-1Z1

Western Canada

Kitronic Ltd

26236 26th Av RR 5

Aldergrove BC VOX 1A0

April 1979 © BYTE Publications Inc

How to buya personal computer.

Suddenly everyone is talking about personal computers.Are you ready for one? The best way to find out is toread Apple Computer's "Consumer Guide to PersonalComputing." It will answer your unanswered questionsand show you how useful and how much fun personalcomputers can be. And it will help you choose acomputer that meets your personal needs.

Who uses personal computers.

Thousands of people have already discovered the Apple

computer—businessmen, students, hobbyists. They're

using their Apples for financial management, complex

problem solving—and just plain fun.

You can use your Apple to

analyze the stock market,

manage your personal

finances, control your

home environment, and

to invent an unlimited

number of sound and

action video games.

That's just the beginning.

What to look for.

Once you've unlocked thepower of the personalcomputer, you'll be

using your Apple in ways you never dreamed of.That's when the capabilities of the computer you buywill really count. You don't want to be limited bythe availability of pre-programmed cartridges. You'llwant a computer, like Apple, that you can also programyourself. You don't want to settle for a black and whitedisplay. You'll want a computer, like Apple, that canturn any color tv into a dazzling array of color graphics*The more you learn about computers, the more yourimagination will demand. So you'll want a computerthat can grow with you as your skill and experiencewith computers grows. Apple's the one.

How to get one.

The quickest way isto get a free copy ofthe Consumer Guideto Personal Computing.Get yours by calling800/538-9696. Or bywriting us. Then visityour local Apple dealer.We'll give you his nameand address whenyou call.

*Apple II plugs into any standard TV usingan inexpensive modulator (not included).

1." i

i am em em B*t an t^ bh ,ga .ts* on ' -»v am tm me -1 «i' §r bi .m m m w*k*

— . cr^ . ^ ,„4

[«*:-: -• .1 , «n

Mfc

Circle 15 on inquiry card.

apple computer

10260 Bandley Dr.. Cupertino, CA 95014In California call (408) 996-1010.

BYTE April 1979

Editorial

Altos Computer Systems

2378-B Walsh AvenueSanta Clara, CA 95050

Apple Computer

10260 Bandley Dr.Cupertino, CA 95014

Digital Microsystems Inc.

(Formerly Digital Systems)4448 Piedmont Ave.Oakland, CA 94611

Imsai Mfg. Corporation

14860 Wicks Blvd.

San Leandro, CA 94577

Industrial Micro Systems

633 West Katella, Suite LOrange, CA 92667

North Star Computer

2547 9th StreetBerkeley, CA 94710

Percom Data

318 BarnesGarland, TX 75042

Polymorphic Systems

460 Ward Dr.

Santa Barbara, CA 93111

Problem Solver Systems

20834 Lassen StreetChatsworth, CA 91311

Processor Applications Limited

2801 E. Valley View AvenueWest Covina, CA 91792

SD Sales

3401 W. KingsleyGarland, TX 75040

Smoke Signal Broadcasting

6304 YuccaHollywood. CA 90028

Technico Inc.

9130 Red Branch RoadColumbia, MD 21045

Texas Electronic Instruments

5636 EtheridgeHouston, TX 77087

Thinker Toys

1201 10th StreetBerkeley, CA94710

Vista Computer Company

2807 Oregon CourtTorrance, CA 90503

^.Shugart

April 1979 © BYTE Publications Inc

On the Importance of Backups

by Carl Helmers

The other day I had a problem using my computer system which manyreaders may have had. The lesson to be learned from my experience forms thesubject of this essay.

This problem is one of zapping the file structure of a disk. Sooner or latereveryone who uses a small computer system will encounter a similar situation.One could be tempted to think, naively, that such problems are limited tolarge computer systems with large sensitive flying head disk media, but this isby no means the case. Floppy disks can be logically zapped just as easily.

I, like many of our readers with systems, have not been letting my systemlie idle in the house. In the years since starting this publication with myassociates in 1975, I have been suffering withdrawal symptoms from bigcomputers and associated time sharing software. In my case it was everyone'sfavorite target of criticism, TSO running on a large IBM 360 system. Well,finally small computers got to the point where they could support my styleof language, Pascal. Last summer, I bought the Northwest MicrocomputerSystems model 85/P with UCSD Pascal as its operating system, filing system,editor and high level language package.

(An aside: at present, the options are hardly limited to the 85/P as manyother small computer manufacturers have begun offering versions of thisexcellent software; at present one can get it on machines ranging from a dualmini-floppy Apple II or North Star Horizon, to machines with full sizefloppies like my 85/P, or the Cromemco system we are using at BYTE as aneditorial computer, to the most exotic of all Pascal machines, the WesternDigital "Pascal Micro Engine" which directly executes the p-code inter-mediate output of the UCSD compiler. Recent word from Apple has it thatthe UCSD Pascal system with full Turtle graphics will be available in June ofthis year for approximately $400 hardware and software cost. The hardwareconsists of a special 16 K programmable memory card added to a 48 K AppleII with single or dual disks. The software is the complete UCSD system ofeditor, file system, Pascal compiler and utilities.)

Recently I have been writing my editorials for BYTE using the excellentscreen oriented editor program of the UCSD system. I have been learningPascal so that I can make it my principal software development tool. I havebeen learning the details of using Pascal as a significant hardware orientedprogramming aid, a limited function with the 85/P but one which will blos-som to full fruition when I get the Pascal microengine sometime in thecoming months.

All this is but a prelude. I have also learned anew the opportunities formaking foolish mistakes. One of the most foolish is that of not periodicallybacking up files against possible losses. The losses I refer to can stem fromnumerous causes.

We all, quite naturally, assume that the systems software is perfect, butthere is that nagging 1 percent of doubt that everyone has. So even if we hadperfect media, it would be necessary to back up files by copying from onedisk to another as insurance against software failure. But that is hardly themajor problem.

Continued on page 196.

"My 8 to 5 minifloppy nowworks nights and weekends!'

VM\«f*> &■*,

"I own a fast-growing business and before Ibought my computer system I put in a lot of latehours keeping up with my accounting andinventory control. Now the computer does mynumber crunching quickly, so I have time afterhours to have some fun with the system. My sonand I started out playing Star Trek on the system,and now we're learning to play chess.

"When I was shopping around for my system,the guys in the computer stores demonstrated allthe unique features of the minifloppy. I've got toadmit that at first I didn't really understand all thetechnical details. But now that I use the systemevery day, I really appreciate the minifloppy's fastrandom access and data transfer. I like thereliability, too.

"I'm glad I went with Shugart drives. Look,when you lay out your own money for a system,you want dependable performance and goodvalue. Do what I did. Ask for the system with theminifloppy."

If it isn't Shugart,it isn't minifloppy.

^=C@Shugart Associates

435 Oakmead Parkway, Sunnyvale, California 94086

For a list of manufacturers featuring Shugart's minifloppy in their systems, circle reader response number.

TM minifloppy is a registered trademark of Shugart Associates

BYTE April 1979

Letters

SUCCESSFUL TRANSFORMATION

I thoroughly enjoyed the article"Fast Fourier Transforms on YourHome Computer," by William D Stanleyand Steven J Peterson (December 1978BYTE, page 14). I have the programrunning on Radio Shack TRS-80 diskBASIC. I also tried the BASIC code in"Tic-Tac-Toe in BASIC" (December1978 BYTE, page 174). It would behelpful if Mike Stoddard, the author,had explained the characteristics of hissource machine. I spent some timeconverting the "215" enclosed in back-slashes to CHR$ (215) for formattingpurposes.

I enjoy your magazine and use itregularly. Keep it up.

Joseph X Brennan

POB 302

Upland CA 91786

Another problem with "Tic-Tac-Toe inBASIC" was the accidental omission ofprogram lines 2590 through 3080. Themissing lines were printed in the "BYTE'sBugs" section of the February 1979BYTE, page 43 CH.

MAKING CENTS

Being an avid reader of BYTE I havereceived many helpful hints about howto use my computer more efficiently. Ihave enclosed a simple program that putsdollars and cents into business programs.

A lot of small businesses need cal-culated results in a print out in the formof at least two digits, complete with 0safter the decimal point (eg: "$2.00").Most systems automatically eliminatetrailing 0s. The enclosed program can beused as a subroutine to perform thistask. The variable must be made equal toX previous to using the subroutine.

As you can see, the program returnseven if there is no need to add 0s. Sev-eral small businesses are using this simpleanswer to the zero problem.

1000 C=0

1010 LET A$=STR$(X)

1020 LETI = LEN(A$)

1030 LET H=l-1

1040 IF X=INT(X) THEN PRINT

MID$(A$,1,H); ".00": RETURN1050 FOR A=1 TO 91060 LET B=C+.11070 IF X=INT(X)+B THEN PRINT

MID$(A$,1,H); "0": RETURN1080 LETC=B1090 NEXT A1100 PRINT A$1110 RETURN

James Thebeault, Sr

Rte 12 POB 94

Mansfield OH 44903

DIGICASTDATA

I just read Mr Halsema's article,"The Digicast System: Receiving Dataand Information over your FM Radio"(January 1979 BYTE, page 100) and Inoted a few technical deficiencies inhis description of an FM station'ssignal spectrum.

Mr Halsema describes the L-R dif-ference signal centered around 38 Khzas the pilot carrier. In actual practice,the station transmits a 19 Khz (±2 Hz)stereo pilot tone at 8 to 10 percentmodulation. This is the synchronizingsignal used by the receiver in demodu-lating the L+R and L~R signals into dis-crete L and R channels.

In FM broadcasting, the 75 Khzdeviation Mr Halsema refers to is the100 percent modulation point. Wecould get into modulation index andother parameters, but the BYTE letterscolumn is not the place for this. Sufficeit to say that "high fidelity music"transmission is not restricted by thecurrent modulation limits.

Two factors that may limit thegrowth of digicasting in metropolitanareas are present. Assuming that the 67Khz SCA (Subsidiary CommunicationsAuthorization) signal is used for digi-casting, the first factor is the "loudness"game that many stations get caught up inin the quest for larger market shares. The19 Khz pilot eats up 10 percent of themodulation capability. The 67 Khz SCAsignal eats up another 10 percent of themodulation capability. This leaves amaximum of 80 percent modulationcapability for your main carrier programmaterial. While this is only a 1 db to2 db decrease in "loudness" comparedto a nonSCA or a mono station, thereare many programming and time salespeople who believe that they need to bethe loudest station on the dial. Thesecond factor is that some major marketbroadcasters subscribe to music syndica-tion services. Some of these services(notably Jim Schulke's SRP service) havebeen known to write clauses into theircontracts that forbid the subscribingstation from using an SCA signal.

As a sidenote, two years ago while Iwas still in broadcast engineering, I wascontacted by an outfit called Cables &Wireless Ltd. They were looking for anSCA signal to use for electronic message(or mail) service. My station was under a"no SCA signal" clause with a musicsyndicator and I had to turn them down,but recently Computer Decisions maga-zine published an article on electronicmail that briefly discussed the Cables &Wireless Ltd system.

I look forward to digicasting withgreat anticipation but I fear that it willbecome mired in the infinite jungle offederal regulations.

Noel M Moss

UniCard

1034 S Brentwood Blvd

St Louis MO 63117

Continued on page 206.

ComputerLand

ALABAMA

Huntsville

(205) 539-1200

ARIZONA

Phoenix

(602) 956-5727

ARKANSAS

Little Rock

(501)224-4508

CALIFORNIA

Belmont

(415)595-4232

Dublin

(415)828-8090

El Cerrito

1415)233-5010

Hayward

(4151538-8080

Lawndale

(2131 371-7144

Los Altos

(415)941-8154

Los Angeles

(213) 776-8080

Pasadena

(2131449-3205

Saddleback Valley

(714) 770-0131

San Bernardino

(714) 886-6838

San Diego

(7141 560-9912

San Diego East

(714)464-5656

San Francisco

(415)546-1592

San Jose

(408) 253-8080

Santa Maria

(805)928-1919

Santa Rosa

(707) 528-1775

Thousand Oaks

(805)495-3554

Tustin

(714) 544-0542

Walnut Creek

(415)935-6502

COLORADO

Colorado Springs

(303)574-4150

Denver

(303) 759-4685

CONNECTICUT

Fairfield

(203) 255-9252

DELAWARE

Newark

(3021 738-9656

FLORIDA

Boca Raton

(305)368-1122

Ft. Lauderdale

(305) 566-0776

Jacksonville

(904) 731-2471

GEORGIA

Atlanta

(404)953-0406

HAWAII

Honolulu

(808) 521 -8002

ILLINOIS

Arlington Heights

(312) 255-6488

Downers Drove

(312)964-7762

Mundelein

Call Directory Assistance

Niles

(3121967-1714

Oak Lawn

1312)422-8080

Peoria

(309) 688-6252

KANSAS

Overland Park

(9131492-8882

KENTUCKY

Louisville

(502) 425-8308

MARYLAND

Rockville

(301)948-7676

MICHIGAN

Grand Rapids

(616)942-2931

Southfield

(313) 356-8111

MINNESOTA

Bloomington

(612)884-1474

MISSOURI

Springfield

(417)883-7085

NEW HAMPSHIRE

Nashua

(603) 889-5238

NEW JERSEY

Cherry Hill

(609) 795-5900

Bergen County

(201)845-9303

Morristown

(2011539-4077

NEW YORK

Buffalo

(716)836-6511

Ithaca

(607) 277^1888

Nassau County

(516) 742-2262

NO. CAROLINA

Charlotte

(704) 536-8500

OHIO

Cleveland

(216)461-1200

Columbus

(6141888-2215

OREGON

Portland

(503)620-6170

PENNSYLVANIA

Harrisburg

(717) 763-1116

TEXAS

Austin

1512)452-5701

Dallas

(214) 363-2223

South West Houston

(7131977-0909

Houston Bay Area

(713)488-8153

UTAH

Salt Lake City

(801)364-4416

WASHINGTON

Bellevue

(206) 746-2070

Federal Way

(206) 838-9363

Tacoma

(206)581-0388

WASHINGTON, D.C.

(703)893-0424

WISCONSIN

Madison

(6081 273-2020

Milwaukee

(4141 466-8990

INTERNATIONAL

Brisbane, Australia

07 221 9777

Brussels, Belgium

43 29 05

Manila, Philippines

58-36-66

Sydney, NSW Australia

29-3753

Winnipeg, Canada

(204) 772-9519

8 April 1979 © BYTE Publications Inc

Circle 75 on inquiry card.

If the truth is that you want acomputer . . . then we want to be yourcomputer store.

We're ComputerLand, the #1computer store chain in the U.S. What'smeaningful about that fact is, thatComputerLand has been chosen by morepeople as having what they've beenlooking for. And, since you're looking, letus tell you what you'll find, when you visita ComputerLand store.

You'll find a product line that'scontinually evaluated to provide you withthe widest and best selection in quality,brand name microcomputers anywhere.You'll find an enthusiastic andknowledgeable staff able to interpret allthe equipment specifications, in terms ofhow they apply to you, and in a wayyou'll understand. You'll find demonstrationareas where you can get a firsthandexperience of running a computer yourself.

You'll find educational materials to giveyou a total insight into the world ofmicrocomputers.

You'll find a fully equipped servicedepartment to provide whatever assistanceis required to keep your computer runningin top-notch condition. You'll find computeruser's clubs to join, where you can shareideas with people as enthusiastic asyourself. And, with each new visit, you'llfind excitement—from the people you dealwith, the equipment they offer, and fromyour own ever-growing personalinvolvement.

Enough about us. How about whatcomputers do.To attempt to describe allthe things your computer might do, wouldbe to describe your imagination. Soinstead, we'll briefly list some of the manythings for which small computers arealready being used.

In business, the advent of theversatile and compact microcomputer hasput the benefits of computing within reachof small companies. With systems startingat less than $6000, the businessman can

FOR THE HOMEIk

1

1

ComputerLand Corp.

14400 Catalina St.

San Leandro, CA 94577

(415) 895-9363

Franchise Opportunities Worldwide.

© ComputerLand Corp., 1978

computerize things like accounting,inventory control, record keeping, wordprocessing and more.The net result is thereduction of administrative overhead andthe improvement of efficiency which allowsthe business to be managed moreeffectively.

In the home, a computer can be usedfor personal budgeting, tracking the stockmarket, evaluating investment opportunities,controlling heating to conserve energy,running security alarm systems, automatingthe garden's watering, storing recipes,designing challenging games, tutoring thechildren . . . and the list goes on.

In industry, the basic applications arein engineering development, processcontrol, and scientific and analytical work.Users of microcomputers in industryhave found them to be reliable, cost-effective tools which provide computingcapability to many who would otherwisehave to wait for time on a big computer,or work with no computer at all.

And now we come to you, which leadsus right back to where we started: If youwant a computer, then we want to beyour computer store.

Whether you want a computer for thehome, business or industry, come toComputerLand first. We'll make it easy foryou to own your first computer. Because,simply put, we really want your business.When you come right down to it, that'swhat makes us #1.

ComputerLand

WE KNOW SMALL COMPUTERS

®

ComputerLand EuropeEuropa Terrassen8 Rue Jean EnglingDommeldange, LuxembourgPhone 43 29 05 Telex 2423

BYTE April 1979 9

The Toy Store Begins at Home

+ 5V

Gispcis'sQipcuit

Cellar

Simon is a trademarkof the Milton BradleyCorporation.

Figure la: Hardware tonegenerator for the musicaltone sequencer. The com-puter plays a sequence oflights and associated tonesand detects the player'sresponse. (All transistorsare 2N2222.)

rrrf •

iook I k I L141 > ? I ?

IOOK <-5v(4) A

Number

Type

+5V

Gnd

IC1

74C00

14

7

IC2

74C00

14

7

IC3

74C00

14

7

10 April 1979 S BYTE Publications Inc

COMPUTERINTERFACE

TONEOSCILLATOR

SPEAKERDRIVER

TO

COMPUTER <0~

INPUT

*5V

^

R_wv-

PB 5 / ^^

^ I E) n^y^^^E^

♦ 5V

FROMCOMPUTER Q2>OUTPUT

A

B

INTERFACE OUTPUT

0011

010

1

ILLEGAL INPUTTONE ONTONE ONTONE OFF

LIGHTDRIVER

Figure lb: Details of thecircuit in figure la, show-ing one of the four lightand sound generating sec-tions.

Steve Ciarcia

POB 582

Glastonbury CT 06033

"Mister? Mister?"

A little boy was tugging on my sleeve.It startled me that in today's sophisticatedsociety anyone would attempt to attractmy attention by such an obvious, thougheffective, means. Impatient and undauntedby the scowl I flashed in his direction, hesaid, "Mister? Do you know where the toydepartment is?"

I have never acquired what some peoplecall the ability to commune with children.Perplexed therefore as to the presentation ofa proper reply, I considered an indignant,wave-of-the-hand dismissal of "Over there,kid." On the other hand, should I consider acharacter reversal with a Santa Claus imita-tion and invite the young man to hop up onmy shoulder while we looked over the storedirectory together? The latter seemed hardlymy style and the former was much too harsheven considering his still firm attachment tomy sleeve.

"Mister? Mister?"

The delay only heightened his fervor.

I looked up and found myself staringstraight at the shirt pocket button of a verylarge man. Instantly I calculated that thismale figure dressed in jeans, heavy bootsand a woolen shirt was a foot taller than I.

His relationship with the boy was quicklyclarified as he said in a deep paternal voice,"Come on Brucie, I think it's over therewhere that crowd is." I waited for PaulBunyan and son to be safely on their waybefore I made my next move.

Stark reality returned, however, whenI remembered that I, too, was looking forthe toy department. It verges on humilia-tion actually. Why do they have to cate-gorize everything? Just because an item ismanufactured by a toy company doesn'timmediately classify it as a toy. I mean, bigpeople have constructive leisure time manip-ulatives and little people have toys. Depart-ment stores should realize the embarrassmentof crossing this line and have an "amuse-ments for the sophisticated" department anda "toys for tots" department.

Finding the toy department was no prob-lem. I simply stood where I was and slowlyrotated 360°. The noise peaked at about160° SSE and I cautiously proceeded in thatdirection. The noise in my immediate vicin-ity became sharply amplified as two youngboys raced by, carrying some unidentifiabletoy devices.

I spied my objective ahead — the elec-tronic games counter. I got into line betweentwo youngsters and their parents. Were thesePG or R rated games? I saw no parents withthe kids playing basketball in the next aisle.Perhaps the cost of computerized games war-ranted closer parental scrutiny. $5 for ahockey stick is one thing, but $50 for a talk-ing plastic robot is another. All the games atthis counter incorporated microprocessors astheir intelligence. Some simulated war games

Copyright © 1979 by StevenA Ciarcia. All rights reserved.

April 1979 © BYTE Publications Inc 11

Photo 7: Player console for the computerized musical tone game. Playersattempt to repeat a sequence of tones and corresponding lights chosen bythe computer at random.

and produced authentic battle sounds whileothers proved to be formidable challengersin games of chance.

I looked through the products in the case,hoping to spot the one I so desperatelywanted. Would this be another store thatwas completely sold out? Would I never getmy Simon?

"Sir? Can I help you?" the salesmanasked. His attitude was surprisingly pleas-ant considering that he worked in the store'scombat zone.

"I don't see it!"

"See what, sir?"

Still vaguely pleasant, his tone changedto "I've had a long day, buddy. Let's notplay 20 questions."

"Simon of course!" I replied. "But Iknow you don't have any. No one does."

"You're in luck, sir. I believe we re-

Photo 2: Bottom view of the player's console. The ribbon connector attachesto the user's personal computer.

ceived a back ordered shipment yesterday.I'll check."

A young girl behind me said, "Did youhear that, mommy? They have Simon! Ican practice for the competition after all."

I said, "Competition? Simon?"

"Sure. Everybody's got one. Except me,that is. We have contests in school to seewho can remember the longest tune. It'sfun. Oh, I can't wait!" she responded,tugging on my sleeve.

"That sounds exciting. I hope you dowell in the contest," I said.

The salesman returned.

"I have one left. You're in luck."

I hardly had time to smile as he passedit to me. I heard a whimper from behind meand sensed the little girl's disappointment.Saying nothing I turned to look at her. Shetried to hide her anguish.

"What is your name, little girl?" I asked,stooping down a bit to be more at her level.

"Brenda," she said wistfully.

"That's a coincidence. I have a little ... er,girl named Brenda too." I had to catchmyself — as I have a female Scottish Terriernamed Brenda. Parents might get upset ifyou compare their children to dogs. "She'sa little smaller than you are."

"Is Simon for her, Mister?"

"No, she likes playing with tennis balls.But no matter. I've only been looking atthis game. I'm not sure I really want to buyit just yet. Would you like it?"

She offered several relieved thank-yousas I bolted for the door. I was in a hurryto get to the department store two blocksup the street before they closed. ...

Musical Games Are Addicting

Some time ago I was in a stuffy businessmeeting. When it became apparent to thechairman that most of the attendees wereasleep, he pulled out a saucer shaped objectwith four colored areas on it and slid it alongthe table. It stopped in front of me and went"beep" and lit a red light. Instructed torespond in kind, I pressed the red area whichturned out to be an oversized lighted push-button. The saucer replied "beep-boop"and lit the red and green lights sequentially.It became immediately apparent that theplastic saucer was a game and the object wasto duplicate the sequential tones it played.The task became increasingly difficult as itadded another note each time around. Ifmissed, it made a sound like a "raspberry"before starting a new game.

This "game" turned out to be Simon,from Milton Bradley Corporation. It usesa microprocessor to synthesize the tones,light the lights, and generate the sequence.

12

April 1979©BYTE Publications Inc

wIf this M-XVI from CCS had beenavailable in the '30s, I would have hadthe secret of invisibility wrapped upin half the time!'

THEINVISIBLEMAN

:-*jjjjjuj

The place was alive with "maddoctors" 40 years ago. For goodreasons. They couldn't get what theywanted. Labs were piled high withincomplete kits, defective gear, andundecipherable support documentation.

All that's history now that Califor-nia Computer Systems has arrived onthe computer hobbyist scene. We'll seethat no electronics maverick goesaway mad.

Three proofs positive: our newM-XVI Static RAM Module for S-100 bussystems... our new PT-1 Wire-WrapBoard... and our new SoldertailPrototyping Board. The M-XVI featuresinclude: fully static design, use ofpopular 2114 static RAMs, ability tomeet IEEE proposed S-100 signal stan-dards, full buffering, addressability in4K blocks, and bank select by bankport and bank byte. The PT-1 Wire-WrapBoard has all S-100 signals specifiedand provisions for four regulators. TheSoldertail Board has all S-100 signalslabelled, provisions for four regulators,and can accept 16-24-and-40 pinspacing.

Take a tip from the InvisibleMan. He's quit derailing

trains, robbing banks,and scaring helplessdamsels since CCSgave him what hewants. If you're lookingfor satisfaction, too,checkout our newproduct line today at your nearbycomputer store.

5

California Computer Systems

309 Laurelwood RoadSanta Clara, CA 95050(408)988-1620

So Nobody Goes Away Mad.

Circle 37 on inquiry card.

Build Your Own Musical Game

It is only logical that any of the $30 to$50 electronic toys in department storescan be simulated with the average $6000personal computer. (This is why criticsfrequently call computers illogical.) Thedistinguishing feature between a toy builtaround a microprocessor and the average

Figure 2: Flowchart for the computerized musical game.

home computer is the packaging and I/O(input/output) interface. With the exceptionof addressable memory, the microprocessorin a battleship game has a processing capa-bility comparable to the more general pur-pose processors like the 8080 and 6800. Themajor difference is that single chip com-puters incorporate limited quantities of pro-grammable memory, read only memory, andI/O in one package. This is the most cost-effective approach for a dedicated task likea game. The most popular single chip com-

YES

( START J

SET UP 64 ENTRY

TABLE

RIO) TO R(63)

A IS TOTALNUMBER OF NOTESIN TONE SEQUENCEA=0

A = A+I

S IS SELECTIONRESPONSE NUMBERS = 0

PLAY TONE R(S)

S = 0

YES

DOES INPUT PORT i_[_3 EQUAL 255 _

jlDOES INPUT PORT i_[3 EQUAL R(S)

1 DOES INPUT PORT .JJ5 EQUAL_255_

YES

S = S + I

YOU LOSE

SOUND ALLTONES

SOUND WINTONE SEQUENCE

INITIALIZE) GAME

SOFTWARE.

COMPUTER PLAYSCOMPLETE TONESEQUENCE,ADDING ONENOTE TO THEEND.

PLAYERRESPONDS BY\ ENTERING

CORRECT TONESEQUENCE.

14 April 1979 © BYTE Publications Inc

Circle 5 on inquiry card.

low You CanMake Your Own

Unleash the Full Powerof YourPersonal ComputeWith theAll'Ne w AladdinPersonalPrograms™

-v

Aladdin Automation now olloiyou the magic ol a full rangedPoison.ii Program™ seriesespecially designed to supportthe most populai personalcompliters available today

Some Personal Programs™wtake ypu to faraway places ofexciting, action-packedadventures Others will bringfun-filled learning experienceshomo to vou and vout child Still

;e in the homo 01 oltiooAll Aladdin Poison.ilOi)i.inis-'M.Ho iihhIoi.iIoI

doalei (ociiiv to see andexperience-1 the magic waitinivon in every one o\ Iho Al.nldPoison.il Piooi.iius™ (And it

ation li'i oo

Piouiams'Mavailahli

Welcome To The AULNew

World Of Aladdin. And Get Ready

To Make Your Own Magic

puter in the computer games market is theTexas Instruments TMS 1000. Customizedversions of this integrated circuit are used inthe majority of electronic games.

Presuming that we can write a programon our large computer that accomplishesthe same logical objective as the dedicatedgame, the only real difference becomes I/O.Most personal computers incorporate ASCIIkeyboards, video displays, and tape cassetteinterfaces for I/O. Electronic board gamesuse a few switch inputs (constant closures)and lights or buzzers for output and, becausethere is little operating system overhead,sound effects are directly synthesized byprogram timing loops. Theoretically, if weattach these switches and lights to a con-venient I/O port on our computer we shouldbe able to program a similar or even morechallenging game.

Building a musical game that tests theplayers' ability to memorize a string of tonesis a simple task. Input to the computer con-sists of four switches, one for each of fourtones. Output from the computer is like-wise four signals which light four coloredlights on the player console. Each lightcorresponds to a distinctive tone.

The game is simple to play. The computerplays a tone and the player responds by

pressing the button for that same tone. Next,the computer plays two notes and the playerreplies accordingly. Each correct exchangeresults in adding one more note to the string.Eventually either the player misses by beingunable to replay the exact tone sequence,or wins by attaining some preset number ofnotes without failure. The former is signifiedby an ungracious combination of tones andthe latter by a distinctive tune played by thecomputer in celebration.

There are two possible design approaches.One is to use machine language and a "barebones" interface consisting of four switchesand four lights directly connected to a paral-lel input and output port. Timing loopswritten into the software produce the tones.This method uses the least hardware butrequires considerably more software.

The second alternative is to use a highlevel language such as BASIC and use anexternal hardware interface for tone genera-tion. This is the approach I have taken. Ex-perimenters wishing to use another approachcan easily follow the logic flow of BASICand in this way I am not confining thereader to a particular microprocessor. Also,on-the-spot program variations to accommo-date individual players are more easilyimplemented in a high level language.

OVERBYTES AND UNDERPRICES THE COMPETITION

Introducingthe

$5885.Complete with thefantastic UCSD PascalOperating System

tbs peiasyslem

PASCAL OPERATING SYSTEM: The smoothest, most convenientoperating system available, featuring a powerful screen orientedtext editor, the fast PASCAL compiler, file and library handlingsystem, linker, library, BASIC compiler, and more.

Z-80 MICROCOMPUTER: Northstar based 4 MHz S-100microcomputer with 64k RAM, serial and parallel ports, dualMicropolis quad density (630 kbytes formatted) disk drives.

60 cps DOT MATRIX PRINTER: Centronics model 779 with trac-tor feed and paper stacker.

FULL FUNCTION INTELLIGENT TERMINAL: Microterm ACT-V,with addressable cursor, protected fields, erase to eol, erase toeos, reduced intensity, protected fields, much more.

Microcomputer/Dual Drive/64k/PascalPrinter/tractor feed/paper stackerTerminal

Buy complete system and receive all cables and box of disks free.

RETAIL$4695

ibs PRICE$3995

$1250

$1095

$880$6825

$795$5885

independent business systems, inc. • 5476 Cleo Ct. • Livermore, CA 94550 • (415)443-3131

16

April 1979©BYTE Publication! Inc

Circle 178 on inquiry card.

Heathkit Personal Computersare "System Designed"-Read about them in the

HEATHKIT CATALOG

Complete descriptions of the best inpersonal computers-now available inkit and assembled versions

In the world of personal computing, compatibility of design andoperation is an important consideration. The computer hobbyistor small business user of today doesn't have time to iron outhardware and software problems that can arise from a "shot-gun" approach to system design.

Heathkit Personal Computer Systems are just that-systems.They were designed around each other for total complementaryperformance. Expansion within the computer itself and with ourperipheral devices is always a trouble-free transition.

You can start with our low-cost8-bit H8 Computer and just 4Kof memory as an introduction tocomputing. Its easy to use octaldata entry and 9-digit octal read-out make learning a simple mat-ter. As your abilities grow, so canyour computer. Add more mem-ory and one or more peripheralslike the H9 Video Terminal with its ASCII keyboard for conveniententry and display of your programs. And you can store yourprograms in one of three ways too! Choose our new WH17Floppy Disk System (single and dual drives available) for theultimate storage mode. Its expanded 40-track hard sectoreddiskette has 102K Bytes of available storage so you can storehundreds of programs on one disk. If paper tape storage is yourpreference, choose our H10 Paper Tape Reader/Punch. For themost in economy, we offer a cassette player/recorder too. The H8is indeed a complete system.

The ultimate personal computer is our 16-bit H11A. Very fewpeople will ever need more computing power than our H11A hasto offer. Based on the world-famous DEC* PDP-11/03, it hasenough capability for virtually any program-small business orhobby. The H11A offers unequalled software, too, so the numberof useful applications is virtually unlimited.The H11A has its own

Heath Co., Dept. 334-520, Benton Harbor, Ml 49022

Floppy Disk System, the WH27. And what a floppy it is! Fully-compatible with the DEC RX01! floppy for the PDP-11/03, theWH27 lets you take advantage of all existing PDP-11/03 softwarein addition to those you develop on your own. Dual drives giveyou 512K Bytes of program and data storage. The WH27's Z80microprocessor-based controller permits a head motion of only6 mS (versus DEC'S 10 mS) for data access times that are con-siderably faster. Otherfeatures include built-in self test on power-up; mechanical interlock to prevent disk damage; write protectfunction that precludes written-over disks; complete HT11 diskoperating system software that includes extended BASIC withfiles and virtual arrays, utilities (with macro-assembler), texteditor and more. An extended FORTRAN which supports theANSI standard (1966 FORTRAN IV) will be optionally availablesoon.

Read more about Heath system-designed computers and otheroutstanding kits (nearly 400 in all) in the latest Heathkit Catalog.It's FREE.

Send for your FREE copy today!

Or bring this coupon to your nearby Heathkit ElectronicCenter (Units of Schlumberger Products Corporation)where Heathkit products are displayed, sold andserviced.

Schlumberger

Heath Company Dept. 334-520Benton Harbor, Michigan 49022

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

Name_

Address.City

.State _

CP-162 Zip.

Specifications subject to change without notice.

Circle 160 on inquiry card.

BYTE April 1979 17

Photo 3: Corner of thecircuit cellar showing the64 K dual floppy diskZ-80 system used by theauthor to drive the musicaltone game.

Listing J: Program for themusical tone game, writtenin 8 K Zapp/e BASIC.

90 REM

92 REM ** CIARCIA'S CIRCUIT CELLAR COPYRIGHT 1979 ••

94 REM

100 PRINT'THIS IS A MUSICAL GAME TO TEST YOUR MEMORY"

105 REM

110 REM

115 REM FIRST THING WE DO IS SET UP A TABLE OF 64

120 REM RANDOM NUMBERS WITHIN THE CHOICES OF 1,2,4, OR 8.

125 REM THESE NUMBERS ARE SINGLE BITS WHICH INDICATE A

130 REM PARTICULAR TONE AND COLORED LIGHT.

135 REM THE COMPUTER INTERFACE IS BITS 0 THRU 3 OF I/O PORT 3

140 REM

200 DIM R(64) .DIM S(64) .DIM A(64)

205 A=0

210 FOR SOTO 63

220 R = INT(RND(1)»10)

230 IF R>3 THEN 220

240 R(S)=255-2AR :REM THE INPUT TO THE INTERFACE IS LOW TRUE LOGIC

245 REM TO TURN ON A TONE ALL BITS ARE HIGH EXCEPT THE

247 REM ONE WHICH ISTO BE COMMUNICATED

250 NEXTS

260 REM

270 REM

400 SO:A=A+1

410 OUT 3,R(S) :GOSUB 2000 :REM TURN ON TONE

420 OUT 3,255 :REM TURN OFF TONE

425 S=S+1

430 IF S=A THEN 450 ELSE 410

450 SO

460 W=INP(3)

465 IF W<>255 THEN 470 ELSE 460:REM HAS A BUTTON BEEN PUSHED?

470 IF W=R(S) THEN 480 ELSE 600

480 S=S+1

481 REM A IS PRESET TO EQUAL WIN NUMBER. THIS CAN BE 1 TO 64 TONES

482 IF A=16 THEN PRINT'YOU WIN":GOTO 700490 W=INP(3)

495 IF W<>255 THEN 490 :REM HAS THE PLAYER RELEASED THE BUTTON?

500 IF S=A THEN 580

510 GOTO 460

520 REM

530 REM

580 REM RETRY DELAY

585 FOR TO TO 3 :GOSUB 2000 :NEXTT

590 GOTO 400

600 PRINT"SORRY,YOU MISSED IT YOU HAD ";A;" NOTES IN THE

SEQUENCE"

605 PRINT'TRY AGAIN"

610 OUT 3,0 :REM TURN ON ALL TONES

620 FOR TO TO 3 :GOSUB 2000 :NEXTT

625 OUT 3,255

630 GOTO 205

700 FOR TO TO 6 :REM PLAY TUNE TO INDICATE A WINNER

705 OUT 3,254 -.GOSUB 2050 :OUT 3,253 :GOSUB 2050

710 OUT 3,251 :GOSUB 2050 :OUT 3,247 :GOSUB 2050

715 OUT 3,255: NEXTT

720 GOTO 205

1980 REM

1990 REM THE VALUE OF T1 SETS THE TONE DURATION

2000 F0RT1OT0 250 :NEXTT1 :RETURN

2050 REM WIN DELAY TIMER

2060 FOR Q10 TO 80 :NEXT Q1 :RETURN

Figure 1a illustrates the hardware inter-face of this musical game; photos 1 and 2demonstrate typical layouts. A more de-tailed description of an individual tonegenerating section is given in figure lb.Normally, both signal points A and B are ata high logic level and the tone is off. Thetone and light can be turned on by eithera low output signal from the computer orthe pushbutton being pressed. The resultinghigh level output of ICIa turns on theoscillator formed from IC1b and IC1c anddrives the light through transistor Q-|.

A flowchart of the software as writtenin BASIC is shown in figure 2. When thegame is initialized, a random number gen-erator sets up a tone sequence of 64 notes.After playing the first note it waits for theplayer's response and then repeats the actionadding another note. The software is writtenso that the speed of player response is notimportant. Player frustration is strictlylimited to remembering the tone sequence.The BASIC program which plays this game isshown in listing 1.

I have found that this game is a good wayto demonstrate my computer to peopletotally unfamiliar with them. Some of mymore computer oriented friends jokinglysuggest that I may be doing things the hardway using a 64 K byte dual disk Z-80 systemfor the game.

If you have any questions, good ideas orcomments on this or previous articles, pleasewrite to me, enclosing a self-addressed,stamped envelope. Eventually I answer themall.

Next month, the "Circuit Cellar" topicwill be communication on a laser lightbeam."

18 April 1979 © BYTE Publications Inc

Specifications:

S-100 compatible. MFMencoding, 35 tracks with ten512-byte sectors per track.179,200 bytes on doubledensity SA-400 and North StarBASIC, DOS, and Monitorincluded.

For further Information, writefor full color catalog or contactyour local computer store.

New from North Star

Double Density Performance atSingle Density Prices

The new HORIZON computer andMicro Disk System now record in dou-ble density! That means each newShugart SA-400 minifloppy disk driveaccesses 180K bytes of on-line infor-mation. All double density HORIZONcomputers and Micro Disk Systemshave a redesigned controller whichallows the use of quadruple capacitydisk drives as they become available inearly 1979. A three-drive North StarSystem with quadruple capacity diskdrives will access over a megabyte ofon-line information. But, best of allthere's no price increase for doubledensity models.

North Star BASIC and DOS have beenupgraded to accommodate the in-creased capacity and yet run existingprograms with little or no change. Thenew disk system also supports single

density, so existing single density disk-ettes can still be used. Single densitySA-400 drives previously purchasedwith North Star systems can also beused.

Pricing

HORIZON with one double densitySA-400 minifloppy (180K bytes), 16KRAM, Z80A processor and serial I/Oport: $1599 kit, $1899 assembled.

MICRO DISK SYSTEM with one doubledensity SA-400 minifloppy, controllerboard and power regulation: $699 kit,$799 assembled. (Cabinet and powersupply $39 extra each.)

North Star * Computers2547 Ninth StreetBerkeley, California 94710(415) 549-0858

M

If*1 JfT^'

HORIZON

1

Circle 285 on inquiry card.

BYTE April! 979 19

Cross-Pollinating the Apple II

About the Author

Richard Campbell isa software engineerworking for LexitronCorporation, a manu-facturer of 8080 basedtext processors. Hishobbies include com-puting, flying andphotography.

Richard Campbell

7032 Quakertown

Canoga Park CA 91306

I have an Apple II personal computer,which I like a great deal. I have noticedthat most construction articles dealing withcustom interfaces for the Apple assume thatone must use Motorola or MOS Technology

peripheral integrated circuits. Since I use theIntel 8080 family of devices in my work, andwant to add a serial interface to my Apple,I've decided to try a little crossbreeding. Theinterface was designed to be RS-232 compat-ible and to allow receiving and transmittingwith the ability to add modem control sig-nals easily in the future.

Circuit Design

iny

Silicon Gate MOS 8251

PROGRAMMABLE COMMUNICATION INTERFACE

Synchronous and AsynchronousOperation

■ Synchronous:

5-8 Bit Characters

Internal or External Character

Synchroni7.T;-Aulomatic Sync '-

■ Baud Rale—DC to 56k Baud (S"DCtn°'~

■ Full Dun'—a

I,,„s received i d■™"v lime ThCM '"'°' "*"

ThTchipis constructed us.m, ".

PIN CONFIGURATION

HIOCK DIAGRAM

-•:r

*

»t

3 CM

««r

H

"r

1 '•<*

II

t»L

] f .!»*'•

i id

if

"r

Jot

i*t

JtlttM'

■ c

M

«*t

j »,»>ci*

■

M

•

■

ICMX

•

••

'

.

Photo I: The serial interface circuit as constructed using the Intel 8251 pro-grammable communications interface. Point-to-point wiring on an Appleprototype board was used. The board is pictured lying on page 12-46 of theIntel Component Data Catalog.

The heart of the interface is the Intel8251 programmable communications inter-face. The 8251 performs serial-to-paralleland parallel-to-serial conversion. The oper-ating characteristics and mode of the 8251are programmable by sending the properbytes to it from the Apple bus. The inter-face is set up to handle asynchronouscommunications. National Semiconductor's1488 and 1489 integrated circuits handlethe RS-232 and TTL (transistor-transistorlogic) level conversions. Since I am usingonly one of four buffers per chip, manyother RS-232 signals could easily be addedsuch as Data Set Ready and Clear To Send.

Data rate generation is handled by divid-ing the 7 MHz signal from the Apple bus by8, using a 74LS161 synchronous 4 bit coun-ter. This 895.125 kHz output is applied tothe input of National Semiconductor'sMM5307AA programmable divider. Fourswitches select the data rate as shown intable 2. The resulting data rates are 3 per-cent low, but in actual practice this is closeenough. Two gates of a 74LS04 device arerequired to interface the 8251 circuit to theApple bus.

Construction

The circuit was constructed using point-to-point wiring on an Apple prototype board.This board comes with a manual which pro-vides an excellent explanation of the Applebus. Nothing is particularly critical about thewiring (although I wouldn't run the 7 MHzsignal all around). A 0.1 jitF capacitor shouldbe placed near each integrated circuit be-

20 April 1979 © BYTE Publications Inc

*Our reputation rests on digits,

decimal points, and details.

We wouldn't trust them to anything less

than Scotch Brand Data Cartridges?

Bill Birkett, Vice President,Trade Graphics, Inc.,Livonia, Michigan

The unique design of a datacartridge provides great reliability,high storage capacity and longtape life. And where could youpossibly get better data cartridgesthan Scotch Brand, made by3M, the people who invented thedata cartridge system itself?

3M controls every step in manu-facturing. Top quality magnetictape and precision components arepart of every Scotch Data Cartridge.Over twenty-five years of serviceto the computer industry assureyou of the utmost reliability.

Scotch Data Cartridges areavailable in miniature DC 100A,the standard-size DC 300A andnow, an extra-length DC 300XLwith 50% more storage capacity.They are compatible with mostcartridge systems includingHewlett-Packard, IBM, NCR,Tektronix and Tl.

To find out where you can findScotch Data Cartridges or virtuallyany other data recording medium,call toll-free: 800-328-1300.(In Minnesota, call collect:612-736-9625.) Ask for theData Recording Products Division.

If it's worth remembering,

it's worth Scotch

Data Recording Products.

Circle 368 on inquiry card.

3M

BYTE April 1979 21

Photo 2: The serial inter-face board installed insidethe Apple II.

0300

A9

CE

LDA

#$CE

0302

8D

C1

CO

STA

$C0C1

0305

A9

27

LDA

#$27

0307

8D

C1

CO

STA

$C0C1

030A

20

58

FC

JSR

$FC58

030D

A9

60

LDA

#$60

030F

20

ED

FD

JSR

$FDED

0312

C6

24

DEC

$24

0314

AD

C1

CO

LDA

$C0C1

0317

29

02

AND

#$02

0319

F0

12

BEQ

$032D

031 B

A9

AO

LDA

#$A0

031 D

20

ED

FD

JSR

$FDED

0320

C6

24

DEC

$24

0322

AD

CO

CO

LDA

$C0C0

0325

09

80

ORA

#$80

0327

20

ED

FD

JSR

$FDED

032A

4C

OD

03

JMP

$030D

032D

2C

00

CO

BIT

$C000

0330

10

E2

BPL

$0314

0332

AD

00

CO

LDA

$C000

0335

8D

CO

CO

STA

$C0C0

0338

AD

10

CO

LDA

$C010

033B

4C

14

03

JMP

$0314

SET 8251 MODE (SEE 8251 DATASHEET)

SET 8251 COMMAND

CLEAR THE SCREEN AND HOME

GET CURSOR CHAR

PUT CURSOR ON SCREEN

BACKUP SCREEN INDEX TO OVERWRITE

CURSORCHECK 8251 STATUSMASK OFF RECEIVE READY BITBRANCH IF NOT READYGET A BLANKOVERWRITE THE CURSORBACKUP SCREEN INDEXGET CHAR FROM 8251SET BIT 7 HIGHPUT CHAR ON THE SCREENPUT UP NEXT CURSOR AND LOOPCHAR ENTERED ON KEYBOARD?BRANCH IF NOGET CHAR FROM KEYBOARDOUTPUT CHAR TO BE SENT BY 8251RESET KEYBOARDCHECK FOR NEXT CHAR

Listing I: Program in assembler language for the 6502 processor. This enablesthe Apple II to function as a full duplex terminal.

tween ground and +5 V. The +12 V and—12 V supply lines should also be decoupledto ground using 0.1 uF capacitors. Do notuse high value electrolytic capacitors, sincethis interferes with the Apple's switchingpower supply. The RS-232 input, output,and ground should go to a standard DB25connector.

Using the Interface

Listing 1 contains a program, enteredwith the Apple's assembler, that sets theApple up for use as a terminal. Data receivedfrom the input port is displayed on thescreen, and whatever is typed on the key-board is sent out the transmit line. This pro-gram operates the Apple as a full duplexterminal. In other words, there is no internallogical connection between the keyboardand the screen. The characters that are typed

Photo 3: The serial inter-face is used here to con-nect the Apple II to anIntel SDK-80 microcom-puter.

22 April 1979 © BYTE Publications Inc

Circle 74 on inquiry card.

COMPUtf THINK

You ve heard of our dual diskdrives, memory expansion, andother peripherals which also in-cludes software, i.e., Fortran,PLM, Basic complier, Source-Editor, Autolink, PagemateDatabase and a complete line ofbusiness applications.

COMPU/THINK manufacturescomplete small business sys-tems, for the professional pro-grammer, engineer and smallbusinessman. We offer completecustomer support includingmaintenance. If you're a smallbusinessman who is not aprogrammer or a programmerwho is interested in sophisti-cated products • at reasonableprices, call us the companywho thinks about its customer*!

For further information call orwrite:

Frank Price,•Director of Marketing

COMPU/THINK3260Alpine Road •Menlo Park, Calif. 94025• (415) 854-257?

Dealerjnquiries invited.

'COMPUTER SYSTEMS^FOR BUSINESS".

SERIAL INTERFACE

APPLE HBUS

DO [49>-

Dl [48

ID2 [47>-

D3 [46I4 [45I

05 Lf_4

ID6 [43>-

D7 [42

I

Qi>

AO [T>

I

I<t>l (38>-

I

TecT^I

7M f36>-

II+ I2V [50>-II

+ 5V [25>-

GND [26I

-I2V [|?>-

res rir>-

12V

I CI a

74LS04

^

+ 5V

27

28

13

DO

Dl

02

03

D4

05

06

07

RD

TXD

IC28251

CTS

TXCRXC

WR

C/D CLK CS RESET

20

,'0.1/iF

5VA

I W, •■

O.I/iFi I NEAREACH IC

CK

IC374LSI6I

CLEAR

P

LOAD

T

OC

I0.IU.F

•12V

ICIb74LS04

17

25

+ 5V

U

13

12V

CLK OUT

IC4MM5307-AA

A

B

C

D

RESET

IC51488

IC61489

RS-232(DB-25CONNECTOR)

I

I flP> TXD

I

l470pF

m

I5K T•—W,—I

|470pF

5V

A

2.2K(4)

I

II

-{T>RXD

1

I

-TT> GND

I

^o.

S4

rrr

Figure I: Schematic diagram for the serial interface.

Table I: Power wiringtable for figure I.

Number

IC1

Type

74LS04

+5 V

14

Gnd

7

-12 V

+12 V

IC2

8251

26

4

-

-

IC3

74LS161

16

8

-

-

IC4

MM5307-AA

4

-

12

-

IC5

1488

-

7

1

14

IC6

1489

14

7

-

24 April 1979©BYTE Publications Inc

Data Rate Selection

S4

S3

S2

S1

Data Rate (bps)

C

C

C

N

50

c

c

N

c

75

c

c

N

N

110

c

N

C

C

134.5

c

N

C

N

150

c

N

N

C

300

c

N

N

N

600

N

C

C

C

900

N

C

C

N

1200

N

c

N

C

1800

N

c

N

N

2400

N

N

C

C

3600

N

N

C

N

4800

N

N

N

C

7200

N

N

N

N

9600

C =

closed

N =

open (not closed)

8251 set for

^-16 mode

Table 2: Switch settings to select variousdata rates for this serial interface. A dualin line pin-type switch may be used.

appear on the screen only if the device youare communicating with echoes them backto you. With this program the board hascommunicated perfectly with an Intel singleboard computer at a data transmission rateof 600 bits per second.

Conclusion

Some experimenters have faced difficultyin attempting to interface the Apple II tosuch devices as the Motorola 6820 PIA (per-ipheral interface adapter). Most of the prob-lems stem from a 25 ns timing delay on thebus lines of the Apple. I advise erstwhileinterfacers not to become bogged down inthis sort of thing; there are too many newand useful integrated circuits available withwhich to work.

Not all highly programmable devices areas fussy about timing as are the standardsupport devices for the 6800 and 6502 pro-cessors. My design shows that other familiesof circuits may be utilized without muchtrouble. The design using the 8251 devicehas suffered no timing glitches such as theones that plague circuits using the 6820device.

The moral is to keep your eyes open todiscover new and versatile integrated cir-cuits and to experiment with them, what-ever processor you use. Signetics hasinvented an interface circuit, the 2651,which is similar to the 8251. The principaldifference is a built-in data rate generator.If I can obtain one, I know what my nextexperiment will be."

EPROMs out atthe touch of a finger.

After programming a 2708 or 2716 EPROM you won'tneed a screwdriver to pry it out of SSM's new PB1 boardequipped withTextool sockets. Just flip the lever and lift itout. And on the same board there are 4 sockets waiting for2708 or 2716 EPROMs that can be independently addressedto any 4k or 8k boundary above 8000 hex.Two boards in one.

PB1 has two separate programming circuits so 2708 or2716 (5v) type of EPROMs can be programmed withoutmodifying the board. Programming voltage is generatedon-board by a DC-DC converter; no need for an externalpower supply. Programming sockets are Dip Switchaddressable to any 4k boundary. And complete software isprovided for programming and verifying EPROMs.

With our Magic Mapping™ feature, unused EPROM socketsdon't take memory space, so you are never committed to thefull 4k or 8k of memory. The board can be configured for 0 to4 wait states. Use fast or slow EPROMs. All lines are buffered.

The PB1 kit is available at over 150 retail locations ordirectly from SSM for $139.95 (withTextool sockets) or$119.95 (without Textool sockets). All SSM kits are backedby a 90 day warranty. Assembled, one year warranty.

SSM manufactures a full line of S-100 boards, includingCPU, Video, I/O, RAM, EPROM, Music, Prototyping,Terminator, Extender and Mother boards. For completedetails just send for our new, free brochure.

PB12708/2716 Programmer &4k/8k EPROM Board

Textoolprogramming sockets

Programmingprotect switch v

LED indicatingprogramming mode

Programmingpower supply

EPROMaddressing switches

2116 Walsh Ave., Santa Clara, CA 95050(408)246-2707

We used to be Solid State Music. We still make the blue boards.

Circle 335 on inquiry card.

April 1979 © BYTE Publications Int

25

Simulating Physical Systems

The Two-Dimensional Ideal Gas

Mark ZimmermannCaltech 130-33Pasadena CA 91125

Computers are becoming increasingly val-uable in the sciences, for data reduction andanalysis and for the simulation of physicalsystems. With a machine to do the repeti-tious work, an astronomer can follow theorbits of hundreds or thousands of stars asthey are affected by their mutual gravita-tional fields and move to make a globularcluster or a spiral galaxy. A chemist can fol-low molecules in a liquid as they attractand repel and undergo chemical reactions. Aphysicist can watch the atoms of a gas mov-ing from a low entropy, highly ordered statetoward a more probable chaotic configura-tion, and can follow the random walk mo-tion of any specific particle as it suffers col-lisions with the rest of the gas.

How does one go about setting up a phys-ical simulation? It's necessary to deter-mine the most important laws that governthe system under investigation. A star

■ ■■■■

■ ■■■■■■■■■■■_'■■■■■■»■■■■ ■■■■■■■■■

IMIIIIIIIllllllLl

Photo I: Initial configuration for a run of the ideal gas model.

26 April 1979 © BYTE Publications Inc

cluster, for example, is controlled mainlyby Newton's law of gravitation. The nuclearreactions which power individual stars areinteresting, but probably not very importantto the structure of the cluster as a whole.(An exception might be a cluster of extremelymassive stars; such stars could run out offuel and blow up before there was time fortheir orbits to settle down.)

The first step in programming any phys-ical system is to cut away all the featuresexcept those which are crucial to it — inother words, to make a model. If the correcteffects and features have been included, themodel will act enough like the physicalsystem to be useful and accurate, and themodel will be small and simple enough to becomputable in a reasonable amount of timeand space.

Secondly, one must take the equationsthat govern the model and translate (andsometimes simplify) them into a formwhich a machine can handle. Today, onlya few very high-level systems (such asMACSYMA, REDUCE, SHEEP, andFORMAC) can handle abstract equationsand functions, and even these sophisticatedsystems can't do very much. Until peoplelearn how to explain the details of problemsolving mathematics better, most machinesare best at manipulation of discrete, finiteprecision numbers. So, if one wants tocompute the flight of a Frisbee, one needsto turn the continuous differential equationsfor its motions into discrete differenceequations. It's analogous to the way oneplots a diagonal line on a teletypewriter —the continuous line is broken up into adiscrete set of points that the printer thenapproximates as best it can. If the printercan type smaller, the approximation isbetter. Similarly, if the smooth equationsdescribing the Frisbee's flight are brokenup into tinier steps, then the approximatesolution the machine generates comescloser to the actual motion.

Finally, given the model of the physicalsystem to be simulated, and given a transla-tion of the equations controlling that modelinto a machine acceptable form, the rest iseasy: just write the program! Ah, if it wereonly so. To avoid gross errors and smallerbugs, it's best to write in a high-level lan-guage (BASIC, FORTRAN, Pascal, etc), butthen the resulting code usually runs unac-ceptably slowly. It seems to be a generalconsequence of Murphy's Law ("Anythingthat can go wrong, will!") that any physicalsystem interesting enough to be worthsimulating is too complex to be effectivelysimulated. So, compromises are alwaysnecessary. Astronomers try to simulategalaxies using a thousand point masses andan approximate force law, instead of usingthe actual ten billion stars with 1/r2 fields.Chemists settle for a few hundred moleculesin their "liquid," instead of 1023 or so. Allthey can do is hope that enough of themany-body collective effects show up fortheir too small models to be interesting, andthat the cost of computing comes downenough for them to simulate bigger systemsnext year. As calculations get cheaper, thatlast hope seems to be the best.

Another way to compromise between thehuman speed and efficiency of programmingin a high-level language, and the computerspeed and efficiency of programming inmachine language is obvious: do both, andproduce a hybrid program. The BASIC (orPascal, or whatever) program provides theframework and handles non-time-criticaltasks; it then calls machine language modulesto perform the innermost loops, the time-consuming parts of the program which aresimple enough to write accurately andrapidly in such a low-level language. As adevelopmental tool, this top-down approachis infinitely better than writing all machinelanguage code and then spending daysdebugging it. In fact, if the program can beentirely written in the high-level language

Photo 2: One time step later, particle number 0 has moved ten units to theright and is colliding with particle number 31 at X=10, Y=0.

Photo 3: A view of the simulation J 02 time steps after starting.

April 1979 © BYTE Publications Inc 27

Figure 7: 90 degree typecollision for two particleswith equal and oppositeinitial velocities.

to

and then run (slowly, perhaps) on small,special cases to test out the fundamentalequations, so much the better. The machinelanguage subroutines can then be writtenand substituted in only as necessary.

With this 3 step approach (model, trans-late, program), simulating physical systemsisn't necessarily easy, but it is systematicand can be interesting and educational.

Photo 4: A velocity distribution histogram after 102 steps. Note the energyerror (possibly due to roundoff and truncation error, or maybe I acciden-tally hit the G key). Energy error is worse at these low energies when mostparticles have only very small velocities.

Photo 5: Configuration for a high temperature gas with a total energy of1207 units.

The Ideal Gas

As an application of the above principles,I've programmed in BASIC and 6502 machinelanguage (on a Commodore PET) a simula-tion of an ideal gas — a gas made of pointlikeparticles that interact only by direct colli-sions. An actual gas, of course, is made ofmolecules or atoms which have size andinternal structure. The molecules may reactwhen they collide with sufficient energy,and they may influence each other (viaelectrical forces) even when they are quitefar apart. The gas may condense into a liquidor solid phase if its temperature is lowenough and its pressure high enough.

The model I made does not include thosefeatures. It doesn't even include the threedimensions in which the physical gas moves!For speed and simplicity, I restricted the gasparticles to move in two dimensions withinthe 50 by 80 cell "box" of the PET's videoscreen. The two-dimensional gas is interestingin itself, and it actually occurs, approxi-mately, when atoms get adsorbed on thesurface of some crystals. The adsorbedparticles are relatively free to move fromplace to place on the crystal surface, butthey are not free to leave the surface if thetemperature is low enough. (If this physicalsystem isn't exciting enough for you, youcan imagine that the program is simulating alarge number of balls on a billiard table, orperhaps hockey pucks sliding on ice.)

Several other features of the model Imade are important. I used only 256 gasparticles for two reasons: it made themachine language routines simpler, andmore particles would have filled up too largea fraction of the screen. As a general rule,the errors in simulating a random processshrink as 1/N/N, where N is the number ofobjects in the simulation. For example, ifa pollster asks 100 randomly chosen peoplefor their opinion on some issue, he or shetypically makes about 1 /\/100 = 10% errorsin estimating the general opinion based onthe finite sample. If the average number ofmolecules in one cubic centimeter of air is

Text continued on page 32.

28 April 1979 © BYTE Publications Inc

Graphics for small systemswere too expensive...

HIM

TM

Until Now

J digital plotters

The perfect small system output device

• Displays data in easy to read graphicalformat

• Both serial and parallel inputs built-in

• Uses standard 8V2" x 11" paper

• Plotting speed up to 2.4 ips

• Resolution of both 0.01 and 0.005 in.

• Baud rate and step size easily changed

• Completely assembled and ready to use

• Priced at $1085*

HIMEL

digitizers

The perfect small system input device

• Resolution and repeatability of 0.005 in.

• Origin is completely relocatable

• RS232C and 8 bit parallel interface se-lectable at the connector

• Accuracies of ±0.015 in. (0.4mm)

• Optional LC display shows

actual values being inputted

• Digitizing surface 11" x 11"

• Priced at $795*

I 33/01 -I HS50I

1

(Optional LC display)

'>

./

•U.S. Domestic Price Only

TM Trademark of Houston Instrument

For rush literature requests

or local sales office information only,

persons outside Texas call toll free 1-800-531-5205.

Houston

instrument

ONE HOUSTON SQUARE(512)837-2820

"the graphics - recorder company"

DIVISION OF BAUSCH & LOMB ®

AUSTIN, TEXAS 78753TWX 910-881-2022

miDrtDCAM nccirc Rochesterlaan 6 8240 Gistel BelgiumEUROPEAN Ur-r-IL-E Phone 059/277445 Telex Bausch 81399

Circle 176 on inquiry card.

BYTE April 1979 29

DOUBLE DENSITY

£

I

SAVING

Now you can put your S-100 system solidly intoa full-size, single/double density, 600K bytes/sidedisk memory for just $1149 complete.

DISCUS/2D™ single/double density diskmemory from Thinker Toys™ is fully equipped, fullyassembled, and fully guaranteed to perform perfectly.

DISCUS/2D™ is a second generation diskmemory system that's compatible with the new IBMSystem 34 format. The disk drive is a full-size Shugart800R,the standard of reliability and performance indisk drives. It's delivered in a handsome cabinet withbuilt-in power supply.

The S-100 controller utilizes the amazing WesternDigital 1791 dual-density controller chip... pluspower-on jump circuitry, 1K of RAM, 1K of ROM withbuilt-in monitor, and a hardware UART to make I/Ointerfacing asnap.

The DISCUS/2D™ system is fully integrated withinnovations by designer/inventor George Morrow.Software includes BASIC-V™ virtual disk BASIC,

DOS, and DISK-ATE™ assembler/editor. Patches forCP/M* are also included. CP/M? Microsoft DiskBASIC and FORTRAN are also available at extra cost.

DISCUS/2D™ is the really solid single/doubledensity disk system you've been waiting for. We candeliver it now for just $1149. And for just $795 apiece,you can add up to 3 additional Shugart drives to yoursystem. Both the hardware and software are readywhen you are.

Ask your local computer store to order theDISCUS/2D™ for you. Or, if unavailable locally, writeThinker Toys™ 1201 10th St., Berkeley CA 94710.Or call (415) 524-2101 weekdays, 10-5 Pacific Time.(FOB Berkeley. Cal. res. add tax.)

*CP/M is a trademark of Digital Research.

CS)Morrow makes disk memory for

Thinker Toys

ASK FOR THINKER TOY1"1 PRODUCTS AT YOUR LOCAL DEALER NOW

ALABAMA

Jack Robertson & AssociatesComputer Store586 Shade Crest RoadBirmingham, AL 35226(2051 328-9890

ALASKA

Computer Cache529 I StreetAnchorage, AK 99510(9071277-7914

ARIZONA

•Computerland-PhoenixBiltmore Plaza3160E.Camelback

Phoenix, AZ 85016(6021956-5727

ARKANSAS

MicrosystemsRoute 1. Box 765Rogers. AR 72756

CALIFORNIA

Advanced Computer Products, Inc.1310 East EdingerSanta Ana. CA 92705(7141558-8813

Bingham ElectronicslOOVallecitos WayLos Gatos. CA 95030(4081395-0010

Byte Shop-Berkeley(Computer Center)1514 University AvenueBerkeley. CA 94703(415(845-6366

Byte Shop-Hayward

1122 "B" StreetHayward.CA 94541(415)537-2983

Byte Shop-Lawndale16508 Hawthorne Blvd.Lawndale.CA 90260(213)371-2421

Byte of Palo Alto-I2233 El Camino RealPalo Alto. CA 94306[4151327-8080

Byte of San Diego

8038 Clairement Mesa Blvd,

San Diego, CA 92111

(714)565-8008

Byte of Palo Alto-ll

475 Sacramento

San Francisco. CA 94111

(415)434-2983

Byte Shop-San Rafael

509 "B" Francisco Blvd

San Rafael. CA 94901

(415)457-9311

Byte Shop-Santa Clara

3400 El Camino Real

Santa Clara. CA 95051

(408)249-4221

Computer Center. Inc.

4014 Geary Blvd.

San Francisco. CA 94118

(415)387-2513

Computer Components5848 Sepulveda Blvd.Van Nuys. CA 91411(213)786-7411

'Computerland. Inc.

14400 Catalina Street

San Leandro. CA 94577

(415)895-9363*Compuferland-EI Cerrito

11074 San Pablo Avenue

El Cerrito. CA 94530

(415)233-5010"Computerland-San Francisco

117 Fremont Street

San Francisco, CA 94105

(415)546-1592

Data Machines. Inc.

1228 Folsom Street

San Francisco, CA 94103

(415)864-7200

Digital Deli Computer Store

BOW. El Camino Real

Mt. View, CA 94040

(415)961-2670

Electronics Enterprises

Rio Linda, CA 95673

(916)991-2010

ICE House Inc

398 N.E. Street

P.O. Box 336

San Bernardino, CA 92401

(714)888-3690

Integrated Computer Systems

3304 Pico Blvd.

Santa Monica. CA 90405

(213)450-2060

Khalsa Computer Systems500 So. Lake AvenuePasadena, CA91101(213)684-3311

Logic Systems

571 7 Bryce Canyon Place

Sacramento, CA 95842

(916)331-7176

ACC

505 Cypress Point Drive

Mt View. CA 94043

(415)969-4969

Max Computing Systems

7417 Winding Way

Fair Oaks, CA 95628

(916)961-5817

Micro-Sun Computer Center(Formerly Byte-Walnut Creek)2989 North MainWalnut Creek, CA 94596(415)933-6252

Omega Enterprises921 N. La Jolla AvenueHollywood. CA 90046(213)654-2214(213)656-7368

PC. Computers

10166 San Pablo Avenue

El Cerrito, CA 94530

(415)527-6657

Pilgrim Computer Products

1444 Pioneer Way

El Cajon.CA 92020

(714)278-8764

Redding Computer Service

610 W. Cypress Avenue

Redding, CA 96001

(916)246-1170

COLORADO

Computer Technology6311 Federal Blvd.Denver. CO 80221(303)427-4438

CONNECTICUT

R & R Computer Store

130 Jefferson Avenue

New London. CT 06320

(203)447-1079

FLORIDA

Byte Shop-Ft. Lauderdale1044 E. Oakland Park Blvd.Ft. Lauderdale. FL 33334(3051561-BYTE

Byte Shop7825 Bird RoadMiami. FL 33155(305) 264-BYTE

Computer Center of the

Palm Beaches2827 Exchange CourtWest Palm Beach, FL 33409(305) 689-3233

Digital Design Center601 Golden Harbour DriveBoca Raton. FL 33432(305) 994-4826Microcomputer Systems, Inc.144S. Dale MabryTampa, FL 33609(813)879-4225

GEORGIA

Micro Business Systems103 Commerical AvenueCarrollton.GA30117(404) 834-7705

HAWAII

Mahalo Microsystems LtdP.O. Box 8523Honolulu, HI 96815(808)922-2152

ILLINOIS

Bies Systems

(Formerly-The Computer Store)7037 W. North AvenueOak Park, IL 60302(312)386-3323"Computerland-Peoria4507 N. SterlingPeoria, IL 61614(309) 688-6252Computer Station3659 Nameoki RoadGranite City, IL 62040(618)452-1860

lllini Microcomputers612 E. Ogden AvenueNaperville. IL 60540(312)420-8813Lillipute Computer Mart. Inc.4446 Oakton StreetSkokie. IL 60076(312)674-1383

INDIANA

Audiospecialists401 North MichiganSouth Bend. IN 46601(219)234-5001

KANSAS

Computer Center (Byte Shop #61)5815 Johnson DriveMission, KS 66202(913J432-BYTE

MARYLAND

'Compute rland-Rockville16065 Frederick Rd. (Rt. 355)Rockville, MD 20855(301)948-7676

MASSACHUSETTSComputer Mart. Inc1395 Main StreetWaltham, MA 02154(617)899-4540Computer Shop-Cambridge288 Norfolk StreetCambridge. MA 02139(617)247-0700

MICHIGANThe Abacus

Rt. 1; Box 193. US-31Berrien Springs, Ml 49103(616)429-3034•Compulerland-Soulhfield29673 Northwestern HighwaySouthfield. Ml 48034(313)356-8111

Computer Mart-Royal Oak1800 W. 14 Mile RoadRoyal Oak, Ml 48073(313)576-0900

Micro Computer World

313 Michigan NEGrand Rapids, Ml 49503(616)451-8972

Neal and Associates4215 Shetland DriveAnn Arbor. Ml 48104(313)973-0979Tn-Cities Computer Marl3145 ShattuckSaginaw, Ml 48602(517)790-1360

MINNESOTAMicroprogramming, Inc1351 Larc Industrial BlvdBurnsville.MN 55337(612)894-3510

NEBRASKA

Omaha Computer Store4540 S 84th StreetOmaha, NE 68127

(402)592-3590

NEVADA

Byte-Reno (Cyber Sense. Inc )4104 S Kietzke LaneReno, NV 89509(702)826-8080

NEW HAMPSHIRE

•Compuleriand-Nashua419 Amherst StreetNashua, NH 03060(603) 889-5233

Microcomputers. Inc.36 Otterson StreetNashua, NH 03060(603)889-1646

NEW JERSEY

Applied Computer Research

Systems445 Brick Blvd.Bricktown. NJ 08723(201)477-4222Atlantic Microsystems82 Maryknoll RoadMetuchen. NJ 08840(201)549-0189The Computer EmporiumAvenues of Commerce/Bldg 1032428 Route 38Cherry Hill, NJ 08002(609)667-7555

S-100. Inc.

7 White Place

Clark. NJ 07066

(201)382-1318

NEW YORK

Byte Shop-New York

130 E. 40th Street

New York, NY 10016

(212)889-4204

The Computer Corner. Inc.White Plains Mall200 Hamilton AvenueWhite Plains. NY 10601(914) WHY-DATAComputer EnterprisesP.O. Box 71

Fayetteville. NY 13066(315)637-6208

Computer Marl-New York, Inc.118 Madison AvenueNew York, NY 10016(212)686-7923Computer Microsystems1311 Northern Blvd.Manhasset.NY 11030(516)627-3640

Computer Shop of Syracuse, Inc.3470 Erie Blvd. EastDewitt. NY 13214(315)446-1284

Home Computer Center671 Monroe Avenue

Rochester. NY 14607

(716)244-6237

Long Island Computer

General Store103 Atlantic AvenueLynbrook, NY 11563(516)887-1500

Micro World Computer Store435 Main StreetJohnson City, NY 13790(607) 798-9800Mini Micro Mart, Inc.1618 James StreetSyracuse, NY 13202(315)422-4467

NORTH CAROLINA

Fulureworld

2514 University Drive

Durham. NC 27707

(919)489-7486

OHIO

Byte Shop-Ohio

19524 Center Ridge Road

Rocky River, OH 44116

(216)333-3261

■Computerland-Cleveland

1288 Som Center Road

Cleveland, OH 44124

(216)461-1200

OKLAHOMA

Microliihics, Inc.

2918 N.MacArthur Blvd.

Oklahoma City. OK 73127

(405)947-5646

OREGON

Byte Shop-Beaverton3482 S.W.Cedar Hills Blvd.Beaverton.OR 97005(503)644-2686

PENNSYLVANIA

Byte of Pennsylvania1045 Lancaster AvenueBryn Mawr, PA 19010(215)525-7712Marketline Systems. Inc.2337 Philmont AvenueHuntingdon Valley, PA 19006(800) 523-5355

SOUTH CAROLINA

Byte Shop #321920 Blossom StreetP.O. Box 5144Columbia. SC 29205(803)771-7824

TEXAS

East Texas Computers305 Clemson DriveTyler, TX 75703(214)561-2635(214)561-1648

Microbyte-Abacus

2218 CrawfordHouston, TX 77002(713)757-1128Micro Mike's905 BuchananAmarillc.TX 79101(806) 372-3633

Neighborhood Computer Store4902 34th Street #20Lubbock, TX 79410(806)797-1468UTAH

Byte of Salt Lake City261 South StateSalt Lake City. UT84111(801)355-1041 ''Computerland of Salt Lake City161 E.2nd SouthSalt Lake City. UT84111(801)364-4416

VIRGINIA

'Computerland of Tysons Corner8411 Old Courthouse RoadVienna. VA 22180(703)893-0424

The Computer Place

2718 Colonial Avenue SWRoanoke. VA 24015(703)982-3661

The Computer Systems Store1984 Chain Bridge RoadMcLean, VA 22102(703)821-8333

Redi-PGMS7916 Westpark DriveMcLean, VA 22102(703)893-7200WASHINGTON•Compute rland/SKC1500 South 336th StreetFederal Way, WA 98003(206)927-8585(206) 838-9363

Personal Computers. Inc

South 104 FreyaSpokane, WA 99202(509) 534-3955

WISCONSIN

Lancer Electronics. Inc.2700 S Chicago AvenueSo. Milwaukee. Wl 53172

(414) 762-6500

AUSTRALIA

Automation Statham Pty.Ltd.47 Birch StreetBankstown. NSW 2200(02)709-4144

BELGIUM

Pulsion

Avenue Albert Mahiels. 13/081

B-4020

Liege

CANADA

The Byte Shop-Vancouver

2151 Burrard Street

Vancouver. B.C. V6J 3H7

(604)736-0511

Compumart

411 Roosevelt Avenue

Ottawa. Ontario K2A 3X9

(613)725-3192

Custom Computing Systems, Inc.

204 2nd Avenue N

Saskatoon. Sask. S7K 2B5

(306)242-7808

Home Computer Center

6101 Yonge Street

Willowdale, Ontario M2M 3W2

(416)222-1165

Orthon Computer Company

12411 Stony Plain Road

Edmonton, Alberta T5N 3N3

(403)488-2921

Pacific Computer Store4509 Rupert StreetVancouver. B.C. V5R 2J4(604)438-3282

TJB Microsystems. Ltd.10991 124th StreetEdmonton. Alberta T5M 0H9(403)455-5298Trintronics, Ltd.186 Queen Street WToronto. Ontario H5V 1Z1(416)598-0260

ENGLAND

AEM Systems Ltd

12A London Street

Southport. England

(0704)79761

Interam Computer Systems Lid

59 Moreton Street

Victoria. London S.W.1

01-834 0261/2733

GERMANY

Compute rshop •GMBHD-7800 Freiburg Im BreisgauAdelhauserstrasse 29

West Germany

JAPAN

Super Brain1-15-16 SopokandaChiyoda-Ku. Tokyo

MEXICO

I.T.E.S.O.

1342-8 Ninos Heroes

Guadalajara

SINGAPORE

Og Departmental Store

100 Upper Cross Street

Singapore 1

917788

Sys-Tech Pte Ltd

556B Rochor Centre

Rochor Road. Singapore 7

2927645

9

ThinkerToys

'Thinker Toy' M Products may bepurchased from all Computerland™stores worldwide

Circle 255 on inquiry card.

BYTE April 1979 31

Decimal Memory Address

5632 thru 5799

5800 thru 6036

63996655691171677423767979358191

6144 thru6400 thru6656 thru6912 thru7168 thru7424 thru7680 thru7936 thru10

11 thru 25

26,2728

29,3031,326050 thru 6074

6075 thru 6099

6100 thru 6114

5632 thru 56545655 thru 56605661 thru 56795680 thru 56855686 thru 5689

5690 thru5727 thru5747 thru5780 thru5800 thru5810 thru

572657465779579958095824

5825 thru 5848

5849 thru 5866

5867 thru 58825883 thru 58865887 thru 6036

6037 thru 6049

Contents Or Function

Move particles one step forward in time,bouncing off walls as necessary.Plot particles on screen, colliding oneswhich fall in same cell on the 50 by 80 grid.High bytes of X coordinates.Low bytes of X coordinates.High bytes of Y coordinates.Low bytes of Y coordinates.High bytes of VX velocities.Low bytes of VX velocities.High bytes of VY velocities.Low bytes of VY velocities.Current screen character at location tobe plotted.

Table of PET % graphics symbols; translatesto and from "binary graphics symbols."Low, high bytes of current screen address."Binary graphics symbol" to be put ontocurrent location (1, 2, 4, or 8).High, low bytes of M=(A+B+C+D)/2.High, low bytes of TEMP=M-B.Low bytes of table of left ends of screenlines.

High bytes of table of left ends of screenlines.

Table of graphics symbols, in order definedto be 1, 2, 3, 4, . . . , 15 in "binary graphicssymbols."Move X coordinate.Check to see if in box; fix if not.Move Y coordinate.Check to see if in box; fix if not.Increment counter; do next particle if notdone.

Fix if gone off left edge.Fix if gone off right edge.Fix if gone off bottom.Fix if gone off top.Transfer table to page 0 of memory.Put address of screen left edge of line to beplotted into 26,27.

Put "binary graphics symbol" to be plottedinto 28, and add location in line to beplotted to 26,27.

Find current graphics symbol which occu-pies space to be plotted in; look up in tableand translate to "binary graphics symbol."Plot particle if space to which it goes isn'talready occupied.

Increment counter and go back to 5810 ifnot through.

A collision has occurred! Scan back to seewhich particle has collided with the oneabout to be plotted, and fix their velocities,as in text.This space intentionally left blank.

Table 7." Comments on Gas machine language modules given in listing 2,

Photo 6: Velocity histogram for the high temperature gas shown in photo 5.

Text continued from page 28:

3X 1019, then the fractional fluctuation inthis number is about 1/^3 X 1019=»0.2parts per billion — small, but measurable.(The human ear is sensitive enough to barelyhear these fluctuations — try it, if you canfind a quiet enough place!) So, the errorsthat the 256 particle gas model will tend tomake are of the order of 1 /\l256 ~ 6% — notterribly bad.

A second important feature of my modelis the way it handles collisions. Time isbroken into steps, and two particles whichend a timestep in the same cell are consideredto collide. It would be far more complicatedto calculate distances between particles asthey move and to declare a collision only iftheir center-to-center distance fell below acertain limit. It also turns out not to mattermuch, as far as the final equilibrium state ofthe gas is concerned. Actual collisions aresometimes grazing, sometimes head-on, andgenerally everywhere in between, dependingon the details of the interactions betweenthe molecules and their impact parameters.None of that really matters for our purposes.

The important feature of all collisions ingasses is that the collisions always conserveenergy and momentum. Energy is justkinetic energy for pointlike particles: Vimv .To simplify the arithmetic, I let all of mygas particles have mass m = 2, so their ener-gies are just the squares of their velocities.In two dimensions, velocity has componentsalong the X and Y axes; call them VX andVY. The momentum of a particle is just itsmass times its velocity. Momentum thus hasX and Y components, each of which mustseparately be conserved, that is, remain con-stant during a collision.

To be specific, suppose that VX and VYare arrays, and that particles numbered 1and 2 are colliding. If arrays WX and WY areused to hold their velocities after the colli-sion, then conservation of energy says that(total energy after)=(total energy before),that is, WX(1)2+WY(1)2+WX(2)2+WY(2)2=VX(1)2+VY(1)2+VX(2)2+VY(2)2. Conser-vation of X momentum says that WX(1)+WX(2)=VX(1)+VX(2), and conserving Ymomentum implies that WY(1)+WY(2)=VY(1)+VY(2).

Now, if the velocities before the col-lision are known, then there are four ve-locities afterwards to solve for: WX(1),WY(1), WX(2), and WY(2). Three equationsare not enough information to solve for fourunknowns. The missing equation containsthe details of the collision — whether it ishead-on or glancing or what. One mightwrite out this fourth equation (it's done inmost freshman physics textbooks) in terms

32 April 1979 © BYTE Publications Inc

£!™?WQRLD

TOLL-FREE

1-800-528-1418

LOWEST PRICES . FAST DELIVERY . DEPENDABLE SERVICE

DOUBLE DENSITY HORIZON I KIT

double the storage at the same price!

Today's best buy. 180K bytes per disk.The chosen computer tor two MicroWorldsystems . . . Autoscribe — The PaperworkManager- and Bookkeeper — The OfficeAccountant-. Single density still runs onyour new Horizon, or you can copy andconvert all North Star software and programs to double density.

• exclusive application software

• add'! 16K memory (kit), $349

• add'l disk drive (kit), $349

NEW!

Call for low assembled prices. Doubledensity also available on North Star disksub-system, $599 kit.

MICROPOLISDISK DRIVEFOR TRS-80

oV-

<PrP.

>ZSk

i>r %

HEATH DATASYSTEMS PRINTER

MicroWorld Specials

Integral Data Printer $749

Add for Tractors $ 150

Mime Terminal $742

Hazeltine 1410 Terminal . $ 765Hazeltine 1500 Terminal . $1097Teletype Model 43

Printer $1019

Dataproducts M-200

Printer $2921

Vector Graphics MZ $3225

Exidy 16K Sorcerer $1035

Data General

microNOVA $CALL

Qume Sprint 5 RO

Printer (55cps) $2895

DEC LS 120 Printer .... $CALLCentronics 779 Printer

(incl. tractors) $1095

Micropolis 1042 Mod

I Drive $CALL

Tl 59 Calculator $ 219

Novation CAT Modem .. $ 199

Tl 820 Terminal $2199

North Star Horizon

Software $CALL

Dataproducts B-300

Printer $5346

IPSI 1620 Diablo RO .... $2705

Hitachi 9" Monitor $184

Cromemco System III ... $5299Imsai VDP-80 $CALL

EWORLD

Bringing information technology to your doorstep1425 W. 12th PI. • Tempe, AZ 85281 • 602-894-1193

Circle 232 on inquiry card.

VISA | No extra charge for credit card orders

Freight collect, F.O.B. TempeNo other handling charges

Formerly Byte Shop Mail Order

CALL TOLL-FREE 1-800-528-1418

Listing 1: BASIC program for the PET which simulates an ideal gas. Thisprogram uses the assembly language modules shown in listing 2. The notationused in this listing is described in table 3.

1

101520

3035

404550

60

708082

84

869095100105110115

117120130140150160180190200300350400420450480500520540550

560600610620630640650670

700720740760780

785790

795

800810815

820825

83084084585086010001020

1100

REM POKE 135,22 FOR SAFETY!! (KEEP BASIC BOUNDED)REM GAS COPYRIGHT 1978 MARK ZIMMERMANNREM GRAPHICS SYMBOLS FOR PLOTS IN DATA STATEMENTSDATA 100, 111, 121,98, 248,247, 227, 160, 101, 116, 117,97,246, 234,231, 160

DIM UP(7),RI(7), VY(20),VX(20): FOR l=0 TO 7: READ UP(I): NEXTIREM UP ARRAY IS FOR UPWARD GRAPH, Rl FOR RIGHTWARD; VY & VXHOLD VELOCITIESFOR 1=0 TO 7: READ R 1(1): NEXTIREM SC$ DRAWS THE AXES FOR THE GRAPHS

SC$="c/s 10-IM \bd \bd \bd \bdbbJbd \bd \bd \bd \bdbOJbd \bd \bd\bd \bdbb-5J"SC$=SC$+"/jrf \bd \bd \bd \bdbbb-\QJbd \rrrrrrrrd--\0 ubbl ]bd-5bu

"TMOiTn"

SC$=SC$+" bdbu Vbbd} Ohome"

REM MEMORY ALLOCATIONS: 6144-6399, HI BYTES OF X COORDINATES

REM 6400-6655, LO BYTES OF X; 6656-6911, HI BYTES OF Y

REM 6912-7167, LO BYTES OF Y; 7168-7423, HI BYTES OF VX; 7424-7679,

LO VX

REM 7680-7935, HI BYTES OF VY; 7936-8191, LO BYTES OF VY

PRINT "HIT 'R'TO RESETTIMER"

PRINT" 'S'TO MOVE SLOWER"

PRINT " 'F' FOR FASTER"

PRINT" 'G'TO GOOSE PARTICLE #0"

PRINT "AND ANY OTHER KEY TO PLOT VELOCITIES"

REM 120-140 FILL THE VELOCITIES WITH ZEROES AND THE LO BYTES

OF POSITIONS

REM TO CENTER THE PARTICLES IN THEIR RESPECTIVE SQUARES

FOR l=0TO 255

POKE 7168+1,0: POKE 7424+1,0: POKE 7680+1,0: POKE 7936+1,0

POKE 6400+1,128: POKE 6912+1,1 28: NEXTI

REM ARRANGE PARTICLES NICELY HERE

FOR l=0 TO 39: FOR J=0 TO 5

POKE 6144+I*6+J,2*I: POKE 6656+l*6+J,2*J:NEXT J: NEXTI

REM USE UP ALL PARTICLES!

FOR 1=240 TO 255: POKE 6144+1,2*11-240): POKE 6656+1,20: NEXTI

DE=30: REM PRELIMINARY TIME DELAY

SYSI5632): REM MOVE ONE TIMESTEP

PRINT "c/s";:N=N+1:REM CLEAR SCREEN; N COUNTSTIME

SYS(5800):REM PLOT & COLLIDE THEM!

PRINT N:T=TI

X0=INT(PEEK(6144)/2):Y0=INT(PEEK(6656)/2): POKE 33728+X0-4O*Y0,

42:REM MARK #0

IF (Tl-T) < DE GOTO 560: REM DELAY

GETA$: IF A$="" GOTO 400

':N=0:GOTO400:DE=2*DE: GOTO 400': POKE 7168,10: GOTO 400:DE=DE/2: GOTO 400

IF A$="R"THEN A$='"

IF A$="S"THEN A$=""

IF A$="G"THEN A$='"

IF A$="F" THEN A$='"

A$="":E=0:PRINTSC$

FORI=0TO20: VX(l)=0: VY(l)=0: NEXTI: REM CLEAR

ACCUMULATORS

FORI=0TO255: HX=PEEK(7168+I): HY=PEEK(7680+I): LX=PEEK(7424+I)

LY=PEEK(7936+I): REM CALCULATE VELOCITIES, ADJUST IF NEGATIVE

IF HX > 127 THEN HX=HX-255: LX=LX-256

IF HY > 127 THEN HY=HY-255: LY=LY-256

VX=HX+LX/256: VY=HY+LY/256: E=VX*VX+VY*VY+E: REM ADD UP

ENERGY

::::::: :REM NOW COMES PLOTTING: :::::::

VX=INT(VX): VY=INT(VY): IF(VX > 10)OR(VX <-10) THEN VX=

SGN(VX)*10

REM LIMITS PLOTSTO BETWEEN -1 0 & 10

IF (VY > 10) OR (VY < -10) THEN V Y=SGN(V Y) *10

VX=VX+10:VY=VY+10

REM ACCUMULATE COUNTS IN VX & VY ARRAYS; SCALARS VX & VY

ARE DIFFERENT!!

VX(VX)=VX(VX)+1 : VY(VY)=VY(VY)+1: AX=33582+VX-40*INT(VX(VX)/8)

REM CALCULATE AX AND AY, ADDRESSES FOR PLOT OF A GIVEN VX

AND VX(VX), ETC.

AY=33572-40*VY+INT(VY(VY)/8)

CX=UP(VX(VX)-8*INT(VX(VX)/8)l: CY=RI(VY(VY)-8*INT(VY(VY)/8))

REM CX & CY ARE GRAPHICS CHARACTERS USED FOR SOME VX OR VY

POKE AX.CX: POKE AY,CY

NEXT I

PRINT TAB(10);"ENERGY=";E

GET A$: IF A$="" GOTO 1020: REM WAIT UNTIL DONE LOOKING AT

GRAPHS

GOTO 400

of the scattering angle, and then use thedetails of the particles' positions to choosethat angle, but that would involve calcu-lating sines and cosines of the angle, and it'sunnecessarily slow and complicated (espe-cially to program in machine language).Instead, I chose one special type of colli-sion, which enabled WX(1), WX(2), WY(1),and WY(2) to be calculated using only addi-tion, subtraction, and division by 2. (Ican program those!) This special collisionscatters two particles by 90 degrees, if theyapproach each other with opposite ve-locities, as shown in figure 1. The resultingequations for the velocities after the colli-sion are simple. Let M=(VX(1)+VY(1)+VX(2)+VY(2))/2. Then WX(1)=M-VY(1),WY(1)=M-VX(2), WX(2)=M-VY(2), andWY(2)=M-VX(1). It's an exercise in ele-mentary algebra to see that these values forthe velocities after the collision conserveenergy and momentum.

So that's the specific model: a two-di-mensional gas made of 256 particles on a 50by 80 grid, which make 90 degree type colli-sions whenever two fall in the same cell.Now for step 2: make the equations ofmotion computable. The equation thatgoverns the particles' positions betweencollisions is, in words, that the time-rate-of-change of the position is the velocity; thevelocity is constant. It's the simplest differ-ential equation imaginable, and the solutionis also simple: particles move in straight linesat constant speed between collisions. But ina machine, nothing moves continuously.It's rather like Zeno's Paradox: if you lookat an arrow in flight, at some moment it cer-tainly is where it is, not somewhere else -it's at a definite location, not smeared out orblurred. So, how can the arrow move? Zenocouldn't answer this (or chose not to), butlater mathematicians (Newton, Leibnitz, andothers) did. Their answer involves looking atthe motion as a series of tiny discrete jumps.The computer can do that too. If a particleis at position X,Y at one moment, and hasvelocity VX, VY, then a time T later it willbe at X+TXVX, Y+TXVY. When I wrotethe original (high-level language) version ofthis simulation, I used precisely these "time-step" formulae; in the machine languageversion, I set T = 1 for simplicity. I alsochose a specific precision arithmetic: twobytes for each number, in 2's complementnotation, with the decimal point (it's reallya binary point!) between the two bytes. Thehigh byte (to the left of the point) gives anumber that can be directly plotted on thescreen; the low byte keeps several decimalplaces of accuracy and holds down roundoff

Text continued on page 38.

34 April 1979 © BYTE Publications Inc

A BeautifulWay To Iuterface

IQ140

tB^H

SOROC's firstand foremostconcern, todesign outstandingremote video displays, hairesulted in the developmentof the IQ 140. This unitreflects exquisite appearanceand performance capabilitiesunequaled by others on the market.

With the IQ 140, the operator

is given full command over data

being processed by means of a wide variety

of edit, video, and mode control keys, etc.

The detachable keyboard, with its

complement of 117 keys, is logically

arranged into 6 sections plus main keyboard

to aid in the overall convenience of operation.

For example, a group of 8 keys for cursor control /

14 keys accommodate numeric entry /16 special function keys

allow access to 32 pre-programmed commands / 8 keys make

up the extensive edit and clear section / 8 keys for video set

up and mode control / and 8 keys control message and print.

Two Polling options available: 1) Polling compatible with LearSiegler's ADM-2. 2) Polling discipline compatible with Burroughs.

120

\ The SOROC

IQ 120 is the resultof an industry-wide demandfor a capableremote videodisplay terminalwhich provides amultiple of featuresat a low affordable price.The IQ 120 terminal is a simpleself-contained, operator / computer unit.

The IQ 120 offers such features as: 1920 character

screen memory, lower case. RS232C extension,

switch selectable transmission rates from 75 to

19,200 bps, cursor control, addressable cursor, erase

functions and protect mode. Expansion options presently

available are: block mode and hard copy capability with

printer interface. The IQ 120 terminal incorporates a 12-inch,

CRT formatted to display 24 lines with 80 characters per line.

Circle 330 on inquiry card.

1G5 FREEDOM AVE., ANAHEIM, CALIF. 92B01

(7141993-2860 / (BOO) B54-0147

There's an Ohio Scientific dealer near you.

ALABAMA

Plainsman Micro Systems

3808 Pepperill Parkway

Of lice #1

Auburn, AL 38830

(205) 821-1694

M.C.S. Corp.

Pelham Mall

Pelham, AL 35124

(205)663-1287

ALASKA

Alert T.V.

6122 Seward Highway

Anchorage, AK 99502

(907)344-9311

Scientific Business Instr's

BOO E. Diamond Blvd. Ste. 140

Anchorage, AK 99502

(907) 344-8352

The Computer Shop

15 N. Central

Colorado City, AZ 86021

(602) 875-2451

D.C.T Co.

1210 W. Alameda W103

Tempe. AZ 85282

(602) 966 6440

ARKANSAS

Computerland of Little Rock

11121 Rodney Parham

Little Rock, Afl 72212

(501)224-4508

Anaheim Computer Equipment

2974 W. Ball Rd.

Anaheim, CA 92804

(714) 827-9570

Shuey Aircraft

1009 E. Vermont

Anaheim, CA 92805

(714)991-3940

Professional Services

139 S. Beverly.

Beverly Hills. CA 90212

(213) 550-1560

Tri Source Corp.

1660 Rollins

Burllngame. CA 9O014

(415)692-5416

IS Audio-Visual Services

10000 HannaSt.

Chalsworth. CA 91311

(213)998-2059

Silver Spur Eleclronics

Communications

13552 Cenlral Ave.

Chino. CA 91710

(714)627-9366

Alternative Computer Systems

216 Full Circle

Davis, CA 95616

(916) 758-5364

Advenlures in Computing

8756 Warner

Founlain Valley. CA 92706

(714)848-8388

Ohio Scienlilic West

15461 Chemical Lane

Huntington Beach, CA 92649

(714)891-2457

Consumer Computers

8907-A La Mesa Blvd.

La Mesa, CA 92041

(714)465-8888

Computers-Are-Fun

2268 Westwood Blvd.

Los Angeles. CA 90064

(213) 475-0566

Data Products Mgmt.

128 N. Garfield

Monterey Park, CA 91754

(213)573-5991

A.J.M. Enterprises

P.O. Box 1396

Rldgecresl. CA 93555

(714)975-8638

Microlech Exports

9l2CowperSt.

Palo Alto. CA 94301

(415)3281712

The Computer Center

8205 Ronson

San Diego, CA 92111

(714)292-5302

Olson Eleclronics

Kearny Mesa, 4840 Convoy

San Diego, CA 92111

(714)292-1100

B. L. M. Syslems Inc.

One Ecker

San Francisco, CA 94105

(415)546-1797

Systems Engineering

900 3rd Slreel

San Francisco. CA 94107

(415)777-3150

Tech Service

1200Tayler#6

San Francisco. CA 94108

(415)771-5061

A, A. Office Equipment

15296 E. 14th SI.

P. O. Box 3221

San Leandro. CA 94578

(415)357-1737

Kirco Corp,

P.O. Box 396

Sierra Madre, CA 91024

(213)355-0720

COLORADO

Pulse Technology

5074 Gallatin Place

Boulder. CO 80303

(303) 444-3652

Slleo Elelronics Co.

381 S. Broadway

Denver, CO 80209

(303) 777-3222

Tricomp Computer Country

3489 W. 72nd Ave., Suite 101

Denver, CO 80030

(303) 426-7743

Computer Shop

835 Main H206

Durango. CO 81301

(303)247-5905

Byte Shop. Inc.

3463 South Acoma

Englewood. CO 80110

(303)761-6232

Tolal Data Systems

125 Fairway Lane

Fort Collins, CO 80521

(303) 491-5692

CONNECTICUT

R & R Computer Sales

130 Jefferson Ave.

New London, CT 06320

(203) 447-1079

DISTRICT OF COLUMBIA

American Data HomeOflice

Computer

1030 15th Street

Washington, D.C. 20005

(202)466-6612

Newtronics

1647 Lemont N.W.

Washington. D.C. 20034

(202) 234-6646

FLORIDA

Trans-Data Corp.

161 Almerla Avenue

Coral Gables, FL 33134

(305) 576-7666

Intercontinental Computer

2754 N. W. N, River Drive

Miami, FL 33142

(305)633-1546

Micro Computer Syslems

144 S. Dale Mabry Hwy.

Tampa. FL 33609

(813)879-4301

Electronic Information

Systems

170 Heatherwood Lane

Alhens, GA 30601

(404) 353-2858

Graham Business Computer

5725 Buford Highway,

Suite 216

Atlanta. GA 30340

(404)457-8540

Columbus Soltware Center

4723 Northgale, Box 8088

Columbus, GA 31908

(404) 563-7729

Capital Computer Systems

3396 El Camlno Ave.

Sacramento, GA 95821

(916)483-7298

Small Computer Syslems

3149CWallalai

Honolulu, HI 96816

(808) 732-5246

IDAHO

Cimoo Dislributors, Inc.

1016 Park Lane

Poratello. ID 83201

(208) 237-2448

American Microprocessors

1100 E. Broadway

Alton, IL 62002

(618) 465-4489

Simblu Corp.

800 N. Main St.

Antioch, IL 60002

(312) 395-8389

Tech-Tronics

715 S. University

Carbondale, IL 62901

(618)549-8495

Adonis Computing

2855 W. Nelson

Chicago, IL 60618

(312)463-0847

Electronic Systems

611 N.Wells

Chicago. IL 60610

(312)944-6565

A & H Associates, Ltd.

2530 Crawford

Evanston, IL 60602

(312)328-2600

No-Name

2701 Grand Ave

Galesburg. IL 61401

(309) 343-6135

Processor Systems

228 School

Geneva, IL 60134

(312) 232-7195

CompuTerminal Systems.lnc.

1132Waukegan

Glenview, IL 60025

(312)7243690

Tek-Aids Industries

1711 Chestnut

Glenview, IL 6O025

(312)724-3620

Autodata Corp.

21000 S. Western Ave.

Olympia Fields, IL 60461

(815)469-4775

American Microprocessors

6934 N. University

Peoria. IL 61614

(309) 692-5852

American Microprocessors

20 N. Milwaukee

Prairieview. IL 60069

(312) 634-0076

Quincy Hobby Center

3632 Maine St.

Ouincy, IL 62301

(217)223-8498

Wysocki Electric

6583 11th St.

Rockford. IL 61109

(815)874-4846

Elkhart Computer Company

29934 RiviBra

Elkhart. IN 46514

(219)295-8181

American Microprocessors

146 N. Broad

Griffith. IN 46319

(219)924-7901

American Microprocessors

3602 Easl Washington

Indianapolis, IN 46201

(317)3597445

Computer Management

610 Monroe

LaPorle, IN 46350

(219)362-5812

American Microprocessors

2655 Irving

Portage, IN 46368

(219) 760-2278

Computer Center

19819 Orchard

South Bend, IN 46637

(219) 272-0252

IOWA

American Microprocessors

102 E. 4th

Waterloo. IA 50703

(319) 266-2255

KANSAS

Columbus Computing

Center

217 4th Ave.

Columbus. KS 66725

(316)429-3605

Dunn ElBCtronlcs10O9S. KansasLiberal. KS 67901(316)624-1888Barney & Associates425 N. BroadwayPittsburg. KS 66762(316)231-1970Technlgraphics5911 ClaredonWichila. KS 67220(316)744-2443

Maine Data52 Canco Rd.P.O.Box 121Woodfors StationPortland. ME 04101(207) 773-1051

The Mathbox

4431 Lehigh

College Park. MD 20740

(301)277-6828

Syslems Engineering

1749Rockville Pike

Rockville. MD 20842

(301)468-1822

The Math Box

2621 University Blvd W

Wheaton. MD 20902

(301)933-6555

Bradshaw Enterprises18 Harborview DriveHingham. MA 02043(617)749-6844Computer Shop/Aircom Inc288 Norfolk St.Cambridge. MA 02139(617)661-2670

The Abacus

Route 1. Box 193

Nlles Road

Berrien Springs. Ml 49103

(616)429-3034

Kimble Terminals

451 S Eton

Birmingham. Ml 48008

(313)645-5553

Microcomputer World

313 Michigan N E

Grand Rapids. Ml 49503

(616)451-8972

Lansing. Ml 48910(517)3940585Great Lakes Photo5001 EastmanMidland. Ml 48640(517)631-5461

Finco

9100 W. Bloomington

Floy-Ste. 170,

Freeway Office Park

Bloomington. MN 55431

(612)884-6744

North State Microcomputers

1600 London Rd.. Ste. 100

Dululh. MN 55812

(218) 728-2695

Custom Compuler Systems

1823Lowry

Minneapolis, MN 55411

(612)588-3944

ABS

547 25th Avenue North

St.Clpud. MN 56301

(612) 253-8734

Frisch Computers

1415 Arcade

St. Paul. MN 56301

(612) 771-7569

Westronics

716 NW8lh St

Wlllmar. MN 56201

(612)235-6096

MISSISSIPPI

Jack Fisher Sales

100 Main

Michigan City, MS 38647

(601)224-6470

Memory Bank

1 Hermosa Drive

Ocean Springs. MS 39564

(601) 875-2723

MISSOURI

Four State Microcomputer

402 Wall

Joplin. MO 64801

(417)782-1285

Impact Systems

613 W. 3rd St.

Lee's Summit. MO 64063

(816)524-5333

The Computer Bit

1320S. Glenstone

Springfield. MO 65B04

(417)883-3709

Futureworld

1909 Seven Pines

St. Louis. MO 63141

(314)434-1121

Sauer Computer Systems

1750 South Brentwood

Suite 601

St. Louis. MO 63144

(314)962-0382

P.O. Box 2418

Cut Bank. MT 59427

(406)336-3117

Intelligent Sys. & Robotics2335 S 35thLincoln, NB 68506(402) 483-1989Omaha Computer Store4540 South 84thOmaha. NB 68127(402) 592-3590

J.B.A. Associates1700 Wester Ave. #CLas Vegas. NV 89102(702) 3820562

NEW JERSEY

Computer Corner

240 Wanaque

Pompton Lake, NJ 07442

(201) 835-7080

Garden Statu Computer

922 South Avenue

Westlield, NJ 07090

(201)232-0511

Mlcromini Systems

4020 Hempslead Ave.

Befhpage. NY 11714

(516)731-7100

DBIS

475 While Plains Road

Eastchester, NY 10707

(914)779-5292

Associated Consultants

33 Ogden

Easl Wlllislon, NY 11596

(516)746-1079

Work Force, Inc.

315 Walt Whitman Rd.

Huntington Station,

NY 11746

(516)271-7711

AristoCrafl

314 5th Avenue

New York. NY 10001

(212)279-9034

Better Programming

Syslems. Inc.

275 Fori Washington Ave.

New York, NY 10032

(212)781-1861

Computer Mart of N. Y.

118 Madison

New York, NY 10016

(212)686-7923

Brag Microcomputers

19 Cambridge

Rochester, NY 14607

(716)442-5861

Universal Data Research

234 Tennyson Terrace

Williamsville, NY 14221

(716)6897788

Wesnell, Inc.506 E. Central Ave.P.O. Box 686Raelord, NC 2S376(919) 875-2798

General Sys. Programming1013 University AvenueGrand Forks, ND 58201(701)746-1042

BandOrch, Inc.

337 E. State Si.

Alliance, OH 44601

(216)821-2600

Lucas Ollice Equipment

& Service869 E. FranklinCenlerville.OH 45459(513)433-8484Econo Dala580 Walnut

Clncinnali, OH 45202(513)421-7071

Systems Support Associates2330 Victory ParkwayCincinnati, OH 45206(513)281-4477Medical Business Syslems6685 Beta DriveCleveland, OH 44143(216)461-7650

Integrated Management Sys.6400 E. Broad St.Sle. 401

Columbus, OH 43213(614)866-1307

Astro Video Electronics Inc.504 E. Main St.Lancaster, OH 43130(614)687-0629Johnson Compuler123 W. WashingtonMedina. OH 44256(216)725-4560Micro Syslems Sales30 W.Aurora RoadNorlhfield, OH 44067(216)467-0003

Gauger Engineering910 Orient StreetClinton, OK 73601(405) 323-2320Accounting Systems2709 Orlando

Oklahoma City. OK 73120(405) 751-1537Gauger Engineering3824 S. 79th EastTulsa, OK 74145(918)627-1064

Schoolfulures IncBox AOhara HallMarythursl, OR 97036(503) 635-3544Fial Computer10675 SE 42nd AvenueMllwaukle, OR 97222(503) 654-9574

Broadl Enterprises

550 N. Derr/Rt. 15

Lewisberg. PA 17837

(717)523-8641

Television Parts Co. Inc.

518 5lh Ave.

New Brighton. PA 15066

(412)846-4044

International

Automation Inc

2nd Floor

Mellon Bank Bldg

New Kensington. PA 15608

(412)337-6080

Abacus Data Syslems

Roule 8

Reno. PA 16343

(814)677-6502

Creative Compuler Systems

& Soltware

14 S Church St

Wesl Chester. PA 19380

(215)436-4750

America's Largest Full Line Microcomputer Company

SOUTH CAROLINA

Island Business Machines

21 Kingbird

Hilton'Head is SC 29928

(803) 785-3631SOUTH DAKOTAExe Engineering804 E. LewisVermillion. SO 57069(605)624-6411TENNESSEE

Computer Power ol Memphis3540 Walker AvenueMemphis, TN 38111(901)452-1526

Computer Powerof Oak Ridge800 Oak Ridge TurnpikeOak Ridge. TN 37830(615)482-9031

Personnel Cost Control

11311 Stemmons Freeway

Dallas. TX 75229

(214)247-5371

Compuler Imagineering

2825 Valley View

Dallas. TX 75234

(214)247-6393

R K O. Enterprises

1007 W Harrison

Harlingen.TX 78550

(312)428-6072

Cybertronics

16327 Timber Valley

Houston. TX 77070

(713)376-8431

Mr Computer

744 FM 1960 W.. Suite E

Houston, TX 77090

(713)444-7419

Mr. Computer

17024 Butte Creek

Houston. TX 77090

(713)353-0518

Kay Computers

1230 Main

League City

(713)332-5555

Datex Computer Center

2626Kermil Hwy.

Odessa. TX 79763

(915)333-4516

Compuler Shop

6812 San Pedro

San Antonio. TX 78216

(512)828-0553

Walker Electronics

325 W. Main St.

Lehi.UT 84043

(801) 768-3698

Everton Publishers

526 N. Main St.

Logan. UT 84321

(801)752-6022

Home Compuler Slore

2343 Easl 3300 South

Salt Lake City. UT 84109

(801)484-6502

TV Specialists

170 E 2100 South

Salt Lake City. UT 84108

(801) 486-7555

Community General Store2704 N PershingArlinglon.VA 22201(703)527-4600Hf8 Computers217 E. Main St.Charlottesville. VA 22901

(804) 295-1975Automated Business Svcs1649 W Broad St.Richmond. VA 23220(804) 355-4361Microsystems. Inc

5320 Williamson

Roanoke. VA 24012

(703) 563-0693

Microsystems of Virginia

107 Lee

Vinton, VA 24179

(703) 5630693

WASHINGTON

Computerland of Bellevue

14340 N.E. 20th

Bellevue. WA 98007

(206) 746-2070

Ideafix

12039 Main St.

Bellevue. WA 96005

(206) 454-9046

Ye Olde Computer Shoppe

1301 George Washington Way

Richland. WA 99352

(509) 946-3330

Ye Olde Computer Shoppe

1605 E. Isaacs SI

Walla Walla. WA 99362

(509) 529-9331

WEST VIRGINIA

Interactive Operations

P.O. Box 1322

Bluefield.WV 24701

(304) 327-6583

Computermart. Inc.

P.O. Box 336

Morgantown. WV 26505

(304) 291-5400

Indian Head Compuler

Systems

405 S. Farwell St.

Eau Claire, Wl 54701

(715)834-8169

MicroComp

44 N. Main

Fond du Lac. Wl 54935

(414)922-2515

Specialty Olfice Machines

20 East Second

Fond du Lac. Wl 54935

(414)922-5440

American Microprocessors

3121 Windsor Rd.

Janesville, Wl 53545

(608) 752-0111

Inlegraled Micro

206 Hood St.

La Crosse, Wl 54601

(608) 784-7979

Madison Computer Store

1825 Monroe

Madison, Wl 53711

(608) 255-5552

Milwaukee. Wl 53213(414)258-2588

Control Technology204 Crazy Horse LaneGillette. WY 82716(307) 682-0300

Becterm

1277Chemin St JeanBernieres. Quebec.Canada G0S 1C0(418)831-4522Omega Computing LtdBox 220Station PToronto. OntarioCanada M5S 2S7(416)425-9200Robo-Tronics509 16th N W.Calgary. AlbertaCanada T2M 0J6(403) 282-9468

Venezuela 3392

Buenos Aires

Argenlina 1211 Capital Fed

882547

AUSTRALIA

Sys. Automaton Propr Ltd

26 Clark SI Crows Nest.

NSW.

Australia 2065

(02) 439-6477

IEC (International EleclroniclAvenue Charles Plisnier. 3FB 1070 Bruxelles (Belgium)02/521-9580

Mutek

The Studio. Quarry Hill.

Box Corsham

Willshire. England

022121-3289

Abacus Computers Limited

62 New Cavendish Street

American Data-Home &

Office Computer150 Regent SiSte. 500

Chesham HouseLondon. W1R5FAEngland (01) 439-6288^MicrocomputersP. O Box 24Northwich. CheshireC8W 1RS. England0606-75627

Janaz Computer Shop

12 Rue Pasquier

75008 Paris. France

329-6237

Electronic J.L.

97 RuedesChantiers

78000 Versailles

France

950-2820

Compumak Ltd.117So1onosSlAthens 142, Greece3632952

Skylab

ViaMGioia66

20125 Milano

Italy

(021688-3806

Ediconsull S.R.L

Via Caccini 12

Monza. Italy

039-38-9850

Electronica S.A De C V

Varsovia #36

Mexico 6. D. F.

5-33-11-80

NETHERLANDS

Ingenleurs Bureau

Koopmans

Joh. Vermeer Sir 7

3351 BM Papendrecht

Netherlands

078-56033

Pereyra & Assoc S.R.L.Aires Schrelber 225U'b Aurora MiralforesLima, Peru462680

Puerto Rico Computer Sales

P.O. Box 2036

Halo Rey.

Puerto Rico 00919

(809)751-4042

Sociedad AnonimaDeVentees

P.O. Box 701Cueno. Ecuador830-770

Isotronic ABBox 305618303 TabySweden

(08)756-0155

Naafexco Corp.

4023 Basel

Basel. Switzerland 4023

(0114161)463626

Elec Data Processing C A.Av. 15-Esq. Calle72Edil. Paseo72Piso2-Local 39-ApartadoPostal 1892Maracaipo. Venezuela7184

BISY

Rheinslrasse 24040 Neuss 1West Germany

(02101)28124MicrocomputerDalensysleme GmbHAlsfrelder Slrasse 6P.O. Box 1108-68D-e U)0 DarmstadtWest Germany(06151)71-4444

1333 S. Chllllcothe Road • Aurora, Ohio 44202 (216) 562-3101

Here it is at last... -rue CIDCT

FLOPPY DISK BASED COMPUTER

FOR UNDER *

III

TheCIPMF

Complete mini-floppy computer system

10K ROM and 12K RAM

Instant program and data retrieval

The Challenger 1P Mini-disk system featuresOhioScientific's ultra-fast BASIC-in-ROM, fullgraphics display capability and a large libraryof instant loading personal applications soft-ware on mini-floppies including programs forentertainment, education, personal finance,small business and now home control!

The C1P MF configuration is very powerful.However, to meet your growth needs it can bedirectly expanded to 32K static RAM and a sec-ond floppy by simply plugging these options in. Italso suports a printer, modem, real time clockand AC remote interface as well as the OS-65DV3.0 development oriented operating system.

Circle 290 on inquiry card.

Or Start with the C1PCASSETTE BASEDComputer for just $349.

The cassette based Challenger 1P offers thesame great features of the mini-disk systemincluding a large software library except it has4K RAM and conservative program retrievaltime. Once familiar with personal computers,you'll be anxious to expand your system to themore powerful C1P MF.

You can move up to mini-disk performance atany time by adding more memory and the diskdrive. Contact your local Ohio Scientific dealeror the factory today.

*Both systems require a video monitor, modified TV or RFconverter and home television for operation. Ohio Scientificoffers the AC-3 combination 12" black and white TV/monitorfor use with either system at $115.00 retail.

All prices, suggested retail.

1333 S. CHILLICOTHE RD., AURORA, OHIO 44202 (216) 562-3101

BYTE April! 979 37

Listing 2: The 6502 assembly language modules for use with the ideal gasprogram.

COMMENTS

LABEL

MNEMONIC

BEGINMOVE:

LDX

#0

LDY

#0

TOP:

LDACLC

VXLO.X

ADC

XLO.X

STA

XLO.X

LDA

VXHI.X

ADC

XHI,X

STA

XHI,X

BMI

NEGX

CMP

#80

BCS

BIGX

RETX:

LDACLC

VYLO.X

ADC

VLO,X

STA

YLO,X

LDA

VYHI.X

ADC

YHI,X

STA

YHI.X

BMI

NEGY

CMP

#50

BCS

BIGY

RETY:

INX

BNE

TOP

RTS

NEGX:

TYASEC

SBC

XLO.X

STA

XLO,X

TYA

SBC

XHI,X

STA

XHI,X

REFLVX:

TYASEC

SBC

VXLO,X

STA

VXLO.X

TYA

SBC

VXHI,X

STA

VXHI.X

JMP

RETX

BIGX:

LDASEC

#255

SBC

XLO,X

STA

XLO,X

LDA

#159

SBC

XHI.X

STA

XHI.X

JMP

REFLVX

NEGY:

TYASEC

SBC

YLO.X

STA

YLO,X

TYA

SBC

YHI,X

STA

YHI.X

REFLVY:

TYASEC

SBC

VYLO,X

STA

VYLO,X

TYA

SBC

VYHI.X

STA

VYHI,X

JMP

RETY

BIGY:

LDASEC

#255

SBC

YLO,X

STA

YLO.X

LDA

#99

SBC

YHI,X

STA

YHI,X

JMP

REFLVY

initialize particle counter;clear Y register;move x coordinate of particle;by adding VX to X

;bounce off left wall if x.LT.O

;bounce off right wall if x.GE.80;move y coordinate;by adding VY to Y

;bounce off bottom if y.LT.O

;bounce off top if y.GE.50

;do all 256 particles;back to BASIC control

;prepare to reflect —x to x;by subtracting from 0

.-another 0 in accumulator

.-reflect velocity vx also

.return to main programprepare to reflect x to 160—x.-(actually, 159.99. . .-x)

.•reflect velocity vx using previous code; reflect y to —y

;reflect velocity vy also

;return to main program

;prepare to reflect y to 99.99 . . .—y

BEGINMOVE

5632

BEGINPLOT

5800

XHI

6144

XLO

6400

YHI

6656

YLO

6912

VXHI

7168

VXLO

7424

VYHI

7680

VYLO

7936

OLDCHAR

10

GRAFTAB

11

ADDRNOW

26

NEWSYMB

28

MHI

29

MLO

30

TMPHI

31

TMPLO

32

SCRTABLO

6050

SCRTABHI

6075

SYMBTAB

6100

Table 2: Specific addresses used in the 8 Kbyte PET Gas program. Addresses are givenin decimal.

els

=

clear screen.

b

=

backspace (cursor left).

d

=

down (cursor down).

r

=

right (cursor right).

u

=

up (cursor up).

home

=

cursor home.

;use previous code to reflect vy

Listing 2 continued on next page.

Table 3: The PET uses special graphics sym-bols to denote cursor control characters.Since these special characters cannot betypeset, the above notation is used in theprogram.

Text continued from page 34:

or truncation errors. When an X coordinateends up less than 0 or greater than 80, Ireflect the particle off the left or right walland reverse its X velocity; when a Y coordi-nate falls outside the box's range (0 to 50),I do the same for it. (Since I don't check forarithmetic overflows, if velocities get largerthan about 32, there is a chance for error;this isn't a serious restriction, in practice.)In this format, addition and subtraction aretrivial, and the only trick to dividing by 2 isto get the sign bit correct after shiftingright.

That's all there is to the model. Thedetails that are explained in the remarksin the BASIC listing (listing 1), and in thecommentary about the listing 2 machine lan-guage modules in table 1, are probably ofinterest mainly to 6502 system users, espe-cially PET owners who can use the programwithout modification. (At top speed, itmakes about seven timesteps per second!)Much more interesting in general are the"bells and whistles" that can be added to thebare model for convenience and physicalinsight.

38 April 1979 © BYTE Publications Inc

Tinker, Tailor, Soldier, Sailor . . .Doctor, Lawyer .. . the Chieftain's here.

No matter whether you're a serioushobbyist or a serious businessman, theChieftain 6800 microcomputer with ca-pabilities that surpass the Z-80 is madefor you.

Smoke Signal's quality-packedChieftain I features two 5.25-inch mini-floppy drives and Chieftain II fea-tures two 8-inch floppy drives. , *■

Both microcomputers «**v\>provide 32K static memory,two serial I/O ports, a 2MHz processor board, a 2KRAM monitor, a nine-slotmotherboard with built-in baud rate generatorand gold connectors forhigh reliability. TheChieftain's stylish leath-er-grained cabinet housesthe above with its owncooling fan and regulatedpower supply.

Every Chieftain is complete withsystem software and is totally burned-inas well as tested to further insure highreliability.

And it's expandable to 64K memorywith up to 2 megabytes floppy diskstorage.

So see your nearest Smoke Signaldealer, he'll be glad to show you how toget your wampum's worth. Systems. start at $2,595.

3

Ik

*

□ Send information on your Chieftainmicrocomputer□ Send name of nearest dealer

Name

Address

Company

City

State/Zip

SMOKE SIGNSLBROADCASTING

31336 Via Colinas. Westlake Village.California 91361. (213) 889-9340

Dealer inquiries invited.

Hail to the Chieftain

Smoke Signal Broadcasting, 31336 Via Colinas, Westlake Village, CA 91361, (213) 889-9340

Circle 328 on inquiry card.

BYTE April 1979 39

Listing 2, continued:

BEGINPLOT:LOOP01:

TOPPLOT:

SKIP01:

SKIP02:

SKIP03:

LOOP02:

LDX

LDA

STA

DEX

BNE

LDA

LSR

TAY

LDA

STA

LDA

STA

LDA

BCC

LDA

STA

LDA

LSR

BCC

ASL

ADC

STA

BCC

INC

LDY

LDA

STA

LDY

CMPBEQDEYJMP

FOUNDIT: TYA

AND

BNE

TYA

ORA

TAY

LDA

LDY

STA

INX

BNE

RTS

TXA

TAY

LDA

DEY

CMP

BNE

LDA

CMP

BNE

LDA

CLC

ADC

STA

INCRX:

HIT:

LOOP03:SEEK:

#15 .-transfer graphics symbol table to page 0

SYMBTAB—1,X ;binary symbols allow quarter-character

GRAFTAB—1 ,X ;high resolution graphics

LOOP01

YHI,X ;get a particle's y coordinate

A .-divide by 2

LDAADCSTALDACLCADCSTALDAADCSTALDACLCADCSTALDAADC

look up screen address in tablefor left end of screen line to beplotted onand store on page 0

SCRTABLO.Y

ADDRNOW

SCRTABHI.Y

ADDRNOW+1

#1

SKIP01 ;if carry is clear then y coordinate was even

#4 ;before division by 2

NEWSYMB ;store #1 or #4 here, if y even or odd

XHI.X ;get particle's x coordinate

A ;divide by 2

SKIP02 ;skip if x was even

NEWSYMB ;double NEWSYMB if x odd

ADDRNOW ;add x/2 to left edge address

ADDRNOW ;to get plotting address

SKIP03 ;skip if no carry

ADDRNOW+1

#0

(ADDRNOW),Y ;get symbol currently occupying

particle'sOLDCHAR ;target plotting cell, 0LDCHAR =

GRAFTAB-1#15 ;prepare to look up symbol in table

OLDCHAR,YFOUND IT ;exit when found in table

LOOP02 ;have no fear, it will always be found! — OLD-CHAR =GRAFTAB-1

;binary symbol in Y register, one bit for each Vicell

NEWSYMB ;check for a collision

HIT ;ahit!!!no need to plot, but must collide veloc-

ities now;restore old binary symbol to accumulator

NEWSYMB ;addnewbit

OLDCHAR,Y ;look up new plotting symbol

#0

(ADDRNOW),Y ;plot new symbol

;increment particle counterTOPPLOT ;loop until done

;back to BASIC control

XHI.X

;transfer particle counter to Y register;colliding particle's x coordinate in accumulator

.-look for the (previously plotted) colliding particle;loop until found a matching x coordinate;do their y coordinates match too??

XHI.Y

SEEK

YHI.X

YHI.Y

LOOP03 ;if not, keep looking

VXLO,X ;match found — prepare to collide velocities

VXLO.YMLO

VXHI,XVXHI.YMHIMLO

VYLO,X

MLOMHIVYHI.XMHI

MLO

VYLO.Y

MLOMHIVYHI.Y

;MLO and MHI store M=(VX1+VY1+VX2+VY2I/2

CMP #128

;now we've got the sum, must divide by 2

to get M

;first, essential to set carry flag for proper

division

Listing 2 continued on next page.

First, it's easy to write a loop to add upthe kinetic energy of each particle; the totalenergy of the system should be conserved.Roundoff (from the division by 2, in par-ticular) does make small errors occur, butI've found them to be tiny even after hun-dreds of timesteps. It is interesting to notethat the energy is directly proportional tothe temperature of the system. The eye caneasily tell the difference between "hot" and"cold" gasses, with some experience.

It is also interesting to plot the velocitiesof the gas particles. In theory, after lots ofcollisions have occurred, the distributionsof VX and VY velocities should be bellshaped (also called "Gaussian" or "normal")curves (see photos). It's quite satisfying tosee a ridiculous initial distribution, with allthe particles at rest except for one, evolveas collisions happen toward the normalcurve. (The width of the distribution is pro-portional to the square root of the tempera-ture.) There are fluctuations away from thisequilibrium distribution, of course, but theyare small, roughly 1/\/rT^6% in this model.

Another educational phenomenon thatthis model can illustrate is called Brownianmotion, the "random walk" that a particlein the gas executes as it is buffeted by otherobjects. It's a 1 line addition to the originalprogram to change the symbol for one par-ticle (number 0, for example) to somethingdistinctive, so its motion can be followed.(An asterisk was used in the photos here.)On long timescales, the net motion of aparticular particle is less than one mightexpect — the average distance it moves isnot (average speed)X(time), but (averagespeed)X\/(time). (Albert Einstein got hisNobel Prize partly for his explanation ofBrownian motion, published in 1905.)

There are many other "theoreticalexperiments" that one can do with thismodel of a gas. One could count the col-lisions off a wall and check the ideal gaslaw which relates pressure, density, andtemperature. Another experiment could beto measure the "speed of sound" in the gas,by giving a push to the particles on one sideof the box, and seeing how long it takesthe resulting density wave to move across.(The box may be too small and the gas toodilute to do this cleanly, however; I'm notsure.) It might be nice to connect up thescreen edges, so that particles which moveoff the right side appear at the left, etc.That way, one could set up a "wind" (a netnonzero momentum in some direction) andit would last forever (within roundoff) with-out hitting any box walls. Another possi-bility is to evolve a system forward in timefor a while, and then reverse all velocities.

40

April 1979 0 BYTE Publications Inc

Effectively, this reverses time—if roundoff isunimportant, the particles should retracetheir paths and return to the initial con-figuration, like a movie run backwards!This simulation of a gas is extraordinarilysimple in principle, but displays a surprisingwealth of realistic physical phenomena. It'snot surprising that slightly more complicatedlaws, acting on larger numbers of particles,can make galaxies and DNA molecules,snowflakes and cyclones. The challenge is tosimplify and then simulate them!"

BIBLIOGRAPHY

1. Aarseth, Sverre J, and Myron Lecar, "ComputerSimulations of Stellar Systems," AnnualReviews of Astronomy and Astrophysics,volume 13, 1975, pages 1 thru 22.

2. Lykos, Peter (editor), "Minicomputers andLarge Scale Computations," from a symposiumsponsored by the ACS Division of Computers inChemistry, American Chemical Society, Wash-ington DC, 1977. (See chapters 11 and 12in particular.)

Listing 2, continued:

Reif, F,Course),1967.

Statistical Physics (Berkeley Physicsvolume 5, McGraw-Hill, New York,

ROR

A

.otherwise sign bit will be lost!!!

STA

MHI

ROR

MLO

;division by 2 completed

LDA

MLO

calculate after-collision velocities nowas described

SEC

;in text

SBC

VYLO,X

STA

TMPLO

;save in temporary place

LDA

MHI

SBC

VYHI,X

STA

TMPHI

LDA

MLO

.■proceed to collide all velocities

SEC

SBC

VXLO.Y

STA

VYLO.X

LDA

MHI

SBC

VXHI.Y

STA

VYHI.X

LDA

MLO

SEC

SBC

VYLO.Y

STA

VXLO.Y

LDA

MHI

SBC

VYHI.Y

STA

VXHI.Y

LDA

MLO

SEC

SBC

VXLO.X

STA

VYLO.Y

LDA

MHI

SBC

VXHI.X

STA

VYHI.Y

LDA

TMPLO

STA

VXLO.X

LDA

TMPHI

STA

VXHI.X

JMP

INCRX

,-collision finished — go back to main p

CARD-HEADERTERMINAL

This new concept in terminal equipmentfor TTY type terminal replacement a3277 replacement*.

• Typewriter style keyboai

• 80 x 24 character display.

• Hand-fed Hollerith type cardbadge reader.

• Compatible with modems forremote use.

• 12" diagonal screen.

PHOHE

P.O. Box 1522 • Rockford. Illinois 61110Phone 815/962-8927

Circle 305 on inquiry card.

April 1979 © BYTE Publications Inc 41

Bccfc Reviews

Adaptive InformationProcessing: AnIntroductory Surveyby Jeffrey R SampsonSpringer- Verlag,New York 1976214 pages$14.80

«as«»>^SSJ

ioa«uts>s»*:e

.Hfe

22S2SS-

A book that deals with theoretical com-puting machines, the biology of an amoeba,and a very good checkers program shouldpique the interest of many readers. AdaptiveInformation Processing: An IntroductorySurvey is excellent for someone who wantsa thorough overview of the subjects covered.

The book deals with three broad topics:information and automata, biological infor-mation systems and artificial intelligence.The second and third are at opposite endsof the spectrum of adaptive informationprocessors: living organisms and "intelli-gent" computer programs that mimichuman thought. But the first topic, whichdeals with the nature of information andwith certain imaginary, idealized computingmachines, summarizes a body of knowledgethat sets an upper bound on the transmissionof data and on the problem solving limits ofany computer. It is only in the light of theselimitations that the later examination ofliving and nonliving information processingsystems becomes meaningful.

The first section has five chapters oncommunication theory, coding information,finite automata, Turing machines, andcellular automata. The last three subjectsrefer to three levels of idealized computingmachines that mathematicians and computer-scientists have devised and studied to deter-mine what problems can and cannot besolved on a given machine. Most importantare two facts: firstly, the Turing machineis capable of solving any problem that anycomputer can solve; and secondly, there arecertain problems that a Turing machine can-not solve. This implies that there are pro-blems insoluble by computer. The fourthchapter is especially good for its conden-sation of the work done along these lines, inparticular, the famous "halting" problem forthe universal Turing machine.

The "Biological Information Processing"section devotes a chapter each to informa-tion processors on four levels: the biochemi-cal, genetic, neural, and nervous system lev-els. The first chapter gives a concise descrip-tion of the role of enzymes and DNA in theprocesses of biological information transfer.The fifth chapter deals with limited attemptsof scientists to simulate various levels of bio-logical processes via computer programs.

The final section deals with five artificialintelligence topics: pattern recognition,game playing, theorem proving, generalizedproblem solvers and natural language proces-sing. Here, the author admits that his mate-

See Solat all these

fine

computer

centers

AL: Birmingham: Computer Center Inc.,(205) 942-8567. CA: Costa Mesa: Orange CountyComputer Center, (714) 646-0221. LosAngeles: Computers Are Fun, (213) 475-0566.Modesto: Computer Magic, (209) 527-5156.Mountain View: Digital Deli, (415) 961-2670.Walnut Creek: MicroSun Computer Center, (415)933-6252. CT: Bethel: Technology Systems,(203) 748-6856. FL: Ft. Lauderdale: Byte Shopof Ft. Lauderdale, (305) 561-2983. Miami:Byte Shop of Miami, (305) 264-2983. Tampa:Microcomputer Systems, (813) 879-4301.ID: Boise: Byte Shop Computer Store, (208)345-3811. IL: Lombard: MidwestMicrocomputer. (312) 495-9889. I A: Davenport:Memory Bank, (319) 386-3330. MA: Waltham:Computer Power, (617) 890-4440. MD: SilverSprings: Computers Etc., (301) 588-3748.Towson: Computers Etc.. (301) 296-0520. MO:Florissant: Computer Country, (314)921-4434.NJ: Cherry Hill: Computer Emporium, (609)667-7555. Iselin: Computer Mart of New Jersey,

(201) 283-0600. NY: Endwell: The ComputerTree, (607) 748-1223. NYC: Computer Mart ofNew York. (202)686-7932. White Plains: TheComputer Corner, (914) 949-3282. NC: Raleigh:ROM's N'RAM's, (919) 781-0003. OH: Akron:The BasicComputerShop,(216) 867-0808.

OR: Beaverton: Byte Shop Computer Store,(503) 644-2686. Portland: Byte Shop ComputerStore, (503) 223-3496. PA: King of Prussia:Computer Mart of Pennsylvania, (215) 265-2580.Rl: Warwick: Computer Power, (401) 738-4477.TN: Kingsport: Microproducts & Systems, (615)245-8081. TX: Arlington: Computer Port,(817)469-1502. Arlington: Microstore, (817)461-6081. Houston: Interactive Computers,(713)772-5257. Houston: Interactive Computers,(713) 486-0291. Lubbock: NeighborhoodComputer Store. (806) 797-1468. Richardson:Micro Store. (214) 231-1096. UT: Salt LakeCity: Home Computer Store. (801) 484-6502.VA: McLean: Computer Systems Store, (703)821-8333. WA: Bellevue: Byte ShopComputer Store, (206) 746-0651. Lynnwood:Byte Shop Computer Store, (206) 775-7436.Seattle: Byte Shop of Seattle, (206) 622-7196.Wl: Madison: The Madison Computer Store.(608) 255-5552. Milwaukee: The MilwaukeeComputer Store, (414) 445-4280. DC:Georgetown: Georgetown Computer Emporium,

(202) 337-6545. CANADA: London, Ontario:The Computer Circuit Ltd.. (519) 672-9370.Toronto, Ontario: Computer Mart Ltd., (416)484-9708. Vancouver, B.C.: Basic ComputerGroup Ltd., (604) 736-7474. ARGENTINA:Buenos Aires: Basis Sistemas Digitales.93-1988 or 57-7177. AUSTRALIA: Prospect:A.J.F. Systems and Components Pty. Ltd.,269 1244. Sydney: Automation Statham,(02) 709.4144. BELGIUM: Bruxelles:Computerland, 02/511.34.45. COLOMBIA:Bogota: Video National, 326650. DENMARK:Copenhagen: Peter W. Holm Trading ApS01-543466. MEXICO: Mexico City: IndustriasDigitales, (905) 524-5132. SPAIN: Barcelona:Interface S.A., (93)301 7851. SWEDEN:Stockholm: Wernor Elektronik, (0) 8717-62-88.UNITED KINGDOM: Huntingdon, England:Comart, Ltd., (0480) 74356. London: The ByteShop Ltd., 015542177. VENEZUELA:

Los Ruices, Caracas: Componentes Y CircuitosElectronicos TTLCA, 355591.

42 April 1979 © BYTE Publications Inc

Circle 300 on inquiry card.

Soli The small computer that won'tfence you in.

A lot of semantic nonsense isbeing tossed around by some of themakers of so-called "personal"computers. To hear them tell it, aninvestment of a few hundreddollars will give you a computerto run your small business, dofinancial planning, analyze data inthe engineering or scientificlab — and when day is done playgames by the hour.

Well, the game part is true.The rest of the claims should betaken with a grain of salt. Onlya few personal computers have thecapacity to grow and handlemeaningful work in a very realsense. And they don't comefor peanuts.

Remember, there's nofree lunch.

So before you buy any personalcomputer, consider Soli1" Itcosts more at the start but less inthe end. It can grow with yourability to use it. Sol is not cheap.But it's not a delusion either.

Sol small computers are at thevery top of the microcomputer

spectrum. They stand up to thecapabilities of mini systemscosting four times as much.

No wonder we call it theserious solution to the smallcomputer question.

Sol is the small computersystem to do the general ledger andthe payroll. Solve engineeringand scientific problems. Use it forword processing. Program itfor computer aided instruction.Use it anywhere you wantversatile computer power!

Build computer powerwith our software.

At Processor Technology we'vetailored a group of high-levellanguages, an assembler and otherpackages to suit the widecapabilities of our hardware.

Our exclusive Extended BASICis a fine example. This BASICfeatures complete matrix functions.It comes on cassette or in adisk version which has random aswell as sequential files.

Processor Technology FORTRANis similar to FORTRAN IV and

has a full set of extensions designedfor the "stand alone" computerenvironment.

Our PILOT is an excellent textoriented language for teachers.

Sold and serviced only by thebest dealers.

Sol Systems are sold and servicedby an outstanding group ofconveniently located computerstores throughout the U.S.and Canada.

For more information contactyour nearest dealer in theadjacent list. Or write DepartmentB, Processor Technology,7100 Johnson Industrial Drive,Pleasanton, CA 94566. Phone(415) 829-2600.

In sum, all small computersare not created equaland Sol users know it to theireverlasting satisfaction.

ProcessorTechnology

rial emphasizes the heuristic programmingschool of thought, which favors the methodsthat produce the maximum amount of intel-ligence, rather than those schools that try tomodel human thought processes. Each chap-ter in this section describes the terminology,basic concepts, and techniques of the sub-ject. The game playing chapter is useful forreaders interested in designing sophisticatedgame playing programs.

These last chapters describe the most im-pressive "intelligent" programs in severalfields: Guzman's See, which analyzes andrecognizes solid geometric forms from avideo picture; Samuels' checker playing pro-gram, one of the most successful game play-ing programs; the theorem proving LogicTheorist and the General Problem Solver(both by Newell, Shaw, and Simon); Weizen-

baum's Eliza and Raphael's Sir, both writtento appear to understand conversationalEnglish.

Each chapter ends with a complete bibli-ography and a short set of exercises. A lot ofmaterial is presented in a short space, andthe readability of the book varies with thereader's familiarity with the basic conceptsof the subject being presented. Except forthis one necessary shortcoming, the bookstill manages to cover some of the most im-portant ideas and programs in computerscience history. The section on biological in-formation processing systems augments thebook's value.

Gregg Williams

1605 Eastmoreland -#3

Memphis TN 38104"

BASIC Programming forScientists and Engineersby Wilbert N HubinPrentice-Hall Inc, Engle-wood Cliffs, NJ 1978$9.95 paperbound

With personal computers currently fol-lowing a geometric growth curve, I thinkBASIC will become the Esperanto of thecognoscenti; it nearly is now. Since theprofessional community forms a large usergroup, I feel the science and engineeringpeople will need the ability to work in otherlanguages besides the ubiquitous FORTRAN.Mr Hubin's fine book is one of the bestfirst books of BASIC that I have seen. It issuitable for both the experienced pro-grammers seeking to add BASIC to theirrepertoires, and for the beginning sciencestudents who need both computer andtechnical problem solving experience.

The first portion of the book is devotedto learning the language. The various state-ments of BASIC are defined and illustrated,and there is a discussion of elementary ter-minal usage as well as hints for using BASICin the most efficient manner. Each type ofstatement has review questions and problemsfor each subsection, and, for the insecureamong us, answers. Hints on troubleshootingare a nice bonus for the newcomer, since ittakes a little ACL (accumulated computerlore) before one develops a feel for de-bugging code. Segments of programs showjust how code consisting of BASIC state-ments can be used to accomplish the reader'spurpose.

The chapter on flowcharting ably demon-strates the fundamentals of this art, dis-cusses their applications, and then providesa diverse sampling of problems to sharpenthe reader's skills. The author's editorial onflowcharting may even bring old hands backto the fold of those who document programsbefore they become operational. Handily,once again, solution flowcharts are in theappendix.

The concluding two chapters are devoted

to solving technical problems with a com-puter. The problems deserve a mention here,since they form a nucleus of problems suit-able for a science course. Equations of mo-tion, centers of mass, Hermite polynomials,and others serve to show the student how toapply the computer to classroom concepts.The range of problems is superb, from simul-taneous equations and least squares fit tosolutions of differential equations and erroranalysis. Each application mastered willmean a valuable addition to the reader'sskills. The problems are drawn from thegamut of the engineering ranks and thephysical sciences, and footnotes refer thereader to the journals of science. Comple-tion of these exercises will give the prac-titioner a mastery of BASIC and a fewfundamentals of science.

The appendices offer a summary ofBASIC statements and the meaning of each.There is a short example of terminal usageemploying a Digital Equipment Corp PDP-11as an example. Especially handy is the sec-tion on BASIC error messages, although it isa bit brief. In familiarizing yourself with anew machine or language, deciphering theerror messages is usually a headache. Thecomputer's opinion of the defects in aprogram is often expressed in a crypticmanner.

While machines vary, beginners' mis-takes do not, and the common ones arelisted. In addition, there is a useful index.The bibliography focuses on books applyingcomputers to the physical sciences. Through-out the book, the print is well-displayed andeasy to read. If you are thinking of learningBASIC, think of this book.

Noel K Julkowski18755 Van Buren StSalinas CA 93901 ■

44

April 1979©BYTE Publications Inc

INTERTEC'S

INTE3TIBE

®

VIDEO DISPLAY TERMINAL

ATTENTION RETAILERS:

InterTube Terminals are easy to sellfor one simple reason. Theyoutperform the competition so wellthat it's embarrassing to have anyother terminal on display. Add to thatInterTube's rugged design whichinsures you of the reliability thatbrings customers back. And modulardesign engineering that makesservicing a snap!

But best of all, the InterTube isreadily available. Just a quick call andyou'll have units in stock.Immediately! And our scheduleddelivery program will help you keepthem in stock.

Good margins, good service, gooddelivery. Simple? You bet it is!InterTube dealerships are nowavailable in many areas. Contact ustoday and start selling from stocktomorrow!

3

C

INTE3TEC

DMA

SY5TEMS.

The InterTube Video Display Terminalis truly representative of the lateststate-of-the-art advances inmicroprocessor technology. Its basicteletypewriter compatabilitycombined with its numerous "smart"terminal features satisfy the universalrequirement for a low-cost, highperformance video terminal.

You get everything you need forcleaner input and faster throughput.An upper and lower case character setdisplayed on a sharp 8X10 dot matrix.A full 24 line by 80 character screen. Astatus line which is displayed inhalf-intensity. A complete ASCIIkeyboard with an 18-key numeric pad.

You get full cursor addressing,automatic repeat of all keys, individualbackspace and shiftlock keys. Agraphics mode to facilitate easy designand display of all types of forms.

And you get everything your operatorsneed to make their jobs a pleasure. Ahooded display that cuts glare andgives extra privacy. A wide bandwidthmonitor for sharp images everywhere onthe screen. Below-the-line characterdescenders to make reading easier. Aprogrammable white-on-black orblack-on-white display, and a self-testmode for easy maintainability.

You get high powered text editing withsuch features as character and lineinsert/delete, full and/or partial blocktransmit, programmable end-of-lineterminators, and protected fields. Allstandard. And all for a retail price youwon't believe . . . only $874. Incredible!

■m Corporate Headquarters: 2300 Broad River Road • Columbia, South Carolina 29210* 803 / 798-9100 • TWX: 810-666-2115Circle 183 on inquiry card. byte April 1979 45

Sources of Numerical Error

Daniel R Buskirk

POB211

The Rockefeller University

New York NY 10021

A growing number of microcomputerenthusiasts are finding the need to performcontrol operations, evaluate complicatedmathematical expressions and analyze statis-tical data. In short, many hackers wantto tackle problems conventionally leftto larger computers. To do this, they mustbecome acquainted with error analysis.

Programmers need to be concernedabout errors in any program involving theevaluation of a function or algebraic ex-pression, or one which involves a largenumber of simple but repetitive operations.Even in control applications, it is oftencritical to be aware of the potential forerror.

What do we mean by error? The numer-ical analyst, a professional mathematicianinvolved with the design and analysis ofnumerical algorithms, recognizes three dis-tinct types of error. The first is the blunder,which is not an error at all in the mathe-matical sense. A blunder is a gross error: amistake in program logic, a typographicalerror, or perhaps only a misplaced decimalpoint. The mathematician, like the restof us, must shrug his shoulders at a blunder,and hope to do better next time. Blundersneed not concern us here.

Certainly blunders account for the vastmajority of errors; but what other types oferrors are there if we ignore blunders? Onetype is the truncation error. For example,take the infinite series representation of thefunction sin(x):

/ \

X

x-> x^

.in(x) :

- — -

- — + — —

1!

3! 5!

About the Author

Daniel Buskirk is currently a graduate fellow at Rockefeller University,where he is studying neurobiology. He has a bachelor's degree in mathe-matics and zoology. His current professional interest is the application ofmathematical and computer methods to the study of neuronal structure.When not working, he enjoys photography, playing the piano, and, of course,fiddling with microcomputers.

If we were to use this relation to evaluatesin(x) in a computer, we could not carrythis series on forever. Whenever we stop,we have failed to evaluate the remainingterms in the expression, or truncated theseries. Those who understand a little calcu-lus will recognize that this series converges;that is, it gets arbitrarily close to the correctvalue when sufficiently many terms arecalculated. But there must always be asmall but finite truncation error (if thiscomputation is carried out on a digitalcomputer).

Another calculation involving truncationerror is the evaluation of integrals using thetrapezoidal rule. Though an infinite series oftrapezoids, each approaching zero width,will give us the area under the curve (itsdefinite integral) exactly, any computerevaluation must settle for a finite number oftrapezoids. Thus there will be truncationerror. To be sure, it is generally possible toavoid the consideration of truncation errorby simply requiring that the truncationerror be less than the precision of the wholecalculation. However, the clever programmerrecognizes that there are usually severaldifferent infinite series representations ofany function. Often, one of these series willrequire significantly fewer terms to comewithin the required precision.

The error of most concern to numericalprogrammers is not truncation error butrather roundoff error. Since the word lengthin most computers is fixed, any numberthat exceeds this length must be roundedoff before it can be stored in the computer'smemory. This error is the most significant,so we shall consider it in more detail.

Although almost all "big" computersstore numbers in binary digits, the followingexamples are given in base ten because it ismore familar (and it is similar to the binarycoded decimal format often used in micro-computer floating point packages).

Most computers store a real number bybreaking it down into a mantissa and anexponent, much like scientific notation.A word which looks like this:

46 April 1979 © BYTE Publications Inc

Our Two Bits

BitBitBitBit

PadPadPadPad

Bit Pad ® mBit Pad ®dqBit Pad ©mBit Pad ® [DBit Pad ®m<Bit Pad ®nnBit Pad ®m

Bit Pad™ is the low-cost digitizer for small computer systems. Better than a

joystick or keyboard for entering graphic information, it converts any

point on a page, any distance into its digital equivalents. It's also a menu for

data entry. You assign a value or an instruction to any location on the pad.

At the touch of a stylus, it's entered into your system.

Who can use it? Anyone from the educator and the engineer to the hobbyistand the computer games enthusiast. The data structure is byte oriented foreasy compatibility with small computers, so you can add a power supply,stand alone display, cross-hair cursor and many other options.

Bit Pad by Summagraphics. The leading manufacturer of data tablet digitizers.Bit Pad. The only words you need to say when considering digitizers.

$1,000 creativity prize. Just write an article on an original Bit Pad application

and submit it to any national small-computer periodical. If the editors publish

it—and the decision is solely theirs—Summagraphics will pay you $1,000.

~ ' corporation

35 Brentwood Ave., Box 781, Fairfield, CT 06430' Phone(203) 384-1344, TELEX 96-4348

Dealer inquiries invited

Circle 358 on inquiry card.

BYTE April 1979 47

7352

05

mantissa

exponent

would represent the real number 0.7352 x10^ or 73520. Now, if we wish to store anumber larger than four decimal places, wemust round it off. (It is true that our ex-ponent here is limited to two decimalplaces. Any exponent with three or moreplaces in this case represents an overflowcondition. Since overflow is generally easilyavoided, we will not discuss it here.) Con-sider the numbers 8,931,724 and 0.761253.In the first case, rounding off to 0.8931 x10^ represents an error of 724. The errorin rounding the second is 53 x 10~°. Thus,it is most common for the numerical analystto speak of relative error rather than abso-lute error. In this case, both errors will beon the order of 10~4 of the value beingstored in memory.

If this error seems trivial, let us look atan example, albeit a contrived one (morerealistic examples will be examined later).For instance, if we wish to evaluate theexpression:

J_

a-b

where a = .89136 and b = .89134. Roundinga and b and subtracting, we get 10,000rather than 50,000, the correct answer.Thus our answer was off by a factor offive even though our round off error wasvery small. It might be argued that doubleprecision calculation would have eliminatedthe problem completely. Clearly, accuracyincreases with increased word length, butroundoff never disappears. Since some handcalculators use up to 13 decimal digits instoring numbers while displaying ten digits,we might expect them to have "more thanenough" accuracy. But in many engineeringand statistical problems, calculators canmake significant errors. The reader con-cerned with calculator accuracy might wishto read the short article by Bernard Cole inthe November 25 1976 issue of Electronics.

The reason for the problem with round-off, even with 13 digit accuracy, is thesituation most frustrating for numerical'programmers. Roundoff occurs at everystep of any program. In a very long program,roundoff error may have been introducedmany millions of times. This error maypropagate itself and accumulate into a verylarge error in the result. Programs in whichthis propagation of error is likely to occur(finding the inverse of a large matrix, for

instance) are generally so complicatedthat it is impossible to predict preciselywhat the effect of constant rounding offwill be. Often the numerical analyst resortsto probability theory to get an idea of howmuch error is likely to be in the results.

Errors often become critical when func-tions are calculated. Let us assume we have avalue for the variable x stored in memory.There is some error associated with x(perhaps roundoff error, or maybe x is theresult of a physical measurement). We'll callthis error 5. Thus x = x0 + 5, where x0 is theunknown true value of x. It may be veryeasy to calculate some function of x, f(x),but what is the error of the result? Let usdefine the error of the result as e. Then:

f(x0) + e = f(x0+5)

If we know our initial error 5 is small,we would like to assume the error e issmall as well. If the function is simple, orinvolves only one variable, we can be confi-dent the resulting error is not large if neither8 nor the derivative of the function at x0 islarge. But what about functions of morethan one variable? What about complexalgorithms such as the solution to simul-taneous equations, often done using aprocess mathematicians know as Gaussianelimination? Very often, small errors in theinput values will yield results which are offby a significantly large amount. So large,in fact, that the results are worthless and theprogramming is futile. This situation is dis-tressingly common in everyday problems inscience, engineering and the social sciences.Numerical analysts call a problem wellposed if small errors in input still resultin a reliable answer. However, even a wellposed problem can be solved inaccuratelyif the programmer has not chosen his algo-rithm cautiously.

With all this talk about errors, what canbe done? Is there any hope at all of obtain-ing consistently reliable results? Unfortu-nately, there are no general methods. How-ever, the programmer who is aware of howerrors can occur is in a better position tocompensate for them. For instance, let'slook at the general quadratic equation:

x2 + 2bx + c = 0

[Note: The expression on the left side ofthis equation is equivalent to the familiarform used to generate the quadratic formula,ax2 + bx + c. However, it leads directly tothe computationally simpler form of the tworoots X-] and X2 . . . CM]

48

April 1979©BYTE Publications Inc

If we have a computer of word length t,we might reasonably hope to solve for x byusing the formulas

'1

b+ \bl-

= -b-

These formulae work well in most cases, butthe astute programmer should notice thatthere is a problem if b < 0 and

JsL <io-t.

b2

In that case:

X2 = -b- Vb2-c

will give an erroneous result. A programmerwho tests for this condition can then cal-culate the correct result simply, using therelation

x2 = c/xi

For another example, consider theexperimenter who wishes to record thetemperature of his home hourly, 24 hoursa day, and print out the average of the last24 readings (perhaps he also wants to exe-cute some control operation based on thisaverage). Being inclined toward efficiency,this fellow decides that after having added24 readings for the first average, for each ofthe succeeding averages he need only add thenewest reading and subtract the oldest fromhis running total, rather than read all thereadings every hour. What might happenhere is that small errors which occur duringthe arithmetic are never disposed of and canaccumulate without any upper limit. Perhapsthe error might eventually become as largeas the measurement itself! If this programmerwere not quite so "efficient" and calculatedusing the last 24 readings each hour, theerror would be, at most, 24 times the errorfor each data point.

Folk wisdom claims, "There's more thanone way to skin a cat." Likewise, there'smore than one way to do most calcula-tions. A+B—A does not always equal B toa computer. Algebra tells us that A(B+C)= AB+AC, but again, the computer some-times disagrees. It is the programmer'sresponsibility and challenge to understandhis algorithms and to choose them wisely.The reward for the trouble is results he cantrust!"

REFERENCE

Ralston, Anthony, A First Course in NumericalMethods, McGraw-Hill, New York, 1965.

APPLE OWNERS:

You chose the best.Now, make it better!

With our exclusive Super-chip (ROMfirmware) your APPLE can deliver the bestof both—graphics and text-processing.

■l can your APPLE do thTurn oyer tor answer)

PQRSTUUUXYZCM-r.Plus the desired:

< d!H3S3dnS u? Bend »snr 'SNtD

• Full ASCII character set (lower case)

• 31 other, useful non-ASCII characters

• User-defined characters with ourCharacter Edit Cassette

• Enhanced editing capabilities forprogram and data modification

And, it works with your existingAPPLE programs-Integer BASICand Applesoft.

• The Character Edit • Since you can now

program defines each build characters, you

new character in a can also create new

magnified format with character sets—

a few easy key strokes. foreign alphabets,

music, games, whatever.

The Superchip plugs into your APPLE withno modification.

ORDER NOW

Please send me!

SUPERCHIP

CharacterEdit Cassette

$99.95

$19.95

Shipping Charge (each) $.75

I attach check or money order for $

Or, charge my: DVISA □ Master Charge

Bank Card No

Expiration Date

Name

Address

City

. State.

.Zip.

Signature.

Telephone orders accepted with charge card:214-358-1307

CLECTIC CORP.

2830 Walnut Hill Lane, Dallas, Texas 75229

A Subsidiary: TANO Corporation

Circle 108 on inquiry card.

April 1979 ©BYTE Publications Inc 49

TechnicalFowm

A Comparison of

Bar Code Encoding Schemes

Robin C Moseley14 Standish CirAndover MA 01810

The purpose of this article is to comparesome of the encoding schemes which mightbe used for bar code software. The threemost important characteristics of an encod-ing scheme are:

• Packing efficiency: how many databytes per printed page.

• Vulnerability to wand speed changesand other timing errors.

• Number of storage bytes required fortiming information, assuming postread processing of timing data.

Other less important factors include humanreadability and the constancy of DC outputlevel.

Three methods have previously been de-fined in "A Proposed Standard for Pub-lishing Binary Data in Machine ReadableForm," by Walter Banks and Carl Helmers,November 1976 BYTE, page 10: bar widthmodulation (format 1), ratio recording(format 2), and fixed gap bar width modu-lation (format 3). The other schemes listedin table 1 include frequency modulation(FM), phase encoding (PE), nonreturnto zero inverted (NRZI), synchronized non-return to zero inverted (SNRZI), modifiedfrequency modulation (MFM), group codedrecording (GRC) and zero modulation (ZM).

In phase encoding (PE), a 1 is representedby a transition from white to black and a 0by the opposite transition. Additional transi-tions are added to account for successive 1sor 0s. The frequency modulation (FM) en-coding method provides a transition in eitherdirection at every bit boundary, and an addi-tional transition to mark each 1. The result-ing code is very similar to that created bythe phase encoding method, since both pro-vide timing information at least once per bit.

The nonreturn to zero inverted (NRZI)encoding scheme generates a black to white(or vice versa) transition for every 1. The ab-sence of a transition denotes a 0. Thismethod has the disadvantage that no timinginformation is generated during a string ofQs. The synchronized nonreturn to zero in-verted (SNRZI) method adds a 1 to everybyte to guarantee at least one piece of tim-ing information per byte. If the redundantclock transitions are eliminated from the fre-quency modulation code, the number oftransitions per bit is halved, doubling thepossible density of data for a given minimummodule width; this is modified frequencymodulation (MFM).

Zero modulation (ZM) and group codedrecording (GCR) are modifications of thenonreturn to zero inverted method whichare designed to guarantee timing informationat least once every two or three bits, respec-tively. In group coded recording, each 4 bit

Table 7. Comparisons of various encoding schemes. Overheads such as parity and sync byteswere not included in the packing density calculations. The maximum timing bytes per data bitwere determined assuming perfect bar codes and do not allow for such problems as dirty barcodes.

Encoding scheme

Packing

density

Timing tolerances

Constant DC

Memory requirement

Average databit duration

Data bytes

Absoluate timingtolerance

Wand speed

Maximum timing bytesper data bit

("modules")

per page

("modules")

tolerance

level

Format 2

3

1170

0.5

25%

No

2

Format 3

2.5

1400

0.5

25%

No

2

FM/PE

2

1750

0.5

25%

Yes

2

Format 1

1.5

2330

0.5

25%

No

1

NRZI

1

3500

0.5

6%

No

1

SNRZI

1.125

3100

0.5

10%

No

1.125

MFM

1

3500

0.25

12.5%

No

1

GCR

1.25

2800

0.5

16.7%

No

1.25

ZM

1.125

3100

0.25

12.5%

Yes

1.125

50 April 1979 © BYTE Publications Inc

The TARBELL Connection

In an effort to offer products that meet the continually changing demands of the microcomputerindustry, TARBELL ELECTRONICS is pleased to offer immediate delivery of these quality componentsand operating software. All TARBELL products are available from computer store dealers everywhere.

Tarbell Floppy Disk Interface Tarbell Disk BASIC

• Plugs directly intoyour IMSAI orALTAIR and handlesup to 4 standard sin-gle drives in daisy-chain.

• Operates at standard250K per secondon normal disk for-mat capacity of 256Kbytes.

• Works with modifiedCP/M Operating Sys-tem and BASIC-ECompiler.

• Hardware includes 4 extra IC slots,built-in phantom bootstrap and on-board crystal clock. Uses WD 1771LSI chip.

• Full 6-month warranty and extensivedocumentation.

•Kit $190 Assembled $265.

Specify drive for assembled units.Complete disk subsystems with opera-ting software available. Please inquirefor details.

Runs on 8080, 8085 or Z80Searches a file quickly for a string.Up to 64 files open at once.Random Access.Assignment of I/O.Alphanumeric line labels allowed.Read and Write string or numericdata.

• Unlimited length of variable namesand strings.

• Procedures with independent varia-bles.

• Number system 10 digits BCD inte-ger or floating point.

• Chain to another program.

• Cause programs to be appended on-to programs already in memory.

• Cause interpreter to enter edit modeusing 15 single character edit com-mands.

Occupies 24K of RAM. Tarbell BASIC

on CP/M Disk $48.

Source on paper or CP/M Disk . . .$25.CP/M and BASIC-E on disk withmanuals $100.

Tarbell 32K RAM Memory

32K Static Memory

S-100 Bus Connector

9 regulators provide excellent heat distribution.

Extended addressing (bank switching.)

Phantom line.

Low power requirement.

20-Page operating manual.

Full 1-year warranty.

Assembled and tested full price only $625

16K version also available, assembled and tested only $390.

Tarbell Cassette Interface

•'IIIIJUJJJJlll

Plugs directly into your IMSAI or ALTAIR.

Fastest transfer rate: 187 (standard) to 540 bytes/second.

Extremely reliable—Phase encoded (self-clocking).

4 extra status lines, and 4 extra control lines.

3 7-page manual included.

Device code selectable by DIP-switch.

Capable of generating Kansas City tapes.

No modification required on audio cassette recorder.

Complete kit $120 Assembled $1

Manual may be purchased separately

Full 6-month warranty on kit and assembled units.

Tarbell Cassette BASIC

Includes most features of ALTAIR Extended BASIC, plusthese added features:

• Assignment of I/O.

• Alphanumeric line labels.

• Unlimited length of variable names and strings.

• Number system 10 digits BCD integer or floating point.

• Procedures with independent variables.

• Read and Write string data.

• Multi-file capability.

Full price with complete documentation $48.

Prepaid, COD, or cash only. California residents please add6% sales tax.

ALTAIR is a trademark/tradename of Pertec Computer CorporationCP/M is a trademark/tradename of Digital Research

75.$8.

Circle 360 on inquiry card.

950 DOVLEN PLACE • SUITE BCARSON, CALIFORNIA 90746

(213)538-4251 »(213) 538-2254

BYTE April 1979

51

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.

unit of data is mapped into a unique 5 bitword chosen to assure no more than twoconsecutive Os. In zero modulation each bitis mapped into two bits and the result en-coded in nonreturn to zero inverted format.The net result is comparable to that pro-vided by group coded recording with theadvantage, useful in the magnetic recordingfield, of a constant DC level.

All these schemes can be handled rela-tively simply in software. The deciding fac-tor should be made on other grounds.

Table 1 compares the number of databytes which can be printed on an 8.5 by 11inch (21.6 by 27.5 cm) page, assuming anarrow bar width of 0.014 inches (0.04 cm)and a line to line spacing of 0.15 inches(0.38 cm). Several of the methods listed willprovide between 2500 and 3500 bytes perpage. Since packing density is not particu-larly critical in this application, the choiceshould be made on the basis of the remain-ing and crucial criterion: vulnerability towand speed changes and other timing errors.

It is in this area that the requirements ofhand held optical reading diverge from thoseof machine driven magnetic recording. In themagnetic recording field, short term varia-tions of the relative velocity between themedium and the head are held to a mini-

Some things are justnaturally right.

tin

tiny-c is a structured programmi ng language designed

to allow you to focus attention on the problem youwant to solve - rather than the language you're usingto solve it. With tiny-c you can expand your horizonsfar beyond the limits of BASIC. The tiny-c Owner'sManual (including 8080and PDP-11 source code) is IMachine readable copies of the

interpreter are available on selected media.To order your tiny-c Owner's Manual call or write:tiny c associates, P.O. Box 269,Holmdel,-g-1 Mm/ N.J. 07733. (201) 671-2296.▼ You'll quickly discover tiny-cis naturally right for yourlanguage needs.

i Jersey residents include 5% sales tax. Visa tmd Moster

40.

^B / New Jersi^LS Charge a

mum. The designer's main concern is withthe absolute value of the permissible phaseerror; ie: the amount by which timing errormay apparently move a transition beforeplayback errors occur. The speed of a handheld wand may vary widely from place toplace on the data track. In this case we areconcerned with the permissible percentspeed change which can occur between twotransitions relative to the average speed overthe previous few transitions. This may becalculated as the percentage ratio of the per-missible phase error to the maximum timewhich can occur between transitions.

Table 1 expresses the timing tolerance ofeach scheme in terms of the permissiblespeed change and the absolute timing error.Since the modified frequency modulationand zero modulation methods have to dis-tinguish between bars which are 1, 1.5 and2 modules wide, they are both twice as sensi-tive as the others to absolute errors such asprinting tolerances, and may be rejected forbar code printing for this reason.

The choice between the remainder maybe made on the basis of a compromise be-tween packing density and speed tolerance.The percent speed variations listed in table 1are permissible only in the ideal case, inwhich printing tolerances and other timingerrors are zero. In real life, short term con-sistency of wand speed is more critical thantable 1 makes it appear to be. ASCII codeprinted by the nonreturn to zero invertedmethod can have eight successive zeros, evenif the null character is not permitted. Thisleads to a very low speed change tolerance.The synchronized nonreturn to zero in-verted method reduces the number of con-secutive zeros to five by introducing an extra1 per byte. Nevertheless, the speed toleranceis still low and both methods may be elimi-nated for this reason.

Of the remainder, group coded recordinghas the greatest packing density, by 20 per-cent, but the others have a 50 percentgreater tolerance to speed variations. It isquestionable whether the software complica-tion and lower speed tolerance of groupcoded recording are worthwhile in this appli-cation.

This leaves frequency modulation, phaseencoding, bar width modulation, ratio re-cording and fixed gap bar width modulationas alternatives. All these methods have thesame speed and absolute timing tolerances.The choice may be made on the basis ofpacking density. The bar width modulationmethod comes out far ahead of the othermethods. Bar width modulation is the logi-cal choice for the encoding of printed soft-ware intended for recovery by a hand heldlight wand."

52 April 1979 © BYTE Publications Inc

Circle 365 on inquiry card.

BYTEs Bugs

Puzzling Machine Language Puzzler

The "Machine Language Puzzler"in BYTE January 1979, page 52 wasvery interesting. However, I must dis-agree with the author's detailed analysisof how the program works. It is a CALLFFFD instruction located at addressFFFD which repeatedly calls itself,pushing a return address of 0000 onthe stack, until all of memory is zeroedincluding the program itself.

Let's take a detailed look at whathappens after memory locations 0001through FFFC have been zeroed. First,the CALL FFFD instruction is fetchedfrom locations FFFD, FFFE, and FFFF.This causes the program counter tobe loaded with FFFD, and 0s are writteninto locations 0000 and FFFF. Atthis point the CALL instruction hasbeen changed to a CALL 00FD, but theprogram does not yet branch to address00FD as stated. The next instruction isstill fetched starting at address FFFD,since the CALL FFFD was fetched frommemory before location FFFF changedfrom FF to 00. Now the CALL 00FD isfetched, 0s are written into locationsFFFE and FFFD, and the program startsexecuting NOPs at address 00FD. Notethat no NOPs are executed atall until all of memory has been zeroed.

In the case where memory onlyexists at addresses 0000 to 00FF andFF00 to FFFF, operation of the pro-gram is very complex. It proceeds asabove through zeroing all existing mem-ory and branching to a NOP at 00FD.When the FF (RST 7) is executed atlocation 0100, a 0101 is pushed on thestack at locations FFFC and FFFB.Memory continues to fill up with 0101suntil a 01 is written at location 00FF.Starting at this point the return addresspushed on the stack may be 0101, 0102,or 0103 depending on whether theRST 7 is executed at 0100, 0101, or0102. Remember that one or two bytesof FF may be read as data of a LXI B,data instructions. The program ends upexecuting a complex sequence of LXI B,STAX B, and INX B instructions in aloop starting at address 0038 and endingwith a RST 7 instruction at 0100, 0101,or 0102. The program will keep changingitself as the stack wraps around forever.

It is still an interesting program. Thenet effect, in the first case, is still thesame. I wonder if a similar program thatzeros out all of memory including itselfexists for other microprocessors as well?

Keith Rubow18454Bellefont DrAzusa, CA91702"

Geta

Not just a machinethat emulates one.

The Pascal engine doesn't merely interpret P-Code, its instructionset is P-Code. This powerful computer runs the full UCSD PascalOperating System and includes all of the following items:

• Pascal microengine™ with 32 bit FLOATINGPOINT instructions including floating pointMULTIPLY & DIVIDE with provision for expandinginstruction set to include double precision.

• 64K bytes (32K words) of RAMexpandable to 128K bytes. (64K words)

• FLOPPY DISC CONTROLLER withdirect memory access (DMA)switch selectable for:

— single, or double density

— 8" floppy or mini floppy

— 1 to 4 drives (same type)

• Complete UCSD Pascal Operating System

— PASCAL compiler —File Manager—BASIC compiler —Screen oriented editor—GRAPHIC package —Debugger

• Two RS-232 asynchronous ports(110-19,200 baud)

• Two 8-bit parallel ports

• Auto test microdiagnostics

• Documentation

$2900 Complete with stylized low profile housingand power supply

Special Introductory price $2500 through 4/30/79

€

CUTTING EDGE OFTECHNOLOGY, Inc.

19th floor, 61 Broadway, New York, N.Y 10006212-480-0480

Circle 85 on inquiry card.

April 1979 © BYTE Publications Inc 53

Smart Memory part 1

Randy C Smith115 Crosby Ct #2Walnut Creek CA 94598

About the Author

Randy Smith is em-ployed by Sem ionicsAssociates as the designengineer for the REM5-/00 board and is thecoinventor of REM. Hispersonal interests in-clude artificial intelli-gence research, es-pecially language com-prehension.

MASK

FNCODE M I

+ H

(EXACT MATCH) I

COMPARAND

There is a useful distinction being madetoday between two types of display termi-nals: so-called "dumb" terminals performthe necessary functions of data reception,transmission, and display. Their intelligentcounterparts, however, are capable of per-forming sophisticated data manipulations ontheir own, relieving the host processor ofsome of the routine burden. The same dis-tinction could be drawn from memorysystems. In most machines the memorycomponent forms a passive blackboard:its function, the principal one of any mem-ory, is to remember. Yet memory systemscan be built which take a more active pro-cessing role.

What kinds of things could a smartmemory do? The normal random accessmemory has unique addresses for its cells,and an address must be provided to reador write information, one cell at a time. Theconcept of address or location as a necessaryattribute of content may be difficult forbeginning programmers to grasp. A far morepalatable idea to the human thinker is thatwords, shapes,- or sounds serve to "call up"the information associated with them.

Suppose we distribute some intelligencethroughout our special memory system,animating it by changing each memoryword into a demon. These demons arejumbled about together in a darkened cave,and their principal characteristic is that they

sSELECT

TOOL

HAMMER

BALL-PEEN.

25

■□

I I

I I

X

HAMMER

X

X

X = DON T CARE

ITEMCLASSIFICATION

GENERICGROUP

SUBTYPE

QUAN-TITY

EXAMPLEFORMAT

Figure I: An example of full word parallel information retrieval.

54 April 1979 © BYTE Publications Inc

recognize when they are being spoken about.Aside from that, they are rather lazy, work-ing only when standing up, and sitting downfor a snooze at the earliest opportunity. Forexample, our demons might represent inven-tory information for a hardware store.

"Alright, everybody on your feet!"(Otherwise nobody would payattention.)

"I want anyone who knows anythingabout hammers."(There is a resounding thud as allsorts of appliance demons, chain-saw demons, etc sit down andresume their naps.)

"Specifically, ball-peen hammers."(Claw hammer and jackhammerdemons drop out, leaving, in thisexample, one solitary demon.)

"How many do we have on hand?"

We did not need to know where thedemon was who answered us. A reply to ourquery emanated from the mouth of the cave.We don't even know how many demons lurkinside -- since all demons work simulta-neously, we got our answer in a time inde-pendent of their number. Consider what thismeans for information retrieval: if the pre-ceding "program" takes N microsecondsfor a file of 10 inventory items, and the filegrows to 10,000,000 items, the processingtime required is still N microseconds. Thereinlies one of the most tantalizing aspects of amemory system like this — adding moreinformation (more memory) improves sys-tem performance:

• More items are processed in the sametime;

• There are no address space saturationor segmentation problems, since ad-dresses are not used — a single bitsignal (on/off) can distinguish accessesto this memory from normal addressedmemory requests.

A memory having qualities like those justillustrated is called an associative memory orCAM [content addressable memory). Nottoo surprisingly, associative computer mem-ories in varying forms have been proposedmany times before. The reasons why people

LU

<

z

LU

s<

z

H03

LUCO

<

LU

DC

co

1-

a

X

LU

co

o

C9

LU

<

>

<

-3

<

CO

I

LU

-1

ETC

-

-

ENGINEER

45

F

BLD

BL

-

-

-

-

SECRETARY

33

F

-

-

-

-

-

-

-

-

-

—

-

—

-

JACKSON

SUE

-

-

-

JANITOR

50

M

-

-

8/78

-

-

-

MANAGER

-

F

-

-

-

-

JONES

MIKE

ENGINEER

38

M

BR

BR

-

-

-

-

-

-

F

-

-

-

-

-

-

ENGINEER

41

M

BR

BL

-

-

-

-

-

-

-

-

-

-

-

JETER

BOB

ENGINEER

27

M

BR

BR

5/78

-

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(81

19)

(10)

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

(1) SET

(2) JOB = "ENGINEER"

(3) HAIR = "BR"

(4) EYES = "BR"

(5) LASTNAME = "J??????"

(including the author) "reinvent" the con-cept with some regularity are twofold: thedescriptions of this form of memory rarelymake it past technical parallel machinearchitecture symposia or journals into themore commonplace world; and the beautyand power of a memory that can by its verynature eliminate or ease searching, sorting,table lookup, and pattern matching is soStriking—the idea is so natural in humanterms that it occurs to many individuals.

Figure 1 shows a conceptual associativememory word holding information from theprevious example. It can be seen that a longword is desirable to store related data. Exactmatch was the only comparison functionused (and is the basic, sometimes only, asso-ciative function available in the integratedcircuit forms of this memory). A mask isapplied to all the words and selects the partof the words to be treated (either matchedagainst, or read out). The comparand is thecommon information that all words test.Due to the length of associative words, somereal designs compare the words with thecomparand one bit at a time (bit serial, wordparallel). This reduces the amount of com-parison logic and the size of the data pathsto reasonable levels, although a full wordcomparison takes longer.

Comparisons are usually over lengthsmuch less than the full word size, so thecompromise is a good one. With each word

(6) AGE > 25

(7) AGE < 30

(8) SEX = "M"

(9) READ(LASTNAME.FIRSTNAME)(10) READ(LASTRAISE)

there is one separate bit of information forthe response status, called the tag. The SETfunction forces the tags to their respondingstate (1), thereby activating all words ini-tially. A good survey of associative memoryarticles and architectures is found in Yauand Fung. There is also a new, easy to followbook on the subject by Foster (see biblio-graphy). The full word parallel design offigure 1 will be used for the examples, sinceit is the simplest conceptually. A morepractical architecture that can be built foran S-100 computer will be outlined in part 2.

Selection

More intelligence can be added to ourdemons.

"Everybody up!"

(1) SET — Load personnel file fromdiskette.

"Who, in my employ, — an engineer,brown hair and eyes,

(2) JOB = "engineer"& (3) HAIR = "br"

& (4) EYES = "br"

last name "J . . . " something, between25 and 30 years old — has been datingmy daughter?"

Text continued on page 58.

Figure 2: When selecting afinal response, check thatone of the response bitsis still set after all ques-tions have been asked andanswered.

April 1979 ©BYTE Publications Inc

55

For your SWTP 6800 Computer...

PERCOM's"FLOPPY DISK SYSTEM

the

f

>

1— f—\f—'

n/j Li!

1

\

u ^ ■* *- ■*

Ready to plug in and run the moment you receiveit. Nothing else to buy, no extra memory. No"booting" with PerCom MINIDOS'", the remark-able disk operating system on EPROM. Expand-able to either two or three drives. Outstandingoperating, utility and application programs.

For the low $599.95 price, you not only get the disk drive, drive powersupply, SS-50 bus controller/interface card, and MINIDOS'" you alsoreceive:

• an attractive metal enclosure • a fully assembled and tested inter-connecting cable • a 70-page instruction manual that includes operat-ing instructions, schematics, service procedures and a complete list-ing of MINIDOS'" • technical memo updates — helpful hints whichsupplement the manual instructions • a 90-day limited warranty.

SOFTWARE FOR THE LFD-400 SYSTEMDisk operating and file management systemsINDEX™ The most advanced disk operating and file managementsystem available for the 6800. INterrupt Driven Executive operatingsystem features file-and-device-independent, queue-bufferedcharacter stream I/O. Linked-file disk architecture, with automatic filecreation and allocation for ASCII and binary files, supports sequentialand semi-random access disk files. Multi-level file name directoryincludes name, extension, version, protection and date. Requires 8K

RAM at $A000. Diskette includes numerous utilities $99.95

MINIDOS-PLUSX An easy-to-use DOS for the small computing sys-tem. Supports up to 31 named files. Available on ROM or diskette

complete with source listing $39.95

BASIC Interpreters and CompilersSUPER BASIC A 10K extended disk BASIC interpreter for the 6800.Faster than SWTP BASIC. Handles data files. Programs may be

prepared using a text editor described below $49.95

BASIC BANDAID'"Turn SWTP 8K BASIC into a random access datafile disk BASIC. Includes many speed improvements, and program

disk CHAINing $17.95

STRUBAL+'" A STRUctured BAsic Language compiler for the pro-fessional programmer. 14-digit floating point, strings, scientific func-tions, 2-dimensional arrays. Requires 16K RAM and Linkage Editor(see below). Use one of the following text editors to prepare programs.Complete with RUN-TIME and FLOATING POINT packages $249.95

Text Editors and ProcessorsEDIT68 Hemenway Associates' powerful disk-based text editor. Maybe used to create programs and data files. Supports MACROS whichperform complex, repetitive editing functions. Permits text files larger

than available RAM to be created and edited $39.95

TOUCHUP™ Modifies TSC's Text Editor and Text Processor for Per-Com disk operation. ROLL function permits text files larger thanavailable RAM to be created and edited. Supplied on diskette com-plete with source listing $17.95

AssemblersPerCom 6800 SYMBOLIC ASSEMBLER Specify assembly optionsat time of assembly with this symbolic assembler. Source listing on

diskette $29.95

MACRO-RELOCATING ASSEMBLER Hemenway Associates'assembler for the programming professional. Generates relocatablelinking object code. Supports MACROS. Permits conditional

assembly $79.95

LINKAGE EDITOR — for STRUBAL+'" and the MACRO-Relocating

assembler $49.95

CROSS REFERENCE Utility program that produces a cross-reference listing of an input source listing file $29.95

Business ApplicationsGENERAL LEDGER SYSTEM Accommodates up to 250 accounts.Financial information immediately available — no sorting required.Audit trail information permits tracking from GL record data back to

source document. User defines account numbers $199.95

FULL FUNCTION MAILING LIST 700 addresses per diskette. Power-ful search, sort, create and update capability $99.95

PERCOM FINDER'" General purpose information retrieval system

and data base manager $99.95

™ trademark of PERCOM Data Company, inc.

Ordering information

To order, call toll free 1-800-527-1592. MC and VISA welcome. CODorders require 30% deposit plus 5% handling charge. Allow threeweeks for delivery. Allow three extra weeks if payment is by personalcheck. Texas residents add 5% sales tax.

PERCOM 'peripherals for personal computing'

56

BYTE April 1979

Circle 301 on inquiry card.

Requires 16K RAM,Level II BASIC andExpansion Interface

PERCOM DATA COMPANY, INC.

Dept. B 318 Barnes Garland, Texas 75042(214)272-3421

7b Order Call 1-800-527-1592

'RADIO SHACK amt.IRS-80 are iisilemarks of Tandy Corpoialiori *rticn has no slafinnsttip to PtfCOM DATA COMPANY, INC.

Circle 301 on inquiry card.

BYTE April 1979 57

Text continued from page 55:

&(5)LASTNAME = "J???????????"& (6) AGE > 25& (7) AGE < 30& (8)SEX = "m"

"Has he had a raise lately?"

(9) READ(LASTNAME,

FIRSTNAME)

(10) READ(LASTRAISE)

Figure 2 shows another example of in-formation retrieval, this time with a person-nel file, and again with a single demonfinally selected. Response of the demons isshown after each step. Any of the relationalcomparisons as well as exact match can beadded easily to the function set. Informationhas been broken down into fields and fieldlengths the user deemed most valuable.Since this word format can be stored onfloppy disk with the data, the driving pro-gram or operating system has easy accessto it and can manipulate the mask to select

Command

(1) SET

(2) MW FL1,FL2,FL3,FL4,0F16

(3) ADD LASTMO TO STD

(4) REGION = 'W

(5) STD > 100

(6) MW FL1.0

(7) SET

(8) REGION =

(9) STD > 75

(10) MW FL.2,0

(11) SET

(12) REGION =

(13) STD > 50

(14) MW FL3,0

'E'

'C

(15) SET

(16) FL1,FL2,FL3 = 1112

(17) MW FL4,0

(18) SET

(19) FL4 = 1

(20) QUERY

(21) JUMPZ, (26)

(22) READ(LASTNAME.FIRSTNAME)

(23) PRINT(LASTNAME,FIRSTNAME)

(24) NXT

(25) JUMP (20)

(26) END

Table 1: A complete In-formation processingexample with parallelupdate, and the use ofdisjunctive sets.

Action

Activate all words.Initialize all four flags at once.*STD-STD + LASTMO for all words.Select western region salesmen.

FL1 = 0 marks the members of thisgroup with sales to date over $100,000.

Eastern region salesmen with sales todate over $75,000.

Central region salesmen with sales todate over $50,000.

All salesmen not included in the three*subsets above have FL4 = 0.

The union of the three subsetsAny members left in this set?Transfer to statement 26 if not.

Read the specified fields of the first

responder and print them.

Turn off first responder (select next

one).

•MASK FOR ONE-STEP FLAG MANIPULATIONS

the field requested for each operation. Atop level program could be as utterly read-able as the one given with the example.So far, only the first step in utilizing infor-mation in the associative memory has beenillustrated — the selection process. The over-all set of entries is logically reduced byselection criteria to the subset of interest.Members of the smaller set may now be up-dated in parallel, or read out (in part, ifdesired) on some priority basis; the formerinvolves parallel writing of the associativewords, and the latter, responder resolution(when there is more than one answer).

Multiwrite

Now that the demons we want are ontheir feet, what kind of work can they dobesides checking their description? They canall be told to change it at the point specifiedby the mask (ie: all responding words canbe made to change their values at once tothe value on the comparand bus). Thisprocess of writing a common datum, inparallel into all responding words, is calledmultiwrite responders by Foster, and he callsassociative memories possessing this abilityCAPPS (content addressable parallel pro-cessors). Whole sets of items can be updated(eg: marking certain bills as paid), or, if theselection criterion is known to produce aunique result, more specific information canbe written (change John 0 Williams job titleto manager).

Again, we can be sending these associ-ative write commands into the interior ofa dark cave. We know which demons arereacting, but we don't know where theyare, nor do we care. The nearest use ofaddress information occurs when the maskis changed to operate on a specific field(whose relative location inside each wordhas been previously established).

By setting the mask to enable the writingof only a single bit (or bits), parallel programflags can be kept with each word, recordingthe word's membership in some selectedgroup, with the flag itself possibly becoming

SELECT

STD=SALES TO DATE($IOOOs)

LASTMO = LAST MONTH'S

SALES ($IOOOs)

LAST NAME

FIRST NAME

REGION

STD

LASTMO

—u—

FLI

FL2

FL

3

FL

4

FORMAT

58 April 1979 © BYTE Publications Inc

Wordsmith is the video text editing system you've beenwaiting for Its power, flexibility and simplicity help you carveany text editing task down to size —in a way you canunderstand. We wanted a system that allows you to think intraditional ways about text layout, yet at the same time makesthe traditionally tedious operations such as cut and pastesimple and fast. We think we've done it. We want you to decidefor yourself ^m^^mmmm^^^^^^^^^^^^^^^^^^^^^^

Flexibility

Logical/Physical Page Distinction. Define your ownhardcopy size. Wordsmith remembers the differencebetween the screen size and the hardcopy page size.

Modular Hardcopy Driver. Drive a Qume® Sprint-5 orTTY-like device directly now, Diablo, NEC and otherhardcopy devices soon.

Pure Text. Wordsmith files are pure text with no controlcharacters mixed in. This universal format keeps you ascompatible with the world as possible. What you see on thescreen is what you get as hardcopy.

Page Templates. Snapshots of the block layout of a pagecan be saved as named disk files, then later recalled andsuperimposed on the current page. Use such "templates"for standard multicolumn layouts, common letter formats,and fixed-field forms. A single keystroke dispatches youquickly from block to block as you fill in your page.

(ZZ1

□

Take a

snapshot

of a

page's

window

layout

File Switching. Moving from document to document toexamine, copy, move and change text is like rolling off a log.You're not confined to one disk file at a time anymore. ■■

Power

Page Oriented Philosophy. A document is a collection ofpages. The screen displays one entire page at a time. Simplerandom access page flipping commands take you quickly toany page in the document. Equally efficient commands allowyou to insert, delete, copy and move pages both within onedocument and across documents.

Extensive Block Manipulation Capabilities. Using"windows", portions of text, charts, etc., can be quickly andeffortlessly moved around on the current page, or acrosspages. The shape and size of any window can be changed inreal time, with the contained text automaticallyreformatting itself (heeding word and paragraphboundaries) to conform to the new shape.

i 1

1 I

MoveText Blocks

Set Up

Multiple Text

Regions

u

Change Text Shape

Instantaneous Formatting. Compacting (extraneousblank deletion) and right justifying are simple commandsthat tidy up a full page or window's worth of text in the blinkof an eye. Random access cursor movement, line andcharacter insert and delete, line and page split and join, anda host of other line and character level commands help youput text in its place quickly and accurately.

Simplicity

Auto Word Break. Forget the right margin. Wordsmithnotices when you won't be able to complete the currentword and moves it to the next line for you as you continuetyping.

Understandable Commands. The most frequently usedcommands are single keystrokes. The rest are easilyremembered abbreviations.

Informative Status Lines. The top two screen linesconstantly display page number information, documentname, cursor position, tab stops and status/errorphrases. You're always in touch with your document.

Page 3 of 8

File=ADV1

Cursor row 28, col 43

t ♦

*

I t

The TM

oX3RT)srait:h

TEXT EDITOR

Defining the New Generation of Text Editing

from Micro Diversions, Inc.8455-D Tyco Rd.Vienna, Va. 22180(703) 827-0888

■ Direct CP/M«" and North Star DOS compatibility

■ Available for 40x86, 24x80 and 16x64 memory-mappedvideo boards

■ Fully reentrant for efficient multi-programming environ-ments (6K program space, 5K data area)

■ 8080 and Z80 compatibility

Protection Against Catastrophic Errors. It's nearlyimpossible to rum your document with a single badcommand. Wordsmith's page oriented design and double-checking user interface help you do what you mean!

OrderingInformation:

$200

(Screensplitter'M Owners: $80)

Manual only: $15

Check, VISA. Mastercharge

1. CP/M or North Star DOSversion?

2. TTY or QUME interface?

3. Brand and memory address ofvideo display board?

4. Ship on single or doubledensity, 5" or 8" diskette?

Inquire about our custom keyboard.

Circle 219 on inquiry card.

BYTE April 1979 59

part of future selection criteria. Alternatively,these flags might be used to save carry oroverflow information during parallel arith-metic routines. Indeed, combining theseprogram variables with further comparisonsequences makes possible a whole list ofparallel associative routines like:

MAX I MUM

MINIMUM

NEXT GREATER THAN

NEXT LESS THAN

ADD or SUBTRACT constant

ADD or SUBTRACT fields

STRING SEARCH (pattern matching)

SORT on any field.

Figure 3 demonstrates the method of flag-ging responding words, table 1 shows acomplete information processing examplewith parallel update, and the use of disjunc-tive sets.

Responder Resolution

When it becomes necessary to get infor-mation out of the words rather than justupdating them in place, some form of ar-bitration is required to handle cases of mul-tiple responders. It is useful to have a queryfunction to tell if there are any respondingwords. "Is anybody in there?" Any demonssitting down and asleep would not answer,

SOFTWARE DEFINED WORD FORMAT WITHONE BIT RESERVED FOR A FLAG

NAME

PHONE

AGE

0

STATE

1) SET

2) MW FLAG, 0

SELECT ALL WORDS

MULTIWRITE 0 IN FLAG BIT

(MASK ENABLES WRITING ONLY FLAG)

ALL FLAGS ARE INITIALIZED TO A KNOWN STATE (0)

51

1

IL

•••

55

0

OK

•••

60

1

IL

3) AGE > 50

4) STATE =IL

5) MW FLAG , I

Figure 3: Multiwriting allows the user to write data into all locations that areresponding at the same time.

and any amount of simultaneous yes replieswould still be interpretable. In fact, anyanswer at all, except total silence, indicatesthere is at least one responder. A single,readable bit line on which each word ORs itstag (responder = 1) would tell the centralprocessor whether or not any active wordswere left. (With some analog hardware wemight even count the number of respondersby measuring the intensity of the answer.)

It is not acceptable to walk to the mouthof the cave and yell inside, "I want the nameof anyone who speaks French." If only onestanding demon meets this requirement, theanswer you hear will be true, but in generalyou may expect to be greeted with an un-intelligible mixture of voices. To handle theproblem, a priority list can be implementedat the hardware level. All words in the sys-tem are daisy-chained together to one wordarbitrarily defined as having the highestpriority. When an associative read is exe-cuted, a small amount of time is allowedfor the chain to select the highest priorityresponder, and that responder alone isenabled to place its requested field(s) on thedata in bus to the processor. With a compan-ion function, Next, which turns off the firstresponder, information may be extractedserially from each active word withoutaddresses and without conflict.

Without addressing, we are able to do thefollowing: select via content those words wewant (in parallel); process them in place (inparallel); and read out their information(serially).

Entering data into an associative memoryinitially is a serial operation, so provision isoften made for random access addressing.With absolute fixed addresses, associativememory may be quickly loaded from sec-ondary storage or main memory throughDMA (direct memory access) or blocktransfers. Random access reads and writesare both allowed. To save address spacewhen using this addressable associative mem-ory, the memory may be arranged intobanks occupying the same locations. Ran-dom access memory requests affect onlythe addressed memory section whose bankis selected; associative instructions ignorebank information and activate the wholememory.

Given the addressing order now placedon the memory, an alternative to the prior-ity list responder resolution hardware isavailable. The tags of words sequential inaddress space may be blocked into groupsand fed to the central processor as datafrom special input ports or memory loca-tions. The processor can then scan the bitsin order for Is (responders). Since tag Nrepresents word N in the associative mem-

60 April 1979 © BYTE Publications Inc

Color. VP-590 add-on Color Board allows programcontrol of 8 brilliant colors for graphics, color games.Plus 4 selectable background colors. Includessockets for 2 auxiliary keypads (VP-580). $69.*

Sound. VP-595 Simple Sound Board provides 256tone frequencies. Greatforsupplementing graphicswith sound effects or music. Set tone and durationwith easy instructions. $24*

Music. VP-550 Super Sound Board turns your VIP into a musicsynthesizer. 2 sound channels. Program control of frequency,time and amplitude envelope (voice) independently in eachchannel. Program directly from sheet music! Sync provisionfor controlling multiple VIPs, multitrack recording or othersynthesizers. $49*

Memory. VP-570 RAM Expansion Board adds 4Kbytes of memory. Jumper locates RAM in any 4Kblock of up to 32K of memory. On-board memoryprotect switch. $95.*

EPROM Programmer. VP-565 EPROM Programmer Boardcomes complete with software to program, copy andverify 5-volt 2716 EPROMs—comparable to unitscosting much more than the VP-565 and VIP puttogether! Programming voltages generated onboard. ZIF PROM socket included. $99.*

EPROM Interface. VP-560EPROM InterfaceBoard locates two 5-volt 2716 EPROMs (4Kbytes total) anywhere in 32K of memory.VIP RAM can be re-allocated. $34*

ASCII Keyboard." Fully encoded, 128-character ASCIIencoded alpha-numeric keyboard. 58 light touch keysincluding 2userdefined keys!Selectableupperandlowercase. Handsomely styled. Under $50*

Tiny BASIC.** VP-700Expanded Tiny BASIC Boardputs this high-level languageon your VIP. BASIC storedin 4K of ROM. Ready for im-mediate use—no loadingnecessary. This expandedBASIC includes the standardTiny BASIC commands plus12 additional—includingcolor and sound control!Requires external ASCIIencoded alpha-numerickeyboard. $39*

iary Keypads. Programyour VIP for 2-player inter-action games! 16-key keypadVP-580 with cable ($15*)connects to sockets pro-vided on VP-590 Color Boardor VP585 Keyboard InterfaceCard ($10*).

COSMAC VIP lets you add.computer power a board at a time.

With these new easy-to-buy options, the versatileRCA COSMAC VIP(CDP18S711) means evenmore excitement. Morechallenges in graphics,games and control func-tions. For everyone, fromyoungster to serious hobby-ist. And the basic VIP com-puter system starts at just $249* assembledand ready to operate.

Simple but powerful—not just a toy.

Built around an RCA COSMAC micro-processor, the VIP includes 2K of RAM. ROMmonitor. Audio tone with a built-in speaker.Plus 8-bit input and 8-bit output port to inter-face relays, sensors or other peripherals. It's

easy to program and operate.Powerful CHIP-8 interpre-tive language gets you intoprogramming the firstevening. Complete docu-mentation provided.Take the first step now.Check your local com-puter store or electronicsparts house. Or contactRCA VIP Marketing, New Holland Avenue,Lancaster, PA 17604. Phone (717) 291-5848.

"Suggested retail price. CDP18S711 does not include video monitor or cassette recorder."Available 1st Quarter, 1979.

The fun wayinto computers.

RCA

Circle 322 on inquiry card.

BYTE April 1979 61

Photo I: Video displayof an inquiry to Semion-ics' associative memoryboard, REM, and the re-sponse. In the inquiry, ?is a don't care characterwhich will match anything.

DMC3 - MOERSTN, NAHEi

« G????????» ZIP » 941??, VIM

L£ 1931]

jSJlll925 2W-16-3243

953H.IU.Y-IM LOSHtLTOS

CA 94«2 415-941-W47

*!£5t928 184-98-3264

lttt-CKSTVIBH) LOS-ALTOS

W 94122 415-941-3129

n^iijii m-26-nx

632-0K&0H-R0 NTN.UIEH

CA 94143 415-9W-421?

ANDERSON WISK%Tim 555-46-5982

286-LAURft-LH HTN.UIEH

C* 94143 415-9S1-134S

ory, an absolute word address can be de-rived and information read random accessstyle.

The accessing of data via address makesthis second responder resolution techniquenonassociative, but it is sometimes used toavoid the extensive hardware of the prioritylist.

The Real Time Pinch

When the first generation of computerswas being built, hardware was critically ex-pensive, and the von Neumann architecture —a general purpose design which truly mini-mizes hardware through serial processing —was not seriously questioned. With theplummeting cost of electronic parts, mini-mizing hardware has become less importantto the designer. The desire to maximizethroughput, particularly in multiuser situ-ations, has led to the introduction of par-allel processing at all architectural levelswith the concomitant increase in hard-ware complexity — from multiprocessorsystems, to machines incorporating mul-tiple independent I/O (input/output) chan-nels, down to distributed processing logic, asin an associative memory. The concept of ageneral purpose parallel computer is quitehazy, so the thrust has been to buildspecialized hardware for the von Neumannmachine to deal with the parallel com-ponents of computing as they arerecognized.

Some products for associative processingare commercially available. On the high end,STARAN is a very expensive associativemachine from Goodyear Aerospace, andmay be the only machine of its kind forsale. On only a slightly less grand level,there are a few 16 bit or smaller CAMS(integrated circuit associative memory inte-grated circuits), which even in quantities of100 carry a price tag of about $1.50+ perbit. They are fast parts, some with speeds inthe 10 to 40 ns range. IBM also uses suchfast, and small associative memories in the

virtual memory hardware of the 360/67for quick address lookup. But associativememory for a large computer subsystemneed not be nearly so fast, nor could itbe tolerable at such a price. Cost, in theworld of electronics, is not necessarilya function of complexity, but of volume.

Unfortunately, large manufacturersmust usually see millions of projected salesbefore entering the marketplace withanything really new. Big businesses, mean-while, cannot afford to walk away fromyears of accumulated software on theirpresent machines, no matter how cumber-some. Software is expensive to create andmaintain, so big installation inertia willkeep sales volume at a trickle. Yet given theubiquity of sorting, searching, merging,updating, and linking in such business sys-tems, it is no small irony that a judiciouslyused associative memory subsystem couldin many cases greatly reduce software com-plexity, and therefore expense (not to evenmention greatly increase program speed).To review, costs will not come down, norviable products become available untilexpected sales volume goes way up, and at$1.50 per bit

The cycle, representative of large scalebusiness, may perhaps be broken at thenew grass roots level — the home, smallbusiness, or research system where inertiais at a minimum. An add-in associativememory can be designed with off-the-shelfintegrated circuits and random accessmemories for a cost to memory ratio ofonly 2 or 3 to 1. This memory design isdiscussed in part 2 (May 1979 BYTE).

BIBLIOGRAPHY

1. Foster, Caxton C, Content Addressable ParallelProcessors, Van Nostrand Reinhold Co, NewYork, 1976.

2. Yau, S S and Fung, H S, "Associative ProcessorArchitecture — A Survey," Computing Surveys,volume 9, number 1, March 1977.■

62 April 1979 © BYTE Publications Inc

NorthStarT^

"Micro-Computer Productsto Look Up to"

L

F

_T

w

I

Horizon Disk CapacityKeeps Growing

The Horizon is now capable of 720Kbytes on-line! The Horizon can connectto four double density 5Va" single-sideddisk drives. Each of those drives canaccess 180K bytes of information. Afour drive system accesses 720 Kbytes!

That's capacity you don't usually find ina microcomputer, but there's evenmore to come! The North Star disk con-troller board is designed so that two-sided disk drives may be added assoon as they become available fromNorth Star.

Existing Horizons will accommodate thenew two-sided drives so North Starowners can simply add additionaldrives to up-grade their system. Eachtwo-sided drive will access 360K bytes!That means the maximum on-line diskstorage for the Horizon will increase toover 1.4 million bytes!

New Cabinetfor Disk Drives

North Star additional disk drives arenow available with the same highquality wood cover as the Horizoncomputer! The Additional DriveCabinet (ADC) is designed to accepteither one or two drives for the Horizonor for mounting North Star Micro DiskSystem drives. Like the Horizon, theADC is available with either wood orblue metal cover. Included is a newpower supply capable of poweringone or two drives. The ADC is $129 in kitform. Assembled, with one drive theADC is $599, with two drives $999.

Pascal Now Availablefor Horizon

The much-heralded Pascal languageis now being offered for use with theNorth Star Horizon computer. North

Inside view of Horizon with processorboard, RAM board, disk controller, twodrives, and power supply.

Star, with the co-operation of the Uni-versity of California at San Diego, isnow delivering a Pascal Program De-velopment system. North Star Pascal isideally suited for developing largeprograms because of features such as:long variable names, block-structuredcontrol statements, and compilation.North Star Pascal is available on 5Va"diskettes for use with the Horizon orMicro Disk System. North Star Pascalwill operate with either the Z80 or 8080microprocessor.

Pascal, including documentation, isavailable in either single or doubledensity versions for $49.An auxiliary Pascal diskette, contain-ing an 8080/Z80 assembler and someadditional Pascal utilities, is availablefor $29. Complete information is avail-able at your local retail computerstore.

First Double Density,Now Double Memory

The new North Star 32K RAM board(RAM-32) has doubled the memorydensity of the popular Horizon compu-ter. AvailaPle either with the Horizon orother S-l 00 bus computers, the RAM-32runs at full speed-no wait states-with the 4 MHz Z80A microprocessor(as well as with slower Z80 and 8080processors). Addressability of theRAM-32 is switch-selectable in four 8Kregions.

North Star RAM features like bank-switching and parity checking arestandard. The parity checking capa-bility means that the RAM-32 is con-stantly diagnosing itself. That's a plusfor your system. The fact that paritychecking is a North Star RAM-32 stan-dard is a plus for your pocketbook!There is no extra charge for this impor-tant capability.

A Horizon with 48K of RAM can be con-figured by using one North Star 16KRAM board and a RAM-32. Needmore memory?56K canbe configuredby using two RAM-32 boards with one8K region switched off.

NORTH STAR MDS, ZPB,FPB FOR OTHERS-100 COMPUTERS

Upgrade your system with these NorthStar products - available for any S-100computer: Micro Disk System-acomplete 51/t" floppy disk system, Z80Processor Board, or the HardwareFloating Point Board.

Horizon and RAM board |

srices are:

Kit

Assembled

Horizon - 1-16K

$1599

$1899

Horizon - 1-32K

1849

2099

Horizon - 2-32K

2249

2549

RAM-32

599

659

RAM-16

399

459

■4 Atypical Horizon configuration: CRT, Hori-zon computer. Additional Drive Cabinet(ADC). W>

NorthSlarT

Computers

2547 Ninth StreetBerkeley, California 94710(415) 549-0858

Circle 285 on inquiry card.

BYTE April 1979 63

BYTE's Bits

Motorola 6809 Card Folding

A useful item of documentation fur-nished with the Motorola 6809 micro-processor is the MC6809 MicroprocessorInstruction Set Summary card. Printedon heavy stock, it contains vital infor-mation for the programmer in condensedform. This combination of heavy stockand condensed information gives thisdocument an information density of4.72 x 107 characters per slug, a figureimaginable only with advanced tech-nology.

Users who peruse the card, however,might have difficulty in refolding it to itsoriginal compact configuration. There-fore we present here helpful instructionsto refold the card.

The first step is to differentiate be-tween the pages of the card. Luckily,this is much easier than integratingbetween the pages, or even readingbetween the lines. Here we employ theconvention of using letters of the Englishalphabet. Upper case is preferred forclarity, but lower case may be employedif you are coding a word processing sys-tem.

Completely unfold the card andstretch it out on a flat surface. Using apencil, inscribe the letter A on the toprighthand corner of the first page, thepage containing the title and program-ming model. Move the pencil down tothe second page, and inscribe the charac-ter B in the top righthand corner. Con-tinue this process, incrementing thealphabetic character down the length ofthe card until you reach the last page,which should bear the appellation J.This completes the page distinction rou-tine.

JpeoUeosy Software

FINANCIAL ANALYSIS

SPORTSTRIVIA

MICROTRIVIA

TRANSACTIONAL ANALYSIS

WARLORDS • KIDSTUFF

f BULLS AND BEARS

APPLE • PET • TRS-80

Now available at over 1,000 stores worldwide!■/peokeasy Joftuuarc m

Box 1220, Kemptville, Ontario, Canada, K0G 1J0 (613) 258-2451

Having identified the pages, you arenow ready to begin the actual foldingprocess. Grasp the bottom page ). Foldit up on top of page 1. Now take pageI, and fold along the F-G seam so thatthe back side of page I contacts the backside of page D. Take care that page Jdoes not become unfolded from I.

Take heart, we're almost through.Grasp the top edge of page G and foldalong the C-D seam so that the frontside of page G contacts the back side ofpage A. Moving quickly now, fold thefront side of page C to the front side ofpage B. Take the A-G aggregate, and foldthe whole thing back onto page E. Thefolding process should now be complete,and the card returned to its originalstate.

User options at this point include:placing the card in your pocket, placingthe card in a desk drawer, or bindingthe card with a paper clip.

Note please, that these instructionsare based on preliminary folding infor-mation provided by Motorola. It ispossible that actual production sampleof the card will have a different foldoutspecification.

In addition to its unique topologicalproperties, the card will be of interestbecause of the information printed onit Included are addressing mode sum-maries, operation descriptions, registerbit assignments, vectors and stackingorder, and miscellaneous data. . . ,RS»

NE Computerized Bulletin Board

We have received an announcementfrom the New England ComputerizedBulletin Board System informing us thatthey have been in operation sinceDecember 1977. In order to connect tothe CBBS, a terminal with a modem oracoustic coupler and a phone line isnecessary. The procedure is as follows:set your terminal to 300, or 110 bps(30 or 10 characters per second) fullduplex. Dial (617)963-8310 and wait forthe carrier. Place the phone in theacoustic coupler and hit carriage returnon your terminal a few times. The CBBSwill then respond and take you the restof the way."

64 April 1979 S BYTE Publications Inc

Circle 351 on inquiry card.

Everybody's making money

selling microcomputers.

Somebody s going to make money

servicing them.

New NRI Home Study Course Shows You How to Make Money Servicing, Repairing,and Programming Personal and Small Business Computers

Seems like every time you turn around, some-body comes along with a new computer forhome or business use. And they're being gobbledup to handle things like payrolls, billing, inven-tory, and other jobs for businesses of everysize...to perform household functions likebudgeting, environmental systems control,indexing recipes, and more.

Growing Demand forComputer Technicians...Learn in Your Spare Time

Even before the microprocessor burstupon the scene, the U.S. Department of Laborforecast over a 100% increase in job openings forthe decade through 1985. Most of them newjobs created by the expanding world of thecomputer. NRI can train you at home to serviceboth microcomputers and their big brothers.TYain you at your convenience, with clearlywritten "bite-size" lessons that you do eveningsor weekends without quitting your present job.Assemble Your Own Microcomputer

NRI training includes practical experi-ence. You start with meaningful experimentsbuilding and studying circuits on the NRIDiscovery Lab® Then you build your owntest instruments like a transistorized volt-ohmmeter, CMOS digital frequency counter...equip-ment you learn on, use later in your work.

And you build your own microcomput-er, the only one designed for learning. It looksand operates like the finest of its kind, actuallydoes more than many commercial units. ButNRI engineers have designed components andplanned assembly so it demonstrates importantprinciples, gives you working experience indetecting and correcting problems. It's the

kind of "hands-on" training you need torepair and service units now on the market.Mail Coupon for Free CatalogNo Salesman Will Call

Send today for our 100-page, full-color catalog. It describes NRTs new Mi-crocomputer Technology course in detail,shows all equipment, kits, and lesson plaas.And it also tells about r— — — —other NRI courses... AI T% I

Complete Communi- laIII

cations with 2-meter

transceiver...TV/Audio/Video Systems Servicingwith training on the only designed-for-learning25" diagonal color TV with state-of-the-artcomputer programming. With more than amillion students since 1914, NRI knows howto give you the most in home training for newopportunity. If coupon has been removed,write to NRI Schools, 3939 Wisconsin Ave.,Washington, D.C. 20016.

RUSH FOR FREE CATALOG

NRI Schools

McGraw-Hill Continuing

Education Center3939 Wisconsin AvenueWashington, D.C. 20016['lease check for one free catalog only.NO SALESMAN WILL CALL

All career coursesapproved under GI Bil□ Check for details.

D Computer Electronics IncludingMicrocomputers

□ TV/Audio/Video Systems Servicing

D Complete Communications Electronicswith CB • FCC Licenses • Aircraft,Mobile. Marine Electronics

□ CB Specialists Course

D Amateur Radio • Basic and Advanced

□ Digital Electronics • ElectronicTechnology • Basic Electronics

D Small Engine RepairD Electrical Appliance ServicingD Automotive MechanicsD Auto Air Conditioning

□ Air Conditioning, Refrigeration, & HeatingIncluding Solar Technology

(Please Print)

Age

City/State/Zip

Accredited by the Accrediting Commission of the National Home Study Council

170-049BYTE April 1979 65

A Simulated View of the Galaxy

+ 90°

-90°

Figure 1: The celestial coordinate system.

-90°

24h

RIGHT ASCENSION

Mark Dahmke

8312Selleck Hall

600 N 15th St

Lincoln NE 68508

Figure 2: A Miller projection is used for plotting the data.

At one time or another, each of us letsour imagination wander; perhaps to placesfamiliar to us, or places we have never beenand can only dream about exploring. Often,my imagination leads me to the questions:"What does our sun look like from neigh-boring stars?" and "What do our famil-iar constellations look like from otherpoints of view?" Have you ever wishedthat you could travel anywhere in theuniverse whenever you wanted to? Withthe help of computers and graphics dis-plays we can begin to answer some ofthese questions and have fun exploringwhat we know about the galaxy at thesame time.

Getting Started

Several things are needed to simulatethe stars in our galaxy; an algorithm thatwill allow us to shift our position withrespect to the Earth based coordinate sys-tem; actual or hypothetical coordinatesof stars; and a display device on which toplot the resulting star maps. The first ver-sion of this program was written four yearsago and run on an IBM 1130 computer.Output was in the form of a printer plot.50 stars were entered, using data on the50 brightest stars in our sky. Since posi-tions given in star catalogs are in celestial(spherical) coordinates, right ascension (RA)corresponding to longitude (0 to 23 hours),declination (DEC) corresponding to latitude(—90 to +90 degrees), and distance in lightyears were entered directly into a disk file.The program then performed the necessaryconversions to get values in radians. Fig-ure 1 shows the celestial coordinate system.

66 April 1979 © BYTE Publications Inc

The author wishes tothank TRC Photograph-ic Specialists of OmahaNE for their help.

Coordinate Transformations

In order to display the stars as theywould appear from another point in space,their coordinates must be converted to amanageable form. Shifting the origin of thecoordinate system appears to be the easiestway to obtain the desired results. Declina-tion and right ascension must be convertedto radians first:

RA= RAX 0.261799DEC = DEC X 0.01745

where RA and DEC represent right ascen-sion and declination, respectively. Then thecelestial coordinates can be converted torectangular coordinates:

X = RX cos (DEC) X cos (RA)

Y= RX cos (DEC) X sin (RA)

1= RX sin (DEC)

The resulting rectangular coordinates are inunits of light years, because of the variableR (distance). The coordinates may be keptin three arrays for easy manipulation.

Next, the origin must be shifted to thenew point of view. The celestial coordinatesof the destination or new origin are given bythe user of the program (through consoleinput) and converted to rectangular co-ordinates with the same set of equationsused above. To shift the origin, the follow-ing three equations should be used:

X = X — Xq,

Y =Y-Y

and Z = Z

0'

where X , Y , and Z are the rectangular

O' O' 0 °

Photo I: Side view of our galaxy from 90,987 light years.

coordinates of the new origin; X, Y, and Zare the old coordinates of a star in thethree arrays; and X', Y' and Z' are theresulting shifted coordinates.

To display the stars, the rectangularcoordinates must be converted back tocelestial coordinates:

(R')2 = (X')2 + (Y')2 + (Z')2,

RA'= arctan (Y'/Z'),DEC'=arcsin (Z'/R').

It is also necessary to multiply by the ap-propriate scale factors to be compatiblewith the screen or window dimensions ofthe display device. The current version ofthe program displays the stars in the formof a Miller projection, as shown in fig-ure 2. This produces a distorted view on thetop and bottom of the display but doesshow the entire sky. An alternate formatmagnifies the window to display only a50 by 50 degree frame. This gives theimpression of looking out the window of aspaceship, but makes navigation difficult.

In order to shift the window, we mustintroduce some new variables to indicatein the program which rotations are required.This can most easily be accomplished byaltering the equations used for shiftingthe origin:

Text continued on page 70

A glossary is provided onpage 80.

April 1979 ©BYTE Publications Inc 67

HELLO FELLOWCOMPUTERIST..

At this time I wish to introduce myselt. I am PERRY POLLOCK, the owner, manufacturer and designerof the products advertised in this issue of this fine magazine. In the issues to come, I will be introducingmore powerful interfaces for the various popular computers.

To take advantage of this opportunity, I would like to tell you a little about my beliefs, aims and policies.Starting out as a hobbiest, I realize your needs, concerns and most of all the requirements of a good, welldesigned and fairly priced interfaces for your computer. It is my goal to supply you with the most for yourinvestment and the highest quality possible.

All the products are designed by me. They are first drawn out and logically analyzed. Then they arewire wrapped and tested. When I am satisfied that it functions well, then I will etch a sample printed circuitboard, then and only then, will I commit the design to a mass production run.

All the parts used in our products are of the highest quality. The manuals are written so you canunderstand all the phases of construction and operation. How many times have we bought a product and itlacked for a good, understandable manual, or has it had so many flaws that we could swear that we werere-designing the product. ALL OF THIS IS IN THE PAST. These products are not offered unless they areright!!! "

Another one of my aims is to let you know who you are dealing with. How many times have we ordereda product and wondered who we were really dealing with. Then . ..if we had problems, how difficult was it tocontact them? Because of all this, I have chosen to publish a picture of myself (I'm not vain, really) and apicture of my wife Korrine (pictured below). I am available 24 HOURS A DAY. I have a telephone answeringservice that will put your call through to me anytime day or night, or if you wish you can call me at home.(602) 886-5037. If you have a problem, question or just want to talk, give me a call.

I have many exciting new products under development. It will be an exciting year and I hope you willenjoy the interfaces designed for you and I. I know these interfaces have made my computer moreenjoyable for me and hopefully for you.

Sincerely,

Perry and Korrine PollockYour fellow computeristsWORLD POWER SYSTEMS,

INC.

P.S.: My guarantee ... If you arenot satisfied with the product,return it to your dealer or me for afull refund within 5 days ofpurchase.

68

BYTE April 1979

Circle 390 on inquiry card.

3S+P INTERFACE CARD

A POWERFUL I/O INTERFACE CARD FOR ANY S-100 BUS. THREE SERIAL PORTS AND ONE PARALLEL PORT. FULLYHARDWARE OPERATED. NO SOFTWARE INITIALIZATON REQUIRED. IN ADDITION, THIS BOARD WILL OPERATEWITH ANY SOFTWARE. USER IS ABLE TO SELECT STATUS BITS TO FIT ANY SOFTWARE CONFIGURATION.

FEATURES

• SELECTABLE BAUD RATES: All baud rates are dip switch selectable. Each port can be set for its own baud rate.CRYSTAL CONTROLLED baud rates. This interface card can operate with any Micro-processor at any speed. The3S+Pdoes not depend on the CPU for its originating clock. 110-9600 baud.

• EASY CONFIGURATION: The 3 S+P is easy to set. All port addresses are set by dip switches. Each port can be assigned,independent of each other.

• SOFTWARE COMPATIBLE: The 3 S+P will be compatible with most software arrangements due to the ability to set thestatus bits and the parity. Parity, character length, stop bits all set by dip switches. Each port can be set to it's ownindividual arrangement.

• HIGH QUALITY: The highest quality parts are used. P.C. Board is with plated through holes, solder mask, silk screenlegend and gold plated contacts.

• OUTPUT ARRANGEMENT: All outputs terminate at the top of the card via a 26 contacts. Standard 26 pin IDC connectorsmate with each port. RS-232, current loop at each serial port and full data lines at the parallel port connection. Operationis asynchronous mode, but can be configured for synchronous operation by minor re-configuration.

• FULL DOCUMENTATION: A complete manual of operation and construction is included. Easy construction and 3 hoursis the estimated construction time. Just plug in, set the switches and enjoy all the different configured software. NO MOREchanging the software to match your I/O board. Just set the board and enjoy.

Kit

$159.95

OPTIONS

Assembled

$189.95

Connecting cables from 26 pin to standard DB-25 are separate. Molded factory cables are available for $14.95 each. Cableshave 26 pin IDC connector at one end and DB-25 female at other end, connected by ribbon cable.

CASH WITH ORDER, VISA, MASTER CHARGE

TERMS

NO C.O.D.'S! PERSONAL CHECKS REQUIRE 3 WEEKS TO CLEAR.

ORDER FROM

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Tucson, Arizona 8571524 Hour Order Phone No: 602-886-2537

STOCKING DISTRIBUTOR FOR SOUTHERN CALIFORNIA CONTACT: CALIFORNIA DIGITAL 213-679-9001

Circle 390 on inquiry card.

BYTE Aprill 979 69

Table 7.' Execution times of one iteration of the program with various num-bers of stars. Times include plot or display device data transfer rates.

Text continued from page 67

Number of

Stars

IBM-1130

8080/BASIC

8080/ASM

IBM 370/158

10

4 minutes

10

seconds

0.5 seconds

0.1

seconds

100

6 minutes

100

seconds

5.0 seconds

0.3

seconds

400

8 minutes

400

seconds

20.0 seconds

1.0

seconds

Table 2: Star coordinates taken from star atlases and catalogues. Besidesusing real stars, the author also input 300 "imitation" stars to fill out thegalaxy to what it actually looks like. The stars listed should be enough toproduce interesting patterns in a reasonable amount of home computer time.Names (popular or scientific) are rough approximations in English alphabet.An asterisk represents ficticious "fill-out" stars to represent extragalacticobjects.

Right

Name

Ascension

Declination

Distance

Magnitude

(hrs)

(degrees)

(light yrs)

A. CETUS

02.983

003.900

250.0

2.8

A2. LIB

14.800

-15.833

62.0

2.9

THI. ERI

02.933

-40.517

120.0

3.4

SUN

00.000

0.000

.1

-9.0

AND.GALAXY 00.667

4.100

1500000.0

7.8

AND. A

00.668

4.100

1 500000.0

7.8

AND. B >

00.666

4.200

1500005.0

7.8

AND. C

00.665

4.400

1500010.0

7.8

AND. D

00.668

4.300

1501000.0

7.8

AND. E

00.667

4.500

1500100.0

7.8

AND. F

> * 00.660

4.000

1500150.0

7.8

AND. G

00.656

4.400

1 500050.0

7.8

AND. H

00.660

4.550

1510000.0

7.8

AND. I

00.661

4.500

1510001.0

7.8

AND. J J

00.667

4.600

1510000.0

7.8

EG224A

00.667

041.001

1 500000.0

5.0

EG224B "\

00.669

041.000

1500000.0

5.0

EG224C

. . 00.665r 00.666

041.001

1500000.1

4.9

EG224D i

041.002

1500001.0

5.0

EG224E J

00.665

041.001

1500000.0

5.0

EG224F

00.668

040.999

1500000.0

5.0

EG225COM

P 00.630

041.420

1500000.0

9.9

EG201COM

P 00.667

040.600

1500000.0

9.5

PLEIADES

03.733

023.950

4300.0

4.7

SIRIUS

6.716

-16.6

8.7

-1.4

A.CENTAU

31 14.600

-60.6

4.3

-.2

CANOPUS

6.380

-52.6

2300.0

-.7

VEGA

18.586

38.733

23.0

.1

CAPELLA

05.216

045.950

42.0

.2

ARCTURUS

i 14.223

019.450

32.0

.2

PROCYON

07.612

005.350

10.0

.5

ARCHERN/

\R 01.598

-57.483

70.0

.6

B CENTAUI

31 14.005

-60.133

130.0

.8

ALTAIR

19.805

008.733

18.0

.9

ALDEBARC

)N 04.550

016.416

54.0

1.1

SPICA

13.376

-10.900

190.0

1.2

FORMALH/

\UT 22.915

-29.883

27.0

1.3

DENEB

20.662

045.100

465.0

1.3

RIGEL

05.202

-08.250

545.0

.3

BETELGEU

SE 05.875

007.400

300.0

.9

BELLATRi;

< 05.367

006.300

230.0

1.7

E.ORION

05.567

-01.233

300.0

1.7

K.ORION

05.767

-09.683

2100.0

2.2

D. ORION

05.497

-00.333

600.0

2.5

L.ORION

05.550

009.917

1600.0

3.7

ANTARES

16.438

-26.316

170.0

1.2

REGULUS

10.095

012.216

70.0

1.3

B. LEO

11.800

014.733

43.0

2.2

G. LEO

10.300

019.983

90.0

2.6

E. LEO

09.733

023.917

100.0

3.1

TH.LEO

11.217

015.600

150.0

3.4

X - X — x0,

Y=Y-Yn,and Z = Z — Z0,

will become:

x' =

(X-XJ (cos0) (cos0) +

(Y-Yo) (sin0) (cos0) +

(Z - ZQ) (sin 0)

y' =

(Y - YJ (cos 0) -

(X-X , (sin0)

(Z-Zo)(cos0)-(X - XQ) (cos 8) (sin 0)(Y - YJ (sin 6) (sin 0)

where:

6 = rotation about the X axis on the

Y,Z plane,0 = rotation about the Z axis on the

X,Y plane.

Also, when converting back to celestialcoordinates, scale factors must be intro-duced to produce a 50 by 50 degree field ofview. The user may wish to experiment withother window formats.

Expanding the Model

Looking at the sky from various pointsof view in space is interesting, but I havefound that animation really shows the powerof the simulation technique, and of animatedgraphics. With the coordinates of over 400stars (100 real stars and 300 that add thegeneral shape of the Milky Way spiral armsof our own galaxy), we can begin the explo-ration of our universe. Unfortunately, 400stars do not make a galaxy, or even a small

Table 2 continued on next page.

About the Author

Mark Dahmke is currently employedby the University of Nebraska ComputerNetwork as a programmer/analyst in theAcademic Computing Services section. Heis also a senior computer science major.At home Mark owns an 8080 based sys-tem with 32 K bytes of memory and afloppy disk drive. His work involvesgraphics, electronics, writing and systemsprogramming.

70 April 1979 © BYTE Publications Inc

We make our Floppysas if your job depends

on them.

Because it does.

In your work, data is too important to lose. So if youuse a Floppy Disk with even a minor flaw-like a dropout -you risk a lot. That's why Maxell has taken the danger outof Floppy Disks.

Maxell: the worlds most dependable Floppy Disks.

We've devoted two generations to building ourreputation as manufacturers of the world's finest magneticmedia. Our Floppy Disk technology achieves a consistencythat is rarely equalled . . . and never surpassed.

Even the jackets our floppys come in are made toresist heat and mechanical shock. And they're speciallytreated to prevent the build-up of static charges, so they dotheir part to increase the total reliability of their preciouscontents.

Made better than most specifications.

To guarantee complete interchangeability, all Maxellfloppys conform to ISO. ECMA. ANSI, JIS, and IBMstandards.

But even more important to you, Maxell's owntolerances are tougher than the industry's.

And our inflexible Quality Control inspections permitnothing to blemish our hard-earned reputation.

So when your job depends on full data retrieval,depend on Maxell Floppy Disks. They work best. . . and sowill you.

Maxell offers the full range of Floppy Disks, fromstandard 8-inch to 51/4-inch, plus Data Cassettes.Dealer inquiries invited.

maxell

DATA PRODUCTSThe Quality Alternative

Maxell Corporation of America. Data Products Group60 Oxford Drive, Moonachie, NJ 07074 Tel. (201) 440-8020

Circle 209 on inquiry card.

BYTE April 1979 71

Table 2, continued:

D. LEO

11.217

021.000

140.0

3.5

Z. LEO

10.250

023.567

500.0

3.6

M. LEO

09.850

026.167

110.0

4.1

R.D SCO

15.900

-28.500

450.0

4.0

SCO

16.883

-42.317

300.0

3.8

TH.SCO

17.567

-42.967

140.0

2.0

SHAULA

17.500

-37.067

200.0

1.7

E. SCO

16.783

-34.200

75.0

2.3

K. SCO

17.650

-39.000

360.0

2.5

D. SCO

15.938

-22.533

590.0

2.5

G. SCO

16.883

-42.317

100.0

3.8

POLLUX

07.705

028.150

31.0

1.2

CASTOR

07.523

032.000

44.0

1.6

E.GEM

06.700

025.167

200.0

3.2

GEM

06.217

022.517

300.0

3.4

D.GEM

07.300

022.033

300.0

3.5

Y. CAS

00.900

060.450

200.0

2.2

A. CAS

37.833

059.267

230.0

2.4

B. CAS

00.108

058.883

45.0

2.4

D. CAS

01.400

060.083

150.0

2.8

E. CAS

01.867

063.517

100.0

3.7

D.TAURUS

05.383

28.567

130.0

1.7

TAU

05.633

021.000

350.0

4.1

HYADES

04.250

016.000

300.0

4.0

E. TAU

04.450

019.117

300.0

4.0

E URSAE MAJ

12.863

056.233

50.0

1.7

DUBHE

11.000

062.017

105.0

1.9

N. UMA

13.767

049.467

210.0

1.9

MIZAR

13.367

055.183

190.0

2.2

D. UMA

12.233

057.200

100.0

2.2

B. UMA

10.980

056.650

76.0

2.4

Y. UMA

11.867

053.967

88.0

2.5

BCRUCIS

12.746

-59.416

465.0

1.5

ACRUCIS

12.396

-62.816

150.0

1.6

ECANISMAJ

06.945

-28.900

325.0

1.6

ACRUX

12.400

-63.150

220.0

.9

E. CARINA

08.358

-59.350

330.0

1.7

B. CARINA

09.217

-69.517

300.0

1.8

A. TRIA

16.717

-68.933

130.0

1.8

MIRFAK

03.350

049.683

270.0

1.9

Y. VEL

08.133

-47.183

100.0

1.9

ALHENA

36.583

016.450

78.0

1.9

KAUS. AUST

18.350

-34.417

160.0

1.9

ALWAZOR

07.100

-26.317

650.0

1.9

MURZIM

06.342

-17.933

300.0

1.9

D. VEL

08.717

-54.517

70.0

2.0

ALNITAK

05.633

-01.967

400.0

2.0

B. AURIGAE

05.933

044.950

84.0

2.0

PEACOCK

20.367

-56.900

160.0

2.1

POLARIS

01.817

089.033

470.0

2.1

Y. UMI

01.530

073.000

500.0

4.7

N. UMI

01.620

076.000

700.0

5.7

D. UMI

01.795

086.100

650.0

5.0

E. UMI

16.850

082.130

550.0

5.1

TH. UMI

01.572

078.100

750.0

5.0

A. OPH

17.550

012.600

67.0

2.1

NUNKI

18.867

-26.367

160.0

2.2

A. AND

00.088

028.817

120.0

2.1

ALPHARD

09.417

-08.433

200.0

2.2

ALNA'IR

22.083

-47.200

91.0

2.2

SUHAIL

09.100

-43.233

220.0

2.2

B. PER ALGOL

03.082

040.767

100.0

2.2

A. ARI

02.067

023.233

74.0

2.2

B.GRUS

22.650

-47.150

325.0

2.2

B. CETI

00.683

-18.267

57.0

2.2

B. UMI

14.850

074.367

270.0

2.2

1. CARINA

09.267

-59.067

100.0

2.2

TH CENT.

14.067

-36.117

86.0

2.2

D. PUPPIS

08.033

-39.867

800.0

2.3

Y1. AND.

02.033

042.083

400.0

2.3

ALPHECCA

15.550

026.883

67.0

2.3

Y. CYGNUS

20.333

040.100

470.0

2.3

B. AND

01.117

035.350

75.0

2.4

Y. DRA

17.917

051.500

150.0

2.4

N. CMA

07.367

-29.200

270.0

2.4

A. PHE

00.400

-42.583

76.0

2.4

E.PEG

21.700

009.650

250.0

2.5

A. PEG

23.033

014.933

100.0

2.6

N. OPH

17.125

-15.667

76.0

2.6

Y. CRV

12.217

-17.267

130.0

2.8

fraction of it, but with a little imagination(which was all we had in the first place) wecan mentally fill the gaps in the model. Thecurrent version of the simulation runs on anIBM 370-158 with a 2250 graphics displayunit. The 2250 has a resolution of 4096 by4096 points. With a slight modification tothe program, it will run in a continuousloop, starting with a direction vector andvelocity in light years per iteration. Theeffect is that of a space craft with almostunlimited velocity. With a fast processor, theimpression of speed is dramatic. Velocitiesof 10,000 light years per second have beensimulated. There are no relativistic effects,but it might be interesting to add the nec-essary equations—especially if color graphicsare available. The Doppler shifts would bemost striking. The stars in the direction oftravel would be intensely blue, while thosereceding from the observer would be a deepred.

Adding More Stars

As my desire to travel outward increased,I soon realized that I would have to havesomething to travel to. Additions to themodel included the Andromeda galaxy(approximately 1.5 million light years away),the Magellanic clouds (our nearest inter-galactic neighbors) and several other extra-galactic objects. One problem with addingmore stars is that the execution time goes upproportionately. When experimenting withcomputer based simulations, this soon be-comes apparent. Note that in listing 1, thealgorithms have been optimized to theextreme, to cut down on the execution time.Comparison tests were run on several sys-tems with the results shown in table 1.

The IBM-1130 was slowed down by itsprinter, used to generate a printer plot ofthe star map. The 8080 is almost fast enoughto compete with the 370, if it didn't have todo the floating point calculations in software.A floating point hardware board wouldprobably decrease the times given for the8080 by a factor of 10. The 370 is a multi-programming system—running several otherprograms at the same time. Thus, the simula-tion has to compete with other programsand is also slowed down by competition forperipheral devices such as video terminals,the 2250 graphics display, printers, and cardreaders.

Implementation

The details of implementation depend onthe computer, display device, and languageused. The original IBM-1130 version used aprinter plot because that was the only out-

72 April 1979 © BYTE Publications Inc

include us inyour plans for 1979!!

Sophisticated technology lowpressure living, with more pro-fessional and personal advantages than we can list

■ Long growth cycle projects. ■ Rapid advancement. ■ Direct computeraccess. ■ Good internal communications. ■ Real state-of-the-art develop-ments. ■ High internal visibility. ■ In-plant recreation. ■ Low cost of living.

■ High quality of life. ■ Beaches, boating, and wildlife preserves. ■ Withinreach of major Cultural Centers. ■ Ground floor opportunities in the designand development of our new C-2140 ECR/POS Multi-Microprocessor BasedRetail System.

You'll find solid professional and personal reasons for building a new ca-reer with us.

The following are current career openings:

SYSTEMS ANALYSTS/REAL TIMEPROGRAMMERS

• Operating System Design

• Microprocessor Software—Assembly Language

• I/O Drivers

• Diagnostics

TEST SYSTEMS ENGINEERS/DEVELOPMENT ENGINEERS

• 8080 Based Microprocessor Design

• ATE Programming of Microprocessor Boards

• NMOS, EMOS, CMOS, LSI & MSI Technologies

• Multiprocessor Systems Architecture

SUPPLIERS QUALITY ASSURANCE

• Vendor Quality Management

• Interfacing with Design Engineering, ProductTest, Field Engineering, Purchasing

& Manufacturing

• Components—Specification & Product Design

INDUSTRIAL/MANUFACTURINGENGINEERS

• Assembly Routines, Labor Estimating,Production Line Layouts

• Facility & Capital Equipment Analysis

• ATE & CAM

• Production Support & R&D Liaison

POWER SUPPLY DESIGNERS

• Design and Develop Low-Voltage SwitchingPower Supplies

• Adherence to UL/CSA and International SafetyStandards

• Worst Case Design on Circuits

If you qualify for any of the above, call us at:302-934-8111, or send resume and salary require-ments, in complete confidence, to: Mr. Joseph G.Buskirk, NCR Corporation, Dept. , Engineer-

ing & Manufacturing, Mitchell Road, Millsboro,DE 19966.

C R

Complete Computer Systems

Circle 279 on inquiry card.

An equal opportunity employer

BYTE April 1979 73

Photo 2: Our galaxy from —5983 light years.

Photo 3: The night sky as seen from the Northern Hemisphere of Earth. Notethe Big Dipper in the upper center, Leo just above and right of center, andthe Milky Way down the left and across the middle.

put device available. Since the availablememory was limited (8 K words), the pro-gram was written to make heavy use of diskfiles for storage of the starting coordinatesand intermediate results. The last phase ofthe program scanned the disk file containingthe shifted coordinates and produced aprinter plot.

The second version ran on an IBM/360-65and plotted on a Tektronix 4013 graphicsdisplay terminal. Although neither of thesefirst two versions was animated, single starmaps could be obtained.

The 2250 version required considerablymore programming effort. Since the 2250 isa high speed device, true animation wasfinally possible. The 2250 refreshes its dis-play from a core buffer loaded from theprocessor. Coordinates are plotted andmapped into the buffer; subroutine EXEC isthen called and the entire buffer is sent tothe display. Unfortunately the buffer mustbe cleared before another iteration can takeplace—but clearing the buffer also clears thescreen. The solution is to maintain two sepa-rate buffers. One can be displayed on thescreen while the other is being cleared andloaded. If this is not done, the display willflicker with a duty cycle of about 10 percenton, 90 percent off, since the calculation timeis greater than the intermediate display time.

Sample Output

Photo 1 is a side view of our galaxy from90,987 light years. As you can see, themodel is not accurate because the middle ofthe galaxy is almost empty. Also, the largebright spot on the right side of the galaxyrepresents the tight group of 100 stars thatform our local constellations. At the bottomof the screen distance, right ascension,declination, and velocity have been dis-played for reference. The minus sign on thedistance means that the direction of travel isopposite the direction the right ascension/declination vector. Photo 2 is a view of ourgalaxy from -5983 light years. Photo 3shows the sky from Earth (note the BigDipper in the upper center, Leo just aboveand right of center, and the Milky Way downthe left side and across the bottom). Photo 4shows our local constellations from 2937light years, against the background ofthe Milky Way. Photo 5 is another sideview of the Milky Way from one millionlight years (viewed with the 50 by 50degree window). The two small objectsjust below and to the right of the galaxyare the large and small Magellanic Clouds.They are approximately 100,000 light yearsfrom the Milky Way.

Text continued on page 80

74 April 1979 © BYTE Publications Inc

INTEGRATED CIRCUITS MICROPROCESSOR LED'S SOCKETS CAPACITORS DIODES TRANSISTORS RESISTORS POTENTIOMETERS

09

a

z

CO

I-<

LU

I

CO

z

CO

s

I

CO

ccO

t-o

m

zzo

u

CO

>-oco

CO

hiIo

5CO

CO

-m

3

LU

-1

m<u

CO

cc

LU

0.

Da.Q

CO

H

CO

o

O

m

CO

a.

-iu

lo

UJ

K

co

cc

LU

Q

-1o

I

LUCO

D

LLCO

zco

I-<

LU

XCO

cco

i

LU

zzoo

CO

_i<

i

cco

CO

LU

Io

H

gCO

im-

electronic components

One-StopComponent Center

EXCITING NEW KITS!!

Digital Stopwatch Kit

• Use Intersil 7205 Chip

* Plated thru double-sidedP.C. Board

• LED display (red)

* Times to 59 min. 59.59 sec. withauto reset

* Quartz crystal controlled

* Three stopwatches in one:single event, split (cummulative)and taylor (sequential timing)

* Uses 3 penlite batteries

* Size: 4.5" x 2.15" x.90"

JE900

in :ln.i.-ir.l.irT.H'-

iameco

itMBS

CO

CC

o

HOLU

zzoo

CO

>cco

CO

LU

IoI-

s

CO

CO

UJ

-I

COLU

<

UJ

_t

CD

<u

CO

cc

LU

0.

s

3->

Q.

Q

CO

CO

oo

DO

CO

0.

3o

!o

UJ

I-

co

cc

LU

Q

_Jo

I

UJCO

=>

co

z

CO

<

UJ

I

CO

K.o

H

u

LU

zzoo

CO

-J

<

>cco

CO

LU

Is

co

JE701

* Bright .300 ht. common cathode display

• Uses MM5314 clock chip

-*-Switches for hours, minutes and hold functions

* Hours easily viewable to 20 feet

* Simulated walnut case

• 115 VAC operation

* 12 or 24 hour operation

• Includes all components, case and wall transformer

• Size: 6-3/4" x 3-1/8" x 1-3/4"

6 Digit Clock Kit

JE747

BHBI:^:

• Four .630" ht. and two .300" ht. common anode displays

• Uses MM5314 clock chip

• Switches for hours, minutes and hold functions

• Hours easily viewable to 30 feet•Simulated walnut case

• 115 VAC operation

• 12 or 24 hour operation

•Includes all components, case and wall transformer•Size: 6-3/4" x 3-1/8" x 1-3/4"

Jumbo 6 Digit Clock Kit

WOW!!! OVER 300 AUTHORIZED DISTRIBUTORS ... HERE'S JUST A SAMPLING:

ALABAMA

ILLINOIS (Co

ntlnuedl

NEBRASKA

TENNESSEE (C

nntinued)

Mobile

Lafayette Radio Electronics

Oak Park

Spectronics Inc.

Lincoln

Altair Computer Center

Clarksville

Masstronics

ALASKA

Rock ford

Imperial Computer Systems

L mcoln

Scott Electronic Supply Inc.

Cookeville

Wagnon's Stereo Center

Anchorage

TV Mart

Schaumburg

Data Domain

Omaha

Heathkit Electronic Center

Knoxville

Eastern Micro

ARIZONA

INDIANA

Omaha

Omaha Computer Store

Nash ville

Electra Distributing Co.

Yuma

Yuma Electronics

East Chicago

Aero Electronics Corp.

NEVADA

TEXAS

CALIFORNIA

IOWA

Las Vegas

Century 23

Amarillo

Computer Encounters Inc.

Beit flower

Earl's Hobby Shop

Indianoia

Electronic Limited

NEW JERSEY

Dallas

CompuShop

Berkeley

Al Lasber Electronics

KANSAS

Brick town

Radio Shack Associate Store

Houston

Altair Computer Center

Mission Vie jo

Tower Electronics Corp.

Wichita

Amateur Radio

Cherry Hill

The Computer Emporium

Houston

CompuShop

Monterey

Zackn

EQuipment Company

Pompton Lake

Computer Corner

Houston

Interactive Computers

Oceans ide

Electronic Center

KENTUCKY

of New Jersey

San Antonio

Sherman Electronics

Palo Alto

Zack Electronics

Lexington

Radio-Electronic

Ramsey

Type-Tronic Computer Store

Supply Inc.

Pasadena

Dow Radio Inc.

Equipment Co.

NEW MEXICO

UTAH

Sacramento

Heathkit Electronic Center

LOUISIANA

Las Cruces

Manme's Electronic Supply

Mid vale

Heathkit Electronic Center

Sacramento

Zackn

Baton Rouge

Pelican Electronics

NEW YORK

Provo Alpine Electronic Supply Co.

San Carlos

J& H Outlet Store

Houma

Pelican Electronics

Endwell

Computer Tree Inc.

VIRGINIA

San Diego

Radio Shack A.S.C.

Metarie

Pelican Electronics

Kingston

Greylock Electronics

Alexandria

Computer Hardware Store

Mira Mesa

MARYLAND

New York

Computer.Mart of A/t'iv York

Alexandria

Heathkit Electronic Center

San Fernando

San Fernando Electronics

Churcbville

Churchville Electronics

Troy

Trojan Electronics

Charlottesville

Lafayette Radio

San Francisco

Zack Electronics

Damascus

Damascus CB

Utica

Am-Com Electronics

Falls Church

Crossroad Electronics

San Jose

United Radio & TV Supply

La Vale

J & M Electronics

NORTH CAROLINA

Hampton

Lafayette Radio

San Luis Obispo

Mid-State

Rock vi tic-

Computer Workshop

Boone

Alpha Digital Systems

Norfolk

Avec Electronics Corp.

Electronic Supply

Rock v Me

Heathkit Electronic Center

Durham

Futureworld

Richmond

Avec Electronics Corp.

Santa Ana

Quality Electronics

Tows on

Baynesville Electronics Inc.

Greensboro

Byte Shop

Roanoke

The Computer Place

Santa Crus

Santa Cru/ Electronics

Towson

Heathkit Electronic Center

Raleigh

Byte Shop of Raleigh

Virginia Beach

Heathkit Electronic Center

Santa Maria

Caps Electronics

MASSACHUSETTS

NORTH DAKOTA

WASHINGTON

Santa Monica

Mission Control

Pitts field

Pittsfield Radio Co. Inc.

Fargo

The Computer Company

Long view

Progress Electronics

Suisun City

Byte Shop

Watt ham

Computer Mart Inc.

OHIO

Moses Lake

Ron's Electronics

Sunnyvale

Sunnyvale Electronics

Worces ter

RM Electronics Inc.

Bucyrus

Mead Electronics

Pasco

Riverview Electronics

Vallejo

Zackit

MICHIGAN

Cincinnati

Heathkit Electronic Center

Seattle

Amateur Radio Supply

Walnut Creek

MicroSun Computer Center

Ann Arbor

Wedemeyer Electronic Supply

Columbus

Heathkit Electronic Center

Seattle

CCom

COLORADO

Clawson

Radio Supply & Engineering

Dayton

Altair Computer Center

Seattle

Empire Electronics

Aurora

Com Co Electronics

Detroit

Heathkit Electronic Center

Reynoldsburg

Universal Amateur Radio

Spokane

Personal Computers

Duranqo

The Computer Shop

Flint

Hobby Electronic Center

OKLAHOMA

Tacoma

C & G Electronics

CONNECTICUT

Garden City

Computer Center

Oklahoma City

Bits. Bytes & Micros

WEST VIRGINIA

Bridgeport

Bridgeport Computer

Lansing

Fulton Radio Supply Co.

OREGON

Morgantown

Electro Distributing Co.

FLORIDA

Lansing

Wedemeyer Electronic Supply

Albany

Oregon Ham Sales

Wheeling

Lafayette Radio

Ft. Lauderdale

Computers For You

Midland

Computronix Corp.

Coos Bay

Her rick Electronics

WISCONSIN

GEORGIA

Mt. Clemens

The Computer Store

Portland

Portland Radio Supply

West Allis

Olson Electronics

Atlanta

Atlanta Computer Mart

Nilus

Miles Radio Supply

Salem

Computer Pathways

CANADA

Columbus

Radio Wholesale

MINNESOTA

PENNSYLAVANIA

Alberta (Calgary) The Computer Shop

HAWAII

Duluth

Northwest Radio of Duluth

Hershey

Microcomputer systems inc.

Ontario (Willowdalel Home Comouter

Honolulu

Integrated Circuit Supply

Hopkins

Heathkit Electronic Center

Pittsburgh

Heathkit Electronic Center

IDAHO

St. Paul

Heathkit Electronic Center

York

G.Y.C. Company

Quebec (Montre

<U Wang's Microcenter

Idaho Falls

Audiotronics

MISSOURI

RHODE ISLAND

ENGLAND

ILLINOIS

Evanston

Tri-State Electronic Corp.

El Dorado SprMONTANA

tigs Beckman Electronics

CranstonPaw tucket

Jabbour Electronics CityJabbour Electronics City

BerkshireGUAM

NewBear Computing StoreMarianas Electronics

Grove/and

Moyer Electronics

Sittings

Conley Radio Supply

TENNESSEE

PANAMA

Mount Prospect

Tn-State Electronic Corp.

Boseman

Electronic Service & Dist.

Chattanooga

William's Data Comp Div.

Panama CitySINGAPORE

Somtel. S.A.Inter-trade (PTEf Ltd.

ASK YOUR ELECTRONICS STORE TO STOCK JIM-PAK® TODAY!!JIM-PAK® • 1021 HOWARD AVENUE, SAN CARLOS, CALIFORNIA 94070 • (415)592-8097

INTEGRATED CIRCUITS MICROPROCESSOR LED'S SOCKETS CAPACITORS DIODES TRANSISTORS RESISTORS POTENTIOMETERS

Circle 201 on inquiry card.

BYTE April 1979 75

DIMENSION FX (400), FY(400), FZ (400)REAL NRA. NDEC, NEWR

C READ IN AND STORE RECTANGULAR COORDINATES FOR STARS IN FX,C FY, AND FZ ARRAYS.

DO 1 I = 1,400

READ (5, 100) CRA, CDEC, CDIST

C FIRST, CONVERT CRA, AND CDEC TO RADIANS

CRA =CRA *. 261799CDEC = CDEC * .01745

CXY = DIST * COS (CDEC)FX (I) = CXY * COS (CRA)FY (I) = CXY * SIN (CRA)FZ (I) = DIST * SIN (CDEC)CONTINUE

1100

cc

FORMAT (3( 10F7.3) )

RA, DEC, AND DIST REPRESENT THE POLAR COORDINATES FOR THEDIRECTION VECTOR. VEL IS THE VELOCITY OR RATE OF CHANGEOVEREACH ITERATION OF THE ALGORITHM.

DIST = 0.

RA =3.1415927

DEC =0.

VEL =0.

ADVANCE THE DISTANCE COUNTER BY ADDING THE VELOCITY FOR ONEITERATION.

10 DIST = DIST + VEL

NOW COMPUTE THE NEW LOCATION IN SPACE FROM RA, DEC, DIST.

AXY = DIST * COS (DEC)AX =AXY*COS(RA)AY = AXY *SIN (RA)AZ = DIST *SIN (DEC)

NOW ENTER THE INNER DO LOOP WHERE THE SHIFTED COORDINATESARE FOUND, CONVERTED TO CELESTIAL COORDINATES AND PLOTTED.

DO 20 I = 1,400

XP= FX (I)- AXYP= FY (I) - AYZP = FZ (I)" AZ

NRA = ATAN (YP / XP)NEWR = SORT (XP * XP + YPNDEC = ARSIN (ZP / NEWR)

YP + ZP * ZP)

C TEST FOR QUADRANTS MESSED UP BY THE ARCTANGENT FUNCTION.

IF (XP .LT. 0.) NRA = NRA+ 12.

IF ((XP .GT. 0.) .AND. (YP .LT. 0.)) NRA = NRA + 24.

C TEST FOR SCREEN LIMITS.

IF (NRA .GT. 24.) NRA = NRA - 24.IF (NRA .LT. 0. ) NRA = NRA + 24.

C PLOT POINTS HERE, USING THE APPROPRIATE SUBROUTINE CALLS FOR THEC AVAILABLE DISPLAY DEVICE.

CALL P POINT ( -NRA, NDEC)

20 CONTINUE

C CLEAR SCREEN; PREPARE FOR NEXT ITERATION.

C TEST FOR CONSOLE INPUT; CHANGES IN DIRECTION, VELOCITY, SCREENC WINDOW FRAMING, ETC.

GOTO 10

STOPEND

Listing I: Generalized FORTRAN version of galaxy simulation. This programcan be converted almost directly into BASIC. Note: for those people nothaving an arcsin function: arcsin function: arcsin (x) = arctan (xj V l-x2).

Get YourUp-GradeKit Here:

AL: Birmingham: Computer Center. (205) 942-8567;Huntsville: Computerland. (205) 539-1200. AZ:Tuscon; Myotis Enterprises, (602) 326-5306. CA:Berkeley: Byte Shop. (415) 845-6366; Davis: CapitolComputer Systems, (916) 483-7298; El Cerrito. Compu-terland, (415) 233-5010; Hayward: Computerland. (415)538-8080; La Mesa: EDP Management Inc., (714) 462-5400; Los Altos: Computerland, (415) 941-8154; MarinaDel Rey: Base 2, (213) 822-4499; Mt. View: Byte ShopComputer Store, (415) 969-5464; Digital Deli, (415) 961-2670; Palo Alto: Byte Shop, (415) 327-8080Sacramento:Capitol Computer Systems, (916) 483-7298; San Diego:Byte Shop of San Diego, (714) 565-8008; San Francisco:Byte Shop, (415) 434-2983; Computer Center Inc., (415)387-2513; Computer Store of San Francisco; (415) 431-0640; Computerland, (415) 546-1592; San Jose: Elec-tronic Systems, (408) 226-4064; San Rafael: ComputerDemo Room Inc., (415) 457-9311; Santa Clara: ByteShop Computer Store, (408) 249-4221; Walnut Creek:Computerland, (415) 935-6502. CO: Denver: Compu-terland of Denver, (303) 759-4685; Englewood: ByteShop, (303) 761-6232. CT: Fairfield: Computerland ofFairfield, (203) 374-2227; New London: R & R ComputerStore, (203) 447-1079. FL: Ft. Lauderdale: ComputerAge, (305) 791-8080; Computerland, (305) 566-0776;Jacksonville: Williams Radio 4 TV. (904) 354-5460;Panama City: Boyd Ebert Corp., (904) 769-4492; Tampa;Microcomputer Systems, (813) 879-4301 GA:Smyrna:Computerland of Atlanta, (404) 953-0406. HI: Hono-lulu: Computerland, (808) 521-8002. IL: Champaign:Byte Shop, (217) 352-2323; Niles: Computerland, (312)967-1714; Oak Lawn: Computerland, (312) 422-8080;Peoria: Computerland, (309) 688-6252. KY: Louisville:Computerland, (502) 425-8380. MA: Cambridge:Computer Shop, (617) 661-6270; Waltham: ComputerMart Inc., (617) 899-4540. MD: Rockville: Computer-land of Gaithersburg, (301) 948-7676. Ml: Ann Arbor:Newmann Computer Exchange, (313) 994-3200; EastLansing: New Dimensions in Computing Inc.. (517) 337-2880; Kentwood: Computerland of Grand Rapids, (616)942-2931; Royal Oak: Computer Mart, (313) 576-0900.MN: Bloomington: Computerland of Bloomington, (612)884-1474; Minneapolis: Computer Depot Inc., (612) 927-5601. NB: Omaha: America Computers. (402) 592-1518. NC: Raleigh: Byte Shop, (919) 833-0210. NJ:Budd Lake: Computer Lab of NJ, (201) 691-1984; Clark:S-iuo, (ifui) 382-1318; fsehn: Computer Mart of NJ,(201) 283-0600; Succasunna: Computer Hut, (201) 584-4977. NY: Carle Place: Computerland of Nassau, (516)742-2262; Elmira Heights: Red Ten Electronics, (607)734-3566; Ithaca: Computerland of Ithaca. (607) 277-4888; Johnson City: Micro World, (607) 798-9800: NewYork City: Computer Mart of NY, (212) 686-7923;Syracuse: Computer Shop of Syracuse Inc.. (315) 446-1284; White Plains: Computer Corner, (914) 949-3282.OH: Cincinnati: Digital Design, (513) 561-6733; Colum-bus: Mini Micro Computer World Inc., (614) 235-5813:Ohio Microcomputer Specialists, (614) 488-1849;Dayton: Computer Solutions. (513) 223-2348. OK:Oklahoma City: Microlithics Inc., (405) 947-5646;Micronics. (405) 942-8152. PA: Frazer: PersonalComputing Corp.. (215) 647-8463; Philadelphia: Micro-tronix, (215) 665-1112; State College: Micro ComputerProducts Inc., (814) 238-7711. TX: Austin: Computer-land, (512) 452-5701; Dallas: KA Electronic Sales, (214)634-7870; Ft. Worth: Patrick Associates. (817) 531 -2761;Garland: Digital Research Corp., (214) 271-2461;Houston: Computerland of SW Houston, (713) 977-0909; Houston Computer Mart, (713) 649-4188; SanAntonio: Micromart, (512) 222-1426. UT: Oram: John-son Computer Electronics, (801) 224-5361. VA:Alexandria: The Computer Hardware Store Inc., (703)548-8085; Computers Plus, (703) 751-5656; Arlington:Arlington Electronics Wholesalers, (703) 524-2412.WA: Bellevue: Computerland of Bellevue, (206) 746-2070; Seattle: Magnolia Microsystems, (206) 285-7266.Wl: Madison: Computerland of Madison. (608) 273-2020;Neenah: Fox Valley Computer Store, (414) 725-3020.CANADA: ONTARIO: Mississauga: Arisia Micro-systems, (416) 274-6033; Toronto: Computer Mart Ltd.,(416) 484-9708. BRITISH ISLES: CHESIRE: Cheadle:New Bear Computing Store. 061-491-0134. ESSEX:lllford: Byte Shop Ltd.. 01-554-2177. HARTFORD-SHORE: New Barnet: Computer Components, 14Station Rd. ISRAEL: Haifa: Microcomputer Eng. Ltd.,31-070. WEST GERMANY: Munich: ABC ComputerShop, Schellingstrasse 33, 8000 Munchen 40; Micro-computer Shop, Toelzerstr, 8, D-815 Holzkirchen;Wedel: Digitronic Computer Systems. Bei-der Doppe-liche 3-5.

Ithaca Audio

76 April 1979 © BYTE Publications Inc

The Simple Up-Grade

• i

Trying to add computermemory is not much fun ifyou don't get everythingyou need.

m

Everything you need to up-grade yourTRS-80 to a 16K system.

• 8 tested and guaranteed 16K RAMs

► New pfoqratnming jumpers • Easy-to-follow instiuctions

• Only tool required is a household screwdriver

Receiving unprogrammedjumpers and having toprogram them yourself isnot much better. Mostimportant, that's the placewhere the problems areintroduced.

So Ithaca- Audio's betteridea is the Simple Up-Grade. Each Simple Up-Grade is specially designedto make adding memoryfoolproof. We include allthe parts you'll need; 8prime, tested 16K RAMs,along with concise step by

Circle 190 on inquiry card.

step directions and dia-grams. And if a personalityjumper is required, it'spremade.

The TRS-80* memoryexpansion was our firstSimple Up-Grade. Nowthere are two more—forowners of Apple Hf andExidy Sorcerer* computers.Each kit is 100% guaran-teed—if a part ever fails, wereplace it FREE. Your IthacaAudio dealer has them instock, only $140. Now youcan afford to add highquality, high density memo-

ry iu yuui ayoicm »wi

remarkably little—far lessn you w<

Apple, or Exidy directly.

Everything you need to up-grade yourSorcerer in blocks of 16K.

• 8 tested and guaranteed 16K RAMs

• New programming jumpers

• Use only a screwdriver and soldering iron

• Easy instruclions ITHACA

AUDIO

Everything you need to up-grade yourApple tl in blocks of 16K.

• 8 tested and guaranteed 16K RAMs

• New Memory Select Units

• Use only a household screwdriver.

• Easy instructions. „ A_

are Ithaca Audio's first step

computer at lower cost.Other Up-Grades are on theway to your dealer now.

ITHACAAUDIO

P.O. Box 91

Ithaca, New York 14850

Phone: 607/257-0190 .

*TRS-80 is a registered trademark of

Tandy Corp.tApple II is a registered trademark of

Apple Computer; Inc. ~^Sorcerer is a registered trademark of

Exidy, Inc.

BYTE April 1979 77

3 POWERFUL INTERFACES

FOR THE TRS-80* AND S-100 BUS

MASTER CONTROL CONSOLE

Model MCC-K (kit) $129.95Model MCC-A (assem.) $159.95

A COMPLETE COMMAND CENTER FROM YOUR KEYBOARD ORFROM ANY LEVEL II OR DISK BASIC PROGRAM. Turn on bells, sprinklers,sense lire and burglar alarm, anything that needs a switch can be controlled bythe command center.

• 16 OUTPUT LINES: With 8 relays. SPST, and 8 TTL diode protected signals

• 16 OUTPUT LINES: 8 lines with OPTO-COUPLERS and 8 TTL diode protected

• FULL LED PANEL: For status indicators of all control lines.

• COMPLETE WITH CABINET: Has attractive sloping cabinet.

• FULL HEAVY DUTY POWER SUPPLY: Contains power supply. No external powerneeded

• EASY CONNECTION: Plugs into TRS-80 expansion port edge card rear ol keyboard orbetween keyboard and expansion interface

• 2-EDGE CONNECTORS: 2-additional expansion 40 pin edge connectors

• NEEDS NO SOFTWARE: Operates from OUT and IN statements from BASIC or machinecode statements Example: (Out 5. 1 =turn on switch 5 Out 5. 2=turn off switch 5, etc )

• COMPLETE MANUAL AND SAMPLE PROGRAMS: Comes with comprehensive

manual

Model EPR-80K (kit) $129.95Model EPR-80A (assem.) $159.95

EPROM PROGRAMMER+3

• SELF CONTAINED: Comes housed in an atlraclive cabinet wilh self contained power

supply.

• PROGRAMS: This unit programs the popular 2708,2716 Eproms. Personality modules forother Eproms will be available at a later date.

• FIRMWARE: On board firmware so that no software need be written or entered into yourCPU system. The firmware can be shut off when not in use. Firmware residents at F00OO.The firmware in and out of system is controlled from a switch on front panel.

• 3-ADDRESSABLE ROM LOCATIONS: The Eprom Programmer has three sockets onfront panel which are addressable to any location by dip switch. In addition each ROMlocation can be shut off or turned on by switches located on the fronl panel.

• MONITOR: A monitor is supplied within the firmware for performing several functions.Move memory, debug, verify, program from memory, program from TTY input, etc.

• EASY CONNECTION: The Eprom Programmer is attached with ease. For the TRS-80users, the unit plugs into the rear of the keyboard or between the keyboard and expansioninterface. Included with the unit are two additional 40 pin edge connections for interfacingof other interfaces. For the S-100 users, a molded connection cable is supplied and it isinserted into one ol the connectors on your mother board. Plug il in and it is ready to use

• FULLY BUFFERED: add address and data lines are fully buffered.

• OTHER FEATURES: Other features include status lights for which ROM selected, switchenable for programming, pulse (burn) indicator firmware select-deselect switch, on and offand dip switches for the addressing of each ROM location.

Model MS10-K $129.95Model MS10-A (assem.) $149.95

SERIAL PARALLEL I/O MODULE

THIS POWERFUL INERFACE MODULE ALLOWS THE TRS-80 COMPUTER OWNER TOCOMMUNICATE OVER 8 SEPARATE RS-232 OR PARALLEL CHANNELS, ALLSELECTABLE FROM A SIMPLE COMMAN IN LEVEL-II OR DISK BASIC OR MACHINECODE NOW YOU CAN INTERFACE PRINTERS. TAPE READERS. OTHER RS-232 ORCURRENT LOOP SERIAL DEVICES OR ANY PARALLEL DEVICE

• 8-SERIAL INPUT/OUTPUT PORTS: Fully buffered

• 8-PARALLEL INPUT/OUTPUT PORTS: Fully buttered

• EASY CONNECTION: Connects to the expansion port edge card connector betweenkeyboard and expansion interface or direct to rear of the TRS-80 keyboard

• DIP SWITCH: All ports, baud rate, parity, etc all set by dip switches.

• ON BOARD FIRMWARE: No software driver routine needed for operation of the moduleSimple OUT and IN statements operate the module.

• RS-232, CURRENT LOOP: All 8 channels can be selected for RS-232 or current loop

• BAUD RATE SELECTION: All channels dip switch selectable lor individual baud ratesfrom 110 to 9600 baud

• COMPLETE DOCUMENTATION: Complete instruction manual Just plug in and set theswitches and you are able to communicate with the outside world This module alsoincludes 2 additional 40 pin edge connectors lor connection of other interfaces

TERMS

CASH WITH ORDER, VISA, MASTER CHARGE. NO C.O.D.'S! PERSONAL CHECKS REQUIRE 3-WEEKS TO CLEAR.

ORDER FROM

WORLD POWER SYSTEMS, INC.

1161 North El Dorado Place, Tucson, Arizona 85715

24 Hours Order Phone No: 602-886-2537

(Dealers: Write or phone for information)STOCKING DISTRIBUTOR FOR SOUTHERN CALIFORNIA CONTACT: CALIFORNIA DIGITAL 213-679-9001Trademark: Radio Shack WATCH FOR MODULE "50"

78 BYTE April 1979

Circle 390 on inquiry card.

3 POWERFUL INTERFACES

FOR THE TRS-80* AND S-100 BUS

TRS*80TO S-100 BUSCABLE ADAPTER

• FULL INTERFACE: Contained within the cable assembly, is a small enclosure. This

enclosure contains all the logic to convert your TRS-80 to be compatible with theS-100 bus system.

• FULL BUFFERING: All address, data and signal lines are fully buffered

• EASY CONNECTION: It is easy to connect Just plug the one end of the cable intoone slot on your S-100 system and plug the other end into the rear of the TRS-80keyboard or between the expansion interface. Turn on and go . .

• TWO EDGE CONNECTORS: Two addition 40 pin port edge connectors are providedfor other connection of expansion interfaces.

• POWER: AM power is derived from the S-100 bus structure. Since the TRS-80 will notsupport other devices hooked to its power supply, it is a must that your S-100 supply

8-10 volts DC. Logic card contained within the cable has on board 5 volt regulator.Current requirements is 375 ma. Unit has separate terminal for exterior connection ofDC power requirement if it is to be supplied outside the S-100 bus system.

• FULL OPERATION MANUAL: Not much need for a manual, but we have preparedone with full principal of operation, etc.

Model CAB-80K (kit) $99.95Model CAB-80A (assem.) $119.95

TRS-80 TO S-100 BUS

• FULLY SELF CONTAINED POWER SUPPLY. (10 AMP)

• BUS TERMINATION: Bus termination and conditioning for nocross talk or noise etc.

• S-100 SIGNALS: All required S-100 signals are generated byon board logic and is fully compatible with the TRS-80.

• COMPLETE: Comes complete with cabinet, card guides,on off switch and sockets. Nothing else to buy.

• STAND ALONE: This system can stand alone or can operatewith the TRS-80. All input, output, address and signal linesfully buffered between TRS-80 and S-100 BUS system.

• EASY CONNECTION: Just plug it into the rear of the keyboardor between the keyboard and expansion interface. Alsoincludes two 40 pin edge connectors for connection to otherinterfaces.

Model RSB-K (kit) $249.95Model RSB-A (assem.) $289.95

S-100 EPROM PROGRAMMER +3

* All the same features of the TRS-80 model. Comescomplete with interface cable, S-100 plug-in card.Totally self-contained power supply, plus manyother extras.

Model EPR-100K (kit) $129.95Model EPR-100A (assem.) $159.95

TERMS

CASH WITH ORDER, VISA, MASTER CHARGE. NO CO.D.'S! PERSONAL CHECKS REQUIRE 3 WEEKS TO CLEAR.

ORDER FROM

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Tucson, Arizona 8571524 Hour Order Phone No: 602-886-2537STOCKING DISTRIBUTOR FOR SOUTHERN CALIFORNIA CONTACT: CALIFORNIA DIGITAL 213-679-9001'Trademark: Radio Shack

Circle 390 on inquiry card.

BYTE April 1979 79

Text continued from page 74.Other Possibilities

Photo 4: The local constellations from 2937 light years against the back-ground of the Milky Way.

Computer enthusiasts who are also inter-ested in astronomy or physics might want toexperiment with the Doppler shift effectmentioned earlier-requiring a color graphicsdisplay. Also, giving the stars colors relatedto their surface temperatures might be in-teresting. Another possibility would be theaddition of magnitude (brightness). TheIBM-1130 version calculated magnitudes andused different printer characters to indicatestars, but the 2250 does not have a pro-grammable intensity control.

Another interesting possibility lies in thethree-dimensional nature of the model. Iftwo images were plotted side by side on thescreen at slightly different viewing angles, apair of stereoscopic viewing glasses wouldpermit a truly three-dimensional view. I haveexperimented with the stereo three-dimen-sional effect by placing similar Gould hardcopy plots side by side. The sense of depthproduced gives one a feeling of vertigo.

Since the model is animated, navigationexperiments are possible. Perhaps the algo-rithms presented here could be written intoa game program producing the ultimatecelestial exploration game."

Photo 5: Another side view of the Milky Way galaxy from I million lightyears. The two small objects just below and to the right of the galaxy are thelarge and small Magellanic Clouds.

GLOSSARY

Buffer: Temporary storage area in main mem-ory, usually used to prepare or receive datafrom input or to output devices.

Declination: The angle from the celestialequator to the star. Equivalent to latitude(-90 to 90 degrees).

Doppler shift: Apparent changes in frequencydue to direction of travel and speed. Forexample, if you are moving towards an objectthat is emitting light, the frequency of theobserved light is higher. The reverse is truefor the opposite direction of travel.

Extragalactic objects:

domain of a galaxy.

Objects outside the

Light year: The distance light will travel in oneyear at 186,284 miles per second (300,000 kilo-meters per second) - about 5,870,000,000,000miles.

Magnitude: The brightness of a star. Each unitof magnitude signifies a difference in bright-ness factor of 2.512.

Right ascension: The arc measured along theequator, from 0 hours to the base of the star'svertical declination circle.

80

April 1979©BYTE Publications Inc

rwrC W**M twf l*1*^ l^f ( tpnC Mm/C W^A ^Mf-A ■

m ™ pi ■ III \mm XJKm \ m\ <m \Mm\

f ¥ f ¥ ¥ p— f F r

onu^JoinnipuiLtiinis

A newquarterly bythe staff of BYTE

This totally new publication is entertaining, informative, and uncomplicated. It is edited forthe attorney, accountant, writer and other professional or business person aware of thepersonal computer as a tool for business, education, home entertainment, laboratory workand other applications.

Compiled and edited by the staff of BYTE, latest developments covered in onComputingwill include creative uses of the small computer, books for the computer user, how andwhere to buy your personal computer and numerous features concerning the fascinatingworld of the microprocessor.

Discount to charter subscribers will result in substantial savings. The initial price (G.S.)of $2.50 per copy is sure to be increased. By acting immediately, your first year's subscriptionprice will be held to just $8.50. Add onComputing to your library of'must' publications...

GUIDE TO PERSONAL ■"* COMPUTING

SUBSCRIBE NOW! COMPLETE AND MAIL ATTACHED POSTAGE PAID REPLY CARD

onComputing, Inc. ■ 70 Main Street ■ Peterborough, N.H. 03301 ■ Tel. 603/924-7217

Aw, cut it out!

DIGITAL RESEARCH

□ CP/M FDOS — Diskette Operating System complete withText Editor, Assembler, Debugger, File Manager and systemutilities. Available for wide variety of disk systems includingNorth Star, Helios II, Micropolis, iCOM (all systems) and Altair.Supports computers such as Sorcerer, Horizon, Sol System III,Versatile, Altair 8800. COMPAL-80. iCOM Attache and TRS-80. Specify desired configuration 5145/525

D MAC — 8080 Macro Assembler. Full Intel macro definitions.Pseudo Ops include BPC, IRP, REPT, TITLE, PAGE, andMACLIB. Z-80 library included. Produces Intel absolute hexoutput plus symbols file for use by SID (see below) 5100/515

□ SID — 8080 symbolic debugger. Full trace, pass count andbreak-point program testing system with back-trace and histo-gram utilities. When used with MAC, provides full symbolicdisplay of memory labels and equated values S85/S15

□ TEX — Text formatter to create paginated, page-numberedand justified copy from source text files, directable to disk orprinter $85/515

□ DESPOOL — Program to permit simultaneous printing ofdata from disk while user executes another program from theconsole $50/$1

MICROSOFT

□ Disk Extended BASIC

with long variable names,length file records

L

— New version, ANSI compatibleWHILEA/VEND, chaining, variable S300/S25

□ FORTRAN-80* — ANSI '66 (except for COMPLEX) plusmany extensions. Includes relocatable object compiler, linkingloader, library with manager. Also includes MACRO-80 (seebelow) S400/S25

□ COBOL-80* — ANSI 74 Pseudo-compiler with relocatableobject runtime package. Format same as FORTRAN-80 andMACRO-80 modules. Complete ISAM, interactive ACCEPT/DISPLAY, COPY, EXTEND $625/525

□ MACRO-80 — 8080/Z80 Macro Assembler. Intel and Zilogmnemonics supported. Relocatable linkable output. Loader,Library Manager and Cross Reference List utilities included

$149/$15

□ MACRO-80 plus FORTRAN subroutine library available. Li-brary includes ABS, SIGN, EXP, DLOG, SORT, DSQRT,ATAN, DATAN etc. etc $219/$15

□ EDIT-80 — Very fast random access text editor for text with orwithout line numbers. Global and intra-line commands sup-ported. File compare utility included $89/$15

'See MICROPRO for Microsoft languages wilh sort capabilities.

XITAN (software requires Z-80 CPU)

□ Disk BASIC — Fast powerful interactive interpreter. PRI-VACY password security. Can dynamically open a largenumber of files simultaneously for random or sequential I/O

$159/$20

□ Z-TEL — Text editing language. Expression evaluation itera-tion and conditional branching ability. Registers available fortext and commands. Macro command strings can be saved ondisk for re-use $69/520

□ ASM Macro Assembler— Mnemonics per Intel with Z-80extensions. Macro capabilities with absolute Intel hex or re-locatable linkable output modules $69/320

□ LINKER —Link-edits and loads ASM modules S69/S20

□ Z-BUG debugger — Trace, break-point tester. Supportsdecimal, octal and hex modes. Dissassembler to ASMmnemonic set. Emulation technique permits full tracing andbreak-point support through ROM $89/520

Software /

with /ManualManual/ Alone

□ TOP Text Output Processor — Creates page-numbered,justified documents from source text files. Available only aspart of A3 or A3+ package.

D SUPER BASIC — Sub-set of Xitan Disk BASIC with exten-sive arithmetic and string features but without random accessdata file support. Available optionally with features to supportVDB Xitan video output board $99/520

□ A3 package includes Z-TEL, TOP, ASM and Super BASIC

5249540

e includes Disk BASIC, Z-TEL,KER

TOP, ASM,$409/840

□ A3+

Z-BUG"andLlf

MICROPRO

□ Super Sort I — Sort, merge, extract utility as absoluteexecutable program or linkable module in Microsoft format.Sorts fixed or variable records with data in binary, BCD,Packed Decimal, EBCDIC, ASCII, floating, fixed point, expo-nential, field justified, etc. etc. Even variable number of fieldsper record! $250/$25

- Above available as absolute program only 5200/525

D Super Sort I

- As II without SELECT/EXCLUDE . .$150/

□ Super Sort I

$25

□ ISAM — Callable system with triple level index full ANSI levelII COBOL capability. Utility included to convert existing se-quential files to ISAM 5145/525

□ Word Master Text Editor — In one mode has super-set ofCP/M's ED commands including global searching and replac-ing, forward and backwards in file. In video mode, provides fullscreen editor for users with serial addressable-cursor terminal

$150/525

D Corresponder — Mail list system, supporting form lettergeneration with personalized greetings. Reference fields per-mit sorting and extraction by name, address fields or referencedata using Super Sort. Requires CBASIC 595/525

BASIC/S — Mircrosoft BASIC with Super Sort Capability 5400/525

Microsoft FORTRAN-80 with Super Sort 5550/525

□ FORTRAN/S

capability

□ COBOL/S — Microsoft COBOL-80 with Super-Sort capability

5800/525

SOFTWARE SYSTEMS

□ CBASIC Disk Extended BASIC — Non-interactiveBASIC with pseudo-code compiler and runtime interpreter.Supports full tile control, chaining, integer and extended preci-sion variables etc. Version 1 users can receive Version 2 andnew manual for $45 with return of original diskette. StandardCP/M and TRS-80 CP/M versions available 595/515

STRUCTURED SYSTEMS GROUP

D General Ledger— Interactive and flexible system providingproof and report outputs. Customization of COA created inter-actively. Multiple branch accounting centers. Extensive check-ing performed at data entry for proof, COA correctness etc.Journal entries may be batched prior to posting. Closing pro-cedure automatically backs up input files. All reports can betailored as necessary. Requires CBASIC 5995/520

D Accounts Receivable — Open item system with output forinternal aged reports and customer-oriented statement and bill-ing purposes. On-Line Enquiry permits information for Cus-tomer Service and Credit departments. Interface to GeneralLedger provided if both systems used. Requires CBASIC 5750/520

□ Accounts Payable — Provides aged statements of ac-counts by vendor with check writing for selected invoices. Canbe used alone or with General Ledger and/or with NAD. Re-quires CBASIC 5900/520

82 BYTE April 1979

Software for most popular 8080/Z80 computer disk

systems, including NORTH STAR, MICROPOUS, iCOM, SD SYSTEMS,

HELIOS, ALTAIR, TRS-80 and 8" SOFT SECTORED formats.

□

□

Software /

with /ManualManual/ Alone

D NAD Name and Address selection system — interac-tive mail list creation and maintenance program with output asfull reports with reference data or restricted information for maillabels. Transfer system for extraction and transfer of selectedrecords to create new files. Requires CBASIC S79/S20

□ QSORT — Fast sort/merge program for files with fixed recordlength, variable field length information. Up to five ascending ordescending keys. Full back-up of input files created. Parameterfile created, optionally with interactive program which requiresCBASIC. Parameter file may be generated with CP/M assem-bler utility S95/S20

OTHER

□ Z80 Development Package — Consists of: (1) disk fileline editor, with global inter and intra-line facilities; (2) Z80relocating assembler, Zilog/Mostek mnemonics, conditionalassembly and cross reference table capabilities; (3) linkingloader producing absolute Intel hex disk file for CP/M LOAD,DDT or SID facilities. Standard CP/M and TRS-80 CP/M ver-sions available S95/S15

D WHATSIT — Interactive data-base system using associativetags to retrieve information by subject. Hashing and randomaccess used for fast response. Requires CBASIC S125/S25

□ DISINTEL — Disk based disassembler to Intel 8080 or TDUXitan Z80 source code, listing and cross reference files. Intel orTDL/Xitan pseudo ops optional. Runs on 8080. Standard CP/Mand TRS-80 CP/M versions available S65/S10

□ DISZILOG — As DISINTEL to Zilog/Mostek mnemonic files.Runs on Z80 only. Standard CP/M and TRS-80 CP/M versionsavailable S65/S10

□ ZASM Assembler — Disk-based assembler for Zilog/Mostek mnemonic Z-80 code. Creates output in absolute Intelhex. Requires Z-80 to operate S45/S10

Fill it in

Lifeboat Associates, 164 West 83rd Street, New York, N.Y. 10024 (212) 580-0082

Please send me:

Software /

with /ManualManual/ Alone

□ XYBASIC Interactive Process Control BASIC — Fulldisk BASIC features plus unique commands to handle bytes,rotate and shift, and to test and set bits. Available in Integer.Extended and ROMable versions From S295/S25

□

1

SMAL/80 Structured Macro Assembled Language

— Package of powerful general purpose text macro processorand SMAL structured language compiler. SMAL is an assem-bler language with IF-THEN-ELSE, LOOP-REPEAT-WHILE,DO-END, BEGIN-END constructs $75/S15

Selector II — Data Base Processor to create and maintainsingle Key data bases. Prints formatted, sorted reports withnumerical summaries. Available for Microsoft and CBASIC(state which). Supplied in source code $195/$20

Selector III — Multi (i.e., up to 24) Key version of Selector II.Comes with applications programs including Sales Activity. In-ventory, Payables, Receivables, Check Register, Expenses,Appointments, and Client/Patient. Requires CBASIC Suppliedin source code $295/520

D BASIC Comparison — A comprehensive features and per-formance analysis of five 8080 disk BASIC languages —CBASIC, BASIC-E, XYBASIC, Microsoft Disk ExtendedBASIC, and Xitan's Disk BASIC. Itemizes results of 21 differentbenchmark tests for speed and accuracy and lists instructionsand features of each BASIC (send 200 S.A.S.E.) FHEE

•

TRS-80

FORTRAN PACKAGE

Professional Disk-Based

Language and Utility Package

•

Written by Microsoft, creators of Level II BASIC, thepackage runs on a TRS-80 system with 32K RAM. oneor more drives and TRSDOS. The software is suppliedon diskettes and consists of a relocatable machinecode FORTRAN Compiler. Macro Assembler, a Link-ing Loader, Subroutine Library. Text Editor $325

Software

Price

□ manual alone

□ manual alone

□ Check enclosed □ U.P.S. COD

Exp. Date

Sub total

□ Visa U Master Charge

Shipping

Account #

$1.00 for C.O.D.

Signature

Total

Lifeboat Associates

CJ|M

SOFTWARE

SUPER-MARKET

.'TM

My computer configuration (specifying disk system):

Name

Address (No. P.O. Box)

City

State

Zip

Disk systems and formats: North Starsingle or double density. IBM single or2012^6. Altair, Helios II, Micropolis Mod Ior II, 5'A" soft sector (Micro iCOM'SDSales'Dynabyte). etc.

Add Sl.'item shipping ($2 min.). Add $1additional lor UPS C.O.D.Manual cost applicable against price ofsubsequent software purchase.

The sale of each proprietary softwarepackage conveys a license forone system only.

EFFECTIVE MARCH 1, 1979

1 The Software Supermarket is a trademark of Lifeboat Associates

oftware

J

BYTE April 1979

83

Marsport, Here I Come

Delmer D Hinrichs2116S E 377th AvWashougal WA 98671

The Three-Dimensional Celestial

■ V I

' \ /^-SPACESHIP

-90*

-y

ORBIT

TARGET LANDING SITE

Figure 1: Mars, with theorbiting spaceship and thetarget landing site. Bothrectangular and sphericalcoordinate systems areshown.

Introduction

The motion of a freely falling body in agravity field has many interesting character-istics. One of the better methods of showingthis is with a simulation, in this case writtenfor the Hewlett-Packard HP-67 or HP-97programmable calculator.

Lunar lander simulation programs, inwhich the application of thrust is used tocounteract gravity, have become quite popu-lar. Extending the lunar lander concept totwo dimensions allows study of the motionof bodies in orbit. Further extension tothree dimensions, as in this program, makesit possible to investigate orbital planechanges. Since Mars has a much strongergravity field than the moon, the effect ofgravity is accentuated.

Running the Program

This program is designed as a three-dimensional Mars lander so you can exerciseyour three-dimensional visualization ofspace. With a limited fuel supply you canpilot a spaceship from its initial orbit arounda spherical simulation of Mars to a softlanding at a designated target site on Mars'surface. The initial orbit does not pass overthe target site. The three-dimensional tra-jectory of the spaceship is calculated as aseries of segments under your control.

Realistic features of the program include:

• True inverse square law gravity actsupon the estimated midpoint of eachtrajectory segment.

• The thrust of the spaceship's rocketengine simulates the use of a hydrogen-oxygen fuel, with an exhaust velocityof 4 km/s.

• The spaceship loses mass as fuel isused; with less total mass, the space-ship accelerates more rapidly for thesame fuel usage rate.

• If the limited fuel supply is exhausted,the spaceship automatically free-fallsto impact on the surface of Mars.

• After impact with or landing on Mars'surface, the actual landing position,velocity, and remaining fuel are inter-polated from the segment-end condi-tions immediately before and afterimpact. Also, the distance along thespherical surface of Mars from theimpact site to the target site iscalculated.

To avoid some pilot errors, there aredata entry checks: the maximum fuelusage rate is limited to 100 kg/s. The maxi-mum segment duration is limited to 60seconds. If an attempt is made to burnmore fuel than actually remains, only theactual remaining fuel is burned.

84

April 1979 ©BYTE Publications Inc

Mechanics Simulation for the HP 67/97

One difficult part of landing the space-ship with this program is to correctlyinterpret exactly where the spaceship is andwhere it is going at all times; that is, tovisualize its movement in three dimensions.To make this as easy as possible, the positionis displayed as the spaceship's altitude fromMars' spherical surface, plus two positionangles, 0 and 8, as shown in figure 1. Thecoordinate system is fixed with the origin atthe center of Mars, and both position anglesequal 0 at the designated target landing site. IfMars is considered as a globe like the Earth,then angle 0 is degrees of longitude andangle 8 is degrees of latitude. The X,Y planeintersects Mars' surface along its equator.Therefore, angle 0 is in the X,Y plane, andangle 8 is from the X,Y plane. Then Z and—Z are the north and south poles, respec-tively. The maximum range of angle 0 is±(0° to 180°), while the maximum range ofangle 8 is ±(0° to 90°). Note that when angle8 is exactly ±90°, angle 0 is indeterminate.

Similarly, the spaceship's velocity is dis-played as a magnitude and two velocityangles, 0 and 8. The velocity vector is paral-lel to the vector from the origin to a positionwith the same angles. Thus if velocity angles0 and 8 are both 0, the spaceship's velocityis parallel to the X axis, and toward morepositive X values, regardless of the space-ship's position.

Now that we know where we are andwhere we're going, let us check out the space-ship's operation, summarized in table 1. Wemust first decide on the initializationmethod we want to use. To start with arelatively easy landing problem, use thefixed initialization on the Three-DimensionalMars Lander program card (program listing1); this always puts the spaceship in thesame position and at the same velocity ina nearly circular orbit. When landing fromthis fixed initialization becomes too easy,use one of the random initialization routinesof program listing 2; these put the spaceshipat a random altitude (107 to 3,607 km), in a

0.000

E

Status0.000

.xxxxxx

B

O.xxx

A

—

R/S

1.000

C

Status

E

Status

kg/s

ENTER

ENTER

B

t/2

Status

Status

Step Instructions Input Keys Output

1 Prepare for Three-Dimensional Mars landing-Use either:

(a) Fixed initialization:

(1) Load Three-Dimensional Mars Landerprogram;

(2) Initialize;

(3) Go to step 2.

(b) Random initialization:

(1) Load Random Initialization Program;

(2) Optionally, enter a random seed;

(3) Optionally, spin for a random seed,wait for a few seconds, then stop;

(4) Initialize for a random circular orbit,or for a random elliptical orbit;

(5) Load Three-Dimensional Mars Lander

2 Optionally, reset segment duration, t seconds.

3 Enter either a free-fall or a rocket burn:

(a) Free-fall n segments of t seconds each;

(b) Rocket burn for one segment of t seconds;

(1) Angle of thrust 0, degrees;

(2) Angle of thrust 8, degrees;

(3) Fuel usage rate, kg/s; (0 thru 100)

4 To calculate next trajectory segment, go to Step 2.

Notes

• When fuel is gone, there is a print/pause of 10000, then the spaceship free-fallsto impact.

• After Mars impact, there is a print/pause of 3393, then the landing status isdisplayed.

• Status is a double stack review of: Stack

Register

(a) Segment time, seconds (after landing, impact-to-target distance, km); T

(b) Position angle 0, degrees; Z

(c) Position angle 8, degrees; V

(d) Ship's altitude, km (after landing, vertical error of estimated position); X

(e) Remaining fuel supply, kg; T

(f) Velocity angle 0, degrees; Z

(g) Velocity angle 8, degrees; Y(h) Ship's velocity, km/s. X

• Any status display may be repeated by pressing D.

Table J: Operating Instructions for the optional random initialization pro-gram and for the Three-Dimensional Mars Lander program.

April 1979 © BYTE Publications Inc 85

random three-dimensional direction fromMars, and going in a random direction. Thecircular initialization puts the horizontalspaceship in a circular orbit. The ellipticalinitialization puts the spaceship at a randomlocation on an orbit of random ellipticity.Some of these elliptical orbits may even-tually terminate on Mars if not modified.

To repeat the same initial conditions withthe random orbits, enter the same randomseed prior to initialization. For an unpredict-able initial status, use the SPIN routine,which increments the random seed until itis manually stopped. Repeated pressing ofthe C or E keys gives a different initial statuseach time.

After initialization, the user may changethe segment duration (segment time staysas set until reset), then decide whether tofree-fall or to make a rocket burn for eachsegment. Any number of segments of free-fall may be calculated automatically, with-out intermediate status displays. It is bestnot to free-fall too many segments at a timeinitially. Rocket burns are made one seg-ment at a time by specifying the three-dimensional thrust angles and the fuel usagerate for each segment. At a fuel usage rateof 100 kg/s, the initial acceleration rate isabout 0.45 gs, gradually increasing to about

4 gs as fuel is used up (gs are units ofacceleration: at the Earth's surface, theacceleration of gravity is 1 g, or 9.81 m/s2).Of course, lower fuel usage rates will givelower acceleration rates. To reverse thedirection of a vector in three dimensions(to reduce velocity), add ±180° to velocityangle 0 and change the sign of velocity angle6 to get the required thrust angles. (Seefigure 1 to help visualize this.) Segment du-ration, thrust angles, and fuel usage rate maybe decimal numbers; the number of seg-ments of free-fall must be an integer.

With the fixed initialization, the space-ship starts at position angles of 0 = 45 and6 = 35.264° (see figure 1). If the spaceshipwere over the Earth instead of over Mars,this would correspond to a position about175 km north of Baghdad, in Iraq. Thedesignated landing site is at position anglesof 0 = 0° and 6 = 0°, or (on the Earth)on the equator and on the Greenwichmeridian, due south of Ghana off theAtlantic coast of Africa. Initially, the orbitof the spaceship is horizontal and it isheading due west. If it were, over the Earth,the orbit would not cross the equatoruntil just off the east coast of South

Text continued on page 100.

The new Pascal Computer System is driven by a unique 16-bit Pascal MICROENGINE™ — the first microprocessor hard-ware designed exclusively for direct high-level languageexecution. ■ The processor is incorporated into a singleboard computer system, the WD/90, which directly executesPascal intermediate code generated by the University ofCalifornia at San Diego (UCSD) Pascal compiler, ReleaseIII.0. ■ Since P-code output by the Pascal compiler repres-ents an ideal architecture for a computer executing Pascalprograms and since the WD/90 directly executes P-code (nointerpreter), these programs execute up to five or moretimes faster than equivalent systems.

WESTERN DIGITAL

3128 Redhill Avenue, Box 2180 • Newport Beach, CA 92663(714) 557-3550. TWX 910-595-1139

The WD/90 Pascal MICROENGINE'" Computer

includes: ■ Pascal MICROENGINE™

processor ■ 64K bytes of RAM Memory ■ Two

RS-232 asynchronous/synchronous ports (110-19.2K

baud-full duplex) ■ Two 8-bit parallel ports (500 kHz

maximum data rate) ■ Floppy disk controller with direct memory access

(DMA), switch selectable for: single or double density (IBM format); mini or

standard floppy; 1 to 4 drives (same type) ■ Floating point hardware

(proposed IEEE standard) ■ Memory Mapped I/O ■ Enclosed power

supply Complete UCSD Pascal Operating System (Release III.0)

FOR FURTHER INFORMATION CONTACT

DISTRIBUTOR: CIT (714) 979-9920

RETAIL: Your LOCAL COMPUTER Store

OEM: Your WESTERN DIGITAL Sales Representative

86

April 1979 O BYTE Publications Inc

Circle 388 on inquiry card.

Turning computer programmers

into computer

^iHii^

composers!

For the first time:Hard-to-obtaincomputer musicmaterial has beencollected into oneconvenient, easy-to-read book.

The BYTE Book ofComputer Music com-bines the best frompast issues of BYTEmagazine with exciting new materialof vital interest to computer experimenters.

The articles range from flights of fancy about the reproductive

systems of pianos to Fast Fourier transform programs

written in BASIC and 6800 machine language. Included in

this fascinating book, edited by Christopher P. Morgan,

are articles discussing four-part melodies, a practical music

interface tutorial, electronic organ chips, and a remarkable

program that creates random music based on land terrain maps!

ISBN 0-931718-11-2

$1000

Buy this book at your favorite computer bookstore or order direct from BYTE BOOKS

Add 50c per book for postage and handling

BOONS

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

70 Main Street Peterborough, New Hampshire 03458

Circle 36 on inquiry card.

BYTE April 1979 87

ROCKET BURN.LABEL B

( START J

SET SEGMENT TIME:LABEL C

( START J

l>60 \Y£S

NO

STORE NEWSEGMENT TIME

( HALT J

Figure 2; Simplified flowdiagram for the Three-Diinensional Mars Landerprogram.

FIXED INITIALIZATIONLABEL E

( START J

CLEAR FLAG ANOREGISTERS

STORE CONSTANTS

STORE SHIP'SPOSITION

STORE SHIP'SVELOCITY

/il)

OO^V YES

J yS

NO'

CALCULATE FUEL USAGE,SHIP'S NEW MASS

CALCULATE & VELOCITYFOR ROCKET BURN

UPDATE VELOCITYFOR ROCKET BURN

FREE-FALLLABEL A

SHIFT DATA TOSECONDARY REGISTERS

STORE FREE-FALLLOOP COUNT

ESTIMATE SHIP'S POSITIONFOR GRAVITY CALCULATION

CALCULATE GRAVITY. UPDATEVELOCITY FOR GRAVITY

UPDATE SHIP'S POSITION FORAVERAGE SEGMENT VELOCITY

SHIFT OATA TOSECONDARY REGISTERS

SET"NO FUEL" FLAG

BURN ONLYREMAINING FUEL

SHOW "J39S"

CALCULATE THEINTERPOLATION RATIO

CALCULATE SHIP'S POSITION,VELOCITY, AND FUEL

CALCULATE MISS DISTANCE,IMPACT SITE TO TARGET

ALTERNATE CALCULATION

RECALL SEGMENT TIMEAND SHIP'S POSITION

( DISPLAY

STACK J

RECALL REMAINING FUELAND SHIP'S VELOCITY

( DISPLAY STACK J

f HALT J

April 1979©BYTE Publications Inc

OFFERS A NEW CONCEPT IN

SOFTWARE PRESENTATION FOR

IT'S EXCITING LINE OF PROGRAMS

PRS MAKES A BREAK-THROUGH INDOCUMENTATION

Every PRS program comes with a com-plete and instructive handbook. Thisunique documentation is written in clearand easy-to-understand English. PRSoffers you a true fluency in computer-user dialogue.

MICROFILE: A NEW DATAFILEMANAGEMENT PROGRAM

With PRS MICROFILE you can: Man-age any list of items. Edit files. Sortitems alphanumerically. Search by keys.Total columns. Justify columns. Saveand retrieve data with mass storagemedia.

PRS MICROFILE documentation alsosolves one of the major concerns of be-ginners. A special chapter explains howyou can interface newly acquired soft-ware with you specific configuration.

CORE: AN INDISPENSABLE"BRAIN-SURGEON"

This PRS program is essential for theTRS-80 level II.

Here's a partial list of commands: Ex-amine and modify memory. Displaymemory in Hex, ASCII, or CPUregisters. Enter ASCII in memory. Fill

memory. Move block of memory. Verifymemory. Locate string. Branch toroutine. Go to and execute (two break-points available). Hex arithmetic. Ques-tion input ports and command outputports. Tape Cue, on/off. Read file inmemory (bias available). Write file frommemory. Memory test. Etc. Disk versionsoon available.

A2FP: A PLOTTING PROGRAMFOR APPLE II

This PRS program is a "modern age" toolfor students, engineers and researchers.A2FP plots 2-dimensional functions inHIRES graphics. Uses the full screen(280 x 192 points.) Plots on Cartesiancoordinates. Gives complete parametersof plotted curves. Superimposes plots.Offers many plotting modes.

DDS II: THE FAMOUSDYNAMIC DEBUGGINGSYSTEM

DDS II is incredibly powerful. Althoughdesigned for microcomputers, it is evenmore sophisticated than the built-in de-bugging environments supported bymost large main frames.DDS II assembles and disassembles all8080 code. Performs "software open-heart surgery", artfully displaying on

the screen all registers, program instruc-tions and memory. Simulates dualscreen capability. You can switch oncommand from the DDS II display tothe program output. It's like having twovideo monitors for the price of one. Up-dates the display while monitoring theprogram. Includes a full array ofmonitoring tools. TRS-80 version soonavailable.

PRS PROGRAMS AREPROTECTED IN A BEAUTIFULCASSETTE OR DISK FOLDER

The PRS cassette or floppy disk andmanual for your PRS programs are pro-tectively nestled in an efficient anddurable gold-imprinted folder.

PRS SUPPORTS YOUR MAJORBRANDS

Over 20 packages are currently avail-able. Use the coupon below for a com-plete description of each PRS programand listing of versions produced for eachprogram.

VISIT YOUR NEAREST DEALERTODAY

Let your dealer demonstrate the ex-cellence of PRS programs.

Circle 309 on inquiry card.

BYTE April 1979

89

Listing 1: Mars Lander program for the HP 67/97 programmable calculator. Clear flags, set for DEG, and set display to FIX3before recording program. User entry points are capitalized in comments.

Location Program Steps Commentary

001 ( LBL B ) ( EEX ) ( 2 ) ( X<Y? ) ( XgY ) ( R4 ) ROCKET BURN: Check fuel usage rate,

007 ( RCL A ) ( X ) ( RCL 7 ) ( - ) calculate mass loss.

011 ( CHS ) ( RCL 9 ) ( Xi^Y ) ( X>Y? ) Fuel gone?

015 ( GSB 9 ~) ( Rl ) ( STO 7 ) Update ship's mass and velocity for burn.

018 ( LST X ) ( -H ) ( LN ) ( 4 )

022 (GSB a ) ( 1 )

024 ( LBL A ) ( ST 1 ) FREE-FALL: Store number of segments.

026 ( LBL 0 ) ( GSB d ~) ( CF 0 J Free-fall loop: Calculate position for

029 ( GSB b ") ( X2 J ( RCL A ) ( X^Y J gravity update, update velocity for

033 ( + ) ( RCL D ) ( GSB a ) ( P^S ) gravity, update ship's position.

037 ( RCL 4 ) ( + ) ( Rt ) ( RCL 6 )

041 ( + ) ( Rt ) ( RCL 5 ) ( + ) ( Rt )

046 ( Pgs ) ( SF 0 ) ( GSB b )

049 ( RCL E ) ( X^Y? ) ( X>Y? ) ( GTO 7 ) Impact?

053 ( - ) ( STO 8 ) ( GSB 4 ) Shift data.

056 ( F? 1 ) ( GTO 0 ) ( RCLO ) No fuel?

059 ( X3 ) ( DSZ? ) ( GTO 0 ) More free-fall segments?

062 ( LBL D ) ( GSB 2 ) ( RCL E ) DISPLAY: Current segment time, position,

065 C ~ ) ( RCL A ) ( FU ) ( STK ) fuel, and velocity status.

069 ( RCL 7 ) ( RCL 9 ) ( - )

072 ( GSBd ) ( GSBc ) ( STK ) ( RTN )

076 ( LBL a ) ( X ) ( P->R ) ( Rt ) ( X^Y ) Subroutine; Spherical to rectangular, then

081 ( P^R ) (STO - 4) ( Rl ) (STO - 5) update velocity.

085 ( [U ) (STO - 6)

087 ( LBLd ) ( RCL 6 ) ( RCL 5 ) Subroutine; Recall velocity.

090 ( RCL4 ) ( RTN )

092 ( LBL b ) ( RCL B ) ( X ) Subroutine; Calculate new position, then

095 ( RCL 1 ) ( + ) ( F?0 ) store new position only if

098 ( STO 1 ) ( Rt ) ( RCL B ) ( X ) flag 0 is set.

102 ( RCL 3 ) ( + ) ( F?0 )

105 ( STO 3 ) ( Rt ) ( RCL B ) ( X )

109 ( RCL 2 ) ( + ) ( F?0 )

112 ( STO 2 ) ( Rt )

114 ( LBLc ) ( R^P ) ( Rl ) ( X^Y ) ( Rt ) ( RTN ) Subroutine; Rectangular to spherical.

120 ( R^P ) ( LBL 4 ) ( 7 ) ( Xj5 ) ( STO 0 ) Subroutine; Shift final segment data into

Listing 1 continued on next page.

90 April 1979 © BYTE Publications Inc

BEYOND TRS-80

When Microsoft put Level II BASIC onTRS-80, you got a glimpse of its fullpotential.

Now Microsoft introduces:

TRS-80 Fortran

and TRS-80 will never be the same!

Plus

Circle 228 on inquiry card.

TRS-80 FORTRAN includes the finestZ-80 development software available:

Z-80 Macro Assembler, versatile Text Editor,and Linking Loader.

Total price: Only $350.00

TO: Microsoft, 10800 NE Eighth, Suite 819, Bellevue, WA 98004

□ Send me free TRS-80 FORTRAN overview.

□ Send me TRS-80 FORTRAN and Z-80 development soft-ware for $350.00.

□ Check enclosed □ Master Charge □ VISAcard Number Exp. Date

Cardholder's Signature.

Name.

Address.City

.State.

.Zip.

Clip the coupon and ORDERNOW, or send for freeoverview for more detailsabout TRS-80 FORTRAN.

TRS-80 FORTRAN is supplied ontwo minidiskettes and requires a32K system with one disk drive.Dealer inquiries invited.

10800 NE Eighth, Suite 819Bellevue, WA 98004

Listing 1, continued:

125129133136138142144147151155158162166172175178180185188193197201205208211214215220

( LBL8 ) ( RCL (i) ) ( PtS ) ( STO (i) )

( PjS ) ( DSZ? ) ( GTO 8 ) ( RTN )

( LBL2 ) ( RCL3 ) ( RCL2 )

( RCL 1 ) ( GTO c )

(JblTJ C

J CZH> CE^LJ

( GTO 6 ) ( STO -8)

(STO -r 8 ) ( 7 ) ( ST I )

( LBL5 ) (~P^S ) ( RCL (i) ) ( P^S )(RCL (i) ) ( - ) ( RCL 8 ) ( -H )

(STO-(i)) ( DSZ? ) ( GTO 5 )

( LBL6 ) ( GSB2 ) ( FU ) ( COS )( COS ) ( X ) ( COS~1)

( X^Y )

C_E_) C

J c

J c

J c

J CXZ)

( Xfl)? ) ( GTO 3 ) ( RCL 2 )

( RCL3 ) ( R-P ) ( LBL3 )

( STO A ) ( GTO D )

( LBL9 ) ( SF 1 ) (_

]) ( X^Y ) ( RTN )

( LBL E ) ( CF 1 ) (CL REG )

r^~) c

j c

C~* ) c

D ( 3 ) ( STO E )

J CEO C

D

( STO D ) ( EEX ) ( 4 ) ( STO 9 )

( 9 ) ( X ) ( STO 7 ) ( GSBc )

c

J ( STO 1 ) ( STO 2 )

( STO 3 ) ( 2 ) ( STO 4 )

( CHS ) ( STO 5 ) ( GSB4 )

( GTO D )

( LBLC ) f

3 ( 0 ) ( X>Y? ) ( X2Y )

( STO A ) ( 2 ) ( -r ) ( STO B ) ( RTN )

(i)

secondary registers.

Subroutine; Recall position.

Impact; Exactly on surface?Calculate interpolation ratio,then interpolate position,velocity, and fueldata for instant of impact.

Calculate miss distance;

if zero, alternate calculation;

Display impact status.

Subroutine; Out of fuel.

INITIALIZE: Store constants, the fixed

initial position and velocity,

then display the initial status.SEGMENT TIME: Check and store.

Listing 2: Optional random initialization for Mars Lander. Clear flags, set for DEG, and set display to FIX 3 before recordingprogram. User entry points are capitalized in comments.

Commentary

CIRCULAR: Set for random circular orbit.

ELLIPTICAL: Set segment time, gravity

constant. Mars radius,

ship's mass, ship's random radius

0 and 6.

Location

(

Program Steps

))))

c

)))

001

( LBLC ") ( SF 2 )

003

( LBLE ) ( 6 )

0

) ( STO A

2

008

( 4 ) ( STO B )

c

4

) C 3

c(

EEX

( 3 -

014

C STO D ) ( 3 )

(

3

) C 9

3

019

(STOE) ( 9 )

(

EEX

) C 4

Listing 2 continued on page 98.

92 April 1979©BYTE Publications Inc

BITE

B1BNS

BOOKS OF INTEREST TO COMPUTER PEOPLE"

More BYTE BOOKS

in your future

Circle 36 on inquiry card.

BYTE April 1979 93

And the future

THE BYTE BOOK OF COMPUTER MUSIC combinesthe best computer music articles from past issues ofBYTE Magazine with exciting new material—all writtenfor the computer experimenter interested in thisfascinating field.

You will enjoy Hal Chamberlin's "A Sampling ofTechniques for Computer Performance of Music"which shows how you can create four-part melodieson your computer. For the budget minded, "A $19 MusicInterface" contains practical tutorial information—andorgan fans will enjoy reading "Electronic Organ ChipsFor Use in Computer Music Synthesis".

New material includes "Polyphony Made Easy" and"A Terrain Reader". The first describes a handy circuitthat allows you to enter more than one note at a timeinto your computer from a musical keyboard. The"Terrain Reader" is a remarkable program that createsrandom music based on land terrain maps.

Other articles range from flights of fancy about thereproductive systems of pianos to Fast Fourier trans-form programs written in BASIC and 6800 machinelanguage, multi-computer music systems, WalshFunctions, and much more.

For the first time, material difficult to obtain has beencollected into one convenient, easy to read book. Anardent do-it-yourselfer or armchair musicologist willfind this book to be a useful addition to the library.

H fflHI€MI Ettt

1

{0}

ISBN 0-931718-11-2Editor: Christopher P. MorganPages: approx. 128Price: $10.00

a mrmvii am

SUPERWUMPUS is an excit-ing computer game incorpo-rating the original structure ofthe WUMPUS game alongwith added features to makeit even more fascinating. Theoriginal game was describedin the book What To Do AfterYou Hit Return, published bythe People's Computer Com-pany. Programmed in both6800 assembly language andBASIC, SUPERWUMPUS is not only addictively fun,but also provides a splendid tutorial on setting upunusual data structures (the tunnel and cave systemof SUPERWUMPUS forms a dodecahedron). This is aPAPERBYTE™ book.

ISBN 0-931718-03-1Author: Jack EmmerichsPages: 56Price: $6.00

Tiny

Assembler |6800

Ver*t«i3.t

TINY ASSEMBLER 6800,Version 3.1 is an enhancementof Jack Emmerichs' success-ful Tiny Assembler. The origi-nal version (3.0) was describedfirst in the April and May 1977issues of BYTE magazine,and laterinthePAPERBYTE™book TINY ASSEMBLER6800 Version 3.0.

In September 1977, BYTEmagazine published an article

entitled, "Expanding The Tiny Assembler". This pro-vided a detailed description of the enhancementsincorporated into Version 3.1, such as the addition of a"begin" statement, a "virtual symbol table", and alarger subset of the Motorola 6800 assembly language.

All the above articles, plus an updated version of theuser's guide, the source, object and PAPERBYTE™bar code formats of both Version 3.0 and 3.1 make thisbook the most complete documentation possible forJack Emmerichs' Tiny Assembler.

ISBN 0-931718-08-2Author: Jack EmmerichsPages: 80Price: $9.00

A walk through this book brings you into Ciarcia'sCircuit Cellar for a detailed look at the marvelousprojects which let you do useful things with your micro-computer. A collection of more than a year's worth ofthe popular series in BYTE magazine, Ciarcia's CircuitCellar includes the six winners of BYTE's On-goingMonitor Box (BOMB) award, voted by the readersthemselves as the best articles of the month: Controlthe World (September 1977), Memory Mapped IO(Novemberl977),ProgramYourNextEROMinBASIC(March 1978), Tune In and Turn On (April 1978), TalkTo Me (June 1978), and Let Your Fingers Do the Talking(August 1978).

Each article is a complete tutorial giving all the detailsneeded to construct each project. Using amusinganecdotes to introduce the articles and an easy-goingstyle, Steve presents each project so that even aneophyte need not be afraid to try it

\gg2l

ISBN 0-931718-07^Author: Steve CiarciaPages: approx. 128Price: $8.00

is right now!

BASEX, a new compact, compiled language for micro-computers, has many of the best features of BASICand the 8080 assembly language—and it can be runon any of the 8080 style microprocessors: 8080, Z-80,or 8085. This is a PAPERBYTE™ book.

Subroutines in the BASEX operating system typicallyexecute programs up to five times faster than equiva-lent programs in a BASIC interpreter—while requiringabout half the memory space. In addition, BASEX hasmost of the powerful features of good BASIC inter-preters including array variables, text strings, arithme-tic operations on signed 16 bit integers, and versatileIO communication functions. And since the two lan-guages, BASEX and BASIC, are so similar, it is possibleto easily translate programs using integer arithmeticdata from BASIC into BASEX.The author, Paul Warme, has also included a BASEXLoader program which is capable of relocating pro-grams anywhere in memory.

$321

ISBN 0-931718-05-8Author: Paul WarmePages: 88Price: $8.00

■li/ifrllMlA^

FrooramminTwhntquas

PROGRAMMING TECH-NIQUES is a series of BYTEBOOKS concerned with theart and science of computerprogramming. It is a collectionof the best articles from BYTEmagazine and new materialcollected just for this series.Each volume of the seriesprovides the personal com-puter user with backgroundinformation to write and main-tain programs effectively.

The first volume in the Programming Techniquesseries is entitled PROGRAM DESIGN. It discussesin detail the theory of program design. The purposeof the book is to provide the personal computer userwith the techniques needed to design efficient, effec-tive, maintainable programs. Included is informationconcerning structured program design, modular pro-gramming techniques, program logic design, andexamples of some of the more common traps thecasual as well as the experienced programmer mayfall into. In addition, details on various aspects of theactual program functions, such as hashed tables andbinary tree processing, are included.

ISBN 0-931718-12-0Editor: Blaise W. LiffickPages: 96Price: $6.00

SIMULATION is the second volume in the Program-ming Techniques series. The chapters deal withvarious aspects of specific types of simulation. Boththeoretical and practical applications are included.Particularly stressed is simulation of motion, includingwave motion and flying objects. The realm of artificialintelligence is explored, along with simulating robotmotion with the microcomputer. Finally, tips on howto simulate electronic circuits on the computer aredetailed.

ISBN 0-931718-13-9Editor: Blaise W. LiffickPages: approx. 80Price: $6.00Publication: Winter 1979

RA6800ML: AN M6800 RELOCATABLE MACROASSEMBLER is a two pass assembler for the Motorola6800 microprocessor. It is designed to run on a mini-mum system of 16 K bytes of memory, a systemconsole (such as a Teletype terminal), a system monitor(such as Motorola MIKBGG read only memory pro-gram or the ICOM Floppy Disk Operating System),and some form of mass file storage (dual cassetterecorders or a floppy disk).

The Assembler can produce a program listing, a sortedSymbol Table listing and relocatable object code. Theobject code is loaded and linked with other assembledmodules using the Linking Loader LINK68. (Refer toPAPERBYTE™ publication LINK68: AN M6800LINKING LOADER for details.)

There is a complete description of the 6800 Assemblylanguage and its components, including outlines ofthe instruction and address formats, pseudo instruc-tions and macro facilities. Each major routine of theAssembler is described in detail, complete with flowcharts and a cross reference showing all calling andcalled-by routines, pointers, flags, and temporaryvariables.

In addition, details on interfacing and using theAssembler, error messages generated by the Assem-bler, the Assembler and sample IO driver source codelistings, and PAPERBYTE™ bar code representationof the Assembler's relocatable object file are all included.This book provides the necessary background forcoding programs in the 6800 assembly language, andfor understanding the innermost operations of theAssembler.

ISBN 0-931718-10-4Author: Jack E. HemenwayPages: 184Price: $25.00

to order books see next page

LINK68: AN M6800 LINKING LOADER is a one

pass linking loader which allows separately translatedrelocatable object modules to be loaded and linkedtogether to form a single executable load module, andto relocate modules in memory. It produces a load mapand a load module inMotorola MIKBCJG loaderformat.The Linking Loader requires 2 K bytes of memory, asystem console (such as a Teletype terminal), a sys-tem monitor (for instance, Motorola MIKBCJG readonly memory program or the ICOM Floppy DiskOperating System), and some form of mass file stor-age (dual cassette recorders or a floppy disk).

It was the express purpose of the authors of thisbook to provide everything necessary for the userto easily learn about the system. In addition to thesource code and PAPERBYTE™ bar code listings,there is a detailed description of the major routines ofthe Linking Loader, including flow charts. While imple-menting the system, the user has an opportunity tolearn about the nature of linking loader design as wellas simply acquiring a useful software tool.

ISBN 0-931718-09-0Authors: Robert D. Grappel& Jack E. HemenwayPages: 72Price: $8.00 Winter 1979

TRACER: A 6800 DEBUGGING PROGRAM is for

the programmer looking for good debugging software.TRACER features single step execution using dynamicbreak points, register examination and modification,and memory examination and modification.This bookincludes a reprint of "Jack and the Machine Debug"(from the December 1977 issue of BYTE magazine),TRACER program notes, complete assembly andsource listing in 6800 assembly language, objectprogram listing, and machine readable PAPERBYTE™bar codes of the object code.

ISBN 0-931718-02-3Authors: Robert D. Grappel& Jack E. HemenwayPages: 24Price: $6.00

MONDEB: AN ADVANCED M6800 MONITOR-DEBUGGER has all the general features of Motorola'sMIKBCJG monitor as well as numerous other capabili-ties. Ease of use was a prime design consideration.The other goal was to achieve minimum memoryrequirements while retaining maximum versatility.The result is an extremely versatile program. The sizeof the entire MONDEB is less than 3 K.

Some of the command capabilities of MONDEB In-clude displaying and setting the contents of registerssetting interrupts for debugging, testing a program-mable memory range for bad memory locationschanging the display and input base of numbersdisplaying the contents of memory, searching for aspecified string, copying a range of bytes from onelocation in memory to another, and defining the loca-tion to which control will transfer upon receipt of aninterrupt This is a PAPERBYTE™ book.

ISBN 0-931718-06-6Author: Don PetersPages: 88Price: $5.00

BAR CODE LOADER. The purpose of this pamphletis to present the decoding algorithm which was de-signed by Ken Budnick of Micro-Scan Associates atthe request of BYTE Publications, Inc., for the PAPER-BYTE™ bar code representation of executable code.The text of this pamphlet was written by Ken, andcontains the general algorithm description in flowchart form plus detailed assemblies of program codefor 6800, 6502 and 8080 processors. Individuals withcomputers based on these processors can use thesoftware directly. Individuals with other processors canuse the provided functional specifications and detailexamples to create equivalent programs.

ISBN 0-931718-01-5Author: Ken BudnickPages: 32Price: $2.00

II

!

IIII

BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458

Title

Company

Streel

City

Slate'Province

D Check enclosed in the amount of $ _

□ Bill Visa □ Bill Master Charge Card No.

Please send the books I have checked.

□ Computer Music $10.00

□ SUPERWUMPUS $6.00

□ Tiny Assembler (3.1) $9.00

□ Circuit Cellar $8.00DBASEX$8.00

□ Program Design $6.00

BVTl BOOKS. BYTE BOOKS logo, and PARI RBYTIarc trademarks of BYTE Publications, Inc.

Exp. Date

□ Simulation $6.00

□ RA6800ML $25.00DLink68$8.00

□ TRACER $6.00nMondeb$5.00

i I Bar Code Loader $2.00

Add 50C per book to cover postage

and handling

Please allow 6-8 weeks for processing vour order.

96

BYTE April 1979

Circle 36 on inquiry card.

TSCBASICfor 6800

The fastest floating point BASIC for any micro.

Move over 6502! Out of the way 8080! Thefastest floating point BASIC for any micro now runson the 6800. And with the TSC name, you know it'stop quality.

TSC BASIC is not only fast, but complete withover 50 commands and functions. Featuresinclude six digit floating point math, fulltranscendental functions, unlimited stringlength, if/then/else construct, logicaloperators.and two-dimensionalarrays (including string arrays).

Available now on KCS

cassette for $39.95.Requires 9K minimum,no source listingincluded. Soon tocome is a version for theFLEX™ disk operatingsystem.

_ 100

80

X)

cou

<DC/3

0)

E

I

E

£oc<uCQ

0)D)(0

_ 40

20

I

TSC6800

Microsoft Microsoft6502 8080

NorthStar

CSS"Super"

SWTPc6800

BASIC Version

Technical SystemsConsultants, Inc.

Box 2574 W. Lafayette, IN 47906

Specialists in Software & Hardware for Industry & the Hobbyist

Circle 363 on inquiry card.

Graph based on benchmarkslisted in October 1977 issue ofKilobaud'" magazine.

BYTE April 1979 97

Listing 2, continued from page 92:

023029033038042047051053057060063067071074077080084088092095098102103106109113117120124129131135140145147151154155

C ST0 7 ) ( 3 ) C

J c

3 ciio c

( ST0 8 ) ( GSBO ) (STO+ 8) ( GSB 1 )

c

D C

J C

q_) C

J ( X ) ( GSB1 )

D CZZD C

J

( RCL8 ) ( P->R ) ( FU ) ( X2Y ) ( Rt )

( P->R ) ( STO 1 ) ( R4- ) ( STO 2 )

( Rl ) ( STO 3 )

( RCL D ) ( RCL8 ) Q

} CVx^

( STO 9 ) ( GSB 1 ) ( STO 4 )

( rcli ) r

") ( GSB 1 )

( STO 5 ) ( RCL 2 ) C

D C

J

( CHS ) ( RCL 3 ) ( * ) ( STO 6 )

( RCL 5 ) ( RCL 4 ) ( GSB 2 )

( RCL 9 ) (^

^ (ST0^4)

C STO -f- 5 ) ( STO * 6 ) ( F?2 )

( GT0 5 ) ( GSB 1 ) ( 2 ) (_

( STO + 4) ( GSB 1 ) ( 2 ) (^

( STO + 5) ( GSB 1 ) ( 2 ) (_

J

(STO + 6 ) ( LBL5 ) ( 7 ")

C ST I ) ( LBL3 ) ( RCL (i) )

C P£S ) ( STO (i) ) ( Pg ) ( DSZ? )

( GTO 3 )

( LBLD ) ( RCL 3 ) ( RCL 2 )

( RCL 1 ) ( GSB 2 ) ( RCL E )

( - ) ( RCL A ) ( Rj. ) ( STK )

( RCL 7 ) ( EEX ) ( 4 ) ( STO 9 )

( - ) ( RCL6 ) ( RCL5 )

( RCL4 ) ( GSB2 ) ( STK ) ( RTN )

( LBL 1 ) ( 1 ) ( GSBO ) Q

C3Z) otn3

3 C

( LBLO ) ( RCLO ) Q

J c

3

( X2 ) ( FRAC ) ( STO 0 ) Q

3 ( RTN )

( LBL 2 ) ( R-*P ) ( FU ) ( XjiY ) ( Rt )

( R^P ) ( RTN )

( LBL A ) (CL REG) ( 1 ) ( CHS )

C ST I ) ( CHS ) ( STO + 0)

(GTO (i) )

C LBL B ) ( STOP ) ( RTN )

Convert position to X, Y, Z, and store.

Calculate circular orbit velocity,random X, Y, Z velocity for an orbithorizontal at the ship's

position,

adjust X, Y, Z velocity.

Circular orbit?

If elliptical orbit,

make random

X, Y, Z velocity adjustment.

Shift data from primary tosecondary registers.

DISPLAY: Show segment time,

ship's position,

fuel,

and velocity.

Subroutine; Randomize position and velocity.

Subroutine; Random number generator.

Subroutine; Rectangular to spherical.

SPIN: A random seed randomizer.

SEED: To store user's random seed.

98

April 1979©BYTE Publications Inc

The ORIGINAL Computer People Who KNOW computersand offer EVERYTHING you need in Small Computer Systems

im yv/u nouu ■■■ Lilian vsvm

Compare PRICE, QUALITY, DELIVERY, SERVICE and' why you don't have to look anyplace else!

ipare PRICE, QUALITY, DELIVERY, SERVICE and ^^^^^MII see why you don't have to look anyplace else! ^r ^

■■■■■■■■■■■■I ^SOFTWARF

^ SB**!8

Here are nine packages trenable you to make full usethe potential in your smallcomputer system:

ACCOUNTS RECEIVABLE

INVENTORY

ORDER ENTRY

WORD PROCESSING

PAYROLL

REAL ESTATE MGT

MEDICAL-DENTAL

MAILING PROGRAM

SHIPPING & RECEIVING

and MORE!

Microsoft Basic, Fortran, Cobol

available

CALL* for prices

\ tot\ prices

Decwriterll $1395.00

Qume Sprint 5/45

R0 2795.00

Persci 277 Dble

Density 1395.00

Imsai PCS 80/15 599.00

Anadex DP 8000

Printer 995.00

44 Column Printer .... $295.00

Livermore Accoustic

Coupler 249.00

Javelin 9" Monitor 159.95

Pertec 4511-R

10 M Hard Disk CALL*

We have a full staff of Programmers and ComputerConsultants to design, configure and deliver a TurnkeyComputer System to meet your specific requirements.

SYNCHRO-SOUND

The Computer People

193-25 Jamaica Avenue, Jamaica, New York 11423

212/468-7067 TWX 710-582-5886

ENTERPRISES, INC.

Hours 9-4 Dailyand Saturday

Visit our new showroomWorking units on display

BankAmericard Master Charge

Circle 355 on inquiry card.

BYTE April 1979 99

Operation

Keys

Display

Explanation

Load Three-Dimensional Mars Lander

program

—

0.000

—

Initialize (fixed orbit)

E

60.000

T

Default segment time, seconds

45.000

Z

Position angle 0, degrees

35.264

Y

Position angle 9, degrees

1803.152

X

Ship's altitude, km

80000.000

T

Initial fuel supply, kg

-45.000

Z

Velocity angle 0, degrees

0.000

Y

Velocity angle 9, degrees

2.828

X

Ship's velocity, km/s

Rocket burn for 60 seconds,

135, ENTER,

60.000

T

Segment time, seconds

0= 135°, 0 = 0°, 100 kg/s 0

ENTER, 100, B

42.820

Z

Position angle 0, degrees

35.245

Y

Position angle 9, degrees

1802.794

X

Ship's altitude, km

74000.000

T

Remaining fuel supply, kg

-46.751

Z

Velocity angle 0, degrees

-1.238

Y

Velocity angle 9, degrees

2.553

X

Ship's velocity, km/s

Free-fall 66, 60 second segments

66, A

60.000

T

Segment time, seconds

-115.974

Z

Position angle 0, degrees

-33.762

Y

Position angle 9, degrees

5.694

X

Ship's altitude, km

74000.000

T

Remaining fuel supply, kg

145.618

Z

Velocity angle 0, degrees

-7.423

Y

Velocity angle 9, degrees

3.907

X

Ship's velocity, km/s

Free-fall one, 35 second segment

35, C, 1, A

3393.000

Impact signal

6706.884

T

Impact-to-target distance, km

-118.488

Z

Impact position angle 0, degrees

-34.135

Y

Impact position angle 9, degrees

-0.206

X

Impact position vertical error, km

74000.000

T

Remaining fuel supply, kg

144.164

Z

Impact velocity angle 0, degrees

-6.425

Y

Impact velocity angle 9, degrees

3.913

X

Ship's impact velocity, km/s

Table 2: Demonstration of the Three-Dimensional Mars Lander program's operation. Note that thethrust from the rocket burn is directly opposite to the initial velocity.

Text continued from page 86:

Celestial Mechanics

America. Follow the demonstration examplein table 2 to help to understand the space-ship control, and the status displays. TheHP-97 prints status displays.

A good landing is within 100 m (0.100km) of the target site, with a near-verticaldescent (0 = ±180°, and 0 = 0°, for velocityangles), and at an impact velocity of lessthan 1 m/s (0.001 km/s). There is plenty offuel on board to make a good landing atthe target site from even a "worst case"random orbit. The initial mass ratio is 9to 1.

Note that the display reads in kilometersand in km/s; in the normal FIX 3 displayformat, you can read down to the nearestmeter and m/s. When near to landing, it ishelpful to change the display to FIX 6, sothat you can read down to the nearestmillimeter and mm/s. Also note that duringdescent, the spaceship's position is given indegrees, and on Mars' surface, one degreeis about 60 km.

Celestial orbits of a relatively light bodyaround a massive primary may be repre-sented by the conic sections: circle, ellipse,parabola, and hyperbola, all formed by theintersection of a plane with a cone at variousangles. In this program we are concernedonly with circular and elliptical orbits, sinceparabolas and hyperbolas represent non-repeating, or one pass orbits.

In a circular orbit, the orbiting bodyalways has the same velocity and the samedistance from the primary. The attractionof gravity is exactly balanced by the centrif-ugal force at all times. Both the body'spotential energy (a result of altitude) andits kinetic energy (a result of velocity) areconstant.

An elliptical orbit is far more common;a circular orbit is really just a special caseof an elliptical orbit. In an elliptical orbit,the body's velocity and its distance from theprimary are continually varying. While thebody's potential energy varies with its alti-

100

April 1979 © BYTE Publications Inc

Circle 304 on inquiry card.

BYTEAprill979 101

tude, and its kinetic energy varies with itsvelocity, its total energy remains constant.Its energy is merely oscillating betweenkinetic and potential forms.

If we are in a spaceship, how do wechange altitude with a minimum energyusage (ie: minimum fuel usage)? Under somespecial circumstances, this is fairly straight-forward. For example, to go from onecircular orbit to another circular orbit in thesame plane — but at a different altitude —the minimum-fuel-usage maneuver is knownas a Hohmann transfer. It is simply anellipse tangent to both circular orbits. AHohmann transfer is made in three stages:

(1) Thrust along the current direction ofmotion (or against it) until the vel-ocity has increased (or decreased)enough to form an elliptical orbitthat reaches just up (or down) to thedesired new circular orbit altitude;

(2) Wait in elliptical transfer orbit untilthe new altitude has been reachedon the opposite side of the primaryfrom the start;

(3) Thrust along the current directionof motion (or against it) until theorbit has been circularized at thenew altitude. Note that the directionof this second thrust must be oppo-site to the initial direction of thrust(since we are now on the oppositeside of the primary), though bothincrease (or decrease) the spaceship'svelocity.

But how can we use this method to land onthe surface of the primary? Just perform aHohmann transfer to zero altitude, thenstop! Of course, this assumes that the land-ing trajectory is tangent to the surface, andthat we stop instantly. While this is theoret-ically the most efficient way to land fromorbit, we can't quite actually do it this way;we have to leave some room to slow downand stop and a little extra for maneuveringroom. However, the closer we can approachthis theoretical minimum-fuel-usage landing,the lower the actual fuel usage will be.

To repeat: for a minimum-fuel-usagelanding from orbit, an initial rocket burnis made when the spaceship is on the oppo-site side of the primary from the landingsite to slow down enough to pass over thelanding site at a low altitude; then free-falluntil near to the target site. At the lastpossible moment, again make a rocket burn(or series of rocket burns) to stop orbitalvelocity, and to land vertically on the sur-face at the target site. Note that Mars' verythin atmosphere is ignored.

But what do we do when the landing site

is not in the plane of the orbit? Just changethe plane of the orbit so that the landing siteis in the plane of the orbit. This can createtwo complications:

(1) Since orbital velocity around Marsis fairly high, it takes a lot of fuelto change the plane of the orbit;

(2) In general, the heading of the space-ship in orbit is continually changing.But what is the proper heading tomake the plane of the orbit passthrough the landing site?

The answer to (1) is, literally, roundabout.If the plane change is very great, it will savefuel to first do a Hohmann transfer to ahigher altitude so that the spaceship's veloc-ity will be lower, before changing the planeof the orbit. Then come back down onanother elliptical orbit to a low altitude overthe target landing site. In answer to (2),there are two planes that the spaceship'sorbit can be in, that also pass through thetarget site, where the heading does notchange: the equator, and the Greenwichmeridian. If we approach the target sitealong the equator or along the Greenwichmeridian, there is no problem of constantlychanging headings.

Note that any free-fall orbit is planar(that is, flat), and that the plane of theorbit always passes through the center ofthe primary. Therefore the orbit's path onthe surface of the primary is always a greatcircle. (A great circle is formed by the inter-section of the primary's surface with a planepassing through the center of the primary.)It passes over the equator twice for eachcomplete orbit, and over the Greenwichmeridian (or its extension, position angle 0= ±180°) twice for each complete orbit.

Program Organization

To squeeze this rather complex programinto the 224 program steps available in theHewlett-Packard HP-67/97, considerable usewas made of subroutines, as shown in pro-gram listing 1. Note that subroutines mayhave two entry points. To translate thisprogram to other systems, remember thatthe HP-67/97 uses RPN (reverse Polish nota-tion) on a 4 register stack. Therefore func-tion symbols follow data entry, the same asthough you were doing the calculationmanually. Flags and conditional tests skipthe following program step if the test isfalse.

The more important equations used forcalculating the random initialization, the

Text continued on page 108.

102 April 1979 © BYTE Publications Inc

A 32-page ColoringBook aboutComputers

written and illustratedby Theodore Cohenand Jacqueline Bray

The Magic Machine is an introduction to computing foryoung children. The drawings and text show how two children

find uses for a computer in their home.

The Magic Machine will help the child in your life to

understand some of the functions of computers in his

world, and to better understand the importance of computing

in your world.

The Magic Machine comes COMPLETE WITH CRAYONS,

and is lots of fun to color and read.

ISBN 0-931718-17-1

$2jOO

Buy this book at your favorite computer bookstore or order direct from BYTE BOOKS.Add 75<f per book for postage and handling

BITE

BOONS

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

70 Main Street, Peterborough, New Hampshire 03458

Circle 36 on inquiry card.

BYTE April 1979 103

Operation

Variable Definition

Random Initialization:

VcoCg

= Velocity for a circular orbit, km/s

= Mars' gravity constant, 43,000 km3/s2

Vco= VCg/R

RVz=-(RVxPx + RVyPy)/Pz

R

= Radius, Mars' center to spaceship, km

RV^ etc

= Relative velocity in X,Y,Z directions

Spaceship's Trajectory:

Px. etc

= Spaceship's position in X,Y,Z coordinates

Vr-VT-Vexhln<lVMl>

Vr

= Spaceship's velocity after rocket burn, km/s

Pg = P| + Vrt/2

V,and Vf

» Initial and final ship's velocity, km/s

Vexh

= Rocket exhaust velocity, 4 km/s

g = Cg/R2

M| and Mf

= Initial and final ship's mass, kg

Vf = Vr - gt

pg

= Position of spaceship for gravity calculation

Pf = Pj + (V; + Vf)t/2

P, and Pf

= Initial and final ship's position

t

= Segment duration time, seconds

After Impact with Mars' Surface:

g

= Gravity acceleration, 3.74 m/s2 at surface

Vimp = Vf + c/d<Vi-Vf>

imp

= Impact velocity on Mars' surface, km/s

c/d

= Interpolation ratio

Pimp = Pf + c/d(Pi-Pf)

P.imp

" Spaceship's impact position on Mars' surface

Distance = 59.22(cos~1 ({cos <p) (cos 6)))

59.22

= Kilometers per degree along Mars' surface

or:

Distance0and 6

■ Impact-to-target distance along Mars' surface, km=Spaceship's impact position angles, degrees

Distance = yPv(imp) + Pf(imp)

py(imp)

= Spaceship's Y impact position, km

p

z(imp)

= Spaceship's Z impact position, km

Table 3: Random initialization, spaceship trajectory, and impact status cal-culations. The trajectory and impact equations do not give exact velocityand impact data, but do give good approximations. The calculated valuesincrease in accuracy as segment duration and velocity decrease and as radiusincreases. While the equations are shown in their simplest linear form, cal-culations are actually carried out in three dimensions, using rectangular orspherical coordinates. Note that the initial conditions for one segment werethe final conditions for the previous segment.

Polar to Rectangular: where: X,Y

= Rectangular coordinates

X = R cos A R,A

= Radius and angle of polar coordinates

Y = Rsin A

Rectangular to Polar:

R = s/x2 + Y2

A = tan-1 (Y/X)

For calculation of the angle A:

a) If X = 0, substitute a very small number for X,

ie: perhaps 10~10

b) If X <0,add 180° to A

c) If X < 0 and Y < 0, subtract 180° from A

Table 4: Polar-to-rectan-gular and rectangular-to-polar coordinate conver-sions.

104 April 1979 © BYTE Publications Inc

Buy this book atyour favorite com-puter bookstoreor direct from

BYTE BOOKS.™

Add 50c per book forpostage and handling

The marvelous

computer projects that

Steve Ciarcia has constructed in his

cellar are explained in detail so that you

can make your microcomputer perform the same

useful functions. Each article is a complete tutorial,

presented in such an easy-going style that even

beginners can understand and enjoy.

wjBOTi[vvv

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

70 Main street Peterborough, New Hampshire 03458

Circle 36 on inquiry card.

BYTE April 1979 105

TRAJECTORY

TARGET LANDING SITE-

Table 5: Register, label,and flag usage for theThree-Dimensional MarsLander program.

TARGET LANDING SITE"

Figure 3: Interpolation ofthe spaceship's landing sta-tus. Figure 3a is a cross-section showing the space-ship's last trajectory seg-ment. Figure 3b is a viewfrom above showing im-pact position and missdistance.

IT-

IMPACT SITE

,0^

^ B

Registers

Labels

Primary

Secondary

AB

Free-FallRocket Burn

0 Free-Fail Loop

1 -

0 Temporary Loop Count

SO

-

1 x^

S1

X)

C

Segment Time

2 Recall Position

2 y \ New Position

S2

y \'nitial

I Position

D

Display Status

3 Skip Alternate Calculation

3 zj

S3

E

Fixed Initialization

4 Shift Data, Second Register Set

4 x \

S4

X)

a

Update Velocity

5 Interpolation Loop

5 y > New Velocity

6 z /

S5S6

\ Initial| Velocity

bc

Update PositionRectangular to Spherical

6 Skip Interpolation

7 Mars Surface Impact

7 Ship's Mass

S7

Ship's Mass

d

Recall Velocity

8 Data Shift Loop

8 Last Altitude

S8

-

e

-

9 Out of Fuel

9 10,000

A Segment Time, tB t/2

S9

Flags

0 On, Store New Position

C -

1 On, Out

of Fuel

D Gravity Constant

2 -

E Mars' Radius

3 -

I Loop Count

106 April 1979©BYTE Publications Inc

COmPUTER SOFTWARE

For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and Women

We have been In business for over nine years building a reputa-tion for providing a quality product at nominal prices - NOTwhat the traffic 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, simulta-neous FFT's variable data sizes, etc. and as a last word oursoftware is:

• Readable - as all of our programs are reproduced full sizefor ease In reading.

Vol.

Vol. II

Business*PersonalBookkeepingPrograms

Bond

Building

Compound

Cyclic

Decision 1

Decision 2

Depreciation

Efficient

Flow

Installment

Interest

Investments

Mortgage

Optimize

Order

Pert Tree

Rate

Return 1

Return 2

Schedule 1

Games &

Binomial

Beam

Pictures

Chl-Sq.

Conv

Coelt

Filter

Animals Four

Confidence 1

Fit

Astronaut

Confidence 2

Integration 1

Bagel

Correlations

Integration 2

Bio Cycle

Curve

Intensity

Cannons

Differences

Lola

Checkers

Dual Plot

Macro

Craps

Exp-Dlstrl

Max. Mln.

Dogfight

Least Squares

Navald

Paired

Optical

Judy

Plot

Planet

Line Up

Plotpts

PSD

Pony

Polynomial Fit

Randt

RegressionSlaM

Rand 2

Sky Diver

Solve

TankTeach Me

Stat 2T-Dtstrlbutlon

Sphere ThanStars

Unpaired

Track

Variance 1

Triangle

Variance 2

Variable

Linus

XY

Vector

Ms. Santa

APPENDIX A

Nixon

Noel Noel

Nude

Peace

Policeman

Santa's Sleigh

Snoopy

Virgin

Vol. Ill

Billing

Inventory

Payroll

Risk

Schedule 2

Shipping

Stocks

Swflch

• Virtually Machine Independent - these programs are writ-ten in a subset of Dartmouth Basic but are not oriented for anyone particular system. Just in case your Basic might not useone of our functions we have included an appendix in Vol-ume V which gives conversion algorithms for 19 differentBasic's; thafs right, just look it up and make the substitution foryour particular version. If you would like to convert yourfavorite program Into Fortran or APL or any other language,the appendix in Volume II will define the statements and theirparameters 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% ofour programs in Volumes I through V would be useable, how-ever they should execute in only 8K of user RAM.For those that have specific needs, we can tailor any of ourprograms for you or we can write one to fit your specific needs.

Maintains Company accounts and generatesfinancial reports. Includes routines for Pyrl, Inv.Depr, A/R, A/R

Designed to challenge the average player,fairly comprehensive. Great fun for all, offers aunique opportunity for beginners In need of anopponent.

For Doctors and Dentists alike, a completepatient billing system which also permits themaintaining of a patient history record.

Wordprocesslng for lawyers, publishers, writers,etc. Wife, store, and change from rough draftto final copy In a variety of formats.

Disk utility program with memory testing.

Taxpayers return, Itemized deductions orstandard

Reconciles bank statements

Balances your checkbook

Computes real cost on bank financed Items;cars, boats, etc.

Deprec 2 Computes depreciation, 4 methods, any timeperiod

APPENDIX C - FAVORITE PROGRAM CONVERSIONS

Vol. IV

Vol. V

Vol. VI

Bingo

Andy Cap

Ledger

Bonds

Baseball

Bull

Compare

EnterpriseFootball

Confld 10Descrlp

Vol. VII

Funds 1

Differ

Chess

Funds 2

Engine

Go-Moku

Fourier

Jack

Horse

LifeLoans

IntegersLogic

Medbll

Mazes

Playboy

Poker

Primes

PopulProfits

ProbalQuadrac

Wdproc

Qublc

Red Baron

Rates

Regression 2

Retire

Road Runner

Utility

Savings

Roulette

SBA

Santa

Vol. VIII

Tlc-Tac-Toe

Stat 10Stat 11Steel

1040-Tax

Top

Balance

Vary

_. .

Xmas

APPENDIX B

lnst1o78

Vol. I - $24.95BookkeepingGamesPictures

Vol. II - $24.95Math/EnglneerlngPlotting/StatisticsBasic Statement Def.

Vol. Ill - $39.95Advanced BusinessBilling, InventoryInvestmentsPayroll

Vol. IV - $9.95General Purpose

Vol. V - $9.95Experimenter's Program

Vol. VI - $49.95Mini-Ledger

Vol. VII - $39.95

Professional

Programs

Vol. VIII - $19.95

Homeowner's

Programs

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Americard accepted.

Our Software Is copyrighted and may not be reproduced or sold.

Add $1.50 per volume handling, all domestic shipments sent U.PS. except APOand PO. Box which go parcel post. Foreign orders add $8.00/volume for airshipment and make payable In U.S. dollars only

O SCIENTIFIC RESEARCH

^^^ RO. Box 490099-B Key Biscayne, FL 33149

Phone orders call 800-327-6543 Information - (305) 361-1153

BYTE April 1979 107

Circle 53 on inquiry card.

tfc^1

COMPUTER AGE, INC.

Business Systems Division

is offering OSBORNE'S quality software

packages, written in CBASIC, for immediate

delivery

PAYROLL WITH COST ACCOUNTINGACCOUNTS RECEIVABLE AND

ACCOUNTS PAYABLEGENERAL LEDGER

8" CPM diskette

5" North Star CPM diskette

also:

CPM

CBASIC 5" or 8"

£85.00$85.00

$145.00$ 95.00

Other systems software also available

Complete turn-key Business Systems available in-cluding:

Auto-Scribe Word Processing

System

$7595.00

Bookkeeper Client Write-up

System

$6895.00

Integrated Business System of

G/L, A/P, A/B, Payroll, Inventory

$5995.00

Other systems to be available soon.Custom programming services.

Computer Age, Inc.

1308 N. Federal Hwy.

Pompano Beach, FL 33062

[305] 946-4999

computer mart of new jerseycomputer mort of Pennsylvania

the

microcomputer

people®

Computers don't moke acomputer store, PEOPLE do. Ourpeople hove been involved withmicrocomputers since day one.We offer experience andexpertise unparalleled in themicrocomputer industry. Whetheryou ore in the market for ocomplete system, peripherals,custom software, service, or justsome friendly advice; there simplyis no other place to go.

550D»KolbPlk.

King of Prussia. PA 1940S

(2)5)365-2380

Text continued from page 102:

spaceship's trajectory, and for interpolatinglanding conditions are given in table 3. Thesecond equation on table 3 uses the methodof direction cosines to set a horizontal orbitfor any spaceship position. Many systems donot have rectangular-to-polar and polar-to-rectangular functions; these may be per-formed using software functions or sub-routines, with the equations given in table 4.The use of storage registers, labels, and flagsin the program is shown in table 5.

The program operation is shown mostclearly in figure 2. At the beginning of cal-culations for each segment, the same posi-tion, velocity, and fuel data are in boththe primary and the secondary registers.During the rocket burn and free-fall cal-culations, only the data in the primaryregisters is progressively updated. Afterall trajectory calculations for the segmenthave been made, the secondary registersstill contain the initial segment data, whilethe primary registers now contain the finalsegment data. Then there is a test for Marsimpact during the segment; if impact hasoccurred, initial and final segment dataare used to interpolate impact status; ifimpact has not occurred, primary registerdata is copied into the secondary registersin preparation for calculation of the nextsegment. If the program is still in a loopof free-fall segment calculations, the nextsegment is calculated; otherwise, the currentstatus data is displayed and the programhalts.

The impact interpolation method isshown in figure 3. The calculated impact-to-target distance is correct only for thehemisphere of Mars that is centered uponthe designated target site. If the landing iswithin a square about 240 meters on a sidecentered upon the designated target site,roundoff in the cosine function causes acalculated miss distance of 0. If you arethis close, Mars' surface may be consideredas flat, and a simpler alternate miss dis-tance calculation is used.

Conclusions

This program may be considered asprimarily a game program, or as primarilya celestial mechanics simulation program.In either case, as you learn how to controlthe spaceship for better landings using lessfuel, you will also be learning more aboutthe intuitive "feel" of celestial mechanics,and will gain a greater appreciation of someof the problems of space flight.

Watch that fuel gauge, and happylandings!"

108 April 1979 © BYTE Publications Inc

Circle 66 on inquiry card.

At last...get the power of theAPL language on Z80-basedmicrocomputers

Write finished applications software in a fraction of the time you'd needto write similar programs in BASIC, FORTRAN, or COBOL

APL is one of the most concise, powerful prog-ramming languages, but until now its use was limitedto large mainframe computers because the languageoccupied so much memory. APL has been used bysome companies with very large computers since 1966,to save countless costly hours of program preparation.Now Vanguard Systems Corporation has implementedthis potent computer language to run on Z80 micro-processors.

APL/Z80™ is useful, not only for mathematicsand engineering applications, but also for text pro-cessing and other business applications. It's easyto learn, quick to write. APL/Z80 helps you developfunctional software, and debug it, in about one-fifththe time it takes you to program equivalent functionsin BASIC, FORTRAN, or COBOL APL/Z80 lets youfocus on the problem you want to solve, rather thanon the programming language you're using.Your choice; one or many

In one line of code, APL often does what otherlanguages require many lines to do. We haven't roomhere to show side-by-side comparisons of equivalentprograms in APL, BASIC, FORTRAN, and COBOL. Theother languages take too much space. But we canshow you some sample APL programs. Test yourcurrent language yourself by writing an equivalentprogram for each example here. You'll quickly seethe time advantages APL/Z80 offers.Example

This APL/Z80 expression inputs a list of values(list B), computes the average of all items in thelist, then prints the average:

d«-( + /b) ipB+n

In other languages, this expression may require atleast one loop and perhaps 10 statements.Example

This APL/Z80 expression inputs a list of values(list A), sorts the list from lowest to highest values,and prints out all values in the list A in ascendingorder:

In other languages, this expression usually takes two

loops and 15 to 20 statements.

Example

This APL/Z80 function computes the mean, vari-ant, and standard deviation for a list called X:

In other languages, a program equivalent to this canbe quite cumbersome. When you try writing one,you'll find yourself wishing you had APL/Z80 already.

Don't let the unusual symbols in APL/Z80 worryyou. APL has so many complete functions built intothe language itself, there aren't enough letters inthe English alphabet to give every function a uniquesingle-character name. Of course, APL/Z80 couldname each function with four or five letters, as BASICdoes, but that rapidly eats up memory. Besides,once you learn a language, you start using abbrevia-tions anyway. APL/Z80 lets you use abbreviationsfrom the very beginning, saving memory space bothin your head and in your machine.

It has taken more than 2 years of concentratedwork to produce APL/Z80, but it gives you muchof the power of APL on a large mainframe, for afraction of the cost. APL/Z80 can handle not onlyshared variables, but also arrays of up to 8 dimensions.

Whether you're an engineer, an educator, or abusinessman, Vanguard Systems Corporation bringsyou the full power of APL at a price you can afford.Now you can enjoy the privacy and convenience of

Circle 380 on inquiry card.

Check these APL/Z80 features:

• up to 27k byte active workspace on

systems using CP/M*, or Digital Group

systems using DISKMON

• system variables, execute, & format

are implemented

• disk workspace and copy object library

• shared variables

• arrays up to 8 dimensions

• dynamic execution of system commands

• auxiliary processor for interfacing I/O ports

• auxiliary processor for indexed file systems

• canonical representation, fix

• latent expression

• can boot directly into application program

from system power-on.

your own low-cost APL microcomputer, right on your

desktop.

Software only, or hardware/software together

If you need both hardware and software, orderour APL/DTC™for only $6495. This is a completeAPL/Z80 hardware/software configuration with 26k

usable active APL workspace, dual quad-density mini-disk drives, and video console. Because each APL/DTCis custom-assembled, your unit will be shipped 30to 60 days after we receive your order. Local main-tenance on the hardware is available in major metro-politan areas. Write or call us for more details onmachine specifications,

If you already own any Z80-based computer withCP/M* disk operating system, or a Digital Groupsystem with DISKMON, you can get APL/Z80 on yourmachine for only $350. This includes the end-usersoftware license, object code floppy disk, and completedocumentation. If you want to read the documen-tation before ordering the complete set, our user'smanual is available separately at $25 per copy.

We can ship your order now!

At Vanguard Systems, we're ready to ship yourAPL/Z80™ license/disk/documentation package oruser's manual today. We have them in stock forimmediate delivery. Act now to begin saving hoursand headaches by developing powerful, precise appli-cations programs in APL/Z80. Mark the items youneed and mail the coupon today with your check,money order, or VISA/MasterChargeinformation. You'llbe glad you did.

"Trademark of Digital Research

Please rush the items ordered below. I understand the software license for APL/Z80™covers onemachine for one end-user and includes a non-disclosure agreement to protect Vanguard SystemsCorporation's propiietary rights. Prices and specifications subject to change without notice.

Complete APL/Z80™Software Packages

include end-user limited license, object codedisk, and documentation manual:□ for CP/M'" disk operating system, $350specify version (check one)

□ for serial ASCII APL terminal

□ for 64-char. video display(Vect. Graph., Proc. Tech, orcompatible)

□ for 80-char. video display(compatible w/Vect. Graph. &similar boards)

□ for Digital Group DISKMON operatingsystem. $350

Please describe your disk to be sure youget the correct object codedisk for your machine(check one box in each column)

SIZE

5" floppy8" floppy

DENSITY

□ single

□ double

□ quadruple

FORMAT

□ soft-sectored!

□ 0SI

□ Micropolis

□ North Starcompatible

Accessories

□ APL Video Character Generator ROM, $25(directly replaces MCM-6571-A to givetrueAPL characters)

D APL/ASCII Character Generator Board.$89.95, for Vector Graphic, Processor Te-chnology, & similar boards

APL/Z80™ User's Manual alone

□ $25

APL/DTC™Hardware/Software Unit

□ A complete machine/software configura-tion. Includes CPU, dual quad-densitymini-disk drives, video terminal, APL char-acter generator, end-user limited licensefor software, object code disk, and docu-mentation. $6495, shipped freight collectFOB San Antonio.

NOTE. Texas residents must add 5.5% salestax to all prices. We ship UPS, so P.O. boxaddress must give phone number. Internationalcustomers should write for details on shippingrates & requirements before ordering.

Enclosed is my check for $

OR Charge to. □ MasterCharge P Visa

Ship to. Name

Address

City

Card ::

Signature.

exp. date

State_

Phone.—Zip.

YvNquAiid SysTEMS

Coup.

,512) 828-0554

6812 San PedroSan Antonio, TX 78216 I

BYTE April 1979 109

The Standard

Data Encryption Algorithm

Part 2: Implementing the Algorithm

Robert V Meushaw4188 Brittany DrEllicottCity MD 21043

Part 1 of this article described the fivebasic functions which must be performed toimplement the Standard Data EncryptionAlgorithm:

permutation operations,table lookup,circular rotation,byte exchange, andmodulo 2 addition.

Of course, there are many iterations ofthese functions in the encryption and de-cryption process.

Design Approach

When I began the design, I knew thatthere were many possible approaches. How-ever, I also knew that the one hard con-straint I faced was the amount of memoryavailable on the basic KIM-1 computer.This constraint was the determining factorin the design, and, as a consequence, in theefficiency and speed of the implementation.In order to determine how much memoryI would have for the program, I began toestimate the amount of storage I would needto hold all of the tables I needed. My pre-liminary estimate was that for each entry ineach permutation table I would need onebyte (I actually needed slightly more, as youwill see). This assumption meant that Iwould need 312 bytes — almost one thirdof the memory available to me. I nextlooked at the Select S1 thru S8 function.There are eight separate tables with 64entries each. However, since each tableentry required only four bits instead of eight(the entries range from hexadecimal 0 toF), I knew that if I was clever I could getaway with half a byte per entry. I would

still need 256 bytes for these tables, ofcourse. So before I even started on the pro-gram, one half my available memory wascommitted.

The impact of the above results becameclear when I looked at the memory require-ments for subkeys K1 thru K16. Each sub-key would require 6 to 8 bytes (dependingon how data was represented), giving a pos-sible total storage requirement of 128 bytes.Since I would be left with only about 128bytes for the program (and I didn't thinkthat was enough) I made the decision togenerate each subkey as I needed it.

Module Design Difficulties

The actual design of the individual mod-ules went through several iterations. Myprimary problem was that the optimizationof the overall program meant that the de-sign of each module was intimately involvedwith the design of other modules—not usuallya good design approach. A revision of anymodule usually resulted in several iterationsof changes to other modules. An example ofthis coupling is the following:

• efficient design of the Select SI thruS8 module requires inputs to be avail-able as 8 bytes of 6 bits each.

• in order to generate the input asrequired above, the subkey and theresults of the Select E permutationmust be represented as 8 bytes of 6bits each.

• the design of the module which per-formed the permutation function hadto be modified and reoptimized toallow for less than 8 bits per byte inthe result.

110

April 1979©BYTE Publications Inc

I am sure that many readers have en-countered the same type of difficulty indeveloping relatively complex softwarewhich must be optimized for speed, space,or both. It was a frustrating experience be-cause of the many revisions required.

Data Movement

One of the first tasks in designing thisprogram, or any program, was the definitionof the data structures and the data transferswhich will occur. The basic data elements tobe manipulated are:

8 bytes of plaintext input (PT)

8 bytes of key (KEY)

8 bytes of subkey (SUBKEY)

8 bytes for Ci and Di (CD)

8 bytes of storage for

intermediate results (TEMP).

Text continued on page 114.

PTKeyCDPTright

5 Temp (+) Subkey

6 Subkey

7 Temp

8 PTIeft © Temp

9 PT

Initial permutation

Permuted Ch

3ice 1

Permuted Choice 2

Select E

Select S1 thru

S8

Permute P

—►

Inverse initial

►

permutation

PT

CD

Subkey

Temp

Subkey

Temp

Temp

PTIeft

PT

Table 8: Data transformations and movement used in software imple-mentation of the Standard Data Encryption Algorithm. This tabledoes not include the exchange of PTIeft and PTright used in blocktransformation.

PERMUTED

CHOICE

ONE

PERMUTED

CHOICE

TWO

SELECTSI THRU S8

| PT RIGHTI TEMP

SUBKEY

TEMPPERMUTE P I I

TEMP

PT

INITIAL ANDINVERSEINITIALPERMUTATION | PT

]L

(8

(8

GROUPS OF 6 BITS EACH)Ri

f (R, K)

n:

::

GROUPS OF 6 BITS EACH)

GROUPS OF 6 BITS EACH)

Table 9: Data format anddata movement used in thesoftware implementationof the Standard Data En-cryption Algorithm.

April 1979 © BYTE Publications Inc 111

Solve Problems By Simulation

with simulationsof many con-cepts, including

• wave motion

• flying objects

• artificialintelligence

• electroniccircuits

• and robotmotion!

//ilwirimlVYy

SIMULATION is a collection of

the best articles from BYTE Magazine on this useful computer technique,

plus exciting new material on the subject.

SIMULATION is the second volume in the Programming Techniques serieson the art and science of computer programming from BYTE BOOKS.Editor Blaise W.Liffick's selection of material furnishes not only backgroundinformation from which the personal computer user is able to writeand maintain simulation programs, but also actual programs forsimulating many situations. Theoretical and practical applications ofthis technique are explored in articles dealing with specific aspectsof simulation.

Learn how to find solutions to your problems through SIMULATION.

ISBN 0-931718-13-9

$6.

• II

Buy this book at your favorite computer bookstore or order direct from BYTE BOOKS.Add 50$ per book for postage and handling

BITE

BOONS

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

70 Main Street, Peterborough, New Hampshire 03458

112 BYTEApriM979

Circle 36 on inquiry card.

"Efficiency

is in.

Extravagance

is out:

—vector Graphic

That's why when you look for top-quality, low-cost, add-on-memory you should always look for Vector Graphic on yourmemory boards. It means they stand behind every productthrough over 200 Vector Graphic dealers.

Vector Graphic is the only one who designs in so muchquality for so little cost.

The 48K Dynamic RAM memory board is used in the VectorMZ microcomputer, although any Z-80/S-100 computer systemcan take advantage of the problem-free transparent refreshoffered in this high-quality, low-cost add-on-memory.

It's no secret, Vector Graphic isstate-of-the-art 16K-bit dynamicboards. And each board isthermally cycled, aged andcontinuously read-writetested over 400 millionerror-free cycles.

The new 48Kboard consumes lessthan 4 watts totalpower and provides thesame superior design andreliability found in allproducts from VectorGraphic. Remember, it'smemory that works.

carefully assemblingRAMs into

48K RAM

Dynamic Memory

5695(suggested U.S. retail price)

Dealer inquiries invited

□ Send me the name of thenearest dealer□ Send more information

Name

CompanyAddress—

City/State/Zip.

VECtCR G=tAPHC inc.

31364 Via Colinas, Westlake Village, CA 91361, (213) 991-2302

Circle 383 on inquiry card.

BYTE April 1979 113

Text continued from page 111:

Table 8 depicts the data transformations anddata transfers that occur. The first itemshows that the plaintext data is permuted bythe initial permutation and stored in thebytes originally occupied by the plaintextdata.

Figure 7: Flowchartof module whichperforms the per-mutation functionTFORM.

ANY MORE BITS

Required to IIfill current r~

■ HOLD

I HAVE ALL |

| ELEMENTS OF I

PERMUTATION r—-I ARRAY BEEN I|jDONE

c

STORE CORRECTNUMBER OFBITS / BYTEFOR RESULTIN BITCNT

FETCH

PERMUTATIONARRAY ELEMENTPUT SOURCEBYTE NUMBERIN Y

PUT MASKNUMBER IN X

FETCH PROPERSOURCE BYTEISOLATEPROPER BITUSING MASK

SHIFT

ISOLATED BITINTO HOLDDECREMENTINDEX TOPERMUTATIONARRAY ELEMENT

PUSH HOLDCONTENTSON STACK

PULL WORDSFROM STACKAND STOREAT PROPERDESTINATIONLOCATION

For each of the transformations whichoccur, table 9 shows the format of both thedata input and the results of the operation.Each rectangular box represents one byte.As an example, consider the transformationPermuted Choice 2 (PC-2). The input is Ci(28 bits) and Di (28 bits) and the output isstored as 8 blocks of 6 bits each. The labelCD (to the left) shows the source data, andsubkey shows the destination of the resultsof the permutation.

Permutation Module: TFORM

At this point l can begin the detailed ex-planation of the major modules. The modulewhere most of the work is done (and wheremost of the time is spent) is TFORM. Steps1, 2, 3, 4, 7 and 9 of table 8 depict the per-mutation functions performed. The opera-tion of this module is similar in each case;only the input parameters are different. Theprimary input parameters to TFORM are:source data address, destinaiion address torresults, and permutation table address. Forexample, to perform the permutation shownin step 4 of table 8, TFORM would get thesource address of PT (right), the destinationaddress of TEMP, and the table address ofthe Select E permutation.

A general flowchart of TFORM is shownin figure 7. It provides a top level descriptionof the operation for those readers who wantto program the function on differentmachines.

The first task is to update the input pa-rameters used by the routine. In addition tothe parameters described above, the routinealso needs the number of elements in thepermutation table (PCOUNT), the numberof bytes in the result of the permutation(WCOUNT), and the number of bits in eachresult byte (BCOUNT).

Here's how the permutation is done. Thefirst element of the permutation table isobtained. This element tells which bit of theinput is the first bit of the result, as follows'referring to figure 8, bits 0, 1 and 2 refer tothe byte of the source data to be used; bits3, 4, 5 and 6 refer to a mask number to beused to isolate the proper bit. At this point,an example might help. Figure 9 shows howthe first bit of Permute P is obtained. Thefirst bit of the result is bit 16 of the input —this corresponds to byte 1 of the input

7 6 5 4 3 2 I 0

MASK NUMBER

BYTE NUMBER

( RETURN J

Figure 8: Format of elements of permuta-tion table.

114 April 1979 ©BYTE Publications Inc

2«

^^~P ■■■- JUST WRAP TOOL WITH

\^jl^mmm-mni . .s0NE M FT R0LL 0F W,RE

COLOR PART NO. U.S. LIST PRICE

BLUE JW-1-B 514.95WHITE JW-1-W 14.95YELLOW JW-1-Y 14.95

RED JW-1-R 14.95

M

REPLACEMENT ROLL OFWIRE 50 FT.

BLUE RJWB 2.98WHITE R-JW-W 2.98YELLOW R-JW-Y 2.98RED R-JW-R 2.98

WHY CUT?WHY STRIP?WHY SLIT?

WHY HOT

■

AWG 30 Wire

.025" Square Posts

Daisy Chain or Point To Point

No Stripping or Slitting Required

...JUST WRAP tm....

Built In Cut Off

Easy Loading of Wire

Available Wire Colors:

Blue, White, Red & Yellow

i

£

DAISY CHAIN

POINT TO POINT

OK MACHINE & TOOL CORPORATION 3455 CONNER ST., BRONX, N.Y. 10475 (212) 994-6600/TELEX 125091

•MINIMUM BILLING $25.00/ADD SHIPPING CHARGE $2.00/ NEW YORK CITY / STATE RESIDENTS ADD APPLICABLE TAX.

Circle 286 on inquiry card.

BYTE April 1979 ' 115

25

©

FIRST ELEMENT OF PERMUTE P

XI OOOOOI

INDEX TO BYTE I

SOURCE DATA FORPERMUTE P

BYTE

X X X X X X

X ©

INDEX TO MASK 8

0 0 0 0 0 0 0 I

00000 00©

BIT 16 ISOLATEDADD FF

i i i i i i i i

CARRY

'

1

©

X

X

X

X X

X

X X

BIT

(

;arr

r

'

r

X

X

X

X

X X

X

X ©

SHIFT BIT 16 INTORESULT BYTE

BYTE 3

After completion of all bit permutation op-erations using all table elements, the resultbytes are taken from the stack and placed atthe proper destination address.

This routine, as well as others, makes ex-tensive use of the 6502 indirect, indexedmode of addressing. It is a particularlypowerful technique for sequencing throughmany tables, as this program does.

Before leaving the description of thisroutine, I should explain one problem I hadwith the permutation table for PermutedChoice 1. For the results of each permuta-tion except Permuted Choice 1, there areeither 6 or 8 bits in each byte. Table 9 showsthat two bytes of the result have only 4 bits.To achieve consistency in the code forTFORM, I added eight elements to the per-mutation table of Permuted Choice 1. Theyforce these extra bits to 0, using mask 0, andallow all bytes of the result to have eightbits.

Select SI thru S8 Module

Figure 9: Example of per-mutation operation beingused to obtain first bitof Permute P result.

ANDed with mask 8. Once the bit is iso-lated, it is forced into the carry bit by firstclearing the carry bit and then adding hexa-decimal FF. The value of the carry bit isthen shifted into the result byte.

The process described above is continuedfor all the elements of the permutationtable. The number of bits in each result byteis controlled by BCOUNT. Each result byteis temporarily stored on the program stack.

As described before, the Select SI thruS8 function transforms groups of six bits in-to groups of four bits according to tables S1thru S8. Table 9 shows that each group ofsix bits is contained in one byte of sourcedata. Figure 10 shows the organization ofthe data for the tables S1 thru S8.

In order to transform each 6 bit sourcegroup into the proper 4 bit result group, youmust generate an index into the segmentcontaining the S1 thru S8 data. As seen in

Figure 10: Table organiza-tion for Select SI throughS8 data.

SI, S2 INDEX

S3, S4 INDEX

S5, S6 INDEX

S7, S8 INDEX

OOXXXXX X

0 I X X X X X X

0 X X X X X X

I I X X X X X X

SIDATA

S2DATA

S3DATA

S4

DATA

S5DATA

S6DATA

S7DATA

S8DATA

64 BYTES(SEGMENT 0)

64 BYTES(SEGMENT I)

64 BYTES(SEGMENT 2)

64 BYTES(SEGMENT 3)

HIGH LOW

NYBBLE NYBBLE

116 April 1979 © BYTE Publications Inc

Some plain words

about Word

Processing

Microtronix introduces the "Turnkey" Word Processing Package for $2150

Simply put, Word Processing is a system that treatstext as a steady stream of characters. Think of it asa form of paperless typing that enables you to com-pose, edit, and store large amounts of text. Justpunch in the copy, edit and print. It's really thatsimple.

Word Processing: The Keywordis Flexibility.

Paperwork: It's expensive not only in time andmoney, but in space as well. Cutting through thewads of paperwork is what Word Processing is allabout.

• Correspondence Direct mail, questionnaires,

press releases, sales pro-posals, and announcements.

• Academic Graduate theses, literary

manuscripts, and researchnotes.

• Legal Documents Leases, wills, and briefs.

• Accounting Ledger and journal entries,

billings and invoices, collec-tion letters, and monthly state-ments.

Type that standard form and save for futureuse on audio cassette (included) or optional discdrive. Add varable information and with thepress of a button your final copy is printed.

The $8000.00 word ProcessingPackage at a fraction of the cost.

'that

You've read about Lanier Word Processing, andIBM's Mag Card Unit. Now think practical. Here's asystem that performs on a par with the "biggies" "is tailored to your budget.

The System

Radio Shack TRS-80 Level I with 16K memory.

Serviceable at any local Radio Shack Store . . $799Anderson-Jacobson 841 Serial Printer. The

"State of the Art" bidirectional terminal containinga heavy duty IBM 745 Selectric. An excellent "off-line" typewriter as well $1195.00

"The Electric Pencil" - Software. Designed for theTRS-80. Features include correction, insertion anddeletion of letters, words, lines, and paragraphs.Contains user defined output format. Add $50. fordisk base version $99.95

TRS-232 Interface - To connect your TRS-80 to theAnderson-Jacobson 841. No expansion interfaceneeded $49.95

Pick up the phone and call our toll-free number.Talk to us about options. We can adapt a Word Pro-cessing Package to your present system.

OtherEqmpmen^^^

Special Sale on Printers: Save $50 to $150

Integral Data IP/125 $749

IP/225 Tractor $899

Anadex DP 8000 Bi-directional Tractor. . $995Texas Inst. 15" Bi-directional Tractor. . . $1895Micropolis Disk Drive for the TRS-80

1027-1 Expands storage capacity to 89K or ap-proximately 15,000 words per diskette $499

1037-11 Double density dual unit. 77 tracks

400 K $1193

Modems

Novation (Radio Shack) "Cat" send/receive with

free software $199.95

Discounts on TRS-80 HardwareExtensiveSoftware^vgilgble^^

Write for our free catalog. Major credit cards ac-cepted.

Toll Free Microline

800-532-4550

In Penna. and Can(215)665-1112

MicrotronixP.O. Box QPhila. Pa. 19105

microtronix

Microtronix Price Match Policy We will match any currently advertised price providing the item is in stock.Shipping/handling: Soitware - $2.50 initial chg. $ .50 each additional item. Add $2.00 lor AirWee™ Mm SSiVtatSf jtt! AK, AR, CA. FL. GA, HI ID, IL. IN, IA. KS, KY, MI, MN, MT, NE, NV, NM, ND, OR, TN, TX, UT, WA, WI, WY. Hardware-call tor details. Pa. res. add 6%. All productssubject to availability and guaranteed by the manulacturer.

Circle 226 on inquiry card.

BYTE April 1979 117

INPUT TOSI - S8

>

SIDATA

S2DATA

1 1 b, b2 b3 b4 b5 b6

INDEX INTO

SI-S8

TABLE

*■

i

y

»■

*4

"3

d2

dl

c4 c3 c2 c.

DATA

DATA

DATA

AND

0 0 0 0 I I I I

Figure 11: Example of theprocess which performsthe mapping function S8.

oooo c4 c3 c2 c(

MASK HIGH NYBBLE

DATA TRANSFORMED BY S8

figure 10, the index into each individualtable is controlled by bits 6 and 7 of theindex byte.

Let's examine how to map the last byteof the source data using S8. Figure 11 showsthat the low order 6 bits from the sourcebyte are used to select a byte from the 64bytes in the S7, S8 segment. To access thecorrect 64 byte segment (S7, S8) we forcethe two high order bits to 11. The resultingbyte is used as an index into the table. Ifyou mask the high 4 bit word of the ac-cessed byte (which also contains S7 data),the proper S8 data is selected. Of course, thetable data must be properly ordered withinS8, but that's fairly easy.

In order to carry out the other transfor-mations, you proceed in a similar fashion.The only changes would be the two highorder bits used to index the proper segmentof the table, and whether you mask the lowor high nybble.

A general flowchart of this module is pro-vided in figure 1 2.

ROTATE Module

As I said before, I decided to generateeach subkey as I needed it. To generate sub-keys K1 thru K1g, it is necessary to performleft rotations of Ci and Di and then performPermuted Choice 2 as shown in part 1.The number of left shifts is determined byusing the iteration count, LOOPCT, as an in-dex into the table SHIFTM. This module is

relatively straightforward except for theproblem caused by the half byte boundaryshown in figure 13.

A second problem arises in the case of de-cryption. In this case, the subkeys must begenerated in reverse order (ie: K16 thru K1).In order to generate them properly, the rota-tion of Ci and Di is done by right shiftingand by using the SHIFTM table in reversesequence and by performing PermutedChoice 2 before the right rotation is done.This may seem strange, but I gave it a greatdeal of thought to make sure it was right. Itis the simplest way that I could devise to dothe decryption correctly, and it works!

What's Left?

The only remaining module is the onewhich swaps two groups of four bytes each.This module is called SWAP, and it performsthe swap function and block transformfunction discussed in Part 1.

Put Them All Together

The main module, DES is really a mastercontroller for the other modules. It initial-izes the parameters used by TFORM, per-forms the appropriate modulo 2 additionsshown in table 8, makes sure that subkeysare properly generated during encryptionand decryption, and maintains the iterationcount. Figure 14 is a general flowchart forthis module.

118 April 1979 © BYTE Publications Inc

WHEN THE FUN AND GAMES ARE OVER, y.u shouidn *

have to gamble on your microcomputer's ability to get down to business. You won'twith Outpost 11. It's a serious unit with quality components: Cherry, full ASCII key-board; Setchell-Carlson CRT, 24 x 80 characters, 7x9 dot matrix; inverse, grey, blink;form generation characters; Shugart floppy disk drives; M6800 CPU; 32 k bytes RAM;glass-epoxy PC boards, manufactured and tested to Mil Q 9858-A; entire unit 100-hourburn in tested; IC's tested to Mil P 883; I/O interrupt prioritizing structure; soft-sectored disk format; business BASIC; self diagnostics; software development pack-ages; etc; etc; etc. All this and more at only $2,595,suggested retail price. See Outpost 11 at a dealer listedor write us for the name of a dealer near you.129?3§) Corporation, 4301 Poche Court West,New Orleans, La. 70129

THE SERIOUS MICROCOMPUTER

BUT/7B5TH

* /

Dealers: DALLAS, Eclectic Corp. - 214-358-1307 • GREENVILLE SC, Plus, Inc. - 803-242-9090 • HOUSTON, Eclectic Corp. - 713-228-7798 • IDAHO FALLS ID, Great PlainsComputer Co.- 208-526-9051 • NEWORLEANS.TANO-504-254-3500 • SALT LAKECITY UT, Home Computer Store — 801-484-6502 • SEATTLE, Empire Electronics —206-244-5200. Dealer inquiries invited - 504-254-3500. TWX 810-591-5229.

Circle 348 on inquiry card.

BYTE April 1979 119

f START J

Figure 12: Flowchartof module which per-forms the select SIthrough S8 mappingfunction SELECT.

SET BITS 6AND 7 OFSEGMNT TOPOINT TOS7 AND S8DATA SEGMENT

SET X

REGISTER TOFETCH8 BYTES

FETCH BYTETO BEMAPPED.CREATE INDEXINTO SELDATTABLE USINGSEGMNT

FETCH

SELDAT DATAMASK HIGHNYBBLE ANDRETAIN

FETCH NEXTBYTE TO BEMAPPED.CREATE INDEXINTO SELDATTABLE USINGSEGMNT

FETCH

SELDAT DATAMASK LOWNYBBLECOMBINE WITHPREVIOUSNYBBLETO FORMRESULT BYTEPUSH ONSTACK

PULL 4 BYTESFROM STACKAND STORE INTEMP (0)-TEMP (3)

( RETURN J

28 BITS

ADJUSTSEGMNTTO POINTTO NEXTSEGMENT OFSELDATDECREMENT XTO POINT TONEXT BYTETO BE MAPPED.

I

The only particular point worth notingis that the parameters used by TFORM toperform the proper permutation are storedsequentially in the order used. The order ofthe information in the table DATA is:

Initial Permutation dataPermuted Choice 1 dataPermuted Choice 2 data —iSelect E dataPermute P data

16iterations

Figure 13: Rotation of the bits in Ci,Di requires special attention to bit 28because it is in the middle of a byte.

Inverse Initial Permutation data

Once the Initial Permutation and Per-muted Choice 1 are performed, the DESroutine sequences TFORM thru PermutedChoice 2, Select E, and Permute P, for 16iterations. Then TFORM performs theinverse Initial Permutation to complete theencrypt or decrypt operation.

Using the Program

The Standard Data Encryption Algorithmprogram is written as a subroutine which canbe called at hexadecimal address 0176. Inorder to use the routine, three things mustbe supplied: mode, plaintext, and key. Themode byte (location 0000) is set to 00 forencryption or FF for decryption. The plain-text is 8 bytes of data (locations 0001 thru0008) which is to be encrypted or decrypted.The key is eight random bytes provided byyou (locations 0009 thru 0010) to controlthe algorithm. The encrypted (or decrypted)result is returned to locations 0001 thru0008.

A call to DES uses 12 bytes of stack stor-age. If your other programs use the stack,you should take care to avoid overwritingthe main routine. Many of the page zero lo-cations used by DES may be used for otherpurposes between calls. These hexadecimallocations are 0011 thru 002C and 0038 thru0040. A memory map of the entire programis shown in figure 15.

When the encryption key is loaded, youshould make sure that the bits are nearly asrandom as possible, since it is the random-ness of the key which makes it difficult foran outsider to decrypt the cipher. If youattempt to load ASCII characters as key, itis likely that the most significant bit of eachbyte will be zero. This will substantially re-duce the strength of the algorithm. An alter-nate way to handle the key is as 16 ASCIIcharacters, with random contents in the fourlow order bits. The four low order bits ofthese characters can be compacted to formthe eight bytes of key which the algorithmrequires.

Text continued on page 124.

120 April 1979 ©BYTE Publications Inc

64K bytes offast, lowpower dyna-mic RAM.

$69500

32K bytes offaster staticRAM.

$59500

Both Our UNCommon Dynamic and our UNComrrion Static RAMS have the followingfeatures and specifications:

• Compatible with: IMSAI, VECTOR, SOL, TDL, MITS, IA, CROMEMCO, NORTH STAR,

and most other S-100 systems.

• Inputs buffered with 1 LS TTL load.

• Outputs are all three state.

• Memory selectable and deselectable in 4K increments.

• DIP switch selectable addressing.

• Phantom selectable on pin 67.

• Disc compatible. DMA compatible to 1MHz.

• Reliability — all boards are fully tested

a. Bus address and control line timing skew.

b. Word pattern sensitivity.

c. All boards are burned-in.

• Full documentation.

• Industrial quality design and components. Glass epoxy boards. Silk screenedlegends. Gold plated edge connectors. All ICs on sockets.

• Delivery — Stock to 30 days.

• Guaranteed performance for one year on parts and labor. Full refund if returnedundamaged within 14 days.

Our UNCommon Static RAM Features:

Our UNCommon Dynamic RAM Features:

• 64K bytes of dynamic RAM withon board transparent refresh.

• S-100 interface compatible withcrystal controlled timing IN-DEPENDENT of bus orprocessortiming.

• No wait states or cycle stealingwith 8080 or Z80 to 4MHz. Upto 5MHz with 1 wait state.

• 32K bytes of static RAM using300n Sec low power staticRAMS.

• No wait states or cycle stealingwith 8080, 8085, or Z80 pro-cessors up to 5MHz.

• Organized in 8 independentlyaddressable 4K byte incrementsat 4K boundaries.

1 would like to older the foltowftig imiy Assembled and

tested UNCommon memory

UNCommon Dynamic RAMSD DM6400 64K RAM - $095™

Q DM4800 48K RAM - $595*

D DM3200 32K RAM - $495 "

UNCommon Static RAMD 5M3200 32K RAM - $595

Enclosed is a check or money ordet tot

ICalil tesidents please add CA sales lax Please Allow 14

days lot checks to cleat bank Thank yon i

Please bill my □ BA, □ VISA, or □ MASTERCHARGE account.

Card No.: Expiration date:

Four digits above name on Masrercharge card:

Name

Address

City Stale

Zip

Phone

MEASUREMENT 867 North Main street

Systems &. Controls Oran3e. California 9Z668incorporated Telephone: (714)633-4460

All orcicis -ihippi'd postpaid All orders in U.S. lundsPlease .ulcl 10% on .ill orders outside U 5.A.. Canada andMexico

Circle 215 on inquiry card.

BYTE April 1979 121

START

INITIALIZETFORM DATAPOINTER ANDLOOPCOUNT

YES

_/encrypt\>

"^v MODE jS

^0

PERFORMPERMUTEDCHOICE TWO

ROTATECi, Di

ROTATECi, Di

PERFORMPERMUTEDCHOICE TWO

PERFORM

SELECT E

MODULUS 2ADDITION OFSUBKEYAND PERMUTEDPT RIGHT

PERFORMSELECTSI - S8

PERFORM

PERMUTE P

MODULO 2ADDITIONf (R,Ki)

TO PT LEFT

SWAP PTLEFT ANDPT RIGHT

PERFORM

BLOCK

TRANSFORMATION

PERFORM

INVERSE

INITIAL

PERMUTATION

( END J

Figure 14: Flowchart of the main routine for the Standard Data Encryption Algorithm.

122

April 1979 © BYTE Publications Inc

P„GE: 0°001

sTo«i-srC

000100 ORG^"^llSllC „nF

oooiio °CCBSs ««i* c00e.

00012° RECOBD WW a

oooi^0 ■ Division.

000140 0K» SECTION- C0RD 32-

0001B0 Ui2 PRODUCT B c ,l«000190 « UNIT-S^ESECTI0N.

&*&%&&%

000230 02 «£oesc pic xO

STOCK.1T"

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

oooo

0000

oooo

002D002D002D0 02D

VMA>E

00023'

0002*0

0002^0

000260

000210

000280

STOCK CO-OESCRl1"

CIS

000280 ENTER-f %,C HH/l f «(«>■ ^^ ^^ ^M HM m. >^l

000310

000320

000330

000340

000350

000360

02

02

02

02

02

02

00036° eoURE D1V1S

00041° °M,-JNPUT. 6WT6R-tT.

000420 «0R"rt0VE ^eWr-^ •000430 DISPL^OR

000440 rnRBECT-ERR°R; - ,„.

000450 C0R\CCEPT EN

^nn»60 ,- CRT-SI

SS ^ssa^iT'n*^ ■ From Micro Focus Ltd-

000560 OlSPl^f

ooo580 fs° CIS COBOL

, END OV " ^ iUm t.__

000460

00041°

000480

000490

000500

000510

000520

000530

_ -rtcAU

oonooib

002F

0030

0036

004D

004E

0065

006F

oon

00TD

0083

0089

0091

009P.

009B

009F

001^3

00B4

IS COBOL is the Compact, Interactive, Standard COBOL which offersir the first time a cost-effective key to full commercial use of micro-computers.

It can be used simply and naturally, offers facilities unavailable withother forms of COBOL, and produces efficient code without wastingspace. For example, a 32K byte sytem is sufficient to run the compileror a substantial application program.

CIS COBOL contains the most relevant parts of the ANSI 74 standardplus extra facilities to provide a powerful interactive business language.

The CIS COBOL Object Pack is available for shipment on IBM compatible diskette to users of avariety of 8080/Z80 based computers running the CP/M* operating system.

Dealer and Application Vendor terms are available

Now enhanced to version 3 with FORMS utility to generate COBOL source direct from CRTimage.

Micro Focus offers a CIS COBOL licencing package to OEM's including access to internal docu-mentation and program source plus an Interfacing Kit to enable CIS COBOL to be implementedquickly in the OEM's own hardware and software environment. The CIS COBOL compiler isitself written in COBOL making it self compiling and thereby extremely portable.

MICRO FOCUS LTD 58 Acacia Road, London NW 86AG, ENGLAND, UK

Telephone 01 722 8843 TLX 28536

Our telephone number in December issue of BYTE was incorrect.* CP/M is a trademark of Digital ResearchCircle 220 on inquiry card.

BYTE April 1979 123

CLC

|

LDA

$00 I

STA

WORD 1 /

STASTA

WORD 2 (WORD 3 )

Initialization

STA

WORD 8 /

2 bytes

3 cycles

LDA

SOURCE 1 )

2 bytes

2 cycles

AND

$XX (

Basic in line coding to

2 bytes

2 cycles

ADC

$FF (

permute one bit

2 bytes

5 cycles

ROL

WORD 1 )

8 bytes

12 cycles

LDA

SOURCE 2

total

total

ANDADCROL

SXX$FFWORD 1

Table 10: 6502 instructions which could be used to in line code the per-mutation function. Fastest time to permute one bit requires 12 cycles and8 bytes of memory.

Key

Plain

Cipher

7CA110454A1A6E57

01A1D6D039776742

690F5B0D9A26939B

0131D9619DC1376E

5CD54CA83DEF57DA

7A389D10354BD271

07A1133E4AOB2686

0248D43806F67172

868EBB51CAB4599A

3849674C2602319E

51454B582DDF440A

7178876E01F19B2A

04B915BA43FEB5B6

42FD443059577FA2

AF37FB421F8C4095

0113B970FD34F2CE

059B5E0851CF143A

86A560F10EC6D85B

0170F175468FB5E6

0756D8E0774761D2

0CD3DA020021DC09

43297FAD38E373FE

762514B829BF486A

EA676B2CB7DB2B7A

07A7137045DA2A16

3BDD119049372802

DFD64A815CAF1A0F

04689104C2FD3B2F

26955F6835AF609A

5C513C9C4886C088

37D06BB516CB7546

164D5E404F275232

0A2AEEAE3FF4AB77

1F08260D1AC2465E

6B056E18759F5CCA

EF1BF03E5DFA575A

584023641ABA6176

004BD6EF091 76062

88BF0DB6D70DEE56

025816164629B007

480D39006EE762F2

A1F9915541020B56

49793EBC79B3258F

437540C8698F3CFA

6FBF1CAFCFFD0556

4FB05E1515AB73A7

072D43A077075292

2F22E49BAB7CA1AC

49E95D6D4CA229BF

02FE55778117F12A

5A6B612CC26CCE4A

018310DC409B26D6

1D9D5C5018F728C2

5F4C038ED12B2E41

1C587F1C13924FEF

305532286D6F295A

63FAC0D034D9F793

'/////////.

PAGE ODATA/TABLES

ROTATE C AND DROUTINE

SWAPROUTINE

SELECT SI-S8ROUTINE

TFORM

PERMUTATION

ROUTINE

MAINROUTINE

PROGRAMSTACK

PERMUTATIONTABLES FOR:

INITIALPERMUTATION

INVERSE INITIALPERMUTATION

PERMUTEDCHOICE TWO

PERMUTE P

MAPPING TABLESFOR SELECTSI - S8

PERMUTATIONTABLE FORPERMUTEDCHOICE ONE

0000

00860087

00D800D9

KIM RESERVED AREA(OOEF - OOFF )

0I320I33

OI750I76

OICB

0200

02FF0300

03FF

Table 11: Sample test words for the Standard Data Encryption Algorithm.

Figure 15: Memory map for the StandardData Encryption Algorithm program.

Text continued from page 120:

Data encrypted using the Standard DataEncryption Algorithm will be decryptedproperly as long as the correct 8 byte bound-aries are maintained. This allows you to in-dependently decrypt 8 byte blocks of datain memory. There are other ways of usingthe encryption algorithm which require datato be decrypted in the same sequence as itwas encrypted. If you are interested in adapt-ing DES to these other techniques, youshould refer to textbooks dealing withcryptography.

As a final note in using the encryption

program, all of the routines, permutationand selection tables, and TFORM inputparameter tables (array DATA) may berelocated by altering a small number ofaddress references.

Timing Analysis

One of my primary objectives in pro-gramming the Standard Data EncryptionAlgorithm was to determine the efficiencyof the 6502 processor in handling a taskwhich requires lots of bit manipulation.In order to determine the efficiency of theimplementation, I calculated the approx-

124 April 1979 © BYTE Publications Inc

At last.

A controller you'll

never have to throw

If you've got a floppy diskcontroller on your S-100 bus, you'vegot a big problem. Because when youwant to upgrade your system from single to doubledensity, or from single-sided to double-sized, or from5" to 8" floppy, you'll have to throw that old controlleroff the bus.

But not any more you don't. Because atDATASPEED, we've developed one controller thatworks with all four kinds of floppy disk drives.And doubles the density, too.

Works with allfloppy disk drives.

Single-sided minifloppys™ Double-sided minis.Single-sided maxis. Even the new double-sided maxiswith up to 8 megabytes. This is the only controllerin the world that works with all four.

So when you buy this controller, and a compatibleCP/M™ we're including a free software package thatlets you transfer all your files to double density.

We call itThe Conductor.

The DATASPEED Floppy Disk Controller.It handles all your upgrades. It packs in twice as much.And at only $295, it's even the cheapest way to go.That's why this is one controller you'll never have tothrow off the bus. And that's why we had to callit The Conductor. Ask for it at your local computer shopor send $295 for immediate delivery. By the way, wehave Double-Density CP/M™ for only $100. Completedisk drive systems are available.

Write us for more information. Dealer inquirieswelcome. And watch our future ads for trade-inoffers. DATASPEED, INC., 1302 Noe Street,San Francisco, CA 94131.

Handles any upgrade. THE CONDUCTOR™

When you want to go from single-sided todouble-sided drives, this great new controller readseach side automatically. And you can upgrade from5" to 8" disks just by changing a simple Header socket.

Packs intwice the data.

Now you can pack double density data on every sideof every disk. Because we've designed in a bootstrapPROM that automatically controls any shift from singleto double density. And, of course, when you're runningdouble density, you can transfer data in half the time.

Circle 88 on inquiry card.

Minifloppy is a TM of Shugart Associates.CP/M is a TM of Digital Research.

BYTE April 1979 125

imate number of machine cycles spent ineach module during one encryption cycle.The cycle times which I used for eachinstruction were taken from the data pro-vided by MOS for the 6502. My calcula-tions revealed the following times:

DES (Main) Routine - 4300 cycles

Rotate - 1900 cycles

Select S1-S8 7500 cycles

TFORM - 146000 cycles

This indicates that over 90 percent ofthe time is spent in the module TFORM.These calculations also indicate that the to-tal encryption time is approximately 160 ms;assuming the 1 /us cycle time of the KIM-1.In order to verify these calculations, I timeda loop which performed 256 encryptionoperations. The observed execution time was164 ms. Not bad for a rough estimate. Max-imum throughput would be about 390 bps.

I next wondered what maximum through-put could be achieved, given unlimited mem-ory. The two most obvious changes to makewere to perform subkey generation onlyonce, and to optimize TFORM. Table 10shows the basic instructions which could beused to code the basic permutation func-tions, such as Permute P in line. It alsoshows the number of machine cycles re-quired and the number of bytes of memoryrequired. These changes would reduce the

Listing 1: The DES program implemented on the basic KIM-1 module.

* « jfl * * * * * * * * *********** * ******************** * *

* *

* MICRO - OATH encryption standard program »

* b V *

* R06ERTV. MEUSHAM *

* *

* <E M T R V 017 6; **********************************************

* * ■* * * * * * * * * * * * * *MEMORY LOCATIONS

9 08 7

******MODE

: ** >

*

: * * * * * *t 0 0 0 0

ENCRYPT/DECRYPT H0OE

0 0 8 7

PTL

*

*000 i

PTC LEFT) START

Cp 08 7

PTR

*

$0005

PTCRICHT) START

0 0 8 7

KEY

*

100 09

KEY START

0o8 7

TEMP

*

t 0 0 1 1

TEMPORARY STORAGE

0 0 8 7

SUBKEY

*

root s<

SUBKEY START

0 0 y 7

CD 1

*

* 0 0 2 1

START OF C< I)

0 08 7

CD2

*

too J 2

0 08 7

CD 3

*

*o023

0 0 8 7

CD 4

*

*0024

0 0 8 7

CD 5

*

tOO 2 5

START OF D < I >

0 0 8 7

CD i

*

r 0 0 2 6

0 08 7

CD 7

*

f 0027

0 0 8 7

CD i

*

10 0 2 8

0087

LOOFCT

*

tOO 2?

ITERATION COUNT

0 o 8 7

S I T C M T

*

t 0 0 2 A

« BITS PER U0RD

0 0 8 7

S E 0 M H T

*

* 0 0 2 A

DATA POINTER FOR SI-

0 08 7

HOLD

*

*002B

TEMPORARY STORAGE

Listing 1 continued on next page.

number of cycles spent in TFORM to about16900. The time for one encryption cyclewould be reduced to about 31 ms, and maxi-mum throughput would increase to 2000bps. Memory requirements would increase toabout 3500 bytes.

It is clear that although the 6502 can per-form at a reasonable rate, its instruction setis not well suited to high speed implemen-tation of the Standard Data EncryptionAlgorithm. If bit test instructions were avail-able, similar to those of the Zilog Z-80, itwould theoretically be possible to reduce thetime spent in TFORM by 50 percent. Itwould then make sense to speed up the otherroutines. I would not be surprised if through-puts of 8,000 to 10,000 bps were possible.

Conclusions

I have demonstrated that the StandardData Encryption Algorithm can be imple-mented on the basic KIM-1 with reasonableperformance. However, it is clear that theinstruction sets available for most processorsare not well suited to an efficient implemen-tation of the algorithm. It is also clear thatthe basic functions necessary to perform thealgorithm (ie: bit permutations) are notwell suited to implementation in software.I have shown that an increase in memoryto about 3500 bytes will allow the through-put to be increased from 390 bps to about2000 bps.

I have attempted to present a coherentdescription of the Standard Data EncryptionAlgorithm for those readers who may beinterested in reprogramming it. Table 11provides a set of test words to verify yourimplementation. These test words are partof those available from National Bureau ofStandards Special Publication 500-20.

The coding of my encryption programis provided in listing 1. For anyone inter-ested in obtaining a KIM compatible cassettewith the Standard Data Encryption Algor-ithm program, several driver routines forTeletype and keypad, a shortened versionof the program, and complete documenta-tion, send $6 to R Meushaw, 4188 BrittanyDr, Ellicott City MD 21043.

REFERENCES

Data Encryption Standard, FIPS Publication 46,US Department of Commerce/National Bureauof Standards, 1977.

Validating the Correctness of Hardware Imple-mentations of the NBS Data Encryption Standard,NBS Special Publication 500-20, US Departmentof Commerce/National Bureau of Standards, 1977.

Katzan, H, 777e Standard Data Encryption Algo-rithm, Petrocelli Books Inc, New York, 1977.

126 April 1979©BYTE Publications Inc

16K BYTES OF MEMORY, SPEECH,

ACTION SOUNDS, MUSIC

AND COLOR „g|

FCC, CSA

AND UL APPROVED

FREE$300. WORTH OF

14 PROGRAMS INCLUDING

EDU-BASIC AND LEVEL 2 BASIC.

If you

thinking about a

Home Computer,

make sure it's

not just a game

Two years ago we wrote a piece on themost startling product of the decade. Thefirst personal computer. It actually broughtthe miracle of computing power withinreach of small businesses. At less than$1000, it was even affordable for home use.That was two years ago. Today, that sameunit, and other second and third genera-tion models are still being sold. Enter nowInteract's fourth generation American-made personal computer with total sound,color, 16,000 bytes or words of usablememory, and superb ease of handling athundreds of dollars less than any compar-ably equipped computer.

GIANT COMPUTER HARDWARE

Beneath its cover is the Intel 8080" micro-processor brain —a powerful logic com-ponent used in computers costing tens ofthousands of dollars. Interact loads dataup to 5 times faster than most other com-pacts. Its 8080 brain does all of the complexdata saving, processing and retrievalchores. All that's left is typing in the datathrough the 9 inch, 53-key standard type-writer keyboard.

WHY IT COSTS LESS

Since the unit performs in color, it is de-signed to hook up to any TV antenna ter-minal. If we included a color screen (CRT),we'd have to charge more. Witness the 16KRadio Shack Model. It's only black andwhite, and with its screen that isn't even aTV, it costs $899.00. Ours, with full soundand color is several hundred dollars less.Interact full sound is generated three ways:There are game action sounds from themicroprocessor, tunes within the programsand actual speech and music from anycassette software. In fact, it is the only com-puter able to transmit full sound through aTV. Image resolution is superb.

THE MOST EFFICIENT BUSINESSTOOL EVER

Interact" comes ready to handle a widerange of business applications. Its Level IIBasic, and 16K byte system capacity giveyou the instruction set and the room towrite your own programs for payroll, inven-tory, client records, etc. For accountants,attorneys, doctors, salespeople, and smallbusinesses, it's a lot of computer for verylittle money.

For the enlightened computer expert, our LevelII Basic is Interact's version of the Microsoft'"and is equivalent to all Level II programs cur-rently available. The program includes: a super-set of operations in floating point with integerand string arrays, direct memory access, directstatement execution, two character variablenames, user definable functions, multi-state-ment lines, editing, scrolling, file management,and more.

AN INCOMPARABLE SCHOOL TEACHER

Since it can talk, play music and perform incolor, Interact is a phenomenal teacher.

Circle 42 on inquiry card.

That's why High/Scope, an educationalresearch foundation, was commissioned todevelop an exclusive Language Arts pro-gram for it. The 8-unit program ranges fromLetter Recognition for preschoolersthrough Word Root, Grammar, CriticalReading and Writing exercises for the 8 to15 year old. Students listen, take notes andprepare assignments through the com-puter. Similar math and foreign languageprograms are also being prepared. By com-parison, any one of these courses given bya tutor or commercial school could easilycost as much as the computer itself.

IT'S A BRILLIANT MUSIC TEACHER

A comprehensive music program and apiano keyboard overlay turn the computerinto a perfect pitch maestro. You can prac-tice, write a tune or record. To create amelody, you can select both key and tempo.A staff is displayed on which to write yoursong, note by note, complete with rests andvalues. Play the composition back; correctany note; instantly transpose it to anotherkey; or store it on a blank cassette for laterrevision. A student can listen to his lessonand transpose it into another key for usewith F, B'\ E' horns, etc. The youngsterthen plays along in the right key, in the cor-rect meter. It's a fantastic application.

OF COURSE, IT PLAYS GAMES

Interact is a total entertainment centerwith color, sound, and music. There areChess, Backgammon, Hangman, RegattaRaces, Concentration, Trailblazers, Black-jack, Star Track-games that would costany arcade owner $2000 or more. Challengethe computer or another opponent. Eachgame will bring family and friends togetherfor hours of quality fun.

FCC AND CSA APPROVED FOR YOUR TV

The Interact computer, with built-in stor-age and programmability, is FCC and CSAapproved for attachment to any TV. It is ULlisted and operates on standard 110V house-hold current. It's portable, too: weighs 12pounds and is only 19" L x 12" W x 8" D.

SPECIAL OFFER-OVER $300 WORTH OFFREE PROGRAMS-INCLUDING LEVEL II

Interact is exceptional. But, there is just noway to prove it, unless you are enjoying itin your own home and business. You haveto try it. That's why we are giving you 14different full color and sound programsFREE-including Edu-Basic and the BasicLevel II program for advanced applica-tions. It's our way of backing up everythingwe've said and making it worth your whileto check it out for yourself. Your $300FREE value includes:

Edu-Basic'" • Level II Basic • Blackjack •Compute-A-Color'" • Hangman'" • Knockdown'"• Trailblazers™ • Dogfight'" • Showdown'" •Regatta'" • Concentration • Add-Em-Up'" •Computer Maze'" • Biorhythm™ and 1 BlankData Tape.

Fourteen programs are actually more thanother computers have to offer. They'reyours FREE with your purchase of theInteract. If, after 15 days you are not satis-fied with your Interact, you may return itfor a prompt refund of the purchase price.Sorry, but you'll have to return the 14 pro-grams and the data cassette also. The unitis backed by a ninety-day parts and laborlimited factory warranty.

CREDIT CARD ORDERS CALL TOLL FREE -

800-621-5809

ILLINOIS RES: 800-972-5858 24 HOURS-7 DAYS/WEEK

I 1

□ Please send me the Interact Computer, with 2Hand Controls, connecting RF adapter and the 14Free Program Library-Including Basic Level II and1 Blank Data Tape. If not satisfied, I can return samefor a prompt refund within 15 days.

D I enclose $588.00 plus S17.95 shipping andInsurance. Allow 2-3 week delivery.

(III. residents add 5% tax.)

□ I also want the following programs:

□ Star Track $24.95

□ MicroChess (vs. computer) $24.95

n VideoChess (vs. opponent) $19.95

□ Backgammon $24.95

D Reversi $19.95

□ Music Maestro $24.95

□ Total amount enclosed $

n Check n Money Order

D Charge My Credit Card:

□ American Express Q Master Charge □ Carte

□ BankAmer/Visa □ Diners Club Blanche

Credit Card No

Master Charge # _

Name

Add ress

City

_Exp. Date

State

Signature..

-Zip-

801 Green Bay Rd., Lake Bluff, IL 60044

Camelot

DIRECT

A DIVISION OF UNITED EDUCATORS. INC.

BYTE April 1979 127

Ill

IT.

LL

CO

q:

1—1

a:

<x

Hi

-

^

Hi

o

0_

t—

A

cj

:*: a.

Of

<r

CJ o

o

Ul

Z

*—

X

o

h-

z

<X DC

£K

3;

*"*

UJ

LU

3

to

o

f— O.

>- to

3

o

<2j

CK Q- LULU C> CO I— O

ixi o t- oc Ul O I—-X * X SC X

a. U. QC >■ UJ =3 ocxcjx: CO hMnOJXCxXJ

o x □ cc t— o_ 3 ui => o x: cj «-«»-<© O •-*

co 3 oc en o. ~ o n i— ui co x X k- q; lu _ k-

I— I— X QC _J HI O - Z JhHUlZOlliai-Z

_ 3: I—Q- <r o ■ cj oc <r ^:>cuj>-«0Z30t2> •! <r d

CD h Ul UJ CO * ■ QC O. CO -Ci I:) CD U O- QC Q _l X

X X >• >- GL UJ m (J EJ »-t 3- Q —I O >■ UJ O OC D_ ■— LU

wouicca-or-si- i^uj o ui KJOZSUIQ.U133Q 1— =3

1— _i or o ac ui o to etc wt-i-aoiHaauicDr 3 to. to x

uj>-<lijqcoclzmz<i <r •— <r x ^ uolijh # z lj h

ckcq <r m a <r r x o _j co u - uj <r e ii uj i- _i -a o (~

O I— I— I— I— CCO h- > XI— _J* x

1— UJ 3 Lu uj atou. ui o u. a 3 3 o

i-.ocdq.oq: _j _, _« o e m oa. q. cj

e a a a <i1—000;

LU

CD

X

0

0

*-*

Ul

CJ

X

Ul

x

u.

£

X

M

00

,

1—

t—

1

l-t

CJ

O

CO

UJ

ac

-

s

Ul

0

i-«

*—

1

—1

i—

^

CM

UJ

1

O

O

QC

—•

CJ

0

CM

1

„J

CO

1—

<r

2:

■^

fw

CO

3-

Or:

CJ

0

CJ

■a

1—

U

a

0.

>■

X

Ul

CM

a.

M)

I—

_J <E U_ O UJ

«oi-ji-' 1 =- ~oi- _i >- o

x w a. o k mo ujuioujocouj

w ui >■ ui —■ a. a. ZEhuiu«o^uii-j

u n m n mi - - >>ao:ii WZ' x aa i— m ui

ui m Mw a; uj o =- oc ui d d m toa jq j EZUiirtu.aui3XEWE

<r ui <r a a: u: 1 m ■■' a: o > o a: a Dt i~ ac(»!hwmoooiiJ3vU)iiiuiuioou,uilijo

cci— oi— U.U.U. 07oa.ooctou-u.oQ_tou.

ui <-■ i-c oc oc oc ac ac

J Z Z UIU1 O LU LU

o ■-• 1-1 a. a. u. a_ a.

ui

LU

:z x x xid cj o a:

OHOU

iouhui

j co to a. v

OQDhUU. _J -J o •— t—

u_ o o u :<:>-* 1¥> x x a. UJ CO .

•a a > x j <i <c > ■! x q > 1 o; ct a >: -i 0 o u j 1 a i-1 0 ui a j :- 1 1 > j el)OKblUlilOI"A6<IZ<CX(0t9C0<COZJQOaUIISUIZX(LClJI-U(ll-'

jwoofljJWJJi-ai-t-JJJHJioaajCiCOiaaiiLaiJii^oaiQi

* o *

to;*

* co *

* 3) *

* CO *

*■ — *

* X *

* »-• *

* -a: *

1— USX

3: actQiuiroacttiii'aii: a. ^ i*: Ul

i-*U.OOO<jO.I-00_OI— O N £ Q] Ll CC 0_1

u_ooou.u_o:*:ou.iiCU-ou-OUJ=)rozD «ui

U- Ci_ ¥7 _1 I— l~ EI CO Ct ►— CO •— OC I— *rr t— CO J* CO _) CO

1 'CC'CC €C(KflC>-HUttMCliCiiflfX<Ca{A<CXJIk!

IOhOh(flW"EW(/)ECfl(flWC)OOZhUJ4.WiJWJCO-S'iCDQl-JTCO-S-J-JjJUiaWCiCOT

# to

ft UJ

■00000000000000000000000000000000000

00000000000000000000000

.0-o

ID

.s;

■G

a

o x

CO

t— a: to

<z 1— o i;o 1 —■ oc -^

Q Ci: <r m o ui h 1— o »-h

co -x i— co <r a: cj <E U. *w

x to h- x ui q z x H- u

aiUJtOiCiOi-aroLii >-*Oct cn-ucn-mti

u_a>-3nQa: ccnuio

HdOiliadJ-J-OUJilLL

<i a: o « <C 3 o o

oc ct: u. a z cc ck oc -x

o-a:-a:i— i— o a a a z ii i-

u. i_ <i h a <r ui h <e

CC ii U. Q h O. OCC)

HOMO 1 Ul Ul COO

uj <r ui z 1- 1- w a u. ui

l-COEI-O'-Dai-Ct I—

XCO CtCCI-EE'-'OfKI

—■ 1 t— <r o CO oc ot: co 3 1— j—

o-Mi-ouiuiui <r o

■■' ■ . ■ :V; ■..■.■:/■.,;:.. i.i. sf. -.}t ,;, L;;

s: iu to

X

u_

CQ

U.

CO CO

l-<

UJ

!-•

X

UJ

-J

X 0

c/>

1—

1— 1—

<c

0

1—

1—

u.

Z3

0

Oi

X

UJ

O

Of

X

u.

00

C3

3C

H-

Ul

CJ

Ul

h-t

t-t

CO

Ul

d

X

Ul

oc

Ul

O

_J

0

X

to

1—

3

C3

UJ

>-«

■X

0

U. CO CO -1

1-1 !-■ <r

0 (J> Q ^

r- ^1 u"^ a. O 1o c Q "iC -h ,U O O 0? ■** 1

u. o o — o

I- m :- ij j j j u 1 'i ii j j j j el ct -a: :- lu <io cr oc zc ~- <r ■!> ■_» CJ oc oi <r a o o a. a: cu oc :-'- E Ci u to O O i^> O Oi 1- o to O o o -_> o; i— UJ X i- X 'Z? <XdOXUCtOO£>X-J<a O O O O Ul

I IB CO J J T 11 il. n .Vi iZ? '/I J CC OC OC OS CO O CO CJ CO OC t— Ul t— _IJ -I O ■! a a J CE 'L> i ct lie cc cc o

5

8

Z O ^. O il K E 3 D 3 ■! U.

.-1 _1 CO U. O tO CC Q O Q I- -

O Ul IZOUIUIUUCXCI

(L W E « CO O CL CL CO 3 O CO

.H1

-J

r- r. r. r. r- r. r- r- r- r- r~ r-00 'Xi CO -X' CO CO 00 CO CO <J0 CO 00

■o -* O iT L-) CT -.0 ■

■:x ■:■! ro co 't 3 CM ■

r- >7>atOU. —

'X' CO CO CO CO OP.

X tr 'T- \n iX> '

-.0 \P C^ ui >» ■"> -.o '.P ■.£> --0 CO

•O 'J? '^ tj -o ••» -^- X ijl -X 1

I T <i> CO X '

o o -o o

- n u"i r - CP* co d ui O — CM t u"> r~ dh ilo o C*l t -.p co x i"o C> U, *** ro tf?

X -X -X -X X -X <E X CO CO 03 CO CO CO CO CO Cii CJ a a CJ CJ ■-> CJ u6Ciu

O OOOO O O O O O Q O O O o © o o o o o o o o o o o o

O o o c^ c> o o o o 000 o o o o o o -o o c> c> 0 C> -O O O O

5.5

a

128 April 1979 IS BYTE Publications Inc

0_ •— i=i

I Q2 ^ ■"

uj a x i—

h~ x ■■-- u,

3 ^ t— LU

EI »J fr- X _J

Ct Li_ (J s*

LJ QLU H h

o. o _j c>£ a.

Z EO.Q. -ct a:

OOlkvUU.U.QU. q:a: oc o

LU LU I—

X o_ w

31 X X LU

)— 1-4 c* co

Oh- fr- oc

a. 33 lu

o ui ~ :>

i— a: 13 :*: 2:

QC

X fr-

co r-

1 o o 3 ac 1

-< (n a q a a 1>c _j O x o o 1

LU LU U. X U_ U_

CO 10; X x1 e E

O 0C <C

X £> I— CO

Q UJ X -

UJ X fr- fr— CD *

a: i~ E 2: h- k33 CO DC UJ 00 COO LU UJ _J LU LU

' co co Co to CO

: x x x x x -- 1

e x: x: e x: x

»— 1

■* m ■£ r- « <r

1 CO CD CO CD >—■

cc;

o

.C:

C:O

10

£

■Q

Cj

O. X SE Cl_

naul-i- X

cc r-- 1 ct 'i :•■: j (t u m i -iu it ct ij)

w Ci o o t- uj a 0^ ui z o t- z 01(0 h-

TjjujwQimciiajwflma:

N 17 17, SO ,-, L) o c» m

u. o eg c — 01 u d ro

o oj to lo in x o o '■£■ o <7. moo o o

'■•j x co in c- *_> «-< CM CJ f1 1 03 o (M CM ■.£>

X tlJ U. —■ to Ift ■.£ CO CO 0 Li_ —I r*J IT? CO CO

X X X CO CO CO CO CO CO CO CO O CJ CJ O '_)

O O O O O O O O o o o o o o o o

000

— —' O Ij. '

■ r>j ro * lo m> r-

O O O O O

^N*i?iuuie«w«i/)N5s<tai ■_■• lu o w ro t 1

nnn^v9vvvvTVYiniov)U)V)V}ii)ifliniftinssMi,>c|4!1

O O 00000000 o o o o o O OOOOOO O O o o O OOOOOOOOOOOOOOOOOOOOOOOOOOOOO'

CO '_) .=1 LU O

■.£» mj •-£> ■£> r-

o o o o o

o o o o o

a. cta k-

_i x1— 3

UJ .

to >c

O OL

t— 1—

z: x x _J •-

■ o >- co to Gt e:

*r QC

» CO

* 3)

3C X X UJ Ok! X

cock MEhjaiai-

CO X X CO O UJ X

*-< ol :x: x: a co re i— ^

:c o lu or i-t H x 3:

a. i^oxxi-Wi-i-h

x e: 2; u. —. 33QUX

C3LUI— f-i CO CK 3* Q. iX LU LU

h h X ID Zl- Q LU HE

X LUJ— fr- XX-JXQfr-OiCJ

uj z > » a: e —■ 3: co o lu^ck conh- ^oaxracjr^)

CO O t- -9 1— co e: -a

X t- UJ O LU X O ,=L

e: co (J x C3 3C U x

WOO.i-U x e:I— ui

D W vO f_) X

li_ x e;

CO

oc

fr—

Z3

UJ

X

,

t-t

fr—

Off

m

S

3:

X

A

■m

^

n-

0

a

X

X

O

X

-

fr-

O

a.

u.

QC

u

0

^

O

z

O

UJ

to

A

UJ

fr-

t—

1—

UJ

X

-1

X

UJ

0

et:

a

CO

>-

5-

UI

a.

X

X

h—

3

1—

QC

DC

QC

3B

X

a

ac

QC

►-4

UJ

a

X

X

O

x:

X

a

1^

iV

UJ

,

O

fr-

UJ

fr—

CO

O

u.

ill

L)

~)

c

—I

>—

0

DC

x:

QC

O

=J

oc

O

3-

0

CJ

UJ

771

A

03

1—

CO

X

*

CJ N CO O1 UJ O ZJ LU

■ tO 4* <0 CO

LU 5Z

CO CJ

35 LU

CO CO

x ;•■: _i <s>

fr- UI Cu I—

<:o 0 m n:

X X 7-' ~< LU CO

x x r~: x x :- x £1 x >'. x x > x i3> x x x u o x »6HQ£)£C«OZfr-Uiatt«OZQ!I6UJC(,hUJCLaJhZa.Zh

ji/ijjQi-j<npC)JOi-Jioiij««i/>tjCDja.tO"rjmci:

a o o x *- x

0 joi-aaj uawh- j

*■ x

QOCD

UJ o —<

o oo o

O O O O O o o o

000 000000-0 ooo-o

O OOOO O O OOOOOO

^ -O O O <-> o

April 1979 © BYTE Publications Inc 1 29

Listing 1, continued:

oo72 40

Oil? A 3F

00 7 5 0 3

007 6 0 7

00 7 7 0 i

007F 02

0 2 0 2 0 2 020 2 0 2 0 2 02

>2 0 i>1 0 1

02 0 0 38 3?' 3 A 3B 3C 3D 3E 3F

0208 28 29 2A 2B 2C 2D 2E 2F

0210 IS 19 1A IE 1C ID IE IF

0218 08 09 OS OB OC OD OE OF

0220 40 41 42 43 44 45 46 47

31 3 2 3 3 3 4 35 36 3 7

21 22 23 24 25 26 27

0228 3002 3 0 20

0238 10

11 12 13 14 15 16 11

02 4 0 OB OF 0 A 0 E 0 9 0D OS 0 C

0248 13 i;

12 16 11 15 10 14

02 5 0 IB IF 1A IE 19 ID 18 1C

02 5 8 230260 2B

27 22 26 212F 2A 2E 29

25 20 24

2D 28 2C

0268 33 37 32 36 31 35 30 34

02 7 0 36 3F 3 A 3E 3 9 3D 38 3C02 7 8 43 4 7 4 2 4 6 4 1

40 4 4

0280 24 OC 44 36 35 lb OF 34

0288 27 ID 2E 45 26 2C OE 3E

0290 25 14 IF IE OD tC 46 2D

0298 10 29 22 IB 38 41 40 13

02A0 20 21 1A 3A 11 2A 30 39

02A8 23 18 28 08 42 19 Oh 3 1

0260 OS 43 3B 33 28 23 2B 23

0268 16 13 06 42 OB 42 3A 32

02C0 2h 22 2A 22 1A 12 OA 4 1

02C8 OA 41 39 3 1 29 21 29 2 1

02D0 19 11 09 4 0 09 40 38 30

02D8 28 20 28 20 18 iO OS 43

02E0 OE 20 19 32 30 33 2502E8 09 IS IB 43 31 42 4i.

1 H1 0

SHIFTH DATA FORCD SHIFT

IP TABLE

IP( INVERSE ) TABLE

PC-2 TABLE

3ELECT-E TABLE

PERMUTE-P TABLE

02FO

11

3B

12

28

13

3A

39

0 8

02FS

OA

2 3

21

28

2 A

22

38

41

1780

00

0 0

0 0

0 0

2 0

21

22

2 3

PC-1 TABLE

1788

28

2 9

2A

2B

2C

2D

2E

2F

1790

30

31

3 2

3 3

3 4

35

36

37

1798

38

3 9

3 A

3B

3C

3D

3E

3F

1?H0

00

00

0 0

0 0

2 4

25

26

2 ?

17A8

IS

19

1 A

IB

1C

ID

IE

IF

176 0

10

11

12

13

14

15

16

17

1768

OS

09

OA

OB

OC

OD

OE

OF

03 0 0

EF

03

4i

FD

Da

74

it

47

SELDAT < 8 E

03 0 8

26

EF

FB

22

B3

D8

3 4

1 E

0310

3 9

AC

A7

6 0

62

Ct

CD

6A

03 18

5C

96

9 0

5 9

0 5

36

?A

85

0 3 2 0

4 0

FD

IE

C8

E7

8A

SB

21

03 2 8

DA

4 3

64

9F

2D

;4

Bl

72

0330

F5

5B

C8

Bi

9C

37

76

EC

03 3 8

3 9

AO

A3

0 5

52

6E

OF

D9

03 4 0

A?

DD

OD

7 8

9E

OB

E3

9 5

03 4 8

6 0

36

3 6

4F

F9

60

5A

A3

0350

11

24

D2

y 7

ca

52

1 -J

EC

0358

BB

CI

4C

BA

24

FE

8F

19

03 6 0

DA

13

66

HF

49

DO

9 0

06

03 6 8

8C

6A

FB

9 1

3 7

8D

OD

7 8

03 7 0

BF

4 9

1 1

F4

23

E5

CE

3E

0378

55

BC

A2

57

E8

22

74

CE

0 3 8 i)

2C

EA

CI

BF

4A

2 4

IF

C2

038 8

7 9

47

A2

7C

66

D9

68

15

0 3 9 0

80

56

5D

0 1

3 3

FD

F4

AE

0 3 9 8

DE

30

0 7

9B

E5

83

96

6 8

03 A 0

4 9

B4

2E

S3

IF

C2

85

7C

03A8

A 2

19

D8

E5

7C

2F

83

DA

03 6 0

F7

6B

9 0

FE

C4

0 1

5A

9 7

03 6 8

61

A6

3D

4 0

OB

5 8

E6

3D

0 3 C 0

4D

Dl

62

OF

28

6D

E4

7 S

03C8

F6

4A

OF

93

8B

17

Dl

A4

03 DO

3 A

EC

C9

35

9 3

56

7E

CB

03 D 8

55

20

AO

FE

6C

89

17

6 2

03 EO

17

62

4B

Bl

64

DE

Dl

87

03 E 8

C9

14

3C

4A

7E

AS

E2

7D

o 3 F 0

AO

9F

fh

5C

oA

"\>

SO

FO

03FF

OF

E3

5 3

25

9 5

3 6

? 6

C B ■

CP/M+TRS-80

The CP/M Operating System now availablefor Radio Shack's TRS-80

CP/M OPERATING SYSTEM

• Editor, Assembler, Debugger, and Utilities

• For 8080 and Z-80 Systems

• Up to four floppy disks

• Documentation includes:CP/M Features and FacilitiesCP/M Editor Manual

CP/M Assembler Manual

CP/M Debugger Manual

CP/M Interface Guide

CP/M Alteration GuideCP/M System Diskette and Documentation (Set

of 6 manuals) for $150.CP/M Documentation (Set of 6 manuals) only

$25.

MAC® MACRO ASSEMBLER

• Compatible with new Intel Macro standard

• Complete guide to Macro ApplicationsMAC Diskette and Manual for $150.

SID® SYMBOLIC INSTRUCTION DEBUGGER

• Symbolic memory reference

• Built-in assembler/disassemblerSID Diskette and Manual for $125.

TEX® TEXT FORMATTER -

• Powerful text formatting capabilities

• Text prepared using CP/M EditorTEX Diskette and Manual for $125.

HIGH-LEVEL LANGUAGES

• Basic

• Fortran

• Cobol

• Call or write for information

USER'S GROUP

• 35 disks with utilities, games andapplications

• Call or write for information

FMG ©©BPOIrMTIlOIN]

P.O. Box 16020 • Fort Worth. TX 76133 • (817) 738-0251CPM is a registered trademark of Digital Research Corp TRS-80 is a registered trademark of Radio Shack

130 April 1979 © BYTE Publications Inc

Circle 136 on inquiry card.

INTRODUCINGG2 LEVEL III BASIC.

Now do more than ever before with the most powerful Basic you can buy for the TRS 80.

Open the manual and load the cassette. Then get ready to work with the most powerful Basic interpreter you've ever had your handson...Level III Basic for Radio Shack Computers. It loads right on top of the Level II ROM, and in just 5K of space, opens upyour capability to new dimensions. For starters, this new cassette-based interpreter gives you the whole catalog of disk programmingpower. Plus graphics commands. Plus powerful editing commands. Plus long error messages, hex and octal constants and con-versions, user defined functions and a number of commands never before available on either cassette or disk interpreters!Easier Loading, Fewer Keyboard Errors. G2 Level III Basic eliminates aggravations you've had, including keyboard "bounce" andthose super-sensitive tape deck settings. Programs will load easier, and you'll have far less trouble with input errors.Basic Access to RS-232. Until now, if you wanted to access your RS-232 interface, you had to work in assembly language. G2Level III Basic does the work for you, letting you use your interface with Basic statements.

Have You Wished for More Power? This new interpreter gives you 10 machine language user calls for subroutines, long errormessages, a new TIME$ call for your real time accessory, plus measure or limit input timing that lets you put a time limit onresponses when you're playing games or giving exams. And the list doesn't stop here.

Easier and More Powerful Graphics. This new Basic includes three simple commands that can eliminate dozens of program steps.PUT transfers information from a designated array to your screen; GET reverses the process. LINE makes your computer do thework when you input beginning and end points. Give it two diagonally opposite corner locations, and it'll outline the rectangleyou're looking for.

Only Microsoft Could Do It. G2 Level III Basic was created by Microsoft, the same company that wrote Level II Basic for RadioShack. And it actually uses Level II as a foundation for this enhanced add-on. By the time you've mastered all it can do, callingup the flexibility of the graphics commands, and even enjoying the convenience of renumbering, you'll wonder how it was allpossible. It's like getting a whole new computer for your computer.

Available Now for Only $49.95. You get the power that might otherwise cost you hundreds of dollars in additional equipment foronly $49.95. Price includes the User Manual, a Quick-Reference Card, and a preprogrammed cassette tape. Load the tape, open themanual, and get ready to work with the most powerful Basic Interpreter you've ever had your hands on. G2 Level III Basic forthe TRS-80. Another member of the growing G2 Personal Computer Program Library.

For the name of the G2 dealer nearest you, call us toll-free at 800/538-8540 or TUC REASON

800/538-8541. In California, please call 800/672-8691. YOU BOUGHT

YOUR COMPUTER.

PHT ol GRT Corporator

Hf I Consumer Compiler Group

■ x ' 1286 North Lawrence Station Road Sunnyvale. California 94086.408/ 734 -2910

Circle 151 on inquiry card.

BYTE April 1979 131

Queuing Theory,

the Science of Wait Control

Part 1: Queue Representation

Len Gorney

POB 96 RD 1

Clarks Summit PA 18411

How many times have you waited in aline? Do you always get to a supermarketcheckout counter without having to wait?Is the pump at the gas station always openand ready for you as you drive into theservice area? It's difficult to imagine anyonegoing anywhere and not having to wait ina line.

Since we're computer oriented, let'sdefine a waiting line by its proper name —that is, a queue.

A queue is a waiting line controlled bysome service mechanism. A customer entersa queue at the tail of the queue, waits in lineuntil he or she arrives at the head of thequeue, is serviced at the head of the queue,and, finally, leaves the queue. At the super-market a customer pushes a cart to one ofthe lines formed at the checkout area andwaits in a line until finally arriving at thecash register at the head of that line. Afterchecking out the purchases, that customerleaves the queue.

Queue Examples

Other examples of queues can be foundin many areas of our everyday lives. Thesupermarket checkout queue is a commercialtype of queuing system. Other commercialqueues include the bank teller queue, thebarbershop queue, the gas station queue,etc. The field of transportation is not with-out its share of queues: traffic lights, turn-pike toll booths, airport runways, loadingand unloading docks are but a few examples.

Of course, we have personal queues. Howabout that shelf of books you're planningto read some day?

Let's Have Order

A queue is defined as a waiting line, andsince a waiting line has both a beginning(tail) and an end (head), a queue must alsohave both these properties.

The head and tail idea implies that cus-tomers entering (being inserted) or leaving(being deleted) must follow a definite order-ing scheme as members of the queue. Thisordering scheme is defined as the dispatchingdiscipline of the queue.

The usual dispatching discipline of aqueue is known as first in first out or FIFO.An orderly queue exhibits this scheme. Thefirst person entering the queue is the firstperson to receive service, and the last personentering the queue is the last person toreceive service. Any person entering afterthe first but before the last must spend sometime waiting in the queue before service maybe rendered.

The first in first out discipline is but oneof many ordering schemes that queuesfollow. Other servicing disciplines includelast in first out (eg: a stack of dishes), apriority queue, and shortest line first orlongest line first (these are multiple queuingsystems and will be discussed later).

Queue Representation

How can we represent a queue as part ofa computer program? The following piece ofBASIC coding (a one-dimensional array)could be used to represent a queue in a com-puter program:

10 DIM Q(100).

A queue is nothing more than a specialpurpose one-dimensional array. Just as theordinary one-dimensional array is repre-sented as a single row or a single columnstructure n locations long or deep, the queuecan be represented as a single row structuren locations long.

Over and Under

When an array is dimensioned to 100locations, the program cannot access the

132

April 1979 © BYTE Publications Inc

Wondering which memoryis best for you?

bQ/e 2* offers the following productsto the S'100 market at the industry'slowest prices:

8K Static Memory Board

This 8K board is available in two versions. The 8KS-B operates at 450ns for use with8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The8KS-Z operates at 250ns and is suit able for use with Z-80systems operating at 4MHz.Both kits feature factory fresh 2102's (low power on 8KS-B) and includes sockets foralllC's. Support logic is low power Schottky to minimize power consumption. Addressand data lines are fully buffered and 4K bank addressing is DIP switch selectable.Memory Protect/Unprotect, selectable wait states and battery backup are alsodesigned into the board. Circuit boards are solder masked and silk-screened for easeof construction. These kits are the best memory value on the market! Available fromstock . . . 8KS-B $125 (assembled and tested add $25.00)

8KS-Z $145 (assembled and tested add $25.00)

16K Static Memory Board

Base 2can now offerthe same price/performance in a 16K static RAM as in its popular8K RAM. This kit includes 8K bank addressing with 4K boundary address setting onDIP switches. This low power unit provides on-board bank selection for unlimitedexpansion... No MUX board required. Using highest quality boards and componentswe expect this kit to be one of the most popular units on the market. Available in twospeed ranges, the 16KS-B operates at 450ns while the 16KS-Z operates at 250ns.16KS-B $285 (assembled and tested add $25.00)16KS-Z $325 (assembled and tested add $25.00)

Z-80 CPU Board

Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz andthe CPZ-2 operates at 4MHz. These cards offer the maximum in versatility atunbelievably low cost. A socket is included on the board for a 2708 EPROM which isaddressable to any 4K boundary above 32K. The power-on jump feature can beselected to address any 4K boundary above 32K or the on-board 2708. An On-boardrun-stop flip-flop andoptional generation of Memory Write allowsthe board to run withor without a front panel. The board can be selected to run in either the 8080 mode, totake advantage of existing software, or in the Z-80 mode for maximum efficiency. Foruse in existing systems, await state may be added to the M1 cycle, Memory requestcycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states allsignals from the processor board. All this and more on toD quality PC boards, fullysocketed with fresh IC's. CPZ-1 $110 CPZ-2 $125

S-100 for Digital Group Systems

This kit offers, at long last, the ability to take advantage of S-100 products within yourexisting DigitalGroup mainframe. Once installed, upto four S-100 boards can be usedin addition to the existing boards in the D.G. system. The system includes an"intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100board and a power wiring harness. The DGS-100 is designed to fit in the 5-3/4" x 12"empty area in the standard D.G. cabinet. It may seem expensive but there's a lot here!End your frustration! DGS-100 $295

ba/e

2

inc.

Send for more details on these products. Get on our mailing listforinformation on more soon to be announcedproducts at factory-directprices from BASE 2. Why pay more when you can get the best atthese prices???

P.O. Box 3548 • Fullerton, Calif. 92634

(714) 992-4344

CA residents add 6% tax

MC/BAC accepted • FOB — U.S. destination

Circle 22 on inquiry card.

BYTEAprill979 133

Listing 1: Simple BASIC simulation of a row queue. Pseudorandom numbergeneration is done to ensure that the queue simulation works correctly asdescribed in the text. A sample run of the program is also shown.

1000

1001

1002

1003

1010

1020

1030

1031

1032

1033

1040

1041

1042

1043

1050

1051

1052

1053

1054

1055

1060

1070

1080

1090

1091

1092

1093

1094

1100

1110

1120

1130

1140

1141

1142

1143

1150

1160

1161

1162

1163

1164

1165

REMREMREM

REMREMREM

REMREMREM

REMREMREMREM

REM

REMREMREMREM

REMREMREM

REMREMREMREMREM

DIM 9(5)

INITIALIZE QUEUE TO EMPTY STATE

FOR J2 = 1 TO 5Q(J2) = -9NEXT J2

INITIALIZE TAIL TO HEAD OF QUEUE

T = 5

START OF MAIN SIMULATION LOOP

FOR J2 : 1 TO 15

GENERATE A RANDOM NUMBER TO DETERMINEAN INSERTION WHEN N <= 5A DELETION WHEN N >= 6

N = INT ( RND (1) * 10 ) + 1PRINT "NUMBER:"; NjIF N <= 5 GOSUB 1170IF N >= 6 GOSUB 1240

PRINT QUEUE CONTENTSPRINT TAIL POINTER VALUE

PRINT " QUEUEr-jFOR J3 = 1 TO 5PRINT QCJ3);NEXT J3PRINT " TAIL="J T

END OF MAIN SIMULATION LOOP

NEXT J2STOP

INSERTION ROUTINE

WHEN T = 0 QUEUE IS FULL, I.E. OVERFLOWELSE, INSERT N AT TAIL AND DECREMENT TAIL

104th or-36th location. These integer valuesare not within the boundaries of the dimen-sioning statement. If the program attemptsto address out of range locations duringexecution of the program, an overflow orunderflow condition occurs. Overflowoccurs when a location greater than thatgiven in the dimensioning statement isaddressed. Likewise, underflow occurs whena negative subscript is given as an addressingvalue.

Some BASIC interpreters allow foraddressing location 0 of an array. If an arrayis dimensioned to 100 locations, the actualnumber of legally addressable locations is101 (counting location 0 as the first avail-able location).

The program listings in this article do nottake advantage of this extra available arraylocation. The first available location isalways array location 1, and the last avail-able location is equal to the integer valuegiven in the dimensioning statement.

Let's get back to overflow and underflowas these conditions apply to queues. If weassume that our queuing program will notaddress a location above or below thosegiven in the dimensioning statement, over-flow and underflow take on a somewhatdifferent meaning.

A queue overflow occurs when the pro-gram attempts to insert an item into ourqueue and the queue is filled to its capacity.Underflow in a queue structure occurs whenthe program attempts to delete an item fromthe queue but there are no items in thequeue.

Queue Operations

Items in an ordinary one-dimensionalarray can have many operations performed

SEND:

$95 MORSE TRANSCEIVER

• 1 to 150 WPM (set from

terminal)

32 character FIFO bufferwith editing

Auto Space on word boundries

Grid/Cathode key output

• LED Readout for WPM andBuffer space remaining

SERIAL INTERFACE:

• ASCII (110, 300, 600,1200)

or Baudot (45, 50, 57, 741 compatible

• Simplex Hi V Loop or T2Lelectrical interface

• Interlaces directly with the XITEX®SCT-100 Video Terminal Board;Teletypes® Models 15, 28, 33, etc.;or the equivalent

- MRS-100 CONFIGURATIONS: -

• $95 Partial Kit (includes Microcomputer componentsand circuit boards; less box and analog components)

• $225 Complete Kit (includes box, power supply,and all other components)

• $295 Assembled and tested unit (as shown)

— Overseas Orders and dealer inquires welcome ^^

COPY:

" 1 to 150 WPM withAuto-Sync.

• Continuously computesand displays Copy WPM

80 HZ Bandpass filter

• Re-keyed Sidetone Osc.

with onboard speaker

• Fully compensating tocopy any 'fist style

See your local dealer orcontact XITEX® direct.

MC/Visa accepted

»XIT€X CORP

I362H Neutron • P. O. Box 4021 !0Dallas. Texas 75240* 12141 386-3859

134 April 1979 © BYTE Publications Inc

Circle 400 on inquiry card.

on them. A program can insert items any-where within the array, and items can beremoved from any legal location within thearray. Items can be examined and. left inplace or moved to any location within anarray.

A queue can have only two operationsperformed upon its items. The first of theseallowable operations is the insertion of anitem into the queue. This insertion can bedone only at the tail of the queue. Thesecond operation allows for deletion. Dele-tion is done only at the head of the queue.

The Simple Row Queue

The program shown in listing 1 is a simula-tion of a row queue (see figure 1). Themechanics of a row queue follow the defini-tions we have seen so far.

The row queue has its tail at location 1 ofarray Q, while its head is at location 5 ofarray Q. The choice of these locations fortail and head is arbitrary. I chose this scheme

TAILPOINTER-,

Listing I, continued:

HEAD

I

END OFQUEUE

4.5

5.0

1.2

3.8

5.1

7.2

Figure 1: Simple row queue. This type ofqueue has a stationary "heqd" and a moving"tail." As data items are deleted from thehead, all of the data items in the queueare moved toward the head, and the tailpointer is decremented by I. As more datais entered into the queue at the tail, thelocation of the tail pointer is incrementedby one location.

11661170116011901200121012201230123112321233123412351236123712401250126012701280129013001310132013301340135013601370

REM

REMREMREMREMREMREMREM

IFI: 0 GOTO 1220

PRINT " INSERTION";

Q(T) r N

T = T - 1

RETURN

PRINT " OVERFLOW ";

RETURN

DELETION ROUTINE

WHEN T r 5 QUEUE IS EMPTY, I.E. UNDERFLOW

ELSE, DELETE N AT HEAD OF QUEUE

AND MOVE REMAINING ITEMS TOWARD HEAD

IF T r 5 GOTO 1350

PRINT " DELETION ";

T = T + 1

FOR J4 = 5 TO T STEP -1

IF J4 = 1 GOTO 1330

J5 = J4 - 1

QCJ4) r Q(J5>

NEXT J4

RETURN

QC1) = -9

RETURN

PRINT " UNDERFLOW";

RETURN

END

RUN

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

NUMBER:

UNDERFLOWINSERTIONDELETIONINSERTIONINSERTIONINSERTIONINSERTIONINSERTIONOVERFLOW8 DELETION

7 DELETION

8 DELETION

3 INSERTION

4 INSERTION

9 DELETION

QUEUEr-9QUEUEr-9QUEUEr-9QUEUEr-9QUEUEr-9QUEUEr-9QUEUEr-9QUEUE: 5QUEUE: 5QUEUEr-9QUEUEr-9QUEUEr-9QUEUEr-9QUEUEr-9QUEUEr-9

•9 -9 -9■9 -9 -9■9 -9 -9■9 -9 -9'9 -9 1■9 3

3

3

3

2

5

22

2

5

-9

•9 -9

■9 3

4 3

■9 4

44444

2225

-9 TAILr

3 TAILr-9 TAILr

4 TAILrTAILrTAIL:TAIL: 1TAIL: 0TAIL: 0

I TAILr 13 TAIL: 2TAIL: 3TAIL: 2TAIL: 1TAILr 2

Circle 401 on inquiry card.

April 1979 © BYTE Publications Inc 135

HEAD POINTER

TAIL POINTER

HEAD POINTER

(a)

TAIL POINTER

HEAD POINTER

(O

Figure 2: Circular queue in three states of use. Figure 2a is an empty queue, in which the head pointer and the tail pointerpoint to the same location in the queue. Figure 2b shows a partially filled circular queue. The tail pointer moves ahead of thehead pointer as data items are added to the queue. As an item is deleted, the head pointer moves towards the tail pointer.Figure 2c shows a full queue. In this state the tail pointer has caught up with the head pointer. Note that one location in thequeue will be left empty. If this were not done, the next item added to the queue would make the head and tail pointers pointto the same location, which would seem to indicate that the queue was empty.

because it is easier to output the queue dur-ing execution of the program in a normalleft-to-right reading fashion.

The head (service facility area) of thequeue of listing 1 is always at location Q(5).The tail of the queue (the location in thequeue where items will be inserted) movesfrom location 5 toward location 0 of array Qas items are inserted into the queue. Whenitems are deleted, the tail of the queuemoves from its present value toward loca-tion 5.

The tail of the row queue is indicated bya tail pointer (variable T). When T is 5 thequeue is empty: that is, there are no items inthe queue. When T is 0 the queue is filledto its capacity and no insertions can be madewithout causing an overflow condition.

To simulate the action of a queue proper-ly, listing 1 generates pseudorandom numbersto determine queue insertion or deletion.The importance of randomness in properqueue operation is explained later.

Before you execute the program in list-ing 1, run through its operations with penciland paper. This approach will show you howthe program will run before the actualoperation is simulated by the computer.This method will also clarify the mechanicsof a simple row queue operation.

The Circular Queue

A major disadvantage of our simple row

queue is the fact that items must be movedtoward the head of the queue after eachdeletion. /Editor's Note: This is not true forall implementations of a row queue. Often,the pointers indicating the head and tail ofthe row queue are moved instead of all thedata inside the queue. . . .RGAC/ The loopin line numbers 1370 through 1400 of list-ing 1 accomplishes this move. If we're tryingto represent a queue simulation in a com-puter program, why not use some program-ming techniques to take advantage ofdecreasing execution time and thereby elimi-nate some of the unwieldy code?

The circular queue, figure 2, is also repre-sented as a special purpose one-dimensionalarray. The simple row queue has a pointerto keep track of the location where the nextitem insertion was to take place. The circularqueue also has this tail pointer.

The difference between the row andcircular queue lies in the addition of anotherpointer to indicate the location of the headof the queue. The simple row queue alwayshas its head at the last available location ofthe array Q. The circular queue structurecan have its head anywhere within the queue.

Circular Queue Representation

The circular queue operates in the samemanner as the simple row queue. Items arestill inserted into the location given as thetail point location of array Q.

136 April 1979© BYTE Publications Inc

^i%3 \UMM^t to ^M£& &?0$mm

»'

NEW!

MODEL CC-9

$200.00 (4800 Baud)

$220.00 (9600 Baud and 220V/50 Hz)

9600 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error rate108 at 4800 BAUD. Can be used from 110 to 9600 BAUD into a UART - no clockingrequired. This is not an audio recorder. It takes RS232 or TTL signals from the terminal orcomputer and gives back the same signals. No audio interface is used. Motor start/stop ismanual or through TTL or RS232 signals.

Tape speeds are 1.6" / 3.0" and 6.0" per second. 110 volt, 60 Hz, 5 watts. (220 Volts onspecial order). Can use high quality audio cassettes (Philips Type) or certified data cassettes.

Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PROGRAMRELOADING and DATA STORAGE. Manual control except for motor start/stop. 6800,8080 or Z80 software for file or record searching available on request with order. Used bymajor computer manufacturers, Bell Telephone and U.S. Government for program reloadingand field servicing.

AVAILABILITY - Off the shelf.

PROVIDES MONITOR AND TAPE SOFTWARE in ROM. TERMINAL and TAPE PORTSon SAME BOARD. CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3B).

This is a complete 8080, 8085, or Z80 system controller. It provides the terminal I/O(RS232, 20 mA or TTL) and the data cartridge I/O, plus the motor controlling parallel I/Olatches. Two kilobytes of on board ROM provide turn on and go control of your Altair orIMSAI. NO MORE BOOTSTRAPPING. Loads and Dumps memory in hex on the terminal,formats tape cartridge files, has word processing and paper tape routines. Best of all, it hasthe search routines to locate files and records by means of six, five, and four letter strings.Just type in the file name and the recorder and software do the rest. Can be used in theBiSync (IBM), BiPhase (Phase encoded) or NRZ modes with suitable recorders, interfacesand software.

This is Revision 8 of this controller. This version features 2708 type EPROM's so thatyou can write your own software or relocate it as desired. One 2708 preprogrammed issupplied with the board. A socket is available for the second ROM allowing up to a full 2Kof monitor programs.

Fits all S100 bus computers using 8080 or Z80 MPU's. Requires 2 MHz clock from bus.Cannot be used with audio cassettes without an interface. Cassette or cartridge inputs areTTL or RS232 level.

AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER$190.00, Tested & Assmb.

t*

&

—► DOUBLE DENSITY FLOPPY DISK CONTROLLER

A new floppy controller for 5" and 8" drives utilizing the new 1791 chip to provide single or double density recording.Flip the switch to use one or the other mode. Can load memory from single density and re-record it double density on thesame drive so you can transfer or re-record your programs and files. Comes with new format program for double densityon disk to replace your old single density format program. (Soft Sector IBM format). $320.00 assembled and tested.

CP/M® is now available, rewritten as necessary to utilize it with the double density disk controller card above. $100.00with manuals, $70.00 without manuals. CBASIC and other software can be supplied by our dealers, in double density form.

SWTP Disk drive owners, you can now use your drive with CP/M®and our Z80 board below. All CP/M® compatible pro-grams will run in your altered SWTP.

Tape Software-We can now supply XITAN Z80 software in KC Standard or CC-9 formats.

Z 80 BOARD for SWTP COMPUTER

Now you can use the 8080/Z80 software programs in your SWTP 6800 machine. Re-places your MPU board with a Z80 and ROM so that you are up and running with yourpresent SWTP memory and MPS card. 1 K ROM on board replaces MIKBUG and enablesyou to use XITAN Z80 software which we can supply.

AVAILABILITY - Off the shelf.

_$190.00, Tested & Assmb.

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 BankAmencard accepted.

Naticnal Multiplex Corporation

„_„o 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 <^___

Circle 278 on inquiry card.

BYTE April 1979 137

Listing 2: BASIC listing for a circular queue simulation. Lines 1900 through2J00 are the insertion routine; lines 2110 through 2270 are the deletionroutine. A sample run of the program is shown at the end of the listing.

100010011002100310101020103010311032103310341040105010511052105310601061106210631064106510701080109010911092109310941100111011201130113111321133114011501151115211531154115519001910192019301931193219331934194019501960197019711972197319801990199119921993200020102020

RENREMREM

REMREMREMREM

REMREMREM

REMREMREMREMREM

REMREMREMREM

REMREMREM

REMREMREMREMREM

REMREMREMREM

REMREMREM

REMREMREM

DIM Q(5)

INITIALIZE QUEUE TO EMPTY STATE

FOR J2 = 1 TO 5Q(J2> = -9NEXT J2

INITIALIZE HEAD AND TAIL POINTERSTO HEAD OF QUEUE LOCATION

H = 5T = 5

START OF MAIN SIMULATION LOOP

FOR J3 = 1 TO 10

GENERATE A RANDOM NUMBER TO DETERMINEAN INSERTION WHEN N <= 5A DELETION WHEN N >= 6

N r INT C RND (1) * 10 ) + 1IF N «= 5 GOSUB 1900IF N >= 6 GOSUB 2110

PRINT QUEUE CONTENTS

PRINT TAIL AND HEAD POINTER VALUES

FOR J4 = 1 TO 5

PRINT QCJ4);

NEXT J4

PRINT " TAIL AT"j Tj " HEAD AT"j H

END OF MAIN SIMULATION LOOP

NEXT J3STOP

INSERTION ROUTINE

CHECK TAIL AND HEAD POINTER VALUES

IF H : T GOTO 1970IF H < T GOTO 2030IF T >= 1 GOTO 2030IF H = 5 GOTO 2080

INSERT ITEM AT Q(H)SINCE QUEUE IS EMPTY

QC5) = N

T = 4

GOTO 2050

IF T <> 0 GOTO 2000

RESET POINTERS TO HEAD OF QUEUE

H s 5T = 5

CHECK IF QCT) EMPTY FOR POSSIBLE INSERT

IF QCT)H = 5T r 5

-9 G0T02080

Listing 2 continued on page 140.

The major difference is in the way whichthe program controls the head location ofthe queue. A new variable called H (for headpointer) points to the array location whichholds the item ready for deletion.

An item is inserted into the queue at thelocation pointed to by the tail pointer. Afterthis insertion, the pointer is moved by onelocation in readiness for another insertion.When an item is deleted, the head pointercomes into play. In the simple row queue,the head is always at the last available loca-tion. In the circular queue, the head of thequeue is defined by the value of the headpointer variable H. After an item is deleted,the head pointer is moved one locationtoward the value of the tail pointer. In thisstructure, data items remain stationary; onlythe pointers vary, indicating relative positionsof the tail and the head of the queue.

This queue structure is clearly advan-tageous when we're dealing with longqueues. If a row queue is filled to its capac-ity and an item is deleted, every remainingitem has to be moved one at a time towardthe stationary head of the row queue. Thecircular queue moves the head pointer byonly one location, thereby cutting programexecution time.

The tradeoff is time versus space. Thecircular queue program is longer than thesimple row queue; however, the time toexecute the circular queue routine is shortersince the majority of code execution in thesimple row queue is during the moving ofthe items after a delete operation.

In the circular queue, the tail pointerchases the head pointer during insertions.During deletions, the head pointer chasesthe tail pointer.

When the circular queue is filled tocapacity, the head and tail pointers are atadjacent locations. No more items may beinserted simply because there is no moreavailable space to fit an item into the queue.An overflow condition occurs if an insertionis attempted on a filled queue.

An underflow occurs when the queue isempty and a deletion is attempted. Anempty circular queue is one in which the tailand the head pointers are at the same loca-tion in the array Q.

The program given in listing 2 simulatesa circular queue. Again, a pencil and papermethod of initial execution may prove help-ful. After the mechanics of this structure areunderstood, then execute the program.

This completes our discussion of twodifferent types of queues and their repre-sentation in a computer. In part 2 we willconsider queues in the world around usand fit them into the structures alreadydeveloped.

138 April 1979 © BYTE Publications Inc

mm**0m0*mtm0*m

\

53m

" your BASIC software magazine"

TM

e.

BIZ-80

Software products oriented tofour levels of TRS-80 supported systems —ALL SYSTEMS UPWARD COMPATIBLE

SYSTEM-S $99.95A stand-alone 16K Level II with one cassette tape

SYSTEM-I $249.95

A 32K Level II with DOS, optional printer

(CRT oriented) and one disk

SYSTEM-I I $499.95A 32K Level II with DOS, line printer and two disks

SYSTEM -III Write for full particularsA 48K Level II with DOS, line printer and two-plus disks

• Inventory 'Mailing - names and addresses

•Accounts Receivable 'Order Processing 'Invoicing

•Accounts Payable 'General Ledger 'Fixed Assets

•Profit & Loss Statements 'Word Processing

• Labor Scheduling 'Sales Analysis/Statistics

•Patient Billing 'And MORE...

IF YOU HAVEN'T SUBSCRIBED TOSOFTSIDE, YOU MISSED:

"OCTOBER Cribbage, State Capital Quiz, DeathStar, Pillbox, Calculator

NOVEMBER End Zone, Troll's Gold, ShoppingList, Level I to Level II, Octal to Hex Conversion

DECEMBER Santa Paravia, Mortgage Calculation,Six Million Dollar (/10K) Clock, Spelling Bee,Biorhythms

JANUARY 'Round the Horn, Kiddy Slot, WritingGood Computer Games-Part I, Ten Pin Bowling,High Speed Graphics, Comput-A-Sketch

FEBRUARY Form 1040, Writing Good ComputerGames-Part II, Concentration, Elements Quiz,Cribbage Update 12 issues - $15.00

Softside SubscriptionsBox 68 Milford, NH 03055603-673-5144

HOW MUCH LONGERCAN THIS GO ON?

IK

e. Cassettes

BIZ-80

A PLAN — not a package

17 Briar Cliff Dr. Milford, N

603-673-5284

H

Each month brings you a new issue of SoftSide

PLUS the prerecorded cassette version of that

month's feature programs, ready to run. That's

all included in" your six morith memBersHip for :only $38.00 [Thirty programs for only about

:■'• • ' !

SEND IN YOUR ORDER TODAY -LEAVE G TO US!

SoftSide CassettesPO Box 68 Milford, NH 03055

603-673-5144

NEWPUBLICATION

Level 8 Sampler

Adventure D 32K $24.95Pork Barrel 16K $9.95

'Round the Horn 16K $9.95Star Trek III.3 16K $14.95X-Wing Fighter 16K $7.95Ten Pin 16K $7.95

Slalom 16K $7.95

Cribbage 16K* $7.95

Sargon 16K $19.95

Backgammon 16K $7.95Inventory II D 32K $150.00

End Zone 16K* $7.95

Inventory I D 32K $59.95

Accts. Rec. D 16K $59.95

Payroll I D 32K $59.95

Mail List I D 16K $19.95

Mail List II D 32K $99.95

Appt. Log 16K $9.95

Ham Radio 16K $9.95

Renumber D 4-48K $25.00Personal Finance 16K $9.95

Tarot 16K* $9.95

"Also available in Level ID=Disk

T-fJ TIM-80

iICC Software Exchange

I/ BRIAfl CLIFF DRIVE

AMPSHIBE 03055

SEND FOR OUR COMPLETE CATALOG TODAY!

hmtmtm* i

Circle 326 on inquiry card.

WM

Dedicated to the serious programmer, fromenthusiastic hobbyist to professional

PREMIER EDITION FEATURESInkey Routines by Lance Micklus

Simple SiMON-moni tor /disassembler

written in BASIC

Variables in Level ll-how to determinewhich variables have been used

Subscriptions: 4 issues, $10.00PO Box 68 Milford, NH 03055

BYTE April 1979

139

Circle 382 on inquiry card.

MORE

BANG

PER

BUCK

The PERKIN-ELMER BANTAM

All the Features of theHazeltine 1400 & LSI ADM-3APlus

Upper/Lower Case

7 x 10 Char. MatrixWhite or Black Char.Transparent Mode

Tab FunctionBackspace KeyShiftlock KeyPrint Key

Integrated NumericPad

Cp4- I .bl per montrLease-Purchase

$1095.00

TELETYPEMODEL 43KSR

with RS23210 or 30 CHAR/SEC

132 COLUMNSUPPER/LOWER CASE

^^ USR-310

m 9k Originate

V ™ Acoustic

^^$149.00 Coupler

0-300 Baud Stand Alone

Crystal Controlled RS232

^Mfet USR-330i M Originate

^^ Auto-Answer^ $324.00 Modem

FCC Certified for Direct Connectionto Phone LinesUSR-320 Auto-AnswerOnly Modem $299.00

All Units include a 120 day warranty.Optional Maintenance package available.

Any Product may be returnedwithin 10 days for a full refund.

U.S. ROBOTICS, INC.

1035 W. LAKE ST.

CHICAGO, ILL. 6D6D7

Sales (312)733-0497

General Offices (312) 733-0498Service (312)733-0499

Listing 2, continued:

20212022202320302040205020 SO207020802090210021012102210321042105211021202130214021502160217021712172217321742180219022002201220222032210222022302240225022602270

RUN

REMREM

REM

NORMAL TAIL INSERTION

OCT) = N

T = T - 1

PRINT " "

PRINT "ARRIVAL"

RETURN

PRINT " "

PRINT "OVERFLOW"

RETURN

REMREMREMREMREM

REMREMREMREM

REMREMREM

DELETION ROUTINE

CHECK POINTER VALUES FOR POSSIBLE DELETE

IF H = T GOTO 2150

IF H > 0 GOTO 2190

H = 5

GOTO 2180

IF H <> 0 GOTO 2180

H = 5

T = 5

DELETE FROM QCH) IF QCH) HAS AN ITEMELSE, QUEUE IS EMPTY, I.E. UNDERFLOW

IF QCH) = -9 GOTO 2240QCH) = -9H = H - 1

RESET POINTERS FOR NEXT DELETE

IF H <> 0 GOTO 2260

H = 5

RETURN

PRINT " "

PRINT "UNDERFLOW"

RETURN

END

ARRIVAL

-9 -9 -9 -9 3 TAIL AT 4 HEAD AT 5

ARRIVAL

-9 -9-9 2 3 TAIL AT 3 HEAD AT 5

ARRIVA

■9423 TAIL AT 2 HEAD AT 5-9-9 4 2 -9 TAIL AT 2 HEAD AT 4

ARRIVAL

-9 5 4 2-9 TAIL AT 1 HEAD AT 4

ARRIVAL3 5 4 2-9 TAIL AT 0 HEAD AT 4

ARRIVAL3 5 4 2 1 TAIL AT 4 HEAD AT 4

OVERFLOW

3 5 4-9 1 TAIL AT 4 HEAD AT 3

ARRIVAL3 5 4 3 1 TAIL AT 3 HEAD AT 3 .

140

April 1979 O BYTE Publications Inc

&

.i\ . •FaLLFUDCTIOD

^ the

S-100 I/O BOARD

$189 "unkit", $249 assembled

Our new I/O board gives you unparalleled flexibility and operating convenience ... the specs speak for themselves:

• 2 independently addressable serial ports dip switch selectable addresses

• Real LSI hardware UARTS for minimum CPU housekeeping

• RS232C, current loop (20 mA), and TTL and signals on both ports

• Precision, crystal-controlled baud rates up to 19.2 KBaud (individually dip switch selectable)

• Transmit and receive interrupts on both channels, jumperable to any vectored interrupt line

• Industry standard RS232 level converters with five RS232 handshaking lines per port

• Optically isolated current loop with provisions for both on-board, and off-board, current sources

• UART parameters, interrupt enables, and RS232 handshaking lines are software programmable,withpower-on hardware default to customer-specified hard-wired settings for maximum flexibility

• Port connectors mate directly to ribbon cable and DB25 connectors in standard pinouts

• RS232 lines will conform to either master or slave configurations

• Board gives full feature operation with both 2 and 4 MHz systems

• Low power consumption: +8V @ 450 mA max (350 mA typ); + 16V @ 150 mA max (70 mA typ);- 16V @ 70 mA max (55 mA typ)

• No software initialization required for board operation, although board parameters may be alteredby software

Amazingly enough, all these features won't cost you more than other types of I/O boards that do a whole lot less.Visit your local computer store and see one in person, or order direct from us.

^o°N Godbout's got S-100 Bank Select!

'We're happy to announce a new family of S-100 Econoram'" boards, each with two independently selectable banks — perfect for AlphaMicro Systems, Marinchip, and similarly structured machines. Low power, 4 MHz operation, and of course . . . completely static operation.

Name Storage Buss Addressable on Design Unkit Assm CSC

Econoram Xir-16 16K X8 S-100 8K boundaries static $369 $419 $519

Econoram XIP-24 24K X 8 S-100 8K boundaries static $479 $539 $649

Econoram XIII™ 32K X 8 S-100 16K boundaries static $629 $699 $849

m Please note

CompuKit™ from Godboul boar

ds are generally available

n 3 forms: unkit (sockets, bypass caps pre-sc

Idered 1

\

: I in place for easy assembly); assembled and tested; or qualified under the

Certified System Component (CSC) program

(200

I

I hour burn-in.

guaranteed A MHz

operation over

the full commercial temperature range, and immediate

replacement in event

^L of failure with

in 1 year of invoice date).

-J

'

. AND WE STILL LEAD THE MEMORY PACK IN PRICE, SELECTION,

AND BUSS SUPPORT

Name

Storage

Buss

Design

Speed

Configuration

Unkit

Assm

CSC

ECONORAM IIm

8KX8

S-100

static

2 MHz

dual 4K

$139

$159

N/A

ECONORAM IV™

16KX 8

S-100

static

4 MHz

single 16K

$295

$329

$429

ECONORAM VI ™

12KX8

H8

static

2 MHz

1-8K, 1-4K

$200

$270

N/A

ECONORAM VII™

24K X 8

S-100

static

4 MHz

2-4K, 2-8K

$445

$485

$605

ECONORAM IX™

32K X8

Dig Crp

static

4 MHz

2-4K, 1-8K, 1-16K

$649

N/A

N/A

ECONORAM X™

32KX8

S-100

static

4 MHz

2-8K, 1-16K

$599

$649

$789

ECONORAM XI™

32K X 8

SBC

static

4 MHz

2-8K, 1-16K

N/A

N/A

$1050

TRS-80 CONVERSION

KIT $109 (3/$320)

Our kit is warranted for 1 year, comes complete with dip shunts, and uses250 ns access time chips for operation at 4 MHz. Upgrades 4K TRS-80 to 16K,or populates Memory Expansion Module (our easy-to-follow instructions showyou how); also expands memory in APPLE and Exidy Sorcerer computers.

COMING SOON: Memory Management Systemthat allows Altair and Imsai owners do bankselect — the easy, efficient way, without heavyretrofitting. Expand your system to half-a-megabyte of memory by letting our memorymanagement do the work, so you don't haveto waste a bunch of I/O space .. .just whatyou've needed for those BIG memory systems.Also, look for our new high-speedmotherboard in the months ahead.

TERMS: Allow 5% shipping, excessrefunded. Cal res add tax.VISA®/Mastercharge® call our 24 hourorder desk at at (415) 562-0636. COD OKwith street address for UPS (UPS CODcharge applies). Prices good through covermonth of magazine.

CompuKit

BOX 2355, OAKLAND AIRPORT, CA 94614

from

pwrjg

HOT-OFF-THE-PRESSES-CATALOGUE: Our new catalogue is something you need if you're into electronics. Parts, kits, computers,electronic music, specials . . . it's really packed, and it's free. Just send us your name and address, we'll take care of the rest.

Circle 150 on inquiry card. byte April 1979 141

NEECO

PET 2001 — 32K

PROUDLY ANNOUNCES THE NEWESTPET MICROCOMPUTERS BY COMMODORE!

The PET™ is now a truly sophisticated

Business System with theannouncement of these Peripherals.

■■' i '■■: i'i:- • rm [r.nr.r lj i'f](j:;aiiun ,-vi,.r,

SCtvamn etc Tin., pet-Busirtess System as ,imBnagOfneni tod delivers information to all levt'ls■;. ;■ ■ ■ . ;■'■-. w.ly atlamaDleoniy -v.fr' Fju.iiii-.ii tmany imesm m ■■■■i-msi»e rnflP£r"Busuwss

■.V ;''''■'■■ i tip- lil Ihi'pnOf.l COM pllicifril buSint'SI, [

1 "' ■.'. leiKigeofapplrcationslramtoggfng

:■ ii.i 'it 'Mi' B) mmajorcofpwaHonsloOfBWsing

■::. Sl i II.. ■ >, !■,.< i.-iurcil ti" small businesses Here: :'•',: 'i'- i ' ■ i,r';iu«,csrnihecuiporatioiisanal rfi<r or sinaa HuSini>ss Slock control.&>ng timKasting marnjlaclurifig costing customermating ■■:,"■. Ttu >'ET - Floppy &sk anda compBlitHOSusmesa sysent a! a reasonable- Takp a closer look at these Peripherals

ii*••«i««ii

PRODUCT DESCRIPTION

PET 2001—8K*

PET 2001 — 16K

PET 2001 —32K"

PET 2021 PRINTER

PET 2022 PRINTER

PET 2023

PET 2040

PETC2N

NEW PET USER MANUAL

8KRAM

16KRAM

32KRAM

ELECTROSTATIC

TRACTOR/ROLL

ROLL FEED

MINI-FLOPPY

2nd CASSEETTE

PRICE

$ 795$ 995$1195$ 550$ 995$ 850$1095$ 100$ 10

AVAILABILITY

IMMEDIATEMAY-JUNE

IMMEDIATEJULY-AUGUSTJULY-AUGUSTJULY-AUGUSTJULY-AUGUST

IMMEDIATE

IMMEDIATE

THESE UNITS INCLUDE THE C2N CASSETTE AND SMALL KEYBOARD. THE FULL SIZEKEYBOARDS MAY NOT BE AVAILABLE UNTIL THIS SUMMER.

NEECO IS NOW ACCEPTING $25 DEPOSITS ON THE SYSTEM COMPO-NENTS OF YOUR CHOICE! PURCHASE ORDERS ARE ACCEPTED INLIEU OF DEPOSITS. NEECO IS A FULL COSTOMER SERVICE ORIENTEDCOMPANY. PLEASE CALL FOR ADDITIONAL INFORMATION

THE NEW ^ commodore PET PERIPHERALS!

L_ 1

2040

2022

Dual Drive Floppy Disk Tractor Feed Printer

The Dual Drive Floppy is the latest in Disk technologywith extremely targe storage capability and excellent filemanagement. As the Commodore disk is an "Intelligent"peripheral, it uses none of the RAM (user) memory of thePET™ The Floppy Disk operating system used with thePET" computer enables a program to read or write datain the background while simultaneously transferring dataover the IEEE to the PET'". The Floppy Disk is a reliablelow cost unit, and is convenient for high speed datatransfer. Due tc the latest technological advancesincorporated in this disk, a total of 360K bytes are avail-able in the two standard 5; V disks, without the problemsof double tracking or double density. This is achieved bythe use of two microprocessors and fifteen memory I.C.sbuilt into the disk unit. Only two connections are neces-sary — an A/C cord and PET™ interface cord.

The Tractor Feed Printer is a high specification printerthat can print onto paper (multiple copies) all the PET™characters — letters (upper and lower case), numbersand graphics available in the PET™. The tractor feedcapability has the advantage o( accepting mailing labels,using standard preprinted forms (customized), chequeprinting for salaries, payables, etc. Again, the only con-nections required are an A/C cord and PET™ connectingcord. The PET™ is programmable, allowing the printer toformat print for: width, decimal position, leading andtrailing zero's, left margin justified, lines per page. etc.It accepts 8'.." paper giving up to four copies. Bidirec-tional printing enables increased speed of printing.

NEW ENGLAND AREA SUB-DEALERSHIP INQUIRIES INVITED!

95

2021 $549

ELECTROSTATIC PRINTER

$9995

C2N SECOND CASSETTE

NEECO IS PLEASED TO ANNOUNCE THAT WE ARE MOVING INTO A NEW 9,000 SQUARE FOOT FACILITY IN THE BOSTON(NEEDHAM, MASS.) AREA. OUR NEW LOCATION WILL ENABLE US TO PROVIDE BETTER CUSTOMER SERVICE VIA OUR NEW2,800 SQUARE FOOT SHOWROOM, OUR 1200 SQUARE FOOT SERVICE FACILITY, AND OUR SEVEN DIRECT TELEPHONE LINES(SO YOU WILL NEVER HEAR A BUSY SIGNAL!). WE NOW ARE AUTHORIZED TO SERVICE IN-WARRANTY PETS. SO IF YOU HAVEA PROBLEM OR A QUESTION CALL NEECO, WHERE OUR COMMODORE PET CUSTOMERS COUNT! FULL BUSINESS SOFTWAREPROGRAMMING AVAILABLE. * FEEL FREE TO CALL AND ASK QUESTIONS — ARE YOU ON OUR MAILING LIST?

NEECO

NEW ENGLAND ELECTRONICS CO., INC.

679 HIGHLAND AVE., NEEDHAM, MASS. 02194MON.-FRI. 9:30-5:30, SAT. 10-2, EST.

(617)449-1760(413)739-9626

AS OFAPRIL1.

UNTILAPRIL 1.

VISA/MASTERCHARGE ACCEPTED

142 BYTE April 1979

Circle 281 on inquiry card.

INTRODUCING — THE NEW

DUAL DRIVE MINIFLOPPY FOR PET!

/o

NOW WITHOPTIONAL 400K(DUAL DENSITY)

CUSTOMER ORDERSARE NOW BEINGSHIPPED WITHINTEN DAYS!!!

DKH641 IS A PRODUCT OF COMPUTHINK.

■ DUAL MINI FLOPPY DRIVE WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINE.

• COMMERCIAL LOADING SPEEDS * 8K LOADS IN 2.6 SECONDS COMPLETE.

• DOS REORGANIZES SPACE AFTER SAVE OR ERASE FOR EFFICIENT STORAGE.

• DISKMON ADDS OVER 20 COMMANDS TO BASIC INCLUDING DISK DATA FILES.

• DISKMON COMMANDS SUPPORT COMMERCIAL PRINTER OFF PARALLEL PORTSUCH AS CENTRONICS LINEOF PRINTERS (AVAILABLE FROM NEECO)

• FULL DISK SOFTWARE SUPPORT " FORTRAN & PLM COMPILERS '

• 90 DAY MANUFACTURER'S WARRANTY ON HARDWARE ' READY TO USE ONDELIVERY. FULL MANUAL AND UTILITY DISKETTE INCLUDED.

• CALL OR WRITE FOR COMPLETE INFORMATION ON THE "DISKDRIVER".

■ THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K)

DKH642 — DUAL DRIVE SYSTEM, COMPLETE WITH DISKMON $1295.00

ASM789D — PET ASSEMBLER ON DISKETTE WITH MANUAL $49.95

•LNK456 — AUTOLINKLINKINGLOADERONDISKETTEWITH MANUAL $49.95

• PLM400 — COMPILER ON DISKETTE (AVAILABLE APRIL/MAY) $49.95

FOR300 -FORTRAN COMPILER ON DISKETTE (AVAILABLE APRIL/MAY)... $69.95

DKL067 — DISKMON ASSEMBLER LISTING/DOS $19.95

DATA100 — COMPLETE DATA BASE SYSTEM (PRICE APPROXIMATE) $400.00

BASCOMP — BASIC COMPILER ON DISKETTE ( AVAILABLE MAY)

NGP200 — 20 GAMES ON DISKETTES $49.95

BKGAM — BACKGAMMON ON DISKETTE $24.95

MICRO — MICROCHESS ON DISKETTE $24.95

CEN779(1) — CENTRONICS 779-1, ROLL FEED DOT MATRIX

COMMERCIAL PRINTER $1245.00

CEN779(2) — SAME AS 779(1) BUT WITH TRACTOR FEED — PLUG INTO PET ... . $1345.00AX10M — ELECTROSTATIC5.5INCHPRINTERWITHALLOFPET'SGRAPHICS $495.00

PET COMPUTER

WHY NOT BUY FROM THE BEST?

NEECONOW OFFERSA FULL SIXMONTHWARRANTYON ALLPETS! — ANADDITIONAL3 MONTHS!

8K PET $ 795 *

24KPET(8+16K) $1220*32KPET(8 + 24Ki $1320*

ALL PRICES INCLUDE 48 HR. PRE- *SHIPMENT TESTING &3 FREE CASSETTE PROGRAMS *

PRICES SHOWN ABOVE IN- *. CLUDE EXPANDAPET. PME *

Dy MEMORIES WILL HAVE HIGHER *

COMMODORE PRICING.

NEECO IS A CUSTOMER ORIENTED, FULL SERVICE COMPANY.PETS RECEIVE 48 HR. 'BURNIN' BY NEECO BEFORE SHIPMENT.FULL CUSTOMER SERVICE AND FULL PRODUCT SUPPORT.48 HR MAXIMUM 'TURNAROUND' ON PET WARRANTYSERVICE ON PETS PURCHASED FROM NEECO.FULL PRE-PURCHASE INFO AVAILABLE FROM OUR PET INFOPACKAGE — WE ANSWER CUSTOMER QUESTIONS!AUTOMATIC SOFTWARE/HARDWARE UPDATES VIA OUR PETOWNERS MAILING LIST — CALL/WRITE TO BE LISTED!COMMERCIAL QUANTITIES AVAILABLE.WE ALSO MARKET REPLACEMENT RAMS & ROMS, ETC.OFF THE SHELF DELIVERIES (NO DEPOSIT REQUIRED).SCHOOL INQUIRIES INVITED!

INTERNAL MEMORY IFULLSIZED TYPEWRITEREXPANSION FOR PETll KEYBOARD FOR PET!

EXPANDAPET1

DEALER INQUIRIESINVITED

INTERNAL MEMORYEXPANSION UNIT

•MOUNTS EASILY INSIDE YOUR PET•EASY TO INSTALL (15 MINUTES)'NO DEGRADATION OF PET SYSTEM•USES LOW POWER DYNAMIC RAMS•90 DAY PART&LABOR, 1 YR-RAMS.•30 DAY MONEY BACK GUARANTEE.•MOUNTING SLOTS FOR 4 BOARDS.•CALL/WRITE FOR ADDITIONAL INFO•DEALER INQUIRES INVITED.

EXPANDAPET PRICES

16K(+8KPET = 24K) $42524K( + 8KPET = 32K) $52532K( + 8KPET = 40K) $615

OPTIONAL PLUG-IN BOARDS 32K UNIT ALLOWS'8K OF4K EPROM DAUGHTER BOARD ASSEMBLY LANGUAGEUSING 2716 EPROMS .... $50 SUBROUTINES ACCESSED

VIA THE USR COMMAND.

EXPANDAPET IS A PRODUCT OF COMPUTHINK.

•COMMERCIAL QUALITY KEYBOARD WITH METAL ENCLOSURE.•BASIC TYPEWRITER DESIGN FOR TOUCHTYPISTS.•SINGLE KEY FUNCTIONS FOR ALL CURSOR CONTROLS.SHIFT/RUN, INSERT, CLEAR SCREEN/HOME CURSOR, MORE.•FUNCTIONS SIMULTANEOUSLY WITH PET'S KEYBOARD.•PLUGS DIRECTLY INTO PET'S LOGIC BOARD.•DOES NOT USE USER OR IEEE-488 PORTS.•NPK-101 IS FULLY TESTED & READY TO USE.•ATTACHES DIRECTLY TO FRONT OF PET'S FRAME.•CAN BE USED AS A REMOTE TERMINAL (SPECIAL ORDER).•30 DAYS TRIAL PERIOD ■ 90 DAY WARRANTY.■CALL OR WRITE FOR FULL SPECS-INITIAL QTY LIMITED.

NOWAVAILABLE!

$139.95

NPK-101 IS A PRODUCT OF NEW ENGLAND ELECTRONICS.

WECANNOTLISTALLOF OUR SOFTWARE AND HARDWARE PRODUCTSCALLOR WRITE FOR OUR*FREE*SOFTWARE/HARDWARE DIRECTORY

I DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON * MEMORY * KEYBOARD * FLOPPY

NEECO

NEW ENGLAND ELECTRONICS CO., INC.

'679 HIGHLAND AVE., NEEDHAM, MASS. 02194MON.-FRI. 9:30-5:30, SAT. 10-2, EST.

(617)449-1760(413)739-9626

AS OF ■APRIL1.

UNTILAPRIL1.

VISA/MASTERCHARGE ACCEPTED

Circle 282 on inquiry card.

BYTE April 1979 143

Cryptography

John P Costas, Phd

Senior Consulting Engineer

GE Company

Court St Bldg 4, Rm 38A

Syracuse NY 13221

Part 2: Using the Pocket

J field index:Pj (plaintext)

1 2 3 4 5 6M A Y U P B

l\lc

encipher

M field index:Cm (ciphertext):

I'l

f decip

pher2 3 4 5 6E B A E Y E

Nc

Table 8: A transposition mode operation using program Crypto. In thisexample the number displayed by the calculator (J.M) is 6.002. When enci-phering, this means that the character in position 6 of the plaintext is placedin position 2 of the ciphertext. If this were deciphering, the character in posi-tion 2 of the ciphertext would be placed in position 6 of the plaintext.

Alphabetical

Order

1)

(2)

A

07

B

02

C

26

D

23

E

08

F

01

G

09

H

13

I

11

J

15

K

20

L

04

M

22

N

14

0

16

P

19

Q

12

R

25

S

17

T

03

U

21

V

24

w

18

X

06

Y

10

z

05

Numerical

Order

(3)

(4)

01

F

02

B

03

T

04

L

05

Z

06

X

07

A

08

E

09

G

10

Y

11

I

12

Q

13

H

14

N

15

J

16

O

17

s

18

w

19

p

20

K

21

U

22

M

23

D

24

V

2526

R

C

Table 9: Mixed alphabet used in the examples. Column 2 was derived fromprogram Crypto using values of A: 0.5, 1.625, 3. 725, 26 and R/S.0.

As mentioned in part 1 of this article(March 1979 BYTE, page 56), afield cipheris a technique for encoding plaintext so thatit can be easily decoded with pencil andpaper (or calculator) in the field, so to speak.The calculator program of listing 1 whenused with the procedures described offersthe user an effective field cipher capability.Unlike most field cipher machines, whichperform substitution only, the programCrypto (listing 1) offers both transpositionand substitution. The transposition opera-tion is mandatory and provides the mainstrength of the cipher. Substitution may beadded for further protection if desired. Thebasic principles of operation are first de-scribed, including detailed instructions forusage. Following this, a discussion of pro-gram organization is given.

Since Crypto performs both transpositionand (optionally) substitution, a transpositiontable and substitution key are involved inthe processing of each character. It is con-venient to define a few terms:

Na — alphabet size (no practicallimit);

Nc — number of characters in mes-sage (300 maximum);

J — plaintext character position(1,2, ...,Nc);

M — ciphertext character position(1,2, ..., Nc);

P — plaintext character(A, B,C, ...);

P — plaintext character value;

C — ciphertext character

(A,B,C, ...);

C — ciphertext character value;K — key value used in substitutionprocess.

The program uses a random number gen-erator which must be initialized with a seed,R0, and two parameters, A1 and A2. Thesethree numbers plus the character count areentered into the stack, after which A isdepressed. One more number completes theentry, after which R/S is depressed. The

144 April 19790BYTE Publications Inc

in the Field

Calculator

demonstration numerical key is: ROAI = 1.625; and A2 = 3.125.

Transposition Only Mode

0.5;

The character manipulations for trans-position only are illustrated in table 8.The top two rows, an index row and aplaintext character row, are concernedwith plaintext. The bottom two rows areciphertext index and ciphertext. Each timeCrypto is cycled, a pair of integers is dis-played in the format:

J.M

and are interpreted in the enciphering opera-tion as "plaintext character from position Jgoes to ciphertext position M." Number J issimply indexed every cycle (1,2, . . ., Nc).Crypto produces the M values randomly inthe range 1 to Nc with no repetitions (trans-position table). For the cycle illustrated intable 8, the display shows 6.002, whichrequires that the B from J = 6 be moved toM = 2. By this means the plaintext charactersare reordered in a random fashion to formthe ciphertext.

The deciphering operation works in anobviously reverse fashion. The displayedJ.M is read as "ciphertext character at posi-tion M goes to plaintext position J." Thusin table 8 6.002 would return the B fromciphertext position 2 to the correct plaintextposition 6.

Mixed Alphabet Generation

If the optional substitution operation isto be added to the transposition operation,numerical equivalence for each character ofthe alphabet must be established. In the dis-cussion which followed the Vigenere Tableaumethod (March 1979 BYTE, page 57, table3), an ordered alphabet was used in whichthe numerical values ran, in order, from0 to one less than the alphabet size (Na—1).In the work which follows, two changes aremade. The numerical equivalents are moved

Location

01

07

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97103109115121127133139

Entries:

Keys

( fLBLA ) ( fCLREG)

( STQ2 ) ( hRl )

( fPSS ) ( STQ3 )( STQ1 ) ( hRl )

( STQ4 ) ( hRJ )

( STOP ) ( STOA )

( R/S ) ( hCFO ) ( fx<0? ) ( hSFO ) ( hABS ) ( STOC )( hCFI ) ( fx = 0? ) ( hSF1 ) ( fFIX ) ( 2 ) ( ENTt )( 2 ) ( 9 ) ( hy» ) ( STOE ) ( 1 ) ( ST06 )

( fLBLI ) ( 5 ) ( 0 ) ( STQ5 )

( fGSBE ) ( STQ9 ) ( 3 ) ( 0 )

( fLBL5 )( STQ8 )

( RCL4 )

c

J

( "NT ) ( STQ7 ) ( 1 ) C

D c

( hSTI ) ( RCL8 ) ( RCL9 ) (_

J ( CHS )

( X ) ( + ) ( 2 ) ( hx% ) ( hy* )( I ) ( 9FRAC ) ( • )

( RCL(i) )

( g*>y? )

( hxSy )( GTQ4 )

J ( RCL8 ) ( RCL7 )( ST07~)

m

( GTQ5 ) ( fLBL2 )

( 1 ) ( STO-5 )( RCL3 ") ( fGSBE )

( RCL5 ) ( fxi<0? )

( STQ9 ) ( 1 )

c

J ( hSTI ) ( RCL(i) ) ( STQ8 )

( fLBL3 ) ( RCL8 ) ( RCL7 ) ( gx>y? )

( RCLE )( GTQ6 )

( STQ7 )

( fLBL9 ) Q

J ( RCL7 ) ( gx = y? ) ( GTQ7 ) (

( STO-8 )

( STCH7 ) ( GTQ3 ) ( fLBL7 ) ( fDSZ ) ( RCL(i) ) ( STQ8 )

( RCLE ) ( STQ7 )

( GTQ8 ) ( 1 )

( GTQ3 ) ( fLBL6 )( STO-9 ) ( GTQ9 )

( RCL9 )( fLBL4 )

( fx = 0?)

(ZTD

( STQ^7 ) ( fLBL8 ) ( RCL7 ) ( STO+(i) ) ( 2 ) Q

( hRCI ) (_

( fLN )

J C

3 CZZZ) C

3 ( RCL7 )

C_2—) n^n c

) CT^T) c

J c

D CZZ)

3 CmO C

3 C

J

( RCL6 ) ( + ) ( STQ5 ) ( DSP3 ) ( R/S ) ( hF?1 )

Listing 7 continued on page 152.

A: A0, A1,A2, Nc

R/S: Na

Na=0 transposition only.

HafO transposition and substitution

+Na encipher

—Na decipher

Registers:

0

Rj

1

A1

2

A2

3

S

4

Nc

5

utility

6

J

7

utility

8

utility

9

R

S0-S9 M-field bit storage

A

R2j

B

not used

C

Na

D

not used

E

229

Listing 1: Crypto program written forthe HP 67. This program performsencryption and decryption functionsby transposition and substitution asdescribed in the text. The value of Ncmust be less than or equal to 300and the value of Na must not exceed999. Flag FO has two states: true fordecipher and false for encipher mode.Flag F1 is true when only trans-position mode is wanted and falsewhen the dual transposition and sub-stitution mode is used. Flag F2 is usedin the random number generationloop.

April 1979©BYTE Publications Inc 145

to the range of 1 to the alphabet size foruser convenience only. Secondly, a mixedalphabet is recommended, such as thatshown in table 9. This type of alphabet isno harder to use and offers an increase insecurity over the ordered alphabet.

Generation of such an alphabet is trivial.Columns 1 and 3 are prepared first. ProgramCrypto is then run in the transposition onlymode with a character count equal to the al-phabet size. The M values generated are cop-ied into column 2; the J index corresponds tocolumn 3. The data thus formed in columns1 and 2 permits column 4 to be filled in.Table 9 allows convenient alphabetic-to-numeric conversions (columns 1,2) andnumeric-to-alphabetic (columns 3,4).

Dual Mode Operation

Table 10 illustrates the situation in whichsubstitution is done in addition to trans-position. Note that a plaintext numericalvalue row has been added to the plaintextsection and a ciphertext numerical value rowhas been inserted into the ciphertext section.The Pj row is filled by use of columns 1 and

J field index:Pj (plaintext):Pj (plaintext value):

2

A

3

L

4 5E P

6R

Nc

17 07 04 08 19 25 11

encipher

,

I

'

Cm = Pj + Kj(MOD Na), encipherPj = Cm- Kj(MOD Na), decipher

i

'

ll'

leciphe

r

Nc

M field index: 12 3 4 5 6 7

Cm (ciphertext value): 09 24 22 20 17 23 05Cm (ciphertext): G V M K S D Z

Table 10: An example of the dual mode operation of program Crypto, whichperforms transposition and substitution. To encipher the example shown, thecalculator first displays a JM number. In this case it is 7.002. The user thenenters the plaintext value (Pj) or 11. The calculator then displays 7.002024 inthe form J.M Cm. This values means that the character which was in theseventh position of the plaintext is moved to the second position of thecipher text and given a value of 24. The value 24 is then given the alphabeticequivalent or V. When deciphering, the calculator again displays a value inthe form J.M. Again it will be 7.002. The user then enters the value of theciphertext (Cm), which is in position 2. This number happens to be 24, thevalue_pf the letter V. The calculator then displays a number in the form ofJ.M Pj, or 7.002011 for the example. This instructs the user to transfer thenumber that was in position 2 to position 7 and give it a value of 11. Thisvalue is converted into the equivalent alphabetic or I.

Either of these processes is repeated for the entire plaintext or codetextuntil the entire message is decoded or encoded.

2 of table 9. Each Crypto cycle now has twoparts. In the first part the machine halts withJ.M in the display, as before. The user thenenters the plaintext (Pj) value (11 for I inthis case) from the plaintext value row anddepresses R/S. The machine will perform theappropriate addition (modulo Na) and haltshowing:

J.M Cm.

For the table 10 example the display wouldshow:

7.002024.

The user then places 24 in position 2 of theciphertext value (Cm) row and depresses R/Sfor the next cycle. Columns 3 and 4 of table9 may be used later to convert the charactervalues to equivalent characters Cm.

In the deciphering operation one startswith the ciphertext and obtains the Cmvalues from table 9. During the J.M_halt inthe Crypto cycle the user enters Cm (24from position 2 in the 7.002 example) anddepresses R/S. The subtraction operation(modulo Na) is performed and the result isshown as:

J-M Pj;

which would be:

7.002011.

This directs that 11 be placed at position 7of the Pj row which is thus filled and laterconverted to character equivalents to com-plete the deciphering operation.

In actual usage a single index row mayserve for both J and M. However, one maywish to record M of the displayed J.M pairas a record of the transposition operations.

Detailed Instructions and Examples

Tables 11 and 12 give detailed instruc-tions for the use of Crypto in the transposi-tion only mode. Tables 13 and 14 giveinstructions for operation in the dual (trans-position and substitution) mode.

These tables contain 10 character exam-ples using the demonstration message anddemonstration key. The complete demon-stration message processed by transpositiononly (table 11) using the demonstration key,becomes:

(A: 0.5, 1.625,3.125,40 R/S: 0)

E B AE YI P D EO

ECNTMR R Y PP

146

April 1979 t> BYTE Publications Inc

Text continued on page 150.

The

TO ORDER CALL TOLL FREE 800-223-7318

NEW!

only 5795 $54gD

, • 14K ROM Operating system

• 8K RAM Memory

• 9" Video Monitor

• Built in Keyboard

• Digitally controlled tapeI Today's best value in personal computers, along with the latest

| in peripherals, are always in stock at the COMPUTER FACTORY

NEW! PETs?yTsENMESS

BILLINGS MICROSYSTEMEXPANDABLE TO 2 MEGABYTES

only$3645

BUSINESS SOFTWARE AVAILABLE!

features:

• 320 K Storage

• 12" CRT

• Graphics

• 64K RAM

• 94 Keys

• Z-BO

• 2 RS-232 ports

• Dual mini

floppy

• 1 parallel port

The PET is now a truly sophisticatedBusiness System with the Floppy

| Disk and Printer which makes anideal cost efficient business

| system for most professional andspecialized fields: medicine,law, research, engineering,education, etc. /

PET 2001 -

16KS995 /

32K$1195 -J

' 16 or 32K Bytes Dynamic RAM

► 14K ROM Operating System

► 9" CRT

i Upper/Lower Case and

Graphics• Full Sized Business Keyboardi Full Screen Editing» Operating system will support

multiple Languages (BASIC

resident)» Machine Language Monitor» 8K ROM Expansion Sockets

Compueolorll

COMPUCOLOR II Disk-Based Model 3Advanced hardware and software technologygives you:

• 13" Color Display

• Advanced Color Graphics

• 51K Disk Built-in

• 16K ROM Operating System

• 8K RAM User Memory

• 4K RAM Refresh

• 8080A Microcomputer

• RS-232 I/O \Every unit comes with an extended DISK-BASIC that has full file management capa-bility resident in the COMPUCOLOR II in16K of ROM. Color is fantastic, but COM-PUCOLOR II has the power to handle com-plex tasks and small business applications.An impressive software library supplementsyour own creativity.

$1495 Complete!16K Model add $20032K Model add $500

8V2

ELECTROSTATICPRINTER 2021

• 80 column dot matrix

• Full PET graphics

• 8'/;» inch paper1

PET ,PRINTERS2023 $8492022 $995(IncludesTractors)

Bottom and Rear Tractor Feed

8'/2" Paper width

6504 Microprocessor Controlled

112 cps Bi-directional

4K ROM • V;K RAM

Upper/Lower Case and Graphics

BUSINESS COMPUTERS

IMSAI

1 Data General

micro NOVA

The ultimate in small business computerswhen matched with COMPUTER FAC-TORY'S microcomputer Software: AccountsReceivable/Payable. Inventory Control/Order Entry. General Ledger. Payroll Sys-tems from about l$13,500

• 7 x 6 Dot Matri>

The low cost solution

for all small business

problems A wide variety

ot software is

available for all your needs.

PCS series include dual floppies, 32K RAM,

I/O, DOS. BASIC

• PCS-42 (400KB) $2995

• PCS-44 (780KB) S3695

VDP-42 series adds video terminal, key-board and VIO to above

• VDP-42 S4795 • VDP-44 $4495

• VDP/80 $6995

PET

MUSIC BOXAdd music and soundeffects to yourprograms. Compose,play, and hear music onyour pet. Completelyself-contained (nowiring). Free 3programs including StarWars theme, soundeffects, etc. J39.

DUAL DRIVE FLOPPYDISK 2040 $1095

• 360 K Bytes Storage

• High Speed Data Transfer

• Plugs into IEEE Port

• 6504 Microprocessor' • 8K ROM Operating System

• 8K ROM Encoding andDecoding

• 4K RAM

• Uses Single or Dual sidedDiskettes

\C cartridge! for

iom like; APL,

COBOL, PIL.0T, FORTRAN, tic. Add mon-

SORCERER

SPECIAL12" Video Monitorfor SORCERER($299 value)

ONLY

$125 with 8K unit95 with 16K unit65 with 32K unit

The Computer of theFuture is here Now!PASCAL TM

MICROENGINE

$2995

Western Digital's new 16-bit PascalComputer System

• 64K bytes (32K words) of RAM

• 2 RS-232 ports

• 2 8-bit parallel ports

• Floppy disk controller

• Floating point hardware

• Memory Mapped I/O

• Enclosed power supply

PERIPHERALSFOR PET

• 24K Memory Expansion ... S<*99

• 16K Memory Expansion .... 399

' PET to RS232 Serai 169

' 2 Way Senal'Communication249

» Modern Board for PET 375

' PET to SI00 (4-slot) 160

:ond Cassette Drive !

RADIO SHACK • PET • SORCERERIAPPLE • COMPUCOLOR • ETC.

aBiaianEmiE

APPLE II from,$970

SINGLE DRIVEI FLOPPY UNIT2041 $595

• Intelligent mini IloppyI • 171.5K net user storage

■ COMPUTER FACTORY'S extensive CENTRONICS 779 . .$1045

inventory and wide selection of computer AXIOM (Parallel) 395

printers assures you of finding the printer AXIOM (Serial) 495

best suited for your needs and EXPANDOR (Tractors) 425

1 specifications. The following printers work INTEGRAL DATA 795

well with all known personal computers. QUME or DIABLO ... 3400

Word Processing For PET.With this program In hand, you cancreate text and add, delete, center,recall lines and move text around onpage or between pages. Use eitherPET or terminal keyboard. £45.00

S35 of Softwarewiih purchase 01 anycomputer on this page

Min Credit CardOrder $75

N Y. residenls add 8% sales tax • Same day

shipment on prepaid and credit card orders• Add S10 shipping for computers, S3 forboards. $ 25 each cassette tape.

FREE

TO ORDER CALL TOLL FREE 800-223-7318

OpenMon.-Fri. 10-61

0-4.

vW

«V%

T|,ft /"%/*MV/IDI ITCD CArTnDV 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017I lie VsVJIVIr U I Cn rMV/ I \Jr\ T (212) 687-5001 (212) PET-2001 Foreign order desk - Telex 640055

BYTE April 1979

PET / TRS-80 / APPLE: Personal Software brings you the finest!

NEW! THE ELECTRIC PAINTBRUSH by Ken Anderson for 4K

Level I and II TRS-80s: Create the most dazzling graphics displaysyou have ever seen with a minimum of effort. The ElectricPaintbrush is actually a simple 'language' in which you can write'programs' directing your paintbrush around the screen—drawinglines, turning corners, changing white to black, etc. Once defined,these programs may be called by other programs or repetitivelyexecuted, each time varying the parameters of brush movement.

The machine language interpreter executes your programs almostinstantaneously, allowing you to create real-time, animatedgraphics displays. The screen photos above are actually'snapshots' of the action of a single one-line program over aboutthirty seconds. Mesmerize your friends with visual effects they'venever seen on a TV screen! There's no limit to the variety of excitingand artistic graphics displays you can create with The ElectricPaintbrush. And it's available now for only $14.95

:*: =i:i:t:t:

¥/■;••;:'.;'

. | mi*i * t

X X" X *■"" 1 "L* •*•

.UHt >!*' ****** ******

(SUM >JU' *""= lllm

!.»«« • * *A«

mm iX* *I*

mm mm ■■ i««i will

nuu

tutu *■":'■--:: ■ *

iiiik mm" mm m*t*

mm

unit nnnw

nnnmm ft

MICROCHESS is the culmination of two years of chessplayingprogram development by Peter Jennings, author of the famous 1Kbyte chess program for the KIM-1. MICROCHESS 2.0 for 8K PETsand 16K APPLEs, in 6502 machine language, offers 8 levels of playto suit everyone from the beginner learning chess to the seriousplayer. It examines positions as many as 6 moves ahead, andincludes a chess clock for tournament play. MICROCHESS 1.5 for

BRIDGE CHALLENGER by George Duisman for 8K PETs, Level II16K TRS-80s, and 16K APPLEs: You and the dummy play 4 personContract Bridge against the computer. The program will deal handsat random or according to your criterion for high card points. Youcan review tricks, swap sides or replay hands when the cards areknown. No longer do you need 4 people to play! $14.95

TIME TREK by Brad Templeton with sound effects for 8K PETs isPersonal Software's answer to the proliferation of Star Trek games.This is a real time action battle game which requires fast thinking aswell as sharp wits. There are no'turns'in Time Trek: your scannersand ship's status report are constantly updated on the screen, andyou can enter commands as fast as you can press the keys. You useyour shields, phasers and photon torpedoes against enemyKlingons in a game where you can move, steer and fire at the sametime. Star Trek aficionado or not, you'll appreciate the excitementand excellence of this real time game $14.95

WHERE TO GET IT: Look for the Personal Software™ display rackat your local computer store. Over 275 dealers now carry thePersonal Software7" line—more than any other brand. If your localdealer doesn 't already carry Personal Software" products, ask himto call us at (617) 782-5932. Or you can order direct from us bycheck, money order or VISA/Master Charge. If you have questions,please call us first at (617) 783-0694. If you know what you wantand have your VISA/MC card ready, you can use any telephone to

DIAL TOLL FREE1-800-325-6400

24 hrs In Missouri dial 1-800-342-6600 7 days

Or you can mail your order to the address below. To add your nameto our mailing list for free literature and announcements of newproducts, use the reader service card at the back of this magazine.

Personal Software™

P.O. Box 136-B4, Cambridge, MA 02138

148 BYTEAprill979

4K TRS-80s, in Z-80 machine language, offers 3 levels of play (bothLevel I and Level II versions are included and can be loaded on anyTRS-80 without TBUG). MICROCHESS checks every move forlegality and displays the current position on a graphic chessboard.You can play White or Black, set up and play from special boardpositions, or even watch the computer play against itself! Availablenow at a special introductory price of only $19.95

Circle 302 on inquiry card.

Look for Personal Software™ products at the dealer nearest you!

ALABAMABYTE SHOP

Hunlsville, AL 35805

COMPUTERLAND

Hunlsville. AL 35805

THE LOGIC STORE

Opelika. AL 36801

ALASKA

ALPHA ELECTRONICS

Anchorage, AK 99503

ARIZONA

PERSONAL COMPUTER PLACE

Mesa. AZ 85202

COMPUTERLAND OF PHOENIX

Phoenix AZ 85016

COMPUTER SHOWROOM

Tucson. AZ 85710

ARKANSAS

COMPUTERLAND

Little Rock, AR 72212

DATACOPE

Lmle Rock, AR 72204

CALIFORNIA

JAY-KERN ELECTRONICS

BakerslielO. CA 93305

BYTE SHOP

Burbank. CA 91506

BYTE SHOP OF SACRAMENTO

Cilrus Heights. CA 95610

COAST COMPUTER CENTER

Costa Mesa. CA 92627

CAPITOL COMPUTER SYSTEMS

Davis. CA 95616

COMPUTERLAND SAN DIEGO EAST

El Caion. CA 92020

COMPUTERLAND OF EL CERRITO

El Cerrito. CA 94530

BUSINESS ENHANCEMENT

COMPUSERVICE

Escondido. CA 92027

CHANNEL DATA SYSTEMS

Goleta, CA 93017

RAINBOW COMPUTING

Granada Hills. CA 91344

JADE COMPUTER PRODUCTS

Hawthorne, CA 90250

BYTE SHOP OF HAYWARD

Hayward, CA 94541

COMPUTERLAND OF HAYWARD

Hayward. CA 94541

COMPUTERLAND OF WEST LA,

Inglewood. CA 90302

COMPUTERLAND OF SOUTH BAY

Lawndale, CA 90260

A-VIDD ELECTRONICS

Long Beach, CA 90815

COMPUTERLAND

Los Altos, CA 94022

BYTE SHOP

Mountain View. CA 94040

HOBBY WORLD ELECTRONICS

Northncfge. CA 91324

COMPUTERS-MADE-EASY

Palmdale. CA 93550

BYTE SHOP OF PLACENTIA

Placentia. CA 92670

COMPUTERLAND

San Bernadino. CA 92404

COMPUTERLAND OF SAN DIEGO

San Diego, CA 92111

COMPUTER MERCHANT

San Diego. CA 92115

COMPUTERLAND OF

SAN FRANCISCO

San Francisco. CA 94105

VIDEO GAMES 4 COMPUTERS

San Francisco, CA 94118

COMPUTERLAND OF SAN JOSE

San Jose, CA 95129

COMPUTERLAND (Central)

San Leandro. CA 94577

BYTE SHOP

San Louis Obispo. CA 93401

MARIN COMPUTER CENTER

San Rafael. CA 94903

ADVANCED COMPUTER PRODUCTS

Santa Ana. CA 92705

BYTE SHOP

Santa Clara. CA 95051

COMPUTER FORUM

Sanla Fe Springs. CA 90670

THE COMPUTER STORE

Santa Monica. CA 90401

SANTA ROSA COMPUTER CENTER

Santa Rosa. CA 95404

BYTE SHOP

Suisun, CA 94585

COMPUTERS PLUS

Sunnyvale. CA 94087

BYTE SHOP OF TARZANA

Tarzana, CA 91356

COMPUTERLAND OF

THOUSAND OAKS

Thousand Oaks, CA 91360

SMALL SYSTEM SOFTWARE

Thousand Oaks. CA 91360

COMPUTER COMPONENTS

Van Nuys. CA 91411

COMPUTERLAND

Walnul Creek, CA 94598

BYTE SHOP

Westminster CA 92683

COMPUTER COMPONENTS OF

ORANGE COUNTY

Westminster CA 92683

Circle 302 on inquiry card.

COLORADO

BYTE SHOP

Boulder. CO 60301

COMPUTERLAND

Colorado Springs. CO 80917

AMPTEC

Denver, CO 80216

COMPUTERLAND

Denver, CO 80222

BYTE SHOP

Englewood. CO 80110

MICRO WORLD ELECTRONIX

Lakewood, CO 80226

CONNECTICUT

COMPUTERLAND OF FAIRFIELD

Fairfield. CT 06430

JRV COMPUTER STORE

Hamden. CT 06518

THE COMPUTER STORE

Hartlord, CT 06103

THE COMPUTER STORE

Windsor Locks. CT 06096

WASHINGTON D.C.

COMPUTER CABLEVISION

Washington, D.C. 20007

FLORIDA

COMPUTERLAND

Boca Raton. FL 33432

THE COMPUTER STORE

Bradenton. FL 33505

THE COMPUTER STORE

Clearwater, FL 33516

UCATAN

Destin, FL 32541

BYTE SHOP

Fort Lauderdale. FL 33334

COMPUTERLAND

Fort Lauderdale, FL 33308

COMPUTERS FOR YOU

Fort Lauderdale, FL 33312

DATA MOVERS

Fort Meyers. FL 33901

FOCUS SCIENTIFIC ENTERPRISES

Miami. FL 33132

GRICE ELECTRONICS

Pensacola. FL 32589

COMPUTERAGE

Pompano Beach, FL 33062

PAPERBACK BOOKSMITH

Sarasota. FL 33581

AMF ELECTRONICS

Tampa, FL 33612

MICRO COMPUTER SYSTEMS

Tampa, FL 33609

COMPUTER CENTER OF

PALM BEACHES

West Palm Beach. FL 33409

GEORGIA

ADVANCE COMPUTER TECH

Atlanta. GA 30328

COMPUSHOP

Atlanta. GA 30342

DATAMART

Atlanta. GA 30305

THE LOGIC STORE

Columbus, GA 31906

COMPUTERLAND OF ATLANTA

Smyrna. GA 30080

HAWAII

COMPUTERLAND

Honolulu, HI 96813

MICROCOMPUTER SYSTEMS

Honolulu. HI 96813

RADIO SHACK (Dealer)

Lihue. HI 96766

IDAHO

NORTHWEST COMPUTER CENTER

Boise, ID 83704

ILLINOIS

COMPUTERLAND OF

ARLINGTON HEIGHTS

Arlington Heights, IL 03904

FARNSWORTH COMPUTER CENTER

Aurora. IL 60505

KAPPEL'S COMPUTER STORE

Belleville. IL 62220

DOW-COM

Carbondale. IL 62901

BYTE SHOP

Champaign, IL 61820

THE ELEKTRIK KEYBOARD

Chicago, IL 60614

EMMANUEL B GARCIA JR

AND ASSOCIATES

Chicago. IL 60613

PERSONAL COMPUTER

Chicago. IL 61820

COMPUTERLAND

Downers Grove, IL 60515

COMPUTER STATION

Granite City. IL 62040

ILLINI MICROCOMPUTERS

Naperville. IL 60540

COMPUTERLAND OF NILES

Niles. IL 60648

COMPUTERLAND

Oak Lawn. IL 60453

COMPUTERLAND OF PEORIA

Peoria. IL 61614

WALLACE ELECTRONICS

Peoria. IL 61614

DATA DOMAIN

Schaumburg. IL 60195

INDIANA

DATA DOMAIN OF FORT WAYNE

Fort Wayne. IN 46805

HOME COMPUTER CENTER

Indianapolis, IN 46220

PUBLIC COMPUTING

Lafayette. IN 47904

IOWA

SYNCHRONIZED SYSTEMS

Des Moines. lA 50310

THE COMPUTER CENTER

Waterloo, IA 50701

KANSAS

PERSONAL COMPUTER CENTER

Overland Park. KS 66206

COMPUTER SYSTEMS DESIGN

Wichita. KS 67214

LOUISIANA

COMPUTER SHOPPE

Metaire. LA 70002

MARYLAND

COMPUTERLAND

Rockville. MD 20855

COMPUTERS ETC.

Towson. MD 21204

COMPUTERS UNLIMITED

Towson, MD 21204

MASSACHUSETTS

THE COMPUTER STORE

Burlington. MA 01803

THE COMPUTER STORE

Cambridge. MA 02139

MAD HATTER SOFTWARE

Dracul. MA 01826

NEW ENGLAND ELECTRONICS

Springfield. MA 01103

MICHIGAN

NEWMAN COMPUTER EXCHANGE

Ann Arbor. Ml 48104

NEW DIMENSIONS IN COMPUTING

East Lansing, Ml 48823

COMPUTER HOUSE DIV

Jackson. Ml 49202

COMPUTERLAND OF

GRAND RAPIDS

Kentwood. Ml 49508

COMPUTRONIX

Midland. Ml 48640

COMPUTER MART OF ROYAL OAK

Royal Oak. Ml 48073

TRI CITY COMPUTER MART

Saginaw. Ml 48603

COMPUTERLAND

Southfield. Ml 48034

LEVEL FOUR PRODUCTIONS

Westland. Ml 48185

MINNESOTA

COMPUTERLAND

Bloomington. MN 55431

MINN. MICRO SYSTEMS

Minneapolis, MN 55454

MISSISSIPPI

OXFORD SOFTWARE CO.

Oxford. MS 38655

MISSOURI

FORSYTHE COMPUTERS

Clayton. MO 63105

COMPUTER COUNTRY

Florissant. MO 63031

NEVADA

HOME COMPUTERS

Las Vegas. NV 89109

NEW HAMPSHIRE

TRS-80 SOFTWARE EXCHANGE

Milford. NH 03O55

COMPUTERLAND OF NASHUA

Nashua. NH 03060

BITS. INC.

Peterborough, NH 03458

NEW JERSEY

COMPUTER LAB OF NJ

Budd Lake, NJ 07828

COMPUTER EMPORIUM

Cherry Hill. NJ 08002

COMPUTER MART OF NJ

Iselin, NJ 08830

MSM ELECTRONICS

Medford, NJ 08055

COMPUTERLAND

Morristown, NJ 07960

COMPUTERLAND

Paramus. NJ 07652

COMPUTER NOOK

Pine Brook, NJ 07058

COMPUTER ENCOUNTER

Princeton. NJ 08540

TYPTRONIC COMPUTER STORE

Ramsey, NJ 07446

NEW YORK

COMPUTERLAND

Buffalo. NY 14150

COMPUTERLAND

Carle Place. NY 11514

COMPUTER SHOP OF SYRACUSE

De Witt. NY 13214

THE COMPUTER TREE

Endwell. NY 13760

LONG ISLAND COMPUTER

GENERAL STORE

Lynbrook. NY 11563

COMPUTER MICROSYSTEMS

Manhasset. NY 11030

THE COMPUTER FACTORY

New York. NY 10017

COMPUTER MART OF NEW YORK

New York. NY 10016

AUTOMATIC SYSTEMS

Poughkeepsie, NY 12603

COMPUTER HOUSE

Rochester, NY 14609

THE COMPUTER STORE

Rochester. NY 14618

HOME COMPUTER CENTER

Rochester. NY 14607

THE COMPUTER CORNER

White Plains. NY 10601

READOUT COMPUTER STORE

Williamsville. NY 14221

NORTH CAROLINA

BYTE SHOP

Charlotte. NC 28212

COMPUTERLAND

Charlotte. NC 28205

FUTUREWORLD

Durham, NC 27707

BYTE SHOP

Greensboro, NC 27401

MICROCOMPUTER SERVICES

Hickory. NC 28601

BYTE SHOP OF RALEIGH

Raleigh. NC 27605

OHIO

BASIC COMPUTER SHOP

Akron. OH 44314

CINCINNATI COMPUTER STORE

Cincinnati, OH 45246

21ST CENTURY SHOP

Cincinnati. OH 45202

CYBER SHOP

Columbus, OH 43227

MICRO MINI COMPUTER WORLD

Columbus, OH 43213

COMPUTER SOLUTIONS

Dayton, OH 45409

DAYTON COMPUTER MART

Dayton, OH 45409

ASTRO VIDEO ELECTRONICS

Lancaster, OH 43130

COMPUTERLAND OF CLEVELAND

Mayfield Heights. OH 44121

RADIO SHACK (Dealer)

St. Clairsville. OH 43950

OKLAHOMA

HIGH TECHNOLOGY

Oklahoma City. OK 73106

MICROLITHICS

Oklahoma City, OK 73127

HIGH TECHNOLOGY

Tulsa, OK 74129

OREGON

THE COMPUTER STORE

Corvallis. OR 97330

CAMERA AND COMPUTER

EMPORIUM

Portland, OR 97205

COMPUTERLAND OF PORTLAND

Tigart, OR 97223

PENNSYLVANIA

BYTE SHOP

Bryn Mawr. PA 19010

PERSONAL COMPUTER CENTER

Frazer. PA 19355

COMPUTER AID

Latrobe. PA 15650

THE COMPUTER WORKSHOP

Murrysville, PA 15668

RADIO SHACK (Dealer)

North Wales. PA 19454

A B COMPUTERS

Perkasie. PA 18944

MICROTRONIX

Philadelphia, PA 19106

SOUTH CAROLINA

DATA MART

Greenville. SC 29607

TENNESSEE

MICROCOMPUTER STORE

Knoxville. TN 37919

COMPUTER LABS OF MEMPHIS

Memphis, TN 38117

DOCS COMPUTER SHOP

Nashville, TN 37211

TEXAS

COMPUTERLAND OF AUSTIN

Austin. TX 78757

COMPUSHOP

Dallas. TX 75243

COMPUTERLAND

Dallas. TX 75231

KA ELECTRONICS SALES

Dallas. TX 75247

COMPUTER TERMINAL

El Paso. TX 79901

RAM MICRO SYSTEMS

Fori Worlh. TX 76116

COMPUTERCRAFT

Houston, TX 77063

COMPUTERLAND OF HOUSTON BAY

Houston TX 77058

NEIGHBORHOOD COMPUTER

Lubbock. TX 79401

COMPUTER PATCH OF SANTA FE

Odessa. TX 79762

COMPUSHOP

Richardson. TX 75080

THE COMPUTER SHOP

San Anlonio. TX 78216

COMPUTER SOLUTIONS

San Anlonio TX 78229

WICHITA COMPUTER SYSTEMS

Wichita Falls. TX 76301

UTAH

ADP SYSTEMS

Logan. UT 84321

THE HI-FI SHOP

Salt Lake City. UT 84117

VERMONT

COMPUTERMART

Essex Junction. VT 05452

VIRGINIA

COMPUTER HARDWARE STORE

Alexandria, VA 22314

COMPUTERS PLUS

Alexandria, VA 22304

COW. INC

Blacksburg. VA 24060

HOME COMPUTER CENTER

Newport News. VA 23606

COMPUTER TECHNIQUES

Richmond. VA 23235

THE COMPUTER PLACE

Roanoke. VA 24015

COMPUTER WORKSHOP

Springfield. VA 22151

COMPUTERLAND

Vienna. VA 22180

HOME COMPUTER CENTERVirginia Beach, VA 23452WASHINGTONOMEGA NORTHWEST

Bellevue. WA 98004

COMPUTERLAND OF SOUTH

KING COUNTY

Federal Way, WA 98003

YE OLDE COMPUTER SHOPPE

Richland, WA 99352

THE COMPUTER SHOPPE

Seattle. WA 98115

EMPIRE ELECTRONICS

Seattle, WA 98166

PERSONAL COMPUTERS

Spokane. WA 99202

COMPUTERLAND

Tacoma, WA 98499

WISCONSIN

BYTE SHOP OF MILWAUKEE

Greenfield. Wl 53227

COMPUTERLAND

Madison. Wl 53711

MADISON COMPUTER STORE

Madison. Wl 53711

COMPUTERLAND

Milwaukee. Wl 53222

FOX VALLEY

COMPUTER STORE

Neenha. Wl 54956

AUSTRALIA

ELECTRONIC CONCEPTS PTY LTD

COMPUTERLAND

Sydney. N.S.W.

CANADA

COMPUSHOP

Calgary, Alberta T2N 2A4

THE COMPUTER SHOP

Calgary, Alberta T2T 4T9

TJB MICROSYSTEMS

Edmonton. Alberta T5M 0H9

COMPUTER CITY

Winnepeg. Manitoba R3P 0H8

COMPUTERLAND

Winnepeg. Manitoba R3G 0M8

INTERACTIVE COMPUTER SYSTEMS

Frederickton, New Brunswick

MINICOMP SYSTEMS

Halifax. Nova Scotia B3K 2G1

KOBETEK SYSTEMS

Wolfville, Nova Scotia BOP 1X0

LYNTRONICS

Downsview, Ontario M2J 2W6

COMPUTER CIRCUITS

London, Ontario N6A 3H2

COMPUMART

Ottawa. Ontario K2A 1J2

COMPUTER INNOVATIONS

Ottawa, Ontario K1B 4A8

RICHVALE TELECOMMUNICATIONS

Richmond Hill. Ontario

THE COMPUTER CENTRE

Sarnia. Ontario N7T 1B4

COMPUTER MART

Toronto. Ontario M4G 3B5

THE COMPUTER PLACE

Toronto. Ontario M5V 1Z1

COMPUTER SPECIALIST

Toronto. Ontario M3K 1E7

HOUSE OF COMPUTERS

Toronto. Ontario

MARKETRON

Toronto, Ontario

MICRO-WARE

Toronto. Ontario M4E 2L2

COMPUCENTRE

Montreal. Quebec HU 1Z4

FUTUR BYTE

Montreal. Quebec H3B 3C9

CUSTOM COMPUTING SERVICES

Saskatoon. Saskatchewan S7K 2B5

DIGITAL SERVICE

Saskatoon Saskatchewan S7J 3A9

PUERTO RICO

MICROCOMPUTER STORE

Rio Piedras PR 00921

PLUS 17 DEALERS IN EUROPE!

BYTE April 1979 149

Text continued from page 146:

1.2.3.4.5.6.7.

10.

Prepare table as example table 11b shows and enter plaintext Pj. (1 la)

Switch calculator to RUN and ON.

Load program.

Input data R0, A-], A2, Nc. Follow each entry except the last with ENTt. Press A.

Input data 0.

Depress R/S to start program.

Calculator will stop with a number in the form J.M. Copy plaintext character at

position J to ciphertext position M.

Depress R/S and return to step 7.

Repeat the steps 7 and 8 loop. Pressing R/S after character Nc will cause the

ERROR sign to flash. When flashing stops, press R/S one time.

If program is to be restarted, return to step 4.

Encipherment Example

(lib)

J.M

01

02

03

04

05

06

07

08

09

10

Pj

M

A

Y

U

P

B

I

D

P

R

Cm

A

B

M

P

D

I

P

R

U

Y

Table 11: Crypto instructions for enciphering in the transposition only mode.The key is A:0.5, 1.625, 3.125, 10 R/S: 0.

1.

2.3.4.5.6.7.

9.

10.

Prepare table as example table 1 2b shows and enter ciphertext Cm. (12a)

Switch calculator to RUN and ON.

Load program.

Input data Rq, A-], A2, Nc. Follow each entry except the last with ENTt. Press A.

Input data 0.

Depress R/S to start program.

Calculator will stop with a number in the form J.M. Copy ciphertext character at

position M to plaintext position J.

Depress R/S and return to step 7.

Repeat the steps 7 and 8 loop. Pressing R/S after character Nc will cause the

ERROR sign to flash. When flashing stops, press R/S one time.

If program is to be restarted, return to step 4.

Decipherment Example

(12b)

J,M

01

02

03

04

05

06

07

08

09

10

Cm

A

B

M

P

D

I

P

R

U

Y

Pi

M

A

Y

U

P

B

I

D

P

R

Table 12: Crypto instructions for deciphering in the transposition only mode.The key is A :0.5, 1.625, 3.125, 10 R/S: 0.

9.

10.

11.

12.

Prepare table as example table 13b shows. Enter plaintext Pj and, (13a)

using alphabet table, enter Pj values.Switch calculator to RUN and ON.Load program.

Input data Ro, A-|, A2, Nc. Follow each entry except the last with ENTt. Press A.Input data Na.Press R/S to start program.

Calculator will stop with a number in the form J.M. At index J select and enter Pjand press R/S. _

Calculator will stop with a number in the form J.M Cm. At index M in table enterCm from display.Press R/S and return to step 7.

Repeat the steps 7, 8 and 9 loop. Pressing R/S after character Nc flashes the ER-ROR sign. When flashing stops, press R/S one time.Using alphabet table convert Cm to Cm to obtain ciphertext.If program is to be restarted, return to step 4.

Encipherment Example

(13b)

J.M

01

02

03

04

05

06

07

08

09

10

index.

Pi

M

A

Y

U

P

B

I

D

P

R

plaintext.

i

Cm

22

07

10

21

19

02

11

23

19

25

entered at step 7 from alphabet table

13

01

10

22

19

11

05

06

22

09

program output from step 8.

Cm

H

F

Y

M

P

I

Z

X

M

G

from alphabet table.

Table 13: Crypto instructions for enciphering in the dual transposition andsubstitution mode. The sample table used for enciphering is shown in table13b. The key isA:0.5, 1.625, 3.125, 10 R/S: 26; table 9 used.

WE i N AN NTO U

CONTCLTTR Y.

The same message encipheredmode (table 13) becomes:

the dual

(A: 0.5, 1.625,3.125,40 R/S: 26)

S FH I U

I M PA IS AVVWSG I WM

J I F Y YXR VXZP A R T UV F F B G.

In the dual mode operation a conver-sion operation may be saved at each e_ndof the system by using the numerical Cmdata directly as the cryptogram. The dis-advantage to this is that the number ofcharacters to be transmitted is doubled.In some circumstances transmission ofnumerals may be preferred over alphabeticcharacters in spite of the expanded volume.

Use of Nulls

Many procedures may be followed whichwill aid in protecting the cipher. One ofthese is the use of nulls. This procedure isvery simple to use and actually speeds up theenciphering and deciphering process as dis-cussed in the text box on search strategy. Touse this technique, specify a message char-acter length (Nc) to program Crypto whichis larger than the actual message length. Forexample, consider a message of length 100and an Nc value specification of, say, 125.Crypto is used in the normal way until all100 message characters are processed intothe ciphertext. At this point the 125 char-acter ciphertext contains 25 (scattered)blank spaces. Fill these blank spaces withcharacters chosen by you at random. Whenfinished, the cryptogram will contain 25totally irrelevant characters randomly locatedin the ciphertext.

The nulls present no problem to the deci-pherer since Crypto will point that personto genuine data for the first 100 processingcycles; after that the nulls are indicated. Itmight be wise to clearly delineate the end ofa message by appending some prearrangedterminal symbol to the plaintext. The speedof operation may be greatly increased by useof nulls since this keeps the mean processortime low, as discussed in the text box onsearch strategy. The longer messages shoulddefinitely use nulls to speed up the process.The use of nulls is clearly advantageous,since this presents the cryptanalyst withsome additional possibilities that must besorted out. Make sure that the nulls yousupply blend well with the genuine cipher-text. Do not attempt, for example, to bal-

150 April 1979 © BYTE Publications Inc

oWWIaB

FOR YOUR

TRS-80 - PET - APPLE

GALACTIC BLOCKADE RUNNER—an exciting, different and sophisticated space war game withinieresting graphic displays. Plays betterthan many of the Star Treks out there. Tl/4 T2/16 P A$9.95SCI-FI GAME SAMPLER—includes 3 games—Space Monster, Lunar Lander and Space Battle, allwithgraphics. Tl/4 T2/I6 P $5.95

SOLARIA—a sophisticated fantasy economic simulation—you won't believe the complexity of thisone's output. T2/16 P $9.95

PILOT— The educational language—Ready for your TRS-80! This version comes complete with abuilt in editor and 3 sample programs. Tape Version $14.95 Disk Version $24.95

Please Sir—Could you tell me where I canFind Software for my Microcomputer?

BUSINESS

AND

APPLICATIONSOFTWARE

AVAILABLE

CALL OR WRITEFOR DETAILS

<

DIET PLANNING PACKAGE—use your computer 10 help plan a safe, reliable diet—calculates whatyour weight should be, your daily calorie allowance—helps plan your menu. TI/4 T2/16 $14.95

OTHELLO III—A strategy board game—play with the computer, a friend or have the computer playagainst itself. Tl/4 T2/4 P A $7.95

DAILY BIORHYTHM PROGRAM—has interesting moving line display, gives 30 day graph andmore! Tl/4 T2/4 $5.95

MICRO-TEXT EDITOR—non destruclable cursor, graphics capability, versital editing options, save &load screen, output to printer. T2/4 $9.95

GIVE A VOICE AND EARS TO YOUR APPLE COMPUTER!

APPLETALKER— speach synthesis for your APPLE computer! $15.95

APPLEL1STENER—speech recognition for your APPLE computer. A nice companion program to theone above. Just think of the possibilities! . $19.95

M1CROCHESS— play chess with your computer. Uses graphic display and provides various levels ofdifficulty. Tl/4 T2/4 P A $19.95

BRIDGE CHALLENGER—why wail to get 3 other people together to play? Your computer's readyanytime. T2/16 P A $14.95

AIR RAID—a machine language, real-time, arcade type game. Shoot down planes as they fly by.Tl/4 T2/4 $14.95

RSM-2—a machine language monitor for the TRS-80. Many, many features including a built in disas-sembler. $26.95 Disk Version $29.95

A NEW AND EXCITING VERSION OF STAR TREK IS ON THE WAY!WATCH OUR ADS FOR DETAILS OR SEND FOR FREE CATALOG.

APPLE 21 —black jack for your APPLE! $9.95

STAR WARS/SPACE MAZE—sci-fi games for your APPLE. $12.95

MICRO-TAX 78—just in time to help you prepare your returns. Does form 1040 and schedules A, B, C,SE, D&4797. T2/I6 $12.95

RENUMBER—a machine language program for renumbering your BASIC programs, one of your mostuseful programming tools. T2/4 $14.95

100'S MORE — SEND FOR FREE CATALOG — GIVE TYPE OF COMPUTERT TRS-80 Level/Mem P Commodore PET A Apple II

10% OFF IF YOU BUY 3 OR MORE!

UjUjU CJUjVVUUj eePtfCOQQB ■

900

SALEM ROAD, DRACUT, MA 01826 (617) 682-8131

IF YOU WOULD LIKE TO HAVE YOUR COMPANY NAME HEREAS ONE OF OUR RETAIL DISTRIBUTORS CALL

682-8131

FOR WHOLESALE PRICE INFORMATION

(617)

Circle 202 on inquiry card.

BYTE April 1979 151

Listing J, continued from page 145:

145151157163169175181187193199205211

( GTOfa ) ( ENTt ) ( 1 ) Q

c

3

( gLBLfc )

( fINT )( CHS )

J ( RCLO ) ( RCLC )

( hF?Q ) ( GTOfc ) ( + ) ( GTOfd )

( RCLC ) ( + ) ( + ) ( gLBLfd )

( RCLC ) ( gx>y? ) ( CLX ) £

c^o c

J c

3 CZZ C

3

3 ( RCL5 ) ( + ) ( DSP6 )

C R/S ) C gLBLfa) C

3 ( STO-3 ) ( RCL3 ) ( h 1/x )

( 1 ) ( STO+6 ) C

( GTQ2 )

c

3 ( RCL3 ) ( gx>y? ) ( GTOI )

( fLBLE ) ( hSF2 ) ( RCLA ) ( gLBLfe ) ( RCL1 )

) ( RCL2 ) ( hy* ) ( gFRAC ) ( STOA ) ( hF?2 )

( GTOfe ) Q

3 ( fINT ) ( RCLO ) ( RCL1 ) Q

3

( RCL2 ) ( hy" )

( hl/x ) ( hRi )

( gFRAC )( hRTN )

( STOP ) ( RCLA ) Q

ance out the letter frequency count in atransposition only cipher by manipulationof the nulls.

As an example of the use of nulls thefollowing 40 character demonstrationmessage is used with RRXYY appended asend of message indicator. An alphabet lengthof 60 is chosen, which yields 15 nulls.The cryptogram follows with the nullsunderlined:

A: 0.5,1.625,3.125,60R/S: 0(transposition only)

NB^ARAOTEMX RT P NWR R RTY Y£Y IGM U I R

TLCN LS.P EMPOEYDONEC RUOENTTSCN Y

Listing 2: Keygen program written for the HP 67. This program generatesnumerical keys from alphabetic phrases for program Crypto. When usingthis program, the user needs to know both the key base and the number ofthe key within the key sequence produced. A detailed description of how tooperate program Keygen is given in table 15.

Location

17

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97103109115121

Keys

( fLBLD )

( fF'X )

( ST09 ) Q

( ENTt ) ( EEX )

( DSP4 )

3

( ST06 )

cz

C~i )

( STQ7 )

c

) c

3 C

( STOP )

Z3

3 C

3

( CLx )

( STOA )

( RCL6 ) ( EEX ) ( 3 )

c

3 C

CUED C

C

( hRTN )( gx>y?)

3 C

3 C

3 C3 C

CZ

cz

3 ( gFRAC) Q

3

~) ( STOB ) ( RCL6 )

c

3 C

)

3

( fLBLE ) ( STQ8 )

( GTQ8 ) ( RCL6 )

( ST09 ) ( fLBL8 ) ( RCL8 )

( - ) ( fx=0? ) ( GTQ7 )

( fDSZ )( RCL7 )

( GT06 ) ( fLBL7 )C RCL9 ) ( + )

C

3 C

3 C

3

(gFRAC )

( RCLA ) ( + ) ( STOC )

( fLBL9 ) ( RCL9 ) ( RCL8 )

( STQ7 ) ( STOP ) ( CLX )

QcuT) CZZ) CjZ)

( hSTI ) ( fLBL6 ) ( gGSBfd )

( RCL8 ) ( STQ9 ) ( gGSBfd )

( R/S ) ( RCLE ) (

( RCLA ) ( + ) ( R/S )

)

( RCLP ) ( 3 ) Q

3 C

D C

3 C

3

( RCLA ) ( + ) ( R/S ) ( 1 ) ( STO+8 ) ( GTQ9 )

( gLBLfd) ( RCL7 ) ( RCLB ) ( + ) ( RCLC ) ( hy" )

( gFRAC) ( STQ7 )

( RCLP ) ( RCLB )

( STOE ) ( RCLB )

( hy" ) ( gFRAC) ( STOP ) ( RCL7 )

( hRTN )

c

~) ( RCLC )

( hy" ) ( gFRAC )

c

^) ( RCLC )

c

} ( h1/x )

The 15 nulls are distributed randomlythroughout the ciphertext. The reader mayverify the operation by deciphering thiscryptogram. Note that the first null pointedto will be on plaintext character 46, which isthe start of the junk region.

In addition to the use of nulls, someother precautions may be taken to protectthe cipher. The beginning and end of a mes-sage can represent sources of vulnerability.Standard or easily guessed salutations andsignatures can be of great help to the crypt-analyst. One counter to this is to insert a fewnonsense words at the beginning and end ofeach message using prearranged delineationflags. There is also the bisection method,which involves starting the message fromsome point near the middle, going to theend and then picking up the start. Thisburies the head and tail of the messagesomewhere in the middle of the cryp-tographic process.

The key of program Crypto is the 3 num-ber group (R0, Ai, A2). Program Keygen(listing 2) provides for convenient gener-ation of thousands of keys from an easilyremembered keyphrase. There is abso-lutely no excuse for using a given key morethan once. In dual mode operation use onekey for the mixed alphabet transpositiontable (table 9) and a different key for theCrypto enciphering operation. (By theway, do not be overly impressed by theadded complexity of the dual mode cipher.In this business, complexity and security arenot necessarily correlated. The transposi-tion only mode represents a very effectivecipher in spite of its simplicity of operation.Don't be afraid to use it.)

The limited speed, storage and I/O(input/output) facilities of today's pocket

152 April 1979 ©BYTE Publications Inc

First Time Offer for the Micro Market

Go First Class

MODEL 501

DATA-SCREEN® TERMINAL

A NEW LOW COST, MICROPROCESSORCONTROLLED CRT TERMINAL

QUALITY — APPEARANCEECONOMYONLY $995.00 (qtyd

DELIVERED COIMT. USA

90 DAY WARRANTY GUARANTEES YOUYOUR EQUIPMENT WORKS PROPERLY

1 YEAR EXTENDED WARRANTYAT SPECIAL RATES

^ Our Specifications Before You Buy

DISPLAY

SCREEN CAPACITY, CHARACTERS . . 2000

CHARACTERS PER LINE 80

NUMBER OF LINES 25

SCREEN P4 phosphor (white!

TUBE SIZEIDIAGONAL) 12 inches 130.4 cml

VIEWING AREA 54 square inches (137.1 cml

CHARACTER SIZE 0.20" high x .08" wide (5.08

mm high x 2.03 mm wide!

REFRESH RATE 60 Hz (50 Hz available]

SCAN METHOD Raster

CHARACTER GENERATION 5 x 7 character in an 8

x 10 dot matrix

CURSOR Blinking block

MEMORY

TYPE Random Access Memory

CAPACITY 2000 characters

OPERATOR CONTROLS

POWER ON/OFF SWITCH On rear of unit

BRIGHTNESS CONTROL On rear of unit

POWER REQUIREMENTS

SPECIFICATIONS

INTERFACE

DATA FORMAT

DATA BITS 7 serial, asynchronous

DATA BIT 8 1,0 or deleted

PARITY Odd, even or deleted

with error displayed asDLE

STOP BITS 1 or 2

DATA TRANSFER RATE 50,75,110,134.5,150,

300, 600, 1200, 1800,2000, 2400, 3600, 4800,7200, 9600 BAUD

STANDARD FEATURES

INVERSE VIDEO Operator or software

selectable

TRANSMIT MODES Half or full duplex (switch

selectable)

DATA ENTRY Top or bottom line

END OF LINE BELL Switch selectable

CURSOR POSITIONING X-Y

CURSOR ADDRESS Load and read

DISPLAY ABLE CHARACTERS 126 (including space)

CURSOR CONTROLS Up, down, left, right.

Model 501 -Model 502 -

115 volts, 60 Hz, 100 watts nominal230 volts, 50 Hz, 100 watts nominal

AUTOMATIC ROLL-UP . .AUTO CARRIAGE RETURNAND LINE FEED ......

home, returnSwitch selectable

Switch selectable

MONITOR MODE Special "Monitor" Mode

NATIONAL DISTRIBUTOR FOR

allows display of control codes(first two columns} of ASCI ICode Chart).

S\VS

DEALER NETWORK IS NOW BEING SET UP - YOURINQUIRY IS INVITED

VISA'

OLDEST INDEPENDENT

COMMERCIAL CRT TERMINAL

MANUFACTURER

3S SALES, INC. P.O. Box 45944 Tulsa, OK 74145

918 - 622-1058

Circle 364 on inquiry card.

BYTE April 1979 153

calculators are compensated for in Cryptoby putting the user to work. Because of themanual cooperation required, one quicklylearns to keep messages brief. Thus thetendency to keep traffic volume down is,in a lefthanded sort of way, an aid in pro-tecting the cipher.

Program Organization

Extensive use is made of a pseudorandom

number generator for producing a sequenceRn where:

0<Rn<1.

(4)

The algorithm used is:

^n + 1

= FRAC[(Rn+A1)A2]. (5)

f ENTER J

INITIALIZE

PHASE A(

TRANSPOSITION (OPERATION

INT[SxR2n]

PHASE B<

SEARCH FOR

R th

OPEN SPACE

COMPUTE MFOR DISPLAY

DISPLAYJ. M

Term (n + 1) of the sequence is obtainedfrom term n by addition of a constant A-j,raising the sum to the power A2 (anotherconstant parameter), then taking the frac-tional part of this result as Rn + j. Thefollowing seed and parameter value rangeshave been used successfully:

0<R0<1 (seed)1.25 < A-, <21.25«A2<5.

(6)

Changes in any of these three values by0.0001 or more will produce rapidly di-verging series. At the higher A2 valuesmuch smaller changes in Rn and Ai willsuffice.

DISPLAYJ.MC OR J.MRHALT UNTILRESTART

USERINTERVENTION

TRANSPOSITIONONLY :RESTARTENCIPHER :ENTER Pj ,RESTARTDECIPHER:ENTER Cm,RESTART

Figure 1: A simplifiedblock diagram of programCrypto.

154 April 19790BYTE Publications Inc

S reasons why you should not buy

the electric pencil II

^* e 1978 Michael Shrayer

Check the appropriate box(es):

You love typing the same copy 20 thousand times a day.

□ Your secretary can type 250 words per minute.

□ You're dying to spend $15,000 on a word processing system, just for thetax investment credit.

□ All your capital assets are tied up in a 10-year supply of correction fluid.

□ You never commit a single thought to paper.

If you have checked one or more boxes, you do not need The Electric Pencil.On the other hand, you may want to join the thousands of people who haven'tchecked a single box.

TM

The Electric Pencil II is a Charac-ter Oriented Word Processing System.This means that text is entered as astring of continuous characters and ismanipulated as such. This allows theuser enormous freedom and ease in themovement and handling of text. Sinceline endings are never delineated, anynumber of characters, words, lines orparagraphs may be inserted or deletedanywhere in the text. The entirety ofthe text shifts and opens up or closesas needed in full view of the user. Thetyping of carriage returns or wordhyphenations is not required sincelines of text are formatted automatic-ally.

As text is typed and the end of aline is reached, a partially completedword is shifted to the beginning of thefollowing line. Whenever text is insert-ed or deleted, existing text is pusheddown or pulled up in a wrap aroundfashion. Everything appears on thevideo display as it occurs, which elim-inates guesswork. Text may be review-ed at will by variable speed scrollingboth in the forward and reverse direc-tions. By using the search or searchand replace functions, any string ofcharacters may be located and/or re-placed with any other string of charac-ters as desired.

Numerous combinations ofline length, page length, linespacing and page spacing permitautomatic formatting of anyform. Character spacing, boldface, multicolumn and bidirec-tional printing are included inthe Diablo versions. Multiplecolumns with right and left justifiedmargins may be printed in a single pass.

Wide screen video

Versions are available for ImsaiVIO video users with the huge 80x24character screen. These versions put al-most twice as many characters on thescreen!!!

CP/M versions

Digital Research's CP/M, as well asits derivatives, including IMDOS andCDOS, and Helios PTDOS versions arealso available. There are several NECSpinwriter print packages. A utilityprogram that converts The ElectricPencil to CP/M to Pencil files, calledCONVERT, is only S35.

Features

CP/M, IMDOS and HELIOS compatibleSupports four disk drivesDynamic print formattingDIABLO and NEC printer packagesMulti-column formatting in one passPrint value chainingPage-at-a-time scrollingBidirectional multispeed scrolling con-trols

Subsystem with print value scoreboardAutomatic word and record numbertally

Cassette backup for additional storageFull margin controlEnd-of-page controlNon-printing text commentingLine and paragraph indentationCenteringUnderliningBold face

Upgrading policy

Any version of The Electric Pencil

Have we got a versionfor you?

The Electric Pencil II operateswith any 8080/Z80 based microcom-puter that supports a CP/M disk sys-tem and uses an Imsai VIO, ProcessorTech. VDM-1, Polymorphic. VTI, SolidState Music VB-1B or Vector Graphicvideo interface. REX versions alsoavailable. Specify when using CP/Mthat has been modified for Micropolisor North Star disk systems.as follows:for North star add suffix A to versionnumber; for Micropolis add suffix B,e.g., SS-IIA, DV-XIB.

Vers.

Video

Printer

Price

SSI I

SOL

TTY or similar

$225

SP-II

VTI

TTY or similar

225

SV-II

VDM

TTY or similar

225

SRI!

REX

TTY or similar

250

SIM

VIO

TTY or similar

250

DS-II

SOL

Diablo 1610/20

275

DP-II

VTI

Diablo 1610/20

275

DV-II

VDM

Diablo 1610/20

275

DR-II

REX

Diablo 1610/20

300

Dl-ll

VIO

Diablo 1610/20

300

NS-II

SOL

NEC Spinwriter

275

NP-II

VTI

NEC Spinwriter

275

NV-II

VDM

NEC Spinwriter

275

NR-II

REX

NEC Spinwriter

300

Nl-ll

VIO

NEC Spinwriter

300

SSH

SOL

Helios/TTY

250

DSH

SOL

Helios/Diablo

300

MICHAEL SHRAYER SOFTWARE, INC

1253 Vista Superba Drive

Glendale, CA. 91205

(213)956-1593

may be upgraded at any time by sim-ply returning the original disk or cas-sette and the price difference betweenversions, plus $15 to Michael ShrayerSoftware. Only the originally purchas-ed cassette or diskette will be acceptedfor upgrading under this policy.

Attention: TRS-80 Users!

The Electric Pencil has been de-signed to work with both Level I(16K system) and Level II mod-els of the TRS-80, and with vir-tually any printer you choose.Two versions, one for use withcassette, and one for use withdisk, are available on cassette.The TRS-80 disk version is easily tran-sferred to disk and is fully interactivewith the READ, WRITE, DIR, andKILL routines of TRSDOS 2.1.Version Storage Price

TRC Cassette $100.TRD Disk $150.

Demand a demo from your dealer!

Circle 319 on inquiry card.

BYTE Aprill 979 155

r-

ikvnswKWt

C i ^StU^*^

ACCOUNTS PAYABLE AND

ACCOUNTS RECEIVABLE

by Lon Poole and Mary Borchers

□ This is a set of 21 programs whichconstitute an invoice-linked accountspayable and a low-volume invoice ac-counts receivable system for smallbusiness. 318 pp. $15.00.

m.s

Bits Presents theOsborne Library

6800 ASSEMBLY

LANGUAGE PROGRAMMING

by Lance A. Leventhal

□ Lance A. Leventhal discusses as-sembly language programming for com-puters using the 6800 microprocessor.The 6800 instruction set is presented indepth with chapters on assemblers,simple programs, code conversion, ta-bles and lists, subroutine, input/output,interrupts, program design and docu-mentation, and sample projects. $8.50.

8080 A/ 8085 ASSEMBLYLANGUAGE PROGRAMMING

by Lance A. Leventhal

□ This book provides an introduction toassembly language programming forthe 8080 A and the 8085 processors. In-cluded are sections on the instructionsets for the two processors, assemblers,simple program examples, code con-version, table and lists, subroutines,IO, interrupts, program design, and de-bugging. Many examples and illustra-tions are included to cover criticalpoints. 467 pp. $8.50.

PAYROLL WITH COST

ACCOUNTING IN BASIC

by Lon Poole

□ Includes program listings with re-marks, descriptions, discussion of theprinciples of each program, file lay-outs, and a complete user's manual withstep-by-step instructions, flow chartsand sample reports with CRT displays.All 35 programs are written in the wide-ly used computer language BASIC, andwork together to produce a payroll,right down to the printing of paychecksand maintaining of employee records$15.00.

INTRODUCTION TO

MICROMPUTERS Volume 0

by Adam Osborne

□ Written for the absolute beginner,"The Beginners Book" tells you whatmicrocomputer systems are all about:the component parts, options available,and what they can do for you. Volume 0also gives an introduction to micro-computer logic. $7.95.

SOME COMMON BASIC PROGRAMSby Lon Poole and Mary Borchers

□ At last, a single source for all thosehard to find mathematics programs!Some Common BASIC Programs com-bines a diversity of practical algorithmsin one book: matrix multiplication,regression analysis, principal on a loan,integration by Simpson's rule, roots ofequations, operations on two vectors,chi-square test, check writer, geometricmean and variation, coordinate conver-sion and a function plotting algorithm.These are just some of the many pro-grams previously available only as partof software math package systems forlarge scale computers. All the programsare written in a restricted BASIC suit-able for most microcomputer BASICpackages, and have been tested anddebugged by the authors. $8.50.

AN INTRODUCTION TOMICROCOMPUTERS, Vol. 1, 2 and 3 by Adam Osborne

Microcomputer designers and users arepresented with a continually expandingarray of processors and support chips.Each of these microprocessor familieshas its own advantages and disadvant-ages for a given application.

□ Volume I is subtitled "Basic Con-cept". This is the book which presents aframework of ideas concerning the de-sign and use of small computers imple-mented with LSI. Topics include defini-tions of the microcomputer, fundamen-tal concepts of logic and numberingcharacteristics of instruction sets, etc.$8.50.

□ Volume 2 describes different micro-processors in such a manner as to makethem easily comparable to one another.Architecture, timing, instruction setand usage are detailed for each. (In-cludes hardcover binder). $20.00.

□ Volume 3 includes descriptions ofmemory devices, parallel and serial I/Odevices, CPU single and multi-supportdevices, system busses, and muchmore. (Includes hardcover binder) $20.-

Volumes 2 and 3 are published inloose-leaf form with hardcover binder.Update subscriptions available.

GENERAL LEDGER

by Osborne & Associates

□ General Ledger is the complement to the other two books in the Osborne &Associates series of BASIC business programs: Payroll with Cost Accounting andAccounts Payable and Accounts Receivable. It is written in an extended BASIC withinformation to aid the user in implementing it in his or her own version of BASIC.General Ledger accepts postings from Account Payable, Accounts Receivable, orpostings entered directly; maintains balances for current month, quarter, years andprevious three years; and prepares trial balances, income statements, balancesheet and other financial reports. Well documented business software at a veryreasonable price. $15.00.

BITS

mc

POD 428, 25 Route 101 WestPeterborough, NH 03458

Books to orose the impossible

Charge Card Orders May Be Placed on Our

Toll-Free Number: 800-258-5477 liiivi'n.'.HMil

^PJg (In New Hampshire Call 924-3355)

VISA

For Ordering Use Coupon on Page 189

1B6 BYTE April! 979

Circle 35 on inquiry card.

In place of the old keyphrase PATRICIAZLOTNIK, three keystream generator num-bers (Rq, A], A2) now become the key. Thedemonstration values are chosen as:

(0.5, 1.625., 3.125).

(7)

This move from keyphrase to numericalkey required by automation is undesirable.A word or phrase is much more easilyremembered than a sequence of digits.In order to humanize this process, theprogram Keygen is written which acceptsa keyphrase and produces any number ofmachine-oriented keys (Rn, A-|, A2).

The ideal sequence generator would pro-vide an infinite sequence of Rn values,each value being statistically independentof all other values. In practice the sequencemust eventually repeat. There is a finitenumber of digits in the representation ofRn, so there is a finite number of differentRn values that may be produced. SinceRn + 1 is a function only of Rn, once avalue is produced that has appeared before,a computational cycle is entered whichcannot be broken and a periodic sequenceresults. This can create serious cryptographicvulnerability problems, especially if thesequence repeats during the processingof a message. Other shortcomings of se-quence generators, such as correlationtendencies or biases, can also be exploitedby the cryptanalyst.

Protection against looping is provided inCrypto using a technique ascribed by D EKnuth and J Gait to R W Floyd. See espe-cially problem numbers 6 and 7 in Section3.1 of the Knuth book in the bibliography.Floyd's algorithm requires that a secondsequence generator be used, which is cycledtwice for every cycle of the first generator.The values of Rn and R2n are compared.As Knuth shows, equality will always bereached before cycling begins. After eachcycle of Rn, comparison is made withR2n. and, if equality is detected, Cryptohalts (at step 211). If this occurs (very,very unlikely), pick another (Rn, A|, A2)key and try again. The author has testedmany keys selected at random and foundsequence lengths much longer than re-quired for any message, even in the worstcases. The demonstration key (0.5, 1.625,3.125), for example, has a nonrepeatingsequence length which lies between 18,303and 24,403, after which cycling takesplace with a period of 6101.

Transposition Operation

The operating principles of programCrypto can be explained with the aid of

Search Strategy

The method of generation of the random integer R for selection ofM-field cells (phase A, figure 1) does not preclude repetition in therandom number sequence. That is, on a given pass an M cell can bepointed to that which has already been used. The bits in the specialregisters are used to represent M-field cells, bit off meaning cell openand bit on meaning cell already used. Access to and control of thesebits currently involves arithmetic rather than logical operations, andprocessor time becomes an important consideration.

In the phase A pdrtion of figure 1, repeated trials are made to findan open cell. Up to T such trials are permitted before phase B is enteredas a slow but sure last resort solution. Timing runs indicate that onephase A trial requires 4.375 seconds of processor time. Hence wedefine a time cost Ca as:

Ca = 4.375 seconds.

(8)

This is the time required to test one isolated bit in one of the tenspecial registers.

In phase B an exhaustive search is made of each bit in the M-field.The overhead is lower here and it takes only 1.533 seconds to searcheach cell. However, the mean cell number searched until the specifiedempty cell is found will be roughly half the number of characters in themessage (Nc/2). Hence the mean cost of the phase B operation Cb, is:

Cb = 1.533

(f)" °

767 Nc.

(9)

Note that the phase B cost increases with the number of characters inthe message. For long messages, the cost of phase B becomes muchgreater than the cost of phase A. We seek now a strategy which mini-mizes the mean overall time cost (Co) for an M cell selection in thetransposition table generation. (The substitution operation takes avery short time to complete.)

If the number of open cells is S then the probability of success (Ps)per phase A trial is simply:

Ps

S

Nc.

(10)

On a given phase A pass, let the first success be on trial K. The prob-ability of this is:

(l-Ps)K-1(Ps);

and the total cost of this phase A operation is:

(K)(Ca).

The probability that T consecutive failures will occur in phase A (andhence require use of phase B) is:

(1-PsF.

The cost when this occurs is:

(TCa + Cb).

Putting these results together, the mean overall cost for a transpositiontable entry calculation becomes:

April 1979©BYTE Publications Inc 157

TCo = S(1-Ps)K-1 PsKCa + (1-k=1

-Ps)T (TCa + Cb). (1i;

Using the identity:

K-1

S NXNN = 0

fKXK~1 XK - llL X-1 (x-1)2 J

02)

allows equation 11 to be reduced to:

Co = Ca

N^-T]

+ Cb (1 - Ps)T.

(13)

The function Co is monotonic in T and behaves as indicated infigure 2. When T is equal to 0, no phase A trials are made and the costis simply the phase B cost (Cb). As T increases without limit (success inphase A is forced to prevent use of phase B) the mean overall cost hasan asymptote of Ca/Ps. If this value is smaller than the cost of phase B(Cb), the lowest mean cost (time) is achieved with the penalty thatsome calculations may never finish.

As the encipherment (or decipherment) progresses, S becomessmaller and eventually the critical point is reached when the value ofthe asymptote Ca/Ps equals the cost of phase B (Cb). Using equations(8), (9) and (10), this critical value (Sc) is seen to be:

Sc

(Nc) (S* \

\0.767Nc/

5.7;

(14)

which simply says that when the number of empty cells reaches approx-imately 6, phase A operation is too expensive (in time) because theprobability of success is too low. The strategy at this point is to cut outphase A completely and go directly to phase B. The parameter T con-trols the exchange of maximum processor time for a transposition tablecalculation to the mean processor time. Increasing T results in lowermean times and longer maximum times.

Figure 2 shows that, for sufficiently large values of T, the mean time(Co) becomes inversely proportional to the probability of success inphase A (Ps) and hence the number of opens cells (S). One way of keep-ing the probability of success (Ps) high and the mean cost (Co) low is topick a number for Nc (message length) which is greater than the actualmessage length. The program is then used only to process all the legiti-mate message characters. The remaining spaces are filled with randomlyselected characters (nulls). By this artifice, the number of available cells(S) is not permitted to run down to its critical value. Use of this tech-nique is detailed in the main text.

The 2 phase approach of figure 1 has real value even if faster compu-tation is at hand. Random tests of isolated M cells will always be fasterthan the contiguous M-field search required in phase B. Hence the opti-mization strategy will always be able to contribute to computationalefficiency. Additionally, the pseudorandom nature of the transpositiontable calculations helps isolate the resulting cryptogram from the key-stream generator, hence strengthening the cipher.

figure 1. The ten special registers S0-S9 ofthe HP 67 are reserved for up to 300 cipher-text character position indicators (M-field).A bit is reset (0) if the corresponding posi-tion is open and can accept a ciphertextcharacter. Conversely, the bit is set (1) ifthat M-field position has been filled in aprevious transposition operation.

The transposition operation of figure 1is comprised of two phases, A and B. Uponentry to phase A the sequence generator iscycled and a random integer number Rin the range 0 to Nc — 1 is generated.Position R is then tested in the M-fieldand if the Rth position is open the bit isset and phase B is bypassed. If the positionis already filled, additional tries via loop Aare executed. If an open position is notfound in T trials, phase B is entered.

Phase B is demanding of processor time,but success here is guaranteed. A count Sis kept of the number of open spaces remain-ing in the M-field. The sequence generator iscycled and random integer number R isgenerated in the range 0 to S - 1. Theentire M-field is then searched and the openpositions are counted until the Rth one isreached. When this happens the correspond-ing bit in the M-field is set and phase B iscomplete.

Following phases A and B an M value iscomputed and the transposition pair J.Mis displayed with the program halted. Thetransposition portion of the program is nowcomplete.

Substitution Operation

In dual mode operation the user wouldat this point enter Pj (encipher) or Cm(decipher) and press R/S to restart theprogram. The necessary residue arithmeticwould be done as shown in table 10 and theprogram would again halt showing either:

J.M Cm (encipher)

or

J.M Pj (decipher).

The substitution key is generated fromthe Rn register of the Floyd algorithm; thesequence generator is not cycled for thisoperation. In the transposition only mode,this whole process is bypassed as indicated infigure 1.

Key Generation

Those concerned with field ciphers generally concede that the basicmethod of operation cannot be kept secret. The security of the cipher,therefore, rests in the key. In some of the examples given in part 1 of

Throughput Optimization Strategy

After this information is disposed of bythe user, the program is restarted. If thenumber of open spaces in the M-field is Q

158 April 1979 ©BYTE Publications Inc

/TRS-80 owners\

AVAILABLE FOR IMMEDIATE DELIVERYCASSETTE SOFTWARE DISKETTE

Package # 1036 (Level II) $495.00

COMPLETE SMALL BUSINESS - This program is a complete small business program that was tailored towork for most small business applications. The program includes such things as Accounts Receivable,Accounts Payable, Invoicing, Inventory Control, Payroll and General Ledger.

Package # 1038 (Level II) $ 99.95

ACCOUNTS RECEIVABLE

Package # 1039 (Level II) $ 99.95

ACCOUNTS PAYABLE

Package # 1044 (Level II) $125.00

INVENTORY CONTROL

Package # 1045 (Level II) $ 99.95

INVOICING

Package # 1046 (Level II) $ 99.95

PAYROLL

Package # 1047 (Level II) $ 99.95

MAILING LIST

Package #1024

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR I - BANNER - UFO ATTACK - PILE UP -

BIORHYTHM - AUTO RACE and WORDS.

Package ¥ 1026

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR II - CIVIL WAR - TRAP THE TRIBBLE -

LIFE - KNIGHT - CONCENTRATION and LUNAR

LANDER.

EDUCATION

OVER 150 EXCITING PROGRAMS* MORE EVERY DAY *

ELECTRONICS

MARKETING

Also available for PET and APPLE.

All SOFTWARE-80 programs are guaranteed.

Programs available in Level I and Level II Basic.

All of our business programs will operate with printer; custom programs also available.

With certified check or money order, all orders shipped within 24 hours.

Personal checks allow 2 weeks. Send for our complete catalogue.

— SOFTWARE-80 —

18228 Cabrillo CourtFountain Valley, CA 92708

ALL PRICES AND PflOGHAMS AflE SUBJECT TO CHANGE WITHOUT NOTICE

Circle 321 on inquiry card.

BYTEApriM979 159

this article, the keys were easily remembered keyphrases such as ROYALNEW ZEALAND NAVY, PHYSICAL EXAMINATION, and our ownPATRICIA ZLOTNIK. In program Crypto the key becomes the 3number group (Rn, Ai, A2) such as (0.5, 1.625, 3.125).

Since keyphrases are more easily remembered than a sequence ofdigits, program Keygen has been written to permit the use of key-phrases for the generation of keys for program Crypto. One part of theprogram key is a 10 digit integer which we may call the key base. Oncethis base number is entered into Keygen, a number of keys may begenerated. Each key triplet is identified by a key number N. If a differ-ent key base is used, a different sequence of (Rn, A-j, A2) keys will begenerated. If Keygen is employed, the user needs to know both the keybase used to produce the sequence of keys and the number of the keywithin the sequence.

A convenient way of relating keyphrase to key base is to number thenormal alphabet using 2 digit numbers. That is: A = 01, B = 02, C = 03,. .., X = 24, Y = 25, Z = 26. Now simply associate each letter with thesecond digit of its corresponding numerical value. Ten characters areselected from the keyphrase and their digit-for-character equivalencesform the key base. For example, calling once more upon our friendfrom the main text yields:

PATRICIAZL (keyphrase);6108939162 (key base).

Using Keygen with this key base, a table of keys may be created andlisted by key number N as follows:

N

R

0

Ai

A2

1

0.6233

1.7175

2.8561

2

0.4283

1.7423

2.6784

3

0.6564

1.7579

3.5444

4

0.3809

1.8209

3.8895

5

0.6771

1.9392

4.8296

6

0.6119

1.9619

3.9956

7

0.7612

1.7418

2.3276

8

0.7039

1.9241

3.4082

9

0.9190

1.7517

2.4218

0

0.9546

1.3436

3.4242

A little imagination in the use of Keygen should make it possiblenever to have to repeat the use of a key. For example, in a multiple-userenvironment, each user could be assigned a unique block of key num-bers. These would be used in some form of rotation that could be re-started after a new key base is invoked. All users must know the keybase by prearrangement. The key number, however, could be containedin the cryptogram. If certain groups are set aside by prearrangement ascontrol groups, the key number information could be contained inthese characters.

For example, let the third group of each cryptogram be a controlgroup and assume the same alphabetic-numeric equivalence described inthe keyphrase-key base relationship. Let the center character of thethird group indicate mode: even number for transposition only, oddnumber for dual mode. The first two characters of this group couldrepresent mixed alphabet key number for dual mode or would be nullsin the transposition only mode. The last two characters could representthe encipherment operation key number. The control group JNGTI,for example, signals dual mode, indicates key number 4 for mixedalphabet generation, and shows that key number 9 was used in encipher-ment. The control group is inserted into the cryptogram after encipher-ment and removed before decipherment.

or less, phase A is skipped and phase B isentered directly. Otherwise the programloops back and enters phase A. This strategyand the choices of T and Q are designedto minimize the mean processing time(details are in the text box on searchstrategy). Coincidentally this approach pre-sents the cryptanalyst with a highly non-linear, multivalued barrier from the cryp-togram back to the key (Rn, Ai, A?). Onsome passes Rn is cycled only once. At theother extreme it is also possible that Rn iscycled T times in phase A and one timein phase B for a total of T + 1 cycles of theRn generator. The luck of the draw natureof the transposition algorithm can producesome dramatic changes in the flow of eventsarising from very minor situation differ-ences, such as adding or subtracting onecharacter from the plaintext. This algorithmhas some interesting trapdoor or one wayproperties.

General Remarks

With the notable exception of Vernam'sonetime key, all cryptographic systems areconsidered to be vulnerable to cryptanalyticattack. As a consequence any proposedcryptographic technique must be evaluatedfor degree of security before being used.The adversary roles of the cryptographerand the cryptanalyst have existed for cen-turies. Mathematical proofs of security(usually based on the impossibility oftesting the vast number of combinationsoffered) have lured innumerable amateursand a few professionals over the yearsinto positions that later proved embar-rassing to the people who formulatedthe proofs. These proofs of invulnerabilitywere destroyed by competent cryptanalystswho accepted the futility of exhaustivesearches and instead searched for othermeans to break the system. The questionof security, which is the very core of cryp-tography, encompasses many disciplines andoccupies the full-time efforts of thousandsof talented people worldwide. Part III ofthe Shannon paper and sections VI and VIIof the Diffie and Hellman paper are highlyrecommended for background in this area(see bibliography).

Standard evaluation methods of secrecysystems involve cryptanalytic attacks on thesystem. The ciphertext only attack is theweakest test, since the analyst is given onlyciphertext with which to work. Systemswhich fail this test are rated as very weak.The known plaintext attack allows theanalyst access to corresponding portions ofplaintext and ciphertext. The most severetest is the chosen plaintext attack, in which

160 April 1979©BYTE Publications Inc

fj\ OSBORNE & ASSOCIATES, INC.

BUSINESS SOFTWARE FORMICROCOMPUTERS

Osborne & Associates is publishing its business systems in book form.These systems represent five years of development and testing byO&A programmers, and the books include more than a year's worth ofextensive and detailed documentation.

What systems are we selling?

1) PAYROLL WITH COST ACCOUNTING

2) ACCOUNTS PAYABLE AND ACCOUNTS RECEIVABLE

3) GENERAL LEDGER

Each book sells for $ 15.00, and includes source listings in Wang BASIC,program and system documentation, and user's manual. Each is acomplete package by itself, or all three may be implemented togetherto form a complete system with interdependent files.

And if Wang BASIC won't work, or you don't know programming, or you'd rather not key in thousands of words ofsource code, take a look at the list of consultants who have adopted O&A programs, converted them to run onmany popular systems, and are waiting to hear from you.

CP/M CBASIC: GOOD NEWSFOR CONSULTANTS, COMPUTER STORES AND SOFTWARE HOUSES

Osborne & Associates is converting its business software from Wang BASIC — as it was originally published — to CP/M CBASIC, which runs onmany floppy disk-based microcomputer systems. We will only sell the CP/M magnetic surface to consultants, computer stores and softwarehouses. Osborne & Associates prefers to write and sell books, not customize the programs or answer the end user's questions. The disk for eachbook sells for $250.00. Once you buy the floppy disk you can copy it. resell it, change it or use it. We place no restriction on the magnetic sur-face; we copyright only the printed word in our books. CBASIC Payroll is available now. All three systems are scheduled to be available in the firsthalf of 1979; call or write for the exact availability of each system.

If you are an end user interested in the CBASIC programs, write or call

us. We will put you in touch with your closest dealer.

ALPHA MICRO:

IBM 5110:

TRS-80:

DIGITAL GROUP Z80 under OASIS BASIC:

P. Burke

Mark Sherman

Don French

Charles Finn

THE BASIC BUSINESS SOFTWARE CO . INC.

DATA WORKS

FMG CORPORATION

THE SYSTEMS GROUP

P.O. Box 2032

35 E. Wacker Drive. Suite 1843

3312 Denbury Drive

2993 Boring Ridge Drive

Sail Lake City, UT 84110

Chicago. IL 60601

Fort Worth. TX 76133

Decatur, GA 30034

(8011 363-1199

1312)726-2572

(817) 738-0251

(404)289-8969

APPLE II:

MICROPOLIS. PROCESSOR

James E. Smith. Jr.

Wang BASIC:

Roger Varnes

TECHNOLOGY. NORTHSTAR:

THE READY CORPORATION

Richard Armour

ADVANCED COMPUTER TECHNOLOGIES

David Price

P.O. Box 532

ATLANTIC COMPUTING & CONSULTING

290 Hilderbrand Avenue N.E.

DAP SYSTEMS

Pleasanton. CA 94566

P.O. Box 7294

Atlanta, GA 30328

3901 Victoria Lane

(415)443-4876

Hampton, VA 23666

1404)255-8984

Midlothian. VA 23113

(804)340-9350

Joe Poston

MICROSOFT disk BASIC:

TARANTO t> ASSOCIATES

BASIC for ZILOG MCZ. ZDS

A.C.E. COMPUTER SYSTEMS

Dan Kindred

P.O. Box 6073

Timothy Fossum

2449 North Westshore

GNAT COMPUTERS. INC.

San Rafael, CA 94903

CUSTOM COMPUTER SYSTEMS

Tampa. FL 33607

7895 Convoy Court

(415)472-1415

4328 Pennington Lane

1813)872-8301

San Diego, CA 92111

Racine. Wl 53403

(714)560-0433

(414)554-0320

cf»

OSBORNE & ASSOCIATES, INC.

P.O. Box 2036, Berkeley, CA 94702630 Bancroft Way, Berkeley, CA 94710(415) 548-2805 TWX 910-366-7277

Attention:Dept. 119

ZIP

PHONE

D I am an end user interested in run-ning CBASIC programs. Please notify

me of the closest dealer for:

D I am a dealer interested in purchas-ing CBASIC programs for resale. Pleasesend description and order informationfor:

D CBASIC Payroll with Cost Accounting

□ CBASIC Accounts Payable/Receivable

□ CBASIC General Ledger

BOOK

PRICE

QUANTITY

AMOUNT

09-8 Payroll with Cost Accounting

$15.00

13-6 Accounts Payable/Receivable

$15.00

20-9 General Ledger

$15.00

SHIPPING (Shipping for large orders to be arranged) California residents tax

D All loreign orders $4.00 per book for airmail

□ $0,45 per book 4th class (allow 3-4 weeks in the U.S.) S IPP'ng

□ $0.75 per book UPS in the U.S. (allow 10 days) TOTAL AMOUNT

□ $1.50 per book special rush shipment by air in the U.S. ENCLOSED

Please send the following information:D Becoming an O&A dealer

□ School discounts

□ List of foreign distributorsD Other O&A publications

Payment in advance must be enclosed for purchasesof up to $70.00. Invoicing U.S. purchases over $70.00available upon approval of your account. All foreignorders musi be prepaid m U.S. dollars drawn on a U.S.bank.

Calif, residents add 6% sales tax.

S.F BART residents add 6-1/2 % sales tax

S1001Circle 292 on inquiry card.

BYTE April 1979 161

Table 15 gives detailed user instructions for program Keygen. Anerror halt at program location 120 (very unlikely) indicates that alooping condition has been detected in the Keygen random numbergenerator. The largest permissible key number value for this key baseis one less than the difference between the contents of register 8 andregister I. Either stay within this limitation or change the key base. Asa precaution, one could generate the highest numbered key to be usedwhen a new key base is invoked to insure that there are no loopingproblems within Keygen. As mentioned before, it is very unlikely thatthis condition will ever be encountered. The 3 sequence generatorcycles required by the Floyd algorithm serve double duty in Keygen.For each key triplet generated, the Rn register of Keygen supplies theseed; one less than R2n is used to compute Ai; and R2n is employed inthe A2 calculation.

2.

3.4.5.6.7.8.

9.10.

11.12.

Prepare table as example table 14b shows. Enter ciphertext Cm and, (14a)

using alphabet table, enter Cm values.

Switch calculator to RUN and ON.

Load program.

Input data Rq, Ai, A2, Nc. Follow each entry except the last with ENTt. Press A.

Input data Na; follow Na with CHS (that is enter —Na).

Press R/S to start program. _

Calculator will stop with J.M in display. At index M, select Cm and enter. Press R/S.

Calculator will stop with a number in the form J.M Pj. At index J in table enter Pj

from display.

Press R/S and return to step 7.

Repeat the steps 7, 8 and 9 loop. Pressing R/S after character Nc flashes the ERROR

sign. When flashing stops press R/S one time.

Using alphabet table convert Pj to Pj to obtain plaintext.

If program is to be restarted, return to step 4.

Decipherment Example

(14b)

J,M 01 02 03 04 05 06 07 08 09 10CmHFYMPIZXMGCm 13 01 10 22 19 11 05 06 22 09Pj 22 07 10 21 19 02 11 23 19 25Pj MAYUPBIDPR

index

ciphertext

from alphabet table. Enter at step 7.

from program at step 8.

from alphabet table.

Table 14: Crypto instructions for deciphering in the dual transposition andsubstitution mode. The sample table used in deciphering is shown in table14a. The key is A :0.5, 1.625, 3.125, 10 R/S: -26; table 9 used.

1. Set calculator switches to RUN and ON.

2. Load program.

3. Enter the 10 digit integer key base number and press D.

4. Enter key number N desired and press E.

5. Display will show a number in the form N.Rq with four digits assigned to Rg. Keynumber N is shown for identification only.

6. Press R/S to obtain A1.

7. Press R/S to obtain A2- This completes key number N data (Rq, A-j, A2).

8. If R/S is pressed at this point, the program cycles back to step 5 with N+1 replacingN. Thus, the 5,6,7,8 loop may be used to obtain a sequence of keys.

9. After step 7, the user may start a new sequence by returning to step 4. To save time,plan use so that N values are called for in ascending order.

10. Step 3 may be entered after step 7 to change the key base.

Table 15: Detailed instructions for using program Keygen to generate keyswhich are used with program Crypto.

the analyst chooses the plaintext sourcematerial and the corresponding ciphertextis also made available for analysis.

With the above in mind, the trapdoorsystems described earlier display yet anotherfascinating difference from the classicalcryptographic techniques. Normally thematerial for plaintext attacks must be ob-tained through devious means. In the trap-door case the public encryption key invites

chosen plaintext attack at the leisure of theanalyst. If the system is strong enough tosurvive this test, it is strong indeed byclassical standards. The revival of the largenumber of possibilities argument which hasbeen discredited so many times in the pastis also most curious. Can it be that thetrapdoor approach results in a situation inwhich large numbers are both necessaryand sufficient7. Consider this remarkablestatement by Martin Gardner:

Computers and complexity theoryare pushing cryptography into anexciting phase, and one that maybe tinged with sadness. All overthe world there are clever men andwomen, some of them geniuses, whohave devoted their lives to the masteryof modern cryptanalysis. Since WorldWar II even those government andmilitary ciphers that are not one-time pads have become so difficult tobreak that the talents of these expertshave gradually become less useful. Nowthese people are standing on trapdoorsthat are about to spring open and dropthem completely from sight.

This statement, cited in the bibliography,is made all the more remarkable when oneconsiders the stature of the man who madeit. Aside from the trapdoor hypothesis,there is the indication here that emergingtechnology has been favoring the cryp-tographer and that the cryptanalyst isbeing outdistanced in this phase of therace. Advances in computer technology mayhave given governments the privacy theyseek for their communications. Will furtheradvances extend this same privilege to thecommon citizen?

Progress in communication techniques,data processing and data storage has made itincreasingly convenient for governmentsto invade the privacy of their citizens.Further developments in cryptographictheory and related digital processing devicesare bound to lower costs considerably. Thestep from insuring the privacy of computerbased business transactions to insuring theprivacy of personal communications andrecords is not too hard to imagine. Scienceknows no politics or philosophy. Tech-nology, which in the past has permittedestablished groups to invade the privacyof the individual, may be about to makerestitution.

Evaluation of Crypto

In the qualitative discussion which fol-lows, a known plaintext attack will be

162 April 1979 ©BYTE Publications Inc

Drive a Winner.

Km

H«&.

0

t

A

FILL SIZE. DUAL DENSITY. AFFOKDARLE PRICE

We are offering, for a limited time, theindustry proven Remex RFD1000BDisc Drive at an introductory price of$395. This is the lowest price everadvertised for a full size disc drive. Thisdrive can operate in either single ordouble density mode and can store upto 800k bytes unformatted. It has beenon the market for three years and hasbeen proven in the field.

We are also a service center and readyto service what we sell at rates thatkeep hobbyist and small OEM budgetsin mind.

f 395.QO

'Decals and Wheels not included in purchase price.

BONUS OFFER: We will includetwo important options-OpticalWrite Protect and a Door LockMechanism-list price value$50. for only $25. for orderingpromptly. If you include checkor money order with yourorder, we will include these twooptions absolutely FREE.

The Computer FactoryP.O. Box 155Arlington Ma. 02174

Name

Address

City

State Zip

Disc Drives @ $395.

Options Packages @ $25.

Shipping ($6.00/drlve)

Tax (Mass. Residents)

TOTAL

O Check or M.O. with order

(Get tree options package)D C.O.D. (Include 25% with order)

DM.C.D

D Vlsa#

Signature

Circle 68 on inquiry card.

BYTE Aprill 979 163

MEANCOST(Co)

PHASEB

COST(Cb)

Figure 2: Graph showingthe variation in the meancost with respect to thenumber of trials allowedto take place to find anempty cell.

T

CoPs

_i_

NUMBER OF TRIALS (T)

assumed as the testing vehicle. The reasonfor making transposition mandatory inCrypto may be demonstrated by consider-ing a known plaintext attack on a sub-stitution cipher. In such a cipher, charac-ter positions remain unaltered in the cryp-togram. The ciphertext character valuesare the modulo sums of key and plaintextvalues. The known plaintext attack removesthe plaintext value cover to reveal the keygenerator values. The analyst then attemptsto determine the generator parametersettings by use of the known sequence of

SURPLUS PRINTER FOR TRS80*

0KIDATACP110

LINE PRINTER

WITH INTERFACE

BOARD.

T.M. • RADIO SHACK

NO SOFTWARE OR HARDWARE CHANGESREQUIRED. JUST PLUG IN AND RUN!

• 5x7 Impact Dot Matrix•80 Char/Line

•64 Char ASCII (Uppercase)

• 110 Char/Sec.

• 66 Lines/Min.•Accepts 8-1/2" TTY

Roll paper

PRINTER $650.00

INTERFACE: BUILT $100.00KIT $ 60.00

INF0R & SCHEMATIC S 5.00

Shipped Freight collect. Send check,M.O.: i^^^h

INCLUDES - Power Supply, Built inSelftest, Parallel Interface, Line Buf-fer and Cables. Housed in a threepiece plastic cabinet with all controlelectronics. Retail lor over $1,100.PRINTER BRAND NEW NEVER USEDIN FACTORY SEALED CARTON.Operating Manual Included, supplies

Limited

Guaranteed to be in good workingorder at time ot delivery.

Write for Interface Info on Heath,Apple, Imsai, Sol, Northstar

INTERNATIONAL ELECTRONICSEQUIPMENT CORP.

P.O. Box 522542, Miami, Florida 33152

generator key numbers. In a straight sub-stitution cipher the security load is carriedentirely by the keystream generator. Gaitindicates that shift register generatorsproduce very poor ciphers, especially thelinear congruential generators which are incommon use (see bibliography).

No claim for greatness is made for thegenerator used in Crypto as defined inequation (5). We have ignored Knuth'sadmonition not to select a random generatorat random. While this algorithm appears tobe satisfactory, there would be no hesita-tion in replacement by a better algorithmthat fits into the available coding space.

The sequence generator and the organiza-tional logic of Crypto (figure 1) worktogether against the cryptanalyst. Considera transposition only cipher and a knownplaintext attack. The characters of the plain-text are scattered throughout the cipher-text with replications. There are 13 Ts inthe sample of known plaintext, for example,and 48 Ts in the cryptogram. There are toomany ways to relate these two groups (plain-text-ciphertext) in order to get sequencegenerator output strings for analysis.

It should also be noted in figure 1 thatthat the phase A/phase B logic plays animportant role in frustrating analysis.Even if consecutive plaintext transpositionscould be identified, this does not mean thatsequential outputs of the random numbergenerator were involved. There may havebeen several loop A cycles in search of anopen M field position between placements.The future behavior of the system of fig-ure 1 from any point on is a function ofthe entire past history of the system. Thisseems to demand a chosen plaintext attackbased on the beginning of the message.The analyst cannot jump into the middleof the process, so to speak. In fact, even ifthe entire transposition sequence (Mi,M2, . . . , M|mc) were known, there does notappear to be a sure way of working back tothe (Rrj, Ai, A2) generating key. The quan-tizing operation INT [Nc X R2rJ definesonly a range for R2n when the result isgiven, and represents a complicating factor.The lost odd cycle of the sequence generatorin the transposition operation should alsoprove quite annoying to the analyst. TheFloyd algorithm is thus used to protectthe cipher in two ways.

Further protection may be obtainedfrom the substitution operation. If thealphabet is expanded to include numerals,the scrambled order of numerals in thetransposition only cryptogram may stillbe too revealing. In such cases the dualmode of operation is highly recommended.I believe that a very effective cryptographic

164

April 1979 © BYTE Publications Inc

Circle 177 on inquiry card.

capability results if Crypto is used accordingto the instructions given.

The author wishes to express his thanksto Dr J C Buchta and Dr S B Akers, Jr,both of the General Electric Company,for many interesting comments andcriticisms.

I O E O L

A O M N A

F I I E R

M U S E X

H S L N T

A D O T Y

A F T E H

O O E A O

R W X W I

F W R G O

T I Y R T

S E G O R

F G P T H

T O O O E

H H X A R

S R R D H

R S R F N

T K E B A

G S H U T

F I K M R

P D N U D

B O Y U L

BIBLIOGRAPHY

1. Kahn, David, The Codebreakers, the Story ofSecret Writing, Macmillan, New York, 1967.

2. Vernam, G S, "Cipher Printing TelegraphSystems for Secret Wire and Radio TelegraphicCommunications," Journal of the AmericanInstitute of Electrical Engineers, volume 45,pages 109 thru 115, 1926.

3. Shannon, C E, "Communication Theory ofSecrecy Systems," Bell System TechnicalJournal, volume 28, October 1949, pages 656thru 715.

4. Diffie, W and Hellman, M E, "New Directionsin Cryptography," IEEE Transactions onInformation Theory, volume IT-22, number 6,November 1976, pages 644 thru 654.

5. Knuth, D E, The Art of Computer Program-ming, volume 2, Seminumerical Algorithms,Addison-Wesley, Reading MA, 1969.

6. Rivest, R L, Shamir, A and Adleman, L, "AMethod for Obtaining Digital Signatures andPublic Key Cryptosystems," Communicationsof the ACM, volume 21, number 2, February1978, pages 120 thru 126 and 1 79.

7. Gait, J, "A New Nonlinear PseudorandomNumber Generator," IEEE Transactions onSoftware Engineering, volume SE-3, number 5,September 1977, pages 359 thru 363.

8. Gardner, Martin, "Mathematical Games/A NewKind of Cipher That Would Take Millions ofYears to Break," Scientific American, August1977, pages 120 thru 124.

9. Gaines, Helen F, Cryptanalysis, A Study ofCiphers and Their Solutions, Dover, New York,1956. (Formerly published under the title.Elementary Cryptanalysis.)*

Up YourOutput.

TEMPOS

MULTI-TASKING!

The TEMPOS Operating System is quickly becoming the standard in Multi-User, Multi-Tasking operating systems for 8080 and Z80 microcomputers.Multi-Tasking means that, even with only one user at one terminal, morethan one job can be running on the system simu/faneous/y.'If you have everhad to go get a cup of coffee while you wait for your computer to print list-ings, you know the advantages of a system that will handle one job whileyou are working on another. TEMPOS is a true time sharing system, andthe maximum number of jobs is limited only by your memory.

MULTI-USER!

Want to share your computer with another user? With TEMPOS all it takesis another terminal... up to seven interactive terminals are allowed! Andwith Re-Entrant programs, each user does not need a complete copy inmemory. We include three Re-Entrant programs (the OPUS/THREE High-Level Language, the TEXTED Text Editor, and FILES, a disc filedirectory/manipulator) or write your own! In addition, we include anassembler, a linking loader, over a half-dozen other utility programs andover 60 system subroutines, callable by the programmer!

PROVEN!

With TEMPOS, you get a package that has been tested in our facilities forover two years, and in the field at over 50 different installations. We haveused this system ourselves for everything from writing high-level languagesto developing applications to text editing to games. TEMPOS is undoubted-ly the most flexible software tool on the market. . . and you can have it formuch less than you think!

COMPATIBLE!

TEMPOS is available for many different systems; pre-written drivers mayinclude yours. Or, using our interactive System Generation Routine, youcan add your own. Call or write nouj for our free catalog and the name of adealer near you. The TEMPOS Operating System is available for $787.00,the manual set (price may be credited toward the purchase of the TEMPOSpackage) for $21.50 (prices include shipping within the U.S.).

ADMINISTRATIVE□□SYSTEMS□□□INC.□□

1642 S. Parker Road, Suite 300, Denver, Colorado 80231(303) 755-9694

Circle 2 on inquiry card.

April 1979 ©BYTE Publications Inc 165

Life Can Be Easy

Randy Soderstrom4601 Goldfinch DrMadison Wl 53714

I've written a fairly short and simple pro-gram (about 220 bytes) to play Life on an8080 based system. You need only twopages of memory for the program and theplaying board. When this was originallywritten, I had only 1 K bytes of memory inmy Altair, so this version is a simple one.A few extensions are suggested, but they arenot necessary to enjoy Life.

The playing board is a 16 by 16 gridtaking one page (256 bytes) of memory.Only the two least significant bits of eachbyte are used, and the leftmost column andtop row are used as a border. If you don'tuse the border, the top of the board isnext to the bottom, and the right edge isnext to the left edge.

The board is arranged as shown in fig-ure 1. The number in each box is its ad-dress in memory. It is initialized by firstsetting all locations to 00. Next, hexa-decimal locations 00 through OF (thetop row) and 10, 20, 30 . . . E0, F0 (left

00

01

02

03

04

05

06

07

08

09

OA

OB

oc

0D

0E

OF

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

1D

1E

1F

20

2F

30

3F

40

4F

50

55

56

57

58

59

5A

5B

5F

60

61

62

63

64

65

66

67

68

69

6A

6B

6C

6D

6E

6F

70

71

72

73

74

75

76

77

78

79

7A

7B

7C

7D

7E

7F

80

85

86

87

88

89

8A

8B

8F

90

9F

AO

AF

BO

BF

CO

CF

DO

D1

D2

DF

E0

E1

E2

E3

E4

EF

FO

F1

F2

F3

F4

F5

F6

F7

F8

F9

FA

FB

FC

FD

FE

FF

Figure I: Layout of the Life board in memory. The number of each box isits address. The shaded boxes are border cells.

column) are set to hexadecimal FF. Eachcell with FF is a border cell and is ignoredby the rest of the program. The functionof the border will become clear later.

The initial pattern must be loaded bysome other loader program or through yourfront panel. You simply draw the firstgeneration on a sheet of graph paper num-bered as in figure 1, then set the addressof each line cell to hexadecimal 01.

Each byte looks like figure 2. Notethat only the two least significant bitsof each byte are used. Bit zero is a 1 ifthat cell is alive this generation. If it willbe alive next generation, bit one is alsoa 1. To make the next generation intothis generation, we need only shift eachmemory location to the right.

The program is written to be simple —not efficient or fast — and consists of sixmain routines that are called repeatedlyfor each cell (see listing 1). SubroutineNCOUNT, for example, is called about1,900 times each generation.

The first routine, BDINIT, initializesthe board (clears it and sets up border)and then jumps to your loader to get theinitial pattern. After you have loaded aninitial pattern, you will want to writeit out on your terminal before the nextgeneration is computed. This is done byroutine WRITE. The border charactersare written as a slash and the live cells asa star.

Before a line is written, it is scanned forlive characters. If none are alive, a slashand a carriage return are output, and thenext line is checked. This saves the com-puter the task of writing a line of blanksand can save considerable time in writingout small patterns.

Now we have the board set up andthe initial pattern loaded and checked.The computer is ready to calculate thenext generation. Since the status of a cell(alive or dead next generation) dependsonly on the number of live neighbors, theprogram simply goes from one cell to thenext counting the number of live neigh-

166 April 1979 © BYTE Publications Inc

7

6

5

4

3

2

1

0

1

I

■"

State this generationState next generation

Figure 2: Bit zero is thepresent generation bit. Bitone is the next generationbit. The rest of the wordis not used.

bors. For example, if we are looking at thecell at location hexadecimal 68, we wouldcheck cells 57 thru 59, 67, 69 and 77 thru79. This is done by subroutine VALCK.When the routine is exited, register E holdsthe number of live neighboring cells.

Next subroutine ESET is called. Thisroutine sets the next generation bit ifregister E equals 3, clears it if register Eequals 0, 1,4, 5, 6, 7, or 8 and sets it equal

to the present generation if register Eequals 2. The only variation from thisprocedure concerns the border cells. Theyare treated as dead cells when countingneighbors. If we are pointing to a bordercell when VALCK is called, the routineis exited before any tests are performed.To initialize the board, begin at BDINIT.After you have loaded the first generation,enter at WRITE, and your work is done.

Listing 1: The board initialization routine (BDINIT) sets the entire board (figure 1) to 00.Next the border cells are set to FF. A jump is then made to the loader program to get theinitial pattern. Subroutine WRITE displays the board on the video display. Border charactersare written as a slash, live cells as a star. If your display doesn t scroll on a carriage return,you will have to change this routine. The next generation is calculated by subroutine MOVEby calling VALCK and ESET for each cell. After MOVE is done, routine UPDA TE is enteredand the board is output. Update rotates each nonborder cell to the right. The next generationbit moves into the present generation bit. VALCK is called by the main MOVE routine. MOVEsets register pair BC to the address of the current cell. The HL registers look at its neighbors.NCOUNT checks the cell addressed by register pair HL. If that cell is alive, register E is incre-mented. This routine is called repeatedly by VALCK which sets up the HL register pair beforecalling. ESET sets the next generation bit based on the contents of register E. ESET is calledafter VA LCK and determines the number of live neighbors.

lexadecima

Hexadecimal

Label

Op Code

Operand

Comment

Address

Code

0A00

06

00

BDINIT

MVI

B,00

This part sets

0A02

68

MOV

L,B

every byte of page

0A03

26

09

MVI

H,09

08 to 00.

0A05

70

CLEAR

MOV

M,B

0A06

2C

INR

L

0A07

C2

05

0A

JNZ

CLEAR

0A0A

3E

11

MVI

A,11

This section

0A0C

06

FF

MVI

B,FF

sets the top

0A0E

2E

00

MVI

L,00

row (address 00

0A10

70

TOPROW

MOV

M,B

thru hexadecimal 10)

0A11

2C

INR

L

to hexadecimal FF.

0A12

BD

CPR

L

0A13

C2

10

0A

JNZ

TOPROW

0A16

2D

DCR

L

L= 10.

0A17

AF

XRA

A

0A18

57

MOV

D,A

0A19

1E

10

MVI

E,10

Number of cells per row.

0A1B

70

EDGE

MOV

M,B

Add 10, move pointer down one

0A1C

19

DAD

D

0A1D

BD

CPR

L

0A1E

C2

1B

0A

JNZ

EDGE

Done when L = 00.

0A21

C7

RST

0

Jump to loader.

0A22

21

00

09

WRITE

LXI

H,00 09

Start of board.

0A25

0E

OF

BWRITE

MVI

C,0F

Number of characters per line.

0A27

5D

MOV

E,L

Save starting address of this line

0A28

AF

XRA

A

Write a carriage return.

Listing I continued on next page.

April 1979©BYTE Publications Inc 167

Listing 1, continued:

S0A290A2A0A2B0A2C0A2D0A2F0A300A310A320A330A340A370A380A3B0A3C0A3F0A420A430A450A460A470A490A4C0A4E0A510A530A540A570A590A5A0A5D0A5F0A600A610A640A650A670A690A6A0A6D0A700A710A740A770A790A7A0A7C0A7F0A800A820A830A840A870A8A0A8C0A8D0A8F0A900A910A930A940A970A980A9B0A9C0A9FOAAOOAA10AA4OAA50AA60AA9OAAAOAACOAADOABDOAB10AB4OAB50AB60AB8OAB9OABAOABBOABC

FF

00

00

00

3E

FF

AF

2C

B6

OD

C2

B7

C4

2C

CA

C3

6B

OE

2C

7E

FE

CA

FE

CA

3E

FF

C3

3E

FF

C3

3E

FF

OD

C2

C9

OE

26

44

CD

CD

OC

CA

C3

2E

7E

FE

CA

1F

E6

77

2C

C2

C3

1E

OA

FE

C8

79

D6

6F

CD

2C

CD

2C

CD

69

2D

CD

2C

2C

CD

79

C6

6F

CD

2C

CD

2C

7E

FE

C8

1F

DO

1C

C9

2F

31 OA

42 OA

65 OA

25 OA

OF

01

57 OA

FF

5D OA

20

60 OA2A

60 OA2F

45 OA

1109

8A OABD OA

77 OA6A OAOA

FF

83 OA

01

79 OA22 OA00

FF

11

B5 OA

B5 OA

B5 OA

B5 OA

B5 OAOF

B5 OA

B5 OA

FF

TEST

WRTLINNEXT

ALIVE

SLASHOVER

MOVE

NXCELL

UPDATELOOP

BRDRVALCK

NCOUNT

RST

NOP

NOP

NOP

MVI

RST

XRA

INR

ORA

DCR

JNZ

ORA

CNZ

INR

JZ

JMP

MOV

MVI

INR

MOV

CPI

JZ

CPI

JZ

MVI

RST

JMP

MVI

RST

JMP

MVI

RST

DCR

JNZ

RET

MVI

MVI

MOV

CAL

CAL

INR

JZ

JMP

MVI

MOV

CPI

JZ

RAR

ANI

MOV

INR

JNZ

JMP

MVI

LDAX

CPI

RZ

MOV

SUI

MOV

CAL

INR

CAL

INR

CAL

MOV

DCR

CAL

INR

INR

CAL

MOV

ADI

MOV

CAL

INR

CAL

INR

MOV

CPI

RZ

RAR

RNC

INR

RET

A,2F

7

A

L

M

C

TEST

A

WRTLIN

L

MOVE

BWRITE

L,E

C,OF

L

A,M

01

ALIVE

FF

SLASH

A,""

7

OVER

A,"*"

7

OVER

A/7"

7

C

NEXT

C,11

H,09

B,H

VALCK

ESET

C

UPDATE

NXCELL

L,0A

A,M

FF

BRDR

01

M,A

L

LOOP

WRITE

E,00

B

FF

A,C

11

L,A

NCOUNT

L

NCOUNT

L

NCOUNT

L,C

L

NCOUNT

L

L

NCOUNT

A,C

OF

L,A

NCOUNT

L

NCOUNT

L

A,M

FF

Output routine.

Write a slash (/).

Clear accumulator.

Point to next cell.

If alive value is nonzero.

Decrement character counter.

If not done with live go to test.

Set flags.

If register A nonzero, there are live cells.

Compute next move if done writing board.

Address of start of line.Restore character counter.Point to first nonborder cell.

Jump if cell is alive.

Jump if border cell.Must be dead cell.Write dead cell.

Living cell.

Dead cell or border.

Decrement character counter.Jump if not done with line.

Address of first nonborder cell.

Page of board.

Page of board.

E returns number of living neighbors.

Set next generation bit of current cell.

Point to next cell.

Go to update routine if done with board.

If not done go to next cell.

First nonborder cell.

Get cell from memory.

Border cell?

Then don't rotate.

Rotate next generation into this generation.

Clear unused bits.

Put it back.

Point to next cell.

Do next cell.

E counts number of living around cell.

Get current cell.

Is this a border?

Skip all tests.

Put address of cell in accumulator.

Address of cell above and left of current cell.

Put new address in register L.

Test it.

Point to neighbor above current cell.

Test it.

Neighbor above and right of current cell.

Test it.

Cell to the left of current cell.

Test it.

Cell to right of current cell.

Test it.

Cell below and left of current cell.

Test it.

Cell below current cell.

Test it.

Cell below and right of current cell.

Get cell from memory.

Border cell?

Return if so.

Rotate low bit into carry.

Return if dead cell.

Count if alive.

168 April 1979 © BYTE Publications Inc

OABD

OA

ESET

LDAX

B

Get current cell addressed by BC.

OABE

FE

FF

CPI

FF

Border cell?

OACO

C8

RZ

Return if border.

OAC1

E6

01

ANI

01

Clear next generation bit.

0AC3

1D

DCR

E

0AC4

1D

DCR

E

0AC5

CA

D2

OA

JZ

SRVIVE

If register E is 2 cell will survive.

0AC8

1D

DCR

E

0AC9

CA

CE

OA

JZ

ALIVE

If register E is 3 cell is alive next generation.

OACC

02

STAX

B

Cell is dead next generation.

OACD

C9

RET

OACE

F6

02

ALIVE

ORI

02

Set next generation bit.

OADO

02

STAX

B

Put back in memory.

OAD1

C9

RET

0AD2

FE

00

SRVIVE

CPI

00

Cell dead now?

0AD4

02

STAX

B

0AD5

C8

RZ

If dead, return.

0AD6

F6

02

ORI

02

If alive now, set next generation bit and put

0AD8

02

STAX

B

0AD9

C9

RET

Possible Improvements

In this program the time needed tocompute the next generation is insignificantcompared to the time needed to writeout and observe the pattern. I feel thatany effort to speed up execution just isn'tworth the trouble.

The first routine you should add wouldbe a better way to load the initial pattern.If you have cursor control (up-down, right-left), it should be easy to add a fast, easyloader. A 16 by 16 grid is small for doing

any serious experimenting on. Many interest-ing patterns run into the border; or ifyou don't use the border, the left edgeinterferes with the right and top inter-feres with bottom. You will have to usethe dual addition instructions and com-plement arithmetic in VALCK, becauseadjacent cells won't always be on the samepage.

I am interested in hearing about anyimprovements to this program or aboutany interesting patterns you may discover.Have fun!"

SPECIALIZING IN

QUALITY MICROCOMPUTER HARDWARE

INDUSTRIAL • EDUCATIONAL • SMALL BUSINESS • PERSONAL

BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT

I/O

2K ROM2K RAM

3 Serial Ports1 Parallel Port

16 K RAM

FULLY STATICMEMORY

ECT-100-F

RACKMOUNTCARD CAGES

ECT-

'Atonic

""M G„„e

POWER SUPPLIES, CPU'S, MEMORY, OEM VARIATIONS

TT-10

TABLE TOPMAINFRAMES

763 RAMSEY AVE.HILLSIDE, N.J. 07205

ELECTRONIC CONTROL TECHNOLOGY am bbg-soso

Circle 120 on inquiry card.

April 1979 ©BYTE Publications Inc

169

An Easy Wayto Calculate Sines and Cosines

Location

OpCode

Robert Grappel148 Wood StLexington MA 02173

The instruction set of a typical 8 bit pro-cessor can be quite confining at times. Anytask requiring more than simple integer addi-tion and subtraction can become a nuisance.There are reference books from which multi-plication and division routines can be ob-tained, and square root and other functionscan be built by using expansion, iteration, orother well-known methods. Implementingthese algorithms on a microprocessor usesmuch space and programming time. Trigono-metric functions are among this class of

Operand Label

Assembly Code

SUBROUTINE TO COMPUTE SINE AND COSINEAS SINGLE-BYTE INTEGERS (SIGNED)STEP SIZE OF 1/16 RADIAN, OR 3.58 DEGREESACCURACY OF ABOUT 1% FOR RANGE 0THROUGH 90 DEGREES

0000

THETA

RMB 1 'ARGUMENT TO FUNCTION

0001

SINE

RMB 1 *SINE OF THETA

0002

COSINE

RMB 1 'COSINE OF THETA

0003

86

7E

START

LDA A #126 'BEGIN INITIALIZATION

0005

B7

0002

STA A COSINE

0008

7F

0001

CLR SINE

000B

B6

0000

LDA ATHETA

OOOE

F6

0002

LDA B COSINE 'COMPUTE NEW SINE

0011

57

CYCLE

ASR B

0012

57

ASR B

0013

57

ASR B

0014

57

ASR B

0015

FB

0001

ADD B SINE

0018

F7

0001

STA B SINE

001 B

57

ASR B 'COMPUTE NEW COSINE

001 C

57

ASR B

001 D

57

ASR B

001 E

57

ASR B

001 F

F0

0002

SUB B COSINE

0022

50

NEG B

0023

F7

0002

STA B COSINE

0026

4A

DEC A

0027

2C

E8

BGE CYCLE'LOOP UNTIL DONE

0029

39

RTS

Listing 7: 6800 routine for computing sines and cosines over the range 0 to■nj2 radians (0 to 90 degrees).

difficult functions. However, if one cantolerate accuracy of one part in 100, andallow about 1 ms per computation, theroutine described in this article will providesine and cosine values in a very simple 40byte routine. I have coded it for a MotorolaM6800 processor but it could easily be con-verted to any other processor.

Theory

The algorithm is based on two trigono-metric identities:

sine(0+s) = sin(0)cos(s) + cos(0)sin(s)cos(0+s) = cos(9)cos(s) - sin(0)sin(s)

where 8 is the angle we are interested in ands is a small step in angle added to 6. If wemake the step small enough, we can approxi-mate sin(s) and cos(s) as follows:

sin(s) = scos(s) = 1

Combining these four equations we get:

sin(0+s) =sin(0) + scos(0)cos(0+s) = cos(0) - ssin(0)

Solving for sine and substituting into thecosine formula:

cos((9+s) = (1 +s2)cos(0) - s sin(0+s)

Since s is very small, we can neglect s2 andwrite:

cos(0+s) = cos(0) - s sin(0+s)

Given that we have values for sin(0) andcos(S) at some point, we can get to anyother angle by stepping through the twoapproximations, first computing sin(0+s)and then using that to compute cos(0+s). Wechoose to start at 9 equal to zero, and setcos(#) to the largest positive value that can

170 April 1979 © BYTE Publications Inc

be stored as a signed byte without causingoverflow when negated and decremented.Hence cos(O) = 126. Similarly the sin(O) = 0.The step size is chosen to be 0.0625 radianor about 3.58°. The step si-ze must be abinary fraction so that all the multiplicationinvolved in the equations can be performedby arithmetic shifts. If more accuracy isneeded, the step size is easily reduced byintroducing more shifts into the algorithm.

Program

The assembly code program for the Moto-rola 6800 version of the routine is shown inlisting 1. When called with the angle storedin variable THETA, it returns the sine andcosine of that angle. The accuracy is quitegood for angles less than 7t/2 radians (90degrees). For angles larger than 7r/2 radians,other trigonometric identities can be used:

sin((9) = cos(7r/2-0) = sin(7r-0)cos(0) = sin(7r/2-0) = (-cos(tt-0))

Thus, the sine and cosine of any angle canbe computed from the values over the range0 to w/2 radians. These identities can becoded quite easily.

All the other trigonometric functions canbe computed from the values of sine andcosine. All that is needed is an integer divi-sion routine such as the following:

cosec(0) = 126/sin(0)sec(0)= 126/cos(0)tan(0) = sin(0)/cos(0)cot(0) = cos(0)/sin(0)

Be careful of overflows and division by zeroproblems.

This algorithm can perform other tricks.It can generate continuous sine waves of anydesired amplitude, period, or phase. Coupledwith a digital to analog converter, it couldform part of a modem or synthesizer. Itcould simulate mixers, AM or FM modula-tors, keyers, etc.

The maximum frequency it can generatedepends on the processor cycle time. A 6800processor running with a 1 MHz clock couldgenerate a 200 Hz sine wave since there areabout 50 machine cycles per step, and about100 steps per wave. Increasing the step sizeto 0.125 radians would increase the maxi-mum frequency to about 500 Hz. A step sizeof 0.25 radians would yield a maximum fre-quency of nearly 1050 Hz.

I hope that this algorithm will help pro-grammers solve problems involving trigono-metric functions, and that applications formicrocomputers will expand into new areaswhere these functions are useful."

There is a reason so many Datec customers are communication line technicians,computer engineers and data processing experts. They recommend Datec for thesimple, solid state, rugged design that has proven to be more reliable than biggername couplers.

Acoustic couplers are the work horses of a data communications system. Theyshould work every time, every day, so that you can install them and then forget them.

No wonder communication line technicians have nicknamed the Datec 32 the"heavy duty" acoustic coupler.

CRYSTALCONTROL

Crystal controlled trans-mitter and receiver Insureslong-term stability andreliability, even In themost unfriendly operatingenvironment

BIG EARS

Rugged, tight-fitting rubber cupseffectively seal out vibrationand room noise. They aren't beautiful,but they work.

BC1RNED-IN

Datec may be the only company that torture-tests every PC board by burnlng-ln each onefor 168 hours at elevated temperatures.

Circle 90 on inquiry card.

This process reduces the

probability of field failurebelow 2% for the first 1000hours of operation. We findthe faulty one beforewe ship ft.

Jt

TALKS WHENIT RAINS

Datec couplers arehighly sensitive,^ ,^^^^^. operating at

received levelsof -55dBm orlower. Our sen-sitive receivercan pull weaksignals out of the "mud"of leaky, rain-soaked telephone cables.

GUARANTEED

Remove a few screws and the PCboard pops out It couldn't be simpler.Any problems incurred through normal use,and It's replaced or repaired free with noquestions asked during the first year.

READILY AVAILABLE

Datec 300 bps acoustic couplers are readDyavailable In both originate andoriginate/answer models. All Datec equipmentincluding the new Datec 212 Is Bellcompatible. OEM Inquiries are welcome.Call Mem* Beth Tice for assistance.

\

<

DAT6C 0ID IT.

Quality—designed in, burned-in and guaranteed

DATEC INCORPORATED

PO BOX 839. CHAPEL HILL. NC 27611.1919)967-5605

April 19790BYTE Publications Inc

171

DeskTopWonders

Digital Circuit Simulation

S Leon Felkins

Engineering Technology

Memphis State University

Memphis TN 38152

Listing 7: TI-59 calculator program for the digital circuit simulator.

0 0 0

76

LBL

001

38

SIH

002

86

STF

003

00

00

004

61

GTO

005

33

XE

006

00

ii

007

76

LBL

0 08

35

\/V,

009

71

SBR

010

40

I Nil

011

09

09

012

43

RCL

013

30

30

014

55

-^

015

01

1

016

mi

0

017

95

=

018

92

RTN

019

68

HOP

020

43

RCL

021

29

29

022

49

PRE

023

30

30

024

92

RTN

025

68

HDP

026

68

NOP

027

68

NOP

028

68

HDP

029

68

NOP

030

43

RCL

031

29

ZS

032

67

EG

033

00

00

034

37

37

035

42

STD

036

:i U

30

037

92

RTN

038

68

HOP

039

68

NOP

040

71

SBR

041

0 U

00

042

20

20

043

71

SBR

044

mi

00

045

60

60

046

92

RTN

047

68

HOP

048

68

HDP

049

68

HDP

050

71

SBR

051

00

o o

05;;

30

30

053

71

SBR

ri54

i in

rin

055

6d

60

056

92

RTN

057

68

HDP

058

68

HDP

0 5 9

68

HDP

060

01

1

061

94

+ / -

062

49

PRH

063

3 0

30

064

01

1

065

44

SUN

066

3 0

30

067

92

RTN

068

68

HDP

069

t-y

HDP

070

43

RCL

071

29

29

073

43

RCL

074

30

30

075

95

=

076

33

X2

077

42

STO

0 7 8

3 0

30

fi 7 9

92

RTN

0 8 0031

0840 8 50 8 6087

0 8 8089090091092093094095096097098099

inn101102

103

104105

1 061071 081091101111121 131141151 161 171 13

73 RC*

10 10

22 INV

59 INT

a 5 +

43 RCL

30 30

85 +

43 RCL

1

INV

EO

0101

1

STD3092 RTN63 HDP63 HDP76 LBL15 E

10 0!2 HIT10 052 XJT42 STD10 1001 163 EX*10 1 0LBLLOGEX*

0101014230

Listing 7 continued on opposite page.

The program in listing 1 was developedfor a TI-59 calculator to allow simulation ortesting of combinational logic circuits. Thecircuit elements allowed and their identifi-cation numbers are:

Number

20304050607080

Type

AND

OR

NAND

NOR

NOT

XOR

SR latch

Registers 11 through 25 are used to storethe input values to the circuit. The circuitelements themselves are stored in registers31 through 99. A code word is stored ineach register that defines its inputs and itsfunction. The format used is:

XXYYZZ.V,

where:

XX = Input Device 1

YY = Input Device 2

ZZ = Device Identification Number

V = Output of this device (0 or 1).

TELETYPES

®

IMMEDIATE DELIVERY

MODEL 40 300 LPM PRINTERS

v"ST\

• Mechanism or complete assembly

• 80-column friction feed

• 80-column tractor feed

• 132-column tractor feed

INTERFACES

• EIA-RS232

• Simplified EIA-Iike interface

• Standard serial interface

• Parallel device interface

CCnCDAI CommunicationsrCULnHL Corporation

11126 Shady Trail, Dallas, Texas 75229, (214) 620-0644,

TELEX 732211 TWX 910-860-5529

MODEL 43 TERMINALS

• 4310 RO (Receive Only)

• 4320 KSR (Keyboard Send-Receive)

• 4340 BSR (Buffered Send-Receive)

INTERFACES

• TTL Serial

• EIA RS232 or DC20 to 60ma

• 103-type built-in modem

172

April 1979 ©BYTE Publications Inc

Circle 134 on inquiry card.

Note that the complete code must beentered for each device. Therefore, forthe NOT device the same input numberis entered for both XX and YY.

The minus sign is used as a code to indi-cate that a device has been asserted. At thestart of each run the machine automaticallysets all registers to a positive value. Afterthe run is completed, each register shouldhave a minus sign. The output value is givenby the first digit to the right of the decimalpoint.

The circuit itself is set up on the machineby storing the appropriate values in registers31 and greater. Devices are assigned registersconsecutively starting with 31, in any orderdesired. However, the program runs fasterwith consecutive assignments. A 0 stored ina register tells the calculator that all deviceshave been processed. Therefore, you must becertain that no register numbers are skippedand that the last valid register is followedwith a register containing 0.

The input values are stored into registers11 through 25 by the following coding:

Listing 7, continued:

logical 0logical 1

store - 1.0store —1.1

An alternate, and more convenient, methodis available for registers 11 through 18. Justenter the logical value, 0 or 1, and press oneof the keys A to D or A' to D' in accordancewith the following assignment table:

A —^11

A'-*~15

B ——12

B' —16

C —13

C'-*-17

D —14

D'-*- 18

1 19

10

10

173

77

GE

227

01

1

281

3 c.

xit

1 2 0

44

SUM

174

3 8

SIH

223

94

+,"-

282

01

i

121

10

10

175

22

INV

229

64

PH*

283

05

tr

63

EX*

176

59

INT

230

10

10

284

42

STD

123

10

10

177

65

231

61

GTD

£85

10

10

124

50

I X I

178

01

1

23^:

33

X2

£86

61

GTD

22

INV

179

o u

0

2 3 3

76-

LBL

287

42

STD

126

t> 7

EQ

180

94

+. ■■' -

234

23

LNX

£88

76

LBL

127

28

LDG

1S1

95

=

235

87

IFF

289

17

B"

128

76

LBL

182

42

STD

236

00

00

£90

32

XIT

129

39

CDS

1S3

30

30

237

39

CDS

£91

01

1

130

22

INV

184

01

1

2 3 8

43

RCL

292

06

6

131

86

STF

185

00

U

2 3 9

3 0

3 0

293

42

STD

1 3 2

0 0

00

186

00

0

240

91

R/S

294

10

10

1:"::":

63

EX*

187

49

PR II

241

81

RST

295

61

GTD

134

io

10

188

27

27

242

76

LBL

296

42

STD

0 3

189

43

RCL

2 43

11

fl

297

76

LBL

13 £■

00

0

190

27

£7

244

32

XIT

298

18

C

137

42

STD

191

59

INT

£45

01

1

299

32

XIT

1 ~7-\ :=:

10

10

192

22

INV

246

01

1

300

01

1

1 ''• '3

76

LBL

193

44

SUM

247

42

STD

301

07

J

140

33

194

27

!^l7

24B

10

10

302

42

STD

141

43

RCL

195

42

STD

249

61

GTD

303

10

10

142

10

10

196

26

2 b

250

4£

STD

304

61

GTD

143

+

197

73

RC*

£51

91

R/S

305

42

STD

144

oi

1

198

26

26

252:

76

LBL

306

76>

LBL

145

95

199

"7 "7

GE

253

12

B

307

19

D'

146

66

PflU

200

'3 8

S IH

254

32

XIT

308

32

XIT

147

42

STD

201

22

I NV

255

01

1

309

01

1

14S

10

10

202

59

INT

256

02

2

310

08

3

149

73

RC*

203

65

£57

42

STD

311

42

STD

150

10

10

204

01

1

£58

10

10

312

10

10

151

67

EQ

205

00

U

£59

61

GTD

313

61

GTD

152

23

LHX

206

94

+,•■•-

£60

42

STD

314

42

STD

153

22

INV

207

95

=

£61

76

LBL

315

91

R/S

154

77

GE

208

42

STD

262

13

C

31 6

76

LBL

155

3 3

209

29

29

£63

32

XIT

317

42

STD

156

55

^

210

43

RCL

£64

01

1

318

01

1

157

01

1

211

27

27

265

03

:_•:

319

94

+/-

158

u u

0

212

65

£66'

42

STD

320

72

ST*

159

0 0

0

213

01

1

£67

10

10

321

10

10

160

00

0

214

00

0

£68

61

GTD-

■Idd

32

XIT

161

00

0

215

00

0

£69

42

STD

3 £ 3

6< 5

16 2

95

s

216

95

=

£70

76

LBL

324

93

1 fc 3

42

STD

217

59

INT

£71

14

H

325

oi

1

164

27

218

42

STD

£72

32

XIT

326

95

=

165

59

INT

219

09

09

273

01

1

327

22

INV

166

22

INV

220

71

SBR

274

04

4

3 2 8

74

SM*

167

44

SUM

221

35

1/X

275

42

STD

329

10

10

168

27

27

222

63

EX*

£76-

10

10

330

65

169

42

STD

2 2 3

10

10

£77

61

GTD

331

01

1

170

26

£6

224

59

INT

£78

42

STD

3 3 £

00

0

171

73

RC*

225

74

SM*

£79

76'

LBL

3 3 3

95

=

172

26.

26

226

10

10

£80

16

fl"

334

91

R/S

THE

mO©D^§)

THE INDUSTRY LEADER IN AFFORDABLE

HI-RES VIDEO ANALYSIS FOR ALL S-IOO

AND S-50 COMPUTERS

The DS-80 features full compatibility with the proposed IEEE S-100 standard and all current S-100 CPUs. New improved circuitdesign enhances performance. The DS-80 offers random access video digitization of up to 256 X 256 spatial resolution and 64levels of grey scale, plus controls for brightness, contrast and width. It is versatile enough to handle any video processingtask—from U.P.C. codes (above) and blood cell counting to computer portraiture and character recognition. The DS-80 comesfully assembled, tested and burned in. Included is portrait software compatible with the Vector Graphic High Resolution GraphicsDisplay Board.DS-65 FOR THE APPLE-COMING SOON!

Please allow two weeks for delivery.Master Charge and BankAmerioard

DS-80 for the S-100 busDS-68 for the S-50 bus

$349.95169.95

P.O. BOX 1110 DEL MAR, CA. 98014 714-756-5687

Circle 231 on inquiry card.

April 1979 ©BYTE Publications Inc 173

Set Up

Register

313233343536

Contents

1112703113703234501212603233300

JE>—)E>r^^

3^>0-

-o

Truth Table

11

12

13

OUTPUT

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

111

0

11

10

1

0

1

1

Figure I: Example of a digital circuit simula-tion. All of the logic gates are numberedsequentially. In this circuit there are threeinputs (II, 12, 13) and one output. Theset up of the registers is shown, along with atruth table which is a result of running theprogram and giving different inputs to II,12 and 13.

The circuit in figure 1 demonstrates theprinciples involved.

Note that the code number for each de-vice type is the actual line number for thesubroutine that simulates that device. Sincememory is at a premium, each device wasprogrammed in as short as possible sequencethat obtained the desired result. No attemptwas made to follow any structured program-ming techniques!

Also, the calculator is programmed toassert only those devices whose inputs areconnected to devices that are asserted.

Therefore, circuits with feedback (like thecrossed-NOR flip flop) cannot be directlysimulated. Note that program runs fasterin natural order of circuit evaluation.

This program uses some of the moreadvanced programming features of theTI-59 calculator, such as indirect address-ing and flag operations. However, theprogram is straightforward and shouldbe fairly easy to understand for mostnovice programmers.

The advantage of the simulator, ofcourse, is the ease of setting up andquickly changing any reasonable circuit.No power supply is required and no pur-chasing of components is required untilthe circuit is thoroughly acceptable onthe simulator.

The program is stored on both edges ofone card. The data on a particular circuitcan be stored on a card by pressing "32nd Write.""

Megabytes for the

Now users of the most popular microcom-puters can add truly massive disk storage to theirsystems with Micromation'sMegabox. Itfeaturesdual 8"drives with double density recording toprovide over one Megabyte of disk storage. Or youcan choose optional double-headed drives toprovide over two megabytes. Micromation is aleading supplier of floppy disk systems for micros.

A TRS-80* compatible Megabox plugsdirectly into the TRS-80. This version of Megaboxincludes provision to add up to 32K of RAM toyour TRS-80* system, so you can have up to 4Megabytes of disk storage and 48K of RAM withoutan expansion interface.This Megabox brings bigsystem performance to your system at one-thirdthe cost per byte of mini-floppy systems.

Our SOL*-version of the Megabox installs with-out modification, and the software is all ready to go.Micromation's double density recording gives younearly twice the storage of the Helios* at a sub-stantially lower price-and most importantly, youcan run CP/ M* so you have access to the broadestrange of software available in microcomputing.

Combine an ExidySorcerer" witha Megaboxby plugging the controller into the Sorcer's* S-100expansion bus. Boot from our Sorcerer* systemdiskette and you're up and running without anymodifications to your hardware or software.

174 April 1979 © BYTE Publications Inc

Our DOUBLER double density floppy diskcontroller features true double density recordingwith a capacity of 512K bytes on each side of thediskette. Doubler systems are easy to install anduse. A hardware UART is included on the controllerto provide instant system communications. Thecontroller can do a power-on-jump to theon-boardPROM bootstrap. And its fast and reliable becausethe board's hardware includes a phase-lockoscillator and CRC error detection circuitry.

Micromation disk systems are designed to runCP/M* the industry standard operating system.You can choose higher level languages suchas MBASIC, CBASIC, FORTRAN, COBOL, orPASCAL. And there's a wide selection of businessapplication packages to choose from.

Megabox systems open new opportunitiesfor owners of todays most popular microcomputers.They feature the highest available capacity,performance, and reliablity And they are com-patible with your system. But best of all, at $2295a Megabox is priced for value. Ask for details atyour local computer store or contact Micromation,1620 Montgomery St., San Francisco, CA 94111or phone (415) 398-0289.

The Megabox with 1,000,000existing software to easily keep a

BYTE's Bits

Another Life

I've discovered a fourth glider andtwo new oscillators for Jonathan Millen's"One-Dimensional Life" (December1978 BYTE, page 68). The new gliderhas period 5; it evolves from hexa-decimal location 65F. My first newoscillator can be made by starting witheither 394F or 22 cells in a row — it hasperiod 13. The other oscillator, withperiod 21, has the ancestor 12157.

Paul Heckbert

4 Ames St, H303

Cambridge MA 02139*

Call For Papers: Sixth Data Communi-cations Symposium

The Sixth Data CommunicationsSymposium, scheduled for November 27thru 29 in Pacific Grove CA, will concen-trate on the design of systems for net-work user services. Original research anddevelopment papers are being solicitedfor topics related either to the applica-tion of specific technical issues that

arise from the application nature of adata communication system, or to theapplication of general technical problemsthat are directly applicable to the plan-ning, analysis, and design of the systemsacross the boundary between applica-tions. Four copies of a completed paperand a 500 word summary should be sentno later than April 1 to Dr WushowChou, North Carolina State University,Computer Studies Program, POB 5490,Raleigh NC 27650. Include name,address, phone number, and affiliation.All papers will be refereed and authorsof selected papers will be notified byJune 1, 1979. All papers accepted forpresentation will be published in theconference proceedings."

Data Transfer

It is practical to transfer programsdirectly from one microcomputer toanother computer over the telephonewithout intermediate storage by usingreadily available equipment. Specifically,I have read TRS-80 BASIC programsinto the CSU-Long Beach PDP 11/45operating under RSTS. The terminalused was a 33 ASR Teletype with anAJ 260 acoustic coupler. The SmallSystems Hardware RS-232 interfaceunit was used to output from theTRS-80.

Many terminals have an auxiliary orsimilar connector for attaching otherRS-232 devices to the terminal. Thetrick is to connect pin 3 of the TRS-80RS-232 output to pin 2 of this plug.(Normally, pin 3 would be connectedto pin 3 of the auxiliary connector ifthe terminal is to be used as a printer.The other pins connections remain thesame but probably only pin 7 is needed.)After establishing contact with the PDP11/45 an LLIST command to the TRS-80 causes it to output directly to thePDP 11/45. In my case, the PDP 11/45checked each statement as it was enteredand could send back error messages tothe Teletype. Since the operation wasfull duplex without echo this did notinterfere with the data transmissionfrom the TRS-80. If a half duplex sys-tem is used it is essential that there beno turn-around on the line during trans-mission since the TRS-80 does not stopuntil the end of the LLIST. The programis immediately executable on the PDP11/45.

A 10,000 byte program was trans-mitted in 17 minutes at 110 baud.Obviously a higher rate could be usedto speed up the process.

Dr Edward IV? McCormick

13100 Chapman, Apt 3-113

Garden Grove CA 92640*

TRS-80, Sol, Sorcerer.

byte storage capacity can be operated withgeneral ledger, accounts receivable, and payable.

Circle 223 on inquiry card.

•TRS-80 is a TM of Tandy Corp.

SOL and Helios are T Ms of Processor Technology CorpSorcerer is a TM of Exidy Inc. CP/M is a TM of Digital Research.April 1979 © BYTE Publications Inc 175

The Power of the

HP-67 Programmable Calculator, Part 2

Listing 7: A simultaneous equations program which can solvesystems of up to nine equations in nine unknowns. Listing 2explains how to run this program.

PROGRAM TITLE: Simultaneous Equations

APPLICATION: Solves systems of up to 9 simultaneous equations.

PROGRAMMER: Bob Arp DATE: 12-16-76

REGISTERS

0 Yn

1 A9

2 A8

3 A7

h A6

5A5

6 Ak

^ A3

8 A2

0 Al

S0 Yn

S1 A9

32 A8

S3 A7

^ A6

S5A5

S6 All

S? A3

38 A2

3? Al

A #Eqs inSystem

B Pri regPointer

C Sec regPointer

D PivotalEq Counter

S EquationCounter

I MiscStorage

LABELS

FLG

SET STATUS

A Part1 Start

3Divide

C Mult/Subtract

D Part2 Start

E Mult/Subtract

6

FLAGS

TRIG

DISP

ON

OFF

a B/Cinitial

3 ClearR0-R9

c Recallterm

d Mult/Sub Loop

e

1

FIX

DEG

SCI

0 DivideLoon

Test D

2 MultLoop

3 CallSub a

k SubLoop

2

r,RA

ENG

5 1stterm loop

5 Inc E/Dec D

7 DispX #

8 Callnext piv

9 DispXn

3

RAD

a 5

WilliADD

PROGRAM CODES

DEFINITIONS AND REMARKS

NUMERIC

SYMBOLIC

001.

2L

2 5

1 1

f

LBL

A

With the number of system equations keyedinto the calculator, pressing A initializespart 1 of the program by clearing all re-gisters, storing n, programming the displayand calling for the first pivotal equation.

002

1!

>n

f

CLR

REG

003

31

1:5

f

Pis

oou

3:

If3

f

CLR

REG

OO'j

l'>

23

h

ENG

006

33

1 !

STO

A

00?

01

1

00-

V

111

STO

D

009

■■- I

0;

DSP

5

010

3 5

22

h

RTN

on

V-

-':

12

f

LBL

B

W:

th a pivotal equation stored in the pri-

012

'•>-■-

:;

11

K

GSB

f a

mary registers, pressing B causes each co-efficient of the equation to be divided .byits pivotal term. The results are storedin the secondary registers, and they mustbe stored on a data card labeled 1A(Z),where 2 is the number of the current systemof equations.

013

3':

.-'-

RCL

(i)

Ol-'l

33

t;

STO

E

015

M

2 5

00

f

LBL

0

01 .'

1"

12

RCL

B

0! ■■

32

:

13

E

GSB

f c

oie

3"

1 ■:

RCL

E

01 9

1:1

~

020

3*

! 1

RCL

C

021

v

3 3

h

ST I

02 3

35

53

h

Rv

023

33

;;l:

STO

(i)

02't

y>

12

RCL

B

025

3!

■:i

r

X=0

0?.'

22

01

GTO

1

0:7

01

1

Dc

crement register pointers and return to

02a

'■i

-

beginning of loop.

029

3 3

1:

STO

B

030

3-

13

RCL

C

031

01

1

032

51

-

033

33

13

STO

C

034

22

00

GTO

0

035

_2

2 =

01

f

LBL

1

Wh

en all pivotal equations have been di-

036

■}4

11

RCL

A

vided by their pivotal term, jump to dis-play n loop.

037

Vt

V*

RCL

D

038

32

51

K

X=Y

039

2',

09

GTO

9

040

3'

\h

RCL

D

In

itialize equation counter and clear pri-

Oltl

01

1

mary registers R0-R9.

0^2

61

+

Listing 7 continued on opposite page.

Example Program

Last month I described the features andperformance of the Hewlett-Packard HP-67and HP-97 programmable calculators. Thismonth I conclude with a practical applica-tion program. I have chosen for an examplea program which uses the more powerfulHP-67 operations. Likewise, I have chosento write a program which will provide thesolution to a general set of simultaneousequations, traditionally one of the mostlaborious mathematical solutions to ob-tain, yet one of the most useful solutionsin electrical engineering.

The HP Math Pac contains a programto solve four simultaneous equations infour unknowns by Gaussian elimination,and the Standard Pac contains a programto solve three simultaneous equations inthree unknowns by matrix operations.The program shown in listing 1 solves anysystem of up to nine simultaneous equa-tions in nine unknowns by the method of"Gaussian elimination using the largestpivots." [Because of its efficiency, theGuassian elimination pivot method is apopular method for solving simultaneousequations. The term "pivot" refers to the(r, r), a diagonal element of the coefficientmatrix during the rth step of the process.This method is discussed in a number ofnumerical methods books. See also thereference at the end of this article. . . CM JThe primary utility of this program wouldbe in calculator aided design.

When the analysis of an electronic systemis based upon a linear model, the unknownquantities will usually appear only to thefirst power, and the coefficients in theequations will usually be constants. Sucha set of n equations relating n unknownscan be expressed in the form:

Equation 1: AiX1+A2X2+...+AnXn = Y-,

Equation 2: BlX1+B2X2+...+ BnXn = Y2

Equation 3: ...

Equation n: miX^+m2X2+...+mnXn = Y

176 April 1979 © BYTE Publications Inc

Listing 7', continued:

Robert C Arp Jr3961 Acapulco DrCampbell CA 95008

in which each X is an unknown quantity, them terms are the coefficients of the un-knowns and the Y terms are the right-handsides of the equations.

The Gaussian Elimination Pivot Method

To solve a general system of simultaneousequations by Gaussian elimination using thelargest pivots, perform the following steps:

1. Inspect the coefficient (Al, Bl,...ml)of the first term (Xi) in each of the systemequations. The equation having the largestcoefficient (in absolute value) of the firstterm is taken as the first pivotal equation.

2. Divide the first pivotal equation,equation 1(1), by the coefficient A] of itsfirst term Xt,. The result will be a newequation, equation 1A (1), in which thecoefficient of the first term is 1. (The digitenclosed by parentheses in each equationlabel indicates the number of the system towhich the equation belongs.)

3. Multiply equation 1A(1) by thecoefficient B-j of the first term X-| ofthe second equation, equation 2(1) toobtain the new equation, equation 1B(1).

4. Subtract equation 1B(1) from thesecond equation, equation 2(1), to eliminatethe first term of equation 2(1). The resultingequation will be one of the equations in anew system with n—1 equations in n—1unknowns.

5. Repeat steps 3 and 4 with each of theremaining equations in the original system.The set of equations, for which the firstterm has been eliminated, forms a newsystem having n—1 equations with Xo,Xg,...Xn as unknowns.

6. Inspect the coefficient of the firstterm in each of the new system's equations.The equation having the largest coefficient(in absolute value) of the first term is takenas the next pivotal equation.

7. Divide the new pivotal equation by thecoefficient of its first term. The result willbe a new A equation in which the coefficientof the first term is 1.

8. Multiply the new A equation by the

NUMADD

PROGRAM CODES

DEFINITIONS AND REMARKS

NUMERIC

SYMBOLIC

041

33

15

STO

E

o44

Y'

22

12

B

GSE

f b

045

31

41

f

W/

DATA

o46

35

22

h

RTN

047

_2l

2-j

13

f

LBL

C

With the coefficients of equation 1A(Z)stored in the secondary registers and thecoefficients of each remaining equation inthe current system stored, in turn, in thepremary registers, pressing C causes eachcoefficient of equation 1A(Z) to be multi-plied by the first coefficient of each re-maining equation, in turn, to yield a newequation, 1B(Z), where Z is the number ofthe current system of equations. Equation1B(Z) is then subtracted from the currentremaining equation, eliminating the firstcoefficient of the current remaining equa-tion. The result of processing a system inthis manner is a new set of equations whichhas a number of unknowns that is one lessthan the number of unknowns in the systemthat is presently being processed.

048

_3J

22

11

g

GSB

f a

o!+9

34

24

RCL

(1)

050

T

25

02

f

LBL

2

051

34

13

RCL

C

052

32

22

13

''

GSB

f c

053

15

52

h

XiY

054

71

X

055

})

24

STO

(1)

056

01

1

0 5?

00

0

0 58

V

13

RCL

C

0 59

32

31

K

X=Y

060

22

03

GTO

3

061

3S

82

h

LST

X

062

34

13

RCL

C

063

01

1

oik

31

-

065

13

13

STO

C

0661

35

53

h

Rv

06?

22

02

GTO

2

068

_2i

'

03

f

LBL

3

0^9

32

22

11

E

GSB

f a

070

31

25

04

r

LBL

4

071

34

12

RCL

B

072

32

22

13

S

GSB

f c

07-)

34

13

RCL

C

071*

_2i

22

13

E

GSB

f c

075

51

-

0-J&

33

24

STO

(i)

077

01

1

078

00

0

079

34

13

RCL

c

080

32

31

K

X=Y

If all terms of the current equation have

081

22

0 5

GTO

5

been processed, jump to fLBL 5.

082

01

1

Decrement register pointers and return tobeginning of loop.

083

31

-

084

33

13

STO

c

08 5

14

12

RCL

B

086'

01

1

087

31

-

088

33

12

STO

B

089

22

04

GTO

4

090

_21

25

05

t

LBL

5

Stores the address of the first coefficientof each equation of the new system in re-gister I.

091

34

14

RCL

D

092

01

1

093

61

+

094

33

14

STO

D

09 5

jj,

11

RCL

A

096

J*

14

RCL

D

097

31

-

098

01

1

099

01

1

100

61

+

101

'?

33

h

ST I

102

14

14

STO

D

103

01

1

104

51

-

105

33

14

STO

D

106

14

24

RCL

(i)

Recalls the first coefficient of each equa-tion of the new system, stores the absolutevalue of the coefficient in I and displaysthe absolute value for 5 seconds with aflashing decimal point.

If all equations of the current system havebeen processed, jump to "call for next piv-otal equation."

107

15

64

h

ABS

108

35

33

h

ST I

109

11

84

f

-x-

110

34

11

RCL

A

111

34

15

RCL

E

112

32

51

(5

X=Y

113

22

08

GTO

8

114

01

1

115

61

+

Update E register and clear primary regist-ers R0-R9.

116

33

15

STO

E

117

3?

2 2

12

s

GSB

f b

118

31

41

r

*/

DATA

119

?1

22

h

RTN

120

31

2")

OP

r

LBL

8

121

3?

22

12

1:

GSB

f b

Calls for the next pivotal equation.

122

34

14

RCL

D

123

01

1

124

61

-f

125

131

14

RCL

D

126

31

41

f

w/

DATA

127

Y,

22

h

RTN

128

31

2 =

09

r

LBL

9

Displays n with flashing decimal point in a

129

34

11

RCL

A

continuous loop when Xn has been computed.

130

31

8 4

f

-x-

Listing 7 continued on next page,

April 1979 ©BYTE Publications Inc 177

Listing 1', continued:

NUMADD

PROGRAM CODES

DEFINITIONS AND REMARKS

NUMERIC

SYMBOLIC

131

2 2

09

GTO

9

132

H4

R/S

133

31

25

14

f

LBL

D

Stores Xn in Rl and initiates second partof program.

t?*

31

42

f

PiS

135

34

00

RCL

0

136

33

01

STO

1

137

00

0

138

33

00

STO

0

139

01

1

140

33

15

STO

E

I Itl

3 5

22

h

RTN

142

31

25

15

f

LBL

E

As each 1A equation is stored in the sec-ondary registers, a new unknown is computedand stored in a primary register until allunknowns are stored. See the calculatorRUN worksheet for the method of storage.

143

01

1

144

00

0

145

V

33

h

ST I

146

34

24

RCI

(i)

147

3 3

00

STO

0

148

01

1

149

33

12

STO

B

150

01

1

151

01

1

152

33

13

STO

C

153

32

25

14

g

LBI

f d

154

3'.

00

RCL

0

155

34

12

RCL

B

156

32

?.?

13

g

GSB

f c

157

34

13

RCL

C

158

32

22

13

S

GSE

f c

159

71

X

160

51

-

l6l

33

00

STO

0

162

34

15

RCL

E

163

3''

12

RCL

B

164

?■■

51

?

X=Y

165

22

06

GTO

6

166

34

12

RCL

B

167

01

1

168

61

+

169

33

12

STO

B

170

34

13

RCI,

C

171

01

1

172

6l

+

173

33

13

STO

C

174

22

31

14

GTO

f d

175

31

25

06

f

LBL

4

Updates registers D and E.

176

34

15

RCL

E

177

01

1

178

61

+

1?9

33

15

STO

E

180

3 5

33

h

ST I

1B1

3 4

00

RCL

0

182

V

24

STO

(i)

183

3'.

14

RCL

D

184

01

1

185

51

-

186

33

Ik

STO

D

187

31

2 5

07

£

LBL

7

Displays the number of the unknown X whichhas been computed in a continuous loop.

188

34

14

RCL

D

189

31

84

f

-x-

190

22

07

GTO

7

191

34

R/S

192

32

25

11

K

LBL

f a

SUBROUTINE a: Initializes B and C regist-ers every time a new pivotal equation isstored in the primary registers and B ispressed. Initializes B and C registersevery time a new equation of the currentsystem is stored in the primary registersand C is pressed, or program control jumpsto subtract loop.

193

34

n

RCL

A

194

3''

14

RCL

D

195

51

-

196

01

1

197

□l

+

198

3 5

33

h

ST I

199

33

12

STO

B

200

01

1

201

00

0

202

61

+

203

33

13

S TO

C

204

35

h

RTN

205

32

25

12

g

LBL

f b

SUBROUTINE b; Resets primary registersR0-R9.

206

00

0

207

33

00

STO

0

2 08

33

01

STO

1

209

33

02

STO

2

210

33

03

STO

3

211

33

o4

STO

4

212

33

05

STO

5

213

33

1

STO

6

214

33

07

STO

7

215

33

OR

STO

8

216

33

on

STO

9

217

3 5

',•::.

h

RTN

218

32

25

13

g

LBL

f c

Calls each term of equation being processedin proper order.

219

3 5

33

h

ST I

220

44

CLX

221

3<l

24

RCL

(1)

222

3 5

22

h

RTN

223

"li

R/S

224

CALCULATOR PROGRAMCONTINUATION WORKSHEET

TREBOR ENGINEERING

coefficient of the first term of the secondsystem equation to obtain a new B equation.

9. Subtract the new B equation from thesecond system equation to eliminate the firstterm of the second system equation. Theresulting equation will be one of the equa-tions in a new system which has one lessunknown than the system being processed.

10. Repeat steps 8 and 9 with each ofthe remaining equations in the system beingprocessed. The resulting set of equations,from which the first term has, again, beeneliminated, forms a new system of equationshaving one less unknown and one less equa-tion than the preceding system.

11. Repeat steps 6 thru 10 until a finalset is obtained which consists of the singleequation:

ZXn = V

Being the only equation in the system, itmust, of course, be the pivotal equation.When this pivotal equation is divided by thecoefficient of its first term, the value ofXn will be known.

12. The value for Xn must then be sub-stituted into the (n-1 )A equation and theequation must be solved for X(n_i).

13. The values which have been obtainedfor Xn and X(n-1) must then be substitutedinto the (n—2)A equation and the equationsolved for X(n_2).

14. Continue in this manner until the 1Aequation is solved for Xi, of the originalsystem of equations after substituting thevalues obtained for all other unknowns.

15. The solution should be checked bysubstituting the values obtained for theunknowns into each equation of the originalsystem, performing the indicated multi-plications, additions and subtractions, andcomparing the left side of the equation tothe right side. They should be reasonablyclose to equality.

In electronics engineering, the system ofsimultaneous equations could be the resultof writing the mesh equations for a circuitsuch as that shown in figure 1. The ninemesh equations for this circuit are listedin table 1.

The system of nine simultaneous equa-tions for the circuit are shown in standardform in table 2. The first pivotal equationis equation 1. The unknowns in a system ofmesh equations are the currents. The rightside of each equation is a summation of thevoltage sources in the mesh represented bythe equation.

The instructions for running the simul-taneous equations program in listing 1 areshown in listing 2. Using the system of nine

178 April 1979 ©BYTE Publications Inc

Circle 222 on inquiry card.

AVAILABLE NOW

1695

T.I. 810 printer

• 150 cps bi-directional impact printer

• Tractor feed, 3" to 15", up to 6-part

• Programmable forms length

• EIA RS-232 serial, 110-9600 baud

Options:

• Upper/lower case $90—Stand & paperbasket $135

• Forms Length Control $90—Vertical Format Control $180

• FLC/Compressed Print $180—VFC/Compressed Print $270

• Upper/lower case, 24 X 80 12" display

• Numeric keypad, cursor control keys

• RS-232 interface plus extension port

Need more intelligence?

Need a Texas Instruments portable, ASR or KSR? SOROC IQ 140 *1 345

Call MICROMAIL

FROM MICROMAIL

To order: Send a certified check or money order. Personal or

company checks require two weeks to clear.

Handling: Less than $2000, add 2%; over $2000, add 1%.

Tax: California residents add 6% sales tax.

All terminals shipped freight collect in original carton with

manufacturer's warranty.

Write for free catalogue

(1620 pictured)

M«•"",,, Diablo 1641/3 '2910

Upper/lower case, 132

columns

RS 232 serial, 110 or 300

baud

12" X 8'/2" pin-feed paper

Letter-quality printingHyType II daisywheel printerRS 232 serial, 110-1200baud

clYIJCHQIYIfUL.,

MICROMAIL • BOX 3297 • SANTA ANA. CA 92703(714) 731-4338

— Opportunity for growth in a dynamic market

with an expanding product line

The Electro Optics and Devices/Solid State Division, Lancaster, PA, has a position availablefor a Marketing Manager for our personal computer products.

Individual should have experience in the personal computer industry in sales or marketing,engineering experience also desirable and a college degree is preferred.

Responsibilities:

■ Distribution

■ Merchandising

■ Product Planning

■ Liaison Between Sales and Engineering

■ 25% Travel Involved

Send resume in confidence to:

C. E. Hyde, Manager, EmploymentRCA CorporationNew Holland AvenueLancaster, PA 17604

Competitive starting salary plus company paid benefits.An Equal Opportunity Employer M/F

ItC/l

Circle 329 on inquiry card.

BYTE April 1979 179

equations (table 2) in a sample run of theprogram, listing 3 shows the contents of theregisters at various points in the program,and listing 4 summarizes the original co-efficients of the equations plus the cal-culated currents.

A "check" program and its instructionsare shown in listings 5 and 6. Note that thequantity obtained for the left side of theequation may not be exactly equal to theright side due to round off approximations.

The "simultaneous equations" programof listing 1 calculates the values of the un-knowns for any system containing no morethan nine equations. The program is listedon calculator program worksheets uponwhich the addresses of program memory arepreprinted. In addition, the program work-

Mesh 1: -40 + 111 +2(li - l2) +3(l-| - I3) =0Mesh 2: 2(l2 -h) +4l2 + 5d2- I4) +6(l2- l3) =0Mesh 3: 3(13 - I1) +6(13 - l2) + 7(13 - I5) = 0Mesh 4: 5d4 - l2) +814 + 9(14- Ig) + 10(14 - I5) =0Mesh 5: 7(l5 - l3) + 10(l5 - I4) + 11 (l5 - l7) - 0

9(l6 - I4) + 1216 + 13(l6 - l8> + 14(16 - '?> =IKI7- l5) + 14(l7- l6) + 15(l7-lg) =0

Mesh 6:Mesh 7:Mesh 8: 13(lgMesh 9: 15(lg

16) + 16l8+ 17l8 + 18(l8- l<

17) + 18dg - l8) + 19lg = 0

)=0

Table J: The nine equations for the circuit shown in figure

Figure 1: An example of the type of circuit for which nine mesh equationsmay be written. The resulting system of equations contains nine unknowncurrents.

Equation 1:

61

-2I2

-3l3

+OI4

+OI5

+0IR

+OI7

+0I8

+0lg

= 40

Equation 2:

-21

+17l2

-6I3

-5I4

+OI5

+0I6

+OI7

+0I8

+0lg

= 0

Equation 3:

-31

-6I2

+I6I3

+OI4

-71s

+0I6

+OI7

+0I8

+0lg

= 0

Equation 4:

01

-5I2

+OI3

+3214

-IOI5

-9"6

+OI7

+0I8

+0lg

= 0

Equation 5:

01

+0I2

-7li

-IOI4

+2815

+0I6

-HI7

+0I8

+0lg

= 0

Equation 6:

01

+0I2

+OI3

-9l4

+OI5

+4816

-14l7

-1318

+0lg

= 0

Equation 7:

01

+0I2

+OI3

+OI4

-1115

-14l6

+4017

+0I8

-IBI9

■ 0

Equation 8:

01

+0I2

+OI3

+OI4

+OI5

-13l6

+OI7

+64lg-

-18Ig

= 0

Equation 9:

01

+0I2

+OI3

+OI4

+OI5

+oi6

-1517

-18l8

+52lg

= 0

Table 2: The nine simultaneous equations for the circuit in figure I, shownhere in standard form (ie: with the variables arranged in order for eachequation).

sheets have labeled columns for listing thesymbolic key codes, the numeric codeswhich appear in the display for each step ofthe program, and a column for comments.The first page of the set of program work-sheets contains prelabeled blocks whichallow other useful information about theprogram to be stored. For example, the firstsection of listing 1 contains the followinginformation about the simultaneousequations program in abbreviated form:

A. Registers

1. Registers R0 thru R9 and RS0 thruRS9 are used to store constants ina sequence that is reversed from theorder in which they appear in theequations of each system. Note:Processing the first system (nequations) yields a system of n-1equations; processing the secondsystem (n-1 equations) yields a sys-tem of n-2 equations; . . . proc-essing the nth system (1 equation)yields Xn.

2. Register A is used to store thenumber of equations in the orig-inal system of simultaneousequations.

3. Register B is used as a pointer forthe registers RO thru R9; registerC is used as a pointer for the reg-isters RSO thru RS9. Registers Band C are decremented in a man-ner which allows constants to beindirectly recalled from the primaryand secondary storage registers sothat, using these constants, math-ematical operations may be per-formed upon each equation of eachsystem.

4. Register D starts at 1 and countsthe number of pivotal equationsthat have been divided by theirfirst term. When D=A, all pivotalequations have been processed, andXn has been computed.

5. Register E starts at D+1 and countsthe number of equations in eachsystem that have been processed.When all equations of a system fiavebeen processed, E=A and the dis-play calls for the next pivotalequation.

6. Register I takes care of miscel-laneous temporary storage.

B. Labels

The main program has two partswhich are actually subdivided intoseveral smaller programs. Furthermore,most of the subprograms contain oneor more subroutines which are used toconserve program steps.

180

April 1979 © BYTE Publications Inc

Personal Computing...

It All Comes Together at NCC 79.

Only during the National Computer Conference wiyou have an opportunity to experience persona'computing to the fullest. And that's why the1979 Personal Computing Festiva'June 4-7 in New York's SheratonCenter Hotel, formerly the Ameri-cana, is different. As a conferencewithin a conference, it will giveyou the chance to explore thecomplete spectrum of informationprocessing while concentrating onthose aspects of personal computingyou won't want to miss...includingequipment, applications, ideas,and new developments thathave created excitementthroughout the entire com-puting community.

Only at NCC '79 will youfind such a panorama ofcomputer products ondisplay...ranging frommicros to maxis, from ,

processors to peripherals.Included will be the latestinnovations in low-costcomputing for business,professional, and home use.

Against the backdrop of theprestigious NCC, the PersonalComputing Festival has attracted manywell-known experts and personalities who willparticipate in an information-packed technicaprogram and compete for prizes for the bestpresentations. Join them in exploring applicationsranging from use of small business systems andfinancial analysis to personal networking, newinformation utilities, and aid to the handicapped.

You will also have ample opportunity to discussnew ideas and novel approaches to shared prob-lems, to find out what to expect in the year ahead,and observe interesting and clever applications dem-onstrated by the individuals who developed them.

Plan now to take part in a unique personal comput-ing experience at NCC '79. You can register for theFestival at the Sheraton Center Hotel, 52nd Streetbetween 7th Avenue and Avenue of the Americas,for only $15 which includes your copy of the

NCC '79 Personal Computing Proceedings. Reg-istrations, excluding the Proceedings, also areavailable at $5 for one day and $9 for all fourdays. The Proceedings will be available separate-ly at $8. For additional information on NCC '79,including housing and registration procedures,contact AFIPS, 210 Summit Avenue, Montvale,N.J. 07645; telephone 201/391-9810. To obtaininformation on the special NCC Travel Servicecall toll-free 800/556-6882.

NCC '79

PERSONAL COMPUTING FESTIVAL

c/o AFIPS, 210 Summit Avenue, Montvale, N.J. 07645

BYTE April 1979 181

Listing 2: Detailed instructions for running the simultaneous equationsprogram in listing I.

PROGRAM TITLE: Simultaneous Equations

APPLICATION! Solves Systems of up to 9 equations

PROGRAMMER! Bob Arp DATEi 12

-16-76

STEP

NO.

INSTRUCTIONS ANDREMARKS

INPUTS

OUTPUTS

LABEL

KEY

DISPLAY

CARD

1.

Turn calculator on.

2.

Place W/PRGM-RUN switch in RUNposition.

0.00

3.

Insert side 1 of program cardlabeled "Simultaneous Equa-tions" .

crd

h.

When crd appears in the dis-play, insert side 2.

0.00000 00

5.

Key in number of equations in

the system.

n

n.

6.

Press A.

STARTPART I

A

1.00000 00

7-

The "1.00000 00" which ap-pears in the display calls forthe coefficients of the firstpivotal equation to be storedin the primary registers.Store Al(l) in Rn, A2(l) inRn-1....,An(l) in Rl, andYl(l) in RO. Coefficientswhich are zero need not bestored. The "(1)" refers tothe first system.

Al(l)

STO

n

A2(l)STO

n-1

An(i)STO

11(1)

STO

0

8.

Press B.

DIVIDE

B

crd

9.

When crd appears in the dis-play insert side 1 of card1A(1), where "(1)" is thenumber of the current pivotalequation (and system) beingprocessed.

crd

10.

When crd appears again, insert

side 2 of card 1A(1).

0.00000

1A(1)

11,

Store the coefficients of thesecond equation of the firstsystem in the primary regis-ters. Store Bid) in Rn,

and 12(1) in RO.

Bl(l)

STO

n

B2(l)STOn-1

Ml)

STO

1

Y2(l)

STO0

12.

Press C.

MULT/SUB.

C

nl(w)(2)Displayedfor 5 sec-onds withflashingdecimalpoint.

13.

When flashing decimal pointappears, record the absolutevalue of the coefficient forthe first terra of each equa-tion, w, of the new system, 2,as it appears in the display.If the coefficient is missedwhile the decimal point isflashing, it may be recalledby pressing h RCI after step15, before proceeding withstep 16.

crd

1^.

When crd appears in the dis-play, insert side 1 of cardw{2).

crd

15.

When crd appears in the dis-play aeain, insert side 2 ofcard w(2).

0.00000 00

w(2)

16.

Insert side 2 of card 1A(1).

1A(D

crd

17.

When crd appears in the dis-

play press CLX.

CLX.

0.00000 00

18.

Store the next equation of the

In

ral(x)

current system, 1, in the

General,

STO

primary registers. Store

Rn

ml(x) in Rn, m2(x) in Rn-1,

m2(x)

...,ran(x) in Rl and Yx in RO,

STO

where, x is the number of the

Rn-1

equation in system 1 cur-

rently being processed.

mn(x)STORlY(x)STO

Listing 2 continued on next page.

1. Subprogram A: initiates the firstpart of the main program.

2. Subprogram B: divides pivotalequations by their first term andoutputs an A equation.

3. Subprogram C: multiplies Aequations by the coefficient ofthe first term of each succeedingsystem equation, subtracts theresults of the multiplication fromthat equation and outputs theequations of a new system.

4. Subprogram D: initiates the secondpart of the main program.

5. Subprogram E: operating upon theA equations, computes X^ thru*(n-1) by multiplying the previouslycomputed X values by their con-stants and subtracting the resultsfrom the right side of the Aequation.

6. Subroutine a: initializes B and Cregisters every time B is pressedafter a new pivotal equation isstored in the primary registers andevery time C is pressed after a newequation is stored in the primaryregisters.

7. Subroutine b: clears registers R0thru R9 to 0.

8. Subroutine c: recalls each term ofthe equation being processed inthe proper order.

9. Loops d, 0, 2, 4: these loops allowthe same mathematical operationto be performed many timeswithin the same subprogram.

10. Routine 1: compares the contentsof D to the contents of A andtransfers execution to routine 9when D=A.

11. Routine 3: a short routine whichcalls subroutine a.

12. Routine 5: stores the address ofthe first coefficient of each equa-tion of the new system beinggenerated in register i, then recallsthe coefficient, stores its absolutevalue in I, and finally displays theabsolute value of the coefficientfor 5 seconds.

13. Routine 6: increments E registerand decrements D register in thesecond part of the main program.

14. Routine 7: displays the number ofthe unknown X which has beencomputed in a continuous loopuntil R/S is pressed.

15. Routine 8: calls for the nextpivotal equation by displaying itsnumber.

182 April 1979 ©BYTE Publications Inc

CompuCruise

The Computerized Copilot

At the push of a button your onboard navigational computer willperform 44 important functions in your car, van or truck:

• Computerized Cruise Control - Morethan a simple speed maintaining deviceavailable as an option by automobilemanufacturers. It establishes and main-tains a preselected road speed. You tellthe computer how fast you want to tra-vel and CompuCruise takes over. It alsofeatures resume and traffic flow adjust.

• Efficient Fuel Management - Compu-Cruise is programmed to answer anyquestion regarding fuel usage. It willtell you your most fuel efficient drivingspeed; which brand and grade of fuel ismost economical in your vehicle (testsshow in excess of 11% difference inmajor unleaded brands alone); effects oftire brands, types & pressures; whentune-up and repair is needed; whethertune-ups have been properly perform-ed; plus other useful fuel saving data.

• Trip Computer- By inputting expectedtrip distance, CompuCruise will contin-ually display time, distance or fuel to ar-rival... all computed and updated once asecond and based on current vehiclespeed and fuel consumption.

• To Empty Function - Automatic datasensors allow CompuCruise to displaytime, distance, or fuel to empty... basedon current vehicle speed and fuelconsumption.

• Highly Accurate Quartz Crystal TimeFunction- Displays time of day; elapsedtrip time (hours and minutes); elapsedtime (minutes and seconds until 59 min.59 sec. then hours and minutes); easilyset wakeup or reminder alarm.

• Temperature - Inside temperature,outside temperature (if desidered, out-side temperature sensor can be locatedto provide engine coolant temperature).Displayed in fahrenheit orcelsius.'

• Battery - Generator Voltage - Compu-Cruise will warn you of impending elec-trical failure by displaying battery andcharging voltage.

• Sophisticated Yet Simple - Because ofits automatic data sensors, CompuCru-ise can perform all of its functions withthe touch of a button. Yet with all its so-phistication, its operation can easily belearned in a few minutes. It can be usedwith any foreign or domestic vehicle,(except diesel or fuel injected engines)and can be installed by a trainedmechanic in less than two hours.

EACH COMPUCRUISE CONTAINS:

1. Command Module 3"x 6"x 1 3/16"

2. Throttle Servo

3. Speed Sensor

4. Flow Sensor

5. 2 Temperature Sensors

6. Brake-Clutch Disengagment Switch

7. Mounting Hardware for flush orbracket mounting.

8. Installation Manual

9. Use Manual

CompuCruise provides other advant-ages. The cruise control helps to elimin-ate speeding tickets. The computerserves as a diagnostic instrument todetect minor engine problems beforethey become major and costly ones. Theprecision clock and trip computer prov-ide valuable enroute informationwhether cross country or local shop-ping. The battery voltage readout isespecially helpful. Present vehicleinstrumentation tells you nothing aboutbattery condition. With CompuCruise,you are warned before failure thatservice is necessary.

Available for $199.95, (Add $5.50 for front wheel drive) plus $2.50 for insuredUPS shipping and handling from:

MM I r^k:- -P-O. Box 428. '.

'IDC Peterborough, N.H. 03458

Call your charge cardorders toll-free:' 1-800-258-5477In N.H.: 924-3355

anna

VISA

Circle 35 on inquiry card.

BYTE April 1979

183

Listing 2} continued:

STEPNO.

32.

33.3*.

35.

36.

37.38.

INSTRUCTIONS ANDREMARKS

GO TO step 12 until the digit"2.00000 00" appears in thedisplay, calling for the sec-ond pivotal equation. A newpivotal equation must bestored in the primary regis-ters each time the programhalts automatically and dis-plays a digit, 2, indicatingthe desired pivotal equation.When the pivotal equationdigit is displayed, the deci-mal point will not beflashing, nor will the digitbe displayed in a continuousloop. The digit, 2, is alsothe number of the system beingprocessed. The first pivotalequation must be stored byusing the keyboard. Sub-sequent pivotal equations arestored by inserting a datacard.

The new pivotal equation isthat equation of the new sys-tem, 2, for which the largest(in absolute value) first termhas been observed. This equa-tion, as are the other equa-tions of the new system, Z, itstored on a magnetic card.

Insert side 2 of the cardwhich contains the new pivotalequation.

When crd appears in the dis-play, press GLX,

Press f P?S.

Press B.

When crd appears in the dis-ilay, insert side 1 of card

U ( Z) .

When crd appears again, insertside 2 of card 1A(Z) .

Press f P%S.

Insert side 2 of card w(ZJLCard w(Z) no longer needed],where w is the equation of thesystem, 1, currently beingprocessed.

When crd appears in the dis-play, press GLX,

Press f P?S.

Press C.

When flashing decimal pointappears, record the absolutevalue of the coefficient forthe first term of each equa-tion, w, of the system beingcreated. If the coefficientis missed while the decimalpoint is flashing, it may berecalled by pressing h RGIafter step y\, before pro-ceeding with step 35.

When crd appears in the dis-play, insert side 1 of w(Z+l).

When crd appears in the dis-play again, insert side 2 ofcard wfz+1).

Insert side 2 of card 1A(Z).

When crd appears in the dis-play press GLX.

GO TO step 27 until a newdigit "Z.00000 00" appears inthe display, calling for thenext pivotal equation.

When the new digit

"Z.00000 00" appears in the

display, GO TO step 21.

Eventually, the digit

**n,00000 00" will appear in

the display. The nth pivotal

equation is the only equation

1(2)

v(Z)

1A(Z)

f

P§SB

f

P?S

fP?3

2.00000 00

crd2.00000 00

2.00000 00crd

crd

0.00000 000.00000 00

0.00000 00

0.00000 00l(w)(Z+l)Displayedfor 5 sec-onds withflashingdeoimalpoint.

0.00000

00

crd

0.00000

00

U(Z)

w(Z+l)

Listing 2 continued on opposite page.

16. Routine 9: displays the value ofXn with flashing decimal in a con-tinous loop until R/S is pressed.C. Display

The information under DISP indicatesthat engineering notation has beenselected and that numbers appearing inthe display will be rounded off to fivesignificant digits after the first one.When engineering notation is selected,numbers are shown in the display withexponents of 10 that are multiples of3. As with all HP-67 display formats(unless f RND is pressed), calculationsare performed using full 10 digitnumbers (10 digit mantissa and 2digit exponent of 10).

The instructions to be used while runningthe simultaneous equations program, shownin listing 2, are listed on calculator run work-sheets. These worksheets list the manualsteps which must be followed to obtain thesolution to the system of equations, inputsyou must supply to the calculator bypressing keys or inserting cards, and outputsfrom the calculator in the display or oncards.

Although it might appear that manymagnetic cards are needed to run the pro-gram, note that cards containing theequations of a system are no longer neededafter the equations have been processed withthe pivotal equation of the system. There-fore, these cards may then be used to recordthe equations of another system.

These instructions are self-explanatory (Ihope), therefore, I will allow them to speakfor themselves. Please note, however, thatthe instructions contain loops that refer youto steps previously accomplished. Rememberthat n pivotal equations must be processedand each equation contained in a pivotal'ssystem must be processed with the pivotalequation.

As a further aid in understanding boththe program and the HP-67, listing 3 showswhat is stored in each register after selectedprogram steps. The calculator register work-sheets illustrated in these figures are a val-uable debugging tool and serve as explicitprogram documentation.

All of the forms shown in this article,except the one shown in listing 4, may beused with any HP-67 (and with other cal-culators as well) program. The form shownin listing 4 has been prepared specificallyfor simultaneous equations. This worksheetcan be used to list the constants of theoriginal system of equations, to record thefirst terms of each of the other systems asthey appear in the display so that the pivotalequations may be easily spotted, and finally,to record the value of each unknown.

1 84 April 1979 © BYTE Publications Inc

Conclusion

With the help of special forms designedfor the occasion, the powerful repertoire ofthe HP-67 (and the HP-97) has beenexamined, yet I have taken from you noneof the pleasures in store as you begin youradventures with this versatile calculator.

The example program presented will bean added attraction to those anticipatingthe purchase of an HP-67, as well as to thosefortunates who already possess one. Whenyou look at the price tag on the HP-67,compare its cost to the cost of computertime and memory which would be necessaryto run similar programs. In addition, thinkof the programs you could run on the HP-67which might never be run otherwise.

Listing 2, continued:

REFERENCES

Kuo, Benjamin C, Linear Networks and Systems,McGraw-Hill, New York, 1967, pages 63 to 104.A good discussion of introductory network theory.

Pearson, Carl (ed), Handbook of Applied Mathe-matics, Van Nostrand, New York, 1974, pages 906to 908. Gives a treatment of the Gaussian elimi-nation method.

Listings 3, 4, 5 and 6 arecontinued on pages 186and 188.

STEPNO.

INSTRUCTIONS ANDREMARKS

INPUTS

OUTPUTS

LABEL

KEY

DISPLAY

CARD

in system n, therefore, no

first term comparisons need be

made. Furthermore, the nth

pivotal equation need not be

stored on a card. Since the

nth pivotal equation is now

stored in the secondary regis-ters, simply press f P£S.

f

PjS

n.00000 00

39.

Press B.

DIVIDE

B

n.00000 00Displayedwith

flashing^decimal ina continu-ous loop.

<*0.

The "n.00000 00" displayedwith flashing decimal in acontinuous loop indicates thatXn has been computed and isstored in RS0,

M..

Press R/S.

R/S

O. 00000 00

»2.

Press D.

START PARIII

D

1.00000 00

<o.

Insert side 2 of card lA(n-l).

lA(n-l)

crd

W.

When crd appears in the dis-

play, press CLX.

CLX

1.00000 00

W.

Press E.

E

n-l.oooooo

Displayedwithflashingdecimal ina continu-ous loop.

W.

The "n-1.000000" displayedwith flashing decimal in acontinuous loop indicates thatXn-1 has been computed and isstored in R2 (Xn is now storedin Rl).

V.

Press R/S.

R/S

n-rl. 000000

w.

Insert side 2 of card 1A(1J,

1A(1)

crd

<+9.

When crd appears in the dis-

play, press CLX,

CLX

2.00000 00

50.

Press E.

E

1.00000 00Displayedwithflashingdecimal ina continu-ous loop.

51.

The "1.00000 00" displayedwith flashing decimal in acontinuous loop indicated thatXI has been computed and isstored in Rn.

52.

Press R/S.

END

R/S

1.00000 00

53.

Recall each X value from the

RCL

primary registers by pressing

1

Xn

Rl through 89,

RCL2

RCLn

Xn-1XI

Listing 3: Selected register worksheets for the sampleprogram discussed in the text. These sheets illustrate thecontents of the registers at various key points in theprogram.

PROGRAM TITLE: 9 Equation Example

APPLICATION: Calculator-Aided Design

PROGRAMMERi Bob Arp

DATA CARD LABEL: None

LAST PROGRAM STEP: 010

NEXT PROGRAM STEP: Oil

EQUATION:

EQUATION:

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

R0

0.00000 00

RSO

0.00000 00

A

9.00000 00

Rl

0.00000 00

RSI

0.00000 00

B

0.00000 00

R2

0.00000 00

RS2

0.00000 00

C

0.00000 00

R3

0.00000 00

RS3

0.00000 00

D

1.00000 00

Rl*

0.00000 00

RSl*

0.00000 00

E

0.00000 00

R5

0.00000 00

RS5

0.00000 00

I

0.00000 00

R6

0.00000 00

RS6

0.00000 00

X

1.00000 00

R7

0.00000 00

RS7

0.00000 00

Y

9.00000 00

R8

0.00000 00

RS8

0.00000 00

Z

0.00000 00

R9

0.00000 00

RS9

0.00000 00

T

0.00000 00

LSX

PROGRAMMER:

DATA CARD LABEL: EQ. 1A(1)

LAST PROGRAM STEP: 046

NEXT PROGRAM STEP: 0^7

EQUATION:

EQUATION: 1A(1)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

RO

0.00000

RSO

6.66667

1

A

9.00000

Rl

0.00000

RSI

0.00000

A9

B

0.00000

R2

0.00000

RS2

0.00000

AS

C

10.00000

R3

0.00000

RS3

0.00000

A7

D

1.00000

R4

0.00000

RSi*

0.00000

A6

E

2.00000

R5

0.00000

RS5

0.00000

A5

I

10.00000

R6

0.00000

RS6

0.00000

Alt

X

0.00000

R7

0.00000

RS7

-.500000

A3

Y

2.00000

R8

0.00000

RS8

-.333333

A2

Z

1.00000

R9

0.00000

RS9

1.00000

Al

T

9.00000

LSX

PROGRAMMER:

DATA CARD LABEL: 1(2)

LAST PROGRAM STEP: 119

NEXT PROGRAM STEP: 120

EQUATION.

EQUATION: 1(2)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

R0

0.00000

RSO

13.33333

Y

A

9.00000

Rl

0.00000

RSI

0.00000

A8

B

0.00000

R2

0.00000

RS2

0.00000

A7

C

10.00000

R3

0.00000

RS3

0.00000

A6

D

1.00000

Rl)

0.00000

RS4

0.00000

A5

E

3.00000

R5

0.00000

RS5

0.00000

Ak

I

16.33333

R6

0.00000

RS6

-5.00000

A3

X

0.00000

R?

0.00000

RS7

-7.00000

A2

Y

3.00000

R8

0.00000

RS8

16-33333

Al

Z

9.00000

R9

0.00000

RS9

0.00000

T

16.33333

LSX

PROGRAMMER:

DATA CARD LABEL: 2(2)

LAST PROGRAM STEP: 119

NEXT PROGRAM STEP: 120

EQUATION:

EQUATION: 2(2)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

R0

0.00000

RSO

20.00000

Y

A

9.00000

Rl

0.00000

RSI

0.00000

B9

B

0.00000

R2

0.00000

RS2

0.00000

B8

C

10.00000

R3

0.00000

RS3

0.00000

B7

D

1.00000

Rl*

0.00000

RS<t

0.00000

B6

E

4.00000

CALCULATOR RUN WORKSHEET

TREBOR ENGINEERING

Listing 3 continued on next page.

April 1979 © BYTE Publications Inc 185

Listing 3, continued:

R5

0.00000

RS5

-7.00000

B5

I

-7.00000

R6

0.00000

RS6

0.00000

Bl*

X

0.00000

R7

3.00000

RS7

11*.50000

B3

Y

1*.00000

R8

0.00000

RS8

-7.00000

B2

Z

9.00000

R9

0.00000

RS9

0.00000

Bl

T

-7.00000

LSX

PROGRAMMER.

DATA CARD LABEL. 1A(2)

LAST PROGRAM STEP. 01*6

NEXT PROGRAM STEP. 01*7

EQUATIONi

EQUATION. 1A(2)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

RO

0.00000

RSO

.816327

Y

A

9.00000

Rl

0.00000

RSI

0.00000

A9

B

0.00000

R2

0.00000

RS2

0.00000

A8

C

10.00000

R3

0.00000

RS3

0.00000

A7

D

2.00000

R4

0.00000

RS<*

0.00000

A6

E

3.00000

R5

0.00000

RS5

0.00000

A5

I

10.00000

R6

0.00000

RS6

-.306122

A<+

X

0.00000

R7

0. o'oooo

RS7

-.1*28571

A3

Y

3.00000

R8

0.00000

RS8

1.00000

A2

Z

2.00000

R9

0.00000

RS9

0.00000

Al

T

9.00000

LSX

PROGRAMMERi

DATA CARD LABEL. 1(3)

LAST PROGRAM STEPi 119

NEXT PROGRAM STEP. 120

EQUATIONi

EQUATION. 1(3)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

RO

0.00000

RSO

25.71^3

Y

A

9.00000

Rl

0.00000

RSI

0.00000

A9

B

0.00000

R2

0.00000

RS2

0.00000

A8

C

10.00000

R3

0. 00000

RS3

0.00000

A7

D

2.00000

Rlt

0.00000

RS4

0.00000

A6

E

1*. 00000

R5

0.00000

RS5

-7.00000

A5

I

11.50000

R6

0.00000

RS6

-2.11*286

A4

X

0.00000

R?

0.00000

RS7

11.50000

A3

Y

1*.00000

R8

0.00000

RS8

0.00000

A2

Z

9.00000

R9

0.00000

RS9

0.00000

Al

T

11.50000

LSX

PROGRAMMER I

DATA CARD LABEL. 1(9)

LAST PROGRAM STEPi 12?

NEXT PROGRAM STEP. 128

EQUATIONi

EQUATIONi 1(9)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

RO

0.00000

RSO

8.16531*

Yl

A

9.00000

Rl

0.00000

RSI

36.957**

A9

B

0.00000

R2

0.00000

RS2

0.00000

A8

C

10.00000

R3

0.00000

RS3

0.00000

A7

D

9.00000

Rl*

0.00000

RSI*

0.00000

A6

E

9.00000

R5

0.00000

RS5

0.00000

A5

I

36.9571*

R6

0.00000

RS6

0.00000

Al*

X

9.00000

R7

0.00000

RS7

0.00000

A3

Y

0.00000

R8

0.00000

RS8

0.00000

A2

Z

9.00000

R9

0.00000

RS9

0.00000

Al

T

9.00000

LSX

PROGRAMMER 1

DATA CARD LABEL. 1A(9)

LAST PROGRAM STEP. 130

NEXT PROGRAM STEP. 131

EQUATION.

EQUATION. 1A(9)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

RO

-8.16531*

RSO

.220939

Y

A

9.00000

Rl

36.9571*

RSI

1.00000

A9

B

0.00000

R2

0.00000

RS2

0.00000

A8

C

10.00000

R3

0.00000

RS3

0.00000

A7

D

9.00000

Rl*

0.00000

RSI*

0.00000

A6

E

36.9574

R5

0.00000

RS5

0.00000

A5

I

10.00000

R6

0.00000

RS6

0.00000

Al*

X

9.00000

R7

0.00000

RS7

0.00000

A3

Y

9.00000

R8

0.00000

RS8

0.00000

A2

Z

9.00000

R9

0.00000

RS9

0.00000

Al

T

9.00000

LSX

APPLICATION. D has just been pressed to Initiate Part II.

PROGRAMMER 1

DATA CARD LABEL.

LAST PROGRAM STEP. 11*1

NEXT PROGRAM STEP. 11*2

EQUATION.

EQUATION.

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

RO

0.00000

RSO

8.I653I*

A

9.00000

Rl

.220939

19

RSI

36.9571*

B

0.00000

R2

0.00000

RS2

0.00000

C

10.00000

R3

0.00000

RS3

0.00000

D

9.00000

Rl*

0.00000

RSI*

0.00000

E

1.00000

R5

0.00000

RS5

0.00000

I

-.220939

R6

0.00000

RS6

0.00000

X

1.00000

R?

0.00000

RS7

0.00000

Y

0.00000

R8

0.00000

RS8

0.00000

Z

-.220939

R9

0.00000

RS9

0.00000

T

-.220939

LSX

PROGRAMMER 1

DATA CARD LABEL.

LAST PROGRAM STEP. 189

NEXT PROGRAM STEP. 190

EQUATION.

EQUATION. 1A(8)

COUNTERS AND CONSTANTS

REG

CONTENTS

LBL

REG

CONTENTS

LBL

REG

CONTENTS

LABEL

RO

.11*0633

RSO

.061*5869

A

9.00000

Rl

.220939

19

RSI

-.31*1*197

B

1.00000

R2

.11*0633

18

RS2

1.00000

C

11.00000

R3

0.00000

RS3

0.00000

D

8.00000

Rl*

0.00000

RSI*

0.00000

E

2.00000

R5

0.00000

RS5

0.00000

I

2.00000

R6

0.00000

RS6

0.00000

X

8.00000

R7

0.00000

RS7

0.00000

Y

8.00000

R8

0.00000

RS8

0.00000

Z

8.00000

R9

0.00000

RS9

0.00000

T

8.00000

LSX

CALCULATOR REGISTER WORKSHEET

TREBOR ENGINEERING

Listing 4: A special simul-taneous equations work-sheet showing the con-stants of the original nineequations of the sampleproblem discussed in thetext. The first terms ofeach of the intermediatesystems are shown alongwith the solution.

TITLE:

^ine Equations Example

PAGE 1 OF 1

APPLICATION] Solves systems of

up to 9 simultaneous equ

ations

DATE. 12/27/76

SYSTEM 1 CONSTANTS

EQ #

ml

m2

m3

ml*

m5

m6

m7

m8

m9

Y

1

6

-2

-3

0

0

0

0

0

0

1*0

2

-2

17

-6

-5

0

0

0

0

0

0

3

-3

-6

16

0

-7

0

0

0

0

0

1*

0

-5

0

32

-10

-9

0

0

0

0

5

0

0

-7

-10

28

0

-11

0

0

0

6

0

0

0

-9

0

1*8

-11*

-13

0

0

7

0

0

0

0

-11

-11*

1*0

0

-15

0

8

0

0

0

0

0

-13

0

64

-IB

0

0

0

0

0

0

0

0

-15

-18

52

0

REG

R9

R8

R7

R6

R5

Rl*

R3

R2

Rl

RO

FIF

ST TERMS (ABSOLUTE VALUE

)

EQ*

SYSTEM

VARIABLES

2

3

1*

5

6

7

8

9

XI

9.12165

1

16.3333

11.5000

30.0701

19.1*895

1*1*. 7189

28.1311*

59.W05

.220939

X2

2.1*9275

2

7.0000

2.11*28

11.301*3

3.3831*

15.9096

11.6250

20.1*661

XXX

X3

3.21*811*

3

5.0000

7.0000

9.0000

11.0000

13.0000

15.0000

XI*

.928921*

1*

0.0000

0.0000

0.0000

0.0000

0.0000

X5

1.37839

5

0.0000

0.0000

0.0000

0.0000

*^ ^C/X^

X6

.3861*31*

6

0.0000

0.0000

0.0000

X7

•597162

7

0.0000

0.0000

X8

.11*0631*

8

0.0000

XXX

xx>

,xx>

X9

.220939

SIMULTANEOUS EQUATIONS WORKSHEET

TREBOR ENGINEERING

186 April 1979 © BYTE Publications Inc

Circle 73 on inquiry card.

COMPUTERWARE for6800's

THE BASICS

FOR WORK

AND PLAY

(that we're famous for...)

• CHECK FILE 49.95

• LEARN BASIC 39.95

• Random SSB Basic 89.95

• HOME MAILING (VI) 49.95

• LEARN ASSEMBLER 19.95

• Flex Disk Basic 49.95

• Cassette Basic 29.95

• Prom Basic cassette 100.00

2716 250.00

• HOME INVENTORY 49.95

• BUSINESS MAILING (V2) 89.95

******************************

write for information about our

• PILOT DISK 24.95

W/SOURCE LIST 37.95W/ SOURCE DISK 49.95

• MUSIC for the Newtech Model 68

• Renbas wv SOURCE list 24.95W/SOURCE DISK 34.95

We register our BASIC owners andoffer future enhancements at reason-able prices.

COMMERCIAL BUSINESS SOFTWARE

including:

INVENTORY CONTROLORDER ENTRYACCOUNTS RECEIVABLEMAILING SYSTEMand MOREall using RANDOM ACCESS capabilities

4-Part Music #1 24.954-Part Music#2 24.95Interpreter-coming soon -

compose on your keyboard!

for more information circle inquiry no.for quick information write to us

ORDERING INFORMATION

wWvvvOOvVMvvVvDvVVVv¥VvVvvOy

• always specify cassette, Flex disk, orSSB disk

COMPUTERWARE

$ Send us this coupon before $$ April 30,1979 and get $

• on Pre-paid orders Computerware willpay shipping charges

• for C.O.D. orders shipping charges areextra

6800 specialists

830 FIRST STREETENCINITAS, CALIF. 92024

(714)436-3512

$ D Both Learn Basic $$ and Learn Assembler 49.95 $$□ 10% off any software order $$ of more than $50.00 $

• Calif, residents add 6% sales tax

WwwwwiJwi)OOwwwODvOvOv'rVvVOvwO

Albert Qnstein

March 14, 1879-March 14, 1979

World renowned photographer Lotte Jacobiannounces the release of an outstanding seriesof photographs of the man who by his powers ofreason and moments of wild speculation becameinstrumental in shaping the modern world.

This unique portfolio of 25 five by sevenportraits, selected from photographs taken overa span of two decades, have been assembled tomark the centennial of Albert Einstein's birth.

The price of this remarkable set is $22.95,first class postage and handling included.Available from:

BITS

POB 428, 25 Rout© 101 West,inC Peterborough, N.H. 03458

Books to erase the impossible

Charge Card Orders May Be PlacedOn OurToll-Free Number:

E22ffl

800-258-5477(In New Hampshire Call 924-3355)

Circle 35 on inquiry card.

BYTE April 1979 187

Listing 5: Instructions forrunning the program inlisting 6 which checks thesolutions obtained by theprogram in listing I.

Blank coding forms like theones used in this article maybe purchased from Robert CArp Jr, 3961 Acapulco Dr,Campbell CA 95008.

Listing 6: A programwhich accepts the coeffi-cients calculated by listingI and checks them foraccuracy.

PROGRAM TITLE: Simultaneous Equations Check Program PAGE 1

OP 2

APPLICATION: Checks solutions to systems of up to 9 equations

PROGRAMMER: Bob Arp

DATE: 12-27-76

STEPMO.

INSTRUCTIONS ANDREMARKS

INPUTS

OUTPUTS

LABEL

KEY

DISPLAY

CARD

1 .

Before the check program can

be initiated, all values of X

must be stored in the primary

registers as follows: XI in Rn,

X2 in R(n-1),...,Xn In HI. Th«

values of X are stored in this

manner at the end of the

"SIMULTANEOUS EQUATIONS"

program.

2.

Key in the number of system

equations.

n

n .

3.

Press A.

START

A

n.00000 00

It.

Store the coefficients of equa-tion 1 into the primary regis-ters as follows: Al in Rn, A2in R(n-l) An in HI. Con-stants which are zero need notbe entered.

EQ 1

AlSTORnA2STORn-1

An'STORl

5-

Press B.

MULT/ADD

B

eYlDisplayedwithflashingdecimal ina continu-

6.

Press R/S.

HALT

R/S

ous loop.~Y1

7.

The number which appears in thedisplay should be approximatelyequal to Yl.

8.

Store the coefficients ofequation 2 in the primaryregisters as follows: Bl in Rn,B2 in R(n-l),...,Bn in Rl.Constants which are zero needlot be entered.

E8 2

Bl

STORnB2STORn-1

Bn

STO

Rl

9.

Press B.

MULT/ADD

B

»Y2Displayedwithflashingdecimal ina continu-ous loop.

10.

Press R/S.

HALT

R/S

*sY2

11.

The number which appears in thedisplay should be approximatelyequal to Y2.

12.

Store the coefficients of equa-tion n in the primary regis-ters as followsi ml in Rn, m2in R{n-1)....,mn in Rl.

EQ n

ml

STO

Rn

m2

STORn-1

mn

STO

Rl

13.

Press B.

MULT/ADD

B

«YnDisplayedwith

flashingdecimal ina continu-ous loop.

14.

Press R/S.

END

R/S

KYn

15.

The number which appears in thedisplay should be approximate^equal to Yn.

PROCRAM TITLE: SIMULTANEOUS EQUATIONS CHECK PROGRAM PAGE 1 OF 2

APPLICATION: Checks

solutions to systems of up to 9 equations.

PROGRAMMER: Bob Arp

DATE:

REGISTERS

0

1 m9

2 m8

3 ni7

» m6

S m5

6 m4

7 m3

8 m2

0 ml

SO

si X9

S2 X8

S3 X7

S4 X6

S5 X5

S6 xll

S? X3

SS X2

S?X1

A # Eqs irSystem

B Pri regpointer

C Sec regpointer

D Termcounter

E V 4

Y storage

I Miscstorage

LABELS

FLG

SET STATUS

A

Start

B Mult/Add

C

D

E

0

FLAGS

TRIG

DISP

ON

OFF

a

b

c

d

e

1

DEG

FIX

SCI

0 Mult/ 1 Clearadd loop registers

2

Disploop

3

4

2

ENG

X

RAD

n 5

NUMADD

PROGRAM CODES

DEFINITIONS AND REMARKS

NUMERIC

SYMBOLIC

001

31

;>.■;

11

f

L3L

A

With all values of X stored in primary re-gisters and with the number of system equa-tions keyed into the calculator, pressing Ainitializes the check program by storingthe values of X in the secondary registersand clearing the primary registers.

002

■ <

.-",

DSP

5

003

V

51

h

ENG

oo4

31

42

f

PiS

005

11

4 1

1'

CL

REG

00:

3 3

! !

STO

A

007

35

.'

h

rt:;

oos

1:

:--5

1;.'

f

LSI

b

Wr

en the program halts and displays the

009

15

'. 1

RCL

A

number.of system equations, the coefficientsof the first system equation must be storedin the primary registers; coefficients whichare zero need not be stored. The coeffi-cients must be stored in the registers asindicated above under the "REGISTERS" head-ing (see CALCULATOR RUN WORKSHEET).

During subsequent halts, the coefficientsof the other system equations are stored,in turn, in the primary registers.

After the coefficients of an equation havebeen stored, pressing B causes each value ofX to be multiplied by the appropriate con-stant, and the sum of the multiplicationsto be stored in register E. The Multiply/Add loop continues until the term counter,D, indicates that n terms have been pro-cessed .

0 1 0

13

: 2

STO

B

Oil

V

'4

STO

D

012

1 1

1

on

,lh

0

01't

61

+

015

3 3

n

STO

C

016

no

0

017

4i

♦

OIK

3 J

15

STO

E

019

31

00

f

LBL

0

020

34

12

RCT,

B

021

J J

33

h

ST I

022

44

CLX

023

35

24

RCL

(1)

024

}l>

n

RCL

C

02 5

3 5

33

h

ST I

02''

.:.

CLX

027

34

24

RCT,

(0

028

'1

029

34

1'

RCL

E

030

•1

+

03!

21

1

STO

E

032

01

1

033

14

14

RCL

D

0 3'i

•-

51

K

X=Y

035

: 2

01

GTO

1

03-

01

1

037

51

-

03R

33

14

STO

D

030

34

1 2

RCL

B

n.'in

!

1

o4i

■ 1

-

olir

33

1

2.75

E

04)

34

1 1

RCI

C

M

:\

1

0.5 5

:

-

ill.-

13

25 I

c

04y

22

3TC

0

658

31

::

•

f

LB1

1

Clears primary registers; allows the next

04n

0

0

system equation to be stored with no at-tention paid to the coefficients which arezero.

O'.O

33

STO

0

051

"

!

STO

1

052

33

02

STO

2

0 53

33

03

STO

3

<v.h

S3

04

STO

4

0 5 5

33

n:

STO

5

ov.

3 3

06

STO

6

057

07

STO

7

0 5R

33

08

STC

8

0 5"

S3

09

STO

9

060

31

. ■

!

L?L

2

R

ecalls the value of the Y term stored in

061

34

1

RCT

E

E and displays this value with a Hashingdecimal point in a continuous loop; press-ing R/S breaks the loop and displays Y.

062

31

4

f

-x-

()■ <

22

.

GTC

2

06'i

'4

R ':.

05 5

0.55,

080

CALCULATOR RUN WORKSHEET

TREBOR ENGINEERING

CALCULATOR PROGRAMCONTINUATION WORKSHEET

TREBOR ENGINEERING

188 April 1979 ©BYTE Publications Inc

The Fourth

Trenton Computer Festival

TCF-79

10 AM to 6 PMSATURDAY, 21st

April 21 & 22, 1979

at TRENTON STATE COLLEGETrenton, New Jersey

10 AM to 4 PMSUNDAY, 22nd

Super Outdoor Flea MarketForums, Talks and Seminars

Indoor Commercial Exhibit AreaConvenient to NY, PA, 91D and DEL

Hundreds of Door Prizes • Banquet Saturday Night

For additional information call 609-771-2487Admission $4 - Students $2

Banquet #10. Avoiddisappointment - pro-register forthe banquet! Send your check for$10 per person to: TCF 79, TrentonSlate College, Trenton, X..J.08625.

Sponsored by:

Amateur Computer Group of

Xcw .Jersey

Philadelphia Area Computer

Society

Trenton State College Digital

Computer Society

Dept. of Engineering

Technology, Trenton State

College

I.E.E.E., Princeton Section

r~"

STAR SHIP SIMULATION

by Roger Garrett

□ Star Ship Simulation is a design for a program to simulate theoperations of the starship Enterprise, as defined on the originalTV program, on a computer. Navigation, communication, helm,medical, engineering, and science functions are realized, alongwith the actions of several other Federation and enemy craft. Theprogram is presented in a general structured form with informa-tion to aid the user in implementing it for a particular hardware/software set-up. pp.122, $6.95.

PROGRAMMING THE 6800 MICROPROCESSOR

by Bob Southern

D This self-instruction workbook is a guide to the fundamentals of as-sembly language and machine code programming of the 6800 micropro-cessor and its peripheral devices. Considerable coverage is given to pro-gramming of the input and output devices. The asynchronous communica-tions, interface adapter, each with their various modes of operations, areexplored in detail in both noninterrupt and interrupt modes. Program de-sign and documentation are emphasized along with programming hintsand aids. 200 pp., $6.75.

ROGER GARRETT

BITS

Books to orose the impossible

POB 428, 25 Route 101 WestPeterborough, NH 03458

SCIENTIFIC AND ENGINEERING PROBLEM SOLVING WITH THE COMPUTER by William Ralph Bennett Jr.

r One of the most exciting books we've seen in years. Besides teaching BASIC(which it does admirably), this lively, lucid book presents a wealth of imaginative andunusual applications programs and simulations taken from many disciplines. Theexercises run the gamut from random processes to the dynamics of motion, fromentropy in language to the Watergate problem. You'll discover BASIC applications inlasers and in the Fourier series and the law (I). In its diversity and elegant style, itranks with Donald Knuth's works as a milestone in the art fo computing. Hardcover,457 pp, $19.95.

Name.

Address.

□ Check enclosed

□ VISA □ MC

Expires.

Prices subject to change without notice

Postage $.75/book or $1.00 outside U.S.DIAL YOUR BANK ORDER ON OUR TOLL-FREE LINE 800-258-5477

Circle 35 on inquiry card.

BYTE April 1979

189

64KB MICROPROCESSORMEMORIES

• S-100 - $695.00 • SBC 80/10 - $750.00

• LSI 11 - $750.00 • 6800 - $750.00

CI-S100 — 64K x 8 on a single board.Plugs directly into the IMSAI, MITS,TDL, SOL and most other S-100 Buscomputers. No wait states even withZ80 at 4Mhz. Addressable in 4K in-crements. Power requirement 6 watts.Price $695.00.

CI-1103 — 8K words to 32K words in asingle option slot. Plugs directly intoLSI 11, LSI 11/2, H11 & PDP 1103.Addressable in 2K increments up to128K. 8K x 16 $390.00. 32K x 16 $750.00qty. one.

CI-6800 — 16KB to 64KB on a singleboard. Plugs directly into Motorola'sEXORcisor and compatible with theevaluation modules. Addressable in4K increments up to 64K. 16KB $390.00.64KB $750.00.

CI-8080 — 16KB to 64KB on singleboard. Plugs directly into Intel's MDS800 and SBC 80/10. Addressable in4K increments up to 64K. 16KB $390.00.64KB $750.00

CI-S100 64K x 8

■ HUM! v^.V

[iiijiii! :,->.:

CI-1103 32Kx 16

•iM'umnrnimmiCI-6800 64K x 8

fSKfs

■ minivmniimrmm

Sal»i i _.

QjfMi i* j ~ •""-*.~M

CI-8080 64K x 8

€

Tested and burned-in. Full year warranty.

Chrislin Industries, Inc.

Computer Products Division

31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254

Circle 47 on inquiry card.

Nybbles

BASIC Cross-ReferenceTable Generator

William and Alice Englander

1966 Titus St

San Diego CA 92110

A standard compiler feature for highlevel languages like COBOL and PL/I is across-reference of the source program. Inthe simplest case, each named element in theprogram is listed in a report with the linenumbers of all statements containing thatelement. Words which have special meaningsin the language being cross-referenced, suchas READ or IF, are ignored.

Features of more sophisticated cross-reference facilities include placing theelements in alphabetical order, showing thestatement number in which an element isdefined separate from its references, definingthe use of the element as a sending or re-ceiving field and cross-referencing both dataelements and procedural elements (state-ment labels).

As we began program development inBASIC on our microprocessor, we dis-covered the pleasures of using BASIC, butwere surprised to find that cross-referencesof our BASIC programs could not be pro-duced with any of our regular system soft-ware. In addition, our survey of the litera-ture did not turn up any BASIC cross-reference programs..

A cross-reference can be an extremelyuseful programming aid. When you aredebugging a program, it allows you to quick-ly find each statement which deals with aparticular variable. For example, if the pro-gram is looping you can look at each refer-ence of the loop control variable to ensurethat it has been initialized, that it is beingincremented, and that a check for the upperlimit is being made. A cross-reference is

Text continued on page 192.

190 April 1979©BYTE Publications Inc

CBASCBAS

12

3

4

10

!C BSGAME

IC COMPILER VER 1.0!

! PRINT "BINARY SEARCH GAME"

PRINT! INPUT "HIT RETURN WHEN READY TO PLAY"iLINE ANS*: RANDOMIZEL0U = 1HIGH=1000

NO-INT<RND*HIGH>+ILOR 1=1 TO 24

PRINT

NEXT IPRINT

PRINT "ENTER NUMBER IN THE RANGE">LOU}"THROUGH' iHIGHINPUT GUESSIE (GUESS<LOW) OR (GUESS>HIGH> OR < GUESSOINT ( GUESS ) ) THEN\

PRINT "TRY AGAIN" 5\

GO TO 20IE GUESS<N0 THEN\

LOW=INT<GUESS+l) :\

PRINT 'YOU'RE LOW"!\

GO TO 20IF GUESS>N0 THEN\

H IGH=INT(GUESS-1 ) 5\

PRINT "YOU'RE HIGH" !\

GO TO 20PRINT "YOU WIN! ! ! "PRINT

PRINT "PLAY AGAIN?"INPUT ANS*IF LEFT*(ANS*»1)~"Yn THEN\

00 TO 10PRINT "END OF BINARY SEARCH GAME"STOPEND

8 5

95

io:

11: 20

13 5

14 5

15:

16:

17:

18 5

195

20 5

21:

23:

24:

25:

26!

27 5

28:

29:

30!

31!

32:

33 5

NO ERRORS

CRUN XREFCRUN VER 1.03

ENTER NAME OF PROGRAM TO BE CROSS-REFERENCED BSGAME

CROSS-REFERENCE LISTING OF PROGRAM BIBSGAME.BAS

VARIABLE REFERENCES

I 8 10

N£3 7 17 21

LOW 5 12 14 18

ANS* 3 28 29

HIGH 6 7 12 14 22

guess:; 13 14 14 14 14 1.7 1.8

Listing 1: An exampleprogram with a cross-reference table generatedby the BASIC cross-refer-ence generator program.

21

About the Authors

William and AliceEnglander have a pro-gramming and consult-ing firm in the SanDiego area. While mostof their program devel-opment is done on cus-tomers ' large scale com-puters, they also dowork for customers ontheir IMSAI 8080 diskbased system. They areboth computer systemsInstructors at NationalUniversity.

Please sencL

::opies of BYTE Nybble #_

.at $_

.postpaid

Check Enclosed

Bill my BAC - _

Bill my MC —

Name

Exp Date.Exp Date _

Street.City

State .

. Zip Code .

BYTE Nybbles Library, 70 Mam St, Peterborough NH 03458

You may photocopy this page if you wish to keep your BYTE intact.

April 1979 © BYTE Publications Inc 191

Text continued from page 190:

handy when you need to make a programchange, too. You can quickly see whatnames have already been used if you needto define a new variable. And you candouble check your planned changes againstuses of the existing variables, which mayenable you to use existing ones instead ofhaving to define new ones.

In BASIC, a cross-reference listing can beespecially useful in helping you to verifythat you have used correct names in yourcode. Since BASIC sets up variables for youwithout requiring explicit definitions, youcan accidentally miscode a variable nameand cause some elusive program problems.A quick look at the cross-reference wouldalert you right away since you would seeboth the correct name and the improperlycoded name.

Our BASIC cross-reference program waswritten using C-BASIC on an IMSAI 8080disk based system running under CP/M.Depending on your configuration, enhance-ments could probably be made which wouldspeed up the processing time. A typicalprogram and cross-reference table is shownin listing 1 on the preceding page."

The Nybbles Library is an inexpensive means for BYTE readers toshare some interesting but specialized forms of software. These pro-grams are written by readers with small computers and printer facilities,and are therefore designed for particular systems. The algorithms andprogramming techniques can be used by readers with similar equipment,or can serve as an inspiration for improvisation on computers of differ-ent characteristics.

Potential authors of such programs should send us a self-addressedstamped envelope, with a request for a copy of our Guidelines for Nyb-bles Authors. Payment for Nybbles items is based on sales and lengthof the item. Rates are set at the time of acceptance.

Nybbles Library programs are sent in listing form, printed on 8.5 byII inch paper on both sides. The Nybbles Library programs arepunched with three holes for collection in loose leaf binders, and comein an attractive folder which serves as a cover. This month the BASICCross-Reference Table Generator has been added to the NybblesLibrary. You can order a personal copy of this program (BYTE NybblesLibrary Document # 105) for $. 75 postpaid ($1.05 overseas postpaid)by filling out the coupon on the preceding page.

BYTEs Bugs

Get your PC mastersin as little as 2 weeks

At Echo Design your circuit drawings can be con-verted into finished artwork masters in only 2 to 6weeks, depending on complexity.

We do board layouts for many of the biggest namesin the business.

And we have broad capability. Such as computerboards having 450 ICs.

Choose any or all these services:

• Layout (to digitizing • Assembly drawing

standards if desired) • Schematic drawing

• Tape-up (artwork) • Bill of material

• Fab drawing • Printed board

Place a call now to John Offenbacker or Al Chewand get your new board moving at competitive prices.

echo

DESIGN ANDDEVELOPMENTCORPORATION

FREEAsk fora copy

BasicGuidelines

for

Printed

Circuit

Partitioning

195 EAST GISH ROAD • SAN JOSE. CA 95112

408-292-0918

We also provide contract technical personnel world wide

Motor Source Error

A list of stepping motor sources in"A Stepping Motor Primer, Part 1: The-ory of Operation," by Paul Giacomo(February 1979 BYTE, page 90) was in-complete. We omitted Superior ElectricCo, 383G Middle St, Bristol CT 06010, amajor manufacturer of stepping motors.*

Polyphony Made Accurate

Perusal of my copy of the January1979 BYTE, containing my article"Polyphony Made Easy," reveals twoerrors in the schematic on page 106.

First the trivial one: the countersare incorrectly labeled as 7473 (in fact,both are called IC10a). They are, inreality, 7493s.

Second, the multiplexers — allnine of them — have a pinout error.Instead of "B A C" along the bottomof each one (input address), they shouldread "A B C," with the pin numberschanged accordingly to "11 to 9."

These are not crippling errors —anyone who's reasonably familiar withTTL (transistor-transistor logic) wouldspot the first one immediately, and thesecond would cause scrambled key codesbut would sooner or later be figuredout.

Steven K Roberts

129 N Gait Av

Louisville KY 40206"

Finishing the Job

The Programming Quickie "SingleStepping the 8080 Processor" (January1979 BYTE, page 179) has one smallbug in it. A line of code was left outof the program listing on page 180.The last line of the program shouldread: 118A JMP FINI C37D10."

192 April 1979 © BYTE Publications Inc

Circle 105 on inquiry card.

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiriiiiiiiiiiiiiiiiitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifiiiiiiiini

BYTE News ....

■■■IIIIIIIIIIIIIIIIIIIIllllllllllllIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIlllllllIltlllllllllllllllllllllllllllllllllllllllllllllllBIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIill

32 Bit Microprocessors Are Rumored. While Zilog and Motorola are struggling to get their 16 bit microprocessor-ICs into production, Texas Instruments and Intel have been delivering theirs for some time. Now rumors aboundthat both TI and Intel will show prototype 32 bit processors by the end of the year and may be in production bythe end of 1980 or the beginning of 1981.

Tremendous Growth of Personal Computer Systems Predicted for 1979. Mike Shea, marketing director for Atari,who recently brought two personal computer systems to the market, predicts a four to sixfold increase in personalcomputer sales for this year. He feels that between 200,000 and 300,000 personal computer systems will be soldthis year, compared to 50,000 last year, and said that in the future Atari will pay less attention to developing newgame consoles and instead concentrate on bringing out new software for existing units.

Fairchild Camera & Instruments predicts that 4.6 million programmable video games will be sold this year,worldwide, compared to 2.1 million in 1978. Further, they predict that 18 million cartridges, worth $110 million,will be sold, compared to 5.7 million, worth $18 million, last year.

Nonvideo games growth should prove even more dynamic, according to industry pundits. Sales should reach$290 million in 1979, and possibly $500 million in 1980.

Lear Seigler Shipped 40,000 Video Terminals in 1978. The Data Products division of Lear Seigler announced thatin 1978 they shipped 40,000 video display terminals. This was more than they shipped in their six previous yearsof doing business. LS is predicting an increase in video display sales in 1979 of 25 to 30 percent.

Centronix Reports 20 Percent of Its Printers Go to Personal Computer Makers. Centronix, the leading maker ofdot matrix printers, predicts that about 20 percent of its 1979 business will be from Tandy (Radio Shack TRS-80)and from Apple Inc. At the beginning of the year they were shipping 1700 printers per month to Tandy (in otherwords, 20,400 per year). Centronix is getting set to introduce a high density dot matrix printer and a word process-ing impact printer to compete with Diablo and Queme.

Computer Stores Becoming Big Business. Computer stores are becoming mass merchandisers, judging by an orderrecently placed with Perkin-Elmer Corp. Their terminal division announced that Micro-Age, a chain of five com-puter stores in Arizona and Texas, placed an order with them for 2000 of their new Bantam video display terminals.That's a far cry from the garage-type computer store operations of just a year or two ago.

Battle Shaping Up in 32K EROM. In February 1978 Texas Instruments introduced its TMS 2532 4K by 8 EROM(erasable read only memory), with full production promised for April or May. This meant that they were wellahead of all the other integrated circuit manufacturers. They accepted orders for the device at $54 in 100 pricelots. Intel introduced their 2732 erasable read only memory in November. Needless to say, the pinouts weredifferent and a heated debate developed in the JEDEC committee over which would be the standard. TI hopedtheir 10 month lead would favor them. However, they encountered production problems and only started todeliver samples by year-end. Intel, in the meantime, is in production and has already lined up at least one secondsource. Tl is promising production quantities by April. The unit price on the Intel part is currently $140. The2732 also uses the same pinout as the 2716 and 2708 EROMs.

HP May Be Developing Personal Computer System. Hewlett-Packard is rumored to be developing a new personalcomputer system at its Corvallis Oregon Consumer Products division. HP has been selling a desktop computerwith BASIC in read only memory and an IEEE488 interface for a few years now. It is expected that the systemwill be a scaled down version of this system, that it will have a base price of $1000, and that it will be on the marketthis fall.

Tandy Developing New Computer. Tandy is rumored to be in development of a second generation Radio ShackTRS-80, possibly with color capability. Tandy, which has a 200,000 square foot plant and staff of 700 makingthe TRS-80, is supposedly looking for an outside manufacturer of the new system. Tandy also plans to developmany new software packages for introduction this year.

Magnavox Files Suit on Microprocessor Video Game Patents. Magnavox, the originator of video games playedon home TV receivers, has filed suit against several manufacturers of programmable TV video games; among them

April 1979 © BYTE Publications Inc 193

are Fairchild, Bally, Sears Roebuck and Montgomery Ward. Magnavox has won previous suits on dedicated, non-programmable video games. Some industry experts feel that if Magnavox is successful in this suit, the next stepmight be to try to license makers of personal computers that connect to home TV receivers.

DEC Forms Retail Products Group. Digital Equipment Corporation, the largest manufacturer of minicomputers,has formed a retail products group. Its initial objective is planning for expansion based on its successful experiencewith a retail store, which opened last August in Manchester NH. Located in a shopping mall, the store sells smallcomputer systems starting at less than $10,000.

Flat Panel Displays Getting Closer to Production. Last month I reported on a flat panel terminal display beingreadied for production by General Telephone and Electronics. Several other companies have also announced thatthey have display panels in development. However, none appear near to replacing the present video displays, suchas that of GT&E. Nonetheless, they are worth reviewing.

Datascreen Corp, of Mountain View CA, will soon start sampling a 40 character LCD (liquid crystal display)panel (5 by 10 dots) which works off 5 V and consumes 250 mW.

Westinghouse has already demonstrated a 180 by 180 line LCD panel for TV use. Hitachi has shown a 120 linepanel. Neither, however, is near production.

Electroluminescent type panel samples are already available from Sharp. A 480 character display using a 7 by 9dot matrix, with complete drive electronics, is currently available for $2500. A 240 by 320 dot graphics panelwill be available next year.

ISSCC Gives Preview of New Technology Coming. The annual International Solid State Circuits Conference, held inPhiladelphia, February 14 to 16, saw the presentation of new hardware technology still in the research and develop-ment stage. These devices will not be on the market for at least a year yet, and most are still 2 to 3 years off.But all are real and coming. Here's a partial list of some of those presented at the ISSCC:

From Intel: a self-refreshing dynamic 4 K programmable memory with 200 ns access, an NMOS 4 K staticprogrammable memory with 25 ns access, a 16 K HMOS static programmable memory with 45 ns access,a 5 V only 16 K dynamic programmable memory with 100 ns access and an analog I/O (input/output)microprocessor with on board erasable read only memory.

From Texas Instruments: a simple 1 transistor cell.

From Nippon Telephone and Telegraph: a 128 K bit read only memory and a megabit full wafer MOSprogrammable memory with 350 ns access.

From Hitachi: a 1 K programmable memory with 5 ns access.

The Robots Are Taking Over. There are already about 20,000 robots at work in US factories. But this is just thebeginning. Japan and several European countries are already ahead of the US in introducing manufacturing robotsand automation under computer control.

Automation experts claim that in most manufacturing situations a product spends 95 percent of its time movingand waiting. Time is money. Hence, automation can cut this wasted time tremendously, effecting considerablesavings.

Zilog Reports $18 million in Sales. Zilog, the creator and maker of the Z-80 processor, has reported sales for 1978of $18 million. The company, which started in late 1975, and brought the Z-80 to the market in 1976, operatedin the red in 1976 and 1977. A company spokesman said that in 1978 they were "at breakeven."

The Altair May Live Again. When Pertec bought MITS and its Altair line of PC system in 1977, they deserted thehobbyists who made the Altair a success. Pertec tried to change the Altair into a small business computer system.Things did not go too well. Pertec moved MITS from Albuquerque to California and then Pertec stopped makingAltairs in June 1978. Pertec now is going to resurrect the Altair and start producing it again, in a new plant it isbuilding in Albuquerque (of all places). Pertec plans to market it to small business users and not to personal com-puter users.

Computers Produce $350 Million Trade Surplus. It seems that all we read about in the newspapers are trade deficits.Well, last year the US exported $350 million in computer gear. Canada was the biggest purchaser ($12 million),and Japan was second ($10 million). Actually the US exported $406 million but imported $56 million in computergear.

IBM Keeps Growing and Growing. When microcomputers came out and skyrocketed in popularity, many punditspredicted that IBM's domination of the computer business was coming to an end. However, that is not what has

194 April 1979 © BYTE Publications Inc

happened. Today IBM has a larger backlog of orders than ever before. Their current backlog is more than fourtimes the computing power it has ever shipped. Delivery time on its new 303X large computers is now over twoyears, and IBM has orders for about 13,000 of these machines, which replace large 370s.

Paper Newspapers and Mail May Soon Be a Thing of the Past. The ground work for a digital electronic mail systemis now in the works. Imagine having your newspapers, magazines, bills, etc, delivered to you directly via yourpersonal computer system, and likewise being able to write letters (with on line text editing, naturally) and thentransmit them at the press of a button. It is already here in some large corporations and government agencies.But during the 1980s, this technology will explode into business offices and homes. It is rumored that TI, HP andIBM are developing personal computer systems specifically for these emerging applications.

Further, last December Xerox filed a petition with the FCC to develop a digital mail/communication systemusing microwave. It would provide for document distribution, data communication, etc, at rates up to 256 Kbytes, which is far greater than current telephone systems and even than Bell's new T-carrier system now beinginstalled. Xerox claims they will be able to deliver documents at less cost than the US mail. Each office desk wouldbe equipped with a keyboard, video display, disk and processor; and would be able to do word processing, sorting,etc, in addition to mail handling. The mail handling naturally would be controlled by computer and hence includeautomatic addressing, priority routing, multipoint delivery, automatic transmission of previously stored messages,scan messages, etc.

GT&E is setting up a group to test market (in early 1980) a system to transmit data via telephone lines ontomodified TV receivers in homes and offices. The system will be similar to the Viewdata systems currently undertest by the British Postal System. GT&E is also negotiating for Viewdata licenses. ITT, TI and RCA reportedlyare doing the same. TI, however, is currently testing a home information system in Salt Lake City that sends dataover regular broadcast channels.

Also getting into the business is the US Postal Service, which last fall asked the US Postal Rate Commission forauthority to offer an on line service called Electronic Computer Originated Mail (ECOM). ECOM is expected tostart this year. The sender writes a "letter" on a terminal and sends it via telephone to the post office, who routesit to the destination post office where it is printed and delivered in the conventional way. This will be used mostlyfor mailing bills, overdue notices, etc.

This communications revolution will be boosted by the new Advanced Communications Service (ACS) for whichAT&T recently received approval. ACS will lower data transmission costs and increase service. It will lower costs viashared communications facilities and make possible interfacing of incompatible terminals and computers and provideuser selectable communications capabilities.

A few personal computer groups have already started a simple system called PCNET. The leading PCNET activityis run by the CACHE group (Chicago Area Computer Hobbyist Exchange). Other PCNET groups are functioning inthe San Francisco, LA and Atlanta areas. The PCNET uses modems and telephone lines for communication. Awriteup on PCNET appeared in the November 1978 BYTE.

Another personal computer approach has been taken by AMRAD (Amateur Radio Research and DevelopmentCorp) in McLean VA. They have established a bulletin board type system using telephone and 2 meterradio telephone."

Sol LibesUCTI

1776RctritanRdScotch Plains NJ 07076

PET PRINTER ADAPTER

GET HARD COPY FROM YOURCOMMODORE PET USING ASTANDARD RS-232 PRINTER

1200B

1200C

The CmC ADA 1200 drives anRS-232 printer from the PETIEEE-488 bus. Now, the PETowner can obtain hard copylistings and can type letters,manuscripts, mailing labels,tables of data, pictures, in-voices, graphs, checks, needle-point patterns, etc., using astandard RS-232 printer orterminal.

$98.50 ADA1200B

Assembled and tested

$169.00 ADA1200C

With case, power supplyand RS-232 connector

Order direct or contact your local computer store.Add $3.00 for postage and handling per order.

O CONNECTICUT microCOMPUTER

rjfJTJ rp^i '50 POCONO RD. BROOKFIELD, CT 06804

La 12031 775-9659

Circle 78 on inquiry card.

April 1979SBYTE Publications Inc 195

Circle 12 on inquiry card.

TRS-80 SOFTWARE ONCOMPATIBLE CASSETTES OR DISKETTES

SUPERZAP Hex dump utility for examining & changing disk sectors or main

memorv . . Needs DOS 2.1 and 32K $25.

DISASSEMBLER IN MACHINE CODE Works with disk object load modules Si

provides location reference table, also disassembles any ram locations $25.

ASSEMBLER MODS FOR DISK OPERATION Changes your TRS-80 non disk

assembler to provide lull disk I/O utilities $25.

LOAD MODULE Accepts EDTASM created load modules from tape & converts &

stores them in DOS executable format on disk $25

LEVEL I RELOCATED IN LEVEL II RAM 116K) Run your non-convertible Level

I programs or make Level I compatible tapes in your Level II machine $15.

ACCOUNTS RECEIVABLE AND INVENTORY CONTROL Disk based systems

requiring DOS 2.1 (utilizes random files) By Mike Kelleher S30. ea.

BASIC DIRECTORY Allows review & execution of disk (directory! programs

while under BASIC, with automatic Index Feature $15.

ANYSORT Utility program allows definition & manipulation of any form of data

file. Useful for record keeping & inventory control $15.

TRIBBLE TRAP One of the best Level II graphics games we've seen $ 7.

Above 3 programs by Ralph Burris require Level II.

3-D REAL TIME LUNAR LANDER, $10; PLAY CHESS, $5,, TWINS PARADOX.

S2„ By Michael Dreiger I16K Level III

MICRO TEST EDITOR (Word Processor! 4K. $8.; BIG PRINT. $2.; & CONCEN

TRATION 16K. $4.; By Don Coon ILevel II only!

MAIL LIST Disk based program which SORTS & prints LABELS By James

Beauchamp $35.

FINANCEER 20 Financial type programs on disk by James Beauchamp . . S35.JOB ENTRY & STATUS REPORT - By Al Hargis requires 32K & DOS 2.1. handles

340 jobs in 48K $75.

DATA SET CONTROL PACKAGE - Provides cassette file OPEN. READ, WRITE &

CLOSE functions plus 2 utility programs & full documentation $ 8.

PERSONAL FINANCE PACKAGE 13 Programs! $15

MORTGAGE CALCULATIONS & MATH TEST $ 5. ea.

The above 3 programs by John DeMita

HOROSCOPE CASTING BY COMPUTER - by D. L. Pitman $10.

Level 11 has output formatted for printer

QUBIC - By Alvin Files (3D tic tac toe with graphics! Level II (16 Kl ... . $ 4.

HERO'S QUEST - A version of swords & sorcery-16 K ILevel III $ 5.

SEND FOR FREE CATALOG FOR COMPLETE PROGRAM LISTING. A FEWSAMPLE GAMES FOLLOW: STAR TREK (8K), FLIGHT SIMULATOR (4K),FOOTBALL (8KI $ 5. ea.

ADD S2 FOR PROGRAMS ON CASSETTE. $5 FOR DISKETTE/INCLUDES SHIPPING AND HANDLING) Colorado residents add 6% sales tax.

ARE ROYALTY PLANS. PET PROGRAMS,/M\ AND TRS 80 COMPATIBLE PERIPHERALS ALSO AVAILABLE

'ipparat. Incorporotea NewDos

now available.6000 E. Evans Av. Bldg. 2 Can or write

Denver, Co. 80222 (303)758-7275 for details.

theULTIMATE inCHEAP VIDEO

BOOK & KITONLY $42.95

Don Lancaster's "Cheap Videb"concept allows almostunlimited options, including:

* Scrolling- Full performance cursor.

* Line/Character formats of 16/32, 24/80, 32/64....or almost anything.

* Graphics-up to 256X 256 B&W; 96 X 128 COLOR

(requires low-cost option modules)

* Works with 6502 , 6800 and other micros.

SPECIAL OFFER: Buy the Kit Cupper case alpha-numeric option included) &get the Book at 1/2 price.

.ELECTRONICS, DEPT.4-B, 1020W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

I'm Sold, PLEASE RUSH C 3 SEND FREE CATALOG

C 3 TVT-6 EVs Kit & Cheap Video Cookbook $42.95 (enclosed)C ) TVT 65/8 Kit only Cbook required for assembly)-$39.95

name:

address:

city:

. state:

zip:

ELECTRONICS DEPT. 4-B, 1D20W. WILSHIRE BLVD., OKLAHOMA CITY. OK 73116

Continued from page 6:

Another cause for possibility of losingfiles is just plain lack of experience with thesystem involved. A friend of mine whoworks at Digital Equipment Corporationtells the tale of how he once forgot which ofseveral operating systems he was working on- and deleted a whole slew of files thanks toa "feature" known as wild card operations.Such operations are shortcuts to allow morethan one file name to match the file namespecified to the operating system. Thisfriend's problem came from the fact thatone PDP-11 operating system had a wildcard specification that in another operatingsystem was a unique specification.

There are more than just wild cardopportunities for not understanding orforgetting how the operating system soft-ware works. There are many ways in whichthe user of any small computer can interferein disk filing operations so that the file willbe lost, or a whole disk file directory will belost. For example, all it takes is the simpleremoval of the disk from the drive or reset-ting of the computer while an operation isbeing performed. Thus the fundamental ruleof small computer and big computer use is"don't touch the computer during a disk (ortape or any other filing) operation."

Bui when you introduce the possibility ofphysical errors due to imperfect media, thewhole problem gets complicated, andsometimes such a simplistic rule has to beviolated. My problem may have resultedfrom the facts that I have been using onefloppy disk for three months solidly andthat I was updating a file one stormy winterday. Because floppy disk media are contactmedia, they are indeed subject to wear.Whether it was wear or the wiles of Peter-borough Flicker And Flash division of NewHampshire Public Service, on the day of thedisaster I got a little message from thephysical I/O disk drivers which support theoperating system.

It was an ominous message, for severalreasons. First, it occurred during a "krunch"operation which is the UCSD Pascal system'sdisk file compression program. Second, itoccurred after the last file had been moved,so it was most likely during a directory writeoperation. Third, it was one of these frus-trating situations where an apparentlyinfinite retry loop was involved, with oneerror message coming every 15 or 20 sec-onds. So, I violated the rule stated above andreset the computer.

That was the end. The directory was nolonger valid, I had no alternate directory,and I had not the foggiest idea ahead of timeabout what to do to fix this situation. The

196 April 1979 ©BYTE Publications Inc

Circle 297 on inquiry card.

directory included maybe 20 or 30 Pascalprograms which I had written during thepreceding month or so, including a reallyuseful one called "littleblackbook." Well, inmy experience using computers, the bestcourse of action following such a disaster hasalways been to sit back and contemplatewhat has happened, to avoid compoundingthe problem with hastily conceived actions.

One thing was obvious. Only the direc-tory had gotten zapped. This was confirmedby the use of some of the utility functionsbuilt into the UCSD Pascal system software:in the Filer portion of the system, one canscan for bad blocks on a disk, then enter afixup routine to try and recover most ofthe data. The bad block was obviously in thedirectory, due to its physical location on thedisk and that in using another copy of thesystem no directory could be found amongthe remaining data on the damaged disk.Knowing this, plus the fact that the files inthe UCSD are stored contiguously on thedisk, I knew that all the actual data was outthere and that I just could not get at itthrough the normal directory methods.

But, if I could read the disk without thebenefit of paying attention to such nicetiesas file structures, I would be able in principleto recover from this problem by writing a

relatively simple program. Well, I proceededto do exactly that. Since most of my datawas in the form of programs, my firststep was to write a program which wouldsearch arbitrary disk blocks in sequencefrom a starting block to the end of the disk.As each block was read by the program, Iprinted a confirmation message giving thecurrent block number.

In this search, the program would lookfor the key word PROGRAM which beginsevery program's text file. When found, Iwould print out the first 20 characters of thefile starting at the word PROGRAM. Thiswould give me a physical block addressdirectory of all the Pascal programs on thedamaged disk. The program entitled Recoverfound in listing 1 accomplished this end forme, using the low level I/O procedures ofUCSD Pascal called UNITREAD, UNIT-BUSY and UNITCLEAR. Output wasdirected to the screen and to the printerusing the usual techniques of the 85/Pimplementation of UCSD Pascal: a control Pcharacter is intercepted from the keyboardto toggle on and off the output to theDiablo Hytype II printer I have on thesystem.

Once I had this printed directory ofphysical blocks which had the word "PRO-

X

A pricethat's hard to beat.

Because of new technology and high-volume companysales Central Data Corporation has reduced the price ofits 16K RAM board by $40 and its 32K RAM board by S50.Plus, we now offer full 48K and 64K RAM boards. Our16K. 32K. and 48K boards are expandable to 64K in 16Kincrements.

• 16K RAM-S249 • 48K RAM-S599

• 32K RAM-S425 • 64K RAM-S775

• Memory Expansion Package (16K)-$185

Our boards come complete—fully assembled, tested,burned-in. and ready to use

A productthat's better than ever.

We've also made improvements to our board's design atno extra cost to you.

• Deselectable in 2K increments. Our deselect featureenables you to switch off any 2K to avoid overlapwith your existing memory.

• Fully socketed memory. This feature enables youto expand the memory board yourself.

• Plug selectable addressing. Now you canre-address without soldering.

iiirmrni

Central Data Corporation's RAM Board

Standard Features

• S-100 and Z-80 compatible

• Power-saving dynamic board with on-board invisiblerefresh

• One-year guarantee on parts and laborContact Your Local Dealer

To order our RAM board and for more information, contactyour local computer dealer If unavailable locally, theboard and other Central Data products can be ordereddirectly from us And. as always, we welcome anyquestions that you have about our products

Central Data CorporationP.O. Box 2530, Station A

1207 N. Hagan

Champaign, Illinois 61820

(217) 359-8010

Circle 45 on inquiry card.

April 1979 ©BYTE Publications Inc 197

SYBEX

LEADER IN

miCROCOmPUTER EDUCATION

MICBOfHOC'550"| INTOFACINGItCHNBUSS

^

ON INTRODUQION TO PERSON-AL AND BUSINESS COfriPUTING

by Rodnay Zaks250pp,refC200 36.95

The basic introductory texton microcomputers, with adetailed evaluation of the fea-tures and peripherals requiredfor specific applications. Noprior computer knowledgerequired.

miCROPROCESSORS: from Chipsto Systems

by Rodnay Zaks420pp,refC201 S9.95

An educational text, usedworldwide at universities andin industry designed to teachall the fundamentals of mi-croprocessors, the assemblyof a system, and its use.

PROCRnmmiNC the 6502

by Rodnay Zaks320pp,refC202 SI 0.95

An introductory program-ming text for the 6502. Doesnot require any prior pro-gramming knowledge. Fromarithmetic to interrupt-driveninput-output techniques.6502 APPLICATIONS BOOKby Rodnay ZaksrefD302 SI 2.95

Actual application programsto interface the 6502 tothe real world, from LED tomotor, and analog-digitalconversion. Available Shortly

miCROPROCESSORINTERFACING TECHNIQUES

Austin Lesea and Rodnay Zaks416pp,refC207 SI 1.95

All the basic interfacingtechniques, from keyboard tofloppy disk, including thestandard buses (S100 to1EEE488).

miCROPROCESSOR LEXICON

120pp,refXl S2.95

Dictionary and tables. All thedefinitions of the micropro-cessor world in a pocketbook format.

micROPROGRnmmED rpl

imPLEfTIENTPJION330pp,refZ10 S25.00

How to design an APLinterpreter.

W^

Ik ^ l=i'/<

liVV't1"—''■/ ':

Rxv* "*"'

! X'-—y/' /

SELF STUDY COURSES ONCASSETTES

Ten courses to study at homeor in the car. The most time-efficient way to learn. Includesworkbook and cassettes.

INTRODUCTORY $29.95 eaS1-INTRODUCTION TO MI-CROPROCESSORS (2.5 hrs)S2-PROGRAMMING MICRO-PROCESSORS (2.5 hrs)COMPREHENSIVE $59.95eaSB1 - MICROPROCESSORS(12 hrs)SB2- MICROPROCESSORPROGRAMMING (10 hrs)SPECIALIZED $49.95SB7- MICROPROCESSORINTERFACING (6 hrs)

TO ORDER

By phone: 415 848-8233, Visa, MC,

Amer ExpressBy mail: circle books on ad. Include

payment.Shipping: add 65<t per book (4th class)

or $1.50 faster shipping (UPS).

Double for cassettes and overseas.Tax: in California add tax.

FREE DETAILED CATALOGUE

SYBEX

2020 Milvia Street

Berkeley, CA 94704

Tel 415 848-8233 Telex 336311

DEPT, B .

GRAM" in them, I proceeded to modify andextend Recover until I had a second Pascalprogram called Grabber which would phys-ically grab the good data from the damageddisk and write it on the new system disk asa file called A.TEXT. Grabber starts at ablock address obtained by Recover's listingand transfers all data to the new file. Thiscontinues until a block is found containingthe magical key word END. which marks thelast line of every Pascal program in thesystem.

The text of Grabber is found in listing 2accompanying this editorial. It has a coupleof minor technical points worth noting.First, the UCSD Pascal system editor pro-gram tries to keep integral lines of text(marked by carriage return codes) withinone block of 512 bytes of data. Since linesvary in size there is usually a segment of nulldata at the end of each block. Second, theUCSD Pascal system uses a form of datacompression to eliminate redundant spacesat the beginning of each line of text in a file,so the first two bytes physically following acarriage return character are often (but notalways) not text at all but codes indicatingline compression. Thus in converting thefile, the conversion program Grabber had toignore all nonprinting characters exceptcarriage returns and various combinations ofcharacters following a carriage return.

The end result of running Grabber isalways a file called A.TEXT, which I canthen change to a name appropriate for theprogram being recovered. In this way, thenew system disk could be restored with thecontents of any program I wanted to usefrom the old disk. Now, of course, the olddisk will never be modified in any way untilI have recovered all the data I want fromit.

The final version of the Grabber programas I wrote it is shown in listing 2a. It is stillnot perfect, for there are various strangecombinations of carriage return and indenta-tion codes which crop up when a file isrecovered in this manner. It only handles themost common states of indentation codes.The exceptions are relatively benign, in thatthey get turned into arbitrary charac-ters at the beginning of lines. These charac-ters can in turn be edited out of the file afterthe grabber has completed its operation.Verification of the success of this strategyhas been provided by several programs whichcompile and run as expected after transfer tonew files using Grabber.

As for new operating procedures, I havenow started to make a more regular practiceof backing up files on my system disk. Itturns out that there is no particular diffi-culty in transferring the entire contents of a

198 April 1979 © BYTE Publications Inc

Circle 356 on inquiry card.

disk from one drive to another using theUCSD Pascal system's filer program. So,readers who wish to learn from my littlefiasco should consider taking the time atleast once per day to copy all the files ontheir main disk to a backup disk as a littlebit of logical insurance against a seriousfiling system problem which may or may notever happen. This is an important practiceeven if all you are using your computer for isfun and games, for every program that isever written takes time and energy to createand type into a computer.

Listing 1: The first stage in the process ofrecovery from the directory zeroing disasterwas to write an exploratory Pascal programcalled Recovery. The zapping of course onlyapplied to the current system disk, copiedfrom the master supplied with the system.Thus it was possible to make a new systemdisk for the purposes of compiling programssuch as this one.

(Program to scan blocks on disk for text string "PROGRAM"

PROGRAM recovery;CONST

disk = 5;VAR

blocknr,i,j : INTEGER;

anychar : CHAR;

buffer : PACKED ARRAY[0..511] OF CHAR;

PROCEDURE initialize;BEGIN

WRITELN ('Enter starting block number for scan');

READLN(blocknr);

FOR j := 0 TO 511 DO buffer[j] := ' ';END (initialize);

PROCEDURE findprogram;BEGIN

WRITELN ('Checking Block #• ,blocknr) ;UNITCLEAR(disk);

UNITREAD(d isk,buffer,512,blocknr,0);UNITWAIT(disk);j := 0;

WHILE j < 480 DOBEGINIF (

(buffer[j-K)] = 'P') AND(buffer[j+l]='R') AND(buffer[j+2]='0') AND(buffer(j+3]='G') AND(buffer[j+4]='R') AND(buffer[j+5]='A") AND(buffer[j46]='M'))THEN

BEGIN

FOR i := j TO j+20 DO WRITE(buffer[i]) ;WRITELN (" ) ;j := 505END;j := j + 1END;blocknr := blocknr + 1END (findprogram);

BEGIN (recovery)initialize;REPEAT

findprogramUNTIL blocknr > 1100;END. (recovery)

Write faster in BASIC,FORTRAN, or COBOL

Document & modify more easily, too

Human-engineered to do the job better. Yes, you really can get flawless codefaster, using the Stirling/Bekdorf™ system of software development tools withstructured programming concepts. The 78F2,78P4, and 78C1 are human-engineeredto reduce initial errors, improve de-bugging speed, and aid concept communication.

First, use the 78F2 Flowchartrix™to lay out your original concept blocks. Thenuse it to write a finely detailed flowchart.

54% more logic cells than other flowchart forms, put far more of your programon each page. Each Flowchartrix has a full 77 logic cells, not just 50. This savespaper, and makes your finished flowcharts easier to understand. By seeing up to27 extra steps of a program on each page, you comprehend program flow moreclearly. You save money and storage space, too.

Every matrix cell in the 7x11 matrix has a specific label to help you trackbranch points. When you write program documentation, having a separate referencepoint for each cell makes your program much easier to describe clearly.

With Flowchartrix, you don't need a shape template to draw remarkably regularlogic symbols. Guides for the most-used logic symbols are right in each matrixcell, to help you draw most standard flowchart symbols entirely free-hand.

78P4 Print-Out Designers are next. When you finish flowcharting, lay out theprinted reports your program will generate. Then when you write code you blazethrough the report generation segments right along with the rest of your program.

Unique 70 x 160 matrix accommodates even proportional-spacing word processorformats. The 160-column width can handle practically any printer format. The78P4 is big, 14''2 x 22 inches, because we've scaled the cell size to human writingcomfort, not machine print, giving nearly twice the character-writing area of otherprintout design sheets.

Special 5-column area records the program line number of the code whichcreates each printed line. It shows, at a glance, exactly which line of code createseach line of your report, saving hours of needless search time when you mustchange the report format (and don't you always have to, sooner or later')

Every sheet of 78C1 gives you 2 form uses for the price of one. Use 78Cl'sfull 28 line x 80 column grid area to code regular program steps. Then for inter-active or instructional sections, simply keep your characters within the appropriateCRT indicator lines, and you'll automatically know where every character will showon your CRT screen.

28 line x 80 column coding capacity saves you 14 sheets out of every 100,compared to 24-line forms. 86 sheets hold more program steps than 100 sheetsof any 24-line form, yet we offer full-size 6mm x 3mm grid blocks to give youcomfortable writing room and visual space between lines.

Works with your CRT display, no matter what brand you own. Equipped forboth 16 line x 64 column and 24 line x 80 column display formats.

Available in three versions (one for BASIC languages, one for FORTRAN, anotherfor COBOL), the 78C1 is so powerful we include a 7-page instruction manual withevery order.

Every tool in the Stirling/Bekdorf system is surface-engineered to take bothpen & pencil without blotching. Our tough, extra-heavy, 22; paper is pure enoughto use with critical magnetic ink character readers, and gives you crisp, sharp characters with pencil or plastic-tip pen.

Every part of our system uses eye-comfortable soft blue grids. All grid rulings,tints, and division rules are reproduced in a special shade of blue, easy on youreyes even after hours of continuous programming. If you're a professional pro-grammer, you'll particularly appreciate our improvement over the green lines you'vebeen writing on.

A 3-ring binder is one more of our secrets for your success. All your notes,logic concepts, flowcharts, code, CRT layouts, print-out designs, and documentationcan be kept together, in order, in one place. When everything you create staystogether, debugging and modification is much simpler.

Order your supply of the world's most advanced software development tools,ight now, before you hatch even one more bug.

78F2 Flowchart!!.

D 2 padsol 50 - $7 90 , S2 85 pkng S shpg

D 10 pads ol 50 - S34.35 » S6 45 pknB S shpg

78P4 Print Out Design Sheets

D 1 pad ol 50 = $7 45 * S3 15 pkng & shpgD 5 pads ol 50 « S3? 10 * 16 75 pkng & shpg

3 hole punched vinyl pockets lor 78P4 Design SheetsD set ol 5 lot S2 65 + SI 35 pkng 4 shpgD set ot 12 loi $6 00 + $185 pkng & shpg

78C1 Combination Coding/CRT Layouts

All aie the same puce, but please check which language

formal you want

D lor BASIC D lor FORTRAN □ lor C0B01

Q 2 pads oi 50 - S6 35* SI 95 pkng S shpgD 10 pads ol 50 - 526.85 * S3 35 pkng S shpg

Texas residents please add S y. sales lai to east puce We shipUPS so TO Qui Address must give phone number Trices shewnfor picking S shipping are U S A only International shippih( ratesare tinker, write lai details

D Sample ol one sheet of each foim +associated labels & literature $2.50

Enclosed is my check for $

Name

Charge to: D Master Charge □ Visa exp. date.

Card *

Signature

Address -City

. Phone.

. State-

. Zip-

Stirling/Bekdorf

4407 Parkwood a San Antonio, TX 78218 a (512) 824-5643

1978 Slnlin(/B<kdail On ol Blickmin Mkt|. Gp. Inc

Circle 352 on inquiry card.

April 1979©BYTE Publications Inc 199

You don't buy apersonal computereveryday.

So when you do,make sure you knowwhat you're buying.

Hayden can help with4 introductory guides!

A Consumer's Guide to PersonalComputing and Microcomputers

(Freiberger/Chew)You need no previous knowledge ofmicrocomputers to understand and usethe introductory principles and productsthat are explained and reviewed.#5680-X, paper, $7.95

Small Computer SystemsHandbook (Libes)

A primer covering the practical knowledgeyou should have to be able to intelligentlypurchase, assemble, interconnect, andprogram the microcomputer. *5678-8,paper, $8.45

The 6800 Microprocessor:A Self-Study Course withApplications (Leventhal)A self-teaching introduction to the popular6800 microprocessor, containing 15lessons that emphasize the controlapplications of microcomputers.*5120-4, paper, $7.95

APL: An Introduction (Peelle)Teach yourself the APL language by usingthis book — with or without a computer!Includes many examples of APLexpressions and selected exercises.#5122-0, paper, $8.50

Hayden Book Company, Inc.

50 Essex StreetRochelle Park, NJ 07660

Available at yourlocal computer store!

peigonal

computing

books!

Listing 2: The second stage in the process of recovery was a modification andextension of the first program, now renamed Grabber. Once the earlier ver-sion of the program had printed out a rough listing of block numbers andnames of programs, the program shown at (a) was created to transfer thesefiles from the bad disk to a good disk. At (b) is shown an example run forrecovery of a Pascal program of some 5 blocks in length.

(2a)

{program to copy physical 10 files to "A.TEXT" text file}

PROGRAM grabtext;

CONST

acarriagereturn = 13 (decimal integer equivalent of ASCII <CR>};

indentcode = 16 {decimal integer equivalent of ASCII <DLE>};

disk = 5 {physical unit address of righthand floppy drive};VAR

blockcount,blocknr,i ,j ,k : INTEGER;

onecharacter,anychar : CHAR;

buffer : PACKED ARRAY[0..511] OF CHAR;

filename : STRING [32];

ifoundareturn : (no,yes,spacecount);

theoutput : FILE OF CHAR;

PROCEDURE initialize;BEGIN

blockcount := -1;ifoundareturn := no;

WRITELN ('Enter starting block number to grab from right drive');READLN(blocknr);filename := 'A.TEXT';

WRITEDN ('Output will be to the file "A.TEXT"');WRITELN ('Do you approve?');READ(KEYBOARD,anychar);WRITEIfl (anychar);IF anycharO'y' THENBEGIN

WRITELN('When you have figured out what you want to do,' ,' try me again');

blocknr := 9999 {to force premature end of program}END;REWRITE (theoutput, filename)END {initialize};

PROCEDURE makenormalj

BEGIN {simply transfer if printing character}IF (

(k >= 0RDC '))

AND(k <= 0RD('}'))

)THEN

WRITE(theoutput,onecharacter);ifoundareturn := no {—> first state}END {makenormal};

PROCEDURE transferblock;BEGIN

{first grab the block from the bad disk}WRITELN('Transferring Block #',blocknr) ;UNITCLEAR(disk);

UNITREAD(disk,buffer,512,blocknr,0);UNITWAIT(disk);

{then transfer the block to output file}FOR j := 0 TO 511 DOBEGIN

onecharacter := buffer[j];

{test for end of file}IF j>3 THENBEGINIF (

(buffer[j-3]='E') AND(buffer[j-2]='N') AND(buffer[j-l]='D') AND(onecharacter = ' .'))THEN

BEGIN

WRITELNf'I found END. in block #',blocknr);blocknr := 2000END

Listing 2a continued on opposite page.

200 April 1979 © BYTE Publications Inc

Listing 2a, continued:

{ legal possibilities are as follows... <any><any>.. .<any>... <CRXCR> ...... <CR><DLEXn><any> ...

<CRXDLEXn><DLE><n>.. .<DLEXnXany>.

}

k := ORD(onecharacter);CASE ifoundareturn OF

IF k <> acarriagereturn THEN

raakenorraalELSE

BEGIN

WRITE(theoutput,onecharacter);ifoundareturn := yes {—> next state}END (IF...ELSE...};

yes:

BEGIN

IF k=indentcode THENBEGIN

WRITE(theoutput,onecharacter);ifoundareturn := spacecount {—>next state}ENDELSE

BEGIN

IF k = acarriagereturn THEN (—>same state}

WRITE (theoutput ,onecharacter)ELSE {—>first state}raakenormalENDEND;

spacecount:BEGIN

WRITE (theoutput ,onecharacter) ;ifoundareturn := yes {—> previous state}ENDEND {CASE};END {FOR};blocknr := blocknr + 1END {transferblock};

BEGIN {grabber}initialize;

IF blocknr < 1103 THENREPEAT

{put an upper limit on number of blocks to transfer}blockcount : = blockcount - 1;IF blockcount < 1 THENBEGIN

WRITELN('Enter number of blocks to do');READLN(blockcount) ;

IF blockcount = 0 THEN blocknr := 9999;IF blockcount > 20 THEN blockcount := 20END;

IF blocknr < 1103 THEN transferblock

UNTIL blocknr > 1102;

CLOSE (theoutput, LOCK)

END.

Enter starting block number to grab from right drive

259

Output will be to the file "A.TEXT"

Do you approve?

V

Enter number of blocks to do

5

Transferring Block #259

Transferring Block #260

Transferring Block #261

Transferring Block #262

I found END. in block #262 ■

(2b)

BYTEs Bugs

Historical Correction

Regarding Keith S Reid-Green's arti-cle "The History of Computers: TheIBM 704" (January 1979 BYTE, page190), the magnetic core storage unit,shown in photo 1, is the IBM 737. It hada capacity of 4096 36 bit words. The 32K core storage, referred to in the article,is the IBM 738 and did contain a minoramount of solid state logic.

The IBM 711 (photo 3) could readany of 80 card columns, selectable by aplugboard whose access is shown underthe identification tag. Only 72 of those80 columns could be read at any onetime, however. Also the Q bit of themultiplier-quotient register was used inmultiply to contain bits of partial pro-duct during shifts.

I am sure that all of us "old-timers"who worked on the 704 appreciate yournostaglic look backward to the earlydays of this industry.

Warren G Tisdale

Rt 6 Box 348N

Raleigh NC 27612"

Commander in Chief Generalized

Regarding the program Commanderin Chief, presented in December 1978BYTE, page 192, there are severalminor errors: location 093 should read© instead of 0 ; and (PGM) shouldbe inserted at location 041. To get dif-ferent games each time, one need onlyenter any number before pressing (e) .The program can be modified in the fol-lowing manner to remove the necessityof entering a new seed number for eachgame:

128

©

129

©

130

©

131

©

132

(*CM'S)

133

©

134

©

135

©

136

©

137

©

Dennis Grundler

818 E 22nd St

MarysvilleCA 95901"

April 1979 © BYTE Publications Inc

201

Event Cueue

April 3-5, Specifications of ReliableSoftware, Hyatt Regency Hotel, Cam-bridge MA. This conference is sponsoredby the IEEE Computer Society. ContactDouglas T Ross, Softech Inc, 460 TottenPond Rd, Waltham MA 02154, (617)890-6900.

April 5-6, Computers in Ophthalmology,St Louis MO. This is a course in appli-cation of computers to ophthalmicpatient care and clinical reseach. Sessionsdealing with data bases, automatedpatient testing, artificial intelligence,and image processing are being planned.Contact Robert Greenfield, DSc, Bio-medical Computer Laboratory, Washing-ton University School of Medicine, 700S Euclid Av, St Louis MO 63110.

April 9-11, Computer Contract Negotia-tion, Atlanta GA. This 3 day course isdesigned to give participants sound an-swers to the complex ramifications ofpreparing and negotiating computer con-tracts. Contract Brandon ConsultingGroup Inc, 505 Park Av, NY NY 10022.

April 9-11, Data Processing OperationsManagement, Miami FL. This seminarwill emphasize the management skill andtechniques applicable to the data pro-cessing operations function. The curri-culum is designed toward practical,applied management techniques to pro-vide a sounder understanding of theways of managing data processingoperations more effectively. ContactThe University of Chicago, Center forContinuing Education, 1307 E 60th St,Chicago IL 6063 7.

April 9-12, Interface '79, McCormickPI, Chicago IL. This is the seventh annualconference and exposition on datacommunications and computers. ContactThe Interface Group, 160 Speen St,Framingham MA 01701.

April 16-20, Data Communication Sys-tems and Networks, George WashingtonUniversity, Washington DC. This courseis designed for systems analysts, engi-neers, managers, and others who need abetter working knowledge of data com-munication systems. The course will beof particular value to those who are cur-rently planning, designing or imple-menting a computer that involves datacommunications. The objective of thecourse is to provide participants with anunderstanding of the basic principlesand current techniques involved in com-puter to computer and terminal to com-puter communications and networking.Contact Continuing Engineering Edu-cation, George Washington University,Washington DC 20052.

April 18-20, Understanding and Using

Computer Graphics, Dallas TX. Thiscourse is for people who are now usingor making decisions about using com-puter graphics and its role in their organ-ization. It will describe computer graph-ics; show how installing computergraphics can be justified; explain whathardware and software systems areavailable and give costs and performancecomparisons. Contact Frost and Sullivan,106 Fulton St, NY NY 10038.

April 23-26, Middle Eastern ElectronicCommunications Show and Conference,Bahrain Exhibition Ctr, Bahrain. Theexhibition will consist of companiesmarketing communication systems, pro-ducts, and services. Contact GerryDobson, MECOM '79, Arabian Exhi-bition Management, 11 Manchester Sq,London W1M 5AB.

April 23-27, PASCAL Programming forMini and Microcomputers, Ramada Inn,Woburn MA. This course covers a generalapproach to the use of high level lan-guages in small computers, including anintensive course in PASCAL program-ming, and an introduction to structuredprogramming techniques. Contact Insti-tute for Advanced Professional Studies,One Gateway Center, Newton MA02158.

April 23-27, High Speed ComputerOrganization: Super Machines and LowCost Systems, Holiday Inn, WestwoodCA. For computer designers, systemarchitects, project leaders and managersinvolved in the implementation, applica-tion and evaluation of high speed com-puting systems. The course provides athorough understanding of the principlesof high speed computer organization andtheir use in cost effective systems. Severalcommercial and paper high speed com-puters are presented and compared.Contact UCLA Extension, 10995 LeConte Av, Los Angeles CA 90024.

April 24-26, Electro/79 Show and Con-vention, New York Coliseum and Ameri-cana Hotel. Contact William C Weber Jr,general manager, Electronic ConventionsInc, 999 N Sepulveda Blvd, El SegundoCA 90245.

April 30-May 2, First Annual Interna-tional Conference on Computer CapacityManagement (ICCCM), Washington DC.Individuals involved in computer capacitymanagement will present papers on re-search, experiments and other activitiesconcerned with the importance, require-ments and benefits of capacity manage-ment in today's data processing environ-ment. Contact Marken Communications,2275 E Bayshore Rd, Palo Alto CA94303.

May 11-13, The West Coast ComputerFaire, San Francisco Civic Auditorium.This is a conference and exposition onpersonal computers for home, business,and industry. Contact Computer Faire,POB 1579, Palo Alto CA 94302, (415)851-7075.

May 21-25, Systems Analysis Workshop,Chicago IL. This workshop will teachsystems analysts and others needing sys-tems analysis skills to use a practical setof tools and techniques to evaluate userrequests and document requirements fornew data processing systems. ContactBrandon Systems Institute, 4720 Mont-gomery Ln, Bethesda MD 20014.

June 6-8, Eighth Annual Conference ofthe MUMPS Users Group, Marriott Hotel,Atlanta GA. Papers will be presented onall aspects of MUMPS development,implementation, and use. Contact JudithFaulkner, Program Committee, Depart-ment of Psychiatry, Clinical SciencesCenter, 600 Highland Av, Madison Wl53792.

June 6-8, Twelfth Annual Association ofSmall College Computer Users in Educa-tion Conference, Denison University,Granville OH. Sessions will include thepresentation of papers and demonstra-tions of the educational use of micro-computers, computer textbook surveys,discussions with authors of computertexts, administrative uses of computersin small colleges, and a tutorial on micro-processors. Contact Douglas Hughes,Computer Center, Denison University,Granville OH 43055, (614) 587-0810.

June 6-8, Computer Contract Negotia-tion, NY NY. This 3 day course is de-signed to give participants sound answersto the complex ramifications of pre-paring and negotiating computer con-tracts. Contact Brandon ConsultingGroup Inc, 505 Park Av, NY NY 10022.

June 19-21, International Microcom-puters / Minicomputers / Microprocessors'79, Palais des Expositions, GenevaSwitzerland. The 1979 conference pro-gram will probe advances in systems andequipment with emphasis on practicalapplications and uses of minicomputersand microcomputers as well as the tech-niques important to their development.Contact Industrial & Scientific Confer-ence Management Inc, 222 W Adams St,Chicago IL 60606.

June 20-22, The 1979 Symposium of theWilmington Section of the InstrumentSociety of America, University of Dela-ware, Newark DE. The symposiumtheme: Measurement Technology for the'80s is being programmed by three ofISA's divisions: Process Measurementand Control, Analysis Instrumentation,and Water and Waste Water Industries.Contact A H Straightiff, E I Du Pont deNemours and Co Inc, (302) 366-3810.

June 27-29, Machine Processing of Re-motely Sensed Data, Purdue University,W Lafayette IN. The symposium willfocus upon the theory, implementationand novel applications of machine pro-cessing of remotely sensed data. Con-tact Purdue University, Laboratory forApplications of Remote Sensing, 1220Potter Dr, W Lafayette IN 47906."

202 April 1979 © BYTE Publications Inc

Circle 384 on inquiry card.

[Jill

QTRS-80 Complete System

Includes: CPU/Keyboard, Power Supply,Video Monitor, Cassette Recorder, Manual,and Game Cassette.

fc^Line Printer©Mini Disk SystemOC-10 CassettesWVerbatum Diskettes

CORP. MORE DATA PER DOLLAR i

Description

Each

TRS-80 Complete System

Level II-4K RAM

$

628.20

TRS-80 Complete System

Level II-16KRAM

$

889.20

Expansion Interface

$ 269.10

Pertec FD200 Disk Drive

$ 385.00

BASF 6106

$ 495.00

Centronics 779 Printer

$1299.00

Centronics 101 Printer

$1400.00

Anadex DP-8000 Printer

$

995.00

Centronics P1 Printer

$ 445.00

560 (selectric) Printer

$ 975.00

Memory Unit (installed)

$

138.00

(kit)

$

98.00

Verbatum Diskettes ea.

$

4.95

3

$

12.00

10

$

37.00

Maxell Diskettes ea.

$

7.50

3

$

21.00

10

$

60.00

C-10 Cassettes 5

$

4.50

25

$

18.75

C-30 Cassettes 12

$

23.95

Paper (91/2"x 11" fanfold,

3500 sheets)

$

29.95

1 MEG

OF DISK MEMORY

on line for TRS-80

$2670

Includes:

2 Double Density 8" Disk Drives

with Controller1 HUH Electronics 8100—

S-100 Interface to TRS-80FREE with package1 CP/M Software for TRS-80$145.00 value

Write or call for new innovations—Printers, Disks, Etc.

. CORP.

777 Henderson Boulevard N-6Folcroft Industrial ParkFolcroft PA 19032(215) 461-5300

In Washington, DC area: (703) 938-1099

TTTTTTIIITTTTTTITIIMIIMMTTTITIM

MODEL 3400DUAL DRIVESUB-SYSTEM

Your system is only as good as the components thatmake it up. The heart of the 3400 Sub-System isthe proven excellence of the Innotronics manufacturedModel 410/420 Diskette Drives. They are complementedby a custom enclosure design made up of top qualitycomponents and featuring distinctivesolid woods such as cherry and walnutfor the desk top Model 3400 F.

If your system demands consistentlyhigh performance from your 8-inchFloppy Disks, then this equipmentis the answer.

Available for the first time a fullyintegrated design that you cancustomize to your needs. We believewe manufacture the highest qualityDiskette Drives and Integrated Sub-Systems on the market today.

BROOKS ROAD, LINCOLN, MASS.01773 TEL. 617-259-0600

3400 Rack Mounted Subsystem

3400F Table or Desk Top Subsystem

Circle 180 on inquiry card.

BYTE April 1979 203

Circle 77 on inquiry card.

P.E.T. Pood

SEAWOLF

$10.00

BREAKOUT S10.00

CATEGORY AHOUNT CATEGORY AMOUNT

gyjO 19.46 INCOME 2.75

MRTGE 32B.73 TAXES 8

CLOTHES 443.61 MEDICAL 219

ENTRTA1N 21.69 INSUR 281.55

EDUC 342.96 SAVINGS 8

FOOD 229.7B UTIL 36.23

GIFTS 13.44 VACATION 1823.41

HOUSE 533 MISC 78.io

H'h 1 IllllliniHll

Total amount spent was 4358.99

Total income was 2.75

Do yoM->l(ftnt a spending profile for thi*

HOUSEHOLD FINANCEPARTS 1S.2-- S15.0Q

Dual Joystick Interface

(with two progr»mi)"S45.00

LIFE

$so.oo

ORDERS: Send check, money order,or VISA/Mastercharge (include expi-ration date) and add $1.50 shipping.Calif, residents add 6% sales tax.

INFORMATION: More informationon these and many other currentlyavailable programs is available on afree flyer. Write directly to CreativeSoftware.

Creative Software

P.O. BOX 4030, MOUNTAIN VIEW, CA 94040

204 April 1979 © BYTE Publications Inc

Glubs andNewsletters

Exchange Information with BrazilianTRS-80 Group

A Brazilian TRS-80 users group isinterested in starting a software and hard-ware experience exchange with otheruser groups. Contact Douglas Gilson,RUA Sambaiba #516, Leblon, Rio DeJaneiro 20,000 BRAZIL.

The Cleveland Digital Group

The Cleveland Digital Group meetsat 2 PM on the third Sunday of eachmonth in the old railroad station atSafier's Inc, 8700 Harvard, Cleveland OH44105. Write the club at the aboveaddress for more information.

The Valley Computer Club ChangesMeeting Location

The Valley Computer Club of Bur-bank CA is no longer meeting at theHarvard School in Studio City. The club,which has 228 members, now meets atthe Burbank Board of Realtors Hall,2006 W Magnolia Blvd in Burbank.The time remains the same as the firstWednesday of each month at 7 PM.Inquiries should be sent to The ValleyComputer Club, POB 6545, BurbankCA91510.

Apple II Users Group in Denver Area

A new Apple II users group, calledApple Pi, has been formed in the Denverarea. They meet at 7:30 PM the firstThursday of each month in room 271,Green Center, Colorado School of Minescampus in Golden CO. They have beguna software exchange and are planning atraining, hardware and software ideasexchange as well as a newsletter. ContactAustin R Brown Jr, secretary, 407 PeeryPky, Golden CO 80401, (303) 279-5388.

Educational, Recreational ComputerClub

The ERCC (Educational, Recrea-tional Computer Club) was formed inOwosso Ml in September of 1978.Meetings are scheduled monthly andusually include a speaker. A large por-tion of each meeting is devoted to dis-cussion and trade of programming ideas.Plans for the future include forming aclub library and possible group pur-chases. A newsletter is published month-ly and is available for $2.50 a year tononmembers. Contact Paul Heimnick,1415 Olmstead St, Owosso Ml 48867,(517) 723-7602.

St Louis Area Computer Club

The St Louis Area Computer Clubmeets at 7 PM on the first Thursday ofthe month at the Thornhill Branch ofthe St Louis County Library on Fee FeeRd north of Olive Rd. The meetings areopen to the public. Club dues are $5which includes a newsletter. ContactSLACC, POB 28924, St Louis MO63132.

Glitch Kickers Computer Club

The Glitch Kickers Computer Clubhas recently formed in Des Moines IAand is looking for new members. Theclub is open to anyone, whether youhave a computer or are just interestedin learning about computers. The clubplans to work in several areas, amongthem education, writing software andstarting a personal computer network.The club meets the first and third Satur-day of each month at 2 PM. The meetingplace is the Computer Emporium, 3711Douglas, Des Moines IA. For furtherinformation, call (515) 279-8861.

Commodore PET 2001 User Group

PET User Group is an organizationfor people interested in the CommodorePET 2001 computer. Their purpose is toshare and exchange applications, pro-grams, and hardware expansion tech-niques; and to provide general user feed-back. The first year membership is $5and will include six issues of the PETUser Notes. Write Gene Beals, POB 371,Montgomeryville PA 18936.

Delaware Club Develops Home HeaterControl

Jodie Hobson, president of theDelaware Users of Microprocessor Sys-tems, writes to tell us that his club isinterested in both hardware and soft-ware and they are combining both inthe development of a home heater con-trol as a club project. The club meetsthe first Monday of each month at theUniversity of Delaware. Contact Jodieat 318 B Chapel Av, Claymont DE19703 or call (302) 792-2319.

New Mexico Computer Society

Dick Franzen, president of the NMCS(New Mexico Computer Society), haswritten to inform us of the existence ofhis club. NMCS promotes the under-standing and use of computer technologyin all areas of our society. They have a

diverse membership including high schooland college students; housewives; elec-tronic and computer technicians; andvarious professional and business people.Anyone interested in computers, regard-less of their level of understanding orexpertise, is encouraged to attend one oftheir meetings. The club's interest groupsinclude: TRS-80 basic programming,TRS-80 advanced programming, TRS-80business applications, M6800, software,personal programmable calculators, andcomputer technology. NMCS meetsquarterly; however, each of the interestgroups has its own meeting schedulewhich is published in their monthlynewsletter, the Bit Stream. For moreinformation, write or call Dick at POB26544, Albuquerque NM 87125, (505)292-1572.

Microcomputer Investors Association

The January 1979 issue of TheMicrocomputer Investor, the journalof the Microcomputer Investors Associ-ation, continues to reflect admirablyupon the activities of the association.In this issue there are 18 articles withinthe journal's 214 pages. Each articledeals with utilizing microcomputers tomake or manage investments. Theassociation is professional and nonprofitin nature. Dues are currently $30 peryear. Membership in the associationcarries with it the requirement for eachmember to submit one article per yearfor publishing in the association's journal.Persons desiring to become members ofthe Microcomputer Investors Associa-tion should send a self-addressed stampedenvelope to j Williams, 902 AndersonDr, Fredericksburg VA 22401.

Caterpillar Computer Club

The members of the Caterpillar Com-puter Club are interested in home builtas well as prepackaged systems to beused in home applications or civic interestapplications. Some instrumentation isclub owned and may be loaned out. Theymeet the first Thursday of each monthat 7 PM in the Caterpillar AdministrationBuilding, 100 NE Adams, Peoria IL61629. Contact Robert Miller, clubpresident, 1539 Moss, Peoria IL 61606.

Publication for Apple II Owners

Apple Pugetsound Program LibraryExchange (A.P.P.L.E.) is an association ofapproximately 400 members throughoutthe United States. Each month they pub-lish a magazine called Call - A.P.P.L.E.which contains information on theApple II's capabilities, utility, programsand general tidbits of useful facts. Vol-ume I has been compiled into a boundedition consisting of all the articles pub-lished in 1978. For further informationabout obtaining the magazine or VolumeI, contact Call - A.P.P.L.E., 6708 39thAv SW, Seattle WA 98136.

Newsletter for Computalker CT-1Speech Synthesizer

Computalker Consultants, manufac-turers of the Computalker CT-1 speechsynthesizer, have announced the firstissue of The Word from Computalker,a user newsletter. The Word is a 16 pagenewsletter designed to open up two waycommunication between ComputalkerConsultants and users of the CT-1speech synthesizer and other interestedparties. It contains items of interestabout CT-1 applications, new software,new hardware, software fixes, softwarewritten by users, technical manualupdates, and more. The premier issue ofThe Word is free to all who write for acopy. Five issues will be included withthe purchase of each CT-1 speech syn-thesizer. Additional copies of The Wordwill cost 60^ each and may be obtainedby writing to the company at 1730 21stSt, Suite A, Santa Monica CA 90404.

Attention: Phoenix AZ Computer Users

A new computer club is forming inthe metropolitan Phoenix area. For moreinformation, call or write Marc Tessler,3520 W Dunlap Av, #106, Phoenix AZ85021, (602) 249-6224.

Attention: Long Island ComputerEnthusiasts

Aileen Harrison, treasurer and secre-tary of the Long Island ComputerAssociation, has written us that the clubmeets at 8 PM on the third Friday of themonth at New York Institute of Tech-nology, Route 25A, Old Westbury NY,building 500, room 508. One hourbefore the regular meeting the 6800users group meets at the same locationand every second Friday of the monththe 8080 user group meets. The club isentering its fourth year and has approxi-mately 140 members. The meetings con-sist of various programs such as "showand tell," tutorials, hardware lectures,language lectures, group discussions bymembers, computer manufacturer pre-sentations, and presentations by com-puter stores describing the products theymarket. The dues are $10 per year andevery paid member gets a free rafflechance each month on some "goodie."Also paid members are entitled to bor-row USCD Pascal disks and users man-ual on a monthly first come first servebasis. Members receive a copy of themonthly meeting notice. For more in-formation, contact Aileen at 36 IreneLane E, Plainview NY 11803.*

Featuring

RCA

1802COSMAC

<> Write and run programs-thevery first night-even if you'venever used a computer before!

ELF II with video graphics system getsyou up and running for just $99.95

. home computer sysle*, mg for just S99.95-a puce thai gets' you up and running the very lust nightwith your TV sel for video displayS99.95 ELF II includes RCA 1BD2 B bit microprocessor addressable lo 64K bytes with DMA. interrupt.. 16 registers. ALU. 256byte RAM. lull hex keyboard, two digit hei output display,stable crystal clock lor timing purposes. RCA 1861 video 1C lodisplay your programs on any video monitor or TV screen and5slot plug-m expansion bus /less connecto/st lo expand BLFII

tnloagtant!

ELF II Explodes Into A Giant!

Master ELF ll'sS99.95 capabilities, then expand with GIANTBOARD to record and play back programs, edit and debugprograms, communicate with remote devices and make thingshappen in the outside wotld KLUGE BOARD to use ELF II asa controller 4K RAM BOARDS TINY BASIC ASCII KEYBOARD , LIGHT PEN. ELF BUG MONITOR COLORGRAPHICS & MUSIC SYSTEM. TEXT EDITOR. ASSEMBIER DISASSEMBLER VIDEO DISPLAY BOARD and-

More Breakthroughs Coming Soon!

Soon lo be introduced: ELF 11 special application kits PROMProgrammer A 0, DA Converter Controller Board andmore!

So don't be trapped into buying a dinosaur that's alreadyobsolete. An ongoing commitment to develop the RCA 1802 forhome computer use by Netronics keeps you right on the outerfringe ol today's home computer technology.

Order your ELF II, direct Irom the lactory. with the couponbelow! Netronics guarantees your success!

Netronics R&D Ltd., Dept BY-4

333 Litchfield Road, New Milford, CT 06776

Yes! I want my own computer! Please rush me—

PHONE ORDERS ACCEPTED!Call (203) 354-9375

anguage. il s .1 learning breakthrough lor engineers and lavmenike Sb postpaidhandling neauires 6 3 la 8 veil AC power D De|uxe Ue|fli Caumel Wllh piexinias dust cover lor ELF 11S29 95plusS2'j0p&h

; RCA C0SMAC ELFat S99 l)b plus S3 postage ami

n Po.-.i?: Sopnly ireguiredi S-'9!> nosliiaidJ. RCA 180? User s Manual S!> postpaidG lorn Pittman s Short Course On Microprocessor & ComputerProgramming teaches you |usl about everything there ts to knowtt'- ;' fcLF •< '» any RCA 180/ computer Written in non-technicalALSO AVAILABLE FOR ELF H ■

D I am also enclosing payment. 1 including postage & handling) tor

itie items checked below'

I ] I want my ELF II wired and tested with power supply. RCA

1802 User's Manual and Short Course—all lor jusl S149.95 plus

S3p&h.

Total Enclosed S

(Conn res add lax|

CHARGE IT! Exp Dale _□ Visa □ Master Charge(Bank*

Account tf _

... GIANT BOARO™ k„ „„„ cassette 1/0 RS 232 ll^TlnL^vli Tm TripTi G?,!SCUYl 0 8-')ilPi'0 decoders toi 14 seoarate l'0 (lU SUL! W'UFW EMD. REM. Cl EAR LiSI RUN.

instructions and a system monitor'edi'or S39.95 plus%? pin

Kluge (Prototype] Board aicepls up 10 J6 IC 5S17JJ0pfusSlpAtt

4k Sialic RAM ktl Addressable 10 any 4k page 1064t S89.9S wis S3 p&n

□ bold pMtefl 86-pm canneclors tone ■eqtured tor eachplug in board) 55.70 ea postpaid

Expansion Power Supply [required when adding AV•■v.?.' $34.95pUiS&p&n. Professional ASCII Keyboard lul with 128 ASCII

Pi 01 PFFK POKE Comes 1u"y documented and in-cludes alphanumeric generator required to displayalphanumeric charade's directly on your tv screen with-mil additional hardware Also plays tick-tack-toe plus adrawing game that uses ELF ll shex keyboard as a pystick 4k memory regu red 514.95 postpaid□ lorn Pitlman s Short Course on Tiny Basic tor El F 1155 postpaid

! 3 ELF-BUG™ Deluxe System Monitor on cassettelape Allows displaying tlie contents ol all registers onyou' Iv at any point ir your program Also displays 24bytes ol memory with lull addresses blinking cursor

913 printable characters onboard And auto scrolling A tiuisl tor Ihe serious programmer1

regulatw parity ionic selection and choice 01 J handShaking Signals to mate wllh almas" any computerS64 95;i!usS2p&h

$14.95 postpaid

D Texl Editor on cassette tape gives you ihe ability loinsert delete or edit lines and words Irom your programsDeluxe melal cabinet lo' ASCII Keyboard. 519.95 while ttiey are displayed on your video monitor (Add$2 M ii%ii pftntei and you can use ELF ll to type error-lree letters

Video Display Board kil lets you generate a sharp plus insert names and addresses irom your mailing list I

programs and produces assembly language soiree ustings to help you understand arid improve your programs519.95 on cassette tape

SAVE 59 90-Text Editor Assemoler & Disassemblerpurchased together only S49.95! iHeguue Video Display Eoard plus 4h memory |

□ ELF II Lighl Pen. assembled S. tested S7.95p>us$lp&n

□ ELF II Color Graphics & Music Syslem Board kH549.95 plus S2p&h

D ELF II connects directly to the video input ol you' ivset wilhoul additional hardware To connect ELF ll 10your anienna terminals instead ordei RF Modulator$8 95 postpaid

Coming Soon: AD D-A Converter Controller Boardand more1

Print

Name

r ti4 character by "i line upper and 519.95 postpaid

'i c.ise display on your iv screen or video monitor -nalicatly improving your une*panoert $99 95 Et F ti

□ Assembler on cassette tape translates assemblylanguage programs into hexidecimal machine code tor

Fits mside ASCII Keyboard cabinet I 589.95 ELF II use Mnemonic abbreviations lor instructions City .

It^m ■ .-•iielape Com-

llV%« WE lOAD * x -=- 11

(rather than numerics] make programs easier to read

and help prevent errors 519.95 postpaid

□ Disassembler on cassette tape lakes machine code

. DEALER INQUIRIES INVITED

—J

Circle 280 on inquiry card.

April 1979©BYTE Publications I

205

Continued from page 8:

1802 QUEST FOR INFORMATION

Hey, how about some support forthe poor little 1802? It is no longer anobscure processor used by few of us.Many personal computers utilize thischip-the RCA VIP, Quest Super Elf,Netronics Elf II, many homebrew sys-tems, and others. An 1802 recently wentup in an OSCAR satellite! Much soft-ware is available to 1802 users, includingdebug and monitor routines, videogames, Tiny BASIC, and general purposeprograms available from the many 1802based clubs.

Writing one's own software is simple,due to the unique COSMAC architec-ture. The processor contains sixteen 16bit general purpose registers that can beused to hold data and memory addressesto point to stacks, subroutines, etc. Theprogram counter can be changed to anyone of these under program control,facilitating the use of subroutines.

What about hardware? The 1802 iscompletely static and CMOS, resultingin very low power dissipation, an impor-tant consideration when designing bat-tery operated systems. It is available intwo voltage versions: 4 to 6 V and 4 to12 V. There is also an on chip directmemory access controller that simplifiesloading of programmable memory, since

this can be done in hardware withoutthe need for a bootstrap read only mem-ory. Memory interface is simple andstraightforward, because no bizarre datamultiplexing is performed; sequentialhigh and low order bytes of the memoryaddress are strobed onto an 8 bit bus bytwo timing pulses. Once decoded, theaddress is used just as any other 16 bitaddress bus. Hardware single step is alsoeasily implemented . I/O (input/output)is especially simple, due to three binaryencoded output lines that can be con-trolled by the processor to select one ofeight input and output devices directly.Also available are four flag lines that canbe tested by the processor to determinea course of action. These features,coupled with the simple 93 instructionset and RCA support chips make soft-ware and hardware development pain-less (and sometimes even fun).

We avid 1802 fans are no longer atiny minority, and would like some sup-port from BYTE, a magazine that manyof us subscribe to for the purpose ofdiscovering the latest in the computerworld. The 6800 and 8080A are goodprocessors, but there are others on themarket.

In addition, please go a little heavieron hardware. Also, I would like to see anarticle on the very basics (no pun in-tended!) of Pascal. I've read and rereadthe previous pieces, but I still can't make

6800 PERFORMANCE PRODUCTSFROM MICROWARE

A/BASIC COMPILER Unmatched for speed, versatility and efficiency,generates pure 6800 machine language from BASIC source. Fast integer math,strings, logical and array operations. Output is ROMable and reauires no run-time package. Cassette version requires RT/68 and 8K RAM. Disk versions re-quire 12K and have complete disk I/O statements plus other extensions.Cassette Version — A/Basic VI.OC $ 65.00

SWTPC Miniflex — A/BASIC V2.1F $150.00

SSB DOS-68 — A/BASIC V2.1S $150.00

RT/68 OPERATING SYSTEM Compatible MIKBUG replacement ROM with ex-panded, improved monitor plus real-time multiprogramming executive. 1000'sin use since 1976.

RT/68 MX on 6830 ROM (Mikbug pin compatible) $ 55.00

RT/68 MXP on 2708 ROM (EPROM pin compatible) $ 55.00

6800 CHESS challenging chess program, two difficulty levels. Runs in 8K RAM.Mikbug-compatible object plus A/BASIC source. Specify cassette, SSB orSWTPC minidisk.CHESS V1.0 $ 50.00

DR. ELIZA 6800 version of famous MIT artificial intelligence program. Com-puter as psychoanalyst communicates in plain English dialog. Mikbug compat-ible object plus A/BASIC source. Specify cassette, SSB or SWTP minidisk.ELIZA 1.0 $ 30.00

AS-1 A/D INTERFACE. Eight channel, 8-bit high speed A/D system for SS-50I/O buss. Assembled. $115.00

AS-4 D/A INTERFACE Four channel 8-bit ultra fast D/A system for SS-50 I/Obuss. Independent isolated Z-axis strobe output for oscilliscope or plottergraphics. Assembled. $195.00

U.S. orders add $2 for shipping. VISA and MASTERCHARGE welcome. Call orwrite for free 6800/6809 catalog.

MICROW\RE

SYSTEMS CORPORATION

2035 East Ovid Ave.Des Moines, IA 50317(515) 265-6121

heads nor tails out of a Pascal listing.Other than these few gripes, I enjoyyour magazine, and look forward to itsarrival every month.

Ivan Dzombak

621 Spring St

Latrobe PA 15650

[Authors take note! Our articles comefrom our readers. Let's see some moreinformation on the 7S02-RGAC]

CANCELLED AND HAPPY?

Recently I took advantage of youroffer to receive one free issue of BYTEby filing for a subscription and cancelingafter receiving the first issue.

Although I did cancel the subscrip-tion upon receiving the first free issue,I do wish to compliment you on thequality of BYTE. I canceled not becauseI did not think BYTE to be a good buyfor the computer hobbyist, but becauseit made it clear to me just how big thehobby is! As an active amateur radiooperator in the process of designing andbuilding some new major pieces of hard-ware, I decided that I had better getmore of that work out of the way beforeI delve into computers too deeply.

I expect to return to BYTE in abouta year or so—a short time before I beginany extensive home computer experi-mentation. That first issue of BYTE hasconvinced me that it will provide themeans for coming up to speed on thesubject.

Richard A Griffiths

6510 Foster St

District Heights MD 20028

A BASE COMMENT

I enjoyed Harold Pritchard's tip onusing an ordinary calculator for additionand subtraction of hexadecimal numbers(January 1979 BYTE, page 165). Yourreaders might be interested to know thatthis technique works for all numberbases from 2 through 99. To use forother bases, all you need do is find thenumber to add or subtract for carrysand borrows. The "magic number" issimply 100 minus the base being used.For hexadecimal it's 100 - 16 = 84 aswe've seen. For octal it's 100 - 8 = 92,and for binary, 100 - 2 = 98. As withhexadecimal, four digits is the most youcan work with using an 8 digit calculator.

David L Johnson

4106 Montreal Av

Prince George, VA 23875

COPYRIGHT INFORMATIONGATHERING

I'm becoming more and more inter-ested in the question of software copy-rights. I'm sure the editors at BYTEagree that this is a subject which isconfusing to anybody who starts talk-ing about it; there are no legal prec-edents, nobody really knows how to

206 April 1979 © BYTE Publications Inc

Circle 211 on inquiry card.

define the dividing line between ex-pected use of published software andtheft.

I'm polling editors and the majorcomputing magazines, hoping they willhelp me define some of these issues. I'dappreciate getting your views on thisthorny subject. Besides being editor ofDr Dobb's Journal, I'm getting a master'sdegree at Stanford in journalism—thisquarter I'm taking a course in thelaw school entitled "CommunicationsLaw." I will be talking (and in fact, amalready talking) with lawyers and legalscholars on this subject—frankly, they'remore confused than anybody else. Oneconsensus among the legal people I'vetalked to is this: the dividing line be-tween expected use and theft is money.

When you publish software, what doyou expect will happen to it? An inter-ested computerist will adopt or adaptthe program for his or her own use? Aclub will play around with it? Anothermagazine—nonprofit, for instance likemine—will reprint it? When do yourhackles rise over use of software origi-nally printed in your magazine? Whendoes it become unfair?

What I want to do is gather com-ments from people like you and combinethem with advice and facts from iegalscholars. After which, I will write anarticle attempting to pull this datatogether and make sense of it. Hope-fully, the article will be the first ofmany others in which people in thefield will try to arrive at some workingconclusions.

I look forward to hearing from you.

Suzanne Rodriguez

Dr Dobb's Journal

POB E

1263 El Camino Real

Menlo Park CA 94025

When we publish software, it is sub-ject to copyright, the only meaningfulform of protection. Just as we wouldexpect someone to formally ask for per-mission to reprint an article published inBYTE magazine, we would expect simi-lar respect from anyone going beyondthe bounds of fair use with respect toprogram copies taken from our products.In short, when we publish a programwith copyright protection, whether aspart of a book or as part of an article,we would expect anyone copying anddistributing such a program to writerequesting permission to do so. We arenot averse to giving permissions withcredit, and no publisher with a long-term view would, in my opinion, have ablanket policy against granting suchpermissions.

If anyone were to widely reproducecopies of our products without ourpermission, chances are we would findout about such use and be forced toexamine the effects and our options insuch a situation. There is a matter of ourown reputation, which can be com-promised by indiscriminate reproductionof our products even if there is no mon-etary gain to be had by the person or

persons engaging in such unauthorizedreproduction.

As for software publishing, when webuy a program for reproduction in bookform, or as a simple listing plus doc-umentation (often accompanied bymachine readable code), we treat it inthe same way as we treat the ideas ofan author writing a conventional articleor book. We are buying the embodimentof those ideas in a particular written orprogram form, not the ideas or conceptswhich constitute the program or work ofwriting. Because of the rampant con-fusion in the software area, our typicalcontract with authors of softwareexplicitly states that we are buying anexclusive license to the software re-productions in book form, with therights to license the software in otherways to manufacturers or media dis-tributors retained by the author. Theact of sale of the book or listing copy isthen, in our view, totally analogous tothe act of sale of such items as a phono-graph recording, a book about some sub-ject, a video recording, or other rela-tively conventional published work.This act of sale carries with it an impliedzone of fair use reproduction possibi-lities, but is in no way a license towidespread reproduction whether it isdone commercially or by some "non-profit" entity.

Basically, there should be a software

publishing analogue of the ASCAP orBMI organizations of the music world,but the field is too young at present.There are a number of questions to beanswered as history unfolds in this fieldbut, contrary to your letter's view-point, there are historical precedentswhich can certainly be examined andapplied to the new concept of computerprograms as works of authorship andoriginal composition. . . ,CH

IBM Emulation Information Needed

As an avid BYTE reader, I have, as alast resort, turned to you to requestsome assistance. I am looking for a soft-ware house that can supply the com-munications software for effecting IBM3780 and Teletype emulation using astandard mini/micro system. There are anumber of manufacturers (ADDS,Datapoint, SYCOR) who have such emu-lators available when one purchases orleases their equipment; however, I donot wish to be tied down to any onemanufacturer. The software is propri-etary and cannot be used on the stan-dard systems. Can you supply any leadsin this area?

George J Lehmann

Data Processing Consultant

163 S Sycamore Av

Hollywood CA 90036

Shown with

optional 4fc IktMrf

5UKT BOARD'" ( >!«■ Boiid

n

HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS!

Write and run machine language programs at home, display videographics on your TV set and design microprocessor circuits—thevery first night—even if you've never used a computer before!

II ,.,.«ring RCA COSMAC

microprocessor COMPUTER $9995

Stop reading about computers and get your hands on one! With a $99.95 ELF

[ I and our Short Course by Tom Pitt man, you master computers in no lime at

all! ELF II demonstrates all 91 commands an RCA 1802 can execute and the

Short Course quickly teaches you to use each of the I802's capabilities. ELF II

also displays graphics on any TV set, including an exciting new target/missile

gun game! Add-ons are among the most advanced available anywhere. You get

massive computing potential. No wonder 1EEE chapters, universities and major

corporations all use ELF II to train engineers and students! Kit is easily assembled

a single evening and you may still have time to run your first programs before going

^±-SENDTODAY! ,

Net rem its R&D Ltd., Dept. BY-4

NOW AVAILABLE FOR ELF II—

□ Tom Pittman's ShortCourse On Mi-croprocessor & Computer Programm-ing teaches you just about everythingthere is to know about ELF 11 or anyRCA 1802 computer. Written in non-technical language, it's a learningbreakthrough for engineers and laymenalike. $5.00 postpaid!

□ Deluxe metal cabinet with plexiglasdust cover for ELF 11, $29.95 plus$2.50 p&h.

D Deluxe metal cabinet for ASCIIKeyboard, $19.95 plus $2.50 p&h.□ ELF II Tiny BASIC on cassettetape. Commands include SAVE,LOAD, ±>,^,( ), 26 variables A-Z,LET, IF/THEN, INPUT, PRINT,GOTO, GO SUB, RETURN, END,REM. CLEAR, LIST, RUN. PLOT,PEEK. POKE. Comes fully docu-mented and includes alphanumericgenerator required to display al-phanumeric characters directly on your

D ELF 11 connects to the video input TV screen without additional hard-

I' of your TV set. If you prefer to use ware. Also plays tick-tack-toe plus a

your antenna terminals, order RF drawing game that uses ELF ll's hex

Modulator, $8.95 postpaid. heyboard as a joystick, 4k memory re-

I D GIANT BOARD"1 kit with cassette quired. $14.95 postpaid.

[ I/O, RS 232-CHTY I/O, 8-bit P I/O, C Tom Pittman's Short Course on Tiny

I decoders for 14 separate I/O instruc- BASIC for ELF II. $5 postpaid.

Itions and a system monitor/editor, □ Expansion Power Supply (required

$39.95 plus $2 p&h. when adding 4k RAM). $34.95 plus $2

D Kluge (Prototype) Board accepts up p&h.

I to 36 IC's. $17.00 plus $1 p&h. □ ELF-BUG1" Deluxe System Monitor

■ D 4k Static RAM kit. Addressable to on cassette tape. Allows displaying the| any 4k page to 64k. $89.95 plus $3 p&h. contents of all registers on your TV at

- □ Gold plated 86-pin connectors (one any point in your program. Also dis-I required for each plug-in board). $5.70 plays 24 bytes of memory with full ad-

- postpaid. dresses, blinking cursorand auto scroll-| D Professional ASCII Keyboard kit inS- ,A ™st for ** serious Pr°gram-I with 128 ASCII upper/lowercase set, rner! $14.95 postpaid.

| 96 printable characters, onboard regu- Coming Soon: AD D-A Converter,

■ lator, parity, logic selection and choice Light Pen, Controller Board. Color| of 4 handshaking signals to mate with Graphics & Music System

ralmost any computer. $64.95 plus S? 'p&h.

more!

Call or write tor wired prices!

333 Litchfield Road. phone

New Milford, CT 06776 (203) 354-9375

Yes! I want to run programs at home andhave enclosed:D $99.95 plus S3 postage& handling lor RCA COSMAC ELF II kit.G $4 95 for power supply (required)',D 15 lor RCA 1802 User's Manual, D $5 Ilor Short Course on Microprocessor i 'Computer Programming.0 I want mine wired and tested withpower supply, RCA 1802 Uteri Manualand ShortCourse Included for just $149.95plus S3 p&h!

3 I am also enclosing payment (includingpostage & handling) for the items checkedatthelett.Total Enclosed (Conn. res. add tax)

$ D Check here if

you are enclosing Money Order or Cashier's

Check to expedite shipment.

USE YOUR D VISA □ Master Charge

(Interbank* )

Account #

Signature Exp. Date

PHONE ORDERS ACCEPTED (203) 354-9375 i

PrintName —

Address

City

Stale _

.Zip

_ _ DEALER INQUIRIES INVITED.

Circle 287 on inquiry card.

April 1979 © BYTE Publications Inc 207

THE SHAPE OF LIFE

I liked the articles on Life in theDecember 1978 BYTE.

An area of Life that I find particu-larly fascinating is the behavior of Lifeforms in universes other than the flattwo-dimensional universe. For example,in cylindrical or torus shaped universes itis possible for various kinds of stable"shock waves" to exist. These consistof complete loops around the universeand travel at the velocity of light, ortwice as fast as a space ship. The simplestforms look like combs and can leavevarious kinds of debris behind or simplyempty space. Another class of objectsnot found in the flat universes are"universal oscillators" that can exist infinite universes of the torus type andwhich engulf the entire universe.

To investigate these kinds of Lifeforms 1 wrote a program in COSMAC1802 machine language that runs on theRCA VIP Computer. The geometry ofthe universe can be selected by the user.Speed is very desirable if you are tryingto determine the fate of a particularpattern and I spent considerable effortto maximize the program speed. Theprogram calculates about five genera-tions per second for an almost fulluniverse up to 25 generations per secondfor an almost empty one. The actual

speed can be set to a lower value by theuser and this is useful for examining apattern in detail or for designing newpatterns.

To make the program generally use-ful I added pattern storage and patternediting features. Those readers who are■nterested in obtaining copies of theprogram can write to ARESCO, POB 43,Audubon PA 19407.

Brian Astle

22 Fieldston Rd

Princeton N) 08540

KUDOS

After reading so many complaints(and suffering from the same problemmyself) about vendors of computerperipherals, I'd like to salute one ofthe "good guys" of the industry. We'realways quick to condemn, but how manyof us take the time to give praise whensomeone's worked hard to earn it???

I nominate for "The Good Guy ofthe Month Award" Warren Rosenkrantz,superstar of V R Data Corporation inFolcroft PA. After dealing with severalother rather questionable firms, I re-ceived a flyer from V R Data congrat-ulating me on the purchase of my RadioShack TRS-80 and listing several periph-erals at very attractive prices. I inves-

Add-In Associative Memory

for the S-100 bus

Discussed and dreamed about bycomputer scientists for years, Con-tent-Addressable Memory (CAM)is now here at an affordable price.CAMs have been so costly to buildthat few have actually been pro-duced. Now Semionics has devel-oped a simplified design, loweringthe cost by two orders of magnitude.This new memory is called Recogni-tion Memory (REM), since (like thehuman brain) it can recognize words,patterns, etc.

Adding a REM board to an ordinarymicrocomputer converts it into a verypowerful machine known as a Con-tent-Addressable Parallel Processor(CAPP).Features:4K bytes per boardStatic—no refresh neededCan be used as ordinary RAMor as CAM

RAM access time: 200 ns ,

CAM access time: 4 p.s A

Multiwrite—writing into multiple *locations with one instructionMasking— for individual bitaccess

Multiple REM boards accessedin parallel

Adds 17 associative memory func-tions to instruction set of Z-80 or 8080.Applications:

Pattern Recognition • InformationRetrieval • Compiling & Interpreting• Natural Language Processing •Code Compression • Artificial Intel-ligencePrice: $325

4K firmware package of REMroutines: $80.

J SEMIONICS

41 Tunnel Road • Berkeley «CA 94705(415)548-2400

tigated and, to make a long story short,began what I hope to be a long and re-warding business relationship.

Warren and his staff exhibited awillingness to help a fledgling computer-ist. They brought back that old, for-gotten trait that makes good business-men great—the customer comes first.Sure, like everyone else in this madindustry, we had problems such asprinter modifications that didn't workand the disk drive that gave weird re-sults. However, Mr Rosenkrantz spentconsiderable time and effort to correctthese problems and, together, I thinkwe both learned a lot. He's also veryknowledgeable in the field of electronicsand is quickly becoming a pro on theTRS-80. What do you expect from a guywho starts work at 5:30 AM and some-times doesn't quit until after 10 PM?

I reiterate that praise is somethingearned—and Warren Rosenkrantz of V RData Corporation has certainly earnedpraise from this very satisfied customer.

Clifford W Coughlin

30 S Kirklyn Av

Upper Darby PA 19082

"THUS & SO" IMPLEMENTATION

In the December 1978 BYTE CarlHelmers, comparing BASIC to Pascal,made the point that:

In BASIC I would have to ref-erence /a procedure/ in the pro-gram with a number artificiallycreated for that purpose. I mightsay GOSUB 10000, for example,when I really mean to call andexecute a thus-and-so procedure.

Good point! Because of this lack ofexpressiveness in ordinary BASIC theCanon model BX-1 allows statementssuch as GOSUB "Thus&so". Elsewherein the program the same alphanumericliteral appears as a label, identified assuch by the keyword FLAG. Note that,due to using quotes, it is possible to useupper and lower case, special characters,spaces and even graphic characters. It isnot necessary to begin with a letter or toavoid keywords of the language. TheBX-1 does, however, limit the length ofthe label to eight characters.

GOTO may be used in the same way.Furthermore, the BX-1 executes state-ments such as ON A$ GOTO "YES","NO", "MAYBE", "HELP!". If A$matches any of the literal strings shown,then a branch to the location so labeledwill occur. If there is no match, execu-tion continues with the next statement.The statement form except with GOSUBis also in the BX-1 language.

As far as I am aware, the observationof Mr Helmers is correct for all otherBASIC implementations.

Craig Busse

Canon USA, INC

140 Industrial Dr

Elmhurst, IL 60126 ■

208 April 1979 © BYTE Publications Inc

Circle 320 on inquiry card.

Circle 386 on inquiry card.

Circle 79 on inquiry card.

jcippkz computer

SOFTWAREFOR BUSINESS

includes:

Mailing List

* General LedgerPayroll

Phone Directory

* Customer InformationInvoice WriterInventory

* Check Writer

* Complete Business SystemMaster Business System

Available Soon Word Processor

vidEO^sslw/onld

2224 N. University, Peoria, II. 61604Phone 309/686-9352

"Trademark of Apple Computer Co. Inc.

PET WORD PROCESSOR

C m C

SOFTWARE

I •""• I

This program permits composing and printing letters,flyers, advertisements, manuscripts, etc., using theCOMMODORE PET and a printer.Script directives include line length, left margin, cen-tering, and skip. Edit commands allow the user toinsert lines, delete lines, move lines and paragraphs,change strings, save onto cassette, load from cassette,move up, move down, print and type.The CmC Word Processor Program addresses an RS-232 printer through a CmC printer adapter.The CmC Word Processor program is available for$29.50. Add $1.00 for postage and handling per order.

Order direct or contact your local computer store.

CONNECTICUT microCOMPUTER

150 POCONO ROAD

BROOKFIELD, CONNECTICUT 06804

(203) 775-9659

Assembled

$700$350$150$100$100$ 20

Our

WE SHIP FROM STOCK - EVERYTHING FACTORY FRESH, FULLY WARRANTEED

TELETYPE MODEL 43 TTL $985

RS232 $1,045

(We stock Teletype Paper and Ribbons)

HAZELTIIME 1500 assembled $945

1510 $1,085

PER SCI

Model 277 Dual Disk Drive, single density $1,210

Slimline cabinet w/power supply $299

MARIIMCHIP SYSTEMS M9900 CPU

The Complete, Compatible 16 bit CPU for the S-100 Bus

Kit

M9900 CPU $550

PROM/RAM/SIO $275

Pascal

META

System Generation Kit

Documentation only

Assemble your own system or let us assemble one for you.system will include:

M9900 CPU PROM/RAM/SIO PASCAL

TEI 12 slot mainframe TARBELL Disk Controller

IMS 64K Fully static memory (Four 16K Boards)

PER SCI Model 277 Dual Disk Drive, Slimline cabinet, power supply.

COMPLETELY TESTED $5,700

IN ADDITION: With the purchase of this system, $50 off the price

of any terminal we stock.

We also configure systems to suit your individual requirements.

IMS MEMORY BOARDS, 16KB, FULLY STATIC $459

S-100 MAINFRAME 12slot, TEI Model MCS-112 $433

To Order: $10 shipping for Teletype, Hazeltine, PerSci and Mainframe. S3 shipping for otheritems. 24 hr. shipping upon receipt of certified check or money order. Personal checks: allow10 days. Credit cards: 4% charge. NY residents add tax.WE EXPORTWe have no reader inquiry number. Please call or write.

john d. OWENS ASSOCIATES, inc.

147 NORWOOD AVENUESTATEN ISLAND, NEW YORK 10304

DAY, EVENING, WEEKEND, HOLIDAY CALLS WELCOME!

(212) 448-6283

(212) 448-6298

WhyPay More?

Why pay for more printer than you need? Ourseries 40 printers offer more features for lessbucks than any other commercial quality printeron the market today. A complete stand-alone 40column impact dot matrix printer with a 64character ASCII set. Includes power supply,casework and interface electronics. Singlequantity price for the parallel ASCII interfacemodel is $425. Serial RS232/current loopinterface models start at $575. OEM discountsavailable.

For more infor-mation write to:

MPI 2099 West2200 South, SaltLake City, Utah84119 or call (801)973-6053.

Circie 265 on inquiry card.

BYTE April 1979 209

An Introduction to Microprogramming

Ben E Cline

702 Southgate Dr

Blacksburg VA 24060

Figure 1: Functional blockdiagram of a conventionalbus structured computer.Solid lines indicate datapaths and broken linesindicate control lines.

Many computer users have not been ex-posed to the subject of microprogrammingalthough it was introduced more than 25years ago. With the advent of micropro-grammed microprocessors, though, moreand more people are gaining access to theworld of microprogramming. The purposeof this article is to provide an introductionto the subject.

The word microprogramming was intro-duced in 1951 by M V Wilkes to describe amethod of implementing the control circuitsof a digital computer that differed from theconventional hardwired logic approach. Theactions of a microprogrammed processorduring the execution of an instruction aredetermined by a program in high speedmemory called the control store. The datapaths, memory units, and arithmetic andlogic circuits of the processor are directlycontrolled by bits in a microinstruction heldin the control store. Each machine instruc-tion results in the execution of one or moremicroinstructions.

MEMORY ADDRESSREGISTER

CONTROLUNIT

ARITHMETICAND

LOGIC

UNIT(ALU)

INPUT OROUTPUTCONTROLUNIT

(IOCU)

1_.

Conventional versus MicroprogrammableArchitectures

Figure 1 is a functional block diagram ofa conventional bus structured computer. Thememory unit is used to hold both data andmachine instructions. The arithmetic andlogic unit (ALU) performs arithmetic andlogic functions such as addition, logicalAND, etc. The input and output (10) con-trol unit communicates with the externalworld. Data is passed between memory andthe arithmetic and logic unit by a bus sys-tem. The 10, arithmetic and logic unit, mem-ory, and bus circuits are controlled by hard-wired logic to generate the necessary signalsto fetch, decode and execute machine in-structions.

A microprogrammed architecture is pre-sented in figure 2. This functional diagram issimilar to figure 1 except for the controlunit. The conventional control unit has beenreplaced with a programmable control unit.Each step of the machine level instructionfetch and each step of a machine instructionexecution is controlled by a microinstruc-tion. The microinstructions are held in thecontrol store. The control store is a high-speed memory which is usually independentof main memory. The address control unitdetermines which microinstruction will befetched and executed next. Several addressingmethods are discussed later in this article.The microinstruction register (MIR) holdsthe current micrpinstruction being executed.The microinstruction in the register is de-coded by the decode logic which generatessignals to control IO, arithmetic and logicunit, memory and bus according to the ac-tions specified in the microinstruction.

The decode and address control circuitsof the microprogrammable architecture are

210

April 1979 © BYTE Publications Inc

Circle 159 on inquiry card.

RADIO SHACK COMPUTER OWNERS

TRS80

• PRACTICAL APPLICATIONS

• BUSINESS

• GAMBLING • GAMES

• EDUCATION

• PERSONAL FINANCE

• BEGINNER'S CORNER

• NEW PRODUCTS

• SOFTWARE EXCHANGE

• MARKET PLACE

• QUESTIONS AND ANSWERS

• PROGRAM PRINTOUTS

MONTHLYNEWSLETTER

24

HOUR ORDER LINE

(914) 425-1535

FR»

.AND MORE

WORD PROCESSING PROGRAM(Cassette or Disk)

For Writing Letters, Text, Mailing Lists, Files, Etc.With Each New Subscriptions or Renewal

S»

;CQIYIPLITRQNICSe

MATVCVvVCnCAL APF^JCATTONG SEF*VCE,X

Box 149

New City, New York 10956

ONE YEAR SUBSCRIPTION $24

TWO YEAR SUBSCRIPTION $48

SAMPLE OF LATEST ISSUE $4

START MY SUBSCRIPTION WITH ISSUE

(#1 - July 1978 • #7 - January 1979)NEW SUBSCRIPTION RENEWAL,

CREDIT CARDNUMBER

EXP. DATE

SIGNATURE

NAME

ADDRESS

Send for FREE Software Catalogue (Including listings of hundredsof TRS-80 programs available on cassette and diskette).

PERSONAL INFORMATIONMANAGEMENT SYSTEM

Personal Informa-tion ManagementSystem is indeed adata base manage-ment program. It'scarefully customizedfor the small systemowner. You can de-fine and constructyour own data bas-es. Each record cancontain up to tenfields. You definewhat goes in each.Then modify itwhenever you wantthrough use of just three commands. Youcan search, list, sort and also sum col-umns of numbers. Complete source list-ing is included. Check No. 10 on thecoupon. ONLY $9.95*

Z80 INSTRUCTIONHANDBOOK

zeo

INSTRUCTION

1 "handbook

Your complete guideto the powerful Z80instruction set. Ma-chine codes are pre-sented in both octaland hexadecimal

format. A conveni-ent index lists allinstructions alpha-betically along withmachine codes andtiming information.Industry standardmnemonics are usedthroughout. A prac-tical guide for the novice, intermediateor advanced programmer. Pocket size.Check No. 20 on coupon. JUST $4.95*

CALCULATINGWITH BASIC

Here's a variety ofprograms in BASIClanguage to help thestudent, scientist,engineer, technicianor hobbyist applythe language topractical problems.Covers mathematics,finance and statis-tics, mechanical en-gineering and elec-tronics. For fun be-tween such seriousapplications, Hang-man and Space Cap-ture games are also provided. A real stealat such a low price. Order now. Availablefor shipment in March. Check No. 30 oncoupon. ONLY $7.95*

LEARN MICROCOMPUTERS

A new multimedia information package. Includestext (Understanding Microcomputers) plus high-quality cassette. For the beginner. Covers all thebasics quickly, easily and enjoyably. All the funda-mentals behind the operation of virtually everymicrocomputer. Clear. Concise. Tells what to lookfor in buying a microcomputer. Companion tapeincludes chapter-by-chapter synopsis of the book.Check No. 40 on coupon. JUST $14.95*

6800 & 8080 SOFTWARECOOKBOOKS

Now you can cook up mouthwatering programs.Delectable "how to" facts include 8080 or 6800instruction sets. How to manipulate stacks. Flowcharts. Source listings. General purpose routinesfor multiple precision operation. Programmingtime delays for real time. And much more. In-cludes floating point arithmetic routines. CheckNo. 50 (6800) and No. 60 (8080) on coupon.

ONLY $10.95* EACH

^M SCELBI Publications

[°M P. O. Box 133 PP STN, Mllford, CT 06460

♦IMPORTANT ORDERING INFO! Include 75 cents postage/hand-ling for each item. Prices shown are for North American customers.Master Charge, VISA, Postal and Bank Money Orders preferred. Per-sonal checks delay shipping up to 4 weeks.

□ No. 10 □ No. 20 □ No. 30 □ No. 40 □ No. 50 □ No. 60

Name (please print)

Card No.Address

Bank No.

Exp.

City/State.Signature _

Zip

Amt. Enclosed

Circle 318 on inquiry card.

BYTE April 1979 211

much simpler than the control circuits usedto implement the full instruction set of theconventional machine. However, the sim-plicity of the elementary hardwired micro-controller is partially offset by the additionof a new element: the control store. A sig-nificant part of the cost of a microprogram-

Figure 2: Functional block diagram of a microprogrammed bus structuredcomputer. Solid lines indicate data paths and broken lines are used to indi-cate control lines.

Figure 3: Input side of atypical bus in a hypotheti-cal computer. The registernames (MD, MA, etc) arenot important and serveonly as labels for thisexample.

MD

BUS

MA

A

B

PC

IR

1

BUS SELECTION

MD

MA

A

B

PC

IR

1

"l

bZ

»3

Figure 4: Portion of a hori-zontal microinstruction tocontrol the connection ofregisters to the bus in figure3. Each box is a microin-struction bit that enablesthe indicated register-to-bus connection.

Figure 5: Portion of a ver-tical microinstruction tocontrol the connection ofregisters to the bus infigure 3. Here, three bitsare used to encode achoice between sevenregisters or a 0 "no oper-ation. "

med computer also lies in the set of micro-programs which must be developed and de-bugged to simulate a full virtual machineinstruction set. As a result, the costs of thetwo types of computer architecture areprobably comparable.

The microprogrammable central proc-essor is often referred to as the host ma-chine because many different virtual ma-chines can be superimposed on it by changingthe control store. By implementing differentmicroprograms in the control store the hard-ware seems to change from the viewpointof the virtual machine software. For thisreason, a microprogrammable computer issaid to emulate the architecture of a par-ticular virtual machine.

This emulation technique is a powerfultool. It enables the same basic hardware toimplement the instruction sets of many dif-ferent computers. For the homebrew com-puter builder who goes this route, a basic 8bit microprogrammed machine acting as thehost might be programmed to emulate anyone of the existing 8 bit microprocessors.The same host machine might even be usedto emulate an IBM 370 so that some widelyavailable public domain software could beutilized. Potential microprogrammers shouldbe warned, however, that creating the micro-program for such an emulation is not a trivialundertaking.

Microinstruction Formats

There are two microinstruction formats:horizontal and vertical. Most machines use acombination of these two. In a horizontalsystem, each bit in the microinstruction con-trols one data path or function in the ma-chine. Figure 3 shows the input side of onebus in a hypothetical machine containingseveral registers. The A, B, MA, MD, PC, IRand I registers may be logically switched ontothis bus, which might then route the data toone input of the arithmetic and logic unit.

Figure 4 shows a portion of a possiblehorizontal microinstruction format to con-trol the data paths of figure 3. Seven bitsare reserved in each microinstruction toindicate which, if any, registers are to beswitched onto the bus. If all these bits are0, no data is put on the bus and the buscarries a value of 0. If any of the seven bitsof the current microinstruction is 1, thecorresponding register is put on the bus. Toavoid conflicts, only one bit position in the7 bit bus field may be logical 1 at any giventime. Depending on the electronics of thebus structure, switching more than one regis-ter onto the bus at the same time maydamage the hardware or simply give unpre-dictable results.

212

April 1979 © BYTE Publications Inc

A vertical microinstruction format groupssimilar functions into operation codes calledmicro-orders. A micro-order for the businput of figure 3 is given in figure 5. Sinceonly one binary code can exist in the 3 bitfield, it is not possible to put more than oneregister on the bus at a time. The verticalmicroinstruction format is more compactthan a corresponding horizontal format.

Each microinstruction typically containsbits to control all computer functions. In amicroinstruction, the two inputs of thearithmetic and logic unit and the destinationof the output would be specified. The mainmemory read and write functions are speci-fied by microinstruction bits. Bits for testingregister quantities are also provided alongwith bits to cause jumps and subroutine callsin the microprogram. "No operation" maybe specified if a particular bus or function isnot used for a microprogram step.

Control Store Addressing

The control store is much like a con-ventional memory. In cases of machineswhere user microprogramming is notallowed, a read only memory is used tocontain the standard virtual machine in-struction set. If the manufacturer suppliesmicroinstructions to emulate more thanone machine, or if user microprogrammingis allowed, a programmable memory called awritable control store is used. If users areallowed to add instructions but not alter thebasic instruction set, part of control storewill be read only memory for the basic in-struction set and part will be writable con-trol store for additional instructions.

Homebrew computer people who chooseto do microprogramming will most likelyimplement a writable control store andhardware to load it. Another alternativeis to use inexpensive high-speed program-mable read only memory to store micro-instructions.

One control store addressing techniqueoften used is to execute microinstructions insequence. This technique is typically usedwith the vertical microprogramming format.A microinstruction counter, which is similarto a program counter or instruction counterin a virtual machine environment, is used tostep through the microprogram. A micro-instruction may contain a jump commandwhich is indicated by a certain bit patternin one of the micro-orders. With this tech-nique the jump address is contained in themicroinstruction in place of certain othermicro-orders; thus, not all operations can bespecified in a microinstruction that specifiesa jump function.

Another addressing technique uses a field

in each microinstruction to specify the ad-dress of the next microinstruction to beexecuted. Horizontal microcoding formatstypically use this technique. This methodrequires additional bits in each microinstruc-tion that the sequencing method does notneed.

Executing Virtual Machine Instructions

Executing a virtual machine instructiontypically begins with the microprogrammedinstruction fetch. The instruction fetch isperformed by a microprogram routine whichsends the virtual machine program countercontents to a memory address register,cycles memory and puts the instructionwhich comes back from memory into theinstruction register (IR). This instructionhas a virtual machine op code which indi-cates which operation should be performed.To emulate the instruction, the propermicroprogram in control store must beselected and executed. For example, if theop code 4 means ADD and the ADD micro-program begins in control store location100, the next microinstruction fetched afterloading the ADD instruction into the in-struction register should be fetched fromlocation 100.

One method of providing the proper map-ping between op code and control store ad-dress is by an indirect jump through theinstruction register op code field. When theop code indirect jump is specified (by aspecific bit pattern in the current micro-instruction), normal control store addressingis suspended and the op code gives the ad-dress of the next microinstruction to befetched and executed. If a 4 bit op code isused, an op code indirect jump would causethe next microinstruction to be fetchedfrom a control store location from 0 thru15, depending on the op code value. Thefirst 16 locations of the control store wouldcontain jump instructions to the micropro-grams for each of the 16 op codes. If theADD instruction is op code 4 and theADD microprogram is at location 100, con-trol store location 4 would contain a micro-instruction specifying a jump to location100 (see figure 6).

A second method for relating op codes tomicroprograms is the use of a read onlymemory mapper. A special read only mem-ory contains the beginning address of micro-programs which emulate each virtual machineinstruction. When the mapper is invoked, theop code in the instruction register is used toaddress the read only memory which looksup the proper address of the microprogramto emulate the virtual machine instructionindicated by the op code (see figure 7).

April 1979 ©BYTE Publications Inc 213

This method is used in such machines as theHP 2100 minicomputer. A memory mapperis not flexible enough to be used in a com-puter where the virtual machine instructionset is altered dynamically. To change thevirtual machine instruction set easily, anew mapper must be invoked. The read only

OP CODE

INSTRUCTION REGISTER

CONTROL STORE

I

23

■+1

JUMP 100

•

"ADD"MICROPROGRAM

•

Figure 6: Mapping an op code into a microprogram routine by means of atable of indirect jumps. Here the op code 4 picks the fifth jump in the table,causing the microprogram to execute the ADD routine.

OP CODE

INSTRUCTION REGISTER

ROM MAPPER

—i CONTROL STORE

Figure 7: Another way to map microroutines: the instruction register op codefield is used to address a special read only memory that points to the propermicroprogram routine. Here the example of figure 6 is illustrated using a readonly memory mapper.

memory mapper is most useful for manu-facturers who supply a fixed set of micro-programs that emulate only one virtualmachine.

In both mapping techniques, a table ofbeginning addresses of microprograms iskept — one in control store and one in an in-dependent read only memory. These tablesare referred to as jump tables.

Hybrid Systems

Some of the flexibility of a micropro-grammed processor is lost when certain func-tions are not controlled entirely by micro-instructions. For example, input/output onthe HP 2100 minicomputer is handledin hardware and merely initiated and syn-chronized by microcode. As more controlfunctions are performed in hardware and theability to use different instruction formats ishampered, the number of different virtualmachine instruction sets that can be easilyemulated decreases. On the other hand, ifcertain control functions are handled byhardware and the machine level instructionformat is relatively fixed, a virtual machineinstruction set may be emulated efficiently.

The hybrid combination of micropro-gramming with some custom hardware isused in most general purpose computers.Functions which cannot be handled easilyin microcode, such as isolating specific in-struction register bits, are delegated to hard-ware. The flexibility of microcode is stillavailable for instruction sets that take advan-tage of the hardware functions.

Advantages and Disadvantages

There are several advantages to a micro-programmable architecture. For computerdesigners, the choice of the virtual machineinstruction set may be postponed longerthan with a conventional architecture, allow-ing hardware and software design to overlapand influence each other. Instructions maybe added after the computer has been de-signed, built and marketed. As examples ofthis, the HP 2100 minicomputer's floatingpoint option is implemented entirely inmicrocode, and the DEC LS1-11 floatingpoint feature is achieved by plugging in anextra control store read only memory.

It is also possible with a microprogrammedmachine to market a line of computers withsimilar instruction sets even though theactual hardware of less expensive machinesmay be very different from the more com-plex models. The IBM 360 computer uses 32bit words and 16 general purpose registers.Some of the smaller IBM 360s have less than16 registers and 32 bit data paths but are

214 April 1979 © BYTE Publications Inc

Circle 359 on inquiry card.

Circle 375 on inquiry card.

* Have you gotten one of* - Don Lancaster'sINCREDIBLE SECRETMONEY MACHINESyet?

GUARANTEE:

If your INCREDIBLE SECRET MONEYMACHINE fails to work for you for anyreason, send it back for a full refund.

Synergetics, Dept. B-84, Box 1112, Parker, AZ 85344

Please send me INCREDIBLE SECRET MONEY MACHINES at S6.95 each postpaid

Price includes SI postage & handling.

( ) I enclose a total of * , check or moneyorder. ...or

C ) You can charge my Bank Americard / Visa card no.: ,

expiration date: signature:

address:_city:

T541 StSSe

announcesour now product lino

DAISY On icraan WORD PROCESSING with

* tarial terminal.

WPDAISY DAISY with * built in text formatter.

DATABASE A complete date management ryitem

with on acrean updating.

TSA/OS Our oparating system. Includes a

full library of disk, terminal anddevice drivars.

RLASM A relocatable linking macro assembler

with linking loader and symbolicdebugger.

We provide well tested productswith the support you need on both coasts.

- DEALER INQUIRIES INVITED -

39 Williams Drive

Monroe. CT 06468

(203) 261-7963

CATCH THE

S-100INC.

BUS!

/I V^T-T

OUR

•i^s S-IDD

SPECIAL

LIST

CASH

S.D. Versafloppy Disk

PRICE

PRICE

Controller Kit

159.00

135.00

I.M.C. "Pro" Dual

Extender Card

39.00

33.00

Ithaca Audio TRS-80 16K

Memory Upgrade Kit

140.00

119.00

T.E.I. 22 Slot Mainframe

Fully Assembled with

All Edge Connectors

845.00

633.00

Centronics 779

Printer

w/tractor feed

1350.00

995.00

IMSAI S-10 2-1 Kit -

Serial Interface

125.00

106.00

IMSAI l-KB-1 Microprocessor

Controlled Keyboard

395.00

170.00

Call lor Our Prices on:

Cromomco, IMSAI, Vector Graphic, North Star, Sanyo

,

Hazeltlne, IMC plus

Most Other Major Lines.

Subject to Available Quantities »F

rices Quoted Include Cas

i Discounts

Shipping & I

nsurance Extra

Bus..

S-IDD,inc.

Address..

7 White Place

Clark, N.J. 07066

Interface..

201-382-1318

I /^To further improve

service to our customers we

have installed a toll-free

WATS line in our

Peterborough, New

Hampshire office.

If you would

like to order a

subscription to1

BYTE, or if

Toll-free

r^rirrinnnrrnnsTrsinrsinnnrtn^

BYTE's New

SubscriberW.A.T.S. Line

(800)258-5485

We thank you and lookforward to serving you.

3uuju

9JLPJLgJUL°JLQJUlJJL°JLfiJL0-0JLg

you have aquestion relat-ed to a BYTEsubscription,1you are invited^to call*(800)258-5485between 8:00 AM and4:30 PM Eastern Time.(Friday 8 AM-Noon).* Calls from conti-nental U.S.

only.

»V^ 9178<

-^»-<A.a.9_8.g-0.g.8-g.g-

Circle 316 on inquiry card.

BYTE April 1979 215

Circle 298 on inquiry card.

TAKE A BIGGER BYTE

If you're looking for a big piece of the action, come toParker Brothers, a leader in the Toy and Game in-dustry. Our Beverly, Massachusetts location puts youin the spotlight of the technological R&D capital ofthe country, and within ten minutes of the sailingcapital of the world. So, get a bigger bite out of life.Come to Parker Brothers, and investigate the satis-faction of the New England way of life.

Microcomputer Programmer

Programming single board computer prototypes inassembly language and PL/M, you will provide soft-ware development support for our rapidly growingElectronics Development Section. Involvement includesfinal production development; responsibility for liaisonwith vendor programmers; programming micro-computer-controlled test equipment to meet QC re-quirements; final algorithm development and program-ming production microcomputers.

A BSCS and/or 1-3 years experience in microcomputerprogramming; hardware interface experience and pro-ficiency in at least one microcomputer assemblylanguage; familiarity with the Intel developmentsystem and/or a four bit microcomputer helpful.

Please send resume and salary history to:

Michele Peluso

PARKER BROTHERS

50 Dunham Road, Beverly, MA 01915

An Equal Opportunity Employer M/F Parker Brothers

H

PET™ EXPANDOR PRINTER

from PETSHACK Software House

P.O. Box 966 Mishawaka, IIM 46544

Tel:(219) 255 3408 ^gjPRINTER PRICE with pet interface $525

• Small size of 4.5"H x 121S"W x 9'A"D

• Impact printing ■ 3 copies

• Prints 80 columns wide

• Print Cylinder - not a matrix

• Uses 814" paper, pressure or pin feed

• Easy to maintain yourself, or return to us

• Regular Paper ■ Coated paper not required

• Lightweight, 1114 lbs. with cover

• Prints 10 characters per second

• 64 Character ASCII Character Set

• Full Documentation Included

This is the ideal, low cost, reliable, self maintainedprinter with which to complete your PET system.

PET ROM LISTINGS $19.96

PET SCHEMATICS $24.95

PET TO PARALLEL INTERFACE with 5V .8A power supply $ 74.95

PETTO 2nd CASSETTE INTERFACE $49.95

BUDGET - NEW - Keep track of Bills and Checks. Update as needed $ 1 4.95

NUMBERAMA - Number Guessing Game based on 'MASTERMIND' S5.95

STATES - Help the kids with their geography. Match States & Capitals $5.95

MATH TUTOR - Help youngsters learn math in an enjoyable way $ 5.95

6502 DISASSEMBLER $12.95

MAD LIBS PARTY FAVORITE! Hilarious stories created $ 5.95

WORLD CONQUEST Advanced game of Strategy $5.95

STARTREK - All-time favorite written for the PET's special Graphics $5.95

MORTAR - Advanced game with X-Y coordinates & angles $5.95

PSYCHO ANNIE - Tell your problems to Psycho Annie $5.95

COMPUTER DERBY - Up to 4 people can play the horses $5.95

MAILING LIST - For personal or business applications. $9.95

HOME UTILITIES - Loans, Savings, Electricity, & miles per gallon $9.95

MACHINE LANGUAGE MONITOR - Write Machine Code. Save on tape $9.95

PET is a trademark of Commodore Business Machines

microprogrammed to appear like full-sized360s. Such microcoded versions are, ofcourse, slower than the more expensivemodels.

Some manufacturers allow the user toadd special instructions to their machine byuse of microprogramming. Functions or por-tions of routines that are executed frequentlyin the user's system are good candidates forimplementation in microcode. Microcoderoutines run faster than similar routinesexecuted in main memory.

One disadvantage of allowing user micro-programming is the possibility of alteringthe standard instruction set. This couldeliminate compatibility with other ma-chines of the same model and decrease thereliability of a system's software. Sincemanufacturers sell both hardware and soft-ware, user microprogramming is usuallynot provided because of the compatibilityfactor. The design of microprogramming bythe user seems presently limited to specialapplications and people who design theirown computers from the ground up.

Studying Microprogramming

Studying the microprogramming usersmanual for one or more user micropro-grammable machines will provide muchinformation about microprogramming.Another source (although heavy reading) ofinformation is a copy of IBM's patents onthe system 360. If a microprogrammablemachine is available, writing some simplemicroprograms will provide a lot of insight.If no microprogrammable machine is avail-able, the microprogrammable architecture ofa real or hypothetical machine can be simu-lated on a conventional machine. A simu-lator usually will not provide insight intothe hardware timing problems that can beencountered on a real machine, but it canbe used to try out microcoding ideas.

It is possible that a microprocessor sys-tem could be converted to support usermicroprogramming. The National IMP-16and Raytheon RP-16 both use read onlymemory to control bit-sliced register andarithmetic and logic units. It is possible thata programmable read only memory or awritable control store could be substitutedfor the standard read only memory if timingproblems could be overcome and if the con-trol logic in the standard read only memorycircuits can be simulated.

Another possibility is the use of a tran-sistor-transistor logic (TTL) bipolar micro-controller integrated circuit. This chip istypically a 4 bit slice in some micropro-grammed central processor's data paths.Putting four 4 bit microcontrollers together

216 April 1979 ©BYTE Publications Inc

Circle 303 on inquiry card.

with a control store and address controllogic implements the central processor ofa 16 bit computer. This technique is beingused for the next generation of high per-formance minicomputers and is a plausibleway for the homebrew computer designerto implement a microcoded machine.

Although this type of project wouldallow more people to work with micro-programming, it seems to be a sizableengineering problem. Is anyone interested?

Conclusion

Microprogramming offers something forboth hardware and software proponents.The software fan can approach micropro-gramming from the programming view-point. Since the microprograms in controlstore must be efficient for the machine torun quickly, the design and programmingof microcode is a challenging activity. Micro-assemblers and microcode editing and debug-ging programs should also appeal to the soft-ware person. The design and implementationof a microprogrammed machine shouldsimilarly interest the hardware enthusiast.A microprogrammable machine that re-sembles a new design may be used to test, atleast partially, a new hardware design.Microprogramming should interest andchallenge many computer experimenters."

REFERENCES

1. Chu, Yaohan, Computer Organization andMicroprogramming, Prentice-Hall, EnglewoodCliffs NJ, 1972.

2. Husson, Samir S, Microprogramming Principlesand Practices, Prentice-Hall, Englewood CliffsNJ, 1970.

3. Microprogramming Guide (for Hewlett-PackardModel 2100 Computer), Hewlett-Packard Co,Cupertino CA, 1972.

4. Rosin, Robert F, "Contemporary Concepts ofMicroprogramming and Emulation," ComputingSurveys, volume 1, number 4, December 1969,pages 197 thru 212.

5. Wilkes, M V, "The Growth of Interest in Micro-programming — A Literature Survey," Comput-ing Surveys, volume 1, number 3, pages 139thru 145.

Editor's Note: BYTE is looking for morearticles on the subject of homebrew com-puters with microprogrammed instructionsets. This is one of the most advancedstate of the art techniques In computerscience, yet It should be possible for indi-viduals and clubs to do significant workin this area. . . .CH

© VECTORPACKAGING SYSTEMSSAVE TIME & MONEY!

New ANYDIP8804, $21.95

8802-1, $21.95

S-100 CARDS

Five models available. Universal tinned buses, pads orplain. 0.042 inch diameter holes on 0.1 inch grid formounting anything anywhere. For interface, memory,breadboarding.

R681-2 RECEPTACLE FITS 8803 MOTHERBOARD

Model R681-1 hasO.062 inch long 0.025 inch square tails.

miv-m^wmiP

TEFZEL* Insulation Wire Wrapping Tools:

u. s. &

foreign patents

Up to 4X faster.., Heavy insulation.P184-4T with NiCadbatteries, recharger, 100'daisy-chain wraps of wire: $105.00.

P184 with 100 feet of wire, $30.00.

BEAUTIFUL VP2 ENCLOSURE-supplied completelyassembled for packaging.

S-100 based systems. Clear

aluminum with blue vinyl

finished slide-off sides, top,

and perforated bottom cover;

heavy chassis plate,

removable front and reai

panels, adjustable

connector/Motherboard ,

mounting struts, card

guides (plastic guides '

supplied uninstalled).

VP2, $159.00. VP1,

cards mount perpendicular

to front, $163.00. BP17-9 accessory back panel, $10.95.

Low-noise model 8803 S-100 Motherboard not shown.Eleven positions ready for connectors. Glass epoxy,solder masked etched circuitry for passive and activetermination, twelve tantalum capacitors andinstructions. $29.50.

*DuPonttrademark

Prices subject to change without notice.

Send for complete data. Packaging systems for othercard sizes and systems, rack mounting are availableVECTOR ELECTRONIC COMPANY, INC.

12460 Gladstone Avenue, Sylmar, CA 91342telephone (213) 365-9661; TWX (910) 496-1539

ad number 627901

Circle 381 on inquiry card.

April 1979 © BYTE Publications Inc

217

A Digital Alphanumeric Display

Daniel ChesterDept of Computer SciencesUniversity of Texas at AustinAustin TX 78712

Editor's Note:

Although prices havebeen significantly re-duced since this articlewas written in 1976, theideas presented are stillquite valid. The learningexperience involved withdesigning and buildingany type of interface isinvaluable... . RGAC

The demand for microprocessors forpersonal use is growing phenomenally. Ifthese personal computers are to be morethan fancy desk calculators, however, theyneed to be able to receive and display lettersof the alphabet as well as numbers. Whilethere are numerous terminals on the marketthat make such communications possible,they are so expensive that a completecomputer system is still prohibitively priced.How can the costs of inputting and out-putting alphabetical characters be reduced?

Getting letters into a computer is relative-ly easy. There are lots of surplus keyboardsaround which can do this for a reasonablecost. The hard part is getting the computerto answer back in a readable form thatisn't just a string of digits. Television dis-plays will do the job, if you have a sparetelevision; but there is another way that willpermit you to build a terminal without atelevision, a way which may even provideyou with an alphanumeric terminal littlelarger than a pocket calculator. The secretis to use the same digital displays that deskcalculators use.

A

Ft

T

t

#

-

BC

b

UV

uu

i

(

C

D

d

w

U

)

J

E

E

X

h

*

a

F

F

Y

3

+

-/

G

3

Z

E

'

-/

H

h

0

a

-

—

1

i

1

i

J

J

2

E

/

r>

K

h

3

3

•i

L

L

4

V

1

Li

M

n

5

5

<

e

N

n

6

5

=

-

0

a

7

1

>

■3

P

P

8

3

?

P

Q

9

9

3

"I

-1

R

r

|

i

<

C

S

5

n

ii

>

3

Figure 1: Labelled 7 segment digital display.

Table 1: Alphanumeric characters andcorresponding output from the 7 segmentdigital display.

A digital display consists of a decimalpoint and seven line segments. If the decimalpoint and line segments are numbered asshown in figure 1, each display patternrepresents eight bits of information. Only21 of the 256 possible patterns are used bycalculators. After a few hours of experi-menting, I found, surprisingly, that mostletters of the alphabet are included amongthe remaining 235 patterns. Although farfrom ideal, it is possible to display a large,recognizable character set on 7 segmentdigital readouts. The character set that Icame up with is shown in table 1. One ofthe shortcomings of this set is that someletters are upper case and others are lowercase. This inconvenience is unavoidable,except for a few letters like C, G, and U.Some letters, like K and X, are impossibleto display others, like M, V and W, are justdifficult. For these letters, and the othersymbols in the character set, I chose patternsthat are in some sense "close" to the desired

218 April 1979SJBYTE Publications Inc

Circle 307 on inquiry card.

(THEMM-103 DATA MODEM,

AND COMMUNICATIONS ADAPTER

FCC APPROVED

Both the modem and telephone system interface areFCC approved, accomplishing all the required protectivefunctions with a miniaturized, proprietary protectivecoupler.

WARRANTY

One year limited warranty. Ten-day unconditionalreturn privilege. Minimal cost, 24-hour exchange policyfor units not in warranty.

HIGH QUALITY

-50 dBm sensitivity. Autoanswer. Auto originate. Autodialer with computer-controlled dial rate. 61 to 300 baud(anywhere over the long-distance telephone network),rate selection under computer control. Flexible, soft-ware-controlled, maskable interrupt system.

ASSEMBLED & TESTED

Not a kit! (FCC registration prohibits kits)

LOW PRICE—$319.95 For Modem AND Coupler s m

Potomac Micro-Magic, inc

write for brochure:POTOMAC MICRO-MAGIC, INC.P.O. Box 11149Alexandria, VA 22312

Call for further information:VOICE: (703) 750-3727MODEM: (703) 750-0930

APPLE n SOFTWARE

^j^^ TURF ANALYSIS Take the guesswork out of handicapping with this■jSmjf^ new and easy way to handicap horse racing on the APPLE II. ThisytNpB. program provides incredibly accurate predictions through the use of^ *^iV multiple regression and you don't have to know statistics to use it. Youmay use as many variables and as much data as you like. You're onlylimited by the available memory in your computer. TURF ANALYSIS has been fullytested and more often than not, it will beat the experts. (Requires316k of free memory.) $20.00

THE FOHECASTER Let your APPLE do the work for you. THE FORECASTERperforms a complete linear regression analysis and gives you an accurate regressionequation within seconds. Your data is then graphed in High Resolution Graphics and atrend line is plotted by using the regression equation. THE FORECASTER is anexcellent tool for those important trend analysis. (Requires3 16k of free memory.)Applesoft firmware card required $15.00

MATRIX INVERT This program will quickly find the inverse and determinant to asymmetrical matrix or solve a system of symmetrical linear equations. (Requires^ 6k offree memory.) $12.00

THE PLOTTER With the APPLE II, this program will allow you to easily plotequations in High Resolution Graphics in just seconds. THE PLOTTER is perfect for thebeginning or advanced math student. (Requires 316k of free memory.)Applesoft firmware card required $13.00

SOLO RACE is a very exciting and challenging Low Resolution auto race game whereyou drive a race car over curvy roads and around obsticals. You are allowed only 5 wrecksat which time you must have accumulated as many points as possible. This challenginggame is superbly written and is sure to give hours of fun. (Requires > 16k of freememory.) $8.00

MANDALA SUPREME (Side 2: Game of Thinkum)

You can now create artistic objects on the APPLE II similar to the popular Double Besse!Function within minutes. Simply enter a few numbers, and the APPLE willmathimatically create a superior 3 dimensional-like object. (Requires 316k of freememory.) Applesoft firmware card required $15.00

FUNPAK1 The FUNPAK 1 is a small library of 5 programs all rolled into one. If youlike a challenge, the Rat Race Maze. Mine Field or Canyon Bomber has it. On the otherhand, if you're interested in a little sound Odyssey, then try the Music Machine or Sound.The FUNPAK 1 is sure to give hours of enjoyment. (Requires>16k of free memory.) $8.00

*P«»r

PRO FOOTBALL Never before has there been a program that canpredict such unbelievably accurate pointspreads with the APPLE II. Thisprogram was fully tested during the 1978 season and it consistently beatthe experts. You may predict real or hypothetical games within secondsfrom data saved on cassette or disk. The data file requies only 10minutes per week to maintain and will instantly give you a completerundown of the season's activity. Each program includes a complete 1978 season datafile. (Requires322k of free memory.) $20.00

COLLEGE FOOTBALL Similar to the PRO FOOTBALL program. COLLEGEFOOTBALL will give accurate pointspread predictions within seconds on the APPLE II.This program contains over 78 major college football teams and a complete 1978 seasonfile. (Requires335k of free memory.) $20.00

See your dealer

Or for immediate delivery

SEND CHECK OR MONEY ORDER TO:

Systems Design Lab

121 8th St. AltizerHuntington, W.Va. 25705

304-525-8932

All programs have been completely testedand documented.

Circle 349 on inquiry card.

BYTEApriM979 219

/_ /_ /_ /_ /_/ / /"// ini r r l l r

LI II D I -I II Dill II L 11 Ol LIIL

_/ o /_ 01 j r o i id u _ ir r

UI -II LIIL LI I Dl LI ID LUUL I Of

01 o i id nr

11 l i i ii ii i u i ni i i r

L O

LI II IF

I I

nou

u

_/ id u r

no l o

L Ol II Ol I F

0 L ID O

1 IL L L I _/

ID

l I in

ID I Ol O lI L I IDl I

I

LL

D

or

I IL

r r n o r

DDl I -IID I II

ID Ol OI II

L I I DL I DO . .

Figure 2: Sample message written in 7 segment display code.

IJ

11.

/_/u.

IJ

I I.

Figure 3: Block diagram of an alphanumeric display panel.

ones. Even with these imperfections, how-ever, this display code is quite readable, asis shown by the sentences in figure 2.

A simple 8 character alphanumeric dis-play panel can be made from eight singledigit readouts and eight shift registers. Eachshift register corresponds to a different linesegment in the digital displays. All the bitsin register 1 are connected in parallel tosegment one in each of the readouts, and theother registers are connected in similarfashion to the other segments as shown infigure 3. When an 8 bit pattern is fed intothe registers via their left shift inputs and theregisters are shifted, the appropriate displaycharacter appears on the rightmost readout.As more characters are entered in this way,they progress, ticker tape fashion, acrossthe display panel until they disappear atthe left end of the display. To make this dis-play panel compatible with other computersbesides your own, you can use a 256 wordby 8 bit read only memory to convert fromASCII code to the display code required bythis panel. To extend the panel, just addmore readouts and more shift registers so asto extend the original eight registers.

The most practical form of alphanumericinput is the ASCII encoded keyboard, butthe digital display code makes possible acomputer terminal the size of a pocketcalculator. Alphabetical characters could beentered by drawing them with a stylus on apattern of eight metal sensing areas arrangedas shown in figure 1. A small number ofdigital readouts would display the output."

220 April 1979 © BYTE Publications Inc

Circle 49 on inquiry card.

BYTE's Bits

Call for Papers: Third InternationalConference on Computer Softwareand Applications

Papers are being solicited for theThird International Conference on Com-puter Software and Applications (COM-PSAC 79). Sponsored by the IEEE Com-puter Society, COMPSAC 79 will bringtogether computer practitioners, users,and researchers to share their ideas, ex-periences, and requirements for ap-plications software, management tech-niques, and software development sup-port, including automated techniques.The conference will be held Novembersthru 8 at the Palmer House, Chicago IL.Some of the areas where papers areinvited include: software developmentmethodology, software management,database management systems, datacommunication and computer net-working, computers and biomedicine,business office automation, industrialand design automation, application ori-ented languages, software testing andtools, and legal implication of electronicdata processing technology. Papersshould range in length between 1000 and5000 words. The submission deadline isJune 1, 1979. For additional infor-mation, contact Dr William Smith,executive director, Toll ElectronicSwitching and Operator Services Div-ision, Bell Laboratories, Naperville IL60540."

Call for Papers: Twelfth AnnualMicroprogramming Workshop

The Twelfth Annual Microprogram-ming Workshop to be held November18 thru 21, 1979 at the Hershey MotorLodge Convention Center, Hershey PAwill provide a forum for practical andtheoetical aspects of firmware and re-lated areas. Authors in industry andacademia are encouraged to submitpapers for formal presentation. Topicsfor consideration at the workshopinclude, but are not limited to: directlyexecutable (intermediate) languages; lan-guage oriented architectures; emulation;microprogrammable host machines; onchip microprogramming; micropro-gramming experience; microprogram-ming languages; firmware developmentmethodology; support tools for micro-programming; database support; oper-ating systems and security kernel sup-port; and signal processing. Formalsessions will be enhanced by informaldiscussions in a workshop atmosphere.Papers should be submitted in trip-licate by June 1, 1979 to Richard ABelgard, MICRO-12 program chairman,Data General Corp, 62 Alexander Dr,Research Triangle Park NC 27709."

TRS-80 CORNER

ANNOUNCING...ONE-STOP SHOPPINGFOR YOUR TRS-80 MICROCOMPUTER

SOFTWARE (State of the Art)

— Disc-based business software

— FORTRAN for the TRS-80

— Functional, cassette-based programs

— Of course, some games

— And much more

HARDWARE

— 16 K RAM kits with instructions

— S1/*" Minidiskettes — only the very best — Scotch

— C-10 Data-settes — blank cassettes for programs

— Isolation Filters — the insurance you need!

— All Radio Shack equipment at 10% off

— And much more

BOOKS

— David Lien's — "The BASIC Handbook" — A mustfor every programmer

— Coming Soon — David Lien's — "The LEVEL IIHandbook" A must for every Level II owner

— The Adam Osborne Series on Microcomputers

— Robert E. Purser's — "Computer Cassettes" — Acompilation of all TRS-80 Software on the market

CONSULTING SERVICES

— Including installation and hands-on training

with the TRS-80 Business System, for those end-userswho are not computer hobbyists

— and much more

FOR MORE INFORMATION WRITE

CIRCLE ENTERPRISES, INC.

POST OFFICE BOX 546

GROTON. CONNECTICUT 06340

SHOULD it be a Heathkit ?

Whether you are considering the purchase of anadditional peripheral or your first computer youshould know more about Heath^- computer products.Heathkit^ has a continuing commitment to sellingwell-documented computer kits and software. Arethey for you? How can you find out?

Read Buss: The Independent Newsletter of HeathCo. Computers, where information on new productsis printed as it leaks out of Benton Harbor, notheld back to suit a marketing plan. Buss is nota company-controlled publication, so it can dealwith weaknesses of Heathkit^ products as well astheir strengths. It features news of compatiblehardware and software from other vendors. EveryBuss issue has candid accounts of experiences ofHeathkit& owners. Results of their discoveries,which often include hardware modifications, savesubscribers headaches—and money. That's provenby two years' experience. So Buss can guaranteea full refund any time you're not satisfied.

Buss is mailed first class (by airmail outsideNorth America). The 2k-issue subscription givesyou the choice of starting with the latest issueor with available back issues (about 8 are stillin stock). Send $ 8.00 for 12 issues or $ 15.25for 24 (overseas, $10.00/12; $19.25/24 US funds)to: Buss

325-B Pennsylvania Ave., S.E.Washington, DC 20003

The Independent Newsletterof Heath Co. Computers

Circle 32 on inquiry card.

April 1979 © BYTE Publications Inc 221

Circle 324 on inquiry card.

NOTICE TOBYTE READERS

Withdrawal Of Offer

In the October, 1978 issue of

BYTE,

Reston Publishing Company

of Reston, Virginia,

advertised a computer kit,

RECOMPI

This product is NOT available,

however, and

the offer is withdrawn.

We regret any inconvenienceto potential purchasers.

Reston Publishing Company

1140 Sunset Hills RoadReston, Virginia, 22090

At last...the mechanical interface!

Turn your electric typewriter into a low cost,high quality hard copy printer.

User list$39500

„..>' The all new

I/O Pakfrom

Rochester Data,

Inc. interfaces the keyboard

of any commercially available

electric typewriter with any

computer. The result: low cost, high

quality hard copy.

Write today for more information.

ROCHESTER DATA

li icoi porated3100 Monroe Avenue, Rochester, New York 14618

Programming Guickies

Label and FileProgram

Andrew A CarpenterPOB 841GordonsvilleVA 22942

I occasionally need to order a part thatI cannot obtain at my local vendor. Thus,I wrote a parts order program for thispurpose on my SwTPC computer. Theprogram generates two letters and twoaddress labels. I keep one letter for myfile.

Lines 8 and 2100 erase the screen andplace the cursor in the upper left handportion of my CT-1024 terminal. Theprogram starts off by asking if a vendor'sname and address is needed. If not, theprogram jumps to the letter form at line2100. The user keys in the informationprompted by lines 2110 thru 2245. If onlyone line is needed for parts, a carriagereturn may be entered when prompted forthe second part (lines 2220 thru 2245).

If an address is required, the user isprompted to enter the first letter in themanufacturer's name. The letter B willlist lines 250 thru 278 on the PR-40 (Belland Howell) printer. The command LIST#7 on lines 50 thru 110 lists the linesnoted on the number 7 output device.In this case, the output device is the printer.Lines 200 thru 2000 are reserved forvendor's names and addresses. They may bechanged to suit the user's requirements.Lines 50 thru 150 select the various sectionsof the address file.

Listing J: Parts orderprogram written for theSwTPC 6800 computer.

000800100012001500200030

SEAR005000600065007000800100

PRINT CHR$(16); CHR$(22)PRINT '"PARTS ORDER'"INPUT "NEED AN ADDRESS (Y/N)",B$IF B$="N" GOTO 2100PRINT "FILES ARE LISTED A-Z"INPUT "WHICH FILE ARE YOUCHING FOR",A$IF A$="A" LIST #7, 200,248

LIST #7, 250,278

LIST #7, 280,298

LIST #7, 300,318

IF A$="B"IF A$="C"IF A$="D"IF A$="G'

LIST #7, 350,378

IF A$="L" LIST #7, 450,498

222 April 1979 © BYTE Publications Inc

Circle 31 5 on inquiry card.

011001550160020002020204020602080250025202540256025802600280028102820283028403000302030403062100210521072108211021302150217021902210222022302235224022452260226522702280"A.A.

IF A$="M" LIST #7, 500,610

PRINT

GOTO 2100

ADMIRAL DISTRIBUTOR

DIXIE APPLIANCE CO.

BOX 12766

ROANOKE, VA. 24028

BELL & HOWELL DISTRIBUTORBELL& HOWELL CO.GENERALSERVICES7100 MCCORMICK ROADCHICAGO, ILL. 60645

CONCORD DISTRIBUTORSTEREO LAB II, INC.2350 MIDDLE COUNTRY RD.CENTEREACH, NY 11720

DELCO DISTRIBUTOR

MOLLEN BROS. AUTO

2727 W. BROAD ST.

RICHMOND, VA.PRINT CHR$(16); CHR$(22)PRINT #7,

PRINT " 'LETTER FORM'"PRINT

INPUT "COMPANY NAME",A$,L$INPUT "ADDRESS",B$,M$INPUT "CITY & STATE",C$,N$INPUT "DATE",E$INPUT "MFR",F$

INPUT "MODEL & EQUIP TYPE",G$INPUT "QUAN & PART NO. ",l$INPUT "PART DESCRIP",H$PRINT

INPUT "QUAN & PART NO. ", 0$INPUT "PART DESCRIP",P$FOR l = 1T02

PRINT #7, "

PRINT #7,PRINT #7, TAB(20);CARPENTER"

2290 PRINT #7, TAB(20); "TV SERVICE"

2300 PRINT #7, TAB(20); "GORDONSVILLE

VA."

2310 PRINT #7,

2320 PRINT #7, TAB(20),-E$

2330 PRINT #7,

2340 PRINT #7,

2350 PRINT #7, A$+L$

2353 PRINT #7, B$+M$

2355 PRINT #7, C$+N$

2358 PRINT #7,

2363 PRINT #7, "GENTLEMEN:"

2365 PRINT #7,

2370 PRINT #7, "PLEASE SEND C.O.D. THE

FOLLOWING PARTS"

2380 PRINT #7, "FOR A ";F$," MODEL ";G$;

2390 PRINT #7,

2400 PRINT #7, l$;" ";H$

2405 PRINT #7, 0$;" ";P$

2410 PRINT #7,

2420 PRINT #7, "THANK YOU. "

2430 PRINT #7,

2440 PRINT #7, TAB(20);"YOURS TRULY,"

2460 PRINT #7,

2470 PRINT #7,

2480 PRINT#7, TAB(20);"A.A. CARPENTER"

2490 PRINT #7,

2500 NEXT I

2505 PRINT #7, " "

2510 PRINT #7, " "

2520 PRINT#7,A$+L$

2530 PRINT #7, B$+M$

2540 PRINT #7, C$+N$

2550 PRINT #7, " "

2560 PRINT #7, "A.A. CARPENTER, TV

SERVICE"

2570 PRINT #7, "BOX 841"

2580 PRINT #7, "GORDONSVILLE, VA.

22942"

2590 PRINT #7, " "

2600 END ■

New North Star Software

• DOS $35

Enables any program to execute all North StarDisk and/or Meca Tape commands. Allowsbatch command list and more.

• PRO-TYPE WORD PROCESSOR $75Easy to learn. Combines text input, editing andprinting in one program. Features right marginjustification, tabs, paging, underlining,relocation of text blocks, etc. Requires only 8Kof memory. Manual alone, $25.

• GUIDE TO BASEX $33A new interactive compiler similar to BASICfor 8080-type microcomputers (Z-80,8085).Executes programs up to 10 times faster thanequivalent programs while requiring about halfthe memory space. Features include: arrayvariables; string manipulation: arithmeticoperations on signed 16 bit intergers: andversitile 10 communication functions. Manualalone $8.

• BASEX TAPE and DISK GUIDE $35Allows your BASEX programs to access up tofour North Star Disk and/or Meca Tape drives.All operations can be executed from theKeyboard. Manual alone $20.00

Specify:

North Star Disk/Meca Tape/OtherSend for Free LiteratureINTERACTIVE MICROWARE INC.P.O. Box 771 . VVl-

State College, PA 16801 ■ ■■■■

(814)238-8294 ■lAJ"

Circle 175 on inquiry card.

April 1979 ©BYTE Publications Inc 223

Microcomputer Timesharing

A Review of the Techniques,With Pointers to Further Reading

Kenneth J Johnson56 Hodge LnHartford, NorthwichCheshire CW8 3AGENGLAND

Until I read Steve Ciarcia's article"Having a 'Private Affair' with your Com-puter" in April 1977 BYTE, page 18, I hadnot envisaged my 6800 or my 8080 as thebasis of a timesharing system. Then I askedmyself, "Why not? Why shouldn't a micro-processor be capable of supporting a time-sharing system?" I subsequently had theopportunity at the ONLINE conferenceheld in London England on May 14 1977to see Robert Uiterwyk's 6800 based multi-user system. This prompted me to searchback through the literature (especially thatof the time when timesharing systems werefirst being introduced) to check on theproblems their designers encountered andtheir solutions. This article is the outcome.It does not set out to specify in detail howa timesharing system can be established,but it does deal with the main problemsinvolved. Perhaps it will provide a startingpoint for readers' systems development.

Requirements

Timesharing has been defined in manydifferent ways. For our purpose it will betaken to mean the concurrent, effectiveutilization of computer resources by severalusers, possibly at remote terminals. It willimply multiprogramming, possibly multi-processing; in general, multiple access tosystem resources.

The key requirement in any multipro-gramming or timesharing system is thatprograms and data should not be bound,that is, converted into hardware dependentform, until the moment of execution. This

requirement has many implications andmay involve many problems, some ofwhich have been solved in different wayswith varying degrees of success. This articleexamines what is perhaps the main prob-lem: relocating programs and data in a multi-programming environment. The relatedproblems of scheduling and priority systems,memory addressing algorithms and resourceallocation are also discussed briefly.

The Problem

A timesharing system should be designedto execute user programs in such a way asto provide reasonable service and to satisfyeach user's requirements. This means thateach user should believe that he has all thebenefits of a dedicated computer. It is thebasic philosophy of timesharing and leadsdirectly to the concept of virtual machineslinked to physical computer resourcesthrough address mapping tables.

Typically, individual user programs areallowed exclusive use of the computerresources in some order of priority forshort periods. They are stopped after acertain time, frequently before completion,to allow other user programs to be giventheir exclusive use of resources. They arecontinued at some future time from thepoint where they were stopped, in eitherthe same memory area or a memory areadifferent from the one they were allocatedwhen first allowed to run.

To be able to continue a program in thisway, the system must have facilities topreserve the status of a program when it is

224 April 1979©BYTE Publications Inc

Circle 370 on inquiry card.

. PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001

§ I

s Programmer's Guides i

I for the PET™

• .

i i

t. TIS I

WORKBOOKS FOR THE COMMODORE PET 2001 •

Getting Started with Your PET WB-1 $4.00 B

Covers the fundamentals of PET BASIC: calculator m

and program mode, data input and output, data §

representation, program storage on the cassette. ■*

PET String and Array Handling WB-2 $3.95 TJ

m

Covers string and substring search, concatenation, H

replacement and manipulation. g

PET Graphics WB-3 $4.95 ^

•

Covers use of cursor control and special graphics -g

symbols to draw plots, histograms, and sketches. fl

PET Cassette I/O WB-4 $4.95 m

Covers OPEN, CLOSE, string and numeric data files. 2

Miscellaneous PET Features WB-5 $3.95 *

Covers the clock, random number generator, upper mand lowercase alphabetic characters, saving memory

space, etc. o

PET Control and Logic WB-6 $3 95 2

Covers IF, GOSUB. logical operations, and ON X. -o

m

H

Add $1.50 for shipping and handling. g

TIS 2

P.O. Box 921 •

Los Alamos, NM 87544 m

Dealer

Inquiries

Invited

t

Q.• PET

Money back guarantee *>oo

We also sell PET Software. Write for details. •

um

H

PET is a trademark of Commodore Business Machines g

8

2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 *

Circle 203 on inquiry card.

ANNOUNCING

THE EDUCATIONAL LANGUAGENOW READY FOR YOUR TRS-80

THIS VERSION FEATURES A BUILT IN EDITOR (THEONLY ONE WITH ONE ON THE MARKET THAT WEKNOW OF) AND COMES WITH THREE SAMPLEPROGRAMS.

THIS IS A PROGRAMMING LANGUAGE SO SIMPLEA YOUNG CHILD CAN USE IT.

ALONG WITH YOUR ORDER YOU WILL RECEIVETHE LATEST LIST OF PILOT PROGRAM PACKAGES.

WHICH SELL FOR $7.95 EA.

AND —YOU WILL BECOME A MEMBER OF THEPILOT USERS GROUP, WITH A NEWSLETTER SENTTO YOU FREE FOR THE NEXT YEAR!

ORDER NOW!!TAPE $14.95

DISK $24.95

(OTHER VERSIONS WILL BE AVAILABLE SOON)

900E SALEM ROAD • DRACUT, MA 01826• PHONE: (617) 682-8131

IMMEDIATEDELIVERY

Domestic & Export

DEC LSI-11COMPONENTS

A full and completeline with softwaresupport available.

mini Computer

Suppliers, inc.

25 CHATHAM ROAD

SUMMIT, NEW JERSEY 07901

SINCE 1973

(201) 277-6150 Telex 13-6476

22 START-AT-HOMECOMPUTER BUSINESSES

in "The Datasearch Guide to Low Capital,Startup Computer Businesses"

CONSULTING • PROGRAMMING • SOFTWARE PACKAGES

• COM • FREELANCE WRITING • SEMINARS • TAPE/DISCCLEANING • FIELD SERVICE • SYSTEMS HOUSES •LEASING • SUPPLIES • PUBLISHING • TIME BROKERS •HARDWARE DISTRIBUTORS • SALES AGENCIES •HEADHUNTING • TEMPORARY SERVICES • USEDCOMPUTERS • FINDER'S FEES • SCRAP COMPONENTS •COMPUTER PRODUCTS AND SERVICES FOR THE HOME.Plus — Loads of ideas on moonlighting,going full-time, image building, revenuebuilding, bidding, contracts, marketing,professionalism, and more. No careerplanning tool like it. Order now. If notcompletely satisfied, return within 30days for full immediate refund.

• 8% x 11 ringbound • 156 pp. • $20.00Phone Orders 901-382-0172 *»f" ""'""

DATASEARCH "

incorporated5694 Shelby Oaks Dr., Suite 105, Dept. B, Memphis, TN 38134

Rush copies of "Low Capital Startup Computer Businesses" at $20

per copy to me right away.

NAME/COMPANYADDRESS

tc« CAmw. sr«n*

CITY/STATE/ZIP _D Check Enclosed

D Bankamericard D Master Charge

Circle 236 on inquiry card.

Circle 93 on inquiry card.

BYTE April 1979 225

state condition

active in a working state.

wait ready to run whenever brought into main memory.

user wait waiting for the user to issue a command.

10 wait temporarily held up waiting to be serviced by 10 device.

file wait temporarily delayed until another user program has finished using

requested program of data file,dormant stopped running and has returned control to supervisory program,

but its machine conditions have been preserved,dead terminated.

Table I: All possible states- that a program may exist in at a particular pointin its execution cycle.

stopped and to restore it when it is resumed.That is to say, at the point in time when oneuser's program is stopped and another user'sprogram is resumed, the instantaneousdescription of the former program must besaved and the description of the latter re-stored. These instantaneous descriptions aretypically referred to as the current "state"of the user program. The state of a programtypically contains such information as thecontents of the accumulators, programcounter, and condition code register. Thestateword might also contain pointers to theaddress mapping tables which determine thecorrespondence between virtual and physicaladdresses.

To explain this process in more detail, itis necessary to examine the factors whichmake multiprogramming possible and tostudy a typical system in operation.

Multiprogramming Requirements

Technically, there are a number of con-siderations which decide whether it ispossible to run programs together. In thebook Computer Timesharing (see refer-ences), Popell specifies a minimum of five:

• A supervisory program referred to asexecutive, monitor, or supervisor.

• An interrupt processing system.

• Memory protection facilities to preventone program from destroying others.

• Dynamic program and data relocat-ability so that the same routine can bereentrant. That is, the routine can beused, unmodified, in different memorylocations at different times.

• Direct access facilities, or at least thefacility for the convenient addressingof peripheral equipment. (For personalcomputers the floppy disk is thetypical example of a direct accessdevice.)

Typically, user programs to be run arestored in auxiliary memory, usually disk,readily accessible so that the supervisoryprogram can switch them into main mem-

ory when their times to operate arrive.Each program is allocated the required areain main memory and that area is protectedby either hardware or software, from inter-ference by other programs. Any instructionattempting to address an area outside theallocated memory block is trapped andprompts an error message.

A system of priorities is usually imple-mented. The supervisory program permitsthe execution of the program with thehighest priority until such time as it issuspended for some reason. Priorities areusually determined by a scheduling algo-rithm which is used by the supervisoryprogram to keep a record of the status ofeach user program. Table 1 lists all thepossible states of a program at a particularpoint in time.

If, by bringing a program into its area inmain memory, there is a storage conflict, theprogram with the lower priority status mustbe restored to its place in auxiliary memory.This process is variously called swapping,switching, push-pull or roll out-roll in.

The most common cause of program sus-pension is a peripheral operation such as 10.But there are others such as a machine orprogram error or the lowering of priorities.Until suspended, however, user programs runfor periods of time determined by thescheduling algorithm. At the end of eachprogram's appropriate time slice (or when itchanges status) the supervisory programdetermines which user program is to be runnext. The state of the program which is tobe suspended (contents of accumulators,index registers, condition code register, etc)will then be saved either in a supervisor'sstack or dumped to auxiliary memory.

The supervisory program then retrievesthe next user program from auxiliary storage,together with that program's old state. Itloads this program into main memory,processes it, restores it, proceeds to the nextuser program and so on, until it returns tothe first user program to give it a secondburst of processing (if required). Then itcontinues the cycle. It can be seen that thequintessential function of the supervisoryprogram in a timesharing system is schedul-ing.

Scheduling

On early machines, programs wereassembled into the part or parts of mainmemory they were to occupy during runtime in much the same way as they are onmicrocomputers today. If a large programrequired too much memory, it was necessaryto assemble the program in sections, trans-ferring each section as it was completed toauxiliary storage and restoring it (if nec-

226

April 1979 © BYTE Publications Inc

Circle 140 on inquiry card.

"BIG-EDIT" FOR BIG APPLE II PROGRAMMERS

• Convert your INTEGER or APPLESOFT BASICprograms to "text" files on disk for easy editing andsubroutine library development!

• Quickly change lines in "text" programs; search andreplace occurrences of strings; merge lines from otherprogram files; restructure programs!

• Renumber your programs - you specify the startingnumber and increment!

• Strip REM's from "execution" versions of yourprograms (improves speed and frees up memory)!

• Create and edit non-program text files (letters,announcements . . . )!

• Prints upper and lower case on line printer, inversevideo on screen!

• Comes complete with System Disk, User's Manualand handy Reference Card!

REQUIRED: APPLE II with Floppy-Disk drive, APPLE-SOFT BASIC in ROM, and 32K minimum RAM (48Kis recommended). "BIG-EDIT" supports optionalprinter.

GARVEY, MARTIN & SAMPSON, INC.210 Bavarian Drive (C)Middletown, Ohio 45042Phone: (513)423-6608

Enclosed is $39.95. Send me "BIG-EDIT" (ASAP!).

Name

Address

City/State/Zip

Circle 327 on inquiry card.

ATTENTION SSB DISC SYSTEM USERS

Run mini FLEX formatted software on your SSB BFD-68System without any hardware changes. Here's how! Obtainthe Mini FLEX Dos from SWTPCo and get Ed Smith's M68FB(Flex Boot) program on a SSB formatted disc. Use M68FB toload FLEX Dos to memory and manually add the patches in-cluded with Flex Boot, and you are up and running in MiniFLEX. Price includes diskette, instructions and a commentedassembly listing. M68FB $25.00

SMITH-BUG

From the same programmer that developed SMARTBUG (a 1 Ksingle 2708 MIKBUG replacement) for Smoke Signal Broad-casting comes an enhanced 2K version that provides a built inmnemonic Disassembler/Trace, plus many new featuresdesigned to aid rapid program development and debugging.SMITHBUG contains an equivalent function for all the SMART-BUG commands except tape had and save. It uses the upper2K memory space from Hex F800 to the FFFF and can be usedstand alone or as an adjunct to your present monitor. ForSWTPCo MP-A2 board users with an ACIA, a SWTBUG com-patible version is available (with instructions on how to use it inan adjunct to SWTBUG if desired). Delivery of either version ona 2716 will depend upon price and availability. Both versionsare presently available on 2708's. A software only package(i.e. manual with assembly listing) may be ordered if you wishto burn your own. Specify present monitor.

SMITHBUG on 2708's $60.00

SMITHBUG manual only ... $30.00

Order direct by check or MC/VISA bank card. Californiaresidents add 6% sales tax. Customers outside of U.S. orCanada, add $5 for air postage and handling.

Dealer inquiries welcome.

M ma SOFTWARE WORKS

P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3350

C/PM SOFTWARE TOOLS

ED-80 TEXT EDITOR

THE PROGRAMMER'S MOST IMPORTANT SOFTWARE TOOL WHY NOT MAKE IT YOUR BEST?

ED-80 encompasses the features found on large mainframe and minicomputer editors,such as the IBM 370, COC 170, UNIVAC 1100, and the DEC PDP-11 series computers,plus additional features designed for floppy disk based operating systems. It is acontext editor which is compatible with C/PM and its derivatives, including IMDOS,DOS-A, CDOS, etc.

Over SO commands are provided, including forward or backward LOCATE, CHANGE,and FIND commands; INSERT, DELETE, REPLACE. APPEND, PRINT, LIST, MACRO,upper and lower CASE, SCALE, TABSET, and WINDOW commands; and GET and PUTcommands for repositioning, duplicating, concatenating, and managing text files andlibraries. Sophisticated search and change techniques are provided for managingBASIC, FORTRAN, COBOL, PL/I, ALGOL, APL, PASCAL, ASSEMBLER. TEXTFORMATTED, and other file types.

The WINDOW command allows instantaneous full screen displays of both the currentand surrounding lines for further editing, and provides for forward and backwardscrolling in the full screen mode. Designed for today's high speed CRT's and videomonitors, the WINDOW command separates ED-80 from all other available editors,and is not hardware dependent.

Up to three MACRO commands may be defined for iterative execution of concatenatededitor commands. Once defined, they may be subsequently executed, or recalled forobservation. A MACRO may also be defined and executed in a single operation.Configurable parameters for tailoring the editor to the user's keyboard and environmentare provided through the use of the C/PM Dynamic Debus Tool (DDT). The WINDOW,WINDOW NEXT, WINDOW PREVIOUS, NEXT LINE, and PREVIOUS LINE commandsfall in this category. These commands are considered so important to text editing thatonly one key has to be depressed to cause any one of them to execute.A CURRENT LINE NUMBER is internally maintained by the editor for displaying whenprompting for input and with certain other commands. Line numbers are dynamicallyadjusted as the result of line inserts and deletes, and may be used for positioning withinthe file. They are not stored or associated with the text in any manner.ED-80 is thoroughly documented with a User's Manual of over 35 pages describing eachcommand and feature, and includes numerous examples. It is 9.5K bytes in size, and aminimum C/PM operating system of 20K is recommended. A User's Manual and standardsize single density diskette are $69.00. A User's Manual is $7.50, refundable withpurchase. COD and money orders shipped next day. COD orders require 10% deposit.Personal checks must clear before shipment. Include $2.00 shipping/handling per order.

SOFTWARE DEVELOPMENT AND TRAINING, INC.P. O. Box 4511 — Huntsvilte, Alabama 35802

C/PM® is a trademark of Digital Research

1

North Star * Disk Owners

THE most COST-EFFECTIVE machine

LANGUAGE DEVELOPMENT SYSTEMS AVAILABLE

THE XL-80B0 & XL-Z80 SYSTEMS

EDITOR ** Create & modify source listings using 15 powerfulcommands. Provides string search/replacement, auto-linenumbering, multi-disk file storage, automatic memorymanagement, built-in tab, printer listings and much more. Also, aNorth Star-cornpatable line editor provides rapid line editcapability.

ASSEMBLER ** Processes source listings directly from diskand optionally stores binary code in memory or on disk. Featuresmulti-disk/file processing, multi-length labels, symbol tablelisting, console or printer output, etc. Allows any size program(source or code) to be processed!

DISASSEMBLER ** Processes an object file on disk andproduces source tile listings both on a second disk file and on theconsole or printer.

"MAXIMIZES DISK CAPABILITY

"USES EXISTING DOS USER I/O ROUTINES

"REQUIRES LESS THAN 16K MEMORY TO OPERATE

XL-8080 SYSTEM w.'complete documentation $39 95

XL-Z80 SYSTEM (same as above but processes

Z80 Zilog-format files $59.95

XL-ZP/M SYSTEM (Z80 Assembler for CP/M) $59.95

Available at your local computer store or by sending check or money order to;

XLC

imp Mesa, AZ 85202

Dealer inquiries welcome

Circle 398 on inquiry card.

BYTE April! 979 227

OMSI .PASCAL

Reliable, efficient, production Pascal compilerfor the DEC PDP-II family including the LSI-11.

Full Language

M elements of Standard Pascal, including the capabilitiesnot found in student Pascals. Extensions for complete low-level control with direct memory and I/O device access,embedded assembler code, FORTRAN procedure interface.

Production

Integrated with DEC operating systems (RSTS/E, RT11, RSX, IAS).Compatible with existing file structures, editors, and utilities.Interactive symbolic Debugger with breakpoints and full trace.

Performance

Fast one-pass compiler runs in 16K words |32KB), translatesthousands of lines per minute. Produces compact PDP-I I codethat runs circles around interpretive or threaded languages.

Proof

In production use since 1975 — now at more than300 customer sites. Warranted for 1 year after purchase.

Write for information, demonstration, manuals, and benchmark.

2340 SW Canyon RoadPortland, Oregon 97201(503) 226-7760TWX 910-464-4779

minicomputer

^cUF© inc.

DEC, PDP, RSTS, RT-11. RSX, IAS, and LSI-11 are trademarks of Digital Eq. Corp.

Improve your game with

>>>FnsTGnmmon>>>

An exciting new backgammon opponent!

>>>FnsTcnmmon>>>

ON THE TRS-80

You PlayX's

ComputerPlays O's

OUTSTANDING FEATURES! — Computer makes good movesinstantaneously. Literal and graphic displays of each move.Option to replay same rolls. Eight-page instruction manual.

Available on cassette (S20) for:

TRS-80 (level II)*APPLE II*SOL*

Available on diskette ($25) for:TRS-80*APPLE II**

•16K RAM required "24K RAM required

COMPAL-80*P0LY-88*

COMPAL-80***SOL/NORTH STAR"

■"Micropohs dual density

SEE IT NOW AT YOUR LOCAL COMPUTER DEALER

OR ORDER DIRECT FROM

Quality Software

10051 Odessa Avenue, Sepulveda, CA 91343

(California residents add 6% sales tax)

essary in overlays) immediately prior toentry. For this purpose, a suitable portionof memory was reserved for the segment ofthe program being assembled, and for eachinstruction two separate addresses had to berecorded: one giving the address of the cur-rent instruction and the other indicating theaddress it would occupy at run time. Withelaborations, this technique became thebasis of early timesharing systems.

Basic to the running of these earlysystems was the concept of independentperipheral operation. The processor, havinginitiated an IO routine for one program,could then proceed to service the computa-tional needs of other programs until the IOroutine signaled its completion by interrupt-ing the processor operation. For variousreasons, these timesharing arrangementsdid not fully utilize even the relatively slowstorage access time on some computers. Themultiprogramming concept was developedfully to realize this potential. The logic wasincontrovertible: if the machine had sparememory and spare peripherals, these couldhave been utilized by a second program. Ifthis still left unused capacity, why not loada third program to use the peripherals andaccess time not required by the first andsecond programs; and so on.

Tsujigado showed that it was theoreticallypossible to process simultaneously a largenumber of programs (256) in the conver-sational mode. Although theoretically pos-sible, this would be impractical even nowon large computers because of the largememory requirements. In consequence, itis necessary to resort to swapping tech-niques, and a suitable scheduling algorithm.

The swapping techniques adopted ini-tially depended upon the hardware design(the control mechanisms varied widelybetween manufacturers and betweenmodels). Some hardware is still required foreffective control of the process, but thesoftware usually provides the necessary con-trol procedures. In "Computer Software"(see references) Archibald et al specify thenecessary software features. They include:

• A means of reserving memory andperipherals for exclusive use byindividual programs for predeterminedperiods of time.

• A means of switching from one pro-gram to another to optimize computerperformance.

• Facilities to relocate programs dynam-ically during execution as the overallpattern of programs in the computerchanges.

The effect of these routines is to providemultiprogramming facilities which enable

228

April 1979 ©BYTE Publications Inc

Circle 310 on inquiry card.

Circle 82 on inquiry card.

many users to initiate programs and toschedule them through the system accord-ing to their relative predetermined priorities.

The simplest system is based on a circularqueue for "round robin" scheduling. Eachprogram accepted into the system is assigneda fixed time slice and processor operation isswitched from one program to another inround robin fashion until each program iscompleted. In this arrangement, only oneactive user program is in main memory atone time. Other active programs are held ondisk.

In other systems several user programsmay reside in main memory simultaneously.The operational switching between them iscontrolled by a clock which is used togenerate an interrupt to signal the processorthat a certain time period has elapsed. Thescheduling algorithm is then entered everytime a clock interrupt occurs. If it is foundthat the program in main memory has ex-hausted its time slice or has changed itsstatus, that program is swapped for the nextprogram in the queue.

Most sophisticated installations of anysize find the need to operate a system ofqueues. The appropriate queue to be servicedby the processor at any particular time willbe selected according to priority and pro-gram type by the scheduling algorithm.Programs are initiated, or released forprocessing by being selected from the topsof the various queues which are formed inaccordance with the particular installation'sdesign philosophy. In addition to systems ofqueues, the supervisory program normallyhas to deal with systems of priorities. Again,what determines these priorities will be amatter of design philosophy. Various criteriaare used in practice. Usually it is possible forthe system itself to cause priorities to bemodified while programs are being queued.Such modifications are especially desirablein real time systems because one programmight be continually bypassed; or because adeadline is approaching and the programconcerned is not being serviced.

From time to time it may be that a pro-gram being queued will have to take prece-dence over a program being serviced. Down-grading of priorities happens often inscheduling systems. To facilitate this, someoperating systems provide a roll in-roll outfacility which enables the supervisory pro-gram to make a request for processing timeon behalf of a higher priority program in thequeue. This will result in a lower priorityprogram being rolled out to enable the newprogram to be processed. Programs rolledout in this way are written into temporarystorage along with their current status. Whenchanging circumstances permit the reloading

'7

Ij

■ r::; rue r i GM 1 f.:F/.a

SYS li-n:-PRESENTS:

1 i;un * rous mll. * ,",t--

■ / -- /.-.- - > O" r^i ~r £S

141^. CV *

/ »rv 1 W»Qf... l__

The world's onlysingle*chipLSI UniversalPrinter Controller is here!

The very low-cost 40-pln CY-480

printer with print speeds up to 200 cps! The

Controller from Cybernetic Micro Systems is the first—and only—40-pin LSI

device which will control and interface any standard 5" x 7" dot matrix printer

(including those from Victor, LRC, Practical Automation and Amperex) having a

print speed up to 200 cps. It operates from a single +5V power supply and will

interface a printer with any microcomputer or minicomputer system through

standard 8-bit ports. The CY-480 accepts either serial (RS232C) or parallel ASCII

input from the host system's data channel.

The CY-480 replaces bulky, expensive dedicated controllers. The small, singleLSI package offers a 5 x 7 dot matrix character generator, full upper and lowercase ASCII 96-character font, and a 48-character (expandable by daisy-chaining)internal line buffer storage. Standard are a 10, 12 or 16 characters/inch variablecharacter density command, 2-color selectable print command, forward/backwardprinting command, and horizontal and vertical independently expanded printcommand. The CY-480 provides graphics capability and includes a "flip-print"operating mode for 180° viewing. Ready lines provide full asynchronouscommunications with handshaking.

Low price! $35 a single unit!

CYBERNETIC MICRO SYSTEMS

2378- B Walsh Ave. • Santa Clara, Calif. 9S050

Phone (408) 249-9255

The experienced 21144K static RAM

From EMM — the industry's largest supplierof 4K static RAMs — a 2114 with a year anda half of delivery behind it. Not a new part.Just a new pin-out of a proven part. 1K x 4organization. 5V only. Standard 18-pin DIP.It draws only 300 mw, has all the speed youneed for microprocessor applications.

SEMI,INC.

A division of Electronic Memories & Magnetics Corporation3883 North 28th Avenue, Phoenix, Arizona 85017 (602)263-0202

Circle 131 on inquiry card.

April 1979 © BYTE Publications Inc 229

NEW! for the PE1

HIGH RESOLUTION GRAPHICS!

TM "I

Now there is a complete Software Package and a simple, low cost Logic Circuit thatgives the PET 2001 HIGH RESOLUTION GRAPHICS. It can plot 3-D images, pict-ures, fancy graphs,maps-almost anything! Points are plotted on a high resolutionmatrix of 236h.x191v. Graphic displays can be stored on tape cassettes.

Do it yourself with the Graphics Hardware Manual from Conley Graphics. Completehardware information, diagrams, and easy to understand explanations allow you tobuild your own Logic Circuit for the affordable price of ONLY $15. Parts are readilyavailable from popular electronics stores. Now, high resolution graphics opens upa world of new uses for the PET!

Complete Software Package and Graphics Hardware Manual $19.95

MaHOrCerTo: CONLGY GRAPHICS

211 Purdue Avenue, Kensington, CA. 94708

Calif, residents add 6V. Sales Tax PET is a trademark of Commodore Business Mach.

Main/Frames m$200

Main/Frames :$200

- 14 Basic Models Available

Assembled & TestedPower Supply:8v@15A, ±16v@3A

• 15 Slot Motherboard(connectors optional)

• Card cage & guides

• Fan, line cord, fuse, power& reset switches, EMI filter

• 8v@30A, ±16v@10Aoption on some models

Rack

mounted

from $200

Desk topfrom $235

Write or call for ourbrochure which includes our

application note:'Building Cheap Computers'

INTEGR4ND

8474 Ave. 296• Visalia, CA 93277• (209) 733-9288We accept BankAmericard/Visa and MasterCharge

of programs temporarily suspended, thesupervisory program will automatically rollin these programs and they will restartfrom where they left off.

It may be that the exact locations inmemory which such programs and their datawere using are no longer available. To dealwith this situation, operating systemsprovide the facility to relocate programsdynamically.

Scheduling Methods

To summarize the discussion so far, thereare basically two methods of scheduling:

• Simple swapping systems with onlyone program at a time residing in maipmemory for a fixed unit of time inaccordance with a system of priorities.

• Elaborate systems which overcome thedisadvantage of only one user programin main memory at a time with con-sequent waste of time due to switching.

This necessity of switching programs intoand out of main memory at speeds approach-ing the internal clock rate leads to furtherproblems which can only be solved withadditional hardware and software facilities.In particular, since a given user programdoes not always get loaded into the sameplace in memory it leads to addressingproblems.

Addressing Techniques

In most systems, individual programmerswill have to write their programs withoutknowing which other programs, if any, willshare main memory with theirs. The implica-tion must be that they will need to usesymbolic addresses that will be convertedto absolute addresses at some time by thesupervisory program when allocating memoryspace and peripherals to the various pro-grams. This necessity has led to the presenttimesharing philosophy which requires theconceptual separation of absolute storageaddresses from the logical system addresses.

In a multiprogramming system, resourcesare not normally allocated to programs untilexecution time. Since the physical resourcesallocated may be different during each timeslice, it is essential that the run time repre-sentation of programs should be in hardwareindependent form. This means that theaddresses in particular should be virtualaddresses. Physical addresses will be repre-sented by an address mapping table whichwill be updated whenever programs aremoved from main memory to temporarystorage and vice versa.

As Wegner points out, the structure ofthe address mapping table will depend not

230 April 1979 © BYTE Publications Inc

Circle 1 79 on inquiry card.

Circle 102 on inquiry card.

only on the relation between the virtualaddress space and the physical addressspace, but also upon the hardware facilitiesavailable for performing address mapping.For example, in "Addressing Structures"(see references) Gammage recalls that theneed for dynamic program relocation wasmet on second generation machines by theprovision of a single base register, thecontents of which were added to a virtualaddress generated within the program tomap it into an actual main storage address.

The major drawback here was that theprogram had to be moved between mainstorage and temporary storage as a singleunit (a wasteful process where large pro-grams are involved). It also meant that noprogram could be larger than the availablemain memory space.

To overcome these problems, moreelaborate addressing structures were devised.These structures reflected the hierarchicalorganization of problem oriented programsand the need in real time systems to pro-vide for the organization of sets of inde-pendent, multiprogrammed jobs. To givethe facility of dynamic program relocation,for example, some machines were fitted withspecial hardware. IBM built upon the address-ing system of the IBM 360, which allowedonly two levels of addressing, and provided athird level. They did this by providing twosets of additional base registers, one set toact in the same way as the base registers ofthe IBM 360 (being accessible to the pro-grammer). The other set, sometimes knownas segment registers, accessible only to thesupervisory program, are used in allocatingstorage.

Gammage outlines three such schemes,but suggests that because these schemes usevariable length segments as the basic unit forstorage swapping, they are very inefficient interms of storage utilization. Their ineffi-ciencies cannot be overcome completelyunless a full paging system is employed,using fixed length units for swapping.

Paging

Most modern machines provide somekind of virtual memory structure if they areto be used for multiprogramming. Thisaddressing space may be provided by hard-ware or created interpretively by software.Most modern systems also interpose anaddress mapping structure between virtualand physical addresses.

Typically, the virtual address of a word inmemory consists of two parts. The firstrefers to a page number (a fixed size blockof main memory). The second refers to alocation within the block. In operation,secondary memory is connected to these

What's happened to"the right tobe let alone?''

Brandeis called it "the rightmost valued by civilized menIn today's computer age, it israpidly disappearing. Cover-ing all the technological andlegal aspects of theprohlem, the editorof Privacy Journalhas now written

"one of the most helpfulbooks I have read this year—a book you cannot readwithout discovering howendangered is your right to belet alone and whatyou can do to shoreit up."-BillMovers.

PRivncv

HOWTO PROTECT WHAT'S LEFT OF FTROBERT ELLIS SMITH

$10.00 at all booksellersI ANCHOR PRESS/DOUBLEDAY

HARD DISCFOR S100 MICROS

The XCOMP DCF-10 Disc Controller pro-vides the OEM with a high performance,low.cost interfaceforfixed and removable(2315 or 5440) cartridge disc drives. TheDCF-10 is currently supported by twooperating systems. For information ormanuals, contact XCOMP.

XCOMP

INCORPORATED

9915-A Businesspark Ave., San Diego, CA 92131 • (714) 271-8730Circle 397 On inquiry card. April 1979 ©BYTE Publications Inc 231

Circle 233 on inquiry card.

FREE Catalog

Your source of 4-way relief

from problems with minicomputer

supplies and accessories:

1. One-stop shopping

Minicomputer Accessoriesfree catalog has over 800products. Magnetic media.Racks. Line-printer paperComputer-room furniture.Cables and connectors...both standard and custom-built Buy any quantityyou need when you need it.

2. Hassle-free orderingMinicomputer Accessorieslets you order by mail orphone. Keep the catalogclose II makes once-toughtasks like ordering mediaeasy, fast and foolproof.

3. Lightning-fast shipment

Minicomputer Accessories ships your order within 24 hoursfrom distribution centers in California and New Jersey.Our shelves are always loaded with emergency items soyours don't have to be. Need your order faster than 3 to 4days? We'll arrange for services to get it there next day.

4. Field-proven quality

Minicomputer Accessories demands stringent testing and starperformance before any product is included in our catalog.Thai's why we have the confidence to guarantee every productfor at least 45 days...and some for up to 10 full years

Send for your FREE CATALOG.It's your problem-solver fromMinicomputer Accessories Corporation.

130 S. Wolfe Rd. P.O. Box 9004 Sunnyvale. CA 94086 (408) 737-8700

Minicomputerf

Accessories L_.

Announcing . . .

SMALL BUSINESS COMPUTERS Magazine

The magazine for users and potential users ofsmall business computer products and services

• The monthly magazine for businessmen in the process of purchasing or installing their first com-puters

• The practical how to publication written in non technical language and stressing business applicalions for small computer systems Each monthly issue includes:

FEATURE SURVEY REPORTS: Such as. Software Packages /or Small Business Applications.Small Manufacturing Svsrems. Inventory Control Systems. Microcomputer Business App/iacMons,and so on

APPLICATION STORIES: Real life examples of computer applications in the small business envtronment — capabilities, benefits, what to watch for, and much more of direct interest to the smallbusinessman

COMPUTER PROFILES • IDEAS AND INNOVATIONS • INFORMATIVE ADS

SPECIAL CHARTER SUBSCRIPTION12 issues @ 50% off

Receive the next 12 issues of Small BusinessComputer Magazine for just $9 SO/t.off thecover price

Mail the coupon today to: SMALL BUSINESS COMPUTERS Magazine

33 Watchung Plaza • Montclair, NJ 07042

SMALL BUSINESS COMPUTERS Magazine • 33 Watchung Plaza • Montclair. NJ 07042□ YES. Enter my charter subscription at the '.. price cost of $9 for 12 monthly issues□ Check enclosed D Bill me

Name

Organization

Address

City/State _

.Zip_

blocks through high speed 10 devices thatpermit programs to be swapped directlyfrom disk into any one of the main memoryblocks without interfering with processoroperation. This process is known as directmemory access and allows execution of oneuser program in one block of memory whileprograms are being swapped to and fromanother block.

Main memory is similarly divided intophysical pages, each capable of handling onepage of a program or block of data. Pro-gram pages, although the same size as mainmemory pages, will not necessarily becontiguous in main memory and may welloccupy different main memory pages atdifferent times. One of the functions of thesupervisory program in a paging environ-ment is to form and keep up to date a pagetable which establishes a mapping of theprogram and data pages into physical pages.By this means, the address of a page withina program is transformed via the page tableinto an absolute memory location.

In practice, to achieve dynamic reloca-tion, it is necessary to extend the instructionaddress to include a segment number as wellas a page and location number and to leavethe binding of address parameters until runtime. The segment number is then used toaccess a segment table belonging to the userwhose program is running at that instant.The reference in the segment table is to thepage table which in turn maps onto thephysical page and through this to the phys-ical address.

This scheme can be very clumsy and taketoo long, unless the machine is fitted withadditional registers which permit the develop-ment of an associative memory. The associa-tive memory combines the segment and pagenumbers, so that only one interrogation isrequired to find the number of the physicalpage containing the appropriate address.Systems in which page registers are designedto be accessed associatively operate variouspage turning algorithms which determine:

• Whether certain pages are in memory.

• Whether pages are to be preserved oroverlaid.

• How recently pages have been used sothat, if need be, they can be disposedof when new pages are brought intomemory.

These systems are the basis of the virtualmemory concept which in turn provides themeans for dynamic relocation.

Dynamic Relocation

Let us spell out the need for dynamic re-location in a timesharing system. In general,a program consists of instructions and data.

232 April 1979 e BYTE Publications Inc

Circle 333 on inquiry card.

Circle 70 on inquiry card.

While being executed it will contain refer-ences to intermediate results. These willneed to be mapped or translated into refer-ences to specific parts of the machine(machine addresses, device numbers, etc).This can be accomplished at three differenttimes:

• During compilation, assembly, ortranslation into machine code. Theresult is an absolute program whichwill be assigned to the same memorylocations and use the same peripheralseach time it is run, assuming they areavailable. (This is the most commonscheme for user programs in typicalpersonal computers.)

• When the program is loaded. Mostmachines have a relocating loaderwhich enables programs to be re-located statically.

• During execution, using dynamicrelocation.

In multiprogramming it is difficult, if notimpossible, to allocate memory concurrentlyto two or more independently written pro-grams if they are absolute programs. Theallocation method requires that the particularcombination of programs to be run at anyone time and their storage requirements areknown in advance. This is information thatis not always available when the programsare written.

If the absolute addresses are left un-translated by the assembler or compiler andtranslated by a relocating loader into actualaddresses only when the program is loadedfor execution, the particular combination ofprograms to be loaded together can bedecided just prior to loading. This method isknown as static relocation. Using static re-location it is possible, with a relocatingloader, to allocate memory to a program eacntime it is executed, provided:

• The program can be separated into adata part and a procedure part.

• The procedure part is never modifiedduring execution.

• The data part, including the contentsof registers at the time of interrupt,contains no absolute memory addresses.

• When the program is interrupted, thedata part is dumped onto auxiliarystorage.

These four conditions are not difficult toachieve. Nevertheless, the relocation of aninterrupted program by this method has anumber of significant drawbacks, which aresummarized by Denning in his article"Virtual Memory" (see references).

In dynamic relocation, the translation ofvirtual addresses to main memory addresses

NOW! SAVE UP TO 25°lo

ON 3M FLOPPY DISKETTES

For Professional Data Processing

Results Specify -

"SCOTCH" 3M Floppy Diskettes

• SPECIAL

• SPECIAL

ITEM CODE

DESCRIPTION

PRICE

PRICE EACH

BOX OF 10

3M-740-0

8" Solt-seclored IBM lormatfor IBM. IMSAl. Cromemco

$6.50

$5.50

$49.00

3 M- 740-32

8" 32-sectors, hard sectoredfor Shugart. Teklronics.Processor Tech

S6.80

S5.80

S51.00

3M-744-0

5" Soft-Sectored IBM lormatlor Apple. TRS-80. IMSAl.Cromemco, SWTPC. Compu-color. Intelligent Systems

$6.50

$5.50

$49.00

3M-744-10

5" 10-sectors, hard sectoredfor NorthStar. Wang

$6.50

S5.50

S49.00

3M-744-16

5" 16-seclors. hard sectoredlor Micropohs. Altaif, PCC

$6.50

S5.50

S49.00

"To quality tor these SPECIAL prices, paymenl must accompany order, or call with credit card.Prices arc F OB. our warehouse. Add $1.50 shipping & handling per each 10 (or less) diskettesN.Y. state residents add appropriate sales tax.

Shipments will be made from slock.

Order today Irom your authorized dealer for 3MCompany "SCOTCH" brand 740 diskettes.

Call {315> 637-6208 or Send order to:

computer

emerpri/er

i. Box 71 • Fayetteville. N.Y. 13066

16K STATIC RAM

Kit price$285 450 nsec$320 250 nsecMemory Chips

Add $25 for assembled, tested, Guaranteed.

Static TMS 4044- Fully Static 4Kx1 Memory chips for better dataintegrity and DMA compatibility.

Fully S-100 Bus Compatible-All lines fully buffered. Dip SwitchAddressable in two 8K blocks, 4K increments. Write Protect-able in 2 blocks. Memory Disable using Phantom (pin 67) orstrappable to any other pin.

Bank Select-Using Output port 40H (Cromemco software compati-ble)-addressable to 51 2KB of RAM or for time share. Also hasalternate port 80H-making over 1 million byte of RAM available.

Quality Components-First quality parts, fully socketed. Glassepoxy board with silk screened legends, solder masks. GoldContacts.

Guaranteed-parts and labor for 90 days. You may return theundamaged board within 1 0 days for a full refund. Foreign andkit purchasers-parts only guaranteed; no return privilege.

Orders- You may phone for Visa, MC, COD orders. ($4 handlingcharge for COD orders only) Personal checks must clear prior toshipping. Shipping-Stock to 72 hours normally. Will notifyexpected shipping date for delays beyond this. Illinois resi-dents add 5% tax. Please include phone number with order.

S.C. digital

P.O. Box 906 Phone:

Aurora, IL 60507 312-897-7749

Circle 331 on inquiry card.

April 1979 ©> BYTE Publicalions Inc 233

Circle 204 on inquiry card.

ullMfces

YOUR

North Star * ComputersPROGRAMMING SPECIALISTS!

You can look to us for innovative and imaginative programs** Intertec Intertubes now available **

Thinker Toys 8" Disk Drivesfor North Star Computers *995°°Additional Drives '795°°

Many different and diversifiedcomputers systems available. Allinclude full access to ProgramLibrary. Systems start at •4,995°°

DOSCHG

Patches to connectThinker Toys 8"Disk Drives to NorthStar DOS & Basic.Fully supports allNorth Star Functionson 8" disk.

*49.95

CSUB

A set of Functionsdefined in NorthStar Basic thathandle all disc ac-cessing (Sequential,Random, & KeyedAccess) and all CRTdisplay, format-ting it Input. ASUPERB APPLI-CATION PROGRAMDEVELOPMENTPACKAGE.

'49.95

TIMESHARE

Patches to NorthStar DOS & BASICthat take advantageof the versatility ofthe Horizon com-puter to implementan interrupt drivenbank-switching timesharing system.Requires additionalmemory & terminals.

*49.95

Micro Mike's

905 Buchanan, Amarillo, Texas 79101806-372-3633

If you need Business Reports with fancyfrills you have the wrong company. Wedon't put these in our Software or our Ads.Both cost *** You *** Money.

But if you need solid, Down-To-EarthSoftware for your North Star, Imsai, orother low cost Data Processing Systemwritten in Microsoft Basic or Cbasic in-cluding GL, AR, AP, Inventory, Payroll,Mailing List and Fixed Asset Accountingthen you *** Do *** have the rightcompany.

GIVE US A TRY - WE KNOW YOU'LL BE GLAD YOU DID

We honor Visa and Mastercharge

102 Avenida Dela Estrella

Suite 208

San Clemente, CA 92672

(714) 492-7633

is delayed until the last possible moment(until access to memory is required in runningthe program). Because the program containsno absolute addresses, it is independent ofthe actual memory allocation it receives.This means that it can be interrupted at anytime and subsequently reloaded into a dif-ferent part of memory without modification.This desirable facility can only be achievedat the expense of additional hardware andmore complex instruction formats. This isdesirable since instructions in general mustnow hold untranslated addresses in a formappropriate to the relocation techniqueadopted.

There is also the related problem ofstorage protection (the need to prevent userprograms from interfering with each otherwhile being processed). The usual solutionto this problem is to allow them to operatein well defined areas of memory only (un-restricted access to all parts of memorybeing reserved for the supervisory programonly). Frequently the technique used toachieve dynamic relocation can also be usedto effect storage protection.

Conclusion

Many programs running concurrently in amultiprogramming environment typicallyrequire far larger total memory space thanis available in a particular system. The virtualmemory concept and dynamic relocationtechniques outlined here have solved manyof the problems of managing and optimizingthe use of large, hierarchical memories.These techniques are often seen in largecomputer systems and can be adapted (inprinciple) for use in microcomputer time-sharing systems."

REFERENCES

1. Archibald, HIA, et al, "Computer Software,"Journal of the Institute of AdministrativeManagement, England, 1966.

2. Coffman, EG Jr, and Kleinrock, L, "ComputerScheduling Methods and their Countermea-sures," volume 32, AFIPS, SJCC, 1968.

3. Denning, PJ, "Virtual Memory," ComputingSurveys, volume 2, number 3, Sept 1970.

4. Dennis, JB, "Segmentation and the Design ofMulti-programmed Computer Systems," IEEEInternational Convention Record, Part 3, 1965.

5. Dennis, JB, and Glaser, EL, "The Structure ofOn-line Information Processing Systems,"Information System Sciences: Proc of 2ndCongress, Walker, DW, ed, 1965.

6. Gammage, ND, "Addressing Structures," Jour-nal of British Computer Manufacturers, 1966.

7. Popell, SD, ed. Computer Timesharing, Pren-tice-Hall, Englewood Cliffs NJ, 1966.

8. Tsujigado, M, "Multi-programming, Swappingand Program Residence Priority in the FACOM230-60," AFIPS, SJCC, volume 32, 1968.

9. Wegner, P, "Machine Organization for Multi-programming," Proc—ACM National Meeting,1967.

234 April 1979© BYTE Publications Inc

Circle 1 on inquiry card.

Circle 31 on inquiry card.

Circle 95 on inquiry card.

BUSINESS APPLICATION SOFTWARE

ACCOUNTS PAYABLE

ACCOUNTS RECEIVABLE

GENERAL LEDGER

' . COMPATIBLE MODULES

A/R

: CUSTOMER STATEMENTS | f

* . ALSO INDEPENDENTLY INSTALLABLE

AGEING &

TRIAL BALANCE M \

* . PROGRAMS IN EACH MODULE ALLOW:

SALES/ C/R JOURNALS

All Fila MainlBmnCD

A/P

CHECK WR

TING 1

Uliiiiv Filo Luting

AGEING &

TRIAL. BALANCE 1

Individual Account Inquiries

ACCT. # V

;RIFICATION

Original Journal!

G/L

DETAIL HISTORY INQUIRY

Automatic Matter File updating

TRIAL BALANCL

Past Accurate Keyboard input

P&L Si BALANCE SHEET

BUSINESS APPLICATION SOFTWARE

Divi

ion of ELP Developmem Co., Inc.

1675E

Lltt

ofield Lane. Lc

s Gatos, CA 95030

ITEM A/R

A/P

G/L |'

Svnem Manual S 8.00 '

$si oo n

S 19.00 1

Program Lutings 58 00 '■

51.00 "

iGo.oo n

Programs on Disk' 89 00 !

81.00 n

250 00 1 1

AR, AP, GL on disk with manual $390.00 COD o

ders accepted

Immediate shipment upon receipt of certified check o

money order

•CP/M CBASIC Compatible source & Object

code

Single <~l

or Dual Density n 1

M4«F

Citv

QratB

<np 1

CP/

TM

LOW-COST

MICROCOMPUTER

SOFTWARE

CP/M™ OPERATING SYSTEM:

• Includes Editor, Assembler, Debuggerand Utilities.

• For 8080, Z80, or Intel MDS.

• For IBM-compatible floppy discs.

• S100-Diskette and Documentation.

• $25-Documentation (Set of 6 manuals) only.MAC™ MACRO ASSEMBLER:

• Compatible with new Intel macro standard.

• Complete guide to macro applications.

• S90-Diskette and Manual.

SID™ SYMBOLIC DEBUGGER:

• Symbolic memory reference.

• Built-in assembler/disassembler.

• S75-Diskette and Manual.

TEX™ TEXT FORMATTER:

• Powerful text formatting capabilities.

• Text prepared using CP/M Editor.

• $75 Diskette and Manual.

(1 DJEJTflL RESEARCH

P.O. Box 579 • Pacific Grove, California 939501408) 649-3896

6800 SOFTWARE

FOR: EXORcisof. SWTP/FLEX', Smoke Signal. MSI, EPA, Wavemate, CincinnatiMiiacron, Conrac 480, Mizar Labs, and more.

• 10 Digits BCD

• Formatted Outpul

• Slung Manipulation

BUSINESS BASIC COMPILER

• Disk File I/O

• Frror Trapping Under

Program Control

• Long Variable Names

SDOS - SD'S OPERATING SYSTEM ■

($210)

• M ■ Then - Else

• Fast Execution

• SDOS Compatible

• Files to 2 15 Bilhon Bytes

• Dynamic Allocation and Expansionot Files

• Random and Sequential Access

• Suppons Floppies andLarge Drives Simultaneously

• Long File Names

6800 ASSEMBLER

($220)

• Easily Interlaced to New Drivesand Peripherals

• Simple Command Interface

• Command Files

• Extensive Error Reporting

• Interrupl-Dnven

MAL-

• Long Labels

• Conditional Assembly

• Sorted Symbol Table Dump

• Extended Arithmetic Operations

• Moloroia ComDatibie

• Error Cross Reference

• SDOS Compatible

EDIT • CONTEXT EDITOR

($140)

($110)

• Change. Delete. Replace Tex< •with Automatic Display of Change •

• Single Keystroke Display Next Line'

Powerful Macro Facilities

More Useful lhan Motorola's

Editor

SDOS Comoaiible

IDB • INTERPRETIVE DEBUGGER

($ 70)

• Single Step with Register Display •

• 4 Reainme Condiliona! Breakpoints •

• Several Display Modes •

MIKBUG Compatible

Much More Uselul than MIKBUG

Requires 3K ROM. no special

hardware

EXORcisor is a trademark ol Moloroia Inc FLEX is a irademark of Technical Syslems

Consultant

•Not available for SWTP and Smoke Signal

SOFTWARE DYNAMICS

211 l W Crescent Suite GAnaheim. CA 92801(714)635-4760

READY-TO-RUN SOFTWARE

FOR YOUR NORTH STAR COMPUTER

NEW! LANGUAGE TRANSLATOR PKG. $60.00

ENGLISH TO JAPANESE - Teaches rudimentaryconversational Japanese - easy to use, easy to learn.

TUTORIAL III $40.00

Release version 4, covers many new commands pluscustomizing program for BASIC.

INTEGRATED BUSINESS SYSTEM $175.00

Designed for dual floppy drive system - contains A/P;A/R; Pay; Gen. Ledger; Letter Generator; Bus Stat;Inventory; Sales/Sales Analysis.

MEDICAL/PROFESSIONAL BILLING $35.00

Doctors, Lawyers and Dentists - use this to issuestatements, track receivables, age accounts, etc.

MAILING LABEL PROGRAM $35.00

Lots of help for your direct mail program. Add, delete,maintain mailing list and print labels.

ALL SOFTWARE PACKAGES ARE WRITTEN IN BASIC ONDISKETTE ONLY

Send for Free Catalog

Packages containing Program Listings only are available.

QTJ

(714) 774-1270

i m AJA SOFTWARE

P.O. Box 2528 • Orange, CA 92669

Circle 325 on inquiry card.

Circle 3 on inquiry card.

BYTE April 1979 235

A Binary Guessing Game

Mark ZimmermannMJ House, Caltech 1-87Pasadena CA 91126

Calculator Pattern Recognition

James Blodgett45 Southern BlvdAlbany NY 12209

Humans and animals do not as a rule be-have at random: instinct and past experienceplay too important a role. In the computer,a good pseudorandom string of digits isn'thard to produce, but to get genuinely un-predictable output is tremendously difficult.

This article introduces pattern recog-nition and gives a sample program thatrecognizes patterns with better than randomaccuracy. The program is in game format toadd to the fun, but it can be easily adaptedto other purposes.

We will look only at binary patterns (ie:sequences of 0s and Is). This is not a limita-tion, since any string of symbols can beencoded into a corresponding binary se-quence using a suitable conversion code suchas ASCII, and, of course, neurons and flipflops are binary devices. (One could encodethe text of this article up to this point inbinary, and attempt to predict the rest ofwhat we are going to say; if you want totry, good luck!)

Consider the string:

10 10 110 1

What is the next digit?

There is no correct answer, and in fact,there is no "best" answer. A lot depends onwhat kind of system generated the string.[Recent mathematical work has shown that,in general, there can be no "best" elementfollowing a given string of elements; thatindeed any element can be shown to be thecorrect successor to any given string . . . CM ]If the string were generated by an algorithmwith almost no "memory" of the immediatepast, but with a possible bias toward 0or 1 (such as a roulette wheel), a goodstrategy would be to note the majorityof 1s appearing and to bet on 1 in thefuture, regardless of what the last digit was.On the other hand, a human producing apattern may tend to repeat sequencesmade in the past, even if an attempt ismade to avoid them.

It is useful to define the term "depth"

at this point to mean the longest recentsequence of digits that a program will con-sider. The basic pattern recognition al-gorithm we have developed simply looksat the last few digits in a string, checks to seewhat choice followed that sequence pre-viously, and guesses that the same choicewill follow this time.

As a specific example, consider the abovebinary string. A depth 0 algorithm does notlook back at all; it has no memory. It simplyguesses that the next digit will be the sameas the present one (a 1 in the previousexample). A depth 1 program checks back tothe previous time that a 1 occurred (thesixth digit in our example), and, since it isfollowed by a 0, makes the prediction 0.A depth 2 routine searches for the previousoccurrence of 01, and a depth 3 for 101.

The program listed in this article per-forms the procedure described aboveprecisely, to depth 3. (Special circumstanceswhich require further processing are dis-cussed below.) All this is not difficult whenyou have plenty of program and memoryspace. Implementing it on the HP-25 calcu-lator requires considerable economization,though. If readers with calculators have needof "bit packing and manipulation" it wouldbe worth their while to spend a few hourspuzzling out the logic involved, but forapplications and gaming, this isn't necessary.

Now that you know the algorithm, itis possible to defeat it in a competition bytaking advantage of its weakness (an over-reliance on past patterns). For a simpledepth N program, it is possible to generatea pattern of length 2^+1 that varies in sucha fashion that the program is constantlyone step behind and never gets a rightanswer. A depth 0 routine, which justguesses that the most recent digit will berepeated again, is fooled by the simple

string 1010101010 A depth 1 program

will fail when it meets 110011001100...,that is, the pattern 1100 repeated continu-ously. A pattern that will defeat depth 2 is11101000. This combination is not unique,

236

April 1979©BYTE Publications Inc

but once such a pattern is found and used,the program will always guess incorrectly.We won't mention a pattern to defeat ourdepth 3 program, but one can be foundfairly easily now that you know how itworks.

The program is about evenly matchedwith human opponents. It is very difficultfor a human to win decisively (ie: to getmore than 15 points ahead) withoutanalyzing the logic of the program. Don'tspoil your friends' fun: let them play with-out first explaining how it works.

Unfortunately we seem to have spoiledthe fun by explaining most of the game'slogic in this article. If the reader will changestep 9 to "4," and step 44 to "+," the pro-gram will acquire new evasive tactics: it isnow designed to outthink the readers ofthis article! It will also recognize muchlonger patterns, although it takes a bitlonger to learn them. Readers can still foilthe program in this mode, but the task isconsiderably more difficult.

Several questions of interest remain un-answered. First, what is the optimum depthfor a machine to look when attempting tooutguess a human? How much does itdepend on who is playing? (Do 6 year oldstend to generate simpler patterns thanadults?). Are there other algorithms betterequipped to tackle human opponents? Aredeeper or more complex programs also moreinteresting? What about a base 3 numberguessing game such as "rock paper scissors,"or a more intriguing video display? What isit that makes artificial intelligence (Al)programs so interesting in general? Psychol-ogists and software experimenters mightconsider working on some of theseproblems.

Implementation on Other Systems

Our program should be convertible foruse on most programmable calculators withconditional branching and several memoryregisters. It will not work without extensiverevision on some microcomputers because itrequires at least 8 digit accuracy.

Watch the 10x function; it must be ab-solutely, not approximately, accurate forintegers in the range between x = +4 andx = —4. If it is not, write a routine to correctit.

Some calculators like the SR-52 do nothave the required INT and FRAC func-tions, but these functions can be easilyprogrammed.

Note that there is an implicit "GO TO00, R/S" at the end of the program, sincethis is what the calculator does when it runspast step 49."

Address

Operation

01

STO +3

02

STO+ 2

03

RCL0

04

f PAUSE

05

fx^y

06

Go To 09

07

2

08

STO -7

09

2

10

RCL2

11

f x > y

12

—

13

g ABS

14

RCL 5

15

X

16

STO+ 4

17

8

18

RCL 3

19

f x > y

20

—

21

g ABS

22

STO 3

23

4

24

_

25

gi0x

26

STO 5

27

RCL 5

28

RCL 1

29

X

30

RCL 4

31

x ^ y

32

+

33

g FRAC

34

RCL 1

35

X

36

f INT

37

STO 2

38

X

39

STO -4

40

f LAST x

41

2

42

STO x 3

43

STO x2

44

Ri

45

f INT

46

STO0

47

1

48

STO + 7

49

RCL7

Listing 1: A pattern recog-nition program written forthe HP-25 programmablecalculator. The operatorenters a series of binarydigits and the calculatorattempts to guess eachone, giving itself pointswhen successful and penal-izing itself when wrong.Unless the operator entersdigits that are truly ran-dom, the algorithm standsa good chance of detectingpatterns in the operator'sstring o f figures.

Instructions for Running the Binary Guessing Game

Step

1

Comments Data

Key in program.

Keys

2

Set display digits.

f F IX 0.

3

Initialize.

f PRGMf REG

4

Key in values. 10

STO 1

11.10011

STO 4STO 7

5

Clear stack.

f STK

6

Start program.

R/S

7

Program stops with score displayed, for 1 or 0opponent's guess. Enter 1 or 0.(Important: don't enter any other numberor run with score displayed.)

R/S

8

HP-25 displays its guess, then the cumula-tive score: + for opponent, — for HP-25.

9

Go to step 7.

Notes:

The advanced program described in the article also uses

the

above in-

structions. If you convert back to the regular version after running the

advanced

version

, the contents of several memory registers will cause probl

ems

To avoid

this, start over at step 3 above. After changing the two steps necessary for the

advanc

2d program, remember to return to 00 to run the program.

The

advanced

proqram will guess 0 for several times until it learns your style. To

avo

d this, try

123.0123 STQ4.

April 1979 © BYTE Publications Inc 237

LanguagesForum

Languages Forum is afeature which is intended as aninteractive dialog about thedesign and implementation oflanguages for personal com-puting. Statements andopinions submitted to thisforum can be on any subjectrelevant to its purpose offostering discussion and com-munication among B YTEreaders on the subject of lan-guages. We ask that all corres-pondents supply their fullnames and addresses to beprinted with their commen-taries.

Note: We received the following letter detail-ing several possible changes to the BASIClanguage. Readers might try implementingthem on their own systems if they do notalready have these Instructions available . . .RGAC.

Amended BASIC

Robert Paul Bass II

4827 N 63 Ln

Phoenix AZ 85033

Having been an avid programmer formany years, I've seen many ways for"Mr Murphy" to add some of his handiworkto programs. In order to accommodate someof the beginning programmers, I felt that anew version of BASIC that incorporatedsome of Mr Murphy's ideas would be appro-priate to help explain away some of thosemistakes that we all make at some time oranother. Here I present some of the newstatements and functions that I would liketo see in this new version of BASIC.

Assignment

10LETA#4*G

20LETB^19/T

Set A to any valuenot equal to theexpression.Set B approximate-ly equal to theexpression.

These are also handy for generating datato test routines that need data close to aparticular value, or if any value but one canbe used in a program.

IF-MAYBE

100IFG = 17.4 MAYBE 210

Advanced implementations of this state-ment could have nested conditions, ie:

110 IFG#A*2 MAYBE 210THEN AGAIN 300OR PERHAPS 405

Modified FOR - NEXT

200 FOR N = 0 TO ABOUT 100

300 NEXT N

This statement is used when one isn'tabsolutely sure how many times to executea loop.

MISPRINT and MISREAD

320 MISREAD A$330 MISPRINT B,S

These are the standard input/output(IO) statements, except that they have abuilt in glitch generator to produce thoseinexplicable characters that appear ineverybody's output. Caution must beexercised when both of these statementsare used in one program because it is pos-sible that the errors could cancel out.

COMEFROM

350COMEFROM 100

This is great for debugging programs asit allows the programmer to trace backwhere he should have been going.

FUZZ Function

400 FUZZ = 39

This function tells the actual monitorprogram that executes the BASIC programhow picky it will be regarding errors. IfFUZZ=0, the program will execute correctlyregardless of how many errors there are inthe program. If FUZZ=99, the entire systemwill crash on the smallest logical or evensyntactical error.

FORGET

440 FORGET 450-560

This would be used to indicate whichstatements should be ignored.

DIMENSIONLESS

10DIMENSIONLESS A,B,C,D,E,F,G,H,I,J,K,L....

This was designed for the theoreticalmathematicians working on problems in-volving points, those zero dimensionedbeasties. Systems using this statementshould have plenty of memory, since aninfinite number of DIMENSIONLESS state-ments are allowed (and usually needed) sothat the programmer can define lines, planesand spaces.

BLINK

500 BLINK 10 Blink for 10 sec-onds.

This is used primarily in demonstration

238 April 1979 © BYTE Publications Inc

programs where a visitor can see the frontpanel lights of the computer. When execut-ing this statement the lights will blink in afashion guaranteed to impress anyone whodoesn't know too much about computers.With appropriate interfaces, this could beused with your Christmas tree lights nextwinter.

When entering a particularly difficult por-tion of a program, this statement would beused to slow down the computer so it won'tstumble over the program's harder portion.

WHOA

720 WHOA

GLITCH

530 GLITCH

This is the most invaluable statement thatthe up and coming programmer can use. Itwill randomly choose a location in memoryor in the internal registers and will changeone bit of that word.

SLOWDOWN

650 SLOWDOWN

Same basic (no pun intended) use as theSLOWDOWN statement but it is primarilyused after a series of particularly easy state-ments to remind the computer that the easystuff is over and it will have to dig in againand get to work.

I hope that these suggestions for addi-tions to BASIC will inspire some enterprisingyoung programmer to invest a couple ofman-years to develop this new version of theold language that we all know and love.Good luck — you'll need it."

Pascal versus BASIC: Round 2 Includes FORTRAN

Lawrence C Andrews

2634Wycliffe Rd

Baltimore MD 21234

The article "Pascal versus BASIC: AnExercise," by Allan M Schwartz (August1978 BYTE, page 168) is a typical exampleof a language chauvinist using a languageineptly and then pointing to the faultsin the code he has written as inherentproperties of the language.

The function GCD (page 172) that hehas written (leaving aside the BASIC version)has several faults, to wit:

1) X and Y are not declared in the Pascalversion.

2) The FORTRAN version will developan infinite loop if X or Y equals zero(no comment there excludes X, Ygreater than zero).

3) The FORTRAN version never definesthe functional value of GCD and sowill not even compile in a goodcompiler.

4) There sure are a lot of GOTOs andstatement numbers in his program;in particular, statement 180 istotally useless. GOTO 180 should beGOTO 120.

5) There is no reason to have any GOTOs.It could be written as in listing 1.

6) If you don't mind downward branchingGOTOs (generally considered to beharmless) function GCD can bewritten as shown in listing 2.

As in Pascal the flow is clear and flow-charting is simple (Warnier-Orr diagrams arestill better). I don't run down Pascal but Ifail to see why Schwartz runs downFORTRAN just because he writes a pidgindialect inexpertly. In FORTRAN, as inPascal, "Go to statements can fog the other-wise clear logic of a routine," as Schwartzstates in his article. FORTRAN 77 withIF. . . THEN . . . ELSE statements, and zerotrip counts on DO loops, removes most ofSchwartz's FORTRAN objection. Anyonecan write a bad program in any language.Pascal is no exception to that statement."

INTEGER FUNCTION GCD (X,Y)INTEGER X,Y, A,B, LIM

C. . . X.Y.GT. 0A = XB = Y

LIM = MAXO (A,P)DO 1000 I = 1, LIMIF (A .GT. B) A = A-BIF (B .GT. A) B = B-AGCD = AIF (A. EQ. B) RETURN

1000 CONTINUEEND

DO 1000 I = 1, LIMIF (A .GT. B) A = A-BIF (B .GT. A) B = B-AIF (A. EQ. B) GOTO 2000

1000 CONTINUE

Listing 1: The GCD func-tion written in FORTRANwith no GOTO statements.

2000 GCD = ARETURNEND

Listing 2: A much shorterversion of the GCD func-tion using one downwardbranching GOTO state-ment.

April 1979 © BYTE Publications Inc 239

The face is (becoming) familiar

No surprise... it stands out in the crowd. Thequality and reliability that Industrial Micro Systems'customers have grown accustomed to is now avail-able in our complete system. A system that will growwith your needs.

You can start with a minimum 16K, single disksystem. The system shown above can be expandedto 608K-Bytes of fast RAM with three double-sided,double-density drives. And more to come.

The microcomputer industry standard CP/M™operating system is delivered with the system.PASCAL is available. Industrial Micro Systems sys-tems users are developing an impressive array ofapplication software.

The system is offered in rack mount and tabletop versions and also in our own desk enclosure.

In addition to gaining in familiarity, the Indus-trial Micro Systems picture for total system productsshould be coming into focus for everyone. Advanced,reliable electronics... industry standard software...and functional, high quality enclosures.

Industrial Micro Systems, your source for com-plete systems. And the prices are right.

Ask your dealer to see the full Industrial MicroSystems line of products and be watching for excit-ing new additions soon to come from Industrial MicroSystems, 628 N. Eckhoff St., Orange, CA 92668.(714)633-0355.

INDUSTRIAL MICRO SYSTEMS,INC

The great unknown.

' CP/M is a trademark of Digital Research, Inc.

Circle 171 on inquiry card.

Circle 172 on inquiry card.

Note on an Easy

Programming System

Mike Brown

POB 2263

West Lafayette IN 47906

I have just completed reading JosephWeisbecker's article "An Easy ProgrammingSystem" (December 1978 BYTE, page 108).I was quite favorably impressed—with oneminor exception. The random numberfacility does not seem to be very good, butcould be improved with one minor modifi-cation. Regardless of what pseudorandomnumber generator is used, the idea is toprovide a sample from a uniform distri-bution in the range of [0. .KK]. The tech-nique of simply using a mask is clearly notsatisfactory. If, for example, KK = 02, therange of pseudorandom numbers is [0. .2].However, by using the mask, the possiblenumbers obtained are 0 and 2. It is notpossible to get a 1.

There are several ways around thisproblem. The simplest is the rejectionmethod in which new pseudorandom num-bers are generated until one is found to besmall enough. Since most pseudorandomnumber generation routines I have seen arefairly quick, this method would probably besatisfactory as long as KK is reasonably large.

My suggestion is a refinement of therejection method, which will work fairlywell even as KK gets small:

• Determine high order 1 bit positionin KK (p). Form mask with bits 7 thru(p+1) off and bits p thru 0 on (m).

• Generate pseudorandom number inrange of [0. .255] (r).

• r2 = r x m.

• If r2 > KK, go to second step. Other-wise r2 is the required pseudorandomnumber.

In the worst case, only an average of tworandom numbers will have to be picked, andverifying a good number or rejecting a badnumber is a quick and easy task."

The

£100 £u")

%J I \# \# : ELECTRONICS

An S-100 Bus Adapter/Motherboard

fortheTRS-80

plus a whole lot more!!!

A

S-100 BUS INTERFACE6 SLOT MOTHERBOARD

EOflttallera, :ind ;i whult- hoM uf ullii-i

a$*>^

• SERIAL RS232/20ma I/O

• PARALLEL INPUT AND OUTPUT

• SPACE FOR 16K DYNAMIC RAM

• CAN USE LEFT OVER 4K CHIPS

• LOW COST- PRICES START AT S185*

• AVAILABLE IMMEDIATELY

lrymii»m-r,iiM..d.T

y kit forTilS-y

neuw, PROMo howls, ACraried periph-

ifiKdvn;wyormRAM \„.

<iiii! am support iJiiiiiTiv unit sockets Tur Bight

mil' HAM iliips iillnnniu vmi hi i>\)miii! the nitm-

rTRS-SO in KiK without having k. buy any S-100

you could !»■ ten With eight -IK HAM ilup- and nowhere topui thcml Well, they can go in the HAM sockets instead!Thins right, you c:in use eilher IK or 16K chips and ad-dress them anywhere you like

ThuHHKI h:.- a full RS-2-.U JU Mm sentil interface who'sfeatures inclmle: RS232 and "20 mil currvnl loop interface,

loftwate programmable haud rata from DC to 5BK hand,Miiflwiuv piouniiiimiihle modem control lines, on boardDB.2B aonneclqr and much more.

Tin- BIO0 also has an 8 hit parallel input porl andan H hit parallel output port. Holh are latched, have bothe strobe input.- and ciutpuL* and have

ofdri-

PRICES START AS LOW AS $185* (S-100 bus interface only)

fiUHJ

ELECTRONICS

1429 Maple St.

San Mateo, CA

94402

(415) 573-7359

DEALER INQUIRIES INVITED

•Extra S-100 connoctora. RAM support,1,0 circuitry optionalUSA DOMESTIC PRICE ONLY

Ever wonder

what it takes

to win a contest ?

In late 1978, Mullen Computer Products ran anapplications contest for the Controller Board Kit. Whilewe're congratulating the winners, you might want to seewhat we considered contest-winning material.

*••••••••••••••••••••

1 St PRIZE l John D. Gill, Blountville, TN.

•••*•••••••••*•••••••

Johns application used the board as an interface between the5V logic of an IMSAI 8080 and the 100 VDC relay logic usedby a Friden Flexowriter. He included software timing [ricks toavoid passing current through the relays until fully closed.We fell his entry was very practical, imaginative, used theController Board to good advantage, and deserved 1st place.

2nd PRIZE! Peter Midnight. Oakland. CA.

Peter proposed a computerized editing and synchronizationsystem for double system sound tracks. The entry was well-thought out and novel.

Runners-un included: Vaughn Jupe, Carlotta, CA [satellite tracking and other amateur radioimplications); Gregory Yob, Palo Alto. CA {phase controlled waterbed vibrator); Glenn King,Topeka. KS [telephone/computer/dlaling Interface)! Paul McKnight, Washington, DC[microprocessor controlled typewriter/computer interface); and Mike O'Brien, Colorado Springs.CO (IC testing device).

Thanks to everyone who participated in (ho contest, and for the uniformly high quality of the entries.

If you'd liko more information on the amazingly versatile

Mullen Controller Board kit,

visit your local computer store or write us direct.

MULLEN Computer Products

BOX 6214, HAYWARD, CA 94545

Circle 267 on inquiry card.

April 1979 ©BYTE Publications Inc 241

HAZELTINE1400

only

$649.95!

• Verbatim Mini Diskettes $3.70each (boxes of 10)

• Two-tier walnut formica enclo-sure for SA-400 Shugart. . . $39.95

• Typewriter Ribbons (many makessuch as Diablo, Centronics, DECand print wheels)

• TRS-80 16KExpansion Kit. . .$89.95

• Centronics 779 tractor - $1150.00

• Horizon II ass. - $1999.00

Mail TORA SYSTEM INC.Order 29-02 23rd Avenue0nly- Astoria NY 11105(212) 932-3533

Circle 371 on inquiry card.

PASCAL $2995

COMPUTER

Call (714)979-9920

MONTHLY SPECIALS

• Floppy Kit (S100)

SA 801 floppy (8") 8 cont $599

• Add On Floppy Drives

SA 800/1 (8") floppy S469

SA 400 mini floppy $285

Pertec FD 200 $285

Pertec FD 514 $479

• Centronics 779 printer $999

Centronics P1 $399

Centronics 700/w tractor S1475

• Miscellaneous

Tarbell Controller Kit $185

CP/M Operating System/Manuals . $89

8" Verbatim Diskettes $3.99

5" Diskettes $3.39

16k RAM chips $9.75

Pwr Supply cabinet (mini floppy) ... $79

Wr

COMPUTER INrERMCE TECHNOLOGY

Peripheral Products DivisionGrand. Grand Cenlre. Santa Ana. CA 92705

Circle 71 on inquiry card.

TIME SERIES AND

STATISTICAL

ANALYSIS PACKAGE

THIS PACKAGE ALLOWS THE USER TO:

1. LOAD DATA INTO DYNAMICALLY

CREATED FILES.

2, EDIT THE DATA.

3. ANALYZE THE DATA.

4 PRINT OUT AND PLOT THE DATA

AND RESULTS.

SOME OF THE TYPES OF ANALYSIS INCLUDE:

1. FOURIER ANALYSIS

2 CROSS AND AUTO CORRELATION

3. PROBABILITY AND DISTRIBUTION

FUNCTIONS

4. PEAK, AVERACE AND ROOT MEAN

SQUARED

5. MEAN, VARIANCE AND STANDARD

DEVIATION

6. LINEAR, EXPONENTIAL AND

GEOMETRIC REGRESSION

THIS PACKAGE IS WRITTEN IN NORTH STAR

BASIC AND CAN BE PROVIDED AS A LISTING

OR ON A DISKETTE FOR $125.00.

Potter's Programs

22444 Lakeland

St. Clair Shores, Ml 48081

Phone 313-573-8000

Midas BusinessSoftware™ Programs

(disc based)

MBSI Point of sale $49.95

cash register/inventory update

MBSII-1 Personalcheckbook

$29.95

MBSII-2 Small business $39.95checkbook

MBSIII-1 Basic mail list $49.95

MBSIII-2 Extended mail $59.95list

Forward check or money order to:ISDGInc.

312 Highgate AvenueBuffalo, New York 14215

Circle 181 on inquiry card,

TRS-80

MEMORY EXPANSIONto 16KEach Kit

$79

Includes easy to follow

instructions

Jumpers and 8-16K Rams

2 Sets (32K)$165

3 Sets (48K) $2496 Months Guarantee

—Visa — Master Charge —Calif. Add 6% Sales Tax

MicroComputerWorld

Box 242San Dimas, CA 91773

Circle 218 on inquiry card.

TRS-80 Quality Softwareat mass-production prices!

WORD PROCESSOR: Helps prepare letters,

manuals, books. Use diskette file for text, page,

line control, centering, margin justification etc

Diskette 839 Level II, 1 BK vers. $29

MAIL: Lets you enter, display, search, update,

delete name S. address info. Reports G. labels

sorted in name, state, city or zip code order

Diskette $35

INVENTORY: Full control saves you thousands of

dollars. Several reports.

Diskette $39

DISKETTE data base manager/report generator

32K required $49

KEY random access: blocking S. hashing.

DOS. $19

SORT & LINKED-LIST. Level II. $10 each or $1 6both.

Level I or II

Cassette data base manager [1 6K]Cassette inventory control [1 6K]

$20

$20

Stock security info & analysts

$10

Check balance

$10

Stock & check

$15

MICRO ARCHITECT

96 Dothan St.

Arlington, MA 02174

Terminal Systems

Dealing /

FOR THE BEST DEAL

Call!

Terminal Systems Inc

(213)769-6772 (714)738-4444

(415)537-7723 (BOO)423-2449

Rely on US

Circle 367 on inquiry card.

WILD & CRAZY

ASSEMBLYPROGRAMMERS

The number 2 manufacturer ofstand alone POS terminals needsexperienced assembly program-mers to help introduce 14 newsoftware based products in 1979.Challenging assignments cur-rently exist at all levels includingapplications, diagnostics andsystems software development.Great benefits including yearlyvacation to Europe. Startingsalary 16-30K. Please call or writeDave Adams, (617) 246-2815.N.E. Recruiters, 6 Lakeside OfficePark, Wakefield, MA 01880.Collect calls accepted. Strict confi-dence assured. All fees, relocationand interviewing expenses assumed.by company.

APPLE IITINY BUSINESS SOFTWAREACCOUNTS RECEIVABLE - 100 cus-tomer accounts max, 8 transactions/month/customer (typical), month endand individual postings, automaticinterest calculations. $75.00

ACCOUNTS PAYABLE - 100 payableaccounts max, 8 transactions/monthly/payable (typical), month endposting. $75.00

PERPETUAL INVENTORY CONTROL -

100 suppliers, 900 individual inven-tory items, heuristic reorder pro-cedure. $100.00

All of these programs have random recordaccess, easy addition and deletion of items,password protection on sensitive procedures.

MIN. REQUIREMENT 48K APPLE II, one diskOPT. REQUIREMENT 48K APPLE II, two disksThese procedures for screen environment,printer options available soon.DOCUMENTATION only for the above S 1 0 ea.CHECK OR MONEY ORDER ONLYDEALER INQUIRIES WELCOME

CUSTOM COMPUTING

SYSTEMS INC.

Circle 308 on inquiry card.

Circle 217 on inquiry card.

Circle 81 on inquiry card.

Some Contrary Opinion

Peter D. Robertson

17047 Via Pasatiempo

San Lorenzo CA 94580

After scanning your August 1978 BYTE,some amusing images came to mind. Onewas a landscape wherein 10,000 programmerssat in front of their terminals, each one say-ing, "Gee, if I only had Pascal, I could dothis a lot easier than in lousy old BASIC. Ireally need Pascal." Another image was ofNiklaus himself, saying, "Isn't it amazinghow many fools there are who ignoredEuler, but are wholeheartedly supportingPascal?" Yet neither language has any realinput/output (IO) or was meant for anyreal machine. Euler was, after all, the moreserious effort. Pascal is only a teaching toy.

This is how I see the programming lan-guage controversy in the world of personalcomputing. First of all, Pascal belongs to aclass of highly structured, strongly typedlanguages. This means that it is hard to use.All variables must be explicitly typed, andcontrol structures must follow a rigid syn-tax, or else the program is garbage. For well-documented, widely distributed programs,this is "good programming practice." Forpersonal computing, this is useless. Sec-ondly, Pascal is difficult to learn.

I spent six months studying Pascal in-tensively, but even so, there are a numberof subtleties and nuances of the languagewhich escape me today. Yet it took onlytwo weeks to master BASIC. Thirdly, Pascalwas not meant to be debugged. Pascal isso good that every program you write issupposed to be correct. You just type itin, compile it, run it and move on to thenext program. If it doesn't work, thenhopefully your computer has PDB, the Pas-cal debugger program, to help you sortthings out. Whereas in BASIC, every state-ment is (or should be) checked for errorswhen it is entered, not when it is inter-preted. For run time errors, most BASICSallow you to print the values of variablesand execute statements selectively, changingthem as needed, rather than having to re-compile every time.

In short, I don't see how Pascal can everextinguish BASIC as the language of choicefor personal computing. For industrial sys-tems programming, sure, but not for per-sonal applications. Pascal is, after all, only a

Circle 72 on inquiry card.

NOBODY SELLS THEBEST FOR LESS

Exidy S-100 Expansion Unit forSorcerer

Expandor Black Box Printer

Ithaca Audio 16K Memory Upgradefor Exidy Sorcerer & TRS-80

Teletek System Central Interface

ATV Research Micro-Verter

Cromemco 32K Bytesaver Kit

Scotch 5" Diskettes (Box of 10)

Call for our prices on:

North Star, Sanyo, Integral Data Systems, IMC, Problem Solver, SSM,

Vector Graphic, Dynabyte, ECT, Oliver, Sorcerer

Subject to Available Quantities • Shipping and Insurance Extra

WE ARE NOW AUTHORIZED DISTRIBUTORSFOR SCOTCH DATA PRODUCTS

HOURS: Monday: 12 to 6, Tuesday-Friday: 12 to 9, Saturday: 10 to 6

Computer Lab of New Jersey

141 Route 46

Budd Lake, New Jersey 07828

Phone (201)691-1984

Prices valid thru May 15, 1979

LISTPRICE

SPECIALPRICE

299.00

255.64

491.95

420.61

140.00

119.70

385.00

329.17

35.00

29.92

195.00

166.72

65.00

45.00

ONLY PROGRAMMERS

SHOULD BE ALLOWED

TO MANAGE FILES!

Isn't that ridiculous? They're your files, your infor-mation and your needs. Take control of them nowwith

FMS-80

the only fully integrated microcomputer File Manage-ment System. From initial file definition throughselective report generation, FMS-80 takes you everystep of the way interactively.

Written entirely in assembly language, FMS-80 isboth efficient, fast and will run under any CP/M-based program (IMDOS, CDOS, etc).

Also ask about REMOTE-80 Intelligent TerminalSoftware; SCREEN DESIGNER-interactively createand utilize video forms; and MLU—the completeMailing List Utility.

DEALERS: Liberal discounts and painless evaluationpackages available. Contact us on your letterheadfor additional information.

COMPUTERS PLUS, INC.

678 S. Pickett St.

Alexandria, VA 22304. (703) 751-5656

The plus makes the difference.

April 1979 ©BYTE Publications Inc 243

12" BLACK & WHITELOW COST VIDEOTERMINAL$139.00 LIST

Add $5 for shipping and handlingTexas residents add 5% sales tax.

One yearlimited warranty

1 Ideal for home, personal and business computer systems;surveillance monitors • 52" diagonal video monitor • Com-posite video input • Compatible with many computersystems • Solid-state circuitry for a stable & sharp pic-ture • Video bandwidth—12 MHz ± 3 DB • Input im-pedance—75 Ohms • Resolution—650 lines Minimum INCentral 80% of CRT; 550 Lines Minimum beyond central 80%ofCRTrefElARS-375 • Dimensions—11.375" high: 16.250"le; 11.250" deep (exclude video input con-nector) • Weight— 6.5 KG (14.3 lbs) net

Clse Master Charge/Visa or send money order.

Micro Products Unlimited

P.O. Box 1525, Arlington, TX 76010

817/461-8043

Dealer inquiries welcome

Circle 224 on inquiry card.

68 MICROJOURNAL™

ic The only ALL 6800 Com-puter Magazine.

CHARTERSUBSCRIPTION SPECIAL

1-Year $10.50 2 Years $18.50

3 Years $26.50

OK, PLEASE ENTER MY

SUBSCRIPTION

Bill my: M/C Q —VISA Q

Card #

Expiration Date

For □ 1-Yr. □ 2 Yrs. □ 3 Yrs.

Enclosed: $

Name

Street

City

State

Zip-

'68' MICRO JOURNAL™3018 Hamill RoadHIXSON, TN 37343

Circle 323 on inquiry card.

Special forTRS-80 and APPLE II

Users

rfoMffim

Diskettes

MD525-01 —Soft Sect.MD 525-10 —Hard Sect.MD 525-16 — Hard Sect.

3 for $10.

(8" Disks - 3 for $12)

Check, Money Order, Visa orMaster Charge Accepted. No COD's.

P. O. Box 327 E

Center Valley, Pa.

18034

MICRO'S SHOULDEARN THEIR KEEP!

You liked Version 1 of our General Ledger,wail until you see Version 2.2I Somefeatures Include: (Version 1 owners, writefor credit on Version 2.2)

<%t&t

Our new "Skip-Sequential" (TM) filestructure; Up to 100 (or more) customaccounts; Direct cursor control (forsome video devices) or standardscrolling; Complete Income statementand balance sheet with printer output;Complete audit trails; Expanded errorchecking; User oriented with expandedmanual; much more! 16 programstotalling over 70K. Price: $79.95

Check our documentation: $5.00 (creditedtowards purchase). All programs ondiskette and use North Star BASIC, l(K offree memory, I or more drives.

Dealer inquiries invitedECOSOFT

P.O. Box 68602Indianapolis, IN 46268

Circle 110 on inquiry card.

Want to stick it on your bumper?

Honk if you like "bumper bits."It's the new way to communicatewith your fellow computer pros onthe highways and byways of life.Each bumper sticker is black-on-white, 4x14". $1.95 each; 3 for $5.

a. Want to hop in

and compare peripherals?

b. Semiconductors are only incharge of the woodwinds

c. Waiter, look at debugin my soup

Send.

_no. of:

(California residents add sales tax.)Mail check, cash or money order to:

bumpcfrbit/TM

Box 2062, Menlo Park, CA. 94025

Circle 26 on inquiry card.

■Wb! m

SINGLE BOARD COMPUTER$99.50*

with 6800 MPU, 6850 serial I/O, 26820 parallel I/O (32 lines), 512 RAM,socket for 2708, 2716, EROM. Inter-face modules for industrial control,data acquisition, lab instrumentation,on 44 pin 4W*6</i" PCB's. RAM,ROM, CMOS RAM/battery, A/D, D/A,Driver/Sensor, Serial I/O, ParallelI/O. Counter/Timer, IEEE 488 GPIB,floppy controller.

"OEM (500 piece) price

P""™"! Corp.902 N. 9th StreetLafayette, IN 47904Phone (317) 742-6802

Cd$*

How did you everdo without it?

© 1979 PS Inc.

Circle 302 on inquiry card.

WELCOME TO:

«

THE SOURCE

»

**X^ *tX^ "^r* **& ^X* ^ar ^k

^r* *'|^ ^^ ^f* *^ »^p ^r*

• 8080/ZBO DISK-BASED DISASSEMBLER

• RUNSON8080/80B5OR Z80 UNDER CP/M. SUPPORTS FULL ZW INSTRUCTION SET

• OBJECT CODE DISASSEMBLED fR,QM, DISK NOT FROMMEMORY

• DISASSEMBLED CODE DIRECTED TO DISK OR PRINTER' COOED CROSS REFERENCE TABLE

■ SYMBOL TABLE

• MANY OPTIONS

• EITHER TDL MNEMONICS [TSOURCE] or

MAC MNEMONICS [MSOURCE]

• AVAILABLE ON 8" SINGLE DENSITY FLOPPY OR 5"FLOPPY |CP/M FOR NORTH STAR BY LIFEBOAT]

PRICES:

TSOURCE $39.95

MSOURCE $39.95BOTH $69.95

MJB

COMPUTER

ASSOCIATES

41 Meadow Dr.Spencerport, N.Y. 14559

RS232 USERS

Low cost RS232 switch kit willallow a variety of connections.Kit contains no wires. LatestP. C. board and switching tech-nology. Up to three devices canbe switched with a turn of theknob. Ideal for connecting threedriving sources to one printer.CRT, PROM Programmer,MODEM, etc.

Price $64.95 Kit $47.95

GILTRONIX INC.

Call: 415/493-2199

Circle 101 on inquiry card.

Circle 389 on inquiry card.

Circle 144 on inquiry card.

programming language, whereas BASIC is anentire programming system. If you want towrite something neat and elegant, use Pascal,but expect to spend a lot of time on it. Ifyou want to get the job done, however,maybe BASIC isn't so bad."

How To Define an OSWhich Does Not Needa Wizard

James E Jones

123 NE 2nd

Moore OK 73160

I have noted a trend towards microcom-puter operating systems which allow pro-grams to be written without worrying aboutpeculiar device interfaces. Nothing couldplease me more. IO and interrupt program-ming are the worst part of the transfer fromlarge to micro. There is one disaster thatmust be avoided, though: the user's interfacewith it, when it comes, will resemble OS/360or 370 "JCL" (Job Control Language).

Other than the DD statement, JCLmainly presents tolerable nuisances. Indeed,it once made a perverse sort of sense. JCL is360 macroassembler with a "//" at thebeginning of each statement, and in thetimes when everybody used assembler andhad to know the sordid details of the DCB,it was actually convenient. But in my experi-ence, most people use high level languagesnow. (I'm from an academic background andprobably biased. For purposes of argument,I'll even admit that FORTRAN and COBOLare high level languages.) These people, whoenjoy the advantages of such languages whenprogramming, are saddled with largeamounts of machine dependent trivia whenJCL time comes. Maybe it's not like havingto write your own CCWs, but the user muststill be concerned with many device pecu-liarities. (Don't tell me that's what proce-dures are for. Users must always fill inanything not foreseen by the procedurewriter, who can't have much foresight insuch cases.) Processes that are easy to thinkin terms of become cumbersome to write ormaybe impossible.

The worst part is that in the name ofupward compatibility, the user is foreverstuck with it.

So what does this harangue againstOS/370 have to do with us? Just this: oncean operating system arises in the micro-

Circle 86 on inquiry card.

LSI-11 TIME

It's TIME you brought your LSI-11 up to DATE. TIME and

DATE, two important parameters in the computer world, areavailable to your LSI-11 on one DUAL SIZE BOARD. Whenrequested, the TCU-50D will present you with the date (monthand day), time (hour and minutes), and seconds. Turn yourcomputer off and forget about the time — your battery sup-ported TCU-50D won't, not for 3 months anyway. The correctdate and time will be there when you power up.

The TCU-50D is shipped preset to your local time, but can be setto any time you want by a simple software routine.

AT $295YOU CANT AFFORD TO IGNORE TINE

Time is only one way we can help you upgrade your LSI-11 orPDP-11 system. We'd also like to tell you about the others. Socontact Digital Pathways if you're into -ll's. We are too.

DIGITAL PrtTHW/fA IMC

4151 Middlefield Road • Palo Alto,California 94306 • Telephone (415) 493-5544

DIGITAL/ JL

RELIABILITY

QUALITY

DEPENDABILITY

ADDRESSING

PROTECT

BUFFERING

LOW POWER

WAIT STATES

QUALITY

GUARANTEE

DELIVERY

PHANTOM

TESTING

SPECIAL

BKB5

8K STATIC RAMASSEMBLEDS-100

MEMORY DISABLE IS IMPLEMENTED VIA PHANTOM (PIN 67l

INTRODUCTORY

PRICE

ASSEMBLED/TESTED

(714)992-55402555 E. CHAPMAN AVE.SUITE 604FULLERT0N, CA 92631

$14995 $1899-5

CALIFORNIA RESIDENTS ADD 6% TAX

/DIGITAL/ _TL

Circle 294 on inquiry card.

April 1979 © BYTE Publications Inc 245

Circle 374 on inquiry card.

TERMINALS FROM TRANSNET

PURCHASE

12-24 MONTH FULL OWNERSHIP PLAN

36 MONTH LEASE PLAN

PURCHASE PER MONTH

DESCRIPTION PRICE 12 MOS 24 MOS 36 MOS

LA36 DECwriter II $1,595 $ 152 $~83 $~56"

LA34 DECwriter IV 1,295 124 67 45

LA120 DECwriter III, KSR .... 2,295 219 120 80

LS120 DECwriter III, RO 1,995 190 104 70

LA180 DECprinter I, RO 1,995 190 104 70

VT100 CRT DECscope 1,695 162 88 59

TI745 Portable Terminal 1,875 179 98 66

TI765 Bubble Memory Term. . 2,795 267 145 98

TI810 RO Printer 1,895 181 99 66

TI820 KSR Printer 2,395 229 125 84

ADM3A CRT Term 875 84 46 31

QUME Letter Quality KSR 3,195 306 166 112

QUME Letter Quality RO 2,795 268 145 98

HAZELTINE 1410 CRT 895 86 47 32

HAZELTINE 1500 CRT 1,195 115 62 42

HAZELTINE 1520 CRT 1,595 152 83 56

Dataproducts 2230 7,900 755 410 277

DATAMATE Mini Floppy 1,750 167 91 61

FULL OWNERSHIP AFTER 12 OR 24 MONTHS10% PURCHASE OPTION AFTER 36 MONTHS

ACCESSORIES AND PERIPHERAL EQUIPMENT

ACOUSTIC COUPLERS • MODEMS • THERMAL PAPERRIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS

PROMPT DELIVERY • EFFICIENT SERVICE

n

IransNet Corpora tion2005 route 22, union, n.j. 07083

201-688-7800

A UNIQUE NEW PRODUCT

. . . protects your hardware and your invest-ment, Saves maintenance, downtime andlooks great. Our Dust Covers come in hun-dreds ot sizes each custom designed to fit aparticular model of terminal, CPU, Line Printer,Floppy Disk. They're a proven way to help elim-inate dust and dirt accumulation, improve sys-tem reliability and save many times the cost inreduced maintenance and downtime. What'smore, your satisfaction is 100% guaranteed.

Cover Craft Dust Covers are available fromyour local computer retailer or contact CoverCraft.

Can you afford to wait any longer?

COVER CRAFT

P.O. Box 555, Amherst, NH 03031Telephone (603) 673-8592

world, because of its very real advantages,there will be exactly the same pressures forits maintenance that there are for those ofthe dinosaurs: rewriting costs, upward com-patibility, and difficulties of relearning. Thefirst OS must be the best we know how towrite, using the experiences gained from theminis and maxis.

Those who are considering writing an OS,please consider these as possible guidelines:

(1) The OS functions ought to be call-able by user's programs, not restricted to theOS or some privileged set of programs. Onthe 370, users' programs for the most partcan only read and write, unless they wish towrite assembler programs to subvert the sys-tem. All other functions are performed bythe OS between jobs or by mysterious,nearly unusable utilities programs. (Aroundhere, they are called the futilities.) Usersshould be able to write utilities on whichnatural selection can work. Let only theconvenient survive.

(2) The OS functions should be a clean,orthogonal, simple set that does not refer toany device perversities. Not only will such anOS be easier to use, but it would be a truestandard, transportable between processors.(Consider the increased ease of communi-cation of programs that would result.)To see how it can be done, read the July1974 CACM paper on Unix. For heaven'ssake, read at least the first three chaptersof Software Tools by Kernighan and Plauger.

I want a system' that I can use withoutspending all my time fighting its bureau-cracy. As time goes on, there will be fewerand fewer hardware hackers, and morepeople raised on high level languages runningon microcomputers. These people willdepend on the OS written by the hackers,and it scares me to read about peoplethinking about 10 in big system terms,with a plethora of access methods. If it'sdone correctly, everyone, including thehackers, will have an environment farbetter suited for people and working onproblems instead of commas, buffers andblocksizes.B

[Editorial Note: Buried within this letter arenumerous references to acronyms whichevery OS/370 Job Control Language (JCL)hacker must deal with in everyday life. Beinglazy, and rationalizing on the grounds of notperpetuating the mistakes, we leave the textas is, filled with references to JCL, DDstatements, CCWs, DCBs, and all the otherincantations of the wizards of OS. . .CH/

246 April 1979 <B BYTE Publications Inc

Circle 76 on inquiry card.

Circle 91 on inquiry card.

TechnicalFcpuro

A Fix for the Dazzler

Michael A Baltrush

New Jersey Institute of Technology

323 High St

Newark NJ 07102

The New Jersey Institute of Technologypurchased a Cromemco Dazzler as a kitwhich was constructed by a student duringthe summer of 1977. Plugging the unit intoour S-100 bus computer system, we foundthat it produced pretty pictures on a videomonitor. But an unfortunate side effectwas that our terminal printed garbage whilethe Dazzler was operating. An investigationrevealed a pulse on the SOUT line during thetime the direct memory access (DMA) trans-fer was taking place. Cromemco was in-formed of this by letter and their responsewas. . . "your serial I/O (input/output) boardcannot tolerate DMA." But the problem isdeeper than tolerance of an I/O board. OurS-100 system uses a Z-80 processor ratherthan an Intel 8080. During direct memoryaccess on the 8080, the PHOLD (S-100 pin74) is asserted by the peripheral and isanswered with PHLDA (S-100 pin 26).The PHLDA signal appears at the leadingedge of 01 and the address bus and data busare floated (put in three-state output con-dition) at 02- Thus there is a period of timebetween PHLDA and the floating of thebuses.

During direct memory access of the Z-80,the PHOLD signal is asserted by the peri-pheral and is answered with PHLDA. Theappearance of PHLDA signals that theaddress bus and data bus are floated with nodelay. In use, the Dazzler controls the busesand the signals derived from the control bus.In our system the assumed delay betweenPHLDA and the floating of the buses doesnot exist. Therefore, the SOUT signal wasuncontrolled during that interval and wastreated as a high signal, which is the SOUTassertion level.

A fix for this problem is to take controlof all the lines at the assertion of the

NO FRILLS! NO GIMMICKS! JUST GREAT

DISCOUNTS

MAIL ORDER ONLY

HAZELTINE

1400 $ 650.00

1500 995.00

Mod 1 1495.00

CENTRONICS

779-1 954.00

779-2 1051.00

700-2 1350.00

761 KSR tractor 1595.00

703 tractor 2195.00

NORTHSTARHorizon I assembled.. 1629.00

kit 1339.00

Horizon II assembled.. 1999.00

kit 1599.00

Disk System 589.00

TELETYPE

Mod 43 995.00

IMS16K Static Memory... 459.95

DIGITAL SYSTEMS

Computer $4345.00

Double DensityDual Drive 2433.00

IMSAI

VDP 80/1000 $5895.00

VDP40 3795.00

VDP42 3895.00

VDP44 4195.00

16K Memory assem... 399.00

PCS 80/15 679.00

15% off an all other Imsai products

CROMEMCO

System III $1000 otf . . 4990.00

10% otf on all othor Cromemco products

TEXAS INSTRUMENTS

810 Printer 1595.00

CENTRONICS

MicroPrmter 495.00

Most items in stock for immediate delivery. Factory-fresh, sealed cartons.

DATA DISCOUNT CENTER po box 100

135-53 Northern Blvd., Flushing, New York 11354,212/465-6609

N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y.I BankAmericard, Master Charge add 3%. COD orders require 25% deposit.

&

PROGRAM LIBRARYfrom

CASCADE ENTERPRISES

ON CASSETTE TAPE

* If you use Solos™ or have an 8080 SolT" System,G2'u Extended Basic is faster and better than othersrequires (15.5K) $49.95

* For our 6800 users G2'» Standard Basic specificallyfor the S.W.T.P.C.tm 6800 requires (7K) $34.95Both G2 basics are by Microsoft™

" We have the following games and entertainment whichwill run in these machines:

THE GAME TAPESAHE ONLY

O

r

mO3om

m

3

mH

H

W

00

o

>

TJ

■vrin

$14.95 each

2

-i

G2 BEAT THE HOUSE

*

*

*

#

«

G2 CLINIC

*

*

•

«

*

G2 OUTWIT

*

•

»

•

•

G2 THE MARKET

•

#

*

•

G2 ADVENTURE

#

•

G2 BLOCKADE

•

•

•

G2 OIL TYCOON

•

*

G2 PILOT

G2 Beat the House includes Blackjack, Craps, Rouletteand Slot Machine. Craps is a very big program. Oursleft 3K usable in Level II 16K TRS-80™. Allows a familyto play as a group against the computer.Call us anytime except Sunday (916) 926-5154 or write

As an introductory

offer—the first 500 CASCADE ENTERPRISES

orders get a free Box 213

10 minute blank cassette. Mount Shasta, CA 96067Cal. Res. add 6% tax-Bank Cards add shipping & handling $2.00

DM/C DB/A-VisaSignature

Expires

Circle 44 on inquiry card.

April 1979 © BYTE Publications Inc 247

Figure I: Portion ofCromemco Dazzler cir-cuitry which is used tocontrol direct memoryaccess to system memory.

The information in thistechnical forum was alsosent by the author to thenewsletter of the AmateurComputer Group of NewJersey.

PHOLD <3

PHLD [3>

C^

d> SINP

{3> SOUT

ADDRESSBUS CONTROL

{3> STATUS DSBL

[3> C0NT DSBL

fj^> DO DSBL

fJ2> ADDR DSBL

l__

IC57PIN I I

SOLDER SIDEOF BOARD

U^7407

IC57PIN 12

SOLDER SIDEOF BOARD

Figure 2: Addition to the CromemcoDazzler circuit to eliminate problem-causingpulses on the author's Z-80 S-100 bussystem. The fix eliminates spurious SOUTpulses that can cause garbage to be printedout on the system printer when the Dazzleris operating.

PHLDA signal. This is done by removingIC57 (a 7495), bending pin 12 straightout and reinserting IC57. This removes theeffect of pin 12's output from the circuit.A signal must be supplied from pin 11 ofIC57. Unfortunately, for simplicity, buffer-ing must be used to be consistent with TTLloading rules. Fortunately, an uncommittedsocket exists on board # 2. A 7407, a hexnoninverting buffer with open collectoroutput, can be mounted in this socket alongwith the pull up resistor. The additional inte-grated circuit is connected as in figure 1."

DAM YOUR COMPUTER

DataAcquisition hy

MODULES

EtJj0

NOW YOUR COMPUTER CAN LISTEN TO THEREAL WORLD YOU GET 16 8 BIT ANALOGINPUTS WITH OUR AIM16.

AIM161 STARTER SET

AIM161

POW1ICON

POWER MODULE

INPUT CONNECTOR 20 PINSSOLDER EYELETS

MEASURE - RECORD - CONTROL

TEMPERATURE

•

ENERGY CONSERVATION EQUIPMENT

DIRECTION

•

GREENHOUSES

PRESSURE

•

SPEED

LIGHT LEVELS

•

WEATHER STATIONS

db

•

NOISE POLLUTION

POLLUTION CONTROLS

•

pH

DARKROOMS

•

EARTHQUAKE TREMORS

HUMIDITY

•

VELOCITY

LIGHT

•

ACCELERATION

JOYSTICKS

•

GAMES

■189.00

CONNECTICUT microCOMPUTER

150 POCONO ROAD ■ BROOKFtELO, CONNECTICUT 068041203) 775-9659

248

April 1979 & BYTE Publications Inc

Circle 83 on inquiry card.

Where Do New Products 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 informationmight be of interest to the per-sonal computing experimentersandhomebrewers who read BYTE,we print it in some form. Weopenly solicit releases and photosfrom manufacturers and suppliersto this marketplace. While wewould not knowingly print untrueor inaccurate data, or data fromunreliable companies, our capa-city to evaluate the productsand companies appearing in the"What's New?" feature is neces-sarily limited. We therefore can-not be responsible for productquality or company performance.

Camac Interface Board for IntegratedCircuit Pluggable Wire Wrap Use

Circle 640 on inquiry card.

Camac interface boards for integratedcircuit pluggable wire wrap applicationsare now available from Garry Manu-facturing Co, 1010 Jersey Av, NewBrunswick N'J 08902. The new boardsare "plug compatible with the Camacstandard instrumentation bus. They pro-vide 38 universal rows of 64 socketterminals per row, with ground and volt-age terminals between every other row,spaced .300 inch (.76 cm). The boardswill accommodate up to 125 16 pinintegrated circuits or an equivalent mixof larger integrated circuits.

The new boards are available at $2 to$3 per integrated circuit position."

Products for the PET

PET Shack Software House, POB966, Mishawaka IN 46544 has availablea line of products for the CommodorePET. Their products include a completeset of schematics of all the boards inthe PET plus parts layout and iden-tification; a complete disassembled list-ing of all seven read only memories

Dust Covers for Computers and Terminals

i ^

Cover Craft has recently announced anew line of high quality protective dustcovers to fit all popular brands of com-puters and peripherals. Hundreds of sizesare available, each designed to preciselyfit a specific model. Each cover is cus-

tom designed and hand cut from highquality textured flexible vinyl. All seamsand edges are machine stitched for maxi-mum strength. Contact Cover Craft, POB555, Amherst NH 03031."

Circle 642 on inquiry card.

plus identified entry points and ma-chine language monitor program listing;and a multitude of software on cassette.The schematics are priced at $35 andthe read only memory routines are$19.95."

Circle 641 on inquiry card.

Instrument Enclosures for Designersand Manufacturers

This S series of sloped top panels andthe V series of vertical front panels pro-vide a wide range of uses. Vertical andsloping panels are finished brushed andclear anodized. Covers are finished inhard scratch resist, baked-on black tex-tured enamel. Rubber feet and hardwareare provided. All models are of flangedconstruction, using .063 inch (.16 cm)14 gauge tempered aluminum. A pre-punching option on all models is avail-able with instructions upon request. Pric-ing ranges from $4.43 to $17.90 each inquantities of one to four. For moreinformation contact AAK Corp, POB 7,Methuen MA 01844."

Circle 643 on inquiry card.

April 1979 © BYTE Publications Inc 249

What's New?

PUBLICATIONS

Technical Brochure on VideoAnalog to Digital Converter

The Computer Book Features WorkbookFormat

The Computer Book by Fred Lee isan introductory reference for readers,student and nontechnician alike, whowish to improve their understandingof the digital world. This 365 pageself-teaching workbook format guideis presented in a clear, straightforwardstyle. In addition to text on each page,the top third of each page graphicallyrepresents a memory location whichincludes memory and address registers

to be filled in by the reader so he orshe goes through the same logical stepsthat a computer would follow whilerunning a program. A sampling of thecontents includes: number systems andcodes, vacuum cleaners and circuits, theinstruction set, programming, thumbs-onexperience, assembly language, highlevel language, microprocessors, andmicrocomputers. The book is pricedat $28 and is available from ArtechHouse, 610 Washington St, Dedham MA02026. ■

Circle 620 on inquiry card.

c

Teach Yourself How to Use BASIC

BASIC For Home Computers is aself-contained book for learning BASIC.The authors have used Microsoft BASICfor the MITS Altair computer; however,BASIC learned in this book will applyto any computer that understands asimilar version of BASIC. This self-instructional book shows you how toread, write and understand BASIC.The material is presented in shortnumbered sections called frames, eachof which teaches something new aboutBASIC and either asks a question ortells you to write a program.

Answers are given, and numerousapplications and games are included.The book is priced at $5.95 and ispublished by John Wiley and Sons Inc,605 Third Av, New York NY 10016."

Circle 621 on inquiry card.

Superior Electric Offers Free SteppingMotor Control Catalog

This 28 page catalog covers 16 newSlo-Syn stepping motor controls. Itincludes new translator and presetindexer modules, power supply modules,open chassis and buffered translators,open chassis preset indexers and com-pletely packaged translators, presetindexers and buffered translators. Con-trollers drive at rates up to 5000 stepsper second (1.8° steps) or 10,000 halfsteps per second (0.9° steps).

The catalog utilizes charts, specifi-cations, speed versus torque curvesand connection diagrams to facilitateselection of correct unit.

For this free catalog write to TheSuperior Electric Co, 383 Middle St,Bristol CT 06010."

Circle 622 on inquiry card.

This recently published four pagetechnical brochure by Datel Systems,1020 Turnpike St, Canton MA 02021,details the electrical and mechanicalspecifications on the new video analog todigital converter Model ADC-TV8B. Thisconverter features an 8 bit resolution, 20MHz encoding rate, and an internal highspeed sample hold. It is ideal for digitaltelevision processing and transmission,radar digitizing, and ultrahigh speed dataacquisition systems. Other features inthis brochure include block diagrams,timing diagrams, technical notes and ap-plications."

Circle 624 on inquiry card.

Catalog Offers Used ElectronicInstruments

REI Sales Company, which sells usedstate of the art electronic instrumentsand equipment, has announced thepublication of a new 20 page catalog ofequipment for sale. The catalog is avail-able free upon request.

500 different products from 76manufacturers are listed; items availableare amplifiers, analyzers, attenuators,counters, couplers, detectors, filters,generators, meters, microcomputerdevelopment systems, oscilloscopes,power supplies, recorders, synthesizers,and miscellaneous equipment.

Terms and conditions of purchaseand sale prices of all items are describedin this illustrated, indexed catalog, whichis available from REI Sales Co, 1 NorthAv, Burlington MA 01803."

Circle 625 on inquiry card.

Handbook of Archer Semiconductors

The Semiconductor Reference Hand-book is a compilation of data on RadioShack's line of Archer semiconductors.A cross-reference listing for replacementof transistors, diodes and other inter-changeable semiconductor devices islisted at the back of the book. The totalnumber of cross-referenced devices ex-ceeds 46,000. These listings are com-puter selected and are based on analysisof the key parameters of the listeddevices.

The price is $1.95. For furtherinformation contact Radio Shack, FortWorth TX 76102."

Circle 623 on inquiry card.

Interested in Sound Recording?

Home Recording for Musicians byCraig Anderton is a 182 page bookwhich explains how to make professionalsounding tapes inexpensively at home.This fully illustrated book includes infor-mation on tape decks, multichanneledrecorders, microphones, studio setup,tapes, mixing, noise reduction, specialeffects and more. A special projectssection and demonstration record areincluded. It is priced at $9.95 and isdistributed by Music Sales Corp, 33 W60th St, New York NY 10023."

Circle 626 on inquiry card.

250 April 1979 © BYTE Publications Inc

MEMORY SALE! have it your way .

16K $295.00!! (450 NS)$327.00!! (250 NS)

32K $485.00!! (450 NS)$549.00!! (250 NS)

ASSEMBLED AND TESTED ONLY ! Check features before you buy any other memory

• Extended addressing allows board to exist anywhere • Static, of coursein 1 megabyte of memory on standard S-100 bus m Phantom line

• LOW Power, 1.8 Amp per 16K • Each 4K block locateable anywhere

• 9 Regulators for perfect heat distribution • Fully tested and burned in for 48 hoursADD-ON MEMORY CHIPS - $4.95 EACH !! (TMS 4044 or MM 5257) - 8 Chips - Minimum order

16K

32K

.:t';:i>»r4y.

*

■■■

IHIL, f(i

ft»M4auM

MEMORY MANAGEMENT $135.00 ! !

• Turn banks of memory on and off

• "Sensitize" board to 15 CPU instructions (similar to DEC System)

• Extends addressable memory space to 1 megabyte

Z-80CPU $195.00 ! !

• 2 Parallel + 2 Serial Ports

• 2 MHz or 4 MHz Switch Selectable

• Baud Rates 150-9600

• Power on Jump to On Board Eprom (2708 or 2716)

VIDEO TERMINAL SIMULATOR $295.00 ! !

• Plugs into S-100 Bus and simulates all functions of a Soroc orother RS-232 type terminal. A simple video monitor such asa Sanyo or Sony TV will perform as a smart terminal by writinginto an 10 Port.

• 2K Eprom, 4K Ram (2 video pages)

• Lower Case Descenders (16 x 64 or 24 x 80)

• Tabs, protected fields, home/load cursor, blink, reverse video,underline, page erase, etc.

West Coast:

ORDER NOW ! !

DELTA PRODUCTS

1653 E. 28th StreetLong Beach, Calif. 90806

Tel. (213) 595-7505

Personal checks must clear before shipmentCircle 89 on inquiry card.

SALES

&SER VICE

East Coast:

DELTA PRODUCTS

1254 South Cedar RoadNew Lenox, III. 60451

Tel. (815)485-9072

90 day unconditional warranty • B of A, M/C Okay

BYTE April 1979 251

TRS-80ESSERIAL I/O

• Can input into basic

• Can use LUST andLPRINT to output, oroutput continuously •RS-232 compatible •Can be used with orwithout the expansionbus • On board switchselectable baud ratesof 110,150,300,600,1200, 2400, parity orno parity odd or even,5 to 8 data bits, and 1or 2 stop bits. D.T.R.line • Requires +5,-12 VDC • Board only819.95 Part No. 8010,with parts $59.95 PartNo. B010A, assembled$79.95 Part No. 8010C. No connectors pro-vided, see below.

EIA/RS-232 con-nectar Part No.QB25PS6 0O .with9'. 8 conductorcsbloS10.95 PartNo DB25P9.

:*,■■•'>■■'. ■ ■■■-

mm

3' ribbon cablewith attachad con-nectors to ficTRS-80 and our serialboard $19.95 PertNo. 3CAB40.

RS-232/ TTL-::-IMTERFACE

• Converts TTL to RS-232, and converts RS-232 to TTL • Two sep-arate circuits • Re-quires -12 and +12volts • All connectionsgo to a 10 pin goldplated edge connector

• Board only $4.50Part No. 232, withparts $7.00 Part No.232A 10 Pin edgeconnector $3.00 PartNo. 10P

modem-::-

• Type 103 • Full orhalf duplex • Works upto 300 baud • Origi-nate or Answer • Nocoils, only low costcomponents • TTL in-put and output-serial

• Connect 8 n speak-er and crystal mic.directly to board •Uses XR FSK demod-ulator • Requires +5volts • Board only$7.60 Part No. 109,with parts $27.50 PartNo. 109A

VERBATIMMINIDISK

Box of 10

$29.95

RS-232/ TTYtf

INTERFACE

• Converts RS-232 to20mA current loop,and 20mA current loopto RS-232 • Two sep-arate circuits • Re-quires + 12 and -12volts • Board only$4.50 Part No. 600,with parts $7.00 PartNo. 600A

PAvi" mo &00

S-100 BUSACTIVE TERMINATOR

Board only $14.95 Part No. 900, with parts$24.95 Part No. 900A

APPLE liftSERIAL I/OINTERFACE

Baud rate is continuously adjustable from 0to 30,000 • Plugs into any peripheralconnector • Low current drain. RS-232 inputand output • On board switch selectable 5 toB data bits, 1 or 2 stop bits, and parity or noparity either odd or even • Jumper selectableaddress • SOFTWARE • Input and Outputroutine from monitor or BASIC to teletype orother serial printer • Program for using anApple II for a video or an intelligent terminal.Also can output in correspondence code tointerface with some selectrics. • Alsowatches DTR • Board only $15.00 Part No.2, with parts $42.00 Part No. 2A, assembled$62.00 Part No. 2C

8K EPROM piiceon

Saves programs on PROM permanently (untilerased via U V light) up to SK bytes. Programsmay be directly run from the program saversuch as fixed routines or assemblers. • S-100 bus compatible • Room for BK bytes ofEPROM non-volatile memory (2708's). • On-board PROM programming • Addressrelocation of each 4K of memory to any 4Kboundary within 64K • Power on jump andreset jump option for "turnkey" systems andcomputers without a front panel • Programsaver software available • Solder mask bothsides • Full silkscreen for easy assembly:Program saver software in 1 2708 EPROM$25. Bare board $35 including custom coil,board with parts but no EPROMS $139, with4 EPROMS $179, with 8 EPROMS $219.

WAMECO INC.

/wmc/,„.

FDC-1 FLOPPY CONTROLLER BOARD willdrive shugart, pertek, remic 5" & 8" drivesup to 8 drives, on board PROM with powerboot up, will operate with CPM [notincluded). PCBD $42.95

FPB-1 Front Panel. (Finally) AMSAI size hexdisplays. Byte or instruction single step.PCBD $42.95

MEM-1A BKx8 fully buffered, S-100, uses2102 type RAMS.PCBD $24.95, $168 Kit

QMB-12 MOTHER BOARD, 13 slot, termi-nated, S-100 board only $34.95

$89.95 Kit

CPU-1 8080A Processor board S-100 with

8 level vector interrupt PCBD .. $25.95

$89.95 Kit

RTC-1 Realtime clock board. Two independ-ent interrupts. Software programmable.PCBD $25.95, $60.95 Kit

EPM-1 1702A4K EPROM

card PCBD $25.95

$49.95 with parts less EPROMS

EPM-2 270B/2716 1 6K/32K

EPROM card PCBD $24.95

$49.95 with parts less EPROMS

QMB-9 MOTHER BOARD. Short Version of

QMB-12. 9 Slots PCBD $30.95

$67.95 Kit

MEM-2 16KxB Fully Buffered 2114 BoardPCBD $25.95, $269.95 Kit

T.V.TYPEWRITER

• Stand alone TVT

• 32 char/line, 16lines, modifications for64 char/line included

• Parallel ASCII (TTL)input • Video output

• 1K on board memory

• Output for computercontrolled curser •Auto scroll • Non-destructive curser •Curser inputs: up, down,left, right, home, EOL,EOS • Scroll up, down

• Requires +5 voltsat 1.5 amps, and -12volts at 30 mA • All7400, TTL chips •Char. gen. 2513 •Upper case only •Board only $39.00Part No. 106, withparts $145.00 PartNo. 106A

UART&

BAUD RATE

GENERATOR-::-

• Converts serial toparallel and parallel toserial • Low cost onboard baud rate gener-ator • Baud rates:110, 150, 300, 600,1200, and 2400 •Low power drain +5volts and -12 voltsrequired • TTL com-patible • All characterscontain a start bit, 5to 8 data bits, 1 or 2stop bits, and eitherodd or even parity. • Allconnections go to a 44pin gold plated edgeconnector • Board only$12.00 Part No. 101,with parts $35.00 PartNo. 101 A, 44 pin edgeconnector $4.00 PartNo. 44P

TAPE :.':INTERFACE

• Ray and record Kan-sas City Standard tapes

• Converts a low costtape recorder to adigital recorder • Worksup to 1200 baud •Dig-ital in and out are TTL-serial • Output ofboard connects to mic.in of recorder • Ear-phone of recorder con-nects to input on board

• No coils • Requires+5 volts, low powerdrain • Board only$7.60 Part No. 111,with parts $27.50 PartNo. 111A

HEX ENCODEDKEYBOARD

E.S.This HEX keyboardhas 19 keys, 16 encod-ed with 3 user defin-able. The encoded TTLoutputs, 8-4-2-1 andSTROBE are debouncedand available in trueand complement form.Four onboard LEDsindicate the HEX codegenerated for eachkey depression. Theboard requires a single+5 volt supply. Boardonly $15.00 Part No.HEX-3, with parts$49.95 Part No. HEX-3A. 44 pin edge con-nector $4.00 Part No.44P.

DC POWER SUPPLY-:

• Board supplies a regulated +5volts at 3 amps., +12, -1 2, and -5volts at 1 amp. • Power required is8 volts AC at 3 amps., and 24 voltsAC C.T. at 1.5 amps. • Board only$12.50 Part No. 6085, with partsexcluding transformers $42.50Part No. 6085A

YW ArHar ■ Mention part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISAIU \Jl UVI ■ number, expiration date and signature. Shipping charges added to C.D.D. orders. California residents add 6,5°/o for tax. Outside USA add 10°/o for air mailpostage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuitboard. Documentation is included witfuall products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "ComputerParts." Deeler inquiries invited. 24 Hour Order Line: [408) 226-4064 # Circuits designed by John Bell

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

ELECTRONIC SYSTEMS ^Pt'B, p- °- Box 21638,SanJose, CAUSA95151

252 BYTE April 1979

Circle 125 on inquiry card.

ACCELEWRITER DOUBLES= DEC WRITER SPEED =

The ACCELEWRITER doubles theLA36 Decwriter's speed from 30 to 60CPS. The ACCELEWRITER is a smallmolded module which plugs into theprinter's logic board.

The ACCELEWRITER enables theDecwriter to print at its "catch-up"speed of 60 CPS all of the time. Youmust be able to program fill charactersinto the data stream after carriage re-turns.

Easy installation and easy recon-version, if ever desired. Compatible withstandard Decwriter option boards. Fullone-year warranty. Only $115.00.

Please write or phone.Illinois residents add 5% sales tax.

Available NOW from

LARKS ELECTRONICS & DATA

P. O. Box 22

Skokie, Illinois 60077

(312) 677-6080

Circle 205 on inquiry card.

"GRT INTERFACES"black ■ white/colon

Monitors * Combination Rcvr/monitor sets• Modulator kits * B-W Cameras * ColorCameras * Audio Subcanier kits • Parts

WRITE or PHONE for DETAILS & PRICING.

DIAL: 402-987-3171

Dealers welcomed. Well established program.

—rt V^V)

13-B ATV Research DakottiOltir,

Broadway ,, At^M NE. 68131

Circle 19 on inquiry card.

SUPPLIES

• FLOPPY DISKS. MINI ORSTANDARD MEMOREX OR 3M

• 3M DATA CARTRIDGESDC300A. DC100A

■ 3M DIGITAL CASSETTES

• 3M OR MEMOREX AODIOCASSETTES. C-SO

• 3M DISK CARTRIDGES

WE OFFER:• COMPETITIVE PRICING•IMMEDIATE DELIVERIES

{Anv Quantity!■ DNCONDITIONAL GOARANTEE

BETA BUSINESS SYSTEMS

8369 VICKERSST.. #G^^h SAN DIEGO, CA 921714)565^1505

M

TRS-80 16K MEMORY EXPANSION KIT

INCLUDES 8 TESTED 8 GUARANTEED M5K 4116 3 1SK RAMS.PROGRAMMING PLUGS & EASY-TO-FOLLOW INSTRUCTIONS.

$72 BO per KIT

6800 64K BYTE RAM SET AND CONTROLLER

CHIP SET MME 64K BYTES OF MEMORY FOR YOUR6800. THE CHIP SEES INCLUDE:,„ rm 32 M5K 4116-3 16K RAMS.

$29558 1 MC3480L MEMORY CONTROLLER.

pfb rriMPi ftf sft 1 MT3242AP MEMORY ADDRESSPER COMPLETE SET MULT|PLEXER/C0UNTER.

DATA S APPLICATION SHEETS.PARTS TESTED & GUARANTEED.

16K DYNAMIC RAMS

M5K 4116-3 200NSEC

ACCESS TIME/375NSEC

CYCLE TIME TESTED 8

BURNED-IN.

J859 EACH/MIN.QTY. 8

4K STATIC RAMS

EQUIV.TOTMS40L44-30300NSEC ACCESS TIME/CYCLE TIME FOR 4MHZ2-80 OPERATION.*755 EACH/MIN.QTY. 8TESTED & GUARANTEED

QUANTITY DISCOUNTS AVAILABLEALL ORDERS POSTPAID. US FUNDS CHECK OR MONEYORDER. VISA.8A.MASTERCHARGE — SEND ACCOUNT NO.,EXPIRATION DATE , INTERBANK NO, 8 SIGNED ORDER.PHONE ORDERS: 714/633-4460

MEASUREMENT SYSTEMS & CONTROLS,inc.

MEMORY DEVICES DIVISION, DEPT. B3

867 NORTH MAIN ST, ORANGE, CA 92668

Circle 216 on inquiry card.

Pascal Micro Engine $2695.00

IllllllllllllllllllJIIIillllllllllllllllllllllllllllllllllllll

Discounts on

Xitan, Cromemco, SD Systems,Vector, TEI, North Star, Apple,Hytype II, Qume, Axiom, Tl,Centronics, Integral Data Systems,Soroc, Lear Siegler, Intertec,Micromation, PerSci, Micropolis,SSM, Computalker, Heuristics,Mountain Hardware, Summagraphics,

iiiiiiiimiiiiiiiiiiiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiiiiii

[fiiarsB mfiHT

Microcomputers, Peripheralsand Software

1015 NAVARRO

SAN ANTONIO. TEXAS 78205512/222 1427

Circle 221 on inquiry card.

> SHORT CASSETTES

List H.00 10 for S7.50 50 for $32.50

/ MICROSETTE CO. \777 Palomar Ave. ■ Sunnyvale, CA 94086

Duplication Services

Microsette also offers professionalduplication services for Commo-dore PET and Radio Shack TRS-80Level I and Level II cassettes. Ourservice provides mastering, qualitycontrol, all material including two-piece box, affixing of your labels orsupplying our blank labels and ship-ping. Prices start at $2.00 each in100 quantity.

MICROSETTE CO.

777 Palomar Ave. • Sunnyvale, CA 94086

SURPLUS ELECTRONICS

ASCII

ASCII

IBMSELECTRIC

BASED I/O TERMINAL

WITH ASCII CONVERSION

INSTALLED $645.00

• Tape Drives • Cable

• Cassette Drives • Wire

• Power Supplies 12V15A, 12V25A,5V35A Others, • Displays

• Cabinets • XFMRS • HeatSinks • Printers • ComponentsMany other items

Write for free catalogWORLDWIDE ELECT. INC.130 NORTHEASTERN BLVD.NASHUA, N.H. 03060Phone orders accepted using VISAor MC. Toll Free 1-800-258-1036In N.H. 603-889-7661

Circle 395 on inquiry card.

\ TRS-80 J

SPECIAL PROMOTION SALE

SAVE 10%, 15% or more on ALLComputers, Peripherals, Software,and ALL other fine Radio Shack®products.

NO TAXES on out-of-state ship-ments.

FREE Surface delivery in U.S.

WARRANTIES will be honoredby your local Radio Shack® store.Offered exclusively by

Radio Shack*

Authorized Sales Center

1117 Conway

Mission, Texas 78572

(512) 585-2765

^

^

J

Circle 314 on inquiry card.

VANGUARD

H3K STATIC CAM

Designed for IEEE S100 BusStandards.

Fully static and fully buffered.Configured as four 4K blockswithin a 64K address space.Each block separately address-able and write-protectable.Components and assemblyfully burned-in and tested.One year guarantee.

Assembled Kit Board

250 nsec chips $340. $300. $35.

450 nsec chips $300. $260

Order direct by check, Visa orMaster Charge. California resi-dents please add bVz% tax.

AtfT

Advanced Memory Technology480 Mercury Drive, Sunnyvale, CA(408) 736-3864 94086

Circle 23 on inquiry card.

Circle 229 on inquiry card.

Circle 4 on inquiry card.

Circle 174 on inquiry card.

MORE

BRAIN

FOR YOUR BUCK

COMPUCOLOR

1495.00

CROMEMCO

D.E.C.

HORIZON-I

1395.00

DYNABYTE

AXIOM

SOROC IQ120

795.00

EXTENSYS

HAZELTINE

SD SALES KITS16K MEM32K MEM64K MEM

250.00365.00615.00

INDUST. MICRO

NORTHSTAR

SEALS

VECTOR GRAPHIC

TEI

MICROPOLIS

TARBELL

T.I.

IMSAI

BALLY

CENTRONICSDIABLORADIO SHACK

new-VIDEO BDZ80 STARTER SET

250.00225.00

MAIL ORDER ONLY

VERSAFLOPPY

159.00

SEND 50* FOR OUR

SBC-100

225.00

CATALOG & PRICES

SHUGART DRIVES

EXIDY

TO ORDER SEND

SA-400

305.00

NEC

CHECK OR M.O. add

SA-800

490.00

QUME

1% for shipping

AD P ICE

GOOD TILL MAY 31,1979

Calif, res add 6% tax

HOLLYWOOD SYSTEMS ™°iisr,bW-

L.A. CALIF. 90069

15

BECKIAN ENTERPRISES

All Prime Quality — New Parts Only

Satisfaction Guaranteed

EDGE CARD CONNECTORS: GOLD PLATED. (Not Gold Flash)BODY: Non brittle, Solvent res., G.E. Valox.CONTACTS: Bifurcated: Phos/Bronze: Gold over Nickel.ABBREVIATIONS: S/T Solder Tail; S/E Sold. Eyelet:

W/W Wire Wrap 3; SW/W Short W/Wrap;

PART /f Description

S010 50/100 S/T ALTAIR

5020 50/100 S/T IMSAI

5030 50/100 W/W IMSAI

5040 50/100 S/E ALT/IMSAI

5050 50/1 00 S/T CROMEMCO

1450 IMSAI CARD GUIDES

.100" Contact Center Connectors.

102010401050106010661070107510801085109010931095

13/26 S/E Imsai MIO:25/50 S/E26/50 S/T36/72 W/W Vector.36/72 S/T Vector.40/80 S/E PET40/80 W/W PET40/80 S/T PET43/85 S/E Cos.ELF43/86 S/T Cos.ELF43/86 S/T Cos.ELF43/86 W/W Cos.ELF

POLARIZING KEYS: For Above

.156" Contact Center Connectors.

1550 6/- S/E PET.Etc

1560 6/12 S/T PET:NSC.

1575 12/24 S/E PET

1 580 1 2/24 S/T PET

1 590 1 5/30 S/E GRI Keybd.

1620 18/36 S/E

1650 22/44 S/E KIM,VECTOR

1660 22/44 S/T KIM.VECTOR

1670 22/44 W/W KIM.VECTOR

1690 36/72 W/W

1710 36/72 S/E '

1720 36/72 S/T

1 730 43/86 S/T Mot. 6800

1 740 43/86 S/T Mot. 6800

1750 43/86 W/W Mot. 6800

POLARIZING KEYS: For Above

Row Sp.

.140.250.250.140.250

.140.140.140.200.200.140.200.140.140.140.200.200

.140.140.140.140.140.140.140.140.200.200.140.200.140.200.200

1-4

5-9

10-24

3.75

3.50

3.30

3.95

3.75

3.50

4.10

3.90

3.70

5.00

4.50

4.25

6.25

6.00

5.75

0.16

0.14

0.12

2.102.953.004.804.004.805.004.905.005.104.955.500.10

1.30

1.352.152.102.252.402.202.002.403.903.503.304.404.354.450.10

1.852.752.804.603.754.504.654.604.754.854.705.200.10

1.101.151.951.902.052.202.001.802.203.753.303.104.154.104.250.10

1.752.502.604.303.504.304.354.254.504.604.454.900.10

0.900.951.751.701.852.001.801.702.003.503.102.903.903.854.100.10

RS232 & D' TYPE SUBMINIATURE CONNECTORS:

QUANTITY

DE9P MaleDE9S FemaleDEI 10963-1DA15P MaleDA15S FemaleDA612111DAI 10963-2DB25PMaleDB25S FemaleDB51212-1DB51226-1ADB1 10963-3DC37P MaleDC37S FemaleDC1 10963-4DD50P MaleDD50S FemaleDD51216-1DD1 10963-5D20418-2 Hard

2pc. Grey Hood

1 pc. Grey Hood2pc. Grey Hood

1 pc. Grey Hood2pc. Black Hood2pc. Grey Hood

2pc. Grey Hood

1 pc. Grey Hood2pc. Grey Hood,ware Sets

1-4

1.451.931.201.952.801.251.222.203.201.301.401.353.704.901.954.404.902.302.400.75

5-9

1.351.801.101.802.601.151.102.103.001.201.301.253.504.701.854.304.702.102.200.70

10-24

1.251.701.001.702.401.101.051.902.701.101.201.153.354.401.754.104.501.902.000.65

I.C. SOCKETS. GOLD.WIRE WRAP 3 TURN.14 pin $0.36 ea.16 pin 0.38 ea.

I.C. SOCKETS.Dip Solder. Tin.14 pin $0.15 ea.16 pin 0.17 ea.

8080 PRIME

$8.00 ea.

2708 EPROMS PRIME

$14.00 ea.

CONNECTORS FOR CENTRONICS 700 SERIES:Amhpenol 57-30360 For Back of Centronics '700' Series:

Price: $9.00ea. 5 pes. $7.50ea.

WHISPER FANS: Excellent for Computer cabinet cooling. Extremely quiet.Dim. 4-3/4" x 1-1/2" thick. U.L. Listed. U4 5^9 10-24

$22.00 $19.00 $18.00WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES AREWELCOME.

WE ARE CONNECTOR (EDGE CARD) SPECIALISTS. IF YOU DO NOT SEEWHAT YOU NEED IN THIS ADVERTISEMENT. PLEASE WRITE US. WE WILLREPL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All ordersover $25.00 in USA and Canada: WE PA Y THE SHIPPING.NOTE: CA residents please add 6% sales tax.

NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED.

»*»- ORDERS TO:Be(;kian ^fgfpf/ggg

P.O. Box 3089Simi Valley, CA 93063

254 BYTE April 1979

Circle 30 on inquiry card.

••••

••••§••«.

• •••.

•••••••...•••■■§••».§•••-•••••§••«•§•••■

•••••

•••••••••••••••§•••..

••••••

#••••■

•••••■•••..■

••••••

••••••

•••••■

§••«..

••••••

§••»..

••••••

•••••■

••••■

••••••

•••••<

•••••■

••••••

••••••

•••••■

•••••■

#••••■

••••••

••••••

••••••

:•••••••••••••••■§••■••••••••

:••••■•••••••■•••••*••■§•••■■#••••••••••

:•....•••■■#•••••

•••••■

••••••

•••••■

••••••

•••••■

•••••■

:•■••■••••■••••••

•••••■

••••■■

•••••■

••••••

:••••-•••••••••••

•••••■

••••••

•••••■

•••••■

••••••

•••••■

••••••

:•...-•••■■••••••

•••••■

•••••■

••••••

•••••

•••••<

•••••■

••••■•

•••••■

•••••

§••■•■••••••

••••■

§••••<

•••••

•••••

••••■

{•...••••

fii

wnw

USES 2708s!

Thousands of personal and business systems aroundthe world use this board with complete satisfaction.Puts 16K of software on line at ALL TIMES! Kit featuresa top quality soldermasked and silk-screened PC boardand first run parts and sockets. All parts (except 2708's)are included. Any number of EPROM locations may bedisabled to avoid any memory conflicts. Fully bufferedand has WAIT STATE capabilities.

OUR 450NS 2708'SARE $8.95 EA. WITHPURCHASE OF KIT

ASSEMBLED

AND FULLY TESTED

ADD $25

ADD S5

FOR250NS!

$129

KIT

(450 NS RAMS!)

Thousands of computer systems rely on this rugged, workhorse, RAM board. Designed for error-free, NO HASSLE,systems use.KIT FEATURES:

i. Doubled sided PC Board with soldermask and silk screen layout.Goldplated contact fingers.

2. All sockets included.

3. Fully buffered on all address and datalines.

4. Phantom is jumper selectable to pin67.

5. FOUR 7805 regulators are providedv on card.

Blank PC Board w/Documentation

$29.95

Low Profile Socket Set. 13.50

Support ICs (TTL & Regulators)

$9.75Bypass CAP'S (Disc & Tantalums)

$4.50

ASSEMBLED AND FULLYBURNED IN ADD $30

16K STATIC RAM KIT-S 100 BUSS

'fill iiiiiiiiiiiii

'{llllEIIII1111111

$295

KIT

FULLY

STATIC, AT

DYNAMIC PRICES

WHY THE 2114 RAM CHIP?

We feel the 2114 will be the next induslry standardRAM chip (like the 2102 was). This means price,availability, and quality will all be good! Next, the2114 is FULLY STATIC! We (eel this is the ONLYway to go on the S-100 Buss! We've all heard theHORROR stories about some Dynamic RamBoards having trouble with DMA and FLOPPYDISC DRIVES, Who needs these kinds ofproblems? And finally, even among other 4KStatic RAM's the 2114 stands out! Not all 4K staticRams are created equal! Some of the other 4K'shave clocked chip enable lines and various timingwindows just w critical as Dynamic RAM's. Someof our competitor's 16K boards use these "tricky"devices. But not us! The2114 is the ONLY logicalchoice for a trouble-free, straightforward design.

COMPLEMENTARY POWER TRANSISTORS

SILICON NPN AND PNP. TO-220 CASE.VCEO - 40V PD - 30 WATTS

FOR AUDIO POWER AMPS, ETC

TIP29 -TIP30 -

NPNPNP

YOUR CHOICE

3 FOR $1

KIT FEATURES

1 Addressable as four separate 4K Blocks

2. ON BOARD BANK SELECT circuitry

(Cromemco Standard1). Allows up to 512K online!

3. Uses 2114 (450NS) 4K Static Rams.

4. ON BOARD SELECTABLE WAIT STATES.

5. Double sided PC Board, wiiti solder mask andsilk screened layout. Gold plated contact lingers

6. All address and data lines fully buffered

7. Kit includes ALL parts and sockets.

8. PHANTOM is jumpered to PIN 67.

9 LOW POWER' under2arnps TYPICAL from thet6 Volt Buss.

10. Blank PC Board can be populated as anymultiple of 4K.

BLANK PC BOARD W/DATA-$33LOW PROFILE SOCKET SET-$12 ASSEMBLED & TESTED-ADD $30SUPPORT ICS & CAPS—$19.95 2114 RAM'S—8 FOR $69.95

16K DYNAMIC RAM CHIP

16K X 1 Bits. 16 Pin Package. Same as Mostek 4116-4. 250 NS access 410NS cycle time. Our best price yet for this state of the art RAM. 32K and 64KRAM boards using this chip are readily available. These are new, fullyguaranteed devices by a major mtg. VERY LIMITED STOCK!

8 FOR $89.95

NOT ASSOCIATED

WITHDIGITAL RESEARCH

OF CALIFORNIA,

THE SUPPLIERS OF

CPM SOFTWAW;.

450ns! 2708 EPROMS

Now full speed! Prime new units from a major U.S.Mfg. 450 N.S. Access time. 1K x 8. Equiv. to 4-1702A's in one package.

15.75 ea.

$995

4 FOR $50"°

PRICE CUT

NATIONAL SEMICONDUCTOR NEW!

CAR CLOCK MODULE - #MA6008

$6

99

each

INCLUDES CRYSTAL TIMEBASE!WORKS ON 12 VDC!

Originally used by HYGAIN to indicate time andchannel on an expensive C.B. Mini size, sellcontained module. Not a Kit. Four digits nlusflashing indicator for seconds. Includes MMLj69and 3.58 MHZ crystal (or super accurate time base.With hookup data.

MFGR's CLOSEOUT

LIMITED QTY.

Z-80 PROGRAMMING MANUAL

By MOSTEK, orZILOG. The most detailed explanationever on the working of the Z-80 CPU CHIPS. At leastone full page on each of the 158 Z-80 instructions. AMUST reference manual for any user of the Z-80. 300pages. Just off the press. $12.95

LAB-BENCH VARIABLEPOWER SUPPLY KIT

5 to 20 VDC at 1. AMP. Short circuit protected bycurrent limit. Uses IC regulator and 10 AMPPower Darlington. Very good regulation and lowripple. Kit includes PC Board, all parts, largeheatsink and shielded transformer. 50 MV. TYP.Regulation.

MALLORY COMPUTERGRADE CAPACITOR

30.000 MFD 15WVDC

Small: 3x2 Inches

$1.99 ea. 3 For $4.99

$15.99 KIT

GENERAL INSTRUMENT

FULL WAVE BRIDGE4 AMP 600 PIV

3/4 IN SQUARE - WITH LUGS

750 ... 3 FOR $2

New! REAL TIME

Computer Clock Chip

N.S. MM531 3. FeaturesBOTH 7 segment andBCD outputs. 28 PinDIP. $4.95 with Data

"THE COLOSSUS"FAIRCHILD SUPER JUMBO LED READOUT

A full .80 inch character. The biggest readout we have

ever sold! Super efficient. Compare at up to S2.95 each

from others! YOUR CHOICE

FND 843 Common Anode » .

FND 850 Common Cathode ' I ea (6 for $6.95)

:.V

Digital Research Corporation

** (OF TEXAS)

P.O. BOX 401247Y* GARLAND, TEXAS 75040 • (214) 271-2461

TERMS: Add 30c postage, we pay balance Orders under Sl5 add 75c handling NoCOD We accept Visa, MasterCharge. and American Express cards Tex Res add5% Tax Foreign orders (excepl Canada add 20% P & H 90 Day Money BackGuarantee on all items

• ••••••••

•••••

• •••■

•••••

•••••

••••••

••••••

•••••

•••••

•••••

•••••••••••

•••••■>••••

-••••

••••••

•••••

■•••••

••••••

••••••

■•••••

••••••

••••••

■•••••

■•••••

■•••••

••••••

••••••

■•••••

■•••••

••••••

■•••••

■••••§

•••••

•••••

■•••••

.•.••I•••••j

•••••i

••••••

-••••

••••••

■•••••

•••••

••••••

■•••••

••*•••••••••

••••••

—•••■•••••

••••••

•••••

••••••

■•••••

•••••§

■•••••

■•••••

•

•••••

■•••••

—•••■•••••

■•••••

•••••#

••••••

••••••

...••■•••••

■•••••

••••••

■•••••

•••••

■••♦•#

-••••§■••••#

••••••

•••»•

••••••

■•••••

■•••••

•••••

■•••••

••••••

-••••

••••a•••••••••§•••••••••••••••••••••:;••.•.!••••••

Circle 100 on inquiry card.

BYTE April 1979

255

7400 TTL

SN7J00NSN740INSN7402NSN7403NSN7404NSN7405NSN7406NSN7407NSN7408NSN7409NSN7410NSN7411NSN7412NSN7413NSN7414NSN7416NSN7-J17NSN7420NSN7421NSN7422NSN7423NSN7425NSN7426NSN7427NSN7429NSN7430NSN7432NSN7437NSN7438NSN7439NSN7440NSN7441NSN7442NSN7443NSN7444NSN7445NSN744BNSN7447NSN7448NSN74SONSN74&INSN7453NSN74S4NSN7459ASN7460N

SN7470NSN7472NSN7473NSN7474NSW7475NSN7476NSN7479NSN746DNSN7482NSN7483NSN748SNSN7486NSN7489NSN7490NSN7491NSN7492NSN7493NSN7494NSN7495NSN7496NSN7497NSN74IO0NSN74107NSN74I09NSN74I16NSN74121NSN74122NSN74123NSN74125NSN74126NSN74132NSN74136NSN74141NSN74142NSN74143NSN74144NSN74145NSM74I47NSN7414BNSN74150NSN74151NSN74152NSN74153NSN74154NSN7415SNSN74156NSN741&7N

Wto

SN74460NSN74161NSN74162NSN74163NSN74I64NSN741G5NSN74166NSN74167NSN74170NSN74172NSN74173NSN74174NSN74175NSN74176NSN74177NSN74179NSN741BONSN74181NSN741B2NSN741B4NSN741B5NSN74186NSN7418BNSN74190NSN7419INSN74192NSN74193NSN74194NSN74195NSN74196NSN74197NSN74198NSN74I99NSN74S200SN74251NSN74279NSN74283NSN74284NSN74285NSN74365NSN7436SNSN74367NSN7436SNSN74390NSN74393N

20% Diicounl 100 pel combined ordar 25% -1000 pet combined order

CD40G0CD40O1

C04D02CO40O5CD4007C04Q09CD4Q10CD4011CD4012CD4013CO40I4C04015CD4D16CO4017CO4018CD4019C04Q20CD4021C04022CD4Q23CDJ024CD4025CD4026CD4027

74C0074C0274C0474C0874C1074C1474C2074C3074C4274C4874C7374C74

7BMG

LM1Q6H

LM300H

LM301CN/H

LM302H

LM304H

LM305H

LM307CN/H

LM308CN/H

LM309H

LM309K

LM310CN

LM311N/H

LM312H

LM3I7K

LM3I8CN/H

LM319N

LM320K-5

LM320K-5.2

LM320K-12

LM320K-15

LM320K-1B

LM320K-24

LM320T-5

LM320T-5.2

LM320T-8

LM320M2

LM320T-15

LM320T-18

IM320T-24

LH323K-5

LU324N

LM339N

LM340K-5

LM340X-6

LM340K-8

LM340K-12

LM340K-15

74LSO074LS0174LS0274LS0374LS0474LS0S74LS0874LS0974LS1074LSI174LS1374LSI474LS1574LS2074LS2174LS2274LS2674LS2774LS2874LS3074LS3274LS3774LS4Q74LS42

C/MOS

CO4028CD4029CO403OCL;4035CD4040CD104TCD4042CD4043CD4044C04046CO4047C04048C04049CD4050CD4051CD4053CD4056CD40S9CD4060CD406SCD4Q68CD4069

CD4070CD4071

CO4072

C04076

CD408I

CO4082

CD4093

C0-IQ9fl

MC14409

MO4410

MCI44I1

MCM419

MC 14433

MCI 4506

MC 14507

MCI 4562

MCI 4583

CD45D8

CQ45IQ

C04511

CIJ4515'

CD4518

CO4520

CD4566

74C00

74C8574C9074C9374C9574C10774C15I74C1S474C15774C16074C161

74C16374C16474C17374C192

74CI9374CI9574C92274C92374C92574C926B0C9580C97

1.50

LINEAR

LM340K-1B 1.35

LM340K-24 1 35

LM340T-5 1.25

LM340T-6 1 25

LM340T-8 1.25

LM340T-12 1.25

LM340T-15 1.25

LM340T-18 1.25

LM340T-24 1,25LM35BN

2.05

LM370N

LM373N

LM377N

IM3B0N

LM380CN

LM381N

LM3B2N

NE501N

NE510A

NE529A

NESSIHA'

NE535T

NE540L

NE544N

NE550N

NE555V

NE556N

NE560B

NE561B

NE562B

NE565N/H

NE566CN

NE567V,H

NE570N

LM703CN/H

LM709N/H

1.95

4.953.956 00600

LM71QN

LM711N

LM723N/H

LM733N

LM739N

LM741CN/H

LM741-14N

LM747N/H

I.M74SH/H

LM1310NLM1458CN(H

MC1488N 1 39

MC1469N 1 39

LM1496N .95

LM1556V 1.75

MC1741SCP 3 00

LM2111N 1.95

LM2901N 2 95

LM3053N 1.50

LM3065N 1 49LM3900N(3401).49LM3905NLM3909WMC5558V

LM75450N

75451CN

75452CN

75463CN

75454CN

75491CN

75492CN

75493N

75494CN

RC4136

RC4151

F1C4194

RC4195

4.95.49

74LS00HL

74LS4774LSSI74LS5474LS5574LS7374LS7474LS7574LS7674LS7874LSB374LSB574LS8674LS9074LS9274LS9374LS9574LS9674LS10774LS10974LS11274LS12374LS12574LS13274LS136

74LS13874LS13974LS15174LS15574LS15774LS16074LS16174LS16274LS16374LS16474LS17574LS18174LS19074LS19174LS19274 LSI 9374LS19474LS19574LS25374LS25774LS25874LS26074LS27974LS36774LS36874LS670

Kits

Regulated Power Supply

Umi LM 309KHut link providedP.C. bond cnrutiuciinnPiovidn i lolid 1 «mi> .'■ iiV

Includci companmii, luiilvvir

Hid intiruciiont

Size: 3-1/2" » 5" » 2" h<[h

JE200 5v lamp *14.95

ALSO AVAILABLE:

4 Digit Clock Kit

*

* Bright .357" ht. ltd diipliy

* Scquenliil llnhing colon

* 12 or 24 hour opBfition

* Extruded aluminum die {black)

" Pre»ure mitchei for houri, minutes mid hold function!

d wall [

rufor

JE730

•14.95

JE900 - Digital Stopwatch kit $39.95 JE2206B Function Generator $19.95JE701 • 6 Digit Clock kit $19.95 JE747 Jumbo 6 digit Clock kit $29.95

DISCRETE LEDS

.200- dla.

XC556R redXC556G greenXC556V yellowXC556C clear

.200' dla.

XC22RXC22GXC22Y

red

green

yellow

.170- dla

5/J1•1/SI4*14/S1

5/S1««14/S1

.005" dla.

/50 red W

INFRA-RED LED

1/4"x1/4"x1/16" Hal

5/S1

.125- dla.XC209R redXC209G greenXC209V yellow

.115' dla.XC526R redXC526G greenXC526Y yellowXC526C clear

.190' dla.XC111R redXC1I1G greenXC111V yellowXC11IC clear

5/S14/S14/S1

S/S14/S14/SI4/S1

5/SI4/S14/S14/SI

TIMEX T1001LIQUID CRYSTAL DISPLAY

FIELD EFFECT

4 DIGIT - 5" CHARACTERSTHREE ENUNCIATORS2.00" X 1 20" PACKAGEINCLUDES CONNECTOR

TIODl.Transmissive $7.96

TIDOIARellective B.25

DISPLAY LEDS

TYPE

MAN 1MAN 2

MAN 3MAN 4MAN 7GMAN 7YMAN 72MAN 74MAN 82MAN 84MAN 3620MAN 3630MAN 3640MAN 4610MAN 4640MAN 4710MAN 4730MAN 4740MAN 4810MAN 4840MAN G61DMAN 6630MAN 6640MAN 6650MAN 6560MAN 6680MAN 6710

POLARITY I

Common Anode-red5 » 7 Ool Matrix-red

Common Cathode-redCommon Cathode-redCommon Anofle-tjreenCommon Anode-yellowCommon Anode-redCommon C.itlioda-redCommon Anode-yellowCommon Cathode-yellowCommon Anode-orangeCommon Anode-orange t 1Common Cathode-orangeCommon Anode-orangeCommon Cathode-orangeCommon An ode-redCommon Anodfl-ied ± 1Common Cathode-redCommon Anode-yellowCommon Caihode-yellowCommon Anode-orango-D 0.Common Anode-orange ± 1Common Cathodc-orange-D.D.Common Cain ode -orange l 1Common Anode-orangeCommon Calhode-orangeCommon An ode- red -D D

PRICE295

4 95

TYPE

MAN 6730

MAN 6740

MAN 6750

MAN 6760

MAN 6/80

OL701

DL704

DL707

DL728

DL741

DL746

DL747

DL749

DL750

DL33B

FND70

FND358

FND359

FND503

FN05O7

5082-7730

H05P-3400

HDSP-3403

5082-7300

5082 7302

5082-7304

5082-7340

POLARITY

Common Anode-ret) t 1Common Calhade-fed-D DCommon Cat ho de- red - 1Common Anode-redCommon Cathode-redCommon Anode-red t 1Common Calhode-redCommon Anode-redCommon Calhode-redCommon Anode-redCommon Anode-ied t ICommon Anode-redCommon Calhode-red 1 1Common Cain ode-redCommon Calhode-redCommon CalhodeCommon Calhode i 1Common CathodeCommon CalhodB(FND500|Common Anode (FN0510)Common Anode-redCommon Anode-iedCommon Cathode red4 x 7 sgl OiQft-RHOP4 k 7 Stjl. Oigil-LHDPOvemmge character (*1)4 x 7 Sgl Digii-Hexadecimal

2.102 10199519 9515 0022 50

RCA LINEAR

CA3013TCA2023TCA3035TCA3039TCA3046NCA3059NCA306ONCA3080TCA3081N

15 CA30B2N

56 CA3083N

48 CA3086N

35 CA3089N

30 CA3130T

25 CA3140T

25 CA3160T

85 CA3401N

.00 CA3600N

49

CALCULATORCHIPS/DRIVERS

MM5725

52.95

MM573B

2 95

DM8864

2.00

DM8B65

1 00

DM88B7

75

DMBB69

75

9374 7 sea

C A LED duver

CLOCK CHIPS

MM5309 $4.95

MM5311 4.95

MM5312 4 95

MM5314 4.95

MM5316 6.95

MM5318 9 95

MM5369 2.95MM5387/I99BAMM5841

9.95

MC1408L7

MC1408L8

MC1439L

MC3022P

MC3061P

MC'I0I6(74416)

MC4024P

MC4040P

MC4044P

8 pin LP14 pin LP16 pin LP18 pin LP20 pin LP

14 pin ST16 pin ST18 pin ST24 pin ST

B pin SG14 ptn SG16 pin SGIB pin SG

IC SOLOERTAIL -TYoTn, PROFILE (TIN) SOCKETS

25-49 50-100 (-24

22 pin LP J 3724 pin LP 3828 pin LP 4536 pin LP -60SOLDERTAIL STANDARD (TIN) 40 P|fl" M28 pin ST $ 9936 pin ST 13940 pin ST 1.59

SOLDERTAIL STANDARD (GOLD)

24 pin SG i 70

25-49 50-100

.52

28 pin SG36 pin SG

40 pin SG

8 pin WW £ 39

10 pin WW .45

14 pin WW 39

16 pin WW .43

18 pin WW .75

WIRE WRAP SOCKETS(GOLD)LEVEL #3

22 pin WW $ ,95

24 pin WW 1.0528 pin WW 1.4036 pin WW 1.5940 pin WW 1 75

1/4 WATT RESISTOR ASSORTMENTS -5%

10 OHM27 OHM68 OHM

i?OHM13 OHMH?OHM

lb OHM19 OHMI0O OHM

120 OHM 150 OHM

180 OHM 220 OHM 2TOOHM 330 OHM WO OHMJ70OHM ISO OHM 680 OHM B?0 OHM 'K

ASST. 7

ASST. 8R

I.7M

3.3M

330K820H2.2M5.6M

Includes Resistor Assortments 1 -7 (350 PCS.)

50 PCS

$1.75

50 PCS

1.75

50 PCS

1.75

50 PCS

1.75

50 PCS

1.75

SO PCS

1.75

so pes 1.75$9.95 ea

$10.00 Minimum Order — U.S. Funds Only Spec Sheets - 2M

California Residents — Add 6% Sales Tax 1171 Catalog Available—Send 4K stamp

aimeco

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDliR ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE. SAN CARLOS. CA 94070

ADVERTISED PRICES GOOD THRU APRIL

AY-5-9100

AY-5-9200

AY-5-9500

AY-5-2376

HD0165

74C922

TELEPHONE/KEYBOARD CHIPS >

Push Button Telephone Dialler $14.95

Repertory Dialler 14 95

CMOS Clock Generator 4 95

Keyboard Encoder 186 keys) 14.95

Keyboard Encoder [16 keys) 7.95

Keyboaid Encoder (16 keys) 5.95

ICM7045ICM7205ICM7207ICM7208ICM7209

ICM CHIPS

CMOS Precision TimerCMOS LED Stopwatch/TimerOscillator ControllerSeven Decade CounterClock Generator

24.9619.95

7501995

695

NMOS READ ONLY MEMORIES

MCM6571 128X9X7 ASCII Shifted with Greek 13.50

MCM6574 128 X 9 X 7 Math Symbol S Pictures 13 50

MCM6575 128 X 9 X 7 Alphanumertc Control 13.50

Character Generator

MISCELLANEOUS

TL074CN Quad Low Noise bi-let Op Amp 2.49

TL494CN Switching Regulator 4.49

TL496CP Single Switching Regulator 1.75

11C90 Divide 10/11 Prescaler 19 95

95H90 Hi-Speed Divide 10/11 Prescaler 1195

4N33 Photo-Darlington Opto-lsolator 3 95

MK50240 Top Octave Freq. Generator 17.50

DS0026CH 5Mhz 2-phase MOS clock driver 3.75

TIL308 .27' red num. display w/integ. logic chip 10.50

MM5320 TV Camera Sync Generator 14 95

MM5330 m Digit OPM Logic Block 5.95

LD110/111 3Vi Digit A/D Converter Set 25 00/set

UTRONIX ISO-LIT 1

Photo Transistor Opto-lsolator

(Same as MCT 2 or 4N25)

2/990

SN 76477

SOUNO GENERATORGenerates Complex SoundsLow Power - Programmable

3.95 each

TV GAME CHIP AND CRYSTAL

AY-3-8500-1 and 2.01 MHZ Crystal (Chip & Crystal _ ftc .

includes score display. 6 games and select angles, elr 7 .-J5 /SGI

S8.404.404.401.551.50.39

XR205

XR210

XR215

XR320

XR-L555

XR555

XR556

XR567CP

XR567CT

XR1310P 1.30

XR1468CN 3.85

XR1486 1.39

XR1469

25

EXAR

JE2206KA 14.95

JE2206K8 19.95

XR1SO0 3.20

XR2206 4.40

XR2207 3.85

XR220B 5.20

XR2209 1.75

XR2211 5.25

XR2212 4.35

XR2240 345

XR2242CP 1.50XR2264 4.25

XR2556XR2567XR3403XR4136XR4151XR4194XR4202XR4212XR45MXR4739XR4741

3.20

2.991.25

1 35295•! 9:.3.60

2 05.75

1.151.47

TYPE

1N746

IN751

1N752

1N753

1N754

1N757

1N759

1N959

1N965

1N5232

1N5234

1N5235

1N5236

1N5242

1N5245

1N456

1N458

1N465A

1N4001

DIODES

VOLTS W

3.3 400m

5.1 400m5.6 400m

6.2 400m6 8 400m

400m400m8.2 400m

120

400m500m50Dm500m500m500m500m

6/1 00

6/1.005/1 0012/1 00

TYPE1N40021N4O031N40O41N40051N40061N40Q71N3600IN414B1N41541N43051N47341N47351N47361N473B1N47421N4744IN1183IN11841N11851N1186

VOLTS W

100 PIV 1 AMP200 PIV 1 AMP400 PIV 1 AMP600 PIV 1 AMPBOO PIV 1 AMP1000 PIV I AMP50 200m75 10m35 10m

15 1w

50 PIV 35 AMP100 PIV 35 AMP

150 PIV 35 AMP200 PIV 35 AMP400 PIV 35 AMP

PRICE

12.. 1 0012/1 0012/1 0010 1 0010/1 0010/1006/1 (15/11

C36DC3BM2N2328MOA 980-1MDA 980-3

SCR AND FW BRIDGE RECTIFIERS

:r 400V

35A (« 600V1.6A (Vi 300V

C106B1

MPSA05

MPSA06

TIS97

TIS98

40409

40410

40673

2N918

2N2219A

2N2221A

2N2222A

PN2222 Plaslic

2N2369

2N2369A

MP52369

2N24B4

2N2906

2N2907

PN2907 Plaslic

2N2925

MJE2955

2N3053

TRANSISTORS

FW BRIDGE RECFW BRIDGE REC.

4/1 005/1.007/1.005/1.004/1 005/1.004/1.004/1 005/1.007/1.005/1.001.252/1.00

2N3055

MJE3055

2N3392

2N3398

PN3567

PN3558

PN3569

MPS3638A

MPS3702

2N3704

MPS3704

2N3705

MPS370S

2N37Q6

MPS3706

2N3707

2N3711

2N3724A

2N3725A

2N3772

2N3S23

2N3903

3/1 004/1.004/1.005/1.005/1 005/1 00b71.DQ5/1 005/1 005/1 005/1.005/1.005/1 00

2N39042N39052N39062N40132N4123PN4249PN42502N44002N44012N44022N44032N44092N50862N50372N508B2N50892N5129PN5134PN51382N51392N52102N54492N5951

3/1006/1 DO4/1 004/1 00

4/1 005:1 005/1 00

CAPACITOR

10 pi22 pi47 pi

100 pi220 pi470 pi

001ml00220047ml01ml

.1/35V

15/35V22/35V33/35V47/35V68/35V1.0/35V

47/50V1.0/50V3 3/50V4.7/25VIO/25V10/50V22/25V22,50V47/25V47/50V100/25V100/50V220/25V220/5DV470/25V1000/16V2200/16V

50 VOLT CERAMICOISC CAPACITORS

_ 121L.04 .03 OOIyjF.04 03 ,0047„F04 03 OliiF04 .03 022Mf04 03 047MF04 .035 1<iF180 VOLT MYLAR FILM CAPACITORS

022ml

047ml

10

07

1ml

CORNER]

IS 1p-99 1W

05 04 035

12 09 075

.21

,22ml

+20% DIPPED TANTALUMS (SOLID) CAPACITORS.28 23 17 15/35V 30 26

.28 23 .17 2 2/25V 31 27

.28 .23 17 3 3/25V 31 27

.28 .23 17 4 7/25V 32 28

.28 23 17 68/25V .36 31

.28 23 17 I0/2SV .40 35

.28 23 17 15/25V 63 50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

.15

13

33 29 2755 50 4570 .62 .55

47/25V47/50V1.0,16V1 0/25V1 0/50V4 7/16V4 7/25V4 7/50V10/16V10'25V10/50V47/50V100:16V100/25V100/50V220/16V470/2SV

Racial Lead

15

13

256 BYTE April 1979

Circle 200 on inquiry card.

f Transistor Checker

— Completely Assembled —— Battery Operated —The AS I Transistor Checker is cap-able of chocking a wide range oftransistor types, either "in circuit"or out of circuit. To operate,simply plug the transistor to bechecked into the front pane!socket, or connect it with the alli-gator clip test leads provided.The unit safely and automaticallyidentifies low, medium and high-power PNP end iNPIM transistors.Size: 3V." x 6V." x 2""C" cell battery no f included.

Trans-Check $29.95 ©<*■

Custom Cables & Jumpers

Part No.

DB25P-4-PDB25P-4-SDB25S-4-S

DB 25 Series CablesCable Length Connectors Price

4FI 2-DP25P S15.95 ea.

4 Ft, 1-DP25P/1-25S S16 95 ea

1 II

1 II

1 It

I It

1 It

1 IIlor Cuslom Cablea a Jumpi

DJ14-1

DJ16-1

DJ24-1

DJ14-1-14

DJ16-1 -16

DJ24I-24

II 2-DP25S

Dip Jumpers

1 '14 Pin1-16 Pin1 -24 Pin2-14 Pin2-16 Pin2-24 Pin

S17 95 ea.

S1.59 ea.

179 ea.2.79 ea.2.79 ea

3 19 ea

4 95 ea.

. See JAWECO 1979 Catalog lor Pricing

CONNECTORS

25 Pin-D Subminiature

DB25P (as pictured) PLUG (Meets RS232) $2.95

0B25S SOCKET (Meets RS232) S3.50

DB51226-1 Cable Cover lor DB25P or DB25S S1.75

PRINTED CIRCUIT EDGE-CARD

156 Spacing-ImOouOie RaadOu! — Bilutided Contacts — Fits DM to .070 PC Cards

15/30 PINS (Solder Eyelet) S1.95

18/36 PINS (Solder Eyelet) S2.49

22/44 PINS (Solder Eyelet) $2.95

50/100 (.100 Spacing) PINS (Wire Wrapl S6.95

50/100 (.125 Spacing) PINS (Wire Wrap) R681-1 S6.95

• 0.4 volts. 100mA

• 41 MW

Solar Cells2x2cm

Can be added in series forhigher voltage or parallel forhigher current.

#SC 2x2 $1.95 ea. or 3/S5.00

Magnetically

Activated

Switch

The 9250-0002 is a single

pole normally closed switch.When the magnet is engaged,the circuit is open. Thisswitch is only suitable for usein non-magnetic doors andwindows.

#9250-0002 2/S1.00

AC Wall Transformer

Ideal for use withclocks, power

other type ot ACapplication

AC 250 117V/60HZ 12 VAC 250mAAC 500 117V/60HZ 12 VAC 500mA

REMOTE CONTROLTRANSMITTER * RECEIVER

INSTRUMENT/CLOCK CASE

This case is an injection moldedunit that is ideal for uses suchas DVM, COUNTER, or CLOCKcases. It has dimensions of 4,/2"in length by A" in width by1-9/16" in height. It comescomplete with a red bezel.

J>ART NO: IN-CC $3.49 each

MICROPROCESSOR COMPONENTS

-BMDA/BOBOA SUPPORT DEVICES—

CPU

8-Bil InpulrOutpul

Pfiorily Interrupt Conlfol8-Directional Bus DriverCock Generator/OiiveiSjs Driver

System Com roller/Bus DriverSystem ConUollerP'og Comm tiO(USARI]P-og Interval TimerProg Penpiv 1/0 (PPl)Prog DMA ControlProg tntemini Control—6B0O/S8M SUPPORT DEVICES—MPU

-MICROPROCESSOR MANUALS-

3.255.95

3.493 95

M-ZB0 User Manual

M-CDPIB02 User ManualM-2650 User Manual

S7 50750

5 00

- ROM'S-

11959 9519.9519 95

2513(2140) CHaractei Generator) upper case)

2513(3021) Character Generator!lower case)

2516 Character Generator

MM5230N 204B-BH Read Unlv Memory

MC6S02CP MPU with Clock and Ram

MC68I0API 128XB Static Ram

MC6B21 Periph Inter Adapt (MC6B20)

MC6826 Priority Interrupt Controller

MC6830LB 1324X8 B.I ROM (MC6BA30-8) 14 95

MC6850 Asynchronous Comm Adapter 7.95

MC6852 Synchronous Serial Data Adapt g 95

MC6B60 0-600 bps Digital MODEM 12.95

MC6862 2100 bps Modulator 14 95

MC6680A Quad 3-Siate Bus Trans (MC8T26) 2 25

MICROPROCESSOR CHIPS—MISCELLANEOUS

280(7800 CPU 519 95

280A(780-1) CPU 24 95

CDP1B02 CPU 19.95

2650 MPU 19.95

6035 8-Bit MPU w/clock, RAM 1/0 lines 19.95

P8085 CPU 19 95

TMS9900JL 16-Bit MPU w/hardware. muhiply

49 95

11011103

2101(8101)2103

21L022111(8111)

MM500H

MM503H

MM504H

MM506H

MM510H

MM5016H

2504 T

2518

2522

2524

2525

2527

2526

2529

2532

2533

3341

74LS670

SHIFT REGISTERS —

Dual 25 Bit DynamicDual 50 Bn DynamicDual 16 Bit StaticDual 100 Bit StaticOual 64 BirAccumulalor530/512 Sit Dynamic1024 DynamicHex 32 Bit SialicDual 132 Bit Static512 Siatic1024 DynamicDual 256 Bit StaticDual 250 StaticDual 240 Bit StaticCuad 80 Bit Static1024 SialicHlo

4X4 Register File (TnState) UARTS

2I14L-3

5101

52BO/2107

7489

74S200

93421

UPD414

(MK4027)UPD416

(MK4I16)TMS4044-

45NLTMS40452117

MM5262

256X1

1024X1

256X4

1024X1

1024X1

255X4

256X4

1024X4

1024X4

1024X4

1024X4

256X4

4096X1

16X4

256X1

256X1

4K

- RAMS

Sialic

Dynamic

Static

Static

Static

Siatic

Sialic M0S

Static 450ns

Static 450ns low power

Static 300ns

Sialic 300ns low power

Sialic

Dynamic

Sialic

Sialic Trislate

Sialic

Dynamic 16 pin

Dynamic 16 pin

Static

Sialic

Dynamic 350ns(house marked)Dynamic

14.9514 95

1702A

TMS25I6

12716!

TMS2532

2708

2716 1 I

- PROM'S-

FAMOS

4002 952.956 95

5203 2048

6301-1(7611) 10246330-1|7602) 25682S23 32X8

B2SH5 4096

82S123 32X8

741B6 512

204B" I6K- EPR0M(lnlel 2716)

'Requires single *5V power supply

4KX8 EPR0M

8K EPR0M

16K" EPR0M

Requires 3 voltages,

A.y-5-1013 30K BAUD

FAMOS

Tnstaie Bipolar

Open C Bipolar

Open Collector

Bipolar

Tnstate

TTL Open Collector

TTL Open Collector

Static

12V

89.9510952995

14.95

. 3 49295

CEJC CONTINENTAL SPECIALTIES

PHOTO BOARDS

Proto Board 203

$75.00

Modelnumber

PB-6 6 0 x

PB-100 6.0«

P8-101 6 0 x

I WlH

(Incheil

PriceS1595$19.95S22.95

Proto Board 203A

PB 203 A

net cl rln PB 201 plui

flown lUPIlly lltmtiilili/

% flcgulitod W0C itipo',niiPB-7031 Rru,16VCC ind - I!

9124.95

Model LiWiH

number (Inches) Price

PB-102 7 0 X 4 5 X 14 S26.95

PB-103 9.0x6.0x14 (44.95

PB-104 9 8 x 8.0 x 1 4 554.95

pfyjmmm 3%-oigii po^ie dmm

• 3 hnjii LED Display

• Battery pi AC operation

• Im* iVa 0 1 ohm fMOluiion

• Overange reading

• 10 meo input impenitence■ OC Accuiacy i"« typicalRirtg«: OC Voflage OIOOOVAC Voltage (MUOOV

Freq Response 50-400 HZDC/AC Current. 0-IOOmAResistance 0 10 meg ohm

$9.00

Accessories:AC Adapter BC-28Rechargeable

Batteries BP-26 20.00Carrying Case LC-28 7.50

BG5F2 100 MHz„.5s?JS!H 8-D'9''

• 20 Hi-100 MHz Range COUfi tei*

• 6" LEO Display * Four powtr souces. i e■ Crystal-conlrolleri trmebase batlenes. 110 or 220V Wtth. fully Aulomalic charger 12V wilh auto

• Portable — completely lighter adaptor and externalsell-contained 7 2-10V power supply

'S"1'!! "Ax-no $134.95

HS3J5 ^

ACCESSORIES FOR MAX 100:

Mobil* Chinjer Eliminator

use power Irom car battery Modal 100 — CLA S3.9S

ChirQar/Ellmlnator

use 110 VAC

Model 100 — CAI J9.9S

pjB Mini-MaX 6 Digit 50MHz Frequency Counter

• Guaranteed frequency range ol 100 Hr to 50 MHz

• Full 6 digil display with antiglare window

• Fully automatic-range, polarity, slope, trigger, input level switching not required.

• Lead-zero blanking—All zeros to the left of the lirst non-zero digit are blanked Kilo Hertzand Mega Hertz decimal points automatically light up when the unit is turned on.

• Built in input overvoltage protection.

• Use 9V Battery or 110/22DV power.

• Complete with mini antenna MINI MAY (an Qt;

• Lightweight — Only 8oz lYIIWI-IYIHA 003.30

Part No.

MM-A4

MM-C5

MM-IPC

MU-AC2

MM-AC3

Accessories For Mini-MaxDescription

AntennaCarrying case

110V adapter220V adapter

Price

S 3.955.953.959959.95

$10.00 Minimum Order — U.S. Funds OnlyCalifornia Residents — Add 6% Sales Tai

Spec Sheets - 25r/

1979 Catalog Available—Send 41C stamp

K/^

^-

ELECTRONICS

PHONE

ORDERS

WELCOME

(415)592-8097

MAIL ORDER ELECTRONICS- WORLDWIDE1021 HOWARD AVENUE, SAN CARLOS, CA 94070

ADVERTISED PRICES GOOD THRU APRIL

The Incredible"Pennywhistle 103"

$139.95

Kit Only

The PennywMitle 103 is capable ol recording data lo and Irom audio lape without

critical speed requirements for the recorder and it is able to communicate directly with

another modem and terminal for telephone hamming' and communications In

addition, it is free ol critical adjustments and is built with non-precision, readily available

parts

Dan Tram mi si i on Method Frequency-Shift Keying, lull-duplex |halt-dupie«

selectable)

Manmum Dili Rile 300 Baud

Oat* Formal Asynchronous Serial (return lo mark level requited

between each character).Receive Channel Frequincln ,. .2035 Hz lor space. 2225 Hi for markTrantmil Ch trine I Frequences' ..Switch selectable Low [normal) = 1070 space,

1270 mark; High 025 space. 2225 mart

Receive Sensitivity 46 dbm accoushcalty coupled

Transmit Level 15 dtun nominal Adjustable Irom - 6 Qbm

to 20 dbmRttMltl Frequency Tolerance ...Frequency reference automatically adiusts to

allow lor operation between 1FJ0O Hz ant] 24fXI HiDigital Data Interface EIA RS-232C or 20 mA currenl loop [receiver is

Oploisolated ana non-polar)

Power Requirements 120 VAC. Single phase. 10 Watts.

Phytlcal All component mount on a single 6* by 9'

printed circuit Ooard All components includedReouites a VOM, Audio Oscillator. Frequency Counier and/or Oscilloscope to align

TRS-80 16K Conversion Kit

Expand your 4K TRS-80 System to 16K. Kitcomes complete with:' 8 each UPD416 (16K Dynamic Rams)* Documentation for conversion

TRS-16K $115.00

Special Offer - Order both your TRS-16K and theSup'R' MOD II Interface kit together (retail value$144.95) for only $139.95

COMPUTER CASSETTES

.6 EACH 15 MINUTE HIGHQUALITY C-15 CASSETTES

. PLASTIC CASE INCLUDED12 CASSETTE CAPACITY

. ADDITIONAL CASSETTESAVAILABLE #C-15-S2.50 ea

i

;.v.*-:;i-,v»,,l cas-6

-•i-.-^i-sv, $14.95

.. 4m . ■ (Case and 6 Cassettes)

SUP R' MOD II

UHF Channel 33 TV Interlace Unit Kit

Wide Band B/W or Color System

* Converts TV to Video Display tothome computers, CCTV camera,Apple II, works with Cromeco Da;-zler, SOL-20, IRS-80. Challenger.etc.

* MOD II is pretuned to Channel 33(UHF).

* Includes coaxial cable and antennatransformer.

MOD II

$29.95 Kit

RS-232 CONTROL CENTER

Plug in your modem, computerprom programmer,terminal, printer, etc. hand selectively controldata flow.

• Same Contour 35 Pennywhisile 103

• Totally sell-conlamed

• Includes 2 master ports and 3 slave ports.

PART NO. tfon nc

RS-232CC $89.95 kit only

Ideal tor use witti (he TRS 80and others.

"Plug/Jack interlace to anycomputer system requiringremote control ol cassette(unctions"

The CC100 controls cassettemotor lunctions. monitorstape location with its internalspeaker and requires nopower. Eliminates trie pluggingand unplugging of cables dur-ing computer loading opera-lion trom cassette.

#CC-100

$29.50

63-Key Unencoded Keyboard

This 19 a 63-key, terminal keyboard newly manufactured by alarge computer manufacturer. It is unencoded with SPST keys,unattached to any kind of PC board. A very solid molded plastic 13x 4" base suits most application. IN STOCK $29 95/eactl

Hexadecimal

Unencoded

Keypad

19-key pad includes *l-10 keysABCDEF and 2 optional keys and gshift key. $10.95/each

hi P'

Circle 200 on inquiry card.

BYTE April 1979 257

What's New?

SOFTWARE

Software Patch for SwTPC 8 K BASICAdds Disk Data File Capability

A software patch that adds disk datafile commands and functions to SwTPC's8 K byte BASIC has been announced byPerCom Data Company Inc, 4021Windsor, Gartand TX 75042. SwTPC8 K byte BASIC is for microcomputersthat use the 6800 processor.

The software patch is overlaid after8 K byte BASIC has been loaded inmemory. This may be done eithermanually or from a PerCom disk whichincludes the patch and a loader program.The modified BASIC takes up 10 Kbytes of memory. The patch permits upto four data files to be active con-currently and files may be formatted andupdated in place. Formatted files may beaccessed randomly.

. In addition to OPEN, CLOSE, LOADand SAVE commands, the program fea-tures special instructions that simplifydata manipulation. The software patchincludes nine commands and functions.

A listing of the patch program anduser instruction manual sells for $10.A listing, manual and disk recording ofthe patch and patch loader sells for$15."

Circle 593 on inquiry card.

6800 Compiler

Written in 6800 assembly language,this 3 pass compiler (on floppy disk)provides a disk based high level languagefor microcomputers with at least 16 Kbytes of programmable memory. Thenew language, called STRUBAL (Struc-tured Basic Language), features fullyrelocatable and linkable code. Versionsof the compiler are available for iCOMFDOS-II, Smoke Signal BroadcastingDOS68 and SwTPC Flex.

The software supports a full set ofscientific functions, one-dimensionaland two-dimensional arrays, three datatypes (16 bit integer, 10 digit floatingpoint and variable length strings),structured programming forms, stringfunctions, embedded assembly languagein the source program and common anddummy sections. Line numbers are notrequired in source programs. Subroutinesmay be separately compiled or as-sembled and called by named para-meters.

The price of STRUBAL is $99.95,which includes a user's manual. Forfurther information contact HemenwayAssociates Inc, 151 Tremont St, Suite8P, Boston MA 02111."

Circle 594 on inquiry card.

6502 Assembler in BASIC

The 6502 Assembler in BASIC letsyou write programs in assembly languagefor the 6502 microprocessor and havethem translated to machine languagefor direct execution on the PET. Theassembler accepts all standard 6502instruction mnemonics, pseudo-ops andaddressing modes, and evaluates binary,octal, hexadecimal and character con-stants, symbols and expressions. Sourceprograms can be read from cassette andobject programs can be assembled any-where in memory. The package includesboth 1 and 2 pass versions of the assem-bler, a text editor and a disassembler,• and a 30 page manual with PET machinelanguage programming hints, for $24.95.It is available from Personal Software,POB 1 36, Cambridge MA 02138."

Circle 595 on inquiry card.

Heurikon Introduces BASIC andDisk Operating System

The Heurikon Corp, 700 W BadgerRd, Madison Wi 53713, has announcedthe addition of Heurikon BASIC anddisk operating system (DOS) to its lineof MLZ-80 microcomputer products.Heurikon BASIC and DOS is a multilevelsystem offering two levels of concurrentoperation and a disk operating systemwith file management. The systemprovides both edit and real time programareas which run concurrently. Real timeprograms run independently from thekeyboard and program editing functions.A real time program is given highestoperating priority and may be startedautomatically in response to externalstimuli. Edit area programs will beinterrupted to service real time oper-ations. When the real time programcompletes a task, control is returnedto the interrupted point in the editprogram. New programs may be deve-loped and tested in edit while the realtime program continues to monitorexternal events. Heurikon BASIC andDOS file management architectureallows any number of variable lengthfiles to be cataloged on the disk.

This system is available configuredto run on the Heurikon MLZ-80 micro-computer system, which is fully com-patible with Intel's SBC Multibus. It canbe provided on disk or in erasable pro-grammable read only memory.*

Circle 596 on inquiry card.

Software Package for 8080 andZ-80 Microcomputers

The SOS (single user operatingsystem) package provides the user witha step between the Opus stand-alonehigh level languages and the Temposmultiuser/multitasking operating system.The SOS package includes: Opus/Three,the high level compiler/interpreter fromAS I; Texted, an easy to use, line orient-ed text editor; Assembl, an 8080 as-sembler; Files, a diskette file manipu-lator; and Utilities 1, a package of 12utilities programs.

Full upward compatibility has beenretained to allow the user of SOS toaccess data and programs developed atlower levels; all may be used under theTEMPOS operating system as well. Allfloppy disks and serial device input/output (IO) is handled by SOS; a systemgeneration routine lets the user defineIO drivers as required.

The recommended hardware con-figuration includes an 8080 or Z-80processor, 32 K bytes of programmablememory, one or two floppy disk drives,and terminals as required. The systemtypically resides in less than 10 K bytesof programmable memory.

The package is priced at $385 andthe user's manual set may be purchasedseparately for $20, which is creditedtoward purchase of the SOS package.For more information contact Adminis-trative Systems Inc, 222 Milwaukee,Suite 102, Denver CO 80206."

Circle 597 on inquiry card.

Language Family Designed for Z-80Computers

Designated PLZ, this family of sys-tem programming languages is imple-mented as a set of disk based programsthat run in the RIO operating system ofZilog's Z-80 computers. Linkage to otherlanguages such as BASIC, COBOL andFORTRAN is straightforward. PLZpermits a systematic combination ofhigh level machine-independent moduleswith low level machine-dependentmodules within the same program.

The high level modules utilize theprocedure oriented PLZ/SYS language.PLZ/SYS blends elements of such lan-guages as Pascal, ALGOL, PL/I, and C toprovide a medium for expressing algo-rithms in a high level, structured fashion.PLZ/SYS requires minimal run timesupport.

A structured assembly language,PLZ/ASM, provides all of the low levelprogramming capabilities necessary forthe user to manage such processorresources as registers, memory, accessesand input/output (IO) operations.

Initial PLZ program implementationconsists of the PLZ/SYS compiler,PLZCG code generator, Zinterp inter-preter, Plink linker, PLZ/ASM trans-lation filter, and PLZ IO package.

For more information contact Zilog,10340 Bubb Rd, Cupertino CA 95014."

Circle 598 on inquiry card.

258 April 19790BYTE Publicalions Inc

10-DAY FREE TRIAL

Send for ourFREE Catalog

^

$750

P€T

• 14K ROM, 8K RAM

• Fast Microsoft BASIC

• Integral Tape & CRT

• Graphics & Lower case

• Real-time clock

• IEEE and Parallel I/O

The most computer value you can buy in asingle box,the PET is a complete system. It's our most popularcomputer.

'ITU i

THE PET

A Home Computer & A Video Game in a Single Unit'

INTERACT Model One

14 FREE CASSETTES, worn, $2948K-S499 16K-S599

< Mi

r graphic

nlhesu

• Built-in cassette tape drive

• Large 53key keyboard■ Two joysticks included

• Edu-BASIC cassette mclud1 BOBO Microptocessor

' BK RAM 2K ROMI you tan I decide betweenlophistiealed video gime andiom« computer Ihen the Inleid Model One is lor you Hook

or you can load Edu-BASIC and

write youi own games

Beit of all you get over S294

MICROSOFT *»}*BASIC c^

For a limiled lime we art- oflenng In-teract S new lloalmg poini BASIC byMicosoti tree w.ih the purchase o< a16K Interact Moael t This saves youS49 95 and gives you the most BASICprogramming power available in acompuler this sue Oiler good for or-

appleII

The most powerful computer you can attach to your TV

NCE/CompuMart now carries the popular AppleII microcomputer system. It easily attaches toany TV and can be used for either business orgames. To see why the Apple II continues to bethe leader in TV-display computers, write formore information.

16K Apple II Computer48K Apple II ComputerDisk Drive & ControllerSecond Disk Drive only

$1195S1795$ 595$ 495

Hazeltine1400

„rvCt*o>N Only\W&oC $699.00

Now a 5th Generationin Terminals:Immediate Delivery

Hazeltine 1500 full of features $1049

Hazeltine 1510 with buffer logic $1149

Hazeltine 1520 with printer interface $1499

call or write for more information

x*5o^ $675.00

32K PET

With the trade-in of your work-ing PET.

$1,195.00 otherwise

SYM-1

From Synertek $269.00

NOW IN STOCK — SYM BASIC $159

DatelISelectricTable-top *&Terminals r

•S3W s $695 9$

AS IS WORKING

KIM-1

(» r\V'*" Assembled

$169.95

$21-

NCE/CompuMart

1250 North Main Street, DepartmentBY49P.O. Box 8610 Ann Arbor, Michigan 48107

10 DAY RETURN PRIVILEGE

(313) 994-3200 «

jpfc** List $279.95S*l£ $189.95

S-100 MPA

S-100 MPA gives your PETcomplete control of the S-100bus (even DMA). Get anassembled unit at kit price.

KTM-2

A new concept

in terminals

Only $349.00

Synerlek s unique new terminal lookslike a keyboard bul u contains all thelogic 10 display 24 lines of 40 charac-ters Upper Lower case ana 128 specialgraphic characters may be output to amonitor (or TV wrlh BF modulalonLocal editing (erase line or screen) ao-

■upply

4.95

EXPAND YOUR KIMSYSTEM:

KIM SI

KIM lo S-100 BoardAssembled $169

Connector Set 15

KIM 4Expansion board 89.95

MICRO TECH POWER SUPPLYAiscmoi.0 ,j4)!

KIM ENCLOSURE

you' KIM a professional appear-ance No altera.ions reduced SturdyKyden .00 Black

$23.50

New Acoustic Coupler

fi

SANYOMONITOR

Single ooara

VIDEO TERMINALby XITEX

16 Lux $4 Chr display 128 printablecharacters software UART (ASCIIor Baudot, 3 serial interlaces &cassette I O irue composite videoTTL compatible easy power con-

• Michigan residents add 4% sales tax • Foreignorder (excepl Canada) add t0% additional han-dling (U.S. currency only) • PC's accepted fromD&B rated companies — shipment contingent uponreceipt of signed purchase order • Phones openfrom 9:00 a.m.-7:00 p.m. EST Monday-Friday, 10:00a.m.-5:00 p.m. Saturdays • Open accounts

invited—call for credit application • Most Items instock for Immediate shipment—call for deliveryquotation • Sorry—no C.O.D.'s • All prices sub|ectto change without notice. • In the Ann Arbor area?Retail store open 11:00 a.m.-7:00 p.m. Tuesday-Friday, 10:00 a.m.-5:00 p.m. Saturdays (closedSunday * Monday)

Circle 283 on inquiry card.

BYTE April 1979 259

i

Computer Products

* DISK DRIVES *

B51 5'/." $295.00

by Micro Peripherals, Inc. OperatesIn eithet single density (125KB,unformatted) or double density(250KB, unformatted) modes, upto 40 tracks, with a track-to-trackaccess time of only 5 ms.SA801R $495.00

by Shugart Single-sided 8" floppydisk drive.

FD8-100 S395.00

GSI/Siemens. Runs cooler andquieter than 801 (8")DM2700-S $750.00

Includes SA801R. 10"xl0"xl6"cabinet, power supply, data cable,fan, AC line filter.

1791 BOIDual Density Controller Chip

$49.95

LOGIC PROBES

i Cull.

Il"r.quim;:yl 10

or linglo eve

CSC Modal LP ! Logic P(ob*-MoMODEL LP-3

High ipeed Ichjic: pro!*?. C-iejuj"'Impadanc*; 500.000 olimi MlnMaximum Input Signal [FfaqmILEOI: High tpead train or tmgllevel traninion delected jntj lionCSC Modal LP 3 Logic Pioba-Nc

or CMOS Input Impadanta

Pulta: SO m ManmuiCult. Dataetor (LED1

Mi at ihort a. 10 m. Inputi Detactatile fuita 10 n!: 60 MHr l-.ilu DalaclOf

' TWO SIEMENS/GSI 8 FLOPPYDRIVESPOWER SUPPLY FOR ABOVE- JADE/TARBELL DISK CONTROL

KIT IS 1001• CP/M OPERATING SYSTEM WITHBASIC-EPACKAGE OF 10 BLANK

8" DISKETTESPrice if purchased separately:

$1192.50

JADE SPECIAL PACKAGE DEAL:

$1050.00

3-LEVEL GOLDWIRE WRAP SOCKETS

14 PIN 39c each

16 PIN 43c each

100 for $30.00

Sockets are end and side stack-able, closed entry.

S-100 MOTHER BOARDS

JADE 6-SLOT

Kit S41.95

Assembled & Tested $56.95

Bare Board $24.95

9-SLOT "LITTLE MOTHER"

Kit $85.00

Assembled & Tested $99.00Bare Board $35.00

13-SLOT "QUIET MOTHER"Kit $95.00

Assm. & Tested $110.00

Bare Board $40.00

22-SLOT "STREAKER"

Assm. & Tested $149.00

GOLD PLATEDS-100 EDGE CONNECTORS

Soldertail $3.25 each

10 (or $30.00Wire Wrap $4.50 each

10 for $40.00

DCOM 100

Intelligent Printer

Interface & Cablefor TRS-80

$45.00

• 40 character per second rate

• Low cost thermal paper

• 96 character set

• Microprocessor controlled

• Bidirectional look-ahead printing

• Quiet operation • No external power supplies • Only twodriven parts • High reliability • Clear 5x7 characters

• Attractive metal and plastic case

Interface & Cable

for Apple

$60.00

EXPANDORS BLACK BOX PRIN]

This 64-character ASCII impact printerwith 80-column capability is portableand uses standard 8V2" paper and reg-ular typewriter ribbon. Base, coverand parallel Interface are included.Assembled and complete with manualand documentation. , ^m-in nn

only $470.00

(90 day manufacturer's warranty)

TRS-80 Interface Cable for Black Box Printer

with mating connectors: $48.00(must be usnd with expansion module, *8v/]jtnp power supply required.)

VIDEO INTERFACE

S-100 Compatible Serial Inter-face with Sockets Included.Kit $117.95

Assembled & Tested $159.95Bare Board w/manual $ 35.00

Z80A SPECIAL

4MHz CPU Chipxjr $14.95 •£

K_J

Products

"KANSAS CITY STANDARD"TAPE INTERFACE

Part No. 111

Board $7.60; with parts $27.50

RS-232/TTL INTERFACE

Part No. 232

Converts TTL to RS-232

and RS-232 to TTL

Board only $4.50;

with parts $7.00

RS-232/TTY INTERFACE

Part No. 600

Converts RS-232 to 20mA

current loop, and 20mA current

loop to RS-232

Board only $4.50;

with parts S7.00

TU-i

Convert your T.V. set into a

Video Monitor

Kit $8.95

PARALLEL/SERIALINTERFACE

S-100 compatible 2 serial I/Oports 1 parallel I/O.

Kit JG-P/S $124.95

Assembled & Tested:JG-P/SA

^VERBATIM™FLOPPY DISKS

5% in. Minidiskettes

Soft sector, 10 sector, or 16 sector

$4.40 each or

box of 10 for $40.00

8 in. Standard Floppy Disks

Soft Sector

$4.75 each—10 for $42.50

Bare Board w/Manual

$179.95$ 30.00

FLOPPY DISK INTERFACE

JADE FLOPPY DISK (Tarbellboard)

Kit $175.00

Assembled & Tested $250 00

S.D. Computer ProductsVERSA-FLOPPY

Kit $159.95

Assembled & Tested S239.00

IntegralData Systems

«

Check the impressivefeatures on Integral'sIP-125 Impact Printer

lly $799

LOADED WITH EXTRAS AT NO EXTRA COST

■ Micioprocessor controller "Serial RS232C Interlace "Parallel TTL level Interface "Fullupper and lower case ASCII character set |96 characters) ■ roll 8''." men wide paper ■ Linelength of BO columns at 10 characters per inch • Impact printing ■ 7x7 dot matrix ■ Ordinarypaper—roll, lanlold, or sheet ■ Serial baud rate to 1200 bits per second • Multiple line butfeiol 256 characters • Instantaneous print rate to 100 characters per second • Multiple copieswithout adiustment ■ Retaking ribbon mechanism ■ Front panel operator controls ■ Attractivetable top console >

Power Supply for TRS-80/Black Box Printer

$49.00

IP-12S Integral Data System IP-125 Friction Feed Printer

a96 upper & lower case ASCII character set

• Enhanced character control

• Serial RS232C Interface (std. factory wiring)

• Parallel TTL Interface (factory wired on req.)

• 80 column line .»___

• 256 byte multiline buffer $799

IP-225 Integral Data System IP-225 Tractor Feed Printer

•All standard features of IP-125

• Tractor feed paper drive

• Forms Control Option (P1250) $949

Hill!!'

3690-12CARD EXTENDER

Card Extender has 100 contacts. 50 per tideon ,125 centeri. Attached connector is com-patible with S-100 Bus Systems . . $25.003890 6.5" 22/4 pin. 158 cm.

Exmntt.n S12.00

Gen. Purpose O.I,P. Boardswith Bus Pattern for Solder orWire Wrap. Epoxy Glass 1/16"44 pin con. spaced .156.

1km Plugboards

8800V

Jmversa! Microcomputer /processorplugboard. Use with S-100 bus. Com-plete with heat sink & hardware.5.3" x 10" x 1/16".

8801-1

Same as 8800V except plain; lesspower buses & heat sink.

3677 9.6" x4.6". .3677 2 6.5" x 4.5".

$10.90. $9.74

1-4

5-9

10-24

8800V

19.95

17.95

15.96

88011

14.95

13.46

11.96

pattenEpoxy Glassspaced .156.

3662 6.6" x 43662-2 9.6" x

5" $7.

4.5". . . $11.

Hi-Oensityboard forPower &Glass 1/16'.156.

3682 9.6" x3682-2 6.5"

Dual-in-Line Plug-Wire Wrap withGrd. Bus Epoxv44 pin con spaced

4.5" .x 4.5"

$10.97. $9.81

260 BYTE April 1979

Circle 195 on inquiry card.

PLACE ORDERS TOLL FREE

800/421-5809 Continental U.S.800/262-1710 Inside California

$179

[o* puce includesKIM ' Module moniituuioyrams siu>e(l in2048 ROM Byies USBManual wall we Scnemain. Haidwaie Man^ai

Programming ManuHi

Programmeis HeieienteCan) Keyooaid Disitfav

$245

6S02 — based single boardcomputer with keyboard/dis-play, KIM-1 hardware compa-tible, complete documentation.

SYM-1 CASE $29.95

MICROPROCESSORS

F8

Z80 (2MHz)

Z80A (4MHz|

COP1B02CD

6502

6800

6802

8008-1

8035

8035-8

8080A

8085

TMS9900TL8080A SUPPORT DEVICES

82 12

8214

8216

8224 (2MHz|

8224-4 (4MHz)

8226

8228

8238

8243

8251

8253

8255

8257

8259

8275

8279USRT

S2350UARTS

AY5-1013A

AY5-1014A

TR1602B

TMS6011

IM6403BAUD RATE GENERATORS

MC14411

14411 Crystal6800 PRODUCT

6810P

6820P

682 IP

6828P

6834P

6850P

6852P

6860P

6862P

6871P

6875P

6880PCHARACTER GENERATORS

2513 Upper (-12*5)

2513 Lower (-12-1-5)

2513 Upper (5 visit)

2513 Lower (5 volt)

MCM6571 up scan

MCM6571 Adown senPROMS

1702 A

2708

2716 (5*12) Tl

2716 (Sv) INTEL

2758 (5v|DYNAMIC RAMS

416D/4U6 (200ns)

2104/4096

2107B-4

TMS4027/4096 (300ns)STATIC RAMS 1-15

21L02 (450ns) $ 1.50

21L02 (250ns) * 1.75

2101-1 $ 2.95

2111-1 $ 3.25

2112-1 $ 2.95

FLOPPY DISK CONTROLLERS

1771B01

1791

KEYBOARD CHIPS

AY5-2376AY5-3600MM5 740

$ 4.00$ 6.60$ 6.60$11.25$16.95$ 8.65$11.00$ 9.25$12.00$28.75$ 8.75$ 2.50

$ 6.75$ 6.75$ 9.75$10.95$10.95$10.95

$ 8.00$ 9.95$60.00$60.00$23.40

$12.50$ 4.00$ 3.95$ 4.0016-100$ 1.20$ 1.50$ 2.60$ 3.00$ 2.65

$39.95$49.95

$13.75$13.75

LEEDEX MONITOR

• 12" Black and White

• 12MHZ Bandwidth

• Handsome Plastic Case

$139.00

NEW!

Naked Terminal

FEATURES & BENEFITS

• Industry standard 80 characterby 24 line format (Model 57)

■ Completely self contained termi-nal electronics, just add CCTVmonitor and keyboard.

■ No support software required.

■ Switch selectable modes: HalfDuplex, Full Duplex, Blockmode.

■ Block mode allows editing be-fore transmit.

■ Keyboard interface provided,including regulated +5 volts and-12 volts.

■ Video is switch selectable as"Black-on-White" or "White-on-Black".

■Fully assembled, socketed, tes-ted, burned in, and guaranteedfor a full year from date ofpurchase.

JADE Z80 BOARD

IMPROVED DESIGN ANDFEATURES

• ON BOARD 2708 or 2716 EPROM

• VERY RELIABLE AT 4 MHZ OR2 MHZ

• POWER ON JUMP AND RESET

• ON BOARD USART (8251)

Jade memoryExpansion Kits fortrs-80 and Apple!

4116'$8 for $69.96

(16K x 1, 200ns)

includes dip plugs andinstructions

3

i

4444

2 MHzKit

Assembled 8. Tested4 MHz

Kit

Assembled & Tested

Bare Board

$135.00$185.00

$149.95$199.95$ 35.00

with full documentation

•TRS-80 Kit •

(16K x 1, 300ns)

includes connectors and

instructions

$75.00

Call lor discounts on larger quaniities

*>. ^ A -♦- AA AA6i

y^^^m9wmn% -%W 'Piicet

"IMSAI"-TYPE CARDGUIDE SPECIAL:

Regular Price 30d each

SPECIAL: 10 for $1.00!

DYNAMIC RAM BOARDSEXPANDABLE TO 64K32K VERSION • KITS

Uses 4115 (8Kxl, 250ns) DynamicRAM's, can be expanded In 8Kincrements up to 32K:

8K $159.0016K $199.00

24K $249.0032K $299.00

4115 SALE8 for $39.95

64K VERSION «KITS

Uses 4116 (16Kxl, 200ns) DynamicRAM's, can be expanded in 16Kincrements up to 64K:

16K $249.0032K $369.00

48K $469.0064K $569.00

The Piggy™ is here!

TEXTOOLZIP*DIP® II

SEE OUR COLOR ADIN APRIL'S RYTE

-^sm Sockets

*ZERO INSERTION FORCE

sockets

PRICES:

16 pin Zip Dip II24 pin Zip Dip II40 pin Zip Dip II

$5.50

$7.50

$10.25

+ STATIC RAMjLSPECIALS

2114's, low power (1024x4)1-15 16-99 100 j450ns

300ns

8.009.00

6.9S8.00

5.506.50

TMS40447MM5257, low power

450ns300ns

8.009.95

7.508.75

6.508.00

4200A (4Kxl, 200ns)

9.95 I 8.50 1 8.00

Computer Products

4901 W. ROSECRANS AVENUEDepartment "B" 3

HAWTHORNE. CALIFORNIA 90250U.S.A.

Telephone:

(213) 679-3313

(800) 421-5809 Continental U S.

(800) 262-1710 Inside California

Cash, checks, money orders, and credit cards accepted. Addfreight charge of $2.50 for orders under 10 lbs. and $1.00 servicecharge for orders under $10.00. Add 6% sales tax on ail partsdelivered in California. Discounts available at OEM quantities.

WRITE FOR OUR FREE CATALOG

All prices subject to change without notice.

410D (4K x 1, 200 ns)

18.25 I 7.00 16.75

STATIC RAMBOARDS

JADE 8K

Kits: 450ns $125.95

250ns $149.75

Assembled & Tested:

450ns $139.75

250ns $169.75

Bare Board: $ 25.00

16K - Uses 2114's (low power)

Assembled & Tested:

RAM 16 (250ns) $375.00RAM 16B(450ns) $325.00

16K with memory management

Assembled & Tested:

RAM 65 (250ns) $390.00RAM 6SB(450ns) $350.00

32K Static

Assembled & Tested:

250ns $795.00

450ns $725.00

250ns Kit $575.00

Circle 195 on inquiry card.

BYTE April 1979 261

What's New?

MEMORY

Full Size Floppy DiskMemory Completely Assembled

//immmu

Discus I is a full-size floppy diskmemory for S-100 systems using the8080 processor. The Discus I is sold as acomplete system, assembled and tested,with all required hardware and software.Hardware included in the Discus I sys-tem includes a Shugart 800R full-sizedisk drive fully mounted in a custom, allmetal cabinet with an independent pow-er supply; a Disk Jockey I S-100 con-troller with a capacity for seven addi-tional disk drives; and all necessary cablesand connectors.

The controller offers an on boardserial input and output (IO) port towhich all system software has been inter-faced. The IO routines can then be modi-fied with the included system softwareat the user's convenience.

Software included features an inte-grated Disk/Ate system containing mostutilities: disk operating system, filemanagement, system debugger, texteditor, batch processor and 8080 assem-bler. Also included is BASIC-V,a virtualdisk BASIC with the ability to addressup to 2 M bytes, and to accommodate awide variety of data types includingstring-oriented arrays with an unlimitednumber of dimensions. Also included arepatches for CP/M.

The Discus I system sells for $995plus tax and handling. For users wishingto supplement the Discus I software,several extra cost options are available.CP/M for Digital Research is available for$70. Microsoft Extended Disk BASIC for$199 and Disk FORTRAN for $349 arealso available. For further information,contact Thinker Toys, 1201 10th St,Berkeley CA 94710."

Circle 632 on inquiry card.

Programmable Memory Boardfor M6800

__ t

i mmtmm mmimm -

^^W ^^^^fl r^r^^T ^^^^

MMiaa* MM***

HHUMMH *mwm

mmimm imiim

mmtmm mm mm

wmtmm MiM

mm mm mm mm

nmtmm mmt—m

mmimm mm mm

*KKliK» MMtMMM

mmmm mm-mm-

amiim* am.imm

mm mm mmmm-

WMWM wMtiM

mm mm 'mm mm

WiM

yfiyom

itiiiiiiiiimiHiHUiiiitiiiiiiiiiKfP"*^

The SME6808 is an 8 K byte by 8 bitlow power static programmable memoryboard for microcomputer systems whichutilize the M6800 bus structure. Thefully assembled and tested memoryboard operates from a single 5 V powersupply and is available in versions witheither 250 ns or 500 ns access time.

The module is organized as two 4 Kbyte arrays which can be independentlylocated at any 4 K byte boundary in the64 K byte addressing range of the sys-tem. Base address selection for eacharray is made via on board jumpers.Switches provided on the board allowselection of a read only mode of opera-tion for each of the 4 K byte arrays. Thispermits the user to simulate read onlymemory for software development appli-cations, or to protect data from beingoverwritten during program execution.

Slow memory circuitry can be pro-vided with the SME6808 module. Thisoption permits the 500 ns board to beused in applications with high speed pro-cessors or protects investments in mem-ory as high speed processors are added toexisting systems.

The price of the 500 ns board is$324.95; the 250 ns version sells for$399.95. Slow memory circuitry is avail-able for either version at an additionalcost of $10. Ultra low power modulesare also available. Contact AmericanTechnologies, POB 23001, RochesterNY 14692. ■

Circle 633 on inquiry card.

Memory Board with Vector Jump

The MB-8A memory board, whichuses 2708 erasable read only memories,is fully buffered, has reverse voltageprotection, and includes vector jumpcapabilities which enable the user tojump to any 256 bit location on theboard.

Features of the new board includemagic mapping, which automaticallydisables any socket with no read onlymemory installed, allowing the use ofadditional programmable memory. Theboard does not require the use of a frontpanel. Just reset and go. The MB-8A isplug compatible with all S-1 00 bus main-frames and has dual-in-line package(DIP) switch selection of eight waitstates.

The price of the MB-8A is $95 fromSSM, 2116 Walsh Av, Santa Clara CA95050."

Circle 634 on inquiry card.

Memory Board for S-100 Bus

PCE Electronics has announced the16/4+1 erasable read only memory andprogrammable memory board for theS-100 bus. This board features accom-modations for up to 16 2708 1 K wordby 8 bit erasable read only memory inte-grated circuits, addressable in four sepa-rate 4 K byte blocks. Any block may beaddressed on any 4 K byte boundary inmemory and any of the 16 erasable readonly memory sockets may be disabled.The erasable read only memory sectionis capable of generating zero to four waitstates.

The programmable memory sectionof the 16/4+1 utilizes eight 21L02 1 K

by 1 bit static programmable memories.The 1 K byte block of programmablememory is addressable on any 1 K byteboundary in memory. Either 250 ns or450 ns programmable memories are avail-able with the board.

Other features of the board includecomplete buffering, solder mask, silkscreened component location diagram,sockets for all integrated circuits andcomplete documentation.

The price for the board in kit formis $130, or $155 for an assembled andtested board. The 250 ns program-mable memory circuit is $5. For moreinformation contact PCE Electronics,4782 Dewey Dr, Fair Oaks CA 95628."

Circle 635 on inquiry card.

262 April 1979 © BYTE Publications Inc

ITHACA AUDIO

THE OEM MARKETPLACE

IA ExpandsS-lOOLine

e 1978 ITHACA AUDIO

Video

Display

Board

Featuring a full 128 upper/lower case ASCIIcharacter set stored in a 1K buffer memory.Easy to read 16 line x 64 character format canbe displayed on an inexpensive video monitoror a modified TV set. Includes a TTY softwaredriver. Add our powerful K 2 FDOS to create aversatile operator console.

$25.00

Disk

Controller

Board

Controls up to 4 single or double sided drives.Data protect features include automaticdisable of write-gate during power-down fordata integrity. Supported by a reliablesoftware package, K 2 FDOS and completediagnostic documentation.

$35.00

K2

Operating

System

Power full disk software in the DEC tradition.Includes Text Editor (TED), File Package (PIP),Debugger (HOT), Assembler (ASMBLE).HEXB1N, 1 COPY, System Generator [SYSGEN).Command syntax follows Digitals 0S-8.RT/11format. First in a family of high level software.Soon to be released, FORTRAN & PascalCompilers.

$75.00

Field-provenreliable engineering

Over 10,000 boards worldwide prove IthacaAudio provides the quality and reliability youdemand.

Ithaca Audio Boards are fully s-100compatible, featuring gold edge connectorsand blated-through holes. All boards (exceptthe Protoboard) have fully buffered data andaddress lines, DIP switch addressing, soldermask and parts legend.

Z-80 CPU Board Most powerful 8 bit centralprocessor available. Featuring power-on-jump, provision for on-board 2708. Acceptsmost 8080 software. $35.00

8K Static RAM Board High speed static memoryat the lowest cost per bit. Includes memoryprotect/unprotect and selectable wait states.

$25.00

2708/2716 EPflOM Board Indispensable for stor-ing dedicated programs ana often used soft-ware. Accepts up to 16K of 2708's or 32K of2716s $25.00

Protoboard Universal wire-wrap board for de-veloping custom circuitry. Accepts any sizeDIP socket. $25.00

Mass Storage atIncomparable

Prices.

Ithaca AudioFloppy Disk

• Up to 250K bytes, single sided

• Up to 500K bytes, double sided

• Data protect

• Powerful software operatingsystem includes 8 utilityprograms, text editor.

Add the capacity of full size disk to your S-100microcomputer. Controller, Disk Drive, andSoftware available separately.

Memorex single sided

550 Flexible Disk Drive $456.

Memorex double sided

552 Flexible Disk Drive $830.

Disk Controller Board $35.

K2 FDOS Available on 8"

floppy disk w. manual $75.

Quality Components

ZILOG Z-80 $19.00

ZILOG Z-80A 23.00

INTEL 2708 11.00

FAIRCHILD 2102 LHPC 1.60

FAIRCHILD 2102 UPC 1.35

RAM!

32K for $359.

Ithaca Audio is now stocking the Mostek 4115add-on RAM for S.D.'s Expandoram. Buy theirbasic board, 32K of RAM from us and SAVE.

S.D. SALES Expandoram board $199

Ithaca Audio 32 4115's @ $5.00 ea. 160

32K Only $359

IMSAI 8080 Kit with 22 Slot MB.$560.00

plus 510.00 shipping.

HOW TO ORDER

Send check or money order, include $2.00 shipping per orderN.Y.S. Residents include tax.

For technical assistance call or write to:

ITHACAAUDIO

P.O. Box 91

Ithaca, New York 14850

Phone: 607/257-0190

Circle 190 on inquiry card.

BYTE April 1979 263

What's New?

PERIPHERALS

Add Hard Copy to Your S-100 System

, , , . , ' ..'^'tUttMMW'

This new Selectric input and output(10) writer interface, called Typeaway,offers an easy, economical way to addhard copy capabilities to an S-100 sys-tem. Typeaway is a complete package ofeverything required to interface a model731 or 735 IO writer to an S-100 com-puter. The total package includes: asingle S-100 compatible printed circuitboard with solenoid drivers; IO ports;complete software in programmableread only memory; all the cable andconnectors needed to connect a Selectricto Typeaway, including a 50 pin A con-nector; and a versatile DC power supply.

Typeaway can be adapted to workwith any factory version of a Selectric10 writer. Software supplied in two1702A programmable read only mem-ories is all that is necessary to operate aSelectric 10 writer as either an input oroutput device. All control functionsand code conversions are programmed inthe board's firmware.

The tested and assembled version ispriced at $350 and a kit version sells for$275. For further information contactMicromation Inc, 524 Union St, SanFrancisco CA 94133."

Circle 570 on inquiry card.

S-100 Expansion for Commodore's PET Computer

Forethought Products, POB 8066,Coburg OR 97401 has announced aPET to S-100 interface and mother-board named Betsi. Betsi is a singlecircuit board that contains all thenecessary logic to interface S-100boards to the PET.

The board attaches directly toPET's memory expansion connectorand provides both interface logic andfour S-100 slots on a single compactcircuit board. Betsi operates with anyS-100 power supply and doesn't inter-

fere with use of PET's parallel or IEEEports.

In addition to its compatibility withmost available S-100 boards, Betsi hasan on board dynamic memory controllerwhich allows it to be expanded to 32 Kbytes with a single S-1 00 card.

The kit (which includes one S-100connector) is priced at $119. $165 isthe price for the assembled and testedboard (which includes four S-100connectors)."

Circle 606 on inquiry card.

DEC VT-52 Compatible Video

The Elite 3052A video terminal is abuffered VT-52 compatible terminalwith a single page video memory. It of-fers formatting capability, eight levels ofscreen enhancements, and a detachedkeyboard.

The terminal displays 1920 alpha-numeric characters in a 24 line, 80 char-acter format and offers a series of fea-tures for VT-52 users that includes: anunmatched range of operating modes;host control of block transmit functionin local or remote environment; com-munications flexibility through switchselectable EIA or 20 mA current loopinterfaces; buffered support of host-to-printer data transfers; ten user functionkeys; 8 level video, which requires nomemory address space; and 15 datatransmission rates, up to 9600 bps,selectable from keyboard.

The Elite 3052A is priced at $1700 insingle quantities and $1360 in quantitiesof 100. Write to Datamedia Corp, 7300N Crescent Blvd, Pennsauken N J 08110."

Circle 607 on inquiry card.

264

April 1979©BYTE Publications Inc

trial* Venus 2001 Video Board

|MJl^*^ ^ Assembled and Tested $259.95 • Complete Unit with 4K

^A^k^VJ of Memory and Video Driver on Eprom assembled

WF OWLwM and tested $339.95

kit

OPTIONAL: • Sockets $10.00 • 2K Memory $30.00 • 4KMemory $60.00 • Video Driver Eprom $20.00 • TextEditor Eprom (Includes Video Driver $75.00)

5-7 00 Plug-In • Parallel Keyboard Port

On board 4K Screen Memory (Optional). On boardEprom (Optional) for Video Driver or Text EditorSoftware.

Up and Down Scrolling throughVideo Memory

Reverse Video, Blinking Characters.

Displays 128 ASCII Characters 64 X 32 or 32 X16 Screen format (Jumper Selectable). 7 by 11 DotMatrix Characters.

American or European TV Compati-ble (CRT Controls Programable)

Dealer Inquires Invited

OMND OPENING SPECIAL!

15 MHZ DUAL TRACE

PortableScope

BIG PRICEBREAKTHRU

399.

«**!*.

m

H

MODEL MS-215

• Battery or A.C. Operated • External and Internal Trigger

• Time Base—.1 m Sec./Div. Into 21 Calibrated Ranges •3% Accuracy. Input Impedence 1 M Ohms • Completewith Input Cables, Battery and Charger.OPTIONAL: • Leather Case $45.00 • 10:1 Probe $27.00(2 for $49.00) Prices Good through 5/31/79

MS- 7 5 Single Trace Scope $299.

31/2 DIGIT DMMLCD Readout

SIZE: 1.3" H 2.7" W 4.0" D

• .5% Accuracy • AC-DC1-1000V • Ohms 1K-10M

• Current lmA-1 Amp

• 100% Overload ProtectionOPTIONAL: • Leather Case $20.00

• NiCad Battery and Charger $16.00

fyE) 3.5 LED DIGITS

Panel Meter

• .5% Accuracy

• Voltage Range0-1000V g j*

• Power: +5V 200mA O £ •Auto Zero • Update Rate: 3 Rdg. / Sec

Circle 130 on inquiry card.

MODEL LM-350

*13995

MODEL PM-349

ASCII Keyboard Kit $77.

Assembled and Tested $93.00• Single +5V Supply • Full ASCII Set (Upper and LowerCase) • Parallel Output • Positive and Negetave Strobe •2 Key Rollover • 3 User Definable Keys • P.C. BoardSize: 17-3/16" X 5" • Control Characters Molded on KeyCaps • Optional Provision For Serial OutputOPTIONAL: Metal Enclosure $27.50 • Edge Con. $2.00 •Sockets $4.00 • Upper Case Lock Switch $2.50 • ShiftRegister (For Serial Output) $2.00

Dealer Inquiries Invited

Apple II I/O Board Kit

Plugs into Slot of Mother Board•1 8 Bit Parallel Output Port (Expands to 3 Ports) • 1 InputPort • 15mA Output Current Sink or Source • Can beused for peripheral equipment such as printers, floppydiscs, cassettes, paper tapes, etc. • 1 free software listingfor SWTP PR40 or IBM selectric.PRICE: 1 Input and 1 Output Port $49.001 Input and 3 Output Ports $64.00Dealer Inquiries Invited

SHIPPING $3.50 / California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

15820 Hawthorne Boulevard

Lawndale, CA 90260

(213) 370-5551

VISA

Circle 313 on inquiry card.

HOBBYISTS!... EXPERIMENTERS!... ENGINEERS!YOU NOW HAVE A NEW HOME...BY MAIL!

From

CONTINENTAL SPECIALTIES CORP

The LPK-1 only $19.95

New Logic Probe Kit

Finally...a low cost, easy lo build probe kit with professionalfeatures. This inexpensive probe includes separately drivenhigh, low and pulse indicator LEOs; 0.3 Meg input impedance:input overload protection: pulse stretching and indication torpulses as last as 300 nanoseconds: reverse voltage protection:0° 50°C operating range: easy lo follow assembly and opeiatmg manual: and CSC's reputation tor true professional qualityand reliability

OUR BEST BUY IN BREADBOARDS

only S2.75 |

EXP 325 I

only $5.50EXP 350

only $9.00EXP 300

■■■■in iiiiiiniiiiiiiii

i!:i!!BII!IIII»lllllllll!ll!llliill

100 MH2 8 DIGIT FREQUENCY

COUNTED

Lab Accuracy in Shop or Field...

■ Measure 20 Hi 100 Hzguaranteed, and betterthan 500 MH2 with op-tional Prescaler

■ Easy reading with a 0.6"LED 8 digit display.

■ Direct readout with t Hzresolution.

■ Crystal timebase accurateto 3 ppm

Fully automatic, ruggedand operates (torn standard AA. rechargeable AAor AC adapter Batteriesand AC adapter are available at extra charge toprice quoted

MAX 100 S134.9S

PS-500 Prescaler S59.95AC Adapter/Charger S9.95

LOGIC MONITOR

Instantly monitor logic state olall IC nodes simultaneously. Clipthe LM 1 onto and 14 or 16 pinDIP IC. Faster than a scope.safer than a voltmeter, youhave an instant display ol thesialic and dynamic logic stalesof every node. Requires no Patteries. input impedance 100Kohms, inpul threshold 2 V.

LM 1

$59.95

SURPLUS BARGAINS

COLOR R.F. MODULATOR. Useyour television as a video monitorlor computer and other uses.Asjembled and pre-tuned toconvert b/w or color video lochannel 3. Requires 5 vdcpower.Only $9.95.

^W&

2V< SPEAKER. Perlect Ion 00sot projects. Only 69c

UTILITY SCREWDRIVER. Madein USA by Fleet Tools. Duality ata low price. Only 29c.

12 VOLT BUZZER. Very loud.Ideal lor alarms, indicators andprojects Only 99$.

NO PUSHBUTTON Made byStackpole. Comes with largeknob, wires and connector lor.025 square post. Only 21C.

16 FT. COAX. With mouldedRCA plug on each end. Ideal loraudio, video and RF. applica-tions. Only S1.49.

3662UNIVERSAL "P" PATTERN D.I.P. PLUGBOARD

Made horn 1/16 epoxy glass and designed lor a 44 pinconnector on 156 centers

3662 6.5" x 4.5"3662-2 9 6" x 4 5"

S7.95S11.95

B8O0V and 8801-1UNIVERSAL MICROCOMPUTER/PROCESSORPLUGBOARD

Designed to use with s 100 bus. The 8800V includes heat s;nkand hardware, the 8801 1 is less power bus and heal sink.

8800V

8801-1

1 4

S19.95

S14.95

59

$17.95

$13.46

10 24

S15.96

S11.96

SCR ELECTRONICS

9533 VALLEY VIEW ST • CYPRESS, CA 90630(714) 527-2554 IN ORANGE COUNTY

STOP IN AND BROWSE AROUND...

TERMS; HOW 10 ORDER Give product heading, pad numttti (tl shown) andprice Add 52 50 Stopping and handling lo all order- uiiilei SbO 00 All ordersover $50 00 will hi! shipped pre paid Minimum order is 57 50 No C 0 D >.

please c.iiii residents .idd fi°6 sales tax M/C and VISA use's include numbs.eipiuiKiu date and ydui signature Some specials and surplus items may he in

'muled quantities II supplies are exhausted, your money will he promptlyrefunded foi those items

3690-12

CARD EXTENDER

The 369012 has 100 contacts.50 per side on .125 centers.The attached connector is compatible with S 100 BusSystems.

The 3690 is 6.5" 22(4 pin on158 centers

369012 $25.00

3690 $12.00

8803

MOTHERBOARDFOR S100

Low noise, includes capacitorand spacer kit. Circuitry for ac-tive or passive termination.Mounts eleven 100 contacts(S-1QQ type) connectors. Madefrom G 10 epoxy glass with solderplated 2 ounce copper and largebuses lor heavy current, compatible with MILSTO-275 with10°Crise. $29.95

SOLDER SPECIALS

Imported

Chemtronics Quality SolderFactory tresh Exceeds00*571

■ 60/40 (.031)21 ga.V? lb. $6.34

■ 60/40 (.047) 18 gaVi lb. $5.60

■ #510 DeSoldering Tool$2.45

WAMECO

THE COMPLETE PC BOARD HOUSEEVERYTHING FOR THE S-100 BUSS

* FPB-1 FRONT PANEL BOARD * EPM-2 16K or 32K BYTE EPROM

Hex Displays, IMSAI Replaceable $50.00 2708 or 2176 interchangeable $30.00

* FDC-1 FLOPPY DISC CONTROLLER BOARD * QMB-9 9 SLOT MOTHER BOARDControls up to 8 Discs $45.00 Terminated $35.00

* MEM-1A 8K BYTE 2102 RAM Board ....$30.00 *QMB-12 12 SLOT MOTHER BOARD

* MEM-2 16K BYTE 2114 RAM Board ...$30.00 Terminated $40.00

* CPU-1 8080A CPU Board * RTC REALTIME CLOCK

With Vector Interrupt $30.00 Programmable Interrupts $30.00

* EPM-1 4K BYTE 1702A EPROM $30.00

FUTURE PRODUCTS: 80 CHARACTER VIDEO BOARD,IO BOARD WITH CASSETTE INTERFACE.

DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE

AT YOUR LOCAL DEALER

W7J7C

ifJC. WAMECO INC. 3107 LANEVIEW DR., SAN JOSE, CA 95137

266 BYTE April 1979

Circle 387 on inquiry card.

P.O. Box 4430X Santa Clara, CA 95054

RCA Cosmac Super Elf Comput

Compare features before you decide to buy anyother computer. There is no other computer onthe market today that has all the desirable bene-fits of the Super Elf for so little money. The SuperElf is a small single board computer that doesmany big things. It is an excellent computer fortraining and for learning programming with itsmachine language and yet it is easily expandedwith additional memory, Tiny Basic, ASCIIKeyboards, video character generation, etc.The Super Ell includes a flOM monitor for pro-gram loading, editing and execution with SINGLESTEP for program debugging which Is not in-cluded in others at the same price. With SINGLESTEP you can see the microprocessor chipoperating with the unique Quest address anddata bus displays before, during and afterexecuting instructions. Also, CPU mode and in-struction cycle are decoded and displayed on nineLED indicator lamps.

An RCA 1861 video graphics chip allows you to. connect to your own TV with an inexpensive videomodulator to do graphics and games. There is aspeaker system included for writing your ownmusic or using many music programs alreadywritten. The speaker amplifier may also be usedto drive relays for control purposes.A 24 key HEX keyboard includes 16 HEX keys

Super Expansion Board with

This is truly an astounding value! This board hasbeen designed to allow you to decide how youwant it optioned. The Super Expansion Boardcomes with 4K of low power RAM fully address-able anywhere in 64K with built-in memory pro-tect and a cassette interface. Provisions havebeen made for all other options on the sameboard and it fits neatly into the hardwood cabinetalongside the Super Ell. The board includes slotsfor up to 6K of EPROM (2708, 2758, 2716 or Tl2716} and is fully socketed. EPROM can be usedfor the monitor and Tiny Basic or other purposes.A IK Super ROM Monitor $19.95 is available asan on board option in 2708 EPROM which hasbeen preprogrammed with a program loader/editor and error checking multi file cassetteread/write software, (relocatible cassette file)another exclusive from Quest. It includes registersave and readout, block move capability andvideo graphics driver with blinking cursor. Breakpoints can be used with the register save featureto isolate program bugs quickly, then follow withsingle step. The Super Monitor is written withsubroutines allowing users to take advantage ofmonitor functions simply by calling them up.

er $106.95

plus load, reset, run, wait, Input, memory pro-tect, monitor select and single step. Large, onboard displays provide output and optional highand low address. There is a 44 pin standardconnector for PC cards and a 50 pin connector (orthe Quest Super Expansion Board. Power supplyand sockets for all IC's are included in the priceplus a detailed 90 page instruction manual.Many schools and universities are using theSuper Elf as a course of study. OEM's use it fortraining and research and development.Remember, other computers only offer Super Elffeatures at additional cost or not at all. Comparebefore you buy. Super Ell Kit $106.95, Highaddress option $8.95, Low address option$9.95. Custom Cabinet with drilled and labelledplexiglass front panel $24.95. NiCad BatteryMemory Saver Kit $6.95. All kits and optionsalso come completely assembled and tested.Ouestdata, a 12 page monthly software publica-tion for 1802 computer users is available by sub-scription for $12.00 per year.

Tiny Basic for ANY 1802 System

Cassette $10.00. On ROM $38.00. Super Elfowners, 30% off. Object code listing with man-ual $5.00. Object list, manual and paper tape$10.00. Original ELF Kit Board $14.95.

Cassette Interface $89.95

Improvements and revisions are easily done withthe monitor. If you have the Super ExpansionBoard and Super Monitor the monitor is up andrunning at the push of a button.Other on board options include Parallel Inputand Output Ports with full handshake. Theyallow easy connection of an ASCII keyboard to theinput port. RS 232 and 20 ma Current Loop forteletype or other device are on board and if youneed more memory there are two S-100 slots forstatic RAM or video boards. A Godbout 8K RAMboard is available for $135.00. Also a 1K SuperMonitor version 2 with video driver for full capa-bility display with Tiny Basic and a video interfaceboard. Parallel I/O Ports $9.85, RS 232 $4.50,TTY 20 ma l/F $1.95, S-100 $4.50. A 50 pinconnector set with ribbon cable is available atS12.50 for easy connection between the SuperElf and the Super Expansion Board.The Power Supply Kit for the Super ExpansionBoard is a 5 amp supply with multiple positiveand negative voltages $29.95. Add $4.00 forshipping, Prepunched frame $5.00. Case$10.00. Add $1.50 for shipping.

Auto Clock Kit $15.95

DC clock with 4-.50" displays. Uses NationalMA-1012 module with alarm option, includeslight dimmer, crystal timebase PC boards. Fullyregulated, comp. instructs. Add S3.95 for beau-tiful dark gray case. Best value anywhere.

RCA Cosmac VIP Kit $229.00

Video computer with games and graphics.Fully assem. and test. $249.00

Not a Cheap Clock Kit $14.95

Includes everything except case. 2-PC boards.6-.50" LED Displays. 5314 clock chip, trans-former, all components and full instructions.Orange displays also avail. Same kit w/.8Q"displays. Red only. $21.95 Case $11.75

60 Hz Crystal Time Base Kit $4.40

Converts digital clocks from AC line frequencyto crystal time base. Outstanding accuracy. Kitincludes: PC board. IC, crystal, resistors, ca-pacitors and trimmer.

Digital Temperature Meter Kit

Indoor and outdoor. Switches back and forth.Beautiful. 50" LED readouts. Nothing like itavailable. Needs no additional parts for com-plete, full operation. Will measure -100'to+ 200"'F, tenths of a degree, air or liquid.Very accurate. $39.95

Beautiful woodgrain case w/bezel $11.75

NiCad Battery Fixer/Charger Kit

Opens shorted cells that won't hold a chargeand then charges them up, all in one kit w/fullparts and instructions. $7.25

PROM Eraser Will erase 25 PROMs in15 minutes. Ultraviolet, assembled $34.50

Rockwell AIM 65 Computer

6502 based single board with full ASCII keyboardand 20 column thermal printer. 20 char, al-phanumeric display. ROM monitor, fully expand-able. $375.00. 4K Assembler $85.00, 8K BasicInterpreter $100.00. Power supply assembledincase $60.00.

7420N7422N743QH7«2N7«5N7447N7«8N7450NHUH7475N7485N74B9N7490N7492N7493N749DN74I0ON74107N7412IN74123N74125N74I45N741SON74151K74154N74157N74161N74I62N74163N74174N74175N741 SON74192N74193N74221N74298N7438SN74366N74367N

74LS00 m

74L500N

74LS02N

74LS04N

74LS05N

74LSQ8N

74LS10N

74LS13N

74LS14N

74LS20N

74LS22N

74LS28N

74LS30N

74LS33N

74LS38N

74LS74N

74LS75N

74LS90N

74LS93N

MLSflSN

74LS107N

74LS112N

74LSM3N

74LSI32N

74LS136N

74LS151N

74LS1S5N

74LS157N

74LS162N

741S183N

74LS174N

74LS190N

74LS221N

74LS258N

74LS367N

LINEAR

CA3045

CA3046

("AJOB I

CA30B2

CA1089

LM301ANMH

LM305H

LM307N

LM308N

LM309H

LM309K

LM31III/N

LM3I7T/K

LH318

LM320K-5

LM323K-5

LM320K-12

LM320K-15

LM320T-5

LM32QT-8

LM320M2

LM32GT-15

LM324N

LM339N

LM340K-S

LM340K-8

LM340K-12

LM34QK-15

LM34CK-24

LM34DT-&

LM340T-8

LM340M2

LM340M5

LM340T-18

LM340T-24

LM343H

LM3M

LM2111LM2902LM3900NLM39Q5LM3909NMC145BVNE540L

NES50N .6

NE555V .4

NE556A .7

NE565A 1.0

NE566V 1.5

NE567V 1.2

NE570B S.O

NE5718 S.O

78L05 .6

78L08 .6

79L05 .7

78M05 .8

75108 1.7

7549ICN .5

75492CN .5

75494CN .8

A la 0 CONVERTER

80386 4.5

8700CJ 11.9

8701CN

8750CJ

LD130

9400CJV/F

ICL7103

IC17107

CMOS

CD34001 Fair

C04000

CO40O1

CO4002

CD4006

CD40O7

004008

CD4009

CD4010

C04011

CD4012

CO4013

CD4014

CO4015

CD4016

CD4017

CO -J() IB

CO4019CO4020CD4021CD4022

CO4023CO4024CD4025CO4026CD4027CO 4028C04029C04030CO4035CO4040C04042C04043CD4044CD4046CO4049C04050C0405ICD4060CO4066CD406SC040G9C04070CO4071CD4072CD4073CD4075CO4078CD4078CO4081CD40B2C04116CD4490CD4507C04508CD4510C04511CD4515CD4516C04518CD4520CD4527CD452B

8T10 4.50

8T13 3.0C

3T30 5.5C

8T23 3.1C

8T24 3.SC

BT25 3.2C

BT2G 1.6E

8T28 2.7!

6T97 1.6!

8T98 titMO8/MEM0RV RAM

22 00

1.60

21F02

21Q4A-4

4.95

2112-2

2114

3.95

8.50

.50.16

4116

12.95

2513B

630

21L02-1

1.29

.211.10.21.21.39.39.21

MM5262

.40

MM52BO

3.00

MM5320

9.95

MM5330

5.94

P0411D-3

4.00

PD41IO-4

5.00

P5101L

13.95

42O0A

9.95

B2S25

2.90

.66

.86.36.04

91L02A

1.50

HDD 165-5

6.95

MM 57100

4.50

GIAY3B500-1

9.S5

MCMGV/1A

9.95

416 16.0CLOCKS

MMS309 3.0

MM5311 3.6'MM5312 4.8

MM5313 3.6

MM5314 3.9:

MM5315 4.0

MM5316 5.0

MM5318 3.6i

MM5369 2.ti

MM5B41 H.4

MM5B65 7.9cnooi 5.B

CT7002 8.9

CT7010 89

CT701S 7.2

MM5375AAyN 3.9MM5375AB/N 4.9

7205 16.57207 7.5

720B 15.97209 4.9

OS0026CN 3.7

OS0056CN 3.7

MM53104 2.5

MICROPROCESSOR

8251825362558257

6253C0PIB02CD

3341

PROM

1702A

N82S23

N82S123

NB2S126

N82S129

N82S13I

N82S136

NB2S137

2708

DM8577

8223

2716T1

2716 inltl

CHWAL8

1 MHz

2MHi

4MHi

5MHI10 MHz18 MHz20 MHz32 MHz32768 MHz1.B432MHZ3.5795 MHz2.0100 MHz2.0971S2 MHz2.4S76 MHz3.2768 MHz5.0686 MHz5.185 MHz5.7143 MHz6.5536 MHz14.316iBMHz1B.432 MHz22.1184 MHz

CONNECTORS

KETBOARD ENCODERS

AV5-2376 S12.I

AV5-36M

74C922

74C923

H00165-5

TRANSISTORS2NI8932N2222A2N23692N2904A2N2907A2N30532N363B'2N36432N39042N39062N30552N44002N44012N4402TIP31TIP33A

ready to nook up with transformer anaswitches Very compact with .50' anil.B4" digits.

MA1D02A. C at E .50 8.9S

102P3 Trinilrjimer 2.2S

MA1010A, Car E.84- 11.85

102P2 Tundurmef 22i

Special Innilormsi and sir

switches when purchtted

w'moduleMA1003 car module *■

grain (luoi. diiptiy

RESISTORS Vi wait 5%

10 per type ,03 1000 per type .01225 pet typo .025 350 piece packlOOpcrlypc 015 5perlypa 6.75KEYBOARDS

56 key ASCII keyboard kit S67.50Fully assembled 77 50

53 key ASCII keyboard kit 60.00

Futy assembled 70.00 Enclosure 14.95

LEDS

Red T01B .15

Green. Yellow T016 20

Jumbo Red 20

Green. Orange. Yellow Jumbo .25Cllptlta LEO Mounting Cllpi 841.25(specify red. amber, green, yellow. CleariCONTINENTAL SPECIALTIES In slockComplete line of breadboard lest equip.MAX-1O0 B digit Frtq. Dr. J12B.9SOX WIRE WRAP TOOLS In slock.Portable Multimeter 518.00

DIGITAL THERMOMETER M8.50Bait. oper. General purpose or medical32-230'f. Disposable probe cover•1 accuracy Comp. Assy. Incompacicase Switches trom P to C*.COMPUTER BOARD KITS8K RAM Board Kit $135.00

4K EPROM Kl 114.95

I/O Board X.A 44 50

Eilcnder Board w'connoclor 12.50

16K EPROM Board kit w,D PROMS 74.50Norfft Star floppy Disk Kit S665.00

Addilional Drive Kt 415.00

SPECIAL PRODUCTSMM5865 Stopwatch Timer 9.00PC board 7.50

Switch** Mom Pusnoutton .273 pas. slide .25

Encoder HD0165-5 6.95

3 Digit UnlvenalCounter Board KitOperates 5-16 Vefl DC to 5 MHztyp .125" LEO display 10.50Voice ecluiltd switch .50

Haratronici 100A LogicAnalyrer Kll

S224.D0

1229.00S 369.00

Model 10 Trigger

Expander KdModel 150 Bus

Grabber KitSinclair 3V, Olgll

MultlmelerClock Calendar Kll S23J5

TRAHSFORMERS6V 300 ma 3.25

1? Volt 300 ma translormer 1.2512.6V CT 600 ma 3.7S

12V 250 ma wall plug 2.95

12V CT 250 ma wall plug 3.50Sffl 24V CT 400 mj 3.95

«•« 10V 1.2 amp wall plug 4.85

5 50 12V 6 amp 12.95

6 95 DISPLAY LEOSMAN! CA .270 290

MAM CC 125 39

ID MAN72/74 CA/CA .300 1.00'" 0L704 CC 300 1 "

OL707/DL7Q7R CA .300 1

CrVCC .500 1 90

CA/CC .600 1 95

CC .600 1.95

CC .357 .70

COCA .500 1.35

CCVCA .500 .90

CC/CA X" '

DL72W28

DL747/750

DL750

FND359

rND500'507

FND503i510

FND80O/B07

3 digit Bubble

4 digit bubbleDGB FluorescentDG1D Fluorescent

5 digit 14 pin displayNSN59 9 digil display7520 Claire* photocellsTIL3H HaiCOMPUTER GRAOE CAPS

1600 mid 200V2000 mid 45V3200 50V

5500 25V

MOO 40V

.60

D Connectora RS23225 Pin SubmimalurcsDB25PDB25S

RS232 Complit

DE9P

DE9S

DA15P

0A15S

3.95 94O0

I 50 10000

6.50 12000

1.50 35000

1.95 55000

2.10 B2O00

3 10 60000

Multi-voltage Computer Power Supply

8v 5 amp, ±18v .5 amp, 5v 1.5 amp, ~5v.5 amp, 12v .5 amp, -12 option. ±5v, ±12vare regulated. Kit $29.95. Kit with punched frame$34.95. Woodgrain case $10.00.

Video Modulator Kit $8.95

Convert your TV set into a high quality monitorwithout affecting normal usage. Complete kitwith full instructions.

2.5 MHz Frequency Counter Kit

Complete kit less case $37.50

30 MHz Frequency Counter Kit

Complete kit less case $47.75

Prescaler kit to 350 MHz $19.95

79 IC Update Master Manual $35oo

Complete IC data selector, 2500 pg. master ref-erence guide. Over 50.000 cross references. Freeupdate service through 1979. Domestic postage$3.50. Foreign $5.00. 1978 IC Master closeout$19.50.

Stopwatch Kit $26.95

Full six digit battery operated. 2-5 volts.3.2768 MHz crystal accuracy. Times to 59min., 59 sec, 99 1/100 sec. Times std., splitand Taylor. 7205 chip, all components minuscase. Full instructions.

Hickok 31/2 Digit LCD Multimeter

Batt/AC oper, 0.1mv-1000v. 5 ranges. 0.5%accur. Resistance 6 low power ranges 0.1ohm-20M ohm. DC curr. .01 to 100ma. Handheld, W LCD displays, auto zero, polarity, over-range. $74.95.

S-100 Computer Boards

8K Static RAM Kit $135.00

16K Static RAM Kit 265.00

24K Static RAM Kit 423.00

32K Dynamic RAM Kit 310.00

64K Dynamic RAM Kit 470.00

8K/16K Eprom Kit (less PROMS) $89.00

Video Interface Kit $139.00Motherboard $39. Extender Board $8.99

TERMS: S5.00 min. order U.S. Funds. Calil residents add 6%tax.BankAmericard and Master Charge accepted.Shipping charges will be added on charge cards.

FREE: Send tor your copy of our NEW 1979QUEST CATALOG. Include 28c stamp.

Circle 311 on inquiry card.

BYTE April 1979 267

$1

Read this

andsaveover

•it

00

Introducing the

Vista V80 Mini Disk System

□ 23% MORE STORAGE CAPACITY — Increases your usablestorage capacity 23% from 55,000 to 67,800 bytes on drive one.

□ FASTER DRIVE — Electronically equal to the TRS-80 Mini-Disk System, butup to 8 times faster (Track-to-track access in 5ms for the V80 versus 40msfor TRS-80).

□ DOES NOT VOID TRS-80 WARRANTY — V80 also has 90-day warranty.

□ HERE'S WHAT YOU GET:

Minifloppy disk drive/Power Supply/Regulator board/Compact case

□ DOUBLE DENSITY FOR DOUBLE STORAGE — The V80 willwork with the Vista double-density expansion unit when available.

□ SHIPPED TO YOU READY TO RUN — Simply take it out ofthe box, plug it in and you're ready to run.

PLUS MORE GOOD NEWS - Vista has a new support team, new address, newtelephone, and a new owner. Vista is now part of Advanced Computer Products.

ALSO AVAILABLE FROM THE NEW VISTA.

Vista V-200 Double Density Mini Floppy System with S-100 Controller, CPM on 5W,

power supply & case $699.00

Vista V-250 Dual Shugart 8" Floppy System with S-100 Controller, CPM, BASIC "E",power supply & slimline case $2199.00

SpecialIntroductoryPrice:

Vista

268

Vista Computer Company

1320 E. St. Andrews Place, Unit I

Santa Ana, CA 92705

(714)751-9201

TWX 910-595-1565

BYTE April 1979

Circle 378 on inquiry card.

Circle 20 on inquiry card.

LIMITEDQUANTITY

ASCII COMPUTER KEYBOARDThis 56 key ASCII encoded key-board provides debounced ASCIIoutout (7-bit para lie II and strobe.It has six non-encoded closuresground and requires +5V C?1S0MA. -12V 9 45MA. Astandard 10 pin dualused for data and power inputs. TheseSilent 700 series

readout connector

keyboards were manufactured for useterminals. TESTED AND GUARANTEED. Manufactured by Clare

Pendar.

ACOUSTIC COUPLER

This originate only coupler was

manufactured for use in T.I. 735

data terminal. It is compatible with

Bell 103 and 113 data sets or the

equivalent. The coupler operates

asychronously to. a speed of 300 baud * T ' jp-¥/.OG

in the full duplex mode. (Half duplex mode is easily acquired

by adding one 1N914.I All signal outputs are compatible with

TTL. Transmit freq. is 1270hz. for mark and 1070hz. for

space. Receive freq. is 2225hz. for mark and 2025ht. for

space. Unit requires tl2 volts and +5 volts for operation.

Complete with schemotic and all pertinent information. Fully

reconditioned, calibrated, and guaranteed.

RS232 to TTL to RS232 conversion kit S6.50. Includes P.C.board, components, and schematic.

4-DIGIT COUNTERThe MK5005 is a P-Channel MOS four decadesychronous counter with latches, multiplexingcircuits, and a read-only memory programmed• seven-segment outputs. It provides a means ofcounting up to 9999. 24 pin gold and ceramic package. S9.95lldeal for use with T.I. 4-digit display, below.)

7^

4-DIGIT LED DISPLAY

Full 4-digit, .5" characters for 4-digitcounter. 12 hour, or 24 hour clock.T.I. pin TIL373. common cathode. $2.95^

HP5082-7730

Red .3" LEDcommon anodeSI.25. 4/S4.

Send St.00 forour catalog andgel credit onyour first order.

12VDC MOTORS

Both the Ho/land and Maxonare very efficient I2VDC motors.They run on as low as %V'and draw 250ma with 2.8inch torque at 5000RPM. 1H"x1-5/8" long.

Holland double shaft $3.95 ea.Maxon single shaft $2.95 ea.

4536 S. J&ufotocn SBn.&UOe <f

TERMS: Check or money order, NO 'COD. Texas residents add5% sales tax. Overseas countries add $5.00 for surface rotes.

All orders add 5% for postage. MINIMUM ORDER $15.00.

■ ■■■■■■■Hill

III

^ ZERO CROSSING DETECT0R\Z.SN16268 by T.I. detects when^line current is at its minimum•*for switching devices at zeroctirrent. 14 pin dip. 10/$4.95

IK SHIFT REGISTER' National MM5013 in an 8 pin\ dip. 10 for $4.95

SIGNETICS N8TJBA' Dual 2-input high voltage to, TTL interface gate. 14 pin dip.W for $2.50

MOTOROLA MC1406L

it digital to analog converter.' 14 pin ceramic. $1.50 ea.

MOTOROLA MC1558

> Dual op amp in an 8 pin dip.

$.49 each 10 for $4.50

SHIFT REGISTER

Fairchild 3341 4X64 digital

storage buffer (FIFO! $5.95

\JMS403Q DYNAMIC RAM409&Bit low power (400mwJ witt.ij data and 22 pin socket. These;£ units are removed from boards.P* but are tested and guaranteed.$3.95 each 10 for $25.00

\

DISC CAPACITORS; includesvalues from 74PF to .2MFD. 100 for $2.95

DIPPED POLYESTER FILM 100 for $4.95

1% PRECISION RESISTORSassortment contains a balanced Ainventory. 200 for $4.95|

ELECTROLYTICS;

aluminum axial leads. Includesvalues from 1MFD/50V to1500MFD/16V....100 for $9.95

TANTALUMS; values from1MFD/10V to 39MFD/10V. 50 for J6.951

SLIDE SWITCHES; standardand miniature. 40 tor $4.95

POWER CORDS; includesand 3 conductor, 6 to 8 ft.UL listed. 6 for $295J

HEAT SHRINK TUBING;25—6" lengths in varioussizes and colors. $2.95/asst.

RS-232 CABLE? Conductor 24GA. teflon with braidshield and white PVC jacket. (3/16"dia.l50t for $14.95 100" for $25.00

KYNAR WIRE WRAP WIRESolid silver plated 30AWG available inblue, red, black, yellow, green, or white.

100' spool. $2.50

50CT spool. $5.95

tOOO' spool. $9.95

HOOK-UP WIREAvailable in blue, red, white, black, gray,green, yellow, orange, or violet, (strandedPVC)

22 GA 20V roll. $3.50

22 GA 1000' roll. $12.50

24 GA 250' roll. $3.50

24 GA 1000' roll. $9.95

POWER CORDS

1) White 2 conductor w/strain relief, 3/$)

Black 2 conductor w/strain relief. 3/$l

3) Black 3 conductor molded vinyl. $.95

4) Black TV cheater cord. 2/S1

^

MINIATURE TOGGLECS-K no. 7109 SPOT reset switch.

(spring return) $.95ea. 10/$7.50

MINIATURE TOGGLEC&K p/n 7101 SPOT, rated5A @ 120VAC. $1.25 EA.10 for $10.00SLOTTED OPTICAL SWITCH_» The OP800 consists of a galliumJppV arsenide infrared LED coupled[ with an npn silicon photo-transistor in a plastic housing.The gap in the housing provides a meansof sensing motion of opaque objects.Manufactured by OPTRON INC $1.93 ea.

DIP SWITCHfO Position Amp p/n 435166-7. Specialoffer at only $1.95 each, 10 for $15.

REFLECTIVE SOURCE & SENSORT.I. TIL 139 is designed for

sensing applications such asline finder, batch counter,level indicator, and beginning-of-tape/endof-tape indicators.

SUBMINIA TURE CONNECTORS(RS-232 TYPE)

DB25-P. male. $2.95

DB25-S. female. $3.50

DBC25P. right angle male.....S4.95

AMP hood. SI.50

DC37-P. male.

DC37-S. female.

DDSO-P. male. $4.50

DD50S. female. $5.75

Screw lock assembly Cinch D20420. S.50/pair

Male screw retainer Amp 205980-1 $.50/pair

Female screw lock assembly Amp 205817-1...S.50/pau

TV CONNECTORCinch Jones 2RP-2. Rated 125V 7A..Used as input voltage connector forTV sets. 10 FOR Sf.50

2RP-3, 3-pin version of above. 10 FOR $1.75

SCREW TYPE TERMINALIdeal for stereo or TV connector.1-3/8" mounting ctrs. 20/$t.O0 100/$3.95

PC. BOARD EDGE CONNECTORS

10/20 pin .125"ctrs. solder eyelet. „ $1.50

12/24 pin ,156"ctrs. dip solder. $1.75

18/36 pin ,156"ctrs. solder eyelet.... SZ39

22/44 pin ,156"ctrs. solder eyelet $2.75

22/44 pin ,156"ctrs. dip solder. $2,50

28/56 pin .156"ctrs. solder eyelet. $295

36/72 pin .125"ctrs- solder eyelet. $3.25

36/72 pin .125"ctrs. wire wrap $4.25

43/86 pin .156"ctrs. dip solder. $3.95

43/86 pin ,156"ctrs. solder eyelet (usedl $1.00

44188 pin . 125"ctrs. solder eyelet $4,25

l>*

Zestron p/n 540 reed relay. 12VDC SPST N.O.Coil resistance is 800 ohm. $1.00 each

10 for $7.50

Electrol p/n R4422-2 reed relay,12VDC DPST N.O. Coil resistanceis 440 ohm. $1.50 each

10 for $9.95

P&B p/n JRM10439 reed relay. 5VDCDPST N.O. Coil resistance is 1000 ohm.$1.95 each 10 for $17.50

P&B p/n JRM10440 reed relay, 5VDC5PST N.O. Coil resistance 400 ohm.$3.95 each ,.70 for $34.95

THE AMAZING METAL

-oA-

SPEEDY BEND

Bismuth alloy melts in boil] p^oTlead "bendering water. Ideal for castingsmall parts. 4oz. ingot $3.95$9.95

and Vi watt resistors.

$t.95ea.\

g3*\

TFTTTTTm

CALL TOLL FREE (800) 423-5387

CA, HI, AK, (213) 886-9200

TOP QUALITY,LO-COST SPECIALS

Order by Cat No. and description.

Cat No. Description Price

1142 DATA CASSETTES, 10 min 2.00

1147 DISKETTE, SK" soft sector, TRS-80 3.25

1224 SOUND ACTIVATED SWITCH, vox JO

1226 UNE CORDS, #18,2 cond w/plug 25

1033 2.7uF TANTALUM, 30V axial IS

1033 22 uF TANTALUM, 10V axial tS

1033 33uF TANTALUM, 35V trial JO

1007 I2V TRANSFORMER, 3Q0ma, PC mounl .75

1233 1N4148 SWITCHING DIODES, lull lead 25 for 1.00

T14112 TEXAS INST. TTL DATABOOK 4.95

21102*2 250nsec 21L02 RAM 1 JO

2IL02N-2 6S0nsec 2U02 RAM .85

1291 8 POS ROCKER DIP SWITCH 1.95

1289 4 POS ROCKER DIP SWITCH 1125

1020 lOOOuF 25V uprite cap 20

1156 TRS-80 16K MEMORY ADD-ON KIT 95.00

1199 TRS-232 PRINTER INTERFACE 3.00

1225 J' RAEDOUTS, MAN 74 equal (NS74R) .75

1117 14 PIN SOLDER TAIL SOCKETS 19

1117 16 PIN SOLDERTAIl SOCKETS 20

1117 24 PIN SOLDERTAIL SOCKETS 36

1001 1N4001, 50V 1A RECTIFIER 20 lor 1,00

1018 5.1V 1 WATT ZENER 10 lor 1.00

1018 12V 1 WATT ZENER 10 for 1.00

1034 25 AMP, 100 PIV "BLOCK'BRIDGE 1J0

1113 SOLDERING IRON, pencil type, 30W . 3J0

1020 47uF 6.3V uprite lytic 1.00

1020 22uF, 250V axial lytic 15

1167 40 COND RIBBON CABLE per foot JO

1160 104 KIT, 2 parallel •■ 2 serial ports 140.00

1087 PROM PROGRAMMER 2708/16, from OAE 275.00

1154 SHUGART MINIFLOPPY DRIVE, SA400 275.00

1031 5" READOUT. CC, FND-S03 .75

19355 BUSINESS CTR DR 6B4NORTHRIDGE, CA 91324

TRS-80 SOFTWARE

Cat No. Description CASSETTES Ptke

1093 SARGON CHESS, II 19.95

1041 STAR TREK, II H 95

1036 SCI Fl GAME SAMPLER, 1/11 5.95

1042 TAROT1/0 5,95

1179 CRIBBACE l/U 9.95

1192 REAL TIME LUNAR LANDER II. 7.95

1195 BRIDGE CHALLENGER II 14.95

1186 AIR RAIDI/II . 1495

1187 PILOT l/ll 14 95

1047 OTHELLO l/ll 5.95

1043 SMALL BUSINESS BOOKKEEPING l/IL 14.95

1051 DAILY BIORHYTHM PROGRAM l/ll 5.95

1049 MICRO TEXT EDITOR 1/11 9.95

1038 INVENTORY MODULAR l/IL 19 95

1153 EDIT-80, text editor II (32K) 39 95

COMPUCRUISE

only $165

Navigalional Computet for mobileuse! Features cruise control, fuelmanagement, trip computer,timer/counter Warns lov. fuel!Compensates (or lire size, convertslo metric. 44 iunctions! Mountseasily on dash. Easy to read brightblue digits. With installation in-structionsCat No. 1166

"LIFT-IT" PCDUPLICATING

*'T $25

Copy I'C patterns from magazinesquickly and easily! No additionalmaterials required. No cameraneeded! With 10 x 12 sheet of film.We slock all refills! with slep-by-step instructions.Cat No. 1203

IC MASTER

$45

SEND FOR FREESPRING CATALOGFEATURING:

FACTORY FRESH, PRIME IC*S, LEO'S,READOUTS, RECTIFIERS. ZENERS.TRS-80 ADD-ONS. S-100 BOARDS,PC AIDS, TEST EQUIPMENT. BOOKS.SOFTWARE, AND MORE!

ORDER BY MAIL, PHONE.MASTERCHARCE. VISA, CODSOK 1 ADD 51 JO FOR POSTAGE& HANDLING.

Circle 170 on inquiry card.

BYTE April 1979 269

Circle 230 on inquiry card.

ssm

FORMERLY CYBERCOM/SOUD STATE MUSIC.

CB-1 80S0 Processor Board. 2K ol PROM 256 BYTERAM power on/rest Vector Jump Parallel port with

status. Kit $125.95 PCBD $28.95

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100

buss. Kit 450 NSEC $123.95. PCBD $24.95

MB-7 16KX8, Static RAM uses «P410 Protection,

fully buflered KIT $299.95

MB-8A 2708 EROM Board, S-100. 8K8X or 16KX8

kit without PROMS $75.00 PCBD $28.95

MB 9 4KX8 RAM/PROM Board uses 2112 RAMS or82S129 PROM kit without RAMS or PROMS $72.00IO-2 S-100 8 bit parallel /IO port. % ol boards is lor

kludging. Kit $46.00 PCBD $26.95

IO-4 Two serial I/O ports with full handshaking20/60 ma current loop: Two parallel I/O ports.

Kit $130.00 PCBD $26.95

VB-1B 64 x 16 video board, upper lower case Greek,composite and parallel video with software, S-100.

Kit $125.00 PCBD $26.95

Altair Compatible Mother Board. 11 x 11 Vj x '/«".Board only $39.95. With 15 connectors. $94.95Extended Board full size. Board only .. .$ 9.49With connector $13.45

SP-1 Synthesizer Board S-100

PCBD $42.95 KIT...

$135.95

82S23

82S123

82S126

82S129

82S130

82S131

MMI6330

IM 5600

IM5603

IM5604

IM5610

IM5623

IM5624

$1.50 PRIME SUPPORT

1.50 8080A .... $ 9.95

1.95 8212 3.25

. 1.95 8214 6.50

3.95 8224 3.49

3.95 L2114 (450 NSEC) 7.25

1.50 12114 (250 NSEC) 7.99

1 50 2102A-2L 1.60

195 2102A-4L 1.25

3.95 2708 450 NSEC .... 8.95

1.50 1702A-6 3.50

195 4116 (Apple RAM) .12.95

395 8/89.95

wmc/j

me.

WAMECO INC.

FDC-1 FLOPPY CONTROLLER BOARD will driveshugart, pertek, remic 5" & 8" drives up to 8 drives,on board PROM with power boot up, will operatewith CPM (not inclulded).PCBD $42.95

FPB-1 Front Panel. (Finnally) AMSAI size hex dis-plays. Byte or instruction single step.PCBD $42.95

MEM-1 8KX8 fully buffered, S-100, uses 2102 type

rams PCBD $24.95

QM-12 MOTHER BOARD. 13 slot, terminated, S-100

board only $34.95

CPU-1 8080A Processor board S-100 with 8 level

vector interrupt PCBD $25.95

RTC-1 Realtime clock board. Two independent in-terrupts. Software programmable. PCBD . ..$25.95EPM-1 1702A 4K Eprom card PCBD $25.95

EPM-2 2708/2716 16K/32K

EPROM CARD PCBD $24.95

QM-9 MOTHER BOARD. Short Version of QM-12.

9 Slots PCBD $30.95

MEM-2 16K x 8 Fully Buffered

2114 Board PCBD $25.95

16K RAM BOARD by HWE fully buffered, bank se-lect standard to IEE buss gold fingers, solder mask,plated thru holes, silk screened PCBD $25.95

KLUDGE BOARD by HWE for S-100 glass epoxyover 2600 plated through holes. 4 regulators withCAPS all S-100 lunctions labeled, gold fingers.PCBD $29.95

m\sm

419 Portofino DriveSan Carlos, California 94070

Please send lor IC. Xistorand Computer pans list

APRIL SPECIAL SALEON PREPAID ORDERS

(charge cards not included on this offer)

WAMECO REAL TIME CLOCK BOARD. Kit with

all factory marked parts $54.95

PCBD $23.95

4Kx8 EPROM. Fully buffered with Intel 1702A.Kit $74.86

MIKOS PARTS ASSORTMENTWITH WAMECO AND CYBERCOM PCBDS

MEM-2 with MIKOS #7 16K ram

with L2114 450 NSEC $235.95

MEM-2 with MIKOS #13 16K ram

with L2114 250 NSEC $269.95

MEM-1 with MIKOS #1 450 NSEC 8K

RAM $123.95

CPU-1 with MIKOS #2 8080A CPU 89.95

MEM-1 with MIKOS #3 250 NSEC 8K

RAM 144.95

QM-12 with MIKOS #4 13 slot mother

board .... 89.95

RTC-1 with MIKOS #5 real time clock 60.95

VB-1B with MIKOS #6 video board less

molex connectors 99.95

EMP-1 with MIKOS #10 4K 1702 less

EPROMS 49.95

EPM-2 with MIKOS #11 16-32K EPROMS

less EPROMS 59.95

QM-9 with MIKOS #12 9 slot mother

board 75.00

MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIMEPARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIREDFOR THE COMPLETE KIT LESS PARTS LISTED ALL SOCKETSINCLUDED.

VISA or MASTERCHARGE Send account number, interbanknumber, expiration date and sign your order. Approx. pottagewill be added Check or money order will be sent post paid inUS II you are not a regular customer, please use charge,cashier's check or postal money order otherwise there willbe a two-week delay lor checks to clear. Calif, residents add6% tax Money back 30 day guarantee. We cannot accept re-turned ICs that have been soldered to. Prices subject tochange without notice. $10 minimum order, IT.SO service chargeon orders less than $10.00.

AMD

1-8 10 up

AM01LO1APC I 435 $ 3493.70 2.96

.'-Mi. I l I trll-C

AMB1L12APC

AM91L12B»C

AUBlLISCPC

03 LOtH'C

93L01PC

93L06DC

B3LOWC

.IOPC

toe

93L1

03L14PC931lire93L21PC

B3L24PC93L7BPC93L34PCB3L3BPC03L40OC93L40FC93L41PCMLHOPC

AMOB5HLAMOIOMMAMASS DC

AMsaertc

3.983.303 BO

IMMEDIATEDELIVERY

1-B 10 up I

IA % BIB S S.BO

AM1408L6AM14B8PCAM1500OCAM1SOODL

II660HC

AM2W3PCAM3B04DCAM2B04DMAM3S0SFCAM3BOO

AM2B03DC

AM2803PC

AM2BD4PC

AM380tmC

AM380DPC

AMJBIOPC

AMIB12ADC

AM3B12DC

AM3813DC

AM3841APC

AM2B41PC

AM2BB5PCAM2901DC

AM3B03PC

AM 2905 DC

AM3B07PC

AM290DOM

AMlfiMPC

AM3011PC

AM2914DC

AM291BPC

AM3S33PC

3341APC

3341 DC

334IPC

334TPC

AMSOBOADC

AM0OB0APC

AMB101AOC

AMS101APC

AMB103UPC

AMB103CPC

AMS101DPC

AMB103PC

AMBII2APC

AMB1I7ADC

AWB13QADC

AMB130CDC

AMBI 40 ADC

B300PC

B301PC

B304PC

930HPC

B30BOC

D30BPC

0300PC

B310PC

S311PC

30 00895605

riooo

1B.J031 JOIB. TO

9314PC i

9316PC

9318PC

933IPC

93I2PC

B3IBPC

9334PC

0338PC

B340PC

B341PC

9342PC

93BOPC

936BPC

AMBS51PC

AM9999PC

9600PC

0801PC

9603PC

Ml 4pc

B61BPC9617PC

982QPC

OB31PC

AM29L03DC

AM25L04PC

AM25LOBDM

AM2SLS14PC

AM35LS13SPC

AM29LS139PC

AM25LS2S7PC

AM2530SDC

AMSBSIOPC

AM26S02PC

AM3CS12APC

A M3SS 13 DC

AMD LINEAR

LP39BAH

LF1B6H

LF3B7AH

LF3B7H

LM.09H

LMIOBH

LM134D

LM311H

LM301ANLM30BAD

SUPER KIM

IS

. $395.00

pansion into

mure RAM, I

EPROM and pro-totype area onlini' modern, com'pact fully aiiembland integrated boiTotal compatibllllwith KIM-1 softwOn board 5V. 3Alator and TTV, RS232 and Audio Tape ln.erft.ee.

Intersil LED or LCD

31/2 DIGIT PANEL

METER KITS

BUILD A WORKING OPM IN 1/2 HOUR WITHTHESE COMPLETE EVALUATION KITS

prototyping kill COmpatl* ■*■<» », O(tor in* TIOSl or LED d.lplay |lormateriel*, incluomg PC board, (or •ICL7104CV(LCO) S29.95

ortvinar una LCuditrjIi,n 7IOT) Kits provide aninclionrrvg pmn merit I

ICLT107'LEO) S24.9S

M733HCM733DMMJJ5DCMI3GHM

MICR0P0WER Timing Circuit

XRL565CPDirectly inter

changeablewith popular

555 Timer.

Dissipate*1/1Sth power.SI.B0 each

intersii'i UniversalCounter System

EVALUATION KITICM722GEV $5995

Ballantine Model 1010A

Dual Channel/X-Y Scope

A professional oscilloscope

to fit

■ c • • your' • • basic

.*.(?! needs.• •••• -•• .-•* $695

KIM-1 MICROCOMPUTER

1802 SERIES

40 to r 85 C

I802LD

1822LD1B24LD1852LDI853LD1854LDi»:-ui»18571D

H!Mil II1B5IHD

S19.9514 00T.TS8 755.65It.705 505 505 855 fi5

IB02LEIB72LE1824LE1B52LE1B51LE1854LE1B56LE1S57LE1B58LEIB-i'JLf.

S11 20

8 053.55

GRI-ASCII KEYBOARD KIT

753K Keyboard $59.95

756K Keyboard $64.95

701 Enclo»ure(753 only)$14.95

702 Enclosure (both) $29.95

SYM-t

S2G9.00

XR 2200KB

FUNCTION GENERATOR KIT IneMdeaall

components, PC board and Instructions $19.95

15 Megahertz PORTABLE MINI-SCOPES

""& MS-215s43500

MS-15(3180(1

'ith RECHARGEABLEPORTABLE I2.7"H k 6.4"W x 7.5"DI BATTERIES Si CHARGER

AVAILABLE OPTIONS-uiable on both the MS21S and ths MS1541-140 Leather Carrying Cot. S45.00 — 41-141 10 lot Probo $24.50

PtVT Iftfii "RSONAL"CI eCVlff COMPUTERQuite portable, very affordable and un-believably versatile, the PET computermay very well be a lifetime investment.

Model Description Price

2001 Computer w/8K $795.002020 PET Printer $696.00

C2N External Cassette $ 99.95

LX303

DIGITALMULTIMETER

Compact. Accurate. Oependsble. With easy toread '■'»" liquid crystal display (or convenient useIn any kind ol light. Weighs only B ounces.Operates up to 200 rut on a single 9 volt battery.Nineteen ranges including 200mV to 1O0OV DC,100 to 10 Megohms, 100 and 1000 VAC ranges,tOuA and tOmA ranges. Excellent ovorlood pro-tection, color coordinated ca»e and

m _ . tection, color coo

5 749o color coded panel.

* Note: One Transformer c

F™5"""| HYBRID AUDIO►^^'^ POWER AMPLIFIERb,m „ " Matching

P/N pOVVOr Transformer

SI-1O10GI10W1S 6.95 TRIO $ 7.90SI-1O20GI20W) S13.95 TR20 SI0.90A-S1-8|Socket lor above) .95

SMO30GI30WJS19.O0 TR30 SI2.90SI-1050G,50WI $27.80 TR50 S17.90A-SI-10(Socket for above) .95

audlc

Tipl.lie

$1.69

5% CARBON

RESISTORS

Alt values from lOSlro WMil- Only in multiples of I00 pes per value

$1.79

$350"o

The Instructor 50

Orjlitop Computer

from SIGNET.CS

Complete, Ready-TO'Use

Microprocessor Learning Package

ncludes everything you need to write,

un and debug machine language pro

irams. Housed in one compact package.

AAML^DOMA Sendm 11 Hn< I % ^^1 ^11 Ik ' ./ P.O. Box 220BY, Culver City. CA 90233. California resi-dents add 6% sales t3«. Minimum OrcTer, $10.00, Add$1.00 to cover postage and handling. Master Charge andVisa welcomed. Please include your charge card number, interbanknumber and expiration date. PHONE ORDERS (213) 641-4064

1602) 881 1348

(8041 33*1-0707

12131 390 3595

CALIFORNIAANCRONA

I0W E El Cammo Rr

!i„."i,.jl. LH'.MOn

(400) 243-4121

OREGON

ANCRONA

125 NE. B2nu Avi

oniand. OR9722C

IB03) 2M-5541

TEXAS

ANCHONA7S49 Richmond

270 BYTE April 1979

Circle 8 on inquiry card.

CaIiFornIa Diq'iTAl

Post Office Box 3097 B • Torrance, California 90503

Hazeltine 1400

cost effective

CRT TERMINAL

*735

plusshipping

The Hazeltine 1400 Vidio Display Terminal is designed tooptimize interactive real-time operations. The interface iscapable of either local or remote connection through an E1ARS232-C interface at baud rates that are switch selectableup to 9600 baud.

• All 128 ASCII Codes H ° I " I ' I j I ' I ■ I j I ' iTl J !■'." I -— I

• 64 Displayable Characters |J|» I . lo I , 1.1- I , | ' Kl • I • 1-1

• 24 Lines; 12 inch Screen | | I I I I . I I ' ] ■ j -j M "j I

S-100 Mother Board

QuietBuss

TELETYPE MODEL 43

Even If we bavo to gin themaway, were going to ship more43's la 1979 then tho iggrogito

Of oil our competitors.

Model 43 AAAEACH 3

*925. 875.

RS-232 lnterface'K"»dd'75.oo

825. ririL.

• 80 Characters per Line

• Self Diagnostic Test

T

Immediate Delivery

CONNECTORS

C2 "°°° 1

■fe

S3"

|q<:.-.v.v.-av.-.v;o1

your choice

DB25P

male plus & hood

or

DB2SS female

*3,95

Qty to. mile hd.10 3.45 2.4S 1.1525 3.15 2.2S 1.05100 2.85 1.90 .95500 2.25 1.60 .85IK 1.97 1.37 .73

EdgeConnectors

GOLD100 PIN

IMSAI/ALTAIR

Imsil solder .125*.250Imiai w/w.l25eenterltltalr toldertall .140 rowSPECIALS22/44 Kim eyelet. 156"25/50 toldor tab.150"35/72 aide post w/«.156

14.95 3/410.00• 4.95 3/413.0045.95 3/415.00

41.95 3/45.0041.09 3/42.0041.95 3/45.00

%_*

,A1 P-nl-l, Certified Digital

41 SCOtCIl CASSETTES

ips

Diskettes

8inchSoft(IBM<8 inch 32 sectorMini Soft sec.Mini 10 sectorMini 16 sector

Won't drop ■ BIT!

CALIFORNIAINDUSTRIAL

is an

Authorized

Ooaler of

Scotch Brand

Dataproducts

=• »

MEMORY

• Shugart Associates

SA800-R Floppy Disk Drive

The most cost effective way to store data proc-essing information, when random recall is aprime factor. The SA800 is fully compatiblewith the IBM 3740 rormat. Write protect cir-cuitry, low maintenance & Shugart quality.

544950

'24.88

,. 1 IW § UNIVACKEYBOARD

TUB fjmoui Sporr. UTUB iijill compula.

I Jddirtg m»ch

APPLE RS-232

Serial Interface '59.95

InterfacesApple II toTeletype orother seri-al printer.

ELECTRONICSYSTEMS

TRS-80 SjAPPLE II

16k memory (8) 4116's

DISKETTES

Vfckrhcdnrim APPLE/TRS-80

verDaTirn Mini - soft sect

sector

World Power

TRS-80 Interface

MSIOa I/O Modual $129. 95

MCCa master control. . . $149. 95

RSBa S-100 interface $289. 95

EPRBOa Eprom prog $159. 95

EPRlOOa Eprom prog. . . $159. 95Data sheet available upon request

SPECIPL

APPLE (i

3K MET

COLOR* GRAPHIC

$1024

IBK MEMORY

COLOR • GRAPHICS* SOUND

PLUS SHIPPING

Mlg.Sug.Retail....'1195

DiqiCASTA/V-100

R.F MODULATOR

•JAQQC broadcast bothfc^f.^^audio and vidioon your existing colortelevision. Recommend-ed for the Apple II.

Extender Board

fllullen>3495

Facilitates design and trou-bleshooting of all S-100 mi-crosystems. Includes logicprobe along with high-lowand pulse LED display.Also available, the MullinCB-1 controller board $88.

Attention TRS-80 Owners

• As you may be aware, publishersrequire advertisers to submit theirad copy 60 to 90 days prior to "press"date. That much lead time in a volatile market place,such as memory circuits, makes it extremely difficultto project future cost and availability.To obtain the best pricing on memory we have madevolume commitments to our suppliers, which in turnaffords us the opportunity to sell these circuits at themost competitive prices. Please contact us if youif you have a demand for volume state of the art mem-ory products.

STATIC

1-31 32-99 100-5C

-999 1K+

21L02 450nS.

1.49 1.19 1.05

.95 .89

21L02 250nS.

1.69 1.49 1.45

* *

2114 1Kjc4 450

6.95 6.50 6.25

5.00 5.75

2114 1Kx4 300

8.95 8.50 8.00

* *

4044 4Kxl 450

5.95 5.50 5.00

* *

4044 4Kxl 250

9.95 9.50 9.00

* *

4045 1Kx4 450

8.95 8.50 8.00

* *

4045 1KX4 250

9.95 9.50 9.00

* *

5257 low pow.

7.95 7.50 7.05

6.75 6.45

SPECIAL CIRCUITS

Z80A 4 MHz.

24.95 AY5-1013A UART 4.95

8080A CPU

9. 95 Floppy Disc Controllers

8085

22.50 WD 1771

single D. 39.95

8086 Intel 16 bits

* WD 1781

Double D 65. 00

T MS 9900 16 bits

49.95 WD 1791 D/D 3740 »

E PROMS 1-15

16:63 64+

1702A 2K 4.95

4.50 4.00

2708 8K 9.95

9.50 9.00

2716 16K 19.95

* *

2532 32K *

* *

WORDPROCESSING

TERMINAL

LAWYERS, BUSINESSMEN This terminal, when properly

interfaced to your computer, allows you the flexibility of gener-ating computerized error free correspondence. Gives your clientsand business associates the impression that each letter was per-sonally typed for the recipient. Compose your correspondenceand "Fill-in" forms on your computer, edit on your screen andwhen your text is letter perfect instruct your computer to printan error free copy on your terminal.

The heart of this terminal is the durable IBM Selectric Type-writer. If maintenance is ever required, the World Wide networkof IBM service centers is at your disposal. The terminal is func-tional as a regular office typewriter when not performing com-puter work.

Over the next several months 150 of these terminals will be re-moved from service, returned to the manufacturer, inspectedand brought into perfect condition. Last Spring we offered forsale two-hundred Diablo printers. Within three weeks every unitwas sold. Don't pass this opportunity to purchase a word pro-cessing terminal at an excellent price.

Selectric Terminal $650 (FOB Los Angeles). Shipping to the Eastcoast aprox. $35. Combined TRS-80 interface and power supplyavailable. Documentation will be supplied to those individuals whowant to do their own custom interfacing.Sorry, but credit cards will not be accepted on thi3 purchase.

IS-100 PROTOTYPE BOARD

Minify alone, wi'h standardaddress decoding and but-tering tor S100 lysrems.Room foi 32 uncommitted 16Bin IC's. 5 bus buffer & de-coding cnlps. 1 DIP odd i essselect switch, a 5 vott regit-lorry and mof e.WWiOO-wtre wrap bread-board. Similar lo the GP100AJiows wita wrap or all sizesof sockets In any slies olsockets in any com CI nation.An axtfo regulator petition(or multiple railage appJicc-

ThumbwheelsfgXswItch

o-Lo

Ten position

BCD

$1?9...

10 50

OS .69

CAPACITORS

ELECTROLYTICS

$.98

your choice

10 50 100 1«

80,000/10v. 395 349 2.954500/SOv.SM* 135 119

1000/lSv *.55 49 .45axial

5.88 .81.73 .66 |SPDT Miniature Toggles

7101 C»K ON NONE ON7107 ]bt ON-OFF(mnl.ON)7105 CK OrMmomant.OH)

Rocker JBT OPOI

Rotary 3P-4Pos.

Rotary 3P-6-P0S.

PusbB(N.O) 5.39C3.4/S1

DIP Switch

25 100 IB

DISCOUNT I |

Wire WrapXenter

IC SOCKETS

wire wrapta. 25 50

low profileea. 25 50

i

17< 16 15

14

37< 36 35

18 17 16

16

36 37 36

19 18 17

24

99 93 85

36 35 34

40

109 155 130

63 60 58

S23.95 ,

BW630

50ft.

'.98

KYNARSK

500 1,000 11,000>9. SIS. 5105.

^■"yo^B [master cliiiiyi;

(213)6799001

Circle 39 on inquiry card.

All merchandise sold by California Digital is premlunSorry, no CGD's,' Orders are shipped the same day iCalifornia residents udd 6%. Foreign orders add lo;;Orders over $25. when accompanied by payments areat our expense. Olherwi.se, please add $U.

BYTE April 1979 271

Circle 364 on inquiry card.

ATTENTION TRS-80 & APPLE USERS

A PRINTER FOR YOUR COMPUTER

TERMS: VISA, MASTERCHARGE,Cashier Check or Money Order.CO.D. with 10% down.Shipping Via Air or Truck collect.

3 S SALES

P.O. BOX 45944TULSA, OK 74145918/622-1058

$99500

MODEL 3S-80 for TRS-80

Ready to plug into yourexpansion interface.

MODEL 3S-PP

for computers with 8 bit serialport.

MODEL 3S-SS

for computers with RS-232port.

M09500 for

MODEL 3S-AA

Includes RS-232 card for ApplelSpecify model number on order.

• Ready to plug into yourcomputer

• Very high quality print

• Completely refurbishedIBM 731 I/OSelectric terminal

in a new table

• Upper & lower caseremovable type ball

• Special I/O interface

• Heavy duty re-mfg. IBMpower supply

BUILD YOUR OWN LOW COSTMICRO-COMPUTER

POWER SUPPLIES

FOR S-100 BUS, FLOPPY DISCS, ETC.

POWER TRANSFORMERS (with mounting brackets)

item

NO.

USED INKIT NO.

PRI. WINDINGTAPS

SECONDARY WINDING OUTPUTS2x8 Vac 2x14.5 Vac 2x25 Vac

SIZEWx Dx H

UNITPRICE

T"1T2T3T4

0V, 110V, 120V0V, 110V, 120V0V, 110V, 120V0V, 110V, 120V

2x9A

2X13.5A

2X10A

2X4.5A

2x2.5A2x3.5A2x2.5A

2X2.5A2x4.5A

POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time)

ITEM USED FOR @+8Vdc @-8Vdc @+16Vdc @-16Vdc @+28Vdc

3%" x 35/8" x 31/8" 19.95

3%"x4%"x3Vb" 25.95

3%"x4%"x3V8" 27.95

3%" x35/8" x31/8" 19.95

SIZEWxDxH UNIT PRICE

KIT 1 18 CARDS SOURCE 18A

KIT 2 SYSTEM SOURCE 25A

KIT 3 DISC SYSTEM 18A

KIT 4 DISC SOURCE 8A

1A1A

2.5A3A2A

2.5A3A2A

4A8A

12"x6"x4%"12"x6"x4%"14"x6"x4%"10"x6"x4%"

46.9554.9562.9544.95

EACH KIT INCLUDES: TRANSFORMER, CAPACITORS, RESIS., BRIDGE RECTIFIERS, FUSE & HOLDER, TERMINAL BLOCK, ALUM.CHASSIS PLATE, ALL NECE. MTG. PARTS AND INSTRUCTIONS.

SHIPPING: FOR EACH TRANSFORMER: $4.75. FOR EACH KIT: $5.00 IN CALIF., $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX.

MASTER CHARGE. VISA & OEM WELCOME.

MAILORDER:P.O Box 4296

Torrance, Ca. 90510

SUNNY INTERNATIONAL

(TRANSFORMERS MANUFACTURER)Telephone: (213) 633-8327

7245 E. Alondra Blvd

Paramount, Ca. 90723

STORE HOURS: 9 AM-6 PM

272 BYTE April 1979

Circle 354 on inquiry card.

our new retail location!

t 9.1 a h

■far:

LM3A 3 dig 1% DC$13*05.— $120.60LM3.5A 3</2 dig. .5% DC

StS&Sg - $142.65LM40A4dig .1% DC

$Z0&96.— $188.10LM4A 4 dig .03% DC

$J25WHJ1- $225.00

Rechargeable batteries and charger in-cludedMeasures DC Volts, AC Volts, Ohms and

Current

Automatic polarity, decimal and overload

indication> No zero adjustment and no full-scale ohms

adjust1 Battery-operated — NiCad batteries; also AC

line operation.

Large LED display for easy reading without

Interpolation

Size: 1.9"Hx2.7"Wx4"DPart* & libor guaranteed 1 year

Till stand option I 3.50

Loalhor cue $20.00

MS-1SMINISCOPE mn tMtvgmM

■ 15 megahertz bandwidth.

1 External and Internal trigger,

1 Time base — .1 mlcrosec. to 0.5 Sec/dl'

settings. ±3%.' Battery or line operation,1 Automatic & line sync modes.1 Power consumption < IS watt:1 VoniGil Gun — ,0i to SO V/dr* • \2 wningi i 3N1 Vi.w.nu «roi 1.1" * 1 35"1 Cm »ua 2.7"H ■ e *"Vi t 7 5'D. 3 pounds

airrafivs S C/)arp«r Una

m

PROBE K

PROBE K with the

purchase of SCOPE

and 'the MENTION ot

This MAGAZINE

S100-WWG 50HOO Com 125 enLEVEL WIRE WRAP 025 so. Don 250 spaced rows GOLD filar

14 59 1024

$4 00 $3 75 $3.50

lor ALTAlR

S100-STG WlOOConl >25 ClrsDIP SOLDEH 1AIL on 250 spacedrows lor VECTOR and MASI motherboards GOLD plated1-4 5-9 10-34

$3.50 $325 13.00R6B1<3 50"00 Com 125 cKSPIERCED SOLDER EYELET tailsboards GOLD GOLD17.53

15.00 $4.75

RB44-G 22Jdd Com 'IERCE0 SOLDER

GOLD pialed

14 5-9 10-24

$300 $2.75 $2.50

JG-1 IMSAI St.

ATTN: OEMs and De*

Other Popular Edge Connectors

56 CIrs R644 3 22t4* Com 156 clrs

IfJ

3 LEVEL

GOLD WIRE WRAPSOCKETS

Sockets purchased in multiples of 50 per type may be combined (or best price.

1-9 10-24 25-99 100-249 250-999

8 pin* .40 .36 .34 .31 .27

14 pin* .45 .39 .37 .34 .32

16 pin* .50 .42 .40 .36 .34

18 pin .70 .60 .55 .50 .45

20 pin .90 .80 .75 .65 .62

22 pin* .95 .85 .80 .70 .65

24 pin .95 .85 .80 .70 .65

28 pin 1.25 1.15 1.00 .95 .90

40 pin 1.65 1.45 1.35 1.20 1.10

All sockets are GOLD 3 level closed entry ' End and side stacable 2 level. Solder Tail. LowProfile. Tin Sockets and Dip Plugs available CALL FOR QUOTATION

LIQUID CRYSTAL DIGITALCLOCK-CALENDAR

■ For Auto, Home, Ollice

> Small in size (2x2 VjxVi)

• 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 rune on self-containedbatteries tor betler than a year.LCD-102. runs on 12 Voll system and Is back-lighted

$34.95

3662 6.5"x4.5"

$7.65

3662-2 9.6" X 4.5"

$11.45

P pattern plugboards lorIC's Epoxy Glass 1/16"44pincon. spaced ,156

■Mil

■mini

3690-12CARD EXTENDER

Card Extender has 100 con-tacts 50 per side on .125centers-Attached connec-tor-is compatible withS-100 Bus Systems. $25.633690 6.5" 22/44 pin .156ctrs. Extenders ... $13.17

EPROM

FACTORY PRIME

$12.00 EA.

25 + Call ForPrice

14& 16 PIN

'GOLD 3 LEVEL

\WIRE WRAP

SOCKETS

'14 - G3 100 for

$30.00

16-G3 100 for

$30.00

50 of each for $32.00

Sockets are End & Side stackable,closed entry

IM-10A List $89.00SPECIAL

$56.95 with tube

Perfectly balanced fluorescent lightingwith precision magnifier lens. Toughthermoplastic shade. Easy lens re-moval. New wire clip design permitseasy installation and removal oflluorescent tube. Comes with plasticshield to protect tube from soiling anddamage.Colors Gray, Black, and Chocolate Brown.

ORDER TOLL FREE

1 8004235633

(213)894-8171

WRAP POST

for .042 dia. holes J| (all boards on this page) \TitlC pkg. 100 .. S 2.34T44/M pkg.

1000 $14.35 *

A 13 hand installing

tool $ 2.04

Circle 312 on inquiry card.

2102LPC

450ns Low Power RAMS$1.00 Ea.in lots of 25

2102LHPC

250ns Low Power RAMS$1.25 Ea.in lots of 25

Send for our latest brochure.

ELECTRONICS

16723B Roscoe Blvd. Sepulvedo, CA 91343

Terms VISA. MC, 8AC. check. Money Order. C.O.D . U.S Funds Only LA residenls add 6% sales lax. Mini-mum order $1000 Orders less than $75 00 include 10% shipping and handling, excess refunded. Just in caseplease include your phone no Good Thru April 1979

phone orders welcome (213) 894-8171

FND 503

CommonCathode

FND 510

Common AnodeV*" 7seg LED

59C

10/s450

-<^^>s

OEM and Institutional inquiries invited, j

24 PIN DIP PLUGSWITH COVERS

«8 ■-•■ ^r

3/$1.0040/$10.00

Visit our new retail location

our new re

IKSHHJ

The EXPANDORAM is availablein versions from 16K up to 64K, sofor a minimum investment youcan have a memory system thatwill grow with your needs. This isa dynamic memory with the in-visable on-board refresh, and ITWORKS!

• Bank Selectable

• Phantom

- Power 8VDC, ± 16VDC, 5 Watts

• Lowest Cost Per Bit

• Uses Popular 4116 RAMS

PC Board is doubled soldermasked and has silk-screenparts layout.

SD EXPANDORAM

74e IttUmate S-fOO THemontf

* i ---•'•', I.

t:-^...

j ■re''Bffv"Vr/*VVF|

)ISC DRIVES

Sugart 3A400-5%"

$29500

I GSI/Siemans|*FDD100-8 8"

539500

'equivalent to Sugart 801

Siemens FDD 200-8 8"double-sided{double density

$599.00

DISC CONTROLLERSD "VERSAFLOPPY" Kit

The Versatile Floppy Disk /~ir»l w Si KO00Controller Uniy IOO

^n^rNiM^ptaA^^^poCT'i^r

• Extensive documentation clear-ly written

• Complete Kit includes allSockets for 64K

• Memory access time: 375ns,Cycle time: 500ns.

• No wait states required.

• 16K boundries and Protectionvia Dip Switches

• Designed to work with Z-80,8080, 8085 CPU's.

EXPAND0 64KIT(4116)

16K $245.00

32K $310.00

48K $375.00

64K $440.00.

FEATURES: IBM 3740 Soft Sectored Compati-ble. S-100 BUS Compatible lor Z-80 or 8080. Con-trols up to 4 Drives (single or double sided).Directly controls the following drives:

1. Shugart SA400M50 Mini Floppy

2. Shugart SA800V850 Standard Floppy.

3. PERSCI 70 and 277.

4. MFE 700/750.

5. CDC 9404/9406.

6. GSI'Siemans FDD100-8

34 Pin Connector tor Mini Floppy. 50 Pin Con-nector for Standard Floppy. Operates withmodified CP/M operating system and C-BasicCompiler. The new "Versafloppy" from S.D.Computer Products provides complete controlfor many of the available Floppy Disk Drives,Both Mini and Full Size. FD1771B-1 Single Den-sity Controller Chip. Listings for Control Soft-ware are Included In price. j

^CQjllNENTAl SPECIALTIES COffPOBATION

100MHz 8

•Digit

Counter

': udtiuu

• 20 Hz-100 MHz Range

• .6" LED Display

• Crystal-controlled tlmebase

• Fully Automatic

• Portable - completelyself-contained

• Size- 175" x 7.38" x 5.63"

• Four power sources, i.e. batteries,110 or 220V with charger 12V withauto lighter adapter and external7.2-10V power supply.

_£t34#!Sale $120.00

ACCESSORIES FOR MAX 100:

Mobile Charter Eliminator use power from

car battery. Model 1M-CLA S3.95

Charger/Eliminator use 110 VACL Modal 100 - CAI 59.95

N Logic Probes and Digital Pulsers

LOGIC MONITOR 1"Trace signals through all types of digital circuits. Unitcllp3 over any DIP IC up to 16 pins. Each of its 16 contactsconnects to a single-bit level detector that drives a high-Intensity, numbered LED readout activated when the ap-plied voltage exceeds a fixed 2 V threshold. Logic "1"turns LED on; logic "0" keeps LED off. A power-seekinggate network automatically locates supply leads andfeeds them to the LM-1's Internal circuitry. Saves minutes,even hours in design, troubleshooting, debugging ofequipment. Voltage Threshold: 2 V ■ 0.2 V. Input Im-pedance: 100,000 ohms. Input Voltage Range: 4-15 V max.across any two or more Inputs. Currant Drain: 200 mA at 10V. Size: 4" I. x 2" w. x 1.75" d. when open. Weight: 3 ozs.CSC Model LM-1 Logic Monitor—Complete.|Ljst Price $54.95,

LOGIC PROBES

CSC logic probes are the ultimate tool for breadboard design and testing.These hand-held units provide sn instant overview of circuit conditions.Simple to use; just clip power leads to circuit's power supply, set logicfamily switch to TTUDTL or CMOS/HTL Touch probe to test node. Tracelogic levels and pulses through digital circuits. Even stretch and latch foreasy pulse detection. Instant recognition of high, low or Invalid levels, opencircuits and nodes. Simple, dual-level detector LEDa tell It quickly, correct-ly. HI (Logic "1"): LO (Logic "0"). Also Incorporates blinking pulse detector.e.g., HI and LO LEDs blink on or off, tracking "1" or "0" states at squarewave frequencies up to 1.5 MHz. Pulse LED blinks on lor '/> second duringpulse transition. Choice of three models to meet indlvidusl requirements:budget, projecl and speed of logic circuits.MODEL LP-1

Hand-held logic probe provides instant reading of logic levels tor TTL, DTL,HTL or CMOS. Input Impedance: 100,00X1 ohms. Minimum Detectable Pulse:50 ns. Maximum Input Signal (Frequency): 10 MHz. Pulse Detector (LED):High speed train or single event. Pulse Memory: Pulse or level transitiondetected and stored.LCSC Model LP-1 Logic Probe-Net Each $42.70

MODEL LP-2

Economy version of Model LP-1. Safer than a voltmeter. More accurate thana scope. Input Impedance: 300,000 ohms. Minimum Detectable Pulse: 300ns. Maximum Input Signal (Frequency): 15 MHz. Pulse Detector (LED): Highspeed train or single event. Pulse Memory: None.

CSC Model LP-2 Logic Probe-Net Each $23.70

MODEL LP-3

High speed logic probe. Captures pulses as short as 10 ns. Input Im-pedance: 500,000 ohms. Minimum Detectable Pulse: 10 ns. Maximum InputSignal (Frequency): 50 MHz. Pulse Detector (LED): High speed train orsingle event. Pulse Memory: Pulse or level transition delected and stored.CSC Model LP-3 Logic Probe-Net Each $66.45

DIGITAL PULSER

The ultimate in speed and ease of operation. Simply connect clip leads topositive and negative power, then touch DP-1's probe to a circuit node:automatic polarity sensor detects circuit's high or low condition. Depressthe pushbutton and trigger an opposite polarity pulse into the circuit. Fasttroubleshooting Includes Injecting signals at key points in TTL, DTL. CMOSor other popular circuits. Test with slngte pulse or 100 pulses per secondvia built-in dusl control push-button, button selects single shot or con-tinuous modes. LED indicator monitors operating modes by flashing oncefor single pulse or continuously tor a pulse train. Completely automatic.pencil-size lab/field pulse generator for any family of digital circuits. Out-put: Trl-state. Polarity: Pulse-sensing auto-polarity. Sync and Source: 100mA. Pulse Train: 100 pps. LED Indicator: Flashes for single pulse: stays littor pulse train.CSC Model 0P-1 Digital Pulser—Net Each $71.20

4607

DEC LSM1, PDP8. PDP11,Heath H-11, P Pattern EpoxyGlass. Plug Board 8.43"x5.187'Dual 36pin DEC/HEATHConnectors.1-4 5-9 10-24

19.95 17.96 15.96

VECTOR-PAK ASSEMBLEDMICROCOMPUTER CASES

Adjustable packaging system (or S-lOObusmicrocomputers, compatible with Altalr8800 and IMSAI 8080 size cards.

• Smart looking, deluxe cases unmarred byunsightly screws or fasteners.

• Finished in dark blue textured vinyl.

• Instantly accessible interiors with slip outcovers.

• Removable recessed rear and frontpanels.

• Fully adjustable interior mountingsystems for any card or card spacing withinsize limitations. No cutting or drillingnecessary.

• Perforated bottom cover for cooler opera-tion.

DESCRIPTIONAssembled case with perforated bottomcover. Installed mounting struis for cardguides and receptacles or mother board.Cards top loaded, spanning front to back.Card guide (12 pair) and chassis plate sup-plied uninstalled.

6801-1Plain no etched circuitry except contacts. Pro-duces maximum flexibility.1-414.95

6602-1Pad per 2 holes. Two-holE pads allow tack solder-ing of socket, plus second hole for component

leads.

"ANY DIP" has full power and ground planes backto back. Board accommodates 3, 4, 6. 9" Dips.1-4 5-9 10-24

21.95 19.76 17.56

VP-2$159.00

Same as VP1 except

cards oriented side

to side.

PRIORITY

J. 4608

i Is form and size compatible with IN-

: TEL SBLB0 Series and NATIONAL

; BLC SO Series microcomputer

'- boards. Power and Ground buses on

!: both sides.

■ 1-4 5-9 10-24

45.00 40.50 36.00

Individual tinned square pads surround most holes. 4608-1

Ideal lor mounting components by "tack soldering" Same as 4608- «»cept plain less

Top ol board pod free for mounting I/O connectors. P°"ef buses.

102415.96

10434.00

5-930.60

10-2427.20

ELECTRONICS

W23B Roscoe Blvd. Sepulveda CA 91343

Terms VISA. NIC, BAG. check. Money Order. C 0 D . U S Funds Only CA residents add 6% sales lax Mini-mum order $10 00 Orders less than $75 00 include 10% shipping and handling, excess refunded. Just in caseplease include your phone no GOOd Thru April 1979

Send for our latest brochure. pflOnO OrClefS WelC0fT16 (213) 894-8171 OEM and Institutional inquiries invited

\

Visit our new retail location

t our new retail location!

FREE!

16 Pin Test Clip With

The Purchase Of

A.C.E. BOARD

$475 Value

ALL-CIRCUITEVALUATORS

A-C-E 2DO

Part No. 923333

A-C-E 21 a

Part No. 923326

$46K

A-C-E 2 27

Part No. 923325

A-C-E 236

Part No. 923324

79

95

1,760 SOLDERLESS PLUG-IN TIE POINTSCAPACITY: UP TO 1814-PIN DIP'S

• Two 5-way binding posts

• Size: 6-1/2" by 7-1/8"

• Fully assembled

This intermediate breadboard in theACE series provides even greater circuit-building flexibility. The universal matrix of 1760solderless, plug-in tie points is comprised of 288 sep-arate 5-tie-point terminals and 10 distribution buses eachinsisting of 9 connected 4-tie-point terminals. Buses maybe linked to provide functions such as voitage and ground dis-tribution, reset lines, clock lines, shift command, etc.

2,712 SOLDERLESS PLUG-IN TIE POINTSCAPACITY: UP TO 2714-PIN DIP's

• Four 5-way binding posts• Size: 8" by 9-1/4"^ • Fully assembled

Model 227 hasgreater capacity forcomponents and morebuses than the 218. Theuniversal matrix of 2712 solder-less, plug-in tie points is comprised384 separate 5- tie-point terminals, 24vertical distribution buses (each with fiveconnected 5-tie-point terminals) ptus 4 hori-zontal distribution buses leach with 12 connected4-tie point terminals. Buses may be linked together inany combination to provide functions such as voltage andground distribution, reset and clock lines, shift command, etc.

3,648 SOLDERLESS PLUG-IN TIE POINTS

CAPACITY: UP TO 3614-PIN DIP's

• Four 5-way binding posts

• Size: 10-1/4" by 9-1/4"

• Fully assembled

Model 236, thelargest in the ACEseries, offers the uservirtually unlimited circuit-building flexibility. The univer-sal matrix of 3,648 solderless, plug-in tie points is comprised of 512 sep-arate 5-tie-point terminals, 32 vertical dis-tribution buses (each with five connected 5-tie-point terminals) plus 4 horizontal buses (eachrwith 18 connected 4-tie-point terminals). These busesmay be linked in any combination to provide unique orcommon functions such as voltage and ground distribution,''reset lines, clock lines, shift command, etc.

A-C-E 20S

Part No. 923332

•28"

A-C-E SOI

Part No. 923334

A-C-E 21Part No. 923331195

728 SOLDERLESS PLUG-IN TIE POINTSCAPACITY: UP TO 81G-PIN DIP's

• Two 5-way binding posts

• Size: 4-9/16" by 5-9/16"

• Kit form — lowest costThis handy breadboard kit, the smallest

in the ACE series, offers excellent versatilityfor small circuit check-out. The universal matrixof 728 solderless, plug-in tie points includes 136 sep-arate 5-tie-point terminals and 2 distribution buses, eachconsisting of 6 connected 4-tie point terminals ... typically forvoltage and ground. Complete assembly instructions included.

872 SOLDERLESS PLUG-IN TIE POINTSCAPACITY: UPTO 016-PIN DIP's

• Two 5-way binding posts

• Size: 4-9/16" by 5-9/16"

• Fully assembledModel 208, the smallest assembled board

in the ACE series, has 6 more distributionbuses than the 200-K. The matrix of 872 solder-less, plug-in tie points is comprised of 136 separate5-tie-point terminals plus 8 distribution buses, each withconnected 4-tie-point terminals. Use buses for voltage andground distribution, reset lines, clock lines, shift command, etc.

1,032 SOLDERLESS PLUG-IN TIE POINTSCAPACITY: UP TO /214-PIN DIP's

• Two 5-way binding posts• Size: 4-9/16" by 7"

• Kit formHere's the larger of the

two kits in the ACE series,larger circuit-building capac-ity. The matrix is 1032 solderless,plug-in tie points comprised of 192 Sep'arate 5-tie-point terminals and 2 distribution buses, each with 9 connected 4-tIe-poiniterminals. Buses are typically used for voltage andground distribution. Assembly instructions included.

1,224 SOLDERLESS PLUG-IN TIE POINTSCAPACITY: UP TO 7214-PIN DIP's

• Two 5-way binding posts» Size: 4-9/16" by 7"

• Fully assembled

Model 212 is identical

with the 201 K kit except

that it has more distribution

buses for greater flexibility. The

miversal matrix of 1224 solderless,

plug-in tie points consists of 192 separate 5-

-point terminals, 6 vertical distribution buses

(each with 9 connected 4-tie-point terminals) and

horizontal distribution buses (each with 6 connected

4-tie-point terminals}. Buses can be used for voltage and

ground distribution, reset & clock lines, shift command, etc.

BREADBOARD JUMPER WIRE KIT

Each kit contains 350 wires cut to 14 different lengthsfrom 0.1" to 5.0'.

Each wire Is stripped and the leads are bent 90' for easyInsertion.

Wire length Is classified by color coding.

All wire Is solid tinned 22 gauge with PVC insulation.

The wires come packed in a convenient plastic box.JK1 923351 $10.00.

axM

ivaft*'..

HICKOK LX303

ALL THE MOST WANTED FEATURES AT A MOST WANTED PRICE$7495

Big Vi" High LCD Display

Use Indoors or Out

200 Hour 9V Battery Hie

Auto Zero, Polarity,

Overrange

Indication

lOOmV DC F.C. Sensitivity 19 Ranges and Functions

Here Is the handful of accuracy you've been waiting for.Handsomely encased. Compact. Efficient. Only 8 ounces.Hlckok's exciting, new LX 303,1 Vi digit Mini-Multimeter withhigh quality components, one year guarantee and ruggedCycolac® case offers features previously found only In ex-pensive units ... at a price under $75.00! So why wait anylonger? The amazing LX 303 is here, NOWI AnotherAmerican made test equipment breakthrough from Hlckok.

PRIORITY

SPECIFICATIONS:

DC VOLTS (5 RANGES): 0.1mV to 1000V; Accuracy t 0.5% rdg ± 0.5%

f.s.; Input imped; 10Mu; Max. Input IkV except 500V on 200mV range.

AC VOLTS(40Hi to 5kHz): 0.1Vto 600V; Accuracy: t 1.0% rdg ± 0.5%

f.s. ( — 2dB max. at 5kHz); Max. Input: 600V

RESISTANCE (6 LOW POWER RANGES): 0.1n lo 2OOM11; Accuracy: ±

.05% rdg ± 0.5% t.s. {± 1.5% rdg on 20Mu range); input protected to

120VAC all ranges.

DC CURRENT (6 RANGES): .01nA to 100mA: Accuracy: ± 1.0% tdg t

0.5% 1.8.

DIMENSIONS AND WEIGHT: 5-7:8-' x 3-3/B" x 1-3/4". 8 oz.; POWER: 9V

battery (not included) or Hlckok AC adapter; READ RATE: 3/sec.

ELECTRONICS

Circle 312 on inquiry card

^ 16723B Poscoe Blvd. Sepulveda CA 91343

Terms VISA. MC BAC crietk Money Order LOD.US Funas Uniy lA -esiOenis add 6% sales lax Mini-mum orrjef $10 00 Orders less lhan $75 00 include 10% shipping and handling, excess refunded Just in caseplease include your phone no GOOd ThTU April 1979

Send lor our lalesl brochure phOfie OffJerS WBIC0IH8 (213) 894-8171 OEM and Inantutional inquiries invited

our new retail location

V

TRS-80 USERS

"The Wait is finally over"ACT — I Software

' Computerized Home Money Management

System." Save time and gain budget control.

• Take the work and worry out of moneymanagement.

• Weekly, Monthly, & Annual totals for In-come, Payments, Taxes & Interest.

• Checking account maintenance including 5week projected check balance.

• EASY TO USE, ON ONE CASSETTE, 16K,Level II.

• ACT — 1 Monthly Newsletter keeps you upto date.

" Software, Documentation & User In-structions.

For Information:

THE PROGRAMMING SHOP

260 Sheridan Ave

Palo Alto, CA 94306

AURORA, II. AREA

FARNSWORTHCOMPUTER CENTER

1891 N. Farnsworth Ave.At the E-W TollwayAurora, II.Ph. 312-851-3888

Personal & BusinessMicrocomputers, Peripherals

• Apple •Cromemco

• North Star

APPLEII 16K RAM $1195.00Including

20 FREE PROGRAMS• Add on Memory $150.00

Weekdays 12 to 8, Sat. 10 to 5

Tk-

Star Base Aries

-*

In order to dock your space shuttlewith Star Base Aries™ you mustmonitor and alter range, linearvelocity, life support, angle of attackand fuel. This accurate real timesimulation is currently available ina high resolution graphic format forthe Apple II (16K tape $15.00, disc$18.00). Also available for theTRS-80 Level I ($10.00). Pleasespecify. Forward check or -moneyorder to:

ISDG Inc.

312 Highgate Avenue

Buffalo, New York 14215

(N.Y. State residents add 7% sales tax)ALLOW 6 WEEKS FOR DELIVERY

izikizitikiziz

Circle 306 on inquiry card.

Circle 132 on inquiry card.

Circle 182 on inquiry card.

THE FRUGAL FRONT PANELSeries PCB's

5-1M DISPLAY SENSE BOAHO-KiUM 95. Board'Oala |29_9S

• O" flOJ-tf or fl.mor* DATA/ADORESS/STATUS LEOt 4 SENSE

• ll„Hr,t,l Galtf f aar Contain, S'UlIf'*«n. Si.(Of .mmiil PCS

HEMOTE HEX PANEL - Kit |fj 95. Board/Oau »2.»

• S-« r :.<;;■,- h«. 0'ipf«n io> data a address

• Sfl Sr.fui (f Of. frghf SENSE 4 Two AUM SwfClMI

• Ctbltt McluOM to. ut4 ftftfl OISPIAT SENSE Sojxf

• SPECIAL tliUi "" Op'" h" PANEL * OlSPLAY SENSE

REMOTE BINARY PANEL - Kil 164 95. Board/Dala iUM

• for front i'j„,i Mounting ol LEOt and Swilehti

• 10 IfO'i, Octal formal, Two AUJt a tight SENSE Swilchn

• Ciblwi m, i„.!„, lo, ui* win DISPLAY SENSE Boaid

• tPtClM in* 95 lor ftolW BINARY PANEL t DISPLAY SENSE

COMPUTER CANOPYOUST COVERS

• Atlrmctint. HAtty Oulf UpfoUifr Vlrtfl. rulvfd WUnut Stamina

• for TRSS0 KtfbOAtri 19 W, for APPLE II t?JM

• for H-t, H- r I, Horiton, Integrand tOOO BB B

• fa PET. ADM-3. H-t, ACT IV0. Hmlt'ft ISOO'ISIOHSIO Bfcfl

Add 11 H trunpma If Htm, ••oil mill at irtundttl. Add 11 Mr Colli.

TBtmm ■■■•■' S* If M C. VISA. MO t COD Walcom

CHECK Wl TH YOUR LOCAL COMPUTER STORE FOR AVAILABILITY

I Ljjaj-s^s t Digital Dynamics. Inc.

i—^' ' M Poll OIlKt Boi J7JO

,?:,?£.'.?:'*„, g San Anlonio TI 7IMJ

CROMEMCO

Less 20%

System II - System III

NORTHSTARLess 15%

Horizon & Boards

Sara Tech Electronics, Inc.

P.O. 692

Venice, FL 33595

(813) 485-3559

glUJlo)

LOGIC

for graphics!

The best S100 graphicdisplay boards!

MATROX ALT-256

(256x256 resolution)

MATROX ALT-512

(512x256x1 or256x256x2 resolution)

And the best graphicssoftware for support!

The engineering& graphicspeople

(217)367-0299

©(LOLq)

LOGIC

Box V, Savoy, IL 61874

Circle 87 on inquiry card.

Circle 317 on inquiry card.

Circle 357 on inquiry card.

/-WEB £ ASSOCIATES-v

ET UNSTUCK!

ithTBUFFT"

se state recorderike, Model andMfg. Code(inside'STOP YOUR ~—^-fc^Jlatt. comp't.)

CASSETTE WHENIT SHOULD WITH TBUFF™ $12.95 ea.

Is the "sticking" relay problem preventingyour TRS-80T"recorder from stopping when itshould?

If so, simply plug our miniature TBUFF"inMfl*. HStfi VOur REMote cable between your

and the recorder and stay unstuck

3

TRS-80forever!

Dealer inquiries invitedClub discounts available

Send check or money order to:WEB ASSOCIATESP.O. Box 60-BA Monrovia, CA 91016(California Residents add 6% tax)

FLOPPY DISKREPAIR

• PerSci and Shugart

• Quick turnaround

• Factory trained onPerSci

National Computer Service

7501 Sunset Blvd

Hollywood CA 90046

213-851-2226

WORDPROCESSING

MICRO FILE MK IIA

Demo Unit — One OnlyOriginal retail price $8,755

Extended BASIC

Assembler

Document Processor

Editor

Letter Writer

Complete Documentation

Reduced for Quick Sale $5,495

SUNNY COMPUTER STORES, INC.University Shopping Center1238A S. Dixie Hwy.Coral Gables, FL 33146(305)661-6042

Circle 385 on inquiry card.

Circle 270 on inquiry card.

Circle 361 on inquiry card.

SOLID STATE SALES

<J&>vno<vn4>e& a ffiteaMfiMxtgA in 'gofn/uttei, gTecAno/o&u

A PICTURE MAY BE TAKEN BY OUR CAMERA,

STORED IN A COMPUTER IN REAL TIME AND THEN

DISPLAYED ON A CRT AT AN AFFORDABLE PRICE

VIDEO COMPUTER

PROCESSINGSYSTEM

THIS REMARKABLE VP-1 COMPUTER/INTERFACE KIT HAS THE FOLLOWING:

FEATURES

• IT PRODUCES COMPOSITE VIDEOOUTPUT IN A 128x 128 MATRIXFROM A DIRECT MONITOR CONNEC-TION USING 8K OF MEMORY

• THE SYSTEM USES A STANDARDS 100 BUSS

• WILL NOT TIE UP COMPUTERSOFTWARE WHEN NOT ADDRESSED

• IT DISPLAYS CONTINUOUSLYWHEN NOT ADDRESSED

• IT MAY PRODUCE PSEUDO COLORAND/OR GRAPHICS (UP TO 16 GREYLEVELS, 4 BIT BINARY)

GRAY LEVELS

THE CAMERA WILL TAKE BETWEEN15 AND 100 FRAMES/SECOND.THE CAMERA CONNECTS TO THEPROCESSOR WITH SEVEN LINES. THISINCLUDES VIDEO AND TIMING SIGNALSAPPLICATIONS

• CONTINUOUS SURVEILLANCE

• INSPECTION OF MOVING PARTSWITH PROPER STROBING

• VISUAL GRAPHIC INPUT TO ACOMPUTER

• CHARACTER OR PATTERNRECOGNITION

• PICTURES MAY BE TAKEN DIRECTLYFROM A TV WITHOUT ELECTRICALCONNECTIONS

• THE INTERFACE KIT MAY BE USEDSEPARATELY AS A 128x128

16 LEVEL GRAPHIC DISPLAY

OUR VP1 VIDEO SYSTEM CONSISTSOF THE FOLLOWING KITS:

• CCD 202C SOLID STATE VIDEOCAMERA KIT (CASE INCLUDED) .$39900

• VP-1 COMPUTER/VIDEO INTERFACEKIT (3 BOARDS) $599°°

ASSEMBLED 8K MEMORYBOARD (OPTIONAL)

.$235°'

THIS VIDEO COMPUTER KITCAN WORK WITH THE GE,REDICON, OR ANY OTHER128 X 128 SENSOR CAMERA

REGULATEDPOWER SUPPLIES

POWER SYSTEMS # PS1111115-230V 50/60 cv. in 5v DC at 35A out.6"x 16%"x 15%" 26 lbs. shipping weignt $85.00POWER SYSTEMS # PS1106115-230V 50/60 cy. in 12v DC at 15Aout.5"x 16y."x 5" 19 lbs. shipping weight. S75.00

IOV PROTECT)

C/MOS (DIODE CLAMPED)

4O0I

ia

4019 -

.37

4050 -

ftfi

74C74-

0002 -

.18

4020 -

90

4053 -

1.10

74C83-

4006 -

95

4021

90

4055

1 75

74C86 -

4007 -

.18

4022

90

4066 -

70

74.C93 -

4009 -

37

4023

.18

4069 -

.4b

74C151

4010 -1011 -

4012 -

4013 -

.37.18.1829

4024 -

4026 -

4027 -

4028 -

75183780

40714072 -4076 -4516 -

.21.97.95

74C16074C16174C17474C175

4014 -

-7S

4029

95

74COO-

.22

74C192

40)5 -

.75

4030 -

33

74C02-

.22

74C193

4016 -

.29

4035

97

74 COB-

.22

74C901

4017 -

IDS

4042

.65

74C10-

?7

74C902

,4018 -

.90

4049 ■

.35

74C73 -

.65

74C914

moj.t r«:

MMM7U4-MK400BP -

530* 4K PROM -

rfn 6078-

8703CTELE

CONVEF

PRINTED CIRCUIT BOARD

7 WATT LD 65 LASER DIODE IR $a95

2N 3820 P FET $ 45

2N 5457 N FET $ .45

2N2646 UJT S 45

ER gOQTRIGGER DIODES 4 SI 00

2N G0:.'g PHOG UJT S 65

MINIATURE MULTI-TURN TRIM POTS100, 1K, 2K, 5K, 10K. 20K. 50K,200K. IMcg, 2Meg. $.75 each 3/S2.0Q

CHARGED COUPLE DEVICES

CCD 201C 100x100 Image Sensor $95.00

CCD 202C 100x100 Image Senior S145.00

VERIPAX PC BOARD $4.00

This hoard is a 1/16"single sided paper epoxyboard. 4%"xBH" DRILLED and ETCHED whichwill hold up to 21 single 14 pin IC's or 8,16 or LSIDIP IC's with busses for power supply connector.

FP 100 PHOTO TRANS $ .50

RED, YELLOW, GREEN, or AMBER

LARGE LED's. 2" 8/41.00

TIL-118 0PTO-ISOLATOR $ .75

MCT-6 OPTO ISOLATOR $ .80

1 WATT ZENERS: 3.3, 4.7, 5.1, 5.6.9.1,

10, 12, 15, 18, or 22V 6/$ 1.00

MCM 6571A 7 x 9 character gen . . $ 10.75

8130 - 2.95 8834 - 2.25

8131 - 2.95 8837 - 2.258T380 - 2.25 8838 - 2.258830 - 2.95

TRANSISTOR SPECIALS

2N6233-NPN SWITCHING POWER $1.9'

MRF-8004 a CB RF Transistor NPN * ■?

2N3772 NPN Si TO 3 . . S 1.0

2N154G PNP GE TO-3 $ .7

2N49D8 I'NP Si TO 3 S 1 0

2N5086 PNP S. TO-92 4'S 1.0

2N3137 NPN Si RF $ .5

2N3919 NPN Si TO-3 RF . S 1.5

2N1420 NPN Si TO 5 3/$ 1.C

2N37G7 NPN Si TO 66 S .'!

2N2722 NPN S> TO-18 5'S 1.0

2N3055 NPN S. TO 3 S „E

2N3904 NPN Si TO-92 6/S 1 ,C

2N390C PNP Si T09? . 6/S 1.C

7N529G NPN Si TO 220 . . S .5

2N6109 PNP Si TO-220. S .5

2N3638 PNP Si TO 5 5'S 1.0

MPSA 13 NPN Si 4/$ 1 .C

Full Wave Bridges

DIP SOCKETS

8 PJN .17 24 PIN .3514 PIN .20 28 PIN 4016 PIN .22 40 PIN .6018 PIN .25

PRV

2A

6A

75A

100

1.30

200400

.75.95

1.25

2.00

1.50

3.00

600

1.20

1.75

4.00

5ANKEN AUDIO POWER AMPS

Si 1010 G 10 WATTS $ 7.80

Si 1020 G 20 WATTS $15.70

Si 1050 G 50 WATTS $28.5Q

TANTULUM CAPACITORS

TTL IC SERIES ™; :

Silicon Power Rectifiers

CRYSTALS S3.4S

o MHi

RIBBON CABLEFLAT (COLOR CODEDI#30 WIRE26 cond. - .5C/oer toot40 cond. - .75/per foot50 cond. - .9C/per loot

CTS 206-8 eight position dip sC fS-206-4 torn posmor dip svLIGHT ACTIVATED SCR'jTO 18. 200V 1 A

SILICON SOLAR CELLS254" diameter .4V at 500 ma $4.00

FND 359 C.C, .'FCS 8024 4 ditC.C. 8" d.splayFND 503 C.C. .iFND510C.A |OL 704 .3-' C.C

-$.60 LED READOUTS

x DL-704C.A. .3" $ .75

SS.95 DL 747 C A. .6" $1.25

' S .85 HP3400 .8"CC $1.95

' $ S5 HP3405.8"CA $1.95

$ .85

12.50 20.00

IN 4148 HN914

15/S1.00

RS232 DB 25P mai

CONNECTORS DB 25S fair

HOODS .

REGULATORS

323K -5V 3A . .$5.75

309K S1.10

723 $ .50

320T-

5, 12, 15

34K - 12, 15

or 24 V. . . .$ 1.10340T -5, 6,8, 12

15, iBor 24VS 1.1078 MG $1.35

'43B3-'4336-

DATA CASSETTES 1/2 HR $ .95

14 pin headers

MM 5387AA new clock chip which will directlydrive LED's 12/24 hrs., 1 supply & alarm $5.95

NO. 30 WIRE WRAP WIRE SINGLESTRAND 100'$1.40

.22UF 35V 5/S1.00.47UF 35V 5/$ 1.00.68UF 35V5/$1.0O1UF 35V 5/$ 1.002.2UF 20V 5/S1.003.3UF 20V 4/$ 1.004.7UF 15V 5/$ 1.00

NLSSerIEs

6.8UF 35V4/$1.0010UF 10V $ .2522UF 25V $.4015UF 35V 3/S1.0030UF 6V 5/S1.0033UF 20V $ .4047UF 20V $.3568UF 15V $ .50

LINEAR CIRCUITS

f 101

LM 301*718LM307LM 308LM31ILM318LM 334LM 339LM 358

LM386LM 337LM537

LM 553

75

Use

39008036CC

AlCO MINIATURE TOGGLE SWITCHESMTA 106 SPDT . S .

MTA 206 DPDT SI.

MTA 206 P-DPDT CENTER OFF « ]MSD 206 P-DPDT CENTER OFFLEVER SWITCH S 1

PRV

1 A

10A

25A

1.5A

6A 35A

100

40

.70

1 30

40

50 1 20

200

70

1.10

1 .75

.60

.70 160

400

1 10

1.60

2 60

1.00

1.20 2 20

600

1.70

2.30

3.60

1.50 3 00

is: FOB Cambridge. Mass.Send Check or Money Order.InctudePos*—

SOLID STATE SALES

P.O.BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 547-7053

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

Circle 340 on inquiry card.

BYTE April 1979 277

J5^MV\\\\N I \\\\\MIIIII//////jpv Special Sale! O

§

$399

Z

^O DATA TERMINAL

S PRINTER

S We Buy-Sell-Trade all brands &

^ models of Data Processing

1

USB-33010/30 CPS impact

Printing Tractor Feed 132 Print Positions10-Key Pad

Nearly a million dollars in inventoryCall for price quotes

214/357-5725

U.S. BROKERS CO.

A Division of CM Corp.2636 Walnut HIM LaneSuite 347Dallas, Texas 75229

1

^%^/////////mim\\\\\\v^^

Circle 379 on inquiry card.

MemorexFloppy Discs

Lowest prices. WE WILL NOTBE UNDERSOLD!! Buy any

quantity 1-1000. Visa, Masterchargeaccepted. Call free (800)235-4137for prices and information. Allorders sent postage paid.

PACIFICEXCHANGES

100 Foothill Blvd.San Luis Obispo. CA93401. (In Cal. call(805)543-1037.)

Circle 293 on inquiry card.

The firstmicrocomputer

shopping guide!

Computer Data PublishingP.O. Box 598Cleveland, Ohio 44107(216) 221-5440

Companies...

have your product

Circle 54 on inquiry card.

Unclassified Ads

FOR SALE: T! TM99G7100M-1 microcomputerboard with TIBUG monitor in read only memory,256 words of programmable memory, TM990/103microterminal, TM990/511 extender board and alldocumentation. It is a great little machine. I justdon't have time to build a system around it. Listprice is over $750. It's yours for $550 postagepaid. W H Ganoe, 1634 E Drachman, Tucson, AZ85719.

FOR SALE: Like new 33ASR. Purchased newand seldom used, $850. 101C data set (110 bpsmodem) very nice, $200. CCU to interface 33ASRwith 101C, $100. All three $1,000. Joe Turtle,POB 147, Corunna Ml 48817. (517) 743-4607after 6 PM.

SCHOOLSALE TO RAISE MONEY, Two MohawkData Sciences super compact card readers modelSCCR 6002 (6 2/3 cards per second), two A B Dickvideojet ink-jet printers model 9600 (250 charac-ters per second, with parallel interface). Bothappear to be working and are hardly used. Alsoselling three Micro Systems Inc Micro 810 compu-ters. They are mtcroprogrammable, 220 ns, withteletypewriter interface and a combined total of16 K core memory. The Berkeley High SchoolTechnology Club is selling these to raise moneyfor projects, activities, etc. Any reasonable offerconsidered, Contact Eric Martinot, 2206 B Jeffer-son Av, Berkeley CA 94703, (415) 849-2663.

FOR SALE: Heath microprocessor course andtrainer, includes all accessories, instructions,and course examination. $200. A Alberto, 634Blvd East, Weehawken, NJ 07087, (201) 864-1472.

HELP: For ND-812/BR-2412 users. Is there anyexisting users group for the ND-812 or BR-2412minicomputer; or are there any other individualusers of these orphaned systems who would liketo communicate for mutual support? Write orphone: Bill Hunt, 237 South Blvd, Oak Park IL60302, (312) 366-0194.

FOR SALE: Altair 8800 microcomputer with28 K memory; has 3 P+S, cassettes user tapesystem board, VDM, 16 K read only memoryboard with monitor, 1 K board for stack, andkeyboard. Asking $1400. Larry Belmontes Jr,1762 Yale St, Corpus Christi TX 78416, (512)855-2687.

WANTED: Drawings, schematics and pin out datato interface a Sycor Inc. Model 303 Key-Cassetteto a microcomputer. Will pay for documentation.Jim Cook, 11451 Olson Dr, Garden Grove CA92641.

FOR SALE: Prolog read only memory programmerwith UV light eraser, Program, copy, read, or edit1702 UV read only memories. Excellent condi-tion in attache case. Cost $2000. Sell for $640.Bill Fujitsubo, 1506 Sandcastle Dr, Corona delMar, CA 92625.

FOR TRADE: Texas Instruments Silent 700portable terminal, model number 725. Perfectworking condition and clean. Want to trade forused Decwriter II or video type terminal. Willconsider sale outright. Mark Jay Hunt, 3040 Vista-monte Dr, San Jose CA 95118, (408) 265-7799nights.

FOR SALE: Digital Group Z-80 system; 34 K;four Phidecks; keyboard; monitor; dress cabinetsfor all; all software (MaxiBASIC, Business BASIC,Assembler, Startrek, Chess, etc). Must sell - anyreasonable offer accepted. John Case, 6703 Tim-berhill. San Antonio TX 78238, (512) 681-7504.

FOR SALE: TV camera parts; 7735A. Vidicontube brand new $30; 16 mm lens $10; deflectionand focus coil $18; video amplifier $5; and othermiscellaneous goodies. Schematics available. Every-thing I have for $45 plus shipping. S Stoddard,12 Kathy Dr, Poquoson VA 23662, (804) 868-7682.

FOR SALE: Disk and tape drivers from GE-115computer system plus disk packs and other parts.Also Teletype ASR33, $500; Dura Mach-10needs considerable work or good for parts, $100;Altair 2-SIO board, $100; XY plotter with 10 by15 inch (25.4 by 38.10 cm) plotting bed, $200;72 CPS paper tape reader, $25; 3M microficheviewer/printer, $100. Will consider trades. SASEfor more information. Don Bailey, 19 Shaker Rd,Concord NH 03301.

FOR TRADE: 8080 FORTRAN MITS disk versionfor 8080 COBOL or MITS timesharing BASIC.Manuals included. K R Roberts, 10560 Main St,Suite 515, Fairfax VA 22030, (703) 378-7366,(703) 591-6008, (703) 691-0277.

FOR SALE: January thru December 1978 BYTE(volume 3) complete, mint condition, unopened.These 12 issues are yours for S15 (includes fourthclass, shipping). Send check or money order toJohn Burnet, 10324 S Prospect Av, Chicago IL60643.

FOR SALE: Two Solid State Music 4 K Staticprogrammable memory boards from a working(and lovable) Altair 8800, asking $80 each or bothfor S150. Also have a working Digital GroupTVC-F (video interface and audio cassette too).It lists for $195, but it's yours for $130. DaleMorris, 4334 N Quincy, Kansas City MO 64117.

FOR SALE: Tektronix 535A scope with H wide-band preamp and M 4 trace plug-ins, $400 plusshipping. Tektronix TM503 instrument moduleenclosure and two blank modules, new, $200. MFEdigital cassette drive, model 205, four cassetteswith clock track and documentation, $120. J ATitus, POB 242, Blacksburg VA 24060, (703)951-9030.

FOR SALE: Three SD Sales 4 K static program-mable memory boards, fully operational, withall documentation. 500 ns access, data read atPDBIN! All three shipped promptly for certi-fied funds of $180 (that's less than 1.5tf perbit!). W Howard Adams, 1590 S Krameria St,Denver CO 80224, (303) 756-4052.

KIM USERS: Powerful console input monitor(CIM) lets you enter, edit, and execute programsfrom ASCII encoded keyboard on BASIC KIM.CIM modes are: address, program, 'text, data,increment, decrement, and execute. Completedocumentation included lor $16.50 postage paid.Add $5 for CIM cassette. E R Kittlaus, POB 2175,Seal Beach, CA 90740.

FOR SALE: BYTE issue numbers 1 thru 16 inmint condition for best offer. Dave Babcock,107 SE Jay, Pendleton OR 97801.

FOR SALE: Panasonic 8'/^ inch diagonal blackand white video monitor with UHF type con-nectors. S50 or best offer. Charles Baumer, 5055W Drummond PI, Chicago IL 60639, (312)637-0414.

HALF PRICE SALE: Factory wired IMSAI 8048Control Computer with 2 K programmablememory installed. New condition, runs perfectly,fully documented. S190 via UPS. H A Chinn, 757Bolanos Ct, Port Charlotte FL 33952, (813)6252032.

FOR SALE: Partially assembled SwTPC CT-64terminal kit. Keyboard and video terminal com-pleted and working with sockets for all integratedcircuits. $250. Allan J Hogue, RR 2, Norwalk IA50211, (515) 462-3220.

NEW'UNCLASSIFIED POLICY

Readers who have equipment, software or other itemsto buy, sell or swap should send in a clearly typed noticeto that effect. To be considered for publication, an adver-tisement must be clearly noncommercial, typed doublespaced on plain white paper, contain 75 words or less, andinclude complete name and address information.

These notices are free of charge and will be printed onetime only on a space available basis. Notices can be ac-cepted from individuals or bona fide computer users clubsonly. We can engage in no correspondence on these andyour confirmation of placement is appearance m an issue ofBYTE.

Please note that it may take three or four /uonths for anad to appear in the magazine.*

Circle 115 on inquiry card.

8" Siemens FDD120-8 Drive

. All Siemen's options includedin this drive which can be con-figured hard or soft and singleor double density. (Others giveonly stripped unit) $425.00

"Power One" Model CP206Floppy Power Unit For two

drives going full-out, and poss-ably more on less severe service.2.8A<s>24V, 2.5A@>5V, 0.5A@-5V.Beautiful quality. $99.00

DISKETTES (Standard)

SVa'

BoxedBoxed

1010

539.00534.95

*

Tarbell ("It Works") Interface

(Includes cable set for 2 drives)$265.00 BUT ONLY $219.00

with purchase of two drives.

Cable Kits 10' with 50 cond.cable and connectors and alsoMolex connectors and powercable; For one drive: $27.50For two drives: $33.95, andfor three drives: $38.95

CABINETS for FDD120 and801 R Drives, or CP206 powersupply. Matte finish in marresistant black epoxy paint.^Stacking type design. $29.99

Electrolabs

P0B 6721, Stanford, CA 94305

415-321-5601 800-227-8266

Visa, American Express, Master

Low Profile Socket Spectacular!!!

Featuring a kind of "Mexican Hand-shake" principle, these sockets willNOT let your IC's vibrate outll In8,14,16,18,20,22,24,28 &40 Ict/nin1000+: .75/pin, 20,000+: .65/pin

ftOOOrif

s =NttBF

10 MegabyteSUPER DISK!!!

SHRINKSyour mediaRELIABLY

":^**^--.

Used Sylvania 12" VideoMonitors. Composite video15mhz, 115vac, 50/60hzNew Tube. As shown $109OEM style without case:$99, Anti-glare tube optionadd $12. Specify p4 or p39

ESAT200B (Bi-Lingual) 80X24Communicating Terminal

Scrolling, Full Cursor, Bell, 8X8 1

matrix, 256 addressable characters

110-19,200 baud, etc, etc

This terminal has been purchasedby many agencies, universities & |n

companies. Fully stand-alone, it is WSthe only dual font terminal of any Hkind for less than $2500. '£.

Supplied complete and fully guaran- ~$£teed: (many graphics applications)

$349.00

NEW

PRODUCTRELEASE !!!

NEW BreakthroughIn Size, Weight (39lbs)Power (125W) Perform-ance (3600rpm) andcost effectiveness (10MBy and controllerfor $6750.00) ForPDP-11, LSI-11

AND

S-100 machines

llLISiiSiiif

4111

&^f$t5yz^w±zf$@*^*Zj^>f$l&^^

Carly - Bird Specials...

fffiiKfciiiimnliiuAifffUtilm«ifl«h\\\ift\Mili\^\UftVfti*JHii\\^fc\«.v,y^^w^^^y Wheel Printers]

■SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASCII& IBM code versions with microcomputer interface software & hardware (RS-232 connector.) Cassette drive models permit up to 2400 baud data transferrate as well as off-line data storage, use as memory typewriter, & use as dataentry device for office personnel familiar with Se lee trie typewriters but notcomputers. Wide-carriage, interchangeable type spheres; optional built-inmodem. All units cleaned, adjusted & warranted.

Model 5541 (IBM Correspondence code) $695.00

Model 5550 (corres. code, built-in cassette drive) $1195.00

Model 5560 (ASCII code, built-in cassette drive) $1295.00

• IBM SELECTR1C 725 TYPEWRITER I/O w/solenoids switches & magnetdriver PCB (from GTE/IS terminal) plus instructions for 8080 printer-driverinterface hardware & software.

a) Typewriter mechanism complete, cleaned & adjusted .... $375.00

b) Case from terminal & power supply(+24V,+12V,+5V @5A). . $ 75.00

c) a & b plus output ASCII interface to mCPU 8-bit parallel port . $650.00

• POS 103/202 "MIX or MATCH" MODEM: BELL 103 anci/or BELL 202FREQUENCIES: Unique POS control design permits use in one housing ofboth Bell-compatible 103 (0 - 300 baud) and 202 (0 - 1200 baud) modemmodules originally made by VADIC Corp. for a telephone company subsidiary.FEATURES: RS-232 serial interface, auto-answer, auto-dial, LED display,telephone line interface via acoustic coupler, manual DAA, or auto-answerDAA Isold separately.) FULLY ADJUSTED; no special tools required.3,000 mile range over standard dial-up telephone lines.

-POS 103 MODEM (with Auto Answer, Auto Dial) $179.95

-POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95

-POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) S279.95

-POS 103/202 MODEM (Auto-Answer, Auto-Dial) $399.95

•DIABLO HYTYPE I Model 1200 Printer Mechanism: used, complete andoperational. Requires power supply, case & mCPU interface. 15 day return

privilege - no other warranties. LIMITED QUANTITY! S750.00

—6' Ribbon cable & connector for printer Main Logic PCB $10.00

-1 4-pin Winchester connector & 1 8" power supply cable S5.00

-"As-is" spare printer PCB's for parts (Logic, Heat Sink, Control): ea. $20.00

• NEW TAPE DRIVE CONTROLLER for Microcomputer: POS Version IItape drive controller is now available, permitting the 8080 or Z-80 owner toread and write standard IBM NRZ1 format tapes (as well as ASCII tapes) withthe Ampex Model TMX tape drive described below. Controller is sold onlywith tape drive, comes complete with connector cables to CPU and softwarelisting in 8080 assembly language (specify 2MHz or 4MHz system.)

-Ampex TMX tape drive (used) with Version II Controller $1500.00

• AMPEX MODEL TMX TAPE DRIVE: Ideal for microcomputerist whowants backup mass storage or access to IBM-type systems via standardized2400 series Vz" mag tape. Specs: 9-track, IMRZ1 standard, 800 BPI, 12"/sec,1200 ft. reels (11 megabyte capacity.) Drive is like new & comes with 8-bitCPU controller diagram (requires only 11 l/C's) & mCPU interface instructions:Prices: Drive & Documentation $750.00

Controller & cable for mCPU, assembled & tested $250.00

• DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec;AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25.

•FORMS TRACTORS, Moore Variable width "Form A-Liner" for print terminals:

aJModel 565P for 15" Carriage IBM Selectrics (new): S50.00

b) Model K81 for QUME or DIABLO Hytype I or II printers (new): .... $90.00 ^

•POWER SUPPLIES for Disk Drive, mCPU, tested under load shown:-No. 519 (w/fan & AC cord): +5V reg.,±12V reg., A24V, @5A (10 lb.)- ■ S29.95-LAMBDA No. LMEE5w/OV protect: +5V reg. @ 25A (35 lb.) S59.95

NO RISK! 15 DAY APPROVAL ON ALL MAIL-ORDERS

Full documentation included PLUS interface instructionswhere indicated. All equipment is shipped insured FOBPalo Alto within 14 days after check clears or COCorder is received. Prices may change without notice.

K PACIFIC OFFICE SYSTEMS, INC. ii

m 2600 El Camino Real, Suite 502 B&Try _ . _ ... „.„„„ 'fix

Call or write for details, quantity prices, catalog. 1 5 dayreturn privilege PLUS 90 day no charge replacement ofdefective parts. All orders shipped from stock. No backorders, no substitutions. M/C & VISA accepted.

Palo Alto, Calif. 943061415) 321-3866

Circle 296 on inquiry card.

BYTE April 1979 279

fleaden Service

To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circlethe appropriate numbers for the advertisers you select from the list. Add a 15 cent stamp to the card, then drop it in the mail. Not only doyou gain Information, but our advertisers are encouraged to use the marketplace provided by B YTE. This helps us bring you a bigger B YTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

ecMe-

BYTE's Ongoing Monitor Box

Article No.

ARTICLE

1 Ciarcia: The Toy Store Begins at Home

2 Campbell: Cross-Pollinating the Apple II

3 Zimmermann: Simulation of Physical Systems

4 Buskirk: Sources of Numerical Error

5 Smith: Smart Memory

6 Dahmke: A Simulated View of the Galaxy

7 Hinrichs: Marsport Here I Come

8 Meushaw: The Standard Data Encryption Algorithm

9 Gorney: Queuing Theory

10 Costas: Cryptography in the Field, Part 2

11 Soderstrom: Life Can Be Simple

12 Grappel: An Easy Way to Calculate Sines and Cosines

13 Arp: The Power of the HP-67 Programmable Calculator, Part 2

14 Cline: An Introduction to Microprogramming

15 Chester: A Digital Alphanumeric Display

16 Johnson: Microcomputer Time-sharing

17 Blodgett: A Binary Guessing Game

Page No. Inquiry No.

Page No.

1

Aaron Associates 234

95

DRC ICA) 235

211

2

Administrative Systems 165

100

DRC ITXI 255

231

4

Advanced Memory Technology 253

101

DISKS Etc 244

232

3

AJA Software 235

102

Doubleday & Company 231

230

5

Alladin Automation 1 5

105

Echo Design & Development 192

233

8

Ancrona 270

108

Eclectic Corp (Div of TANO Corp) 49

236

12

Apparat, Inc 1 96

110

Ecosoft 244

•

15

Apple Computer 5

115

Electrolabs 279

255

19

ATV Research 253

120

Electronic Control Tech 1 69

265

20

Austin Electronics 269

125

Electronic Systems 252

267

22

Base 2 133

130

Electronics Warehouse 265

270

30

Beckian Enterprises 254

131

EMM/Semi Inc 229

278

23

Beta Business System 253

132

Famsworth Computer 276

*

35

Bits Inc 156, 183, 187, 189

134

Federal Communications Corp 172

279

26

"Bumper Bits" 244

136

FMG Corp 130

281

31

Business Applications Software 235

140

Garvey, Martin & Sampson 227

282

32

Buss/Charles Floto 221

144

Giltronics 244

280

"

BYTE Back Issues 227

150

Godbout Electronics 141

287

36

BYTE Books 87, 93-96, 103, 105, 112

151

GRT 131

1

"

BYTE Subscriber 221

■

Hayden Book 200

283

•

BYTE WATS Line 215

159

H & E Computronics 21 1

285

37

California Computer Systems 1 3

160

Heath Company 1 7

*

39

California Digital 271

170

Hobby World 269

290

42

Camelot Direct 127

174

Hollywood Systems 254

286

44

Cascade Enterprises 247

176

Houston Instruments 29

*

45

Central Data 197

172

HUH Electronics 241

•

47

Chrislin Industries 190

178

Independent Business Systems 1 6

292

49

Circle Enterprises 221

171

Industrial Micro Systems 240

*

53

Computer Age 1 08

180

Innotronics 203

294

54

Computer Data Publishing 278

179

Integrand 230

293

70

Computer Enterprises 233

175

Interactive Microware Inc 223

296

68

Computer Factory IMA) 163

181

Interactive Sys Design Group 276, 242

297

•

Computer Factory 147

177

International Elec Equip 164

298

71

Computer Interface Technology 242

183

Intertec Data Sys Corp 45

301

72

Computer Lab of NJ 243

190

Ithaca Audio 76, 77, 263

302

75

Computerland 8, 9

195

Jade Co 260, 261

303

66

Computer Mart of NJ & PA 108

200

Jameco Electronics 256, 257

305

*

Computer Plus Inc 243

201

Jim-Pak 75

307

73

Computerware 1 87

205

Larks Electronics & Data 253

308

74

Computhink 23

*

Lifeboat Associates 82, 83

312

•

Conley Graphics 230

202

Mad Hatter Software 151

300

78

CT Micro Computer 195

203

Mad Hatter Software 225

306

79

CT Micro Computer 209

209

Maxell Tape 71

309

83

CT Micro Computer 248

215

Measurement Sys & Controls 121

310

76

Cover Craft 246

216

Measurement Sys & Controls 253

311

77

Creative Software 204

217

Micro Architect 242

314

80

Cromemco 1, 2

218

Microcomputer World 242

329

81

Custom Computing 242

219

Micro Diversions 59

322

85

Cutting Edge of Technology 53

220

Micro Focus Ltd 123

324

82

Cybernetic Micro Systems Inc 229

222

Micro-Mail 1 79

315

91

Data Discount Center 247

221

Micro Mart 253

316

93

DataSearch 225

223

Micromation Inc 1 74, 1 75

317

88

Data Speed 125

204

Micro Mike's 234

331

90

Datec 171

224

Micro Products Unltd 244

318

89

Delta Products 251

229

Microsette 253

•

87

Digital Dynamics 276

228

Microsoft 91

313

86

Digital Pathways 245

226

Microtronix 1 1 7

320

Microware 206 319The Micro Works 173

Micro World 33 323

Mikos 270 333

Minicomputer Accessories 232 327

Mini Computer Suppliers Inc 225 328

MJB Computer Associates 244 321

Morrow/Thinker Toys 30, 31 325

mpi 209 335

Mullen Computer Boards 241 340

National Computer Service 276 330

National Multiplex 137 350NCC '79 Personal Comp Festival 181 351

NCR Corp 73 352

NEECO 142 353

NEECO 143 357

Netronics Research 205 358

Netronics Research 207 361

New England Recruiters 242 354

Newman Computer Exchange 259 356

North Star Computers 19, 63 355

NRI Schools (Electronics Div) 65 359

Ohio Scientific CIV, 36, 37 349

OK Machine & Tool 115 348

onComputing 81 360

Oregon Software 228 363

Osborne & Associates 161 367

Owens Associates 209 368

Pacific Digital 245 364

Pacific Exchanges 278 366

Pacific Office Systems 279 365

PAIA Electronics Inc 196 371

Parker Brothers 245 370

Per Com Data 56, 57 374Personal Software Inc 148, 149, 244

Pet Shack Software House 2 1 6 326

Phone I 41 375

Potomac Micro-Magic Inc 21 9 304

Potter's Programs 242 379

Priority I 273. 274, 275 382

Processor Technology 42, 43 380

The Programming Shop 276 381

PRS 89 383

Quality Software 228 386

Quest Electronics 267 378Radio Shack Authorized Sales Ctr 253 384

RCA (PA) 179 387

RCA Solid State 61 385

Reston Publishing Company 222 388

Rochester Data 222 389

S-100lnc215 390

Sara-Tech Electronics 276 395

S C Digital 233 397Scelbi Computer Consulting Inc 21 1 400

Scientific Research 107 401

SCR Electronics 266 398Semionics 208

Michael Shrayer Software 1 55Shugart 6, 7'68' Micro Journal 244Small Business Computers Magazine 232Ed Smith's Software Works 227Smoke Signal Broadcasting 39■Software 80 159Software Dynamics 235SSM 25

Solid State Sales 277Soroc Technology Inc 35Southwest Technical Products Corp CllSpeakeasy Software 64Stirling Bekdorf 199Structured Systems Group ClllSub Logic 276Summagraphics Corp 4 7Sunny Computer Systems 276Sunny International 272Sybex Inc 1 98Synchro Sound 99Synergetics 215System Design Lab 219TANO Corp 1 19Tarbell Electronics 51Technical Systems Consultants 97Terminal Systems 2423/M Company 213 S Sales Inc 1533 S Sales Inc 272Tiny C 52

Tora System Limited 242Total Information Services 225TransNet Corp 246Trenton Computer Festival 189TRS-80 Software Exchange 139TSA Software 215University Microfilms 101U S Brokers 278US Robotics 140Vanguard Systems Corp 109Vector Electronics 21 7Vector Graphics Inc 113Video World 209Vista Computer Co 268VR Data 203Wameco 266Web Associates 276Western Digital Corp 86Wintek 244

World Power Systems Inc 68, 69, 78, 79Worldwide Electronics 253X Comp 231Xitex 134Xitex 135XL Computer Products 227

*Correspond directly with company.

PAGE

10

20

26

46

54

66

84

110

132

144

166

170

176

210

218

224

236

Innovations and Home SecurityTop BOMB Scores

The January 1979 BOMB put a variety oftopics at the top of our list. The first placeprize of $100 goes to Joel Boney and TerryRitter for "A Microprocessor for the Revo-lution: The 6809" (page 14). The secondplace prize of $50 went to Steve Ciarcia for"Build a Computer Controlled SecuritySystem for Your Home, Part 1 (page 56).

The third place article was "History ofComputers: The IBM 704," by Keith Reid-Green (page 190). Fourth place was Part 4of "Creating a Chess Player," by Peter Freyand Larry Atkin (page 126)."

280 April 1979 © BYTE Publications Inc

Structured Systems

business software can

put a microcomputer

to work for you.

SSG's general accounting, data inquiry, mailing, andcommunications software packages are bringing realcomputer power to hundreds of businesses rightnow. They are ready to go to work for your business.

The Honest-To-Business $12,000 Computer

Our software will power DYNABYTE, CROMEMCO,IMSAI, NORTHSTAR, ALTOS, MICROMATION, DIGITALSYSTEMS, or other Z-80 or 8080 based computersthrough your General Ledger, Accounts Receivable, andAccounts Payable. And maintain a conversationaldata-base query system, store and print your mailing listand labels, produce and edit correspondence, addressit from your mailing list, and more. The price for a totalsystem—hardware and SSG software—ranges from$8,000 to $14,000.

Real Business Computing

Our Business Software packages are designed to be upand running and working for you in a matter of hours.Without expensive reprogramming, technical staff addi-tions, or costly trial-and-error. Our quality is high, ourdocumentation practically self-instructive.The applica-tions are flexible and extensive, designed to meet andexceed the requirements of most small to medium busi-nesses. Real computer solutions at microcomputer prices.

Some Pleasant Surprises

Your computer retailer can give you a demonstrationand literature. You might find a solution just right foryour business with"off the shelf" prices and deliverytimes. Or we will be happy to send you literature direct,including a list of our dealers and compatible hardware.Write us, orcal

The SSG product line includes these outstanding packages:

General Ledger LETTERIGHT Letter Writer

Accounts Receivable NAD Mailing System

Accounts Payable QSORT Sorting System

CBASIC-2 WHATSIT? Data/Query System

Structured Systems Croup

INCORPORATED

5204 Claremont Oakland, California 94618 (415)547-1567

* Complete prices will vary with equipment and software selected. Required:8080 or Z-80 based computer running a CP/M or CP/M-compatibledisk-based operating system. Your retailer or SSG can advise on specifics.(CP/M is a product of Digital Research.)

Circle 353 on inquiry card.

The Microcomputersyou should take seriously.

The C3 Series is the microcomputerfamily with the hardware features, highlevel software and application programsthat serious users in business and in-dustry demand from a computer system,no matter what its size.

Since its introduction in August, 1977,the C3 has become one of the most suc-cessful mircocomputer systems in smallbusiness, educational and industrialdevelopment applications. Thousands ofC3's have been delivered and today hun-dreds of demonstrator units are set up atsystems dealers around the country.

Now the C3 systems offer featureswhich make their performance com-parable with today's most powerful mini-based systems. Some of these featuresare:

Three processors today, moretomorrow.

The C3 Series is the only computersystem with the three most popular pro-cessors— the 6502A, 68B00 and Z-80.This allows you to take maximum advan-tage of the Ohio Scientific softwarelibrary and the tremendous number ofprograms offered by independent sup-pliers and publishers. And all C3's haveprovisions for the next generation of 16bit micros via their 16 bit data BUS, 20address bits, and unused processorselect codes. This means you'll be ableto plug a CPU expander card with two ormore 16 bit micros right in to your ex-isting C3 computer.Systems Software for threeprocessors.

Five DOS options including develop-ment, end user, and virtual data filesingle user systems, real time, timeshare, and networkable multi-usersystems.

The three most popular computerlanguages including three types of BASIC

Circle 290 on inquiry card.

plus FORTRAN and COBOL with morelanguages on the way. And, of course,complete assembler, editor, debuggerand run time packages for each of thesystem's microprocessors.Applications Software for SmallBusiness Users.

Ready made factory supported smallbusiness software including AccountsReceivable, Payables, Cash Receipts,Disbursements, General Ledger, BalanceSheet, P & L Statements, Payroll, Per-sonnel files, Inventory and Order Entry asstand alone packages or integratedsystems. A complete word processorsystem with full editing and output for-matting including justification, propor-tional spacing and hyphenation that cancompete directly with dedicated wordprocessor systems.

There are specialized applicationspackages for specific businesses, plusthe vast general library of standardBASIC, FORTRAN and COBOL software.OS-DMS, the new software star.

Ohio Scientific has developed aremarkable new Information Manage-ment system which provides end user

The C3 Seriesfrom Ohio Scientific.

C3-S1

intelligence far beyond what you wouldexpect from even the most powerful mini-systems. Basically, it allows end users tostore any collection of information undera Data Base Manager and then instantlyobtain information, lists, reports,statistical analysis and even answers toconventional "English" questions perti-nent to information in the Data Base.OS-DMS allows many applications to becomputerized without any programming!The new "GT" option heralds the newera of sub-microsecondmicrocomputers.

Ohio Scientific now offers the 6502Cmicroprocessor with 150 nanosecondmain memory as the GT option on all C3Series products. This system performs amemory to register ADD in 600nanoseconds and a JUMP (65K byterange) in 900 nanoseconds. The systemperforms an average of 1.5 million in-structions per second executing typicalend user applications software (andthat's a mix of 8. 16 and 24 bit instruc-tions!).Mini-system Expansion Ability.

C3 systems offer the greatest expan-sion capability in the microcomputerindustry, including a full line of over 40expansion accessories. The maximumconfiguration is 768K bytes RAM. four 80million byte Winchester hard disks. 16communications ports, real time clock,line printer, word processing printer andnumerous control interfaces.Prices you have to take seriously.The C3 systems have phenomenalperformance-to-cost ratios. The C3-S1with 32K static RAM, dual 8" floppies,RS-232 port, BASIC and DOS has a sug-gested retail price of under $360080 megabyte disk based systems start atunder $12,000. Our OS-CP/M softwarepackage with BASIC. FORTRAN andCOBOL is only $600. The OS-DMSnucleus package has a suggested retailprice of only $300. and other options arecomparably priced.

To get the full story on the C3 systemsa.nd what they can do for you. contactyour local Ohio Scientific dealer or callthe factory at (216) 562-3101.

C3-B wins Award of Merit alWESCON '78 as Ihe outstandingmicrocomputer application torSmall Business

C3-OEM