Byte Magazine Volume 04 Number 03 - Plain Text

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)

^0"

■

■

-.

SuiTtil

— x a a I. a H ■' « '. I- ,t '. i .1 '.—

.-.. x xi .a v ■ n m : ' : .3 .

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.

In the Oueue

EITI March 1979Volume 4, Number 3

66

94

114

142

150

Foreground

THE STANDARD DATA ENCRYPTION ALGORITHM, Part 1: An Overview, by Robert VMeushawA detailed description of a "trap door" algorithm

DESIGNING WITH DOUBLE SIDED PRINTED CIRCUIT BOARDS, by DavidLamkinsThis do-it-yourself technique can save you space

DESIGNING A ROBOT FROM NATURE, Part 2: Constructing the Eye, by Andrew FiloDesign details of the robot's eye in the second of this 2 part article

A STEPPING MOTOR PRIMER, PART 2, by Paul GiacomoInterfacing to your computer, and other considerations

BUILD A COMPUTER CONTROLLED SECURITY SYSTEM FOR YOUR HOME, Part 3, by Steve CiarciaUltrasonics, infrared beams and other exotic ways to make your home secure

196 THE POWER OF THE HP-67 PROGRAMMABLE CALCULATOR, Part 1, by Robert C Arp JrLearn to use one of the most powerful programmables

Background

12 BUILDING THE HEATH H8 COMPUTER, by Dr Paul R PoduskaA review of a popular computer kit

14 A MAP OF THE TMS-9900 INSTRUCTION SPACE, by Henry Melton

Organizing one's approach to a machine with 21 595 legal instructions

32 FILES ON PARADE, Part 2: Using Files, by Mark KleinFile protection systems and sundry other matters

46 A MICROPROCESSOR FOR THE REVOLUTION: THE 6809, Part 3, by Terry Ritter and Joel BoneyFinal thoughts about the successor to the Motorola 6800 processor

56 CRYPTOGRAPHY IN THE FIELD, Part 1: An Overview, by John P Costas, PhdA brief historical look at cryptography

80 PREVIEW OF THE Z-8000, by Ira Rampil

A look at Zilog's new 16 bit processor

170 COMMON MISTAKES USING WARNIER-ORR DIAGRAMS, by DavidHigginsAvoiding pitfalls when using this alternate flowcharting method

194 PASSWORD PROTECTION FOR YOUR COMPUTER, by R Jordan KreindlerHow to keep data and information "for your eyes only "

230 WHAT IS AN INTERRUPT? by R Travis Atkins

Learn how to use peripherals efficiently with interrupts

238 HISTORY OF COMPUTERS: THE IBM 650, by Keith S Reid-GreenA glance at a past favorite

page 114

>

* *

Nucleus

6 Don't Overlook LISP 182

10 Letters 206

26 DeskTop Wonder: Race Car for the SR-52 222

42 Book Review 224

53 Event Queue 241

92 Programming Quickie: Inverse Trig Functions 270

92 Machine Language Puzzler: Odd Tones 272

107 BYTE News 272

Technical Forum

Nybbles: Computer Assisted Flight Planning

Clubs and Newsletters

BYTE's Bits

What's New?

Unclassified Ads

BOMB

Reader Service

page 238

Cover Art:

THROUGH THE TRAP DOOR

by Robert Tinney.

BYTE is published monthly by 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 $1 5 for one year, $27 for two years, and $39 for three years in the USA and its possessions. InCanada and Mexico. $17.50 for one year, $32 for two years, $46.50 for three years. $25 for one year air delivery to Europe. $25 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, $2.40 in Canada and Mexico, $3.50 in Europe, and $4 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 or photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright ©1979 by BYTE Publications Inc. All rights reserved.

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

Subscription WATS Line: (800) 258-5485

March 1979©BYTE Publications Inc 3

The Heath H8 is part of the familyof Heath computer kits. Dr Paul RPoduska describes his experience ofassembling this well-documented kit inBuilding the Heath H8 Computer.

page 12

One way to see what the TexasInstruments TMS-9900 processor cando is to cover the instruction set usingA Map of the TMS-9900 InstructionSpace by Henry Melton as a guide. Hisshort article gives a summary of theavailable operations plus details for allthe possible operation codes of themachine. page 14

After setting up a computer systemwith the hardware and software tohandle files, how do you use it? Inpart 2 of Files on Parade, Mark Kleindescribes file management and pro-gramming techniques using files.

page 32

In A Microprocessor for the Re-volution: The 6809, Part 3: FinalThoughts, 6809 architects Terry Ritterand Joel Boney of Motorola discussclock speed, timing signals, conditioncodes and software design philosophyas they apply to the 6809. page 46

In Crytography in the Field, Part 1,Dr J P Costas gives a brief history ofthe fascinating world of cryptography,to be concluded next month with aprogrammable calculator encryptionand decryption program. page 56

Robert V Meushaw's article de-scribes the workings of and some ofthe theory involved with The Standard

In this BYTE

Data Encryption Algorithm, one of aclass of algorithms known as "trapdoor" algorithms. page 66

The Z-8000 is Zilog's new entryinto the field of 16 bit processors. Inaddition to its impressive speed, theZ-8000 in conjunction with an out-board memory management deviceallows programmers to employ virtualmemory techniques. Read about it inIra Rampil 's Preview of the Z-8000.

page 80

If you'd like to double your plea-sure and double your fun, try design-ing with two printed circuit boardsides instead of one. David Lam kinsshows you how to get more for yourmoney in Designing with Double SidedPrinted Circuit Boards. Perhaps thattopology course you took might comein handy after all. page 94

Andrew Filo concludes his articleDesigning a Robot from Nature withan overall description of the systemas well as construction details forbuilding a net convexity detector,which mimics the frog's ability todetect insect flight patterns, page 114

This month Paul Giacomo con-cludes his 2 part Stepping MotorPrimer with a look at interfacing thestepping motor to a computer aswell as a discussion of damping, inertiaand other related topics. page 142

This month Steve Ciarcia completeshis 3 part article Build a ComputerControlled Security System for YourHome with a discussion of burglaralarms, intrusion detectors, and therest of the circuitry you'll need tomake your home secure. page 150

First time users of Warnier-Orr dia-grams consistently have many ques-tions about the correct usage of thetechnique. David A Higgins describessome conceptual errors and otherCommon Mistakes Using Warnier-OrrDiagrams. page 170

If many people have access toyour computer, you may want toprotect the information containedwithin it. One way is to implementPassword Protection for YourComputer as described by R JordanKreindler. page 194

This month Robert C Arp Jr beginsa 2 part article about The Power ofthe HP-67 Programmable Calculator.

Part 1 is a review of the features andperformance of this powerful desktop wonder. page 196

What Is an Interrupt? In brief, it isthe act of safely stopping one processand causing your computer to start(resume) another process. For some

background information on interruptprocessing, see R Travis Atkins' tu-torial in this issue. page 230

Keith S Reid-Green continues hisHistory of Computers with a discus-sion of one of the early minicomputers,The IBM 650. page 238

Publishers

Production Manager

Circulation Manager

Comptroller

Distributors:

Virginia Londoner

Karen Gregory

Gregory Spitzfaden

Kevin Maguire

Eastern Canada

Gordon R Williamson

Production Editors

Assistants

Assistant

RS-232 Distribution Company

Vice-President Periodicals

David William Hayward

Pamela R Heaslip

Mary E Fluhr

1 86 Queen St W, Suite 232

John E Hayes

Peter Perin

Ann Graves

Toronto ONTARIO M5V-1Z1

Assistant

Typographers

Agnes E Perry.

National Advertising

Western Canada

Jilt E Callihan

Cheryl A Hurd

Melanie Bertoni

Sales Representatives:

Kitronic Ltd

Stephen Kruse

Dealer Sales

Hajar Associates Inc

26236 26th Av RR 5

Editorial Director

Production Art

Ginnie F Boudrieau

East

Aldergrove BC VOX 1A0

Carl T Helmers Jr

Ellen BinghamWai Chiu Li

Anne M Baldwin

280 Hillside Av

Executive Editor

Needham Heights MA 02194

Drafting

Techart Associates

Christopher P MorganEditor in Chief

Christine Dixon

Book Division:

(617) 444-3946521 Fifth Av

Raymond G A CoteSenior Editor

Advertising Director

Patricia E Burgess

PublisherEdmond C Kelly Jr

New York NY 10017(212) 682-5844

Typography

Goodway Graphics

Blaise W Liffick

Adv/Prod Coordinator

Production Editors

Midwest

Photography

Editor

Thomas Harvey

Patricia CurranWilliam Hurlin

664 N Michigan Av

Ed Crabtree

Richard Shuford, N4ANG

Assistant

Suite 1010

Editorial Assistant

Ruth M Walsh

Chicago 1L 60611

Editorial Associate

Gale Britton

Advertising Billing

Traffic Managers

(312) 337-8008

Daniel Fylstra

New Products Editor

Noreen Bardsley

Rick Fuette

West, Southwest

Associates

Clubs, Newsletters

Don Bardsley

Mark Sandagata

1000 Elwell Ct

Walter Banks

Laura A Hanson

Suite 227

Steve Ciarcia

Drafting

Receptionist

Printing

Palo Alto CA 94303

David Fylstra

Jon Swanson

Jacqueline Earnshaw

The George Banta Company

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

Ira Rampil

March 1979 O BYTE Publications Inc

How to buy

a 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 settie 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).

tJf f=fc fcjfc* hAsJ

_a L^ja mam mmmmcm> evn trtgr^ - •*-

Wk f» %9A ¥~V£

. -< r .T * : t~<" ! ^~? . fjV f W * ! J? I V**

_gBHB——_majMgjmmtlBeUBUWgBBmlSS&SBRmtiiiBmmmWmmmmmM

Circle 15 on inquiry card.

apple computer

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

BYTE March 1979 5

Look for

Shugarl drives

in personal

computer systems

made by these

companies

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, CA 94710

Vista Computer Company

2807 Oregon CourtTorrance. CA 90503

Circle 320 on inquiry card.

^Shugart

March 1979 @ BYTE Publications Inc

Don't Overlook LISP

John R Allen

18215 Bayview Dr

Los Gatos CA 95030

Most programming lan-guages do very little toreinforce the creative pro-cess of algorithm discoveryand creation. They aremore concerned with theexecution of already con-structed algorithms. Thismonth's guest editorial byJohn R Allen elaborateson this idea and discussesthe relative merits of LISP,along with some generalphilosophy about personalcomputing. . . .CPM

Articles Policy

BYTE is continually seeking qualitymanuscripts written by individuals whoare applying personal computer systems,designing such systems, or who haveknowledge which will prove useful toour readers. For a more formal de-scription of procedures and require-ments, potential authors should send alarge (9 by 12 inch, 30.5 by 22.8 cm),self-addressed envelope, with 28 centsUS postage affixed, to BYTE Author'sGuide, 70 Main St, Peterborough NH03458.

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

Pascal has reached critical mass; it hasflashed through the mainframe, minicom-puter, and now the microcomputer field. Ithas much to support its popularity; how-ever, it represents but one point of viewabout computing.

This discussion offers a contrasting posi-tion, as "personified" by LISP. I will discussnot relative expressive power or syntax, butrather that the forces and attitudes whichshaped the languages (and the kinds ofproblems which the languages address)represent diverse views of computation.In the 1969 Software Engineering Con-ference, Niklaus Wirth (creator of Pascal)said:

/ would like to discuss the trendtowards conversationality in our tools.There has been, since the developmentof timesharing and on line consoles, avery hectic trend towards developmentof systems which allow the interactivedevelopment of programs. Now this iscertainly nice in a way, but It has itsdangers, and I am particularly wary ofthem because this conversational usagehas not only gained acceptance amongsoftware engineers but also in univer-sities where students are trained inprogramming. My worry is that thefacility of quick response leads tosloppy working habits and, since thestudents are going to be our futuresoftware engineers, this might be ratherdetrimental to the field as a whole.

Wirth was addressing programming devel-opment in particular, but the question of"sloppy work habits" has a broader connota-tion. Many industrial and educational per-sonnel still question the viability of interac-tive composition of any kind of text. Sup-posedly on line composition is wasteful andinefficient; one should carefully think outthe text, writing it out in longhand or bytypewriter, then revise and amend, cut and

Continued on page 212

"ftfy Shugartfollowed men

I '

■

%

>s-

"After working all day with the computer atwork, it's a kick to get down to Basic at home. Andone thing that makes it more fun is my Shugartminifloppy™' We use Shugart drives at work, sowhen I bought my own system I made sure it had aminifloppy drive.

"Why? Shugart invented the minifloppy. Theguys who designed our system at work tell me thatShugart is the leader in floppy design and hasmore drives in use than any other manufacturer. IfShugart drives are reliable enough for hard-workingbusiness computers, they've got to be a goodvalue for my home system.

"When I'm working on my programs late atnight, I can't wait for cassette storage. Myminifloppy gives me fast random access and data

W

transfer. The little minidiskettes store plenty ofdata and file easily too.

"I made the right decision when I bought asystem with the minifloppy, when you lay out yourown hard-earned cash, you want reliability andperformance. Do what I did. Get a system with theminifloppy."

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

Q Shugart

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 ot Shugart Associates

Circle 320 on inquiry card.

BYTEMjrch 1979

Here it is at last...

THE FIRSTFLOPPY DISK BASED COMPUTER

FOR UNDER*

III

TheCIPMF

*995

Complete minifloppy computer system■ 10K ROM and 12K RAM. I Instant program and data retrieval

The Challenger 1P Mini-disk system featuresOhio Scientific'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.

8 BYTE March 1979

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 MR

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

Circle 290 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 %megabyte 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.

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.

ra

Cromemco

^^^^^H Microcomputer Systems

Circle 80 on inquiry card.

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

BYTE March 1979

LatchedOutputs

4 MHzCrystal Clock

On Card

Voltage

Regulation

ParallelI/O Port #1

\

ParallelI/O Port #2

ParallelI/O Port #3

\

RS-232 orCurrent LoopI/O Port #4

/

8KROMCapacity

IK RAM

Standard Bus

for System

Expandability

ProgrammableBaud RateUARTwith

Interval Timers

4 MHz Z-80A

Completely BufferedBus Interface

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 Cage 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.

Hi

Cromemco

^L^^^ Specialists in computers and peripherals

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

BYTE March 1979

Circle 80 on inquiry card.

The Personal Computer Lineby OHIO SCIENTIFIC

Ol rl «p04%!! A dramatic breakthrough in price and per-formance. Features OSI's ultra-fast BASIC-in-ROM, full graphicsdisplay capability, and large library of software on cassette anddisk, including entertainment programs, personal finance,small business, and home applications. It's a complete pro-grammable computer system ready to go. Just plug-in a videomonitor or TV through an RFconverter, andbeupand running.15K total memory including 8K BASIC and 4K RAM —

expandable to 8K.

vy I r IVII Z it>yyt>! First floppy disk based computer

for under $1000! Same great features as the C1P plus more

memory and instant program and data retrieval. Can be

expanded to 32K static RAM and a second mini-floppy. It also supports

a printer, modem, real time clock, and AC remote interface, as well as OS-65D

V3.0 development disk operating system.

t/fc"4Kl 3>OC7U! The professional portable that has over 3-times the displaycapability of 1 P's. Features 32 x 64 character display capability, graphics, fullcomputer type keyboard, audio cassette port, and 4 slot BUS (only two used inbase machine). It has 8K BASIC, 4K RAM, and canbe expanded to 32K RAM, dual mini-floppies anda printer.

C2-4P MF: $1599! Its a big personal

computing mini-floppy system at a special package

price. Contains the famous C2-4P microcomputer

with 20K static RAM, 5" mini-floppy unit for instant

program and data loading, RS-232 circuitry (for optional modem and printer),

and four diskettes featuring exciting games, personal, business and education

applications.

vZ'Or! «j)f y*7! The personal class computer that

can be expanded to a full business system. Has all the

features of the C2-4P plus an 8 slot BUS (3-times greater

expansion ability than the C2-4P). Can be expanded to48K

RAM, dual floppies, hard disk, printer and business software.

L/^"Oi UrI $«.099i A full business system avail-able at a personal computer price! The system includes thepowerful C2-8Pmicrocomputer(32K RAM expandable to48K), dual 8" floppy unit (stores 8-times as much informationas a mini-floppy), and 3 disks of personal, educational andsmall business applications software. Has all the capa-bilities of a personal system including graphics plusthe ability to perform Accounting, Information Manage-ment, and Word Processing tasks for small business.Contact your local Ohio Scientific dealer.

All prices, suggested retail

Circle 290 on inquiry card.

America's largest full-line microcomputer manufacturer

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

BYTE March 1979 9

OF KITCHENS AND COMPUTERS

As a data processing professionalof twelve years experience, I have cometo have great respect for the principle:"Don't make things more complicatedthan they are." In particular, this meansdon't put applications on a computerif they are more easily done some otherway, no matter how much you likecomputers. I refer in particular toRichard Shuford's "Proposal for aKitchen Inventory System, or Don'tByte the Wand that Feeds You" (Decem-ber 1978 BYTE, page 184).

An automated food inventory andordering system might be ideal for arestaurant. Feeding large numbers of peo-ple means ordering large amounts offood; the cost of running out of an item,or of overstocking perishables is relativelyhigh. The home kitchen, on the otherhand, deals with small quantities of avirtually unlimited number of items.Impulse buying is frequent, and willcause menus to change. The cost ofmistakes is fairly small. Automaticreordering is fraught with danger — justwhen you finally use up the last can ofCheddar cheese soup (bought in amoment of madness), shazam; four moreappear.

My own kitchen inventory systemworks just fine. It is made out of a pieceof paper from a legal pad, with thewords CHOPIN LISZT (sorry aboutthat) printed across the top, affixedto the door of my refrigerator with abar magnet. The input device is a num-ber two pencil.

There are thousands of applicationswhich lend themselves to automationvery well, and many where nothing elsewill do — but a computerized shoppinglist isn't one of them. For computersand computerists to gain the respect(and avoid the enmity) of the rest of theworld, we need to be simplifies, notcomplicators. So please, don't makethings any more complicated than theyare!

Bob Brown

Medical Association of Georgia

938 PeachtreeSt NE

Atlanta GA 30309

The kitchen inventory system maynot be every family's cup of tea. My ownbuying habits are regular enough thatthe system may help; perhaps yoursare not. Impulse purchases do notnecessarily disrupt the system. The usermay simply choose not to scan a productwhich is not to be restocked.

In a related communication, MrBrown advises us that a reprint of "TheCharacteristics and Decodability of theUniversal Product Code" which appearedin the IBM Systems Journal, volume 14,number I, is available as form G32I-5002 for $0.50 from IBM's GeneralSystems Division offices .... RSS

COMPUTER HUMOR

Perhaps your readers will enjoythe following bit of doggerel. Everyonce in a while my husband Pat comesup with a good one like the one below:

Count Dracula's micro, it seems,

Would trouble his diurnal dreams.

What he felt was, you see,

Inferiority,

For it got all its bytes without screams.

Leah O'Connor

6315 W Raven

Chicago IL 60646

CONCERNING CHESS AND PASCAL

As a Pascal fanatic who had waiteda long time to run across a readablechess program, I was thoroughly de-lighted to find that the excellent theo-retical article "Creating a Chess Player"by Peter Frey and Larry Atkin (October1978 BYTE, page 182) was to be fol-lowed by a complete Pascal listing thatput the principles into practice. Havingsaid that, may I be allowed to voicea few minor reservations?

First, although the authors are ingeneral admirably clear about separatingmachine dependent and machine inde-pendent code, I feel they should havemade clear that the contorted treatmentof bit boards results from a machinedependent implementation restriction:in CDC Pascal, sets may not have morethan 59 elements, so that a bit boardmust be represented as two sets of 32elements. Other implementations, suchas UCSD Pascal, do not have this re-striction, so that the bit board manipula-tions which form the backbone of theprogram may be represented much morenaturally. Thus, IORRS (INRS, INRS,IMRS) could become simply INRS :=INRS + IMRS.

Secondly, I find that the programdoes not exploit Pascal's self-document-ing potential as much as it might, be-cause the authors chose a cryptic namingconvention instead of using mnemonics.After ten hours of intensive study,

Continued on page 226

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. SanRafael: The Byte Shop, (415)457-9311.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.IL: Lombard: Midwest Microcomputer, (312)495-9889. IA: Davenport: Memory Bank,(319)386-3330. MA: Walpham: Computer Power.(61 7) 890-4440. MD: Silver Springs: ComputersEtc., (301) 588-3748. Towson: ComputersEtc., (301) 296-0520. MO: Florissant: ComputerCountry, (314) 921-4434. NH: Nashua:Computerland of Nashua, (603) 889-5238. NJ:Cherry Hill: Computer Emporium. (609)667-7555. Iselin: Computer Mart of New Jersey.(201) 283-0600. NY: Endwell: The ComputerTree, (607) 748-1223. Syracuse: Computer Shopof Syracuse, (315) 637-6208, White Plains:The Computer Corner, (914) 949-3282. NC:Raleigh: ROMs 'N' RAM's, (919) 781-0003.OH: Akron: The Basic Computer Shop,(216) 867-0808. OR: Beaverton: Byte ShopComputer Store, (503) 644-2686. Portland:Byte Shop Computer Store, (503) 223-3496.PA: King of Prussia: Computer Mart ofPennsylvania, (215) 265-2580. Rl: Warwick:Computer Power, Inc.. (401) 738-4477.TN: Kingsport: Microproducts & Systems, (615)245-8081. TX: Arlington: Computer Port,(817) 469-1502. Arlington: Micro Store, (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. Seattle: ByteShop of Seattle, (206) 622-7196. Wl: Madison:The Madison Computer Store. (608) 255-5552.Milwaukee: The Milwaukee Computer Store,(414) 445-4280. DC: Georgetown: GeorgetownComputer Emporium, (202) 337-6545.CANADA: London, Ontario:TheComputer CircuitLtd., (519) 672-9370. Toronto, Ontario:Computer Mart Ltd., (416)484-9708. Vancouver,B.C.: Basic Computer Group Ltd., (604)736-7474. ARGENTINA: Buenos Aires: BasisSistemas Digitales, 93-1988 or 57-7177.AUSTRALIA: Sydney: Automation Statham,(02) 709.4144. Sydney: A.J.F. Systems andComponents Pty. Ltd., 8076878. BELGIUM:Bruxelles: Computer Land. 02/511.34.45.COLUMBIA: Bogota: Video National, 326650.DENMARK: Copenhagen: Peter W. HolmTrading ApF 01-543466. MEXICO: MexicoCity:Industrias Digitales, (905) 524-5132.SPAIN: Barcelona: Interface S.A., (93)301 7851.SWEDEN: Stockholm: Wernor Elektronik, (0)871 7-62-88. UNITED KINGDOM: Huntingdon,England: Comart, Ltd., (0480) 74356. London:The Byte Shop Ltd., 015542177. VENEZUELA:Los Ruices, Caracas: Componentes Y CircuitosElectronicos TTLCA, 355591.

10

March 1979 SBY1E Publication* Inc

Circle 305 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 Sol® 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

d^w^

Photo 7: The H8 programmable memory board.

Photo 2: The H8 processor board in position in the chassis.

Building

Photo 3: Assembled H8 ready for testing.

Dr Paul R Poduska21G Hampshire DrNashua NH 03060

In response to growing public interestin microcomputing during the past severalyears, a number of microcomputer kits havebeen marketed.

The Heathkit H8 microcomputer repre-sents a departure from the S-100 bus designmainstream. It has the full instruction setcapabilities of other 8080A systems aswell as an innovative, user oriented frontpanel control subsystem and a 10 positionmother board; yet it does not use the typeof large power supply found in some largersystems.

It was the kind of design I was hopingfor. I was seriously considering the purchaseof a computer for some time, and prior tothe introduction of the H8, I almost didbuy one. But I had a hunch that the HeathCompany might resolve some of the designdrawbacks that discouraged me from buyingother 8 bit kits.

What follows are my experiences, thusfar, of building, testing, and running thiscomputer kit. By the time you've finishedreading this article you should have a goodfeel for what the H8 is, what it can do, andhow it compares with other kits on themarket. In addition, I'll give you a fewpointers and short programs that will enableyou to take advantage of some of the H8'smany features.

12 March 1979 ©BYTE Publications Inc

STATUSLAMPS

O IONO MONO RUNO PWR

/

!

-DATA/REGISTER-

M EATH K ITHS

RRFP

fro/7? porte/. /Wo/7y of the16 keys are multifunc-tional. The panel allowsquick entry of data andprograms into the com-puter. Drawn from a dia-gram courtesy of HeathCompany.

the Heath H8 Computer

Unpacking and Building

My first few evenings with the H8 kitwere leisurely spent getting acquaintedwith the materials and manuals. Openingthe 22 lb carton, the first thing that caughtmy eyes was a loose slip of paper with anotice on it. It warned me to review all ofthe manuals supplied with the kit beforeputting anything together, and that if Ifound it to be too complicated for myknowledge and skill level, I could return itto the Heath Company for a full refund. Iknow of no other computer kit manu-facturer who includes that kind of built-inconsumer protection from the outset.

The next items were the sets of manualsand an attractive 3 ring binder to storethem in. I had assembled Heath kits beforeand knew how thorough their documenta-tion has always been; and I had seen somemediocre documentation provided by othercompanies in the computer kit industry. Ifound 503 pages worth of assembly andoperating manuals which were far superiorto any that I had seen on the market.

In all fairness, I don't feel that thispoint can be overemphasized. Building amicrocomputer is not like building a stereoor piece of test equipment. The technologyand associated hardware of a computerare unique in many ways. You may haveassembled and tested electronic kits before,

but unless you've also assembled digitalequipment, you probably won't be an experton this type of hardware. If you ever need totroubleshoot your computer kit, much ofyour previous knowledge about conventionalanalog electronics won't be of use. There-fore, it is important that you know whatyou are assembling and how to do so cor-rectly. You don't have to be an electronicswizard to build and operate the H8. Yourchances of building a computer kit thatworks the first time you turn on the powerare nearly 100 percent with an H8, due inpart to the support services that the manu-facturer provides.

After the first few evenings of studyingthe manuals, I found a reasonably undis-turbed space and, with tools in hand, beganthe first stage of assembly.

The Chassis

Chassis assembly consists of installingthe power supply, frame, and several acces-sories, including a small cone speaker. Theframe is made out of heavy sheet metalon the top, bottom and back panel, andstructured foam on the sides. The bottomis covered with rows of small holes necessaryfor the H8's convection cooling system.The ample 10 A power supply is located

Continued on page 124

March 1979 © BYTE Publications Inc 13

A Map of the TMS-9900Instruction Space

Henry Melton2511 DovemeadowAustin TX 78744

Now that the TMS-9900 16 bit computeris being marketed to the computer experi-menter, some easy way to handle its 63,480individual op codes at a level of "handassembly" is going to be necessary. Thestandard method of programming the 16bit machine involves higher level languages,or at the very least, a good symbolic as-sembler. The op codes of an 8 bit machineare smaller in number and can be fairlyeasily memorized by a machine level pro-grammer confined to the limited resourcesof hand assembly. But nearly every in-struction on the TMS-9900 has to be con-structed, calculated from the instruction'sformat, depending on the selected optionsof the moment. That is the essence of themachine's power, but it makes buildingand analyzing programs at a machinelanguage level difficult. The charts in thisarticle should help simplify the matter.

Organizing One's Approach

to a Machine

with 2 Legal Instructions

The first of the op code maps (figure 1)is an expansion of the first byte of a 16 bitinstruction. The second map (figure 2) isa detail of the first rank of figure 1. Noticethat the most significant digits of the opcodes go down and the least significantdigits go across the charts. Each block con-tains the mnemonic of the instruction, theformat type of that instruction, and thenumber of variations (ie: the number ofdifferent instructions that the mnemonicrepresents).

For example, the instruction MOV, forMOVE WORD, has a source and a destina-tion word address, with one of four ad-dressing codes for each, referenced to oneof the 16 registers in the workspace for each.That gives 16 times 4 times 16 times 4, or4096 possible individual instructions. Let'stake a specific example. Suppose you comeacross a C835 instruction in a hexadecimalprogram dump. You look up that code onthe op code space map (figure 1 in thiscase). It lies in the block for instructionMOV, with an instruction format of I.Comparing C835 with format I in table 1,you find that:

Base op code = 1100.

Address mode of destination = 10.

Destination operand register = 0000.

Address mode of source = 11.

Source operand register = 0101.

Since the destination is indexed, the wordfollowing the C835 is an address, and thuspart of the instruction. The index register,however, is 0000 and the zero register isn'tallowed for index mode. Thus the followingaddress Is the destination address withoutaddress modification. If it had been one ofthe other registers, the following wordwould have been added to the register valueto form the indexed address. The addressingmode for the source is register 5, indirectand autoincremented. The source operand'saddress is in register 5. Once the operand isfetched, the address value in register 5 isincremented by 2 (since it was a word in-struction and the 9900 addresses specifybytes). Thus the end result of the instructionis that this source operand is moved to theimmediate address specified by the wordfollowing C835.

14

March 1979 © BYTE Publications Inc

"Our inventory is our existence*

Think we'd trust it to anything less

than Scotch Brand Diskettes?"

Don Stone, Vice-President,Mass. Auto Supply Company,Inc., Boston, Mass.

Scotch Diskettes are thediskettes you can depend uponwith the information yourbusiness depends upon.

Each one is tested andcertified error-free before itleaves our factory. Because weknow nothing less thanperfection is acceptable foryour vital business data.

Scotch Diskettes areavailable in regular or minisizes, compatible with almostany system.

To find out where you canfind Scotch Diskettes, calltoll free: 800-328-1300.(In Minnesota, call collect:612-736-9625.) Askfor the DataRecording Products Division.

If it's worth remembering,

it's worth Scotch

Data Recording Products.

3M

Circle 368 on inquiry card.

BYTE March 1979

15

Key

JLE

— Mnemonic

II

— Tape

256

— Number of

possibleop codes

Figure I: General map of all TMS-9900 instructions. This map covers operation codes fromOOXX to FFXX hexadecimal, with reference to the detail of table 2 for op codes from OOXXto OFXX. In interpreting a machine dump in hexadecimal, the first step is to look up a 2 byteoperation code in this table, or in figure 2.

oxx

1XX

2XX

3XX

4XX

5XX

6XX

7XX

8XX

9XX

AXX

BXX

CXX

DXX

EXX

FXX

0

See figure 2

1

JMP

II

256

JLT

II

256

JLE

II

256

JEQ

II

256

JHE

II

256

JGT

II

256

JNE

II

256

JNC

II

256

JOC

II256

JNO

II

256

JL

II

256

JH

II

256

JOP

II

256

SBO

II

256

SBZ

II

256

TB

II

256

2

COC

III

1024

CZC

III1024

XOR

III

1024

XOP

IX

1024

3

LDCR

IV

1024

STCR

IV

1024

MPY

IX

1024

DIV

IX

1024

4

SZCI

4096

5

SCZBI

4096

6

SI4096

7

SB

I

4096

8

CI4096

g

CB

I

4096

A

A

I

4096

B

AB

I

4096

C

MOV

I

4096

D

MOVB

I

4096

E

SOC

I4096

F

SOCB

I

4096

16

March 1979 Q BYTE Publications Inc

Concerto in A Flat Mini.

Victor Bprge demands the world's At Verbs

finest piano for his concert work. message

And when he performs at the brand di

computer keyboard, he naturally cassette;

expects the best. The quality mini play it b

recording media. That's why he byte, vei

specifies Verbatin1]. duality i

message is quality. Our Verbatimbrand diskettes, cartridges andcassettes capture your data andplay it back bit for bit, byte forbyte, verbatim.

Quality mini media is all we make.When you waul to be sure yourdata will play, specify Verbatim.

Verbatim Corporation

Mil*Ml l<n IMOini'MIIIN 11 IU1ISAI S ( OKI'

323 Soquel Way, Sunnyvale,

CA 94085

(408) 245-4400. TW.X: 910-339-9381

(1) 800-821-7700, Ext. 515. (InMissouri call: 800-892-7655,Ext. 515)

Information Terminals S.A.Case Postale 2461215 Geneve 15

Telephone: 41 (22) 34-90-55Telex: 22647 ITGE CI I

In the Far East:IT Far East Ltd.

3-14, l-ChomeIliroo, Shibuya-KuTokyo 150, JapanTel.* (03) 446-2917 T

lex: .147879

'^^v

^^\

^^\^^^

Circle 384 on inquiry card.

Figure 2: For operation codes OOXX to OFXX, the details of interpreting a hexadecimal dump can be further understood withthe aid of this map. Once the format is determined, refer to table I for details of formats V, VI, VII and VIII.

OX

1X

2X

3X

4X

5X

6X

7X

8X

9X

AX

BX

CX

DX

EX

FX

00

Illegal op codes

01

Illegal op codes

02

LI 'VIII16

Al

VIII

16

ANDI

VIM

16

ORIVIII16

CI

VIM

16

STWP

VIII

16

STST

VIII

16

LWPI

VIM

1

03

LIMI

VIII

1

IDLE

VII

1

RSET

VII

1

RTWP

VII

1

CKON

VII

1

CKOF

VII

1

LREX

VII

1

04

BLWP

VI

64

B

VI

64

XVI64

CLR

VI

64

05

NEG

VI

64

IIW

VI

64

INC

VI

64

INCT

VI

64

06

DEC

VI

64

DECT

VI

64

BLVI64

SWPB

VI

64

07

SETO

VI

64

ABS

VI

64

Illegal op codes

08

SRA

V

256

09

SRL

V

256

0A

SLA

V

256

OB

SRC

V

256

OC

Illegal op codes

OD

Illegal op codes

OE

Illegal op codes

OF

Illegal op codes

18 March 1979©BYTE Publication! Inc

Circle 255 on inquiry card. —•-

«3

1

jjjjjjjjjjjjjjjjjjjjjjjj_i 11 u.uj jj j j j j i mil 11 li J

^*

|||p1Mllil!lilliliillMlllMlMlJi|Mmi)B|HIliHiiIimii[r- a 3«»«7.11.1 j j 4, ^Th%^TTTT777\ f^^^^^s

Dp ' i

;", ?TT?

- - - ;-■ ■:>".- ■ ■ —.

II ^ ***"* **** !

M<> ■ CR.»t»'i ^ CTt iet-i

: : .r = = ,

pial^' ;" 'U''1 l;

[■

1 ;i J!" j

4: : :

1 ! -*ii

; ; .; \''\ \'~\ \t\ \\

v; ,'§ ;_ _j

yi^ -I

t

[ " '

^

--^a=

■f r

J S*' *£* Vji 'fin iffji I'f'W:]

"^r

; — ; ^; : ~: ': H; ■: • : f': ■'':■ ^ •: •■r:; 'i' 1

r

1

1 .-:1;Ei^i

H5^§

1 ^P

li :f: :": it: :■! 1

Vr

P»": " :!BPViiBWnBVHVVi

i:: :I: : 1: : I: :j 4

Mas

1^^^^*^ iffl

^^^Ktrw^^^wpi '"^^l"^^^^" jut** n!r~m/~~~m'm"mm™^Mr % ■

=^1

Pi»Ail ■ rf ' ^ "is~~/wrri'fT\ ~~^s~£s

^^^ '- ■*" —;

Ilium

Mill

W+2S+Strolie+Attention+R»M+EPR0M=$199

Introducing The Switch Board™ I/O Interface,the most complete interface available for S-100systems.. .designed by George Morrow exclusivelyforThinkerToys™.

The SwitchBoard™ interface provides 4 parallelports and 2 RS232/TTY serial ports. Plus, strobeand attention ports. Plus, on-board facilities for 4K ofoptional static RAM and 4K of user-supplied EPROM.

And every port is switch-programmable for totalflexibility in interfacing complex peripherals.. .suchas 12-bit daisywheel printers.

Each parallel port can be switched for input orlatched output. Both serial ports can be switched toany of 16 baud rates from 110 to 19,200. Each strobeand attention port flip-flop can be switched for posor neg pulsing.

And yet, The SwitchBoard™ Interface won'thang you up on price or delivery. In kit form, it's just$199. $259 assembled. 2114 4K static RAM option(4 MHz Z-80 compatible), $70.

Ask your local computer shop to place yourorder Immediately for priority shipping. Or, if un-available locally, order direct from ThinkerToys™,1201 10th St., Berkeley, CA 94710.

Or call for The SwitchBoard™ at (415) 524-2101weekdays, 10-5 Pacific Time.

*Sockets provided; chip set optional.

^% A product of Morrow's Microstuff for

Thinker Toys

Table I: Instruction for-mats of the TMS-9900.This table details the fieldsof the TMS-9900 instruc-tions and is used in de-coding a machine dumponce the instruction typehas been determined fromthe two maps of tables Iand 2.

Bit Number6 7 8 9

A B

Op code

B

Td

D

Ts

S

Op code

Displacement

Op code

D

Ts S

Op code

C

Ts

S

Op code

K

w

Op code

Ts

s

Op code

N

Op code

N

w

Op code

D

Ts

s

TypeI

II

III

IV

V

VI

VII

VIII

IX

B — Byte or word operation (1=byte)

D — Destination operand register

S — Source operand register

W — Workspace register

Td — Address mode of destination operand

Ts — Address mode of source operand

C, K — Bit or shift count

N — Unused bits of the instruction. Set to zero.

Address Modes

Td or Ts

00 Workspace register

01 Workspace register indirect

10 Indexed memory

11 Workspace register indirect, autoincrement

Hexadecimal modifiers for the Td (format I) and Ts (formats I, III, IV, VI and IX)fields. To generate an operation code reflecting the given addressing mode, add thehexadecimal values listed in this table:

Number

4096

256

1024

1024

256

64

1

1 or 16

1024

Addressing Mode

Workspace register

Workspace register indirect

Indexed memory (symbolic)

Workspace register indirectwith autoincrement

Td

000004000800

0C00

Ts

000000100020

0030

Shifted register or count values for D (formats I, III and IX), C (format IV) andK (format V) fields. In constructing operation codes for these formats, the modifiersfor the register or count values indicated are added to the base op code from table 4:

Register or Count

0

1

2

3

4

5

6

7

8

9

101112131415

D(C)

00000040008000C001000140018001 CO02000240028002C003000340038003C0

K

000000100020003000400050006000700080009000A000B000C000D000E000F0

20

March 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

Circle 285 on inquiry card.

March 1979©BYTE Publications Inc

21

Table 2: Going the other way; this list of thecomplete TMS-9900 instruction set showsthe format and semantics of each operationpossible with the machine. The base oper-ation code, in hexadecimal, is modified byarithmetic addition of appropriate codesfor details of the instruction as shown intable I. Thus for example, to generate thecode for comparing bytes between twoabsolute memory addresses this table givesa base op code of 9000 with format I. Forthe destination address field, a modifier of800 is added, and for the source addressfield a modifier of 020 is added, yielding anet instruction value of 9820 for comparingtwo bytes at arbitrary memory addresses.Information for this table is taken fromappendix E of the January 1976 reissue ofthe Tl Model 990 Computer and TMS-9900Microprocessor Assembly Language Pro-grammer's Guide, document manual number943441-9701, eliminating operations notapplicable to the TMS-9900*

TMS-9900 Alphabetic,

I Instruction List

Hexadecimal

Mnemonic

Format

Base Op Code Semantics

A

1

A000

Add words

AB

1

B000

Add bytes

ABS

VI

0740

Absolute value

Al

VIII

0220

Add immediate

ANDI

VIII

0240

AND immediate

B

VI

0440

Branch

BL

VI

0680

Branch and link

BLWP

VI

0400

Branch and load workspace pointer

C

1

8000

Compare words

CB

1

9000

Compare bytes

CI

VIII

0280

Compare immediate

CKOF

VII

03C0

Clock off

CKON

VII

03A0

Clock on

CLR

VI

04C0

Clear operand

COC

III

2000

Compare ones corresponding

CZC

III

2400

Compare zeros corresponding

DEC

VI

0600

Decrement by one

DECT

VI

0640

Decrement by two

DIV

IX

3C00

Divide

IDLE

VII

0340

Computer idle (ie: no operation)

INC

VI

0580

Increment by one

INCT

VI

05C0

Increment by two

INV

VI

0540

Invert

JEQ

1300

Jump if equal

JGT

1500

Jump if greater than

JH

1B00

Jump if high

JHE

1400

Jump if high or equal

JL

1A00

Jump if low

JLE

1200

Jump if low or equal

JLT

1100

Jump if less than

JMP

1000

Jump unconditional

JNC

1700

Jump if carry off

JNE

1600

Jump if not equal

JNO

1900

Jump if no overflow

JOC

1800

Jump if carry on

JOP

1C00

Jump if odd parity

LDCR

IV

3000

Load communication register

LI

VIM

0200

Load immediate

LIMI

VIM

0300

Load interrupt mask immediate

LREX

VII

03EO

Load or restart execution

LWPI

VIM

02 EO

Load workspace pointer immediate

MOV

1

COOO

Move word

MOVB

1

D000

Move byte

MPY

IX

3800

Multiply

NEG

VI

0500

Negate

ORI

VIM

0260

OR immediate

RSET

VII

0360

Computer reset

RTWP

VII

0380

Return with workspace pointer

S

1

6000

Subtract word

SB

1

7000

Subtract byte

SBO

II

1D00

Set CRU bit to one

SBZ

II

1E00

Set CRU bit to zero

SETO

VI

0700

Set word to ones (F F F F)

SLA

V

0A00

Shift left arithmetic

SOC

1

E000

Set ones corresponding, word (OR)

SOCB

1

F000

Set ones corresponding, byte (OR)

SRA

V

0800

Shift right arithmetic

SRC

V

0B00

Shift right circular

SRL

V

0900

Shift right logical

STCR

IV

3400

Store communication register

STST

VIM

02C0

Store status

STWP

VIII

02A0

Store workspace pointer

SWPB

VI

06C0

Swap bytes

SZC

1

4000

Set zeros corresponding, word (S AND D)

SZCB

1

5000

Set zeros corresponding, byte (S AND D)

TB

II

1F00

Test CRU bit

X

VI

0480

Execute word as an instruction

XOP

IX

2C00

Invoke extended operation

XOR

III

2800

Exclusive OR

22 March 1979 © BYTE Publications Inc

HOW TO STAY ON TOP

Controlling Your World

Staying on top means keeping things undercontrol. And. when it comes to staying ontop of your applications world, we've got away for you to do it at low cost.Whether your particular application is bus-iness, professional or scientific systems, youcan stay right on top of it with theDYNABYTE DB8/2 microcomputer.

Designed For Value. . .

When we designed the DB8/2, we knewthat it had to be a dependable performer inhandling large quantities of information.So, every design decision was made withquality and dependability in mind. TheDB8/2 is a first-class producer.

For example, it uses two quad density 5.25-inch disk drives with our exclusive DualDensity Disk Controller for up to 1.2 mega-bytes of formatted storage. That gives youmore capacity than two single-density 8-inch drives which means a lower cost perkilobyte. The DYNABYTE DB8/2 is thefirst microcomputer to offer enough stor-age capacity on 5.25-inch disk drives to fullyutilize CP/M,* the most widely accepteddisk operating system.

We also supply and support BASIC,FOR IRAN and COBOL programminglanguages. As for applications,packages in-clude general ledger, accounts receivable,accounts payable, word processing andmany other CP/ M compatible programs.

. . .For Dependability

WeVe also built in reliability with edgeconnectors that meet military specificationsand a regulated power supply built to U.L.standards. Your DB8/2 will be cool anddependable.

Before we ship it to you, we conduct factorytest and burn-in programs to assure relia-bility of the entire integrated system.

. . .For You

You'll stay on top through our customersupport too. The DB8/2 is completelymodular to allow speedy support in thefield; and our bonded inventory of all sub-system modules means we can deliver re-placement subassemblies overnight toalmost anywhere in the U.S..

There's More

The DB8/2 has a 4MHz Z-80 processingmodule with 10 internal timers, interruptcontrol, real time clock, one parallel and

two RS232 or current loop serial ports withsoftware selectable baud rates from 110baud to 76800 baud; 32K. of RAM, ex-pandable to 64K without paging and up toI76K with paging; a 12-slot, fully-socketedbackplane; preregulated 30 amp powersupply.

If you need more storage, our DB8/4Disk System is the mass storage companionto our DB8/1 microcomputer and includestwo 8-inch floppy disk drives in either singleor double-sided configuration for up to 2megabytes of mass storage. Like theDB8/2, the combination of the DB8/1and DB8/4 features our Dual DensityDisk Controller, CP/M, 32K. of RAMexpandable to I76K, 2 serial 1/0 Portsand I parallel 1/0 port.All three systems are designed to help youstay on top.

For more information, call Rick Mehrlichat (415) 965-1010, or see your local com-puter dealer.

*CP/ M is a trademark of Digital Research1005 Elwell Ct., Palo Alto, CA 94303 (415) 965-1010

Circle 110 on inquiry card.

BYTE March 1979

23

Why were all those

n

i

>^g

—_k-S*>. '

:'*:. UtIotV

scientists of the 530s so mad?

That's easy. Because all they ever got wasdefective or missing parts, inferior workmanship,and garbled instructions. Sound familiar?

CCS: Here to Deliver

We're California Computer Systems. We'lldeliver to you what old Doc ordered and neverreceived. Kits without missing parts. Defect-freeworkmanship backed by years of solid experience.Quality engineering throughout. And easy-to-decipher support documentation.

Electronics mavericks will appreciate us. Weintend to back the true computer hobbyist whowants to do his own S-100 system with everythingfrom a bare metal box to etch and wire-wrapboards suitable for designing original circuits.

For All S-100, TRS-80* & Apple* Users

We can offer memories, l/Os and video pro-ducts to S-100 users. And both TRS-80 and Appleenthusiasts are represented in our philosophy.

Remember our name—California ComputerSystems—and look for our decal on display ata nearby computer store. It's your sure sign ofcomplete satisfaction.

For additional information about CCS or anyof its fantastic products, just write:

MH California Computer Systems

M 309 Laurelwood Road, Unit 18

■■ Santa Clara, CA 95050

Circle 37 on inquiry card

So Nobody Goes Away Mad.

■TRS-80 is a registered trademark ol Radio Shack, a Tandy Co.(Apple is a registered trademark ol Apple Computers. Inc.

DeskTopWondeps

John E Bertsch

8677 Vickie Lynn Ln

Apt 9

Brighton Ml 48116

Race Car for the SR-52

Race Car is a game of skill written forthe Texas Instruments SR-52 programmablecalculator, in which the player maneuversa car around a race track drawn on graphpaper. The object of the game is to drive thecar from the start to the finish line in thebest possible time without leaving the track.The program calculates the coordinates ofthe car based on steering, throttle and brakeinformation entered by the driver. Playerscan choose to go left, straight or right(relative to the driver's seat), and to accel-erate, brake or cruise. Each time the playermakes a move, 1 second of time elapses.

Listing 1: The Race Car program, written for the SR-52.

Loc f Keys

000005011014017023028033038042047050056062066069071

rrsT)

(INV )

CO

CO

(*LBL)

(RCTT)

(JfCL-J

CO

(*LBL)

(*C

)

(*D.MS)

(*D.IV

IS)

(STO )

( +

)

( *

)

(STO

)

(*D'

)

( o

)

(*E'

)

(STO

)

C^~

)

C°_

)

(STO

)

(STO

)

(*A*

)

CO

)

( INV )

( INV )

COCO

CO

(STTD

( INV )

CROFT)

CO)CO

CO

co

CO

CIO

( o

)

(*D.MS~)

(•fix

;

C 3

)

(0

)

C o

)

( 4

)

C o

)

(*fix

)

CO

)

C 6

)

(STO

)

(STEP-)

C 9

)

( o

)

C 5

)

COCOCO

CO

COCO

COCO)

For each move, the program calculates theX and Y coordinates of the car's new posi-tion and the elapsed time. The playersimply plots the car's position and makesthe new move based on the present position.Using different colored pens, two or moreplayers can race on the same track andcompete for the best finishing time.

The program moves the coordinates ofthe car during the 1 second time intervalbased on a velocity vector constructed bythe player's decisions. Left and right steeringincrements are fixed at +15° and -15°,respectively. For example, if you go left,the velocity vector is rotated +15° from itspresent direction. The acceleration anddeceleration constants are +1 division persecond^ and -1 division per second^. If youwish to accelerate, the magnitude of thevelocity vector is increased by one and thedistance traveled during that move will beone division farther than the previous move.If you decide to cruise, the magnitude of thevelocity vector remains constant and thedistance traveled during that move will bethe same as the previous move.

Text continued on page 30

Commentary

v r I^UIIIIMBII idi y ^

( 1 •) Store XX.YY.

QfJx~J) ( 0 ~) Mask off YY and store XX.

COCEO

CO

CD

Get XX.YY, mask off XXand store YY.

Store the starting angle.

Initialize X position.

Initialize Y position.Initialize velocity angle.Set velocity magnitudeand elapsed time = 0.

Increment velocity angle

26 March 1979 © BYTE Publications Inc

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

THE INVISIBLE MAN

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.

irmmmrni

711717111711 I

5

California Computer Systems

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

So Nobody Goes Away Mad.

Circle 37 on inquiry card.

Listing 1, continued:Loc r

Keys

075

078

082

C*LBL)

087

090

094

(*LBL)

096

( 1 )

102

(*LBL)

104

( 1 1

109

(*LBL )

115

(RCL )

12V

125

(SUM )

131

134

(*LBL)

139

144

(RCL )

147

149

( + )

154

159

164

169

172

(*LBL)

178

181

(*LBL )

186

190

(*fix )

193

198

203

204

c - )

210

214

(•LBL )

219

( + }

March 1979 ©BYTE Publications Inc

(SUM

)

c_p_

)

co

)

(SUM )

( o )

05~

)

(SUM

)

Cb

)

(INV

)

Cc

)

( u

)

(RCL

)

CO

)

(SUM )

(*A'

)

(S~BTT~)

( o

)

(SBR

( •

)

(RCL ■)

C o

)

( *

)

(*fix

")

(*B'

)

(INV

)

C*1'

■)

(INV

)

C o

)

(INV

)

c+/-

)

( =

)

( •

)

(RCL

)

(*2'

)

( 1

)

( o

)

( INV ")

C 1

)

( o

)

(INV

)

C "

)

(_SUM )

C 1

)

oo

( o

)

( I

)

( o

)

(RCL

)

(•V

■)

( 8

))

C°

)

( 1 )

C_

)

(RCL

)

C 5

)

(RCL

)

(Mix

(giro

))

(*D.MS)

(*D.MS)

(Mix

)

C 5

)

(RCL

))

c =

)

C_

)

(Mix

)

C 5

)

( 8

)

Mix

)

CJ_

)

(0

)

(SUM ~)

(STO

)

C 8

)

(RCL

)

ce

)

( o

)

(STO

)

CO

CO

CO

CO)

QTrn

COCO

CO

INV

CST03

CRCQ

CO

COCO

co

(INST)

CED

CGTD3

CO

CO

CO

CO)

C*P/R )

CO

COD

L

0

)

C

u

)

(

0

)

CO CO

CO

c

J c

CLJ CO

CO CO

(9 )

CO

Mj.MS

CO CO

COD CO

co

CLODCO

Commentary

by 15 degrees for left turn.

Decrement velocity angleby 15 degrees for right turn.

Increment velocity magnitudeby 1 for acceleration.Decrement velocity magnitudeby 1 for brake.Increment elapsed time.Convert velocity vectorto rectangular coordinates.Readjust X and Y coordinates.

Convert Y coordinate to

integer value.

Convert X coordinate to

integer value.

Combine X and Y coordinate

and elapse time and

display result.

Display magnitude ofvelocity vector.Subroutine to convertreal number to integer form.Mask off fractional partof real number to convertto integer.

If fractional part ofreal number is greater than0.5, then add 1 to integervalue.

^

ALTOS presents a new standardin quality and reliability

AT JK

4W

Alios CMOTIH WW I

CO.O

WERE ALTOS COMPUTER SYSTEMS. Our SUN-SERIES ACS8000 business/scientificcomputer creates a new standard in quality and reliability in high technology computers.

HIGH TECHNOLOGY The ACS8000 is a single board,Z80®* disk-based computer. It utilizes the ultra-reliableShugart family of 8 inch, IBM compatible, disk drives. Achoice of drives is available: single or double density, single ordouble sided. Select the disk capacity you need, when youneed it: V4M, 1M, 2M, or 4M bytes. The ACS8000 featuresthe ultimate in high technology hardware: a fast 4 MHz Z80CPU, 64 kilobytes of 16K dynamic RAM, 1 kilobyte of 2708EPROM, an AMD 9511 floating point processor, a WesternDigital floppy disk controller, a Z80 direct memory access,Z80 Parallel and Serial I/O (two serial RS232 ports, 1 parallelport), and a Z80 CTC Programmable Counter/Timer (real timeclock). In essence, the best in integrated circuit technology.

COMPUTER SYSTEMS

BUILT-IN RELIABILITY The ACS8000 is a true singleboard computer. This makes it inherently reliable and main-tainable. The board and the two Shugart drives are easily ac-cessible and can be removed in less than five minutes. All elec-tronics are socketed for quick replacement. Altos providescomplete diagnostic utility software for drives and memory.

QUALITY SOFTWARE Unlimited versatility. The ACS8000 supports the widely accepted CP/M®** disk operatingsystem and FOUR high level languages: BASIC, COBOL,PASCAL and FORTRAN IV. All available NOW.

PRICE ACS 8000-1, single density, single-sided ['A Mb] $3,840

ACS 8000-2, double density, single-sided [1 Mb] $4,500

ACS 8000-3, single density, double-sided [1 Mb] $4,800

ACS 8000-4, double density, double-sided [2 Mb $5,300

Brackets show disk capacity per standard two drive system. All

models come standard with 32 Kb RAM and two 8" disk drives as

shown above. Expansion to 64 Kb is $363 per 16 Kb. FPP, DMA,

software optional. Dealer/OEM discounts available. Delivery: 30

days ARO, all models.

*Z80 is a trademark of Zilog, Inc.

••CP/M is a trademark of Digital Research. Inc. Circle 6 on inquiry card.

2338A WALSH AVENUE • SANTA CLARA • CA 95050 • (408) 244-5766

Text continued from page 26

Figure 1: A typical route for one player in the game of Race Car, written forthe Texas Instruments SR-52 programmable calculator. Players must staywithin the bounds of the track (which is arbitrarily drawn on graph paper) orrisk disqualification. Increments of change to acceleration and steering aredeliberately restricted in order to make the game more challenging, butplayers have free choices within these limitations.

Remember that you are steering the racecar as if you were sitting in the driver's seat,so don't confuse your left and rightdirections. The degree of difficulty can alsobe set in the layout of the race track. Hair-pin turns and straightaways will test yourskill and make the game exciting. I've hadhours of fun racing with my friends andfamily; I hope you will, too."

User Accessible Labels:

A = LeftB = RightC = CruiseD = AccelE = Brake

A = X.YTB = VelC,= X.Y StartD = 6 StartE = Init

Register Utilization:

00 = P/R conversion

01 = Work area

02 = Work area

03 = Initial X coordinate

04 = Initial Y coordinate

05 = Initial veclocity angle

06 = X coordinate

07 - Y coordinate

08 = Angle of velocity vector

09 = Magnitude of velocity vector

10 = Elapsed time

11 = Work area

12 = Work area

Race Car Operating Instructions

1. Draw the race track on a suitable piece ofgraph paper, preferably ten divisions to theinch. Figure 1 shows an example of a typicalrace track. The race track must be locatedin the area bound by the lines X=0, X=100,Y=0 and Y=100. It is a good idea to leavespace between the edge of the race trackand the boundaries, since the car mightleave the track. Select the combinationstart and finish line on the track and theinitial direction of the car.

2. Enter sides A and B of the program.

3. Set the D/R switch to D.

4. Enter the starting coordinates of the car inthe form XX.YY, where XX is the initial Xcoordinate and YY is the initial Y coordi-nate. Both numbers must be positive inte-gers between 0 and 100. Press *C .

5. Enter the initial direction of the car. This isa positive angle in degrees measured fromthe positive X axis to the initial direction ofthe car. This angle should equal n x 15°,where n « 0,1,2,3 23. Press *d'.

6. Press *E to initialize the game. The initialX and Y coordinates will be displayed inthe form XX.YY000.

7. Select the direction in which you will steerthe car.

Press A to steer left. Zero will be displayed.Press B to steer right. Zero will be displayed.

If you want to go straight, skip this step andproceed to step 8.

8. Select the throttle and brake conditions.

Press C to cruise.Press D to accelerate.Press E to brake.

The position of the car and the elapsed timewill be displayed in the form XX.YYTTT,where:

XX = X coordinate of the car.YY = Y coordinate of the car.TTT = Elapsed time in seconds.

9. Repeat steps 7 and 8 for each move. If thecar should leave the track, the player isdisqualified. Once the car passes the finishline, the winning time is read from thedisplay.

10.To display the magnitude of the velocityvector, press *B . To return the display backto XX.YYTTT, press *a'.

11 .To play a new game on the same race track,press *E .

30 March 1979 © BYTE Publications Inc

North Star SystemsGo To Work

More and more, you see the North StarHORIZON computer at work: in busi-ness, research, and education. Its highperformance qualifies the HORIZONfor demanding professional applica-tions. Over 10,000 users during thepast two years have proven that NorthStar hardware has the reliabilityfor day-in, day-out computing. TheHORIZON is now a serious candidatefor any small system installation.

SOFTWARE IS THE KEYTO HORIZON MATURITY

North Star BASIC and DOS have beenused to develop hundreds of com-mercial program packages. Thesepackages establish that North Starsoftware has the completeness andconvenience necessary for seriousprogram development. Because of themany independent vendors offeringsoftware using North Star BASIC andDOS, the HORIZON owner now hasthe widest selection of software in themicrocomputer industry! Softwareavailable includes: word processing,general ledger, accounts payable/receivable, mailing list processing,inventory and income tax prepar-ation. Program development systemssuch as assemblers, debuggers,editors, PILOT and FORTRAN arealso available.

EXPAND YOUR HORIZON

The basic HORIZON computer in-cludes a Z80 microprocessor, 16Kbytes of RAM memory, an I/O interfaceand one Shugart minifloppy disk drive.The HORIZON can be expanded to 60Kbytes or more of RAM, three diskdrives, and three I/O inter-faces. Performancecan be enhanced bythe addition of theNorth Star hardwarefloating point board.Also, S-100 bus pro-ducts from othermanufacturers maybe used to expandthe HORIZON.

For more informa-tion, contact yourlocal computer store.

North * Star

Computers

2547 Ninth StreetBerkeley, California 94710(415)549-0858Circle 285 on inquiry card, byte March 1979 31

Files on Parade

Mark Klein

Sanborn Regional School District

Kingston NH 03848

Part 2: Using Files

Excerpts from "The Nam-ing of Cats" in OLDPOSSUM'S BOOK OFPRACTICAL CATS by T SEliot are reprinted by per-mission of Harcourt BraceJovanovich Inc. copyright1939 by T S Eliot; copy-right 1967 by Esme ValerieEliot.

File Management

In part 1 we discussed the concept of thefile. In part 2 we conclude with some practi-cal techniques for using files.

Getting a list of the files on your systemis a task you probably perform often. Table6 is a sample directory (which also appearedin part 1 as table 4a). Notice the commandstring used to produce the table just abovethe directory itself. In table 6 the first aster-isk is the prompt, the computer's signal toenter a command. The letter Q is the Querycommand, used to produce file directories.The next asterisk is a wild card name insteadof the file name: it means "give me (a list of)all the files on this device." Finally there isa software switch, /1, specifying floppydisk drive number 1.

Depending on the operating system, wildcard characters can also be used. The PerScicontroller, for example, allows a commandstring like:

QFIL???.MPK/1

which means:

List [Q] all files on drive number 1whose extension (version) is MPK, andwhose file name begins with the lettersFIL, regardless of what the next fewletters are.

This article was produced on a text editorand for convenience the different parts weregiven different file names: FILFIG.MPKheld the list of figures; FILCAP.MPK heldthe figure captions; FILAR1, FILAR2, etc,held text proper. The extension .MPK

Table 6: Floppy disk directory generated by microcomputer. This table isrepeated from part 7 of this article.

k*Q*/1

FILES 08-09 09 771219

TEXTPROCTDL 01-01

0023

0022

064

771219

771219

BIGRUMP.TDL 01-24

0074

0073

033

771219

771219

BASIC.TDL 04-20

0065

0064

001

771219

771219

EDIT.TDL 07-07

0023

0022

001

771219

771219

IODRIVER.EEN 08-04

0005

0004

051

771219

771219

identified the files as belonging to me. Thusthe command string above would producea directory listing of all files holding parts ofthis article.

Using Defaults

If parts of a command string are omittedthe operating system automatically inserts aproper type of specification chosen from apreprogrammed list. This preprogrammedlist is called the system default specificationor just defaults. If the /I is left off themicrocomputer command string in table 6,that system would automatically search forthe files on floppy disk drive 0, whichhappened to be the default device when thedirectory was made.

Defaults are used as a convenience notjust in specifying file devices but also in filenames. Large and small timesharing systemsusually assign to each user some identifyingcode number, referred to by terms like ac-count number, user ID, or programmer num-ber. This number is incorporated into thefile name, to associate a particular file witha particular user. A common system defaultlets a user omit this part of the file specifica-tion when the user is referencing his or herown files.

Another useful and common kind of de-fault provides extensions to the file nameaccording to the program that produced thefile. For example, data files created in Multi-user BASIC have a default extension begin-ning with .D. Other data files might havean extension .DAT; FORTRAN filescould have default extensions .FOR; inputfiles for a macroassembler could be expectedto have the extension .MAC; and thatassembler might produce binary object fileswith a default extension of .OBJ.

File Names

T S Eliot understood the complexities ofa similar subject when he wrote, in Old Pos-sum s Book of Practical Cats, that:

"The Naming of Cats is a difficultmatter.

It isn't just one of your holidaygames;

32

March 1979 O BYTE Publications Inc

(a)

(b)

Position

Significance

F1

LE

NAM

E

1

determines access for all users insame group

2

determines access for all otherusers

3 thru 6

no special significance

•

•

separates name and extension

E

X

T

E

N

S

1

0

N

7

B^ BASIC program; D ■*data file

8

group identifier

9

positions 8 and 9 together formthe user's ID

Character

Meaning

6

read, run and update

(only useful for virtual arrays)

7

read and run

8

run only

9

run only, but allows program to perform anyprivileged file operation

any othercharacter

— for group library file, your group,or a public library file: read and run

— any other file: no access

Table 7: A multiuser file protection system. Table la summarizes the signifi-cance of position in the file name. If position 9 is blank, it is assumed to bea group library file. If positions 8 and 9 are blank, a public library file isassumed. Table 7b shows the characters in file names that affect file accesswhen they are used in positions 7 and 2. The number 8 causes the user'sstorage area to be erased when the program terminates.

You may think at first I 'm as mad as a

hatterWhen I tell you, a cat must haveTHREE DIFFERENT NAMES."

As it is with cats, so it is with files. First,it's good to give a file a family (or group)name. The extension is one place for this,and some of the default extensions makegood group names. Properly chosen exten-sions or family names will allow the use ofwild card file names and thus greatly acce-lerates getting directories of groups of files.

Old Possum can help with the other twonames. "First of all," he says, "there's thename that the family use daily." Theseshould be "sensible, everyday names" suchas Spacewar, Mastermind, Payroll, Heatplanor Help. They can be plain or fancy, butthey must be descriptive. Often these every-day names actually refer to a system of pro-grams, perhaps linked together. The usermay not even be aware of this linkage andmight refer to this system of programs by itseveryday name. "Run the Help program"one user might advise another, without con-sidering or needing to consider that this isreally a collection of programs, subprogramsand data files.

Finally, a file:

". . . needs a name that's particular,A name that's peculiar, and more dig-nified. . . ."

If each file on a device does not have aunique name there will be serious problems.Further, computer operating systems putstringent restrictions on file names, restric-tions necessary if the operating system is toefficiently handle requests dealing with files.A common restriction is the one on thenumber of characters in a file name. In

TDL's 8 K BASIC, names must be one char-acter. DEC's RT-11 permits six characters,the PerSci controller allows eight, and thelatter two provide for additional extensions.Thus keeping the name particular and pecul-iar requires some thought.

File Protection Systems

Another consideration in choosing a par-ticular and peculiar file name is how it fitsinto the local file security system. As soon asmore than one person begins using a com-puter system there should be some way ofcontrolling access to files. A simple way is tohave users keep their files on their own cas-settes or disks. But when user A creates asplendid new program and user B borrowsA's cassette to copy the program, problemsbegin.

It is painful to remember how manytimes I thought the file I wanted to erasewas on drive 0, and the good version wason drive 1.

Physically controlling your media givesgood file security, but we often loan out ourtapes and disks. Write protecting the mediaor device helDS also, but is often impossible,inconvenient or overlooked. Carefully chos-en file names are a further protection.There are several degrees of file access whichcan be controlled in part on many systemsby the file name. These degrees of accessmight be:

RUN: allows executing the file.

READ: allows copying or listing the

file.

UPDATE: allows modifications to the

file.

Table 7 partially describes the way to

Note: "Using Files" con-cludes the 2 part series,"Files on Parade." Thetable and listing numberingis continued from part 1.

March 1979 O BYTE Publications Inc

33

Table 8: Representativefile transfer commandsfrom several processors.

Command

ControllingProgram

Computer

What Is Being Done

OLD BAGELS

BASIC (most versions)

Micro,PDP-11, etc

The program Bagels iscopied from secondarymemory (disk) to primarymemory.

SAVE B

TDL8K BASIC

Micro

A program called B istransferred to cassettetape.

L BASIC.TDL/1

PerSci Disk OperatingSystem

Micro

The TDL BASIC interpreteris loaded from floppy diskdrive 1 into memory.

SY:9BAGEL.B=CTO:BAGELS.MPK

RT-11

Peripheral Interface

Program

PDP-11

A version of Bagels oncassette drive 0 is copiedonto the system disk, whereit is given the name9Bagel, and the extension.B.

choose names in Multiuser BASIC to controluser access. When working with several filesat once, on different devices or media, it isgood practice to use procedures similar tothose in table 7, and to make sure your filenames are uniquely chosen. Mastermindmight now have to be called 7MASTR.BAS,but it will still be there tomorrow afterothers finish using it today.

So choose your file names well. Manytimes I have seen a programmer who hascreated a file and is about to name it. He sitsin front of his terminal:

"... in profound meditation,The reason, I tell you, is always thesame:

His mind is engaged in a rapt contem-plation

Of the thought, of the thought, of

the thought of his name:

His ineffable effable

Effan ineffableDeep and inscrutable singular Name."

[All quotations from "The Naming of Cats,"Old Possum's Book of Practical Cats, by TSEliot, Harcourt, Brace, New York, 1939.]

^\^ ComputerOperation ^\^^

Microcomputer(PerSci DOS)

Minicomputer(DEC RT-11, PIP)

FILEDELETION

DIRECTORY

SQUISH

RENAME

D BAGELS.MPK/1(delete BAGELS.MPKfrom floppy drive #1)

G /1

("Gap" drive 1)

N9BAGEL.B BAGELS.B

CT1: *.MPK/D(delete all files with ex-tension .MPK from cassettedrive #1)

SY:/S

( Squish the system disk)

BAGELS.B=9BAGEL.B/R(rename 9BAGELS)

Table 9: Comparison of some microcomputer and minicomputer file house-keeping functions. DEC uses the term squish rather than pack.

Manipulating Files

There are many file operations besidesthe assembling of directories that are per-formed at the command level. Most ofthese operations fit into the general frame-work of moving a file from one place (de-vice, library, etc) to another. The transfercan be represented symbolically as:

DESTINATION: FILENAME.EXTENSION ^SOURCE: FILENAME.EXTENSION.

Copying a file from one floppy disk toanother, listing a file on a terminal, andmoving a file from cassette to primarymemory are examples of file transfer.The specific commands vary greatly fromsystem to system, and, even within a system,from one language or utility tool to another.Table 8 illustrates a small selection of thesecommands.

Deleting a file is also a kind of file trans-fer; the file is moved to "nowhere." On adirectory device, the directory reference tothe deleted file is usually removed; the fileitself is probably still on the medium andcan often be recovered if its absolute loca-tion is known.

Another file transfer operation, the mediapack, eliminates gaps on disks and tape dueto deleted files, and packs together the re-maining files to make room for more. A diskcan usually be packed without the use of asecond disk drive, but cassettes often requirerepacking on another medium.

Finally, renaming a file can be thought ofas a file transfer within the symbolic formatabove. The destination and source do notchange, but the file name and extension do.Table 9 compares typical minicomputer andmicrocomputer pack, delete and renameoperations.

34

March 1979 O BYTE Publications Inc

Circle 5 on inquiry card. _*».

Now You CanMake Your Own

Unleash the Full Powerof YourPersonal ComputerWith theJl-NewAla*PersonalPrograms™

" ■

■

Aladdin Automation now offersyou the magic of a full range ofPersonal Program™ seriesespecially designed to supportthe most popular personalcomputers available today.

t ■

.

use in the home or office.

All Aladdin PersonalPrograms™are moderately priced.

Visit your personal computerdealer today to see andexperience the magic waiting for

Some Personal Programs™ will you in every one of the Aladdin

take you to faraway places of Personal Programs™. (And if

exciting, action-packed your dealer hasn't ordered f

adventures. Others will bring supply yet, then ask him tot

fun-filled learning experiences Aladdin Automation for comp

home to you and your child. Still information on all the Personal

others are designed for your own Programs™ available t"

Welcome To The All-NewWorld Of Aladdin. And Get ReaTo Make Your Own Magic

W

f

x— *y

.

f^^^^/MDDIN AJTOM/1TION, INC.

..

\)- x/aladd\n COMPUTER corr

V 3420 Konyon St San Diego, Ca. 92110

Multiuser

BASIC

Function

Implementation

assign a status;

10

OPEN "9VISR0.

assign a mode;

B53" FOR OUT-

assign a channel

PUT AS FILE

#2

write on a file

20

PRINT #2: L$

read information

30

INPUT #2: A,

from a file

B1,T3

test for end of

40

IF END #2

file

THEN 100

move data pointer

50

RESTORE #2

within the file

make the file per-

manent; deassign

60

CLOSE #2

the channel;

change the file

status

Table 10: Types of program file controlstatements. The line numbers used in the ex-amples are to emphasize that these are state-ments within a program.

File Control

In addition to the file manipulations pre-viously described, there are several kinds offile control statements designed to be part ofan application program. Instead of a filehandling operation happening in response toa command from the keyboard, using per-haps the monitor system or operating sys-tem commands, this second kind of file con-trol happens in response to a program state-ment. Again, the specific format varies fromlanguage to language; unfortunately it alsoseems to vary within a language like BASICfrom manufacturer to manufacturer. How-ever the functions performed in response tothese statements are fairly standard. Table 10is a summary of these functions, with ex-amples from BASIC.

Assigning a unique channel, or data path,to each active file is one way for the operat-ing system to allow simultaneous (or at leastparallel) access to several files. Obviouslythis is necessary in a timesharing system, butit is also convenient for a single user readingtext from one file, editing it, and then writ-ing it into an output file. In the first exam-ple in table 10, the file 9VISR0 is assignedto channel number 2. (The maximum num-ber of channels will depend on the systemconfiguration.)

The file status can be open or closed.Here again the requirements vary from sys-tem to system, and within systems accordingto file access types. The PerSci disk operat-ing system, for example, allows stream ac-cess regardless of file status. But stream ac-cess usually happens at command level. Rel-

ative access, used for data base applications,requires a file status of open to store or re-trieve file data.

The file mode requirements (input or out-put) depend on access type too. For thisfunction, though, the distinction is clearer.Once random access files are open, the modedoes not usually need to be specified be-cause individual bytes can be changed with-out touching other parts of the file. How-ever sequential files must be updated as aunit, and therefore a sequential file mustgenerally be set into either input or output(read or write) mode. Remember that inputand output refer to the direction of informa-tion flow relative to the processor, and notto the storage medium: information comesinto the processor from the disk; infor-mation goes out of the processor to thedisk.

Testing for the end of a file and movinga data pointer within a file are operationscharacteristic of sequential access files. Arandom access file has a fixed length, so pre-sumably one knows where the end of it is.Similarly, since individual bytes of a randomaccess file are directly addressable, it is un-necessary to move a data pointer. In practicethese functions are performed by programlogic statements.

Some kinds of files are more rugged thanothers; they stand up better to programmeror user abuse. Aborting an informationtransfer to a sequential file in the midst ofthe transfer can cause the loss of the wholefile, for example. The close command, forboth access types, puts a lock on the filedoor and frees up a data channel, too. OtherBASIC program statements (such as CHAIN,END) will often do the same thing. Goodprogramming practice is to do it explicitly,with statements such as CLOSE.

Explicit file initialization is also goodpractice. Random access files, occupying aspecific part of a disk, could contain infor-mation left on the disk by a previous pro-gram. (Recall that file deletion usuallymeans that the directory entry, not the fileitself, is deleted.) At the other end of theline, it is wise to erase a file containing sensi-tive information when its usefulness is over.These operations can all be done with filecontrol statements in programs.

Programming Techniques Using Files

Whole articles, even whole books, arewritten to discuss file programming tech-niques. This final section is not meant to bethat comprehensive. Rather, it is a quick dipinto the programmer's bag of tricks—a lookat some of the methods used to deal withthe limitations of smaller systems. The em-

36

March 1979©BYTE Publication! Inc

A BeautifulWay To Interface

140

SOROC's firstand foremostconcern, todesign outstandingremote video displays, hasresulted 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 contrbl /

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.

13©

I The SOROC

\ IQ 120 is the result

of 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 342 on inquiry card.

165 FREEDOM AVE., ANAHEIM, CALIF. 92801

(7141992-8860 / 1800] B54-Q147

:i.oo

PRINT '

110

PRINT ■

120

PRINT '

130

PRINT ■

1A0

PRINT "

1.70

PRINT "

200

PRINT -

210

PRINT "

220

PRINT "

230

PRINT ■

240

PRINT ■

250

PRINT "

260

PRINT ■

270

PRINT "

280

PRINT '

290

PRINT "

300

F*="9VI

TYPE THE LETTER CORRESPONDING TO YOUR CLASS! ■

A PRACTICAL BIOLOGYf PER. A"

B--PRACTICAL BIOLOGYi PER. B"

C—BISCI'

E—PRACTICAL BIOLOGY, PER. E"

CLASS", \ INPUT S*

TYPE THE NUMBER OF THE OPTION YOU NEEDS"1-ENTER SCORES EOR WHOLE CLASS"2-ENTER SCORES FOR SOME STUDENTS'

3-LIST STUDENTS WHO HAVE COMPLETED A GIVEN ITEM"4-LIST STUDENTS WHO HAVEN'T COMPLETED A GIVEN ITEM-S-DISPLAY SCORES PROFILE FOR AN INDIVIDUAL STUDENT"6-DISPLAY PROFILE FOR A SELECTED GROUP OF" STUDENTS"7-DISPLAY CUMULATIVE TOTALS FOR ALL STUDENTS"8-LIST OR MODIFY STUDENT NAMES OR ITEM HEADERS"9-CREATE BACKUP FILES"

SRO.BB'+S* \ CHAIN F*

Listing 2: BASIC code for an option choice menu. When the option is chosen,the required code is chained into main memory by line 300.

phasis is on techniques available in ver-sions of BASIC that support named fileswhich can be called from secondary mem-ory devices such as cassettes or floppy disks.

Shortening Program Size

For student programmers at Sanborn Re-gional High School, where I teach, andespecially for students with grandiose plansand unprivileged user numbers, the mostfrustrating error message is PTB, whichmeans the program is too big. There arethree file related approaches to this problemthat we urge on the students—approachesthat fit into our push for modular programdesign.

First, for programs that have a linear logi-cal flow, we encourage breaking the programinto small segments that can be connectedby CHAIN statements. A CHAIN statementsuch as

110 CHAIN "WUMPS2.BAS"

erases the program currently in main mem-ory (perhaps called WUMPUS.BAS), and re-places it with the program file WUIV1PS2.BAS. Variables whose values are needed inthe second, or chained-to, segment, can bedeclared in a COMMON statement in thefirst segment. A typical usage of the CHAINstatement is to segment some long game.The first segment might request informationfrom the user: "Do you want instructions?"If yes, instructions are given; if no, there is abranch directly to the end of segment 1.In either case, the logical flow reaches theend of the first segment, where there is aCHAIN statement to a program file that con-tains the code for the main body of thegame.

A second method works well for applica-tion programs that give the user a choice ofoptions. This method puts the menu ofchoices in one program file and each of thevarious options, or "meals," in separate pro-gram files. Listing 2 shows the code for atypical option menu. The menu file and themeals files could be connected by CHAINstatements or by OVERLAY statements.

The OVERLAY statement calls a namedprogram file from secondary memory and"lays it on top of" the program currently inmemory. Suppose the original program has aline 100. After the OVERLAY statement inthe original program is executed, line 100 inmemory will be the one from the overlayfile. A line with a number either in the origi-nal program or in the overlay file, but not inboth, will always be in memory after theoverlay.

For the multiple branch logical flow char-acteristic of the menu and meal method, thedecision to use CHAIN or OVERLAY toconnect the program files usually dependson how much logic and code can be sharedby the various meals. If several of the op-tions utilize the same set of subroutines, orif the options access the same set of datafiles, it makes sense to use overlay files.Then, in lines that will not be overlaid, theoriginal program can hold the shared sub-routines or statements opening and closingthe shared data files. If the meals are quitedisjoint, and there is little need to pass infor-mation back and forth, chaining the seg-ments will increase the modularity of thecode.

In either case the goals are to keep themodules small and the interface betweenthem independent of the module used.Smaller segments fit into more machines andare easier to understand. The interface shouldallow adding options or replacing an optionwith an improved version without having tomodify all of the other options. This plug-in quality facilitates writing code that iseasy to change and easy to use.

Data Files

The third technique for using files toachieve modular program design is to sepa-rate the data from the program operating onit. An example is the payroll program men-tioned in part 1. Another application is tothe tutorial, drill and practice, and testingprograms used in computer assisted instruc-tion. A common type of program in thisgroup is one that gives a multiple choicequiz. Variety can be added by putting a largebank of questions and accompanying choicesin a data file. The main program can thenpick five or ten numbers randomly and call

38

March 1979 © BYTE Publications Inc

Circle 357 on inquiry card.

BYTE March 1979 39

120 REM *** OPEN DATA FILE

130 OPEN 'GRIPE.D22" AS FILE VF1*(20>=250

140 REh *** NUMBER OF GRIPES ■ N

145 N=YAL(VF1(0>)

160 PRINT 'UIHAT IS THE NUMBER OF THE GRIPE YOU WISH TO DELETE";

170 INPUT D

180 UF1(D> = "

190 FOR K=D+1 TO N

200 VF <K~1)=VF'<K>

210 NEXT K

250 REM *** RESET N AND SAVE UNDER VF(O)

260 N=N-1

270 VFKO>=STR*(N>

Listing 3: Using a virtual array with Multiuser BASIC. This allows the user tothink he is using an array when actually there Is a random access device whichis holding the bulk of the information.

out the questions and choices matchingthose numbers to make up a particular testfrom the file. Using essentially the same kindof programming, the words for the com-puter's side of a game like Hangman can bekept on a data file.

A slightly more sophisticated method isto use one master program to administerseveral different multiple choice tests. Theuser might supply the name of the test, andthe program would open the data file con-taining the appropriate bank of questions.The first word of the data file might hold in-

formation about how many questions arein the file, how many choices per question,how many questions comprise a test, etc.The same master program can handle manydifferent question and answer banks.

Still another type of program can extractinformation from more than one data file toconstruct a question. For example, a quiz onchemical formulae can be designed by ran-domly taking one element name (calcium,aluminum, sodium,.. .) from one file, andanother (chloride, sulfide, sulfate, ...) froma second file.

A common feature of these examplesis that space-eating dimensioned arrays areavoided by keeping the data in files, andcalling and using only a few elements at atime from a file. When new data is calledout, it can be given the same variable nameas the previous small group of data. Virtualarrays stored in random access files can bethought of as extensions of this technique.As listing 3 shows, the items in the file canbe addressed as if they were part of a dimen-sioned array in memory. However no dimen-sion statement is necessary in the program,and the programmer has the best of bothapproaches: access and update as if thevariables were in main memory, but spaceutilization corresponding to their actual

Mass storage for the

Now users of the most popular microcom-puters can add truly massive disk storage to theirsystems with MicromatiorrsMegabox. 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 Exidy Sorcerer* with a 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.

40 March 1979 O 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. Thecontrol ler can do a power-on-jump to the on-boardPROM bootstrap, And its fast and rel iable 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 M icromation,1620 Montgomery St., San Francisco, CA 94111or phone (415) 398-0289.

The Megabox with 1,000,000existing software to easily keep a

Circle 223 on inquiry card.

storage on files, an ideal arrangement for adata base.

Files as Buffers

Finally, one more data file technique de-serves mention: using files as buffers, astemporary collection boxes for string or nu-meric information. The names of the ele-ments for the chemistry tutorial and the textfor a Help program are examples of datastored in files on a relatively permanentbasis. In contrast to this kind of use, filescan provide transient storage for data. Theymight be used as extra workspace for calcu-lations or manipulations like sorts or holdingintermediate results.

Perhaps the chemistry tutorial programcreates three problems for the student to doat home using random numbers. A file couldcontain the answers to those problems,to be accessed once the next day when thestudent checks his or her answers againstthose in the file. The answers would then beerased.

The list of books or equipment loaned tofriends can be placed in the buffer file of ahome information program, with items re-moved from the file as they are returned.Buffer files can also be used to hold mes-

sages taken by a computer interfaced to anautomatic answer phone modem, or by acomputerized suggestion box (a gripe file),or to hold mail in a computer conference.Sometime there will be a secondary pro-gram to examine, modify, and erase thesebuffer files. At our high school, for instance,a secondary program reads the gripe file andremoves meaningless or obscene commentsbefore the file is posted on the bulletinboard.

A Qualification

This article, an introductory tutorial, hasskimmed the surface of the concept of files.The richness of file structures and the powerof the many techniques have led to variedimplementations, only a few of which are il-lustrated here. Readers are urged to studythe manuals for the systems they use both tolearn the capabilities of those systems and tofind the exact syntax for the techniques de-scribed in this article. With respect to filestructures and types, microcomputer sys-tems in particular are closer to the Tower ofBabel end of the spectrum than they are toany monolithic standard. Now is the time towrite about files, to learn about files and tobuild file systems."

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

SOLand Helios are T Ms of Processor Technology Corp.Sorcerer is a TM of Exidy Inc CP/M is a TM of Digital Research.

March 19790BYTE Publication! Inc

41

Beck Reviews

Your Own Computer

by Mitchell Waite and Michael PardeeHoward Sams Co IncIndianapolis IN, 197780 pages$1.95

The last three books I read were Passages,Star Wars and Your Own Computer. Yousee, in between the second and third books arather futuristic friend loaned me a copy ofBYTE, saying, "You won't believe this!"

I didn't. A computer in every home? Indepartment stores? Right now? Being awriter with a science fiction orientation,I was shocked and simultaneously exaltedto find that companies were already sellingall kinds of low cost home computers, andthat perhaps I could buy and use one.

After devouring BYTE in less than twohours, I called my friend and asked him ifhe knew of any books that explained thesepersonal computers in simple terms, some-thing a nontechnical person like me couldunderstand.

Two days later I went to the local com-puter store and picked up a copy of YourOwn Computer, a book that has completelychanged my viewpoint about the futureof technology. I thanked the universe forbeing so kind, told my friend, "May theforce be with you," and hid myself awayfor the next day to learn what this homecomputer thing was all about.

In the preface, the authors informed methat the invention of the personal com-puter is the most historic event since theautomobile, television and transistor com-bined. This book was designed to remove thethe stigma of complexity and mystery thatsurrounds computers, and would probablybe my first investment on the road toacquiring my own computer. That mademe rather suspicious from the start. How dothey know I'll like computers? I might hatethem, but I'll admit I was interested.

Chapter 1 was quite interesting. Called"Introduction," it defined what computers

ComputerLand

ALABAMA

Huntsville

12051539-1200

ARIZONA

Phoenix

(602I 956-5727

ARKANSAS

Little Rock

(501) 224-4508

CALIFORNIA

Dublin

(415)828-8090

El Cerrito

(415)233-5010

Hayward

(415)538-8080

Lawn dale

(213)371-7144

Los Altos

(415)941-8154

Los Angeles

(213) 776-8080

Pasadena

Call Directory Assistance

Saddleback Valley

(714) 770-0131

San Bernardino

(7141 886-6838

San Diego

(714) 560-9912

San Diego East

l714)464-5666

San Francisco

(415) 546-1592

San Jose

(408) 253-8080

Santa Maria

18051928-1919

Santa Rosa

(707)528-1775

Thousand Oaks

1805) 495-3554

Tustin

(7141 544-0542

Walnut Creek

(415)935-6502

COLORADO

Colorado Springs

(3031 574-4150

Denver

(303) 759-4685

CONNECTICUT

Fairfield

(203) 374-2227

DELAWARE

Newark

(302) 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 Grove

(312)964-7762

Niles

(312)967-1714

Oak Lawn

(3121422-8080

Peoria

(309) 688-6252

KANSAS

Overland Park

(913)492-8882

KENTUCKY

Louisville

(502I 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

1603) 889-5238

NEW JERSEY

Cherry Hill

(609) 795-5900

Bergen County

(2011 845-9303

Morristown

(201)539-4077

NEW YORK

Buffalo

(716)836-6511

Ithaca

[607)277-4888

Nassau County

(5161 742-2262

NO. CAROLINA

Charlotte

1704) 536-8500

OHIO

Cleveland

(216)461-1200

Columbus

(614) 888-2215

OREGON

Portland

(503)620-6170

PENNSYLVANIA

Harrisburg

(717) 763-1116

TEXAS

Austin

(512)452-5701

Dallas

(214) 363-2223

Houston

(713)977-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.

(7031 893-0424

WISCONSIN

Madison

(608I 273-2020

Milwaukee

(414) 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

42 March 19790BYTE Publications In

Circle 75 on inquiry card.

1

1

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.

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 HOME

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.

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.

i . , I m

ComputerLand Corp.

14400 Catalina St.

San Leandro, CA 94577

(415) 895-9363

Franchise Opportunities Worldwide.

© ComputerLand Corp., 1978

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 March 1979 43

for the average consumer were like, andwhere they evolved (a natural evolution ofbig computers, the further miniaturizationof electronic components due to the spacerace, the development of large scale inte-gration [LSI] by the semiconductor makers,the pocket calculator, the digital watch andthe TV game).

Chapter 2, called "Personal ComputerApplications," goes into just what personalcomputers can do for you. Applications forthe home, business, classroom and just plainfun are explained, using cartoons for punc-tuation.

What really impressed me was that onecomputer could do so many differentthings. The examples that turned me on themost were: "In the Office," where the com-puter would automatically display mynext appointment while it balanced thecompany's books; and "Organizing YourHobby," where the computer would main-tain a cross file of my photography collec-tion. I was definitely getting turned on.

The next chapter, "Program for YourComputer," made it clear that it takes agreat deal of concentrated thought to writecomputer programs, and that I probablywouldn't need to know much about pro-gramming, since thousands of people werealready available to do the programming forme. However, I would need to learn tocommunicate my needs to a programmerif I wanted to do something special with mycomputer that wasn't already available froma manufacturer, or someone else. Still, I wasassured that most of the programs I wouldever want would be furnished by the peoplewho sold me the computer; so the pressureto learn programming apparently was off.That's good because then I began to see acomputer as just another consumer product,rather complex but still quite manageable.

In the next chapter, "Nuts and Bolts,"I learned what kinds of things make acomputer tick. Computers have manyhookup parts and equipment. In a way,they are a lot like cameras. Just as cameraowners buy lenses and other attachmentsto enhance the power of their equipment,computer owners may purchase "peri-pherals" to beef up their systems and givethem more flexibility.

Although the authors promised to giveme enough information to enable me towalk into any computer store and not besnowed by the equipment, I felt ratherrained upon during one such visit. Therange of products offered in these com-puter stores is amazing. I didn't see any two

computers that looked, worked, or evencost the same. However, after I finallystarted talking to the store owner, I was veryglad that I had read the chapter about nutsand bolts. Each time he would show me aparticular computer system, I would saysomething like, "Does it have a softwarefront panel?", or "How much memory andread only memory is there in the minimumsystem?" My questions seemed to elicitsurprise, and I found the owner gleefullyexplaining everything in fine detail.

One of the nicest things about the nutsand bolts chapter was that I learned aboutthe most often used computer I/O devices:keyboards, video displays, front panels,Teletypewriters, cassette tape mass storage,floppy disk mass storage, etc. Photographsof each device were included.

The final chapter in the book, entitled"Getting Started," explains how one goesabout taking the next logical step in under-standing, or perhaps even buying, a personalcomputer. Like the others, this chapter isillustrated with our friendly computerenthusiast trying his luck at learning moreabout personal computers by going toconventions, reading books and magazinessuch as BYTE, visiting computer clubs, andof course going to a store.

For me one of the most useful parts ofthe book was the appendix called "Glossaryof Computer Buzz Words." Here I quicklylearned the meanings of the crazy wordsused by computer people. I read the entireglossary from A to X; it was very interesting.Each word was defined and then used in atypical sentence. I memorized a few of thesebuzz words and used them on the computerstore owner. For example, while he showedme a computer game called Star Trek thatdidn't seem to be working right, I informedhim that perhaps his "buffer had over-flowed." All I got was a chuckle, and thena sigh.

Well, I finished the book and can honest-ly say that for someone who previouslyknew nothing about computers, I reallygot my money's worth. Besides learningthat computers are here to stay, I discoveredthat the future of home computing ischanging fast and furiously. Althoughdelaying my purchase for a few years maysave me a lot of money, it will also meanI'll miss out on a whole lot of fun andexcitement.

Keystone Elliot

POB38

San Rafael CA 94901 ■

44

March 1979©BYTE Publications Inc

sijrjnotics

!

11 -

\ ■.

WU i—i

Hands-onmicroprocessor

experience from day one •••

The Instructor 50.

Learning by doing is still the best method of education. And when it comes tolearning about the world of microcomputers, you won't find a better method thanthe Instructor 50.

It's the fast, ready-to-use learning device that immediately provides "hands on"experience for gaining microprocessor knowledge—in your home, office, or in theclassroom.

Superior to other microprocessor learning aids, the Instructor 50 is a COM-PLETE package—including a built-in power supply (50/60 Hz), an LEDprompting display, and both functional and hexadecimal keyboards. Youalso get S-100 compatibility for adding memory and other peripherals. This letsyou expand the machine's capability—and your microprocessing applicationsknowledge. Moreover, you can easily build a program library by recording your ownaudio cassettes.

The Instructor 50 comes complete with a Users' Guide, along with step-by-stepinstructions for those with no previous microprocessor experience.

Signetics offers one of the broadest choices of microprocessors in the industry.This knowledge stands behind the Instructor 50. When you need to learn aboutmicroprocessors, start with Signetics. Start with the Instructor 50. Send for yourdescriptive brochure today.

We can help you understand microprocessors.

signetics

a subsidiary of US. Philips Corporation

®

ANCRONA

P.O. Box 2208YCulver City, CA 90230

Phone Orders(213) 641-4064

CALIFORNIAANCRONA

1 1080 Jatferson Blvd

Culver Citv. CA 90230

(213) 390 3595

1300 E Edmger Ave

Santa Ana. CA 92705

1714) 547 8424

1054 E ElCam.no Rail

Sunnyvale. CA 940B7

14081 243-4121

ARIZONA

ANCRONA

4518 E Bioadwav

Tucson. AZ 6571 1

(602)BS1-2348

GEOROIAANCRONA

3330 Piodmom Rd, N EAtlanta. GA 30305(4041261 7100

OREGONANCRONA

1 125 NE 82nd Avb

Ponied. OR 97220

(503) 264 5541

TEXAS

ANCRONA

2649 Richmond

Houston. TX 77098

1713) 529 34B9

CANADA. B.C.

ANCRONAS656 Frassr StVancouver. B C

V5W 2V416041 324 0707

ANCRONAP.O. Box 2208YCulver City, CA 90230

.Instructor 50(s)@

Please send me

$350.00 plus $3.00 ea. postage and handling.Calif, residents add 6% sales tax.

D Check enclosedInterbank Number

Account Number

Signature

Send To:

Name

Address

City

□ Master Charge □ VISA

Exp Date

. State.

.Zip.

Circle 8 on inquiry card.

BYTE March 1979 46

A Microprocessor for

Photo 1: Processing. Photosensitized wafers are exposed with a particularmask pattern using ultraviolet light. The entire environment is otherwiseultraviolet-free.

Photo 2: Breadboard debug. The gate level TTL model of the processorinvolves ten boards of 80 to J20 integrated circuits each. Many of the re-quired 10,000 connections will be wrong. The system must be tested to findand correct construction and logic errors.

Crowds are not unusual; here we have Don Tietjen, Katy Miller, JamesTietjen, Steve Messinger (almost hidden), Mike Shapiro and Bill Keshlear.

Terry Ritter and Joel BoneyMotorola Inc3501 Ed Bluestein BlvdAustin TX 78721

Clock Speed

Part 3:

In part 3 we conclude our discussion ofthe Motorola 6809 processor with somethoughts on clock speed, timing signals,condition codes and software design phi-losophy for the 6809.

We expect that our logic and circuitdesign cohorts will be able to get signifi-cant production at a 2 MHz bus rate (andpossibly faster) with the 6809. But thisvalue alone means next to nothing as afigure of processor merit (we did considerusing a very high frequency on chip oscil-lator so we could win the clock rate race,but decided at the last minute that aresonant cavity would not be acceptableto most users).

Other processors use an internal statemachine to implement the required in-ternal operations. These processors fre-quently require multiple states and multi-ple clock edges to implement operationswhich are done in one cycle on 6800 classprocessors.

The 6800 class machines are all randomlogic machines with multiple dynamicsequencers. This method of microprocessordesign selects a different set of engineeringtrade-offs as opposed to the state machineapproach. In particular, less critical timingis necessary, but suspending the processorfor a long time is difficult. We provide twoexternal methods of stopping the machine:DMAREQ (which has a maximum asyn-chronous latency of 1.5 bus cycles, andwhich will recover the bus from DMA (directmemory access) periodically to allow thedynamic microprocessor to perform a re-fresh cycle) and HALT (which has a maxi-mum latency of 21 cycles, but releases thisbus completely).

Signals

The 6809 processor will be made in twoversions: the on chip clock version (for smallsystems) and the off chip clock version (withextra signal lines for additional processorstatus information). This will allow a cost-effective utilization of pins for each pro-posed market.

The bus timing signals are E and Q. E is

46 March 1979 © BYTE Publications Inc

the Revolution: The 6809

Copyright 1978 by Terry Ritterand Joel Boney

Final Thoughts

the same as on 6800 systems (previouslycalled 02), a square wave clock with a periodequal to one bus cycle. Q is the quadratureclock, and leads E by one quarter buscycle. Good addresses should be availablefrom the processor on the leading edge ofQ; data is latched (by the processor orselected memory or peripheral) on thetrailing edge of E.

Two signals are used for clock controlin the on chip clock version. DMAREQhalts the processor internally (and puts theoutput lines of the processor in the highimpedance state using three state circuitry)but allows E and Q to continue to run toprovide system clocks for a DMA transfer.MREADY being low extends a memoryaccess in increments of the high frequencyoscillator period until MREADY is broughthigh.

If BA=0 (the processor is running) BS=1means that a vector fetch is occurring(1ACK). This signal can be used to developvector-by-interrupting-device hardware thattransfers control directly into the desiredinterrupt handler without polling.

Two signals are available in the off chipclock version to assist in multiprocessorsystems. The last instruction cycle (LIC)pin is high during the last execution cycleof any instruction, thus giving bus arbitra-tion a head start. BUSY is high during readmodify write, (from the read through tomodify) to indicate that memory exclusionis required. Exclusion is required in multi-processor systems.

Condition Codes

The 6809 condition code flags are thesame as those used in the 6800 (N, Z, Vand C), and are affected similarly by mostoperations. Some exceptions are the doublebyte operations, since the flags are alwaysset to represent the result of the entireoperation, whether single or double byte.(This is implied by the fact that both datalength operations have the same rootmnemonics).

While very simple in concept (the con-dition flags being mere by-products ofarithmetic and logic unit [ALU] operations),their use with various data representations

Photo 3: Plotting the circuit layout. Huge precision plotters display thecomputer data base which will become the chip. The layout plot is thenchecked by circuit engineers both for proper interconnection and exacttransistor sizing. Any problems thus uncovered will be repaired by editing thedata base.

Photo 4: Digitizing. Computer aided design (CAD) technician Lisa Finkenters a cell layout into the data base. The cursor on the light table is used totransfer precision measurements to the computers. A n already digitized cell isshown on the video display.

March 1979©BYTE Publications Inc

47

Photo 5: Diffusion. Intothe furnace goes anotherbatch of wafers in theprocess of becoming inte-grated circuits. Operatingnear 1000° C, the quartzliner glows incandescent.

and the rich set of conditional branch con-ditions can seem quite complex. First, wewill define the flags as follows.

N: set if and only if the most significantbit of the result is set (this would bethe 2's complement "sign" bit).

Z: set if and only if all bits of the resultare clear (the result is exactly 0). set

V: if and only if the operation causesa 2's complement overflow. Noticethat the expression (N © V) will givethe correct sign, even if the sign isnot properly represented in the result.

C: set if and only if the operation causesa carry from the most significant bit(for ADD, ADC) or,

set if and only if the operationdoes not cause a carry from the mostsignificant bit of the arithmetic andlogic unit (for subtract-like opera-tions - SUB, SBC, CMP - carry flagrepresents a borrow) or,

set according to rules for rotateor shifts or,

set if and only if bit 7 of the

result is set (for MUL).

• Notice that the C flag is not thesimple result of the carry in the8 bit arithmetic and logic unit,but depends on the type ofoperation performed.

• Notice also that the carry flagrepresents a borrow after subtract-like operations. This was done onthe 6800, for convenience.

Next, let's define the use of the branches.Simple conditional branches:

Test

True

False

Z=1

BEQ

BNE

N=1

BMI

BPL

C=1

BCS

BCC

V=1

BVS

BVC

Signed conditional branches:

Test

TrueBGTBGEBEQBLEBLT

False

(N © V) A Z=1

BLE

(N © V) =1Z=1

BLTBNE

(N © V) VZ=1

BGT

(N © V) =1

BGE

Unsigned conditional branches:

Test

True

C AZ=1

BHI

C=1

BHS

Z-1

BEQ

C VZ=1

BLS

C=1

BLO

False

BLSBLO

BNE

BHI

BHS

Note: The unsigned branches are not, ingeneral, useful after INC, DEC, LD, ST,TST, CLR or COM.

And finally, the flag results of known con-ditions of comparison are as follows.After SUB, SBC, CMP:

If register is less than memory value(2's complement values) (N © V)=1.If register is lower than memory value(unsigned values) C=1

If register is equal to memory value(signed or unsigned) Z=1.

Because some instructions do not (andshould not) affect carry, only the equal andnot equal branch tests (BEQ, BNE) are use-ful after these instructions (INC, DEC, LD,ST, TST, CLR, COM) operate on unsignedvalues. When operating on 2's complement

48

March 1979©BYTE Publications Inc

GOOD BUY, OEM's!

GOOD-BYE COMPETITION!

Since Intertec introduced its new INTERTUBE Video Terminal, alot of OEM's (and dealers, too) are saying "good-bye" to theirhigh cost, low performance terminals. The INTERTUBE is such agood buy that OEM's find it almost impossible to justify usinganything else.

You'll say good-bye too when you compare INTERTUBE's price /performance ratio with any other terminal on the markettoday. Standard INTERTUBE features include: a 12" display in a24 line by 80 column format, 128 upper and lower case ASCIIcharacters, reverse video, blinking, complete cursor address-ing and control, an 18 key numeric keypad, separate back-space, tab, shifttock, local, on-line and print keys, special user-defined function keys, protected and unprotected fields, lineinsert/delete and character Insert/delete editing, elevenspecial line drawing symbols, 15 selectable baud rates from 75to 9600 BPS, half and full duplex operation, an RS-232 interface,and... would you believe it... there is more! A special "StatusProtect" key allows you to enable only those features requiredIn your system and "lock-out" all others, thereby assuring flexibleoperation In both "smart" and "dumb" environments.

By now you're probably becoming very uneasy If your lastterminal purchase wasn't an INTERTUBE. Brace yourself. You'regoing to become sickl OEM's realize there are no hidden costsof ownership with the INTERTUBE. You can have all the perform-ance you need without having to add expensive options.Standard user-oriented features are: an RS-232 printer port,"block" transmission modes, parity and baud rate error detec-tion, a self-test mode, a 25th "STATUS" Line which displays thecurrent status of the terminal, a transparent mode to simplifyprogram debugging, and selectable display Intensities for"easy-on-the-eyes" operation with minimized operator fatigue.

Price, performance, design, reliability... what more could anOEM want? Availability? WeVe got itl Our new 120,000 squarefoot manufacturing facility turns out a lot of INTERTUBES eachday. And because we control the manufacturing process rightdown to injection molding our own cover assemblies, yourdelivery schedules are never Interrupted. Order today andchances are your first units will be on their way within 48 hours.Incredible!

Call or write us now. We'll show you what a "good buy" theINTERTUBE really is and why more and more OEM's are saying"good-bye" to the competition.

2300 Broad River Road, Columbia, S.C. 29210(803) 798-9100TWX: 810-666-2115

In moderate OEM quantities.Quantity one end-user price - $874.00

Photo 6: Wafer probe.Each circuit is separatelychecked while still on thewafer. This equipmentautomatically steps to thenext chip after any badresult or when all tests aregood. A production 6800is shown.

values, all signed branches are correctlyavailable.

Some Software Design Philosophy

The design of successful software differsfrom other types of engineering design inthat good software can be easily changed,but is exceedingly unforgiving. The creationof working software involves intimate con-tact with quality.

Any program, working or unworking, isa representative of the philosophy of truth;the machine will execute the program,good or bad. Only applicable programs areuseful, however, and utility is where weencounter quality. Many individuals in-doctrinated into a society founded upontruth can scarcely understand why suchtruthful programs do not work, for isn'tone truth just as good as another?

Any program that is to be fixed orchanged must be analyzed: the writtencode must be read and understood. Readingis a problem — most computer languagesare very difficult to read simply becauseso many options are possible from eachstatement. Finding the coherent designof a program is nearly impossible when,as it is being read, thousands of optionsexist. It is the paradox of programmingthat a disciplined, restricted, structuredprogramming language gives programmers

greater freedom to understand theirprograms.

Consider the analysis of programs: anyprogram segment having multiple condi-tional branches that cannot be separatedmust be analyzed for all possible conditionsof input data before we can be assured thatthe program will operate correctly.

Program segments having branch pathsthat cross may be impossible to analyzerigorously due to the combinatorially largernumber of paths that the program may ex-ecute. Where control structures are alwaysproperly nested, crossed branch paths can-not occur and analysis is easier.

Programming structures which have basi-cally one entry point and one exit are easilydetached from surrounding code and areeasier to understand and test. This isthe fundamental tenet of structuredprogramming.

Every attempt should be made to codein modules. Modules are self-containedentities (usually subroutines) which allocateand deallocate their own local storage.Naturally, the actual code should be heavilycommented to allow a reader to understandwhat is being attempted. But one mark of agood module is that it contains a headerblock which fully describes all aspects ofthe inputs to the module and results fromit. This description should be so detailed asto allow the module to be totally recodedfrom this information alone. We hope thatthe description was arrived at before themodule was written. It is a mark of goodsoftware design that the actual coding isbut a minor part of the project; it occursafter all modules have been completelydescribed. The finished modules shouldbe individually tested for all possible inputvalues, and should demonstrate that errorhandlers will operate when a supposedlyinvalid input value occurs. Modules whichare recoded at a later date must pass theoriginal tests.

Software in the Revolution

The microprocessor revolution is fueledby continual technical advancement thatproduces hardware with ever higher capa-bility and ever lower cost. Yet, it is a re-quirement of the revolution that softwarebe written to make that cheap hardwaredo anything.

Most present microprocessor software iscustom software written for a specific pro-ject. Project specific software is rarely pub-lished, partly in the (unreasonable) hope ofmaintaining trade secret protection, andpartly because finished project software israrely of publication quality. Commercialsoftware is rare for a number of reasons:

50 March 19790BYTE Publications Inc

MicroPro International Corporation

MicroPro

MICROPRO TASUPER-SORT

COBOL

FORTRAN

COBOL/S

C>

FORTRAN/S

*

Basic _ BASIC/S

*MicroPro International Corporation proudly announces the incorporation of SUPER-SORT™ into Microsoft COBOL, FORTRAN and BASIC. Now, exclusively from MicroProyou can have the full level 2 COBOL sort verb implemented by joint cooperation be-tween Microsoft and MicroPro. Enjoy the fastest, most flexible sort/merge/extractavailable together with Microsoft's compilers! COBOL/S™ $850, FORTRAN/S™ $600,BASIC/S™ $450.

Other Quality Software from MicroPro:

• WORD-MASTER™ — Screen Oriented word processing on any CRT $150.00

or Video Board using CP/M** TEX** — Output Formatter $ 75.00

• ISAM-ANSI standard level two, multiple key access, three level indexing, . . $150.00written in M-80 Assembler, relocatable, interfaces to COBOL,

FORTRAN, and BASIC, uses less than 6K, up to 9 disks in 1 file.

• CORRESPONDER™ — Powerful form letter generation to user mailinglists. Handlesxorrespondence and volume mailings with customsalutations and variable file-derived or user-specified substitutions inletter text. Creates mailing list files and prints Cheshire

or vertical labels, w/o CBASIC $95.00

with CBASIC (requires CBASIC to run) $185.00

• SUPER COMBO I — Word-Master, Super-Sort (stand alone), $475.00

Tex, & Corresponder ($520 value)

**CP/M and TEX are Trademarks of Digital Research. Prices and Specifications subject to change without notice.

©1978, MicroPro International Corporation. All rights reserved.

Clip and Mail This Form to: MicroPro International Corporation at 1299 - 4th Street, San Rafael, CA 94901

Please Type or Print Clearly ORDER FORM — Dealer/OEM Inquires Welcomed

SPECIFY MEDIA SV4" D 8" D

Send To:

Name

Company

Address

City, state, zip code

Check Attached or Charge

Mastercharge

Visa No

Exp.

Date.

I agree to abide by MicroPro's End-User Agreementand return the signed End-User Agreement or returnsoftware unopened.

□ COBOL $750.00 □ COBOL/S™ $850

□ FORTRAN $500 □ FORTRAN/S™ $600

□ BASIC $350 □ BASIC/S™ $450

□ SUPER-SORT I ™ $250 □ Manual only $25

□ SUPER SORT II without relocatable feature (standalone) $200 .

□ SUPER SORT III Stand Alone — without select/exclude feature .

$150

□ WORD-MASTER™ $150 □ Manual only $25

□ TEX** $75 □ Manual only $15

□ ISAM $150. DManual only $25

□ CORRESPONDER'1' $95 □ Manual only $15

□ SUPER COMBO I $475

POSTAGE & HANDLING .

II

L.

Dealer inquiries Invited: 1299 - 4th Street, San Rafael, CA 94901 (415) 457-8990 (new) or (707) 544-2865 (old)

$250

COD (10% deposit required) □

Signature (if ordering diskettes or paying with credit card)

TOTAL

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 withTextoo! 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

t

Textool Programming

programming sockets j^ protect switch \

LED indicatingprogramming mode

Programmingpower supply

4k/8kEPROM sockets

EPROM

addressing switches

JK57

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

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

there must be a market for the (machinespecific) software before the investmentin program development is made, but thecustomer base may not exist until goodprograms are available. It is also difficultto consider investing in software that canbe so easily copied (stolen) and used.

The copying problem is not new;musical reproductions have long coexistedwith the possibility of consumer recordingand reproduction for a close circle offriends. This occasionally happens, but it isusually too much bother to tape the musicyou want (assuming that the original pro-duct, is available at a reasonable cost).Software should be distributed as a reason-ably priced physical product that is usefulto a broad consumer base.

This is an old idea, but it just hasn'tworked. The problem is not in the idea, butin the second generation microcomputerarchitectures which limit the applicability ofany particular program read only memory.The 6809 microprocessor is designed speci-fically — through the use of position inde-pendent code, stack indexing, and indirectaddressing — to allow the creation of stan-dard program read only memories. Thiscreates a market opportunity for a brandnew standard software industry. We knewthis when we included these features; you'rewelcome, entrepreneurs!

Summary

We wrote this series of articles not onlyto disclose the 6809 but mainly to putdown in print the rationale and reasoningbehind the 6809. It would have benefitedus if the designers of the 6800 had docu-mented their rationale. We would also like tothink we have stimulated some interest inthe personal computing community forsolutions to the software problem and forthe study of computer architecture. The bigchallenge for architects in the next decadeand beyond will be to design computers thatcan effectively utilize the huge number ofdevices - 1,000,000 transistors by 1985 -that semiconductor technology will be ableto put on one 25 mm2 piece of silicon.

No computer is designed in a vacuum,and we would like to thank all of our cus-tomers and the people at Motorola who gaveus valuable input. Special thanks go to thedozens of people — too many to enumerate— who have been or are still actively in-volved in the design, implementation andproduction of the MC6809. Without theirindividual talents and dedication to whatseemed to be impossible tasks and impos-sible schedules, the IV1C6809 could not havebeen realized.*

52

March 1979 O BYTE Publications Inc

Circle 335 on inquiry card.

EventGueue

March 3-4, Micro-Expo '79, Texas A andM University Memorial Student Ctr,College Station TX. Sponsored by TheTexas A and M Microcomputer Club,the activities at the third annual Micro-Expo 79 will include exhibits by dealersand hobbyists, a programming contest,and a computer chess tournament, aswell as seminars on topics of interest toboth the novice and the experiencedcomputer enthusiast. Contact LarryBrown at (713) 693-5748 or ScottEdwards at (713) 845-5531.

March 10-11, Personal Computer Fair,Pacific Science Ctr, Seattle WA. The fairwill acquaint people with personal, homeand hobby computer applications.Visitors will see a variety of nontechnicaldemonstrations and have numerousopportunities for hands-on experimen-tation. Contact Susan Stocker, PacificScience Ctr, 200 Second Av N, SeattleWA 98109.

March 17, The Computer Faire, Dela-ware State College, Dover DE.This fairewill deal with current technology ofcomputers for the classroom and per-sonal use. Contact Lynda Baker, NewCastle County School District Area II,Henry B duPont Middle School, Bengeand Meeting House Rds, Hockessin DE19707.

March 19-20, Microcomputers: Oper-ating Principles, Hardware and SoftwareSeminar, Holiday Inn, Palo Alto CA.Polytechnic Institute of New York andthe Institute for Advanced ProfessionalStudies are presenting this 2 day seminarfor engineers, programmers, and tech-nical managers involved with selectionof microprocessors and design of micro-processor-based systems. The seminarwill cover the underlying conceptsgoverning microprocessor operation,architecture, and systems design. Micro-computer elements and their inter-relationships will be discussed, empha-sizing features important in determiningwhether a particular microcomputer willbe suitable for a given task. ContactProf Donald D French, Institute forAdvanced Professional Studies, 1 Gate-way Ctr, Newton MA 02158, (617)964-1412.

March 19-21, Federal DP Expo Confer-ence and Exposition, Sheraton ParkHotel, Washington DC. This fifth annualgovernment show will feature computerrelated hardware, software and service.

Continued on page 76

The way youcheck line-by-line withan A P Intra-Switch orIntra-Connector.

You plug your Intra-Switch in-linewith standard socket connectors,and instantly you've got a separate,independent on-off switch for eachand every line in your flat ribboncable. To switch, you nudge with apencil point. It's that quick.

Imagine how much time andtrouble Intra-Switch will save you inyour diagnostic and quality testing,your programming and selectiveline inhibiting.

Or, plug in your Intra-Connector(see box) the same way, and youhave an extra set of male contacts

at right angles. Instant line-by-lineprobeability—and an easy way totap your system and daisy chain itinto new areas.

Both Intra-Connectors and Intra-Switches come in 20,26,34,40 and50-contact models.

Where? At your nearby A P deal-er. Where's that? Phone (toll-free)800-321-9668. And ask for the com-plete A P catalog, The Faster andEasier Book.

AP PRODUCTS

INCORPORATED

Box 110D • 72 Corwin DrivePainesville, Ohio 44077Tel. 216/354-2101TWX: B10-425-2250

Faster and Easier is what we're all about.

Circle 9 on inquiry card.

March 1979 S BYTE Publications Inc

53

For your SWTP 6800 Computer...

PERCOM'sFLOPPY DISK SYSTEM

the

f

>

°L

r

-~\

\f

~>

b

1

j

sj

K

.>

<..

j

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.

t_

For more

information

see your local

PerCom dealer

or call

toll free

1-800-527-1592

fully assembled and testedshipping paid

PERQOM

—^———a— l ii

PERCOM DATA COMPANY, INC.

Dept. B 318 Barnes Garland, Texas 75042

(214) 272-3421

54 BYTE March 1979

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 diskettecomplete 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 systemand 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'

Circle 301 on inquiry card.

1

m

UUan aAdd-on Mini-Disk for theTRS-80

■f-:::--

li -

liil!

]

'Trademark of Tandy Corporation.

Dual and triple drivesalso available.

Requires 16KRAM,

Level II BASIC andExpansion Interface.

PERCOM DATA COMPANY, INC.

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

To Order Call 1-800-527-1592

"RADIO SHACK.;a«l;IRS-80 aie trademarksal-Tandy Coiporalion wtiictt tias no leiai.onsnlp lo PERCOM DATA COMPANY. INC

Circle 301 on inquiry card.

Cryptography in the Field

Part 1: An Overview

John P Costas PhDSenior Consulting EngineerGeneral ElectricCourt St, Bldg 4, Rm 38ASyracuse NY 13201

plaintext

Encodingcodetext

Cryptography could be described as thescience or art of transforming messages intoforms that render them unintelligible to out-siders. This is an old and fascinating fieldand the interested reader could hardly dobetter than to read a most remarkable bookon this subject by David Kahn called TheCodebreakers.

A few definitions are needed beforeproceeding. Plaintext is the message to beput into secret form. The message, aftercryptographic transformation, is known asa cryptogram. An authorized individual whois privy to the secrets of the system is saidto decode or decipher the message whenconverting the cryptogram to plaintext.Cryptanalysis is the science or art of extract-ing the meaning of a cryptogram withoutthe key. Cryptology is the science or artencompassing both cryptography and crypt-analysis.

A code is a cryptographic transformationin which no fixed relationship is maintainedbetween the number of symbols in the plain-text and the corresponding cryptographictransformation or codetext. An example ofa code is shown in table 1. To encode a

Decodingcodetext plaintext

BALANCE

73452

17593

17590

AFTERBURNER

BALANCE SHEET

43987

43874

17591

DETACHED

BALL

15638

12958

17592

UNLIKELY

BALLAST

28457

84355

17593

(NULL)

BALLISTIC

12953

1 7594

JAMMING

BALLISTIC

87465

17595

STATUTE OF LIMITATIONS

BALLISTIC

72589

17596

BALLOON

MISSILE

,

BALLOON

17596

.

Table I: A simple 2 part code example. The encoding section is alphabeticallyarranged and the decoding section is numerically arranged. To further frus-trate the efforts of anyone intercepting the message, nulls are frequently used(a null is a portion of ciphertext having no plaintext equivalent).

message the plaintext word or phrase isfound in an alphabetical listing in the en-coding section and the corresponding code-text group (in this case 5 digit numbers)is entered into the cryptogram. Note thatcommonly used words (eg: ballistic) mayhave more than one codetext equivalent.These are known as homophones. There mayalso be codetext groups that have no plain-text equivalent; these are known as nulls.The coding clerk is encouraged to selectat random from a group of homophonesand also to throw in an occasional null in aneffort to frustrate the work of the crypt-analyst.

In the decoding section, the codetextgroups appear in their numerical order. Thesecurity of a code is enhanced when thecodetext numerical order is scrambled rela-tive to the plaintext alphabetical order.When this is done the codebook containsseparate encoding and decoding sections.Such codes are known as 2 part codes. Theresulting codetext is often given a furthercryptographic transformation (encipher-ment); the overall process is then known assuperencipherment.

In many applications, a cipher is pre-ferred to a code. A cipher is a cryptographictransformation in which a fixed relationshipis maintained between the number of plain-text symbols and the number of symbols inthe resulting cryptographic transformation(ciphertext). An example of a simple cipherwould involve replacement of each plaintextletter by the next letter in alphabetical order.Plaintext A becomes ciphertext B, plaintextB becomes ciphertext C, etc. Some feelingfor the difference between codes and ciphersmay be obtained by noting that linguists areoften assigned to break codes while mathe-maticians handle the ciphers.

This article deals mostly with fieldciphers, of which there are two main classi-fications: substitution and transposition. Inthe former, new symbols are substituted forthe plaintext symbols to form the cipher-text. In the latter, the original symbols are

56

March 1979® BYTE Publications Inc

plaintext alphabet:ciphertext alphabet:

ABCPAT

HI J KLMNOPQRSTULONKBDEFGHJ MQS

V W X Y ZU V W X Y

Table 2: This relatively simple cryptographic procedure can be used as a field cipher. Firstthe plaintext alphabet is written, then the ciphertext is written underneath it. The messageis coded by using the ciphertext alphabet in place of the plaintext alphabet. The former isarrived at by using a keyword. In this case, the keyword Patricia Zlotnik is written followed bythe unused letters of the alphabet. No letters are allowed to repeat.

retained but the order of appearance isscrambled to prevent disclosure of meaning.

Field Ciphers

Field ciphers are traditionally relativelysimple cryptographic procedures which canbe implemented readily in the field usingonly pencil and paper. The definition ofpencil and paper is updated here to includethe ubiquitous electronic pocket calculator.Common to these systems is the use of aneasily remembered word or phrase whichserves as a key in the cryptographic process.In the illustrative examples that follow wewill use as a demonstration keyphrase:

PATRICIA ZLOTNIK

and as a demonstration message:

MAY UP BID PRICE TWENTYPERCENT ON TRACT ONE ONLY.

In one form of a monoalphabetic substi-tution, the key is first written by eliminatingrepeated letters, followed by the remainderof the alphabet in order as shown in table 2.By substitution from this table, M becomesD, A becomes P, etc. The following crypto-gram results for the demonstration message:

D P X S G

A 0 R G J

0 T 1 Q V

1 E Q X G

1 J T 1 E

Q F E Q j

P T Q F E

1 F E B X

The ciphertext is represented here in thestandard form used by cryptographers, ingroupings of five characters. The ciphertextshould be read across both columns ratherthan across one (eg: the ciphertext in thisexample would be DPXSGAORGJOTIQV).

The cryptogram purposely does not pre-serve word groupings. How good is this ci-pher? It is both unbreakable and worthless.If the only message ever sent is the single 3letter word:

CATthen the cryptogram:TPQ

is beyond rational cryptanalysis. On theother hand, even very light usage (such asthe demonstration message) allows simplefrequency analysis to begin the destructionof the cipher. The fact that the letter I hasbeen used to replace the plaintext E will notremain a mystery for long. By any practicalmeasure, monoalphabetic ciphers of thistype are clearly useless.

Useless or not, one can present a super-ficially convincing argument for monoalpha-betic substitution. It could be correctlynoted that there are approximately 4 x 1026possible plaintext to ciphertext alphabetequivalents using this system. (This, ofcourse, is the number of permutations pos-sible in a 26 character alphabet.) Therefore,even if a fast computer could be found thatwould check, say, one billion trial solutionsper second, it would still take overten billionyears to exhaust all the possibilities. Theseare impressive but totally meaninglessstatistics. Presenting the cryptanalyst witha large number of possibilities is a necessarybut not a sufficient condition for crypto-graphic success.

Improved security may be obtained bythe use of polyalphabetic ciphers, whichmay be demonstrated using the Vigeneretableau of table 3. (The Vigenere tableau isnamed after the French cryptographerBlaise de Vigenere who popularized the

plaintext alphabet

A B C D

X Y Z

A B C DB CD EC D E FD E F G

X Y Z AYZ AB

Z A B C

X YZYZAZ A BABC

U V WV W XW X Y

Table 3: The Vigenere tableau is used togenerate a polyalphabetic cipher. To en-cipher, the plaintext message is first writtenout. Then the keyword is repeatedly writtenon top of the plaintext. The ciphertext isobtained by selecting the letter which is atthe intersection of the plaintext alphabetcolumn and the keyword character row.

March 1979©BYTE Publications Inc

57

key: P A T R I

plaintext: M A Y U Pciphertext: B A R L X

CI A Z L O TB I D P R I CD Q D 0 C W V

N I K P A T R

E T W E N T YR B G T N M P

Table 4: An example of the encryption process using the Vigenere tableaushown in table 3.

method although he did not invent it.)This table is bordered by the plaintextalphabet at the top and ciphertext alphabetdesignators at the left. The ciphertextalphabets in the body of the table aremerely rotations of the normal alphabet.Enciphering is done by writing the keyphrase repeatedly over the plaintext andenciphering each plaintext character by thecorresponding keyphrase alphabet designator.In the example shown in table 4, letter M isenciphered from alphabet P, letter A is en-ciphered from alphabet A, letter Y from T,etc. By switching alphabets in this way wefrustrate the simple frequency analysiswhich was so effective in the previous cipherexample. Clearly, any given plaintext letter(such as E) has a different ciphertext equiva-lent in each of the different alphabets.

The cryptanalyst can attack this systemby searching for the repeating key length(in this case 15). Once the keylength is es-tablished, he or she will rearrange the cipher-text in matrix form in which the row lengthis equal to the keylength. The columns ofthis matrix each involve the same ciphertextalphabet. Frequency analysis by columnssoon reveals the specific key used and thewhole structure then collapses.

One ploy sometimes used to frustrate thecryptanalyst is to use a coherent runningkey. The key could be taken from a readilyavailable book, for example. By this method,the repetitions of the key are eliminated andthe cryptanalyst is forced to work harder fora solution, which he or she can get, givenenough cryptogram material and time.

A very significant advance in cryptog-raphy was introduced by a concept whichmay be generally described as autokey. Inthis system, the plaintext itself is used as thekey. A given plaintext character selects the

key: P

A

T

R

I

C

I

A

Z

l_

O

T

N

I

K

column order: 11

01

13

12

04

03

05

02

15

08

10

14

09

16

07

M

A

Y

U

P

B

I

D

P

R

I

C

E

T

W

E

N

T

Y

P

E

R

C

E

N

T

O

N

T

R

A

C

T

0

N

E

0

N

L

Y

Table 5: A transposition table arranged for the keyword Patricia Zlotnik andthe example message "May up bid price twenty percent on tract one only."In the transposition method, the keyword is first written out and numberedin alphabetical order. The message is then written in columns under thekeyword. The resulting columns are read out in numerical order to producethe ciphertext.

alphabet for encipherment of the nextplaintext character, and so forth. One ofthe problems of using autokey is that thekey and the recovered plaintext are one andthe same. Thus the system tends to self-destruct after the first error. The errorpropagation properties of autokey areoften cited as the reason for not using thistechnique in field ciphers.

Transposition Ciphers

An important cipher class is the trans-position cipher. As the name implies, themeaning of the message is hidden becausethe order of the characters is scrambled inthe ciphertext. To demonstrate transposi-tion, we again call upon our friend Patricia,but this time her name is written out com-pletely to form the keyphrase. The lettersin the keyphrase are then numbered accord-ing to alphabetical order. When two or moreidentical letters exist, they are sequentiallynumbered from left to right. When this isdone, there results a scrambled set of in-tegers from I to the number of charactersin the keyphrase (in this case 15). Themessage is then written under these columndesignators in rows of keyphrase length. Anexample for the demonstration key andmessage is shown in table 5.

Once this is done, the ciphertext is readout in column order: ANC, DCN, BEE, etc.When put in the standard 5 letter groups, thecryptogram becomes:

ANCDC NBEEP

PNIRO TTWRR

NYENI TMEAU

YOYTT COPEL

Since the deciphering clerk knows boththe key and message lengths, he or she canquickly determine the length of each columnin the original matrix. The cryptogram isthen copied in column form and the messageread out by rows. Multiple transpositions areoften done using the same or different key-phrases. Null cells in the transposition ma-trix are sometimes used to strengthen thecipher.

Substitution ciphers replace charactersbut leave them in their original positions.The cryptanalyst can use this invariant toadvantage. Transposition destroys the orderbut does not hide the content. Combinationsof transposition and substitution can providecomplementing strengths to produce veryeffective ciphers.

Playfair Cipher

It is interesting to consider briefly an

58

Maah 1979 O BYTE Publications Inc

PASCALIS ALIVE.. .AND WELL.. .AND WORKING IN A GRAIN

ELEVATOR!

When you've decided to let PASCAL workfor you, give it the best home — ControlSystems' UDS 470.

Our unique PASCAL-IN-PROM featurelets OEM's have their cake and eat it too:the simplicity of assembly-language plusthe power of PASCAL. The PASCALprogram is compiled (instead of assem-bled) and the compiler output (P-code) isburned into PROM/EPROM.

Hardware for our rugged UDS 470,designed for hostile environments, hasperformed successfullyforovertwoyears -controlling grain elevator operations in theU.S. and Canada.

UCSD PASCAL

6800 based now; upgradableto 6809 or 68000

32K RAM

16K EPROM

ism.

CONTROL SYSTEMS, INC.

MtCROSYSTEMS DtVtSiON

1317 Central*Kansas City, KS 66102*(913) 371-6136

5200 West 73rd Street • Minneapolis, MN 55435* (612) 831-0214

Drawer EE* Williamsburg, VA 23185* (804) 564-9350

Circle 87 on inquiry card.

BYTE March 1979 59

K

X

J

E

Y

U

R

E

B

E

X

E

L

w

A

0

H

w

U

w

Z

w

E

H

E

W

R

Y

T

U

Y

Z

M

w

1

H

0

(VI

N

E

H

E

Y

F

S

K

R

E

H

E

0

B

T

F

W

M

S

s

P

1

G

0

Y

F

1

W

T

T

T

U

A

J

L

u

0

E

A

0

N

G

0

L

K

S

Y

c

A

J

P

0

0

0

F

c

M

F

E

X

T

T

B

0

T

E

1

z

0

N

T

X

c

w

C

F

z

Y

1

p

T

F

B

Y

B

N

T

G

0

N

E

Y

E

0

B

H

M

W

E

M

0

C

C

U

Z

W

R

G

D

s

0

N

S

A

W

C

z

s

N

Y

N

w

S

X

B

O

U

Y

W

R

H

E

M

G

X

E

L

H

E

z

C

u

B

A

A

H

Y

U

s

E

D

Q

F

N

z

Y

L

N

S

B

T

B

tions that is quicker to execute than to ex-plain. Using the demonstration keywordsquare and the demonstration messageyields:

Table 6: The two messages shown here were sent by coastwatchers in theSouth Pacific during World War II. The first message uses "ROYAL NEWZEALAND NA VY" as the key and the second message uses "PHYSICALEXAMINATION. " These messages follow the Play fair cipher rules exceptthat letter pairs, when falling in a digraph, were left unenciphered.

important contribution to cryptographymade by Charles Wheatstone of electricalmeasurement fame. Reference is made hereto the famous Play fair cipher (named,ironically, after the man who enthusiasticallypromoted Wheatstone and his idea). Theciphertext alphabet is written as in themonoalphabetic example but is reformattedto a 5 by 5 square with I,J occupying thesame cell and used interchangeably. Ourdemonstration key would yield:

P A T R l/JC Z L 0 NK B D E F

GHMQSU V W X Y

Enciphering is done by letter pairs withthe following four rules:

• If the plaintext pair falls in the cornersof a square, use as the ciphertext theother two corner characters taken incorresponding row order.

• If the plaintext pair falls in the samerow, take as the ciphertext the charac-ters immediately to the right of eachplaintext character in order. Considereach row to have cylindrical continua-tion so that the character to the rightof the last character in a row is thefirst character of that row.

• If the plaintext pair falls in the samecolumn, take as the ciphertext thecharacter immediately below eachplaintext character in order. Considereach column to have cylindrical con-tinuation so that the character belowthe last character in a column is thefirst character in that column.

• Encipher double letters by inserting anX between the letter pair in the plain-text.

Deciphering merely reverses the aboveprocedure. We have here one of those opera-

H T U V A

P N D R X

Q O O K L

P Z R L O

KTFAID L I U II N C R IF N C N W

This digraphic substitution procedurecan be very effective considering its relativesimplicity. The reasons for this may be seenfrom the fact that while there are only 26characters in the alphabet, there are 676digraphs (combinations of two letters). Thehighest letter frequencies are 12% (E) and9% (T). The highest digraph frequencies are3l/4% (TH) and 2Vi% (HE). The cryptanalystthus faces many more entities with a muchmore uniform frequency distribution in thePlayfair than in the character-for-characterprocessing examples given previously.

The Playfair can, of course, be broken,and had the Japanese done this in World WarII for the two cryptograms in table 6, thecourse of contemporary American historymight have been radically changed. Thesecryptograms were sent by coastwatchers inthe South Pacific. There is no clear call toaction as far as the first message is con-cerned. However, the reader must surelyagree that the second message requiredimmediate action. This is especially truesince the Japanese had adequate vessels andtroops in the area to resolve the matterwithout difficulty. Both messages followthe Playfair rules except that letter pairs,when falling in a digraph, were left unen-ciphered. Even though these messages were(apparently) not deciphered and acted upon,military history is replete with examples inwhich the course of events was dramaticallychanged by poor cryptographic practice orby brilliant cryptanalysis. (These messagesare taken from the Kahn reference whichcontains fascinating stories of this type.)

Vernam Cipher

The only cipher generally accepted asbeing absolutely secure is the invention ofan American, Gilbert S Vernam. His systemis known in the trade as the onetime key oronetime pad. Some perspective on the con-tribution made to cryptography by this manmay be gained by noting that his system, forwhich patents were filed in 1918, is thestandard system used today, 61 years later,on the Washington to Moscow hot line.Vernam's work involved Exclusive ORoperations with a random binary key. Anequivalent set of operations is presented

60

March 1979 O BYTE Publications Inc

Learn MICROPROCESSOR OPERATION, INTERFACING

and PROGRAMMING faster,easier and at less cost

with the HEATHKIT'

Microprocessor | S^'55

Self-Instruction Program

and Computer Trainer

.fisSM£asS5S«s«

Here's the newest, easiest and lowest-cost self-in-struction microprocessor program ever! What's more,it's the fastest way to really learn about this fascinatingfield with applications in every phase of our everydaylives. From automotive diagnostics to the microwaveoven in the kitchen to the computers that are taking onmore jobs in the home, schools, government, businessand industry every day!

Working with the popular 6800 microprocessor, you'llexplore this exciting field using proven self-instructiontext materials. You'll learn about micro-computer basics,number systems and codes, computer arithmetic, pro-gramming, 6800 capabilities and interfacing and more.With the aid of audio visuals included, you'll go deeperinto programming, designing with microprocessors andsemiconductor memories. And you'll actually perform awhole series of "hands on" experiments with the op-tional trainer designed to reinforce the theory you'vemastered to that point!

The ET-3400 Trainer kit, designed to accompany yourprogram, features the popular 6800 microprocessor. It isactually a miniature digital computer in itself, completewith a: 1K ROM monitor program; 6 digit LED display foraddress and data readout; 17-key hexadecimal keyboardfor entering programs, data and control; 256 bytes ofRAM (expandable to 512 bytes with the chips suppliedin the course); breadboarding socket; 8 buffered LED'sfor display of logic states; 8 SPST switches for binaryinput plus an on-board power supply with +5, +12 and— 12 volt outputs.

The Program comes complete with 62 electronic com-ponents, including a 6820 PIA, two 2112 RAM's, a 1406digital-to-analog converter, 741 and 301 op amps andmore. Includes audio visual aids such as an audio cas-sette, colorful flip charts and programmed learning textmaterial in two deluxe permanent binders.

Complete the optional exam and receive a Certificateof Achievement and 8.0 Continuing Education Units(CEU's) — a nationally accepted means of recognizingparticipation in non-credit adult education. (Note: Micro-processor Program requires completion of Digital Tech-niques Program or equivalent knowledge.)

ORDER ETS-3400 SOA095

(Program and Trainer kit) Z©T

(Add $4.54 shipping and handling)

ORDER YOUR PROGRAM WITHIN THENEXT 30 DAYS AND GET THIS BONUSPQFP SOLDERING

rKfct iron!

A Comparable $7.95 Value!

MAIL COUPON TODAY!

Circle 160 on inquiry card.

W^

%£m*.

■ /*%*■

FOR THOSE WHO NEED

DIGITAL TECHNIQUES TRAINING...

Comprehensive Digital Techniques Program — the background you need tounderstand computer and modern electronic technology! Digital fundamen-tals, semiconductor devices for digital applications, Boolean algebra, flip-flops and registers, sequential and combinational logic circuits, digital de-sign and an introduction to computers and more! The program includes pro-grammed instruction text, audio-visual aids, parts for experiments and more.The program includes programmed instruction text, audio-visual aids, partsfor experiments and more. Digital Design Experimenter/Trainer lets you per-form all the experiments in the program, then develop and test your ownprojects. Features solderless breadboard sockets, 4 binary data switches, 2"no bounce" switches to pulse logic circuits, 3-frequency pulse clock gen-erators, 4 LED's for visual indication of logic states plus 3 regulated powersupplies. Upon completion of the optional final exam, you receive a Certifi-cate of Achievement and 4.0 Continuing Education Units. S10095

ORDER EES-3201 (Program and Trainer Kit) OX"

(Add $3.94 shipping and handling)

SAVETIME

HEATH

ORDER BY PHONE!Call (616) 982-3411

anytime day or night

Schlumberger

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

Gentlemen: Please send me the item(s) checked below and include my ■FREE Soldering Iron (GDP-1105).

□ Microprocessor Program and Trainer Kit (ETS-3400) $269.95 I

( + $4.54 shipping & handling) *

□ Microprocessor Program only (EE-3401) $89.95 |

( + $3.09 shipping & handling) _

□ Digital Techniques Program and Trainer Kit (EES-3201) $129.95 I

( + $3.94 shipping & handling) ■

; OR,

I enclose □ check Q money order for $_

(Michigan residents, add 4% sales tax)

CHARGE to my □ VISA/BankAmericard □ Master Charge

Account # Exp. Date

Master Charge Code #

Signature

NAME

(Necessary to send merchandise)

I

_■

I

I

■

-I

_■

I

Prices and specifications subject to change without notice.

Prices are mail order net F.O.B. Benton Harbor, Michigan. ED-121 5

BYTE March 1979 61

(Please print)

ADDRESS.

encipher

key:

plaintext:

ciphertext:

decipher

15(P)

+12(M)

KB)

0(A) 19(T)

+0(A) +24(Y)

0(A) 17(R)

17(R)

+20(U)

1KL)

8(1)

+15(P)23(X)

ciphertext:

KB)

0(A)

17(R)

1KL)

23(X

key:

-15(P)

-0(A)

-19(T)

-17(R)

- 8(l)

plaintext:

12(M)

0(A)

24(Y)

20(U)

15(P)

Table 7: When all letters of the alphabet are numbered sequentially, messagesmay be enciphered and deciphered by adding together the numerical values ofthe plaintext and the keyword (modulo 26) to obtain the ciphertext. Thedeciphering process is performed by subtraction.

here except that a different base for theresidue arithmetic is used.

Return now to table 3. Let the lettersof the alphabet be replaced by the numbers0 through 25. That is, A = 0, B = 1, C = 2, . . .,Y = 24, Z = 25. When this is done it will beimmediately noted that in numerical formeach of the ciphertext alphabets is equal tothe plaintext alphabet plus the value of theciphertext alphabet designator, modulo 26.In residue arithmetic all numbers lie in therange of 0 to 1 minus the base value. Thebase is repeatedly added to or subtractedfrom any arithmetic result until this rangeis achieved. For example, alphabet D (value3) equivalents are obtained by adding3 to the plaintext or alphabet A values. Oncethis numerical format is established, tablessuch as that of table 3 are no longer needed,since encipherment and decipherment maybe done as shown in table 7 by simple addi-tion and subtraction. The arithmetic used inthis case is modulo 26.

Vernam realized that under heavy trafficloads substitution ciphers all broke down viathe Achilles heel of the key, be it repeatingkeyphrase, coherent running key, or auto-key. His solution to the problem was to gen-erate a truly random key, make two or morecopies, and arrange for the used key to bedestroyed at both ends of the system afterfirst use. In some cases the key is in papertape format and a knife is provided at theexit position of the paper tape reader so thatthe keytape is destroyed automatically assoon as it is read (ie: a onetime tape). Inother cases the key is written on pads ofpaper (digits 0 thru 9, base 10 system) andthe sheets of the pad are torn off anddestroyed as soon as each is used (ie: aonetime pad).

Trap Door Operations

The bulk of the open literature in thefield of cryptography today takes us chron-ologically to the end of World War II. Thestate of cryptographic art at that time was

represented by the mechanical and electro-mechanical cipher machines. Some punchcard sorting mechanization for cryptanalysisis also occasionally referenced. The securitycurtain has since fallen, and quite obviouslythat curtain hid a revolution in cryptographybrought about by solid-state digital data pro-cessing technology. Until very recently thisconcrete curtain quietly separated two co-existing computer user groups. The emer-gence of large commercial data networks andthe need for preserving the privacy of data intransmission and storage has resulted in cryp-tographic work on both sides of that curtain.Topics such as the one reviewed in this sec-tion have apparently opened an uneasy dia-log between these two groups.

Residue arithmetic, as used by Vernamand demonstrated in the simple example ofthe previous section, plays a key role insome recent cryptographic techniques thathave been disclosed. In these techniques theencryption key (which can be made public)is comprised of a pair of positive integers(E,N). The message is first converted by anyconsistent means to some integer number Mbetween 0 and N-1. The encryption processis then:

C=ME (modulo N)

0)

The message number M is raised to the powerE, the result is divided by N and the re-mainder forms the ciphertext number C,which represents the cryptogram. (In onepublished example, E = 9007 and N is 129decimal digits in length. This is residue arith-metic with a vengeance!)

The deciphering key (which is keptsecret) involves two integer numbers (D,N),and the decryption process is:

M = CE (modulo N)

(2)

The ciphertext value C is raised to the powerD, division by N is then done, and the re-mainder is the original message number M.This can be converted back to alphanumericformat for final delivery.

A 3 step process is used to generate N,DandE.

• Generate two random prime numbersP,Q (of the order of 100 decimal digitseach in a practical system) and let N =PXQ. Thus N is typically a 200 decimaldigit composite number.

• Select number D to be relatively primeto (P-1) X (Q-1). Any prime numbergreater than both P and Q is a possibleselection.

• Select an E value such that the productE X D equals unity, modulo the prod-uct (P-1) X (Q-1).

62

March I979 0BYTE Publications Inc

Our Two Bits

Bit Pad Bit Pad ® mBit Pad Bit Pad @mBit Pad Bit Pad ®mBit Pad Bit Pad ®mBit Pad Bit Pad ®m

Bit Pad ®mBit Pad

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.

tSumnwdiophicd

~ * corporation

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

Dealer inquiries invited

Circle 358 on inquiry card.

BYTE March 1979 63

SMOKE SIGNAL BROADCASTINGPRESENTS IT'S NEW...

8-INCH FLOPPY DISK SYSTEM

• SS-50 Bus Compatible

• 500K Bytes of Online Storage

• Expandable to 1 Megabyte

• Completely Software Compatible withExisting BFD-68 Mini-Disk Systems

Users that"require at least 500K of online datastorage will find the LFD-68 floppy system fits' the bill. This system uses standard 8-inch floppies toprovide this increased capability. The controllerprovides the capability of supporting up _^^&

to four 8-inch drives for a maximumsystem capacity of over 1 megabyte ofonline storage. This system is completekwith system software and availablein two configurations. The LFD-68-1,a^one drive system and the LFD-68-2, a two drive system.

LFD-68-1 $1395.00 LFD-68-2 S1895.UCL

real Tun 500Kol' storage will find ihn LFD-GB lloppy system litsi'lhe bill. This [yilem uses standard 8 inch Happies lo

;his increased capability. The Iuides itie capability ol luppnrting up

jnligurstions. The LFD-6B-

'e system and the LFDG3-2, a twodriw-iyitam.

LFD68-1 LFD-fiB-2

-S1395.Q0 ttffc tliRtt

pAsk about ourtew DFD-68-2 withtwo 8-inch double sidedf floppy disk drives with 512K

0 bytes of storage per drive and

capability of adding additional

1 drives to provide over 2 mega-Abytes of online storage

ISMOKE SIGHAL PBBOAMASTIHG*

31336 Via Colinas, Wesilake Village, CA 913611213)889-8340

SMOIE SI6IAL

□ Send informatioDSund na

n your LFD—68 Systemsol nearest dealer

BROADCASTS*

\ 91381. (213) 889 93-10

Circle 328 on inquiry card.

This cryptographic process is novel inthat knowledge of the enciphering process(E,N) does not reveal the deciphering pro-cess (D,N). The terms one-way and trap doorhave been applied to such operations. This isto be compared to the cryptographic pro-cesses we have been discussing in whichknowledge of the key allows one to go ineither direction between plaintext andciphertext with equal ease. Consider nowtwo parties to a transaction: a customer Cand a bank B. Let Ec and Eb be the (public)encryption processes of the customer andbank, respectively. Let Dc and Db be the(secret) corresponding decryption processes.

The customer may take a funds transferorder T in plaintext and apply his secretdecoding operation to it to produce Dc(T).This transformation may be converted byanyone back to T by applying the publicEc operation. For transmission to the bank,however, the customer encrypts Dc(T) byapplying the bank's (public) encryptionoperation Eb. Thus

Eb[Dc(T)|

is transmitted to the bank. Interception ofthe message at this point may be toleratedsince only the bank can decipher the Eboperation. Once this is done the bank hasDc(T) to which the bank may easily applythe customer's public encryption operation,Ec, to obtain the plaintext T. That is:

T=Ec(Dc(T))]

(3)

is done at the bank.

Three important features are to be noted.First, the data was protected in transit by thebank Eb operation. The bank is sure of thesender's identity from equation (3) becauseonly c knows the backward Dc operationwhich was applied toT. Also the bank cannotalter T after receipt since Dc(T) stands as ver-ification. The bank cannot produce a Dc(T')to correspond to some altered T' fundstransfer order.

The security of these systems is dependentto a great extent on the computational diffi-culty of factoring the compound number N.It is claimed that this procedure is computa-tionally in feasible for sufficiently large valuesof N using the best algorithms and the fastestcomputers. (The presentation in this sectionfollows very closely material recently pub-lished by R L Rivest and his associates atMIT.)

In part 2 of this article I will discussprogram Crypto which performs substitutionand transposition. This part shows how acalculator can be converted to a field ciphermachine of significant capability."

64

March 1979 ©BYTE Publications Inc

Build your own microcomputer

as you learncomputer technology at home.

New from NRI! The Most Complete and Up-to-date Home Study Course Ever Offered

As the microprocessor revolutionizes thecomputer world and microcomputers appearalmost everywhere, NRI brings you a new,convenient, and effective way to keep up withthis expanding technology. It's NRl's ComputerTechnology Course, created and designed exclu-sively for learning at home in your spare time.

Featuring NRI's ExclusiveDual Language Microcomputer

NRI goes beyond book learning togive you practical, "hands-on" experience indesigning circuitry, interfacing components,programming, and troubleshooting. As youlearn, you actually assemble NRI's designed-for-learning microcomputer, incorporating the latestadvances in the state of the art. It looks andoperates like the finest of its kind, actually doesmore than many commercial units. But NRIengineers have designed components andplanned assembly so it demonstrates importantprinciples, gives you working experience in detect-ing and correcting problems. And it's yours tokeep, put to work in your own home or business.

You also build and keep your own testinstruments, including a transistorized volt-ohm meter and CMOS digital frequency counter.And NRI's Discovery Lab® broadens yourhorizons with specialized experiments andtheory demonstrations.

The Proven Wayto Learn at Home

You don't have to worry with travel,classes, or time lost from work when you learnthe NRI way. As they have for more than 60

years of teaching technical subjects, NRI bringsthe material to you. You study in your spare time,at your convenience, using "bite-size" lessonsthat program material into logical segments foreasier assimilation. You perform experimentsand build equipment using kits we supply. Andyour personal NRI instructor is always availablefor consultation should you have questions orproblems. Over a million students have alreadyshown the effectiveness of NRI training.

Choice of Courses

Several courses are available, dependingupon your needs and |~ ~~ ~ ™~ ~™background. NRI'sMasterCourse in ComputerTechnology starts withthe fundamentals, ex-plores basic electronicsand digital theory, thetotal computer world,and the microcomputer.The Advanced Course,for students alreadyversed in electronicsand general comput-ers, concentrates on themicroprocessor and mic-rocomputer. In bothcourses, you build allinstruments and yourown computer.

Send for Free Catalog...No Salesman Will Call

Get the details on these exciting newcourses in NRI's free, 100-page catalog. Showsall kits and equipment, lesson outlines, and fullinformation, including facts on other electronicscourses. Mail the coupon today and we'll rushyour catalog. No salesman will ever call. Keep upwith the latest technology as you learn on yourown computer. If coupon has been removed,write to NRI Schools, Computer Department,3939 Wisconsin Ave., Washington, DC. 20016.

NRI

tin*

NRI Schools

McGraw-Hill Continuing

Education Center3939 Wisconsin AvenueWashington, D.C. 20016

NO SALESMAN WILL CALL

Please check for one free catalog only,

All career coursesapproved under Gl Bill.D Check for details.

□ Computer Electronics IncludingMicrocomputers

D TV/Audio/Video Systems ServicingD Complete Communications Electronics

with CB • FCC Licenses • Aircraft,

Mobile, Marine Electronics

□ CB Specialists Course

□ Amateur Radio • Basic and Advanced

□ Digital Electronics • ElectronicTechnology • Basic Electronics

□ Small Engine Repair

□ Electrical Appliance ServicingD Automotive Mechanics

□ 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

Circle 284 on inquiry card.

170039

BYTE March 1979

65

The StandardData Encryption Algorithm

Part 1: An Overview

Robert V Meushaw

4188 Brittany Dr

Ellicott City MD 21043

Recently, I have seen many articles de-scribing new commercial encryption equip-ment using the Standard Data EncryptionAlgorithm. There have also been recentannouncements of integrated circuits, likethe Intel 8294, which implement the stand-ard. The Standard Data Encryption Algo-rithm has been published by the NationalBureau of Standards for use in the protec-tion of computer data. The algorithm isdescribed in FIPS Publication 46, availablefrom the US Department of Commerce.After months of being bombarded withpublicity regarding the encryption method,it finally struck me that I had found a per-fect project for my KIM. The challengebecame to implement the algorithm withthe basic memory provided and to achievesufficient processing speed to make itpractical for use by others. Along the way,I hoped to investigate the advantages anddisadvantages of the 6502 in performingthe necessary tasks.

Cryptography Basics

Cryptography involves the use of ascheme to transform intelligible text into anunintelligible form and to later recover theoriginal text. The transformation process isknown as encryption and the recovery pro-cess is known as decryption. Cryptographictechniques have been used for centuries toallow individuals to communicate withoutfear of outsiders discovering what they aresaying. The individuals who communicategenerally possess a cryptographic key which

controls the encryption and decryption pro-cess. Unless someone knows the key used toencrypt the data, he or she will not be ableto correctly decrypt the data. The numberof possible keys is usually made so largethat it is impractical to try decrypting thedata using all key possibilities. It must beclear that the critical factor in protectingthe data is the secrecy of the key used.

The cryptographic technique employed inthe Standard Data Encryption Algorithm isknown as a codebook. In this case, a 64 bitblock of data is transformed to a corre-sponding 64 bit block of data known as acipher. Each time a particular set of data isprovided as input, the same cipher will result:assuming the same key is used. The StandardData Encryption Algorithm uses a 56 bit keyto control the encryption. As mentionedbefore, this was chosen to give a large num-ber of possible keys (ie: 2 ). Some esti-mates have been made that it would require,on the average, approximately 2500 years ona general purpose computer significantlyfaster than a CDC 7600 to examine all 2sk(ie: 7.2 X 10 ) possible keys in order todetermine the particular key used to encrypta block of data.

Restrictions

The National Bureau of Standards posi-tion on the implementation of the StandardData Encryption Algorithm is that softwareimplementations are not in compliance withthe standard. The standard, however, appliesto use on federal systems, not private com-

66

March 1979CBBYTE Publications Inc

puters. If you have any reservations con-cerning your intended use of this method,check the applicable regulations.

Algorithm Overview

A very simple diagram of the operationsinvolved in the encryption algorithm isshown in figure 1. The input (plaintext) isfirst subjected to an initial permutation op-eration, which reorders the bits. Most of thework of the encryption is done in the boxlabeled product transformation. Details ofthis transformation will be described later.The block transformation is a simple ex-change of the left and right 32 bits of data.The last step is a permutation operationwhich is the inverse of the initial permuta-tion operation. The output of this step isthe ciphertext.

In case you're wondering where the keycomes in, it is the controlling factor in theproduct transformation. Note also the rela-tionship of the initial permutation to itsinverse. The fact that they are inversesmeans that if you perform an operationusing a function and then reorder againusing the inverse of the function, the resultwill be the original word. Of course the samething occurs if the inverse and then the func-tion is applied to the word. Tables 1 a and 1 bshow the permutation tables for the initialpermutation and its inverse. The permuta-tion operation should be interpreted asfollows: proceeding from left to right, bit 1of the permuted word is bit 58 of the input,bit 2 of the permuted word is bit 50 of theinput, etc. I was originally confused aboutthe numbering scheme chosen for the bits,since I was accustomed to bits being num-bered 0 thru 7 going from right to left. Thecorrespondence between the Standard DataEncryption Algorithm numbering schemeand typical computer numbering is depictedin figure 2.

Algorithm Operation

A more detailed diagram of the encryp-tion algorithm is provided in figure 3. Thebasic operations are quite straightforward.What is shown is basically an expansion of theproduct transformation box from figure 1.

Let's look at the basic operations involvedafter the initial permutation. The 64 bits ofpermuted input are split into two groups of32 bits each, called left (L) and right (R).The subscripts on L and R indicate the itera-tion of the algorithm. The first thing thatoccurs is the generation of K1. K1 is known

PLAINTEXT

CIPHERTEXT

64 BITS INPUT

(

)

INITIALPERMUTATION

PRODUCTTRANSFORMATION

BLOCKTRANSFORMATION

(

)

INVERSE

INITIAL

PERMUTATION

64 BITS OUTPUT

Figure 1: An overview of the Standard Data Encryption Algorithm.

(la)

58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7

(1b)

40

8

48

16

56

24

64

32

39

7

47

15

55

23

63

31

38

6

46

14

54

22

62

30

37

5

45

13

53

21

61

29

36

4

44

12

52

20

60

28

35

3

43

11

51

19

59

27

34

2

42

10

50

18

58

26

33

1

41

9

49

17

57

25

Table I: Permutation tables for the initial and inverse initial permutation (laand lb respectively). The initial permutation table is read as follows: bit 1 ofthe input goes to bit 58 of the output, bit 2 of the input goes to bit 50 of theinput, etc.

I 2 3...

. 62 63 64

11

07

07

07

07

BYTE 0

BYTE I

11

BYTE 6

BYTE 7

STANDARD DATAENCRYPTION NOTATION

TYPICAL COMPUTERNOTATION

Figure 2: Corresponding numbering between the Data Encryption Standardand typical microcomputer bit numbering.

March 1979 ©BYTE Publications Inc 67

PLAINTEXT

as thesubkey, and is generated directly fromthe encryption key. In fact, each Ki is gen-erated from the key. Don't worry yet aboutexactly what each Ki is or where it comesfrom — that will soon be explained. A func-tion, f(R0, KI), is now generated using K1and RO as inputs (again, the details will beexplained shortly). The next operation is themodulo 2 addition (ie: exclusive OR) off(R0, K1) to LO. Therefore, LO ® f(R0, KI)replaces the old LO. Finally, the current left-most 32 bits are exchanged with the currentrightmost 32 bits. This completes one itera-tion of the algorithm and involves all thebasic operations. To complete the producttransformation, the steps above are repeatedas shown in figure 3. The encryption processis completed by performing the block trans-formation and the inverse initial permuta-tion operation.

An important fact about the modulo 2addition step is that it is reversible. Thisreversibility allows the decryption processto recover the original plaintext. In fact, asI will show, you can use the same algorithmsteps to do the decryption as you used forencryption.

Something for Nothing?

r"

_i_

RI5=LI4eA(RI4,KI5)

i> &

LI6=RI5

RI6

= LI5<BMRI5,KI6)

I

1

c

1

'

BLOCKTRANSFORM

'

1

INVERSE

INITIAL

PERMUTATION

)

'

'

CIPHERTEXT

64 BITS OUTPUT

In case my arguments of the simplicityof the Standard Data Encryption Algo-rithm haven't convinced you, I should pointout that it wouldn't be fair to expect 2500'!: ;» years of protection from an algorithm which

wasn't somewhat involved. Figures 4a and4b provide illustrative examples of theencryption and decryption processes. I haveused only two iterations in the producttransformation, but the principle is the samefor 16 iterations. Note in particular how thesame algorithm is used for decryption, ex-cept that the subkeys are applied in reversesequence. In figure 4b, the results of eachtransform are shown after the modulo 2addition. For example, the first transformresults of L1 are obtained by computingR2 © f(L2, K2) = [LI e f(R|, K2)] ©f(R1, K2) = L1. Remember how modulo 2

Figure 3: A detailed operation of the Standard DataEncryption Algorithm encryption process. Note thatthis flow diagram (and the following flow diagrams)do not use standard flowchart symbology.

68 March 1979 © BYTE Publications Inc

(4a)

(4b)

PLAINTEXT

INITIALPERMUTATION

CIPHERTEXT

INITIALPERMUTATION

TRANSFORM {

SWAP {

TRANSFORM <

SWAP

0

LOe/(RO,KI)

LI-RO

LleC(RI,K2)

L2 = RI

)- (^

RI«LO«)t(RO,KI)

d> ©~

R2=Llef(RI,K2)

"0

R2 = LI*|'(RI,K2)

O

RIELOef (RO.KI)

0

> (£>

i> $y

LI5RO

LO

"©

BLOCKTRANSFORM

R2

L2

INVERSE

INITIAL

PERMUTATION

CIPHERTEXT

BLOCKTRANSFORM

\

'

LO

RO

'

1

INVERSE

INITIAL

PERMUTATION

PLAINTEXT

Figure 4: A simplified encryption and decryption process using the Standard Data Encryption Algo-rithm. Figure 4a shows a plaintext message being processed into a ciphertext and figure 4b shows theinverse process. Although only two iterations of transformation and swapping are shown, 16 are actuallyperformed.

March 1979 ©BYTE Publications Inc 69

addition works. Following the decryptionthrough figure 4b, you can see how theencryption steps are reversed. The result isthe original plaintext.

Algorithm Details

In order to program the encryption algo-rithm, it is necessary to understand thedetails of two operations that I have alludedto. The first is the generation of the subkeysKl, K2, . . . K.16; the second is the generationof the function f (R,l<).

Subkey generation is depicted in figure 5.The process starts with the 64 bit key thatyou provide for the encryption. Actually,only 56 of these bits are used; the remainingeight can be used as parity bits. The firsttransformation of the key is called permutedchoice 1. Permuted choice 1 permutes the56 bit key and also regroups it into two 28bit words, called CO and DO. The generationof subkey Kl is done by circular shiftingboth CO and DO left and then permuting

computer mart of new jerseycomputer mort of Pennsylvania

the

microcomputer

people"

Computers don't make ocomputer store, PEOPLE do. Ourpeople hove been involved withmicrocomputers since day one.We offer experience andexpertise unparalleled in themicrocomputer industry. Whetheryou are in the market for acomplete system, peripherals,custom software, service, or justsome friendly advice; there simplyis no other place to go.

...putor Mart of N«w Jorsoy

501 Rout* 27iMlln. HJ 08800(201)380-0600

Tu»>. & TheCLOSED MONDAYS'

Computer Mart of Pennsylvania

350 DoKolb Plk.

Klna of Pruillo, PA 19406

(315)269-2580

64 BIT KEY

PERMUTEDCHOICE

28 BITS

28 BITS

CO

X

DO

CIRCULAR LEFTSHIFT I BIT

CIRCULAR LEFTSHIFT I BIT

PERMUTED

CHOICE

2

©

CIRCULAR LEFTSHIFT I BIT

CIRCULAR LEFTSHIFT I BIT

C2

3:

PERMUTED

CHOICE

2

©

CI5

DI5

i

1

' CIRCULAR LEFTi SHIFT 1 BIT

)

CIRCULAR LEFT ', SHIFT 1 BIT j

*

1

CI6

DI6

1

1

■*■

f PERMUTED \( CHOICE J

Figure 5: A process flow diagram showinghow subkeys Kl thru K16 are producedfrom a single key.

70

March 1979©BYTE Publications Inc

Circle 66 on inquiry card.

Get the BIG NEW 2nd Edition

of The Computer Data Directory.

Absolutely FREEH (A $6.00 value!)

It's the first true microcomputer shopping guide. Loaded withadvertisements, photos and useful information on thousands ofcompanies and products. Over 150 pages. There's nothing else likeit anywhere! You can get your free copy by filling out the questionnaireand mailing it to us. Do it today. Offer expires May 15, 1979

Second edition will be printed and mailed Summer 1979

Foreign orders (except Can-ada) must include $2.00 forpostage.

Offer void where prohibited

1st Edition

Still Available

Only $5.98 ppd

Please limit:One book per familyCompanies — one per department(one per questionnaire)

Questionnaire

Please type or print clearly

Send to:

The Computer Data Directory

P. 0. Box 598

Cleveland, Ohio 44107

(216) 221-5440

Name

.Title.

Company.Address _City

Phone J_

□ Business

a Home

State

.Z'P.

Signature.

Date.

Occupation :

A. D Professional

B. □ Engineer

C. □ Business

D. a Education

You must answer all questions for FREE offerMain interest:

E. □ Student

F. D Hobbyist

G. D Other

My system brandnames include:

Processor Memory.

Mainframe Disk

Software Other

Approximate investment to date: $

My system is/will be used for:

A. D Business only}): D. D Education

B. D Hobby only E. D Research and Development

C. □ Business & Hobby F. □

ije If for business, what applications do you use now?

A. D Accounting/Inventory D. a Legal

B. D Word Processing E. □ Engineering

C. D Medical F. □

5|e Which ones do you plan for the future:A. □ B. D C.n D. D E. □ F. D

What type of business?How many employees?

A. a Hardware B. □ Software C. □ Both

Do you write your own software?

A. D All B. □ Most C. □ Some

D. a None

In order of preference, what would you like to see in ournew shopping guide?

A. Advertisements E. Computer Stores

B. Product Descriptions F. Computer Clubs

C. Product Photos G. Reader Service Card

D. Suggested Systems H.

What will you use our guide for?

A. □ Product Comparisons C. □ Research

B. □ Price Comparisons D. □ Marketing

Which of these magazines do you read?

A. a Byte

B. □ Creative Computing

C. □ Computer Dealer

D. □ Computer Retailing

E. D Kilobaud

F. □ Interface Age

G. □ On.Line

H. D Personal Computing

I. □ Computerworld

J. □ Computer Decisions

K. ii Small Business Computers

L. D

Tell a Friend

Companies...Do we have your product information?

Call or write today!

Circle 69 on inquiry card.

BYTE March 1979

71

Table 2: Tables for usingpermuted choice 1 andpermuted choice 2 (table2a and 2b respectively).The permuted choice Itable (table 2a) is used todevelop CO and DO fromthe key. Bits 8, 16, 24, 32,40, 48, 56, and 60 of thekey are not used. Thepermuted choice 2 table(table 2b) is used todevelop subkey Ki from Ciand Di.

(2a)

64 Bit Key

57

49

41

33

25

17

9

1

58

50

42

34

26

18

10

2

59

51

43

35

27

19

11

3

60

52

44

36

CO

28 Bits

63

55

47

39

31

23

15

7

62

54

46

38

30

22

14

6

61

53

45

37

29

21

13

5

28

20

12

4

DO

28 Bits

Ci

Di

28 Bits

28 Bits

(2b)

14

17

11 24

1

5

3

28

15 6

21

10

23

19

12 4

26

8

16

7

27 20

13

2

41

52

31 37

47

55

30

40

51 45

33

48

44

49

39 56

34

53

46

42

50 36

29

32

Sub

<ey Ki

48 Bits

Number

Iteration

of Circular

Number

Left Shifts

1

1

2

1

3

2

4

2

5

2

6

2

7

2

8

2

9

1

10

2

11

2

12

2

13

2

14

2

15

2

16

1

32 BITS

SELECT E

Table 3: A summary of the number of leftcircular shifts applied to Ci and Di at eachiteration of subkey generation.

48 BIT RESULT

48 BIT SUBKEY

♦♦♦♦♦♦

f SI J ( S2 J ( S3 J ( S4 J ( S5 J ( S6 ) ( S7 J ( S8 J

♦ ♦♦♦

till

TTtt

tttt

PERMUTATION P

32 BIT RESULT

f (R,Ki)

Figure 6: Details of thefunction f(R,Ki). Notethat each mapping func-tion SI thru S8 changes a6 bit input to a 4 bitoutput.

72 March 1979 © BYTE Publications Inc

CI and D1 using permuted choice 2 to forma 48 bit subkey. Permuted choice 1 andpermuted choice 2 are shown in tables 2aand 2b. Each successive subkey is generatedin the same way: by shifting Ci and Di left(by one or two bits) and then using permutedchoice 2. Table 3 shows the number of leftshifts to be applied to Ci and Di for eachiteration in the subkey generation.

Once K1, K2, . . ., K16 have been gen-erated, it is not necessary to generate themagain until the key is changed. The sameset of subkeys is used for each encryptionand decryption operation shown in figures4a and 4b.

The final operation to understand isf (R,K), depicted in figure 6. The firstoperation is called select E. This is really a

permutation operation similar to the initialpermutation operation previously discussed,except that the result has more bits than theinput. Table 4 shows the select E permuta-tion table. The 48 bit result of this operationis then added modulo 2 to the subkey.This result is reduced to a 32 bit resultusing a set of mapping functions known asS1, S2, . . .,S8. These are used as shown infigure 6. Each group of six bits, going leftto right, is mapped into a 4 bit word using adistinct mapping function. The mappingfunctions are shown in figure 5, and anexample of how they are used is shown infigure 6. The six bits input to each S map-ping function are used to generate a rowaddress and column address as shown. Theselected matrix entry is converted from its

14

4

13

1

2

15

11

8 3

10

6

12

5

9

0

7

0

15

7

4

14

2

13

1 10

6

12

11

9

5

3

8

4

1

14

8

13

6

2

11 15

12

9

7

3

10

5

0

15

12

8

2

4

9

1

7 5

s2

4 9

11

3

14

10

0

6

13

15

1

8

14

6

11

3

7

2

13

12

0

5

10

3

13

4

7

15

2

8

14 12

0

1

10

6

9

11

5

0

14

7

11

10

4

13

1 5

8

12

6

9

3

2

15

13

8

10

1

3

15

4

2 11

S35 1

6

7

12

0

5

14

9

10

0

9

14

6

3

15

13

12

7

11

4

2

8

13

7

0

9

3

4

6

10 2

8

5

14

12

11

15

1

13

6

4

9

8

15

3

0 11

1

2

12

5

10

14

7

1

10

13

0

6

9

8

7 410 1

15

14

3

11

5

2

12

7

13

14

3

0

6

9

2

8

5

11

12

4

15

13

8

11

5

6

15

0

3 4

7

2

12

1

10

14

9

10

6

9

0

12

11

7

13 15

1

3

14

5

2

8

4

3

15

0

6

10

1

13

8 9

s56 8

4

5

11

12

7

2

14

2

12

4

1

7

10

11

5

3

15

13

0

14

9

14

11

2

12

4

7

13

1 5

0

15

10

3

9

8

6

4

2

1

11

10

13

7

8 15

9

12

5

6

3

0

14

11

8

12

7

1

14

2

13 6

s68 0

15

0

9

10

4

5

3

12

1

10

15

9

2

6

13

3

4

14

7

5

11

10

15

4

2

7

12

9

5 6

1

13

14

0

11

3

8

9

14

15

5

2

8

12

3 7

0

4

10

1

13

11

6

4

3

2

12

9

5

15

10 1113 3

14

1

7

6

0

8

13

4

11

2

14

15

0

8

12

9

7

5

10

6

1

13

0

11

7

4

9

1

10 14

3

5

12

2

15

8

6

1

4

11

13

12

3

7

14 10

15

6

8

0

5

9

2

6

11

13

8

1

4

10

7 91 10

5

0

15

14

2

3

12

13

2

8

4

6

15

11

9

3

14

5

0

12

7

1

15

13

8

10

3

7

4 12

5

6

11

0

14

9

2

7

11

4

1

9

12

14

2 0

6

10

13

15

3

5

8

2

1

14

7

4

10

8

13 15

12

9

0

3

5

6

11

Table 4: The Select Epermutation table. Theoutput contains more bitsthan the input in order tomatch length of subkey.

In

put to Select E

32 Bits

32

1

2

3

4

5

4

5

6

7

8

9

8

9

10

11

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

1

Outp

1ut from Select E

48 Bits

Table 5: Matrices for the selection functions SI thru S8. Each Si maps a 6bit input into a 4 bit output.

March 1979 ©BYTE Publications Inc

73

0 1 000 1

Table 6: Illustration of theuse of SI mapping func-tion. The middle four bitsof input give the columnindex. The first and lastbits are the row index. Thebinary value of the se-lected table entry is out-put.

v 00

^>

Row 01

Number

02

03

J

J

Input to S1

^V Column Number

10 11 12 13 14 15

14

4

13

1

2

15

11

8

3

10

6

12

5

9

0

7

0

15

7

4

14

2

13

1

J®

6

12

11

9

5

3

8

4

1

14

8

13

6

■Is

-^fl

15

12

9

7

3

10

5

0

15

12

8

2

4

1

7

5

11

3

14

10

0

6

13

10 10

Output from S1

Output from S1 thru S832 Bits

*

Table 7: Table for permu-tation P.

16 7 20 2129 12 28 17

1 15 23 265 18 31 10

2 8 24 1432 27 3 919 13 30 622 11 4 25

»

f(Ri, Ki)32 Bits

decimal representation to binary. A final32 bit permutation, P, is then performedas shown in figure 6 to give the outputf (R,K). Table 7 shows this permutationtable.

This completes the details of the StandardData Encryption Algorithm and shouldallow you to develop your own implementa-tion. My particular implementation for the6502 on the basic K1M-1 is given in part2. It should provide you with some interest-ing insights into program optimization."

rr

Everything you always wanted

°? _i

JE £ | HARDWARE

PRINTERS

X

\

to plug into your PET,APPLE or TRS-80*

Centronics 150 Ipm, of 20, 40or 80 char.(Upper/lower case).

• PI Parallel Model (cable, soft-ware, add $50) $448

SI Serial Model (cable, soft-

ware add $50) $549.

• Anderson-Jacobsen I/O Selectric,Bidirectional $995.

PET Graphics Ball . . . $200.RS 232C Serial Option. $200.TRS Graphics Ball . . . $100.

9 Expandor 123P impact withtractor feed $495.

W Integral Data IP-125 impact

Upper/lower case $795.

Pet, TRS-80 graphics optionwith 4 char, sizes, tractor feed$1195, Pet Modem, $320, Ser-

• ial Int. $98, (Apple $62),ft Apple Modem $120

MEMORY (Save $100 or more)

• 16K Dynamic RAM (TRS-80Specify keybd. or exp. intJ}14Q

(*but were afraid you couldn't afford)'

mvMtwm*

I6K RAM Board, options$435MicrotronJX djs<. system seen by TRSHBO With A/J 841?

Additional 8K $200

CONNECTORS, ETC.TRS-80 40 pin edge. $9.95.Exp. Int. Ext. cord$19.95+2*(Ft-2)IEEE or User Port w/cover$9.95

Cassette w/cover $4.95

Dual Stereo Cassette Deck Idealfor micro tapes w/prompting$250.C-10 Blank cassettes . . . $1.49Minidisks (5")..$4.95 10 for$40

CASE, FflH, 14 flHF PHR . SUP $£99

(FITS RLL HIHIFiOPPIES IHCL TBS-BB).t SHU5SRT SS48B SSftDIO SHACK 39K)..5349I PERTEC FDiBS (WRITE EITHER SIDE).§349* HIC80F0LIS {(MAD DENSITY 315K>...S399

i DS IVE CABLE 556.

t SIfiSLE DRIVE OWL* H/CAS"t COMPATIBLE MITH TftS-BB.

SOFTWARE

TRS-80:11. Data Management/Report Gen-erator Package (L-II-16K). Tape System:' $200; Disk System: $300. Give yourTRS-80 the editing features of a$4000+ BuTrough's TD800 series ter-minal. Automatic data entry and cus-tom reports. Generate completescreen graphics with full cursor con-trol. 2. MICROCHESS (LI or II-4K)$19.95. 3 difficulty levels. 3. State-ment renumbering and cross reference.IPET: I 1. Joystick Microchess-(needs dual joystick package)-$19.95Play against an opponent while yourPETchecks and saves moves. Options:Play by phone, play against your PET,2. Astrology:$14.95. 3. Statement re-numbering and cross reference:$9.95.APPLE IfTn. 3 Dimensional Maze(16K)$14.95. 2. Hi-Res GraphicsEditor (16K) $17.953. Statement renum-bering $9.95 (8K)

TOLL FREE

MICROLINE for:

Orders, TRS-80Tech. NewsletterInfo., free catalogue80d-523-455CrIn PA & CAN5)665-1112

Cash prices shown.Major credit cards accepted.M inimun shipping $2.50. Pa. residents add 6%.

Post Office Box Q, Dept. C Philadelphia, PA 19105

74

March 1979 ti BYTE Publications Inc

Circle 226 on inquiry card.

Color. VP-590 add-on Color Board allows programcontrol of 8 brilliant colors forgraphics, 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-560 EPROM Interface

Board 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 2 user defined keys! Selectable upper and lowercase. 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*

Auxiliary 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.

nc/i

Circle 322 on inquiry card.

BYTE March 1979

75

Continued from page 53

March 19-21, Modern Integrated Cir-cuits, George Washington University,Washington DC. This course is structuredto meet the needs of engineers, scien-tists, and technical managers who desirea better understanding of the latesttechnological advances in the area ofintegrated circuits. As such it examinesall aspects of integrated circuit tech-nology, starting from fundamental prin-ciples of construction and operation, tothe most recent devices, their character-istics and specifications. A significantpart of the course deals with the appli-cation of integrated circuits in linear anddigital systems. Specific topics to becovered include detailed design examplesof circuits using operational amplifiersand active filters, as well as computerarithmetic units, registers, and memories.Contact George Washington University,Continuing Engineering Education Pro-gram, Washington DC 20052.

March 19-21, Project Management forComputer Systems, Atlanta GA. Thisseminar is designed for the computeroriented professional responsible for thedevelopment and implementation ofcomplex EDP systems. The seminar willillustrate techniques for planning, imple-menting, installing, and controlling pro-jects. Contact The University of Chicago,Center for Continuing Education, 1307E 60th St, Chicago IL 60637.

March 21-23, Microcomputer Hardwareand System Design Seminar, HolidayInn, Palo Alto CA. Polytechnic Institutefor New York and the Institute forAdvanced Professional Studies are pre-senting this 3 day seminar for engineers,programmers and technical managerswith a working knowledge of digitalhardware design and familiarity with theunderlying concepts governing micro-processor operation, architecture, andsystems design. This seminar will coverthe operation, architecture, instructionset, and design techniques for 8 bitmicroprocessors. Contact Prof DonaldD French, Institute for Advanced Pro-fessional Studies, 1 Gateway Ctr,Newton MA 02158, (617) 964-1412.

March 25-28, Expo '79 Los AngelesMarriott, Los Angeles CA. Expo '79 isheld in conjunction with the 16thNumerical Control Society Annual Meet-ing and Technical Conference. ContactNumerical Control Society, 1800 Pick-wick Av, Glenview IL 60025, (312)724-7700.

March 26-28, Data Processing OperationsManagement, Houston TX. 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. Contact TheUniversity of Chicago, Center for Con-tinuing Education, 1307 E 60th St,Chicago IL 60637.

March 26-28, Minicomputers and Dis-tirbuted Processing, New York NY. Thisseminar will examine the uses, eco-nomics, programming and implemen-tation of minicomputers. Current hard-ware and software will also be evaluated.Contact The University of Chicago,Center for Continuing Education, 1307E 60th St, Chicago IL 60637.

March 26-30, Data Base Concepts andDesign, AMA Management Center,Chicago IL. Sponsored by the AmericanManagement Associations, this coursewill feature practical information to helpthe participant understand structure,concepts, design, software, and manage-ment. Contact American ManagementAssociations, 135 W 50th St, New YorkNY 10020,(212)586-8100.

March 27-29, The Midwestern ComputerExpo, McCormick PI, Chicago IL. Expo-sition by the leading vendors of dataprocessing equipment and services. Con-tact Lee Mulder, The Caravan Group,60 Austin St, Newton MA, (617) 964-4550.

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, WashingUniversity School of Medicine, 700 SEuclid Av, St Louis MO 63110.

April 5-6, 1979 Computer Users Con-ference, East Texas State University,Commerce TX. The theme of thisconference will be "Educating in aComputer Society." Contact HenriettaGale, conference coordinator, Dept ofComputer Science, East Texas StateUniversity, Commerce TX 75428.

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 60637.

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,Framingharn MA 01701.

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)53B-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 & 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, (201) 382-1318; Iselin: Computer Mart ot 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: Orem: John-son Computer Electronics, (801) 224-5361. VA:Alexandria: The Computer Hardware Store Inc., (703)546-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

March 1979 ©BYTE Publications Inc

• • • »•"-•• • • •

# • •.

Ill*

-Grade

•. •.

ing to add computermory is not much fun ifj don't get everythingu need.

Everything you need to up-grade yourTRS-80 to a 16K system.

• 8 tested and guaranteed 16K RAMs

' New programming jumpers • Easy-to-follow instructions

• 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 alfthe parts you'll need; 8prime, tested 16K. RAMs,along with concise step by

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 H+ 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 to your system for

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 Instruction. ,THACAAUDIO

Everything you need to up-grade yourApple II in blocks of 16K.

* 8 tested and guaranteed 16K RAMs

• New Memory Select Units

• Use only a household screwdriver.

* Easy instructions ,_. ,.--

These Simple Up-Grades

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 March I979

Geta

Not just a machinethat emulates one.

The Pascal engine doesn't merely interpret P-Code, its instructionset/s 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 3/31/79

C

CUTTING EDGE OFTECHNOLOGY, Inc.

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

April 16-20, Data Communication Sys-tems and Networks, George WashingtonUniversity, Washington DC 20052. SeeMarch 5-9, Washington DC

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, Data Base Concepts andDesign, San Francisco CA. See March26-30, Chicago IL.

April 24-26, Electro/79 Show and Con-vention, New York Coliseum and Ameri-can 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, Washington DC. This con-ference is sponsored by the Institutefor Software Engineering. Contact theInstitute for Software Engineering, POB637, Palo Alto CA 94302.

May 7-11, Data Base Concepts andDesign, Kansas City KS. See March 26-30, Chicago IL.

May 15-17, Micro/Expo 79, CentreInternational de Paris, Paris FRANCE.Contact Sybex Inc, 2020 Milvia St,Berkeley CA 94704.

May 15-17, First Education ComputerFair, Detroit Plaza Hotel, Detroit Ml.This fair will be held in conjunction with1979 Association for Educational DataSystems 17th Annual Convention. Thetheme of the fair will be the use ofmicroprocessors in education. ContactBruce G Alcock, Riverdale CountrySchool, W 253 St and Fieldston Rd,Bronx NY 10471.

May 15-18, 1979 Association for Educa-tional Data Systems 17th Annual Con-vention, Detroit Plaza Hotel, Detroit Ml.The convention program will focus oncomputer applications, computer re-sources, computer related curriculum,application development methodologies,and futures. Exhibits, user group meet-ings and vendor sessions will also beoffered. Contact Arthur W Daniels Jr,31202 Dorchester, Madison Heights Ml48071.

May 21-24, Eighth Annual IncrementalMotion Control Symposium, RamadaInn, Urbana IL. Contact Dr B C Kuo,POB 2772, Station A, Champaign IL61820.

Northeast Personal and Business Com-puter Show, Hynes Auditorium, BostonMA. See BYTE's Bits, page 224, forinformation concerning change from pre-viously published date."

78

March 1979 © BYTE Publications Inc

Circle 85 on inquiry card.

OOmPUTER 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 FFTs,Inverse-transforms, Windowing, Sliding Windows, simulta-neous FFTs variable data sizes, etc. and as a last word oursoftware is:

• Readable - as all of our programs are reproduced full sizefor ease in reading.

• 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; that"s 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.

Vol.

Vol. II

Vol. Ill

Vol. IV

Vol.V

Business &

Games &

Binomial

Beam

Personal

Pictures

Chl-Sq.

Conv

Bookkeeping

Coed

Filter

Programs

Animals Four

Confidence 1

Fit

Astronaut

Confidence 2

Integration 1

Bond

Bagel

Correlations

Integration 2

Building

Bio Cycle

Compound

Cannons

Differences

Lola

Cyclic

Checkers

Dual Plot

Decision 1

Craps

Exp-Distrt

Max. Mln.

Decision 2

Depreciation

Efficient

Dogfight

Golf

Judy

Least Squares

Paired

Plot

NavaldOptical

Flow

Line Up

Plotpts

PSD

Installment

Pony

Polynomial Fit

Randl

Interest

Roulette

RegressionStatl

Investments

Sky Diver

MortgageOptimize

TankTeach Me

Stat 2T-Dlstrlbutlon

Sphere Trlan

Stars

OrderPert TreeRateReturn 1Return 2

PicturesA NewmanJ.F.K.Linus

UnpairedVariance 1Variance 2XY

TrackTriangleVariableVector

Schedule 1

Ms. Santa

APPENDIX A

NixonNoel NoelNudePeacePolicemanSanta's SleighSnoopyVirgin

Billing

Bingo

Andy Cap

Inventory

Bonds

Baseball

Payroll

Bull

Compare

Risk

Enterprise

ConfldlO

Schedule 2

Football

Descrip

ShippingStocks

Funds 1

Differ

Funds 2

Engine

Switch

Go-Moku

Fourier

Jack

Horse

Ufe

Integers

Loans

Logic

Mazes

Playboy

Poker

Primes

Popul

Probal

Profits

Quadrac

Qublc

Red Baron

Rates

Regression 2

Retire

Road Runner

Savings

Roulette

SBA

Santa

Tlc-Tac-Toe

Stat 10

Statu

Steel

Top

Vary

Xmas

APPENDIX B

Vol. VI

Ledger

Vol. VII

Chess

Maintains Company accounts and generatesfinancial reports. Includes routines for Pyrl, InyDepr, A/R, A/R

Designed 1o challenge the average player,fairly comprehensive. Great fun for all offers aunique opportunity for beginners In need of anopponent.

Medbil For Doctors and Dentists alike, a completepatient billing system which also permits themaintaining of a patient history record.

Wdproc Wordprocesslng for lawyers, publishers, writers,etc. Wrtte, store, and change from rough draftto final copy In a variety of formats.

Utility Disk utility program with memory testing.Vol. VIII

1040-Tax Taxpayers return, Itemized deductions orstandard

Balance Reconciles bank statements

Checkbook Balances your checkbook

lnst1o78 Computes real cost on bank financed Items;cars, boats, etc.

Deprec 2 Computes depreciation, 4 methods, any timeperiod

APPENDIX C - FAVORITE PROGRAM CONVERSIONS

Vol. I - $24.95BookkeepingGamesPictures

Vol. II - $24.95Mafh/EnglneeringPlotting/StatisticsBasic Statement Del.

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 Amerlcard 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 RO Box which go parcel post. Foreign orders odd $8.00/volume (or airshipment and make payable In U.S. dollars only

£T> SCIENTIFIC RESEARCH

d^, a™ -lonnoo.p «ey Biscayne, FL 33149

(305) 361-1153

PO. Box 490099-B

BYTE March 1979 79

Preview of the Z-8000

All figures in this articleare courtesy of Zilog.

The Z-8000 (shown in figure 1) is Zilog'snew entry in the field of 16 bit processors.It is a single chip processor with more rawprocessing power than many popular mini-computers. Benchmarked against the popu-lar PDP-11 family, the Z-8000 is betweenthe 11/45 and the 11/70 in speed for manysimple instructions. The processor also intro-duces several sophisticated minicomputerhardware techniques such as memory man-agement, separate system/user operationmodes, separate memory space for data,stack contents and code, and long wordinstructions. The remainder of this review

will offer a very brief description of the

Z-8000 so that future thinking personal

computer experimenters can begin planningapplications for it.

Architecture

The Z-8000 is a general register machinewith 1 and 2 address instructions, faintlyreminiscent of a PDP-11. It comes in twovarieties: segmented or nonsegmented, inreference to the memory managementcapability which will be discussed later. Iwill discuss only the segmented processor

Figure 1: Pin diagram of Zilog's new Z-8000 16 bit processor. The device is both fast and versatile, with over 110 instructionsin its instruction set. The Z-8000 is available in two versions: segmented and unsegmented. The segmented version uses anoutboard auxiliary integrated circuit called a memory management device to provide memory segment mapping or relocationand memory protection (the memory in the Z-8000 is divided into 64 K byte blocks called sections).

BUSTIMING

STATUS*

BUSCONTROL

INTERRUPTS* ■

MULTI-MICROCONTROL

AS

DS

MREQ

READ/WRITE

NORMAL/SYSTEMWORD/BYTE

ST 3ST2STISTO

Z-8000

WAITSTOP

BUSRQ

NMI

vl

NViH-0

+5V GND

ADI5

ADI4

ADI3

ADI2

ADII

ADIO

AD9

AD8

AD7

AD6

AD5

AD4

AD3

AD2

ADI

ADO

L.

SN6SN5SN4SN3SN2SNISNO

SEGT

t M I I

SEGMENTED IVERSION

\ SEGMENT' NUMBER

■SEGMENT TRAP

.J

* SUB- RESETSTRATEDECOUPLE

> ADDRESS/DATA BUS r5s

pi

^O

NMI

NVI

RESETR/W

SA6-SAQ

SEGT

ST„-STn

STOP

vT

WAIT

W/B

N/S

Address/data (inputs/outputs, active high, 3 state). These multi-plexed . address/data lines are used both for I/O and to addressmemory.

Address strobe (output, active low, 3 state} indicates addresses arevalid.

Bus acknowledge (output, active low). A low on this line indicatesthe processor has relinquished the bus.

Bus request (input, active low). This line must be driven low torequest the bus from the processor.

Data strobe (output, active low, 3 state). This line times the datain and out of the processor.

Memory request (output, active low, 3 state) is a timing signalthat eases the interface to dynamic memories.

Multimicro in (input, active low) tests for the state of the multi-microprocessor request.

Multimicro qut (output, active low).

Nonmaskable interrupt (input, active low).

Nonvectored interrupt (input, active low).

System clock is a transistor-transistor logic level clock input.

Reset (input, active low) resets the processor.

Read/write (output, low = write, 3 state) provides early statusinformation for a read or write cycle.

Segment number (outputs, active high, 3 state).

Segmentation trap (input, negative edge triggered).

Status (outputs, active high). These lines specify the followingstatuses: memory request, stack pointer request, instruction fetchfirst word, instruction fetch subsequent words, internal operationor halt, VI acknowledge, NVI acknowledge, NMI acknowledge,I/O reference, refresh, segmentation I/O, set bootstrap, reset boot-strap.

Stop (input, active low) single steps instruction execution.

Vector interrupt (input, active low).

Wait (input, active low) tells the processor that the memory or I/Odevice is not ready for data transfer.

Word/byte reference (output).

Normal/system mode (output).

80

March 1979 ©BYTE Publications Inc

Ira Rampil

Rm415D

Dept Anesthesiology

Univ of Wisconsin Hospital

Madison Wl 53706

since the nonsegmented processor is a func-tional subset of the former. Nonsegmentedmode is a software selectable option in thesegmented processor.

The processor has sixteen 16 bit registerswhich are logically subdivided (figure 2) intosixteen 8 bit registers, eight 32 bit registersand four 64 bit registers. All of the 8 and 16bit registers are available as general purposeaccumulators. Fifteen of the 16 bit registersare available as index registers. Registers 14,or 14 and 15 serve as stack pointer depend-ing on the segmentation mode in effect.There are two sets of these registers to pro-vide for separate system and user stacks.There is a 64 bit status register which con-tains the program counter and various flags.There is also a rate programmable refreshcounter for servicing dynamic memories.

There are seven discrete data types recog-nized by the Z-8000. In ascending order ofsize they are bits, BCD (binary coded deci-mal) digits (4 bits), bytes (8 bits), words (16bits), long words (32 bits), byte strings (8n +8 bits), and word strings (16n + 16 bits). Thestring types consist of sequential bytes orwords preceded by a word count. Stringsmay be accessed in either ascending or de-scending address order. Bytes are thesmallest directly addressable data type. Bitsand binary coded decimal are dealt withusing special instructions such as SET B(set bit), and DAB (decimal adjust).

One of the most unusual features of thisprocessor is the large memory space. Thesegmented Z-8000 has 24 address lines yield-ing 16,777,216 directly addressable bytes.The system and the user may both have theirown memory, as may program code, data,and data stack, for a grand total of 96 Mbytes of on line memory. The memory is ar-ranged in 64 K byte blocks called segments.An outboard support integrated circuit,called the memory management unit (MMU),is available to provide, transparently to theuser, segment mapping or relocation andmemory protection. To access this mountainof memory, there are eight addressingmodes, illustrated in figure 3.

The Z-8000 has over 110 different in-structions, many of which have several pos-sible addressing modes. The instruction setis summarized in table 1. There are many

32 BITREGISTERS

RRO<

RR2 i

RR4

RR6 '

RR8l

RRIO

RRI2(

RRI4<

RORlR2 [

R3R4R5R6R7R8R9RIORllRI2RI3

RI4

RI5

RI4'

RI5

INDIVIDUAL 8 BIT REGISTERS

RHO

017

RLO

RHI

RH2

RL2

RH3

RL3

RL4

RH5

RL5

RH7

RL7

SYSTEM STACK POINTER

NORMAL STACK POINTER

SYSTEM STACK POINTER

NORMAL STACK POINTER

RESERVED WORD?

64 BITREGISTERS

1

\rqo

>RQ4

GENERAL> PURPOSEREGISTERS

>RQ8

)RQI2

n

FLAGS

C Z S P/V DA H I I I 1 I

lii

CONTROL STOP

A i 1 I

VIENVIE 'SEGS/NJ I I 1

PC SEG #

_l I I I I 1_

1 l__i I I.,.,) l_J

PC OFFSET_J l I 1 J I 1 l l I I I I l 1_

PROGRAMSTATUS

SEGMENT NUMBER

UPPER OFFSET

IPC

NEW PROGRAMiSTATUS AREAPOINTER

REFRESH

-REFRESH ENABLE

Figure 2: Z-8000 registers. The Z-8000 has sixteen 16 bit registers logicallysubdivided into sixteen 8 bit registers, eight 32 bit registers, and four 64 bitregisters. The 8 and 16 bit registers are available as general purpose accumu-lators, and 15 of the 16 bit registers are available as index registers.

March 1979 © BYTE Publications Inc 81

powerful instructions which are not usuallyseen in microcomputers. Not many micro-computers or small minicomputers have ex-tended precision multiply and divide, ortranslate, increment, and repeat. There arestring comparison operations and blockmove operations. The decrement and jump-on-nonzero instruction of the Z-80 has beenextended to allow any word or byte length

Figure 3: Z-8000 addressing modes.

register as an index counter. There is also asystem call instruction which performs asoftware interrupt to the operating system.This is a very convenient means of com-munication between the user and system.There are other so-called traps that imitatean interrupt to the operating system. Theyare used to preserve software integrity, andoccur when there is an illegal memory orinstruction reference, or when a user modeprogram attempts to execute a privileged orI/O (input/output) instruction. A parti-

REGISTER

INSTRUCTION

REG

-*j OPERAND

THE OPERAND VALUE IS THE CONTENT OF THE REGISTER.

INDIRECT REGISTER IR

REG

INSTRUCTION

ADDRESS

OPERAND

THE OPERAND VALUE IS THE CONTENT OF THE LOCATIONWHOSE ADDRESS IS IN THE REGISTER.

DIRECT ADDRESS

INSTRUCTION

ADDRESS

THE OPERAND VALUE IS THE CONTENT OF THE LOCATIONWHOSE ADDRESS IS IN THE INSTRUCTION.

IMMEDIATE

IM

INSTRUCTION

OPERAND

THE OPERAND VALUE IS IN THE INSTRUCTION.

INDEX

REG

INSTRUCTION

DISPLACEMENT

ADDRESS

THE OPERAND VALUE IS THE CONTENT OF THE LOCATION WHOSE ADDRESS IS THEADDRESS IN THE INSTRUCTION, OFFSET BY THE CONTENT OF THE REGISTER.

BASE ADDRESS

INSTRUCTION

DISPLACEMENT

REG-*\ ADDRESS \-

OPERAND

THE OPERAND VALUE IS THE CONTENT OF THE LOCATION WHOSE ADDRESS IS THEADDRESS IN THE REGISTER, OFFSET BY THE DISPLACEMENT IN THE INSTRUC-TION.

BASE INDEX

BX

INSTRUCTION

REG~H ADDRESSREG

I

DISPLACEMENT [ *C+) H OPERAND"

THE OPERAND VALUE IS THE CONTENT OF THE LOCATION WHOSE ADDRESS IS THEADDRESS IN THE REGISTER .OFFSET BY THE DISPLACEMENT IN THE REGISTER.

RELATIVE ADDRESS RA

PC

INSTRUCTION

ADDRESS

DISPLACEMENT

H OPERAND-

THE OPERAND VALUE IS THE CONTENT OF THE LOCATION WHOSE ADDRESS IS THECONTENT OF PC OFFSET BY THE DISPLACEMENT IN THE INSTRUCTION.

82 March 1979 (8 BYTE Publications Inc

u

ilaRlp,

Td C|§

188

& ■

•

-

ifiilBfi

What this country needsis a good *8000 small business computer.

We agree! Now for less than $8000, you can purchase anOhio Scientific small business computer system com-plete with software packages for Accounting, InformationManagement and Word Processing. Here are the system'scapabilities in detail:

Accounting: Supports accounts receivable, payables,cash receipts and disbursements, general ledger, balancesheet, P & L statement, payroll, inventory and order entryfor small businesses.

Information Management: Stores any collection ofinformation in disk files via a Data Base Manager. Caninstantly retrieve information, generate lists, reports andmailing labels from this data as well as performstatistical analysis. All without any additional software.An optional "Query" system can answer conventional"English" questions pertinent to information in thesystem asked by untrained office users.

Word Processing: Can handle letters, reports andmanuscripts. Uses totally electronic editing with disk filestorage. Has character and line Edit, Find, Change,Delete, Transfer, Duplicate and Append capabilities. Onoutput, it has text justification, proportional spacing,hyphenation and many more features.

Circle 290 on inquiry card.

Yes, an under $8000 Ohio Scientific small businesssystem includes all this software as well as 48K bytesof 180 nanosecond main memory, dual 8" floppy diskdrives for 600K bytes of disk storage, a 1920 characterupper/lower case CRT terminal, a 132 column tractor feedline printer, and the programming language BASIC foruser generated programs if desired. And the systemdoesn't stop here, it has the performance and modularconstruction for growth with your use. The system can beexpanded to nearly one million bytes of main memory, 80megabytes of disk storage and 16 users (time shareconfiguration), or it can be connected to a network ofother small computers (distributed processing configura-tion). Numerous optional systems and applications soft-ware packages are available including the programminglanguages FORTRAN and COBOL and applications soft-ware for specific businesses.

Ohio Scientific small business systems are sold,leased and serviced nationwide by a network of businesssystem dealers. Call or write to arrange a demonstrationwith your local dealer.

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

BYTE March 1979 83

cularly interesting subset of instructionsconcerns the use of a pair of pins on theZ-8000 packaged called /ul and /izO. Thesepins, and the instructions which governthem, allow for the combination of Z-8000into efficient multi-processor or networksystems. The only regrettable lack I've no-ticed thus far is the absence of memory-to-memory instructions.

Performance, in terms of executionspeed, is a major factor in the selection ofa processor. In table 2, I have tabulated the

approximate speed of several common pro-cessors for simple tasks. Obviously, theZ-8000 is way out in front, competing veryfavorably with a popular medium sized mini-computer whose processor's cost is morethan two orders of magnitude greater. TheZ-8000's speed and memory make it the bestthing yet for personal applications which in-volve number crunching. I can easily imagineit as the heart of a personal FORTRAN or

Text continued on page 91

Memory Management

Memory management, as the name implies, is a clever technique tohandle large amounts of memory in a flexible fashion. In most com-puter systems, this management requires the large memory to bebroken up into smaller (eg: 64 K byte) chunks. Each program or taskresiding in memory is assigned into its own unique chunk or segment.In general, segments may vary in length, but a program residing in aparticular segment may not exceed that segment in length. Often aprogram will not need to directly address a vast amount of memory,and if a particular application program or set of programs will fit intosegments, then management can be used. Management provides threemain advantages in the Z-8000:

1. Since programs are constrained to fit in 64 K bytes or less, a 16bit address is sufficient instead of the 24 bits required to address16 M bytes. This obviously leads to a more compact and efficientcode.

2. Programs residing in segments are mapped into what is known aslogical or virtual address space. Virtual addresses are simply theaddresses of locations in a segment from hexadecimal 0000 toFFFF. They are called virtual because they are relative only tothe start of their segment and need not bear any relation to theactual physical addresses in the memory circuitry. Programs insegments are thus totally relocatable, needing only to inform thememory management device of the physical starting address ofthe particular segment. Figure 4 demonstrates this principle. Notethat consecutive segments need not appear consecutively mappedinto physical memory and also that segments may overlap physi-cal memory.

3. Segmenting easily provides for memory protection. Since thememory management device knows the length of each segment,any attempt by a user task to access physical memory outside ofits segment causes a segment violation and a software interrupt tothe operating system. This is very useful when running a time-sharing system or debugging a new program.

The memory management device works simply by adding a constantbase address for each segment to any memory references issued by thatsegment. The device in the Z-8000 also checks a number of conditionssuch as system versus user state, code versus data, read write versus readonly, and valid base address in addition to the segment size. If any mis-matches or faults occur, the operating system is informed.

84

March 1979SBYTE Publications Inc

64K bytes off as t, lowpower dyna-mic RAM.

$69500

32K bytes offaster staticRAM.

$59500

Both Our UNCommon Dynamic and our UNComnrion 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 bumed-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 Dynamic RAM Features:

• 64K bytes of dynamic RAM withon board transparent refresh.

• S-100 interface compatible withcrystal controlled timing IN-DEPENDENT of bus or processortiming.

• No wait states or cycle stealingwith 8080 or Z80 to 4MHz. Upto 5MHz with 1 wait state.

Our UNCommon Static RAM Features:

• 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.

I would like to older rhe following lully assembled andleSted UNCommon memory-

UNCommon Dynamic RAMS

□ DM6400 64K RAM S69S""

□ DM4800 48K RAM S559"a DM3200 32K RAM S429 "D DM1600 I6K RAM 5205

UNCommon Static RAM

D SM3200 32K RAM $S°5"

Inclosed is .1 check 01 money oidei toi

(Calif lesidenis please .Kid 6% sales tax Please allow 14

days foi checks lo clear bank Thank you ;

Please bill my □ BA, □ VISA, or □ MASTERCHARGE account.

Card No.: Expiration date:

Four digits above name on Mastercharge card:

Address

City State

Zip

Phone

MEASUREMENT 867 North Main street

Systems &. Controls Oran3e. California 92668incorporated Telephone; (714)633-4460

All orders shipped postpaid. All orders in U S. funds

Please >sdd 10% on .ill orders outside II S.A.. Can.id.v .indMexico

Circle 216 on inquiry card.

BYTE March 1979

85

Table 1': Summary of the Z-8000 instruction set, slightly condensed.

LDM

LDM

The instruction set table

is somewhat abridged due to space consi

derations. For example, almost all data

manipulation type instructions (ie:

data transfers,

or arithmetic) have associated forms for the handling of

byte length and long word

length

operands.

The

mnemonic for an

alternate length operand is created by

appending a B (for byte) or

an L (for long word) to the standard op

code mnemonic.

For example, a byte

length COMPARE (CP) would be CP B = CPB

The

symbols and abbreviations used in th

s table are defined as

follows:

Operands

Addressing Modes

Miscellaneous

b- bit number

BA

- base address

<-_

is replaced by

CC - condition code

BX

- base index

@.

indirect

CTLR - a control register

DA

- direct address

Rn

, Rn+1 - register pair

dst - destination

IM

• immediate

FLGR - flag register

IR

indirect register

int - any interrupt enable bit

R -

register

n - a small integer

RA

- relative address

src - source

X-

index

Op code Operands

CLR

dst

EX

R.src

LD

R.src

LD

dst.R

LD

dst.lM

LDA

R,src

R,src,n

dst,IR

Loads and Exchanges

Operation

Clear

dst*-0.Exchange

temp— src

src*- R

R«- temp.Load src to register

R*-src.Load register to dst

dst->- R.Load to memory immediate

dst- IM.Load address

The address is computer from

src and stored in R.Load multiple memory to registers

Load n registers starting at

register R from location starting

at src (n = 1 to 16).Load multiple register to memory

Load n words starting at dst

from n registers starting with

R (n=1 to 16).Pop

Addressing

SBC

R,src

Subtract with carry

R

Modes

R— R — src - carry.

SUB

R.src

Subtract

R.IR.DA.X.IM

R,IR,DA,X

R—R -src.

R,IR,DA,X

Logical

Addressing

R,IR,DA,X,IM,

Op code

Operands

Operation

Modes

BA.BX.RA

IR,DA,X,BA,

AND

R.src

And

R.IR.DA.X.IM

BX.RA

R- R AND src.

IR.DA.X

COM

dst

Complementdst-NOT dst.

R, IR.DA.X

DA,X,BA.BX.RA

OR

R.src

Or

R— R OR src.

R.IR.DA.X.IM

TEST

dst

Test

R,IR.DA.X

IR.DA.X

dst OR 0.

TCC

CC.dst

Test condition code

Set lower bit of register if CCis true, reset otherwise.

R

IR.DA.X

XOR

R.src

Exclusive or

R - R XOR src.

R.IR.DA.X.IM

R,IR,DA,X

Program Control

dst- IR

(autoincrement).

Addressing

PUSH

I R.src

Push

(autodecrement)

R.IR.DA.X.IM

Op code

Operands

Operation

Modes

IR— src.

CALL

dst

Call subroutine

Autodecrement SP<a SP - PC

IR.DA.X

Arithmetic

PC -dst.

CALR

dst

Call relative

RA

Addressing

Autodecrement SP

Op code

Operands

Operation

Modes

@ SP -PCPC-PC +dst

ADC

R,src

Add with carry

R

Range +4094 to -4096 bytes.

R— R + src + carry.

CPBJR

R.IM,CC.dst

Compare and jump relative

RA

ADD

R,src

Add

R— R +src.

R.IR.DA.X.IM

R-IM. If CC is true PC-PC + dstRange +254 to -256 bytes

CP

R.src

Compare

R.IR.DA.X.IM

Flags are not affected.

R - src

DJNZ

R.dst

Decrement and jump on nonzero

RA

Flags are affected.

R —R - 1

CP

dst.lM

Compare memory with immediatedst - IM.

IR.DA.X

If R^OPC - PC +dstRange 0 to -256 bytes

DAB

dst

Decimal adjust

R

Flags are not affected.

Decimal adjust of dst.

IRET

Interrupt return

-

DEC

dst.n

Decrement by ndst—dst - n

R,IR.DA.X

PS — @ SPAutoincrement SP.

(n is 1 to 16).

JP

CC.dst

Jump conditional

IR.DA.X

DIV

R.src

Divide (signed)

R.IR.DA.X.IM

If CC is true PC —dst.

Rn+i^ <Rn. R„.n)/src

JR

CC.dst

Jump conditional relative

RA

nti n' n +1Rn«- remainder.Extend sign

If CC is true PC —PC +dst

EXTS

dst

R

RET

CC

Range +254 to -256 bytes.

Return conditional

Extend sign of Rn+-| to Rn.

If CC is true PC — @> SP

INC

dst.n

Increment by ndst*- dst + n(n is 1 to 16).

Multiply (signed)

lRn. Rn+1^'Rn+1>*"<=-

R,IR.DA.X

Autoincrement SP.

MULT

R,src

R.IR.DA.X.IM

SC

n

System call

Push instructionAutodecrement SP<a SP -Old PS

NEG

dst

Negate

dst- 0 - dst.

R,IR.DA.X

PS — New system call PS(N=0 to 255).

86

March 1979©BYTE Publications Inc

Circle 286 on inquiry card.

/#

INDUSTRIAL

it

WIRE-WRAPPING

TOOL

MODEL BW928

BATTERIES NOT INCLUDEDBIT & SLEEVE NOT INCLUDED

BATTERY OPERATED

(2)Standard "C" Ni Cad Batteries (not included)

INTERCHANGEABLE BITS & SLEEVES

(not included)

REVERSIBLE ROTATIONFor unwrapping, reverse batteries

BACKFORCE OPTIONALModel BW928-BF $52.95

POSITIVE INDEXING

LEIGHT WEIGHT

*LEXAN' Housing

*LEXANIM GENERAL ELECTRIC

) OK MACHINE & TOOL CORPORATION

3455 Conner St., Bronx, N.Y. 10475 • (212) 994-6600 • TELEX 125091

Table I, continued:

Op code Operands

BIT

b.dst

BIT

R.dst

RES

b.dst

RES

R.dst

SET

b.dst

SET

R.dst

TSET

dst

Op code Operands

RLDB

R,src

RRDB

R.src

RL

dst.n

RLB

RLC

dst,n

RR

dst.n

RRC

dst.n

SDA

dst.R

SDL

dst.R

SLA

dst.n

SLL

dst.n

SRA

dst.n

SRL

dst.n

Bit Manipulation

Operation

Test bit static

Z flag- NOTdstb,Test bit dynamic

Z flag- NOTdstB.Reset bit static

dstb-0.Reset bit dynamic

dstR - 0:Set bit static

dstb-1.Set bit dynamic

dstR - 1.Test and set

S flag — sign of dst

dst*"AII "Is."

Rotate and Shift

Operation

Rotate digit left.Rotate digit right.Rotate left by n

n is 1 or 2.Rotate left through carry by n

n is 1 or 2.Rotate right by n

n is 1 or 2.Rotate right through carry by n

n is 1 or 2.Shift dynamic arithmetic

Shift dst by content of R

Left or right depending on sign

Range +31 to -32.Shift dynamic logical

Shift dst by content of R

Left or right depending on sign

Range +31 to -32.Shift left arithmetic by n

n is 1 to size of data element.Shift left logical by n

n is 1 to size of data element.Shift right arithmetic

n is 1 to size of data element.Shift right logical by n

n is 1 to size of data element.

AddressingModes

R,IR,DA,X

R

R,IR,DA,X

R

R,IR,DA,X

R

R,IR,DA,X

Addressing

Modes

CPSIR dst,src,R,CC

LDD dst.src.R

LDDR dst,src,R

LDI dst,src,R

LDIR dst,src,R

TRDB dst.src.R

TRDRB dst.src.R

TRIB dst.src.R

TRIRB dst,src,R

TRTDB srd,src2,R

TRTDRB src1,src2,R

TRTIB scr1,src2,R

TRTIRB src1,src2,R

IR

IR

Compare string, increment and repeat IRdst - src

Autoincrement dst and srcR - R - 1

Repeat until CC false or R=0.Load and decrementdst — src

Autodecrement of dst and srcR*-R- 1.Load, decrement and repeatdst — src

Autodecrement of dst and srcR - R - 1Repeat until R=0.Load and incrementdst — src

Autoincrement of dst and srcR—R- 1.Load, increment and repeatdst — src

Autoincrement of dst and srcR -R - 1Repeat until R=0.Translate and decrementdst — src (dst)Autodecrement dstR—R - 1.Translate, decrement and repeatdst *- src (dst)Autodecrement dstR - R - 1Repeat until R=0.Translate and incrementdst — src (dst)Autoincrement dstR«-R - 1.Translate, increment and repeatdst — src (dst)Autoincrement dstR —R - 1Repeat until R=0.Translate and test decrementR0- src2 (srd)Autodecrement srdR - R - 1.Translate and test, decrementand repeatR0-src2 (srd IAutodecrement srdR «-R-1

Repeat until R=0 or RO^O.Translate and test incrementR0«-src2 (srd)Autoincrement srdR *~R - 1,Translate and test, incrementand repeatRO*-src2 (srd)Autoincrement srdR*-R-1Repeat until R=0 or RGVO.

IR

IR

IR

IR

IR

IR

|R

IR

Block Transfer and String ManipulationOp code Operands Operation

Addressing

Modes

Op code Operands

Input Output

Operation

AddressingModes

CPD Rx,src,Ry,CC Compare and decrement

Rx — src

Autodecrement src

Ry - Ry - 1.CPDR Rx,src,Ry,CC Compare, decrement and repeat

Rx - src

Autodecrement src

Ry - Ry - 1

Repeat until CC false or R ■ 0.CPI Rx,src,Ry,CC Compare and increment

Rx — src

Autoincrement src

Ry - Ry - 1.CPIR Rx,src,Ry,CC Compare, increment and repeat

Rx — src

Autoincrement src

Ry - Ry - 1.

Repeat until CC false or Ry=0.CPSD dst,src,R,CC Compare string and decrement

dst - src

Autodecrement dst and src

R - R - 1.CPSDR dst,src,R,CC Compare string, decrement and repeat

dst - src

Autodecrement dst and src

R - R - 1

Repeat until CC false or R=0.CPSI dst,src,R,CC Compare string and increment

dst - src

Autoincrement dst and src

R -R - 1.

IR

IR

IN R,src

IND dst.src.R

INDR dst,src,R

IN IR

OUTOUTD

dst.src.R

dst.Rdst, src, R

dst.src.R

Input

R ^src.Input and decrement

dst — src

Autodecrement dst

R «-R - 1.Input, decrement and repeat

dst — src

Autodecrement dst

R — R -1

Repeat until R=0.Input and increment

dst *- src

Autoincrement dst

R - R - 1.Input, increment and repeat

dst *- src

Autoincrement dst

R - R - 1

Repeat until R=0.Output

dst«-R.Output and decrement

dst«- src

Autodecrement src

R —R - 1.Output, decrement and repeat

dst«- src

Autodecrement src

R —R - 1

Repeat until R=0.

IR.DAIR

IR

IR,DAIR

IR

88

March 1979 ©BYTE Publications Inc

SYM-1, 6502-BASED MICROCOMPUTER

FULLY-ASSEMBLED AND COMPLETELY INTEGRATED SYSTEM that'sready-to-use

ALL LSI IC'S ARE IN SOCKETS

28 DOUBLE-FUNCTION KEYPAD INCLUDING UP TO 24 "SPECIAL"FUNCTIONS

EASY-TO-VIEW 6-DIGIT HEX LED DISPLAYKIM-1* HARDWARE COMPATIBILITY

The powerful 6502 8-Bit MICROPROCESSOR whose advancedarchitectural features have made it one of the largest selling "micros"on the market today.

THREE ON-BOARD PROGRAMMABLE INTERVAL TIMERS available tothe user, expandable to five on-board.

4K BYTE.ROM RESIDENT MONITOR and Operating Programs.Single 5 Volt power supply is all that is required.IK BYTES OF 21 14 STATIC RAM onboard with sockets provided forimmediote expansion to 4K bytes onboard, with total memory expan-sion to 65, 536 bytes.

USER PROM/ROM: The system is equipped with 3 PROM/ROM ex-pansion sockets for 2316/2332 ROMs or 2716 EPROMsENHANCED SOFTWARE with simplified user interfaceSTANDARD INTERFACES INCLUDE:—Audio Cassette Recorder Interface with Remote Control (Two

modes: 135 Baud KIM-1* compatible, Hi-Speed 1500 Baud)—Full duplex 20mA Teletype Interface—System Expansion Bus Interface—TV Controller Board Interface—CRT Compatible Interface (RS-232)

APPLICATION PORT: 15 Bi-directional TTL Lines for user applicationswith expansion capability for added lines

EXPANSION PORT FOR ADD-ON MODULES (51 I/O Lines included inthe basic system)

SEPARATE POWER SUPPLY connector for easy disconnect of the d-cpowerAUDIBLE RESPONSE KEYPAD

Synertek has enhanced KIM-1 * software as well as the hardware. Thesoftware has simplified the user interface. The basic SYM-1 system isprogrammed in machine language. Monitor status is easily accessible,and the monitor gives the keypad user the same full functional capabili-ty of the TTY user. The SYM-1 has everything the KIM-1* has to offer,plus so much more that we cannot begin to tell you here. So, if you wantto know more, the SYM-1 User Manual is available, separately.SYM-1 Complete w/manuals $269.00

SYM-1 User Manual Only 7.00

SYM-1 Expansion Kit 75.00

Expansion includes 3K of 2114 RAM chips and 1-6522 I/O chip.SYM-1 Manuals: The well organized documentation package is com-plete and easy-to-understand.

SYM-1 CAN GROW AS YOU GROW. Its the system to BUILD-ON. Ex-pansion features that are soon to be offered:

8K Bask ROM $159.00

TV Interface Board 349.00

QUALITY EXPANSION BOARDS DESIGNED SPECIFICALLY FOR KIM-1, SYM-1 & AIM 65

These boards are set up for use with a regulated power supply such as the one below, but, provisions have been made so that you can add

onboard regulators for use with an unregulated power supply. But, because of unreliability, we do not recommend the use of onboard

regulators. All I.C.'s are socketed for ease of maintenance. All boards carry full 90-day warranty.

All products that we manufacture are designed to meet or exceed industrial standards. All components are first qualtiy and meet full

manufacturer's specifications. All this and an extended burn-in is done to reduce the normal percentage of field failures by up to 75%. To you,

this means the chance of inconvenience and lost time due to a failure is very rare; but, if it should happen, we guarantee a turn-around time of

less than forty-eight hours for repair.

Our money back guarantee: If, for any reason you wish to return any board that you have purchased directly from us within ten (10) days after

receipt, complete, in original condition, and in original shipping carton; we will give you a complete credit or refund less a $10.00 restocking

charge per board.

VAK-1 8-SLOT MOTHERBOARD

This motherboard uses the KIM-4* bus structure. It provides eight (8)expansion board sockets with rigid card cage. Separate jacks for audiocassette, TTY and power supply are provided. Fully buffered bus.VAK-1 Motherboard $129.00

VAK-2/4 16K STATIC RAM BOARD

This board using 2114 RAMs is configured in two (2) separatelyaddressable 8K blocks with individual write-protect switches.

VAK-2 16K RAM Board with only $239.00

8K of RAM ( Vi populated)VAK-3 Complete set of chips to $175.00

expand above board to 16KVAK-4 Fully populated 16K RAM $379.00

VAK-5 2708 EPROM PROGRAMMER

This board requires a +5 VDC and +12 VDC, but has a DC to DC

multiplyer so there is no need for an additional power supply. All

software is resident in on-board ROM, and has a zero-insertion socket.

VAK-5 2708 EPROM Programmer $269.00

VAK-6 EPROM BOARD

This board will hold 8K of 2708 or 2758, or 16K of 2716 or 2516EPROMs. EPROMs not included.VAK-6 EPROM Board

$129.00

VAK-7 COMPLETE FLOPPY-DISK SYSTEM (May 79)

VAK-8 PROTYPING BOARD

This board allows you to create your own interfaces to plug into themotherboard. Etched circuitry is provided for regulators, address anddata bus drivers; with a large area for either wire-wrapped or solderedIC circuitry.

VAK-8 Protyping Board $49.00

POWER SUPPLIES

ALL POWER SUPPLIES are totally enclosed with grounded enclosures for safety, AC power cord, and carry a full 2-year warranty.FULL SYSTEM POWER SUPPLYThis power supply will handle a microcomputer and up to 65K of our KIM-1 * Custom P.S. provides 5 VDC @ 1.2 Amps

VAK-4 RAM. ADDITIONAL FEATURES ARE: Over voltage Protection on 5 and +12 VDC @ .1 Amps

volts, fused, AC on/off switch. Equivalent to units selling for $225.00 or KCP-1 Power Supply $41.50

more. ^—^^i^—^—

Provides + 5 VDC @ 1 0 Amps & ± 1 2 VDC @ 1 Amp SYM-1 Custom P.S. provides 5 VDC @ 1.4 Amps

VAK-EPS Power Supply $125.00 VCP-1 Power Supply $41.50

"KIM is a product of MOS Technology

ENTERPRISES

NCORPORATED

2967 W. Fairmount AvenuePhoenix AZ. 85017

(602)265-7564

Prices in effect Nov. '78

Circle 315 on inquiry card.

BYTL March 1979

89

Table 1, continued:

OUTI dst.src.R

OTIR dst.src.R

SINB R.src

SINDB dst.src.R

SINDRB dst.src.R

SINIB dst.src.R

SINIRB dst.src.R

SOUTB dst.src

SOUTDB dst.src.R

SOTDRB dst.src.R

SOUTIB dst.src.R

SOTIRB

dst.src.R

Output and increment

dst — src

Autoincrement src

R - R - 1.Output, increment and repeat

dst —src

Autoincrement src

R - R - 1

Repeat until R=0.Special input

R — src.Special input and decrement

dst — src

Autodecrement dst

R - R - 1.Special input, decrement and repeat

dst •- src

Autodecrement dst

R •- R - 1

Repeat until R=0.Special input and increment

dst — src

Autoincrement dst

R - R - 1.Special input, increment and repeat

dst — src

Autoincrement dst

R - R - 1

Repeat until R=0.Special output

dst — src.Special output and decrement

dst -- src

Autodecrement src

R • R - 1.Special output, decrement and repeat

dst •- src

Autodecrement src

R • R - 1

Repeat until R=0.Special output and increment

dst *- src

Autoincrement src

R — R - 1.

IR

IR

Op code

Special output, increment and repeat IR

dst — src

Autoincrement srcR -R - 1Repeat until R=0.

Operands

IR

COMFLG

flag

Dl

int

IR

El

int

HALTLDCTL

CTLR.src

IR

LDCTL

dst.CTLR

LDCTLB

FLGR.src

IR

LDCTLB

dst.FLGR

LDPS

src

DAIR

MBIT

MREQMRES

dst

IR

MRLSEMSET

NOPRESFLG

flag

IR

SETFLG

flag

Processor Control

Operation

Complement flag

Any combination of flags

Z, C, V, P. S.Disable interrupt

Any combination of NV1.VI.Enable interrupt

Any combination of NVl,VI.HALT.Load to control register

CTLR-src.Load from control register

dst-CTLR.Load to flag byte

FLGR- src.Load from flag byte

dst-FLGR.Load program status

PS- src.Test jil

Z-mI.Multimicro request.Reset /iO

uO-0.Multimicro release.Set uO

(iO- 1.No operation.Reset flag

Any combination of flags

Z, C, V,P, S.Set flag

Any combination of flags

Z, C, V,P, S.

AddressingModes

RRRRIR.DA.X

Z-8000 Peripheral Support Circuits

Name Function

Z-MBU Microprocessor buffer unit for high speed elastic buffering between

processors, and processors and peripherals. Organized in a 256 by8 bit FIFO (first in first out) configuration. Can be used to interfaceZ-Bus systems to most other microprocessors.

Z-FIFO First in first out buffer memory provides expansion of the Z-MBU

to 16 bit words and any depth.

Z-CIO Counter/timer and parallel I/O circuit contains three counter/timers

and three parallel ports. Two of the parallel ports are eight bits wideand provide four handshaking modes, including IEEE-488 instru-ment bus protocol. The third port is four bits wide. The countersare all 16 bits wide.

Z-SIO Serial I/O circuit contains two independent full duplex synchronous/

asynchronous receiver/transmitters (USARTs). Each data channelcontains full modem controls, programmable clock generator, andparity or CRC error code generation and checking.

Z-UPC Universal peripheral controller is a Z-Bus compatible version of

Zilog's new Z-8 8 bit microcomputer on a chip. It includes 124general purpose registers, 2 K of masked read only memory, aninternal UART, and two counter/timers.

Z-Bus RAM There are two versions of these programmable memory circuitswhich directly interface to the Z-Bus. Both are organized as byte-wide structures to reduce the complexity of small, local memorydesign.

1. 4 K by 8 pseudostatic programmable memory has internaland transparent refresh circuitry. Its access time is in therange of 200-300 ns.

2. 2 K by 8 fully static programmable memory has access timesbelow 150 ns.

90

March 1979 ©BYTE Publications Inc

Table 2: Comparison of the Z-8000 to several popular processors in the performance of severalsimple tasks.

Task

Z-80001

8080A-12

Z-80A3

LSI-114

PDP 11/455

Load Byte

(Register to Register)

(A register in Z-80, 8080)

0.75

1.6

1.0

2.95

0.90

Load Word(Memory to Register)(to HLin Z-80, 8080)

2.25

5.12

4.0

5.6

2.86

Add (16 bit)

2.25

9.616

5.257

6.3

2.86

Multiply (16 bit)

17.50

-

27 -64

5.64

Notes:

1. 4 MHz clock, no memory wait, no refresh; data from Zilog Z-8000 advance specification, April 1978.

2. 3.125 MHz clock, no memory wait, no refresh; data from Intel 8080 Microcomputer System UsersManual, 9/75.

3. 4 MHz clock, no memory wait, no refresh; data from Z-80 Reference Manual.

4. 4 K byte onboard memory disabled; data from LSI-11/PDP 11/03 Processor Handbook, 1975-1976.

5. 11/45 with 8 K byte core stacks, even bytes; data from PDP 11/04/34/45/55 Processor Handbook,1976-1977.

6. BC<-(nn) LD BC, (MEM)HLHHL+BC ADDHL,BC.

7. HLO'DE XCHG

HLC^(nn) LHLD (MEM) VIRTUAL

HL^HL+DE DAD D. tpAc|SS'NG

Text continued from page 84

APL machine which could run large appli-cation packages such as SPICE for circuitanalysis or SPSS for statistics, and solve dy-namics equations on line for real timegraphics simulations like lunar lander, orvery large chess playing programs.

According to sources at Zilog, the Z-8000and its memory management device supportchip will soon be available in large quantity.The Z-8000 is compatible with the alreadyavailable Z-80 family of support chips suchas the SIO (serial I/O), the CTC (timers),and the PIO (parallel I/O), etc. A new seriesof extended support chips for the Z-8000is also in the works. So far five LSI peri-pheral devices and a new memory familyhave been announced. The text box onopposite page contains a brief descriptionof these new devices. The usual line ofmicroprocessor support products includingsingle board computers, evaluation boardsand development systems will also beavailable. Although details are not availableas I write this, the system bus structure willprobably be oriented toward high perform-ance multiprocessor systems. As for soft-ware, Zilog has announced a disk baseddevelopment system and the PLZ, BASIC,COBOL, FORTRAN languages. Also thereis a Z-80-to-Z-8000 translator. I expect areal time, multitasking and multiprocessingoperating system to be available soon inorder to take advantage of this processor'smany resources."

PHYSICAL

ADDRESSING

SPACE

SEG#

OFFSET

VIRTUAL

PROGRAM

COUNTER

SEGMENT 0

r

1

<

OOOOh

UP TOFFFFH

O I

t-zm

z

9Ul

V) il

SEGMENT 1

ooooH

1 UJ

o

UP TO >

ffffh ; n^ir-^^

_ I

t-z

Id

Z

UJ M

SEGMENT 2

^——T z

^ UJ

/

UJ

ztp

UJ

to

OOOOh UJ<UP TO L^z'

~~~^ >-

1

11111

IE1 °

Z1 UJ| 2

11

Z

Uh-INC!> —

UJ

SEGMENT N | /

OOOOh y j /

ELEMENT | X

ADDRESSED ■ /

/ I / !

z

1-z

UJ

zu>u

V)

•-

! -

SEGMENT 127

UP to/ /

_J

0000H /

/ 1

FFFFFFH

(b) SEGMENTED ADDRESSING SPACE

Figure 4: Logical to physical address translation using the memory manage-ment device. The Z-8000 allows the programmer to make use of virtual mem-ory addresses, which are simply the addresses of locations in a memorysegment from hexadecimal 0000 to FFFF. Virtual addresses are relative onlyto the start of their segment and need not bear any relation to physical ad-dresses in memory. The clever use of virtual memory techniques can yieldhigh-powered programming results.

M.ircli 1979 O BYTE Publication! Inc

91

Programming Duickies

Alan R MillerNew Mexico TechSocorro NM 87801

Listing 1:

Inverse Trig Functions

All except the very smallest BASICinterpreters provide sine, cosine, tangentand inverse tangent functions. None, thatI am aware of, have the inverse sine orinverse cosine functions. These two func-tions are very simple to generate using theinverse tangent function. Lines 10 and 20of listing 1 contain the definition of theinverse sine and inverse cosine, respectively.Lines 30 to 80 contain a driver function fordemonstration purposes."

10 DEF FNSN (X) = ATN (1/SQR(1/(X*X)-1>)

20 DEF FNCS (X) = ATN (SQR(1/(X*X)-D)

30 PRINT "A ";"ARC SIN"," SIN'V'ARC COS","COS"

40 INPUT "ARC"; A

50 B=FNSN(A)

60 C=FNCS(A)

70 PRINT A; B, SIN(B),C,COS(C)

80 GOTO 40

Machine Language Puzzlep

Christopher StrangioCAM I Research43 Bailey RdWatertown MA 02172

Odd Tones

The following program is entered and

run:

(For the 6800 processor)

(For the 8080 processor)

L3:

MVI A, #X

L3:

LDAA#X

L2:

MVl B,#\8 (hex)

L2:

LDAB #A8 (hex)

L1:

DCR B

L1:

DECB

JNZ L1

BNE L1

DCR A

DECA

OUT 00

STAA @FF00 (assume portO isthis location as asimple output latch)

JNZ L2

BNE L2

JMP L3

BRA L3

By connecting a small speaker (in serieswith a 220 ohm resistor) between the leastsignificant bit of portO and ground, we heara tone. However, for X equal to an oddnumber, an audible blip is heard periodi-cally, while for X equal to an even number,no blip is heard at any time. Why is a blipheard for odd Xs only? Try these programsor simply analyze the waveforms, then turnto page 1 78 for an answer."

92

March 1979 ©BYTE Publications In

SeetheBrighterWriter

at these stores.

Computeiland

At most stores, nationwide.

Arizona

Byte Shop: Phoenix. Tempe. Tuscon

California

Byte Shop: Lawndale. San Jose. Citrus

HeightsCapital Computer. DavisComputer Demo Room: San Ratael.

SunnyvaleComputer Store. Santa MonicaComputer Merchant, San DiegoJade Computer Products. HawthorneColorado

Computer Tech., DenverDistrict of ColumbiaGeorgetown Computer, WashingtonFlorida

ComputerAge, Pompano BeachMicro Computer, So. DaytonaProfessional Computing. W. Palm BeachGeorgia

Roy Abell & Assoc. ColumbusHawaii

Microcomputer Systems. HonoluluIllinois

Illini Micro, NapervilleIndiana

Data Domain, BloomingtonIowa

Memory Bank. DavenportKansas

Computer System, WichitaKentucky

Pragma Tech, LouisvilleLouisiana

Micro Computer, New OrleansMassachusettsComputer Mart, WalthamCPU Shop. CharlestownMichigan

Computer Mart, Royal OakHobby Elec, FlintNewman Computer, Ann ArborTri-Cities Computer Mart, SaginawUnited Micro Systems, Ann ArborNebraska

Omaha Computer, OmahaNew HampshireComputer Mart, NashuaNew JerseyComputer Mart, IselinNew York

Computer Mart, New YorkCompuWorld. Inc., RochesterMini-Micro Mart. SyracuseOhio

Cybershop Micro, ColumbusDayton Computer, Dayton21st Century Shop, CincinnatiOklahoma

Vern St. Products, PapulpaOregon

Computer Pathways. SalemReal Oregon Computer, EugenePennsylvaniaMicrotronics, PhiladelphiaTexas

Byte Shop. RichardsonInteractive Computer, HoustonMicro Mike's, AmarilloMicro Mart, San AntonioVermont

Computer Mart, Essex JunctionVirginia

Computer Place, RoanokeComputer Systems Store, McLeanComputers Plus, AlexandriaWashington

Empire Electronics, SeattleWest VirginiaMicro Data Systems, OsageWisconsinByte Shop, Greenfield

Integral Data Systems, Inc.

14 Tech Circle, Natick, MA 01 760(617)237-7610

\r

Pay a little bit more

and get a printer that's

brighter than your computer.

The BrighterWriter:

When a few dollars more buysyou a first-class impact printer,why settle for a toy? The Brighter-Writer gives you quality to startwith. And versatility that stayseven if you outgrow yourpresent personal computer.

Built smart like the big ones.

The BrighterWriter's a smartprinter. There's a microcomputerinside. It outwits even the bigger,higher-priced printers. So youget versatility to do all kinds ofprinting. And power to grow on.

Prints fat, skinny,tall, small.*

This printer can

abedef be as creative

•:"::'::!' asyourimag-

:'"": ....;....,.,...:...,.:.•• ination. Stretchcan. '..is::; Qut y0ur cjiar.

acters. Squeeze them close.Make them high. Low.Bold. Banner. You name it. •

Plugs into your computer.

Most popular personalcomputers interface to theBrighterWriter Simply andquickly Hundreds ofBrighterWriters are working inApple, TRS-80, Heathkit, S-100and many other personal com-puter systems right now.

Pictures and fancy ■ ;pt

symbols.* '""""'.••

The BrighterWriterdraws out your ere- :*: -f-ativity You can print ...„. „*„,drawings, graphs, **

diagrams, bold symbols, or justabout any graphic you canimagine.

Picture your page as thou-sands of dots. The BrighterWritercan fill in the dots, plot them con-tiguously, stack them, or scatterthem. And its special set of gra-phic charactersA .*»: R n simplifies the

..... : process.w !... a.« '-.A prints any char-]:*." .-•.-: KT •;*•'" acter a typewriter

:... •— : : can paster . . .

The BrighterWriter can printplain and simple. With 7x7 dotmatrix clarity You get all the let-ters, numbers, and standardsymbols of a

regular

typewriter. At upto 80 cps throughput.

Ordinary paper.

Fancy or plain, the Brighter-Writer prints on ordinary paper.Better yet, it prints on manyshapes of paper. Single sheets.Roll. Fanfold.

Want more copies? TheBrighterWriter prints multiplecopies without extra adjustments.

Four easy buttons.

Operating the BrighterWritercouldn't be simpler. Up-front con-trols are easy to get to. A power

"Some of these advantages require extra-cost options.Circle 173 on inquiry card.

button to turn it on. Atest button toself-test your printer. A paper feedbutton to advance the sheets orforms. A line feed button toadvance the paper a line at

a time.!:|j:j- :i;s'v' •«• jj- :;;:5'" Prints

any-which-wayThe BrighterWriter comes intwo models. The IP-225, at S949,gives you a BrighterWriter withtractor-feed drive for precisionforms control. This one canhandle everything from labels to8V2" paper widths.

It has eight form lengths andgives you all the features of ourIP-125.ISfei i A brighter

buy z$i-y ":;;:!"s3!"

Our IP-125,

friction-feed,BrighterWriterhas a 96 character set andprints on 8Y2" wide paper.Upper and lowercase. It printsexpanded characters, too.You can choose a RS-232 serialor parallel interface. $799

Lots of goodies.

There's more. Choose all kindsof options for your BrighterWriter.Up to 132 characters per line, var-iable character densities, largerbuffers, special graphics pack-ages, interface cables, and more.

Give us a call or write. IntegralData Systems, 14 Tech Circle,Natick, MA01760, (617) 237-7610.

Better yet, see the Brighter-Writer at the store nearest you.

Integral Data Systems, Inc.

BYTE March 1979 93

m

Designing with Double Sided

Printed Circuit Boards

David LamkinsDBL Electronics83 Morgan CirAmherst MA 01002

Materials Required for Layout Design

Pencils: Red, Blue and Black

Eraser and Pencil Sharpener

Tracing Vellum

Grid

Printed Circuit Design Template

Light Table

Large Scratch Paper Pad

Your Schematic, Integrated Circuit PinoutData, etc

Scotch Magic Transparent Tape

Table I: Materials required for printedcircuit board layout.

PLEXIGLAS

Figure 1: The author's design for a homebrew light table used for drawingprinted circuit board layouts. A sheet of Plexiglas or other clear plasticilluminated by a lamp is used as the drawing surface.

Magazines for electronic hobbyists some-times run articles about do-it-yourselfprinted circuit layout and construction.Unfortunately I never saw an article whichpresented a unified printed circuit designstrategy for large and very large systems(eg: a board with 20 or more integratedcircuits).

Consequently, when the time came forme to design the printed circuit boards for asystem involving more than 900 semiconduc-tors, with greater than 60 percent of thatcount being integrated circuits, I didn'tknow where to begin.

Determination is the prime motive forcein a project that large, so I went ahead andstarted. Along the way I took notes aboutwhat I learned. Using the methods I de-veloped, you should be able to designdouble sided printed circuits for your ownbehemoth kluge without undue anger orfrustration.

To undertake a large printed circuitproject, you should be properly equipped.Simple "pen and ink on grid paper" tech-niques may be adequate for small boards,but on a larger layout, even with only 20integrated circuits, you will have an absoluteminimum of almost 300 integrated circuitleads. Try drawing that many pads on 0.1inch centers, not to mention interconnectingtraces and associated components, and youwill end up in a sobbing heap on your work-shop floor.

Table 1 lists the materials necessary tothe initial design of your printed circuitlayout.

The black pencil will be used to delineatecomponents and pads on your drawing.The red pencil is used to mark conductorruns for the solder side of the board, whilethe blue pencil marks runs on the com-ponent side. A necessary adjunct to thepencils is the eraser and pencil sharpener.Most likely, neither will see as much use asthe pencils themselves, but both should beclose at hand.

The tracing vellum should be goodquality. You will not appreciate tears orholes as a result of the erasing you will bedoing.

A grid is essential to good planning.Grids are precision printed on dimensionallystable Mylar and are available in a variety

94 March 1979 O BYTE Publicalions Inc

of styles. Your selection will depend largelyon the scale to which you draw your design.The most commonly used scales are 4x,2x, and 1x. The 4x and 2x scales find wideuse commercially, where use of automatedmanufacturing techniques requires extreme-ly tight tolerances on component position-ing. The other advantage of a larger scale isreduced eyestrain. For our purposes, the 1xscale is probably best since materials cost islowest and the need for photoreductionfacilities is alleviated. Therefore, your gridshould have 20 lines per inch to allow com-ponent placement to the nearest 0.05 inch.You might find a grid with 10 lines per inchadequate, but many lead spacings do not fitexactly on a 0.1 inch grid, and you willquickly tire of trying to visually approxi-mate the halfway mark.

The printed circuit design template helpsyou draw resistors, capacitors, diodes,transistors, integrated circuits, trimmers andedge fingers accurately and repetitively. Besure you get the 1x size.

A light table is necessary to light yourgrid from the back and make the gridlines visible through the vellum. Commerciallight tables are available, but they are notinexpensive. A homemade substitute can beas simple as a piece of Plexiglas leaningagainst a box on a table with an incandes-cent or fluorescent desk lamp providing theillumination (see figure 1). Should you usean incandescent lamp, a low wattage isrecommended to minimize heating of thegrid.

A pad of scratch paper should be kepthandy for sketching of trial layouts, quickcomputations, doodles, etc.

I use Scotchbrand Magic transparenttape; it is the only readily available tape Ihave found that will hold the grid and art-work in place on the light table withoutoozing or creeping due to the heat of thelight.

These materials along with your sche-matic and related pertinent data are all youneed to lay out a printed circuit board.

Table 2 outlines the layout strategies Ifollow in order of execution by heading,and in order of relative importance bysubheading.

Initially, you should study your sche-matic to identify functional groups ofcomponents. Carry this out to as detaileda level as you are able. The procedure will

• Divide circuit into functional groups.

• Define board interface.

• Calculate board size.

• Trial position integrated circuits.

1. Locate analog circuitry close to interface.

2. Group components by functional groups.

3. Arrange circuits symmetrically around shared integrated circuits.

4. Arrange functional groups to minimize number of interconnects.

• Position other Components.

1. Keep analog traces short with inputs separated from outputs.

2. Provide supply bypassing at each linear and TTL integrated circuit and at anyother circuitry sensitive to supply noise or circuitry generating fast edges.

• Don't crowd components.

• Route traces.

1. Shortest runs first.

2. Runs local to functional group.

3. Inter-group runs.

4. Runs to interface.

5. Power runs last.

Avoid blocking power andground pins.

Check spacings.

Table 2: Some printed circuit board layout strategies.

enhance your understanding of the circuitin general as well as the interrelationsamong subcircuits and the correspondencebetween circuits and components thatinfluence your design. Additionally, youmay be able to define critical areas at thistime, such as the need for shielding, isola-tion, or heat removal. Be sure that all unusedlogic inputs and nonstandard supply pinoutsare explicitly included in your schematic.

Your board interface is a definition ofhow signals connect to and from the printedcircuit board. The interface may be con-figured as edge connections, solder pads forsingle leads or ribbon cable, a special con-nector, or any combination of these. Yoursystem's physical design may place con-straints on the locations of the interfaceconnections. If your system is so large thata single board implementation is impractical,or if your system is being constructedmodularly, you should define macrofunc-tions or subsystems into which your overallsystem can be partitioned. First, define asystem by which individual boards can beinterconnected. Then, treating each parti-tion as a complex component, define anyrequirements for shielding, isolation, orheat removal. You may want to considerusing a printed circuit backplane or motherboard to make system interconnections(see figure 2). The mother board is a goodplace to locate your power supply and frontpanel controls if you want a truly modularsystem.

Now calculate the board size. An ab-

About the Author

David Lamklns is atwenty-three year old con-sultant in the analog anddigital electronics field,and has been workingsince 1974 on a digitalelectronic music system.David's hobbies also In-clude playing the guitarand reading sciencefiction.

March 1979 © BYTE Publications Inc

95

CARD-EDGE CONNECTORS

solute minimum figure can be obtained bycalculating the total area occupied bycomponents (table 3). In practice, you willnever achieve this minimum figure with adouble sided board, but it is helpful to knowhow much component area you have. Amore realistic figure to start with is 2 to 3square inches per integrated circuit, tendingtoward the higher side if the board has manydiscrete components, large passive com-ponents, or a large number of edgeboard10 pins. If the board is constrained to be acertain size, you will have to try to make itall fit, although it could be very difficult ifyou have much less than 2 square inches perintegrated circuit.

Now, take a sheet or two from yourscratch pad and sketch a few trial arrange-ments for your integrated circuits. There areseveral things you should strive for. Mostimportant is to locate any analog circuitryclose to its associated board interface. Thisminimizes any adverse effects due to coup-ling or feedback that could be caused bylong analog lines. Next is the arrangement ofcomponents by functional groups. If a multi-

JACK

Figure 2: A typical ar-rangement of printed cir-cuit boards used for largecircuit designs. Several"daughter" boards areshown plugged into a"mother" board. Thelatter is used to facili-tate board interconnec-tions and reduce wiringto a minimum.

Table 3: Average printedcircuit board areas takenup by commonly usedelectronics components.

Component Type

Board Area(Square Inches)

1/8 W resistor

0.075

% W resistor

0.09

Yt W resistor

0.14

1 W resistor

0.27

2 W resistor

0.44

RN55 precision resistor

0.12

Signal diode(D035)

0.06

Power diode(D07)

0.09

Small disk capacitor(CK60-61)

0.06

Large disk capacitor(CK62-64)

0.16

TO-18

0.09

TO-5

0.16

TO-66

0.64

TO-3

1.0

14 lead DIP

0.18

16 lead DIP

0.21

24 lead DIP

0.66

28 lead DIP

1.9

40 lead DIP

2.34

.156 inch connector finger

0.06

96

March 1979© BYTE Publications Inc

TARBELL SETS STANDARDS

For Hobbyists and Systems Developers

Sales to thousands of hobbyists over the past two years have proven the Tarbell CassetteInterface to be a microcomputer industry standard. Tarbell Electronics continues research anddevelopment to produce new and efficient components to fill hobbyists' changing needs.

TARBELLCASSETTE INTERFACE

• 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, 4 Extra Control Lines

• 37-page manual included

• Device Code Selectable by DIP-switch

• Capable of Generating Kansas City tapes also

• No modification required on audio cassette recorder

• Complete kit $120, Assembled $175, Manual $4

• Full 6 month warranty on kit and assembled units

TARBELL FLOPPY DISCINTERFACE

• Plugs directly into your IMSAI orALTAIR' and handles up to 4standard single drives in daisy-chain.

• Operates at standard 250K bitsper second on normal disc formatcapacity of 256K bytes.

• Works with modified CP/M*Operating System and BASIC-ECompiler.

• Hardware includes 4 extra ICslots, built-in phantom bootstrapand on-board crystal clock. UsesWD 1771 LSI Chip.

• Full 6-month warranty and exten-sive documentation.

• PRICE:Kit $190 Assembled $265

MM* M|!IM.

iMijintBirn A^^ii V

CP/M with BASIC-Eand manuals: $100

Compatible Disc Drives

Ask about our disc drives priced as low as $525.

TARBELL

PROTOTYPE

BOARD

Model 1010

• Gold plated edge pins

• Takes 33 14-pin ICs or

• Mix 40-pin, 18-pin, 16-pin and14-pin ICs

• Location for 5 volt regulator

• Suitable for solder and wire wrap

• ALTAIR/IMSAI compatiblePrice: $28.00

For fast, off the shelf delivery, all Tarbell Electronics products may be purchased from computer store dealers

across the country. Or write Tarbell Electronics direct for complete information.

*ALTAIR is a trademark/tradename of PERTECCP/M is a trademark/tradename of Digital Research

950 DOVLEN PLACE • SUITE B • CARSON, CALIFORNIA 90746(213) 538-4251 • (213) 538-2254

Circle 360 on inquiry card.

BYTE March 1979

97

Figure 3: Typical routingof conductors on a twosided printed circuit

board. Contrasting colorsare used to show wire runson the respective sides ofthe board. Note the use ofthe dedicated through-hole.

.

DEDICATED

>

THROUGH ■

HOLE

V

c

L

section integrated circuit is shared by twoor more functional groups, try to arrangethese groups close to the shared integratedcircuit. It is often advantageous to makeuse of the symmetrical layout of manymultisection integrated circuit pinouts.Functional groups should be arranged rela-tive to each other to minimize the numberand length of interconnections betweengroups. If a lot of lines go to an edgeboardconnector, try to leave a clear route forthem.

Tape the grid to the light table, then tapea sheet of vellum over the grid and proceedto lay out the board. Begin by defining theedges of the board in black pencil. Next,using black pencil and the template, locatethe integrated circuits on the board usingyour best trial sketch as a guide. Leaveplenty of space around the integrated cir-cuits, because interconnections can consumea lot of board space.

Try to arrange the integrated circuits ina consistent XY grid to maximize the openpaths a trace can follow from here to there.Leave plenty of room around the edges ofthe board; some of the longer traces aremost easily routed there.

Still using template and black pencil,position the discrete components. In ana-log circuitry, maintain short signal leadsand separation between input and outputof high gain stages. Be sure to provide ade-quate bypassing: One bypass capacitor perintegrated circuit is not too much. Don'tcrowd components. Keep in mind thatyou may need access to integrated circuitpins for servicing, and leave room to adjusttrimpots. Also, keep important test pointsout in the open. Avoid locating small com-ponents out of sight below larger, over-hanging components, and don't allow com-ponents or groups of components to blockaccess to integrated circuit pins. During thisprocess, you may find you'll have to movethings around somewhat to fit everythingwhere you want it. This may require someerasing.

Now comes the difficult part. Using redand blue pencils and eraser, draw the traces

on the vellum. Red is used for solder-sideruns and blue for component-side runs.Trying things out on scratch paper can saveyou much erasure.

The shortest traces will be those inter-connecting the pins of a single integratedcircuit to one another. Do these first. Usered whenever possible to minimize the num-ber of component-side runs. You should beable to get this far without creating anyconnections that start on one side of theboard and finish on the other side (exceptvia a hole used for a component lead). Thenext longest runs will be interconnectionswithin a functional group: Do these next.If possible, avoid blocking access to inte-grated circuit power and ground pins.

Next should be runs connecting func-tional groups together, followed by runsto the edge-board interface, if used. Some-where along the way you'll have to startusing dedicated through-holes to run signalspast areas that are blocked in completely(see figure 3). Depending on the complexityof your circuit, you shouldn't really needmore than one or two through-holes perintegrated circuit on the board.

As you proceed, you'll want to keeptrack of the connections made. I usually dothis by numbering the integrated circuits onthe layout, then marking them on the sche-matic to correspond. As I make a connec-tion, I mark a slash through the lead on theschematic. For circuitry that uses identicalsections repeatedly, I simply copy the firstsection as required.

The last connections are power andground to the integrated circuits. The prac-tice of saving these connections until last isuncommon, but it reduces drastically thenumber of dedicated through-holes on alarger board. It's easier to route two orthree runs through a jungle of interconnec-tions than it is to individually reroute eachtrace of that same jungle to go around twoor three power runs. At any rate, the powerruns should be heavy enough for the typeand amount of logic being used. When work-ing with TTL integrated circuits, be awarethat some formidable current transients arecoupled to ground; be sure to beef up thattrace accordingly. CMOS at low speeds isrelatively immune to power supply noise.

In routing some of the longer traces, youmay think that access to some places isblocked by runs on both sides of the board.In such a case group all the interconnectionsin one area on one side of the board andmove them in one direction; then move theinterconnections on the opposite side ofthe board in that area in the other direction.You now have a clear space between the two

98

March 1979 B BYTE Publications Inc

ANNOUNCING!

A computer without communications can onlyWHISPER, (tive a computer a modem andit can SHOUT—to other computers, totime-share systems, to remote terminals. >to ('BBSs, to your-friends withcomputers, and to devices and

l-'or a modem connection to he legal in theeyes of the Federal Communications Com-mission (FCC), it must have anapproved Data Access Arrangement(DAA-t'BT or CBS) or the modemmust he approved for directconnection. The MM-ltlll accom-plishes all the protectivefunctions required by theFCC with a miniaturized.proprietary protectivecoupler and on-hoard

THEL

AND

Unless v

M-103 DA TA M

COMMUNICA TIONS ADA

control. We have there-by saved you, the user,the cost of the t)AA.

ODEM

TER

ou need more than one,i the fast S-100 modem you'll ever ha\

APPROVEDQUALITY

Both modem and lelephone systemapproved as "Multifunction Dataallows control and sensing of auxilia

•50 dBm sensitivityAuto answerAuto originate

Auto dialer with computer-controlle(il to :i00 baud I anywhere over the lonjnetwork)—rate selection under coiBOO baud over local telephone systejFlexible, software-controlled, mask,Precision dial-tone detectorPhone is answered under softwar

interface are FCCEquipment" which•y equipment.

dial rateg-distance telephone'puter controlmsable interrupt system

MNTY

WARASSEMBL^LOW PRICE

One year limited warrantyTen-day unconditional return pMinimal cost. 24-hour exchangewarranty

control.

■ ivilege

e policy for units not in

& TESTEDs-$319.95 For Mi

Not a kit- FCC

registration prohibits kits

Potomac Micro-Magic, Inc.

P.O. Box 11149 Alexandria, VA 22312

jem AND Coupler

micromagic

(703) 750-3727

Circle 307 on inquiry card.

BYTE March 1979

99

Table 4: Materials requiredto construct a printedcircuit board artworkmaster.

Figure 4: Figure 4a illus-trates a common printedcircuit board problem. Thedesigner wishes to run con-ductors across a group ofexisting perpendicular con-ductor runs. Figure 4bshows how the problemcan be solved by using atwo sided printed circuitboard with two through-holes. Figure 4c is a short-hand notation for the con-figuration shown in figure4b. As before, contrastingcolors indicate conductorson the respective sides ofthe board.

Mylar sheetsBlack donut pads

0.093 inch (essential)

0.075 inch and 0.111 inch (helpful)

(Other sizes per personal preference)

Black drafting Tape

0.01 5 inch, 0.040 inch, 0.062 inchsuggested

Integrated Circuit lead pattern stick-ons

Targets

Drafting pen

PC design template 1

Light table From table 1

Scotch Magic transparent tape )

groups for routing your connection via adedicated through-hole (see figure 4a & 4b).At this point, you probably don't want toerase and move all those lines. I use a short-hand method to indicate this rearrangement(see figure 4c).

Once all the traces are drawn in place,make sure you have enough room to routetraces through the crowded spots. Signaltraces can be as narrow as 0.015 inch, in

(a)

L-IL-ILJLJLJLJLJ

t

I II II II II II lL-1

>

*

/

:

tc)

fact, you will find this width very easy towork with because tape in this width is ex-tremely flexible. Spacings of 0.050 inch be-tween conductors are easy to achieve. Avoid,if possible, running conductors closer than0.1 inch to pads where no connection isintended. Leave at least 0.1 inch between atrace and the board edge. If you find youwill have too little room for traces in a givenarea, calculate how much related com-ponents will need to move and mark thedistance and direction on the vellum.

Congratulations! You now have a designthat will be the basis of your tape-on-Mylarartwork master. Table 4 lists those materialsnecessary for the preparation of the artworkmaster.

Mylar drafting film comes in sheets androlls. The price advantage of buying in rollform is slight and the curl of sheets cut froma roll is a nuisance at best.

Black donut pads come 500 to a pack.The 0.093 inch size will work for almosteverything, but it's nice to have 0.075 inchpads on hand for the finer leads of transis-tors and diodes plus 0.111 inch pads to con-nect lead wires to the board.

I use three tape widths for most of mydesigns. The 0.015 inch width finds thegreatest use. Power and ground runs usuallyuse 0.040 inch or 0.062 inch widths.

Integrated circuit patterns are worthevery penny for the time they save. If yourrequirements are modest, buy just one packof 16 lead DIP patterns. These can be cutdown to make 14 or 8 lead DIP patterns,and they can be split down the middle andarranged to make 24, 28, or 40 lead DIPpatterns. Round 8, 10, or 12 lead TO-5patterns can be accommodated by bendingthe device leads to fit DIP spacing. I findthe 0.075 inch round pad style most suit-able. Check the catalogs of the sources listedat the end of this article; many styles areavailable.

Targets come 250 per package, and, al-though expensive, are absolutely essentialto assure accurate alignment of the three orfour layers of artwork.

A drafting pen is used with the printedcircuit design template to make an assemblydrawing of your board. It will cost about$7.50 at an art supply store and is truly ajoy to own.

Remove your vellum layout sheet fromthe light table and keep it nearby. Securelytape a Mylar sheet over the grid. Locate twotargets in diagonally opposite corners ofthe Mylar and carefully align the centerswith a grid intersection. The targets may belocated inside or outside of the board area.If located within the board area, they can

100

March 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

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.

Cardholders Signature-

Name_

Address.Citv

State_

-Zip.

10800 NE Eighth, Suite 819Bellevue, WA 98004

Figure 5: Two techniquesfor applying drafting tapearound corners. Figure 5ashows the preferred meth-od for narrow traces; fig-ure 5b shows the tech-nique for wide traces.

Table 5: Recommendeddrill sizes for drillingstandard printed circuitboard pad holes.

(a)

0.075 inch pad

#71 drill

0.093 inch pad

#64 drill

0.111 inch pad

#55 drill

0.125 inch pad

1/16 inch drill

double later as mounting holes. Define theboard edges with short pieces of tape at theboard's corners.

Now, working with a ruler marked intenths of an inch and your vellum layout,transfer the component and through-holelocations to the Mylar using donut pads andstick-ons. Be sure to take into account theshifts notated as the last step of the layoutpreparation. Once all the components andthrough-holes appear as pad groups on theMylar, align the vellum over the Mylar andcheck for missing or misplaced pads. Thissheet now contains all the component padsthat will appear on both sides of the board.Remove the vellum.

Tape a second sheet of Mylar directlyover the first. Align targets with those on thefirst sheet. Using black tape, transfer all thelines appearing in red on the vellum to thissheet of Mylar. Take heed of any notes onthe vellum to shift traces from their indi-cated positions. Narrow tapes are bestrouted directly with gentle corners wherenecessary. Wider tapes do not curve aseasily and require cut corners for sharpbends (see figure 5). This sheet now con-tains all traces located on the solder sideof the board. There are no pads on thissheet. The same procedure is followed usinga third Mylar sheet and the blue lines for thecomponent side traces.

For the sake of completeness, you shouldnow make an assembly drawing on a fourthlayer of Mylar sheet. This is done using thetemplate by inking the component outlinesaligned with their respective pads. The

component designation or value should beincluded within or beside the outline usingpen and ink or dry transfer lettering.

Your master artwork is now completeand should be rechecked for accuracy.

To make negatives of solder-side andcomponent-side artwork for use in photo-graphically etching your board, simplyalign the Mylar sheet containing only padswith either of the sheets containing onlytraces before making a contact negative.The details of the negative-producing opera-tion are well covered in the hobbyist maga-zines, and most local electronics stores sellprinted circuit board etching kits.

You now have a negative for each side ofyour printed circuit board. Before coatingyour board with photoresist, pick two holesnear diagonally opposite corners and ac-curately transfer their locations to thelaminate. Use a very small drill to makethese two holes. You now have referencepoints by which you can align the negativeon each side of the board. The board is nowphoto etched on both sides.

All that remains is to drill the holes,mount the components, and solder theleads. Table 5 shows recommended drillsizes for various sizes of pads. When mount-ing components, crimp the leads flat againstthe solder side. Dedicated through-holes arestuffed with a short piece of wire crimpedto the board on both sides. Solder leads onboth sides of the board where necessary forthrough-board connections. As an alternativeto soldering on both sides, you can crimpeyelets in the holes or get someone toprocess your board with plated through-holes.

Well, that's all there is to it. Now you canput that very large project of yours on aprinted circuit board. (The very first printedcircuit board I ever designed had 26 inte-grated circuits, 144 resistors, 44 capacitors,28 transistors, 30 diodes, and 23 indicators.I completed the master artwork using thetechniques I have just described in less than40 hours.) A homebrew double sided printedcircuit board may be just the solution you'relooking for."

Sources of printed circuit board artworksupplies:

1. Bishop Graphics Inc.20450 Plummer StChatsworth CA 91311(213) 993-1000

2. Chartpak Graphic Products1G River Rd

Leeds MA 01053(413) 584-5446

102

March 1979 © BYTE Publications Inc

ANNOUNCES DDS H

THE FAMOUS OPEN-HEART SURGEONFOR MICROCOMPUTERS

DDS II IS AN INCREDIBLYPOWERFUL LEARNING ANDDEBUGGING SYSTEM

DDS II the famous Dynamic Debugging Sys-tem is an incredibly powerful, learning anddebugging system. Although designed formicrocomputers, it is even more sophis-ticated than the built-in debugging environ-ments supported by most large main frames.DDS II is a remarkably expanded version ofDDS I. And with its 50 commands, DDS II ismuch different from DDT.

A FEW OF DDS H'sMANY FEATURES

• Assembles and disassembles all 8080code for fast and easy patching.

• Performs "software open-heart surgery"on the microprocessor and the memory,artfully displaying on the screen all regis-ters, program instructions and memory.

• Simulates dual screen capability byoffering you the ability to switch oncommand from the DDS II display to theprogram output. It's like having twovideo monitors for the price of one.

• Updates the display while monitoringevery step of the program.

• Offers alteration at will of all registers,instructions or memory.

• Includes a full array of monitoringtools, e.g., breakpoints, conditionalstops, stack range errors, etc.

• Comes in different versions runningon either the VDM videoboard or theLear Siegler ADM 3A.

DDS H's EXTRA BENEFITFOR BEGINNERS

DDS II is an ideal tool to learn how to writeassembly language programs. It is like a win-dow exposing the inner workings of yourcomputer.

PRS DDS II comes with a complete and in-structive handbook explaining every pro-cedure step by step. This unique documenta-tion is written in clear and easy-to-understand English and avoids esoterictechnical language.

But PRS documentation for DDS II is morethan clear and precise instructions in agraphically appealing manual. You learn atthe same time.

Indeed, PRS DDS 11 documentation offersyou a true fluency in computer-userdialogue.

DDS II IS PROTECTED IN ABEAUTIFUL CASSETTE ORDISK FOLDER

The PRS cassette (or floppy disk) andmanual for your DDS II program are protec-tively nestled in an efficient and durablegold-imprinted folder. Wherever you file it,in your room or office, the decor will beenhanced by its elegance.

DDS II FROM PRS IS SUPPORTEDBY MAJOR BRANDS

• CUTS relocatable cassette VDM version:

runs with SOLOS/ CUTER monitor; orADM3A version: runs with SOLOS/CUTER monitor on the Lear SieglerADM3A terminal.

• XITAN (TDL) relocatable cassette VDMor ADM3A version: interfaced to ZAP-PLE monitor and VDM board or theLear Siegler ADM3A terminal

• TARBELL VDM or ADM3A cassetteversion: interfaced to the APPLEmonitor (8080A version of ZAPPLE)and VDM board or the Lear SieglerADM3A terminal.

• CP/M 8" single density floppy diskVDM version or ADM3A version

• CP/M 5!4 " MICROPOLIS floppy diskVDM version or ADM3A version

• CP/M 5!4 " NORTH*STAR floppy diskVDM version or ADM3A version

IMPORTANT NOTE:

DDS II can easily be patched to run withother DMA videoboards or other cursor ad-dressed video terminals.

AN AD CAN NOT DO JUSTICE TO DDS

II You must run it to appreciate its com-pleteness.

VISIT YOUR NEAREST DEALERTOD A Y TO OBTAIN YOUR DDS IIFROM PRS FOR ONL Y $49.95 PERCASSETTE OR $64.95 PER DISK

Let your dealer demonstrate the excellenceof PRS DDS II. Use the coupon below toobtain the name of a dealer in your area.

New Product Releases From

PRS THE PROGRAM OF THE MONTH CORPORATION

257 Central Park West. New York. N.Y. 10024

Gentlemen:

~J Please place my name on your priority mailing list to receiveyour descriptive advance releases of all new programs devel-oped by PRS at regular intervals.

□ Please send me a list of dealers in my area.

NameTitle

CorporationAddress

City

State.

Zip

Reference 3B9

Circle 309 on inquiry card.

BYTE March 1979

103

Aw, cut it out!

DIGITAL RESEARCH

P 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 and iCOM Attache. Specifydesired configuration $145/825

MAC — 8080 Macro Assembler. Full Intel macro definitions.Pseudo Ops include RPC, IRP. REPT, TITLE. PAGE, andMACLIB. Z-80 library included. Produces Intel absolute hexoutput plus symbols file for use by SID (see below) $100/S15

□ SID — 8080 symbolic debugger. Full trace, pass count andbreak-point program testing system with back-trace and his-togram utilities. When used with MAC. provides lull symbolicdisplay of memory labels and equated values $85 $15

D TEX — Text formatter to create paginated, page-numberedand justified copy from source text files, directable to disk orprinter 385/31 5

□ DESPOOL — Program to permit simultaneous printing ofdata from disk while user executes another program from theconsole $50/$1

MICROSOFT

□ Disk Extended BASIC* — New version, ANSI compatiblewith long variable names, WHILE/WEND, chaining, variablelength file records $300 $25

□ FORTRAN-80*— ANSI '66 (except for COMPLEX) plusmany extensions. Includes relocatable object compiler, linkingloader, library with manager. Also includes MACRO-80 (seebelow) $400/$25

□ COBOL-80* — ANSI 74 Pseudo-compiler with relocatable

object runtime package. Format same as FORTRAN-80 andMACRO-80 modules. Complete ISAM, interactive ACCEPT'DISPLAY, COPY, EXTEND 3625 $25

□ MACRO-80 — 8080/Z80 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/31 5

*See MICROPRO (or Microsoft languages with son capabililifis.

XITAN (software requires Z-80 CPU)

D 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

D 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 S69 $20

□ ASM Macro Assembler — Mnemonics per Intel with Z-80extensions. Macro capabilities with absolute Intel hex or re-locatable linkable output modules $69/$20

□ LINKER -

■ Link-edits and loads ASM modules

$69/320

L

D 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 389 320

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.

□ 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/$20

□ A3 package includes Z-TEL, TOP. ASM and Super BASIC

$249/840

□ A3+ package includes Disk BASIC, Z-TEL, TOP. ASM,Z-BUG and LINKER $409/840

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! S250/$25

■ Above available as absolute program only $200/825

D Super Sort II

- As II without SELECT/EXCLUDE . .$150/

D Super Sort III$25

□ ISAM — Callable system with triple level index full ANSI levelII COBOL capability. Utility included to convert existing se-quential files to ISAM $145/825

□ 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/825

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 $95/825

BASIC/S — Microsoft BASIC with Super Sort Capability $40O/$25

D FORTRAN/S — Microsoft FORTRAN-80 with Super Sortcapability $550/825

□ COBOL/S — Microsoft COBOL-80 with Super Sort capability

8800/825

SOFTWARE SYSTEMS

□ CBASIC Disk Extended BASIC — Non-interactiveBASIC with pseudo-code compiler and runtime interpreter.Supports full file 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 . .$95/$15

STRUCTURED SYSTEMS GROUP

□ General Ledger — Interactive and flexible system providingproof and report outputs. Customization of COA created in-teractively. Multiple branch accounting centers. Extensivechecking performed at data entry for proof, COA correctnessetc. Journal entries may be batched prior to posting. Closingprocedure automatically backs up input files. All reports can betailored as necessary. Requires CBASIC 3995 320

D Accounts Receivable — Open item system with output forinternal aged reports and customer-oriented statement and bil-ling purposes. On-Line Enquiry permits information for Cus-tomer Service and Credit departments. Interface to GeneralLedger provided if both systems used. Requires CBASIC 3750 320

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 lor maillabels. Transfer system for extraction and transfer of selectedrecords to create new files. Requires CBASIC $79 $20

104

BYTE March 1979

Filled out any huge coupons lately? Here's your chance.Check off the items you want, furnish all of the necessary informationand send us this whole advertisement. Big coupon ... big values ...big savings, from Lifeboat Associates, your Software Supermarket.

Software /

with /ManualManual/ Alone

□ 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

D WHATSIT— Interactive data-base system using associativetags to retrieve information by subject. Hashing and randomaccess used for fast response. Requires CBASIC S125 S25

□ SOURCE 808G7Z-80 Disassembler — Disassemblesdisk binary file to disk source files. Output may be created forprocessing by MAC with its Z-80 library or by the Xitan ASM

$70/$1

□ ZASM Assembler — Disk-based assembler for Zilog/Mostek mnemonic Z-80 code. Creates output in absolute Intelhex. Requires Z-80 to operate $45/$10

□ XYBASIC Interactive Process Control BASIC — Full

disk 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 $295/325

D SMAL/80 Structured Macro Assembler 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/$15

Software /

with /ManualManual/ Alone

□ 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/820

□ 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 S295/S20

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.) FREE

*

TRS-80FORTRAN PACKAGE

Professional Disk-BasedLanguage 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

1

IIIII

Fill it in.

Lifeboat Associates, 164 West 83rd Street, New York, N.Y. 10024 (212) 580-0082

Please send me:

Software

Price

□ manual alone

□ manual alone

D manual alone

□ Check enclosed □ U.P.S. COD

Exp. Date

Sub total

□ Visa D Master Charge

Shipping

Account #

$1.00 for C.O.D.

Signature

Total

Lifeboat Associates

» THE „SOFTWARESUPER-MARKET

My computer configuration (specifying disk system)

Name

Address (No. P.O. Box)

City

State

Zip

Disk systems and for-mats: North Star single ordouble density. IBMsingle or 20 256. Altair.Helios II. Micropolis ModI or II 5Vi" soil sector(Micro iCOMSD SalesDynabyte). etc.

Add $ I item shipping ($2mm.). Add SI additionaltor UPS COD.

Manual cost applicableagainst price ol subse-quent software pur-chase.

The sale oi each pro-prietary software pack-age conveys a licenselor use on one systemonly.

EFFECTIVE 1/15/79

' The Software Supermarket Is a trademark of Lifeboat Associates

I

I

I

I

II

J

BYTE March 1979

105

Tunnah is one of many innovators bringingicro revolution to the small business. Asrogrammer, he knows computers and theirlanguages. As a businessman, he knows businessand its languages. And when Mr. Tunnah decidedto micro-computerize the accounting function atColloid-A-Tron, he turned to Structured Systemssoftware.

Says Mr. Tunnah: "The program is designed froma CPA standpoint, for multiple corporations, which wehave. It is flexible and gives me the ability to changereporting by profit centers easily. It is up and running]uickly, and it just keeps on running. I think it's the bestbusiness softiwre available."

The best software available. That's whatStructured Systems Group set out to create.

Structured Systems offers three sophisticatedaccounting systems. Our General Ledger software isbig enough for multi-client write-up by the CPA,or multi-corporate reporting for the business, butsmall enough for the micro budget. The verycomprehensive Accounts Receivable and AccountsPayable packages will operate independently, orthey will coordinate with the General Ledger.

Our systems record transactions easily andcorrectly, and provide an audit trail from sourcedocument to financial statements. And they willmaintain monthly and year-to-date information in

"My StructuredSystems businesssoftware has paidfor itself in laborhours saved alone."

Mr. Ken Tunnah, Colloid-A-Tron Inc., Buffalo, New York

dollars and in percentages. And they are reliable.

The three systems interact with the user to set upparameters such as format and headings, accounttitles and numbering, automatic billing or remindernotices, credit limits, sales reports, a check register,and much more.

The software is designed to run on an 8080 orZ-80 CPU with 48K of memory, dual diskswith CP/M®, printer, keyboard, and CRT. Tomake it all work for you, we have provided the mostextensive documentation and support in the industry.

We provide the capability to computerize complexaccounting functions on relatively inexpensive micro-computer equipment. Ken Tunnah has told us whatthat means: "I've bucked some trends. 1 looked around,and decided that with the right software, I could get amicro to outperform a $45,000 mini. I'm satisfied. It'ssimple economics."

We can refer you to a growing number ofsophisticated retailers experienced in StructuredSystems Group business systems. Or we can workdirectly with you. We'd be happy to provide youwith more information on our product line, whichincludes QSORT (a sort/merge program), CBASIC(a business BASIC), NAD (a mailing and addressingsystem), and our General Ledger, AccountsReceivable, and Accounts Payable packages.

"Cr/M is a registered trademark of Digital Research

Structured Jy/tems Gtoup

5208 Claremont Avenue

Oakland, CA 94618

Call us at (415) 547-1567. Or write.

106

BYTE March 1979

Circle 353 on inquiry card.

HMINIIIIHmilllMMnilintnillHHIIIMIIMNIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIINIIIIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIMIIIIIIIIIIIIIIIIIIIII Illlllllllllllllllllllllllllllllll

BYTE News....

iiiiiiiiiiiiiiiimiiiiimiii iiiiii iiiini iiiiiiiiiiiiiiiiniiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiHiiiiiiiiiiiiiiiiinimiiiiiiiiiiiiiiiiiiiiiimiiiiiiiiiiiiimiiiiiiiiiiii

MORE COMPANIES JUMPING ON THE PASCAL BANDWAGON. The list of computer manufacturers com-mitting themselves to support Pascal on their systems is growing rapidly. The list now includes American Micro-systems (AMI) on their 6800 based system, Western Digital Corp on their 16 bit Pascal oriented microprocessor,National Semiconductor on their SC/MP-II, General Automation on their 16 bit microprocessor, Apple on their8 bit microcomputer and, soon, Intel, on their 8080/8085 development system.

INTEL, TEXAS INSTRUMENTS AND IBM MAKE MEMORY NEWS. Intel has again beat its competitors to themarketplace with a new product. This time it is the 32 K byte programmable read only memory, called the 2732,following in the footsteps of the 2716 and the 2708. It is pin compatible with the 2716 16 K erasable byte readonly memory, and is organized as 4 K by 8 bit words. It has a 450 ns access time and operates from a single 5 Vpower supply. Further, a separate chip-enable input reduces power dissipation by 80 percent (from 150 mA to30 mA) when the device is not selected. The single unit price is $147.30 and drops to $91.65 in quantity. Intelclaims the 2732 is now available in production quantities.

Texas Instruments has been sampling their new 64 K bit dynamic programmable memory (TMS-4164) sincelast fall to selected customers and expects to be in quantity production by the last quarter of this year. Motorolaalso recently began sampling their 64 K bit programmable memory and hopes to be in production by year-end(initial price is $130).

IBM, at a recent International Electron Devices meeting, disclosed that they had made an experimental MOSgate with channel lengths of 1.3 to 1.0 micrometers. This represents a significant breakthrough in very largescale integrated (VLSI) circuit technology. Using this technology it is now possible to build a 256 K bit memorypart. Further, IBM reports that these devices have switching times of 230 picoseconds, which is three to fourtimes faster than previous MOS circuits, and dissipate one tenth the power.

BUBBLE MEMORIES INCREASING IN AVAILABILITY. Texas Instruments and Rockwell are currently the onlytwo manufacturers of bubble memories and their maximum size devices are only 256 K bits. National Semicon-ductor is expected to start sampling their 256 K device later this year. Also, look for Intel to enter the marketbefore year-end. However, prices are still very high, compared to disk storage technology, and production is stillvery limited. Don't look for their use in microcomputers until the early 1980s, when bit capacity is up in themegabyte size and competition develops. Currently, bubble memories are being used in applications where theelectro-mechanical disk systems are not rugged enough.

FLOPPY DISK IMPROVEMENTS COMING. Floppy disks are going to be with us for some time to come. It isexpected that next year will see the introduction of 5 to 10 M byte floppy disks due to higher track density. Thiswill be made possible by having the disk supply its own track positioning data and by improvements in mediatechnology, allowing for narrower tracks. 5 inch floppies will be expanded to the 1 to 2 M byte range, per disk.

Projections for 1980 are that bubble memory will drop to 0.1 cent per bit while disk will cost 0.0001 cent perbit. Further, projections are for bubble memory prices to drop to only 0.02 cent per bit by 1985.

In the meantime, floppy disks, first introduced in 1973, saw sales of close to 270,000 units last year with salesfor this year expected to be over 350,000.

FLAT SCREEN TERMINALS ARE COMING. General Telephone and Electronics (GT&E) has announced thatthey are far along in development of a flat screen display using cathodoluminescence. They are working on itjointly with Lucitron Inc. GT&E predicts that the display will be in production by 1981 at the latest. A colordisplay, using the same technique, is also being developed. The system will permit large displays, up to 50 inches(127 cm, measured diagonally) and approximately three inches thick. The Lucitron panels use a "self-scanning"system which does not require complex drive circuitry. The initial display panels will be used for computer ter-minals, with television type displays, providing good gray scale, following a year or two later.

APL ON A MICROCOMPUTER FOR $2000 AVAILABLE SOON. APL buffs waiting patiently for a home APLsystem will finally get their dream. Alan Rose, of Scientific Time-Sharing Corp, considered one of the APL author-ities, reports that he and a small company called Quark will soon introduce a microcomputer system dedicated toAPL. It will run the full APL language, as implemented by IBM and Scientific Time-Sharing Corp. It will be easilyexpandable in I/O and peripheral mass storage and will execute two to four times faster than the IBM 5100 APLmachine. The unit, which will use the Intel 8086 16 bit processor, will contain its own keyboard and display andcan be used in either a stand-alone mode or as an intelligent APL terminal to a host system. The best news is thatthe system price will start at only $2000. Look for availability this summer.

March 1979 © BYTE Publications Inc 107

Although several "tiny APL" interpreters have been brought out for microcomputers, and IBM has a micro-APLin their 5100 desktop computer, these implementations have left a great deal to be desired. Vanguard Systems inAustin TX has available an excellent Z-80 APL interpreter which we understand will be licensed soon to one or morecomputer manufacturers. Microsoft had advertised their version of APL for some time, but as far as we know havenot started delivery yet.

FCC TAKING ACTION ON RADIATING COMPUTERS AND GAMES. After severe interference problems thatoccurred with Citizen's Band radio interference on television sets, the FCC sought to regulate devices which employradio frequency modulators. This is also the case with computers and electronic games that are connected to stand-ard television sets via radio frequency modulators. Manufacturers are required to submit their units to the FCC forapproval and licensing. Passing the standards appears quite difficult and so far only a few units have obtainedapproval. Several manufacturers have gotten around the problem by providing only video signal output, whichmeans that the user must use a video monitor or TV set with special video input. Some manufacturers have ignoredthe FCC regulations and sold unlicensed units.

Recently the FCC served a cease-and-desist order on some personal computer system owners because of inter-ference on neighbors sets. The FCC is also talking about imposing marketing sanctions on those companies whofail to meet interconnect qualifications.

PERSONAL COMPUTERS GOING GREAT IN EUROPE. Sales of personal computer systems are going great onthe Continent. The Germans report that sales are soaring. An estimated 4000 PETs were sold in 1978, primarily tohome users. Commodore is manufacturing the PET in England. Tandy also reports greater than expected sales,but has not disclosed figures. Tandy started selling the TRS-80 last summer through 340 stores. In Germany theTRS-80 (Level I) sells for $935 compared to $595 in the states. The Apple computer is being handled by ITT,who reports excellent sales. The TRS-80 and Apple are manufactured in the USA. Things will change this yearas Seimens, one of the largest European electronics manufacturers, will soon announce their own personal computersystem.

Interestingly, one of the major sales outlets for personal computer systems has become department stores. Sev-eral US department stores have tried selling personal computer systems but have withdrawn.

MICROPROCESSOR MAKERS MOVE INTO COMPUTER SYSTEMS BUSINESS. Integrated circuit manufac-turers are going into competition with their customers, the computer systems manufacturers. Texas Instrumentswas one of the first. They have been selling complete minicomputer systems for several years now. Additionally,they have seen selling 16 bit systems using their 9900 processor and now also will soon introduce a personal com-puter system using the 9900.

National Semiconductor is now selling a large system to replace IBM-370s and will soon offer for sale a micro-processor version of the DEC PDP-11 16 bit computer system. Also, Fairchild will soon sell a system that is com-patible with the Data General NOVA computer system.

Zilog late last year introduced their system using the Z-80. It is a business-oriented system and has a full comple-ment of computer languages, including BASIC, FORTRAN and COBOL; business application software packages arealso offered. A Z-8000 based system is expected in the fall.

Intel is rumored to be working on a very powerful data base system using an associative processor to handlesearching, inserting, deleting, etc, among an array of storage devices and host interfaces. The system will utilizea 16 bit processor and CCD memory that will represent a breakthrough in data base computer technology. Intro-duction is expected in 1980.

TANDY REVAMPS ITS COMPUTER MARKETING. Early last year Tandy opened a computer store in its FortWorth TX building complex and also issued a computer catalog. The store and the catalog carried the Radio ShackTRS-80 and a wide variety of products ranging from the IMSAI8080 to the Video Brain computers. Tandy con-sidered it an experiment. The TRS-80 accounted for 80 percent of the sales. Now Tandy has decided on a newmarketing approach. They have already opened five computer stores (Richardson, Dallas and Fort Worth TX, andNew York City and Washington DC) and plans to open others soon in Tampa, Atlanta, San Francisco and LosAngeles. Each store will have a classroom and repair facilities.

Further, the stores will carry only three different computer systems. The TRS-80, Tandy-10 and Tandy-150systems. The Tandy-10 is made for Tandy by Digital Data Systems (DDS) and will have a base price of $8995.Using an 8080, it will have a video display, keyboard, 48 K bytes of programmable memory, two 8 inch floppydisk drives, BASIC and a disk operating system similar to CP/M. The initial order placed by Tandy with DDS wasreportedly for 250 systems. The Tandy-150 will be assembled by Tandy and use a Computer Automation 16 bitprocessor. Starting at $21,995, it will include a 10 M byte hard disk.

Sol Libes

ACGNJ

995 Chimney Rdg

Springfield NJ 07081

108

March 1979 O BYTE Publications Inc

BITE

BBBPJS

BOOKS OF INTEREST TO COMPUTER PEOPLE"

More BYTE

:<•:•

5

in your future

Circle 36 on inquiry card.

BYTE March 1979 109

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. Forthe budget minded, "A$19MusicInterface" contains practical tutorial information—andorgan fans will enjoy reading "Electronic Organ ChipsFor Use in Computer Music Synthesis".

Mew 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.

\$^fc

ISBN 0-931718-11-2Editor: Christopher P. MorganPages: approx. 128Price: $10.00

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.

TinyAssembler

6000

*t#

i "5*1

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 later in the PAPERBYTE™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.

ISBN 0-931718-03-1Author: Jack EmmerichsPages: 56Price: $6.00

\ggl

ISBN 0-931718-07-4Author: Steve GarciaPages: 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.

$3H

ISBN 0-931718-05-8Author: Paul WarmePages: 88Price: $8.00

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-104Author: 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. Itproduces a load mapand a load module inMotorola MIKBGG loaderformat.The Linking Loader requires 2 K bytes of memory, asystem console (such as a Teletype terminal), a sys-tem monitor (for instance, Motorola MIKBGG 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. Qrappel& 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'sMIKBGG 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 registers,setting interrupts for debugging, testing a program-mable memory range for bad memory locations,changing the display and input base of numbers,displaying 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

BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458

Company

I

Street City

□ Check enclosed in the amount of $

□ Bill Visa IJ Bill Master Charge CardPlease send the books I have checked.

□ Computer Music $10.00

□ SCIPERWOMPGS $6.00

□ Tiny Assembler (3.1) $9.00

□ Circuit Cellar $8.00DBASEX$8.00

□ Program Design $6.00

BYTE BOOKS. BYTE BOOKS logo, and PAPERBYTEate trademarks ol BYTE Publications. Inc.

State.'Province

Code

No.

Exp. Date

D Simulation $6.00DRA6800ML $25.00DLink68$8.00

□ TRACER $6.00DMondeb$5.00

□ Bar Code Loader $2.00

Add 50C per book to cover postageand handling

Please allow 6-8 weeks for processing your order.

112

BYTE March 1979

Circle 36 on inquiry card.

• 4MHz operation guaranteed on high-density (16K and up)boards, with no price penalty • Low current consumption withguaranteed specs • Static technology used exclusively

• Buffered inputs for minimum buss loading • Bufferedtri-state outputs for maximum output drive • Unique multi-blockconfigurations for addressing flexibility • All memories conformto industry standard board sizes • 1 year limited warranty(not just 90 days) • Double-sided, plate through, solder maskedand legended circuit board • Complete documentation

• Gold-plated edge connector teeth that stand up to repeatedinsertions • DIP switch address selection/deselection

• Sockets for all ICs, including low power Schottky support chips

• Optimized thermal design • Over 4 years of experience in

the design and manufacture of memories

Most Eoonorams are available in 3 forms: unkit (sockets, bypass caps pre-soldered in place for easy assembly); assembled and tested;

or qualified under the Certified System Component (CSC) high-reliability program (200 hour buserial numbered, immediate replacement in event of failure within 1 year of invoice date)

rn-in, 4 MHz operation over full temperature range,

NAME

STORAGE

BUSS

SPEED

UNKIT

ASSM

CSC

ECONORAM II"

8KX8

S-100

2 MHz

$139

$159

N/A

ECONORAM IV"

16KX8

S-100

4 MHz

$295

$329

$429

ECONORAM Vf

12KX8

Heath H8

2 MHz

$200

$270

N/A

ECONORAM VII™

24KX8

S-100

4 MHz

$445

$485

$605

ECONORAM IX™

32KX8

Dig Group

4 MHz

$649

N/A

N/A

ECONORAM X™

32KX8

S-100

4 MHz

$599

$649

$789

ECONORAM XI™

32KX8

Intel/National80/10 & 80/20

4 MHz

N/A

N/A

$1050

TRS-80 CONVERSION j MEMORY CHIP SPECIALS !! I HEATH H8 BARE BOARD

KIT $109 • 2102L-1 (low power, better than 450 ns) 1K ; MEMORY SPECIAL $35

Our kit is guaranteed for 1 year, includes DIP : static RAMs now only 99* while they last. Only • Don,, need ,he tu|| 12K o( our standard H8

shunts, and uses 240 ns chips for operation at 4 J good on orders of 10 or more. • memory? We now offer the board, mounting

MHz. Upgrades 4K TRS-80 to 16K or populates J TM<MrMa 4K Rtatir RAM_ 4=n ns nrimp I bracket, edge connector, and print for only $35.

Memory Expansion Module; our novice level ; '""~„£*^r« J"OZl'SB 98 each 32 or ! Populate it with a few support chips and readily

instructions make it easy. Also expands memory . Jf" „ » • . • • ' . available, low cost 2102s to build your memory

in Apple and Exidy Sorcerer computers. I more $5.95 each, 64 or more S4.95 each. While . up t0 a fu|| 12K whenever your budget permits.

3 kits/$320. t lney last- 2

j ACTIVE TERMINATOR KIT $29.50 :PET TO S-100 INTERFACE BOARD $199.95:

J Our much imitated design plugs into any S-100 motherboard slot to treat the • From HUH Electronics (designed by Mark Garetz). Mates S-100 boards to the S

• S-100 buss as the RF system it really is, thereby reducing noise, glitches, ring- • Commodore PET, or serves as nucleus of stand-alone 6500 series system. •

• ing, overshoot, and other buss-related problems. Improves reliability, saves # ,•###•#•••#•••••••••••••••••••••••••••••••••

• power compared to passive termination. •

■ *•••••••••••••••••••••••••••••••••■••••••••••••■■•••••■••••(

^ZZZZZZZZZZZZIZIZZi ... AND HERE'S WHAT WE DO :[11 SLOT S-100 MOTHERBOARD UNKIT $90: FOR AN ENCORE! \

• . , rfM ... „,.„ „„ .„„„ „„,j„,,„j ;„ -i__- („, .im.itft.^ .»AAMut„ -,„h • We've got some great new products up our sleeves. How about 16K and 24K 1

• nc udes 11 edge connectors soldered in p ace for simplified assembly, and • .. ■ . „ „ ■ , ( . ( , *u„ ,,„u ■.*. „ „* „„ ~.--u\ \o />,, „

• -*i „ » „■ *■ t rnr„ki„ j,t ,„, nimn^;n„.. a k»., -n" m bank se ect memores (perfect for the A pha M crosystems macn ne)? Or a •

s active termination for reliable data transfer. Dimensions: 8.5"x 11'. „„„,„, m „ k^L»hl»«*™b*b d 4«n hi ',.,.., iucai m*-»« •

J • memory management board that retrofits S-100 machines (Altair, IMSAI, etc.) so •

• • that they can address half-a-Megabyte of memory? Then there's our super S-100 •MftQIflTQ 1 flfl MflTHPRRflARn IINLflT <C19A2 l/0 board- witn tw0 hardware UARTs (no software UARTS that tie up your buss), •

• IO OLU I O" IUU IYIU I ntllDUnnU Ulimi «p I tti full RS-232 specs, handshaking, and true S-100 compatibility ... well worth J

• - „ M _,_ u.j ia »!-♦» -,«^ «h«« ~« ~*~,r. n;mnn,;nn, o c»„ 1c 7» • waiting for. Watch this space for details in the months ahead. •

J Same as above, but 18 slots and edge connectors. Dimensions 8.5 x 16.7 J a r •

WANT TO SEE OUR PRODUCTS ? VISIT YOUR LOCAL COMPUTER STORE.

TERMS: Orders under $15 add $1 handling. Cal resadd tax. VISA,!7Mastercharge* ($15 min) call our 24hour answering service at (415) 562-0636. Allow 5%shipping, excess refunded. COD OK with streetaddress for UPS. Prices good through cover monthof magazine.

Circle 1 50 on inquiry card.

CompuKit

from

BYTE March 1979

113

Designing a Robot from Nature

Part 2: Constructing the Eye

Andrew Filo4621 Granger RdAkron OH 44313

1(a)

Photo I: The author's NELOC (neural logic cyberanimate). The manipu-lator arm (with five degrees of freedom) and the 8008 computer (at upperright) are shown. The object resembling a TV camera is actually a sus-tained contrast detector used to obtain a rough image of the object to begrasped (see photos 4a and 4b and figure 7). just below and to the rightof the sustained contrast detector is a small box called the net convexitydetector (see photo 5), which detects the direction of motion of an LEDmounted on the hand of the manipulator and feeds this information intothe homebrew computer. Photos 1(b), 1(c), and 1(d) show the arm Inaction.

The first piece of hardware to be built inmy system was the manipulator. From thestart it was obvious that a tongue-manip-ulator concept would be impractical; I choseremote operator control over the manip-ulator arm because I wanted to programmanipulator motion by "teaching," and alsoto assist the system during its operation ifnecessary.

The manipulator I designed was roughlymodeled after a human arm, with regard toits actions and dimensions. The manipulatoris capable of five degrees of freedom, makingit suitable for control by the motion ofjoints in a remote operator's arm. The proto-type arm was originally designed to bepneumatically operated, but electric motorswere substituted for convenience duringtesting. The motors (which accurately sim-ulate the actions of pneumatic pistons andtheir servo valves) are electro-opticallycontrolled. To start a motor or open a valve,the optocoupler connecting the motor orvalve to the circuit's ground must be acti-vated. Next, the forward or reverse couplermust be illuminated, connecting the motoror valve to a positive or negative voltagesource, thereby causing the motor or airpiston to extend or retract its portion ofthe manipulator. The only feedback deviceslocated on the arm are two microswitcheslocated just before the limit of travel ofeach joint. These microswitches provideeither a full extension or full retractionsignal for each joint. There is also a set oftactile sensor switches located in the finger-tips of the device. Even though this manip-ulator may appear to have little in commonwith the frog, almost every facet of itsdesign has been mentioned, in one form oranother, in the previous (see February 1979BYTE, page 12) analysis. The optoisolators,for instance, resemble the neuromuscularjunctions in function, being the point wherecontrol signals leave the processing systemand enter the motive system. The switchesin the joints approximate the neuromuscularspindles. The tactile switches resemble theinnervated capsules in the skin. And theentire manipulator itself is a folding, pre-hensile device, as is the frog's tongue.

114

March 1979 @ BYTE Publications Inc

Net Convexity Detector

Other structures developed for the turretsystem more closely resemble their biologicalcounterparts. To monitor the motion of themanipulator more closely, my system re-quires a device that can track the motion ofthe arm. A matrix of net convexity detec-tors proved more than adequate for the task.By monitoring a small bright spot of lighteither reflected from a retroreflector oremitted from a brilliant LED (light emittingdiode) source located on the manipulator,the net convexity detectors can easilymonitor the motion of the manipulator. Thenet convexity detectors built for the turretsystem utilize the concepts of receptorgeometry, weighting (for processing), andoutput suppression for size discrimination.

Building a small matrix of net convexitydetectors could involve the use of possiblyhundreds of sensors and many processingdevices, but since I was not concerned withbuilding an accurate model of the net con-vexity detector in the frog's retina, I couldtrade off various design features. For ex-ample, I deduced that 20 is the minimumnumber of receptors required to definemotion on at least four axes. The geometryof these receptors has to be in a matrix offour columns by five rows with the highsensitivity receptor occuring in the fifthrow, third column (see figure 6 and boxedtext at end of article). In the frog, a netconvexity detector may have up to 100receptors in its receptor field, allowingthe frog to precisely monitor the angle ofthe insect's trajectory, but to duplicatethis would require the use of a mono-lithic digital sensor of photodiodes if thesystem were to be portable. Even a 4 by 5matrix would require a 1 inch square surfaceto contain all of the detectors. This meansthat four net convexity detectors wouldrequire a 2 by 2 inch imaging surface —impractical both in terms of size and optics.Another serious problem was scanning andprocessing the information from the photo-electric devices.

Text continued on page 119

Kb)

1(c)

1(d)

March 1979 © BYTE Publications Inc

115

Photo 2: Close-up of the manipulator's hand.

Sources of Parts

A few items mentioned are available only fromsingle sources:

National Semiconductor 650 calculator mod-ules are available from Poly Packs, POB 942,South Lynnfield MA 01940.

The best sheet plastic and cement I have foundfor hobby use can be purchased from PlastructInc, 61 Monterey Pass Rd, Monterey Park CA91754.

Photo 3: Elbow of the manipulator.

(a)

(b)

MASK WITH 20 HOLES

FIBER OPTIC ARRAYBRASS TUBE

PHOTO-DETECTORS

EXAMPLE VECTOR FIELD RESPONSES

O

no

o

I 10

I I 0 I

I I I I 0

o

10

/

10 I I

o o o o

I I I 10

o o o o

DATA GRADATION OFOPTICAL FIBER ARRAY

-PRIMARY DATA'DETERMINING VECTORS

■ CALCULATOR OUTPUT- DIRECTION OF IMAGE

Figure 6: Shown at (a) is a sectional view of the net convexity detector, used to determine the motion vector of the man-ipulator arm. Light entering the lens passes through one of 20 holes in a 4 by 5 array at any instant of time, and impingeson one of a corresponding set of phototransistors. 19 of these photo-darlingtons (the low sensitivity detectors) activate the1 key of a calculator module. The remaining photo-darlington activates the 0 key; its off-center location is used touniquely determine the arm's direction of travel. (The final version of the unit does not use fiber optics bundles, exceptinside the brass tube. See figure 9 and accompanying text box.) At (b) are some examples of typical vectors passing overthe retina, along with the corresponding calculator outputs.

116

Mjtch I979< lBYTE Publications Inc

Introducingthe Monday Machine.

For under $10,000 we give youSolf the small computer system forelectronic typing and generalpurpose data processing, to brightenyour Monday and speed theworkload all the way through Friday.

Are you looking for a way to handleyour typing load faster and far moreefficiently? Are you looking for an easy touse electronic typing system that youor your secretary can learn in a matter ofhours? And are you looking for a generalpurpose data processing system capable ofdoing other tasks around the office suchas mailing lists, general ledger, accountspayable/receivable and payroll?

Then you're looking for the Sol"Monday Machine'.'

It's simply the best smallcomputer system!

You can store, edit and print outtext as long as 110 pages. You get 750.000bytes of memory on diskette. Plusa letter quality SolPrinter lhat runs at

480 vv.p.m. And a video monitor.

For the past few months, we've beenselling our Sol Systems to selectedbusinesses prior to formal introduction.One of our customers, a legal firm,uses their Sol System to type wills andcontracts. Precedents and standardparagraphs are stored on diskettes foreasy access.

The staff of this law firm was trainedto use the Sol System on a Saturday. By thenext Friday, no one could figure outhow the workload was handled without it.The secretarial staff (old us ourkeyboard has a nicer feel than that ofthe well-known maker of typewritersand computers. When they aren't usingthe Sol System for word processing,they do the legal accounting and updatethe work-in-progress report.

Processor Technology knowscomputers and knows programs.

In the past two years, more than 10,000Sol computers have been installed.

We're easily one of (he most successfulpioneers in the small computer fieldbecause our systems are sophisticated yeteasy to use.

More information ora demonstration

Arrange for a demonstration now. Dialthe toll free number below to findyour local dealer. Or send in the coupon.

ProcessorTechnofogy

Processor Technology Corporation

7100 Johnson Drive, Pleasanlon, CA 94566

□ Please send more information on yourelectronic typing and general purpose dataprocessing system,

□ Please arrange a demonstration too.

Telephone-Address

City State Zip.

TOLL-FREE DEALER LOCATOR HOTLINE (800) 227-1241. In CA (800) 972-5951.

Dealerships available in selected areas.

Circle 305 on inquiry card.

BYTE Mjrch I97<)

117

(a)

The figure numbering se-quence for this article hasbeen continued from part1 (February 1979 BYTE,page 12).

OPTICS BODY

Figure 7: Details of thesustained contrast detec-tor. At (a) is a crosssection of the unit, whichresembles a television cam-era; (b) is a simplifiedblock diagram of the sys-tem. The sustained con-trast detector is used toobtain a rough image ofthe object to be graspedby the manipulator.

SENSOR

(b)

IMAGESENSOR

PROMIMAGEPROCESSOR

ADDRESSINGCIRCUIT

FS

PROCESSEDIMAGE

ACTUALIMAGE

ADDRESSINPUT

s*>

PROCESSEDIMAGE

4(a)

4(b)

Photo 4: Interior of the sustained contrast detector. Shown at (a) is the lens (at left), the array of phototransistors (at right),and the associated electronics. 4b shows the 4 by 5 prototype array (compare with final version in figure 7).

118

March I979 £ BYTE Publications Inc

Text continued from page 115

I solved both problems by using a simple6 digit, 4 function calculator integratedcurcuit, the National Semiconductor MM50736. Before I began work on the neurallogic cyberanimate, I had experimented withthis device and found it to be compatiblewith photo-darlington transistors 2N5777thru 2N5780. With the photo-darlingtontransistors as input devices, the calculatorcircuit could register pulsations of light froma diffused LED source more than two feetaway. Clearly this device was capable of de-tecting bright objects at short distances.Additionally, it was possible to use the dataprocessing nature of the calculator circuitto assign different values to the receptorsand, based on these values, produce twodistinct output signals. The weighted inputswere made simply by attaching one photo-darlington amplifier to the calculator circuitwhere the 1 switch of the keyboard wouldnormally be connected, and a second photo-darlington to what would normally be the0 position.

The two types of output signals are theresults of the data which the photo-darlingtons receive. Note that there are onlytwo photo-darlingtons connected to the cal-culator circuit in figure 6, yet I had previouslystated that the minimum configuration forthe net convexity detector was a matrix of20. This is because I used fiber optic pipefor "receptors" and the photo-darlingtondevices as detectors. Figure 6b shows thearrangement of the optical fibers. 19 fibershave a value of 1 (they are equivalent tothe low sensitivity receptors). All 19 ofthese fibers are fused to the photo-darling-ton that has a numerical value of 1. The re-maining fiber is fused to the 0 value photo-darlington (to simulate the high sensitivityreceptor). The completed device can detectand record the trajectory of a small movingpenlight flashlight at a distance of 4 feet(well beyond the extended length of themanipulator); obviously, if the object'spath does not cross the high sensitivitydetector, the data is invalid.

Sustained Contrast Detector

Another structure derived from my anal-ysis is a sustained contract detector (figure7). This device is a spinoff of a previouselectro-optic project. But without the anal-ysis of the frog's eye I would never haveconsidered this application. The sensorconsists of a matrix of five rows by fivecolumns of photo-darlington transistors(see photo 4). The columns of the sensor

are scanned by TTL (transistor-transistorlogic) devices controlled by the computer.The 5 row output is fed into a program-mable read only memory that serves twofunctions. First, the logic voltage level onthe address lines of the programmable readonly memory sets the on/off contrastlevels for the sensors, thus eliminating thegray scale conversion problem. Second, theprogrammable read only memory is encodedwith a truth table that can vertically reduce

I SENSORY FEEDBACK DATA

"1

1

READDATA

> MEDULLA

OUTPUT STATUS

1

B

SEPARATEDATA

^RETICULAR

DIRECTIVEDATA

SENSORYDATA

PROCESSINSTRUCTION

COMBINESENSORYDATA

\ THALAMUS

FURTHER

SEPARATE

DATA

\ RETICULAR

i

OTHERDATA

OPTICDATA

,

PROCESS AND

COORDINATE

DATA

PROCESS

OPTIC

DATA

I CEREBRUM/CEREBELLUM/ OPTIC LOBE

DATAOUTPUT

\ MEDULLA

f TO I

D

MANIPULATE

ARM/CAMERA

SYSTEM

L

Figure 8: Simplified system flowchart, showing parallel functions in the brain.

March 1979 0 BYTE Publications Inc 119

Photo 5: The net con-vexity detector, shownwith the National Semi-conductor NS 650 calcu-lator module (connectingwires not fully visible).The calculator moduleused in the final versionis an MM 50736, whichhas no readout. The NS650 is useful for readerswho will not be interfacingthe unit to a computer im-mediately, since it doeshave a readout.

a high contrast image line by line with thecomputer's assistance. The image reductionprocess will horizontally outline an imageand vertically dimension it (see figure 7 andphotos 4a and 4b), enabling the computerto gauge the dimensions of objects withinreach of the manipulator.

Finally, there was the design of the pro-cessing system. By designing all of the mostexternal appliances first, I hoped to furtherdefine some of the required characteristicsof the neural logic cyberanimate. The pur-pose of my processing system (including thecomputer program, preprocessing, and post-processing elements) as stated before, is tolocate, classify, and manipulate objectsspecified by control instructions. Toaccomplish this, the system first has to beable to recognize the command instructionsthat specify the location of the object to bemanipulated and what is to be done with it.Next, the system has to use measurementsof pressure and reflected light from the en-vironment made by the sensory instruments.Once in the processing system, this informa-tion has to be recognized and labeled. Incor-rect or unnecessary measurements will thenbe eliminated. The filtered measurementswill then be combined according to theirinformation content (ie: optical and mechan-ical data relating to the position of themanipulator would be combined, etc). Thecombined data, whether optical, optical-mechanical, or mechanical, is then pro-cessed according to its type. Optical datais reduced to information pertaining to ob-ject size and location. Optical and mechanicalinformation processing describes the loca-tion and position of the manipulator. Pro-cessed mechanical information relatesmanipulator position and contact with anobject. Based on the results of this pro-cessing, the system then has to grasp andmove the object as specified by the com-

mand instructions. Following this, the sys-tem notifies the command system.

The processing system uses an 8008 pro-cessor (not the best choice, but one whichwas chosen for expediency since I alreadyowned one) interfaced to a series of 8223programmable read only memories used todecode gray scale images, fire the LEDs inthe optocouplers, and perform the variousother tasks in the system.

The algorithm for the NELOC system isdiagramed in figure 8. Notice in the algo-rithm that sections of the program performfunctions similar to those discussed in thecyberanimetric analysis of the brain. Forexample, monitoring, filtration, and sup-pression of sensory data, which are reticularfunctions, are performed in the program.Also in the algorithm are routines thatcombine sensory data, process and coordi-nate it, and control the input and output ofdata-functions that simulate those of thefrog's brain. Another routine placed in thealgorithm accepts instructions from theI/O and converts them into a form thatcan be used by the rest of the program. Thisroutine makes it possible to control the sys-tem by external command.

During its trial operation, the neural logiccyberanimate performed quite well. Withelectric motors driving the manipulator arm,it took the system about 60 seconds to findand manipulate a test object. The mostimpressive feature of the system's opera-tion is its ability to resolve the position ofthe manipulator and the test object.

Conclusion

During the design and construction of theNELOC system I encountered no major de-sign problems because, from the start, it waspossible to determine what portions of thesystem would be difficult to design or con-struct, and, therefore, I could budget mytime and money accordingly. The benefits ofclearly defining the organization of the sys-tem before designing the hardware areobvious. I put about 120 hours into theresearch, design, and construction of theprototype neural logic cyberanimate. If Ihad tried to develop these structures withoutthe cyberanimetric philosophy, it wouldprobably have taken much longer to designa net convexity detector or a reticular system.

Of course the NELOC system itselfrepresents the equivalent of only a verythin neurological slice through a simpleorganism. By no measure is the neurallogic cyberanimate intelligent, but I believethis design philosophy could be useful fordesigning systems beyond the simple servosystem.

120

March 1979 ©BYTE Publications Inc

Remember our nameif your memory goes blank

Sooner or later, you might have to replacea defective memory board in your system.

And if your present boards are built to "hobby"specifications, it'll probably be sooner.

That's when to remember our name —INDUSTRIAL MICRO SYSTEMS.INC. Every board weproduce is built to industrial specs throughout;we don't stop at gold-plated contacts.

Remember our name when you're ready toexpand your memory capacity, too. Our 16K and32K boards feature Memory Management andMemory Mapping, respectively, which let you growbeyond the 64K limit.

We make six different static RAM memoryboards for the S-100 bus, including 250 nanosecond

and 450 nanosecond versions of 8K, 16K and32K sizes.

Although we've sold thousands, our nameis unknown.That's because other quality-mindedmanufacturers and systems houses bury us intheir products.

Now, however, you can select IndustrialMicro Systems brand memory boards at retailcomputer stores everywhere. And get memorablequality at unforgettable prices.

For full details call your nearest dealer today.Industrial Micro Systems, 628 N. Eckhoff,Orange, CA 92668. (714) 633-0355.

Dealer inquiries answered promptly.

INDUSTRIAL MICRO SYSTEMS,INC

The great unknown.

Circle 171 on inquiry card.

BYTE March 1979

121

-BRASSISOLATOR TUBE

PHOTO-DARLINGTONTRANSISTORS

(a)

MASK

-BRASS TUBE

TO CALCULATORMODULE

PHOTO-DARLINGTONS

(b)

FRONT PIECE

PAINTED FLAT BLACK

LOCATION OF ISOLATOR TUBE

o

*©

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

Figure 9: Construction details of the net convexity detector.

FRONT VIEWOF MASK

Building the Net Convexity Detector

The net convexity detector used in mysystem is a good example of how a calcu-lator circuit can be used for noncalculatorapplication. As illustrated in figure 9, the netconvexity detector is a very simple device.The whole idea behind the circuit's opera-tion is that the sensory head can, in effect,push the right keys on the calculator inresponse to the motion of an image that isa certain size and brightness. As explainedpreviously, the purpose of the net convexitydetector is primarily to define angle anddirection of a small bright object. In thisdesign, a mask is used as a template to gaugethe diameter of an image. If a bright, movingimage is small enough to illuminate only onehole of the template at a time, the calculatorwill register its movement as a series ofnumbers. If the image is too large, andilluminates more than one hole at a time, thecalculator will display only one number that,in terms of a trajectory, would meannothing.

To build the net convexity detector it isfirst necessary to build the sensor head.Figure 9b is an exploded view of the sensor.In the construction of the sensor it is neces-sary to use a lens that forms a focal point ata distance no shorter than 25 mm. Next acase is constructed from sheet plastic. Thiscase should be at least twice as long as thefocal point of the lens and must be ableto hold a mask containing a 4 by 5 matrixof holes. The simplest way to make themask is to use a piece of unclad perforatedcircuit board with holes 2.5 mm on center.Just cut a corner of the board off so thepiece will have four by five holes. Themask must then be secured in the case so itwill be at the lens's focal point. The inside ofthe forward end of the case must now bepainted flat black. Two end pieces are cut,one is drilled to accommodate the lens and isglued to the front of the case. Next, a 4 leadcable is brought through a hole drilled in theend of the case. A short piece of plastic tubeis glued over this hole and filled with epoxyto block light. Two photo-darlingtons are

122

March 1979 © BYTE Publications Inc

attached to this cable. Notice in figure 9how a length of brass tube is aligned withone of the photo-darlingtons. This tube mustbe located in the second column of the firstrow for the sensor to work properly. Thistube carries the image to the 0 value dar-lington only. The tube must be carefullyglued to the mask and the darlington by avery small amount of epoxy glue. Thephoto-darlington and epoxy joint are thenpainted black. Before attaching the back ofthe case, make sure that the 1 value photo-darlington is in the center of the case.

After the sensor has been completed, it isa simple matter to complete the circuit. ANational Semiconductor calculator module,the NS 650, has all of the solid state elec-tronics for a calculator, including a 6 digitdisplay. By adding a battery, switch, and thesensor head (see figure 10), the circuit isfinished.

To test the circuit, use a small penlitetype flashlight, moving it in board circles ata distance of 3 feet away from the sensor.Many 1 s and a few 0s should fill the displayuntil the calculator indicates an overflow.If you move the light source on a straightvector that crosses the hole to the isolated

-±- 9V

y BATTERY

\

2N5777

TRANSISTOR

TRANSISTOR

T2\ 2N5777

"CI

NS650

CALCULATOR

MODULE

darlington you will get a certain readout.Figure 6b shows all of the possible fieldsof vectors, the direction that the objectmust be traveling, and the output thatshould be displayed by the calculator. Allother combinations are illegal.

Although the net convexity detector is avery simple device, it must be built veryprecisely. All surfaces should be flush,parallel, or perpendicular. Optics should becarefully aligned and all seams should bechecked for light leaks."

RESET

Figure 70: Circuit forthe net convexitydetector (pins num-bered left to right asin the orientation inphoto 5).

BIBLIOGRAPHY

Listed are 15 books, some containing infor-mation about amphibians, others concerningrobot and artificial intelligence systems built bycognitionists and neural cybernetists. The booksrange from elementary to very complex.

Some of the data about the biological frog wasobtained from the following sources:

Chiasson, R, Laboratory Analysis of the Nec-turus, Iowa, William C Brown Co, 1971.

Keeton, W T, Biological Sciences, New York,W W Norton and Co Inc, 1972.

Tansley, K, Vision in Vertebrates, London,Chapman and Hall Ltd, 1968.

The following are some simple introductory bookson robots:

Calder, N, Robots, Roy, 1958.

Gennings, G, March of the Robots, New York,Dial Press, 1962.

Wells, R, Bionics: Nature's Way for Man'sMachines, New York, Dodd, Mead, and Co,1969.

Books at a more advanced level:

Cote, A J, The Search for Robots, New York,Basic Books Inc, 1967. (Neural cyberneticsapproach.)

Feigenbaum, E A (editor), et al, Computers andThought, New York, McGraw-Hill Book Co Inc,1958. (Cognition approach.)

Nilsson, N J, Learning Machines, New York,McGraw-Hill Book Co, 1965. (Perceptrons).

Wiener, N, Cybernetics, New York, The MITPress and John Wiley and Sons Inc, 1955.

Some of the more technical books available are:

Collins, N L (editor), et al, Machine Intelli-gence, volumes 1 thru 8, New York, AmericanElsevier Publishing Co Inc, 1967. (Cognitionapproach.)

Jackson, P C, Introduction to Artificial Intelli-gence, New York, Petrocelli Books, 1974.(Cognition approach).

Jaki, S L, Brain, Man, and Computer, NewYork, Herder and Herder, 1969. (Cognitionapproach.)

Mendel, J M, et al, Mathematics in Science andEngineering, volume 66, New York, AcademicPress, 1970. (Cognition approach.)

Minksy, M, et al, Perceptrons, New York,Maple Press Co, 1965.

Rosenblatt, F, Principles of Neurodynamics,Washington DC, Spartan Books, 1962. (Neuralcybernetics approach.)

March 1979 O BYTE Publications In

123

Our MacroFloppygoes twice the distance.

For $695.

Introducing the Micropolis MacroFloppy™: 1041 and :1042 disk drive sub-systems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a5X-inch floppy disk than anyone else. 143K bytes, to be exact. For as littleas $695.

The MacroFloppy:1041 comes with the Micropolis Mod I floppy packagedinside a protective enclosure (without power supply). And includes an S-100controller Interconnect cable. Micropolis BASIC User's Manual. A diskette con-taining Micropolis BASIC, and a compatible DOS with assembler and editor.The :1041 is even designed to be used either on your desk top, or to be inte-grated right into your S-100 chassis.

The MacroFloppy: 1042 comes with everything the :1041 has, and more.Such as d.c. regulators, its own line voltage power supply, and, to top it off,a striking cover Making it look right at home just about anywhere.

Both MacroFloppy systems are fully assembled, tested, burned-in, andtested again. For zero start-up pain, and long term reliability. They're alsobacked up by our famous Micropolis factory warranty.

And both systems are priced just right. $695 for the MacroFloppy: 1041and $795 for the MacroFloppy:1042.

You really couldn't ask for anything more.

At Micropolis, we have more bytes in store for you.

For a descriptive brochure, in the U.S. call or write MicropolisCorporation, 7959 Deering Avenue, Canoga Park, California 91304. Phone(213)703-1121.

Or better yet, see your local dealer.

Circle 220 on inquiry card

MICROPOLIS

More bytes in store for you.

Continued from page 13

along the entire back panel as well as thelower back corner of the mother board(5 VDC voltage regulators are on eachcircuit board). With two exceptions, every-thing went together easily, and exactly aspresented in the assembly manual.

The first problem occurred whenI attempted to install the self-retainingnuts in the side panels. For one thing,it can be very difficult to press these nutsinto the very sturdy composition boardunless they are gently tapped with a hammer.In addition, the part numbers for one ofthe nuts on the left side panel as illustratedin the assembly manual didn't correspondto the associated detail pictorial in theillustration booklet.

The only other problem I encounteredduring this stage of assembly was theinstallation of the side panels. Access tothe side panel self-retaining nuts at the bot-tom rear corner of the chassis was obstruc-ted by the previously installed screws andnuts that hold the rubber feet to the bottomof the chassis. My solution was to turn thechassis onto the side panel to be attachedand insert and tighten the remaining screwsto the appropriate panel.

The Mother Board

The mother board consists of two sec-tions: a portion of the power supply, andten rows of paired 25 pin plugs used laterfor connecting circuit boards and cables tothe system bus. The installation of theplugs can be tedious. If you have not hadmuch soldering experience, practice beforeyou begin this board.

The most challenging part of the motherboard assembly process is soldering some500 pins which form the connectors for theindividual boards of the system. The re-mainder of the board consists of a fewcapacitors, resistors, and diodes. There are,however, two instructions whose sequenceshould probably be reversed. Specifically,you are instructed to solder two electrolyticcapacitors to the board and then secure eachto the board with a self-locking cable tie.Reversing this sequence insures that nostrain will be placed upon the solderedcapacitor leads by the cable ties when theyare tightened. The finished board is installedon the righthand side panel of the chassisafter the twisted pair of 18 V leads from thepower supply transformer are connectedto the board. I had no trouble obtainingthe proper resistance and power supply

124

March 1979 ©BYTE Publications Inc

TM

MetaFloppy

The Micropolis MetaFloppy™ gives you more than four times the capacity ofanyone else's 5%-inch floppy. Because it uses 77 tracks instead of the usual 35

The field-proven MetaFloppy, with thousands of units delivered, comesin a complete family of models. And, like our MacroFloppy™ family of diskdrives, MetaFloppy is designed for the S-100/8080/Z-80 bus.

For maximum capacity, choose our new MetaFloppy:1054 system. Whichactually provides you with more than a million bytes of reliable on-line stor-age. For less money than you'd believe possible.

The MetaFloppy: 1054 comes complete with four drives in dual config-uration. A controller. Power supply. Chassis. Enclosure. All cabling, A new BASICsoftware package. And a DOS with assembler and editor There's even a built-in Autoload ROM to eliminate tiresome button pushing.

If that's more storage than you need right now, try ourMetaFloppy:1053, with 630,000 bytes on-line. Or our Meta-Floppy: 1043, with 315,000 bytes on-line. Either way, you canexpand to over a million bytes on-line in easy stages, when youneed to. Or want to.

In other words, if your application keeps growing, we've gotyou covered. With MetaFloppy.

The system that goes beyond the floppy.

For a descriptive brochure, in the U.S. call or write MicropolisCorporation, 7959 Deering Avenue, Canoga Park, California 91304Phone (213) 703-1121.

Or better yet, see your local dealer.

MICROPOLIS™

More bytes in store for you.

goesbeyond

u'/c'?o/m/s

Circle 221 on inquiry card.

test readings outlined in the manual, andproceeded to the next step of assembly.

Front Panel Circuit Board

The H8 front panel control system hasmany features which make using the H8 apleasure. One of these is the multifunctionconsole keypad that provides users withdirect, easy-to-use commands to operatethe H8 without a terminal (see figure 1).Another feature is the 7 segment LED(light emitting diode) display system thatdisplays a variety of system status informa-tion in an easy to read format not found onmany larger 8 bit systems. We'll take acloser look at this unique system later, butfirst let's consider its assembly.

The entire assembly procedure is verystraightforward. However, it is during theassembly of this board that a second rathertedious subassembly construction activityis encountered. In particular, it is necessaryto prepare the cables that run from theboard to the first row of plugs on themother board and between the front paneland processor boards. The instructions andillustrations for this stage of constructionare excellent and, if they are followedexactly, you should have no problems. The

work performed on the cables is ratherdelicate, requiring the same amount of careand patience needed while assembling themother board. One construction hint: youare instructed to mount four single elementLEDs on the upper left side of the board.Make sure that each LED is mounted atexactly the same height as the others(0.25 inches from the board to the base ofeach LED). This can be easily accomplishedby cutting a piece of 0.25 inch wire andusing this as a spacer placed underneatheach LED between the pairs of LED leadsprior to soldering each to the board.

The Processor Board

Another feature of the H8 is the pro-cessor board, which comes preassembled.This is a real advantage because many ofthe problems that computer kit buildersencounter are caused by mistakes madeduring assembly or installation of theprocessor board (see photo 2).

With assembly of the circuit boardsand chassis complete, all thai remainsis to install the components. Of course,the H8 does not come with other boardsthat are necessary to have a functioningcomputer, such as extra memory and an

March 1979©BYTE Publications Inc

125

USA

f United Software of America

FREE!New

March '79Catalog

PET ■ TRS-80 ■ APPLE ■EXIDY ■ IMSAI ■COMPUCOLOR ■ AND others

• Thousands of programs • Low prices

• Solves all your software requirements

• Fully illustrated• One stop shopping

Here's a very small sample!

PET (P) APPLE II (A) TRS-80 (T)BUSINESS—FINANCE

Slock Porfolio Analysis $24.95 P

Mortgage Analysis 15.95 P

Annual Report Analyzer 22.95 P A T

Slock Analyzer 34.95 .

Bonds 12.95 ,

Checkbook/8K, 16K. 32K 15.95 .

Checkbook 20.00 .

Finance 15.95 .

Finance/2 lapes 24.95 .

Stockscreen 29.95 P .

Stock Optons 24.95 P .

Word Processing 45.00 P

Electric Pencil 99.95

Library (100 programs}/5 tapes 49.50

EDUCATION

Basic Basic/2 tapes $14.95 P

Number Builder 9.50 P A .

Analogies Builder 9.50 P A .

Vocabulary Builder/2 tapes 12,50 P A .

Preschool IO Builder 9.50 P A .

Diet Planner/Biorhythm 14.95 P

6502 Assembler 24.95 P A

Step by Step Programming 29.95 P A .

Electronics 7.95

HAM Package 7.95

Weight Control 7.95 P

Learn Fractions (Elem.-H.S.) 7.50 P

Pilot (Mayday Landing) 10.50 P

GAMES

Microchess $19.95 P A .

Checkers 14.95 P

Bridge Challenger 14.95 P A

Super Startrek 14.95 P A

Swarm 8K 14.95 P

Swarm 16K 19.95 p

Galaxy Games 9.95 P

Spacetrek 9,95 P

Spacetrek 7,95

Osero'Reverse 9,95 P

Target Pong 9.95 p

Blackjack 9.95 P

Lunar Lander (plus 3 more) 9,95 P

Lunar Lander 7.95

Battle ot Midway 9,95 P

Hostage/Jury 9 95 P

Blackjacl/Slot 7.50 A

Color Math/Hangman 7.50 A

Biorhythm/Mastermind 7.50 A

States and Capitols 7.95 A

Backgammon 7,95 P

Casino I (blackjack) 7.95 P

Casino II (craps) 7.95 P

Golf 7,95

Library (100 programs) 49.50

Backgammon 12.95 P A .

Space Maze 9.95 A

Apple II Organ 19.95 a

Rocket Pilot 9.95 A

Saucer Invasion 9.95 A

SORCERER $14.95 each

Beat the House • Clinic " Outwit* Outwit II "Adventure* The Market • Blockade

IMSAI

General Ledger $750

Inventory Control 350/750

Inventory Control (with invoicing) 950

Word Processing 225

Cash Receipts/Disbursement 150 each

COMPUCOLOR II - $19.95 each disk

MATH TUTOR—with Checkbook. Bio PERSONAL FINANCE I

rhythms. Math Dice, and Recipe PERSONAL FINANCE II

CHESS—with Acey Deucey & Line 5 EQUITY

STARTREK- with Lunar Lander BONDS AND SECURITIES

OTHELLO-with Dice & Concentration BLACKJACKHANGMAN-with Math Tutor, 2 on 10

TOLL FREE American Express««« ««« —«..« Master Charge and800-223-7318 VISA acceptedSend30c In stamps or coins to cover postage (Dealer inquiries invited.)

750 Third Avenue New York, N.Y. 10017

The following are S24 95 eachTEXT EDITOR • ASSEMBLER

I/O (input/output) board. These areoptions the user purchases when buyingan H8 (and most other computers, forthat matter).

The Memory Board

If you want to use your H8 withoutexternal devices, the H8-1 memory boardis the only other board you will need.The H8-1 is a 4 K byte programmablememory board which can be extended toa full 8 K by installing the optional H8-3memory chip set. This board is easy toassemble, and not much more need besaid about it — nothing, that is, excepta short story about a mistake I made whichalso points to another nice feature of the H8.

Briefly, it happened like this: I wasassembling the H8's circuit boards withextreme care, paying particular attentionto the quality of the instructions and illus-trations and making notes in my manuals Imight want to use later. On the evening Istarted putting the memory board together,friends dropped over, and because theboard looked so simple to put together,I decided to put part of it together whilewe relaxed and chatted. As a result of mydivided attention, I installed a 14 pin ICsocket in a 16 pin socket location.

One of my visitors was just beginning toget interested in computers (which was partof my reason for doing some of the assemblywhile company was around) and I showedher the partially completed board. Shelooked at it, asked a few questions, and thensaid, "What are those holes for by the end ofthat socket?"

I turned a bit red — I had blundered inthe middle of a demonstration. Well, for thenext 45 minutes we struggled to removethe socket, clean out the solder that wasplugging the holes in the board and refitanother socket. The H8 as well as its acces-sory kits come with sockets for all of the ICsincluding the 7 segment displays. If you everneed to replace an IC, you won't have tostruggle with unsoldering it and cleaningoff the board. And you won't have to payextra for the socket sets when you buy thekits. The finished board is shown in photo 2.

The H8-5 SI0 Board

If you want to connect your H8 to aconsole terminal or use the system softwarestored on cassette tape, you'll also want theH8-5 serial I/O and cassette interface board.It took quite a while to assemble because ofits relatively high component density, but itpresented no construction problems.

126

March 1979 ® BYTE Publications Inc

Circle 68 on inquiry card.

Testing and Alignment

After assembling the basic H8 system,you are instructed to perform three program-mable test routines as well as an alignmentof the cassette interface. The first test rou-tine is a short program entered in machinecode through the front panel keypad. Theroutine performs a general check of the H8and at its end-of-run displays several mes-sages on the front panel LEDs (ie: YOURH8 . . . IS UP AND . . . RUNNING). If thetest routine does not execute properly, thereader is directed to an extensive trouble-shooting flowchart that is ten pages inlength and very clearly written. 1 had notrouble at this point and proceeded to thenext test routine.

The second of the two routines is amemory test routine. It is also entered inmachine code through the front panel key-pad. The program performs a thorough testof every memory location on any 4 K or8 K byte memory board by storing andretrieving consecutive octal values from000 through 377 in every memory location.If an incorrect value is detected during acompare operation, the program halts,sounds an audio alert, and displays theexpected (rather than observed) contents ofthe location where the test failed. The ad-dress where the test fails and the actual(or observed) contents of memory at thatlocation can both be displayed on the LEDsby displaying the contents of the HL registerpair and the accumulator, respectively. If noproblems are encountered during executionof this routine, it will continue to repeat thetest cycle until stopped by the user. Every-thing worked fine for me as I watched thememory content values go sailing by in thedisplay.

The last task to be performed is thealignment of the cassette interface on thecassette I/O board. The procedure consistsof setting the two variable resistors on theboard to the correct positions as indicatedby the readout on an on board singleelement LED test lamp. This LED alsocomes in handy later for troubleshootingthe H8's circuitry. The adjustments werequite tricky to make, but after two triesand a number of test loads of softwarecassette tapes, it worked very well. Had itnot worked, I could have referred to anothertrouble-shooting flowchart to locate theproblems.

But everything did work. I proceeded toplay around with the keypad commands,becoming familiar with what made my H8"tick." Finally it was time to install thefront panel cover and the louvered metalchassis cover. I connected the serial I/O

Up\burOutput.

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 simultaneously! 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 programsftheOPUS/THREEHigh-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 now 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.

March 1979 © BYTE Publications Inc 127

TR^SO

SoftwareExchange

With so many new names on the street, it'sgood to know that one company has been pro-ducing and distributing top quality software forthe TRS-80 for almost as long as there has beena TRS-80.

MASTERMIND Level I or Level II 16K $7.95

ROBOT Level II 4K $4.95

'ROUND THE HORN Level II 16K $7.95

3-D TIC TAC TOE Level I or II 16K

CONCENTRATION Level I or II 16K...

SANTA PARAV1A Level II 16K

WHEEL OF FORTUNE Level II 4K....

REMAINDER Level I or II 4K

TIME BOMB Level I or II 16K

CRIBBAGE Levell or II 16K

END ZONE Level I or II 16K

BREAKAWAY Level I or II 4K

TROLL'S GOLD Level II 16K

STARTREKIII Level II 16K

X-WING FIGHTER Level II 16K

PORK BARREL Level II 16K

BRIDGE CHALLENGER Level 1116K.CHECKERS Levell 4K

...$7.95...$7.95...$9.95...$4.95...$4.95...$7.95...$7.95...$7.95...$4.95...$4.95.$14.95...$7.95...$9.95.$14.95...$4.95

SARGON Level II 16K $19.95

MICROCHESS Level I or II 4K $19.95

CASH REGISTER Level I or II 4K $10.00

INVENTORY-MOD Level I or II 16K $20.00

TEXT EDITOR Level II 4Kor16K $9.95

FILE HANDLING Level II 16K $9.95

ACCT. RECEIVABLE Level II 16K $25.00

INVENTORY MGMT. Level II 16K $25.00

SMALL BUS. BOOKKEEPING Level I 4K or II 16K....$15.00

BIORYTHYMS Level I or II 4K $3.95*

MICRO TAX '78 Level II 16K $12.95

TAROT Level I or II 16K $7.95 *

MORTGAGE CALC. Level II 4K $4.95

HOME FINANCE MGMT. Level II 16K $9.95

PERSONAL FINANCE Level II 16K $9.95

8080-Z80 CONVERSION Level II 16K $12.00*

RENUMBER Level II 4K-48K (specify) $15 00

ZONE HOCKEY Level I 4K $495

TEN PIN Level II 16K $7 95*

PREFLIGHT Level II 16K $20.00

BACKGAMMON Level II 16K $7.95

CHESS COMPANION Level II 16K $7.95

DISK SOFTWARE

INVENTORY 2.0 $39.95

INVENTORY 2.2 $59.95

ACCT. RECEIVABLE $59.95

PAYROLL $59.95

'Special prices in effect for 30 daysCredit card orders accepted by phone

To order any of the programs listed above, andto receive our complete catalog of TRS-80software currently available on cassette, disk or insource code listings, call or write:

17 Briar Cliff Drive Mllford, New Hampshire 03055

TR5-8Q foftufOfg Exchange

cable to my H9 video terminal and wasready to do the final test routine for theserial I/O channel on the serial I/O board. Itconsists of setting up the USART (universalsynchronous/asynchronous receive/transmitdevice) assigned to this channel and trans-mitting and receiving characters to and fromthe terminal. I was amazed at how easy itwas to do I/O routines from the front panel.The final test was completed, so I left mysystem for awhile to return to the H8 oper-ating manual and software manual set.

The Benton Harbor Bus

The Benton Harbor Bus represents adeparture from the S-100 bus, which hasbecome one of the "standards" of themicrocomputer industry. The H8 systembus uses only 50 lines, compared with the100 lines of the S-100. Since the S-100was designed early in the history of themicrocomputer industry, it incorporatesbus lines which are no longer needed orwhich have been replaced by more recentsystem control hardware.

Manufacturing costs are kept down bynot having to machine an edge connectortongue, not using gold plated edge connec-tors, and replacing the expensive 100 pinsocketing system of the S-100 with muchless expensive plug and socket sets which areassembled by the user.

Another feature found on the H8 is itsconvection cooling system. This systemhas been designed so that power supplyvoltage decreases slightly every time acircuit board is added to the mainframe.As more boards are added, the propor-tional amount of heat dissipation from eachcircuit board regulator also decreases. Itis for this reason that you are instructedto "locate circuit boards in alternatingpositions for improving ventilation." Whenthe time comes to add boards to the un-occupied alternating rows of plugs on themother board, the effective heat dissi-pation will be low enough to positionboards adjacent to one another. To im-prove upon this scheme, all circuit boardsare installed on a slant to facilitate theconvection cooling process. The end resultis a quiet running machine which does notrequire the added cost of a fan to keepcomponent temperatures down.

Costs are also kept down by the sizeof the H8's power supply. I saved a lot ofmoney by not buying an 8 bit machine witha large power supply. The fact is that youpay dearly for every extra and often un-used ampere that a power supply delivers.In this regard, the H8 delivers a full 10A,

128

March 1979©BYTE Publications Inc

Circle 326 on inquiry card.

which is sufficient to operate all of theboards that the chassis can hold — up toseven in addition to the front panel andprocessor boards. It is also switch-selectablefor operation on either 110 or 220 VAC,an advantage for European users. It alsoincludes a switch for normal or low levelline voltages, which may come in handyin case of a brownout — you'll need aseparate generator for a blackout.

Split-Octal Notation

Before going on to discuss the firmwarethat coordinates many H8 operations, weshould first describe the type of machinelanguage code notation used by the H8. TheH8 uses a number system called split octal,a modification of straight octal that is wellsuited to 8 bit computers like the H8. Itis also well suited for the H8 display system,as you will see.

Split-octal notation is identical to octalnotation except that the two most signifi-cant bits of each pair of data bytes are rep-resented by one arabic numeral. In thisscheme 377 is the highest value that canbe represented by one 8 bit byte (ie: word)of data. Thus:

3 7 7

And, the highest value that can be repre-sented by two 8 bit bytes of data would be377.377. The H8 defines 1 K bytes ofmemory as 003.377 bytes and 8 K bytesof memory as 037.377 bytes. The H8 isdesigned to reserve certain portions ofmemory for the system monitor and latersystem expansion as shown in the H8memory map (see figure 2).

PAM-8, the Front Panel Monitor

The functions and features discussedabove are tied together by another H8feature - the front panel monitor — whichresides in 1 K bytes of read only memoryon the processor board. It also controls suchactivities as initializing the system duringpower-up, coordinating tape loads anddumps, communication with the ConsoleDriver routine (part of every Heath kitsoftware package), processing restart andclock interrupt vectors, and processinguser defined interrupt requests.

H8 Software

Someone once said a computer system isno better than the software that comes with

Here's Your BRANDAt Our GREAT PRICEWith LIGHTENINGFAST DELIVERY.

LIST

CASH*

ITEM CODE

DESCRIPTION

PRICE

PRICE

MAINFRAMES

NS-H-1/D

North Star Horizon 1 Doub. Dens Kit

$1599.

S1339.

NS-H-1/D/A

North Star Horizon 1 Doub. Dens Assm.S1899.

S1595.

NS-H-2/D

North Star Horizon 2 Doub. Dens Kit

S1999.

$1679.

NS-H-2/D/A

North Star Horizon 2 Doub. Dens Assm.S2349.

$1973.

IM-PCS-40

IMSAI PCS-40 180KB Disk

$2695.

$2275.

IM-PCS-42

IMSAI PCS-42 400KB Disk

$2995.

$2535.

IM-PCS-44

IMSAI PCS-44 780KB Disk

$3695.

S3125.

IM-VDP-44

IMSAI VDP-44 780KB Disk System

$4995.

$4195.

CR-Z2

Cromemco Z2 Kit

$ 595.

$ 536.

CR-Z2/A

Cromemco Z2 Assm.

$ 995.

$ 896.

CR-Z2D

Cromemco Z2D Kit

$1495.

$1345.

CR-Z2D/A

Cromemco Z2D Assm.

$2095.

S1886.

MEMORIES

NS-16K

North Star 16K 250ns RAM Kit

$ 399.

$ 319.

NS-16K/A

North Star 16K 250ns RAM Assm.

$ 459.

$ 369.

DY-MS1625

Dynabyte 16K 250ns Static

RAM Assm.

$ 555.

$ 444.

DY-MS3225

Dynabyte 32K 250ns Static

RAM Assm.

$ 995.

$ 795.

SE-8KZ

Seals 8K 250ns RAM Assm.

$ 280.

S 175.

CR-BSK-2

Cromemco 8K Bytesaver Kit

$ 145.

$ 131.

CR-BSK-2/A

Cromemco 8K Bytesaver Assm.

$ 245.

$ 221.

CR-BSK-32

Cromemco 32K Bytesaver Kit

$ 195.

$ 176.

CR-BSK-32/A

Cromemco 32K Bytesaver Assm.

$ 295.

$ 266.

INPUT/OUTPUT BOARDS

IM-SI02-2

IMSAI SI02-2 Kit

$ 156.

$ 133.

IM-VIO-C

IMSAI VI0-C Kit

$ 325.

$ 276.

CR-TUART

Cromemco TU-ART Kit

$ 195.

$ 176.

CR-TUART/A

Cromemco TU-ART Assm.

$ 295.

S 266.

CR-PI08

Cromemco 8-Port I/O Kit

$ 195.

$ 176.

CR-PI08/A

Cromemco 8-Port I/O Assm.

$ 295.

$ 266.

FLOPPY DISK SYSTEMS

NS-MDS/D North Star Doub. Dens. Micro Disk Kit

699. $ 587.

NS-MDS/D/A North Star Doub. Dens. Micro Disk

Assm. $ 799. S 671.

MI-1042M1 Micropolis 143K Macrofloppy Assm. $ 795. $ 675.

MI-1043M2 Micropolis 315K Metafloppy Assm. $1145. S 973.

*This price is for payment by check or money order. Credit cardprices slightly higher. Prices F.O.B. our warehouse-shippingextra.

• ALL ITEMS COMPLETE AND FACTORY-FRESH WITH FULLMANUFACTURER'S WARRANTY.

TERMS:Shipping Charges: S12 for Mainframes. Floppy systems, or large units:St 75 per boardS2.25 minimum per order

Delivery is stock to 30 days on most items. Shipment is immediate for payment

by cashiers check, money order or charge card. Allow 3 weeks for personal

checks to clear

N Y state residents add appropriate sales tax

Availability, prices and specs may change without notice

HOURS:Monday-Friday 10-5

Eastern TimeClosed Sal and Sun

computeremcrpri/e/

P.O. Box 71 • Fayetteville, New York 13066 (315)637-6208

Circle 70 on inquiry card.

March 1979 O BYTE Publications Inc 129

it. This is as true for large computers as itis for microcomputers. The H8 softwarepackages are intended to function as anintegrated system. They include TED-8, aline oriented text editor; HASL-8, a machinelanguage assembler; BUG-8, a machine lan-guage debugger; and Benton Harbor BASIC,Heathkit's version of the popular interactiveprogramming language created many yearsago at Dartmouth College. Let's see whatthey're all about.

Common Elements

Each of these software packages con-tains a console driver routine that enablesthe H8 to communicate with a user's consoleterminal (Teletype, video display terminal,etc) and a cassette or paper tape transport.It occupies 355 decimal bytes of program-mable memory in each software productfrom locations 040.100 through 041.144.Thus, all of the console driver routines areavailable to users for special purpose modi-fications as well as for use in user designedsoftware which would benefit from using thesame I/O routines, including I/O portassignment. It is responsible for processingconsole terminal interrupts, setting up andreading USART (universal synchronous-asynchronous receiver-transmitter) modes,commands and statuses, processing controlcharacters (such as CTL-C, CTL-Q, andCTL-S), reading and writingsinglecharacters,and processing character strings in the 28character type-ahead buffer. During interruptprocessing, the console driver interacts withthe PAM-8 system monitor. The entire listingof the console driver routine in assemblylanguage is provided in an appendix to thesoftware manuals. As in the case for the.monitor, the console driver routine and all

other software for the H8 were developedfor Heath by Wintek. The Heath Companycannot (under contract with Wintek) provideany listings other than the partial listingspresented in the software manuals, and"cannot provide consultation on userdeveloped programs or modified versions ofHeath software products." However, with ahomebrew disassembler or memory dumproutine and the partial listings provided, youmight not have too much difficulty in gen-erating your own unofficial versions of thesource codes.

Another common element to all Heathsoftware products is the software configura-tion procedure that must be performedbefore any software distribution tape isloaded into the H8. The procedure providesopportunities for the user to adapt eachsoftware package to his or her own needs. Alist of program configuration parameters ispresented to the user, who can then defineitems such as BKSP, which allows the userto define which key will be used to controlthe backspace function, HIGH MEMORY,which allows the user to specify that sectionof high memory that he or she does notwant used by the system program, andLOWER CASE, which allows the user toselect either upper and lower case or uppercase only I/O to the terminal.

A third element common to all Heathsoftware products is command completion.The feature allows the user to enter the firstletter(s) of a program command, whereuponthe software routine, in conjunction withthe console driver, will print out the re-mainder of the command. For example, atext editor allows the PRINT command tobe evoked by typing P, and the systemresponds with RINT, completing the com-mand. The problem is that, if one is a fast

END OF ADDRESS SPACE■

Figure 2: The H8 memorymap.

END OF

PROGRAMMABLE MEMORY-

BEGINNING OFPROGRAMMABLE MEMORY-

RESERVED FOR EXPANSIONNOT RECOMMENDED FORCUSTOMER USE

USER AREA

PROGRAMMABLE MEMORYRESERVED FOR MONITOR

FRONT PANEL MONITORREAD ONLY MEMORY

THE STACK AUTOMATICALLY STARTSAT THE UPPER BOUNDARY OF MEMORY.THE MONITOR WILL USE A MAXIMUM OFI208(S0|0) LOCATIONS (INDICATED BYSHADED AREA)

USER PROGRAMS STARTAT 040 IOO WHEN LOADED

040 000 8K (DECIMAL)

000 000

130 March 19790BYTE Publications Inc

INTRODUCING

DUAL DRIVE MINIFLOPPY FOR PET!

A FULL RANGE PROFESSIONAL

OF PERIPHERALS _L SOFTWARE 'TO COMPLETELY ■ ouriWMnt i

SUPPORT YOUR PET SUPPORT

A TOTALLYINTEGRATEDPET* SYSTEM

DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON DISK SYSTEM & MEMORY

THE DISKDRIVER,

DOS, AND EXPANDAPET

ARE ALL PRODUCTS OF

COMPUTHINK

NOW THE DISKDRIVER DUAL DRIVE DISK SYSTEMCAN ADD TOTAL SYSTEM CAPABILITIES TO PET!

DUAL MINI FLOPPY DRIVE (5.5") WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINE.

EXPANDABLE IN MARCH/APRIL 1979 TO 400K ON LINE VIA DOUBLE DENSITY FORMAT.

DISKMON-DISK OPERATING SYSTEM (DOS) IS RESIDENT IN PROM VIA DISK CONTROLLER BOARD THAT PLUGS

DIRECTLY INTO THE INTERNAL EXPANDAPET MEMORY BOARD.-

DISKMON COMMANDS EXIST SIMULTANEOUSLY WITH THE BASIC LANGUAGE COMMANDS.

DISKMON ADDS 16 COMMANDS TO BASIC INCLUDING DISK DATA FILE COMMANDS.

DESIGNED FOR COMMERCIAL SPEED REQUIREMENTS — READS AN ENTIRE TRACK AT A TIME.

DISK DRIVES ARE AUTOMATICALLY TURNED OFF BETWEEN COMMANDS FOR LESS WEAR.

EXCELLENT DOCUMENTATION AND FULL SOFTWARE SUPPORT VIA FUTURE SOFTWARE.

DISKMON AUTOMATICALLY SUPPORTS COMMERCIAL TYPE PRINTER (CENTRONICS MODELS) VIA PARALLEL PORT.

DISKDRIVER COMES COMPLETE WITH ATTRACTIVE BEIGE CABINET, BUILT IN POWER SUPPLY. DISK CONTROLLER

BOARD. ALL PLUG COMPATIBLE WITH YOUR PET (DISKDRIVER REQUIRES THE EXPANDAPET)

NOW FOR THE FIRST TIME YOUR PET CAN BE UTILIZED AS A COMPLETE, TOTAL SYSTEM.

APPLICATION/DEVELOPMENT SOFTWARE AVAILABLE * BUSINESS PACKAGES IN MARCH/APRIL.

FULL PRODUCT (HARDWARE & SOFTWARE) SUPPORT FROM COMPUTHINK AND DEALERS.

DKH642-1

EXPMEM

PRT200

PRT202

PRT100

NPK101

ASG200

ASM789D

LNK456D

EDT392D

DUG078

DKL067

FOR112

PLM118

FUTURE

HARDWARE/SOFTWARE PRODUCT DIRECTORY

DISKDRIVER DUAL DRIVE MINIFLOPPY SYSTEM (200K ON LINE STORAGE) $1295

EXPANDAPET MEMORY EXPANSION BOARD (SPECIFY 16K, 24K, 32K) 16K MODEL $ 425

CENTRONICS COMMERCIAL PRINTER (MODEL 779-1) WITH FRICTION FEED $1245

CENTRONICS COMMERCIAL PRINTER (MODEL 779-2) WITH TRACTOR FEED $1345

AXIOM HOBBYIST PRINTER (ELECTROSTATIC 5.5" WIDE PAPER) APPROX $ 450

NEECO PERIPHERAL KEYBOARD (TYPEWRITER TYPE) AVAILABLE JAN $ 140

PET ASSEMBLER PROGRAMMER'S GUIDE (SHOWS HOW TO TAP INTO BASIC) $19.95

PET ASSEMBLER 6502 PROGRAMMING SOFTWARE (ON DISK—WITH MANUAL) $49.95

AUTOLINK PROFESSIONAL LINKING LOADER SOFTWARE (ON DISK—WITH MANUAL) $49.95

ASSEMBLER-EDITOR, ASSEMBLER SOURCE PROGRAM EDITOR (ON DISK—WITH MANUAL) . . . $49.95

DISKMON USER'S GUIDE (PROVIDED WITH SYSTEM —CAN BE PURCHASED SEPARATELY) .... $ 9.95

DISKMON (DOS) ASSEMBLER LISTING IN MANUAL FORM $19.95

FORTRAN COMPILER FOR DISKDRIVER SYSTEM (AVAILABLE JAN./FEB.) $69.95

PROFESSIONAL PLM COMPILER FOR DISKDRIVER (AVAILABLE JAN./FEB.) $49.95

BUSINESS AND PROFESSIONAL PACKAGES STARTING IN JAN./FEB.

• NOTE PET IS A TRADEMARK OF COMMODORE AND IS SOLD ONLY BY AUTHORIZED DEALERS.

NEECO

EASTERN U.S. & EUROPEAN

' NEW ENGLAND ELECTRONICS

248 BRIDGE ST.

SPRINGFIELD, MASS., 01103

(415)854-2577

COMPU/TTHINK

WESTERN U.S. & CANADA

COMPUTHINK

3260 ALPINE ROAD

MENLO PARK, CA., 94025

Circle 282 on inquiry card.

BYTEMjrcli 1979

131

64KB MICROPROCESSORMEMORIES

• S-100 - $695.00

• LSI 11 - $890.00

• 6800 - $995.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. 32Kx 16$890.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 $995.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 $890.00.

CI-S100 64K x 8

mrrri'im

nil I ■■■ -

lit ill

CI-1103 32K x 16

iirriin-'liiiii-mnimrmmRilir '

CI-6800 64K x 8

tiiiii l JUJUAA.LM'Jtil I JBEBBB

Qi I * i i * j issasse■-%CI-8080 64K x 8

Tested and burned-in. Full year warranty.

Chrislin Industries, Inc.

[ j Computer Products Division

31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254

Circle 47 on inquiry card.

€

typist or has used computer terminals before,one tends to enter too many beginning char-acters and thereby cause an error. For ex-ample, I still haven't gotten used to typingjust P to evoke the print command. So whathappens? I type out the entire command,PRINT, and the result is PRINT RINT. Theproblem is even more bothersome becausethe command completion for some of thesame commands is different for differentsoftware. Using the text editor (the aboveexample), typing just P evokes the RINTcompletion; using BASIC, a PR evokes theINT completion.

TED-8, the Heath Text Editor

A text editor turns the user's terminalinto a typewriter of sorts with the addedcapability to store what is typed into mem-ory, and to edit the contents once stored. Itis essential for writing assembly languageprograms and for preparing various kinds oftexts, such as newsletters and reports, forpersonal use.

TED-8 is a line oriented text editor thatoccupies approximately 4.3 K of user mem-ory. It has commands for loading and dump-ing both files and individual records, search-ing for character strings, clearing the textbuffer, replacing and deleting lines, specifyingrange statements which control the numberof lines upon which commands will operate,creating new text, and editing existing textin the buffer. It also includes a TAB com-mand to facilitate the writing of assemblylanguage programs, a wide variety of rangecommands, and a USE command thatprovides the user with a current number-of-lines count and memory usage information.

In my opinion, TED-8 is a reasonablygood small system text editor with con-siderable flexibility. It is, however, some-what inconvenient to use, especially whenone needs to edit a particular line but doesnot know the exact line number and musttherefore either count the lines (an incon-venience if there's a lot of text to cover)or write and execute an often lengthy ex-pression to specify the character string inthe line that is to be edited. Some of thiscould have been avoided if a line numberingsystem had been included, which could bestripped off at the end of editing.

Another problem is that the text editorand assembler are interdependent in somesituations but must each be loaded separatelyinto memory. This makes repeated editingand execution for program testing a realchore. I would have liked to see these pro-grams (TED-8 and HASL-8) put together asone package, or have been provided witha dedicated linking loader as part of the

132

March 1979SBYTE Publications Inc

PAM-8 monitor that would enable me toload both programs into memory. Asidefrom these two disappointments, I ampleased with the general capabilities ofTED-8. For the small amount of memory itoccupies, it is relatively powerful.

HASL-8, the Heath Assembly Language

HASL-8 is a 2 pass assembler whicheffectively means that you must load (play-back) your source program (created by TED-8) twice before the assembly of the sourceprogram can be executed. (You can see howoften you may have to load and unload,rewind and playback cassette tapes if youare editing and testing even a moderatelysized assembly language program.) The out-put of HASL-8 is object code which is themachine language for the computer. Inaddition, a source listing of your programis generated, which includes not only thetext of your original program but also theaddresses which correspond to specificassembly language and machine languageinstructions (op codes). The Heath assemblylanguage resides in slightly less than 8 Kbytes of user memory and supports a com-plete set of operators, tokens, and pseudoopcodes (assembler directives), including inthe latter a large set of pseudo ops for errordetection and control of listings.

When a configured version of HASL-8 isstarted, the user must first answer a series ofquestions regarding the desired page size,interpage gap size, listing port, whether ornot to produce a binary image of the sourceprogram in memory, and whether or not tosave a binary image on tape. The programthen requests input of the source programfrom tape, makes a second pass after thetape is rewound, assembles the object pro-gram, and dumps out a listing at the consoleterminal. The listing includes single charactererror codes in the far lefthand margin, andrun summary data at the end of the listing(number of statements listed, remaining freebytes in user memory, and the number oferrors detected). HASL-8 does not processmacros or provide a cross-reference listing ofuser labels and associated addresses, both ofwhich would be a nice improvement in asubsequent version. It is a fairly averageassembler for its size, but should be adequatefor most general purpose assembly languageprogramming. Its documentation is verygood, as is the documentation for all of thesoftware products from Heath.

BUG-8, the Heath Console Debugger

BUG-8 is one of the best software pack-ages that comes with the H8. Residing in any

MICROPROCESSORENGINEERS

EW SOFTWAREENGINEERS

When Opportunity Knocks...GRAB IT!

Sure, you're a proficient and talented microprocessing engineer oran EW software engineer, and things are going OK professionally,but deep down inside there's a gnawing that says something'smissing. Not enough challenge, the same routine, mundaneassignments, not much professional growth.

Here at AMECOM, a major Litton Systems division, we're workingon major NEW Avionics ESM programs with production follow-onto provide systems operating capability through the year 2000requiring state-of-the-art development of multifunction distributedmicroprocessors.

If you are a MICROPROCESSOR DESIGN/DEVELOPMENTENGINEER or a REAL-TIME ELECTRONIC WARFARESOFTWARE ENGINEER, we have positions of uncommonpotential from Member of the Technical Staff to Senior Scientistwith salaries to $35,000.00.

Don't be bored any longer. Grab the initiative about opportunitieswith an international leader; call COLLECT or send your resumeincluding salary history in confidence to:

W.L. McAMIS (301) 864-5600

Amecom is located in a pleasant Maryland suburb with your choiceof city, country, mountain or waterfront living without onerous taxes.

m Amecom DivisionLITTONSYSTEMS. INC.

5115 Calvert Road, College Park, Md. 20740

An Equal Opportunity Employer M/F/H

Circle 7 on inquiry card.

March 1979 3BYTL Publications Inc

133

3 K bytes of memory, it provides the userwith powerful tools for writing, editing anddebugging machine language programs froma console terminal in octal, decimal or ASCI Iformat. It interacts with the PAM-8 monitorand uses many of the PAM-8 routines. WithBUG-8 running as a full console monitor,you can do any of the following:

• examine the contents of any memorylocations;

• change the contents of memory loca-tions;

• examine the contents of any processorregister;

• change the contents of any processorregister;

• start program execution;

• perform single step execution of aprogram;

• set program breakpoints;

• clear program breakpoints;

• load and dump programs from OR totape.

The command format used in BUG-8 is short,which makes using BUG-8 a real pleasure(the same kind of feature would be verydesirable as a configuration option forTED-8).

Benton Harbor BASIC and Extended BASIC

When you purchase an H8 kit, you aresupplied with Heath's 8 K byte, Benton Har-bor BASIC. In addition, Heath has alsomarketed two versions of Extended BASIC(versions 10.01.02 and 10.02.01) which pro-vide the user with functions for string mani-pulation and a number of other useful

Table 1: Comparison of execution times for three Heath BASICs for variouscommon functions, operators, and the FOR/NEXT statement. All times arein milliseconds, with the real time clock enabled.

FUNCTION/

OPERATOR/

8 K BASIC

Extended BASIC

Extended BASIC

STATEMENT

(Version 05.01.00)

(Version 10.01.02)

(Version 10.02.01)

A=B

14.9

15.7

15.8

ABS

1.2

1.2

1.2

+

1.9

2.7

2.5

—

2.2

3.0

2.7

INT

2.3

2.0

2.0

RND

2.4

2.4

2.4

PEEK

3.5

3.3

3.2

*

4.3

3.3

3.1

/

5.2

5.9

5.7

FOR/NEXT

5.4

5.5

5.5

POKE

14.5

13.8

13.7

COS

18.3

15.0

14.6

SIN

19.3

15.7

15.3

EXP

22.1

17.3

17.0

LOG

27.2

21.8

22.0

ATN

29.2

24.9

24.3

SQR

47.8

15.7

15.3

features. Version 10.02.01 of ExtendedBASIC also enables the user to load anddump variables, program text, and both textand variables. This latest version is a sig-nificant improvement over the earlier versionof Extended BASIC in that it allows the userto pass variables from one program to thenext.

There has been quite a bit of discussionabout the relative execution speed of variousversions and brands of BASIC that are onthe market. However, the benchmark testsfor Heath BASICs that have appeared in thesmall systems literature have been per-formed only under somewhat restrictedcircumstances. In particular, the H8 realtime clock was not enabled when ExtendedBASIC benchmark tests were published,which by omission and implication ex-aggerates the speed of the 8 K byte versionof BASIC. Now, speed isn't the only criterionin evaluating a higher level language's perfor-mance, but to provide you with a more bal-anced perspective on this issue, I give youthe following benchmark comparisons be-tween the two versions of Extended BASICand the 8 K BASIC that comes with the kit.

A modified benchmark algorithm de-veloped by J G Letwin (a software engineerfor Heath) was used to conduct all of thetests. All timings were accomplished usingthe H8 real time clock via the POKE andPEEK commands. Table 1 presents the com-parative data for execution time of variousfunctions in milliseconds. The real timeclock was enabled for all tests. The algo-rithm I used is as follows:

110 B=1.1 :C=1.5 (numeric constants)

120 POKE 8219,0:POKE 8220,0 (set clock = 0)

130 FOR 1=1 TO 2000 (2000 iterations)

140 (line for each test function)

150 NEXT I

160 Y=PEEK (8219)+(PEEK (82201*256)

(read run time)170 X=(correction factor for "A=B")180 T=((Y/500-X)/2000 (time in ms)190 PRINT "T= ";T,"Y=";Y (output)32767 END

The argument at line 1 80 computes the timefor execution of one operation of the func-tion supplied at line 140 by dividing totaltime in milliseconds (Y) by 500, subtractingthe time for the identity statement A=B, andthen dividing by the total number of itera-tions (2000). Line 140 contains the functionbeing benchmarked across each version ofBASIC (for example, 140 A=SIN(B), 140A=SQR(B)). The POKE and PEEK com-mands are placed immediately before andafter the test routine to be timed, respec-tively, thus holding any time required toexecute these commands constant and to aminimum.

134

March 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 course

in 1 megabyte of memory on standard S-100 bus

• Phantom line

• LOW Power, 1.8 Amp per 16K « Ca„u Av ., . .

K K • 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 !! (MM5257 or MM5267) - 8 Chips - Minimum order

16K

32K

m

MEMORY MANAGEMENT $135.00!!

• Turn banks of memory on and off

• "Sensitize" board to 15CPU 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 IO 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:

DELTA PRODUCTS

1653 E. 28th StreetLong Beach, Calif. 90806

Tel. (213) 595-7505

ORDER NOW ! !

SALES

&SER VICE

East Coast:

NEW LENOX ELECTRONICS

1254 South Cedar RoadNew Lenox, III. 60451

Tel. (815)485-9072

Personal checks must clear before shipment • 90 day unconditional warranty • BofA, M/C OkayCircle 89 on inquiry card.

BYTL March 1979

135

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 Flowcharts 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 7 x 11 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, 14L2 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 char-acters 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,right now, before you hatch even one more bug.

7SFZ Flowchartrix

D 2 pais ol 50- $7 90 - $2.85 pkng S shpgD 10 pads Dl 50 - 534 35 <• $6 (5 pkng £ shpg

78P4 Print-Out Design Sheets

□ 1 pad 0t50- 17 45 ~ S3 15 pkng & snpgD 5 pads ol 50 = $32 10 ~ $6 75 pkng & shpg

3-hole punched vinyl pockets lot 78P4 Design SheetsD set ol 5 toi $2 65 * $1 35 pkng S shpg

□ set ol 12loi $5 00* $185 pkng S shpg

78C1 Combination Coding/CRT Layouts

All aie the same price, bill please check which language

foimal yju want

□ loi BASIC □ loi FORTRAN a loi COBOL

a 2 pads ol 50 - Sfi 35 - $1 95 pkng & shpgO 10 pads ol 50 - $26 85 + $3 35 pkng & shpg

leiasresments please aoo 5 51, sales tai :o base cues We snipUPS so P0 Boi adOieis muil gi«e pnone numOei Prices sho^nloi packing S shipping aie U 5 A only international shipping talesaie higher write loi details

i D Sample of one sheet ol each form +associated labels& literature $2.50Enclosed is my check for $

Name

Charge to: Q Master Charge □ Visa exp date-Card J

Signature

Address.City

Phone.

.State.

. Zip_

| Stirling/Bekdorf

4407 Parkwood a San Antonio, TX 78218 a (512) 824-5643

!£2

) I97B Slir-liftf/oe.do'l Div of Blickniji. Mill Cp.. I

What can we glean from all these timings?For one thing, the 8 K basic BASIC is gen-erally slower than either of the ExtendedBASICs. The differences in execution timesbetween the three versions is not really sig-nificant for the arithmetic functions. On theother hand, the transcendental functions runfaster in Extended BASIC. The differencesbetween the versions are most evident whenthe SQR function timings are compared. Itappears that for arithmetic applications,such as those used in most financial account-ing, the user can get by very well withoutusing Extended versions. On the other hand,those who plan to do engineering or scientificapplications software development shouldgive serious consideration to using only theExtended versions. All of the versions willoperate approximately 10 to 15 percentfaster if the real time clock is disabled,which might be a further incentive for thescientific programmer to use only the latestversion (10.02.01) of Extended BASIC.

Aside from timing benchmarks, there aremany other criteria to consider when re-viewing a higher level language like BASIC.Since I cannot possibly cover all of them inthis article, I'll select the ones which areprobably of most interest to many readers.Let's start with the command and functiontypes of the three versions.

8 K Benton Harbor BASIC contains mostof the commands and functions found inmany commercial brands of BASIC for smallsystems. It has a set of editing facilities, im-mediate and program command modes, anda full set of relational operators. It also hasadditional commands, including PEEK,POKE, SEG (for controlling the H8 LEDdisplays), PAD (for utilizing the H8 controlkeypad while running BASIC), and severalcommands for loading and dumping pro-grams. Most 8 K BASIC functions can usevariables in addition to constants withintheir arguments, which makes programmingmore flexible. This version of BASIC doesnot provide functions for manipulatingstring variables.

In contrast to 8 K BASIC, both versionsof Extended BASIC have a variety of func-tions for handling string variables. In addi-tion, such commands as BUILD, DELETE,LINE INPUT and CONTROL make programdevelopment easier. Each version makes useof the FREE command, which prints outmemory allocation data for the user. Thelatest version of Extended BASIC also in-cludes commands for differentiated loadingand dumping of program text and variable aswell as LOCK/UNLOCK commands for fileprotection. Both versions display the typeof data being loaded or dumped on the H8front panel LED displays. As the data in

136

March 1979 © BYTE Publications Inc

Circle 352 on inquiry card.

table 1 indicates, the latest version is quitefast. Additional refinements, such as in-corporating PRINT USING, OCTS andDECS (for octal to decimal, and decimal tooctal conversion), and file handling com-mands that could be executed in programmode (such as PUT and GET), would havebeen useful. In addition, a special INPUTcommand that suppresses the carriage return/line feed would also have been useful for-matting the terminal display during INPUT,as would a more flexible RUN command tospecify a file/program name for storing andexecuting one of several programs stored inuser memory. This can be accomplished nowusing a combination of the GOTO and CON-TINUE commands. However, this procedureprevents the use of identical variable namesin different programs unless such variablesare reinitialized before each execution, orthe variable values of a previously executedprogram are to be used as global variables insubsequent programs in memory.

A Few Pointers

The following section includes some sug-gestions about using the real time clock forprogram run timing, displaying output usinguser defined patterns or character messageson the LEDs, and using the audio feedbacksystem for any number of interesting pro-jects. By combining and augmenting some ofthe following techniques, you can use yourH8 as a daytime clock, alarm clock, devicecontroller timer, and even a (rather crude)music synthesizer.

Among the applications software pack-ages available from Heath for the H8 are aSpace War program and a set of games pro-grams. The Space War game, which requires24 K bytes of memory is a sophisticatedversion of Star Trek. It has excellent displays,a full range of commands, and some surprisesfor those of you who dream of cruising thegalaxy. Finally, the games set, which comeson one cassette tape, contains a variety ofinteresting games, including Craps, Nim,Hexapawn, Tic Tac Toe, Orbit, Hamrabi,and Derby, all stored in machine languageand executable without first loading theBASIC interpreter into memory.

In addition to the above applications soft-ware, the Heath Company is also planning tomarket some business software in the nottoo distant future. This source of applica-tions programs will be supplemented by thesoftware that will become available from theHeath user's group (HUG), which is pres-ently reviewing and cataloging hundreds ofprograms that are being donated to HUG byusers. Software from HUG will be availableto HUG members at a nominal cost and will

SYBEX

LEADER IN

miCROCOmPUTER EDUCATION

ANfflKXXCTON

JndSsness

MICR0FIIOCESSO80 INIiBFAONSnCHNKWSS

k*

RN INTRODUCTION TO PERSON-AL AND BUSINESS COfTIPUTING

by Rodnay Zaks

250 pp, ref C200 S6.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 Zaks

420pp, 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.

miCROPROCESSORINTERFACING TECHNIQUES

Austin Lesea and Rodnay Zaks416pp,refC207 S11.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.

miCROPROGRAmfTIED APLIfTIPLEmENTATION

330pp,refZ10 S25.00

How to design an APLinterpreter.

>

PROGRAmmiNG THE 6502

by Rodnay Zaks320pp,refC202 SIO.95An 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

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 65c per book (4th class)

or $1.50 faster shipping (UPS).

Double for cassettes and overseas.Tax: in Californiaadd tax.

FREE DETAILED CATALOGUE

SYBEX

2020 MilviaStreet

Berkeley, CA 94704

Tel 415 848-8233 Telex 336311

DEPT, B j

Circle 356 on inquiry card.

March 1979 3 BYTE Publications Inc

137

be announced in the HUG magazineREMark as contributed programs becomeavailable.

The H8 Real Time Clock

Every 2 ms the H8 generates a level 1interrupt which is then used to service thefront panel and update the real time clock.The clock or "tick counter" is located intwo bytes of user memory at locations040.034 and 040.033 and is called TICCNT.Both the high order byte (040.034) and loworder byte (040.033) of the counter can bedisplayed on the H8 LEDs using the fol-lowing short assembly language programwhich can be executed in memory with theassembler (HASL-8) resident:

074.000074.000 041

033 040

074.003 116 DISPLAY

074.004 054

074.005 106

074.006 055

074.007 303 003 074074.012

ORG 074000ALIX H.040033ALOW ORDER BYTEMOV C,MLOAD LOW BYTEINR LNEXT BYTEMOV B,MLOAD HIGH BYTEDCR L

RETURN POINTERJMP DISPLAYNEXT BYTESEND 074000A

Be sure to set the front panel to display theBC register pair before running the program.The BASIC timings described earlier ac-cessed the TICCNT memory locations byusing the PEEK function and POKE com-mand. Using these commands, it is possibleto create a program run timer for programsthat run up to approximately two minutes.Unfortunately, after this time TICCNT willstart all over again instead of continuing toincrement third and fourth memory loca-tions, which would have provided a veryconvenient built-in extended range timer.You will need to allocate additional bytes inmemory for a higher order counter in orderto extend the clock range.

H8 Display Control

As discussed earlier, the H8's front panelis an integral part of the entire system andcan be used for many operations even whileusing a console terminal. One of the advan-tages of this design is that the LED displaycan be accessed and controlled by the usereither through the front panel or througha program being run from a terminal. Muchof this is made possible by accessing themonitor control cells and flags stored inmemory.

As an example, the assembly languageprogram in listing 1 provides you with com-plete control of the display updating. Firstthe display update control bit in the userdefinable memory flag .MFLAG is set to002 to disable display update. The displaysare then loaded with the desired bit pattern,in this case the pattern "XrunningX" (whereX = blank). The user accessible memory cellsfor each LED bit pattern are in memorylocations 040.013 through 040.023. Thetemporary bytes for storing the pattern forthis display are in locations 071.000 through071.010. Each byte in the temporary area is,in progression, loaded into the correspond-ing byte in the monitor LED memory bytes.To modify the display, change the bit pat-terns in the temporary area. Add additionaltemporary bit pattern tables and a table ref-erence and transfer routine to display morethan one front panel message.

The H8 Horn

The audio feedback system that is part ofthe H8 has other practical uses. The audiotone can be turned on from a running pro-gram that stores the octal value 160 in thefront panel hardware control cell CTLFLGlocated at 040.011. If an attempt is made todo this from the front panel without goingthrough a program, the front panel will bedisabled before the operation is completed.The tone can be turned off by restoringCTLFLG to its normal octal value of 360.

Here is an interesting BASIC routine togenerate an audio beep sequence with timingthat follows a sine curve. Change the valueof X to vary the timing curve. (Note: linenumber 3 is written in multiple statementform to structure the program to run asfast as possible.)

1 X=1

2 A=8201: B=120: C=208: D=20

3 J=J+X: POKE A,B: POKE A,C:

FOR l=X TO SIN(J)*D+D: NEXTI: GOTO 3

4 END

Split-Octal to Decimal Conversion

It is often useful to be able to quicklyconvert split octal bytes to their decimalequivalents. The following routine does this.It can be located as a temporary program inBASIC while other programs are beingdeveloped or executed. Be sure to use linenumbers that do not conflict with those inthe program you are using. (Note: input N ifdone.)

010020

REM OCTAL TO DECIMAL CONVERSIONPRINT: INPUT "A=?";N

138

March 1979 © BYTE Publications Inc

IIMTRODUCIIM

The LOW COST Alter nativFor Factory, Depot;, andField Board Repair.

PHOENIX DIGITAL'S LS-100 Series DigitalSignature Analyzer System brings uniformtest procedures across your factory,depot and field testing. For the first time,manufacturers and service groups canestablish repair facilities on a very costeffective basis. More remarkable, youcan utilize inexperienced, unskilled *p

labor to troubleshoot, diagnose,and locate faulty componentswith positive, predictable results.Gives you the ability to KEEP UPwith expanding service needsand shrinking pools of qualifiedservice technicians.

New Opportunity

Get into the highly profitable service business i

without a major investment or using highly-skilled,expensive test personnel. SINGLE-CARD SignatureAnalyzer Modules provide system-resident diag-nostic and failure isolation powerof expensive board testers.

Quick Initial Use

Take existing factory and field boardtest software and exercise one known-good board, taking digital signature r A ■servicing values, and adding the values I { IIto your service documentation. To . }repair boards, merely take measure-ments, match with service documenta-tion for correct four digit values, and faultybacktrack through the logic to isolatecomponents. Complexity of repair is aboutthat of servicing a TV.

Flexible Family Of Teater Types

Versions are available for resident and plug-inuse with S-100 and other bus types. Easily controlledby either hardware or software. Automatically scana large number of test points using optional 32-inputmultiplexer attachment. Probe with built-in service-oriented logic-state lEDs.

CUSTOM versions available for your bus type orbuilt-in application.

EZ3

Si f

Call or write, today, for full details on the sbest suited to your needs: CB02] 331-636D

PHOENIX DIGITAL CORPORA

~7~74S E. Redfield Road, Scottsdale, Amzoi

Circle 304 on inquiry card.

BYTL March I979 139

Listing i: An 8080 as-sembly language programto allow the user to con-trol the LED (light emit-ting diode) readouts onthe front panel of the H8computer.

071.000

ORG

071000A

071.000

377

DB

377A

071.001

235

DB

235A

071.002

203

DB

203A

071.003

221

DB

221 A

071.004

221

DB

221 A

071.005

363

DB

363A

071.006

221

DB

221A

071.007

240

DB

240 A

071.010

377

*

DB

377A

071.011

041

010

040

LXI

H.040010A

071.014

076

002

MVI

A.002A

071.016

167

MOV

M,A

071.017

041

000

071 DISPLAY

LXI

H,071000A

071.022

021

013

040

LXI

D,040013A

071.025

176

LOADIT

MOV

A,M

071.026

353

XCHG

071.027

167

MOV

M,A

071.030

353

XCHG

071.031

043

INX

H

071.032

023

INX

D

071.033

067

STC

071.034

077

CMC

071.035

076

024

MVI

A,024A

071.037

273

CMP

E

071.040

322

025

071

JNC

LOADIT

071.043

303

011

071

JMP

DISPLAY

071.046

END

071011A

LED PATTERN 1LED PATTERN 2LED PATTERN 3LED PATTERN 4LED PATTERN 5LED PATTERN 6LED PATTERN 7LED PATTERN 8LED PATTERN 9

POINTER TO .MFLAG(A)=OFF CONSTANTDISABLE LED UPDATEPATTERN TBL POINTERLED TABLE POINTER(A)=BIT PATTERN(H) = LEDPT, (D)=DISPTDISPLAY IT(H)=DISPT, (D)=LEDPTNEXT PATTERN BYTENEXT LEDSETCARRY=1SETCARRY=0(A)=COMPARE CONSTANTIAXIE)

NEXT PATTERN/LEDREINITIALIZE

030 IF N > 377 GOTO 100

040 IF N=0 GOTO 110

050 A=INT(N/100): IF A>3GOTO90

060 B=INT ((N/10)-(A*10)>. IF B > 7 GOTO 100

070 C=N-((A*100)+(B*10)): IF C > 7 GOTO 100

080 Q=C+(8*((8*A)+B))

090 PRINT: PRINT "A="N;"D="Q: GOTO 20

100 PRINT: PRINT "ERROR! USE ONE

SPLIT-OCTAL INPUT BYTE!"

110 GOTO 20

120 END

Heath Support Services

Regarding the servicing of digital systemslike the H8, Heath's present approach is todo most repairs at regional centers or at thefactory in Benton Harbor Ml until such timeas each local store can either provide addi-tional in service training for existing techni-cians or add on additional technical staff.Some stores that are not regional centers,such as the Heathkit Electronic Center inPeabody MA, have service technicians whoare capable of performing most of the neces-sary digital equipment repair jobs. All Heathproducts are warranted for a 90 day periodfrom date of delivery. If replacement partsare needed, some parts can be obtainedthrough local stores; the remainder must beordered from the factory. I have used thereplacement parts service and found it to bemost adequate.

Another area of support services is theHeath Users Group (HUG). Owners ofHeath computers can pay a yearly member-ship fee to join HUG which is administeredin St Joseph Ml. HUG supplies users witha variety of services including contributed

software, membership information, andnewsletters. HUG is an important compo-nent of the overall services provided byHeath and is growing rapidly. HUG memberswho are interested in forming local orregional users groups should feel free to con-tact HUG manager Robert Furtaw for addi-tional information and assistance.

A third area of support services is newsystem products. The design of the H8 lendsitself to upgrading and expansion in manyways, which Heath is already taking advan-tage of. I have also heard they're consideringa number of designs for interfacing the H8to their excellent line of ham radio gear,which should be of considerable interest toham operators who are also interested inRTTY (radio teletypewriter). Likewise, Iwouldn't be surprised if Heath introducessophisticated video game boards to interfaceto their television sets, and household con-trollers to interface with some of their homeoriented equipment.

Final Thoughts

Aside from these items, the possibilitiesare many. Digital to analog/analog to digitalconverters, video drivers, speech recognitionsystems, EROM (erasable readonly memory)boards, upgraded firmware monitors, firm-ware versions of existing and future software,printers, modems, intruder entry detectiondevices, graphics boards, and perhaps evenbubble or CCD (charge coupled device)memory boards are just a few of the manypossible products that Heath might market."

140 March 1979 © BYTE Publications Inc

EVERYTHING YOU NEEDSMALL COMPUTER SYSTEMS

COMPARE PRICE, QUALITY, DELIVERY, SERVICEAND YOU'LL SEE WHY YOU DON'T HAVE TO LOOK ANYPLACE ELSE!

TERMINALS

LEAR-SIEGLERADM 3aB ^^$854.95ADM 31 ^%JJ^P^. 1450.00ADM 42 ..._ 1795.00

T

HAZELTINE

1500 ....; Hill49.00

1400^ P>" 699'00Mod 1 Edit . ^^*W^. .1650.00

ADDS Regent

1095.00

COMPUTERS

IMSAI

PRINTERS

TEXAS INSTRUMENT

810 1799.00

820 2195.00

745 1795.00

TELETYPE

1199.00

OKI DATA

SL125110

2449.001199.00

CENTRONICS

779700

761703

.1294.00

1520.00

.2025.00

.2805.00

We do complete customizing of Hardwareand Software to meet your specific needs

VDP 80 . ^jjgm^^-. $6995.00

VDP 40 . . . yT7.. 3995.00

VDP 42 4195.00

VDP 44 4495.00

PCS-80/15 929.00

PCS-80/10 (Kit) 599.00

N0RTHSTAR

Horizon II (Kit).

1699.00

DIGITAL SYSTEMS

DSC-2

Double DensityDual Drive Disk .

&U.:^~i *■

4995.002745.00

CR0MEMC0

System 3

f

5990.00

MORE SPECIALS

Decwriterll 1395.00

Qume Sprint 5/45 R0 2795.00

Persci 277 Dble Density 1395.00

SOFTWARE

Accounts Receivable.. .159Q 250.00

Inventory "5©Q 250.00

Order Entry fbSQ 500.00

Word Processing 350 195.00

Payroll 2tm. 1000.00

Sort & Merge 250.00

SYNCHRO-SOUND

The Computer People

193-25 Jamaica Avenue, Jamaica, New Mark 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 March I979

141

A Stepping Motor Primer

Part 2: Interfacing

and Other Considerations

Paul Giacomo

51 Farmington Chase

Farmington CT 06032

Note:

The figure numbering

sequences used in this

installment continues the

sequence begun in part 1.

Also, part 1 includes a

glossary of terms and a

reference list.

Interface Circuitry

Part 1 of this article ("A Stepping MotorPrimer," February 1979 BYTE, page 90)described the theory of operation of thestepping motor. Part 2 concludes the dis-cussion with a description of how to inter-face stepping motors to microcomputers.The interface can be accomplished in severaldifferent ways. The most common methodsare to either decode the control sequencein software, outputting it to a parallel portwith buffers and connecting the output ofthe buffers to the drive transistors, or usethe output ports of the computer to feedinto an external decoder that will sequencethe drive. Since personal preference andindividual application dictate how much orhow little of this will be in the program, Iwill first describe a hardware version for a4-phase, full-step drive, then describe how totransfer it to software.

Let us assume that two control lines froman input/output (IO) port are used to con-trol the stepper. One line is for directionand the other is for a step command. Theprogram can then control the speed of themotor by controlling the frequency ofpulses on the control line. Figure 17 showsa simple interface circuit. The control linescoming from an output port are bufferedand sent over a cable to this circuit, whichis in close proximity to the motor. (Avoidhigh voltage and current spikes near theprocessor.) The first thing to be done isto clean up the signals and then feed theminto an up-down counter. The counterdetermines in which of the four excitationstages the motor is to be. The outputs ofthe counter are fed into a decoder sectionthat activates the driver transistors at thecorrect time.

There is a 16 pin integrated circuit avail-able (SAA 1027) through North AmericanPhilips Corporation that can do all of this,as well as including the drive transistors, forunder $10. The program needed for thesystem is now fairly simple. What must bedone is to select the direction of travel andthen pulse the step line the correct numberof pulses at the desired stepping speed.Ramping the speed of the motor is discussedin the following section.

The software version of this systemwould use four lines of parallel port inter-facing directly with the drive transistors,with the excitation sequence stored in theprogram. To advance the motor, the pro-gram either increments to the next sequencepattern and outputs it for forward, or decre-ments the pattern and outputs it for re-verse. Again, the speed of the motor isdetermined by how fast the patterns areoutputted.

Although not covered in this article,there are drives available that allow oneto input to the drive the number of stepsto travel and then activate the go line. Thedrive automatically ramps the motor up inspeed and then stops at the number of stepsset beforehand. These drives are known aspreset indexers. Another type of drive usesa voltage level to control an oscillator forthe stepping speed.

Behavior of Motors in Operation

Like any other motor, the stepper cannotinstantly start and stop at full speed andmaximum load and still be expected to endat the correct position.

When a motor takes a step, it behavesin a manner similar to that of a fiberglasspole with a weight on one end, as shown in

142

March 1979©BYTE Publications Inc

74386 X^ 1 1> PHASE I DRIVE

Oph

ASE I DRIVE

PHASE I

PHASE 2

PHASE 2

\ ^> PHASE 2 DRIVE

IC3c X 8 i ^ ,

7486 ) 1 J> PHASE 2' DRIVE

IC

TYPE

+ 5V

GND

1

7414

14

1

2

74191

16

8

3

74 86

14

7

Figure 17: Hardware ver-sion of step sequence gen-eration for a 4 phase fullstepping motor.

WEIGHT POSITION(SHAFT)

WEIGHT(SHAFTANDLOAD)

WEIGHT SHAKESFOR AWHILE

FIBERGLAS ROD(MAGNETIC FORCE)

BASE

(ELECTRICAL

POSITION)

BASE

MOVEMENT

BASE POSITION(ELECTRICAL)

NEW WEIGHTPOSITION

Figure 18: Analogy to sin-gle step movement in astepping motor. When thebase (electrical position) issuddenly moved to a newposition, the fiberglass rod(magnetic force) pulls thesuspended weight (shaftand load) along with thebase. Because the fiber-glass rod is flexible, theweight causes it to shakefor a while before stop-ping. The inertia of theshaft and load in the step-ping motor's case is themass that makes theweight oscillate for a time.

March 1979 © BYTE Publications Inc 143

r\

f\

NEXT

POSITION

\l

u

vy

STEP POSITIONVS TIME

INITIAL

POSITION o 5 10 15 20 25 30 35 40 45 50 55 60

TIME (mSEC)

Figure 19:' Step position versus time for a typical stepping motor. The ac-tual frequency of oscillations and time to decay is different for every motorand load combination.

LOADINERTIA

MOTORINERTIA

DAMPERINERTIA

r=5i

DAMPERCOUPLING

Figure 20: Simplified diagram of inertial damping used to reduce overshootof a motor.

DAMPER INERTIA

MOTOR SHAFT

SPRINGS

-ADJUSTMENT

FRICTION MATERIAL

Figure 21: Example of a friction coupled inertia damper.

figure 18. When the electrical position isadvanced one step, the magnetic force triesto pull the shaft and load to the next me-chanical position. Depending on the drive,inertia of the load, and friction on the load,the shaft will bounce back and forth (os-cillate) around the next mechanical position(like the weight on the end of the fiberglasspole) until it has dissipated its energy.Figure 19 is a graph showing positionversus time for one step of a motor. Thisovershoot of the shaft may not be a prob-lem in a low inertia, high friction system,but can cause troubles in a high inertiasystem with low friction.

To reduce the overshoot some form ofdamping must be added, the easiest beingfriction damping. This consists of addingfriction to the motor shaft, which opposesany kind of motion and provides energydissipation during oscillation. Althoughthis method is easy and inexpensive, itreduces the available torque from themotor. This also affects the performanceand the final position accuracy of thesystem.

Another type of damping is known asinertia damping (sometimes referred to asLanchester damping), which is the mostcommonly used method for mechanicaldamping. A simplified diagram of this typeis shown in figure 20. This type of damperis constructed with a coupling that is some-what loose and slips like an automobileclutch that is not fully engaged. The cou-pling will try to bring the damper inertiato the same speed as the motor shaft. Whenthe speeds are equal, there is no frictionbetween the damper and motor, so thedamper is inactive. This type of damper doesnot affect the final position accuracy butreduces the acceleration and decelerationrate of the system. These dampers are muchmore expensive than the simple frictiondamper. The inertia of the damper (whichis related to the size and weight) has thelargest effect on the amount of damping,and must be selected for the particularapplication.

Two common ways that coupling can bemade are by friction or by using a viscousfluid similar to oil. Figures 21 and 22 giveexamples of friction and viscous couplingdampers, respectively. The friction damperhas a disk attached to the shaft and twoother disks, or bearings, that are free torotate on the shaft. By adjusting the springs,the amount of friction between the freedisks and the mounted disk can be changed.The viscous damper consists of a cylindricalcase attached to the motor shaft with an-other cylinder that is free to rotate insidethe case. Fluid inserted between the two

144 March 1979 ©BYTE Publications Inc

•00 O

Russell F. Roth, President, Roth Computer Processing, Indianapolis, IN: "Bookkeeperand Autoscribe are flexible enough for almost any business application. MicroSourcenarrows the applications gap between micros and the other guys . . . refreshing forpackaged systems."

Chuck Faso, Owner, Computerland of Niles, IL: "You cannot find more for your moneyanywhere. Autoscribe is the easiest to operate I've seen. It does everything you wouldwant to do with word processing. There's just no competition at this price."

Norm Dinnsen &. Dave McDonough, Owners, Computerland of San Diego: "We like tosell systems we can depend on. That's why we sell MicroSource. MicroSource software ismore business-oriented, the systems are a lot cleaner and they use good dependableequipment.

"MicroSource has the best documentation we've yet to see. Bar none. We're lookingforward to more MicroSource packages."

Autoscribe — The Paperwork Manager".

Here's the lowest-cost answer to youroffice paperwork problems. And, the onlyword processor that's also a small businesscomputer. Less than $8,000 (under $200/mo. on a financing lease) with a North Star-based system (sugg. list).

Bookkeeper — The Office Accountant1".

Now you can use the same system used byCPA firms to prepare your monthly state-ments. What used to take you days nowtakes just hours, just $7595 (under $200/mo. on a financing lease) with a North Star-based system (sugg. list).

^SOURCE™

1425 W. 12th Place • Tempe, Arizona 85281 • (602) 894-9247 • Cable: MICROAGE

Telex: 165 033

The following are trademarks of The Phoenix Group, Inc.: MicroSource, Autoscribe, BookkeeperDEALERSHIPS STILL AVAILABLE

Circle 225 on inquiry card.

BYTE March 1979 145

cylinders acts as the coupling. By changingthe viscosity of the fluid, the amount ofdamping can be adjusted.

Another damping method uses the con-trol circuit to electronically damp themechanical oscillations. This is accomplishedby giving the motor a quick reverse, thenforward pulse, just as it were about to stopat the final position. Although inexpensive,it requires tuning of the pulses to the load,and the motor will be sensitive to fluctu-ations in load and friction. For this reason,this type of damping is not suggested formost personal computing applications.

DAMPER CASEVISCOUS FLUIDDAMPER INERTIA

BEARING

MOTORSHAFT

Figure 22: Example of a viscous fluid coupled inertia damper.

90

TORQUEOZ-INCH

LIMIT START-STOP

\

LIMIT

\

\

\

\

V

\

\

\

N

\

OPERATINGAREA

\

\

\

\

\

'

600 800 1000 1200 1400SPEED (STEPS/SECOND)

1600 1800 2000

Figure 23: Typical speed versus torque curve for a medium power steppingmotor. The solid line represents the maximum speed-torque combination thatthe particular motor and drive combination is capable of producing. Thedotted curve shows the maximum speed-torque combinations that can beachieved and still start and stop without gradual acceleration or deceleration.

Since the motor cannot normally startand stop at high speeds, some form of accel-eration and deceleration must be used. Thisquickly becomes obvious if the inertia is toolarge for the initial speed attempted. Themotor will make noise and the computer willsequence through the steps, but the motorwill not run. Fortunately, this will not harmthe motor. To correct this situation, pro-vided that the motor and drive combinationis capable of that speed, the motor muststart at a speed low enough to turn the shaftand then gradually accelerate to the desiredspeed. If the acceleration is too fast, themotor will lose synchronism and stop run-ning. To stop the motor, it should be de-celerated or it will continue to turn evenafter the pulses have stopped. As a rule,the deceleration rate can be faster than theacceleration rate.

An operating parameter exhibited by allstepping motors that should be noted isresonance. Every motor has a particularspeed at which it has difficulty running.This is called its primary resonance, and itis usually located somewhere between 50and 150 steps per second. An unloadedmotor, when run at its resonance, will havevery little torque and may sputter, makenoise, stop turning or run backwards. Thiswill not hurt the motor, but it will makethe system do a lot of strange things.

To lessen the effects of resonance, anumber of things may be done. Morefriction could be provided by damping, orthe drive could be made to deliver lesspower. The best solution, however, wouldsimply be not to run at that particular speed.When ramping up or down in speed, acceler-ation through resonance is possible as longas it is only for a few pulses.

The characteristics mentioned above canbe found for every motor by examiningthe motor's speed versus torque curve.Figure 23 shows a typical curve. One pointto remember about the graphs is that thecurve represents a particular motor witha particular drive, so it is only a roughapproximation for a motor with a personallydesigned drive. The bottom of the graphusually represents the speed of the rotor insteps per second. The side scale shows thetorque that the motor can produce. Thecurve usually shows the maximum torquethat can be applied and still start and stopwithout error. Notice the sag in the curvesat low speed. This is where the resonanceis located. Under certain conditions, the sagcan be very sharp, going down to almostno torque and then back up to severalhundred ounce-inches of torque in only20 to 30 steps per second.

It should be kept in mind that if there isless current in the main drive than what is

146

March I979 © BYTE Publications Inc

An

Less Cost

DISK SYSTEM

gives you a lot lessthan you expected:

Less Hassle

The DISCOMEM Controller board costs us less tomanufacture. So your complete INFO 2000 DiskSystem costs you less - at least $400 less than com-perable disk systems.

Less Hardware

Only three S-100 boards are needed to create a com-plete, high-performance disk-based microcomputersystem-the DISCOMEM Controller Board, a 32Kmemory board, and any 8080, 8085 or Z80 CPUboard. You don't need extra interface or EPROM'boards since DISCOMEM contains 2 serial ports, 3parallel ports and provision for 7K of EPROM and IKof RAM.

LessTime

The INFO 2000 Disk Sys-tem is incredibly fast! Usingthe PerSci Drives with voicecoil positioning, disk seektimes are up to 8 times fast-er than with other drives.A full disk-to-disk copy andverification takes well undera minute. Formatting andverifying a new diskettetakes less than half a min-ute. Reloading CP/M* fromdiskette takes a fraction of asecond.

The INFO 2000 Disk System eliminates the "I/O configura-tion blues" by incorporating all necessary interface ports. ACP/M Loader and all I/O drivers are contained in EPROM sothere is no need for special software customization. Justplug the system into your S-100 microcomputer and beginimmediate operation using the CP/M disk operating system.The INFO 2000 Disk System is supported by the most exten-sive library of software available, including 3 different BASICs,2 ANSI FORTRAN IVs, several assemblers, text editors, de-bugging tools, utilities and numerous applications packages.

LessErrors

This disk system uses fullsize 8" diskettes and stan-dard IBM 3740 recordingformat. So you're assuredsuperior protection againsterrors, and full inter-chanageability with otherCP/M-based systems.

Less Space

The system is remarkablycompact, requiring only1/2 to 1/3 the space takenby other 2-drive disk sys-tems.

It all adds up to more capability for your money.

The complete INFO 2000 Disk System comes completely assembled and tested. It includes dualdiskette drives, the DISCOMEM Controller, power supply, cabinet, cables and the CP/M diskoperating system—everything you need for immediate plug-in-and-go operation with yourmicrocomputer. This means less time, hassle, hardware, space, errors and less money than forcomparable equipment. Now, isn't that a lot less than you'd expected in a dual disk system?

INFO 2000 Disk Systems are also available for Digital Group and Heath H8 microcomputers.Dealer inquiries welcomed.

*CP/M is a registered trademark of Digital Research.Circle 178 on inquiry card.

CORPORATION

20620 South Leapwood Avenue

Carson, California 90746

(213)532-1702

BYTE March 1979

147

LIGHTWEIGHTPULLEY

PULL SLOWLY

Figure 24: Spring scale torque measurement.The torque of a stepping motor at a setspeed is measured by pulling slowly on thenylon cord wrapped around the pulley untilthe motor stalls. The reading on the scaletimes the pulley radius gives the maximumload torque the motor can run with at thatspeed. The amount of turns around thepulley varies with the pulley and cord. For a3/32 inch (0.25 cm) diameter cord andaluminum pulley, two or three turns worksbest. By measuring the torque at severalspeeds, it is possible to make a special torquecurve for the motor and drive.

The following list contains varioussources from which stepping motors andpertinent literature may be obtained.

Manufacturers:

Superior Electric Co, Middle St, Bristol CT06010.

Sigma Instruments Inc. Motion Control Div,170 Pearl St, Braintree MA 02184.

North American Philips Control Corp,Cheshire Industrial Park, Cheshire CT06410.

Warner Electric Brake, MCS Div, Beloit Wl53511.

Computer Devices of California, 11901Burke St, Santa Fe Springs CA 90670.

Singer Co, Kearfott Div, 1150 McBride Av,Little Falls NJ 07424.

Berger-Lahr, Jaffrey NH 03452.

Surplus Stepping Motors and Equipment:

AST/Servo Systems Inc, 930 Broadway,Newark NJ 07104.

Some Stepping Motor Calculations

The following formulas are commonly used in stepping motor calculations.

Distance = s = Hat + vQt + c where s = distance (inches or cm)

a = acceleration (inch per second )

t = time (seconds)

vQ = velocity, initial (feet per second

or meter per second)c = constant.

Velocity (linear) = v at + vQ where v = velocity (inch per second or meter

per second)a = accelerationt = timevQ = velocity, initial.

Velocity (angular) = oj = v/(r7T) where u> = angular velocity (radians per

second)v = linear velocity (inch per second or

meter per second)r = radius (inches or meters)

u> = (RPM) N/60

where RPM = revolutions per minute

N = number of steps per revolution(x> = angular velocity in steps persecond.

(Similarly, the speed in revolutions per minute is RPM = u> 60/N.)

Torque = T = Fd,

where d = radius from pivot point to force

F = force applied or restraining force,ie: friction, weight, load (ouncesor newtons).

The relationship between torque and rotary motion is:

T = J (u>/t) where T = torque (ounce-inches or newton-

meters)

J = moment of inertia (ounce-inch-seconds _ or newton-meter-seconds2 )

u; = angular velocity (radians persecond)

t = time (seconds)

To use the equation with J in units of ounce-inches2, multiply the inertia by1/384 (ounce being a unit of mass in this case, instead of a unit of force as usedabove).

T = J (Cj/t) (1/384)

The moment of inertia for a rotating disk (pulley, gear, etc) is:

J = Wr2/2

L/R Time Constant

where J = moment of inertiar = radius of diskW = weight of disk

The ratio of the inductance to resistance of a winding is used to determine thebuildup or decay of current in a stepping motor. The basic equation which repre-sents current flowing in a stepping motor is as follows:

l = lss<1-

t where I = instantaneous current (amps)

-(L/R) lss = steady state current in winding

) (amps)

e = natural exponent = 2.718

t = time (seconds)

L = inductance in winding (henries)

R = total resistance in the currentpath (ohms)

By examining the formula closely, it can be seen that the instantaneous cur-rent will reach its steady state value much sooner if the ratio of inductance toresistance is decreased. The result is that the motor will react faster to input sig-nals, which will increase system performance.

148

March I9790BYTE Publications In

shown for rated current, the curve will beshifted below the rated curve. A speed versustorque curve of the motor to be used willhelp to make the design much easier, andwithout unexpected disasters. By trying tooperate safely below the curve, and ob-serving the design rules, no unforeseenproblems should be experienced with thesystem.

Once the motor has been selected andthe drive fully completed, the next logicalstep is to make a speed versus torque curveof the motor and drive combination. Thisis important for a number of reasons. First,the speed versus torque curve obtained isthe actual response of the motor and drivecombination rather than a representativecurve provided by the manufacturer.Second, it becomes a reference to compareagainst if any changes in the drive are madeto alter its performance. Another reasonfor obtaining a curve is that it gives theexperimenter a hands-on feel of the be-havior of the stepping motor. (See textbox for a detailed method of finding thetorque of a stepping motor.)

I hope the information presented inthese two articles will inspire you to usethe versatile stepping motor for your ownapplications."

Obtaining the Torque Curve: A Practical Technique

A simple technique for obtaining the curve is through the use ofa spring scale (small fishing scale will serve the purpose) and a thinnylon cord. In this system, a cord suspended from a spring scale iswrapped several times around the motor shaft (or a lightweight pul-ley on the shaft) and is used to apply a frictional torque on themotor (see figure 24). Changing the size of the pulley will provideseveral ranges of torque. To find the torque, the motor is run at aconstant speed and the free end of the cord is pulled very slowly.As friction builds up, the scale will begin to move. At the pointwhere the motor stops turning, the value on the scale times theradius of the shaft (pulley) gives the maximum torque for thatspeed. This should be repeated several times to get the correctreading. This is repeated for several different speeds. The typicalspeed points taken start at 50 steps per second and proceed inincrements of 50 steps per second up to 250 steps and then every200 steps per second thereafter. Other points to find are the maxi-mum torque point, maximum speed no torque point and resonancepoints. When enough points are taken to get an idea of the curve(about 10 to 15), the points are plotted on regular graph paper anda "best fit" curve is drawn through the points.

Warning: Be careful at low speeds, because the motor can runbackwards when it is "jerked" out of synchronism and wind thecord around the shaft in the reverse direction (your finger can getwrapped in there in larger motors). A thin nylon cord is preferablebecause of its strength. A point to remember is that this is a fric-tional load and that the shaft (pulley) and cord will heat up whentrying to dissipate the energy.

ORDERNOW!

MIMIC is available in unassembled KIT form.Send check or money order for $50.00 to:

RealTirne Intelligence Corp.

P.O. Box 9562, Rochester, New York 14604

Mass. residents please add S% Sales Tax. New York residents please add 7% Sales Tax.

Allow 4 - 6 weeks for delivery

Circle 317 on inquiry card.

Mirth 1979 O BYTE Publicjlions Inc 149

Gispcis'sGipcuit Cellar

Build a Computer Controlled

Security System

for Your Home: Part 3

Steve CiarciaPOB 582Glastonbury CT 06033

Copyright © 1978 by StevenA Ciarcia. All rights reserved.

There are many security systems on themarket. From the simple $10 door buzzerswhich signal forced entry to elaborate pro-fessionally installed Rollins and ADT sys-tems, their purpose is singular: give theoccupant advance warning of an emergencycondition. Protection of property is a sec-ondary benefit of the more sophisticatedalarms. Ultimately it is the overall complex-ity of the security system that defines howmuch coverage is attained in each of theseareas.

Forced entry, prowler, and fire detectionare but three possible events for whichpeople buy alarms. A $15 smoke alarmalerts the occupants, who rush out of thehouse in the nick of time but stand watchingthe house burn because they didn't havetime to call the fire department. Similarly,a prowler breaks into a home when thefamily is out. He has grown accustomed tothe regular pattern of timer controlled lightsafter observing the house for a few nightsand immediately disables the alarm hornupon entry. Had the occupants been homethey of course would have been alerted tothe break-in, but that was not the thief'sintention.

To provide full protection, the ultimatesecurity system should discourage intrusion,monitor all potential emergency situationsand have the intelligence to initiate a presetseries of actions should the alarming eventever occur. Combining all these elements

into a single computer controlled securitysystem is the subject of this and the twopreceding articles (January 1979 BYTE,page 56; February 1979 BYTE, page 162).With the control system proposed anddeveloped in this series, the user will havemore of a process control computer than aburglar alarm. Except for the detection ofthe alarming event itself, a system designedto discourage intrusion and automaticallyrespond to certain situations cannot beconfigured solely as a passive detection unit.The programs which this computer executeseither in response to timed events or sensorinputs amount to a process control situation.The computer controlled security systemoutlined in these three articles has the capa-bility (presuming you have wired the sameoutput controls as I have) to detect cars orpeople approaching a residence and trackthem by sequentially turning on flood lightsaimed to cover the perimeter of the house,or give an audible warning in daylight situa-tions. It can also control the power to ACappliances (TV, lights, stereo, etc) either tosimulate occupancy or provide the luxury ofremote control. This same software allowspreset responses to water and temperaturesensors for the control of wood heating, watercirculating stoves or simply to turn on a pumpin the basement. Should any perpetrator beignorant enough to break in even after suffi-cient warning, the system has all the usualbells and whistles, an automatic telephone

150

March 19791) BYTE Publications Inc

dialer, a hidden video tape recorder to ob-tain evidence, and, finally, a separate com-munications link to your neighbor.

The first article presented a general out-line of the control system, the types of in-puts available, and proposed responses. Thesecond article described the hardware modi-fications to the SDK-85 computer used asthe controller and provided an extensive de-scription of the control and data acquisitionsoftware. With these three articles, more ad-vanced readers should have enough informa-tion to configure a similar control computerusing any microprocessor.

The final installment in the series presentsexamples of discrete input sensors to moni-tor temperature, moisture, motion, fire, andsmoke. To allow the computer to make theproper response to such inputs, designs forflashing lights, strobes, siren, and AC remotecontrol interfaces are also detailed. Finally,just to alleviate any lingering apprehensionsover what appears to be a complex softwarealgorithm, we will trace the flow of an alarminput as it is processed by the security sys-tem and demonstrate the versatility of table-driven software in this application.

The Alarm System Is Only as Good asIts Input Sensors

The SDK-85 has 38 bits of parallel I/O(input/output). In this application 18 ofthese bits have been set aside to control out-puts, while the remaining 20 are used solelyfor input. Because the computer is composedof TTL (transistor-transistor logic) circuitry,any input to it must also be TTL compatible.It is a further requirement that all signals bediscrete in nature. That is, they change statefrom a 1 to a 0 or a 0 to a 1 level when theset point is attained. Analog inputs are notbeyond the capabilities of the software, butno analog to digital interface has been builtinto the system.

Analog Input Sensors

Temperature and voltage are importantanalog parameters which any sophisticatedalarm system requires if it is to monitorfreezer or furnace room temperature andbrownout conditions. The circuit of figure 1can be used to read temperature setpoints.IC1 is a special integrated circuit having anoutput voltage proportional to temperature.

TEMPERATURETRIGGER POINT

aVOUT=IOmV/°K IOK 3 wv

J—-. IU ALARM1 TTL INPUT

Figure I: Temperature setpoint indicator circuit. IC1 is a special integratedcircuit whose output voltage is proportional to temperature. The circuit feedsinto an Intel SDK-85 single board computer, which accepts only TTL (tran-sistor-transistor logic) level inputs. Op amp IC2 is used as a computer toconvert the output accordingly.

vsense O

ESET

m

RLYI- LATCHING RELAY 24V POTTERAND BRUMFIELD TYPE KBI7D

600V IN4004

-)l w-

II5VAC

n>~7h

-Jj' 10/iF' 350V

m

VDC OUT

-O PROPORTIONAL

TO VAC

AC TO DC CONVERTER TO MONITOR POWER FAILURE OR BROWN OUT CONDITION

Figure 2: Circuit which can be used to monitor any DC voltage between 0and 24 V. A latching relay is used to latch on when a voltage transient occurs.

March 19790BYTE Publications Inc 151

(»)

TO 12VA

1470

_L

T

.OOl/xF

|2K

-o

N.O.

TO ALARMINPUT

ICI

LMI830

FLUID DETECTOR

J!

^ 20ljLf

15V

/ft

.05/iF

IN9I4

■o

CONNECTION

#1

0

CONNECTION#2

W

^^x^^^q 7

0

fe

^^^^^^^

r

EZZZZZZZZZZZZZZ

EZZZZZZZZZZZZZZZ

^>SSSNsN>5^

EZZZZZZZZZZZZZZ

RLY

CLOSED CONTACTSINDICATE WATERPRESENCE

2N2222

WATER SENSOR(SEE FIGURE 3b)

^77

:t^j

Figure 3: Liquid level sen-sor circuit. Shown in (a) isthe circuit, which uses anLM 1830, a new integratedcircuit from National Semi-conductor, designed ex-pressly for liquid leveldetection. Physical detailsof the detector are shownin (b). The detector can becut from a sheet of copperor similar conductive met-al. Dimensions shown areapproximate.

Since the SDK-85 can respond only to TTLinputs, op amp IC2, configured as a compar-ator, changes logic levels when the output ofICI equals the setting of the temperaturetrigger pot. IC2 is powered by a 5 V powersupply so that the output is TTL compatible.If a multiple array of temperature trans-ducers is to be constructed, use an LM339quad comparator instead of four LM301storeduce wiring complexity. Another analogcircuit, shown in figure 2, can be used tomonitor any DC voltage between 0 and 24 V.It could be used to monitor the battery back-up supply to the computer or some otherimportant parameter. Since voltage fluctua-tions are often significant and desirable tocatch, the circuit uses a latching relay tokeep it in the set condition once triggered. Ifthat is not a desirable feature, then replaceRLY1 (relay 1) with a nonlatching type. Arelay should continue to be used, however,because it isolates the computer from themonitored voltage sources.

Discrete Input Sensors

Actually, all inputs to the computer arediscrete, and this need not be a separatecategory. The outputs from the sensors areprimarily contact closures for a reason I'llexplain later. Some of the important onesworth considering are liquid level or mois-ture, smoke and fire, and ultrasonic andinfrared interrupted beam motion detectors.

A liquid level sensor suitable for detectingbasement flooding so that a sump pump canbe turned on is illustrated in figures 3a and3b. This circuit uses a new integrated circuitfrom National Semiconductor specifically

115 VAC

V V

HONEYWELL TYPETC49A SMOKE DETECTOR

Figure 4: Commercialsmoke detector with addi-tional temperature sensorsand data acquisition out-put added. Additional sen-sors may be added inparallel.

BLK

TO COMPUTERNORMALLY CLOSEDALARM INPUT

00

YEL

+ » 35 VOLTS

®

NORMALLY CLOSED

10

n*

180°NORMALLY OPENTEMPERATURESENSOR

140"NORMALLY OPENTEMPERATURESENSOR

NORMALLY OPEN

(SHOWN IN ENERGIZEDSTATE)

RELAY 48VDC 2500 OHMSTYPE.- ALLIED CONTROLSTI54-C-COR EQUIVALENT

152

March 1979©BYTE Publications Inc

The

when software counts 485 Lexington Avenue 750 Third Avenue New York NY 10017 (212)687-5001 (212) PET-2001 Foreign order desk -Telex 640055

"PET"

only $795 USED

I Ql commodore

• UK ROM Operai.ng Sysiei

• 8K RAM Memory' 9" Video Monitor

• Built In Keyboard

• Digitally controlled tape

$549

Today'! bes1m penphei

m perianal' ■*lvyiyi..(.n...siocV

pule

along with the latestI the COMPUTER FACTORY

PERIPHERALSFOR PET

• 24K Memory Expansion ... $499

• 16K Memory Expansion .... 399

• PET to RS232 Serial 169

• 2 Way Serial/Communication295

• Modem Board for PET 375

• PET lo S100 (4-slot) 160

• Second Cassette Drive 95

• Parallel Printer Interface ... 199

• PET Music Box 39

CREDIT CARD

ORDERS OIMLY-

800-223-7318

NEW! PETs?«ESS

Compueolor.

$1,495 Complete!

16K Model add $200 .

32K Model add $500

COMPUCOLDR II Disk Bawd Model 3

e and software lecliniilogy

• 13 inch Colot Display

• Advanced Color Graphics•blKUnkButltln

• 1GK ROM Operating System

HASIC in.i! has a full lile man age men i capjInlily resident in Hit COMPUCOLDR II ill i"..

it row An i

The PET is now a truly sophisticatedBusiness System with the FloppyDisk and Printer which makes anideal cost efficient businesssystem for most professional andspecialized fields: medicine,law, research, engineering,education, etc.

PET 2001

16K$99532K$1195

IB—

PETPRINTERS2023 $849

2022 $995

(IncludesTractors)

--mlmgsmjMM

RADIO SHACK • PET • SORCERERAPPLE • COMPUCOLDR • ETC.

PRINTERS • PRINTERS • PRINTERS

Thj COMPUTER FACTORY'i extensive • CENTRONICS 779 $1046

inveniory and wide selection of computet ■ AXIOM [Parallel) S 395

prima mum you ol finding the printer • AXIOM (Serial) $ 495

beit luiied lor your neediand ipecifictitom. • EXPANOOR :T ■ - . S 42$

Tht following printer! work well with ill • INTEGRAL DATA S 795

knnwn person*! computers. ■ OUME or OIABLO S3400

CENTRONICS 700 (Business) $1595

pet to centronics printer interfaceSwitch selectable si 99

ANDERSONJACOBSON

• Bottom and Rear Tractor FeedS'/j" Paper Width

6504 Microprocessor Controlled112 cps Bi-directional4K ROM • y2K RAM

• Upper/Lower Case and Graphics' Dot Matrix

• 16 or 32K Bytes Dynamic RAM

• 14K ROM Operating System

• 9" CRT

• Upper/Lower Case andGraphics

• Full Sized Business Keyboard

• Full Screen Editing

• Operating system will supportmultiple Languages (BASIC

resident]

• Machine Language Monitor

• 8K ROM Expansion Sockets

ANDERSON I JAC0B50N

Ideal lot word processmq and 841 "° Terminalsmall businesses.

• ASC 11 Code

• 15cpsPriniout

• High Quality Select 1 ic Printing

• Use Keyboard for PET

• Reliable heavy duty Mechanism

• Completely Refurbished by A.J.

• Service in 15 Maiot CitiesSerial - ft"11'1

$1195 $1095

$1095

NEW!

FROM PET!

SINGLE DRIVEFLOPPY 2041

Intelligent mini floppy171.5K net user storage

$595

DUAL DRIVE FLOPPY DISK 2040

• 360 K Bytes Storage • 8K ROM Encoding and

• High Speed Data Transfer Decoding

• Plugs into IEEE Port . 4K RAM

• 6504 Microprocessor • Uses Single or Dual sided

• 8K ROM Operating System Diskettes

NEW FROM PET!

PET 8y2 ELECTROSTATICPRINTER 2021

• 80 column dot matrix

• Full PET graphics

• 8V? inch paper!

$549

The Computer of The Future is here Now!

BUSINESS COMPUTERS

DATA GENERALmicro NOVA

jllimate m small business computerswhen matched with COMPUTER FACTORY'S minicomputer. Soltware AccountsReceivable/Payable, Inventory Control/Otder Entry. General Ledger. Payroll Sys

"$13,500

available lor all your needs

PCS series include dual Hoppie:

1/0, DOS. BASIC

■ PCS-42 1400KB) S2995 •

(780KB) S3E95

VOP-42 series adds video termin

board, and V10 10 above.

VDP-42 S4795 • VOP-44

• VDP/B0 ■S6995

N.Y. residents add 8%sashipment on prepaid ant• Add $10 Shipping lor

."v '- ...i ..; boards. $.25 each cassette tape

Toll Free Number for Credit Card Order Desk

Western Digital's new 16-oit PascalComputer System is driven by aunique LSI innovation: the 16-bitPascal MICROENGINE'" designedfor direct high-level languageexecution gives you minicomputerperformance at microcomputerprices. Programs written in theblock-oriented Pascal language arecomplied into P-code and directlyexecuted.

• 64K bytes (32K words) of RAMMemory

• Two RS-232asynchronous/synchronous ports

• Two 8-bit parallel ports

" Floppy disk controller with directmemory access (DMA), switch

PASCAL MICROENGINE™

selectable tor:

— single or double density

— mini or standard (loppy (up to 4

drives)

— compatible with most standardfloppies

» Floating point hardware

■ • Self test microdiagnosticsi (CPU ana memory)i • Memory Mapped I/O

• Enclosed power supply

• Complete UCSD Pascal

I Operating System (Release 3.0)1

— Pascal compiler

— BASIC compiler

— File Manager

— Screen oriented editor

— Symbolic Pascal debugger• System Reference Manuals

INTRODUCTORY

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. S45.00

SPECIAL OFFER

$2695 reg. $2995

oiler expires April 15th

Send for FREE Illustrated SoftwareCatalog for PET/APPLE/TRS-80with hundreds of selections fromall over the world. 0pen Mon..Fri.M in. Credit Card Order $75 10-6 Sat. 10-4Only 800-223-7318

FREE

$35 of Software withpurchase of anycomputer on this page

SPECIAL SALEBuy any computer and

take 10% off priceof printer of your choice

TU** fVMlilDI ITCD CAPTHDV 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017I IK? ItAJIVIrU I Cn rf\\* I V^rlT (212)687-5001 (212)PET-2001 Foreign order desk - Telex 640055 ,

BYTE March 1979

(a)

RESISTORS: 1/2W, 5%

330K

-pL. 500/iFIOV

+ 3V

22fl

.47MF25V

^

-LX ) 2N22I9

/77

■ 100 il

ion

2N2905

/

INFRAREDLED

GE TYPELED 56

TTL OUTPUT

2222

m

Figure 5: Intrusion alarm infrared transmitter and detector. Shown in (a) is a low voltagepulsed LED (light emitting diode) transmitter; the light beam receiver with optional focusinglens is shown in (b). The lens extends the range of the unit from approximately 10 to 50 feet.Anyone or anything breaking the beam will alert the security system.

designed for this purpose. As configured, therelay contacts will close in the presence ofwater or condensing moisture. The circuit isextremely sensitive and can be used withpractically any conductive liquid.

Probably the most important sensors onthe security system are the ones that detectfire and smoke. A commercially availableionization type smoke detector, shown infigure 4, has been configured to interface tothe computer. The AC powered TC49A byHoneywell is ideally suited for this purpose,since it is designed for parallel attachment toother sensors. In this instance any number ofnormally open temperature sensors can beattached between the blue and yellow outputleads of the device. Should any of thesesensors or the smoke detector itself detectan alarm condition, the 35 V normallypresent on these wires will drop 2 V. Therelay which had previously been in an ener-gized state will open, signaling the event tothe computer. Protection must be providedduring power failures, however, so that thecomputer (which has an emergency supply)does not detect a false alarm. If the programwhich scans the smoke alarm also checks thepower failure sensor, positive results shouldbe obtained. In any case it is always a goodidea to have a battery powered smoke detec-tor also within the residence.

Note that the majority of sensor designspresented in this article can be used inde-pendently. The device normally activatedwhen the sensor signals an alarm condition

can be attached and directly controlledthrough another parallel setof relay contacts.An example would be the water detectorthat automatically turns on the sump pump.Requiring the computer to receive the signal,process the control record, and turn on anAC powered pump would be a waste of wire.The computer need know only that the highwater mark has been reached to notify theresidents on the display panel: it does nothave to control it as well. Before you stringa mile of wire through the house, considerwhat functions really need "computer"rather than "local" control.

The two remaining special input sensorsare related in purpose. Both are used to de-tect an object or person passing between twopoints, and both use interrupted beam sensingtechniques. One is an infrared light beamand the other is ultrasonic. The light beamcircuit is shown in figure 5 and the ultra-sonic circuits are illustrated in figure 6. Therange of the infrared unit is about 10 feetwithout a lens and as much as 50 feetwith proper ambient light shielding and afocusing lens. No focusing was tried on theultrasonic unit, but 25 feet was easilyachieved.

Testing and alignment of the ultrasonictransmitter can be tricky, while the infraredis simply a mechanical alignment considera-tion. First, the transmitter must be tuned toresonance. The nominal frequency of theultrasonic transducers can be 34 to 42 kHz;they should be bought in pairs. An oscillo-

154

March 1979 © BYTE Publicalions Inc

scope should be put across the transducer inthe transmitter circuit when power is applied.Coils T1 and T2 should then be adjusted toproduce the greatest amplitude across thetransducer. The usual value is about 30 Vpeak-to-peak and the frequency should bethe nominal FQ listed for the part.

Once the transmitter is tuned, place itabout 2 feet in front of the receiver. Adjust-ing the center frequency adjustment potshould cause the relay to pull in and theLED (light emitting diode) to light. Thetransmitter and receiver can now be placedacross a driveway or large room.

Wireless Inputs

So far we have only discussed inputsensors which are directly wired to the

connectors of the SDK-85 computer. If areed switch were attached to the garagedoor a wire must be run from it to thecomputer. In a larger house this can amountto a lot of wire and can extend systemconstruction time. One possible solution isto use a wireless transmitter and receiver be-tween the computer and remote pointswithin the house.

Homebrew wireless transmitters, whilecheap, suffer from a lack of reliability. Theyare not being considered for this applicationbecause there is a commercial unit availablewhich is both cost effective and reliable.The particular device is the Norelco HomePatrol wireless burglar alarm system avail-able in most discount stores for about $200.It consists of a receiver, four contact-closure-activated transmitters, and a smoke

Figure 6: Medium powerultrasonic transmitter (a)and receiver (b). As withthe infrared system infigure 5, interruption ofthe ultrasonic path willalert the security system.

ULTRASONICTRANSMITTER

Tl AND T2ADJUSTABLE 1-3 mH

/77

NOTE: THE ULTRASONIC TRANSDUCER USED INTHE TRANSMITTER AND RECEIVER MUSTHAVE IDENTICAL f0.

SWITCH CLOSURETO ALARM

ULTRASONICRECEIVER

))

March 19796BYTE Publications Inc 155

Photo I: Norelco wireless alarm system. The three components from left toright are: wireless smoke detector, wireless door sensor, and master receiver.

NORELCO HOME PATROLWIRELESSTRANSMITTER MODULE

REED SWITCHPROVIDED WITHTRANSMITTER

m MAGNET ATTACHEDTO DOOR OR WINDOW

♦ CONTACTS HELD OPENBY CLOSE PROXIMITY OFEXTERNAL MAGNET

ADDITIONAL REED SWITCHES* CAN BE ADDEDIN PARALLEL WITH SUPPLIED REED SWITCH TOCOVER ADDITIONAL DOORS AND WINDOWS

♦NORMALLY CLOSED

Figure 7: Norelco Home Patrol wirelessburglar alarm system with additional cir-cuitry to cover larger areas. The unit consistsof a receiver, four contact-closure-activatedtransmitters, and a smoke detector withbuilt-in transmitter. A commercial unit waschosen over homebrew transmitters forreasons of reliability.

P^^l

♦SENSOR #2

♦SENSOR #3

♦SENSOR #N-I

♦SENSOR #N

IC

Jt

detector with built-in transmitter. Photo 1shows the components of the system andfigure 7 details how each of these separatetransmitters can be expanded to cover awider area.

The Norelco receiver has four separateoutput channels designated as fire, intrusion,car, and miscellaneous. Transmitters aresupplied for intrusion and fire only — trans-mitters for the other two channels must bepurchased separately. Photo 2 shows one ofthese devices.

Photo 3 shows the output connections ofthe receiver and figure 8 illustrates the typeof interface which must be constructed toconvert the 0 and —15 V Norelco receiveroutputs to be TTL compatible. Only thencan the security system be aware of theseremote alarm inputs.

Security System Outputs

Once an alarm condition has been de-tected or the event processor activated, thesecurity system responds accordingly. What-ever the cause, the output will be a TTLchange of state which can be used to drive amechanical or solid-state relay. Typical out-put interfaces are warble alarms, highintensity flashers, and strobe lights. Theyare shown in figures 9, 10 and 11,respectively.

AC output control can be handled ineither of two ways: solid-state or mechanicalrelays. While solid-state relays are definitelythe more modern approach, it is very diffi-cult to find control panels incorporatingthem which are understandable to electriciansor which meet local electrical codes. Ratherthan fight the system it was easier to installa readily available relay control panel asshown in photo 4. The two cabinets on theright are relay cabinets, and the one on theleft is the regular breaker box. Each relayenclosure contains six relays. The left relayenclosure controls the six outside light cir-cuits and the righthand enclosure remotelycontrols six wall outlets around the house.The relays are DC input and can either becontrolled directly from the computer ormanually from scattered points around thehouse. Each of the 12 relay outputs requiresa separate cable to the outlet or light to becontrolled. This is not an inexpensive controlmethod, but it does meet the code and is aconvenience once installed.

Two other details left to be consideredare the emergency power supply to the com-

Photo 2: Single wireless transmitter with oneread switch attached to it. Multiple reedswitches can be attached in parallel to covera wider area, as described in the text.

156 March 1979 © BYTE Publications Inc

SMOKE/INTRUSfON alarm RECEIVER

MDBPi HO Ht>0«3«

[»'/* I0 0528__]NOWrM AMERICAN PHILIPS CORPORAl'lON "

consume!) phooucts uivisions

lOOEAST 4;'n(t STREETNEW YOHK NY IDIJ17

' <«U •'

Photo 3: Output connections of the Norelco receiver. Using the circuit described in figure 8,the outputs of the Norelco receiver can be easily interfaced to the computer. There are fourdistinct output channels of the Norelco unit. As purchased in its basic form It comes withtransmitters for fire and intrusion only.

H>-

C^

NORELCOHOMEPATROL™RECEIVER

MISCELLANEOUS

INTRUSION

COMMON

'CIRCUIT DETAILED BELOW

5V

■<i

0 TO - 15V

IN

o

-r~"> MISCELLANEOUS

-O CAR

-d> INTRUSION

-O FIRE

-d> GND

0> OUT

TTL SIGNAL\ LEVELS TO' SDK-85

INPUT

Figure 8: Details of theNorelco Home Patrol re-ceiver showing how it isconnected to the centralcomputer.

March 1979 ©BYTE Publications Inc 157

Figure 9: CMOS warblealarm.

Ro

3.3M-VA.—

'-H—V3 '^H—V

2 ICIa jy^—II 6 1CI b t>

O.ltcF

Ha-WARBLE RATE

Rb-TONE

Re-RATIO OF HIGH TO LOW

POWER WIRING TABLE

CD40II

INPUT OPTIONS

Rb470K

+ V

■ IOOK

• PIN 13

NORMALLYCLOSED

♦ W\—I

"—I TV to

9 ICIc b-^ <l

O.OOIciF

•-OPINI3 13

A LLUbtU >

,3 ICId jp^

NORMALLYA, OPEN

3K °r

-OR

L

IC NUMBER

TYPE

»5k-PIN

6NDPIN

ICI

CD40II

14

7

+ 5 TO 12V (+V)

2N2907

2N5494

OR

2N3055

Figure 10: 115 VAC in-candescent lamp flasher.

I50-300WFLOOD LAMP

TTL CONTROLOUTPUT FROMSDK-85

I20VAC

LINEAR POTFLASH RATE ADJ.

Figure 11: 115 VACXenon strobe light. Partsfor this circuit are avail-able from Chaney Elec-tronics, 2010 W Dart-mouth Unit # 8, Engle-wood CO 80110.

II5VAC

40MFIK 250V

-Sir

158 March 1979 © BYTE Publications Inc

We Start With A PriceThat's Hard to Beat.

And We Don't Stop There.

Central Data Corporation has combined the benefitsof new technology and high-volume company salesto bring you a RAM board with more features andproduct options for less money.

Lower Prices

More Memory Capability

To begin with, we've reduced the price of our 16KRAM board by $40 to $249. At $425-a pricereduction of $50—our 32K board costs less, too.Plus, we now offer a full 48K memory board for$599. These boards are expandable to 64K at aprice of $185 per 16K package. Or you can startright out with a full 64K board for $775.

Improved Boara Design

We've also added improvements to the board designat no extra cost to you.

• Deselectable in 2K increments. Our deselectfeature enables you to switch off any 2K to avoidoverlap with your existing memory.

• Fully socketed memory. This feature enablesyou to expand the memory board yourself.

• Plug selectable addressing. Now you canre-address without soldering.

Other Standard Features

• S-100 and Z-80 compatible

• Fully assembled, tested, and burned-in

• Power-saving dynamic board with on-boardinvisible refresh

• One-year guarantee on parts and labor

Specifications

Storage capacityAddressingMax. input loadOutput bufferingAccess timeCycle time

Wait states generatedMaximum DMA rate

Circle 45 on inquiry card.

16K. 32K, 48K, or 64K16K boundariesOne LS TTL loadOn all data lines

450ns480nsNone1 Mhz

Power Consumption (typ)

+16 150ma

+ 8 300ma

-16 20ma

'WA&^rj^

Other Products From Central Data

Central Data also offers, fully-assembled and inkits, a range of other computer productsincluding (pictured above) our 2650 micro-processor, software packages, television monitor,ASCII keyboard, and (not pictured) floppy disksystem, to name just a few.

Contact Your Local Dealer

To order our RAM board and for moreinformation, contact your local computer dealer.If unavailable locally, the board and other CentralData products can be ordered directly from us.And, as always, we welcome any questions thatyou have about our products

Central Data Corporation

P.O. Box 2530, Station A

1207 N. HaganChamapign, Illinois 61820

(217) 359-8010

BYTE March 1979

159

Figure 12; Bedside annun-ciator panel used to dis-play the status of thehome security system.

puter and the display panel located in thebedroom.

The Alarm Status Display Panel

The purpose of the alarm status displaypanel is to provide the resident with agraphic representation of the status of thesecurity system. Figure 12 is a sketch of asimple annunciator (the picture was omittedbecause the control panel I finally builtbears no resemblance to the purpose we arediscussing, and might be confusing since itcontains numerous additions to the basicconcept).

The circuit (see figure 13) is simply aBCD (binary coded decimal) to decimaldecoder driver which is multiplexed by a3 bit output from the SDK-85. The computersequentially sends out the codes for theparticular lights to be lit. This is done re-peatedly and with sufficient speed so thatthey appear constant. If the annunciatorpanel is more than 50 feet from the com-puter, the user may want to consider theaddition of the line drivers also described.

Emergency Power Supply

Should power ever be lost in the resi-dence, it is important to maintain thesecurity system in an active mode. To dothis a 12 V automobile battery is used to

power the computer all the time. TheSDK-85 5 V power is derived from the 12 Vthrough a regulator. The EROM (erasableread only memory) can be either a single+5 V unit such as a 2716; or, if using a 2708,the —12 V can be derived using one of thecircuits outlined in my article "No Powerfor Your Interfaces? Build a 5 W DC toDC Converter" (October 1978 BYTE, page22). The requirements of such a power sup-ply are maintenance of the 12 V on thebattery, recharging the battery as it needsit, and also providing standby power tocritical sensors and alarms.

Tracing an Activated Alarm Condition:An Example

Part 2 of this series (February 1979BYTE, page 162) emphasized the soft-ware of our computerized home securitysystem. To adequately complete the descrip-tion of this design, it is necessary to includean example which illustrates the use of tabledriven software. Included is a listing of thedigital scan module and various responsemodules which should aid in understanding.

Suppose one of the functions of the sys-tem is to respond to a smoke and fire detec-tor. First, assume that the sensor in questionis wired into the least significant bit (bit 0)

160

March 1979©BYTE Publications Inc

on port 0. Response to this sensor is on areset-to-set (0 to 1) transition, and that ona set-to-reset (1 to 0) transition no action isto be taken. As detailed in part 2 of thisseries, the initial state change is detected byDIGSCN (the digital scan module) whichuses the information contained in XFVE(the sensor state transfer table) to initiatethe processing of a digital event. If you re-call, the sensor state transfer table is com-prised of four byte records, with one recordbeing required for each digital input:

Sensor State Transfer Record

Bytes 0 and 1: event record address for reset-to-set transition plus active/inactiveflag (bit 7);

Bytes 2 and 3: event record address for set-to-reset transition plus active/inactiveflag (bit 7).

The smoke and fire detector connected tobit 0 input uses the first record in the sensorstate transfer table to initiate the requiredresponses. Since no action is required fora set-to-reset transition, bytes 0 and 1 are setequal to hexadecimal FF. This makes such atransition inactive (active/inactive flag = 1).We do, however, want to process a smokeand fire alarm. Therefore, bytes 2 and 3

must contain the address of the event recordassociated with the alarm. For this examplelet us assume that the address of the eventrecord used to process this alarm is at hexa-decimal 4214 (therefore byte 2 of the trans-fer record will equal hexadecimal 14 withbyte 3 being equal to 42):

Sensor State Transfer Record forSmoke and Fire Alarm

Byte0 = FF;Byte 1 = FF;Byte 2 = 14;Byte 3 =42.

To summarize, the digital scan moduledetects the transition of the smoke and firesensor from a reset to a set state. Using theinformation contained in the sensor statetransfer table, the system processes the eventby first extracting the address of the eventrecord associated with this alarm and thenactivating EVPRO (the event processormodule).

EVRREC (the event record), which isused by the event record processor, con-tains the indices to the various responserecords associated with this alarm. As youmay recall, one of the features of this systemis its ability to associate several responses to

Figure 13: Driving cir-cuitry for the annunciatorpanel (see figure 12). ABCD (binary coded deci-mal) code from the com-puter is converted to deci-mal by IC7445 to drivethe LEDs on the panel,which are driven sequen-tially with sufficient speedso they appear to be litconstantly. An optionalRS-232 interface for driv-ing the circuit at somedistance from the com-puter plus a 5 V powersupply are also shown.

INI200 OR| A SWI T| EQUIVALENT

G> <n^ <^" 5 c H—f

II5VAC

I2.6V ^lOOO^F -L

25V

LM309

RS232 INTERFACE FOR EXCEPTIONALDISTANCE BETWEEN COMPUTER AND DISPLAYREQUIRES ADDITIONAL ±I2V POWER SUPPLIES

O

o-

o

I/4 DSI488

o

I/4 DSI488

o

OPTIONAL

LINE DRIVER /RECEIVER

I/4 DSI488

o

SIGNAL 6ND

£

I/4DSI489

I/4 DSI489

3f

I/4 DSI489

&>-*>%

470il TYPICAL OF 8

March 1979 © BYTE Publications Inc 161

Photo 4: Electrician Vince Sadosky installing "Touch Plate" control sys-tem. Each enclosure (of the two on the right) contains six 15 A latchingre/ays. The relay is a pulse on/pulse off type in which the control pulse cancome from either a manual pushbotton panel in the kitchen or from the com-puter.

a single event. The event record is the mech-anism which accomplishes this as follows:

Event Record Format

with

Byte

0:

numberrecord;

of

responses

associated

Byte

1:

relative

index

of response

record i;

Byte

2:

relative

index of response

record j;

Byte n: relative index of response record z.

Initially the response might be to activatethe autodialer notifying the police and firedepartments of the predicament. But beforedoing that, let us take a few seconds tocheck for a false alarm and, if possible,verify the situation. This can be accom-plished with the following responses to thealarm. First we do want to initiate the auto-dialer. So, our first response will be the ini-tiation of a 60 second delay of the auto-dialer. Next, since we may be in the bed-room and unable to hear the alarm itself,we will initiate an audible alarm — and, sothat we can tell the location of the alarm, wewill display the location of the alarm on theannunciator panel.

These functions will require an eventrecord containing the indices of the follow-ing responses:

• Delay timer activation for the 60second delay.

• Application task response for drivingthe annunciator.

• Digital output response for activatingthe audible alarm.

In this example it is assumed that theresponse indices are 0, 1, and 2, respectively.The event record for this event will thereforebe four bytes in length as follows:

I20VAC

*5il20W

(jj)GE#"

HEAT SINKSK30I6I4)

SK AND KD PARTS ARE AVAILABLE FROM RCASTOCKING DISTRIBUTORS

* RECOMMENDED SERIES RESISTOR LIMITS MAXIMUMCHARGING CURRENT

Tl IS A STANCOR RT-206 OR EQUIVALENT

KD2IOO

r HEAT SINK

M«-

IN4002 tJ_50MF if-35V

; o

oooo

LEAD ACID 12 VOLTCAR BATTERY

Figure 14: Automatic charger circuit for the 12 VDC carbattery computer backup power supply.

SK3004 < 150I/2W

o

33n

I/2W

€)

SK3020

| I.BK

470I/2W

NEGATIVE

r

IOK POT2W

TURN OFFADJ.

-L^ +

12V TO SKD-85 POWERSUPPLY REGULATOR INPUT

162 March 1979 ©BYTE Publications Inc

nQ©WK)¥iF3

Please Sir—Could you tell me where I canFind Software for my Microcomputer?

BUSINESS

AND

APPLICATIONSOFTWARE

AVAILABLE

CALL OR WRITEFOR DETAILS

FOR YOUR

THS-80 - PET ■ APPLE

*— i

GALACTIC BLOCKADE RUNNER—an exciling, different and sophisticated space war game withinteresting graphic displays. Plays better than 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, allwith graphics. 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

"

DIET PLANNING PACKAGE—use your computer to help plan a safe, reliable diet—calculates whatyour weight should be, your daily calorie allowance—helps plan your menu. Tl/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 dcstructable 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

APPI.ELISTENER—speech recognition for your APPLE computer. A nice companion program to theone above. Just think of the possibilities! $19.95

MICROCHESS—play chess with your computer. Uses graphic display and provides various levels ofdifficulty. Tl/4 T2/4 P A $19.95

BRIDGE CHALLENGER—why wait to get 3 other people together to play? Your computer's readyanytime. T2/I6 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/16 $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!

mt caatf'irQB eeptfcoaaa ■

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

(617) 682-8131

FOR WHOLESALE PRICE INFORMATION

Circle 203 on inquiry card.

BYTE March 1979

163

Listing i: Selected 8080/8085 subroutines for the home security system.

Event Record for Smoke and Fire Alarm

ZERO

EQlI

U

ONE

FTOU

1

Pi

CQU

0

VO«T 1

P2

EQU

1

*HORT ?

P3

EQU

p

•PORT 3

e THE FOLLOWING

AWI--HS ARE TO Rt- LOCATF

TEMPI

OR

0

TEMP?

nn

0

TEMP3

r)«

0

PUKT1

OR

0

• CURRENT

PORT2

DH

u

- CURRENT

PORT3

OP

0

* Current

PR0T1H

OB

0

» RkEi/IOU

PORT2H

DP

0

* PRFVIOU

P0RT3H

OH

r

* PREv/IOU

OPORT

OS

3

• OUT PUT

DIGIND

OR

C

•JIGITAL

XFVE

OS

srm

•SENSOR S

FVkREC

OS

3'jno

•nVENT RE

TODREC

OS

10r)O

«T I-ie OF

TIMREC

OS

lbno

•UFLAr TI

RESREC

OS

IBM

•KESPuNSF

DlGREC

DS

3(S,1

•DIGITAL

INPUT DATA FOR PORT 1

1NRUT DATA FOR PORT ?

INPUT DATA FOR °0RT 3S INPUT STATE FOR PORT 1S INPUT STATE FOR PORT ?S INPUT STATE FOR PORT 3

°ORT STATUSINPUT RIT PROCESSING INOtXTATE TRANSFER TABLECORD fILFDAY RECORD FILEMER RECORD FILE

RECORD FILEOUTPUT RECORD FILE

«THE FOLLOWING "O.lllLtS =>f» REQUIRED FnR RRO^FSSIMG» A DIGITA rvENT. THESE

PRESENT TnE MODULESTHE OCCURRANCF OFMODULES dUULO RFSIDE IM RROM

THE DIGITAL SCAN MUuULE JEatis THc DIGITAL

INPUTS. COMPARES THE CURPENT STATE WITH THE PREVIOUS

STATE AND IF DIFffPENT INITALIZtb THE PROCESSING

OF THE STATE CHANGE. UPON CUMPLtTUON OF THE OIUITAL

INPUT PROPOSING THE HISTORY STATE

OF THE DIGITAL I^RUTS IS UROATtU AND THF

NEXT SCAN IMITIATFU

•INPUT PORT 1

»INPur PORT a

•INPUT PORT 3

•RESET DIGITAL PROCESSING INDEX

•uEI PROCESSING INDEX

•INDEX .GT.1

•JUMP IF INDEXrt>-7

•INUFX.LT.\b

•UUMP IF INDEX rOri-15

•HL=PURT3 DATA ADDRESS

•UE=PJPT3 HISTORY ADDRESS

•uO COMPARE dIT

•IF A = 0 NO CHANGE

•IF A=U /R 2 GO PROCESS STATE CHANGE

•1NCREMEKT PROCESS INDEX

"■ALL INPUTS PROCESSED

•JUMP IF NOT

• GU RESTART SCAN

IGSCN IN

R|

STA

PORT1

IN

Pr*

STA

PORT''

IN

P3

STA

P0RT3

MVI

A.-i

STA

.on [No

ISOLATE BIT

FROM HlSTO

IGIl LDA

0IG1 <D

CPI

MD

JC

0114

C°T

160

uc

01,51

PROCESS Tht

rd pop r

LXI

H.oriRT 3

LXI

QiPf)KT3H

IG2 CALL

COMRIT

CPI

0

JN2

OIGPKO

IG22 LDA

DIiJINO

CPI

2Sr

JNZ

01G11

JMP

Dlr-SCN

PROCESS SFr

OND PORT

IG3 LXI

H.rqRT?

LXI

0.POKT2H

JMP

Din?

process first port

IG4 LXI

H.PORTl

LXI

O.POKTIH

JMP

0162

•HLrPURT 2 DATA ADDRESS•DE5PURT 2 HISTROY ADDRESS

•HL=PURT 1 DATA ADDRESS•UEEPURT1 HISTORY ADDRESS

• IF Ai 1 PRnCESS A SET STATE

» IF AE2 PROCESS A RESET STATE

• OIGIND CONTAINS THE RELATIVE INDEX INTO

• THE SENSOR STATE TRANSFER VECTOR TARLE

ftDIGPRO

STA

TEMPI

LXI

H.XFVE

•HLi8ASF.

LDA

Dlr-IND

OCR

A

PLC

•uIGIND**

HexadecimalAddress

4214 = 3 }

4215 = 0 •

4216 = 1

4217 = 2

number of responses;

response record indices forevent.

The event processor will .process theentries in the event record sequentially, ex-tracting the response record index andactivating RESPRO (the response recordprocessor). Using this index the responseprocessor will obtain RESREC (the indi-cated record from the response file) anddirect the activation of the appropriatesubprocessors, which contain the followinginformation:

, 0 = digital output;

1 = applicationmodule;

2 = delay activation;

3 = delay deactivation;

4 = time-of-day acti-vation;

5 = time-of-day deacti-vation.

Bytes 1 and 2 = module address of record index.

For our example the records will be asfollows:

Response File

Byte 0 = response type

Record 0

Record 1

Record 2

Byte 0 = 2Byte 1 = 0 1Byte 2 = 1/Byte 3 = 1Byte 4 = OF )Byte 5 = 2C JByte 6 = 0Byte 7 = 0)Byte 8 = 0/

second delaytimer record;

address of annunciatorapplication module;

first digital outputrecord.

The first record processed causes DE-LINT (the delay module) to activate thesecond record in TIMREC (the delay timerfile). These records contain the delay time(in seconds) and address of the event recordto be activated when the directed delay hastimed out:

Delay Time Record

Bytes 0 and 1: active flag plus remaining time;Bytes 2 and 3: number of seconds to delay;Bytes 4 and 5: address of event record.

In our example this record (prior to acti-vation) will appear as follows:

Bytes 0 and 1: 80, 0 = record inactive;Bytes 2 and 3: 0, 3C = 60 second delay;Bytes 4 and 5: 18, 42 = event record at hexa-decimal 4218.

After the delay has been initiated, theevent processor will notify the responseprocessor to initiate the second response.

164

March 1979 © BYTE Publications Inc

Listing 1, continued:

DIGPl

PLC

MOV

C, t

MVI

B,7£RO

DAD

-iLtBC

IDA

TE»°1

CPI

2

J 7

Olr-Pl

I NX

H

I NX

H

LDAX

DE

CPI

80h

JMC

Dlr,?^

LDAX

OE

MOV

L.A

INX

HE

LDAX

DE

MOV

H.A

CALL

EVPRO

JMP

OIr,?i

•JUMP IF SET TO RESFT

•UEETRANSFER VECTOR*I5 HIGH ORDER BIT SET•JUMP IF RECORD INACTIVE

•hrOCESS EVENT RECORD

COMBIT ISOLATES ANLl COMIN THE CLJT5ENT AND HISTSTATE TABLFS

HL=CURRENT DATA ADDRESSDErHISTORY DATA ADukESS

PARES THE DATUM BITORICAl DIGITAL INPUT

COMBIT LDAX

D

•AEHISTORY DATA

CMP

M

"COMPARE HISTORY TO CURRENT

JZ

COMS

*JUMP IF CU9RENTEHIST0RY

• NO

COMPARE

ISOLATE- BIT

MVI

A.l

•SET MASKE1

JMP

CO-1?

COM1

CPI

0

•SHIGf COUNTiO

J 7

COM4

"JUMP IF SHIFT COUNTED

PLC

A

•SHlhT MASK BIT

COM2

STA

TE'-iD^f

"3A»E MASK

» GET

CU^°ES«

ST-ATr SJ-T

MOV

a,u

•oECURPENT DATA

AM A

R

•AECUKRENT STATUS BIT

STA

TEMP3

•TEMP-SECURRENT BIT STATUS

XfHfi

MOV

H,M

LDA

TEm°2

ANA

B

MOV

B,/>

•BEHISTORY BIT

LDA

TEmp 3

•AECURRFNT BIT

CMP

B

•COMPARE BITS

JZ

COw«,

•RFTURN IF EQUAL

• CURRENT .NF

HISTORY

• UPDATE HISTORY STATE

CPI

0

•IS BIT RESET

JNZ

COM3

•JUMP IF BIT SET

• RESET HISTRDY STATt

LDA

TE"D2

•uET MASK

CMA

•COMPLIMENT MASK

XCHG

ANA

M

MOV

M. A

•STORE HISTORY

INR

A

STA

DI^-IND

MVI

At?

o

PET

» SET

HISTORY

STATF

COM3

LDA

TEMP2

•uET MASK

ORA

M

•AENEW HISTROY

MOV

M,A

•STROE. NEW HISTORY

LDA

DIGIND

INR

A

STA

DIGIND

MVI

A,l

RET

*

C0M5

LDA

DIGIND

ADD

«D

STA

DIGIND

COM4

MVIRET

A.O

•AEO

COM6

XCHG

LDA

DI3IND

INR

A

STA

DIGIND

The

Rothenberg

INTEGRATED

FINANCIAL

SYSTEM

underCP/M*

• GENERAL LEDGER

• ACCOUNTS RECEIVABLE

• ACCOUNTS PAYABLE

• PAYROLL

• INVENTORY CONTROL

Easy to use, self-guided.You don't have to be a CPA!

Price: $500 eachComplete manuals: $8 eachImmediate DeliveryRequires only 32K system

Requires CBASIC**

Prepaid or COD only

Send CP/M serial # with each order

Also available:

Complete Legal Billing System

Only $1995. Manual $12.

Rothenberg

INFORMATION SYSTEMS, INC. ■■#

260 Sheridan AvenuePalo Alto, CA 94306

(415) 324-8850

*CP/M is a trademark of Digital Research"Add $100 if CBASIC is also needed

Circle 329 on inquiry card.

March 1979 ©BYTE Publications Inc

165

Listing 7, continued:

LOA

JMP

TEMPi:COMi"

THE EVENT pECORD PROCESSOR OBTAINS THE INDEXOF THE RESPONSE RECORD FROM THE EVENT RECORDCALCULATES ITS ADDRESS

AND CALLS THE RESPONSE RECORD PRUCESSOREVENT RECORD ADDRESS IS IN h/l

EVPRO

EVPR1

EVPR2

MVI

A .ONE

PUSH

AF

PUSH

HL

INX

HL

PUSH

HL

MOV

A.M

CALL

°EspRO

POP

HL

POP

OE

POP

OSW

INK

A

XCHG

MOV

B»M

XCHG

PUSH

OE

CMP

a

JZ

EVPRf!

POP

HL

RET

POP

DE

IMR

A

PUSH

Pr,'l

PUSH

DE

JP

^VPRl

«SET INITIAL INCEX'oAVE INDEX

INCREMENT RECORD ADDRESS•»bAVE RECORD ADDRESS'AEKELATIVE RESPONSE RECO'CALL EESPONSE RFCORD PRO*6ET EVENT RECORD ADDRESS*GEf INITIAL RECORD ADDRE'AEGET INDEX'INCREMENT INDEX*HL=INITIAL ADDRESS*ts=NUMBER OF RECORDS TO PROCESS

RD INDEXCESSOR

:ss

'SAVE INITIAL RECORD ADORE

*-lAVE ALL RESPONSE RECORDS

'JUMP IF MORE TO PROCESS

'rfFMOVE BASE ADDRESS UF RECORD FROM STACK

RESS

3S BEEN PROCESSFD

'GO PROCESS NEXT ENTRY IN RECORD

THE RESPONSE RECORD PROCESSOR OBTAINS THE

RESPONSE TYPE FRnw THE RFCORl, Ai\IU TRANSFERS CONTROL

TO THE APPROPRIATE RESPONSE MODULE

» ON ENTRY A = P*

iPONSE RECORD

I.mOEX

RESPRO

MOV

L.A

MVI

M,7ER0

'HLERESPONSE INDEX

UOV

B. H

MOV

r,i

DAD

DE

DAD

CE

DAD

Ut

'HLERESPONSE INDEX«3

XCHG

LXI

HL.RESREC

DAD

DE

»nLrR;iSPONSE KtCORD ADDRESS

MOV 5.M

'AE^ESPONSE TYPE

ADD

A

I MX

HL

'HLEAJDRESS Or- NEXT DATA ITEM IN

RECORD

XCHG

'UEEAuDPFSS OF NEXT DATA ITEM IN

RECORD

MOV

C,A

MVI

B»7r;Ru

LXI

HL.RESTAB

DAD

9C

'■ILETABLE ADDRESS

MOV

C,hi_

TMX

MQV

R,m_

'BCEAUDRESS OF RESPONSE MODULE

PUSH

BC

XCHG

INX

HL

MOV

F.M

RFT

*l>0 TO RESPONCE SUBPROCESSOR

RESTAq

nw

DW

DW

Olr-OUTAPPL

OEl_ INTDllDAC

todact

TODDAC

» THE DIGITAL OUTPUT SUBPROCESSOR EXTRACTS* THE POPT/MASK/ANO DIRECTIVE INFORMATION FROM' THE INDICATED REni-.D AND OUTPUTS THE NEW VALUE« OE CONTAIN^ THE RECORD INDEX

DIOOUT

LXI

HL,

DIGREC

»SET DIGITAL OUTPUT RECORD A

DAD

DE

DAD

OE

DAD

DE

'nLEOUTPUT RECORD ADDRESS

PUSH

HL

'SAVE OUTPUT RECORD ADDRESS

MOV

A.M

*AEPORT

OCR

A

MOV

C.S

MVI

B.7FH0

LXI

HL.

OPORT

'HLEOUTPUT PORT BASE ADDRESS

DAD

BC

'HLEAUDRESS OF PORT DATA

MOV

A ,M

*AEOUTPUT PORT CURRENT STATE

POP

HL

IMX

HL

'HLEMASK ADDRESS

This time it determines that the responserequired from record 1 is to call the appli-cation module located at hexadecimaladdress 2C0F. This information is trans-mitted to APPL (the application taskinitiator subprocessor) by the responseprocessor, which transfers control. In out-particular example this application modulewill cause the display panel to flash the lo-cation of the sensor giving the alarm. Uponcompletion of this function the applicationmodule returns control to the event recordprocessor.

Next, the event record processor trans-fers the index of response record 2 to theresponse processor. Recognizing that adigital output is to be initiated, the proces-sor extracts the index of DIRREC (thedigital output record), 0 in this example,and initiates DIGOUT (the digital outputsubprocessor).

The function of this subprocessor is toactivate the audible alarm. A 3 byte recordis used to effect the actual output:

Digital Output Record

Byte 0 = output port;Byte 1 = bit isolation mask;

0 for reset (off);

1 for set (on).

Byte 2 =

In our case let's assume that the audiblealarm has been connected to bit 5 on outputport 3 and must be set to a logic 1 to soundthe alarm. This requires a digital outputrecord as follows:

Audible Alarm Output Record

Byte 0 = 3;Byte 1 = 20;Byte 2= 1.

Using this information bit 5 on outputport 3 is set and the alarm horn is turned on.Processing this final response causes theevent processor to return to the digital scanmodule, which will continue monitoring thestate of all the digital inputs.

The intent of this example is to showhow the system works when attached tothe real world. While this example does notcover all the functions one might associatewith a smoke or fire alarm, it does serve toillustrate how the various tables are struc-tured. What you can do with such a systemis limited only by your imagination. Asstated earlier in this series, the system canbe structured to perform many of the dis-crete tasks associated with the control andmonitoring of the home or office, as well asprotecting your property against intruders.So let your imagination take command andhave fun. Next month: musical toys."

166

March 1979 © BYTE Publication! Inc

Circle 382 on inquiry card.

Listing 1, continued:

DIGOUl

DK30U2

DIGSFT

APPL

ANA

M

PUSH

PSW

•sAVE MASKED STATE

INX

HL

MOV

A.M

•liET SET/RESET DIRECTIVE

OCX

HL

CPI

ONF

JZ

DIcStT

•GO TO SET FUNCTION

POP

°,Z

»H=NE* OUTPUT STATE

OCX

HL

•HLfPORT ADDRESS

MOV

At«

*A=OUTPUT PORT

5TA

DIr,OUT?*l

•SAVE PORT NUMBER IN OUTPUT INSTRUCTION

MOV

A.R

AzOUPUT DATA

OUT

THPEt

MOV

C«M

•CERORT

MOV

n.7FR0

LXI

HL.OPORT

DAD

8C

MOV

M,A

•SAVE NEW STATE IN MEMORY

PET

MOV

A.M

•AEMASK

CMA

POP

BC

•CSMASKED VALUE

OPA

B

•AENE* OUTPUT STATE

MOV

P.A

JP

DIr,0UTl

S TO

APPLICATION TASK

TAK";

MODULF address

PUSH

DE

•SAVE ADDRESS ON STACK

RET

•EXIT TO APPLICATION MODULE

» DELINT ACTIVATES THE DELAY RtCORu WHOSE

o RECORD INDFX

IS IN DE

DELINT

L-I

HL.DtL.KEC

•bET BASE ADDRESS

DAD

DE

DAD

DE

DAD

DE

DAD

DE

DAD

DE

DAD

DE

•HLEDELAY RECORD ADDRESS

MOV

A.M

•GET ACTIVE FLAG

AN!

BOH

•IS ACTIVE FLAG RESFT .ACT

R7

•RETURN IF RECORD IS ACTIV

INX

HL

INX

HL

•HLETIMER ACTIVATION VALUE

MOV

A.M

•AETIMFR VALUE

DCX

HL

OCX

HL

MOV

M, a

•SET VALUE IN RECORD

RET

»

o DELDAC DEACTIVATES THE DELAY RECORD

* WHOSE

INDFX I

5 N DE

DELDAC

LXI

HL.DtLRES

•SET bASE ADDRESS

DAD

DE

DAD

DE

DAD

DE

DAD

DE

DAD

DE

DAD

DE

MVI

A,7FK0

MOV

M, A

•RESET ACTIVE FLAG

RET

a

» TODACT ACTTVATFS THE TOD

RFCORu

» WHOSF

PECOnD

INOfc'X IS IN

DE

TODACT

LXI

HL.TOURFC

•SET oASF ADDRESS

DAD

DE

DAD

DF

DAD

DE

DAD

DE

DAD

Dc

"VI

A . 7FH

•ACTIVATION MASK

ANA

M

•SET RECORD ACTIVE

MOV

it. \

PFT

TODDAC

LXI

hl.tDDRFC

•SET HASE ADDRESS

DAD

np

DAD

OF

DAL)

DE

DAD

DE

V.VI

A.&OH

•DEACTIVATION MASK

ORA

m

•bET RECORD INACTIVE

uOV

W i A

OFT

$799.00

All the Features of theHazeltine 1400 & LSI ADM-3APlus

Upper/Lower Case7x 10 Char. MatrixWhite or Black Char.Transparent Mode

Tab FunctionBackspace KeyShiftlockKeyPrint Key

Integrated NumericPad

if)4 I .Ol per month

Lease-Purchase

$1095.00

TELETYPEMODEL 43KSR

1 s\

with RS232

10 or 30 CHAR/SEC

132 COLUMNS

UPPER/LOWER CASE

USR-310

Originate

Acoustic

$149.00 Coupler

0-300 Baud Stand Alone

Crystal Controlled RS232

USR-330OriginateAuto-Answer$324.00 Modem

FCC Certified for Direct Connectionto Phone LinesUSR-320 Auto-Answer

Only 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. RDBDTICS, INC.

1035 W. LAKE ST.

CHICAGO, ILL. 6D607

Sales (312)733-0497

General Offices (312) 733-0498Service (312)733-0499

March 1979©BYTE Publications Inc

167

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.

»■■ 'i-' """ M,,M

,„„ 1^1 ■■■>» mm

tutu •!' 'I' mm

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

■ in mm #Hi mm

mi tnttt f ^| tunc

cmnnHR n

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 forBRIDGE 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 are

known. No longer do you need 4 people to play! $14.95

NEW! TIME TREK by Brad Templeton for 8K PETs is PersonalSoftware's answer to the proliferation of Star Trek type games.This is a real time action battle game which requires fast thinkingas well as sharp wits. There are no 'turns' in Time Trek: yourscanners and ship's status report are constantly updated on thescreen, and you can enter commands as fast as you can press thekeys. You use your shields, phasersand photon torpedoes againstenemy Klingons in a game where you can move, steer and fire atthe same time. Star Trek aficionado or not, you'll appreciate the

excitement and excellence of this real time game $14.95

WHERE TO GET IT: Look for the Personal Software" display rackat your local computer store. Over 240 dealers now carry thePersonal Software™ 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 havequestions, please call us at (617) 783-0694. If you know what youwant and have your VISA/MC card ready, you can use any phone 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-B3, Cambridge, MA 02138

4K TRS-80s, in Z-80 machine language, offers 3 levels of play (botnLevel I and Level II versions are included and can be loaded on anyTRS-80 without TBUG). MICROCHESS checks every move forlegality and displays the cu rrent 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

168

BYTE March 1979

Circle 302 on inquiry card.

Look for Personal Software1" products at the dealer nearest you!

ALABAMA

COMPUTERLANDHuntsville. AL 35805THE LOGIC STOREOpelika. AL 36801

ALASKA

ALPHA ELECTRONICSAnchorage. AK 99503

ARIZONA

COMPUTERLAND OF PHOENIXPhoenix, AZ 85016COMPUTER SHOWROOMTucson. AZ 85710

ARKANSAS

DATACOPE

Little Rock. AR 72204

CALIFORNIA

JAY-KEN ELECTRONICS

Bakerslield, CA 93305

BYTE SHOP

Burbank. CA 91506

BYTE SHOP OF SACRAMENTO

Citrus Heights, CA 95610

COAST COMPUTER CENTRE

Costa Mesa, CA 92627

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 L.A.

Inglewood. CA 90302

COMPUTERLAND OF SOUTH BAY

Lawndale, CA 90260

A-VIDD ELECTRONICS

Long Beach, CA 90815

COMPUTERLAND

Los Alios. CA 94022

HOBBY WORLD ELECTRONICS

Northridge, CA 91324

COMPUTERS-MADE-EASY

Palmdale. CA 93550

BYTE SHOP OF PLACENTIA

Placentia, CA 92670

CAPITOL COMPUTER SYSTEMS

Sacramento. CA 95616

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 & COMPUTERS

San Francisco. CA 94118

COMPUTERLAND OF SAN JOSE

San Jose. CA 95129

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

Santa Fe Springs, CA 90670

THE COMPUTER STORE

Santa Monica. CA 90401

SANTA ROSA COMPUTER CENTER

Santa Rosa. CA 95404

BYTE SHOP

Suisan, CA 94585

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

Walnut Creek. CA 94598

BYTE SHOP

Westminster. CA 92683

COMPUTER COMPONENTS OF

ORANGE COUNTY

Westminster, CA 92683

COLORADO

AMPTEC

Denver. CO 80216BYTE SHOPEnglewood. CO 80110COMPUTERLANDDenver. CO 80222

CONNECTICUT

COMPUTERLAND OF FAIRFIELDFairfield. CT 06430

JRV COMPUTER STORE

Hamden. CT 06518

THE COMPUTER STORE

Hartford. CT 06103

THE COMPUTER STORE

Windsor Locks, CT 06096

WASHINGTON D.C.

COMPUTER CABLEVISIONWashington, 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

COMPUTER AGE

Pompano Beach, FL 33062

MICRO COMPUTER SYSTEMS

Tampa, FL 33609

COMPUTER CENTER OF

PALM BEACHES

West Palm Beach. FL 33409

GEORGIA

ADVANCE COMPUTER TECHNOLOGIES

Atlanta, GA 30326

COMPUSHOP

Atlanta, GA 30342

DATAMART

Atlanta, GA 30305

THE LOGIC STORE

Columbus. GA 31906

COMPUTERLAND OF ATLANTA

Smyrna, GA 30080

HAWAII

MICROCOMPUTER SYSTEMSHonolulu, HA 96813RADIO SHACK (Dealer)Lihue. HA 96766

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

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 WAYNEFort Wayne. IN 46805HOME COMPUTER CENTERIndianapolis, IN 46220PUBLIC COMPUTINGLafayette, IN 47904

IOWA

THE COMPUTER CENTERWaterloo, IA 50701

KANSAS

PERSONAL COMPUTER CENTEROverland Park. KS 66206COMPUTER SYSTEMS DESIGNWichita. KS 67214

LOUISIANA

COMPUTER SHOPPEMelaire, LA 70002

MARYLAND

COMPUTERLANDRockville. MD 20855

COMPUTERS ETC.Towson, MD 21204COMPUTERS UNLIMITEDTowson, MD 21204

MASSACHUSETTS

THE COMPUTER STOREBurlington, MA 01803THE COMPUTER STORECambridge, MA 02139MAD HATTER SOFTWAREDracut, MA 01826NEW ENGLAND ELECTRONICSSpringfield. MA 01103

MICHIGAN

NEWMAN COMPUTER EXCHANGE

Ann Arbor. Ml 46104

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

Weslland, Ml 48185

MINNESOTA

COMPUTERLANDBloomington, MN 55431MINN. MICRO SYSTEMSMinneapolis, MN 55454

MISSISSIPPI

OXFORD SOFTWARE CO.Oxlord, MS 38655

MISSOURI

COMPUTER COUNTRYFlorissant, MO 63031

NEVADA

HOME COMPUTERSLas Vegas. NV 89109

NEW HAMPSHIRE

TRS-80 SOFTWARE EXCHANGEMilford, NH 03055COMPUTERLAND OF NASHUANashua, NH 03060BITS, INC.Peterborough. NH 03458

NEW JERSEY

COMPUTER LAB OF NJBudd Lake. NJ 07828COMPUTER EMPORIUMCherry Hill. NJ 06002COMPUTER MART OF NJIselin. NJ 08830MSM ELECTRONICSMedford, NJ 08055COMPUTERLANDMorrislown, NJ 07960COMPUTERLANDParamus. NJ 07652COMPUTER NOOKPine Brook, NJ 07058COMPUTER ENCOUNTERPrinceton, NJ 08540TYPTRONIC COMPUTER STORERamsey, NJ 07446

NEW YORK

COMPUTERLAND

Carl 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

Manhassel. NY 11030

THE COMPUTER FACTORY

New York. NY 10017

AUTOMATIC SYSTEMS

Poughkeepsie, NY 12603

COMPUTER HOUSE

Rochester, NY 14609

THE COMPUTER STORE

Rochester, NY 14618

THE COMPUTER CORNER

White Plains. NY 10601

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

Cinclnnafi, OH 45246

21ST CENTURY SHOP

Cincinnati, OH 45202

CYBER SHOP

Columbus, OH 43227

MICRO MINI COMPUTER WORLD

Columbus, OH 43213

ASTRO VIDEO ELECTRONICS

Lancaster, OH 43130

COMPUTERLAND OF CLEVELAND

Mayfleld Heights, OH 44121

RADIO SHACK (Dealer)

St. Clairsville, OH 43950

OKLAHOMA

BUSINESS MICRO SYSTEMSOklahoma City, OK 73108HIGH TECHNOLOGYOklahoma City, OK 73106MICROLITHICSOklahoma City, OK 73127HIGH TECHNOLOGYTulsa, OK 74129

OREGON

THE COMPUTER STORECorvallis, OR 97330CAMERA AND COMPUTEREMPORIUMPortland, OR 97205COMPUTERLAND OF PORTLANDTigart, OR 97223

PENNSYLVANIA

BYTE SHOP

Bryn Mawr, PA 19010

PERSONAL COMPUTER CENTER

Frazer, PA 19355

COMPUTER AID

Latrobe. PA 15650

THE COMPUTER WORKSHOP

Murrysvllle, PA 15666

RADIO SHACK (Dealer)

North Wales, PA 19454

A B COMPUTERS

Perkasie, PA 18944

MICROTRONIX

Philadelphia, PA 19106

SOUTH CAROLINA

DATA MARTGreenville, SO 29607

TENNESSEE

MICROCOMPUTER STOREKnoxville, TN 37919COMPUTER LABS OF MEMPHISMemphis, TN 38117DOC'S COMPUTER SHOPNashville, 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

Fort Worth, TX 76116

COMPUTERCRAFT

Houston, TX 77063

NEIGHBORHOOD COMPUTER

Leavitt, TX 79401

COMPUTER PATCH OF SANTA FE

Odessa, TX 79762

COMPUSHOP

Richardson. TX 75080

THE COMPUTER SHOP

San Antonio. TX 78216

COMPUTER SOLUTIONS

San Antonio, TX 78229

WICHITA COMPUTER SYSTEMS

Wichita Falls. TX 76301

UTAH

THE HI-FI SHOP

Salt Lake City, UT 84117

VERMONT

COMPUTERMARTEssex Junction. VT 05452

VIRGINIA

COMPUTER HARDWARE STOREAlexandria. VA 22314COMPUTERS PLUSAlexandria, VA 22304HOME COMPUTER CENTERNewport News, VA 23606COMPUTER TECHNIQUESRichmond, VA 23235THE COMPUTER PLACERoanoke, VA24015COMPUTER WORKSHOPSpringfield, VA 22151HOME COMPUTER CENTERVirginia Beach, VA 23452

WASHINGTON

OMEGA 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

COMPUTERLAND

Tacoma. WA 98499

WISCONSIN

BYTE SHOP OF MILWAUKEE

Greenfield, Wl 53227

COMPUTERLAND

Madison, Wl 53711

MADISON COMPUTER STORE

Madison, Wl 53711

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

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

THE COMPUTER CENTRE

Sarnia. Ontario N7T 1B4

HOUSE OF COMPUTERS

Toronto, Ontario

MARKETRON

Toronto. Ontario

MICRO-WARE

Toronto. Ontario M4E 2L2

COMPUCENTRE

Montreal. Quebec H1J 1Z4

FUTUR BYTE

Montreal, Quebec H3B 3C9

CUSTOM COMPUTING SERVICES

Saskatoon, Saskatchewan S7K 2B5

DIGITAL SERVICE

Saskatoon, Saskatchewan S7J 3A9

ENGLAND

BYTE SHOP

llford, Essex

INFOGUIDE

London

CYTEK

Manchester M4 3E4

PETSOFT

Newbury, Berkshire RG13 1PB

KEEN COMPUTERS

Nottingham NG7 1FN

PETALECT

Woking. Surrey

J&J ELECTRONICS

Bexhill-on-Sea. East Sussex

OPTRONICS

Twickenham TW1 4RY

GERMANY

ING. W. HOFACKER8 Munchen 75

HOLLAND

COMPUTRONDen Haag 2502 ER

ITALY

HOME MICROCOMPUTERS SRL20123 Milano

SINGAPORE

THE COMPUTER CENTRE PTE. LTD.Singapore 7

SWEDEN

MICROFUTUREStockholm 10322SEMIDAKOUppsala 75353

SWITZERLAND

INTERFACE TECHNIQUE

Basel

DIALOG COMPUTER

Lucerne

ELBATEX

Wettingen

Circle 302 on inquiry card.

BYTE March 1979

169

Common Mistakes

Using Warnier-Orr Diagrams

David A Higgins

Langston Kitch and Associates

715 8th St

Topeka KS 66607

Editorial Note...

Since publishing David Higgins' first two articles on Warnier-Orr diagram-ming techniques, we have received a number of letters from people expressingthe message (paraphrased) "if I have this or that self-documenting structuredprogramming language, why should I use Warnier-Orr techniques? After all, ifa program in my language is logically equivalent to the Warnier-Orr structure,and it is directly executable, I see no need for an extra layer of documen-tation. "

A very real answer to this objection is that it is correct. There is no pointto using Warnier-Orr techniques if you properly use a language such asPASCAL which, having structured programming constructs built in, allowslong descriptive names for variables and procedures, and as a result can sup-port self-documenting code.

But most currently used languages in personal computing do not easilysupport self-documenting code and modern concepts of structured program-ming. The usefulness of the Warnier-Orr methodology is that it provides adisciplined way of imposing such structure on a language such as BASIC,FORTRAN or assembly language. In effect, the Warnier-Orr discipline is aprogramming language which is intended for hand translation into one of theexisting unstructured languages. . . CH

In my opinion, one of the best programand system design methods is the Warnier-Orr structured systems design approach,which I described previously ("StructuredProgram Design," page 146, October 1977BYTE; "Structured Programming withWarnier-Orr Diagrams," page 104, December1977 and page 122, January 1978 BYTE).This article is being presented becauseof the interest expressed in this subject,and because a lot of people will be tryingthese techniques for the first time. New-comers to this methodology often havemany questions about their work, and wantto know whether or not what they are doingis correct. The purpose of this article is tooutline a few of the more common mistakesthat beginners make when using this tech-nique.

Philosophical Errors

Many first time users of the Warnier-Orrdiagrams tend to make mistakes which are sosimilar that they are worth examining. The

biggest and most common mistakes tend tobe a direct result of what we can call philo-sophical errors; not really a misuse of thetechniques so much as a misunderstanding ofthe techniques. The most common errorstems from the fact that many computerprogrammers tend to be obsessed with thedesire to write some kind of code at the verybeginning of the design process. This prob-lem usually manifests itself in any or all ofthe following three ways:

• Trying to code the program whiledesigning it (called the design-a-little,code-a-little approach).

• Relying too heavily on languagerestrictions and considerations whiledoing logical design.

• Skipping the design phase altogetherbecause:

a) the program is "too easy" or

b) the programmer is "too smart."

Any of the above practices will destroymost if not all of the effectiveness of theWarnier-Orr methodology [or any otherstructured programming methodology forthat matter. . . CH/. It will certainly causeyou to waste a great deal of time.

If you try to use the first technique, thedesign-a-little, code-a-little approach, youwill probably be in for quite a bit of erasingor retyping when you have to change thedesign because you coded yourself into acorner that you can't design your way outof. Your program will tend to be twice aslong as it should have been and half asefficient. You will probably be in for a lot ofdebugging runs while trying to put back intothe code everything that you left out whenyou changed the design. As you can see, thistechnique just naturally generates problems.

The second technique described above isa common mistake that veteran program-mers almost always seem to make: relyingtoo heavily on the program language theywill be using while doing the program design.Consider the two examples of program

170

March 1979 O BYTE Publications Inc

Technical Systems Consultants, Inc.

TSC, Technical Systems Consultants, isthe software company for all the newest,most innovative ideas in computersoftware. TSC builds a variety of pro-grams, packages and games so you canget down to business or just some fun.

^B 1^1 Technic;

Tfta

Snftajsrs

Text Editing System

The most complete and versatile editoravailable for the 6800 and 8080 micro.The system is line and content orientedfor speed and efficiency and featuressuch commands as block move and copy,append and overlay, as well as stringmanipulators. The 6800 version requires5K beginning at 0 hex, the 8080 needs6K starting at 1000 hex. Both shouldhave additional file space as required.

Text Processing System

As a complement to the Editor, theProcessor supports over 50 commandsfor left, right or center justification, titling,paging and general text output formatting.A loop command is available for repeatedformatting jobs such as form letters. Alsoincluded are capabilities for macrodefinition to build special formattingcommands. The program requires about8K of RAM and previously edited text.

The Mnemonic Assembler

The ideal addition to the Text EditingSystem, together they form a completeprogram development center. TheAssembler is one of the most versatileavailable and allows for easy adaptationto most systems. The Assembler is manytimes faster than other resident assem-blers. Requires approximately 5.5K plusfile and symbol table space.

SL68-24

SL68-24CSL68-24PSL68-24DSL68-24F

SL80-10

6800 Text EditingSystemw/cassettew/paper tapew/mini flex discw/flex disc

8080 Text Editing

SystemSL80-10P w/paper tapeSL80-10F w/ CP/M disc

Space Voyage

SL68-5C w/cassetteSL68-5P w/paper tapeSL80-9P w/paper tape

6800 Disassembler

SL68-27C w/cassetteSL68-27P w/paper tape

Micro BASIC Plus for 6800

$23.50$30.45$31.50$31.50$50.00

$28.50$37.50$40.00

$18.95$19.00$19.00

$15.95$13.00

SL68-29

SL68-29C

SL68-29P

SL68-29D

SL68-29F

6800 Text Processorw/cassettew/paper tapew/mini flex discw/flex disc

$32.00$38.95$40.00$40.00$75.00

$32.00$41.00$50.00

SL68-26

SL68-26CSL68-26PSL68-26DSL68-26F

6800 MnemonicAssemblerw/cassettew/paper tapew/mini flex discw/flex disc

SL80-11 8080 Text ProcessorSL80-11P w/paper tapeSL80-11F w/ CP/M disc

Relocator

This self-prompting, easy to use programrelocates object code in RAM or fromtape. Complete instructions included formaking the TSC Editor and Assembleror Editor and Text Processor co-resident.(As sold they reside in the same area.)Just over 1K in length.

SL68-28 6800 Relocator $ 8.00

SL68-28C w/cassette $14.95

$23.50$30.45$31.50$31.50$50.00

$25.00$34.00$40.00

SL80-12 8080 Mnemonic

AssemblerSL80-12P w/paper tapeSL80-12F w/ CP/M disc

All programs include complete sourcelisting. Cassettes are in the Kansas Citystandard format.

All orders should include check or moneyorder. Add 3% for postage and for ordersunder $10, please add $1 for handling.Send 25? for a complete softwarecatalog.

SL68-19CSL68-19P

w/cassettew/paper tape

$22.90$21.95

SL80-13SL80-13P

8080 Relocatorw/paper tape

$ 8.00$13.00

6800 Floating Point Package

SL-68-4 Floating Point

Package $6.50

SL68-4P w/paper tape $9.50

Technical SystemsConsultants, Inc.

^3^ Box 2574 W. Lafayette. IN 47906Specialists in Software & Hardware for Industry & the Hobbyist

Circle 363 on inquiry card.

BYTE March 1979 171

(a)

H1 >40.0(0,1)

1000<

0

HI >40

(0,1)

V1 =(H1-40.0)

MS1M.5)

0 /vi=o.o

(b)

r

COMPUTE OVERTIME PAY -i

V.

HOURS WORKED > 40(0,1)

0

HOURS WORKED > 40(0,1)

TSET OVERTIME PAY =^ (HOURS WORKED OVER 40) TIMES(SALARY AT TIME AND ONE-HALF)

JsET OVERTIME PAY '

ZERO

Figure 1: DOs and DON'Ts of Warnier-Orr diagramming. Figure la looks like actual programcode and should not be used when trying to logically design a program. Figure lb shows thecorrect method. The entire diagram contains only logical statements which could be codedinto any computer language.

designs shown in figure 1. Both figures 1 a andlb are diagrams of the same process: compu-tation of overtime wages. The diagram infigure 1a however seems to be the type thatveteran programmers will almost always tryto draw. Note its heavy stress on the lan-guage aspect of the function. It almost lookslike part of a BASIC program cut out andpasted on a diagram. Contrast that diagramwith the one of figure 1b which correctlydetails the logical process being performed.You can see that if figure 1a was the onlydocumentation for this particular procedure,you would probably not be able to tell whatthat piece of code was supposed to be doing.You might have some idea because this pro-gram seems to have semimeaningful fieldnames from which you might deduce somepurpose. All we can tell for sure fromfigure 1a is that some part of the program isgoing to crunch a couple of numbers. Whatnumbers it is going to crunch and just whatfor are anyone's guess. On the other hand, itis impossible to misunderstand what theprocess diagrammed in figure 1b is doing. Itis very easy to read and comprehend becauseit shows the logical side of the procedure.

This stress of the logical over the physicalwhile designing with the Warnier-Orr dia-grams is essential to their correct usage.Designing as in figure la serves absolutely nopurpose as far as understanding the processthat is being described and is essentiallyworthless as far as documentation is con-cerned. Even though you might be able totell what that diagram does the day youdraw it, you probably won't be able tounderstand it in six months. Someone elsewho wants to use your documentation mightnever understand it.

As long as we're on the subject of docu-

Time

Figure 2: Typical productivity curve ofprogrammer being introduced to Warnier-Orr diagram methodology.

mentation, I might mention that through thedevelopment period of this technique, manypeople were concerned that the diagramsmight become too far removed from theactual code, which would render them use-less as effective documentation. They wor-ried that since the diagrams depicted thelogical side of the problem, they had little orno relevance to the physical (real world)side. Those fears were easily put aside withtwo diagramming and coding conventions,as follows:

• Physical mileposts on the Warnier-Orrdiagrams.

• Logical symbol tables in the programs.

Thus, when we actually wrote code thatlooked like that of figure 1a, we would tie itto the logical figure 1b by adding the follow-ing to the diagram.

r

:STMT#1000

COMPUTE OVERTIME PAY J

172

March I979©BYTE Publications Inc

This would be included in the program itselfby using comment statements:

1000 REM COMPUTE OVERTIME PAY

1001 REM HFLD = HOURS WORKED

1002 REM OVTFLD = OVERTIME PAY

1003 REM SALFLD = SALARY

This allows us to have a very clear andconcise, one to one mapping between thelogical diagram and the physical code. Refer-ences between the two diagrams are quiteeasy. If, for instance, you want to knowwhat a particular section of code is supposedto be doing, you need only to look it up onthe logical diagram. Similarly, if you want tofind out which part of the program iscarrying out a particular logical function,you have the location information at yourfingertips. This is excellent documentationin the event that you or someone else mightsomeday want to make a modification toyour code.

The third common philosophical error,that of skipping the design phase altogether,is a real problem to most newcomers. Infact, if you look at a typical productivitycurve for a programmer who is introduced tothe Warnier-Orr diagrams, it generally lookssomething like the curve in figure 2.

A currently productive programmer pro-ducing work at a constant rate up until thetime the Warnier-Orr techniques are intro-duced (point A), will typically show an ini-tial burst of very high productivity (point B).This is usually followed by a slump (point C)where the programmer sinks back to or justabove his previous level of work. Eventually,he will climb back up to a new, higher levelof work (point D), where he will usually stay.This peculiar slump at point C seems to beprimarily due to the fact that since the pro-grammer has begun to feel comfortable withthe new technique and has had some initialsuccess with it, he begins to feel confidentenough to try to do the work without doingthe diagrams first. He soon realizes that thequality of his work has dropped off andstarts to do the diagrams once again, thistime for good, and his work level rises up toa new, higher level that will remain fairlyconstant.

Apparently, the only way to get newpeople to avoid this temptation is to fore-warn them that it does tend to happen, sothat if and when they find themselves on thedownhill side of the productivity curve, theycan recognize the trap in time to escape theworst of it.

DETERMINE UNITPRICE

PRODUCT CODE = A(0,1)

0

PRODUCT CODE = B(0,1)

O

UNIT PRICE IS INPRICE FIELD #1

GOTO END PRICE

UNIT PRICE =$7.00GO TO END PRICE

PRODUCT CODE = C J GO TO COMPUTE MARKET(0,1) \ PRICE

END PRICE

Figure 3: Example case statements making use of logically illegal GOTO state-ments. When a set of statements is finished the diagram will logically fallthrough all of the other exclusive ORs, ®, and arrive at the END PRICEsection. Thus no GOTO need be shown.

So much for the philosophical errors.There are also a few common technicalerrors that people make, and we'll look atthose next.

Technical Errors

For a lot of people who are just startingto program and may be unfamiliar withstructured programming techniques, some ofthe diagramming methods may seem to be abit uncomfortable. One of the most oftenseen technical errors is the attempted use ofa GOTO statement on the diagram. The casestatement shown in figure 3 illustrates thisproblem.

Two of the occurrences of the GOTOs infigure 3 are incorrect and the other is am-biguous. The GOTOs in "PRODUCTCODE =A" and in "PRODUCT CODE = B" areunnecessary and incorrect. The defaultlogical linkages will see to it that the appro-priate steps are executed. The GOTO at"PRODUCT CODE = C" is unclear. If it issupposed to mean that we are to ceaseexecution of this process and jump to theprocedure "COMPUTE MARKET PRICE"to begin processing, then its usage is incor-rect. If on the other hand it means that"COMPUTE MARKET PRICE" is a com-mon utility routine and is described else-where in the system, then the GOTO ismisleading. Instead, we should have written:

PRODUCT CODE(0,1)

{

COMPUTE MARKET PRICE

. . . SEE PAGE #3,

if the process was expanded on a differentpage of the diagram; or something like thewords "...SEE ABOVE" or "...SEEBELOW" if that process appears elsewhereon the same page. The GOTO is a physicalentity to be used at execution and is not alogical relationship, so it does not belong on

Mjrch I979 iBYTE Publications Inc

173

SELECT DAY OFTHEWEEK

MON(0

DAY J1) \

0

TUESDAY,/(0,1) \

0

FRIDAY(0,1)

0

OTHER /

v. (0-1) V

Figure 4: Example of a case statement withprocesses that are mutually exclusive andmutually independent.

SELECT DAY OFTHEWEEK

MONDAY

TUESDAY OR FRIDAY(0,1)

©

TUESDAY

(0,1)

0

{

MONDAY(0,1)

0

{

FRIDAY(0,1)

{

Figure 5: When a case statement has mutually independent and mutuallyexclusive statements, the statements may be rearranged into any order with-out changing the logic of the diagram.

ROLL ISA "4" -<

PLAYER HAS NO BODY(0,1)

YsKIP

©

PLAYER HAS NO NECK(0,1)

-/skip

0

PLAYER HAS NO HEAD(0,1)

/ SKIP

0

PLAYER ALREADY HAS

TWO ANTENNAE

(0,1)

/skip

0

PLAYER ALREADY HAS

TWO ANTENNAE

(0,1)

/give player\ an antenna

Figure 6: Although this is a working Warnier-Orr diagram, the case statementsare not mutually independent.

IF 'player has no body'

THEN . ..ELSE IF 'player has no neck'

THEN . . .ELSE IF 'player has no head'

THEN . . .ELSE IF 'player has two antennae'

THEN . , .ELSE 'give player one antenna'

Listing 1: Typical if-then-else structure forWarnier-Orr diagram of figure 6.

a logical Warnier-Orr diagram.

Another common technical mistake isone that is a little harder to catch, and is onethat even professionals with this techniquewill make if they aren't careful. Consider thecase statement shown in figure 4.

Note that in this case statement, not onlyare the processes outlined mutually exclusive(only one of the cases is true), but they arealso mutually independent. That is, theirorder within the case statement does notmatter. It would be just as correct forme to have written the diagram as shown infigure 5.

In an earlier article "Structured ProgramDesign" (Oct 77 BYTE), the game of BUGwas outlined. In the game, a die is rolled foreach player and each number of the diecorresponds to a part of the bug's body; theplayer finishing his bug first wins the game.If aplayer rolls a 4 for instance, he is entitledto one antenna. But he must have alreadyacquired a body, a neck and a head in thatorder before he can receive an antenna. Heneeds a total of two antennae if he is tocomplete a bug.

Many people would try to code that proc-ess as a case statement as in figure 6. Theprocess in figure 6 certainly looks correct,and indeed, if you code it as a case state-ment, as in listing 1, it will even run correctly.

However, this process is not a case state-ment. It is more properly called a pseudo-case statement, because each of its cases ismutually dependent. The cases cannot bereordered within the statement withoutdestroying its logic. Notice that rearrange-ment of the case statement diagram asshown in figure 7 does not work at all. Thisarrangement will give the player an antennaanytime a four is rolled, until he has twoantennae, regardless of whether or not healready has a body, a neck or a head. A morecorrect logical interpretation of the casestructure we want is shown in figure 8.

You might also notice that since the bugmust have a body before it can have a neck(and a neck before it can have a head) if we

174 March I979 OBYTt Publican-ns Inc

$-100 Memory for peanuts,Artec has slashed its prices!

32K for $620,16K for $315-Assembled.

No matter what your needs, Artec has amemory board for you. You can start with 8Kof Tl 4044 memory on a 5.3" x 10" card andwork your way up to a full 32K in 8Kincrements. The access time is only 250ns.The memory is addressable in 4K blocksand is perfect for S100 and battery aug-mented systems. The Artec 32K Expand-able Memory has four regulator positions,bank select and plenty of room for allnecessary support hardware. It uses lessthan 1 amp per 8K of memory (3.9 for 32K),and only +8 volts.

BOARD

KIT

ASSEMBLED

8K Memory

$150

$175

16K Memory

$265

$315

24K Memory

$400

$475

32K Memory

$520

$620

Add-ons: $135—Chips alone: $7.00

Circle 1 7 on inquiry card.

GP100—$20.00

Maximum designversatility along withstandard addressdecoding and buffer-ing for S100 sys-tems. Room for 32uncommitted 16 pinIC's, 5 bus buffer &decoding chips, 1DIP address selectswitch, a 5 volt reg-ulator and more. Highquality FR4 epoxy.All holes platedthrough. Reflowedsolder circuitry.

WW100—$20.00

A wire wrap bread-board, similar to theGP100. Allows wirewrap of all sizes ofsockets in any sizesof sockets in any com-bination. An extraregulator position for multiple voltage appli-cations. Contact finger pads arrangedfor easy pin insertion.

Buffering Kit—$12.65

All the necessary components to bootstrapany Artec board into your system. BufferingI/O, DIP switch heat sinks and every supportchip you need.

TO ORDER: Use your Mastercharge orBankAmericard. Or just send along a moneyorder. We can accept only U.S. currency.Please include $3 handling on all orders.California residents add 6.0% sales tax.

FOR MORE INFORMATION: For more in-formation about these or any of Artec's com-plete line of circuit boards or for either indus-trial or personal use, please call or write. Acatalog will gladly be sent.

Please send me: (Include Quantity)

32K GP100 WW100

□ I've enclosed a money order.

□ BankAmericard No.

Exp. Date

Exp. Date

City State

Zip

Calif. Res. add 6% Sales Tax $3.00 Handling End.

dCT€Ca€CTROMia,IMC

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

BYTE March 1979

175

PLAYER HAS 2 ANTENNAE J GIVE PLAYER(0,1) 1 AN ANTENNA

0

ROLL IS A "4" ■{

PLAYER HAS NO HEAD(0,1)

0

PLAYER HAS NO BODY(0,1)

0

PLAYER HAS NO NECK(0,1)

0

PLAYER HAS 2 ANTENN(0,1)

{

-f SK

<

SKIP

/ SK

ae r.

SKIP

Figure 7: When the statements in figure 6 are rearranged as shown, it can beseen that the program fails to work as desired.

merely check for the presence of the head,we will be indirectly checking for the neckand the body, so that figure 9 is an equivalentstructure.

Another common technical error is themisuse or lack of use of the (0,1) notation inconjunction with the exclusive OR, ®. Manytimes, people will simply write:

TEST -I

i

CONDITION A

0 /

CONDITION B <^

By this they often imply the (0,1) notationwith the use of the symbol ® alone. Actually,this is not incorrect; in fact, for most peoplefamiliar with the diagrams, this notationseems to be just as clear. But for users notquite familiar with the Warnier-Orr diagramsit is probably best to go ahead and includethe (0,1).

To conclude, I'll reiterate a point made inan earlier article: Understanding a Warnier-Orr diagram is very easy; creating one fromscratch is much harder than it looks."

Figure 8: This method ofapproaching the stated"bug" problem is morelogically correct than thatof figure 6. All of thestatements at each level ofthe diagram are mutuallyexclusive and mutuallyindependent.

ROLL IS A "4"

PLAYER HAS A BODY(0,1)

PLAYER HAS A NECK

PLAYER HAS A HEAD(0,1)

Q

O

0

HAS 2 fVIAE J SKI!

PLAYER HAS 2ANTENNAE ^ SKIP(0,1)

0

PLAYER HAS 2 fANTENNAE •<(0,11 I

GIVE PLAYERAN ANTENNA

PLAYER HAS(0

AS A HEAD ./'skip

ER HAS A NECK f -„,-(0,11 ^ SKIP

PLAYER HAS A BODY(0,1)

J SKI

PLAYER HAS A(0,1)

HEAD J PL*

ROLL IS A "4" J

O

LAYER HAS 2NTENNAE -< SKIP(0,1)

<'

©

PLAYER HAS 2 GIVE PLAYER

ANTENNAE ■< AN

(0,1) I ANTENNA

PLAYER HAS(0,

AS A HEAD ^SKlp

Figure 9: Since a bug must have a head in order to have an antenna, and a body and neck tohave a head, the search process can be shortened by just checking for the presence of a head.

176 March 1979 <S BYTE Publications Inc

IT'S NOT fl T€l€PHON€...

TH€ /UP€RPHON€

The telephone with such sophisticatedfeatures it's more than a phone. An indis-pensable desktop aid or bedside friend, withmicroprocessor controlled solid state elec-tronics and 14 digit LED readout. Here'swhat Superphone does for you:

decimal point, eight digitand chain calculations are

even during a

It's a Telephone

• Easily connects to any private or business phone line...and there's no need to switch to Touchtone® servicebecause Superphone works on either Touchtone® orrotary dial lines with ultimate pushbutton convenience.

• Simply lift the hand set and you're in the telephonemode.

• Even if there's a power failure, the rechargeablebattery takes super charge of the situation.

It's a Memory-dialer

• Superphone enables you to store the 20 numbers youcall most frequently, and these numbers can be upto 14 digits long.

• Just press the MEM DIAL and the location number andyour number will be both displayed and dialedautomatically.

• For PBX users who need to dial an "access" number(such as "9") for an outside line, it provides a pausebefore the next digit is dialed.

It's an Auto-redialer

• Automatically stores the last number dialed whetherfrom memory or manually.

• Just press REDIAL and the last dialed number will bedisplayed and dialed automatically.

It's a Calculator

• Four-function floatingcalculator: +,— , X,+features that count.

• Calculations without interference,conversation.

• Just press CALCULATOR key to start or to terminatecalculator functions.

It's a Digital Clock

• Constant display of hour, minute, day, and date keepsyou in time with a blinking dot per second.

• Quartz crystal accuracy for super dependability.

• Easy Keyboard programming for the time and date set.

It's an Alarm Clock

• Alarm can be set to the minute to keep you on schedule.

• The buzz will remind you of important appointments orwake you up when you want.

• Easy Keyboard programming for the alarm time set.

it's a Stopwatch

• Enables you to clock your conversations to the second.

• Just press the TIMER key to start the stopwatchfunction.

It's Guaranteed

• Built-in battery that continues phone function in eventof power failure.

• One year warranty.

• FCC approved for direct connection to all phone lines.

• Complete money back guarantee if returned within30 days.

Available in Ivory (with black faceplate) or EspressoBrown (with chocolate brown faceplate). Each $229.00 plus$2.50 insured UPS shipping and handling.

BITS

CALL YOUR CHARGE CARD ORDERS ON OUR TOLL-FREE LINE: 1-800-258-5477inC POB 428, 25 Route 101 West, Peterborough NH, 03458

Circle 33 on inquiry card.

BYTE March 1979

177

Solution to Machine Language Puzzler (seepage92)

The waveforms shown in figure 1 depictthe voltage waveform being applied to thespeaker from the least significant bit of port0 for each case.

When the outer loop constant (in A) isdecremented to 00, the accumulator is reini-tialized with #X. If X is even, only an imper-

ceptible discontinuity in the waveformresults owing to the execution time of 2more instructions. If #X is odd, however,the waveform contains one extra half cycle,and a blip is heard. Every time A is reini-tialized with an odd X, the waveform phaseis changed by 180°."

Figure 1: Voltage wave-form appearing at theleast significant bit (LSB)of port 0 for each case inthe problem.

:

,.

02

00

X-2

EVEN X

01

X-l

r :■"

02

00

X-l

*

ODD X

01

X-2

TIME

PERIOD OF LOOP LI PLUSTHE EXECUTION TIME OFFOUR INSTRUCTIONS(OCR A, OUT 0, JNZ L2,MVI B, #A8)

EXTRAHALF-CYCLE

SPECIALIZING IN

QUALITY MICROCOMPUTER HARDWARE

INDUSTRIAL • EDUCATIONAL • SMALL BUSINESS • PERSONAL

BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT

R2 I/O

2K ROM2K RAM

3 Serial Ports1 Parallel Port

16 K RAM

FULLY STATICMEMORY

ECT-100-F

RACKMOUNTCARD CAGES

ECT"

■(>tu.U

POWER SUPPLIES, CPU'S, MEMORY, OEM VARIATIONS

TT-10

TABLE TOPMAINFRAMES

763 RAMSEY AVE.HILLSIDE, N.J. 07205

ELECTRONIC CONTROL TECHNOLOGY (zod gsg soso

178 March 1979©BYTE Publications Inc

Circle 120 on inquiry card.

BITS

Books to erase the impossible

POB 428, 25 Route 101 WestPeterborough, NH 03458

MICROCHESS - by Peter Jennings - fromPersonal Software™

Peter Jennings has been pioneeringcomputer chess programs for the personalmicrocomputer, and MICROCHESS is themature fruition of two years of thisdevelopment. With several levels of play itwill sharpen your game and prove to be achallenging opponent.

MICROCHESS 1.5 - for 4K TRS-80's

This is a 4K Z-80 machine language pro-gram utilizing every byte of availablememory on the TRS-80. It displays agraphic chessboard and even flashes thepiece on which the computer narrows itsattention prior to making its move. Basedon earlier chess programs for the 8080and 6502 microprocessors, Microchessincorporates the improvements suggestedby hundreds of users, and offers threelevels of play to challenge all players frombeginners to real chess enthusiasts.

Microchess can be fun on any TRS-80and is easily loaded from cassette with theCLOAD command. Standard algebraicnotation is used to describe the moves,and a simple command lets you temporar-ily number the squares to assist in moveentry. Every move is checked for legality,and the program even handles castling anden passant captures. You can play white orblack, set up special board situations andplay them out against the computer, oreven watch the computer play againstitself.

MICROCHESS 2.0 - for 8K PET's and 1 6KApples

In 6502 machine language, this versionof Microchess offers eight levels of play tosuit everyone from beginner to the seriousplayer. It examines positions as many assix moves ahead, and includes a chessclock for tournament play. $ 1 9.95 each.TRS-80 (4K) □ PET (8K) □ Apple (1 6K) □

BRIDGE CHALLENGER - by George Duis-man — from Personal Software™

If you like to play bridge but have troublegetting four people together to play, or ifyou'd just like to practice a little to improveyour play, this program cassette is for you.With Bridge Challenger you and the dum-my play against the computer in regularcontract bridge. You can let the computerdeal, or set up hands for study and practiceplay and save them on cassette. Createdby George Duisman, an expert bridgeplayer and programmer, this program takesfull advantage of the PET's BASIC and re-quires all of the 8K RAM to run. Standardbridge notation, like that found in booksand newspaper columns, is used to helpyou analyze the hands. Complete instruc-tions, including an introduction to bridgefor the novice, are included in six pages ofdocumentation. $14.95 each.

TRS-80 (1 6K Level II) DPet (8K) □Apple (16K) □

Offer/ The Be/I InSoftware for i|ourmicrocomputer...

STIMULATING SIMULATIONS - by Dr. C.William Engel — from Personal Software™This is a set of ten original simulationgames written by Dr. Engel. The games arefun, and the 64 page paperback bookwhich accompanies the cassette giving in-structions, flowcharts, program listingsand suggested modifications makesStimulating Simulations an educationaltool too. The games begin on an elemen-tary level and progress to more complexproblem situations, but most can be playedby schoolchildren. The program listings inthe book are in PET or TRS-80 Level IIBASIC but special versions of the pro-grams are provided for Level I BASICusers. $14.95 each.TRS-80D PETD

...now!

GRAPHICS PACKAGE - from PersonalSoftware™

This set of four programs provides aquick and easy way for you to use your PETfor several of the most common graphicsapplications: plotting equations or data,drawing pictures, and creating headlines ofblock letters.These programs, written by Dr.Peter Maggs, make use of the PET's graphiccapabilities and can provide another dimen-sion in your personal computing. $14.95PET □

ASSEMBLER IN BASIC - from PersonalSoftware™

Now you can write programs inassembly language for the 6502microprocessor and have them translatedto machine language for direct executionon your PET. The assembler accepts allstandard 6502 mnemonics, pseudo-opsand addressing modes plus a new TEXTpseudo-op, and evaluates binary, octal,decimal, hexadecimal and character con-stants, symbols and expressions. You cancreate assembly source programs with thetext editor which is supplied, and save

them on cassette. The assembler reads itssource code from cassette or from DATAstatements, and assembles machine codedirectly at any location in memory. Youcan save machine language subroutines inthe PET's second cassette, buffer, and ex-ecute them immediately with keyboardand display input/output. $24.95PET □

ASTROLOGY PROGRAMS - by MichaelErlewine — from Personal Software™

You enter the date, time, and place ofyour birth. The program computes thesidereal time on the equator of your birthand your ascendant or rising sign,midheaven, and vertex angles in degrees /sign of zodiac / minutes of arc format. Thehelio and geocentric planetary positionsare also given,and the program will op-tionally calculate and display the LocalSpace positions of the planets, the LocalSpace chart for a locality shift, give theposition and direction in azimuth along thehorizon of any city in the world, or displaythe equatorial coordinates for your natalplanets. You can even input the rightascension and declination of any celestialobject, and the program will compute itsposition on the horizon or Local Spacechart. This program is loaded with celestialmechanics equations, and will save you oryour astrologer hours of calculating time.$14.95PET □

SARGON - A COMPUTER CHESS PRO-GRAM - by Dan and Kathe Spracklen —from Hayden

SARGON is the computer chess programthat won the 78 West Coast ComputerFaire tournament for microcomputers.Now you can run it on your own TRS-80Level II. It is available in two forms: thebook which contains the program listing inZ-80 assembly language and enoughdocumentation to enable you to tailor andrun it on your 8K Z-80 machine, and incassette form ready to run on any TRS-80Level II. Test your skill in this classic game;the machines are getting better!Sargon Book with listing □ $14.95

Cassette for TRS-80 Level II(with brief instruction booklet) D $19.95

DIAL YOUR BANK CARD ORDERS ON OUR TOLL-FREE HOT LINE: 1-800-258-5477.

You may photocopy this page.Dealer Inquiries Invited.

For convenience in or-dering, please use thispage plus the orderform on page 199

Circle 35 on inquiry card.

BYTE March 1979

179

Circle 35 on inquiry card.

Practical Microcomputer Programming

PRACTICAL MICROCOMPUTER PRO-GRAMMING: THE M6800 by W J Weller.

This second volume of the PracticalMicrocomputer Programming series ad-dresses the problems of applications pro-gramming at assembly level for the M6800.In 16 chapters and more than 100 formalexamples, the fundamental techniques ofassembly level programming are applied tothe solution of specific problems with the6800. Nowhere theoretical, it is a thoroughand detailed methods text for the beginningand intermediate application programmerusing the 6800. Hardback. $21.95.

PRACTICAL MICROCOMPUTER PROGRAMMING: THE INTEL 8080 by W J Weller,A V Shatzel.and H Y Nice.

Here is a comprehensive source of programming information for the present orprospective user of the 8080 microcomputer, including moving data, binary arith-metic operations, multiplication and division, use of the stack pointer, subroutines,arrays and tables, conversions, decimal arithmetic, various IO options, real time clocksand interrupt driven processes, and debugging techniques.

This 306 page hardcover book is well worth its $21.95 price and should be in every8080 or Z-80 user's library.

r

Name_

Address,

City.

.State.

.Zip_

■■ ■mjh practical THE INTEL 8080 @ $21.95 $_

191 I W~ MICROCOMPUTER

l#I IJ programming: THE M6800 @ $21.95 $.

POB 428

25 Route 101 West

Peterborough NH 03458 Postage outside USA $ 1.00 $.

Total $.□ Check enclosed

Postage $.75 ea. $-

D Bill MC#.□ Bill BA#.

-J- / A

m

j-—/—j-

Exp. Date.Exp. Date.

Signature.

You may photocopy this page if you wish to leave your BYTE intact.

J

THE TELETYPE MODEL 43 FAMILY.

^^Trrmp<jwu"^L

Naturally, a company whose name has almost become synonymous with data communi-cation in industry can produce exceptionally fine business terminals. These terminals,just as naturally, form the best business end for your personal computer. When you'reready for your computer to start earning its keep, let us put a system together for you.We offer a complete line of Teletype Corporation Products interfaced and tested toApple II, TRS 80, Commodore Pet, Amsai, Ohio Scientific and others. We stock anddistribute this specialized product line and our goal is to provide you with the bestservice, the best delivery, and the best price available anywhere.

The following printers are available now. Many more soon.

DELUXE BUSINESS MODEL 43, 132 Column Pin Feed $1295.00

80 COLUMN MODEL 40, 300 Line Per Minute Work Horse $2395.00

132 COLUMN MODEL 40, 300 Line Per Minute Industry Standard $3500.00

Order Direct, Check or Purchase Order to:

CABOT COMPUTER SERVICES, INC.

P. O. Box AACabot, AR 72023 (501)843-5302

180

March 1979 CD BYTE Publications Inc

Circle 38 on inquiry card.

INTRODUCING

DUAL DRIVE MINIFLOPPY FOR

DEALER

INQUIRIES

INVITED

DKH641 IS A PRODUCT OF COMPUTHINK.

■DUAL MINI FLOPPY DRIVE WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINE•DESIGNED FOR COMMERCIAL SPEED REQUIREMENTS "FAST LOADING SPEED.•DISKMONTM (dqs) AUTOMATICALLY REORGANIZES FREE DISK SPACE AFTER

SAVE OR ERASE.•DISKMON IS RESIDENT IN ROM VIA DISK CONTROLLER BOARD PLUGGED INTO

EXPANDAPET.-'DISKMON ADDS 16 COMMANDS TO BASIC INCLUDING DISK DATA FILES.•DISKMON COMMANDS SUPPORT COMMERCIAL PRINTER OFF PARALLEL

PORT SUCH AS CENTRONICS 779.•FULL DISK SOFTWARE SUPPORT ' FORTRAN & PLM COMPILERS THIS JANUARY.*90 DAY MANUFACTURER'S WARRANTY ON HARDWARE'READY TO USE ON

DELIVERY. WITH FULL INSTRUCTIONS AND UTILITY DISKETTE•CALL OR WRITE FOR ADDITIONAL INFORMATION ■ INITIAL QUANTITIES LIMITED.•THIS SYSTEM IS FULLY SUPPORTED BY SOFTWARE FROM THE MANUFACTURER.•ORDERS ARE NOW BEING ACCEPTED FOR DECEMBER & JANUARY DELIVERY.

DKH642 —DUAL DRIVE SYSTEM, COMPLETE WITH DISKMON $1295.00

DKL067 —DISKMON ASSEMBLER LISTING/DOS $19.95

ASM789T —PET ASSEMBLER ON CASSETTE $19.95

ASM789D —PET ASSEMBLER ON DISKETTE (5.5 inch) $49.95

LNK456 .— AUTOLINK LINKING LOADER ON DISKETTE $49.95

FOR300 -FORTRAN COMPILER ON DISKETTE (JAN'79) $69.95

PLM400 —PLM COMPILER ON DISKETTE (JAN'79) $49.95

* * * BUSINESS PACKAGES STARTING IN 1st.QUARTER 1979* + *'THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K—SEE BELOW)

PET COMPUTER

If youhaven'tboughta petyet, callfor ourpet infopackage!

WHY NOT BUY FROM THE BEST?

8K PET $ 795 *

24K PET(8+16K) $1220*32K PET(8 + 24K) $1320*

ALL PRICES INCLUDE 48 HR. PRE-

SHIPMENT TESTING &

3 FREE CASSETTE PROGRAMS

PRICES SHOWN ABOVE IN-CLUDE EXPANDAPET. PMEMEMORIES WILL HAVE HIGHERPRICING.

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!

EXPANDAPET7

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) $425

DEALER INQUIRIES 24K ( + 8K PET = 32K) $525

INVITED 32K( + 8KPET = 40K) $615

OPTIONAL PLUG-IN BOARDS 32K UNIT ALLOWS" 8K OF

SERIAL I/O BOARD $75 ASSEMBLY LANGUAGE

S-100 I/O BOARD $75 SUBROUTINES ACCESSED

4K EPROM BOARD $50 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.

$139.95

ORDERS ARE NOW BEINGACCEPTED FOR DEC/JANCUSTOMER DELIVERIES.

NPK-101 IS A PRODUCT OF NEW ENGLAND ELECTRONICS.

WECANNOTLISTALLOF OUR SOFTWARE AND HARDWARE PRODUCTSCALLOR WRITE FOR OUR*FREE*SOFTWARE/HARDWARE DIRECTORY

DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON * MEMORY * KEYBOARD * FLOPPY

NEECO

NEW ENGLAND ELECTRONICS CO., INC.

248 BRIDGE ST., SPRINGFIELD, MASS. 01103MON-FRI 9:30-5:30, SAT 10-2, E.S.T.

(415)854-2577

ACCEPTED, ADD 3%SERVICE CHARGE.

Circle 281 on inquiry card.

BYTE March 1979

181

TechnicalFcnum

Mitchell Gilbergc/o Coles, POB 610Natchez MS 39120

A Search forVector Graphics

I am a subscriber and avid reader ofBYTE, and I have a problem I hope you canhelp me solve. I am trying to find someinformation on a particular type of videographic display and whether it is currentlyavailable on any personal computers. Un-fortunately, I don't know a technical name,so I'll have to attempt a cumbersome non-technical description. What I want is to beable to draw one dimensional lines betweendefined endpoints, and to move the linescontinuously across the screen.

Let me give you an example. Supposean application I want to display is an aircraftinstrument panel. The altimeter might looksomething as shown in figure 1, With therelatively common raster scan grid thealtimeter would look as shown in figure 2.

One problem here is that in order to haveenough detail to read the instruments, theywould have to be too big to get an entireinstrument panel on the screen. Another isthat "lines" are not continuous. They areapproximations that frequently lose theiroriginal shape when rotated between hori-zontal and vertical. Also, small displace-ments are lost if they aren't large enoughto cause a quantum jump between plot gridpoints.

With high density noncolor graphics,you gain the ability to create a more detaileddrawing, but motion becomes impractical.To show increasing altitude on the altimeterabove, you must calculate a new locationfor each point on the rotating indicatorand set and reset the corresponding bits inmemory. That might represent several hun-dred calculations for each degree of rotation.Also, the indicator will not move as a unit.That is, it "warps" point by point, as shownin figure 3.

In the past, I have used a Tektronix4010 storage tube. This particular deviceallows plotting graphics as lines betweenendpoints. That is, your program specifiesa starting and ending point for a line seg-ment, and you can then "draw" a linebetween the points. So, for rotation of thealtimeter, you need only calculate thepositions of three points, and connect themwith line segments. The line segments arealways continuous, never warped. However,the Tektronix stores the line until the entirescreen is erased, so you can draw detaileddiagrams although true motion is impossible.You must erase the entire screen and redrawit at the new position—a process which takesseveral seconds for complex diagrams.

Let me now try to describe what I need.The display must be able to define lines asthe Tektronix does, so that line movementsare done by simply recalculating the end-point locations. But, it must also allow formoving the line without having to recreatethe entire drawing— or, if it must recreatethe entire drawing, it must recreate it fastenough so that you don't see an eraseand redraw action. (I have seen this type ofdisplay in only two places, both of whichwere in 25 cent video arcade games, andboth of which were a Space War game. Thegames were similar in that they both showedspaceships which moved continuouslythrough space, able to turn through anyangle.)

If you or any of your readers can tell mewho makes this type of display, or how itworks, or if it's even feasible to do withpersonal computers that are available today,I would certainly appreciate it."

We cannot help specifically in this reply,but can point you in the right direction: youare looking for a vector display, where anXY oscilloscope with blanking is driven froma list of XYZ coordinate triples. (The Zaxis simply indicates an intensity for the lineof 0 or I.) An example of this was found inSteve Ciarcia's article, "Make Your NextPeripheral a Real Eye Opener," (November1976 BYTE, page 78). Steve's design is not,to our knowledge, currently being manu-factured, so you will have to build it your-self. . . .CH

182

Match I979 0BYTE Publications Inc

(MOOO

$£$

M^^stk'

THE FIRST TV CAMERA DESIGNED FOR

COMPUTER INTERFACE

SUPERB RESOLUTION—

Observe minute detail with resolution over1000 TV lines.

VIRTUALLY DISTORTION-FREE—

Image is accurate, linear from center of screen to outeredge with less than 0.2% distortion.

STABLE—

Less than 0.05% drift per 24 hours, less than 0.2% from10° C to 40° C.

PLUS ALL LINES NEEDED FORDIGITAL AND ANALOGCOMPUTER INTERFACE

THIS UNIT IS "INSTRUMENT QUALITY"—NOT A VIDEO SYSTEM FORENTERTAINMENT VIEWING

APPLICATIONS:

MEDICAL

Tissue analysis

Blood analysis

Neurological—X-Y movement analysis

Optical Instrument data analysis

Other analysis of visual data

INDUSTRIAL

Aerial photography analysis—crop areas,

insect infestationIR Analysis—detect forest fires, direct robot

firefightersBottle inspection—using polarized lightDimension analysis and control, area

measurement, displacement measurementPrinted pattern analysis and controlMissile trackingUNIVERSITYAnalysis of any visual information that can be

measured through variation in light intensityMedical researchPhysics researchLaser technology

Circle 157 on inquiry card.

HAMAMATSU CORP. »420 SOUTH AVENUE* MIDDLESEX, NEW JERSEY 08846 • (201) 469-6640

BYTE March 1979 183

TechnicalFwum

Robert Jones

Canadian Micronics Research Corp

33383 Lynn Av

Abbotsford BC

CANADA V2S 1E2

Table 1: A table of "holes" in the 6800 op code space. Analyzing the holesinvolves tabulating the effect of each instruction on the condition coderegister, computing the number of machine cycles for each instruction, andmost importantly, finding suitable applications for these instructions.

Instruction

Hex

Length

Code

Label

Commentary

00

NOP

02

NOP

03

NOP

04

NOP

05

NOP

12

SBA-1

A<-A - (B+1).

13

SBA-1

Same as 12.

14

NBA

A<-A AND B

15

NOP

18

DAA

No effect on carry bit?

1A

ABA

No effect on carry bit.

1C

ABA+1

A<-A + (B+1). No effect on carry or halfcarry bits.

1D

ABA

A*^A + B. No effect on half-carry bit.

1E

TBA

Same as 17.

1F

TBA

Same as 17, plus carry bit is set to 1.

2

21

BRA r

Same as 20.

ENCOU

00 kind...

Them.

chine from JF

Introducing the JF68. A Computer System that's bothaffordable and expandable. The JF68 is finding widespreaduse in hobbyist, small business, and OEM applications.Its expandability and low cost will make it the affordablesolution to your every processing problem. You can orderit the way you like it. Either in KIT Form for $549.95, orfully assembled and tested for $749.95. At these prices,shouldn't our computer be solving that problem instead ofyou?

FEATURES

• Woodgrain Cabinet • MIKBUG Compatible

• SS50 Based System • 16 Slot Motherboard

• Cassette I/O Included • 2K ROM Monitor on CPU

• Serial Communications to 9600 BAUD

Filling 6800 Op Code Holes

When looking at a reference chart forthe Motorola 6800 processor, one maynotice many nonimplemented op codes.It is possible that these codes, when properlyexplored, can lead to interesting operationsof the processor. I could not resist thechallenge to do this and have spent manyfrustrating hours trying to understand thestrange results obtained. By dint ofperserverance, I eventually worked my waythrough every one, producing table 1. Ihave not yet made a study of the completeeffect of each operation on the conditioncode register, although some were obviousalong the way.

It is interesting to note that four ofthe op codes (hexadecimal 87, 8F, C7 andCF) actually modify the program, conven-iently skipping one program step in the proc-ess. This jumped over step could containa branch or jump instruction, so that if themodified part of the program is immediatelyfollowed by a branch back to the skippedover instruction we would have the possibi-lity of an approximately 65,536-way branch,depending on the result of some calculationin either of the accumulators or the indexregister. Of course, any program using thisself-modifying feature can only be imple-mented in programmable memory. Com-mitting it to read only memory would auto-matically render it unchangeable.

Three codes (hexadecimal 3D, 9D andDD) cause the 6800 to continuouslyincrement the address bus with both thevalid memory address (VMA) and read write(RW) lines held high, but the microprocessordoes not act on the instructions it readsalong its route. Perhaps they can be usedin the form of some direct memory accessinstruction with a hardware halt to theprocess by activating RESET.

It would be interesting to find out ifall 6800s follow the patterns in my table,or if the results are specific to my individualunit. Remember, these instructions workedin my processor but may not necessarilywork in yours. The best course of actionis to use my table as a base and then doublecheck your own processor.

EHl J~

PRODUCTS1441-5 POMONA RD.CORONA, CA 91720(714) 734-6900

[master charge]

REFERENCES

1. Jessop, Paul M, "The Motorola 6800 Instruc-tion Set," January 1978 BYTE, page 84.

2. Wheeler, Gerry, "Undocumented M6800 In-structions," December 1977 BYTE, page 46.

184 March 1979 © BYTE Publications Inc

Circle 197 on inquiry card.

Circle 77 on inquiry card.

Table J, continued:

38 RTS

3A RTI

3D DMA

41 CPZA

42 COM A

45 CPY A

4A

4E

51

5255

5B5E

6162656B

7172757B

8387

8F

93

DEC ANOP

CPZB

COM BCPY B

DEC BNOP

NEG XCOM XLSR XDECX

NEG eCOM eLSR eDECe

SB1 A#ST2 A

ST2 S

SB1 Ad

1

9D

DMA

2

A3

SB1 A X

3

B3

SB1 A e

2132

1

C3C7CCCDCF

SB1 B#ST2 BCPX#BSR rST2 X

2

D3

SB1 Bd

2

1

DCDD

CPXdDMA

2

E3

SB1 B X

22

ECED

CPX XJSR X

3

F3

SB1 B e

33

FCFD

CPX eJSR e

Same as 39 followed by 34; ie: RTS followed

by reset of stack pointer to original setting

plus 1.

Same as 3B followed by 34s; ie: RTI followed

by reset of stack pointer to original setting

plus 1.

Program counter continuously increments

address bus. VMA and RW lines go high.

Compare register A with zero. Leaves register

A unchanged, but sets NZVC according to

result of the compare with zero.

Same as 43.

Copies least significant bit of register A into

carry bit. Leaves register A unchanged. Sets

overflow bit (V) according to V=NC + NC.

Sets zero bit (Z) if either register A or B is

zero. Could be used (by following with BCS)

to branch on register A equal to an odd

number.

Same as 4A.

Compare register B with zero. Similar to 41

above.

Same as 53.

Copies least significant bit of register B into

carry bit. Leaves register B unchanged.

Remarks similar to 45 above.

Same as 5A.

Same as 60.Same as 63.Same as 64.Same as 6A.

Same as 70.Same as 73.Same as 74.Same as 7A.

AHA) - (immediate+1).PC+2HA). Stores contents of register A atcurrent program counter plus two and ad-vances to program counter plus 3.PC+2, PC+3<-SP. Stores current value of stackpointer at program counter plus two andthree and advances to program counter plusfour.

A<-(A) — [(memory direct)+1] . Adds one tocontents of referenced memory, subtractsresult from register A and stores result ofsubtraction in register A. Leaves memorycontents unchanged.Same as 3D above.

A<-(A) — [(memory indexed)+1 ]. Similar to93 above.

A<-(A) — [(memory extended)+1 ]. Similar to93 above.

B*-(B) — (immediate+1).

PC+2HB). Similar to 87 above.

Same as 8C.

Same as 8D.

PC+2, PC+3-HX. Stores current value of

index at program counter plus two and three

and advances to program counter plus four.

B<-(B) - [(memory direct)+1]. Similar to93 above.Same as 9C.Same as 3D above.

BHB) — [(memory indexed)+1l. Similar to93 above.Same as AC.Same as AD.

BHB) — [(memory extended)+1 ]. Similar to

93 above.

Same as BC.

Same as BD. ■

P.E.T. Food

SEAWQLF $1D.QQ

BREAKOUT - - $10.00

category for the months of :JANUARVCATEGORV AMOUNT CATEGORY AMOU

AUTO

MRTGE

CLOTHES

ENTRTAIN

EDUC

FOOD

GIFTS

HOUSE

21.69 INSUR 2B1

342.96 SAVINGS ,8

229.78 UTIL ,_L

13.44 VACATION 182

Total amount spent uas 4358.99

Total income uas 2.75

Do you want a spending profile for this

HOUSEHOLD FINANCEPARTS 1 S S - - $15.00

Dual Joystick Interface

[with two programs]"$45.0 0

LIFE

SSO.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 S4040

March 1979 o BYTE Publication! Inc 185

TechnicalFwum

Let's Be PALs:

Some Comments on

BBC Teletext

R G Silson

Near Station

TRING

Herts HP23 5QX

ENGLAND

E John Dehaven (April 1978 BYTE, page152) is a little out of date regarding BritishTV standards. In 1936 the world's first highdefinition television station started regularbroadcasts from Alexandra Palace, LondonENGLAND. The transmission used 405lines with AM sound and synchronized tothe 50 Hz power lines. After the war thesystem was extended to cover the wholecountry on VHF.

With the introduction of color, a newUHF network was set up which now hasaround 1000 transmitters. The color systemuses a 625 line phase alternation line (PAL)system with FM sound. [In the PAL colorsystem, the subcarrier derived from thecolor burst Is phase inverted from one lineto the next to minimize possible trans-mission hue errors. . .CMJ No new 405 setshave been available for many years. Officialpolicy has been to delete the 405 line system

as soon as practical since all channels areduplicated on UHF. The problem is thatmany small communities in hilly areasfind UHF reception very poor and a localUHF transmitter is not always economic.

In Britain the whole 50 Hz power systemis synchronized by high voltage links, buttransmitters are no longer tied to it. Thischange is perhaps unfortunate since somesets show a moving band, at the differencefrequency, up or down the screen. This isusually faint but noticeable to the critical.

There is no need to modify the latestBritish color sets. They include high qualityvideo display unit facilities to receive thenew Teletext transmissions. All 625 channelsnow transmit digital data on unused picturelines giving up to 800 pages on each channel(more with special arrangements as below).A standard format of 24 lines, each with 40characters, is used, with odd parity 8 bitbytes for each character. Each page is num-bered (100 to 899) and the whole seriesis transmitted in sequence each 15 secondsor so. Some pages (eg: page 100) give generalor special indexes to other pages which carryall kinds of information from news torecipes, sports to weather maps, etc. A digital

THE

:^\0©D^2) MOTOROLA MG809

DS-BO S-100% compatible video digitizer with256 x 256 resolution & 64 levels ot greyscale. $349.95

DS-68 The same item tor the SS50/6800 buss

$169.95MPRINT 6800 Driver software in 2708 tor Malibu160 printer Wiring diagram included.

$39.95BI0PIC Complete Biorhythm and Computer PortraitSoftware in 2708S lor Malibu printer,DS-68 and SWTPC 6800 computer.

$175.00

PSB-08 Prom system board with 8K ol 2708 and

1K ram lor all SS-50 Computers. $119.95

EMULATOR

Smoke Signal Disk Users!Run Mixed 5 and 8 Inch Drives

The Disk Mixer Is a retrofit kit for SmokeSignal Disk controller boards capable ofdriving either 5 In. or 8 In. disks that allowsthe user to mix drive sizes. DM-85 allowsany configuration of 5 in. and 8 in. drives tobe user defined, and provides the appropri-ate clock signals for the disk being access-ed. This is a kit, and is not recommendedfor those without hardware experience.

$39.95

Run 6809 software before the chip isavailable!

E6809 is a 6800 machine language programthat emulates all of the functions of theMotorola 6809 third generation micro-processor. Developed for use on any SS-50computer system, the program allows soft-ware development and debugging prior to6809 availability. The 3 K byte program Iscomplete with a 6809 mini-monitor for easeof use, and on source listing. Available inSmoke Signal or Flex format disk, or cas-sette tape. $49.95"See Byte, Jan., Feb., Mar., 79

Master Chargeand

P.O. BOX 111Q DEL MAR, CA. 92014 714-756-EB87

BankAmericard

186

March 1979 © BYTE Publications Inc

Circle 231 on inquiry card.

the electric pencil II

^^ o 1Q7R Mirhafil Shraver

TM

1978 Michael Shrayer

The Electric Pencil II is a Character OrientedWord Processing System. This means that text isentered as a string of continuous characters andis manipulated as such. This allows the userenormous freedom and ease in the movement andhandling of text. Since line endings are neverdelineated, any number of characters, words,lines or paragraphs may be inserted or deletedanywhere in the text. The entirety of the textshifts and opens up or closes as needed in fullview of the user. The typing of carriage returnsas well as word hyphenation is not requiredsince lines of text are formatted automatically.

As text iline is reshifted toWhenever ttext is puaround fasdi splay sc rguessworkvariable spreverse disearch andcharactersany other s

s typed inached, a pathe beginninex t is i n s eshed down ohion. Everyteen as it oc. Text mayeed sc ro I li nrections. Breplace fumay be loct ri ng of cha

and the endrti a Ily comp Ig of the foilrted or deletr pulled uphing appearscurs which elbe reviewedg both in they usi ng the snction, anyated and/or rracters as de

of a screen

eted word is

owing line.

ed, ex i sting

in a wrap

on the video

i mi nates any

at will by

forward and

earch or the

string of

ep laced with

s i red.

When text is printed. The Electric Pencil II automatically inserts carriage returns where theyare needed. Numerous combinations of line length, page length, line spacing and page spacing allowfor any form to be handled. Character spacing, BOLD FACE, multicolumn as well as bidirectionalprinting are included in the Diablo versions. Right justification gives right-hand margins that areeven. Pages may be numbered as well as titled. This entire page (excepting the large titles andlogo) was printed by the Diablo version of The Electric Pencil II in one pass.

Now on CP/M

The Electric Pencil II

is also compatible withImsai's IMDOS. HELIOSversions SSH and DSH arenow ready. The NEC printpackage is now available.A utility program thatconverts PENCIL to CP/Mto PENCIL files is ready."CONVERT" is only $35.00.

NEW FEATURES: * CP/M, IMDOS and HELIOS Compatible * SupportsFour Disk Drives * Dynamic Print Formatting * DIABLO as well as NECprinter packages * Multicolumn Printing * Print Value Chaining *Page-at-a-time Scrolling * New Bidirectional Multispeed ScrollingControls * New Subsystem with Print Value Scoreboard * Automatic Wordand Record Number Tally * Cassette backup for additional storage * FullMargin Control * End-of-Page Control * Non-Printing Text Commenting *Line and Paragraph Indentation * Centering * Under lining * BOLD FACE *

HIDE SCREEN VIDEO!!!

Available to Imsai VIO video users for a huge 80x24 character screen.These versions put almost twice as many characters on the screen !!!

HAVE WE GOT A VERSION FOR YOU ?

The Electric Pencil II operates with any 8080/Z80 based microcomputer that supports a CP/M disksystem and uses a Imsai VIO, Processor Technology VDM-1, Polymorphic VTI, Solid State Music VB-1Bor any similar memory mapped video interface. REX versions now available. Specify when using CP/Mthat has been modified for Micropolis or North Star disk systems as follows: For North Star addsuffix A to version number, for Micropolis add suffix B to version number, e.g. SS-IIA, DV-IIB.

Vers

Vi deo

Printer

Pri ce

SS-II

SOL

TTY or

si mi lar

$225.

SP-II

VTI

TTY or

similar

$225.

SV-II

VDM

TTY or

si mi lar

$225.

SR-II

REX

TTY or

similar

$250.

SI-II

VIO

TTY or

si mi lar

$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.

DI-II

VIO

Diablo

1610/20

$300.

NS-II

SOL

NEC Sp

i nwri ter

$275.

NP-II

VTI

NEC Sp

i nwri ter

$275.

NV-II

VDM

NEC Sp

i nwri te r

$275.

NR-II

REX

NEC Sp

inwri ter

$300.

NI-II

VIO

NEC Sp

i nwri t e r

$300.

SSH

SOL

He I i os

/TTY

$250.

DSH

SOL

Helios

/Diablo

$300.

UPGRADING POLICY: Any version ofThe Electric Pencil may be upgradedat any time by simply returning theoriginal disk or cassette and theprice difference between versionsplus $15.00 to MSS. Accept onlyoriginal medi a at time of purchase.

MICHAEL SHRAYER SOFTWARE, INC.

1253 Vista Superba Drive

Glendale, CA 91205

(213) 956-1593

Electric Pencil I is still available for non CP/M users:

Vers Video

Printer

SSSP

sv

SSN

SPN

SVN

DS

DP

DV

DSN

DPN

DVN

SOLVTIVDMSOLVTIVDMSOLVTIVDMSOLVTIVDM

TTY

TTY

TTY

TTY

TTY

TTY

Di ab lo

Diablo

Diablo

Diablo

Diablo

si mi la rsi mi la rsimilarsimilarsimilarsi mi Lar1610/201610/201610/201610/201610/20

Cassette Disk Drive

CUTSTarbelITarbelI

CUTSTarbellTarbell

CUTSTarbellTarbell

CUTSTarbe 11

North StarNorth StarNorth Star

NorthNorth

StarStar

Diablo 1610/20

Tarbell North Star

Price

$100.$100.$100.$125.$125.$125.$150.$150.$150.$175.$175.$175.

Demand a demo from your dealer!

Circle 319 on inquiry card.

BYTE March 1979

187

Circle 324 on inquiry card.

4044 — $5

450 nsec.

— Quantity

64

250 nsec.

450 nsec

1-31 chips32-63 chips64-over

$8

76

$765

2716 — $49

Single 5V Supply — Limited Quantity

Z-80A — $19

4 Mhz. VersionOther Specials

6810 — $4.25 8251A — $7.50

All are Factory Prime Chips — Guaranteed Good

A

1 Seattle Computer Products, Inc.

<-*-> 1114 Industry Drive, Seattle, WA. 98188(206) 575-1830

RELIABILITY

QUALITY

DEPENDABILITY

ADDRESSING

PROTECT

BUFFERING

LOW POWER

WAIT STATES

QUALITY

GUARANTEE

DELIVERY

PHANTOM

TESTING

8K STATIC RAMASSEMBLEDS-100

MEMORY DISABLE IS IMPLEMENTED VIA PHANTOM (PIN 67)

SPECIAL

INTRODUCTORY

PRICE

ASSEMBLED/TESTED

(714)992-55402555 E. CHAPMAN AVE.SUITE 604FULLERTON, CA 92631

$14925 $18925

CALIFORNIA RESIDENTS ADD S% TAX

/DIGITAL/ _TL

clock is given on the top line of each page,exact to the second.

A small key pad is provided. Keying apage number selects that page from thestream and stores it in the set for displayas required. Normally only one page isstored but this is limited by economicsalone. Storage may be for seconds or weeksif necessary. Extra pages above the basic800 are obtained by using sets of pages withthe same page number, and cycling themover several minutes, or even once per day.The keypad has extra buttons that permitnormal picture display, Teletext display andcombined display. It also has clock time set-ting switches that allow a page to be selectedat a given time and stored to be displayed atleisure.

To use the set as a personal video displayunit, one merely needs to input serial bytesin the published standard Teletext formatvia a spare channel. Superb facilities areavailable, all controlled by the data. Char-acters are of a high standard since they aregenerated as video signals by the Teletextunit with an equivalent bandwidth of about14 MHz. The whole ISO-7 ASCII set isavailable with upper and lower case. Addi-tionally, there are 64 graphics characters(permitting maps and other displays). Theseare in a 3 by 2 rectangle using one of sixbits to give all possible on or off combi-nations. A duplicate upper case permitslegends within the graphics.

The Teletext unit has direct controlof the three color guns, permitting allcharacters to be displayed as black, white,red, green, yellow, blue, magenta or cyanin almost any combination, against a back-ground of a chosen color. Any or all of thecharacters may be flashed on and off toattract attention.

A special control character may be usedto open and close a box in the normalpicture. The box may be of any size or shapeand in any position on the screen. Thisfacility is normally used for subtitles andnews flashes, but could allow part of thescreen access to the personal computer whilethe family watches a normal program onthe rest of it. The store is continually up-dated by incoming new or repeat data but,if required, the whole page may be erasedbefore a new page is started.

Overall, this set seems to have a highpotential of usefulness. This may increasein the future since several control charactersare still spare. In Britain this video displayunit is also being standardized for telephonedata so that all possible digital informationservices may use the household television,giving a minimum total cost. One wonderswhat the limit is going to be. ■

188

March 1979 © BYTE Publications In

Circle 294 on inquiry card.

/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 Court

Fountain Valley, CA 92708(714) 962-3423

ALL PRICES AND PROGRAMS ARE SUB/ECT TO CHANGE WITHOUT NOTICE

Circle 321 on inquiry card.

BYTE March 1979

189

Technical

Fopum

Adding

Lowercase Displayto the ADM-3A

A W Walker

1914 Ridgewood Dr

San Diego CA 92139

The scenario: you wanted a good quality,versatile video display, so you stretched thebudget to the limit to buy a"dumb"terminalkit. After it's all together, you're showingoff the result of your assembly skills whensomeone innocently asks "Does it havelowercase?" Well no, it doesn't, actually.You ask around, and find there is a way, butat $89, the kit from Lear Siegler doesn'tquite fit the constraints. So a short expedi-tion into the innards of the ADM-3A shouldbe helpful; after all, one should only need abit more of a character generator read onlymemory to do the trick. Lo and behold, thedesigners at Lear Siegler have even providedthe socket, so let's see what fits into it. The

ADM-3A maintenance manual explainsnicely on page 6-11 that "the lowercaseread only memory is a custom maskedpart" whose distinguishing attribute isthat "all of the address lines. . . are in-verted." Well, just how unusual is that cus-tom read only memory? After some experi-mentation and further delving into themysteries of the schematics, it appears thatall one has to do is turn over the six char-acter address bits, use a readily availablelowercase 2513 for about $9.95 and be onthe air. An easy way to invert six bits mightbe with a 74LS04 transistor-transistor logic(TTL) integrated circuit.

To avoid any modifications to the

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

SOROCIQ 120

«795

Upper/lower case, 24 X 80 12" displayNumeric keypad, cursor control keysRS-232 interface plus extension port

Need more intelligence?

SOROC IQ 140 $1345

Need a Texas Instruments portable, ASR or KSR?Call MICROMAIL

FROM MICROMAIL

Teletype 43 S999

Upper/lower case, 132

columns

RS 232 serial, 110 or 300

baud

12" X 8'/2" pin-feed paper

(1620 pictured)

Diablo 1641/3 $2910

• Letter-quality printing

• HyType II daisywheel printer

• RS 232 serial, 110-1200baud

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

i-MJCRaMfliJ-

MICROMAIL • BOX 3297 • SANTA ANA, CA 92703(714) 731-4338

190

March 1979 DBYTE Publications Inc

Circle 222 on inquiry card.

RADIO SHACKi-STAR EDITION

RADIO SHUCK5-STAH EDITIOH

5Url«''"t . disk sottware,

aYTRS-80 system w * 32KJANI ognd conslsts oi

TDcnnq Thp software is supp»«" u"

TRSDOS. me ^.RnimHEUBBKW-^,

COMPLEX variables].

execution

So! subrouunes e»«9 as ^ ^Bnkabte niodules to- ™» asion are?00o?rnaaTuraUog:*nscenden.a,s.e,c

DISKTEKTEDITOB,ocS,era,s*

FORTRAN and assembar proa se

Sf.SSr'SSSSSW" and Oder

documents.

BISC0UN1 PRICE OF $/"""*»-

GUI l iel |luuw

325'

Dealer inquiries iovi

ted

LIFEBOAT ASSOCIATES

164 West 83rd Street/New York. NY 10024 [212) 580-0082Name .

Please send me theTRS-80 FORTRAN

Package @ $325.00 Address

(plus $2.00 shipping or

$5.00 foreign) City. State. Zip.

□ Check enclosed

D C.O.D. ($1.00add'l) Acct. No

G Master Charge

G VISA Signature

_Expires_

Figure 7: Modificationsthat must be made to theexisting ADM-3A to pro-duce lower case characters.

2"? PIN

DUAL IN LINEPLUG

1

LOWER CASE

2513

READ ONLY

MEMORY

4

4

5

5

6

6

7

7

8

8

II

1 1

12

12

14

14

15

15

16

16

17

74LS04

17

| 1

\«

1

18 1

y

N i

18

19

1

1 5

ISs

19

20 i

9

N8c '

20

21

!„

N?

; 21

122

13

inU

22

10 ,

i

L_

^J

10

24

, 24

(

1

{

)

2 3 9 13 23

MAY BE LEFTUNCONNECTED

GROUND TO74-LS04PIN 7

+ 5V TO74LS04PIN 14

$95 MORSE TRANSCEIVER

SEND:

- 1 to 150 WPM (set fromterminal)

• 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, 74) compatible

. Simplex Hi V Loop or T2Lelectrical interface

• Interfaces 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 on-board speaker

j Fully compensating tocopy any 'fist style

See your local dealer orcontact XITEX® direct.

MC/Visa accepted

»XIT€X CORP

13628 Neutron • P. O. Box 4021II)Dollus, Texas 75240*(2141 386-3869

192 March I979 OBYTL Publiciiions Inc

Circle 400 on inquiry card.

ADM-3A, I built my lowercase adapter on a24 pin dual-in-line plug that inserts into theexisting lowercase read only memory socket(location L14) in the terminal. On top of theplug I mounted a small piece of 0.1 by 0.1inch (0.254 by 0.254 cm) perforated boardwith sockets for the added lowercase 2513and the 74LS04 inverter. Using this as-sembly method requires fairly careful con-sideration to avoid interference with thecabinet top or other components. Formore compact assembly, the perforatedboard and sockets might be omitted with thenew read only memory mounted directly onthe plug and the inverter glued in placeupside down on top. Since all but six of theread only memory's pins are connecteddirectly to those of the plug, adequatesupport is available. The remaining six pinsneeding inversion can be bent out for appro-priate connection to the 74LS04.

Regardless of the final mounting and in-stallation method chosen, the required wir-ing is given in figure 1. Note that two addi-tional 2102-1 memories are required, whichplug into locations J11 and H11 to store theuppercase/lowercase data bit on charactersstored in the display memory. The total costof materials for my unit is $14.25, and it canbe built for less depending upon your junk-box, where you shop for parts, and themethod of construction.

Once installed in the ADM-3A, andassuming the UC DISP-U/L DISP at the in-side rear of the unit is set to U/L DISP withthe LC EN-UC switch at the left of the key-

board set at LC EN, the result is a full 95character terminal display including the 26lowercase letters and five additional symbolsas shown in table 1. Note that, since thecharacters are still only generated with a5 by 7 dot matrix, the lowercase letters withdescenders, such as g, j, p, q and y, do notactually display the descenders below thewriting line, but instead are elevated so as toallow the characters, including descenders,to be displayed within the 5 by 7 matrix.This technique results in a very acceptable lowcost upper and lowercase display. My cus-tomized ADM-3A has been in service quitesatisfactorily for more than eight months."

Bits

"~\765

110

111

4321 ^v.

0000

,

P

0001

a

q

0010

b

r

0011

c

s

0100

d

t

0101

e

u

0110

f

v

0111

a

w

1000

h

X

1001

i

V

1010

J

z

1011

k

\

1100

1

I

1101

m

}

1110

n

1111

o

DEL

Table I: Additional char-acters added to theA DM-3A by the modifica-tion shown in figure I.

(95 Stand Alone Video Terminal

abcdef 9 hi j kliMnopqrstuywxyz-C i >-!

* .'§ S i

r*-fA

SCT-100 FEATURES:

• 64 X 16 line format with 128 displayable charactersSerial ASCII or BAUDOT with multiple Baud rates• $187 Assembled or $157 Kit (Partial Kit $95)• Full cursor control with scrolling and paging• On board power supply MC/VISA acceptedCall or write today.

»XIT€X CORP

\ 13628 Neutron P. O. Box 402110

J Dallas, Texas 75240 (214) 386-3859

Overseas orders and dealers inquiries welcome

Circle 401 on inquiry card.

March 1979 © BYTE Publications Inc 193

Password Protection for Your Computer

( START J

SET

ALLOWEDATTEMPTS:A=2

PRINT"ID P"

FIRSTINPUTCHARACTER

NEXTINPUTCHARACTER

LASTINPUTCHARACTER

YES

PRINT"NO"

R Jordan KreindlerUSC Eastern Regional Office5510 Columbia PikeArlington VA 22204

Is your computer available via the tele-phone? Do you plan to leave it in a publicarea but want to limit its use? Will yoursystem be used in a school environmentwhere access must be controlled?

If the answer to any of the above ques-tions is "yes," this article should interestyou.

A Simple Password Procedure

One way to restrict system access is by

Number of

characters in

password

3456

Number of

possible

passwords

46,656

1,679,616

60,466,1 76

2,176,782,336

Table 7; Possible passwordcombinations using uppercase letters and digits.

^z>-

GO TO

"~l

-j OPERATINGSYSTEM

L I

Figure I: A simple pass-word approach.

f HALT J

lock and key. An easier method is to setupa password requirement. The flowchartin figure 1 is one way of implementinga password subroutine. This figure showsa simple method for checking a 3 characterpassword. Each character of the passwordis checked immediately after it is entered.Upon detection of an illegal character,"NO" is printed. As shown, the user isallowed two attempts to enter the correctpassword. If both attempts fail, the systemhalts.

f START J

SET

ALLOWEDATTEMPTSA = 2

PRINT"ID?"

GET ALL

INPUT

CHARACTERS

I 1

| NEXT TO LAST I

_| CHARACTER |

I VALID I

I I

PRINT

"no"

PRINT

"ok"

A= A-1

( " >

I 1

I GO TO I

-I OPERATING I

I SYSTEM I

I I

Figure 2: An improvedpassword approach.

194 March 1979 ©BYTE Publications In

Assume that the 26 upper case lettersand the 10 digits will be used to establisha password. For the algorithm in figure 1,a user could try, in order, all 36 charactersto find the correct first character. Afterthe first character is identified, the usercould follow the same procedure to findthe second character. Once the secondcharacter is found, the procedure couldbe repeated to find the third.

With this system, there are 36 + 36 + 36 =108 different possible passwords. This is toofew combinations for adequate security.

An Improved Password Procedure

A better procedure is shown in figure 2.Here, a 3 character password is also used.However, in this method all charactersare entered before the password is checked.Thus, a failing password yields little informa-tion. The user can't tell which of the charac-ters is incorrect. All that is known is that thecombination tried was incorrect.

With this procedure, there are 36 X 36 X36 = 46,656 possible passwords. This shouldbe an acceptable level of security. If addi-tional security is desired, the password canbe expanded beyond three characters.Table 1 shows the number of differentpossible passwords in these situations. Thistable was developed with the assumptionthat only upper case letters and digits wouldbe used in a password.

The program in listing 1 is an 8080/Z-80coding of the algorithm in figure 2. Theprogram as shown uses the password YES.It has been implemented on a North StarHorizon Computer. The following commentsshould allow this program to be modified forother systems (all numbers shown are inhexadecimal; DOS stands for disk operatingsystem):

Listing 1: An 8080/Z-80 assembler listing of the improved algorithm for a3 character password. This program is written for the password YES.

StatementCALL 200D

CALL 2900

JMP270F

MVI E, 53MVI E, 45MVI E,59

Comment

Calls the DOS outputroutine.

Outputs the character inthe B register.Calls the DOS characterinput subroutine.Jumps to the DOS to al-low normal system access.Establishes the passwordas "YES." These threestatements are where youestablish your own pass-word.

A password subroutine is easy to imple-ment and requires little computer memory.However, it increases the security of yoursystem."

29492969294929492949296929492949294929492949294929492949294929492949294?2949 14294B 06294D CD2970 062972 CD2975 062977 CD297A 04297C CD297F 062981 CD2984 042986 CD298V298929892989 CD298C 3229BF CD2992 322995 CD2998299829982998 IE299A BB299B C2299E 3A29A129A3 BB29A4 C229A7 3A29AA IE29AC BB29AD C229B029B029B029B0 0629B2 CD29B5 0629B7 CD29BA C329BD29BD

020D

0D 200A

0D 2049

0D 2044

0D 203F

0D 20200D 20

00 29CC 2900 29CD 2900 29

BD 29CD 29

IE 45

BD 29CC 2959

BD 29

4F

0D 204B

0D 20OF 27

29BD 06 4E

29BF CD 0D 20

29C2 06 4F

29C4 CD 0D 20

29C7

29C7

29C7

29C7 15

29C8 C2 6B 29

29CB

29CB

29CB

29CB 74

t:i:nt*»(*«»*i.tm:ti*»<*»*»<tj»»»mi*ri*i*

» *

* PROGRAM NAME :ID *» PROGRAMMER :R. J. KREINHLER *« DESCRIPTION :THIS PROGRAM *« ALL0US THE USER TO ESTABLISH *» A THREE CHARACTER ID(PASSUORD) *

* TO CONTROL SYSTEM ACCESS *» *******************************************

;*

DEFINE STORAGE LOCATIONS FOR INPUT CHARS

LOCI:

L0C2:

E0UEQU

29CCH29CDH

[ESTABLISH NUMBER OF TRYS

ID:

IDETR:

TRYS:

MVI

MVI

CALL

MVI

CALL

MVI

CALL

MVI

CALL

MVI

CALL

MVI

CALL

D,02HB.0DH200DHB,0AH200DHB,49H200DHB,44H200DHB,3FH200DHB,20H200DH

;SET ATTEMPTS TO TU0JPLACE "CR" IN BfPRINT "CR"JPLACE "LF" IN fi;PRINT "LF"JPLACE "I" IN B;PRINT "I"JPLACE "D" IN B;PRINT "D"JPLACE "?" IN BJPRINT "?"JPLACE " " IN B; PR INT " "

J06TAIN THE THREE INPUT CHARACTERS

;*

CALL 2900H JGET INPUT CHAR

STA LOCI [STORE CHAR AT ADDRESS LOCI

CALL 2900H JGET NEXT INPUT CHAR

STA L0C2 [STORE IT AT L0C2

CALL 2900H JGET LAST INPUT CHAR

JLEAVE IT IN A

[COMPARE INPUT TO VALID ID IN REVERSE ORDER

JPLACE "S" IN E

JC0MPARE UITH LAST CHAR IN

(NO MATCH GO TO TRYS

JPLACE 2ND CHAR IN A

JPLACE "E" IN E

JC0MPARE UITH 2ND INPUT CHAR

JN0 MATCH GO TO TRYS

JPLACE 1ST INPUT CHAR IN A

JPLACE "Y" IN E

[COMPARE UITH 1ST INPUT CHAR

JN0 MATCH GO TO TRYS

[IF ID VALID PRINT "OK" X GIVE SYSTEM ACCESS

;♦

0K: MVI B,4FH [PLACE "0" IN B

CALL 200DH [PRINT "0"

MVI B.4BH [PLACE "K" IN B

CALL 200DH [PRINT "K"

JMP 270FH [GIVE ACCESS TO SYSTEM

MVI

E,53H

CMP

E

JNZ

TRYS

LDA

L0C2

MVI

E.45H

CMP

E

JNZ

TRYS

LDA

LOCI

MVI

E,59H

CMP

E

JNZ

TRYS

JIF INPUT INVALID PRINT "NO"

MVI B,4EH

CALL 200DH

MVI B,4FH

CALL 200HH

JPLACE "N" IN B

[PRINT "N"

JPLACE "0" IN B

JPRINT "0"

[TEST NUMBER OF INPUT TRYS

DCR D

JNZ IDETR

REDUCE D BY 1

IF D NOT 0 TRY AGAIN

HALT:

JIF ALL ALL0UED TRYS FAIL THEN HALT

;*

HLT

March 1979 ©BYTE Publications Inc

195

The Power of the

HP-67 Programmable Calculator, Part 1

Robert C Arp Jr

POB 1268

Minden NV 89423

Photo I: The HP-67, one of the sophisticated pocket calculator productswhich represent the small end of the personal computing hardware range.

Introduction

This article is not a simple productreview. Rather, it is the presentation of acomplex programming example designed toillustrate the exploitation of a computingsystem composed of the HP-67 and itsaccessories, and worksheets that reduce thetask of programming the calculator to asystematic exercise. The HP-67 is a pocket-sized version of the HP-97. The built-inthermal printer of the HP-97 is the majordifference between the calculators. TheHP-67 is shown in photo 1.

In addition to the HP-67, there areother sophisticated programmable calcula-tors available at price levels which attractedconsumers to the first scientific calculatorsin 1972 and the years following. I purchasedmy HP-35 early, and until the introductionof the HP-67 I considered it to be the finestcalculator ever manufactured.

I must admit that I was intrigued by thefeatures of the SR-52 when it was intro-duced. However, three of the Hewlett-Packard features force me to vote for theHP-67: choice of display format (fixeddecimal, scientific and engineering; all withnumber of digits control), reverse Polishnotation (RPN), and my previous experiencewith Hewlett-Packard. (Since 1972 I haveexperienced zero down time with the HP-35.Therefore, I am properly impressed with HPquality.)

Although I expect to see calculators withmore memory capacity and some increase inprogramming capability in the future, Ithink the HP-67 represents a plateau ofsophistication that will satisfy the needs of alarge percentage of users. The HP-67 has 26data storage registers, 224 steps of programmemory (each step can hold as many asthree keystrokes), unconditional and condi-tional branching, three levels of subroutines,four flags, 20 labels, indirect addressing, and,if that isn't enough, it accepts magneticcards that record data or programs. Inaddition, each of the 35 keys control up tofour separate operations, and, of course, it iscompletely portable with the rechargablebattery pack.

196

March l'J79 3 BYTL Publications hie

ARE YOUTAKING FULL

ADVANTAGEOF YOURCOMPUTER?

DNO

Then we want you. Assembled at the Per-sonal Computing Festival of the 1979 Na-tional Computer Conference will be scoresof experts with diverse backgrounds. Yourimagination cannot help but be triggered with new uses and applicationsfor your own computer. Over 25 technical sessions will cover such topicsas: languages, education, robotics, small business applications, speechsynthesis and recognition, and investment analysis. Live demonstrationsof applications by individual users will enable you to see the latest per-sonal computing realities in ac- ■ ■ -«r jr<«_ ^^ Tnen we need y°u-

tion. Commercial exhibits will bring ^^^ l^'S^^ You have developed

you up-to-date on industry offer- ■ I jJ^^V an application to a

ings in microcomputer products, ' ' ^■" -^™™^^F point where your re-systems, and services. Take full suits are up to your own high personal standards. Speak toadvantage of your computer by us, and the world, at the NCC 79 Personal Computing Fes-attending the NCC Personal Com- tival. You can help yourfriends and colleagues take full ad-puting Festival at the Americana vantage of their own computers by presenting a paper, chair-Hotel in NewYork City,June 4-7. ing a session, or demonstrating your application. ValuableFor continuing information about prizes will be awarded for outstanding applications demon-the complete computing experi- strations and for the best papers published in the NCC 79ence at NCC, simply fill out and Personal Computing Proceedings. Fill out the coupon be-return the coupon below. low, check the box on conference participation, and we'll

send you complete information. Time is short, so you mustact promptly. But remember...whether or not you're pre-sently taking full advantage of your computer, there's aworld of information on the very latest in personal com-puting awaiting you at NCC '79 in New York.

NCC'79

BYT

PERSONAL COMPUTING FESTIVAL

c/o AFIPS, 210 Summit Avenue, Montvale, N.J. 07645

□ Please keep me up-to-date on NCC '79 and its Personal Computing Festival.

□ I'm interested in making a presentation and have enclosed a description ofmy topic.

□ I'm interested in demonstrating my own personal computing application andam enclosing a description of it.

□ My company is interested in exhibiting at the Personal Computing Festival.

□ Please send information on the NCC 79 Travel Service.

Name Title

Company

Street

City State Zip

BYTE March 1979 197

Table 1: A list of pre-cautions for prospectiveusers of the HewlettPackard HP-67 and HP-97programmable calculators.

Learning to Use the HP-67

Table 1 is a list of cautions which shouldbe memorized before using the HP-67. Thesesimple rules will allow maximum utilitywith minimum misery. After memorizingthese rules, read Appendix B of the HP-67handbook before attempting to use thecalculator.

The HP-67 is a very powerful computer.One should not expect to memorize theOwner's Handbook and Programming Guidewith a cursory reading. (The handbook isalmost 3/4 inch thick.) Its contents shouldbe digested in two stages: After acquiringyour HP-67, read the handbook leisurely fortwo or three days, performing calculationswhen necessary. Next, design programs thatrequire as many functions as possible, refer-ring to the handbook often.

In addition to the Owner's Handbook andProgramming Guide, the HP-67 is accom-panied by a "Standard Pac" of programswhich includes:

• 15 prerecorded magnetic cards con-taining programs for problems com-mon to business, science and engi-neering, a diagnostic program and anabrasive cleaning card.

• 24 blank magnetic cards.

• Standard Pac Handbook.

The Standard Pac Handbook contains adescription of each of the standard pro-grams, instructions for running the pro-grams, example problems, program listingsand explanations of important programmingtechniques. As part of learning to use theHP-67, an owner should be sure to read thishandbook. Pay particular attention to any

1. Always have a battery pack installed in calculator.

Connect the calculator to the charger using the following steps:

a. Turn HP-67 off.

b. Connect charger to calculator.

c. Plug charger into power outlet.

d. Turn HP-67 on.

3. Disconnect the charger from the calculator using the following steps:

a. Turn HP-67 off.

b. Unplug charger from power outlet.

c. Disconnect charger from calculator.

4. Leave the W/PRGM-RUN switch in the RUN position except when programmingor recording a program.

5. Check each program of the Standard Pac and your Application Pacs as soon asyou receive the Pacs. Don't wait until the need occurs to discover an error.

6. Store partially completed programs on two blank cards. Don't trust yourselfwith only one copy.

7. If any difficulty is experienced when removing a program card from the windowslot, press down on the card with a pencil's eraser and slide the card out of theslot.

8. If the motor begins to sound as if it is laboring, a pass or two of the abrasivecleaning card may clear up the problem. Remember, also, that a fully dischargedbattery pack must be charged for five minutes before a card can be read.

programming techniques you might be ableto utilize.

Application pacs (which include businessdecisions, statistics, mathematics, electricalengineering, clinical lab, nuclear medicine,mechanical engineering, and surveying) con-tain about 20 prerecorded program cardsapiece and a handbook containing adescription of the programs with relevantequations, instructions for running the pro-grams, example problems and programlistings.

All prerecorded cards in the pacs haveprinted mnemonics which substitute for theinstructions after a few familiarization runs.The mnemonics include input variables, keysto be pressed and outputs to be expected. Afull explanation of the mnemonic symbolsfor the magnetic cards may be found onpage vi of the Standard Pac Handbook andin each Application Pac Handbook.

Key Functions

All of the HP-67 Key Functions arediscussed briefly on pages 8 thru 13 of theOwner's Handbook and Programming Guide.The mathematical key functions are dis-cussed in detail in the first 120 pages of theguide. Following this is a complete de-scription of the programming key functions.Card reader operations and the appendicestake up the rest of the guide.

Many of the mathematical and pro-gramming functions are self-explanatory bytheir designations. Examples of these, whichwould be familiar even to those peopleunfamiliar with Hewlett-Packard calculators,are t, X, +, —, ti and \fx. Experienced usersshould recognize ENTER, CHS, EEX andCLX. After brief explanations, it is easy toremember the function of most unfamiliarkeys by their abbreviations: STK = stackreview, ABS = absolute value, INT = integerportion, FRAC = fractional portion, RND =round off, STO = store, and RCL = recall.

32 of the keys may be used as a singlestroke function, or they may be pre-ceded by one of three prefix keys (twostroke function) and, occasionally, they maybe followed by another function key (threestroke function). These 32 keys are used toprovide 116 functions (five are redundant),but because the key designations closelydescribe the functions performed, they areeasily memorized. I also found the mathe-matical functions listed in table 2 to beespecially useful.

Functions I Would have Appreciated

The programming functions of the HP-67

198

March I9796BYTE Publications Inc

FUNDAMENTALS OF COMPUTER

ALGORITHMS

by E. Horowitz and S. Sahni

□ The concept of computer algorithmsis fundamental to any study of computerprogramming. Horowitz and Sahnipresent the subject completely, cover-ing the underlying strategies, designtechniques, analysis, and testing ofalgorithms. Problems and exercises areincluded, using an ALGOL/PASCAL-1 ike language. Twelve chapters; an es-sential text. 626 pp. $19.95 hardcover.

FUNDAMENTALS OF

DATA STRUCTURES

by E. Horowitz and S. Sahni

D This text covers the other half ofcomputer programming; data struct-ures, their specification, design, evalua-tion, and realization in a programminglanguage. Chapters include: arrays,stacks and queues, linked lists, trees,graphs, internal sorting, external sort-ing, symbol tables, and files. Many ex-amples and exercises are provided, us-ing an ALGOL/PASCAL - like langua-ge. 564 pp. $18.95 hardcover.

A COLLECTION OF PROGRAMMING

PROBLEMS AND TECHNIQUES

by H.A. Maurer and M.R. Williams

□ Here is a book that presents youwith problems — nearly 400 of them:problems and games like chess, bridge,NIM; practical problems such as appli-cations of the law of science, Kramer'srule of solving simultaneous equations,and applications of Latin squares, toproblems of probability. The most valu-able feature of the book is its carefuland thorough explanation of the use ofalgorithms to solve problems. Nodyed-in-the-wool programmer or expe-rimenter will be able to read this bookfor very long before trying to solve thetantalizing and well presented prob-lems. 256 pp. $15.00

ALGORITHMS + DATA

STRUCTURES = PROGRAMS

by Niklaus Wirth

□ "Programs, after all, are concreteformulations of abstract algorithmsbased on particular representations andstructures of data". Niklaus Wirth herepresents the fundamental concepts ofalgorithms and data structures and theirinterdependance. In his lucid treatmenthe covers fundamental data structures,sorting, recursive algorithms, dynamicinformation structures, language struct-ures and compilers, using PASCAL inthe examples and exercises. An import-ant text. 366 pp. $19.95 hardcover.

THE ART OF COMPUTER PROGRAMMING

by D.E. Knuth

□ Volume I, Fundamental Algorithms, Second Edition, begins with a thoroughdiscussion of the mathematics used in computer programming, followed by a treat-ment of information structures, stacks, arrays, linked lists, dynamic storage alloca-tion, and trees. 634 pp. $22.50 hardcover.

D Volume II, Seminumerical Algorithms, Second Edition, is concerned withrandom numbers, statistical tests, random sequences, as well as arithmetic(floating point and multiple precision), polynomials, and rational arithmetic. 624pp. $22.50 hardcover.

□ Volume III, deals with Searching and Sorting, as the name implies, theemphasis is on algorithms for sorting, including combinatorial properties of permu-tations, internal sorting, optimum sorting, and external sorting. Also included is asection on sequential searching, hashing, digital searching, and more. 722 pp.$ 22.50 hardcover.

A hypothetical assembly language called MIX has been developed by theauthor to illustrate programming examples throughout the series. MIX is easilyconvertible to other assembly languages.

BITS

mc

Books to erase the impossible

25 Route 101 West, PO Box 428, Peterborough, NH 03458

Name

Address.City

State_

_ZIP_

Number of Books.

Postage: $.75 per Bookor $1.00 outside U.S.

Grand Total

□ Check Enclosed

□ Credit Card

Dealer Inquiries InvitedYou may photocopy this page

I

BYTE March 1979 199

Circle 35 on inquiry card.

Table 2: Some usefulmathematical functionsavailable on the HP-67and HP-97 programmablecalculators.

certainly allow the writing of complex pro-grams. Yet, I would ask for the followingadditional features:

• I would like to be able to clearregisters RO thru R9 with one or twokeystrokes, without clearing registersA thru E and I. (Pressing f CL RECclears primary storage registers ROthru R9 plus A thru E and I.)

• I would like to be able to performdirect storage register arithmetic uponthe contents of all registers. (Storageregister arithmetic can be performeddirectly upon the contents of registersRO thru R9 only. Indirect storageregister arithmetic can be performedupon the contents of any storageregister.)

• I would like to be able to directlyaddress all storage registers. (Regis-ters RO thru R9 and registers A thruE and I can be addressed directly,while registers RSO thru RS9 can beaddressed indirectly or by pressingfPSSS.)

Most Appreciated Features

Personally, I think the most powerfulHP-67 functions are the five program editingand manipulation functions. These five func-tions are nonrecordable operations thatassist you in altering and correcting yourprograms.

The SST (single step) function may beused while either programming or running aprogram. When SST is pressed (with theW/PRGM-RUN switch set to W/PRGM) thecalculator moves to and displays the nextstep of program memory. This allows you toview each step of the program without exe-cution. If SST is pressed while theW/PRGM-RUN switch is set to RUN, thecalculator displays the next step of programmemory, and, when you release the SSTkey, the calculator executes the instructionloaded in that step. This operation is espe-cially useful when debugging a program.

FunctionName

P

R

LSTx

R

D

DEG

RAD

GRD

H.MS

H.MS+

Definition

Rectangular to polar coordinates conversion

Polar to rectangular coordinates conversion

Recalls number displayed before the previous operation

Converts degrees to radians

Converts radians to degrees

Sets decimal degrees mode for trigonometric functions

Sets radians mode for trigonometric functions

Sets grads mode for trigonometric functions

Converts decimal hours or degrees to hours, minutes and seconds, or

degrees, minutes and secondsAdds hours, minutes and seconds (or degrees, minutes and seconds)

in the Y register to those in the X register

When the W/PRGM-RUN switch is set toW/PRGM, the h BST operation causes thecalculator to move to and display the pre-vious step of program memory. If theW/PRGM-RUN switch is set to RUN, press-ing BST, after h has been pressed andreleased, causes the calculator to display thecontents of the previous step of programmemory. When BST is released, the originalcontents of the X register are displayed, thecalculator having executed no instructions.

The GTO.nnn operation permits you tojump to any location in program memoryfor editing, additions or corrections to aprogram. When GTO. is pressed, followed bya three digit step number, the calculatortransfers execution so that the next opera-tion or instruction will begin at thatstep number (this happens whether theW/PRGM-RUN switch is set to W/PRGM orto RUN). No instructions are executed.

When the W/PRGM-RUN switch is set toW/PRGM, a press of h DEL will erase theinstruction at the current step of programmemory, and all subsequent instructions inprogram memory move upward one step.(Note: Any time an instruction is insertedbetween existing instructions in a program,all subsequent instructions in program mem-ory move downward one step. Thus theHP-67 has a true insertion capability.)

Programming the HP-67

A program for the HP-67 is nothing morethan a listing of the keystrokes necessary toperform the desired calculations manually,plus the labels to define the beginning andending of the program, loops and subrou-tines. The listing may be prepared using aworksheet such as that shown in figure 1.The form shown is page 1 of a set of fivewith preprinted program steps from 1 thru224.

When creating programs, remember thatany solution that gives the correct outputsmay be a suitable program. There is no onecorrect program for any problem. Emphasis,when programming, must only be placed ontime. The time spent in programming mustbe compared to the time involved in runningthe program and the number of times theprogram will be used. It would be silly tospend days modifying a program with arunning time of 30 minutes so that it couldbe run in 20 minutes if the program is to beused only two or three times.

In addition, programming is a personalart. Spend enough time creating your pro-grams to satisfy your own artistic fastidious-ness. Of course, you are limited to theavailable memory. However, the example tobe discussed illustrates that very complex

200

March l<J7'J BY! I. Publications Inc

The World Leaders in Microprocessor Books

Program Books Written in BASIC

Payroll with Cost AccountingAccounts Payable andAccounts ReceivableGeneral Ledger

These books feature complete, quality applicationssoftware for small-to-medium sized businesses.Each book includes fully documented program list-ings, sample printed reports, installation instruc-tions and user's manual. Written in an extendedWang BASIC (write to ask us about our CP/MC8ASIC version and other conversions!. 375 pageseach.

PayrollAP & ARG. Ledger

#09-8#13-6#20-9

$15.00$15.00$15.00

Some Common BASIC Programs

76 short practical programs, most of which can beused on any microcomputer with any version ofBASIC. Complete with program descriptions, list-ings, remarks and examples. 200 pages.#06-3 $8.50

Assembly Language Programming

8080A18085

Assembly Language Programming6800 Assembly Language ProgrammingZ80 Assembly Language Programming6502 Assembly Language Programming

These books describe how to program amicrocomputer using assembly language. Theydiscuss classical programming techniques, andcontain simplified programming examples relevantto today's microcomputer applications. 400 pageseach.

8080A/8085 ALP #10-1 $8.50

6800 ALP #12-8 $8.50

Z80 ALP #21-7, available soon (see

6502 ALP not yet available below)

OSBORNE & ASSOCIATES, INC.

P.O. Box 2036, Berkeley, CA 94702630 Bancroft Way, Berkeley, CA 94710(415) 548-2805 • TWX 910-366-7277

Programming for Logic Design

8080 Programming for Logic Design6800 Programming for Logic DesignZ80 Programming for Logic Design

These books describe the meeting ground of pro-grammers and logic designers; written for both.they provide detailed examples to illustrate effec-tive usage of microprocessors in traditional digitalapplications. 300 pages each.

8080 PFLD

#04-7

$8.50

6800 PFLD

#05-5

$8.50

Z80 PFLD

#11-X

$8.50

An Introduction to Microcomputers

Volume 0 - The Beginner's Book

If you're not familiar with computers, but wouldlike to be, then this is the book for you. Computerlogic and terminology are introduced in a languagethe beginner can understand. Computer software,hardware and component parts are described, andsimple explanations given for how they work. Textis supplemented with creative illustrations andnumerous photographs. 300 pages. #08-X $7.95

Volume 1 - Basic Concepts

A must for anyone in the computer field, this bestselling text explains hardware and programmingconcepts common to all microprocessors. Itsuniversal appeal is reflected by its having thegreatest yearly sales volume of any computer text.350 pages. #02-2 $8.50

Volume 2 - Some Real MicroprocessorsVolume 3 - Some Real Support Devicesand update subscriptions

These two books provide complete descriptions ofvirtually every microprocessor and most supportdevices. There are no other books like these; theyprovide detailed part descriptions from an inde-pendent source.

To cope with the rapid evolution of micro-processor products, each volume has its ownseries of six bimonthly updates, allowing you to re-main current with all parts as soon as they arereally available. Update subscriptions sold sepa-rately.

These two books replace the 1977 edition ofVolume II - Some Real Products. Volume 2, 1400pages; Volume 3, 700 pages; printed loose leaf.Binders sold separately.

Volume 2 w/o binder #15-2Volume 2 binder #16-0

Volume 3 w/o binder #18-7Volume 3 binder #19-5

Volume 2 update onlyVolume 3 update onlyVolume 2 and 3 updates

$25.00

$ 5.00

$15.00

$ 5.00

$25.00/yr.

$25.00/yr.

$40.00/yr.

Attention:Dept. II8

Please send the following information:O Becoming an OEfA dealerD School discounts

□ List of foreign distributors

□ More information on O&A books

PHONE

Please notify me when available:

□ Z80 Assembly Language Programming

D 6502 Assembly Language Programming

Payment in advance must be enclosed for purchases of up to $70.00. Invoicing U.S.purchases over $70.00 available upon approval of your account. All foreign orders mustbe prepaid in U.S. dollars drawn on a U.S. bank.

BOOK

PRICE

QUANTITY

AMOUNT

s

Calif, residents add 6% sales tax. Subtotal

S.F BART residents add 6-1/2 % sales tax,

No tax on update subscriptions. California residents tax

Updates:

HIPPING (Shipping for large orders to be arranged) shipping

TOTAL

□ All foreign orders $4.00 per 6-issue subscription for airmail nccrv

Books & Binders:

□ All foreign orders $4.00 per book for airmail

D $0.45 per item 4th class (allow 2-3 weeks in the U.S.)

□ $0.75 per item UPS in the U.S. (allow 10 days)

□ $1.50 per item special rush shipment by air in the U.S.

F11

Circle 292 on inquiry card.

BYTE March 1979

201

problems can be handled with 224 steps ofprogram memory. Furthermore, don't forgetthat data may be stored on the magneticcards, and this memory is limited only bythe number of blank cards you purchase.

The guide (and probably every otherpublication which discusses programming)suggests that a flowchart be drawn for eachprogram. A flowchart breaks down a pro-gram into small groups of instructions whichcan be handled more easily than the entireprogram. In addition, flowcharts can be usedas documentation for the program. I cannotargue with this reasoning because it seemslogical. I can only say that I personally findflowcharts worthless when they are drawn,and I can, within the limits of my capa-bilities, write a program while another pro-

PROGRAM TITLE: PAGE OF

APPLICATION:

PROGRAMMER: DATE:

REGISTERS

0

1

2

3

k

5

6

7

R

Q

SO

SI

S2

S3

S4

S5

S6

S7

S8

S9

A

B

C

D

TT

I

LABELS

FLG

SET STATUS

A

B

C

D

E

0

FLAGS

TRIG

DISP

ON

OFF

a

b

G

d

e

1

DEC

FIX

SCI

0

1

3

k

2

GRA

ENG

5

6

7

8

9

3

RAD

n

NUMADD

PROGRAM CODES

DEFINITIONS AND REMARKS

NUMERIC

SYMBOLIC

001

002

003

00!+

005

oof

00?

008

009

010

011

012

013

oi h

015

016

017

018

019

020

021

022

023

024

025

026

027

028

029

030

031

032

CALCULATOR PROGRAM WORKSHEET

TREBOR ENGINEERING

Figure I: An example of the author's calculator program sheet used to write aprogram for the HP-67 which solves up to nine equations in nine unknowns.

grammer is fooling around with theflowchart.

I certainly do suggest, however, that youtry the flowchart approach to programming,but don't be surprised if you find it easier totackle the program directly. For documen-tation, 1 believe that comments with theprogram and the run instructions are morevaluable than any flowchart, especially ayear or two after the program is written.

While creating a program, a review of the"Function Key Index" every now and thenwill keep the full repertoire of the HP-67fresh in your mind. This is important if youwant to take advantage of the many mathe-matical, branching and looping functionsavailable. Also, since there are usually manyways to accomplish a desired series of steps,spend a moment or two thinking of thevarious possibilities. For example, if a condi-tional test must be executed, would g X=Y, fX=0, f DSZ, f ISZ, g DSZ(i) or g ISZ(i) fitbest in your program? Each of these func-tions are designed to be used in slightlydifferent ways, yet all of them may be usedto test for zero.

When g X=Y and f X=0 are used, thecalculator branches around the next instruc-tion if the question asked by the conditionalis not true; f DSZ and f ISZ decrement orincrement the contents of the I registerunless its contents are zero, and, if thenumber in the I register has become zero,program execution skips the next step justlike a false conditional instruction; g DSZ(i)and g ISZ(i) decrement or increment thecontents of the storage register addressed bythe current number in the I register unlessthe contents of the addressed register arezero, and, if the number in the addressedregister has become zero, one program stepis skipped.

These functions, as well as the manyother programming functions, are fully ex-plained in the guide. Since it is not my desireto reprint the guide, I will not dwell uponthese explanations. I would, however, like tomention two other types of choices thatmust often be made.

One of these choices is whether to branchforward or to branch backward. A backwardbranch, which is usually executed faster,becomes necessary when all labels have beenused for other purposes. But any correctionto the program after the backward branchhas been added may necessitate a correctionto the number stored in the I register. (It isthe number stored in the I register whichcauses the jump.)

The other choice is whether or not asubroutine should be used to accomplish thefunctions performed by a group of key-strokes used more than once during program

202

Mircli 1979 3 BY rL Publications Inc

INTRODUCINGG2 LEVEL III BASIC.

Now do more than ever before with the most powerful Basic you can buy for theTRS-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 or800/538-8541. In California, please call 800/672-8691.

GCT

A Producl of GRT Corporalion

Consumer Computer Grouo

1286 North Lawrence Station Road, Sunnyvale. California 94086.408/734-2910

THE REASON

YOU BOUGHTYOUR COMPUTER.

Circle 151 on inquiry card.

BYTE March 1979

203

execution. Because of the run time neededto search for the subroutine and the dis-continuity in the program which results, Irecommend not using subroutines unless it isabsolutely necessary to save space in mem-ory to accommodate a program which wouldotherwise have more than 224 steps.

1 have seen commercial programs soriddled with subroutines that the programshad to be completely rewritten at enormousexpense after the programmers were re-placed. Of course, you would not want topunish yourself this way. When you own thecalculator, you don't pay for computer timeor memory. It costs you the same to run a224 step program as it does a five stepprogram.

As I have stated above, the guide coversall programming operations thoroughly.There is one operation I found difficult toimplement. I am referring to the g MERGEfunction, but now that I have performed thefunction successfully, I can't imagine thecause of the difficulty I experienced.

The g MERGE function allows data orprograms from magnetic cards to be mergedwith data or programs in the calculator.When a program from a card is merged withone in the calculator, steps 000 thru nnn of

Retro-Graphics™

For your Dumb Terminal. The Retro-Graphics PC card mounts easily in the LearSiegler ADM-3A to provide you with an afford-able graphics computer terminal.Features:

Z-80 Based512 by 250Dot MatrixSimple Plug-inInterconnect

Point PlottingAutomatic VectorGeneration

Optional TEKTRONIXSoftware Compatibility

You will be impressed with the packaging, per-formance and price of the Retro-Graphics card.Write or phone today for complete specifications.

DIGITAL ENGINEERING, INC.

1787 Tribute Road. Suite K

Sacramento, CA 95815

(916)920-5600

the original program are preserved. Thisfunction permits you to add to or alter aprogram that is already loaded in thecalculator.

In fact it is possible to include the gMERGE instruction immediately precedingthe h PAUSE instruction in a program andto load a program or data from a magneticcard into the calculator while a program isrunning. Not mentioned in the guide is thefact that when a program is loaded during apause in a running program an h RTNimmediately following the h PAUSE will beoverwritten by the first step of the mergingprogram and execution of the new programwill begin immediately after it is loaded.

Card Reader Operations

One of the primary reasons the HP-67 issuch a versatile calculator is its ability tostore information on magnetic cards and toretrieve this information at a later time.Therefore, I would like to stress the follow-ing points concerning this operation:

• When storing the contents of theregisters on a data card, always passside 1 of the card through the cardreader first, then side 2, if necessary.This insures that any nonzero data inthe secondary registers will always bestored on side 2 of the card.

• When it is necessary to restore datafrom only one side of a magnetic cardinto the calculator, pass the side of thecard which contains the data throughthe card reader. Then, when crd isdisplayed, press CLX.

• Accidents may occur that will destroythe program or data on a card, there-fore, if the information to be stored isimportant or extensive, do yourself afavor and store it on two cards.

• Identify the information on your mag-netic cards with a #2 pencil. Whennecessary, the cards can be easilyerased.

• When inserting the leading edge of acard to be read into the card readerautomatically during a pause, re-member that the program must actu-ally be running when you insert theleading edge. Be sure to insert the tipof the card far enough into the cardreader."

Next month's concluding installment ofthis article features an example programshowing how the HP-67 can be used to solvesimultaneous network equations for an elec-trical network.

204

March 1979 0BYTL Publication! Inc

Circle 88 on inquirv card.

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 CONT. USA

90 DAY WARRANTY GUARANTEES YOUYOUR EQUIPMENT WORKS PROPERLY

/ YEAR EXTENDED WARRANTYAT SPECIAL RATES

p^ Our Specifications Before You Buy

DISPLAY

SPECIFICATIONS

INTERFACE

2000

SCREEN CAPACITY, CHARACTERS

CHARACTERS PER LINE 80

NUMBER OF LINES 25

SCREEN P4 phosphor (white!

TUBE SIZE(DIAGONAL) 12 inches (30.4 cm)

VIEWING AREA 54 square inches (137.1 cm)

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

Model 501Model 502

- 115 volts, 60 Hz, 100 watts nominal■ 230 volts, 50 Hz, 100 watts nominal

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

DISPLAYABLE CHARACTERS 126 (including space)

CURSOR CONTROLS Up, down, left, right,

home, return

AUTOMATIC ROLL-UP Switch selectable

AUTO CARRIAGE RETURN

AND LINE FEED Switch selectable

MONITOR MODE Special "Monitor" Mode

NATIONAL DISTRIBUTOR FOR

allows display of conlrol codes(first two columns) of ASCI ICode Chart).

S\V>

DEALER NETWORK IS NOW BEING SET UP - YOURINQUIRY IS INVITED

VISA'

3S SALES, INC.

P.O. Box 45944918 - 622-1058

OLDEST INDEPENDENT

COMMERCIAL CRT TERMINAL

MANUFACTURER

Tulsa, OK 74145

Circle 364 on inquiry card.

BYTE March 1979

205

Circle 73 on inquiry card.

CP/lios

microcomputer softwarefor professionals

The people who brought you therevolutionary tax software — now offer their

GENERAL LEDGER PACKAGE

• Over one year in development and use in aCPA's practice

• Screen formatted with cursor positioning forefficient input and editing

• Transaction history file maintained

• Comparative financial statements

• User defined output format

• Interactive with tax software and payrollprograms

Runs on North Star Basic and CP/M. Requires B KFree Memory, Dual Disk.

For Free Brochure Describing All of Our programs,write:

CPAids

1640 Franklin Avenue Kent, Ohio 44240216-678-9015

A Division of Computer Tax Service Inc.

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 TIME

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 -H's. We are too.

DIGITAL PrfTHWrtW INC.

4151 Middlefield Road • Palo Alto,California 94306 • Telephone (415) 493-5544

Nyfjbles

Titus Purdin5901 JFK #101N Little Rock AR 72116

Computer Assisted

Flight Planning

The production of flight plans is a taskthat lends itself well to computer solution.It is a time-consuming and repetitious jobinvolving numeric manipulation and outputformatting, just the sort of thing that com-puters do accurately and quickly. The draw-back has been, of course, that computerfacilities have not been made available topilots in a way that allows timely productionof flight plans. To be useful, flight plansmust reflect accurate route and weatherdata, and so cannot be produced too far inadvance. The solution, of course, is that theincreased availability of computing facilitiesmade possible by the microprocessor makesautomated flight planning practical even forprivate pilots.

The heart of any flight planning systemconsists of three calculations. Indeed, any-thing else the system may provide is reallythe option of the system's designer. Thefirst necessity is a true air speed calculation.Without going into too much detail, air-planes fly with "indicated" air speeds, butflight plans need "true" air speeds for theircalculations. The formula used in my pro-gram is:

true air speed = indicated air speed

x [.971 + tempx ((.017+ INT(altitude /50.1) x .0021/10)+ altitude /10x (.02 + INT(altitude /50.1 x .00035)] .

This formula provides accuracy within 1knot up to altitudes of 15,000 feet. Theerror is somewhat greater than that above15,000 feet, but might be considered accept-able up to 20,000 feet. For private sectorflying this formula should provide excellentaccuracy and reasonable simplicity. Anothersimpler formula is usable up to altitudes of8,000 feet:

true air speed = indicated air speed x (temp x .002+ altitude / 10 x .018 + .971).

There are formulae which purport to giveabsolute accuracy at all altitudes, but thosethat I am familiar with are extremelycumbersome and time-consuming.

206

March 19790BYTE Publications Inc

Circle 86 on inquiry card.

P mto \m?\Mm to v®i& a

/V£W

#&

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 rate10s 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*

0*

t*

0*

—► 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 density ondisk to replace your old single density format program. (Soft Sector IBM format). $320. Assembled and tested.

SHIPPING STARTED OCTOBER '78.

—► PEGASUS DOUBLE DISK ENCLOSURE and POWER SUPPLY

Holds one or two drives, has two drive power supply. 110 or 220V. Comes empty or filled with Shugart drives. Varia-tions preclude listing prices. Call or write for full details.

SHIPPING STARTED OCTOBER '78.

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.

J190.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 BankAmericard accepted.

Naticnal Multiplex Corporation

„__^-j 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 t~~-»-~.

Circle 279 on inquiry card.

BYTE March 1979 207

Circle 10 on inquiry card.

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 DIDWe honor Visa and Mastercharge

102 Avenida Dela Estrella

Suite 208

San Clemente, CA 92672

(714) 492-7633

CATCH THE

S-100INC.

BUS!

S.D. Systems Floppy DiskInterface Kit

Imsai S102-1 Serial PortInterface Kit

Imsai MIO Multiple I/OInterface Kit

ECHO Slot Main Frame KitGodbout 24K Memory UnkitSSM 104 2P-T-2SI/0 KitNorth Star HorizonIDual Density Kit

LISTPRICE

OUR

SPECIAL

CASH

PRICE

159.00 135.00

125.00 106.00

195.00325.00445.00149.95

166.00277.00380.00128.00

1339.00

1599.00

Call for Our Prices on:

Cromemco, IMSAI, Vector Graphic,

North Star, Sanyo, Hazeltine, IMC

Plus Most Other Major Lines.

Subject to Available Quantities. • Prices Quoted Include Cash Discounts.Shipping & Insurance Extra.

bus ...S-lQD,inc.

Address. .7 White Place

Clark, N.J. 07066Interface. .201-382-1318

The second necessary calculation is drift.Drift is the measure of how many degreesoff your intended course the wind willblow you if you let it. My program uses aone pass wind solution that gives the driftand ground speed after going through theformula just once. This particular solutionhas the disadvantage of requiring the use ofan inverse sine (sin"1) in the calculation.The one pass drift formula is:

drift = sin

-1

wind velocity x

sinlcourse _ wind direction ;

180)

true air speed

It is possible to substitute an inverse tangentcalculation for the inverse sine. This sub-stitution is:

sin 1 (Y)= tan'

(Y/SQRT (1 - Y2)).

The one pass ground speed formula is thethird of the three necessary calculations.This formula will not work for direct headwinds or tail winds. These conditions mustbe handled separately. In this program, Idetected these situations prior to the driftcalculation to save the extra step. The onepass ground speed formula is:

ground speed= sin (180 - course + (wind direction+ 180) - drift) x true air speedsin (course ~ (wind direction + 180))

The special cases of direct head or tailwinds are easy to handle. In either case thedrift is 0. For head winds (course - winddirection = 0), the ground speed will beequal to true air speed minus wind velocity.For tail winds, ground speed will be equalto true air speed plus wind velocity.

An alternative to the one pass systemis a two pass system. In this case the courseis applied to the formula initially to obtainan estimate of the drift. This in turn isapplied to the course to get a heading. Theheading is then used in the formula to obtainthe actual drfit and ground speed. Thisroutine is equally accurate and has theadvantage that it requires no functions moresophisticated than sine and cosine. In anextreme case the sine and cosine functionscould be obtained by reading a table.

As I said earlier, any output beyond thesethree basic pieces of information is at thediscretion of the system's designer. I use asimilar system to produce flight plans forlow altitude and high-speed routes, whichI fly as a C-130 instructor navigator. Thatsystem uses fixed route data stored on diskand produces precise ETAs (estimated timesof arrival) and includes a lot of ancillaryoutput information concerning altitudes,

208

March 1979 © BYTE Publications Inc

Circle 316 on inquiry card.

Circle 313 on inquiry card.

Circle 339 on inquiry card.

APPLE 11 - TRS 80 - PET

& MANY OTHER PROGRAMS

ON CASSETTE & DISK

FOR SALE

WE PROMOTE, ADVERTISE AND SELL SOFT-WARE FOR FREE LANCE COMPUTER SPECIAL-ISTS ALL OVER THE FREE WORLD.

OUR PUBLIC DOMAIN SOFTWARE MAY BEREPRODUCED OR SOLD AT YOUR DISCRETION

SOME SAMPLESAIRCRAFT INSTRUMENT TRAINING SIMULATORFOR APPLE II. YOUR APPLE TEACHES BASICINSTRUMENT FLYING (CASSETTE OR DISK) . $19.95

PUBLIC DOMAIN PACKAGE INCLUDES OVER 100

PROGRAMS FOR APPLE II. CONTENTS CHANGE

EACH QUARTER. BEST AVAILABLE $49.95

TRS 80 PUBLIC DOMAIN PACKAGE OF

25 PROGRAMS $29.95

GET A WHOLE YEAR'S MEMBERSHIP &

SUBSCRIPTION TO OUR CATALOG.

WE'LL SELL YOUR PROGRAMS, TOO! $5.00

SAMPLE COPY OF PUBLICATION $1.00

Programmers Software Exchange

2110 North 2nd StreetCabot, Arkansas 72023

C/PM SOFTWARE TOOLS

ED-SO TEXT EDITOR

THE PROGRAMMERS 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, CDC 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 50 commands are provided, including forward or backward LOCATE, CHANGEand 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

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)

wae caawaa eowcaaaa

900E SALEM ROAD • DRACUT, MA 01826• PHONE: (617) 682-8131

NO FRILLS! NO GIMMICKS! JUST GREAT

DISCOUNTS

MAIL ORDER ONLY

HAZELTINE

1400 $ 650.00

1500 995.00

Mod 1 1495.00

CENTRONICS

779 985.00

779 tractor 1040.00

700 tractor 1185.00

761 KSR tractor 1595.00

703 tractor 2195.00

NORTHSTAR

Horizon I assembled.. 1629.00

kit 1339.00

Horizon II assembled.. 1999.00

kit 1599.00

Disk System 589.00

TELETYPE

Mod 43 1095.00

IMS

16K 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 on all other IMSAI products

CROMEMCO

System III $1000 off .. 4990.00

10% off on all other Cromemco products

TEXAS INSTRUMENT

810 Printer 1625.00

ADDS

Regent 100 1095.00

Most items in stock for immediate delivery. Factory-fresh, sealed cartons.

DATA DISCOUNT CENTER p.o. 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

Circle 203 on inquiry card.

Circle 91 on inquiry card.

BYTE March 1979

209

And here's threemore reasons

why . . .

SARGON: A ComputerChess Program (Spracklen)

offers the chess program thatwon first prize at the 1978 WestCoast Computer Faire ChessTournament! In book form(#5155-7, $14.95) or oncomputer program tapes(#00603, TRS-80 Level II,$19.95; #00604, Apple II,$19.95).

BASIC

MICROPROCESSORS ANDTHE 6800 (Bishop) gives youtwo books in one: a basic guideto microprocessors for thebeginner, and a completedescription of the M6800 systemfor the engineer. (#0758-2,$11.95).

SIXTY CHALLENGINGPROBLEMS WITH BASICSOLUTIONS (Spencer) willsharpen your programming skillsthrough games, puzzles, scienceproblems, business problems,and mathematical recreations.

These three books add luster toHayden's reputation as being #1in personal computing books!Check them out at your localcomputer store!

Hayden Book Company, Inc.50 Essex Street,Rochelle Park, NJ 07662

inpei§onalcomputingbooks!

SI

high obstructions along each leg, and de-tailed descriptions of each turn point.

This program, however, is intended tofit the most general case; readers can tailorit to their own needs more easily if whatthey start with is not too cluttered. Theprogram accepts basic header data and theninformation concerning each leg of the

Listing 1: Sample program

of the flight program. The

typical

output from the program is

ilso shown

DATE <YY*MM*DD)s 78

, 06*2k3

THIS FLIGHT PLAN GOES FROM:

LITTLE ROCK

TOs

NEW OHLEANS

PILOT'S NAME: TITUS

PURDIN

ACFT TYPE:

PROPOSED TAKE-OFF TIMES 1200

LEG # 1

THIS LEG GOES FROM

LITTLE ROCK TO

[MEMPHIS ]

r t

MAG COURSE! 072

I

j

LEG DISTl 1 1 1

ALTITUDE (X100): 50

TEMP AT ALT CO J 22

IND AIR SPEEDS 120

WIND CDDD*VV)5 210*

15

DO YOU HAVE ANOTHER

LEG TO

ENTER?

YES

LEG # 2

THIS LEG GOES FROM

MEMPHIS

TO CGRNWOOD

3

C

J

MAG COURSES 186

LEG DISTS 97

ALTITUDE (X100)! 50

TEMP AT ALT <C)s 22

IND AIR SPEED: 120

WIND CDDD*VV>S 230*

10

DO YOU HAVE ANOTHER

LEG TO

ENTER?

YES

LEG # 3

THIS LEG GOES FROM

GRNWOOD

TO [JACKSON

r

MAG COURSES 177

L

LEG DIST: 50

ALTITUDE (X100): 50

TEMP AT ALT CO: 22

IND AIR SPEED: 120

WIND CDDD*VV>: 230*

10

DO YOU HAVE ANOTHER

LEG TO

ENTER?

YES

LEG f 4

THIS LEG GOES FROM

JACKSON

TO [MCCOMB

r

MAG COURSE: 177

L

LEG DIST: 79

ALTITUDE (X100)s 50

TEMP AT ALT COS 22

IND AIR SPEED: 120

WIND CDDD*VV)5 230*

10

210

March 1979 © BYTE Publications Inc

route. It allows 25 individual legs, andprints a formatted flight plan of fairlysimple design.

The program is based on magnetic infor-mation (magnetic courses and magneticwinds). This is simple and direct because

the end product is supposed to be a mag-netic (compass) heading. A more formalsolution can be made based on true infor-mation (true courses and true winds) by ap-plying magnetic variation. A typical programrun is shown in listing 1."

The Nybbles Library is an inexpensivemeans for BYTE readers to share someinteresting but specialized forms of software.These programs are written by readers withsmall computers and printer facilities, andare therefore designed for particular systems.The algorithms and programming tech-niques in these programs can be directlyused by readers with similar equipment, orcan serve as an inspiration for improvisationon computers of different characteristics.

Potential authors of such programsshould send us a self-addressed stampedenvelope, with a request for a copy of our"Guidelines for Nybbles Authors. "Payment

for Nybbles items is based on sales andlength of the item. Rates are set at the timeof acceptance.

Nybbles Library programs are sent inlisting form, printed on 8.5 by II inch paperon both sides. The Nybbles Library pro-grams are 3 hole punched for collection inloose leaf binders, and come in an attractivefolder which serves as a cover.

This month the "Computer AssistedFlight Planning" (document #104) has beenadded to the Nybbles Library. Use the cou-pon below to order your personal copy, at$1.25 (US and Canada), $1.85 (foreign air-mail) postpaid.

Please send.

.copies of BYTE Nybble tt_

_at $_

.postpaid.

Please remit in US funds only.

Check Enclosed

BillmyBACtt

Bill my MC #

_Exp Da te

J.xp Date_

Name .Street.City

.State.

.Zip Code_

Nybbles

BYTE Nybbles Library, 70 Main St, Peterborough NH 03458'You may photocopy this page if you wish to keep your BYTE intact.

TRS-80

CASH

CHARGE

PAID OUT

FOOD

BEVERAGE

TAX

TOTAL

17.00

3.50

.92

21.42

AMT. TENDERED

30.00

CUSTOMER CHANGE

6.56 |

APPLE

BULLS'HITS'".. .Hitch up your horse sense, wind up your wits, load the Computer and get ready to play BULLS'HITS™. A NEW game of logic and luckdeveloped by Michael OToole. It means spellbinding, sophisticated, stimulating fun for the entire family. One, two players or partners will be at oddstrying to beat each other or the Computer. Score—that's the object—SCORE, and the higher the better. Completely interactive... ENJOY . Only $14.95

BLACK'STARS".. .If you enjoyed Microchess you'll love BLACK'STARS'". another NEW strategy game by Michael OToole. The action is fast andfurious. Two, three, four or more players utilize the strategic locations of the BLACK'STARS'", to capture and recapture areas on the space grid.Every game different. SURETOBEA CLASSIC Only $14.95

INSTANT»CASH«REGISTER"\ . .For the TRS-80 Level I and II, Pet and Apple soon. Register Sales. Paid Outs, Charge, Cash, Tax, Amt. Tendered,Customer Change. Daily Read Out on Totals, and more. Easily Customized Cash Register by day, game player at night? Only $19.95

ORDERS: SEND CHECK OR MONEY ORDER TO:

the COMPUTER BUS

P.O. BOX 397D GRAND RIVER, OHIO 44045

Circle 67 on inquiry card.

March 1979 ©BYTE Publications Inc

211

Circle 374 on inquiry card.

At last...the mechanical interface!

Turn your electric typewriter into a low cost,high quality hard copy printer.

User list

395

oo

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

Incorporated3100 Monroe Avenue, Rochester, New York 14611

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

available separately (for only $95.00) —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

Continued from page 6

paste, until the document is finished or theauthor is exhausted. To me, that is in-efficiency! Of course, many computer texteditors are not well suited to creative com-position, being little more than teletype-writer editors. Even with many displayeditors one still has to resort to hard copyfor effective editing. That is the nub of ourproblem: most display editors are lineoriented and run on "glass teletypewriters."The latter were derived from hard copyterminals, which were in turn derivatives ofkeypunches—certainly an old way of think-ing about text production. If the displaymedia are truly utilized, however, a quantumimprovement in editing facilities can result:information can be presented as in a "videobook," complete with rapid random accesspaging and on screen cutting and pasting.

Given such a tool, creative compositionbecomes a joy. Freedom of expression isimproved; the ideas flow freely from mindto screen. A phenomenon of egoless compo-sition results; the author does not have tomeasure the content of a passage againstthe agony involved in its creation. As aresult, the author is more willing to modifyand polish the document, even experimentingwith major revisions in order to present thetopic in its best light. What is truly excitingis that the technology for such editing sys-tems is now of modest cost; one need onlybreak with the past ways of thinking abouteditors.

What does this have to do with our sub-ject? There is a strong analogy between theediting task and the programming task. Wemust examine the programming task thesame way we looked at editors. Alas, mostof us still program on "virtual keypunches."We may even use one of these excellentdisplay editors to create our card deck,but we create a linear string of charactersand throw the completed program at a com-piler; given that there are no syntax errors,we try to run the program, probably de-bugging with dumps, print statements, ordebuggers which give us information interms of the compiled code. If an error isfound, we return to the editor to modify thesource, recompile, and try again. Giventhese conditions, sloppy work habits areinevitable. In fact, the conditions are sloppy.

Editing Programs

Now we are at a critical point in pro-gramming: do we build a better "program-ming keypunch," or do we look for aprogrammer's tool analogous to the displayeditor? I would opt for the latter, and would

The plus makes the difference.

212

March 1979SBYTE Publications Inc

Circle 397 on inquiry card.

claim that the paradigm of LISP programmingis the appropriate model from which weshould begin.

First, let's examine the conservative "key-punch" approach. The traditional edit-compile-debug cycle is improved by a displayeditor, operating with a compiler that canreturn the user to the editor upon indicationof a syntax error, pointing at the source state-ment that caused the error. A quick edit,and the syntax check cycle begins again.However, once the program is compiled, weare still at the mercy of primitive debuggingtechniques. One solution is to require thatthe user specify more information about theprogram, indicating expected behavior ofprogram modules with the assumption thatthe compiling phase can be made moreknowledgeable, and check the consistencyof the expectations against the realitiespresent in the user's encoded algorithms.This reassures us that the code which gets tothe debug portion of the cycle does operateas expected. In general these user expecta-tions are difficult to express, and checkingtheir consistency is even more problematic.Syntactic consistency checks based on sim-ple properties of the programmer's variablescan be checked in a reasonably straight-forward manner. Such properties are called

HARD DISCFOR S100 MICROS

The XCOMP DCF-10 Disc Controller pro-vides the OEM with a high performance,low.cost interface forfixed 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-8730

BITE ls COMPLETELY INDEXED!

Relax...you no longer have to do a sequentialsearch to order reprint articles. In addition tothe 1975-1976 index, the 1977 and 1978 indicesare now available.

To receive your BYTE INDEX/REPRINTCATALOG(S) send 50 c for postage and hand-ling to BYTE INDEX, 70 MAIN STREET,PETERBOROUGH NH 03458.

1

An order form is included in the index packagefor convenient ordering of reprint articles. Justfill it in, enclose payment and return it toBYTE.

A FEW OF THE BEST

1977

Making Hash with Tables T Dollhoff

An Inexpensive Joystick Interface T Buschbach

Newt: A Mobile Cognitive Robot R Hollis

How to Pick Up a Dropped Bit D Maurcr

An APL. Interpreter for Microcomputers M Wimble

Control the World

How to Implement Space War

Kompuular

Building a Computer from Scratch

The Computers of Star Trek

The Digital Cassette Subsystem

Give Your Micro a Megabyte

Structured Program Design

Floating Point Arithmetic

S Ciarcia

D Kruglinski

D Brader

H Jones

K Schmucker

Rampil & Breimicr

R Grappel

D Higgins

B Hashizumc

1978

Brains of Men and Machines E Kent

Program Your Next EROM in BASIC S CiarciaA Programmable Character Generator L Weinstein

Give an Ear to Your Computer B Georgiou

How to Choose a Microprocessor L Frenzel

Who's Afraid of Dynamic Memories L Hauck

Let Your Fingers do the Talking S Ciarcia

A Tiny Pascal Compiler Chung & Yuen

WADUZITDO LKheriaty

Computer Chess Programming the Spraeklcns

Tune in & Turn On S Ciarcia

Three Dimensional Plotting M Gottlieb

Add a Voice to Your Computer S Ciarcia

Designing Structured Programs C Weems

II

Circle 36 on inquiry card.

March 1979 © BYTE Publications Inc

213

Circle 177 on inquiry card.

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 ASCI I (Uppercase)

• 110 Char/Sec.

• 66 Lines/Min.•Accepts 8-1/2"TTY

Roll paper

PRINTER $650.00

INTERFACE: BUILT $100.00KIT $ 60.00

INFOR & SCHEMATIC $ 5.00

Shipped Freight collect.iSend check,

M-0.; i^m

INCLUDES - Power Supply, Built inSelttest, Parallel Interface, Line Buf-fer and Cables. Housed in a threepiece plastic cabinet with all controlelectronics. Retail for over $1,100.PRINTER BRAND NEW NEVER USEDIN FACTORY SEALED CARTON.Operating Manual Included, supplies

Limited

Guaranteed to be in good workingorder at time of delivery.

Write for Interface Info on Heath,Apple, Imsai, Sol, Northstar

INTERNATIONAL ELECTRONICSEQUIPMENT CORP.

P.O. Box 522542, Miami, Florida 33152

HAVE YOU HEARD

JAMES MARTIN

LATELY?

A COMPLETELY RESTRUCTURED 5 DAY PRESENTATION ON

DISTRIBUTED PROCESSING

TELEPROCESSING

DATA BASE

NETWORKS

Don't miss this intensive, challenging seminar

Seminar Fee: $975

New York

March 19-23. 1979

Miami Beach

March 26-30. 1979

Toronto

April 23-27. 1979

San Francisco

April 30-May 4. 1979

214

March 1979 © BYTE Publication! Inc

(213) 476-1331

Call or write today:

■■■■ TeEUNBLSBM

!■■■ TfSftNsrere

I ■! TNBBSfHHrsaweB

■ OH 47/447/4 ■ PO 00149765, IDS 4NGEIES CA 90049 171314701301

Circle 366 on inquiry card.

type structures. The compiler checks eachoccurrence of an identifier to ensure that italways has the same type; with simple varia-bles, this involves checking such things as "Isit an integer?", "Is it a Boolean operator?"with procedures the compiler checks tomake sure that the programmer's calls areconsistent in the number of argumentssupplied and the types of the parameters.Such consistency is important, but it usuallyrequires that the programmer supply declara-tions throughout the program segments,specifying the type structure information ofeach and every identifier. This approachoffers a short-term payoff in an increasedprobability that the generated code willperform as expected. But then, there'sstill the strong possibility that the pro-grammer's errors are not so transparent thattype checking can detect them. One ap-proach is to improve the consistency phase,strengthening the compiler's ability to detectinconsistencies between expectations and re-ality. This requires that programmers expressmore and more of their expectations alongwith their algorithms; a program verificationsystem results. Such a system would guar-antee that the expectations expressed wereconsistent with the written algorithm. Thedebugging problem vanishes, but is replacedwith a specification task that may be asdifficult to accomplish as the debugging.

Al and Programming Expectations

What about programs whose expectationsare not easily formulated? The primary ex-ample is artificial intelligence programming:often it is only the final algorithm itselfwhich expresses the expectation. The crea-tive programming process is driven by apartially understood phenomenon; the pro-gramming effort is to capture as much ofthat phenomenon as possible. We programin a world of great uncertainty, much likedriving a car. We may have a reasonablydetailed roadmap, but the path may in-volve traffic lights, accidents, and detours.We do not return home and restart everytime we encounter an unexpected situa-tion; we correct on the fly and continue.I feel that much of modern computationhas this exploratory character of artificialintelligence.

What about programs which containissues involving more than correctness? Forexample, it would be difficult to expressthe specifications of a text editor in termsof static conditions. To be sure, certainaspects of editors involve correctness, butusability is equally important. An experi-mental process is involved which requiresmodification and iteration. In fact the editor

Circle 82 on inquiry card.

exists for modification. If we made notyping errors we would not need an editor.For example, when we discover an errorin a text file, we don't erase the whole fileand retype it—we edit the error and keepthe result. However in the traditional de-bugging paradigm, when we discover a run-time error, we throw away all the compu-tation, edit the file, and restart. If thatcomputation has taken several hours (oreven minutes) to elicit the bug, it will bemost painful to restart.

Most programming involves a deeperissue than debugging: it involves modifi-ability. Programs are always being modifiedbecause we change our expectations. De-bugging is only a very minor component ofthe problem of program modification.Therefore, as we progress to more and morecomplex programming tasks, programmingmodification will take on a more funda-mental role. Don't try to stamp out pro-gram modification as a manifestation ofhuman frailty and error; it is a fundamentalingredient of our field. Cater to modifica-tion at the innermost levels of our pro-gramming systems. Assembly language con-tinues to dominate systems design notbecause of inate masochism, but because ofmodifiability. There is a close (but low level)match between the language, the debugger,and the execution device. Any language thatexpects to dethrone machine language mustoffer an equally compelling environment.

"Modifying a Blank Screen"

One artificial intelligence researcher hascharacterized programming as "debugging ablank piece of paper." To that I would add:programming is modifying a blank screen.Get the machine into the programming pro-cess as soon as possible, but it must be doneright. In that context we will see a rise inproductivity comparable to that experiencedin the editing task when a true display editoris used. We can expect egoless programmingand good work habits to evolve naturally.With such tools the promise of structuredprogramming can become a reality. That is,it is the activity of programming that involvesthe structuring. One should not expect tofind structure in a program anymore thanone can look at the final board positions ofa chess game and tell whether that game wasplayed by Masters or amateurs. Imagine pro-gramming systems whose "moves" involvestepwise refinement of partially elaboratedprograms; imagine the transcript of thosekeystrokes as comparable to the recording ofmoves in the chess game. The transcript ofthe program development would be avail-able for analysis by programming students

'HERMETICM T «'":R:0

SYSTEMSPRESENTSs

I I QON I HtOt—ft

_RC~?84S SERIES

The world's onlysingle-chip LSI UniversalPrinter Controller is here!

The very low-cost 40-pin CY-480

printer with print speeds up to 200 cps! The

Controller from Cybernetic Micro Systems is the first—and only—40-pin LSIdevice which will control and interface any standard 5" x 7" dot matnx printer(including those from Victor, LRC, Practical Automation and Amperex) having aprint speed up to 200 cps. It operates from a single +5V power supply and willinterface a printer with any microcomputer or minicomputer system through

rts. The CY-480 accepts either serial (RS232C) or parallel ASCII

standard 8-bitinput from the

lost system's data channel.

I

I

The CY-480 replaces bulky, expensive dedicated controllers. The small, single ILSI package offers a 5 x 7 dot matrix character generator, full upper and lower Icase ASCII 96-character font, and a 48-character (expandable by daisy-chaining) Iinternal line buffer storage. Standard are a 10, 12 or 16 characters/inch variablecharacter density command, 2-color selectable print command, forward/backward !printing command, and horizontal and vertical independently expanded print [

command. The CY-480 provides graphics capability and includes a "flip-print'' a

operating mode for 180° viewing. Ready lines provide lull asynchronouscommunications with handshaking.

Low price! $35 a single unit!

CYBERNETIC MICRO SYSTEMS

2378- B Walsh Ave. • Santa Clara, Calif. 95050

Phone (408) 249-9255

PET WORD PROCESSOR

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

750 POCONO ROAD

BROOKFIELD, CONNECTICUT 06804

(203) 775-9659

Circle 78 on inquiry card.

March 1979 © BYTE Publications Inc

215

Circle 287 on inquiry card.

yOU DIDMT KNOW!

OAE'S new PP-2708/16PROM Programmer is theonly programmer with allthese features:

• Converts a PROM memorysocket to a table top pro-grammer: No complex inter-facing to wire —just plug itinto a 2708 memory socket*

• A short subroutine sendsdata over the address linesto program the PROM

• Programs 2 PROMS for lessthan the cost of a personal-ity module. (2708s and TMS2716s)

• Connect 2 or more in paral-lel — super for productionprogramming

• Complete with DC to DCswitching invertor and 10

•Pal's Pending

turn cermet trimmers (forprecision pulse width andamplitude alignment)

• All packaged in a handsomealuminum case

PP-2708/16 . .A & T $295.

PP-2716 (Programs Intel's2716) A & T $295.

OAE

Oliver Advanced Engineering, Inc.

676 West Wilson Avenue

Glendale, Calif. 91203

(213)240-0080

TRS-80 OWNERSLISTEN TO THIS...

There's a CT-1

SPEECHSYNTHESIZER

for you.

Ss_

f^^^^^^^^^^r^^

That's right. The famous ComputalkerCT-1 Speech Synthesizer that produceshighly-intelligible natural soundingspeech can now be installed on yourTRS-80.

Completely self-contained, the ModelCT-1T comes with its own chassis andpower supply, on-board audio amplifier(2 Watts), CSR1 software, and inter-connect cable. The CT-1T comes withcomplete documentation and is avail-

able on either 51A inch diskette orcassette. TRS-80 Level 11 and 16 K wordsmemory required, 32K words recom-mended.

SAVE $100

SPECIAL INTRODUCTORY PRICE

$495

Suggested retail price is $595Calif, residents add 6% sales tax.

COMPUTALKERCONSULTANTS

1730 21st St., Suite ASanta Monica, CA 90404(213) 392-5230

and teachers. Such a system would trulysupport structured programming. Currentpractice does not support such activity. Weare forced to submit character strings toour language systems, even though ourmethodology tells us to compose in termsof structure. Until that disparity is resolvedwe should expect little improvement in thesoftware problem.

Most programming languages do very littleto reinforce the creative process of algorithmdiscovery and creation. They are moreconcerned with the execution of alreadyconstructed algorithms. This is a natural out-growth of their ancestry: anumerical compu-tation era in which the emphasis was placedon minimizing computer time at the expenseof programmer time. Also, the programmingproblems of that day involved the transcrip-tion of well-specified numerical algorithmsinto an equally precise programming lan-guage. Times and economics have changed.The problems are more complex and nolonger as well-specified as those of numericalanalysis. Now computers are cheap andprogrammers are expensive; we need tech-niques to speed the development of correctprograms. Certainly the verification effortsare aimed in this direction, but verificationtypically is an after-the-fact reconciliation ofa completed algorithm with some descriptivespecification of its behavior. We need lan-guages that support the creative and explora-tory phases of program development. Ofcourse, one may question this. In the Com-puting Surveys, Wirth writes:

... It is therefore entirely possiblethat in the future a more interactivemode of operation between compilerand programmer will emerge, at leastfor the very sophisticated professional.The purpose of this interaction wouldnot, however, be the development ofan algorithm or the debugging ofa pro-gram, but rather its improvement underinvariance of correctness. [Wirth'semphasis].

I most definitely agree with the emphaticphrase; we must develop such program trans-formation systems. However, it is equallyimportant to improve the program develop-ment phase.

Exploratory programming, which is thehallmark of artificial intelligence and which,to a very large extent, occurs in the creativestages of any programming task, is best donewith an untyped interactive language likeLISP. Strong typed languages like Pascalonly confuse and obfuscate the formulativestages.

LISP's basic unit is an expression, meaning

216

March 1979 ©BYTE Publications Inc

Circle 51 on inquiry card.

that every LISP construct computes a value.LISP tends to emphasize the applicativenature of algorithms, using "function appli-cation" as its basic computational notationand using recursion to express the controlaspects of the process; recent research hasindicated that many common recursiveschemes can be executed in an iterativefashion. That is, the evaluation mechanismneed not involve the usual stack orientedoverhead. One should not confuse the recur-sive notation with the evaluation mechanism.The basic unit of Pascal is a statement,rather than an expression. That is, Pascal'sunits tend to be executed for effect ratherthan value. It is interesting that John Backus,the "father" of FORTRAN, has spent con-siderable time in recent years studying andadvocating applicative languages, turningfrom the more traditional imperative, state-ment oriented languages like FORTRAN,ALGOL, and Pascal. In his Turing lecture,Backus writes:

This world of statements Is a dis-orderly one, with few useful mathe-matical properties. Structured pro-gramming can be seen as a modesteffort to introduce some order Into thischaotic world, but it accomplisheslittle in attacking the fundamentalproblems created by the word-at-a-time von Neumann style of pro-gramming, with its primitive use ofloops, subscripts, and branching flowof control.

Of course things are not all that black andwhite. Pascal has applicative aspects and LISPhas imperative aspects. The difference isagain one of emphasis and philosophy: theexpression versus the statement. The dif-ference has a mighty influence on the lan-guage design: expressions lead to calculator-like interactions; statements lead to com-puter-like programs. Wirth, in the ComputingSurveys, writes:

We must recognize the strong and un-deniable influence that our languageexerts on our way of thinking, and infact defines and delimits the abstractspace in which we can formulate—giveform to—our thoughts.

Computing Attitudes

That is a critical point, true in naturallanguage as well as in programming lan-guages. In fact, the problem goes deeperthan programming language. One's attitudeabout computation is deeply connected withthe human interface problem. Those who

Circle 72 on inquiry card.

NOBODY SELLS THEBEST FOR

LIST SPECIAL

PRICE PRICE

Electronic Control Technology16KRAM

KitAssembled

279.00310.00

235.00265.00

MECA Alpha-1 Dual DriveCassette System

845.00

725.00

Thinker Toys - Discus One

995.00

850.00

SSM Music SynthesizerBoard Kit

149.95

125.00

Mountain Hardware100,000 Day Clock

219.00

185.00

Micropolis Model 1042Double Density Disk System

799.00

675.00

Godbout8K Unkit

139.00

118.00

Call for our prices on:

North Star, IMSAI, Sanyo, Integral Data Systems, Cromemco,Teletek, IMC, Problem Solver, SSM, Polymorphic, Vector Graphic

Subject to Available Quantities • Shipping FREE on prepaid orders

Computer Lab of New Jersey

141 Route 46

Budd Lake, New Jersey 07828

Phone (201) 691-1984

OUR BOARDS

WON'T

YOU

andlarge,computerboards aren't themost exciting thingsin the world . . . butMullen boards are an ex-ception.

The Extender Board Kit has alogic probe that lets you knowwhat's going on in your circuit. And ifyou get bored with that, there's a generalpurpose kluge board area where you can im-plement custom testing jigs. Still not enough?Hook a 'scope probe on to the specially designed edgeconnectors and check out the logic patterns. And if allthat fails, maybe the low price will get you excited: $39 per kit.

The Controller Board Kit is an intelligent switching system thatlistens to the world through 8 opto-isolator inputs, confers with thecomputer, and then issues open/close instructions to 8 reed relays. If youget tired of low power applications, high power AC modules are available. —

Each kit includes applications notes and an onboard self-tester. $99 per kit.

For some people, the fun stops once you've put a board in your computer. With aMullen board, the fun's just beginning.

MULLEN Computer Products

BOX 6214, HAYWARD, CA 94545

Mullen boards are available at computer stores nation-wide or by direct mail(Californians add sales tax).

Circle 267 on inquiry card.

March 1979SBYTE Publications Inc 217

Circle 43 on inquiry card.

cariafla ^

systems, inc. ^V

Boards ID© Something *

If your system needs to knowwhat time it is, our CL2400 isthe board for you. The presenttime in hours, minutes, and sec-onds is always available for input,and is continuously updated bythe highly accurate 60 Hz powerline frequency. Need periodic in-terrups? The CL2400 can do

that, too, at any of 6 rates. Reference manual with BASIC andassembly language software examples included.

CL2400 Real Time Clock$98/Kit $135/Assembled

If your system needs on/off con-trol of lights, motors, appli-ances, etc., our PC3200 Systemcomponents are for you. Con-trol boards allow one 1/0 port tocontrol 32 (PC3232) or 16(PC3216) external Power Con-trol Units, such as the PC3202which controls 120 VAC loads to400 Watts.Optically isolated.lowvoltage, current-limited controllines are standard in this growingproduct line.

P.O. Box 516

La Canada, CA 91011

(213) 790-7957

PC3200

Power Control System

PC3232 $299/Kit $360/Assm.

PC3216$189/Kit $240/Assm.

PC3203 $39.50/Kit $ 52/Assm.

(formerly comptek)

JUMifce'E

YOUR

North Star * ComputersPROGRAMMING SPECIALISTS!

You can look to us for innovative and imaginative programs** Intertec Intertubes now available **

Thinker Toys 8" Disk Drives Many different and diversifiedfor North Star Computers *99500 computers systems available. AllAdditional Drives '795°° include full access to Program

Library. 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 & 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

Mi

licro Mike's

905 Buchanan, Amarillo, Texas 79101806-372-3633

grew up with batch oriented computationhave a quite different frame of referencefrom that of a person who has experiencedtruly interactive access.

These attitudes permeate the whole com-puting approach. If one is to interact with acalculator, then we must expect to presentexpressions and receive values; that impliesan immediacy which is antithetical to typestructures. So too is interactive design; theinteractive creation and running of partiallyspecified programs is difficult to reconcilewith language processors that expect totalinformation about all program segments andidentifiers.

By now many of you are sure that I ampreaching total heresy, advocating a returnto the old days of hack and patch program-ming. I am definitely not. Rather, I amadvocating the development of programmingsystems that incorporate the ideas of struc-tured stepwise development of programs-systems in which the interactive developmentis as flexibly supported as the interactivedebugging of modern LISP systems. We mustdo for programming what the page orienteddisplay has done for editing. But such sys-tems are only half the software problem.We must dramatically improve the waypeople think about programming. Computerprogramming is probably the most difficultand challenging enterprise mankind has everundertaken. Until programming method-ologies are supported by the programmingtools, and until programmers are expected tospend as much time perfecting their craft asprofessional engineers and poets, we shouldexpect little improvement in softwarequality.

We must put a stronger emphasis on theeducation of programmers, rather thanrestrict the expressive powers of the lan-guages. Consider the tools of a more tradi-tional craftsman: in the hands of an amateurthose tools can be deadly, whereas thecraftsman can develop exquisite objects.We do not propose that all tools be dulledappropriately so that the amateurs cannotdo themselves injury! We educate them inthe proper use of, and respect for, theinstruments and expect that the craftsman'stool remain sharp. The emphasis is properlyplaced on the individual. Do not confuseeducation with the mass-merchandizing ofarmies of programmers whose competenceis sealed in a cautious, uncreative world ofdull tools. The artificial intelligence com-munity is the craft of the tool builder; theirtools are the sharpest and most incisive ofthe computer field. It is this kind of toolwhich should appeal to the personal com-puter person. It is not the elegance of BASICwhich has made it the standard personal

218

March 1979 © BYTE Publications Inc

Circle 204 on inquiry card.

Circle 1 79 on inquiry card.

computer language; it is BASIC'S interactivenature, allowing quick experimentation withprogramming ideas, that accounts for itslongevity. This interactive flavor can begrafted onto a Pascal-like language, but it ismuch more difficult to do this successfully.In the process one either compromises thetenets of the language (extensions) or com-promises the resulting system.

"Wild West" Computing

The essence of personalized computinghas been sort of the "wild west" attitude:open, undisciplined, but creative and lustyas hell. You are a very healthy sign; today,a modest personal computer has morepower and flexibility than that availablein a professional installation 20 years ago.Each of you has molded your system ac-cording to your desires and economicconstraints. But freedom is expensive;systems and programs become one of akind. Enter compatibility and, unless youare careful, exit individuality. Clearlythese problems are not solely the provinceof personal computing; the manufacturersfeel the same pressures. So the real questionis: can we bring discipline and order toprogramming without curtailing thecreativity?

Personal computer users need not giveup the interactiveness of BASIC to gainthe structure and portability which Pascalis advertising; LISP offers both. BASIC'Slongevity, indeed strength, lies in its"friendliness." That is a critical ingredientof an interactive programming language. Iguarantee that if BASIC were availableonly in the traditional batch orientedenvironment, its popularity as a personalcomputer language would not have occurred.Similarly with LISP or Pascal. That is, it isthe total environment in which a language issituated that is important. The UCSDexperience with Pascal illustrates this pointwell. The real question then is: can we dobetter?

LISP is not a special purpose list pro-cessing language. A modern LISP systemhas more flexible data handling facilitiesthan other more recent languages. For exam-ple, MACLISP'S data types include arbitraryprecision numbers, very flexible record struc-tures (called property lists), strings, arrays,list structure, and even procedures. Oneattribute which leads to LISP's elegance andeconomy of expression is that all of thesedata types are available as values of pro-gramming constructs. Thus LISP proceduresmay take procedures as values, returnprocedures as values, or create arrays whichare returned as value.

Main/Frames $200

Main/Frames m$200

14 Basic Models Available

Assembled & Tested- Power 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

Rackmountedfrom $200

8" Floppy Main/Frame

Single & Dual from $335

(includes power for

drives and mainframe)

Write or call for ourbrochure which includes our

application note:'Building Cheap Computers'

INTEGRAND

8474 Ave. 296• Visalia, CA 93277• (209) 733-9288We accept BankAmericard/Visaand MasterCharge

A UNIQUE NEW PRODUCT

. . . protects your hardware and your invest-ment. Saves maintenance, downtime andlooks great. Our Dust Covers come in hun-dreds of 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

Circle 76 on inquiry card.

March 1979 © BYTE Publications Inc

219

Circle 303 on inquiry card.

PET™ EXPANDOR PRINTER

from PETSHACK Software House

P.O. Box 966 Mishawaka, IN 46544

Tel:(219) 255 3408 ^^PRINTER PRICE with pet interface $525

• Small size of 4.5"H x 12'A"W » 914"D

• Impact printing - 3 copies

• Prints 80 columns wide

• Print Cylinder ■ not a matrix

• Uses 8)4" paper,'pressure or pin feed

• Easy to maintain yourself, or return to us

• Regular Paper ■ Coated paper not required

• Lightweight, 118 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.95

PET SCHEMATICS $24.95

PET TO PARALLEL INTERFACE with 5V .8A power supply $74.95

PET TO 2nd CASSETTE INTERFACE $49.95

BUDGET NEW - Keep track of Bills and Checks. Update as needed $14.95

NUMBERAMA Number Guessing Game based on MASTERMIND' $ 5.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.96

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

the ULTIMATE inCHEAP VIDEO

BOOK & KITONLY $42.95

Don Lancaster's "Cheap Video"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 256 X 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 D & get the Book at 1/2 price.

.ELECTRONICS, DEPT. 3 B, 1020W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

I I'm Sold, PLEASE RUSH C 1 SEND FREE CATALOG

C ) TVT 6 5/8 Kit & Cheap Video Cookbook $42.95 (enclosed!C 5 TVT-65/8 Kit only Cbook required for assemblj0-$39.95name:

address:,city:

. state:

zip:

ELECTRONICS DEPT. II

220

March 1979©BYTE Publications Inc

1020 W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

Circle 297 on inquiry card

Lest you suspect that such generalityimplies inefficiency, note that LISP hasbeen used as the systems programminglanguage for the MIT LISP machine. Allsystem software is written in LISP even tothe level of the algorithms that place thecharacters on the screen. Even the micro-code is written in LISP. LISP compilers canbe as good as those of any other language.In one experiment, the MACLISP compilerwas tested against a FORTRAN compileron some purely numerical examples. TheLISP compiler's code was better both interms of space and time.

Might not such generality lead to sloppyprogramming techniques? Note again that alanguage is a tool, and is only as effectiveas its user. I would rather sharpen the userthan dull the tool. In terms of user aids,LISP excels. A modern LISP system is anintegrated programming environment in-corporating editors, debuggers, and com-pilers. Some LISP packages include sophisti-cated error recovery modules, allowing theuser to undo computations or explorealternative computations. The integration ofthese "programmer's assistants" with mod-ern display techniques has begun. Theresults are quite impressive. The flexibilityof these systems is due in large part toLISP's unique representation of programsas data structures. As a result, it is easyto write programs which manipulate pro-grams. Note that language editors, debug-gers, compilers, and program transforma-tions systems like those advocated by Wirth(above) all fall into this category.

One also hears dreadful rumors aboutLISP's syntax (Lots of Irritating SingleParentheses). First, the regularity of thenotation and the simple syntax more thanmake up for any initial inconvenience.However, these syntactic difficulties canalso be stifled directly. It is quite simpleto supply LISP with an ALGOL like sugaredinput and output. Such parsers and unpar-sers are simple LISP programs.

The above discussion has hinted at avery important aspect of LISP: LISP is amachine language. In the traditional machine,instructions reside in memory locationsjust as data does. It is the access path of theprocessor that determines how the contentsof a location are to be interpreted. Accessby the program counter implies an instruc-tion fetch; other access implies a datafetch—so too in LISP. Data and programare stored identically; both are presentedto the machine in a simple syntax of lists.The LISP CPU (central processing unit),called eval, accesses LISP memory eitherto fetch code or data. Instead of the linearsequential representation of traditional ma-

Circle 383 on inquiry card.

CONVERT ANY TV

TO A HIGH QUALITY MONITOR

" ""■ *

-

NEK

-

! >'

HICH

OUAL ! TY

TTTTTTT

TT

T

» V

v v

V V¥

i ''''

mem

MOD

"

KITS

• Hot Chassis or Transformer sets

• 64-80 characters per line

• By-passes tuner & I.F.

• Normal viewing unaffected

• Safe—Easy installation

ACVM Hi-Resolution $24.95 ppd

"POLYGRAFIX"

A completely self-contained, highdensity graphics system forS-100buss users of Polymorphic VTI-64video board. —512H by 128Vresolution. Total software control.Assembled & tested. . . .$245.00Write for details and avail, options.

VAMP Inc. Box 29315Los Angeles, Calif. 90029

The "EXTERMINATOR"

!TO\MlflHHgaHtl!IRiMnff3ffl

I

n

§1111 111 II III'™

All New Dual Function Board:Serves as an extender card & alsoterminates S-100 buss. Eliminatescrosstalk, overshoots & noisewhich can scramble data. Occupiesonly a single slot.. Fully fused.

VTE-100-K (Kit) $49.95

VTE-100-A (Asmb.) .... 74.95Extender Card (w/conn.). . 24.95

Add $2 shipping & handlingCalif. Residents add 6% Sales Tax

chines, LISP has a tree-like storage scheme.One very exciting area of investigation in-volves architectures for LISP-like machines.

Finally, it is often assumed that LISPdemands large expensive computers for itsimplementation. That, too, is not true:there are versions of LISP for the Z-80,8080, 6800, F8, LSI-IT, and even a versionin BASIC. Certainly the machine size willlimit the range of feasible applications;but that is true of any language. The newclass of microcomputers is particularlyexciting. They will open up many newareas—including artificial intelligence study—for the personal machine. The new machineswill support very substantial implementationsof LISP.

It is particularly important to influencethe personal computer advocate now, giventhe growth in computing power and the criesfor compatibility, discipline, and standard-ization. The DOD-1 language effort is butthe latest manifestation of this attitude. Ido not believe that this legislative approachis healthy. I believe that LISP offers ahealthy alternative to the current choicesof programming languages for personalcomputation."

REFERENCES

ACM Computing Surveys, volume 6, number 4(December 1974): Wirth, N, "On the Compositionof Well-Structured Programs," page 247, andKnuth, D, "Structured Programming with GOTOStatements," page 261.

Jensen, K, and N Wirth, Pascal User Manual andReport, Springer-Verlag, 1974.

J Backus Turing Lecture: "Can Programming BeLiberated from the von Neumann Style? A Func-tional Style and Its Algebra of Programs," CACM,volume 21, number 8, page 61 3.

Allen, J, Anatomy of LISP, McGraw-Hill, 1978.

Steele, G, and G Sussman, "The Revised Reporton Scheme," MIT Al memo 452, Cambridge,January 1978.

Steele, G, and G Sussman, "The Art of the Inter-preter or, the Modularity Complex," MIT Almemo 453, Cambridge, May 1978.

Teitelman, W, "A Display Oriented Programmer'sAssistant," Xerox Palo Alto Research Center,Report CSL 77-3.

Sandewall, E, "Programming in an InteractiveEnvironment: The 'LISP' Experience," ACMComputing Surveys, volume 10, number 1, March1978, pages 33-71.

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

(jjjj) |j=a 150POCONO RD. BROOKFIELD. CT 06804

La (203I 775 9659

Circle 79 on inquiry card.

March 1979 & BYTE Publications Inc

221

Qlubssntf

Newsletters

Southeastern Michigan ComputerOrganization Sponsors TRS-80 Group

SEMCO (the Southeastern MichiganComputer Organization) sponsors aTRS-80 special interest group for RadioShack TRS-80 enthusiasts. Meetings arefor the beginning hobbyist and computerexpert alike. The main objective is toshare ideas on programming, trouble-shooting and new or compatible TRS-80products. This group meets the firstSaturday of every month from 6 to9 PM. The location is the Bryant BranchLibrary, Michigan Av and Mason St,Dearborn Ml 48124.

Northwest Computer Society

The Seattle chapter of the North-west Computer Society meets at thePacific Science Center on the first andthird Thursday of each month at 7:30PM. The first meeting of the month isnormally held in room 200 on the eastside of Science Center Court. This meet-ing usually features a formal presenta-tion by a speaker or speakers. Thesecond meeting of the month is normallyheld in the math room at the southeastcorner of Science Center Court. Thismeeting is usually more informal withfreewheeling discussion and problem

Health Insurance

for Your Floppies!

Problem: Dust, Smoke, Solution: The Flex 80and Warpage will Ruin System will Protect, Index,

Your Floppy Disks. and File Your Floppy Disks

Quickly and Easily.

Ah

For Further Information

and a

Free Copy of Our "Policy"

CALL TOLL FREE800 323-0254

ADVANCE ACCESS GROUP

10526 W. Cermak Westchester, IL 60153 312 562-5210"Manufacturers of Information Processing Supplies"

solving. Call the recorded informationline at (206) 284-6109 or write to POB4193, Seattle WA 98104.

South Florida Computer Group

The South Florida Computer Grouphas two chapters, one in Miami andthe other in Ft Lauderdale. Memberscan attend meetings at both chaptersand visitors are welcome. The Miamichapter meets the first Monday ofevery month at the Papanicolaou CancerResearch Institute, 1155 NW 14 St,Miami. The Ft Lauderdale chapter meetsthe second Tuesday of every monthat the Social Annex Building, HolidayPark (behind the Parker Playhouse).Both chapters have a $5 a year member-ship fee which includes their monthlynewsletter, I/O. For more informationabout this group, write to Robert Lief,Papanicolaou Cancer Research Institute,1155 NW 14 St, Miami FL 33136.

Australian 9900 Users Group

The Australian 9900 Users Group isa relatively new club concerned with the9900 family of devices and applicationsfor process control and business dataprocessing. They have both TexasInstruments and Technico equippedmembers and would welcome contactwith overseas correspondents. Presently,they do not have meetings but operateby direct contact or by correspondencebetween members. Contact Barry Day,43a Osborne Rd, Lane Cv, NSW 2066,AUSTRALIA.

Melbourne Australia Computer Club

We have heard from Andrew Stewart,correspondence secretary of MICOM(the Microcomputer Club of Melbourne).The club meets the third Saturday ofevery month at Railway Modellers'Hall, Wills St, Glen Iris, Victoria. Thedues are $7.50 per year, which includesa monthly newsletter and quarterlymagazine. MICOM can be contacted atPOB 60, Cantebury, Victoria 3126,AUSTRALIA.

North London Hobby Computer Club

A press release has come our wayinforming us of a recent meeting ofthe North London Hobby ComputerClub. At this particular meeting, heldat the Polytechnic of North London,over 200 members and guests listenedto a talk given on the present situationin personal computing. After the talk,three user groups were formed: a PETuser group; a business user group; andanother group of individuals interestedin homebrew activities. The club isplanning a series of lectures, and hopesto publish a regular monthly newsletter.For more information, contact RobinBradbeer, Dept of Electronics andCommunications Engineering, Polytech-nic of North London, Holloway Rd,London N7 8DB, ENGLAND.

222

March 1979 © BYTE Publications Inc

Circle 1 on inquiry card.

Attention: TDL Users

An exchange of information amongusers of TDL (Technical Design Labs)equipment and software is being startedby Dr John R Cameron, POB 1517,Palo Alto CA 94301. If you would liketo correspond with others who havesimilar interests, send descriptions of anyand all Z-80/TDL related hardware andsoftware to Dr Cameron. He asks thatyou enclose a brief summary (typed,single spaced) of your offerings andwishes, with your return address. What-ever material you wish to disseminatemay be enclosed, or give prices and avail-ability for commercial offerings. Ausers survey is also being compiled, soyou may wish to describe your systemand its applications. For copies of otherusers' summaries and information ofgeneral interest, send $3 to Dr Cameronat the above address.

New Computer Group in BattleCreek Ml Area

Called the Battle Creek Area Micro-computer Club, this group consistslargely, but not exclusively, of TRS-80owners. Meetings are on alternateThursdays at 7 PM and include softwareswapping, hardware topics, tutorials,etc. Both professionals and beginnersare welcome. For detailed information,contact Jeff Stanton, 8587 Q Dr N,Battle Creek Ml 49017.

Pittsburgh Area Computer ClubMembers Compete for MonthlyBabbage Award

PACC (the Pittsburgh Area ComputerClub) is currently meeting every thirdSunday at 11 AM in the communityroom of the Northway Mall. Theynormally have a 2 hour general session,followed by a formal meeting with aspeaker. This in turn is followed byanother general session in which thevarious user groups meet. During theformal meeting the monthly Babbageis awarded to the "best in its class."Members and guests are invited to bringtheir systems, share their ideas and viefor the Babbage prize. Contact PACC,400 Smithfield St, Pittsburgh PA 15222.

Space Coast Microcomputer ClubCelebrates Second Birthday

Ray Lockwood, president of theSpace Coast Microcomputer Club, calledus with information about his computergroup. The club recently celebratedits second birthday and boasts a mem-bership of approximately 100. Theymeet every fourth Thursday at 7:30 PMat the Merritt Island Public Library,315 Inlet Av, Merritt Island FL. Themembership fee of $5 includes the club'snewsletter. Ray tells us there is clubinterest, but not exclusively, in 8080 andZ-80 systems. If you wish furtherinformation, he can be reached at(305) 452-2159."

AIM 65.Only $375.

Get a head start withcomputers the easy, inexpensiveway with Rockwell's AIM 65.

For learning, designing, work or just fun, the R6500Advanced Interactive Microcomputer (AIM 65)offers features you won't find on other comparablypriced systems.

• Alphanumeric 20-ColumnThermalPrinter for Hard Copy Listing

• Alphanumeric 20-CharacterDisplay

• Dual Cassette, TTY andGeneral-Purpose l/Os

•R6502NMOS Micro-processor

•Read/Write IK ByteRAM Memory

• System Expansion BusConnector

• PROM/ROM and RAM Expansion Sockets

• Advanced Interactive Monitor Firmware

• Big, Terminal-Style Keyboard

• Optional Two-Pass, Symbolic Assembler andBASIC Interpreter

AIM 65 is available from your local Hamilton/Avnetdistributor or send the coupon below to:Microelectronic Devices, Rockwell International,P.O. Box 3669, Anaheim, CA 92803 or phone(714)632-3729.

GET ME STARTED!

□ Send me more information on AIM 65.

□ Have someone phone me at

1

Name.

Address.

*

Rockwell International

.where science gets down to business

Circle 318 on inquiry card.

March 1979 © BYTE Publications Inc 223

BYTE's Bits

Call for Papers

The 17th annual meeting of theAssociation of Computational Linguis-tics will be held August 11 thru 1 2, 1 979,on the campus of the University ofCalifornia, San Diego, at La Jolla CA.Papers are being solicited on linguis-tically and computationally significanttopics, including theoretical and meth-odological problems of computationallinguistics (eg: mathematical founda-tions, software tools); computationalsemantics (eg: linguistic semantics, de-ductive logic, artificial intelligence);automatic syntactic parsing and syn-thesis of natural languages; computa-tional lexicography and stylistics (eg:concordances and statistical studies);speech recognition and synthesis, graph-emes (ie: character recognition); auto-mated terminology dictionaries, machinetranslation and machine aided trans-lation. Authors wishing to present apaper should submit five copies of anextended abstract (not to exceed 1000words) by April 1 1979 to: Dr Norman

Sondheimer, Sperry Univac, POB 500,M S 2G3, Blue Bell PA 19424, (215)542-5896.»

Boston is Having a Huge SmallComputer Show

Hynes Auditorium in Boston is thesite of the Northeast Computer Show.The show originally scheduled to be heldApril 6, 7 and 8, 1979 has been changedto September 28, 29 and 30, 1979.The Northeast Computer Show will bea total spectrum presentation for thetrade and public. There will be twoseparate sections to the show: a smallbusiness system section and a personalcomputing section.

The personal computing section willfeature microcomputers, small com-puter systems, business opportunities,electronic and video games, career andemployment opportunities, educationexhibits, free seminars and lectures.Exhibitors will display the latest inpersonal computing hardware and soft-ware, computerized music synthesizers,computer amusements, computer gener-ated art, graphics, and animation.Dozens of free lectures and seminarswill be given by internationally recog-nized speakers for all categories andlevels of enthusiasts including intro-ductory classes.

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 fjLSMultiwrite—writing into multiplelocations with one instruction

Masking—for individual bit

access

Multiple REM boards accessed

in 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

X SEMIONICS

41 Tunnel Road • Berkeley »CA 94705(415)548-2400

The admission fees to the show are$5 for adults, $4 for college and highschool students. For more informationwrite or call: Northeast Exposition,POB 678, Brookline Village MA 02147,(617) 522-4467."

Tektronix Microprocessor Design andDevelopment Lab Workshops

Tektronix Inc is offering a seriesof microprocessor design and develop-ment lab workshops. Two differenttypes of workshops are available: onelasts five days for those who wantexposure to basic microprocessor designand organization, as well as experiencein design development and testing.The other is a 3 day workshop for thosealready experienced in microprocessordesign who wish more intensive trainingin developing and testing a design usingthe Tektronix 8002 MicroprocessorDevelopment Lab. Both workshops willprovide a practical, hands-on, resultsoriented learning experience. The pur-pose of the workshop is to help theattendee grow as a professional designer.For a complete listing of dates andlocations, write to Tektronix Inc, POB500, BeavertonOR 97077.»

International Date Standard

Software system writers may beinterested in the international standardfor writing numeric dates. In 1971 theInternational Organization for Standard-ization adopted Recommendation 2014,which provides for a system of descend-ing order when writing numeric dateson any letter or document. If numbersonly are used, the first day of July inthe year 1979 should be written 1979-07-01. The hyphen is preferred as aseparator, rather than the period, slant,or space.

If the month is given in alphabeticform, one can write the date in anyorder (eg: 1 July 1979, July 1 1979,or 1979 July 1). No ambiguity resultswhen a 4 character year field is used.

A related document, Recommenda-tion 2015, sets up a standard for thenumbering of weeks. It is recommendedthat for business and commercial pur-poses, Monday be regarded as the firstday of the week. Furthermore, theweek should always be seven days inlength. A week which is divided by theturn of the year should be attachedto the year containing a majority of daysin that week.

ANSI (the American National Stan-dards Institute) is the member organi-zation representing the United States.Correspondence should be directed toANSI, 1430 Broadway, New York NY10018."

Sargon Reproduced

We have been informed by MattMihovich of the Hayden Book Company

224

March 1979 @ BYTE Publications Inc

Circle 323 on inquiry card.

that the Sargon chess program describedin recent issues of BYTE is no longerdirectly available from the authors.It is now marketed by the Hayden BookCompany in book and tape (TRS-80,Level II) formats. The book retails for$14.95 and the tape for $19.95. ContactHayden at 50 Essex St, Rochelle Park NJ07662."

New Computer Chess Champion

At the Computer Chess Champion-ship held at the 1978 ACM (Associa-tion for Computing Machinery) meetingthis past December, a new championemerged from the Swiss system tourna-ment. The program Belle, developed atBell Laboratories, edged out defenderChess 4.7, the program developed bySlate and Atkin at Northwestern Uni-versity. The Belle program runs on aDigital Equipment Corp PDP-11 withspecial hardware to generate moves,and a new device to evaluate positionsusing high speed hardware.

Of interest to microcomputer usersis the relatively good performanceof the Sargon program, written by Danand Kathe Spracklen. It managed agood enough performance for a tiefor third place, although the Swisssystem leaves controversy concerningits exact ability.

Still waiting in the wings is Slate andAtkin's newest effort, Chess 5.0. At thiswriting, this version is not ready forcompetition. The rewritten program usesthe venerable FORTRAN language."

Association for Women in Computing

It has been announced that the AWC(Association for Women in Computing)was founded on December 5 1978 inWashington DC. The purposes of AWCare:

• to promote communicationamong women in computing;

• to further the professional devel-opment and advancement ofwomen in computing;

• to promote the education ofwomen and girls in computing.

Membership in AWC is open to allpersons interested in the purposes of theassociation regardless of sex, race, reli-gion, or national origin. To obtainfurther information and/or a member-ship application, contact Anita Cochran,5A137 Bell Laboratories, Murray HillNl 07974."

Automated Shopping List

During the past Christmas season,an interesting computer application wasdemonstrated at the Mall of New Hamp-shire in Manchester. The Digital Equip-ment Corp retail store there set up threeDECstation 78 computer systems for useby shoppers. Each system executed a

program for an automated shopping list.Each user answered four questions abouta gift recipient, and the computer selec-ted appropriate gifts from a data basecontained on floppy disks. The selec-tions were printed out in the form of alist of 20 suggestions.

The data base was created fromgift selections submitted by the variousstores in the mall in each of the severalcategories. An exemplar of a gift sug-gestion list is reproduced here. The listis specified as being appropriate for a

female, 18 years of age or older, inthe price range of $20 to $50, in thecategory of general presents.

It is estimated that over 1000 peopleper day used the system. The DEC storehas received many inquiries about thesystem, and no doubt many such sys-tems will appear in other locations.The program used in the system waswritten in the DIBOL language. Theprocessor unit in the DECstation 78is a microcomputer version of thevenerable PDP-8."

MERRY CHRISTMAS FROM THE DIGITAL STORE!OUR COMPUTER HAS PROCESSED YOUR DATA AND SUGGESTS THE FOLLOWING GIFTS:

STORE

WEATHERVANE

FILENE'S

KARTEN'S

BRAZIL CONTEMPO

GREAT EXPECTATIONS

LONDON HARNESS COMPANY

THE GREAT INDOORS

SCANDINAVIAN DESIGN

PHOTO CORRAL

JOY OF COOKING

TARRANT'S CUTLERY SHOWCASE

SEARS ROEBUCK AND CO.

LAMP AND SHADE WORLD

C.B. PERKIN'S TOBACCO SHOP

QUALITY PETS

FABRIC GALLERY

BROOKSTONE

ABUNDANT LIFE WOODSTOVES

LECHMERESAI.ES

BREWSTER GLASSMITH

DESCRIPTION OF GIFT

PLAYGIRL SHOULDER BAG

E LAUDER PVT COLLECTION 1/2 OZ

PORCELAIN FIGURINES

LIMITED PRINTS

GIFT CERTIFICATE FOR PERMANENT

AUTHENTIC SCRIMSHAW

TEA SET

IMPORTED BASKETS

800GSL1K TRIPOD

COPCO COOKWARE

KING'S ARMS 2PC CARVING SET

DIGITAL CLOCK RADIO

STAINED GLASS TIFFANY LAMP

PARKER CUBE TABLE LIGHTER

COMPLETE DOG GROOMING KIT

STUFFED CHILDREN TOYS

BRASS FIRST MATE'S LAMP

CAST IRON TEA KETTLE

GE DIGITAL SCALE

HANDMADE GLASS SEWING MACHINE

PRICE

23.0045.0050.0050.0025.0025.0023.5025.0026.9522.9537.5044.9549.9929.9526.9925.0037.5029.9539.8822.50

THANK YOU FOR SHOPPING AT THE MALL OF NEW HAMPSHIRE

Skon lith

optional 4fc Memory

SUKT BOARD" I llnfl Bcird

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 RCACOSMACnopo COMPUTER S9995

Stop reading about computers and get your hands on one! With a $99.95 ELF

II and our Short Course by Tom Pittman, you master computers in no time 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 1802'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. Vou get

massive computing potential. No wonder IEEE 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

•£-b£i SEND TODAY! __________

Netronics R&D Ltd., Dept. BY-3

NOW AVAILABLE FOR ELF II—

□ Tom Pittman's Short Course On Mi-croprocessor & Computer Programm-ing teaches you just about everythingthere is to know about ELF II or anyRCA 1802 computer. Written in non-technical language, it's a learningbreakthrough for engineers and laymenalike. $5.00 postpaid!

D Deluxe metal cabinet with plexiglasdust cover for ELF 11, $29.95 plus$2.50 p&h.

D ELF II connects to the video inputof your TV set. If you prefer to useyour antenna terminals, order RFModulator, $8.95 postpaid.D GIANT BOARD™ kit with cassetteI/O, RS 232-OTTY I/O, 8-bit P I/O,decoders for 14 separate I/O instruc-tions and a system monitor/editor,$39.95 plus $2 p&h.

□ Kluge (Prototype) Board accepts upto 36 IC's. $17.00 plus $1 p&h.

D 4k Static RAM kit. Addressable toany 4k page to 64k. $89.95 plus $3 p&h.

□ Gold plated 86-pin connectors (onerequired for each plug-in board). $5.70postpaid.

D Professional ASCII Keyboard kitwith 128 ASCII upper/lower case set,96 printable characters, onboard regu-lator, parity, logic selection and choiceof 4 handshaking signals to mate withalmost any computer. $64.95 plus $2p&h.

□ Deluxe metal cabinet for ASCIIKeyboard, $19.95 plus $2.50 p&h.

□ ELF II Tiny BASIC on cassettetape. Commands include SAVE,LOAD, V<,^,( ), 26 variables A-Z,LET, IF/THEN, INPUT, PRINT,GO TO, 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 yourTV screen without additional hard-ware. Also plays tick-tack-toe plus adrawing game that uses ELF II's hexheyboard as a joystick. 4k memory re-quired. $14.95 postpaid.

U Tom Pittman's Short Course on TinyBASIC for ELF II, $5 postpaid.

□ Expansion Power Supply (requiredwhen adding 4k RAM). $34.95 plus $2p&h.

□ ELF-BUG5* Deluxe System Monitoron cassette tape. Allows displaying thecontents of all registers on your TV atany point in your program. Also dis-plays 24 bytes of memory with full ad-dresses, blinking cursor and auto scroll-ing. A must for the serious program-mer! $14.95 postpaid.

Coming Soon: A-D, D-A Converter,Light Pen, Controller Board, ColorGraphics & Music System., .andmore!

Call or write for 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 $3 postage& handling for RCA C0SMAC ELF II kit,Q $4.95 for power supply (required),D $5 for RCA 1802 User's Manual, a $5for Short Course on Microprocessor &Computer Programming.0 I want mine wired and tested withpower supply, RCA 1802 User's Manualand Short Course included for just $149.95plus $3 p&hl

D I am also enclosing payment (includingpostage & handling) for the items checkedat the left.Total Enclosed (Conn. res. add tax)

$ □ Check here if

you are enclosing Money Order or Cashier's

Check to expedite shipment.

USE YOUR D VISA D Master Charge

(Interbank # — )

Account #

Signature Exp. Date

PHONE ORDERS ACCEPTED (203) 354-9375

Print

Name

Address

City

State _

-Zip

. - DEALER INQUIRIES INVITED,

rJ

Circle 280 on inquiry card.

March 1979 <D BYTE Publications Inc

225

Continued from page 10

I am just reaching the point where Ican remember that TH is a searchmode and ZA is the number of charac-ters in a word. This is particularlyregrettable in a program with avowedlypedagogical purposes. I shall refrainfrom belaboring the similar confusioncaused by the program's use of GOTOs.Finally, I am sorry that the authorsdid not comment generally on the mem-ory requirements for the program,its. performance, and the question ofhigh versus low level languages forcompetitive chess programs. Still, it isan exciting series and I look forwardto adapting the program when myWestern Digital Microengine arrives.

David A Mundie

104-B Oakhurst Cir

Charlottesville VA 22903

ATTENTION ATARI EXPERTS

I am getting started in home comput-ing. I have an Atari video computer withinterchangeable game cartridges and con-trols. Is it possible to modify this so thatI can write small programs on it? If any-one has done this, I would appreciatebeing sent some directions on how to doit. (I have some experience in puttingelectronic kits together.)

If these modifications are not feasi-ble, does there exist a plug-in cartridgefor playing chess? It seems to me thatthe 12 key keyboard or the 10 pin con-nector could be made to handle chessfunctions. I would appreciate help andadvice from your readers.

Paul Rensink

POB 247

Ashton IA 51232-

DIGICAST: A CORRECTIONAND AN OPINION

I would like to make a couple of cor-rections to the otherwise fine article byA I Halsema regarding "The DigicastSystem" in January 1979 BYTE, page100.

• The explanation offered for thefunctioning of the standard FMMultiplex transmission and recep-tion system needs clarification.What is commonly referred to asthe stereo pilot signal is a signalsent to the FM tuner at 19 kHzfrom center frequency, which actsas an on-off switch for the tuner'sdemultiplexing section. In thepresence of the 19 kHz pilot,the tuner will attempt to combinethe difference signal being sentin the 38 kHz band with the

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 V1.0C $ 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 systerI/O buss. Assembled.

for SS-50$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

summary monaural signal toderive two channels [algebrai-cally, (L + R) x (L- R) = (L2 -R2)]; in the absence of the pilot,the monaural signal is fed to bothpreamplifier channels.• I highly doubt that, in practice,one could realize a full 6 M bitdata rate on a UHF televisionchannel where the full channelbandwidth is only 6 MHz total.The realities of broadcast trans-mission and reception would pro-bably yield a service operating atless than half this frequency [\would guess 2.0-2.5 M bps tops).

Neil D Weiser

81 HortonSt

Stamford CT 06902

CAN OUR READERS HELP?

I would appreciate information con-cerning any suppliers of an IBM compat-ible Magnetic Card II reader which maybe interfaced to a microcomputer whichuses the S-100 bus.

Ray Menzies

3/545 St Kilda Rd

Melbourne 3004

AUSTRALIA

Any BYTE reader with appropriateinformation is requested to correspondwith Mr Menzies.

TEXT EDITOR

Your editorial "On the Virtues ofWriting Editors" (November 1978BYTE, page 6) prompted this letter tothe editor. It seems that we have beenreinventing the same wheel. I beganwriting my text editor about ninemonths ago—after becoming sufficientlyfrustrated with the Teletype-orientededitor purchased when I first got mysystem running. I have actually intendedto write this letter since I read yourearlier editorial asking for a better textprocessing system. However, I have beenbusy completing my doctorate duringthe period when the program was beingdeveloped so other things have alsooccupied my time. Many of your ideaswere incorporated into my program.Here is a description of my editor.

Videowriter is a video display orient-ed text editor. I wrote it for the mostcommon hobbyist systems (16 lines of64 characters) but it is easily modifiedfor other page lengths, and can bemodified for other page widths (it isvery easily modified for the Sorcerer sizescreen). It is an expandable programdesigned to have extra features added onas desired by the user. A complex splitscreen video driver for a memory map-ped video display and a keyboard inputroutine using three flashing cursors areincorporated into Videowriter so thatsupport software external to the pro-gram is not needed.

The screen is divided into a text dis-play area and a command and message

226

March 1979&BYTE Publications Inc

Circle 211 on inquiry card.

Circle 386 on inquiry card.

Circle 49 on inquiry card.

£cippkz computer*

SOFTWAREFOR BUSINESS

includes:

Mailing List

* General LedgerPayroll

Phone Directory

* Customer InformationInvoice WriterInventory

* Check Writer

* Complete Business SystemMaster Business System

Available Soon Word Processor

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

— S'A" 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

— Comming 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

vidEoisslwoitld

2224 N. University, Peoria, II. 61604Phone 309/686-9352

"Trademark of Apple Computer Co. Inc.

V J

The experienced 2114 14K static RAM 1

INCOME TAXPROGRAMSFOR TRS-80™

FOR INDIVIDUALS (LINE PRINTER OR

DISK NOT REQUIRED)

1040A 4K 7.95

1040 (with Schedule A 4K 14.95

& C thru F Routine)

TC&G (Income Averaging) 4K 14.95

• • • STATE LEVEL I OR II • • •

BUSINESS & PROFESSIONAL:Full systems with line printeroutput start at 189.95

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 you

need for microprocessor applications.

EmnisEMfiNc.

FREE 7-PAGE CATALOGAND DESCRIPTION

A division of Electronic Memories & Magnetics Corporation3683 North 28th Avenue, Phoenix, Arizona 85017 (602) 263-0202

CONTRACT SERVICES ASSOCIATES

1846 W. Broadway Anaheim, CA 92804

Circle 137 on inquiry card.

Circle 83 on inquiry card.

BYTE March 1979

227

display area. The text area is the bottom13 lines of the screen. A flashing cursorindicates the position at which the nextoperation in the text buffer will occur.This cursor changes to different figuresfor either the text input mode or thecommand mode so the operator can tellat a glance which mode is in effect. Thecursor can always be moved at will—left,right, up, and down. Left and rightmovement stop at the end of the line,and the cursor can move to any of the13 text lines displayed. If the operatorattempts to move the cursor off the topor bottom of the screen, text is scrolledonto the screen (scroll down or scrollup) form the text buffer. A direct one-to-one correspondence is always main-tained between the screen text cursorposition and the text buffer pointerposition. To illustrate the use of thecursor, imagine that you are enteringtext and notice a misspelled wordseveral lines up on the page. Withoutchanging operating modes, move thecursor up to the line containing the errorand then over to the wrong letter, posi-tioning the flashing cursor over the error.Touching the delete key (or any otherkey so defined at assembly) removes theletter and the line beyond the cursormoves back one place. Now simply typein the letter or letters desired. The linemoves to the right to make room. If theline becomes too long for the screen

width it is split into two parts at thecursor position, and you continueentering on the same line. If you cometo the end of the screen line an auto-matic carriage return and line feed isexecuted. If you were part way througha word at the end of the line the entireword will be entered on the next textline, and you simply keep typing.When a letter is entered in the lastposition on the screen line the cursorwraps around to the start of the nextline to signify that that is where the nextletter will go. A. cursor-left from this"65th" position will move back up tothe last line entered just as if the cursorwas actually on the same line (in the textbuffer it is). The cursor always indicateswhere the next insertion or deletion willoccur. The operator does not need toenter a carriage return at the end of theline—this is done automatically.

Text lines in the text buffer are ter-minated by a single carriage returncharacter. Actual line length varies fromthe single carriage return up to 64 textcharacters and a carriage return. Thisbuffer arrangement is the most memoryconservative arrangement that I couldeasily implement. Any byte (hexa-decimal 00 to FF) can be entered intothe text buffer.

Videowriter features user set, variabletab stops that work exactly like tabstops on a typewriter. 16 tab stops are

HAVING TROUBLE LEARNING BASIC?

STEP BY STEP is an interactive computer course in BASICthat's easy even for beginners. Program Design has de-veloped a logical, structured approach that really works. At theend of STEP BY STEP, you'll be writing programs using allimportant BASIC commands.

AVAILABLE FOR TRS-80 LEVELS I & II, PET, AND APPLE II

STEP BY STEP:

• presents material in small steps

• provides guided programming practice in each lesson

• tests your progress after each lesson

• teaches actual program writing, not just terms

• is suitable for anyone from junior high up, regardless ofmath background

10 lessons with quizzes, plus final test 3 cassettes64 page Workbook $39.95 plus $2.00 shipping

P.D.I, has many other educational programs too. Available atyour computer store. Or order directly from us.

VISAS Master Charge accepted (include number, exp. date,MC include digits above name)

Department 201

Program Design, Inc., 11 Idar Court, Greenwich, Conn. 06830

DEALERS

AMPTEC, Inc.Denver, CO

ComputerlandLawndale, CA

Computer ComponentsWestminster, CA

Computer CraftHouston, TX

Computer ShopSan Antonio, TX

Grice ElectronicsPensacola, FL

Newman ComputersAnn Arbor, Ml

ComputerlandNiles, IL

Computer FactoryNew York City

Computer MartNew York City

Computer CornerWhite Plains, NYComputer NookPine Brook, NJ

Computer EncounterPrinceton, NJ

Computer MartIselin, NJ

Kobetek SystemsWolfville, Nova Scotia

AND OTHER COMPUTER STORES

allowed—and they can be set at any lineposition.

The top line of the screen is used formessages from the editor to the oper-ator. If more tabs are entered into aline than there are tab stops set in thetab stop buffer the message TAB STOPNOT SET appears in the upper leftcorner of the screen and the system'sbell is sounded. Similar messages an-nouce other user errors and undefinedconditions.

The command mode of operationallows the operator to manipulate thetext through the execution of commandstrings. Commands are all single letterentries (upper or lower case) made onthe third line of the screen. Commandcharacters do not have to be separatedby a delimiter, but a delimiter $ is usedto separate groups of commands. Eachgroup delimited by a $ will be repeatedas a loop according to the number pre-ceeding the group on the command line.For example:

9999asdf$23ERT$h$121K$$

will be interpreted in the following way.

1. Execute the commands A, S, D,and F; and repeat 9999 times.

2. Do E, R, T 23 times.

3. Do one H; execute L and K com-mands.

4. Stop.

After the command string is enteredon line 3, the two dollar signs $$ signalthe start of execution. The line is firstmoved up to line 2, and then the com-mands are actually read from the videomemory and executed. If the operatormakes an error another command stringcan be entered on line 3 with the pre-vious string still visible on line 2. Exist-ing line 2 command strings can berepeated, and line 3 command entriescan be deleted singly or the entire linecan be erased. The command line cursorindicates where the next command lineentry will go. A text cursor indicateswhere the next command will haveeffect in the text buffer. For example,the delete command will delete char-acters starting at the current text cursorposition.

There are two types of commands.The 26 single letter commands arereserved for use on the command lineas described above. These commandsare decoded in sequence and a vectoris found in a table. The user can placeany vector in this table and the editorwill then call the user's routine. A num-ber of immediate commands are imple-mented using the set of ASCII controlcharacters. A control E initiates the textenter mode. A control C halts executionof any command mode string (if the userhas written it into the routine!) andreturns to the command mode with a*BREAK* message and a bell. Control Rdeletes the entire line 3 command stringentry. A control X returns to the moni-tor or operating system. The control Zcommand causes the next character

228

March 1979 <D BYTE Publications Inc

entered from the keyboard to be enteredinto the text buffer, regardless of anyassigned function of the character.

Videowriter is constructed in twoparts. The core program does the house-keeping for the features described above(except for the delete command). Noneof the 26 single letter commands is usedby the core program. (Control T initiatesthe tab set or clear routine.) All of theimmediate commands are processed bythe core program. Text buffer entry ordelete, cursor positioning, screen scrol-ling, and keyboard entry are managed bythe core. Decoding of the 26 single lettercommands, command line execution andloop control is done by the core, andcontrol is passed to the vector in thecommand vector lookup table. Unde-fined commands return control to thecommand processing routine.

The other half of Videowriter is auser expandable set of extension rou-tines vectored to by the core program.The user's routine does not need to saveany registers or the stack pointer posi-tion, but the address on the stack whenthe extension routine is called must besaved. This is the return address to thecommand processor. Input and outputroutines are obvious candidates for theextension routines, since these routinesmust be tailored to the user's individualdisk or tape system. The normal editorfunctions to search for strings, substitutestrings, delete text blocks, copy blocks,move blocks, etc, are implemented inthe extension routines.

The character delete routine is a goodexample. The single letter D or d causesone character to be deleted from thetext buffer. D100 will delete a block of100 characters. 100D will delete 100characters one at a time, with the resultsdisplayed on the screen after each de-letion. 30D100 will delete 30 blocksof 100 characters each. The D\ com-mand simply searches from the currentpointer position toward the end of thetext, looking for a special stop characterin the text buffer. Text is then deletedfrom the cursor to the stop flag, or tothe end of text if no flag is set.

The 0\ command outputs from thebuffer from the cursor to the stop flagor end of text, and the 0 command savesthe entire buffer. The move commandmoves a block, from the cursor to thestop flag, to a position marked in thebuffer by a special flag. The functionrequires only one byte more than theoriginal buffer size, regardless of the sizeof the block moved. Copy works similar-ly except that the original block is notdestroyed. It appears that there will beabout ten unused command vectorpositions left in the command vectortable for the addition of user functions.These could be used to implement textoutput processing extensions.

It is my intention that Videowriterbe used by simply pointing the cursorand then performing the function doingit without having to count lines orplaces, etc. All changes to the text bufferare displayed. It has always seemedobvious to me that this is an absolute

requirement for a text editor, but I havenever seen another program that does asmuch for the operator as Videowriter.Since no one else had what I consideredto be a "decent" editor, I wrote itmyself!

Of course, the current implemen-tation of Videowriter doesn't satisfy mecompletely. It has one major drawbackwhich must be fixed—the more textbetween the cursor position and the endof text the slower it runs (block transfersare slow). If text is being entered with16 K bytes of text following the cursor,a fast typist can enter characters fasterthan Videowriter can put them into thebuffer. This will be fixed by using a lineinput buffer so that no more than 64characters will be moved at each entryuntil the line is full. Nested commandloops will be added, probably before youreceive this letter. This will allow truemacrocommand loops to be entered andexecuted.

Only two simple routines are neededto allow nested command loops, with nochanges to the current command pro-cessing scheme. Currently, only 9999iterations of each loop are allowed, butthis will be changed to allow 65535passes. That should be enough to satisfyanyonel I want to add a display at theupper right corner of the screen to showthe workspace remaining. The tab setand clear routine must be modified to

display the position number of each tabstop. And, finally, I eventually want toadd a separate command buffer so thathuge macrooperation can be executed.The command buffer contents will besaved and loaded just like the textbuffer. These are all changes to thecore program, and should take anothermonth or two at the most.

Do you like it? Do you have anysuggestions for further additions ormodifications? If you do I would cer-tainly appreciate your opinions. Ofcourse it isn't complete (as I would likeit) now, but it works-and, of course,I am using Videowriter to write thisletter! Virtually all of the extensionsneed rewriting to speed them up. I for-got to mention one point: Videowriterwas assembled in TDL's pseudo-8080-like, Z-80 mnemonics. Since most of theop codes are 8080 op codes, rewritingfor the 8080 will be simplified. I havemachine reproducible flow diagrams forall of Videowriter which are fairlycompact—more so than flowcharts.

I will appreciate any comments.Videowriter will soon be running onseveral other systems so I can get otheropinions.

Phillip Hays

Apt 46

825 NW 23rd St

Corvallis OR 97330"

Now available! Texl Edilor. Assemble!.Disassembler and a new Video Display Board forELF 11!

The IEXT EDITOR gives you word processing alnlilyand the ability Id erJil assembly lanyuaiiu programwhile displayed on yuur video momitir lines andcharacter's may be quickly inserted, deleted oichanged (Add a printer and Elf II can type leiteii luiyou-error tree plus insert names and addressee humyour mailing lisltl

ELf It's ASSEMBLER translates assembly langiuyeprograms into hendecimal machine code for ELF IIuse. The Assembler leaiures mnemonic abbreviationslor instructions Iralher than numerics! so yamprograms are easier lo read and debug

E.F Us DISASSEMBLER lades machine codeprograms and produces assembly lariuuane sourcelistings This helps you better understand theprograms you are working with, su they become i luleasier lo improve

Tlie new ELF II Video Display Board lels yougeneral*? a sharp, professional 32 ui fi4 character by16 line upper and lower case display on your tV Street!or video niunitur dramatically improving yiiuriineipaudcij $99 95 ELF II When yon gel into lonyerprograms, the Video Display Board is really a blessmiji

Now Available • Text Editor, Assembler it Disassembler!

Featuring 1802

RCA COSMAC

As Featured inPOPULAR ELECTRONICS

So stop reading aboul ELF II and get your hands on one! Startmg with a $99.95 ELF II anil our super simple Sliurl Course onMtmpfGCesm & Computer Proi/fupwiiiij/, you can master ELF IIin no time at all! Then, as yuui understanding grows, you caneipnnd ELF II with advanced addons thai oiler you a lot mum

ELF II

microprocessor/mini-

COMPUTER

$QQ95

0NLYVW

INCLUDESVIDEOINTERFACE

power la sove "real world" problems than you would gel humfafOpUS nane" computers selling tor many limes ELF lis lawprice. Nn wonder IEEE chapters, universities and major corporalions are all ordering ELF II to tram then personnel I Now you canorder your ELF II, direct hum the factory, with ihe coupon below

Netronics R&D Ltd., Dept BY-3

333 Litchfield Road, New Milford, CT 06776

Yes! I want my own computer! Please rush me—

[ , RCA COSMAC H I M Language, it s .1 learning breakthrough lin engineers and Laymend .11 $99 !)'j plus S3 postage and alike $n postpaidarKflmg (requires 6 :t to 8 von AC power r, neluxe MeIa, CaUinel Wlt(] piexig1as dusl cover lor EIF It.$29 95 plus S? 50 p&lt

□ I am also enclosing payment nncludihq postage & hanclingi lorIhe ilems checked below'

PHONE ORDERS ACCEPTED!Call (203) 354-9375

supply□ PowerSupptyirequtred) $4 95pcsipad

: HCA tail.' user s Manual Sb postpaid

1 I lorn hitman s Short Course On Microprocessor & Computer ! I I want my ELF II wired and tested with power supply. RCA

Total Enclosed S

iConn res add tax)

CHARGE IT! Exp Date _□ Visa □ Masler ChargeIBank #

Programming teaches you just .itioul everything Ihe

u .' Elf 01 any CCA 180? compute Written m non-tec

ALSO AVAILABLE FOR ELF II

GIANT BOARD™ kit Willi HSSCtte I/O RS 23V

C nv ro 8 tin f i/O tfecodeis (cm 14 separate

1802 User's Manual and Short Course—all liS3 p&ti.

Iiisl S149 95 plus

Account # _

n nons and a system monitor/eclfloi S39.95 plus

$2 rj&ll

Kluge (Pruiotyuei Board aurpN up In Jti IC '..$17.00 plusSi p&h

i 4k Sialic RAM kit. Addressable in any 4k page Inm S89.95pir>5.i|h\h

Go»p tied 86-pm connectors i - reqii red loi sal t)

plug mtlMUl. S5.70im post ri

Expansion Power Supply [required wIiimi adding -IkRAM S34 95(ASS p*ll

Piolessiona! ASCII Keyboard Kit v-.-illi 1?8 ASCII

26variables A-Z. LEI II/IHEN INPUT. PIWJI CO 10CO SUB Rl TURN END REM. CLF.AH 11ST HUN.

Pi.ut peek poke Comes Fully documented and in-cludes alphanumeric generator required la displayalphanumerfl characters drectiy on your iv screen withoiii addibona ha In i ■ A ,•■■■.- he* tacit-toe plus a

duwing ri.init! Hi.il use. 1 LI li \ tin- ki-ytHMHl .is .1 |oy

suet ttmoraory required S14J18 postpaid

! i turn Piltiii.iM s Short Course on Tiny Basic tor I.I I II$5 posloaid

i i ELF-8UG™ Deluxe System Monitor on cassettetape Allows displaying ihe contents ot all registers onyour tv a! any poml ui your program Also displays 24Hyies ol memory Wild lull addresses blinking cuisor

% printable characters onboard and auto scrolling A musl lor the serious programmer1

regulator party logic selection am) choice ol A bandshaking signals in male wrtti .iimost any compulei$54.95 plus $? p&h

$14.95 poslpaid

Texl Edilor on cassette tape gives you die abdily toItiserl delete oi edit lines and winds from your programsDeluxe metal cabinet lor ASCII Keyboard. S19.95 while they .lie displayed en your video monitor |Artdprinter and you can use ELF II lo type errui Iree tellersplus insert names and addresses horn your mailing list I

118.95 postpaid

I ; Assembler on cassette tape IranSlates assemblylanguage programs mio hexidecimai machine code torELF it use Mnemonic abbreviations ini instructions(rather than numerics] make programs easier lu read,iiul help prevent errors S19.95 postpaid

programs anil produces assembly Mrt(jLi<i<)e source lisl

ings to help you understand and improve youi programs

$19,95 on cissetle [ape

SAVE S9.90 — Text Editor, Assemble! & flisassumiiler

purchased together only $49.95! (Regime Video Dis

play Boarc plus 4k memory i

I I ELF II Lighl Pen. .issenibled?; tested $7.95 plusSI

p&h

: | ELF II Color Graphics & Music System Board Ml

S49.95 plus S? p&h

d ELF II connects dtiectly lo Ihe video input ol vein Iv

sel wiihoLt additional hardware lo connect 111 n to

yoin antenna terminals instead.. order FtF Modulaior.

$8.95 uos:paid

Coming Soon: A-0 L) A Converter Controller Band

and more'

Video Display Board nl lets you generate a sh.upiBSSional 3i' or li<i character by Hi lint Uppei andei t:,ise display on youi IV SI teen ur video monitornwiieaHy improving youi unexpanded 593 95 111 ntits instde A'scn Keyboard cabtnei i $89.95plus &> p&h

ELF II Tiny BASIC on cassell*! tape Com .mu iiuifj ijikvgiii en ins jij.jj |niiii«iiu

mas include SAVi I dad + x.-r [) □* Disassembler on cassette tape takes machine coda —dealer inquiries invited " |

Address

Qiy.

Circle 280 on inquiry card.

March 1979 O BYTE Publications Inc

229

R Travis Atkins

67 Greanend Av

Middletown Rl 02840

What Is an Interrupt?

PLACEBOOKMARK

LIFT PHONEOFF HOOK

SELECT

APPROPRIATE

RESPONSE

RETURN TOMARKED PLACEIN BOOK

GO TO NEXTSENTENCE

Figure 7: One example of a way to handle a human being's interrupt pro-cessing in response to a ringing bell. The ringing bell is like a signal on amultiple source interrupt line of a computer. The first object is to identifythe source of the interrupt. If processing is done, the state of the interruptedprocess (reading a book here) is saved (with a bookmark) while the phone isanswered. A fter the phone call, the reading of the book may be resumed atthe place of the bookmark, restoring the original process.

Busy work! It's a terrible thing to inflicton people or computers. Wait loops in inputor output operations are busy work forcomputers, and unless you learn how to tapyour computer on the shoulder when youneed it, it will probably spend most of itstime doing busy work.

As hobbyists, we are always concernedabout squeezing the greatest value out of ourinvestments. We want our computers to runas efficiently as possible. Since it is likelythat we will be involved in designing andbuilding some of our own 10 devices, weshould develop an understanding of theconcept of interrupts. To efficiently pro-gram peripherals for 10 purposes it is oftennecessary to use interrupts.

This article introduces the basic conceptsof interrupts, defines the terminology thatapplies to interrupt mechanisms, anddescribes the processing events that mustoccur during the time from the receipt ofan interrupt to the return from thatinterrupt.

Concepts

An excellent example of interrupt pro-cessing is the system used in telephones.Let's see why.

We know when someone is trying to callus because the telephone rings. But con-sider how much time would be wasted if wehad to periodically pick up the receiver tosee if anyone was on the telephone if thephone had no bell. This periodic method iscalled polling; it works well for telethonsand radio talk shows. However, it's not thebest method for normal home telephoneinstallations. Assume you receive an averageof one or two phone calls a day at home.Imagine yourself as a processor and thecallers as the 10 requests from a keyboard.The order of magnitude differences in thisexample are about the same as with yourprocessor and its 10. The bell on yourtelephone is, of course, an interrupt. It is an

230

March 1979 © BYTE Publications Inc

Circle 31 on inquiry card

Circle 327 on inquiry card.

ATTENTION SWTPC DISC SYSTEM USERS

am Ed smiths M6800 SOFTWARE TOOLS

are now available in mini-FLEX format as well as Smoke Signal Broadcasting format. SeeJuly BYTE (or diskette media prices. Disc users specify SSB OR SWTPCO.M6800 RELOCATING ASSEMBLER AND LINKING LOADER software for rapid programdevelopment and debugging. Some of its features are RELOCATABLE CODE-FULLALPHABETIZED CROSS REFERENCE LISTING-BOTH GLOBAL AND LOCALLABELS- LISTING OF EXECUTION TIME-RE LATIVE BRANCH TARGET ADDRESS-ES 8 CHARACTER LABELS CORESIDENT EDITOR-ENGLISH ERROR MESSAGES-80 COLUMN LISTING USING PR-40-eic.

M68AS . . cassette $50.00

M68AS-D . .minifloppy $55.95

M6800 RELOCATABLE DISASSEMBLER AND SEGMENTED SOURCE TEXT GEN-ERATOR. This software iool enables you to modify and adapt those large sized object pro-grams and re-assemble them on your system without requiring enormous memory. Thisprogram will produce segmented source text files with all the external linkage informationrequired for re-assembly using the above Relocating Assembler

M68RS . .cassette $35.00

M68RS-D . .minifloppy $40.95

M68ASPK Above two programs on single diskette $85.00

The above two programs are furnished in relocatable formatted code with instructionmanuals and commented assembly listings. The loader is also supplied in standard MIKBUGformat on cassette or as a binary file on disc to initially load the linking loader at any de-sired address.

The linking loader is also available in EPROM on two 2708s for $45.00. Specify desiredaddress and version, i.e. cassette, FLEX or SSB.

8-M-l-T-H-MJ-fi

FIRMWARE from Ed Smith's SOFTWARE WORKS

A 2k Monitor Disassembler-Trace Debugging Tool in EPROM. Use as stand-alone monitor Dras an adjunct to your Smartbug or Swtbug. Requires ACIA as control port. Provides alt themonitor commands (23) you could ever ask for, plus the convenience of a mnemonic dis-assembler and single stepping disassembler.trace display. Interactive use of single or dualbreakpoint with trace pickup at breakpoint, plus many new monitor functions and sub-routines, makes this a super tool you will love to work with. Uses location $F800 to$FFFF. Furnished on two 2708's or one 2716. Includes Manual and commented assemblylisting. Specify ACIA location and present monitor in order to keep $A0O0 RAM com-

patibilitv. SMITHBUG ON 2708's $60.00

SMITHBUG USER SUPPLY $40.00

Get under Ed Smith's Software RUG (Relocating assembler Users Group). All RUG mem-bers will have use of a building software support library in relocatable format. Upcomingitems are a Floating Point package and a Trig package.

Order direct by check. Specify system configuration if other than SwTPCo. Californiaresidents add 6% sales tax.

Ed Smith's

SOFTWARE WORKS

P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3350

BUTE

Back Issues for sale

The following issues available:

• November 1976

• December 1976

• February-December 197 7

• February-December 1978

Cover price for all issues thru August 1977 is $1.50plus $.25 postage and handling ($3.50 total foreign).September '77 thru '78 issues are $2.00 plus $.50postage and handling ($4.00 total foreign).

Send requests with payment to:

BYTE Magazine70 Main StreetPeterboroughIMH 03458Attn: Back Issues

Radio Shack Computer Users

TRS-80

monthlynewsletter

The largest publication devoted to the TRS-80 System

• Business • Software Exchange

• Personal Finance • Market Place

• Practical Applications • Questions and Answers

• Gambling—Games • Program Printouts

• Latest RADIO SHACK Developments

«... and more

MAJOR PROGRAMS PUBLISHED MONTHLY • INCOME TAXPROGRAM - LONG AND SHORT FORMS • INVENTORY CON-TROL • EXTENSIVE MAILING LIST AND FILE PROGRAM •PAYROLL • STOCK SELECTION • PICKING WINNING HORSES

• RENUMBER PROGRAM LINES • CHESS • CHECKERS • FINAN-CIAL APPLICATIONS PACKAGE • PERSONAL FINANCE PACK-AGE • GRAPHICS 'STATISTICS* MATHEMATICS •EDUCATION. . . AND MORE

$24. Per Year

■CQIYIPLJTRQNICS"

MATHEMATICAL APPLICATIONS SERVICE"-'

Box 149RB, New City, New York 10956 (914) 425-1535

Send for FREE Software Catalogue (Including listings ofhundreds of TRS programs available on cassette and diskette).

Circle 156 on inquiry card.

BYTE March 1979 231

Circle 265 on inquiry card.

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.

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®1 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 24-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

excellent way to resolve the asynchronismand speed differentials of the telephonecommunications system. Interrupts canresolve, the same fundamental mismatchesfor computers as well.

Terminology

Let's carry this analogy a little furtherto introduce the terminology that refersto variations of the basic interrupt concept.

If your phone is ringing, and you areabout to process an interrupt, what areyour reactions? How does your interruptprocessing work?

More than likely, you will perform asequence of actions precisely analogous tothose your microprocessor performs whenit receives an interrupt. Figure 1 is aflowchart of the typical procedure we wouldrun through for a telephone interruption. Itconsists of both the housekeeping chores ofswitching from the background task youwere doing, reading, to the interrupt task,answering the phone, and back again in anorderly and complete fashion, as well asthe interrupt handler itself.

In the computer an interrupt is a specialcontrol signal that is sent to your micro-processor when a given asynchronous event,such as a switch closure, or an 10 readysignal, is detected by your system. It is themechanism by which your processor isforced to take note of that exceptionalevent.

The interrupt causes your processorto transfer control to a set of instructionsknown as the interrupt handler. The inter-rupt handler is nothing more than a pre-coded contingency plan in the form of asubroutine that may be called at any timein response to an interrupt signal. Whatyou do in this subroutine is limited onlyby the software capabilities of your pro-cessor.

In microprocessors, interrupt processingis basically a software technique withvarying degrees of hardware support de-pending on your particular processor andsystem. The term vectored interrupt refersto a simple method of reacting to an inter-rupt. The processor is sent to the interrupthandler which will lead the processorthrough steps to determine the source of theinterrupt, initiate appropriate actions andreturn to the point of interruption. Thevector is simply the starting address ofthe interrupt handler, and is supplied eitherexternally or internally, depending uponyour particular processor's hardware.

Microprocessor integrated circuit de-signers who seek to minimize the hardwarerequirements in their processors often

232

March 1979©BYTE Publications Inc

Circle 32 on inquiry card.

assign a fixed location or set of locationsin the processor's address space to holdthe vector(s). The 6800 processor uses thisapproach, as does the Texas InstrumentsTMS-9900. Other processors such as the8080 receive their vectors directly fromexternal sources, a method which usuallyinvolves more system hardware.

The built-in process that occurs in yourmicroprocessor chip is usually limited tosaving the program counter and the pro-cessor's status register, masking subsequentinterrupts, and then transferring control toyour interrupt handler (loading the programcounter with the interrupt handler's startingaddress). The task of determining where theinterrupt came from is left to the interrupthandler itself. In the simplest case, whereyou have only one device tied to an inter-rupt line, the origin of the interrupt isimplied. Since we may at some time havemore devices than we have separate interruptlines, we should also know how to make amore sophisticated system capable of hand-ling many devices.

To see how multiple interrupts are han-dled, consider another analogy. Assume youhad just settled back into your easy chairafter finishing with the telephone inter-ruption, when suddenly a pair of handscovers your eyes and a voice says, "Guesswho?" You've been interrupted again, andyou don't know which of your 12 childrenit is, so you will have to save your placeagain, and begin by saying, "Is that youOlen?". . ."No.". . ."Is it you Travis?". . ."No.". . ."Is it you Mary Ellen?". . .etc,until you get a positive response. In muchthe same way, several devices can use asingle common interrupt line to yourprocessor so that, once the interrupthandler is initiated, it can interrogate allthe devices to see which one sent the inter-rupt signal. To accomplish this, it is custo-mary to have a device status register in themicroprocessor's address space for eachindividual device. The data in this locationindicates the device's current status: busyor ready.

Now suppose this game of guess-who isvery popular with your children, and theyare all playing it on you, some much moreoften then others. Your best strategy wouldprobably be to adopt an ordering schemeto optimize the handling of these manyinterruptions. This simply means that youwould guess the names of the children whowere the most frequent players first, andcheck the least likely ones last. Similarly,in interrupt processing you should arrangethe order of checking the device statusregisters of your IO units from the mostfrequent source of interrupts to the least

Circle 1 72 on inquiry card.

The

8100 "Boa

^^ ■ ^0 %# ■ ELECTRONICS

An S-100 Bus Adapter/Motherboard

fortheTRS-80

plus a whole lot more!!!

S-100 BUS INTERFACE6 SLOT MOTHERBOARD

The 8100 allows B Radio Shuck TRS-fll) computer W I*interfaced lo the popular S-UJQ Bill lor memory expansionand extended I'O capabilities Fur example, you cur. noweasily add more memory, floppy disc systems. PROMboards, printer interfaces, multi-purpose I'O boards. ACdevice controllers, and n whole husi of Other varied periph-

The 8100 has its own built-in ti slot motherboard whichincludes our unique card guide system which keeps theboards in their places.

The 8100 has support circuitry and sockets for eight16K dynamic HAM chips ulLm-iue. vnu to expand the mem-ory of your TKS-B0 by IfiK withi.ui having to buy anv S-100RAM boards.

• 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

If you purchased an expansion memory kiL for TRS-60you could be left with eight 'IK RAM chips and nowhere toput them! Well, they can go in the RAM sockets instead!That's right, you can use either 4K or 1GK chips and ad-dress them anywhere you like.

The 8100 has a full RS232/M ma serin) interface who'sfeatures include: R3'J32 and 20 ma current loop interface,software programmable baud rale from DC to 56K baud,software programmable modem control lines, on boardUB-25 connector and much more.

The 8100 also has an 8 hit parallel input port andan 8 bit parallel output port. Both are latched, have bothpositive and negative strobe inputs and outputs and haveplenty of drive capability.

PRICES START AS LOW AS S185* (S-100 BUS INTERFACE ONLY)

fiUH)

■ ELECTRONICS

1429 Maple St.

San Mateo, CA

94402

(415) 573-7359

DEALER INQUIRIES INVITED

•Extra S-100 connectors, RAM support,I/O circuitry optional.USA DOMESTIC PRICE ONLY

Need Intelligence in your

488 Instrumentation System ? ? ?

Get it with your favorite S-100 computerand the P&T-488 Interface Board.

The P&T-488 Interface Board gives your S-100 computer theability to be a talker, listener, or controller on the IEEE-488instrumentation bus. Three software packages are available: 1)Driver for North Star DOS/BASIC 2) Driver for CP/M which canbe used by MBASIC or CBASIC 3) Driver for direct assemblylevel programming (for generating customized systems.) Price ofthe P&T-488, assembled and tested with anyone of the software packages, is $400.

PICKLES & TROUT

P.O. BOX 1206, GOLETA, CA 93017, (805) 967-9563

Circle 306 on inquiry card.

March 1979 © BYTE Publications Inc

233

frequent. By ordering your interrupt ser-vicing this way, you can add significantlyto the efficiency of your system.

By now you've probably realized thatthe idea of letting multiple devices shareone interrupt line is problematical: twodevices may want to interrupt the pro-cessor at the same time. In terms of ouranalogy, all 12 of your children may wantto play the guess-who game with you atthe same time. The way to handle this

FINISH

CURRENT

INSTRUCTION

STORE PROGRAMCOUNTER ANDREGISTERS

MASK OFF OTHERINTERRUPTS

LOAD INTERRUPTVECTOR INTOPROGRAM COUNTER

EXECUTE

INTERRUPT

ROUTINE

RETURN FROM

INTERRUPT

ROUTINE

RESTORE

PROGRAM COUNTERS

AND REGISTERS

FETCH NEXTINSTRUCTION

Figure 2: Analogous to the human interrupt processing of figure I, thetypical computer's interrupt processing activities are shown by this chart.The differences between the two figures (1 and 2) are largely in the activitiesdescribed in each box; the form of the processing logic in this particularset of examples is nearly identical.

situation is to say, "Hold it! I will playthe game with each of you. . .but only oneat a time." By doing this you act on oneinterrupt while you mask out the rest.

The concept of maskable interrupts isincorporated in many of today's processors.There is usually a mask bit or bits used toblock or mask the interrupt signal from theprocessor. This masking is frequently part ofthe built-in process on your microprocessorchip to protect the function of saving criticalinformation, such as the program counterand status register, from subsequent inter-rupts. Once masked out, your system'sdesign will determine if a subsequent inter-rupt will be held pending or lost. Interruptsthat are kept pending are often referred toas queued interrupts. Sometimes circuitryexternal to the processor chip itself isused to give the pending interrupts an orderof priority in much the same way as youmight tell your children to line up in theorder of youngest to oldest to play theguess-who game. The N level priority inter-rupt capabilities that are mentioned asfeatures of microprocessor systems referto this type of interrupt queuing. A higherpriority interrupt that arrives after severallow priority ones will usually bump thelower priority interrupts down in the queue.For those cases where an interrupt mustget the processor's attention right away, anonmaskable interrupt is usually also pro-vided in the chip's structure. This controlline is for a very high priority function ofyour choice, which can override the mask-able interrupts even if they are in progress.This is valuable for very high speed IO, suchas a floppy disk unit, and for hardwareemergencies such as fire or power loss rou-tines. Your system reset is usually a non-maskable interrupt.

Mechanisms

Now that you have a feel-for the termi-nology, let's take a look at the mechanismsand processing that are common to allinterrupt routines. Figure 2 is a typicalflowchart of the functions necessary toaccomplish the transfer of control fromthe background processing to the interrupthandler and return. You may think of this asputting the background process "on hold"while the interrupt is processed and recom-mencing the background process whenit returns. The background process is notaffected by what has happened; thus theinterrupt processing is completely trans-parent to the background process and maybe executed at any time without fear ofdisturbing it. The only definite change is

234

March 1979 © BYTE Publications Inc

Circle 3 on inquiry card.

Circle 218 on inquiry card.

READY-TO-RUN SOFTWARE

FOR YOUR NORTH STAR COMPUTER

NEWILANGUAGETRANSLATORPKG. $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 BASICONDISKETTE ONLY

Send for Free Catalog

Packages containing Program Listings only are available.

03

(714) 774-1270

lB AJA SOFTWARE

P.O. Box 2528 • Orange, CA 92669

PMCROPI

is serious about CAI

MICROPI introduces COMMON PILOT, the only computer-assisted instruction language that makes a micro-basedsystem comparable to the most expensive CAI system inthe world! Features include floating point, matrices,scientific functions, string manipulation, patternmatching, dynamic indirect execution of strings, graphics(on certain terminals), and program modules of virtuallyany length, limited only by disk capacity. Completelycompatible implementations are available for a widevariety of computers including 8080/Z80 for North StarDOS or CP/M ($275), Helios II ($295), TRS-80 ($195),SwTPC 6800 (multi-user version from SwTPC), TERAK8510, ODELL-85, Alpha Microsystems and more,including the possibility of implementation on any systemwith interactive PASCAL. Don't confuse COMMON PILOTwith less powerful versions of PILOT.Also available, a cassette-based subset of COMMONPILOT written in Microsoft BASIC for TRS-80, Apple andothers ($85).

MICROPI also offers quality CAI courses written inCOMMON PILOT. MICROPI will pay author royalties forquality CAI materials accepted into our catalog.If you are serious about CAI, send $6 for the COMMONPILOT AUTHOR'S GUIDE and see what a state-of-the-artCAI system is all about.

2445 N. Nugent

Lumml Is., WA. 98262

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.

• 8V4 x 11 ringbound • 156 pp. • $20.00Phone Orders 901-382-0172 ^v'

DATASEARCH

incorporated5694 Shelby Oaks Dr., Suite 105, Dept. B, Memphis, TN 38134

Ruch rnpiflg of "Low Capital Startup Computer Businesses" at $20

per copy to me right away.

NAME/COMPANYADDRESS

io» carnal. *'**ft*

CITY/STATE/ZIP _D Check Enclosed

D Bankamericard D Master Charge

DATAFACS

Software now for:Micropolis and NorthStar

Good Software is Essential for an Efficient Business.Now, the finest in software at a price you can afford.We are definitely the affordables!

PROGRAMS CURRENTLY AVAILABLE:

INVENTORY PROGRAM PACKAGE

• Inventory Addition • Update

• Analysis (Current month) • Analysis (Year to date)

• Search • Vendor FileAlso generates 7 additional user reports and much, much more.

— Cost $175.00 —MAILING LIST PROGRAM (Single Drive)

*Print formating in 80 or 132 columns.

— Cost $20.00 —

The above programs are designed to run under the following:

*CP/M in CBASIC ) Micropolis and NorthStar

> 2 drives required

*CP/M in BASIC E \ also IMSAI IMD0S(2) 8" disc IBM 3740 Format requiredEXTENSIVE CONTRACTORS ESTIMATING PROGRAM

Literature available upon receipt of your letterhead

Currently Under Development:

• Billing ) Available

• Payroll > early in 79

• General ledger) in new CBASIC-2Specializing in custom software for the AM-100**

Datafacs System Inc. Eastern Division2440 W. Catalpa, Chicago, III. 60625

Phone (312) 784-0300

•CP/M is a Trademark ot Digital Research Corp."AM-100 is a Trademark of Alpha Microsystems.

Circle 93 on inquiry card.

Circle 81 on inquiry card.

BYTEMarcli 1979

235

Table I: The following list of responsibilities must be jointly met by both theprogrammer and the system being programmed, if interrupts are to be pro-perly handled. The key item to remember Is that when the interrupt occurs,the critical data values which determine the state of the machine must besaved so that at the end of the interrupt process, the original process can beresumed "as if the interupt never happened. "

• Sensing an interrupt signal and determining appropriate response.

• Setting the mask to protect the processor from subsequent interrupts.

• Note where you are by saving the program counter and status register.

• Transferring processor control by loading the program counter with the interruptvector address.

• Executing the interrupt handler which may:

save accumulator(s).save index register(s).save pointers(s).search for interrupt source,satisfy device request,restore pointer(s).restore index register(s).restore accumulator(s).clear the interrupt mask.

• Resume normal processing by restoring the program counter and the processorstatus register.

that the background processing will slowdown somewhat because the processor hasto take extra time to service the interrupt(s).As a result, any real time clocking in thesystem will be offset by that interruptprocessing time.

The joint responsibility of the processorand you, the interrupt routine programmer,is to insure that the background process isnot disturbed. These responsibilities aresimply stated in table 1.

Within the interrupt handler it is notalways necessary to save all of the workingregisters for every interrupt, but you mustat least save and restore every register usedin your routine.

Deciding when to remove the interrupt

protection (clear the mask) is your respon-sibility. The key is to pick a point whichcomes after the saving of the critical regis-ters. The mask shouldn't be removed in themiddle of your interrupt routine unless theroutine is reenterable. Reenterancy is a termthat refers to software routines that findnew memory locations to store theirworking data each time that they are re-entered before they have been exited. Thesignificance of this is that if you clear themask and a subsequent interrupt arrives,stops your current interrupt processing,and begins to use the same interruptroutine you were just using, you mustensure that it doesn't destroy your currentworking data. The safest procedure is tostay masked throughout the interruptprocessing until you become experiencedwith the reentry software techniques.Figure 3 shows the division of these inter-rupt processing duties for a typical micro-computer system.

If your processor's monitor was suppliedby the manufacturer, there is much to belearned from studying its interrupt handlersection. Look for the methods used toaccomplish the basic steps we have outlinedabove, then write your own simple interrupthandler, modify the interrupt vector topoint to your routine instead of theirs, andexecute your interrupt handler.

Once you have done this successfully,you will have developed an appreciation ofhow the modern digital computer, large orsmall, services the requests of so manyperipheral devices seemingly simultane-ously. Understanding interrupt driven pro-cessing, which is the central concept ofcomputer operating systems, will help youto grasp the awesome power that lies withinyour own personal computing system."

EXTERNAL HARDWARE

PROCESSOR HARDWARE

DECIDE WHICH INTERRUPTIS SERVICED FIRST.LOAD DEVICE STATUSREGISTERS.

Figure 3: A division of the functions at aninterrupt between hardware and software isdetailed in this diagram. The exact bound-aries are often set by the system's hardwareand software design details.

D

RECOGNIZE INTERRUPT.MASK OTHER INTERRUPTS.NOTE WHERE YOU ARE.VECTOR TO INTERRUPT HANDLER.

u

SOFTWARE

DETERMINE ORIGIN OF INTERRUPT,DETERMINE WHAT EVENT OCCURRED.TRANSFER CONTROL TO APPROPRIATESERVICE ROUTINE.CLEAR INTERRUPT MASK.RETURN CONTROL TOBACKGROUND PROGRAM.

236

March 19790BYTE Publications Inc

Circle 95 on inquiry card.

Circle 372 on inquiry card.

CP/M™

LOW-COST

MICROCOMPUTER

SOFTWARE

CP/M™ OPERATING SYSTEM:

• Includes Editor, Assembler, Debugger and 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.

• $75-Diskette and Manual.

TEX™ TEXT FORMATTER:

• Powerful text formatting capabilities.

• Text prepared using CP/M Editor.

• $75 Diskette and Manual.

1 DJGJTflL RESEARCH

P.O. Box 579 • Pacific Grove, California 93950(408) 649-3896

n==r

APPLE II USERSWE'VE GOT SOFTWARE!

We have the best disk file management system in the mar-ket. Use it for your mailing list, accounts receivable, pay-ables, personnel records, etc.

In addition, we offer not only the most fascinating basicprogramming course for people with little or no programmingexperience, but also commercial software for North StarHorizon Computers and Ohio Scientific Computers, and overone hundred programs for Apple II Computers.

The file management system is available for $60.00 andthe programming course for $30.00.

Please specify tape or disk version.

Check, money orders and credit cards accepted.Florida residents add4% tax.

TRANS-DATA CORPORATION

161 Almeria Avenue

Coral Gables, FL 33134

(305) 576-7666

Send $1.00 for software catalog or call our toll free number(800) 327-8455.

(T

=>N

A Messageto our Subscribers

From time to time we makethe BYTE subscriber listavailable to other companieswho wish to send oursubscribers promotionalmaterial about their products.We take great care to screenthese companies, choosingonly those who are reputable,and whose products, services,or information we feel wouldbe of interest to you. Directmail is an efficient mediumfor presenting the latestpersonal computer goods andservices to our subscribers.

Many BYTE subscribersappreciate this controlleduse of our mailing list, andlook forward to finding

information of interest tothem in the mail. Used areour subscribers' names andaddresses only (no otherinformation we may have isever given).

While we believe thedistribution of thisinformation is of benefit toour subscribers, we firmlyrespect the wishes of anysubscriber who does not wantto receive such promotionalliterature. Should you wish torestrict the use of your name,simply send your request toBYTE Publications Inc, Attn:Circulation Department,70 Main St, Peterborough NH03458. Thank you.

OMSIPASCAL

Reliable, efficient, production Pascal compilerfor the DEC PDP-11 family, including the LSI-11.

Full Language

All elements of Standard Pascal, including the capabilitiesnot found in student Pascals. Extensions for complete low-level control with direct memory access, embedded assemblercode, 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 I6K words (32KB), translatesthousands of lines per minute. Produces compact PDP-11 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.

minicomputer

mmtiB\?(B inc.

DEC. PDP, RSTS/E, RT-11, HSX . and LSI-11 are trademarks of digital Eq. Corp

2340 SW Canyon RoadPortland, Oregon 97201(503) 226-7760TWX 910-464-4779

Circle 291 on inquiry card.

BYTE March 1979

237

History of Computers

Keith S Reid-GreenTechnical StaffDavid Sarnoff Research CtrPrinceton NJ 08540

The 650 was the most popular IBM com-puter during the 1950s until it was supplantedby the 1401 at the end of the decade. Themachine was used widely by small banking,accounting and insurance companies whichdid not require the capabilities of the rela-tively powerful 705, and it is safe to say thatIBM's current share of the commercial dataprocessing market got its initial impetusfrom the successful marketing of the 650.However, the sophisticated personal com-puter user of today wouldn't give a passingglance to a machine of its capabilities.

The original 650 consisted of three units:the power supply, console and card reader/punch. Later modifications allowed for theaddition of an on line printer and magnetictape units, but the original 650 was strictlycards in and cards out. A tabulating machinesuch as the 407 was therefore required toproduce printout, but this system was notsatisfactory from financial and ecologicalpoints of view, since punching cards as anintermediate step to a printed page is verywasteful. The really bad news, however, wasstorage. Either 1000 or 2000 10 digit deci-

mal words could be stored on a magneticdrum in bands of 50 words, each bandhaving its own read head. Since the drumrotated at 12,500 revolutions per minute,average access time (half a revolution) wasa little less than one hundredth of a second,or in modern terms 9,600,000 ns.

The problem of rotational delay couldhave been a serious detriment to processingspeed except for a very clever assemblyprogram. Modern computers using ran-dom access memory are programmed on theassumption that, in the normal course ofexecution, instructions are stored in consecu-tive locations. Had this been the case on the650 it would have reduced processing speedto roughly one instruction per drum revolu-tion, or 12,500 program steps per minute,because the processor was not fast enoughto process an instruction in less time thanit took for the next instruction to passunder the drum's read heads. However, in-structions consisted of an operation codeand two addresses; a data address and a nextinstruction address. Theoretically, the pro-grammer could organize an optimum way tostore the finished program so that the com-pletion of each instruction coincided withthe arrival of the next instruction under aread head. Since execution times varied fromone instruction type to another, it was verydifficult to optimize a program by hand.

Photo 7: The basic IBM 650, consisting of power unit, processor and card reader/punch

238 March 1979<B BYTE Publications Inc

The IBM 650

Fortunately, the SOAP assembler (SHAREoptimum assembly program) did a prettygood job of optimizing the object programsit produced.

The instruction execution process wasaccomplished through a minimal number ofregisters (see figure 1). An instruction wasbrought from the drum to the program regis-ter, where the operation code and data ad-dresses were passed on to the 2 digit opera-tion register and 4 digit address register. Ifnecessary, the data word specified by the ad-dress register was brought to the distributor,where it may have been used in conjunctionwith the lower or upper accumulators (theaccumulators were logically considered as a

20 digit number separated into upper andlower halves). Then the instruction addresswas moved from the program register to theaddress register in order to process thefollowing instruction.

Validity checking of numbers took placewhenever they were transferred among regis-ters or to the drum. Digits were stored in bi-quinary form, requiring seven binary bits perdigit, in which one of two bits representedeither 0 or 5 and one of the remaining fivebits represented 0, 1, 2, 3 or 4. The sum ofthe two "on" bits could therefore representthe digits 0 thru 9 and the validity checkensured that exactly one bit of the pair andone of the group of five was "on."

Given the other constraints of the 650,the instruction set was reasonably complete,including read and punch, branching, add,subtract, multiply and divide, shifting andeven a table lookup instruction. Routines

6 5 0 0 2 5 I 5 9 5 +

LOCATION OFINSTRUCTION

OPERATION

ADDRESS

ADDRESS

ABBREV.

CODE

DATA

INSTRUCTION

I 5 9 4

: 1593

STU

?l :

0005

I594

I594

RAL

65

0025

I595

REGISTER

oj

b)

6 5

Cj

UPPER ACCUMULATOR

0

0

0

0

0

0

0

0

0

0

d)

594

PROGRAM

REGISTER

6

5

0

0

2

5

I

5

9

5

101010101010131515151+]

0

0

2

5

REGISTER

RESET ADD TO LOWER

DISTRIBUTOR

0

0

0

0 0 0 3 5

5

5

+

1

LOWER ACCUMULATOR

0

0

0

0 1 0 1 0 1 3 1 5

5

5

+

Reproduced by permission ofInternational Business Machines.

LOCATION OFINSTRUCTION

OPERATION

ADDRESS

ADDRESS

ABREV.

rcoDE

DATA

INSTRUCTION

15 9 5

1593

STU

2 1

0005i

1594

M594

RAL

.65

0026

1595

REGISTER

Figure 1:executionIBM 650.

The instructioncycle of the

March 1979 © BYTE Publications Inc

239

warim.

£

POt 9 »t> 1M

THHIK ''F*

(# * £$l9

K '**

*f* Sal

Ik. *■"*

HSf\ >■'*'

IvMfai

HKi Vf

kES$l

ufA f

Wj

■J

**W

Kt

E*

TO

m\

~^»YVS

O'f

I/J

»r» !

Wfi

if/i

'jfg&t*!.

' ' • '""JIT

*

x-

/¥;oto 2: 777e magnetic

drum memory showing

positioning of the readheads.

to simulate floating point were availablethrough the SHARE user group, but theywere slow in operation. In most cases it waspreferable to assume decimal point positionsand to use shift instructions to align thembefore adding.

Input and output were restrictive andclumsy due to reliance on punched cards.Even in the later days of the 650 when mag-netic tapes were available, flexibility was notgreatly increased. Since tape was faster thanthe drum, a core memory buffer of 120words was used, and all tape records were ofthis length.

The biggest problem of all was the smallmemory. 2000 10 digit words cannot beequated exactly with, say, 8 K bytes. Whilefive alphabetic characters could be stored inone 650 word, each number and each instruc-tion took up a full word. In a personal com-puter having a 16 bit word, a program of2000 instructions takes less than 4 K bytes.

It would have completely filled the memoryof the 650.

Given all these failings, why was the 650so popular? Because it was the only mini-computer that IBM made at that time.Although Burroughs built the 205 at aboutthe same time, no company except IBM hadestablished itself as a viable computer manu-facturer (in 1959 IBM had about 90% of thecomputer market). Furthermore, the 650was seen as a natural replacement for punchedcard calculators like the 602, which wereused in conjunction with the so-called elec-tric accounting machines, sorters, collatorsand tabulators, to handle payroll andaccounting problems. Clearly, at a rate of$600 per hour, the 704 or 705 could not beused by smaller businesses. The 650 costabout $50 per hour, which nowadays is apreposterous rate for such low computingpower, but in the 1950s was the only answerto the computing needs of small businesses."

240

March 1979SBYTE Publications Inc

4 MHz Single Card Computer

Cromemco's Single Card computerfeatures the Z-80 processor and S-100bus architecture. The card offers 4 MHzoperation, 8 K bytes of on board 2716programmable read only memory and1 K bytes of static programmable mem-ory. It also provides an RS-232 (or20 mA current loop) serial interface withprogrammable transmission rates up to76,800 bps, 24 bits of bidirectional par-allel input and output (I/O), five pro-grammable timers and vectored inter-rupts. Only a power supply and program-mable read only memory software are re-quired for operation. The Single Card

«i»»:

computer can also be the core of an ex-pandable S-100 bus system that can in-clude additional memory, I/O, or evenfloppy disk drives as required.

Cromemco's Z-80 Monitor and 3 Kbyte Control BASIC are available in 2716read only memory for use with the Single

Card computer. With these two memories,the computer can be used immediatelywithout any additional memory or I/O.The Monitor has 12 comments to aid inprogram development. The 3 K byteControl BASIC has 36 commands andfunctions and can directly access I/Oports and memory locations, and callmachine language subroutines.

The Single Card computer is availablein kit form for $395 and assembled andtested for $450. The Monitor and Con-trol BASIC are available in two read onlymemories for $90. For additional infor-mation contact Cromemco Inc, 280 Ber-nardo Av, Mountain View CA 94040."

Circle 548 on inquiry card.

Intelligent Programmer for Intersil Ultraviolet Memory Chips

Custom Built Computer Desk

Pacific Cyber/Metrix Inc has an-nounced availability of its new Model660 programmer for the 6603 and 66044 K bit CMOS ultraviolet erasable readonly memory integrated circuits fromIntersil Inc.

The Model 660 programmer has beendesigned specifically for programmingthe 6603 and 6604 devices. The pro-grammer contains a microprocessor and4096 bit programmable memory and canbe operated stand alone from its frontpanel or interactively with a video orTeletype terminal through the program-mer's built-in RS-232 or 20 mA currentloop interfaces. The Model 660 can alsocommunicate with a computer for auto-mated on line programmable read onlymemory programming.

Built-in features include a full com-plement of editing capabilities for load-ing and checking the programmablememory buffer or 660X erasable readonly memory, ability to accept all popu-lar paper tape formats, firmware for pro-grammable read only memory copyingand verifying, and a front panel erasecheck capability. Programming time istypically half of that required for similar

N channel device programmers.

The Model 660 is priced at $645.Contact Pacific Cyber/Metrix Inc, 3120Crow Canyon Rd, San RamonCA 94583. ■

Circle 549 on inquiry card.

Attention Readers andVendors. . .

Where Do New Products ItemsCome From?

The information printed in thenew products pages of BYTE isobtained from "new product1'or"press release" copy sent by thepromoters of new products. If inour judgment the informationmight be of interest to the per-sonal computing experimentersand homebrewers who readBYTE, we print it in some form.We openly solicit releases andphotos from manufacturers andsuppliers to this marketplace. Theinformation is printed more orless as a first in first out queue,subject to occasional prioritymodifications. While we wouldnot knowingly print untrue orinaccurate 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.

This custom built, all wood desk foryour computer system features a splitlevel 55 by 26 inch top with walnutgrain Formica. Upper level is 26 by 26inches (66.04 by 66.04 cm) and is aperfect surface for a printer. The lowerlevel is 30 by 26 inches (76.2 by 66.04cm) which places the keyboard at elbowheight for minimum fatigue. Under theprinter area is a 23 by 23 by 24 inch(58.42 by 58.42 by 60.96 cm) com-partment with two fully adjustableshelves. There is room for a processorand disk memory. The door opening is21 by 23 inches (53.34 by 58.42 cm).The standard finish is walnut. Optionsavailable are righthand or lefthanddesign, other finishes and top and minorvariations in dimension sizes. Desks arebuilt to customers' requirements and a50 percent deposit should accompanythe order. The price is $295 fromStephen Moe Company, POB 595,Springfield OR 97477."

Circle 550 on inquiry card.

March 1979 ; BY 1L Publications Inc

241

What's New?

SOFTWARE

New Book Explores Varied Facets of Personal Computing

BASIC and the Personal Computerby Dwyer and Critchfield discribes theuses of personal computers, then ex-plains how to make these ideas becomea reality by using the power of inter-active computer programming. Itfeatures examples that cover a widerange of applications possible withpersonal computers.

Topics include microcomputer hard-ware, programming in BASIC and ex-tended BASIC, computer graphics, wordprocessing, data structures, sorting algo-rithms, computer games, computer art,simulations, business applications, colorgraphics and the use of special interfacedevices.

The book requires no previousexperience with computing. The textis integrated with a large number oforiginal illustrations that clarify bothbeginning and advanced concepts.

This 438 page softbound book ispublished by Addison-Wesley PublishingCo Inc, Reading MA 01867 for $12.95."

Circle 630 on inquiry card.

Software Package for the North Star DiskThe Program Utility Package (PUP)includes assembler and BASIC programsto enhance the usability of the NorthStar BASIC language. These programsuse the input and output routines pro-vided by the North Star disk operatingsystem and the user. The packageincludes: CREF which is an assemblerprogram producing a sorted cross ref-erence of variable and function usageby line number; SMAP is an assemblerprogram which produces a sorted mapof line reference by GOSUB and GOTO;FLIST is an assembler program to pro-duce a formatted BASIC programlisting; MEMTEST is an assembler

System

program which performs multiple mem-ory diagnostics on user specified mem-ory ranges; HEXMON is a BASIC pro-gram to load or list memory in hexa-decimal. Each displayed line of 16 bytesof hexadecimal data also has the ASCIIequivalents printed.

This package consists of six programson a library diskette, 16 pages of docu-mentation, and a diskette folder. Theprice of PUP is $25, with programlisting available for an additional $7.For further information, contact Busi-ness Computer Systems, 216 Collier Dr,Springfield IL 62704."

Circle 631 on inquiry card.

The Complete Star Ship:A Simulation Project

Star Ship Simulation by RogerGarrett explains the methods used inapproaching the design of a softwaresimulation. Readers become familiarwith the techniques by which any largeprogramming task can be implementedand learn how to attack a program in astraightforward, structured manner.

The first half of the book gives thereader a working knowledge of systemdesign and program structure, and thelast half deals with the actual develop-ment, and implementation of the StarShip simulation project. Details are givenfor every major function aboard a starship as well as the intelligence of enemyand friendly space craft.

The 122 page book is priced at $6.95and is available from Dilithium Press,30 NW 23rd PI, Portland OR 97210."

Circle 632 on inquiry card.

Assembly Language DevelopmentSystem for 8080 or Z-80

PDS is an assembly language develop-ment system for 8080 or Z-80 micro-computers with at least one disk drive.PDS includes a unified assembler andeditor, a macro-assembler combiningthe features of a relocating linking loader,a string-oriented text editor, and a tracedebugger and disassembler.

The assemblers favor the Intelinstruction mnemonics, treating the Z-80superset as a logical and syntacticalextension. The debug module featuresbreakpoint or single step execution ofprograms with trace display of all regis-ter contents, flag status, a memorywindow, and the mnemonics of theinstruction just executed and the nextinstruction to be executed.

Source modules are available forfloating point arithmetic, floating pointIO, trigonometric functions, numericaland alphabetic sorting, matrix inversion,fast Fourier transform and a full func-tion expression evaluator.

The price is $99. For further infor-mation, contact Allen Ashley, 395 SierraMadre Villa, Pasadena CA 91107."

Circle 633 on inquiry card.

Micropolis CP/M System Upgrade

The Micropolis CP/M System Upgradegives the Micropolis disk owner the fullcapacities of the CP/M disk operatingsystem while retaining full access toMicropolis' operating system.

The CP/M System Upgrade allowsthe Micropolis disk owner to directlyload and start CP/M and automaticallyexecute a program at system start-up.Other features include dynamic diskspace allocation and reclamation, ran-dom access on all files, high speed diskread and write and full compatibilitywith all other CP/M systems andsoftware.

For further details, contact theComputer Mart of New Jersey, 501Rt27, Iselin NJ 08830."

Circle 634 on inquiry card.

Word Processor for the Commodore PET

Connecticut microcomputer has an-nounced a word processor program forthe Commodore PET. This program per-mits composing and printing of letters,flyers, advertisements, manuscripts, arti-cles, etc, using the PET and an RS-232printer.

Script directives include line length,left margin, centering and skip. Editcommands allow the user to insert lines,delete lines, move lines, change strings,save onto cassette, load from cassette,move up, move down, print and type.

The word processor program ad-dresses an RS-232 printer through a Con-necticut microcomputer printer adapter.The program can be purchased for$29.50 from Connecticut microcom-puter, 150 Pocono Rd, Brookfield CT06804.■

Circle 635 on inquiry card.

242

March I979<9BYTL Publicjriom Inc

ITHACA AUDIO

THE OEM MARKETPLACE

IA ExpandsS-lOOLine

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 (HDT), Assembler (ASMBLE),HEXB1N, 1 COPY, System Generator fSYSGEN).Command syntax follows Digitals OS-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 connectors

and plated-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

2706/2716 EPROM 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

e 1978 ITHACA AUDIO

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 1630.

Disk Controller Board $35.

K2 FDOS Available on 8"

floppy disk w. manual $75.

Quality Components

ZILOG Z-80 $1900

ZILOG Z-80A 23.00

INTEL 2708 1100

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 $10.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/273-3271

Circle 190 on inquiry card.

BYTE March 1979

243

7400 TTL

SN7470NSN7472N

SN7473NSN7474N

SN7475N

SN7476N

SN?479N 5

SN7480N

SN7482fJ

SN7483N

SN7485N

SN74B6N

SN7489N 1

SN7490N

SN7491N

SN7492N

SN7493N

SN7494N

SN7495M

SH7496N

SN7497N 3

SN741O0N

SN74107N

SN74109N

SN74116N 1

SN74121N

SN74122N

SN74123N

SN74125N

SN74126N

SN74132N

SW74I36N

SN74141N

SN74142N 2

SN74143N 2

SN74144N 2

SN74145N

SN74147N 1

SN7-11JBN I

SN74150N

SN74I51N

SN74t52N

SN74153N

SN74154N

SN74155N

SN74156N

SN74157N

s combined order 2

SN74160N 89

SN74161N .89

SN74162N 185

SN74163N .89

SN74164N .89

SN74165N .89

SN74166N 1 25

SN74167N 1 95

SN74I70N 1.59

SN74172N 6.00

SN74173N t.25

SN74174N 89

SN74175N .79

SN74176N .79

SN74177N .79

SN74179N 1 95

5N74180N 79

SN74181N 1.95

SN74I82N 79

SN741B4N 1.95

SN741B5N t 95

SN74186N 9.95

SN74188N 3.95

SW74190N 1.25

SN74191W 1.25

SN74192N 79

SN74193N .79

SN74194N .89

SN74195N .69

SN74196N 89

SN74197N 89

SN74I9BN 1.49

SM74199N 1.49

SN74S200 4 95

SN74251N 1.79

SN74279N 79

SN74283N 2 25

SN74284N 3.95

SN74285N 3 95

SN74365H 69

SN74366N .69

SN74367N .69

SN74368N .69

SN74390N 1 95

SN74393N I 95

1 pes combined order

CD4000CO40O1CO40O2C040Q6CO4007CO4O09CD4010CD4011CD4012CD4013CD1Q14CD4015CD4016CD4017CD40IBCD4019CD4020CD4021CD4Q22CD4023CD4024CD4025CD4026CD4027

74C0O

74C0274C0474C0874C1074C1474C2074C3074C4274C-J674C7374CM

78MGLM106HLM300HLM301CN/HLM302HLU304KLM305HLM307CN/HLM308CN/HLM309HLM309KLM310CNLM311N/HLM312HLM317KLM3IBCN/HLM319NLM320K-5LM320K-5.2LM320K-12LM320K-15LM320K-18LM320K-24LM320T-5LM320T.5.2LM320T-8LM320M2LM320M5LM320M8LM320T-24LH323K-5LM324NLM339NLM340K-5LM340K-6LM340K-8LM340K-12LM340K-15

741S0O74LS0174LS0274LS0374LS0474LS0574LS0874LS0974LS1074LS1174LS13741S1474LS1574LS2074LS2174LS2274LS2674LS2774152874LS3074LS3274LS3774LS40L74LS42

C/MOS

CD4028CD4Q29C04D30CD4035CO4040CD4041CD4042CD4043CD4044C04Q46CDJ047CD4048C04049CD4050CD4051CD4053CD4056C04D59CD4060CD4066CD4Q6BCD4D69

CD4070CD4071CO-1072

CD4076

C040B1

CD4082

CD4093

CD4098

MC14409

MC14410

MC144U

MCH419

MC14433

MC14506

MC14507

MCI 4562

MCI 4583

CD4508

CD4510

CD4511

C04515

CD4518

CD4520

CD4566

55

74C00

74C8574C9074C9374C9574C10774C15174C15474C15774C16074C161

74C16374C164

74C17374C19274C193

74C19574C92274C92374C92574C92680C9580C97

1.50

LINEAR

LM340K-18 1.35

LM34DK-24 1.35

LM340T-5 1.25

LM340T-6 1.25

LM340T-8 1.25

LM340T-12 1.25

LM340T-15 1.25

LM340T-1B 1.25

LM340T-24 1.25

LM358N 1.00

LM370N 1.95

LM373N 3.25

LM377N 4.00.

LM3B0N 1 25

LM380CN .99

LM381N 1.79

LM3B2N 1.79

NES01N 8.00

NE510A 6.00

NE529A 4.95

NE531H7V 3.95

NE536T 6.00

NE540L 6.00

NE544N 4.95

NE55DN 1.30

NE555V .39

NE556N .99

NE560B 5.00

NE561B 5.00

NE562B 5.00

NE565N/H 1 25

NE566CN 1 75

NE567V/H .99

NE570N 4.95

LM703CN/H .69

LM709N/H .29

LM710N .79

LM711N .39

LM723N/H .55

LM733N 1.00

LM739N I 19

LM741CN/H 35

LM741-14N .39

LM747K/H .79

LM748N/H 39

LM1310N 2.95

LM145BCN/H 59

MC1488N 1.95

MC14B9N 195

LM1496N .95

LM1556V 175

MC1741SCP 3 00

LM211IN 1.95

LM2901N 295

LM3053N 1.50

LM3065N 149LM39O0N(3401} 49

LM3905N 89

LM3909N 125

MC5558V .59

LM75450N

75451CN

75452CN

75453CN

75454CN

75491CN

75492CN

75493N

75494CN

RC4136

RC4151

RC4I94

RC4195

74LS00TTL

74LS4774LS51741S54

74LS5574LS7374LS7474LS7574LS7674LS7874LS8374LS8574LS8674LS9074LS9274LS9374LS9574LS9674LS10774LS10974LS11274LS12374LS12574LS13274LS13G

74LS138 W

74LS139 .69

74LS151 .69

74LS155 69

74LS157 69

74LS160 .89

74LS161 .89

74 LSI 62 89

74LS163 .69

74LS164 99

741S175 .79

74LS181 2.49

74LS190 89

741S191 69

74LS192 .88

74LS193 .89

74LS194 ,89

74LS195 .89

74LS253 79

74LS257 .69

74LS258 139

74LS260 .55

74LS279 59

74LS367 .59

74LS368 .59

74LS670 1.95

J

ameco

■JlJAd:MMt>H

Digital Stopwatch Kit

„ ,.- „ . Use Inleisil 7205 Chip

. PlnttrJ thru doublo-sided

P C Board. LEO display (red). Times lo 59 min 59.59 sec with

aulo reset. Quartz crystal condolierl. Three stopwntches in one.

single everil, split {cummulative)

and laylar (sequential timing}. Uses 3 penlile batteries.Sue 4 5"x2 15" x 90"

JE900 $39.95

AVAILABLE:

JE200JE730

6-Digit

Clock

Kit

■ Bright 300 hi common cathode display. Uses MM5314 clock chip. Switches (or hours, nunules and hold functions

■ Hours easily viewable to 20 leet. Simulatert 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"

JE701 $19.95

5v lamp power supply$14.95 JE2206B Function Generator S19.954-digit clock kit 14,95 JE747 Jumbo 6-digit clock kit 29.95

DISCRETE LEDS

.ion-mi.

XC556R redXC556G greenXC556V yellowXCS56C deal.200" din.

XC22AXC22GXC22Y

red

gfeen

yellow

.170" dla.

5/J1Ml4/SI4/J1

5/S11/Ittl%\

MV1QB red

.OSS' dla.

MVSO red 6/:

INFRA-RED LED

1/4"x1/4"x1/16"llal

5/SI

.190- dla.

XC111R «dXC1I16 QieenXC111Y yellowXC1I1C clear

TIMEXT1001LIQUID CRYSTAL DISPLAY

IE LD EFFECT

4 DIGIT - 5'" CHARACTERSTHREE ENUNCIATORS2.00" X 1 20" PACKAGEINCLUDES CONNECTOR

TIOOI-Transmiisive $7.95

T1001A Rollectiuo 8.25

DISPLAY LEDS

TTfPE

MAN iMAN 2MAN 3MAN 4MAN 7GMAN 7YMAN 72MAN 74MAN 82MAN 84MAN 3620MAN 3630MAN 3C40MAN 4610MAN 464QMAN 4710MAN 4730MAN 4740MAN 4810MAN 4B40MAN 6610MAN 6630MAN 6640MAN 6650MAN 6660MAN 6680MAN 6710

POLARITY I

Common Anode-red5 x 7 Dot Mainx-redCommon Cathode-redCommon Cathode-redCommon Anode-QreenCommon Anode-yellowCommon Anode-redCommon Cathode-redCommon Anode-yellowCommon Cathode-ye NowCommon Anode-orangeCom man Anode-orange * iCommon Cathode-oranrjeCommon Anode-orangeCommon Calhode-oranocCommon Anode-redCommon Anode-red t 1Common Cathode-redCommon An ode-ye I lowCommon Cathode-yellowCommon Anode-orange-D 0Common Anode-orange t 1Common Cathode-orange-!) DCommon Cathode-orange ■ 1Common Anode-orangeCommonCalhode-orangeCommon Anode-red-O.D

TTrPE

MAN 6730

MAN 6740

MAN 6750

MAN 6760

MAN 6780

OL701

OL704

DL707

DL726

OL741

DL746

D1747

DL749

DL750

DL33Q

FNO70

FND3SB

FND359

FND503

FN0507

5082-7730

HDSP-3400

HDSP-3403

5OB2-730O

5082-7302

5082-7304

5082-7340

POLARITY

Common Anode-red - 1Common Cathode -red-D DCommon Calhode-rerl • 1Common Anode-redCommon Caltmde-redCommon Anode-red : 1Common Cat node-redCommon Anode-redCommon Ca I node-redCommon Anode-redCommon Anode-ted : 1Common Anode-redCommon Cathode-red t 1Common Calhodc-redCommon Caltiode-redCommon CathodeCommon Cathode t 1Common CathodeCommon Cathooe{FND50D)Common Anode |FND5I0|Common Anode-redCommon Anoda-fedCommon Cainode ted4» 7 sol Digil-RHDP4x7Sgl. Oigit-LHDPOvertange character (±1)4 x 7 Sgl Dign-Hexadecimal

2.102 10

199519.9515.0022 50

RCA LINEAR

CA3013TCA2023TCA3035TCA3039TCA3046NCA3059NCA3D60NCA3080TCA308IN

2.15 CA3082N

2.56 CA3083N

2 48 CA3066N1.35 CA3089N1.30 CA3130T

3 25 CA3I40T3.25 CA3I60T

85 CA3401N

2.00 CA360ON

3.50

CALCULATOR

CLOCK CHIPS

MOTOROLA

CHIPS/DRIVERS

MM5309

S4.95

MC1408L7

$4.95

MM5311

4 95

MCI408L8

S.75

4 95

MC1439L

4 95

MC3022P

2.US

6.95

MC3061P

3.M

MM531H

9 95

MC4016(74416)

/.M

MM5369

2 95

MC4024P

395

9374 7 seg.CA. LEO driver

MM5337/1998A

4.95

MC4040P

6.95

MM5841

9 95

MC4044P

4.SO

8 pin LP14 pin LP16 pin LP18 pin LP20 pin LP

14 pin ST16 pin ST18 pin ST24 pin ST

B pin SG14 pin SG16 pin SG18 pin SG

8 pin WW10 pin WW14 pin WW16 pin WW

1-241 25-49

IC SOLDEflTAIL — LOW PROFILE (TIN) SOCKETS

50-100

1-24

22 pin LP $ .37

24 pin LP 38

28 pin LP .«

36 pin LP .60

30 SOLOERTAIL STANDARD (TIN) 40 P,n LP °

28 pin ST S M

36 pin ST ' '

25-49 50-100

.30

«|

n ST 159

SOLDERTAIL STANDARD (GOLD)

24 pin SG J -7026 pin SG >-'<>36 pin SG ' 8540pinSG 1-75WIRE WRAP SOCKETS

(GOLD) LEVEL #3 22 pin WW $ 95

tuuLU) Lcvct- "J 24 pin WW 105

28 pin WW 1 4036 pin WW 1 5940 pin WW 1 75

1/4 WATT RESISTOR ASSORTMENTS -5%

to ohm

27 OHM 33 OHM

68 OHM 87 OHM

IBO OHM 220 OHM

470 OHM 560 OHM

39 OHM

:' OHM

56 OHM

SO PCS

$1.75

100 OHM2?0 OHM

t;il OHM330 OHM

150 Ohmjgrj ohm

50 PCS

1.75

680 OHM1.8ft

820 OHM?.2K

tJn

60 PCS

1.75

■I.7K

I2k

5.6ivt5K

6.8K

I8K

50 PCS

1.75

33K82K

39K10i>-

120K

50 PCS

1.75

220K56QK

?70h

6B0K

330K820K

50 PCS

1.75

1.3M3.9M

l.BM

5.6M

50 PCS

1.75

ASST. BR lncludesResistorAssortments1-7(350PCS.) $9.95 ea.

SS.IJI] Minimum Order - U.S. Funds OnlyCalifornia Residents - Add 6% Sales Tax

Spec Sheets - 25<

1979 Catalog Available—Send 4lr stamp

<&¥

\«

£l«

J a

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE. SAN CARLOS. CA 94070

ADVERTISED PRICES GOOD THRU MARCH

TELEPHONE/KEYBOARD CHIPS >

AY-5-9100 Push Button Telephone Dialler $14.95

AY-5-9200 Repertory Dialler 14.95

AY-5-9S00 CMOS Clock Generator 4.95

AY-5-2376 Keyboard Encoder 188 keys) 14.95

HD0165 Keyboard Encoder (16 keys) 7.95

74C922 Keyboard Encoder (16 keys) 9.95

ICM7045ICM7205ICM7207ICM7208ICM7209

ICM CHIPS

CMOS Precision TimetCMOS LED Stopwatch/TimeiOscillator ControllerSeven Decade CounterClock Generatoi

24.9519.95

7.5019.95

6.95

NMOS READ ONLY MEMORIES

MCM6571 128X9X7 ASCII Shitted with Greek 13.50

MCM6574 128 X 9 X 7 Math Symbol & Pictures 13.50

MCM6575 128 X 9 X 7 Alphanumeric Control 13.50

Character Generator

TL074CN

TL494CN

TL496CP

11C90

95H90

4N33

MK50240

DS0026CH

TIL308

MM5320

MM5330

LD110/111

MISCELLANEOUS

Quad Low Noise bi-tel Op AmpSwitching RegulatorSingle Switching RegulatorDivide 10/11 PrescalerHi-Speed Divide 10/11 Prescalet

Photo-Dariinnton Opto-lsolatorTop Octave Fret). Generatoi5Mhz 2-pbase MOS clock driver

.27" red num. display w/integ. logic chipTV Camera Sync. Generatoi4V; Digit DPM Logic Block3ft Digit A/0 Convener Set

4.49

1.7519.9511.95

3.9517.50

3.7510.5014.95

5.9525.00/set

LI IRONIX ISO-LIT 1

Photo Transistor Opto-lsolalor

[Same as MCT 2 or 4N25)

2/990

SN 76477

SOUND GENERATORGenerates Complex SoundsLow Powet • Piogrammable

3.95 each

TV GAME CHIP AND CRYSTAL

AY-3-8500-1 and 2.01 MHZ Crystal (Chip 4 Crystal _ n_ . .

includes scon? display. 6 games ano select angi^ e'e 7.95/Sel

XR205

XR210

XR215

XR320

XR-L555

XR555

XR556

XR567CP

XR567CT

XR1310P 1.30

XR14S8CN 3.85

XR1488 1.39

XR1489 1.39

53.40

1.551.50.39

1.25

EXAR

JE2206KA 14.95JE2206K9 19.95XR1800 3.20XR2206 A 40XR2207 3.B5XP.2208 5.20XH2209 1.75XH2211 5.25

XR2556XR2567

XR34D3X114136XR4151XR4194XR4202XR4212XR4556XR4739XR4741

3.20

2991 251.252.851.453.602.05.751.151.47

TYPE

1N74611,7511N752

1N7531N754IN7571N7591N9591N965IN52321N52341N52351N52361NS2421(452451N4561N45S1N485A

ijHogi

DIODES

VOLTS W PRICE

3.3 400m 4/1,00

5.1 400m 4/1005.6 400m 4/1 00

6.2 400m 4/1.00

6.5 400m 4/1 0X190 400m 4/1.00

12.0 400m 4/1 00

8 2 400m 4/1 00

15 400m 4,1 00

5.6 500m 288.2 500m 286 8 500m 2875 500m 28

12 500m 28

IS 500m 28

25 40m 6/100

150 7m

TYPE

1N40021N4O031N4D041N4QD51N40O61N40071N36001N414BIN41541N4305IN47341N47351N47361N47381N47421N4744INH83

VOLTS W

100 PIV 1 AMP

200 PIV 1 AMP400 PIV 1 AMP600 PIV 1 AMP800 PIV 1 AMP1000 PIV 1 AMP50 200m75 10m

35

10m

PRICE

12/1 00

12/1.00

12/1.00

10/1,1

10/1.00

6/1.0015/1.0012/1.0015/1 00

INI If

10m

5/1.0

50 PIV 1 AMP 12/1.0

50 PIV 35 AMP100 PIV 35 AMP1N118S 150 PIV 35 AMPINI 186 200 PIV 35 AMP1N1188 400PIV35 AMP

C36DC38M

2N2328MDA 980-MDA 980-

SCR AND FW BRIDGE RECTIFIERS

n 400V35A @ 600V1.6A& 300V

C106DI

MPSA05

MPSA06

TIS97

T1S98

40409

40410

40673

2N918

2N2213A

2N2221A

2N2222A

PN2222 Plastic

2N2369

2N2369A

MP52359

2N2484

2N2906

2N2907

PN2907 Plastic

2N2925

MJE2955

2M3053

TRANSISTORS

FW BRIDGE REC.FW BRIDGE REC.

5/1 006/1.006/1 00

5/1.007/1.005/1.00

5/1.007/1 005/1.00

2N3055MJE30552N33922N3398PN3567PN3568PN3569MPS363BAMPS37022N3704MPS37042N3705MPS37052N3705MPS37062N37072N3711' 2N3724A2N3725A2N37722N3823

5/1.005/1 005/1.005/1.00

5/1.00

2N39042N39052N39062N40132N4123PN4249PN42502N4J002H44D12N44022N44Q32N44092N50862N50872N50882N50892N5129PN5134PN51382N51392NS2102N5449

4/1.004/1.004/1.DO3/1 006/1.004/1.004/1 004/1.004/1.004/1 004/1.00

5/1.005/1.005/1.005/1 M

CAPACITOR

9 ID-99

10 pf22 pi47 pi100 pi220 pi470 Ol

001ml.0022.0047ml.01 ml

.1/35V

.15/35V22/35V33/35V.47/35V68/35V1.0/35V

.47/50V

1.0/50V

3.3/50V

4.7,-25V

10/25V

10/50V

22/25V

22/50V

47/25V

47/50V

100/25V

10O/50V

220/25V

220/50V

470/25V

1000/16V

2200/ISV

50 VOLT CERAMICOISC CAPACITORS

lap,:.

03 001,iF

03 0047MF

03 OljuF

03 022MF

.03 047^F

CORNER

]:9, 10-99 100-.05 04 03505 04 .035

100 VOLT MYLAR FILM CAPACITORS022mf.047mt

12 09 .075

.10

,07

1ml

21

27

22ml

4-2DW DIPPED TANTALUMS (SOLID) CAPACITORS28 .23 17 1 535V 30

,28 .23 ,17 2.2/25V 31

28 .23 .17 3.3/25V .31

28 .23 17 4.7/25V 32

.28 23 17 6 8/25V 36

28 .23 17 10/25V JO

.28 .23 .17 15/25V .63

MINIATURE ALUMINUM ELECTHOLYTIC CAPACITORS

.13

.10

Radial Le*o15 13

1 0/25V1 0/5QV4.7/16V4.7/25V4 7/50V10/16V10/25V10'50V47/50V100/16V100/25V100/50V220/16V470/25V

244

BYTE March 1979

Circle 200 on inquiry card.

D825P(as0825SDB51226-1

Transistor Checker

— Completely Assembled -— Battery Operated —

The ASI Transistor Checker is ca

socket, or connect it with the Alli-gator clip test leads provided.The unit safely and automaticallyidentifies low. medium and highpower PNP and NPTvJ transistors.Size: 3K" x 6'/." x 2""C" cell batter/ not included.

Trans-Check s29.95 ea.

Custom Cables & Jumpers

V

Part No.

DB25P-4-PDB25P-4-S0B25S-4-S

DJ14-1DJ16-1DJ24-1

OJI4-1-14DJ16-1-16DJ24-1-24

DB 25 Series CablesCable Length Connectors Price

4 Fl 2-DP25P S15 95 oa

4 Ft I-DP25P.1-25S S1B.95 ea

4 It 2-DP25SDip Jumpers

1 It 1 -14 Pin

1 It 1-16 Pin

t II 1-24 Pin

1 It 2-14 Pin

1 tt 2-16 Pin

1 II 2-24 Pin

S17 95 ea.

S1.59 ea.1 79 ea2.79 ea2.79 ea.3.19 ea.4 95ca

For Cuslom CahlBS & JumpBrs. See JAMECO 1979 Catalog lor Pricing

CONNECTORS

25 Pin-D Subminialure

pictured) PLUG (Meets RS232) S2.95

SOCKET (Meets BS232) $3.50

Cable Cover lor D825P or DB25S $1.75

PRINTED CIRCUIT EDGE-CARD

156 SFKing-Tm.Douaie R»ad-0ui — HiiuradM Contacts — fi

15/30 PINS (Solder Eyelet)

18/36 PINS (Solder Eyelet)

22/44 PINS (Solder Eyelel)

50/100 (.100 Spacing) PINS (Wire Wrap)

50/100 (.125 Spacing) PINS [Wire Wrap)

054 lo 010 P C Cards

$1.95$2.49$2.95$6.95R681-1 $6.95

• 0.4 volts•100mA•41 MW

Solar Cells2x2cm

Can be added in series forhigher voltage or parallel forhigher current.

=SC2x2 S1.95ea.or3/S5.00

Magnetically

Activated

Switch

-9250-0002 2/S1.00

AC Wall Transformer

Ideal (at use withclocks, powersupplies or anyolher type of ACapplication.

AC 250 117V/60HzAC 500 l17V/60H.i

12 VAC 250mA S3.95

12 VAC 500mA $4.95

Regulated Power Supply

. Uses LM 309K• Heal sink provided. P.C. board construction. Provides a solid 1 amp r»

5V. Includes components,

hardware and instructions. Sizes:3-1/2"x5"x2"high

JE200 $14.95

INSTRUMENT/CLOCK CASE

This case is an injection moldedunit that is ideal for uses suchas DVM. COUNTER, or CLOCKcases. It has dimensions of 4V2"in length by 4" in width by1-9/16" in height. II comescomplete with a red bezel-

j>ART NO: IN-CC $3.49 each

MICROPROCESSOR COMPONENTS

821282148216822-18226B22S8238B2518253825582578259

-BQ80A/8OSOA SUPPORT DEVICES

CPU

B-Bil Inpui.'OuTDu!

Pr;orily Imerrupl Coilrol

Bi-Directional Bus Driver

Clock Genorator/Dnvcr

Bus Oiivc

System Controller .'Bus Dnver

System Controller

Prog. Comin 1;0 (USART)

Piofl Interval Timei

Prog. Penph l;Q|PP|}

Prog DMA Control

Prog. Interrupt Control—6B00/6B00 SUPPOHI DEVICES

MP0

MPU Willi Clock and 1am

128X8 Sialic Ram

aenntt Inlet Adapt IMC682Q)

Priority Interrupt Controller

1024X8 Bit ROM (UC6BA30-8)

Asynchronous Comm Arlaoier

Synchronous Serial Data Adapt

0-600 bps Digital MODEM

2400 tip-. Modulator

Quail .1-St.ite Bus Trans (MC8T26)

-MICROPROCESSOR MANUALS-

M-Z80 User Manual

M-CDP1802 User ManualM-2650 User Manual

- HOM'S -

;'513i2140) Cnatscter Generator (upper case)

2513(30211 Criaiadci Generator! lower easel

2516 Character Generator

MM5230N 2M8-Bit Head Only Memory

MC6B0O

MC6S02CP

MC6810API

MC6821

MC6B28

MC6830LB

MC6850

MC6852

MC6860

MC6862

MC68B0A

MICROPROCESSOR CH1PS-MISCELLANE01

Z90I7B0C) CPU

iraoA(780D cpu

CDP180? CPUMPUE-Bit MPU w.'cIock RAM

S1-1 9524 95595

26508035P8085TMS9900JL

CPU

16-Bil MPU Wrhardware, multiply

A divide

MM500H

MM503H

MM504H

MM506K

MM510H

MM5Q16H

2504T

25(8

2522

2524

2525

2527

2528

2529

2532

2533

3341

74LS670

-SHIFT REGISTEflS —Dual 25 Bit DynamicDual 50 Bit DynamicDual t6 Bit StaticDual 100 Bit StaticD-iai 64 Bit Accumulator500:512 Bit Dynamic1024 DynamicHex 32 Bit StaticDjal 13? Bit 5taiic5' 2 Sialic1024 DynamicDual 25G Bit SialicDual 250 SialicDual 240 Bit SialicQuad SO Bil StatictD24 SialicFiio

4X4 Register File (TrrStale) UARTS

12 9514 952 25

SI9 9524.95199519 9519.951995

49 95

2102

21L02

2111(811!)

2112

2114

2114L

2114-3

2114L-3

5101

5280/2107

7489

T4S20O

93421

UPD414

(MK-1027)UPD4t6

(MK4116ITMS4044-

45NLTMS40452117

MM5262

256Xt

1024X1

256X4

1024X1

1024X1

256X4

256X4

1024X4

1024X4

1024X4

1024X4

256X4

1096X1

16X4

256X1

256X1

4K

- RAMS

Static

Dynamic

Static

Static

Sialic

Static

Sialic MOS

Sialic 450ns

Sialic 450ns low power

Sialic 300ns

Sialic 300ns low power

Sialic

Dynamic

Sialic

Static Tnsiate

Sialic

Dynamic 16 pin

Dynamic 16 pin

Static

Sialic

Dynamic 350nsI house marked)Dynamic

995

10 9510 95

PROM'S

1?02A 2048 FAM0S

TMS2516 16K- EPR0M(lntfil 2716)

(2716) 'Requires smnjc I 5V power supply

TMS2532 4KX8 EPR0M

2708 8K EPBOM

2716 T.I 16K" EPHOM

"Herjunes 3 voltages, —5V. 4.5V, <-12V5203 2048 FAMOS

S30M(7611, 10245330-1(7602) 25632S23 32X8

32S115 4096

32S123 32X8

741B6 512

74188 256

l-Y-5-1013 30K BAUD

:-\<M~

1024

Tn.1l.1lB Bipolar

Open C Bipolar

Open Collector

Bipolar

Tnsiile

TTL Open Colleclor

TTL Open Collector

Sialic

89.9510.9529.95

14.953.49295395

19.953.959 953.95

POWERACE 101 -General purpose model for

prototyping all types ol circuit.

#923101 S 84.95

POWERACE 102 -Complete digit prototyping lab

with built-in logic probe

#923102 5114.95

POWERACE 103 -Triple-output power supply

for prototyping bolh linear and digit circuits.

#923103 S124.95

NEW!! IN STOCK...

Q POWERACE

ALL-CIRCUIT

EVALUATORS WITH POWER

• 1G80 solilurlfss. plug-in lie points will hokl up lo 1814-pin DIP'S

• Breadboard elements accept all DIP sizes, includingRTL, DTL, TTL and CMOS devices TO-5's and dis-aeies wilh leads up lo 032"dia.

• All connections lo.'from switches, indicators, powersupplies and meters are made via soldetless. plug-in,lie-point blocks on control panels

» Inie'coniieci wilh any solid 20 to 3D AWG wire

• flteadlioaid elements are mounted on ground plane-s ideal lor high-frequency 3nd high-speed'low-noisecircuits

• Sliori-citcuit-pmof lused power supplies

• Opeiaie on 110 10 130 VAC at 60 Hz

• Space-age compact slyling and high-grado compo-nents permit convenient, organized and quick prototyp-ing

• All models ate 7 5 wide 11.5 deep and 4.0" high(rear) 0 75. high (front) and weiqh apprrix 2 5 lbs.

PRIST* 2flf

3Vz-0igit Portable OMM

• 3 nmn lFU Display

• Battery 0> AC aperaiiO'i. ■■ I ■

■ Itij IV.l 0 1 onm resolution

• Ovtrrangu reading

• 10 meg input impentlence

• DC Accuracy I*. tyjKalRanges: DC Voltage 0 lOOOvAC voiuge n 1000V

Freq Response 50-400 "7DC/AC Current 0 ■100mAI meq ofiii

:-.. ■

I 4 ■

Accessories:AC Adapter BC-28RechargeableBatteries BP-26

20.00

Carrying Case LC-2B 7.50

Errr" 100 MHz.... SIMS 8-Digit

• 20 Hz-100 MHz Range COU fit 6T

• 6" LEO Display . Four power souces. 1 e

• CrysTal-cofilrDllerf lurmtiase batteries. 110 or 220V with

• Fully Aulomauc charger 12V with auio

• Portable - comoleiely lighter adapter and externalsell-coniamcfl 7 2-10V power supply

•^«"s',3!_ HAX-100 S134.9E

ACCESSORIES FOR MAX 100:Mobile Charger Eliminator

use power tram car battery Model 100 — CLA S3.95

Charger/Cllmlnitor

use 110 VAC Modal 100 — CAI S9.95

IBS Mini-MaX 6 Digit 50MHz Frequency Counter

Guaranteed frequency range ol 100 Hz to 50 MHz

Full 6 digl! display with antiglare window

Fully automatic-range, polarity, slope, trigger, input level switching not required.

Lead-zero blanking—Allzetos to the left of the first non-zero digit are blanked. Kilo Hertz.

and Mega Hertz decimal points automatically fight up when the unit is turned on.

Built in input overvollage protection.

Use 9V Battery or I10/220V power.

ShTS-rtitr MINI-MAX $89.95

Accessories For Mini-Max

Part No. Description Price

MM-A4 Anlcnna $ 3.95

MM-C5 Carrying case 5.95

MM-IPC Input cable with clip leads 3.95

MM-AC2 110V adapter 9.95

MM-AC3 220V adapter 9.95

$5.00 Minimum Order - U.S. Funds OnlyCalifornia Residents - Add 6% Sales Tax

Spec Sheets -l%i

1979 Catalog Available—Send 41C stamp

MAIL ORDER ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE. SAN CARLOS, CA 94070ADVERTISED PRICES GOOD THRU MARCH

EHgEEEIia

PHONEORDERS

WELCOME(415) 592-8097

The Incredible"Pennywhistle 103"

$139.95

Kit Only

Tfw Ptnrtvwtiiitli 103 is capable ot recording data la and Irom audio lape without

cnlical Speed requirements far the recorder and i! is able to communicate directly with

another modern and terminil loi loleptinnc "hammmrj" and comniunicaliniis. In

nilililion.it is tree ol cnlical adiustments and is built with non-precision, readily available

pans

Data TnntmlulDn Mteiod Frequency -Shift Keying, lull-duplex [halt-duoiei

selectable)

Maiimum Oiti RUB 300 Baud.

Until Format Asynchronous Senal (return lo mark level required

between each characlerlReceive Channel Ftequinclai .. .2025 Hi lor space. 2225 Hz lor markTransmil Channel Frequinclai ..Switch selectable Low (norma!) 1070 space,

1270 mark, High 025 space. 2225 mark

Receive Sensitivity -46 dbm accoustically counted

Trenimit Level - 15 dbm nominal Adjustable 1<°m -6 dbm

lo -20 dbm.Receive Frequency Tolerance .. .Frequency reference automatically adjusts to

allow lor operation between 1800 Hi and 2400 H;DiflHal Dala Interlace EIA RS-232C or 20 mA current loop (receive is

optoisolated and non-polai).

Power Requirements 120 VAC. single phase, 10 Walls

Physical All components mount on a smote 5" by 9*

printed circuit board AN components includedRequires a VQM, Audio Oscillator. Freguencv Counter and/or Oscilloscope lo alijn

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.50ea

CAS-6

$14.95

(Case and 6 Cassettes)

SUP R' MOD II

UHF Channel 33 TV Interface Unit Kit

Wide Band B/W or Color System*> Converts TV to Video Display rot

home computers, CCTV camera,

Apple II. works with Cromeco Daz-

zler, SOL-20, IRS-80, Challenger.

etc.+ MOD II is pretuned to Channel 33

(UHF),♦ includes coaxial cable and antenna

transformer.

MOD II

$29.95 Kit

RS-232 CONTROL CENTER

Plug in your modem, computer

prom programmer, ^^^"""'^•^SW

terminal, printer, etc. ^

and selectively control

data flow.

■ Same Contour as ' Pennywf.istle 103i Totally self-contained

i Includes 2 master pons and 3 slave pons

PART NQ, ,M nc

RS-232CC $89.95 Ml only

Ideal for use with the TRS 60and others,

"Plug/Jack Interface to anycomputer system requiringremote control of cassettefunctions"

The CC100 controls cassettemotor functions, monitorslape location with its Internalspeaker and requires nopower Eliminates the pluggingand unplugging of cables dur-ing computer loading opera-lion from cassette.

CASSETTE CONTROLLER

#CC-100

$29.50

63-Key Unencoded Keyboard

This is a 63-key, terminal keyboard newly manufactured by a

large computer manufacturer. It is unencoded with SPST keys,unattached to any kind of PC board. A very solid molded plastic 13x A" base suits most application. IN STOCK J29 95/each

Hexadecimal

Unencoded

Keypad

19-key pad includes 1-10 keys.ABCDEF and 2 optional keys and ashift key. $10.95/each

Circle 200 on inquiry card.

BYTE March 1979

245

What's New?

SILICON

Dual Tone Separation FilterIntegrated Circuit

Speech Synthesis IntegratedCircuit from Tl

A significant new speech synthesismonolithic integrated circuit has beendeveloped by Texas Instruments Inc,POB 5012, Dallas TX 75222. Thecircuit, along with two 128 K bytedynamic read only memories, each with

the capacity to store over 100 seconds ofspeech, and a special version of theTMS1000 microcomputer, serve as themain electronics for a new talkinglearning aid called Speak and Spell, forages seven and up.

Speech encoding is achieved throughpitch-excited linear predictive coding(LPC). LPC is a technique of analyzingand synthesizing human speech bydetermining from original speech adescription of a time varying digitalfilter modeling the vocal tract. Thisfilter is then excited by other periodic orrandom inputs. An 8 bit digital to analogconverter on the chip transforms digitalinformation processed through the filterinto synthetic speech.

Codes for 12 synthesis parameters(ten filter coefficients, pitch, andenergy) serve as inputs to the synthesizerchip. These codes are stored in read onlymemory and, once decoded by on chipcircuitry, represent the time varyingdescription of the LPC synthesis model.The LPC speech synthesizer is an ad-vanced design 10 stage lattice filterwhich has an integrated array multiplier,an adder coupler to the multiplier out-put and various delay circuits coupledto the adder output."

Circle 568 on inquiry card.

«icffl»tmww

ow mmmm

The Model AF-100 dual tone separ-ation filter integrated circuit provideschannel isolation between the low fre-quency group tone (DTMF) frequencies697 Hz thru 941 Hz and the high fre-quency group tone frequencies 1209Hz thru 1633 Hz. It is intended forapplications in which dual tone separ-ation is required, eg: touch tone de-coders, transceivers, modem interfaces,etc._ .... _ _ .

Contained in a 16 pin dual-in-linepackage, the dual resistance capacitanceactive filter chip features 30 dB mini-mum separation between high and lowgroup tones, 1.5 dB maximum in-banddeviation, dual and single power supplyoperation ±12 VDC at 2.5 mA each.

The Model AF-100 is priced at $32.For further information write to DataSignal Corp, 40-44 Hunt St, WatertownMA 02172..

Circle 569 on inquiry card.

1041

2

1036

SS

1061

«

1040

«

1053

K

1042

»

1038

K

1039

SS

1042

H

1173

2

1174

2

1048

%

1051

!i

1171

X

1172

X

FTMDescription

Star Trek III

Sci-fi Came Sampler

Hamurabi

Galactic Blockade Runner

Slol Machine

Tirol

Modular Inventory

Renumber

Bingo

Bridge

Sargon Chess

Mach. Lang Monitor

Biorilylhm

Space Trek II

Lunar Lander

Price

$14.955.956.009.956.005.9519.9514.955.9514.9519.9523.955.957.957.95

DATA

CASSETTES

Perfect for recorders operating un-der KC or Tarbel! standards, (TR5-80, etc). With positive tape pathcontrol.Cat No. 1142

$2.00each

\ m\\nuimimiiiiiiiiiiiiiiiuiiitiiiiiiiiiiiitiiiiiiililllllllll/ll/////////////////jZ

VERBATIM

Soft Sector (TRS-BO)

Cat No. 1147

10 Hole hard sector

DISKETTES

^■*^"^™ ■ ■ ™*» CalNo.1149

box of 10$31.50

' NMM..............IIIIIIIIIIIIIIIII

CALIFORNIA COMPUTER SYSTEMS

TRS-80 APPLE16K MEMORYEXPANSIONKIT

Easy to install, requires nospecial tools! Includes fac-tory fresh prime rams,jumpers, and complete iistructions.Cat No. 1156

STATICKIT

VISIT OUR RETAIL STORE!Mon-Fri8-6,Sat9-5

WE SELL ONLY PRIME,QUALITY COMPONENTS

Copyright 1978 Holiby World Electronics

"SHUGART

SA-400

MINIFLOPPY

$275

Same unit as used in TRS-80 minifloppy. Offers hard andsoft sectoring, single density, 35 track. Random accessstorage, cassette drive size. Superior data integrity, fasterdata throughput- Equipped with interface which allowsupward expansion. Requires power supply.Cat No. 1154

■

S-100 compatible, true static operation. Requires only +5volts. Fully buffered, 450 ns, bank switching capability, ad-dressable in 4K blocks. Easy to assemble!Cat No. 1151

$265 kit

WRITE FOR OUR FREE SPRING 1979CATALOG Featuring FACTORY FRESHPRIME IC's, LEDS, READOUTS, REC- VITIFIERS, ZENERS, TTL, CMOS, LOW 'IPOWER SCHOTTKY, MEMORY,BRIDGES, RIBBON CABLE, TOOLS,DISKETTES, FLOPPIES, LINEAR IC'S,VOLTAGE REGULATORS, TRS-BO AC-CESSORIES, EDGE CONNECTORS,TEST EQUIPMENT, SPEECHLAB,CHASSIS BOXES, RESISTORS,CAPACITORS, MOS-LSI CIRCUITSSOLDERING AIDS, PC AIDS, FANS,COMPUCRUISE, INTROL, MUSICBOARDS, SSM BLUEBOARDS, CCSBOARDS, WIREWRAP AIDS, ANDMORE!

246

March 1979 © BYTE Publications Inc

Circle 170 on inquiry card.

ru i?w oAAi A "Smart" VIDEO BOARD1 he L W -2 001 KIT At A "Dumb" Price!

^ A VIDEO BOARD + A MEMORY BOARD + AN I/O BOARD - ALL E\ ONE!

■ STATE OF THE ART TECHNOLOGY USING DEDICATED MICROPROCESSOR I.C.

■ NUMBER OF I.C.s REDUCED BY 50% FOR HIGHER RELIABILITY ■ MASTER PIECEOF ENGINEERING ■ FULLY SOFTWARE CONTROLLED Priced at ONLY Basic Software Included

$199.95

SPECIAL FEATURES:

■ S-l 00 bus compatible

■ Parallel keyboard port

■ On board 4K screen memory(optional)* relocatable to maincomputer memory

■ Text editing capabilities (soft-ware optional)

■ Scrolling: up and down throughvideo memory

■ Blinking characters

■ Reversed video

■ Provision for on board ROM

■ CRT and video controls fullyprogrammable (European TV)

■ Programmable no. of scan lines

■ Underline blinking cursor

■ Cursor controls: up, down, left,right, home, carriage return

■ Composite video

*Min. 2K required for operation of this board.

DISPLAY FEATURES: .

■ 128displayable ASCII charact-ers (upper and lower case alpha-numeric, controls)

■ 64 or 32 characters per lineGumper selectable)

■ 32 or 16 linesGumper selectable)

■ Screen capacity 2048 or 512

■ Character generation:7x11 dot matrix

OPTIONS:

Sockets $10.00

2K Static Memory

(with Sockets) $45.00

4K Static Memory

(with Sockets) $90.00

Complete unit, assembledand tested with4K Memory $335.00

Basic software on ROM . $20.00

Text editor on ROM $75.00

DEALERINQUIRIES WELCOMED

(XI PROGRAMMER $53.9!

(Hexadecimal. Octal. Decimal.

|Enter a number in base 8, 10, or 16. Tl Programmer can Jquickly convert to either of the other bases. Rapidly nanarithmetic in all three bases giving you more time for imj

lant programming or troubleshooting tasks.

■ ideal for use with any size computer. Tl Programmer us

linteger "two's complement" arithmetic in hexadecimal]

loctal bases.

ASCII KEYBOARD KIT »74.00

$44.95

DATA CHROM

I Large, easy-to-read 8-digit liquid crystal display.Clock mode displays time, day, date, and AM/PM.Stopwatch mode displays hours, minutes, seconds and tenthsof seconds up to 9-59-59.9.

Economical-you'll get typically 12 months normal operationon a single set of batteries.

Attractive-comes in brown vinyl wallet folder with insertpockets for business cards. Makes a neat addition to yourpersonal or business accessories.24-hour alarm.

Stopwatch records and displays lap and total elapsed times.Up to one-tenth of a second accuracy.

SHIPPING: $3.50California residents add 6% sales tax.

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD. <*p"REDONDO BEACH, CA. 90278

TEL. (213)376-8005WRITE FOR FREE CATALOG

Minimum Order: $10

Additional Improvements: Double Size Return KeyControl Characters Molderd on Key Caps

Power: +5V 275mA

Upper and Lower Case OPTIONS:

FuU ASCII Set

7 or 8 Bits Parallel Data

Optional Serial Output

Selectable Positve orNegative Strobe, andStrobe Pulse Width

2 Key Roll-Over

3 User DEfineable Keys

P.C. Board Size:17-3/16" x 5"

Metal Enclosure PaintedBlue and White

$27.50

18 Pin Edge Con.

$ 2.00

I.C. Sockets

$ 4.00

Serial Output Provision(Shift Register)

$ 2.00

■ Upper Case Lock Switch for

Capita] Letters and Nos. $ 2.00

Assembled (on Sockets)

and Tested $90.00

APPLE II I/O BOARD KIT

Plugs Into Slot of Apple II Mother Board

18 Bit Parallel Output Port(Expandable to 3 Ports)

1 Input Port

15mA Output Current Sinkor Source

Can be used for peripheralequipment such as printers,floppy discs, cassettes,paper tapes, etc.

1 free software listing forSWTP PR40 or IBM selectric

PRICE:

1 Input and 1 OutputPort for $49.00

1 Input and 3 OutputPorts for $64.00Dealer Inquiries Invited

Circle 130 on inquiry card.

c

* DISK DRIVES

B51 5%" $295.00

by Micro Peripherals, Inc. OperatesIn elthei 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 $395.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 B01Dual Density Controller Chip

$49.95

Computer Products

' TWO SIEMENS/GSI 8" FLOPPYDRIVES

- POWER SUPPLY FOR ABOVE

- JAOE/TARBELL DISK CONTROL

KIT ISIOOICP/IYI OPERATING SYSTEM WITH

BASIC EPACKAGE OF 10 BLANK

8" DISKETTESPrice it purchased separately:

S1192.50

JADE SPECIAL PACKAGE OEAL:

SI 050.00

^ VERBATIM™FLOPPY DISKS

5Vi 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

• 15 megahertz bandwidth.

• External and internal trigger.

• Time Base - 0.1 microseconds to 0.5Sec/div - 21 settings.

• Battery or line operation. .

• Automatic and line sync modes.

• Power consumption less than 15W.

• Verticle Gain - 0.01 to 50 volts/div-12 settings.

•Weight is only 3 pounds.

MS-15 $318

MS-215 Dual Trace Version $435

With RechargeableBatteries & Charger Unit

10 to 1,10 meg probe $27

Leather carrying case $45

LOGIC PROBES-^fS^

S-100 MOTHER BOARDS

JADE 6-SLOT

Kit $41.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. 8i Tested $110.00

Bare Board $40.00

22-SLOT "STREAKER"

Assm. & Tested $149.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

TTL.* DTL., HTL. 0< CMOS. Input Irnpadinu. 100.000 ohm!Minimum Daiaciabla PuIm: 50 ni. Maximum Inpul SignalIFrvquancyl- 10 MHi. Pulia Oaiactoi (LEO): High uitarJ train

CSC Modal UP 1 Loo* Proba-Nat Each *44JH

MODEL LP-3

Impatfanca: 500.000 ohmi Minimum D men til. Pulia: 10 m.Maximum Input Signal (Fraquaneyl: 50 Mil: Pulu DalaclorILEOI: High limed train or unnle Uttfil. Pulu Memory' Poll" or

CSC Modal LP3 Louie

-Mei Eur

3-LEVEL GOLDWIRE WRAP SOCKETS

14 PIN 39eeach

16 PIN 43c each

100 for $30.00

Sockets are end and side stack-able, closed entry.

GOLD PLATEDS-100 EDGE CONNECTORS

Soldertai

10 torWire Wrap

$30.00

10 for $40.00

$3.25 each$4.50 each

EXPANDOR'S BLACK BOX PRINTER

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 end complete with manualand documentation. Qn|y $47,3 qq

(90 day manufacturer's warranty)

TRS-80 Interface Cable for Black Box Printer

with mating connectors: $48.00(must De used with expansion module, '8v/lamp power supply required.)

Power Supply for TRS-80/Black Box Printer

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 Zilog CPU Chip-jjf $14.95 fjf

TIM,

Convert your T.V. set into a

Video Monitor

Kit $8.95

J^a-DI!

PARALLEL/SERIALINTERFACE

S-100 compatible 2 serial I/Oports, 1 parallel I/O.

Kit JG-P/S $124.95

Assembled & Tested:

JG-P/SA $179.95

Bare Board w/Manual $ 30.00

1

ELECTRONIC

SYSTEMS

"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 $7.00

LIQUID CRYSTAL DIGITALCLOCK-CALENDAR

• For Auto, Home, Office.•Small in Size (2x2Kx%).•Push button for seconds release for date,•Clacks mount anywhere with either 3M

double-sided tape or VELCRO, included.

•2 MODELS AVAILABLE.LCD-101, portable model runs on sell-contained batteries for better than ayear.

LCD-102, runs on 12 Volt system and isback lighted.

•LCD-101 or LCD-102your choice $34.95 ea,

• Clear desk stand (or E2.00

IntegralData Systems

m

Check the impressivefeatures on Integral'sIP-125 Impact Printer

ily $799

LOADED WITH EXTRAS AT NO EXTRA COST

■Microprocessor controller "Serial RS232C Interface 'Parallel TTL level interface "Fullupper and lower case ASCII character set (96 characters) ■ Full 8;.-" Inch wide papet ■ Linelength of 80 columns at 10 characters per inch ■ Impact printing ■ 7x7 dot matrix ■ Ordinarypaper—roll, fanfold, or sheet ■ Serial baud rate to 1200 bits per second ■ Multiple line bufferof 256 characters ■ instantaneous print rate to 100 characters per second • Multiple copieswithout adjustment • Relnking ribbon mechanism ■ Front panel operator controls ■ Attractivetable top console

$49.00

IP-125 Integral Data System IP-125 Friction Feed Printer

• 96 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

1km Plugboards

8800V

ill

3690-12CARD EXTENDER

Card Extender has 100 contacts. 50 per sideon .125 centers. Attached connector is com-patible with S-100 Bui Systems . . $26.003890 6.5" 22/4 pin. 168 ctri.£xtend«r» $12.00

J n i ve r s s I Microcomputer/processorplugboard. Use with S-100 bus. Com-plete with heat sink & hardware.5.3" x 10" x 1/16".

Gen. Purpose D.I,P. Boardswith Bus Pattern for Solder orWire Wrap. Epoxy Glass 1/16"44 pin con. spaced .156.

8801-1

Same as 8800V except plain;power buses & heat sink.

3677 9.6" x 4.5" . .3677-2 6.5" x 4.6".

$10.90

. J9.74

1-4

5-9

10-24

8800V

19.95

17.95

15.96

8801 1

14.95

13.46

11.96

P pattern plugboards for IC'sEpoxy Glass 1/16" 44 pin con.spaced .166.

3662 6.5" x 4.5" $7.65

36622 9.6" x 4.5". . . $11.45

Hi-Densityboard forPower &Glass 1/16'.156.

3662 9.6" x3682-2 6.5'

Dual-in-Line Plug-Wire Wrap withGrd. Bus Epoxy44 pin con. spaced

4.5" .... $10.97x 4.5".... $9.81

248

BYTE March 1979

Circle 195 on inquiry card.

c

PLACE ORDERS TOLL FREE:

800/421-5809 Continental U.S.800/262-1710 Inside California

$179

Low price includesKIM-1 Module, moniioiprograms sto et) in

2018 ROM Bytes User

Manual wall size Sche-matic Hardware ManualProgiamming ManualProgrammers ReferenceCard KeyDoard/Displav

$245

6502 — based single boardcomputer with keyboard/dis-play, KIM-1 hardware compa-tible, complete documentation.

SYM-1 CASE $29.95

MICROPROCESSORS

F8

Z80 (2MHz)

ZSOA (4MHz|

CDP1802CD

6502

6800

6802

8008-1

8035

8035-8

8080A

8085

TMS9900TL8080A SUPPORT DEVICES

8212

8214

8216

8224 (2MHz)

8224-4 (4MHz)

8226

8228

8238

8243

8251

8253

8255

8257

8259

8275

8279USRT

S2350UARTS

AY5-1013A

AY5-1014A

TR1602B

TM56011

IM6403BAUD RATE GENERATORS

MC14411

14411 Crystal6800 PRODUCT

6810P

6820P

682 IP

6828P

6834P

6850P

6852P

6860P

6862P

6871P

6875P

6880PCHARACTER GENERATORS

2513 Upper (-12+51

2513 Lower (-12 + 5]

2513 Upper (5 VBIt)

2513 Lower (5 volt)

MCM6571 up scan

MCM6571A down senPROMS

1702A

2708

2716 (5 + 12) Tl

2716 (5v) INTEL

2758 (5vjDYNAMIC RAMS

416D/4116 (250ns)

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.85

FLOPPY DISK CONTROLLERS

1771B01

1791

KEYBOARD CHIPS

AY5-2376AY5-3600MM5740

$ 8.00S 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$18.00

LEEDEX MONITOR

• 12" Black and White

• 12MHZ Bandwidth

• Handsome Plastic Case

$140.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-Whlte" or "Whlte-on-Black".

" Fully assembled, socketed, tes-ted, burned in, and guaranteedfor a full year from date ofpurchase.

JADE Z80 BOARD

IMPROVED DESIGN ANDFEATURES

1 ON BOARD 2708 or 2716 EPROM

• VERY RELIABLE AT 4 MHZ OR2 MHZ

• POWER ON JUMP AND RESET

• ON BOARD USART (8251)

PTTTTTTTTt

TRS-80 #*f*m i

MEMORY EXPANSION KITS 44116't8 for $69.96

(16Kx 1, 200ns)

includes dip plugs andInstructions

2MHz

Kit

Assembled & Tested4 MHzKit

Assembled & TestedBare Board

$135.00$185.00

$149.95$199.95$ 35.00

•TRS-80 Kit •

(16K x 1, 300ns)

includes connectors andinstructions

$75.00

Call for discounts on larger quantities

Ji^XIX: 8080.

, A A A A A A AAAi*

TMMWVfMitra Jfa^ 'Prucet

IMSAI"-TYPE CARDGUIDE SPECIAL:

Regular Price 30ci 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.00 24K $249.0016K $199.00 24K $299.00

4115 SALE8 for $39.95

64K VERSION »KITS

Uses 4116 (16Kxl, 20Ons) DynamicRAM's, can be expanded in 16Kincrements up to 64K:

16K $249.0032K $369.00

48K $469.0064K $569.00

PRICES:

16 pin Zip Dip II

$5.50

24 pin Zip Dip II

$7.50

40 pin Zip Dip II

$10.25

+ STATIC RAM JLSPECIALS m

2114's, low power (1024x4)

1-15 16-99 100450ns

8.009.00

6.958.00

5.506.50

TMS4044/MM5257, low power

8.009.95

7.508.75

6.508.00

4200A (4Kxl, 200ns)

9.95 | 8.50 I 8.00

Computer Products

4901 W ROSECBANS AVENUEDepartment "B"HAWTHORNE, CALIF 90250U S.A

Telephone:(213) 679-3313Telex:18-1823

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 all 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 J 7.00 16.75

STATIC RAMBOARDS

JADE 8K

Kits: 450ns $125.95

250ns $149.75

Assembled & Tested:

450ns $139.75250ns $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 65B (450ns) $350.00

32 K Static

Assembled & Tested:

250ns $795.00

450ns $7.25.00

250ns Kit $575.00

Circle 195 on inquiry card.

BYTE March 1979

249

Wlial's New?

PERIPHERALS

Fully Assembled Video Display Interface for Ohio Scientific Systems

fill

I I I ? i i i i i i i i

> j * r / j i i i i s t

I I I i i p i t

Ohio Scientific is offering the videodisplay interface from its ChallengerIIP as a fully assembled accessory forany OSI system. The 540 video displayfeatures a 32 row by 64 column displayof the standard 64 character ASCII fontin 5 by 7 dot matrix form. Standard fea-tures include programmable formattingof the display for 32 by 32 or 32 by 64.The 32 by 32 mode is useful for videoanimation since it provides square char-acter cells. The video board also featuresa keyboard port which can be used witha standard ASCII keyboard of OSI's newprogrammable keyboard. The 540 op-tionally supports a graphics charactergenerator which features lower case andabout 170 special characters for plottingand gaming.

All systems using the 540 incorpo-rate OSI's new 542 programmed key-board. This fully programmable key-board system is capable of upper andlower case and auto repeat on all charac-ters. The keyboard also features up tofive levels of shifting to allow many spe-cial single keystroke commands and di-rect single keystroke graphics. The key-board has provisions for character edit-ing and supports special formats forvideo games.

The Model 540 video board is avail-able as an add-on option for any OSI sys-tem as a CA-11 for $249. The graphicscharacter generator option retails for$29. Contact Ohio Scientific, 1333 SChillicothe Rd, Aurora OH 44202."

Circle 559 on inquiry card.

Tape Punch Handles Paper and Mylar Tapes

This low cost tape punch, whichhandles paper or Mylar tape, has beenintroduced by GNT Automatic Inc, 440Totten Pond Rd, Waltham MA 02154.The GNT 36 tape punch is designed tohandle oiled and dry paper tape and alltypes of Mylar and Mylar foil tapes with-out adjustment. Easily integrated into awide variety of equipment, the unit mea-sures 2.4 by 4.7 by 3 inches (6.10 by11.94 by 7.62 cm).

Providing a die block life of 150 mil-

lion characters, the GNT 36 punchesup to 50 characters per second. With anallowable back tension of about 5ounces, the bidirectional unit accommo-dates 5, 6, or 8 hole tape widths, select-able by the user. A second version ofthe GNT 36 punches up to 75 charactersper second.

The GNT 36 tape punch is priced at$495. Contact GNT Automatic Inc, 440Totten Pond Rd, Waltham MA 02154."

Circle 560 on inquiry card.

Interface ThisElectronic Voice Systemto Your Computer

The Votrax VS-6.4 is an improvedmodel of the VS-6 which produces elec-tronically synthesized human speechfrom digital data. In the VS-6.4 two cir-cuit boards have been changed to obtainimproved voice quality. For those whowish to convert their VS-6 equipment,retrofit boards are available. Software isunaffected by the change.

The Votrax VS-6.4 electronic voicesystem is flexible and operationallysimple. A complete range of interfacetypes and options make it compatiblewith most conventional computer andcommunications equipment, and it canbe used over telephone lines or pagingsystems.

For further information contactVotrax, 500 Stephenson Hwy, Troy Ml48084."

Circle 561 on inquiry card.

250

March 1979 ©BYTE Publications Inc

•••••••••••

$•■«.

•••••

:••••

:•••-•••••••••• •••■

•••••

■••••<»••••■

»•••■!••••.

!••••■

•••••■#••••■•••••■•••••>••••••

••••

••••••••••■

•••*•••••••■

«••••■•••••

•••••■

#•••••

••••••

••••••

•••••■

•••••■

••••••

••••••

••••••

•••••■

•••••■

••••••

••••••

••••••

••••••

••••••

••••••

•••••■

••••••

:•••••••••••••••■

:•••••••••■

••••■•

§••••■

••••••

••••••

••••••

§•••••

••••••

••••••

•••••■

:•....••••■

••••••

••••••

•••••■

•••••■

•••••■

••••••

•••••■

••••••

•••••■

•••••■

••••••

••••••

:••••••••••:••••■••••■••••••••••••

USES 2708's!

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

Use21L02450 NS RAMS!

Thousands of computer systems rely on this rugged, workhorse, RAM board. Designed for error-free, NO HASSLE,systems use.

KIT FEATURES:

1. 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 provided. on card.

Blank PC Board w/Documentation

$29.95

Low Profile Socket Set..13.50

Support ICs (TTL & Regulators)

$9.75

Bypass CAP'S (Disc & Tantalums)

$4.50

ASSEMBLED AND FULLYBURNED IN ADD $30 ,

16K STATIC RAM KIT-S 100 BUSS

$295

KIT

FULLY

STATIC, AT

DYNAMIC PRICES

WHY THE 2114 RAM CHIP?

We feel the 2114 will be the next industry standardRAM chip (like the 2102 was). This means price,availability, and quality will all be good! Next, the2114 is FULLY STATIC! We feel 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 jutl as critical as Dynamic RAM's. Someof our competitor's 16K boards use these "tricky"devices. But not us! The 2114 is the ONLY logicalchoice for a trouble-free, straightforward design.

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 (450NSI 4K Static Rams

4 ON BOARD SELECTABLE WAIT STATES.

5 Double sided PC Board, with solder mask andsilk screened layout. Gold plated contact fingers

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: under 2 amps TYPICAL from the*8 Volt Buss.

10. Blank PC Board can be populated as anymultiple of 4K.<

BLANK PC BOARD W/DATA-S33LOW PROFILE SOCKET SET—$12 ASSEMBLED & TESTED—ADD $30SUPPORT ICS & CAPS—$19.95 2114 RAM'S—8 FOR $69.95

60 Hz CRYSTAL TIME BASE

$J95

T (Complete Kit)

Uses MM5369 CMOS divider ICwith high accuracy 3.579545MHZ Crystal Use with all MOSClock Chps or Modules Drawsonly 1 5 MA All parts, data, andPC Board included

100 HZ CRYSTAL TIME BASESC95

w (Complete Kit)

Same as above, except it uses aspecial MM5369 Perfect forfrequency counter time bases,etc. Also use with MOSTEK•MK50397 timer chip.

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 mfg. VERY LIMITED STOCK!

8 FOR $89.95

NOT ASSOCIATED

WITHDIGITAL RESEARCH

OF CALIFORNIA.

THE SUPPLIERS OF

CPM SOFTWARE.

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 oa. $995

PRICE CUT

4 FOR $50°°

NATIONAL SEMICONDUCTOR

JUMBO CLOCK MODULE

ASSEMBLEDI NOT A KIT!ZULU VERSION!

We have a limited number □' the 24 MR Reali version ol this module in stock

WMA1008D — $9.95

1ACXFMR $1 951

FEATURE-.

• FOUR JUMBO v, INCH LED DISPLAYS

• 12 HR REAL TIME FORMAT

• 24 HR ALARM SIGNAL OUTPUT

• 50 OR 60 Hi OPERATION

• LED BRIGHTNESS CONTROL

• POWER FAILURE INDICATOR

• SLEEP & SNOOZE TIMERS

• DIRECT LED DRIVE (LOW RFIJ» COMES WITH FULL DATA

COMPARE AT UP TO TWICE

PERFECT FOR USEWITH ATIMEBASE

OUR PRICE1

Z-80 PROGRAMMING MANUAL

By MOSTEK, or ZILOG. The most detailed explanationever on the working of the Z-80 CPU CHIPS. At leastone Ml 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

WESTERN DIGITAL UART

TR1602A. PIN FOR PIN SUB FORAY5-1013 ANDTMS6011.

FOR SERIAL I/O

$099

Cm EACH

SURPLUS SPECIAL

COMPUTER PARTS

Z-80 - 19.95

821?

2.25

Z-80A - 24.95

8255

6.95

8080A - 6.95

2111AL-4

2.2S

8080A-2 - 8.95

2708

9.95

SALE!

1N4148 DIODES. SILICON.

Same as 1N914. New.

factory prime. Full Leads.

100 FOR $2

1000 FOR $17.50

New! REAL TIMEComputer Clock Chip

N.S. MM531 3. Feature!BOTH 7 segment andBCD outputs. 28 PinDIP. $4.95 with Data

THE COLOSSUSFAIRCHILD SUPER JUMBO LED READOUT

A full 80 inch character The hiqqesl readout we have

ever sold' Super elficient Compare at up to S2 95 each

from others' YOUR CHPICF

FND 843 Common Anode » .

FND 850 Common Cathode I ea (6 (Of $6.95)

::::: Digital Research Corporation

• •••", ** mP TCVAQ\

(OF TEXAS)

TERMS: Add 30C postage, we pay balance. Orders under $15 add 75C handling NoC.O.D We accept Visa. MasterCharge. and American Express cards Tex Res add5% Tax. Foreign orders (except Canada add 20% P & H. 90 Day Money BackGuarantee on all items

•••••••••••••••■••••••••••••••••••§•»••#•••••••••••••••••••■

•••••;•'••%•••••••••■

'••••i

• •••«■•••«

• ••••'••••I

'••••i••••I•••••i'••••i•••••«'••••1■••••«••••I•••••i

•••••I

■••••«

•••••i

•••••#

■••••i

•••••<

•••••1

■••••j

•••••I

■••••«

■••••«

•••••«

■■•••i■••••«

'••••i

■••••

■••»••'••••■

■•••••

■•••••

■•••••

••••••

••••••

•■••••

■•••••

••••••

••••••

••••••

■••••!

■••••i

■••••<

••••M■••••«

■••••«

••••#.••••«

••••I

■••••t■••••«•••••I

■••■•i■••••«

■••••i■••••«

•••

Circle 100 on inquiry card.

BYTE March 1979

251

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.

EsTRS-80SERIAL I/O

• RS-232 compati-ble* Can be used withor without the expan-sion bus • On boardswitch selectable baudrates of 110, 150,300,600,1200,2400,parity or no parity oddor even, 5 to 8 databits, and 1 or 2 stopbits. D.T.R. line. Boardonly $19.95 Part No.8010, with parts $59.95Part No. 801OA, as-sembled $79.95 PartNo. B010C. No con-nectors provided, seebelow.

EIA/RS-232. con-nector Part No.DB25P $8.00. unto9'. S conductorCBblnSI0.95 PartNo. D025P9.

3' ribbon cablewith attached con-nectors to fit TP.S-BD end our serielboardS19.95PartNo 3CAB40.

S-100 BUSACTIVE TERMINATOR

Board only $14.95 Part No. 900, with parts$24.95 Part No. 900A

9 AND 13 SLOTw,MOTHER BOARDS

All traces are reflow solder covered and bothsides are solder masked. The connectorsused on these boards are the IMSAI™ type(.125" between pins, .250" between rows).Spacing between connectors is .750". Alllines, except power and ground, have apassive RC network termination available.There is a kluge area available that will accepttwo 40 pin sockets and one 36 pin socket.The circuitry for supplying three separateregulated voltages to the kluge area iscontained on the board. Part No. QMB-12$40 bare, $105 kit, $120 assembled. PartNo. QMB-9 $35 bare, $90 kit, $105assembled.

4K EPROM /mm-

This board is designed to operate with anyspeed or power 1702A. Addressable in 4Kbyte increments and can be configured tooccupy either 2K or 4K segments. It can bepopulated one memory chip at a time. Bareboard $30, board with parts $200, assembled$230. Part No. EPM-1

16K OR 32K EPROM

Designed to operate with any speed or power2708 or single voltage (+5V) 2716. Address-able in 4K increments and can occupymultiples of 4K. It can be populated onememory chip at a time. Has bank addressingand Phantom Disable. The board comes withan exclusive software program that can beplaced in a 2708 or 2716 that will, when usedin conjunction with a RAM memory board,check out every line on the EPM-2. Bareboard $30, board with parts with 2708$455, assembled $485. Board with partswith 2716 $1,225, assembled $1.255. PartNo. EPM-2

PIICEON

65K DYNAMIC RAM

Main memory for microcomputers, intelligentterminals, business systems, medical sys-tems, and OEM systems. • High densityrandom access memory 48K bytes or 64Kbytes • Fully buffered • S-100 bus compat-ible • Low power (dynamic memory) • Trans-parent refresh • Digital delay line techniquesfor reliable operation • Multiple boardsallowed using hardware or software controlledbank select • "Phantom" signal for RAM/ROM overlap • All boards are fully testedprior to shipment. Operating System testand extensive bit pattern testing. • Worksdirectly in 8080A processors or Z-80environment at 2MHz • Currently used byindustry • 1 year warranty. Only availableassembled and tested with 48K $1,250 PartNo. 48K, or with 65K $1,475 Part No. 65K

8080A CPU (With Eight Lovol

Victor Interrupt Capability) /wmCj„

Uses the 8080A and the 8224 clock chip.The crystal frequency used is 18 MHz andthe vector interrupt chip is the 8214. Theboard will function normally without theinterrupt circuitry. When the interruptcircuitry is built up, the board will respond toeight levels of interrupts. Designed to be aplug-in replacement for the IMSAI CPU boardand will work in other computers with theappropriate modifications made to the ribboncable connector pin out from the front panel.The board will work in systems without afront panel if the system has a PROM boardthat-simulates the functions of the frontpanel. Bare board $30, with parts $185,assembled $220. Part No. CPU-1

1BK STATIC RAM _

rwmc;„c.

Operates with any speed or power 2114. Allinput and output lines are fully buffered.Addressable in 4K byte increments. If thesystem has a front panel, the board will allowitself to be protected. If there is no frontpanel, the board will not allow itself to beprotected. The beard has Bank Addresscapability, Phantom Disable, MWRITE, andselectable wait states. Bare board $30,board with parts $665. Part Na. MEM2

8K EPROM

PIICEON

Saves programs on PROM permanently (untilerased via UV light) up to 8K bytes. Programsmay be directly run from the program saversuch as fixed routines or assemblers. • S-100 bus compatible •, Room for 8K bytes ofEPROM non-volatile memory (2708's). • On-board PROM programming • Addressrelocation of each 4K or 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 270B EPROM$25. Bare board $35 including custom coil,board with parts but no EPRDMS $139, with4 EPROMS $179, with 8 EPROMS $219.

-.„ © 8 e ■ »

fnillmiUiml*

IX OrHor ■ Mention Part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISAlw vl Uv/I ■ number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5% 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 witKall products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "ComputerParts." Dealer inquiries invited. 24 Hour Order Line: (40S) 226-4064 # Circuits designed by John Bell

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

ELECTRONIC SYSTEMS ° p b.

P. 0. Box 21638, San Jose, CA USA 95151

BYTE March 1979

Circle 125 on inquiry card.

The I > VL \-l It V \ S1000

A completely refurbishedIBM Selectric Terminalwith built-in ASCII Interface.$1495.00. For a limited timesave $100.00 on each unit ordered.Now, until April 30,1979

Only $1395.00

Features:

• 300 Baud

• 14.9 characters per secondprintout

• Reliable heavy duty Selectricmechanism

• RS-232C Interface (requiresRS-232C port for I/Otransmission)

• Documentation included

• 60 day warranty-parts andlabor

• High quality Selectric printingOff-line use as typewriter

HOW TO ORDERDATA-TRANS 1000

1. We accept Visa, MasterCharge. Make cashiers checks orpersonal check payable to:

DATA-TRANS

2. All orders are shippedEO.B. San Jose, CA

3. Deliveries are immediate

For orders and information

DATA-TRANS

2154 OToole St.

UnitE

San Jose, CA 95131

Phone: (408) 263-9246

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

•"%

apple ii-::-

SERIAL I/OINTERFACE

Baud rate is continu-ously adjustable from0 to 30,000 • Plugsinto any peripheral con-nector • Low currentdrain. RS-232 inputand output • On boardswitch selectable 5 to8 data bits, 1 or 2 stopbits, and parity or noparity either odd oreven • Jumper select-able address • SOFT-WARE • Input andOutput routine frommonitor or BASIC toteletype or other serialprinter • Program forusing an Apple II for avideo or an intelligentterminal. Also can out-put in correspondencecode to interface withsome selectrics. •Board only $1 5.00,Part No. 2. with parts$42.00 Part No. 2A,assembled $62.00 PartNo. 2C

UART S

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

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

T.V. INTERFACE

• Converts video toAM modulated RF,Channels 2 or 3. Sopowerful almost notuning is required. Onboard regulated powersupply makes this ex-tremely stable. Ratedvery highly in DoctorDobbs' Journal. Recom-mended by Apple •Power required is 12volts AC C.T., or +5volts DC • Board only$7.60 part No. 107.with parts $13.50 PartNo. 107A

(Illegal whereprohibited by law.)

tape -::- "

INTERFACE

• Play and recordKansas City Standardtapes • Converts alow cost tape recorderto a digital recorder

• Works up to 1200baud • Digital in andout are TTL-serial •Output of board con-nects to mic. in ofrecorder • Earphoneof recorder connectsto input on board • Nocoils • Requires +5volts, low power drain

• Board only $7.60Part No. 109, withparts $27.50 Part No.109A

Tf\ C\Tf\CkT ' Mention P^rt number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge. BankAmericard, or VISAIV wl Uwl t number, expiration date and signature. Shipping charges added to COO. orders. California residents add 6.5% for tax. Outside USA add 10Wo 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 with.all products. Prices are in US dollars. No open accounts. Tn eliminate tariff in Canada boxes are marked "ComputerParts.*' Dealer inquiries invited. 24 Hour Order Line: (40B) 226-4064 -;i- Circuits designed by John Bell

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

ELECTRONIC SYSTEMS Depl B' P' °- Box 21638, San Jose, CAUSA 95151

Circle 125 on inquiry card.

BYTE March 1979

Circle 354 on inquiry card.

BUILD YOUR OWN LOW COSTMICRO-COMPUTER

POWER SUPPLIES

FOR S-100 BUS, FLOPPY DISCS, ETC.

POWER TRANSFORMERS (with mounting brackets)

ITEM USED IN PRI. WINDING SECONDARY WINDING OUTPUTSNO. KIT NO. TAPS 2x8.5 Vac 2x14.5 Vac 2x25 Vac

SIZEWxDx H

UNITPRICE

T1T2T3T4

OV, 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%"x4Vs"x23/16" 19.95

3%"x4%"x31/a" 25.95

3%"x4%"x31/8" 27.95

3%"x41/s"x2 3/16" 19.95

SIZEWxDxH UNIT PRICE

KIT 1 18 CARDS SOURCE 18A

KIT 2 SYSTEM SOURCE 25A

KIT 3 DISC SYSTEM 20A

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

STORE HOURS: 9 AM-6 PM

ATTENTION TRS-80 & APPLE USERS

A PRINTER FOR YOUR COMPUTER

TERMS: VISA, MASTERCHARGE,Cashier Check or Money Order.C.O.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.

*109500 for

MODEL 3S-AA

Includes RS-232 card for Applet ISpecify 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

254 BYTE March 1979

Circle 364 on inquiry card.

P.O. Box 4430X Santa Clara, CA 95054

QUEST Cosmac Super Elf Computer $106.95

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 Elf includes a ROM 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 shown on several LED indica-tor lamps.

An RCA 1861 video graphics chip allows you toconnect to your own TV with an inexpensive videomodulator to do graphics and games. There is a

memory select, monitor select and single stepLarge, on board displays provide output and op-tional high and low address. There is a 44 pinstandard connector for PC cards and a 50 pinconnector for the Quest Super Expansion Board.Power supply and sockets for all IC's are in-cluded in the price plus a detailed 90 page instruc-tion 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 Elf Kit $106.95, Higheddress option SB.95. Low address optionS9.95. Custom Hardwood Cabinet with drilledand labelled front panel $24.95. NICad BatteryBackup Kit $4.95. All kits and options also comecompletely assembled and tested.Questdata. a 12 page monthly software publica-tion for 1802 computer users is available by sub-scription for $12.00 per year. New 100 page

software manual Vol.1 $4.95.speaker system included for writing your own

music or using many music programs already Tilly BaSJC fOf ANY 1802 System

written. The speaker amplifier may also be used Cassette $10.00. On ROM Monitor $38.00.

to drive relays for control purposes. Super Elf owners. 30% off. Object code listing or

A 24 key HEX keyboard includes 16 HEX keys paper tape with manual $5.50.

plus load, reset, run, input, memory protect. Original ELF Kit Board $14.95.

Super Expansion Board with Cassette Interface $89.95

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 Elf. The board includes slotsfor up to 6K of EPROM (2708, 2758, 2716 or Tl2716) and is fully socketed ($12.00 value).EPROM can be used for the monitor and TinyBasic or other purposes.A IK Super ROM Monitor S19.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. TheSuper Monitor is written with subroutines allow-ing users to take advantage of monitor functions

simply by calling them up. Improvements andrevisions are easily done with the monitor. If youhave the Super Expansion Board and SuperMonitor the monitor is up and running at the pushof a button.

Other on board options include Parallel Inputand Output Ports with full handshake. Theyalloweasy 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. Parallel I/O Ports$9.85, RS 232 $4.50, TTY 20 ma l/F $1.95,S-100 $4.50. A 50 pin connector set with ribboncable is available at $12.50 for easy connectionbetween the Super Ell and the Super ExpansionBoard.

The Power Supply lor the Super Expansion Boardis a 5 amp supply with + 8v ± 18v + 12v - 5v.Regulated voltages are ±5v & +12v $29.95.-12 volt optional. Deluxe version includes thecase at $39.95.

switches Very compact w

h .50 aid

7400171.

LM340M8

1 10

CD4511

.94

8212

2.90

64" digits.

7400N

17

LM340T-24

1.10

CD4515

2.52

8214

800

MA1D02A, CofE .50"

1.96

7402N

17

LM343H

4.50

CD4516

1 10

8216

2.90

102P3 Transformer

2.2!

7404N

LM370

1.15

CD4518

1.02

8224

2.90

MA1D10A, C or E .84"

7409N

23

LM377

4.50

CO4520

1.02

8228

5.35

10ZP2 Tran ■former

Special tramiormar end ilswitches when purchase■//module

74 ION74 UN7420N

.17.63

-17

LM379LM3B0NLM3B1

5.001.001.60

CD4527CD4528CD4553

1 51.795.75

8251B2538255

8.5010.00925

7422N

1.39

LU382

1.60

CD45B6

2.25

8257

1950

2.95

7430N

.20

LM703H

,40

CD4583

450

8259

1950

MA1003 car module .3"

7442H

.50

LM709H

.28

CD45S5

1 10

CDP1B02CO

19 95

green tluor. display

1S.9S

7445N

69

LM723H/N

.50

CD40192

3 00

CQP18020

25 00

RESISTORS V. wail 5%tQper type 03 lOOQper25 per type 025 350 pie

lOOpertype .015 Spar

7447N744BN74 SON7474N

.60.69

.17,29

LM733NLM741CHLM741NLM747HJN

.67.35.25

.62

74C0074C0474C1074C14

.28.3328

2.10

CDP1B61

6820

i860

6502

12959.9512 951250

type 012cepacktype 6.75

7475N

.49

LM74BN

■35

74C20

.28

KEYBOARDS

74B5N

.66

LU1303N

.62

74C30

.28

IC SOCKETS

56 key ASCII keyboard kit

$62.50

7489N

2.00

IMS 304

1.10

74C48

1.95

Solder Tin Low ProUle

Fully assembled

72.50

7490N

.43

LM1305

1.27

74C74

.75

PIN 1 UP PIN

1UP

53 key ASCII keyboard Jul

55.00

7492N

43

LM1307

2.00

74C76

1.40

8 .15 22

.30

Fully assemoled 65.00 Enclosure 14.95

7493N

.43

L Ml 310

2 75

74C90

1.15

14 .18 24

.35

LIDS

Red TO 18

Green. Orange, Yellow T01E

7495N

69

LM1456

,47

74C93

1.40

16 .20 28

42

741O0N74107N

.90.29

LM1B00

LM1S12

1.75

7.50

74CI5474C160

300

18 .27 3620 29 40

5857

!20

7412IN74I23N74125N

.345939

LM1689LM2111LM2902

3001.751.50

74C175.74CI9274C221

1.351.65? 00

3 level wre wrap gain

14 pin 25

2 level 14 pin ww 20

Green. Orange, Vcllow Jumbo .25Cllpllle LEO Mounllng Cllpi 8/51.25

74145N

.69

LM3900N

.60

74C905

3.00

(specify red amber, green, yellow, dear]

74150N

95

LM3905

1.75

74C906

.75

WIRE WRAP LEVEL 3

CONTINENTAL SPECIALTIES

In iloct

741S1N

69

LM3909N

.61

74C914

1.95

PIN PIN

Complete line ol breadboard

74154N

1 00

MCI 458V

.50

74C922

550

14 .25 24

86

MAX-10D 8 digit Fiera. Ctf.

J12B.95

74I57N

69

NE540L

2.89

7JC923

5 50

16 33 28

1 00

74161N

67

NE550N

.65

74C925

6.95

18 57 40

1 23

OK WIRE WRAP TOOLS In (tuck

74162N

87

NE555V

.43

74C926

6.95

Portable Multimeter

$18.00

74IB3N

87

NE556A

.79

74C927

6 95

UART/FIFO

DIGITAL THERMOMETER

148 50

74174N

.96

NE565A

1 00

AY5-1013

550

Bali, oper General purpose

74175N

.90

NE566V

150

INTERFACE

AY5-1014

7.50

32-230 F. Disposable probe cove'

74190N

1.15

NE5G7V

120

8095

.65

3341

6.95

* .2 accuracy. Comp.

\"to Cn

74192N

87

NE570B

500

8096

.65

compact case Switches Iron

74193H

85

NE571B

500

8097

65

PROM

7422IN

1.55

78L05

60

B098

65

1702A

3 95

COMPUTER BOARD KITS

74298N

1.65

7BL08

60

8109

1.25

NB2S23

2.95

BK RAM Board Kn

S134.95

7436SN

66

79L05

70

8T10

450

N82S123

350

4K EPROM KrT

114.95

7436GN

.66

78M05

,85

8T13

300

NB2S126

3 75

I'O Board Kn

44 50

74367N

.66

7510B

1,75

8720

5.50

NB2S129

3 75

Extender Board w-conncclor

12.50

75491CN

.50

8123

3,10

NB2S131

3 75

Video Inierlaco board kit

125.00

74L800 TTL

75492CN

.55

BT24

3,50

NB2S13G

875

16K EPROM board kit w.'o PROMS 74.50

74LSQ0N

25

75494CN

89

6T25

3 20

NB2S137

8 75

16K Static RAM board kti

395 30

74LS0ZN

25

8T26

1.69

2708

10 50

North Star Floppy Olik Kit

5565.00

74LS04N

25

A lo 0 CONVERTER

8T28

2.75

DMB577

2.90

Additional Drive Kit

41500

74LS05N

.25

80369

450

8T97

1.69

8223

2.90

SPECIAL PRODUCTSMM586S Stopwatch TimerPC board

74LS08N

74LS10N

.25.25

6700CJ8701 CN

1395

22.00

8T98

1.69

2716T1

2716 Intel

22.5048 00

9.007.50

27

74LS13N

.40

B750CJ

13.95

MOS/MEMORV RAM

Swllchei Mom Pushbutton

74LS14N

.90

LD130

9.95

2101-1

3.95

CRYSTALS

3 po5. slideEncoder H00165-5

256 95

74LS20N

25

MOOCJVff

7.40

2102-1

95

1 MHj

4.50

74LS22N

.25

ICL7103

9.50

2102AL-4

1.60

2 MHz

4.50

3 Digit UniversalCounter Board Kit

74LS28N

■11

ICL7107

14.25

21F02

1.25

4 MH;

4 25

74LS30N

.26

2104A-4

4.95

5 MHz

4.25

Operates 5-IB Vol DC to 5 MH>

74LS33N

39

CMOS

21073

4.95

lOMHi

4 25

lyp .125" LEO displayVoice actuated switch

0.50

.50

74LS38N

.30

CD34001 Fatr.

50

2111-1

3.75

16 MHz

3.90

74LS74N

35

C04000

16

2112-2

3.95

20 MHz

3 90

74LS75N

47

CD4001

21

2114

8.50

32 MH;

390

Paralronlcs 100A Logic

74LS90N

.51

CD4002

4116

12 95

32766 MHz

400

Analyzer Kit S224.O0

74LS93N

.51

CD4006

1.10

2S13B

630

1.8432 MH*

4,50

Model 10 Trigger

74LS95N

169

CD4007

21

21L02-1

1 29

3 5795 MHz

1.20

Expander Kit S229.00

74LS107N

35

CD400B

21

MM5262

.40

2.0100 MHz

1.95

Model 150 Bos

74LS11ZN

.35

CD4009

.39

MM5280

3.00

2.097152 MHz

4.50

Grabber Kil 5369.00

74LS1I3N

.35

CD40I0

.39

MM5320

9.95

2,4576 MHz

4.50

TRANSFORMERS

74LS132N

.72

C04Q11

21

MM533Q

5.94

3.2768 MHz

4.50

6V 300 ma

3 25

74LS136N

35

C04012

21

P0411D-3

4.00

5 0668 MHz

450

12 Volt 300 ma translormer

1.25

74LS151N

.67

CO4013

36

P04110-4

5.00

5.185 MHz

450

12 6VCI 600 ma

3.75

MLS155N

.67

CD4014

as

P5101L

13.95

5 7143 MHz

4.50

12V 250 ma wall plog12V CT 250 ma wall plugZ4V CT 400 ma

2.95

74LS157N

67

CD4015

86

4200A

995

6 5536 MHz

4.50

3.50

74LS162N

91

CO4016

.36

82S25

2.90

1431818 MHz

4.25

3 95

74LS163N

.91

CD4017

94

91L02A

1.75

18.432 MHz

4.50

10V 1.2 amp wall plug12V 6 ampDISPLAY LEDSMAN1 CA .270MAN3 CC 125MAN72/74 CA/CA .300DL7Q4 CC .300DL707/0L707R CA .300

4.85

74LS174N

.95

C0401B

.94

HD0165-5

6.95

22.11B4 MHz

4.50

2.95

74LS190N

1.06

CD4019

21

MM57100

4,50

74LS221N74LS258N74LS367N

LINEAR

CA3045CA3D46CA3081

1.95.67

B9

.9067

CD4020604021

CD4022CD4023CD4024CD4025C04026

1.021.028621

.75

G1AY38500-1

MCM6571A

9368

4100

416

9.959.95

3 5010.0016.00

CONNECTORS44 pin edge 2 00100 pin edge 4.50100 p.n edge WW 4 50

2.90.391.001.25100

1 51

CLOCKS

KEYBOARD ENCODERS

0L727/728 CWCC .500

1 90

I.SO

CD4Q27

.36

MMS309

3.00

AY5-2376

S12 50

DL747/750 CA/CC .600

1.95

CA308?

1.90

C04028

.79

MM5311

3.60

AY5-36O0

13.50

DL750 CC 60C

1.95

C.A3OB0

2.95

C04029

1.02

MM5312

4.60

74C922

5.50

FND359 CC .357

.70

(M301AN/AH

.35

CD4030

.21

MM5313

3.60

74C923

5.50

KNOSOO/507 CC/CA .500

1.35

LM3D5H

.87

CD4035

1 02

MM5314

390

HD0165-5

6 95

FND503.'510 CC'CA 500

90

LM307N

35

CD4040

1.02

MM5315

4.00

FNDBOO'807 CC/CA BOO

2.20

LM30BN

.89

CD4042

.71

MM5316

5 00

IC Ten Clips

3 digit Bubble

.60.80

LM309H

1 15

CO4043

.63

MM5318

3.60

10

4 digit bubble

LM309K

.95

CD4044

.63

MM5369

2 10

Red 55

.47

0G8 Rooiesceni

1.75

LM311H/N

.90

CD4046

1.67

MM5641

14.45

BUCK. .55

,47

DGIO Fluorescent

1.751.00

LM317T.'K

2.92

CD4049

36

MM 5865

7.95

5 digtl 14 pin display

LM318

1.35

CD4050

.36

CT7001

5 80

Keyer 8043

14.50

NSN69 9 digit display

.60

L.M32QK-5

1.20

CD4051

1.13

CT7002

8.95

comp w/spec./sock

7520 Ctairex photocells

.399.50

LM323K-5

6.95

CD406O

1.42

CT7010

8.95

TIL311 Hex

LM320K-I2

1.35

C04066

,71

CT7015

7.25

TRANSISTORS

COMPUTER GRADE CAPS

LM320K-15

1.35

CD406B

,40

MM5375AWN

3.90

2NI893

.40

1600 mid 200V

4.50

LM320T-5

1.60

CO4069

.40

MM5375AB/N

490

2N2222A

18

2000 mid 45V

2.50

LM320T-B

1 60

CD4070

40

7205

16.50

2N2369

30

3200 50V

2.50

LM320T-I2

1.50

C04071

.21

7207

750

2N2904A

20

5500 25V

2.50

LM320M5

1 60

CD4072

21

7208

15.95

2N2907A

25

5800 40V

3.00

LM324N

1.15

CD4073

21

7209

4.95

2N3053

.40

6100 40V

3.00

LM339N

1.55

CD4075

.21

DE0026CN

3.75

2N3638

.25

6100 50V

3.00

LM340K-5

1.10

CD4076

1,75

DS0056CN

3.75

2N3643

25

7700 50V

2.50

LM34QK-H

1.10

CD4078

.43

MM53104

2.50

2N3904

18

6000 55V

2.50

LM340K-12

1.10

C040BT

.21

2N3S08

.18

9400 65V

3.00

LM340K-15

1.10

CD4082

21

MICROPROCESSOR

2N3055

.69

10D00 20V

2.50

LM34DK-24

1 10

CD4I16

47

6600

17 50

ZN4400

.25

12000 30V

3.50

LM340T-S

1 10

CO4490

5.50

6802

24 95

2N4401

.75

35000 25V

5.00

LM3401-BLM340T-I2

1.10

C04507

1 00

B080A Willi tela

6 95

2N4402

.20

55000 25V

5.00

110

CO4508

4 25

8085

27,00

TIP31

60

82000 15V

600

LM340M5

1 10

CD4510

1.02

ou

24.50

TIP33A

1 00

160000 10V

6.00

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. AddS3.95 for beau-titul 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 instrucs. Greenand orange displays also avail. Same kit W/.60"displays. Red only $21.95 Case S11.75

60 Hz Crystal Time Base Kit $4.40

Converts digital clocks from AC line frequency tocrystal time base. Outstanding accuracy. Kit in-cludes: PC board, IC, crystal, resistors, ca-pacitors and trimmer.

Digital Temperature Meter Kit

Indoor and outdoor. $witches 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

Sinclair 3Vz Digit Multimeter

Bart./AC oper. 1mV and .1NA resolution. Resis-tance to 20 meg. 1% accuracy. Small, portable,completely assem. in case. 1 yr. guarantee. Bestvalue ever! $59.95

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

Video Modulator Kit $8.95

Convert your TV set into a high quality monitorwithout affecting normal usage. Complete kitwith full instructions.

PROM Eraser

Ultraviolet, assembled

$34.50

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

Clock Calendar Kit $23.95

CT7015 direct drive chip displays date andtime on .6" LEDS with AM-PM indicator.Alarm/doze feature includes buzzer. Completewith all parts, power supply and instructions,less case.

1978 IC Update Master Manual

1978 IC Update Master Manual S19.50. Com-plete IC data selector, 2175 pg. Master refer-ence guide. Over 42,000 cross references.Free update service through 1978. Domesticpostage $3.50. Foreign S5.00. 1979 IC Updateavailable late Jan. $35.00.

Stopwatch Kit $26.95

Full six digit battery operated, 2-5 volts.3.2768 MHz crystal accuracy. Times to 59min., 59 sec. 991/100 sec. Times std., splitand Taylor. 7205 chip, all components minuscase. Full instructions.

D Connectors RS232

25 Pin Subminiatures

DB25P ' 2.95

DE9P 1.50

DB25S 3.95

DE9S 1.95

Cover 1.50

DA15P 2.10

RS232 Complete Set 6.50

0A15S 3.10

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.00

Motherboard $39. Extender Board $8.99

TERMS: $5.00 min. order U.S. Funds. Calif residents add 6%tax.BankAmericard and Master Charge accepted.Shipping charges will be added on charge cards.

FREE: Send for your copy ol our NEW 1978QUEST CATALOG. Include 28c stamp.

Circle 311 on inquiry card.

BYTE March 1979

255

For Newcomers to the Computer Field

Whafs New?

PUBLICATIONS

Free 32 Page Short Form Guide from Analog Devices

•isv

INPUT >

R131t>0<!u.0».

This new Short Form Guide containsa complete listing of Analog Devices' lineof more than 400 products for precisionmeasurement and control, including digi-tal to analog, analog to digital, voltage tofrequency and frequency lo voltageconverters; sample and hold amplifiers;multiplexers, switches and references;operational amplifiers, instrumentationamplifiers and isolation amplifiers; com-

putational circuits; root mean square toDC converters; analog input and outputsubsystems for microcomputers; dataacquisition subsystems; temperaturetransducers; digital panel instruments;and power supplies. Products are listedwith basic specifications and prices.Contact Analog Devices, Rt 1 IndustrialPark, POB 280, Norwood MA 02062.■

Circle 562 on inquiry card.

Small Computer Systems Handbook by Sol Libes

Small Computer Systems Handbookby Sol Libes is written for those new tothe field of personal computers. Theemphasis throughout is on importantpractical knowledge that the smallcomputer user should have to be ableto intelligently purchase, assemble andinterconnect components, and to pro-gram the microcomputer.

This guide provides background indigital logic fundamentals, number sys-tems, and computer hardware and soft-ware basics. Only a minimal amountof electronics is required. The bookoffers an introduction to programmingon the machine level, and with higherlevel languages such as BASIC.

The various applications of smallcomputers are described, such as main-taining financial records, storing records,controlling appliances, typewriting, salesanalysis and inventory control.

This 197 page book is priced at$8.45 and is published by Hayden BookCompany Inc, Rochelle Park NJ 07662."

Circle 564 on inquiry card.

PET Magazine on Cassette

Program is a new monthly magazinerecorded on cassette and intended foruse by 8 K byte Commodore PETcomputer owners. Subscribers willreceive a standard magazine format forvideo display on side 1 of the cassette,with pages of articles, applications,sources of hardware and software, avail-

ability of peripherals, programminghints, etc. The reverse side contains threeor more games, household and businessprograms, etc. The subscription rate is$27 per year. For further informationcontact Program, POB 461, PhilipsburgPA 16866.■

Circle 566'on inquiry card.

1

i ■

1

■

1

BASIC From the Ground Up byDavid E Simon assumes the readerknows nothing about computers. Allthe statements of BASIC are detailedas well as what goes on inside the com-puter when programming. The bookcovers at least one version of each ofthe BASIC statements along with someof their variations. BASIC From theGround Up is 232 pages long and ispriced at $8.95. Contact Hayden BookCompany Inc, 50 Essex St, RochellePark NJ 07662..

Circle 563 on inquiry card.

Free Information on Commodore PET

Are you having difficulty locatinginformation on the Commodore PETcomputer? New England ElectronicsCompany, 248 Bridge St, SpringfieldMA 01103, has available free of chargea PET information package as well asa software and hardware products direc-tory. The information package includesspecifications on the PET 2020 printer,PET service and warranty informationand other pertinent data concerning thePET..

Circle 565 on inquiry card

Catalog Features Personal Computing

Introduction to Personal Computingis a composite of companies providingpersonal computing hardware and soft-ware to the marketplace. Included areprofiles of 69 companies and an over-view of their product offerings. It alsoincludes the names and addresses of var-ious computer related publications. This72 page catalog is available for $25 ($5handling charge if payment does notaccompany the order). New Jersey resi-dents should include 5% sales tax. Forfurther information contact AlltechPublishing Company, 212 Cooper Center,N Park Dr and Browning Rd, Penn-sauken NJ 08109..

Circle 567 on inquiry card.

256

March 1979 ©BYTI Publications Inc

BUY FROM THE BIGGEST

NCE/CompuMart

1250 North Main Street, Department KB49P.O. Box 8610 Ann Arbor, Michigan 48107

PET with 8K usermemory S795.00

Spcond Cassette drive $99.95RS-232 Printer Adapter —assembled board

The most powerful computer you can attach to your TVNCE/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 Computer $1195

48K Apple II Computer $1795

Disk Drive & Controller $ 595

Second Disk Drive only $ 495

Video Butler — add aconventional monitor 129.BS

EXPANDAPET — Eco-nomical 16K memoryexpansion for the PET(incl 1 daughter bd) $485 I

Without daughter $435 |

board

$179.95

with power aupply

$214.95

EXPAND YOUR KIM

SYSTEM:

KIM SI

KIM to S-100 Board

Assembled $169

Connector Set 15

KIM 4

Expansion board 89.95

MICRO TECH POWER SUPPLY

Assembled J349s

KIM ENCLOSURE

Give your KIM a protessiona' appear-ance No alterations, required sturdy100 Black

$23 Rfl

Hazeltine1400

<ST^o>N Only

$749.00

Now a 5th Generationin Terminals:Introductory Sale Price —

Immediate Delivery

• 24 x 80 display

• RS-232C interface

• 110 to 9600 Baud

• 12" CRT Monitor

• Remote screen control

• Uses 8048 microprocessor

• State-of-the-art design

Afull capability terminal completelyassembled with a 90 day warrantyfor less than you'd pay for a kit.

Compucolorfl

Models 8K RAM SI, 495Model 4 16K HAM $1,795Model 5 32K RAM $1,995

ASCII INTERFACE FOR TC-71

45 Day delivery Noim»By im now

e

SYM-1

From Synertefc $269.00

Sr\\S

£££SANYOMONITOR

New Acoustic Coupler

Tl

PROGRRMM€R

A Home Computer & A Video Game in a Single Unit!

INTERACT Model One

14 FREE CASSETTJ

8K-S499 16K-S599

10 DAY RETURN PRIVILEGE

90 day limited warrantyNewest, most exciting products in per-sonal computingOutstanding valuesAll items fully assembled and testedunless otherwise stated.Send for our catalog for more detailedproduct information.

(313)994-3200

in ^m

■*">•

stoot

NOW!

Edu-BASIC

- Wnl

progr

rims

Concentrat

on — T

Dug light —

Uriel

OtllpS

AddEm Up

— Am

th gar

le

Biorhylhm -

- Plol you. ow

1

Blackjack -

Wage

video

bucks

Compute-A-Color -

Easy

graphi

Hangman -

Thew

rd gar

AIM65

i |5< kevl Alphkeytioard■ SO char ASCII Alphanumeric dunl.ly

• Application Conn lor TTr. 2 cauol-IBt. 2 8 big 1/0 pom

* Eipannon Conn llr* i;

• Michigan residents add 4% sales tax • Foreignorder (except Canada) add 10% additional han-dling (U.S. currency only) • P.O.'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 tor deliveryquotation • Sorry—no C.O.D.'s • All prices subjectto 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 March 1979

257

Visit our new

ISO-Tip CordlessSoldering Irons

• Up lo 125-150 Joints percharge

• 5-10 Seconds average solderingheat time

• Tip performance up to 50 wattsand over 700'F tip temperature

• Built-in work light

• "Lock off" switch

• Rechargeable battery & chargerIncluded

• Cannot over charge

7800 $34.95

Fastest recharging Iron on themarket. Recharges fully in one hour

7740 $24.95

"Quick Charge" Rechargescompletely in 3 to 47* hours

7540 $19.95

The Original" Recharges com-pletely in 12 to 16 hours.

6500 $10.95

P.C. Drill atlachment withNo. 56 Bit.

■

P.C. BOARD

Tin 4 i 4.5 x 1/16 Inch board it mad* of |<aii coaled EPOXY Limmji.and faaturat loldtr coaled 1 oi. copper pad* Thr board bat provisionfor a 22/44 two tided *d|* connector, with contact! on standard .156spacing. Edge contacts are non-dedicated for maximum flexibility.

The board contains a matrix of .040 in. diameter holes on .100 inchcenters. The component side contains 76 two-hole pads that can accom-modate any OIP tile from 6-40 pint, as wall as discrat* component*Typical density is IB of 14-Pin or 16-Pin DIP't. Components may besoldered directly to the board or intermediate sochatt may ba used forsoldering or wire-wrapping.

Two independent bus systems are provided for voltage and ground onboth sides of the board. In addilion. the component side contains 14individual busses running tha full length of the board for complete wirmg flexibility. These busses enable access from edge

Tiponents. These buttai can alto sarve to augment the voltage 01Hind bunts, and may be cut to length for particular applicationt,

REFILL ROLL OF WIRE

Wire for wire-wrapping AWG-30(0.25mm) KYNAR* wire, 50 ft. roll,silver plated, solid conductor,easy stripping.

10 AWG Blue Wire 5011 Roll

R 30B 0050

$1.98$1.98$1.98$1.98

30 AWG Yellow Wire 5011 Roll

R 30Y 0050

10 AWG While Wire 50ft Roll

R 30W 0050

30 AWG Red Wire 5011 Roll

R 30R 0050

MOS LSI INSERTER

Tool is crome plated ABS forexcellent static dissipation.Tool has ground lug forconnection to grounding strap.

MOS - 40 $7.95

0

s&

UP DATE YOUR LIBRARY

and SAVE with SAMS BOOKS

buy 3 and save 10% buy 5 and save 15%

21168-8. Active-Filter Cookbook 14.85

21396-2. CMOS Cookbook 10.50

21416-4, IC Timor Cookbook 8.95

21447-4. The 8080A Bugbook* : Microcomputer interlac-ing & Programming (Bugbook* la a registered trademark

ot E & L Instruments, Inc. of Derby. CT, 0641B.) 10.50

21456-8. How to Program Microcomputers 8.05

21500-4. The Z-80 Micro-computer Handbook 8.95

21512-8. Using the 8800 Microprocessor 8.85

21524-1. The Cheap Video Cookbook 5,95

21527-8. IC Converter Cookbook 13.05

21534-9. Fundamentals ot Digital Computers (2nd Ed.) 9.95

21536-5. 08UG: An 8080 Interpretive Debugger 4.05

21538-1. The 555 Timer Applications Sourcebook, With Ex-periments 5.85

21539-X. Design of Active Filters, With Experiments .. 7.0521540-3. Microcomputer-Analog Converter Software &

Hardware Interfacing 9.50

21641-1.8080/8085 Software Design 9.60

21542-X. Logic & Memory Experiments Using TTL In-tegrated Circuits, Book 1 0.05

21646-4. The Design of Phase-Locked Loop Circuits, With

Experiments 8.05

21550-0. Introductory Experiments in Digital Electronicsand 8080A Microcomputer Programming & Interfac-ing—Book 1 12.06

21651-0. Introductory Experiments in Digital Electronicsand 8O80A Microcomputer Programming & mterac-

Ing—Book 2 12.95

20960-1. IC Op-Amp Cookbook 12.95

21035-5. TTL Cookbook 9.50

21588-1. BASIC Primer 8.95

WIRE DISPENSER

i With 50 ft. Roll of AWG 30KYNAR" wire-wrapping wire.Cuts the wire to length.Strips 1" of insulation.Refutable

WD-30-Y

14-16 Pin Dip IC Inserter | INS-1416 |$3.49 ]

N8" *>

PRIORITY rONE~l ELECTRONICS

16723B Roscoe Blvd. Sepulveda CA 91343

terms VISA. MC. BAC. check. Money Oraer, COD. US Funds Only CA residents add 6% sales lax Mini-mum order $10 00 Orders less than $75 00 include 10% shipping and handling, excess relunded. Just in caseplease include your phone no

For .025"(0,63mm) sq. post"MODIFIED"wrap,positive indexing,anti-overwrapping device

USE "C" SIZEMl CAD BATTERIES(NOT INCLUDED)

Sena tor our latest brochure

phone orders welcome (213) 894-8171

Good Thru March 1979

OEM and Institutional inquiries invited

DIP/IC EXTRACTOR |TOOL

The EX-1 Extractor is ideally suited for hobbyist or |lab engineer. Featuring one piece spring steel con-struction. It will extract all LSI, MSI and SSI devices |of from 8 to 24 pins.

Extractor Tool

EX-1 $1.4JM

Visit our new retail location

Circle 31 2 on inquiry card.

our new reta

+ 3.1 0 H

LM3A3dig 1% DC$J34<0Tt— $120.60LM3.SA 3'/2 dig. .5% DC

$35*50 - $142.65LM40A4dig .1% DC

£289Sfi:- $188.10LM4A 4 dig .03% DC

$25tt0l£— $225.00

Rechargeable batteries and charger In-cluded

Measures DC Volts, AC Volts, Ohms andCurrent

Automatic polarity, decimal and overloadindication

> No zero adjustment and no full-scale ohms

■Hint

• Battery-operated — NICad batteries; also AC

line operation.1 Urge LED display for easy reading without

Interpolation

I Sin: 1.B"H X 2.7"W X 4"DParti & labor guaranteed 1 yearTilt aland option I 3.50

> Laathercaaa $20.00

8803

MOTHER

BOARD foilStOO BUS

MICRO-COMPUTERS

$318.

MS-15MINISCOPE

llh Htchirgaibi* BatttrM & entry*' Unit

• 15 megahertz bandwidth.

• External and interna! trigger.

• Time base — .1 micro see. 10 0.5 Sec/dlsettings . '3%.

• Battery or line operation.

• Automatic & lino sync modes,

• Power coniumpllon < 15 waits.

• vortical Gam - .01 In SO Vrdlv ■ 12 Mtlings ± 3*,'

PROBE 1C

PROBE iC with the>urchase ot SCOPEnd .the MENTION olthis MAGAZINE

I MS-215 Dual Trace Version of MS-15 $435.

S100-WWQ 507100 Com 126 c!'S 3LEVEL WIRE WRAP 025 sq postson 250 spacer] tows GOLD Dialed

14 5-9 10-24

S400 S3 75 S3 50

RG81G 50/100 Conl 125 cits DIPSOLDER TAIL on 140 spaced rows

lO' ALTAiR mothorooa'ds GOLDDialed

S100-STG 50/100 Conl 125 ctrsDIP SOLDER TAIL on 250 Spacedrows '0> VECTOR and MASI motherDoa'ds GOLD plaled1-4 5-9 10-24

13.50 $3.25 S3.00RM1-3 501100 Com 125 CtrsPIERCED SOLDER EYELET [ail*GOLD17.53

B 10-24S5.00 $4.75 $4.50

Other Popular Edge Connectors

R844-Q 22/4* Con! 156 ctts RM4-3 22/44 Conl 156 ctrs WIRE

PIERCED SOLDER EYLET tails WRAPlatls GOLD

GOLD plated 1-4 5-9 10-24

1-4 S-9 10-24 $400 $3.75 $3 50$300 $275 $2.50CG-t IMSAI Style Card Guides 5/S1.00

ATTN: OEM's and Dialer., many other connecters available call Ot quotation

3 LEVEL

GOLD WIRE WRAPSOCKETS

Sockets purchased in multiples of 50 per type may be combined for best price.

1-24 25-49 50-99 100-249 250-999 1K-5K

8 pin* .41 .38 .35 .31 .27 .23

14 pin* .39 .38 .36 .32 .29 .27

16 pin* .43 .42 .39 .35 .32 .30

18 pin .6320 pin .8022 pin* .90

.58.75.85

.54.70.80

.47.63.70

.42.58.61

36

5357

24 pin .90 .84 .78 .68 .63 .58

28 pin 1.10 1.00 .90 84 .76 .71

40 pin 1.50 1.40 1.30 1.20 104 89

AH sockets are GOLD 3 level closed entry 'End and side stacable. 2 level, Solder Tail. LowProfile. Tin Sockets and Dip Plugs available CALL FOB QUOTATION

LIQUID CRYSTAL DIGITALCLOCK-CALENDAR

• For Auto, Home, Office

• Small in size (2x2rtxVi)

• Push button lor seconds release (or date.

• Clocks mount anywhere with either 3M double-sided laps or VELCRO. included.

- 2 MODELS AVAILABLE:LCD -ioi. portable model runs on sell-containedbatteries (or batter than a year.LCD 102. runs on 12 Volt system and Is back-lighted

• LCD ioi 0' LCD 102 rni Acyourcnoica •)j4,3Jai

• Wiring uda Mown Comportent utt ur* eposygtiu *m »n.;t rur kmgicomponani location >

* GlOtpaiyglluaoaia*>tn2 0unc*,tMjna 0M<

Plugboards

8800V

Universal Microcompuler/processorplugboard, use wiin S-100 bus Com-plete with heal sink & hardware 5.3" x10" jc 1/16 ■

1-4 5-9 10-24

$19 95 S17 95 115 96

8801-1

Same as 8800V except plain, less powerbuses & heal sink1-4 5-9 10-24

514 95 S1.1 if> Sit 86

3682 9.6" x 4.5"

$10.97

3682-2 6.5" X 4.5"

$9.81

Hi-Density Dual-ln-LinePlugboard lor Wire Wrapwith Power & Grd. BusEpoxy Glass 1/16" 44pin con spaced 156

3677 9 6"x4.5"

$10.90

3677-2 6.5" X4.5"

$9.74

Gen. Purpose D.I.P.Boards with Bus Patternlor Solder or Wire Wrap.Epoxy Glass 1/16" 44pin con. spaced .156

3662 6.5" X 4.5"

$7.65

3662-2 9.6"x4.5"

$11.45

P pattern plugboards lorIC's Epoxy Glass 1/16"44pincon. spaced .156

Phenolic

PART NO.64P44XXXP169P44XXXP

1/16 Petffll BOARD

.042 dia holes on0.1 spacing for IC's

PRICESIZE 1-9 10-19

4.5x6.5" $1.56 $1.404.5x17" $3.69 $3.32

TRS-80 4f*PPta

MEMORY EXPANSION KITS4116'sRAMS

(16Kx1 200ns)

8 for $69.00

STANDARD M VSta^*^ ^^^

BASEaj^ ^£^^ Perfectly bafanc

14 & 16 PIN

GOLD 3 LEVEL

LWIRE 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 $85.00

I SPECIAL

$54.95 with tube

balanced fluorescent lightingwith precision magnifier lens. Toughthermoplastic shade. Easy lens re-moval. New wire clip design permitseasy installation and removal offluorescent tube. Comes with plasticshield to protect tube from soiling anddamage.

Colors: Gray, Black, and Chocolate Brown.Comes with one 22 watt T-9 Clrcllno fluores-cent tube. 3 diopter lens.

3690-12CARD EXTENDER

Card Extender has 100 con-tacts 50 per side on .125centers-Attached connec-tor-is compatible withS-100 Bus Systems. $25.833690 6.5" 22/44 pin .156ctrs. Extenders .... S13.17„

2102LPC

450ns Low Power RAMS$1.00 Ea. in lots of 25

2102LHPC

250ns Low Power RAMS$1.00 Ea.in lots of 25

Of E

1 8004235633

except CA.. AK.. HI.. Call(213)894-8171

■.■■'■".'.■'■'::■. ' ' ' '

WRAP POST

for .042 dia. holes II tall boards on this page)IT44/C pkg 100 . . $ 2.34I M4/M pkg.

1000 $14.35

IA-13 hand installing

tool $ 2.94

ELECTRONICS

/16723BRoscoeBiVd Sepulveda CA 91343

Terms: VISA, MC, BAC. check. Money Order. C.O.D.. U.S. Funds Only CA residents add 6% sales tax. Mini-mum order $10.00. Orders less than $75 00 include 10% shipping and handling; excess refunded. Just in case. . please include your phone no. Good Thru March 1979

FND 503

CommonCathode

FND 510

Common Anode'/j"7seg LED

59Ca 10/s450

<^^\

Send lor our latest brochure.

phOne OrderS WelCOme (213) 894-8171 OEMand Institutional inquiries Invited.

Circle 31 2 on inquiry card.

sit our new retail location

24 PIN DIP PLUGSWITH COVERS

-•HllnnWi;

3/ $1.0040/310.00

BIT! March 1979 259

Circle 30 on inquiry card.

iiiiiiiiiiiii

BECKIAN ENTERPRISES

4*

All Prime Quality - - New Parts OnlySatisfaction Guaranteed

EDGE CARD CONNECTORS. GOLD PLATED.

BODY: Non brittle, solvent resistant, high temp, G.E. Valox. The finest you can buy.CONTACTS: Bifurcated Phos./Bronze; Gold/Nickel.

ALTAIR S-100: Cont./Ctrs.50/100 Dip Sold.50/100 Sold. Eye.

I MSA I S-100: Cont./Ctrs. .150/100 Dip Sold.50/100 W/Wrap 3IMSAI CARD GUIDES:

!5 Row Spacing,$3.95 ea.6.95 ea.

Row Spacing, .2!$4.20 ea.3.75 ea.0.19 ea.

5 pes.5 pes.

5 pes.5 pes.5 pes.

CROMEMCOS 100:

50/100 Dip Sold.{Or short W/Wrapl

Cont./Ctrs. .125 Row Spacing,$6.50 ea.

OTHER CONNECTORS AVAILABLE

100 Contact Ctrs., .140 Row Spacing.

22/44 Dip Sold.25/50 Sold. Eye.40/80 Sold. Eye.43/86 Dip Sold.43/86 Sold. Eye.

.156 Contact Ctrs., .140

6/- Sgle. Row (PET)22/44 Sold. Eye. IKIM)22/44 Dip Sold. (KIM)43/86 Dip Sold.

$2.30 ea.2.95 ea.4.80 ea.4.90 ea.4.90 ea.

Row Spacing.

$1.00 ea.1.90 ea.1.90 ea.4.90 ea.

.156 Contact Ctrs.,

15/30 W/Wrap322/44 W/Wrap 336/72 Sold. Eye.36/72 W/Wrap 343/86 W/Wrap 3

.200

Row Spacing.

$1.05ea.2.30 ea.3.45 ea.3.85 ea.5.50 ea.

5 pes.5 pes.5 pes.5 pes.5 pes.

5 pes.5 pes.5 pes.5 pes.

5 pes.5 pes.5 pes.5 pes.5 pes.

$3.756.50

ea.ea.

$3.953.500.16

ea.ea.ea.

$2.10

ea.

2.75

ea.

4.50

ea.

4.70

ea.

4.70

ea.

$0.90

ea.

1.80

ea.

1.80

ea.

4.70

ea.

$0.95

ea.

2.10

ea.

3.30

ea.

3.70

ea.

5.00

ea.

POLARIZING KEYS FOR ALL OF THE ABOVE:

Specify: IN Contact or BETWEEN Contact:

1 to 49 pes. $0.10 ea. 50 pcs./Up $0.08 ea.

SPECIAL

12/24 Pin .156" Cont./Ctrs. .200" Row Spacing.

TIN PLATED CONTACTS.IDEAL FOR PET INTERFACE & PARALLEL USER PORT. $1.25 ea. 5 pes. ST .10 ea.

SUBMINIATURE CONNECTORS: (DB 25 SERIES, RS 232.)

DB 25P Male Plug $2.50 ea. 5 pes. $2.20 ea.

DB 25S Female Socket 3.60 ea. 5 pes. 3.40 ea.

DB 51212-1 Grey Hood 1.20 ea. 5 pes. 1.10 ea.

DB 51226-1A Black Hood 1.30ea. 5 pes. 1.20 ea.

D 20418-2 Hardware Set 0.75 ea. 5 pes. 0.70 ea.

SAVE: BUY A SET: II DB25P. 1 DB25S, Any Hood.)

1 Set: $6.35 ea. 5 sets: $6.15 ea.

NOTE: For Hardware, (D20418-2) Add $.65/Set.

WHISPER FANS

Excellent for computer cabinet cooling. This is the most quiet fan you will find. Onlymeasures 4 3/4 square by 1 Vi deep. U. L. Listed.

$21.00 ea. 5 pes. $19.00 ea.

I.C. SOCKETS. GOLD.WIRE WRAP 3 TURN.

14 pin16 pin

$0.36 ea.0.38 ea.

2708 EPROMS PRIME$14.00 ea.

I. C. SOCKETS.Dip Solder. Tin.14 pin $0.15 ea.16 pin 0.17 ea.

8080 PRIME

$9.00 ea.

WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES AREWELCOME.

WE ARE CONNECTOR IEDGE 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$2S.00in USA and.Canada: WE PAY THE SHIPPING.NOTE: CA residents please add 6% sales tax.

NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED.

MAIL ORDERS TO

Beckian Enterprises

P.O. Box 3089

Simi Valley, CA 93063

ssm

FORMERLY CYBERCOM/SOLID STATE MUSIC.

CB-1 8OS0 Processor Board. 2K ol PROM 256 BYTERAM power on/rest Vector Jump Parallel port withstatus. Kit $125.95 PCBD $28.95

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100buss. Kit 450 NSEC $123 95. PCBD $24.95

MB-7 16KX8, Sialic RAM uses HP410 Protection,fully buffered KIT $299 95

MB-BA 2708 EROM Board, S-100. 8K8X or 16KX8

kit wilhout 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 bn parallel /IO port. 23 of boards is forkludging Kit $46 00 PCBD $26.95

tO-4 Two serial I/O ports with full handshaking20/60 ma current loop Two parallel I/O porls.

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 $12500 PCBD $26.95

Altair Compatible Mother Board. 11 x 11'? x Vb"Board only $39 95. With 15 conneclors $94.95Extended Board full size. Board onlyWith connector

SP-1 Synthesizer Board S-100PCBD $42.95 KIT

S 9.49$13.45

$13595

82S23

$1.50

82S123

1 50

82S126

1 95

82S129

1.95

82S130

395

82S131

3 95

MMI633C

1 50

IM 5600

1 50

IM5603

1.95

IM5604

3.95

IM5610

1 50

IM5623

1 95

IM5624

3 95

260

BYTE March 1979

PRIME SUPPORT

8080A J

9.95

8212

3.25

8214

6 50

8224

349

L2114 (450 NSECI

7 25

L2114 1250 NSEC)

7 99

2102A-2L

1.60

2102A-4L

1.25

2708 450 NSEC

8.95

1702A-6 .

3.50

4116 (Apple RAM)

12.95

8/89.95

W777C

inc.

WAMECO INC.

FDC-1 FLOPPY CONTROLLER BOARD will driveshugart, pertek, remic 5" & 8" drives up lo 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-100rams PCBD

O.M-12 MOTHER BOARD. 13 sloboard only

uses 2102 type

$24.95

terminated. S-100

$34.95

CPU-1 8080A Processorvector interrupt PCBDRTC-1 Realtime clock board

board S-100 wilh 8 level

$25.95

Two independent m-

lerrupls. Software programmable PCBD $25.95

EPM-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 ol OM-12.9 Slots PCBD $30 95

MEM-2 16K x 8 Fully Buffered

2114 Board PCBD $25 95

16K RAM BOARD by HWE fully buflered. bank se-lect standard lo IEE buss gold fingers, solder mask,plated Ihru holes, silk screened PCBD $25 95

KLUDGE BOARD by HWE lor S-100 glass epoxyover 2600 plated through holes, 4 regulators withCAPS all S-100 functions labeled gold fingers.PCBD $29.95

m

419 Portofino DriveSan Carlos, California 94070

Please sencj lor IC. Xistorand Computer pans lis!

MAR. 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

4KxB 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

OM-12 wilh 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 wilh MIKOS #11 16-32K EPROMS

less EPROMS 59.95

QM-9 with MIKOS #12 9 slot mother

board 75.00

MIKCS PARTS ASSORTMENTS ARE ALL FACTORY PRIMEPARTS KITS INCLUDE ALL PARTS LISTED AS REOUIREOFOR THE COMPLETE KIT LESS PARTS LISTED ALL SOCKETSINCLUDED

VISA or MASTERCHARGE Send account number interbanknumber expiration dale and sign you' order Appro, postagewill be added Check or meney order will be sent post paid inUS II you are not a regular customer please use chargecashier s cneck or poslat money older Otherwise IhefB willbe a Iwo-week delay lor checks lo clear Calil residents addf>°. tax Money back 30 day guarantee We cannol accept re-turned IC s thai haye been soldered to Prices subject tochange without notice $10 minimum order St.50 ••nice chargeon orders lees than $10.00.

Circle 230 on inquiry card.Circle 312 on inquiry card.

Memory Madness Menrory Madness Memory Madness

FEB

PROBLEM SOWER SYSTEMS, JNC,

CM5000 COMPUTER MAINFRAME

Includes cabinet, 18 amp power supplyIS-100 compatible STREAKER-12® (12-slotImotherboard), and dual-disk provision withIdisk power supply. The CM5000 is fanIcooled, has AC line filter to eliminate EMIland is fully-assembled and factory-testedI Power and reset switches are located on

|frontpanel $549^**495°°

CM4800 COMPUTER MAINFRAME

Includes cabinet, 30 amp power supply, and theS-100 compatible STREAKER-22' (22-slot mother-board). The CM4800 is fan-cooled, has AC linefilter to eliminate EMI, and is fully-assembled andfactory-tested. Power and reset switches arelocated on front panel. OPTION: ModeCM4800D—includes provision for floppy diskpower supply. Also available: ModelCM4900—with 18 amp power supply andSTREAKER-12" (12-slot motherboard)

549$?* $495°°

DM2700 DISK CABINET WITH

POWER SUPPLY

Accepts either PerSci or Shugart mini-floppy!disks. Includes data cable and AC line filter toleliminate EMI. Operates from 100 to 125 volts orl200 to 250 volts, 50 or 60Hz. Fully assembled and!tested at factory. (Disk drive not included). OP-ITION: Model DM2700S—Includes Shugart Series|800 minifloppy disk.

$24geo* $22500J

STREAKER® MOTHERBOARDS

|« In 7, 12, and 22-slot versions • S-100 compatible

■ • Connectors have bifurcated, gold-plated contacts

l» Ground plane surrounding each signal

I* Compatible with Imsai chassis

I* Power connections compatible with power supplies in

iPSS's CM4800, CM5000, and CM520O Computer main-

I frames.

!• Fully-assembled and tested at factory

!• No isolation hardware required for mounting.

iStreaker 12 $$&W $89.00

Streaker 22 OSfcOO $147.00 a

KM8B / KIM-4® COMPATIBLE

• KIM* compatible, 8K x 8 bit static RAM1 Can be connected directly to KIM-1'

• Plugs directly into KIM-4" motherboard • 2MHz1 Addressable in 8K steps

1 Allows expansion of KIM* computer up to 65K

of memory1 Memory protection activated / deactivated by

DIP Switch1 Buffered address and data lines

Operates from either an unregulated 8 volt or a

regulated 5 volt power supply' All IC's mounted in low-profile sockets■ Assembled, tested, burned-in at factory.

RAM 8 **§#»

5179

00

• S-100, 8Kx 8 bit static RAM

• 4MHz

« Addressable in 8K steps■ Memory protection in 1K increments, from bottom board|

address up or top down

• Memory protection activated / deactivated by large,easily accessible switch

• May deactivate up to six 1K segments of board by use |of jumpers to create "holes" for other devices

• DIP switch selectable wait statesPhantom line jumper $^ fiOOOSchmitt trigger-buffered I/O lines

• All IC's mounted in low-profile sockets

• Assembled, tested, burned-in at factory.OPTION: RAM8B-2MHZ

162(

$17900$162°?

RAM 16*44§S°

^3^20* $33900

• S-100, 16K x 8 bit static RAM • 4MHz

• Addressable in 4K steps

• Memory protection in 1K increments, from bottom board address up orlop down

• Memory protection activated / deactivated by large, easily accessibleswitch

• May deactivate up to six 1K segments of board by use ofjumpers to create "holes for other devices

• DIP switch selectable wait states

• Phantom line DIP switch

• Bank-select for expansion beyond 65K of memory _£fc t,3^J

• Schmitt trigger-buffered I/O lines c$£-^ o!3'^

• All IC's mounted in low-profile sockets /\0

• Assembled, tested, burned-in at factory A-fc

option: RAM$1^-2^ PRIORITY rONE

m* 16723B Roscoe Blvd. Sepulveda CA 91343

5429?°

'Please include suffcient funds to cover costof shipping of M.

frames.

RAM 65

00 BANK SELECTABLE

1 4MHz

• S-100, 16K x 8 bit static RAM

• Addressable in 4K steps

• Memory protection in 1K increments, from bottom board addressup or top down

• Memory protection activated / deactivated by large, easilyaccessible switch

• May deactivate up to six 1K segments of board by use of jumpers tocreate "holes" for other devices

• DIP switch selectable wait states

• Phantom line DIP switch

• Features bank selection by I/O instruction using any one of 256DIP switch-selectable codes—allows up to 256 software-controlledmemory banks.

• Schmitt trigger-buffered I/O lines • All IC's mounted in low-profile sockets

• Assembled, tested, burned-in at factory

OPTION: RAM65B—2MHz

ELECTRONICS© $3£Q00

00

389

lerms VISA MC BAC check Money Order COD US Funds Uniy l.a -csiaenis add 6% sales lax Mintmum order Si0 00. Orders less man $7b 00 include 10% shipping and handling, excess relunded Just in caseplease include your phone no GOOd Thru March 1979

Send lor our lalRSl brochure PhOjW OTjJBTS WglCOljIB (213) 894'8171 OEMand Instttulrcinji-pq

'Please include suffi-cient funds to cover costof shipping of Main-frames.

Memory Madness Memory Madness Memory Madness

What's New?

CALCULATORS

New 10 Digit

Desktop Calculator from Sharp

Handheld Printer andDisplay Calculator

This new desktop, 10 digit businesscalculator featuring an item counter andgrand total key has been introduced bySharp Electronics Corp, 10 Keystone PI,Paramus NJ 07652.

The new 4V4 pound QS-1702 offerscalculating and printing on standard rollpaper. A 1 touch grand total key accu-mulates individual calculations. Speciallydesigned minus equal and plus equalkeys make the QS-1072 ideal for appli-cations that require fast calculation. Aconstant add mode selector facilitatesdollars and cents calculations. A 1 touchpercent key, non-add and subtract totalkey for printing dates and codes, an itemcounter switch with a plus and minusand plus/only calculation and a fixedand floating decimal point selector areother major features of the QS-1702calculator."

Circle 532 on inquiry card.

•:

This rechargeable handheld printerand display calculator has been intro-duced by Texas Instruments Inc, POB S3,Lubbock TX 79408. The TI-5025 fea-tures a thermal printer and a large vac-uum fluorescent display that can be usedwithout the printer to conserve paper.The unit provides four basic functions aswell as percent and 4 key memory. TheTI-5025 operates with the same numberentry system used in other Tl handheldcalculators. The thermal printer hasfewer parts than impact printers, provid-ing reliable, quiet, ribbonless operation.

The unit is priced at $80 and comeswith a charger and adapter, thermalpaper and carrying case. Thermal paperrolls are available in packages of threefor $0.99."

Circle 533 on inquiry card.

Operator's Manual for

Texas Instruments

Programmable 58 and 59 Calculators

Personal Programming is written forowners of the Texas Instruments pro-grammable 58 and 59 calculators. Thismanual gives a guided tour of keyboardbasics, display control, algebraic func-tions, conversions, and statistical func-tion on keys; a step by step discussionof programming as well as advancedprogramming; and a detailed analysisof all calculator keys showing the fulloperating limits of the machines invarious calculating situations.

The price of this manual is $12.95plus tax and $1 for shipping. For furtherinformation contact Texas InstrumentsInc, POB 2500, Lubbock TX 79408.■

Circle 534 on inquiry card.

North StarUtilities Package

With these programs the user can:

Read a basic program directly from adisc and list all variables appearing inthe program (Listings can be madeof variables versus line numbers orline numbers versus variables.)

Selectively print out any statement,function or command versus the linenumbers that it appears in

Print out a "flow chart" of the basicprogram

This package is essential for examin-ing and modifying basic programs. Itis provided on a North Star Diskettefor $15.00.

Potter's Programs

22444 Lakeland

St. Clair Shores. Ml 48081

(313) 573-8000

TRS-80

1\

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

\

Circle 308 on inquiry card.

Circle 227 on inquiry card.

Circle 314 on inquiry card.

^\

PRECUT WIRE

WIRE WRAP TOOLS

#30 WIRE KITS

#1 $7.95 #2 $19.95

250 3"

100

41/a"

250

21/2"

250

5"

250 31/2"

100

5"

500

3"

100

5'/2"

100 4"

100

6"

500

31/2"

250

6"

500

4"

100

6'/2"

250

4V4"

100

7"

#3

$24.95

#4 i

>44.95

500500500500

21/2"3"31/2"4"

500 4V2"500 5"500 51/2"500 6"

1000 21/2"1000 3"1000 3V2"1000 4"

1000 4V2"1000 5"1000 51/z"1000 6"

Choose One Color or Random Assortment:Red, Blue, Green, Yellow, White, Orange, Black.

»26 Prices on Request

430 Kynar stripped 1" on each end. Lengths are overall.Colors: Red. Blue. Green. Yellow. Black. Orange. White.Wire packaged in plastic bags. Add 25C/length for tubes.

In.2''j33'4

4

4V,5

5'A6

6"?

7

7'/i

e

99V,

10

100

1.041.08

1.131.181.231.281.321.37

1.601.661.731.78

1.821.871.921.99

.15

500

1000

5000

2.98

5.16/K

4.67/K

3.22

5.65/K

5.06/K

3.46

6.14/K

5.46/K

3.20

6.62/K

5.87/K

3.95

7.12/K

6.25/K

4.20

7.61/K

6.62/K

4.4B

8.10/K

7.03/K

472

8.59/K

7.43/K

5.37

9.84/K

8.48/K

5.63

10.37/K

8.91/K

5.89

10.91/K

9.33/K

6.15

11.44/K

9.79/K

6.41

11.97/K

10.19/K

6.76

12.51/K

10.62/K

6.93

13.04/K

11,05/K

7.26

13.57/K

11.48/K

HOBBY

WIRE WRAP TOOL

BW 630 (Back Force) $34.95

BT 30 Extra Bit 2.95

BT 2628 #26 Bit 7.95

Batteries & Charger 11.00

INDUSTRIALWIRE WRAP TOOL

BW928

BW 928BF (Back Force)#30 Bit & Sleeve#26 Bit & SleeveBatteries & Charger

$49.95*

52.95'29.5029.5011.00

ELECTRICAL INDUSTRIALWIRE WRAP TOOL

EW 7D $85.00*

EW 7D BF (Back Force) 92.90*

#30 Bit & Sleeve 29.50

#26 Bit & Sleeve 29.50

'Industrial Tools do not include Bit & SleeveSpring Loaded bit on Back Force models.

d

EDGE CARD CONNECTORS

44pm Solder Tail S1.95 $17.50/10 ALLareGold100pm Solder Tail S3.95 $35.00/10 100pin are IMSAI100pin Wire Wrap $3.95 $35.00/10 spacing.

IT

b

r

INTERCONNECT CABLES

A

Ribbon cable connectors for connecting boards to front pa

"iels. or

board to board.

SINGLE ENDED

DOUBLE ENDED

14 pin 16 pin 24 pin

14 pin 16 pin

24 pin

6"

1 24 1.34 205

224 2.45

3 37

12"

133 144 2.24

2.33 255

3.92

24"

1 52 1 65 2.63

2 52 2 76

431

48'

191 2 06 3 40

2 91 3 17

508

OK PRODUCTS

WD 30

50 ft

Wire Dispenser Red

White, Blue,

or Yellow $3.75

WD-30-TRI

TRI Color Dispenser

5.50

R-30-TRI

Refill for TRI Color

3.75

INS 1416

14 & 16 pin Insertion Tool

3.25

MOS 40

40 p

n Insertion Tool

7.50

EX-1

IC Extractor Tool

1.49

H-PCB-1

Hobby PC Board

4.99

WSU 30

Han

i Wrap/Unwrap/Strip

Tool

6.25

WSU 30M

V

Same as WSU30 with Modified Wrap

7.50

J

SOLDERLESSBREADBOARDSSK 10 $16.50

2.2" x 6.5"

MB10

$18.95

SK10 mounted on boardW74 Binding Posts &Rubber Feet

WIRE WRAP SOCKETS

1-9 10-24 25-99 100-249 250-999

8 pin'

.40

.36

.34

.31 .2/

14 pin'

—

.39

.37

.34 .32

16 pin'

—

.42

.40

.36 .34

18 pin'

.70

.60

.55

.50 .45

20 pin

.90

B0

.75

.65 .62

22 pin'

.95

.85

80

.70 .65

24 pin

.95

.85

.80

.70 .65

25 pin st

iP

1.25

1 15

1.00

.95 .90

28 pin

1.25

1.15

1.00

.95 .90

40 pin

1.65

1.45

1.35

1.20 1.10

Gold 3-Level Closed Entry Design

'End & Side Stackable

^

2-Level sockets Availab

e

Pfld SfflH MEMS!

135 E. Chestnut St. #5 Monrovia'. CA 91016 (213)357-5005

^

Ordering Information:

• Orders under $25 and COD's add S2

• All others, shipped Ppd in U.S. via UPS

• For Blue Label (Air) or 1st Class, add $1

• We accept Visa & Mastercharge

Catalog available on request

LOGIC PROBEPRB-1$34.95^' yJ>

• Compatible with allLogic Families

• 10 Nsec pulse response

Dealer Inquiries Invited

Circle 298 on inquiry card.

BYTE March 1979

263

Circle 11 5 on inquiry card.

-fleet

USED SYL VANIA

12" MONITORSWorking: $69.95Cold Chassis, 25 lbs.With NawP39(GR)or New P4 IWHITube - $99.00

olabfr

■PO Box 6721 Stanford,!

CRT Only $39.00

*!

Tl Sockets!cent per pin.

ANNOUNCING!SUPER DISK!

MO MBy

•Removable Cartridge Disk•S-100, CP-M Compatible•Winchester Technology• Servo Track Seat

(includes con trollerj

The Cherry "Pro" fully encodedASCII KEYBOARD. Auto REPEATfeature, 5 special function keys. 300mA/5V. (Shown as mounted in 'TheCase,' below) $119.99, 3/99.00,10+/89.00.

"The Case" Beautiful and sturdyanodized aluminum case in deep black designed to contain theESAT 200A, and with a bezel cut out for the Cherry 'Pro' keyboard,(installed as shown above) Choose deep brown, light yellow, or crim-son to accent or color code your installation. The only choice forhard-use institutional and educational applications. $69.00

GSI-SiemensFDD 120-B

OH. 94305415-321-5601

TLX 345567800-227-8266

24 hour service► '•■ <

* Hard and Soft Sectoring

* Single and Dual Density"110/220 V, 50160Hz

"Pin for pin comparable withShugart 800,801(50 pin edge connector}* PRICE BREAKTHROUGH!

$425 each

ALL OPTIONS INCLUDED

LATEST REVISION: ESAT 200B (BILINGUAL)

Stand Alone Single Board Communicating Terminal

80X24 Standard Format $329.00 Absolutely Complete

Split Speed 110 to 19,200 Baud J'^fl >

Two Fonts, 128 Char. ea. in 2708 EPROM

Full Feature Cursor, Page Xmit., Scrolling

5V@3A, 8"X14" Board. Requires only a

keyboard and almost any monitor for the

best terminal for the money anywhere!

Supplied with U&LC ASCII in one

font, you may easily program the

other one.

j it* •

1

•NEW ITEMS! TRS-80, APPLE Ad-on Set eight and a spare4116 Type Rams $89.00. * Hene Laser Tubes .05-2.0 mW - metal$49.00, glass $39.00. *Our new catalog is now out!

Shipping and Handling: Surface: $0.40/lb., Air: $0.75/lb.,$1.00 minimum. CA Tax: 6.5% Insurance: $0.50 per $100.00

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 BOARDIO BOARD WITH CASSETTE INTERFACE.

DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE

AT YOUR LOCAL DEALER

( **'~yJnC. WAMECO INC. 3107 LANEVIEW DR., SAN JOSE, CA 95137

264 byte March 1979 ' Circle 387 on inquiry card.

CaHFornja DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

Hazeltine1400

cost effective

CRT TERMINAL

*73S

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 ElARS232-C interface at baud rates that are switch selectableup to 9600 baud.

S-100 Mother Board

QuietBuss

18 slot

IMSAI

TELETYPE MODEL 4 3

Even if we have to give themewty, we're going to ship more43's in 1979 thin the aggregateof ell our competitors.

Model 43AAAEACH 3

875.

(TTL)10

850.

*925. 875. 850. 825. ....,,

RS-232 Interface"!*" *dd»75.0O shfp"ng ' Ihl } I

• All 128 ASCII Codes

• 64 Displayable Characters

• 24 Lines; 12 inch Screen

• 80 Characters per Line

• Self Diagnostic Test

-■mmm

Immediate Delivery

Qty. fe. male lid.10 3.45 2.45 1.1525 3.15 2.25 1.05100 2.05 1.90 .95500 2.25 1.60 .05IK 1.97 1.37 .73

GOLD100 PIN

IMSAI /ALTAIR

Imsai solder .1251 250Imsai w/w.l25centersAltair soldertail.MOrowSPECIALS22/44 Kim eyelet.15G"25/50 solder tab .156"36/72 wide post W/W.156

St.95 3/tlO.OO(4.95 3113.00tS.95 3.115.00

11.95 3 »5.0041.09 3/42.0041.95 3/45.00

a*

A1 CfiM^fiK wrtitieo uigitai

41 SCOtCh CASSETTES

Won't drop a BIT!

CALIFORNIAINDUSTRIAL

is an

Authorized

Dealer ol

Scotch Brand

Dataproducts

■»

MEMORY

<1 Shugart Associates

SA800-R Floppy Disk Drive

riu- most cost effective way to store data proc-essing information, when random recall is aprime factor. The SA800 is fully compatiblewith the IBM 3740 format. Write protect cir-cuitry, low maintenance & Shugart quality.

S44SSO

s 24.8 8

y, UNIVACKEYBOARD

APPLE RS-232

Serial Interface '59.95

ELECTRONICSYSTEMS

TRS-80 S(APPLE II

16k memory (8)4116's

World PowerTRS-80 Interface

MSIOa I/OModual

MCCa master control. ..

RSBa S-100 interface

EPRHOa Eprom prog. . . .EPRlOOa Eprom prog.

Data sheet available upon request

DISKETTES

Verbatim. SBXSEZ

SPECIAL

APPLE (I

3K MEr

COLOR* GRAPHIC

$1024

$129.95$149.95$289.95$159.95$159.95

I6K MEMOF-T

COLOR "GRAPHICS* SOUND

Mfg.Sug.Retail....

•1195

PLUS SHIPPING

DiqiCASTA/V-100

R.F. MODULATOR

fAQAC lji*°acicast bothmtv&m audio and vidioon your existing colortelevision. Recommended for the Apple II.

Extender Board

mullen 34 s

Facilitates design and trou-bleshooting of all S-100 mi-crosystems. Includes logicprobe along with high-lowand pulse LED display.Also available, the MutlinCB-1 controller board $88.

S-100 PROTOTYPE BOARD |

GPIOO-Mailmum design vor- $ 4 A Q Qsoiiiiry along will standard lj,"-'

oddross decoding and out-ferlno. lor S100 sysloms.Room for 32 uncommitted 16pin IC'S. 5 bus Duller & de-coding emps. 1 DIP oddfB&iselect switch, a 5 von <egu-

wwioo-wire wiop breod-Doaid. similar lo me GP100.Allows wire wrap of oil sizesof sockets In any sizes ofsockets In any combinationAn extra regutaiof position(or multiple voiiogo apptlca-

Attention TRS-80 Owners

• As you may be aware, publishersrequire advertisers to submit theirad copy 60 lo 90 days prior to "press1date. That much lead lime 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«you

if you have a demand for

volume state of the a

rt mem-

ory products.

STATIC

1-31

32-99

100-5C

-099

1K+

21L02 450nS.

1.49

1. 19

1.05

.95

.89

21L02 250nS.

1.69

1.49

1.45

*

*

2114 lKxl 450

6.95

6.50

6.25

i.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

G.75

0.45

SPECIAL CIRCUITS

7-80A 4MII/..

24.95

AY5-1013A UART 4.95

8080A CPU

9.95

F

oppy Di

3ci Controllers

8085

22. 50

VD 1771

single

D. 39. 95

8086 Intel 16 bits

*

VD 1781

Doubl

• D 65. 0C

TMS9900 16 bits

49.95

VD 1791

D/D3740 *

E PROMS 1-15

16-63

64+

1702

k 2K

4.95

A . 50

4. 00

^Si^aMH

2708

11K

9.95

9.50

9.00

2716

16K

19.95

*

*

2532

32K

c

a

master

71

-hllKjt!]

I

VISA

■

3

t r-:.i

$650

WORD

PROCESSING

TERMINAL

LAWYERS. BUSINESSMEN 1'his 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. East 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 lo do their own cusiom interfacing.Sorry, but credit cards will not be accepted on this purchase.

Thumbwheels^El switch

o!co

Ten position

BCD

S139M.

10 50

tl 14 IS

MiniatureSwitches

W

I

CAPACITORS

ELECTROLVTICS

ea. 10 50

10,000/lOv. 355 349 2954500/50V.SM9 135 119

1000/lSv S.55 49

axial

.45

fyour choice_ _ 10 50 100 Ik9.VO s.88 .81.73.66 |SPOT Miniature Toggles

7101 C&K ON-NONE-ON

7107 jut ONOFFImnl ON) I

7108 CK ON-(moment.ON)

Rocker 1BT DPOT

Rotary 3P-4-Pos.

Rotary 3P-6-POS.

Push B (NO > S.39ea.4/Sl

DIP Switch

DISCOUNT < |

Wire Wrap Center

IC SOCKETS

wire wrapea. 25 50

low profileea. 25 50

17< 16 15

37' 36 35

18 17 16

38 37 36

19 18 17

99 93 85

36 35 34

169 155 139

63 60 58

SS3.95 ,

son.

s.98

KVNARSiSI

500 1,000 11,000

$9. $15. $105.

(213)679-9001

Circle 39 on inquiry card.

All merchandise sold by California Digital is premium gradeSorry, no COD's. Orders are shipped the same day receiveCalifornia residents add 6%. Foreign orders add 10%,Orders over $25, when'accompanied by payment, are shippe<at our expense. Otherwise, please add $2.

BY1L M.mh I<>71» 265

What's New?

PERIPHERALS

Ham Interface for the PETMicrocomputer

The M-65 is a compete Morse codeand radioteletypewriter (RTTY) systemfor the PET microcomputer. The hard-ware consists of a printed circuit boardwhich plugs into a jack on the radioequipment and the PET user port. Noexternal power is required. Both inputand output circuits are optically iso-lated from the PET, minimizing radiofrequency interference and spuriousvoltages. The board has a built-in sidetone oscillator which connects to thespeaker or headphone.

The software consists of two com-puter programs: Morse and RTTY,which are supplied on one audio cas-sette. Both programs are written inBASIC with machine language subpro-grams, and each requires 8 K bytes ofprogrammable memory.

The M-65 is available in kit form for$69.95 or fully assembled and tested for$99.95. Contact Microtronics, 5943Pioneer Rd, Hughson CA 95326."

Circle 653 on inquiry card.

S-100 Bus Compatible 4 ChannelDigital to Analog Converter

This A channel digital to analogconverter is available for use with Z-80or 8080/8085 processors. The S-100bus compatible digital to analog boardhas 12 bit resolution and uses plug-inhybrid digital to analog converters with±0.5 least significant bit accuracy. Powerrequirements are compatible with S-100bus voltages: +8 V at 338 mA, +18 V at122 mA, and-18 Vat 156 mA.

The output is 10 V or 20 V full scale(strap selectable). The output range maybe ±5 V, ±10 V, 0 to +10 V, or 0 to-10 V. An inversion strap is also providedfor decreasing output with increasing in-put. Output current is 10 mA. Indepen-dent gain and offset adjustments areprovided. Input coding may be eitherbinary or 2's complement. Conver-sion speed is 3 us typical, and the con-verter slew rate is 20 V per us typical.

The price is $495. Contact CaliforniaData Corp, 3475 Old Conejo Rd, SuiteCIO, Newbury Park CA 91320."

Circle 654 on inquiry card.

New Terminal Outputs Composite Video

The OE 1000 terminal is designed tointerface to any microcomputer that has

a 300 bps serial data output port. Itoperates in the full duplex mode witheither 20 mA current loop or RS-232voltage swing. The OE 1000 outputscomposite video for use with a modifiedtelevision or a video monitor. The screenformat is 16 lines by 64 characters. Ithas an upper and lower case mode orTeletype mode keyboard and will dis-play 96 ASCII characters and 32 specialcharacters. The OE 1000 has full cursorcontrol, automatic scroll, erase to endof line, erase to end of screen, and clearscreen.

The terminal is available as a kit for$275 or assembled for $350. ContactOtto Electronics, POB 3066, PrincetonN] 08540."

Circle 655 on inquiry card.

Digitizer for Small Computer Systems

Summagraphics has announced a newversion of its Bit Pad, the digitizer for

small computer systems. The new BitPad configuration is Intel Multibuscompatible. The Bit Pad can now beplugged into the Multibus along withSingle Board Computers (SBC), memoryand input/output (I/O) boards, peri-pherals and controllers.

All electronics are located on oneSBC card. Operational control and statusindication is provided from a small hand-held console. The system also includesan 11 by 11 inch (27.94 by 27.94 cm)Bit Pad tablet and a date input stylus.

The basic Multibus Bit Pad configura-tion is priced at $625. For further in-formation contact Summagraphics, 32Brentwood Av, POB 781, Fairfield CT06430."

Circle 656 on inquiry card.

PerSci's New 4 Headed Voice CoilFloppy

A 4 headed flexible disk drive hasbeen introduced by PerSci Inc, 12210Nebraska Av, W Los Angeles CA 90025.The Model 299 diskette drive interfacesto 8080, 6800 and Z-80 systems, as wellas minicomputers.

The Model 299 is a dual-headed, dualdiskette drive, reading and writing bothsides of two 8 inch diskettes. Data canbe encoded in single or double densityin IBM compatible soft sectored formatsor expanded hard and soft sectored for-mats on IBM Diskette I, II, 110 or equiva-lent media. The drive will store up to 1M byte of data in IBM type format, 1.6M bytes unformatted single density andup to 3.2 M bytes in unformatted doubledensity encoding.

The operational tolerances requiredto achieve dual head, dual drive doubledensity data handling are provided byPerSci's voice coil positioning systemfor an average seek time of 33 ms (in-cluding 0 settle time), five to seven timesfaster than stepper motor positioneddrives. A full stroke 76 track seek is per-formed in 100 ms. The speed and thecapacity of the drive are achieved whilemaintaining industry standard data re-liability figures of 1 in 10 soft errorsand 1 in 10 hard errors.

The Model 299 features electricautoload and can be unloaded by re-mote software control. Optical writeprotect secures the file.

The price is $1595 in single unitquantities."

Circle 657 on inquiry card.

266 March 1979 © BYTE Puhlioiiions Inc

oULIU O I Alt oALLo . ■ . dtfwncwnce& a gBi&aktSifootMjA vn 'fownfuUefr STecAn&lcMu,

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 128x128 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 ASA 128x128

16 LEVEL GRAPHIC DISPLAY

OUR VP1 VIDEO SYSTEM CONSISTSOF THE FOLLOWING KITS:

• CCD202C SOLID STATE VIDEOCAMERA KIT (CASE INCLUDED) .$39900

• VP-1 COMPUTER/VIDEO INTERFACEKIT(3 BOARDS) $599C0

• ASSEMBLED 8K MEMORY

BOARD (OPTIONAL) $23500

THIS VIDEO COMPUTER KITCAN WORK WITH THE GErREDICON, OR ANY OTHER128 X 128 SENSOR CAMERA

REGULATEDPOWER SUPPLIES

POWER SYSTEMS H PS1111115-230V 50/60 cy. in 5v DC at 35A out,6"x 16K"x 157." 26 lbs. shipping weight $85.00POWER SYSTEMS # PS1106115-230V 50/60 cy. in 12v DC at 15Aoi.it5"x 16V,"x 5" 19 lbs. shipping weight. $75.00

(OV PROTECT)

C/MOS (DIODE CLAMPED)

400G40074009

401240134014401540164017

IB 4019

.18 4020

95 4021

.13 4022

.37 4023

.37 4024

.18 4025

18 4027

.29 4028

75 4029

75 4030

29 4035

90 4042

90 4046

.37 4049 -

90 4050 -

.90 4053 -

.90 4055

18 4066 -

.75 4071 -

18 4076 -

.37 452(1

80 74C00-

95 74C02-

33 74C04-

.97 74C08-

.65 74C10-

135 74C73-

35 74C74-.35 74C83-1 10 74C861.25 7.1C93-70 74C15118 74C160-97 74CI6110 74C174.32 74C17522 74C19224 74C19322 74C90127 74C902.65 74C914

2N 5457 N FET S 15

2N2646 UJT S .45

EB 900 TRIGGER DIODES 4 SI 00

2N 6028 PROG UJT S 6~>

MINIATURE MULTI-TURN TRIM POTS100, 1K, 2K, 5K, 10K, 20K, 50K,200K, IMeg, 2Meij. $.75 each 3/S2.00

CHARGED COUPLE DEVICES

CCD 201C IOOk 100 Imago Sensor ..... $95.00

CCD 202C 100x100 Imago Sensor $145.00

VERIPAX PC BOARD S4.00

This board is a 1/16"single sided paper opoxyboard. 4!Vx6I-i" 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 PHO 10 TRANS ... . S .50

RED, YELLOW GREEN or AMBER

LARGE LED's.2" 6/S1.00

TIL-11SOPTO-ISOLATOR $ -75

MCT-6 OPTO ISOLATOR S .80

1 WATT ZENERS: 3.3, 4.7, 5.1, 5.6, 9.1, 10

12, 15. 18. or 22V 6/S1.00

MCM 6571A 7 x 9 character gen ... $10.75

Silicon Power Rectlliers

TRANSISTOR SPECIALS

2N6233-NPN SWITCHING POWER S 1-95MRF-8004 a CB RF Transistor NPN $ 75

2N3772 NPN Si TO 3 $1.00

2N1546 PNP GE TO-3 S .75

2N490B PNP Si TO 3 S 1 00

2N5086 PNP Si TO 92 4 S 1 00

2N3137 NPN Si RF $ .55

2N39I9 NPN Si TO 3 Rl SI 50

2N1420 NPN Si TO 5 3/S 1.00

2N3767 NPN Si TO 66 . S .70

2N2222 NPN Si TO-18 . 5'S 1.00

2N3055 NPN Si TO 3 . . S .50

2N3904 NPN St TO-92 6/S 1.00

2N3906 PNP Si TO 92 - 6/S 1.00

2N5296 NPN S> TO 220 S .50

2N6109 PNPSi TO 220 S .55

2N3638 PNP Si TO 5 5,'S ,.00

MPSA 1 3 NPN Si 4/$ 1.00

TTLIC SERIES «« - «"> »">- e'

|Jliy'Am:MHJ^n.p.n??ff.

PIN .17 24 PIN .35

.20

6A | 2SA

1.30

jTdo

3.001.00

16 PIN .22 40 Plf18 PIN .25

SANKEN AUDIO POWER AMPS

Si 10IQ G 10 WATTS . $ 7.80

Si 1020 G 20 WATTS $15.70

Si 1050 G 50 WATTS S28.5Q

TANTULUM CAPACITORS

.SB

CRYSTALS $3.45

RIBBON CABLEFLAT ICOLOR CODED)//30 WIRE26 cond. - .50/per foot40 cond, - .75/per toot50 cond. - -90/per foot

CTS 206-8 eight position dip switch .... $1.60C TS-206-4 four position dip switch . , . .Sl.46LIGHT ACTIVA1ED SCR'jTQ IS, 200V I A S .70

SILICON SOLAR CELLS2V»" diameter ,4V at 500 ma $4.00

FND 359 C.C. .4" $.50 LED READOUTS

FCS 8024 4 digit DL-704 C.A.

C.C. 8'1 display S5.95 DL 747 C.A.

FND 503 C.C 5" S .85 HP340O 8"CCFND 510 C.A. .5" S 85 HP3405 .8"CADL 704 .3- C.C. $ .85

S1.95$1.95

SAD 1024 a

10 50 16.50

12.50 20.00

EDICON 1024 s

15/Sl.OO

RS232 DB25Pmale

CONNECTORS 08 25S femai

HOODS , ,

$2.25. S2.95. $1.00

309K

723

LM 376320T-5. 1 2, 1 5or 24 . .

REGULATORS

340K-12J5

or 24V. .... SI.10340T-5. 6. 8, 12

15,18 or 24VSI.tO

78 MG Si.35

79 Mi"

7423 J -

74363 -743B3 -

DATA CASSETTES 1/2 HR £ ,95

14 pin headers

MM 5387AA new clock chip which will directlydrive LED's 1 2/24 hrs., 1 supply & alann $5.95

NO. 30 WIRE WRAP WIRE SINGLESTRAND 100' $1.40

ALCO MINIATURE TOGGLE SWITCHESWTA 106 SPDT . . S .95

MTA 206 DPDT S 1 .70

MTA 206 P-DPDT CENTER OFF s i fc5

MSD 206 P.DPDT CENTER OFF

LEVER SWITCH $ 1.85

Terms: FOB Cambridge, Mass.Send Check or Money Order.

Include Post* —

SOLID STATE SALES

P.O.BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 547-7053

WE SHIP OVER 95%

OF'OMB ORDERS THE

DAY WE RECEIVE THEM

TRIACS

SCrVS

PRV

1A 10A

"bA

1.5A 6A

35A

100

40 .70

1.30

.40 50

1.20

200

70 1 10

1 75

.60 .70

1 60

400

1.10 1 60

2 60

1.00 1.20

2.20

600

1.70 2 30

3.60

1.50

3.00

Circle 340 on inquiry card.

BYTE March 1979

267

Starly-Bird Specials...

Daisy Wheel Printersi

|«SELECTRIC I/O TERMINALS (bv 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 Selectric 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 Icorres. code, built-in cassette drive) $1195.00

Model 5560 (ASCII code, built-in cassette drivel $1295.00

• IBM SELECTRIC 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 <9>5A). . $ 75.00

c) a & b plus output ASCII interface to mCPU 8-bit parallel port . $600.00

• POS 103/202 "MIX or MATCH" MODEM: BELL 103 and/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 (sold 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 Channell $249.95

-POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) $279.95

-POS 103/202 MODEM (Auto-Answer, Auto-Dial) $309.95

• DIABLO HYTYPE I Model 1200 Printer Mechanism: used, conoperational. Requires power supply, case & mCPU interface. 15privilege - no other warranties. LIMITED QUANTITY! S750.0C

—6' Ribbon cable & connector for printer Main Logic PCB S10.00

— 14-pin Winchester connector & 18" 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 SI500.00

• AMPEX MODEL TMX TAPE DRIVE: Ideal for microcomputerist whowants backup mass storage or access to IBM-type systems via standardized2400 series %" mag tape. Specs: 9-track, NRZ1 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 S250.00

• DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec;AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics S25.

• FORMS TRACTORS, Moore Variable width "Form A-Liner" for print terminals:

a)Model 565P lor 15" Carriage IBM Selectrics (new): S50.00

biModel 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 & ACcord): +5V reg., +12V reg., +24V, @>5A 110 lb.I. . S29.95-LAMBDA No. LMEE5 w/OV protect: +5V reg. (3 25A (35 lb.) S59.95

NO RISK! 15 DAY APPROVAL ON ALL MAILORDERS

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.

* PACIFIC OFFICE SYSTEMS, INC. \

m 2600 El Camino Real, Suite 502 $4£ Palo Alto, Calif. 94306 2J

'.\ 1415)321-3866 Jl

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.

■ HYBRID AUDIO

110 Watt - 20 Watt - 30 Watt - 50 Watt

I POWER AMPLIFIERS

SANKEN Scries SM000G Amplifiersere self-contained power hybrid am-plifier! designed tor Hi-Fi, storeo, rnuii-cal Instruments, public address systemsand other audio application*. The am-pllflen have quail-complementary daisB output. The circuit employ* flip-chiptransistors with high reliability and pas-sivated chip power transistors with ex-cellent secondary breakdown strength.Built-in current limiting It provided forSI-1050G and all device* can be oper-ated from a single or tplit power supply.

Multi-purpose linear amplifiers for comercial and indus-trial applications.

Less than 0.5% harmonic distortion at full power level.

M dB response from 20 to 100,000 Hz.

Single or split (dual) power supply.

Rugged, compact and lightweight packages.

Buiit-in current limiting for SI-1050G and efficient heatradiating construction.

TYPICAL CONNECTIONS

SI-1050G with SPLIT SUPPLY

* Matching

Tran*former

P/N Price

TR10 S 7.90

TR20 $10.90

Power AmplifierP/N Power PriceSl-IOIOG(IOW) S 6.95SI-1020GI20W) $13.95A-SI-8 (Socket for above) .96

SM030GI30W, $19.00 TR30 $12.90SM050G(50W) $27.80 TR50 $17.90A-SI-10 (Socket for above) .95

Data Sheet with application Notes—$ .50

SUPERKJM.. $395.00

Economical ipension Intomore RAM,EPROM and pro-totype area

pact fully assembled'and Integrated boarcOTotal compatibilitywith KiM-1 software.On board 5V, 3A reg-lator and TTY. RS232 end Audio Tape Interface*.

Intersil LED or LCD

31/2 DIGIT PANEL

METER KITS

BUILD A WORKING DPM IN 1/2 HOUR WITHTHESE COMPLETE EVALUATION KITS

Ton mow new pari! lor yourself wtlri Intersil's low costpiotolyoing hill, complata *WW[for lh« 7106) or LEDdrSplly (

ICLTIMEV'LCD) $29.95

ICL7107(LED) $24.95

MICR0P0WER Timing Circuit

XR-L555CP

mertii's UniversalCounter System

EVALUATION KITICM7226EV $5995

Directlychangeablewith popular665 Timor.Dissipates1/15th power$1.50 each

Ballantine Model 1010ADual Channel/X-Y ScopeA professional oscilloscope; i , • ^ - to fit

"MM* *,•• yourbasicI ■■■-«.* I needs.

?■••• -• ^ $695

KIM-1 MICROCOMPUTER

1802 SERIES

LD= CoraLE-- Epox

1802LD SI!

I822LD V

1B24LD

18521 D <

1853LD i

18B4LD I

I8B6LD !

18571. D !

185BLD !

1859LO !

-55 to i-40° to t ;1802LE1B22LETB24LE1B52LEI853LF1854LE1856LEIB57LE1B58LE18S9LE

S11.208.053.55

GRI-ASCII KEYBOARD KIT

753K Keyboard $59.95

756K Keyboard $64.95

701 Enclosurel753 only)$14.95

702 Enclosure (both) $29.95

SYM-1

$269.00

YD 99flfiflfD FUNCTION GENERATOR KIT Ineludwali

A n-££UDI\D components. PC boerd and instructions. $19.95

15 Megahertz PORTABLE MINI-SCOPES

with RECHARGEABLEPORTABLE |2.7"HxS,4"Wx7.6"D) BATTERIES & CHARGER

AVAILABLE OPTIONS-usable on both the MS-216 ana the MS-1541-140 Leather Carry inB Case $45.00 - 41-141 1 0 to 1 Probe $24.50

rf 7 2 001 COMPUTER

Quite 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 $695.00

C2N External Cassette $ 99.95

iai

HICKOK

LX303

DIGITALMULTIMETER

Compact. Accurate. Dependable. With oaty-io-reed 54" liquid crystal display lor convenient usein any kind of light. Weigh* only 8 ounces.Operates up to 200 hn on a single 9 volt battery.Ninateen range* Including 200mV to 1000VDC,100 to 10 Megohms, 100 and 1000 VAC ranges,lOuA and 10mA ranges. Excellent overload pro-- . taction, color coordinated case and

5/495 color coded panel.

ANCRONA HAS THE SOURCERER™ COMPUTERS89500

STANDARD FEATURES: Z80-4K ROM-8K RAM-Dual Cassette I/O-30 Lines of64 Characters—64 Defined Characters and64 User Defined Characters-512 x 240Graphic Resolution—Edge Card Connectionto S100 Bus-Serial and Parallel I/O

OPTIONS: Expandable to 32K RAM-8-Slot S100 Bus-Printer-DiskStorage—Talaphone— Voice—Home Controller

FILM *"

$1.69

5% CARBON

RESISTORS

All values from Wilfo 10 MS2- Only in multiples of 100pes per value

$1.79

$350°»

The Instructor SO

Desktop Computer

from SIGNETICS

Complete, Ready-To-Use

Microprocessor Learning Package

includes everything you need to write,

run and debug machine-language pro*

grams. Housed in one compact package.

Send Check orMoney Order to:P.O. Box 2208V, Culver City, CA 90230. California resi-dents add 6% sales tax. Minimum Order; $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

ARIZONA

ANCRONA

451B E. Uro.dw.-,

Tin-ton. AZ 66711

16021 861 2348

16041 324-0707

14081 243-4121

CALIFORNIA

ANCRONA

1300 E fd'no«r Av*.

Sant* An*. CA 37705

17141 547B424

14041 261-7100

268

BYTE March 1979

Circle 11 on inquiry card.

EPROM PROGRAMMER

Sollwort uvulloble for F-8, 6100, 8080,8085, 2-80, 6502, KIM-1, 1802.

The EP 2A 79 will program the 2704. 2708,IMS 2708. 2758. 2716, TMS 2516, TMS 2716,TMS 2532. and 2732. PROM type is selected bya personality module which plugs into the frontof the programmer Power requirements are 1 1 5VAC. 50'60 HZ at 15 watts. It is supplied with a36-mch ribbon cable (14 pin plus) for connectingto microcomputer. Requires 1 ': I/O ports.Assembled and tasted $145, Plus $15-25 foreach personality module. Specify software.

OPTIMAL TECHNOLOGY, INC.

■kit Wood 127, Earlysville, Va. 22936Phone 804-973-5482

Circle 289 on inquiry card.

RECYCLE(D)COMPUTERS

BUY -k SELL it SWAPHardware & Software

MEW PRODUCT ANNOUNCEMENTS22 pa<s£6

Mailed 1st class every 3 Weekslyr. (18 issues) if $3.75

ON_LINE -@-

O.tut tifrilr. publisher tfiuMislita 10T5

24695 Santa Cruz Hwy.. Los Gatos, CA 95030

"Tali SJii 'miii

Circle 288 on inquiry card.

HAZELTINE1400

only

$649.95!

I

Verbatim Mini Diskettes $3.70each (boxes of 10)Two-tier walnut formica enclo-sure for SA-400 Shugart. . . $39.95Typewriter Ribbons (many makessuch as Diablo, Centronics, DECand print wheels)North Star check balancing pro-gram. . .$50.00

Centronics 779 tractor - $1150.00Horizon II ass. - $1999.00

MailOrderOnly.

TORA SYSTEM INC.

29-02 23rd Avenue

Astoria NY 11105

(212) 932-3533

•'CRT INTERFACES"black - white/color

Monitors ° Combination Rcvr/monitor sets• Modulator kits • B-W Cameras • ColorCameras • Audio Subcarrier kits * Parts

WRITE or PHONE for DETAILS & PRICING.

DIAL: 402-981-3111

Dealers welcomed. Well established program.

—*•—-¥V>

J3"JL ATV Research Eik°>? City,Broadway <, ^^M NE. 6B13f

Circle 19 on inquiry card.

TRS-80

™,M ■

Add-ons

• Floppy Drives ISingle Shugart Ior Pertecsystem

S 395 ^^

• Dual Sided Floppy System 695

o RAM Memory 9.75

• 32K Expansion Interface 599

• RS232 Serial I/O (simplex) 79

• RS232 Serial I/O (duplex) 95

PERIPHERAL PRODUCTS

• Floppy Kit for

SA801 (8") Floppy (S-100) 599

• Add-on Floppy Drives

SA800 or Pertec (8") unused ... 469SA400 or Pertec (5") unused ... 285

• Centronics 779 w/Tractors 1179

Ask for Free Product Line Catalog

(714) 979-9923

miCHOcompuuR techhology mc

2098 S. Grand Ave.. Santa Ana. CA 92705

Circle 219 on inquiry card.

jrTToTroTroTTu^rvrroinrroT^

^BYTE's New

/\ Toll-freeSubscriberW.A.T.S. Line

(80Q) 258-5485

To further improve service toour customers we have installed

a toll-free WATS line in our

Peterborough, New Hampshire

office. If you would like to order

a subscription to BYTE, or if you

have a question related to a BYTE

subscription, you are invited to

call (800) 258-5485 between

8:30 AM and 4:30 PM Eastern

Time. This appliesto calls from

within the continental US only.

We thank you aridlookforward to serving you.

LfiJLflJ

SURPLUS ELECTRONICS

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 e 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.

♦ APPLE)

SUPER SALE16K Apple II $1039.95

Apple Disk II

w/controllerApple Soft CardsCarrying CaseSuper Mod

$495.00

$149.95

$29.95

$29.95

UCATANCORP.

P.O. Box 1000

Destin, Fla. 32541

L

904-837-2022Credit Cards Accepted

Circle 378 on inquiry card.

f SHORT CASSETTES

List $1.00 10 for $7.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

Circle 371 on inquiry card.

Circle 229 on inquiry card.

Unclassified Ads

FOR SALE: Heath H9 terminal fully assembled,checked out (by Heath), and operational, $500.I will deliver to eastern MA or southern NH.Otherwise add shipping. Lawrence Woods, 12Patten St, Watertown MA 02172.

FOR SALE: Two Shugart SA-400 Minifloppydisk drives; includes manual. S275 each or bothfor S500. J Lightsey, 339 Deer Trail Rd, BoulderCO 80302, (303) 443-7888.

FOR SALE OR TRADE: Interdata Model 1minicomputers. One complete and working, anotherlacking one board. 10 K core memory. $400 orbest offer. Gary Sawyer, 3952 Ash St, Irvine CA92714, (714) 559-0243.

HELP: We have a SwTPC terminal (TV II) andwould like to use it as a character generator for ourTV studio. To do this, the terminal has to besynchronized externally. Can anyone send plansor ideas to do this by either stripping the presentsync and adding the new, or by rebuilding portionsof the terminal to accept external synchronization?Ken Pavlicek, Lyons Township High School,4900 Willow Springs Rd, Western Springs IL60558.

FOR SALE: TRS-80, LEVEL I, 4 K completewith video, power pack, cassette recorder, key-board, original carton, manuals, and software. Per-fect condition, I pay the freight. $490. MarkBaiada, 271 Winding Ln, Cinnaminson NJ 08077.Call collect (609) 829-9310 after 6 PM.

FOR SALE: One Anderson Jacobsen 841 Terminalwith 6 bit EBCO code 10 CPS. IBM Selectric key-board. Good Condition. S1000 F03 truck. Alan CPage, Green Diamond Forestry Service Inc. BlueMeadow Road, Belchertown MA 01007.

FOR SALE: 64 22 pin 3 level tin wire wrapsockets, $8 per 16. 58 TMS-4060 4 K program-mable memory chips, $15 per 29 (bought surplusfrom Honeywell; never used but not guaranteed).Money order or cashier'scheck. James Phillips, 3435N 75th Dr, Phoenix AZ 85033, (602) 849-6937.

FOR SALE: Heathkit H11 large scale integrationcomputer with 4 K memory; serial and parallel in-terface, plus extended arithmetic chip. H10 paperreader/punch up and running and factory tested.Asking $1900 and I will ship. Jim Thebeault, Rt 12Box 94, Mansfield OH 44903, (419) 468-4700.

FOR SALE; Viatron Cassette decks, dual headsand motors, excellent foundation unit for massstorage system. Good documentation with allschematics. $70 for pair or S38 single units. Moneyorder or certified check. Shipped post paid. VCaggia, 15 Lovell Dr, Wanaque NJ 07465, (201)835-2477.

FOR SALE: SYM-1; new single board computer inoriginal box with warranty. $220. Carr, 13624Neutron Rd, Dallas TX 75240.

FREE: Software and blank diskettes with the pur-chase of the minifloppy with the best cost/per-formance ratio available, the Micropolis Macro-floppy. Normally $835 for drive, S-100 controller,cables, and blank diskettes new; the first check ormoney order over $750 takes a factory assembledand tested system (only two months old andworking beautifully, with the software and blanksadded as a bonus). Contact David or RobertMason, 503 Timber Ter, Houston TX 77024,(731) 681-3427 after 7 PM.

SEW 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 months for anad to appear m the magazine. ■

FOR SALE: September 1975 thru September 1976BYTE. Best offer over $75, all other BYTEs todate. Make offer, C Ernst, 215 E Costilla Av,Littleton CO 80122, (303) 794-5667.

FOR SALE: High quality terminal priced tosell, QUME (300QI, rebuilt and reconditionedASCII, RS232, 55 characters per second, over70 software commands, super graphics, still inwarranty. $2250. Pat Reynolds, 4903 Hirsch,Houston TX 77026, (713) 674-8367.

FOR SALE: IMSAI 4 K static, $80. MITS 4 Kdynamic, $50. Tarbell cassette board, $90. MITSACR, $70. MITS Disk drive with BASIC andFORTRAN, $1300. MITS-Okidata printer withcontroller, $1500. All boards fully socketed andfactory checked out. Make an offer. K R Roberts,10560 Main St, Suite 515, Fairfax VA 22030.

FOR SALE: Heath H8, 16 K memory, two H8-5s, cassette, extended BASIC; up and running.$900 or best offer. Ten new 8 inch disks, makeoffer. Andy Thornburg, RR2, ThompsonvilleIL 62890, (618) 627-2166.

FOR SALE: 4 K programmable memory set {eightchips). I converted my 4 K Level II TRS-80 to16 K. Make me an offer. Ron Urbassik, 13519Carter Rd, Painesville OH 44077, (216) 254-4238.

CLEANING MY BASEMENT - Electronic compo-nents, computer, ham, and test equipment must go.Send stamped envelope for complete list. S VSanislo, 42 Briarcliffe Rd, Glenolden PA 19036.

FOR TRADE; Famous 8080 FORTRAN MITSdisk version for 8080 COBOL or MITS timesharingBASIC. Manuals available. K R Roberts, 10560Main St, Suite 515, Fairfax VA 22030.

FOR SALE: Video display terminals; industrialquality display terminals with ASCII keyboard;12.5 MHz display bandwidth; pictures available.Comes complete ready to plug in at $215 plusshipping. Works great with S-100, Digital Groupand other boards. Also available with other optionssuch as 16 by 64 character generation logic, com-posite (TV) video input, or customized to yourspecifications. S Stoddard, 12 Kathy Dr, PoquosonVA 23662, (804) 868-7682.

FOR SALE: Technico TMS-9900 processor, 16bit, with 2 K programmable memory, 2 K readonly memory (monitor and Assembler), 2 Kerasable programmable memory and programmer.Documentation, manuals and cables. Factorytested, never used. $275. S J Huber, 318 Steven'Ct, Benicia CA 94510, (707) 745-8089.

FOR SALE: 8 K PET commodore with secondtape cassette unit, games, manuals, as new. $695.John Clarke, 13609 Luscern, Dunlap IL 61525.(309) 243-7584.

SACRIFICE: New Univac type 079 incrementalprinter. Still in packing crate. Adjustable 132column tractor feed. 30 characters per second.Hinged top with glass window enclosure andstand. Mechanism alone cost $1800. Three casesfanfold paper. $575 plus shipping. Do not phone.Write for details and picture. David Krivoshik,18 Newcomb PI, Elizabeth NJ 07202.

FOR SALE: Issues number 1 through number 16of BYTE magazine. Send offer; will reply tothe best. R L Erickson 658B Mapleview Dr,Old Bridge NJ 08857.

DIGITAL USERS: Repair, trade, buy, and assembleDigital Group equipment. For more information,write: Michelle, POB 3009B, Boulder CO 80307.

FOR SALE: Two SSM 450 ns 8 K program-mable memory boards, assembled and running,(S-100), S80 each. One SSM 450 ns 4 K program-mable memory board, assembled and running,(S-100), $60. First money order or cashier's checktakes it, all others returned. I pay shipping. VanceNavarrette. 2057 S W Leewood Ln, Aloha OR97005.

XITAN USERS: Information exchange groupformed to facilitate finding each other and sharingour work. Send a short description of your appli-cations and any hardware tips or software youwish to exchange or sell to Dr John R Cameron,POB 1517, Palo Alto CA 94301. Enclose $3 if youwish to receive copies of others' offerings.

FOR SALE: Used computer, equipment - threeGeneral Automation 16/220 computers, con-trollers; three GE Terminet 310 line printers;three Hazeltine 1500 video terminals; six DiabloHy-Term Printers 1620-3. Relate best offer to MrRalph P Price, Sun Information Services, 656E Swedesford Road, Wayne PA 19087, (215)293-8242.

FOR SALE: PET 8 K. Reasonable offer con-sidered. R White, 5752 N Milwaukee Av,Chicago I L 60646.

FOR SALE: New Noval 765 microcomputersystem in a desk including dual Shugart 400 mini-floppy drives, controller, 2-80 processor with32 K programmable memory and 16 K readonly memory, built-in 12 inch high resolution(256 by 256) graphics videoterminal, keyboard,and built-in 32 column dot matrix printer. Systemcost $5990, asking $3990. Included are sevenprogrammed minifloppy diskettes plus operator'smanuals with diskette operating system on readonly memory, and Extended BASIC on diskette.Esther Robinson, 16689 Mt Cachuma Cir,Fountain Valley CA 92708, (714) 554-3914.

FOR SALE: Heathkit H-11 16 bit computerwith 12 K memory and serial and parallel inter-faces. Heathkit H-9 video terminal. Both fullyassembled and tested. Needs only paper tape orfloppy disk unit to complete system. Cannotcomplete - need money for graduate schooltuition. Will sell at kit price. Fred Graefe, 309Harrison Av, Roselle NJ 07203, (201 > 2454930.

FOR SALE: Complete KIM-1 System; BASICboard; 3 K programmable memory, 1 K erasableprogrammable memory, PI A I/O (input/output),video I/O, Hefty power supply, chassis, motherboard, plug-in 44 connector boards, ASCII key-board, cables. Extra 6502, PIA's available. $225or best offer. Bill Carlquist, 6253 HollywoodBlvd, Suite 202, Hollywood CA 90028, (213)461-4643.

WANTED: TRS-80 computers wanted. Anycondition, any quantity. Immediate cash. Alsofor sale; DEC PDP8 e, f, m; also all peripherals.K2DCY. POB 632; W Caldwell NJ 07006, (201)226-9185.

FOR SALE: Processor Technology VDM-1, $130plus postage. KIM-4 mother board, $85 plus post-age. Bruce Mclntire, 807 Bejay PI, San Pedro CA90731, (213) 831-1844.

TRADE: Star Trek program, TRS-80 BASIC I orII, source code. Well tested and documented. Sendyour program to Daniel Napoli, 112 N Walnut St,Beacon NY 12508.

FOR SALE: Processor Technology (GPM) generalpurpose memory module with ALS-8, SIM-1 andTXT-2 read only memories. All in good workingcondition. Complete with hardware and ALS-8manuals. $275 or best offer. Joe Hartnett, 2323N Woodlawn, Wichita KS 67220. ■

270

March 1979©BYTE Publications Inc

12" BLACK & WHITELOW COST VIDEOTERMINAL$139.00 LIST

Add $5 for shipping and handling

Texas residents add 5% sales tax.

One yearlimited warranty

• Ideal for home, personal and business computer systems;surveillance monitors • 12" 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%ofCRTrefEIARS-375 • Dimensions— 11.375" high; 16.250"'wide; 11.250" deep (exclude video input con-nector) • Weight—6.5 KG (14.3 lbs) net

Use Master Charge/Visa or send money order.

Micro Products Unlimited

P.O.Box 1525,Arlington,TX76010

817/461-8043

Dealer inquiries welcome

Pascal Micro Engine $2695.00

IIIIIIIMIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

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, IVlicropolis,SSM, Computalker, Heuristics,Mountain Hardware, Summagraphics,

iiiiiiiiiiiiiiiiiiiiiiiiiiiitiiniiiiBiiiiiiiiiiiiiiiiiiiiiiiiu

rnisfli] ami

Microcomputers, Peripheralsand Software

1015 NAVARRO SAN ANTONIO. TEXAS 78205512/222 1427

TRS-80 16K MEMORY EXPANSION KIT

INCLUDES 8 TESTED! GUARANTEED M5K 4116 3 16K RAMS.PROGRAMMING PLUGS & EASY-TO-FOLLOW INSTRUCTIONS. $7290 PER KIT

6800 64K BYTE RAM SET AND CONTROLLER

CHIP SET MAKE 64K BYTES OF MEMORY FOR YOUR6800. THE CHIP SETS INCLUDE:,.„r„ 32 M5K 4116-3 16K RAMS.

$29555 1 MC3480L MEMORY CONTROLLER.

1 MC3Z42AP MEMORY ADDRESS

MULTIPLEXER/COUNTER.DATA 8 APPLICATION SHEETS.PARTS TESTED & GUARANTEED.

PER COMPLETE SET.

16K DYNAMIC RAMS

M5K 4116-3 200NSECACCESS TIME/375NSECCYCLE TIME.TESTED 8

SURNED-IN

$85J) EACH/MIN.QTY. 8

4K STATIC RAMS

EQUIV.TOTMS40L44-30300NSEC ACCESS TIME/CYCLE TIME FOR 4MHZ2-80 OPERATION.J75J) EACH/MIN.QTY. 8TESTED S GUARANTEED

QUANTITY DISCOUNTS AVAILABLEALL ORDERS POSTPAID. U.S.FUNDS. CHECK OR MONEYORDER. VISA,BA,MASTERCHARGE-SEND ACCOUNT NO.,EXPIRATION DATE , INTERBANK NO., & SIGNED ORDER.PHONE ORDERS: 714/633-4460

MEASUREMENT SYSTEMS & CONTROLS.inc.

MEMORY DEVICES DIVISION, DEPT. B3

867 NORTH MAIN ST, ORANGE, CA 92668

Circle 224 on inquiry card.

Circle 351 on inquiry card.

Circle 217 on inquiry card.

ROTATE-MAN IPULATE

CONTROL-MOVE- LI FT

"ANIMATE ACTION GAMES ■■

Digital (STEP) Motors can be prog-ramed any rate to 4 turns/sec.

at 7.5°/s«p

FEATURING THE IEEE 488 BUSS

DATA INTERFACE

Can you control 4 bits out ? If souse the DIRECT interface, save $$

THE

small Interface board 6"X 7"can

go inside your computer

variable rate manual over-ridecontrol buttons

DIRECT ASSEMBLED- TESTED $ 95. WITH 488 $149.

WRITE FOR DETAILS TO|X-Y ENTERPRISES P.O. BOX 7961HUNTSVILLE. ALA. 35804

Circle 404 on inquiry card.

VANGUARD

Ml STATIC CAM

Designed for IEEE S100 Bus

Standards.

Fully static and fully buffered.

Configured as four4K blocks

within a 64K address space.

Each block separately address-I able and write-protectable.■ Components and assembly

fully burned-in and tested.

One year guarantee.

Assembled Kit Board250 nsec chips $340. $300. $35.450 nsec chips $300. $260

Order direct by check, Visa orMaster Charge. California resi-dents please add 6%% tax.

A*or

Advanced Memory Technology480 Mercury Drive, Sunnyvale, CA(408) 736-3864 94086

MICRO SOFTWAREDEVELOPMENT

THE COMPANY: Leader in auto-matic test systems Projected 1979sales in excess of S100 million.

RESPONSIBILITIES: Design/de-velop assembly level test and diag-nostic software using VLSI microhardware. Openings at entry andsenior levels. Higher level fluency,hardware ability or degree a plus.COMPENSATION: 17 - 27K Excel-lent benefits, flexible hours andinformal atmosphere.

CONTACT: Dave Adams. (617) 246-2815. N.E. Recruiters. 6 LakesideOffice Park. Wakefield, MA 01880.

Collect calls accepted. All fees,interviewing and relocation expensesassumed by the company

Terminal Systems

Dealing /

FOR THE BEST DEAL -, „.

Cull!

■y HJ Terminal Systems Inc ^

(213)769-6772 (714)738-4444

(415)537-7723 (800)423-2449

Rely on US

WE SHIP FROM STOCK

TELETYPE MODEL43 . , ,$985.00

with RS 232 $ 1,045.00

HAZELT1NE 1500 $945 00

M9900 MARINCHIP CPU

Kit: $55.00 Assembled: $700.00

PROM/RAM/SIO

Kit: . . . .$275.00 Assembled:. . . . $350.00

M9900 SYSTEM

Assembled and Tested including: Tarbell Disk

Controller, PerSci 277 Disk DriveEr cabinet, IMS

Static Ram 64 K. all in a TEI S-100 Bus

$5,800.00

DEC LA-34 discount price $1,1 59.00

Further discount of 5% for early bird, pre-paid

orders. Available for shipment in April.

PASCAL MICROENGINE from Western Digital.

List price $2,995. 10% discount for early bird,

pre-paid orders. Available for shipment in April.

To Order: $10 shipping for terminals. 24 hr.

shipping upon receipt of certified check or

money order. Persona! checks: allow 10 days.

Credit cards: 4% charge. NY residents add tax.

— We Export —

We have no reader inquiry number.

Please call or write.

John D. OWENS ASSOCIATES. Inc

147 NORWOOD AVENUE

STATEN ISLAND, NEW YORK 10304

Day, Evening. Weekend,

Holiday Calls Welcome!

(212)448-6283 (212)448-6298

NOW AVAILABLEPET AND SOL SOFTWARE IN BASIC

STATISTICS

Distribution S 5 95

Lmea< Corielalion and Regression

5 95

Contingency Table Analysis

5 95

Mean and Devotion

595

all four lor only

18 95

FINANCIAL

Depreciation

5.95

Loans

5 95

Investment

5 95

all three lor only

12.95

GENERAL:

Tie Tac Toe

4 95

Complete Metric Conversion

5 95

Checkbook Balancer

4 95

all three for only

1095

FOR THE KIM 1

A real time PROCESS CONTROL OPERATING SYSTEMincluding a process language <nierpreter (operate) m lh> IkKIM-1 RAM).

Assembly lilting S24 95

Cassette tape with users manual 14 95

Schematic (or relay control board 9.95

All ptogramt on high-quality cassette tape

Send self-addressed, stamped tnvelODe lor complete soltware

catalogue.

Send check or money-order tv

H. GELLER COMPUTER SYSTEMS

Dept. B, P. 0. Box 350NEW YORK, NEW YORK 10040

(New York State residents add 8% sales tax)

Circle 4 on inquiry card.

Circle 367 on inquiry card.

Circle 154 on inquiry card.

Reader Service

To get further Information on the products advertised in BYTE, 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.

Page No.

Inquiry No.

Page No.

10

2143567

1 18

15

g

17193033353132

383739434547495167697068

7275

7378798387767780

Aaron Associates 208 85

Administrative Systems 127 82

Advanced Access Group 222 91

Advanced Memory Corp 271 81

AJA Software 235 93

Aladdin Automation 35 89

Altos 29 88

Amecom IDiv of Litton) 1 33 86

Ancrona 268 95

Ancrona 45 100

Apple Computer 5 110

AP Products 53 115

Artec Electronics 175 120

ATV Research 269 125

Beckian Enterprises 260 130

BITS Inc 177 137

BITS Inc 179. 180, 199 154

Business Application Services 231 1 50

Buss/Charles Floto 232 151

BYTE Back Issues 231 156

BYTE Books 109. 1 10. 111, 112. 213 157BYTE Subscribers 237

BYTE WATS Line 269 160

Cabot Computer Services Inc 180 170California Computer Systems 24,25,27 172

California Digital 265 171

Canada Systems 218 178

Central Data 159 173

Chrislin Industries 132 179

Circle Enterprises 227 177

Computalker 216 174

Computer Bus 211 190Computer Data Directory 71

Computer Enterprises 129 197

Computer Factory 126 195

Computer Factory INYI 1 53 200Computer Lab of NJ 217

Computerland 42, 43 203

Computer Mart of NJ & PA 70 216

Computer Plus 212 217

Computer Tax Service 206 219

CT Micro Computer 215 222

CT Micro Computer 221 351

Contract Services 227 223

Control Systems Inc 75 204

Cover Craft 219 218

Creative Software 185 220

Cromemco 1, 2 221

Cutting Edge of Technology 78 224Cybernetic Micro Systems Inc 215 *

Data Discount Center 209 227

Datafacs System Inc 235 229

DataSearch 235 228

Delta Products 1 35 225

Digital Engineering Inc 204 226

Digital Pathways 206 211

DRC ICAI 237 231

DRC (TXI 251 230

Dynabyte 23 255

Electrolabs 264 265

Electronic Control Tech 178 26 7

Electronic Systems 252, 253 279Electronics Warehouse 247

EMM/Semi Inc 227 281

H Geller 271 282

Godbout Electronics 113 280GRT 203

H & E Computronics 231 283

Hamamatsu 183 285

Hayden Book Publishers 210 284

Heath Company 61 286

Hobby World 246 287

HUH Electronics 233 288

Industrial Micro Systems 121 289

Info 2000 147 291

Integral Data Systems 92, 93 292

Integrand 219 290International Elec Equip 214 *

Intertec Data Sys Corp 49 294

Ithaca Audio 243 296

Ithaca Audio 76, 77 297

J F Products 184 298

Jade Co 248, 249 301

Jameco Electronics 244, 245 302

Lifeboat Assoc 104, 105, 191 303

Mad Hatter Software 163, 209 304

Measurement Sys & Controls 85 306Measurement Sys & Controls 271 307

Microcomputer Technology 269 308

Micro-Mail 190 312

Micro Mart 271 305Micromation 40. 41

Micro Mike's 218 313

Micropi 235 309

Micropolis 124 311

Micropolis 125 314

Micro Products Unltd 271 322

Micro Pro International 51 315

Micro-Puzzles 262 317

Microsette 269 374

Micro Soft 101 318

Micro Source 145 329

Microtronix 74 316Microware 226

Micro Works 186 324

Mikos 260 323

Morrow/Thinker Toys CHI, 19 319

mpi 232 320

Mullen Computer Boards 21 7 327

National Multiplex 207 328

NCC 79 197 321

NEECO 181 339

NEECO 131 335

Netronics 225, 229 340

N E Recruiters 271 342

Newman Computer Exchange 257 350

North Star Computer 21, 31 352

NRI Schools/Elec Div 65 353

OK Machine & Tool 87 358

Oliver Advanced Eng 2 1 6 354

On Line 269 356

Optimal Technology Inc 269 355

Oregon Software 237 357

Osborne & Associates 201 360

OSI CIV, 8, 9, 83 363

Owens Associates 27 1 366

Pacific Digital 188 367

Pacific Office Systems 268 368

PAIA Electronics Inc 2 20 364

Page Digital 263 371

Per Com Data 54. 55 372

Personal Software 168, 169 326

Pet Shack Software House 220 378

Phoenix Digital 1 39 382

Pickles 8. Trout 233 383

Potomac Micro Magic Inc 99 384

Potters Programs 262 386

Priority I 258, 259, 261 387

Processor Technology 10, 11, 117 395

Program Design Inc 228 404Programmers Software Exchange 209 397

PRS 103 400

Quest Electronics 255 401Radio Shack Authorized Sales Ctr 262

RCA 59

RNB Enterprises 89

Real Time Intelligence 149

Rochester Data 212

Rockwell International 223

Rothenberg Information Sys 165

S-100 Inc 208

Scientific Research 79

Seattle Computer Products 188

Semionics 224

Michael Shrayer Software 187

Shugart 6, 7

Ed Smith's Software Works 231

Smoke Signal Broadcasting 64

Software 80, 189

Software Development & Training Inc 209

SSM 52

Solid State Sales 267

Soroc Technology Inc 37

Southwest Technical Products Corp CM

Stirling Bekdorf 1 36

Structured Systems Group 106

Summagraphics 63

Sunny International 254

Sybex Inc 1 37

Synchro Sound 141

Talos Systems Inc 39

Tarbell Electronics 97

Technical Systems Consultants 171

Technology Transfer Inc 214

Terminal Systems 271

3/M Company 1 5

3 S Sales Inc 205, 254

Tora System Limited 269

Trans-Data 237

TRS-80 Software Exchange 128

Ucatan 269

US Robotics 167

Vamp 221

Verbatim Corp 1 7

Video World 22 7

Wameco 264

Worldwide Electronics 269

X & Y Enterprises 271

X Comp 213

Xitex 192

Xitex 193

*Correspond directly with Company

bomb-

BYTE's Ongoing Monitor Box

Article No.

ARTICLE

PAGE

1 Poduska: Building the Heath H8 Computer 12

2 Melton: A Map of the TMS-9900 Instruction Space 14

3 Klein: Files on Parade 32

4 Ritter, Boney: A Microprocessor for the Revolution 46

5 Costas: Cryptography in the Field 56

6 Meushaw: The Standard Data Encryption Algorithm • 66

7 Rampil: Preview of the Z-8000 80

8 Lamkins: Designing with Double Sided Printed Circuit Boards 94

9 Filo: Designing a Robot from Nature 114

10 Giacomo: A Stepping Motor Primer 142

11 Ciarcia: Build a Computer Controlled Security System for Your Home 150

12 Higgins: Common Mistakes Using Warnier-Orr Diagrams 170

13 Kreindler: Password Protection for Your Computer 194

14 Arp: The Power of the HP-67 Programmable Calculator 196

15 Atkins: What Is an Interrupt? 230

16 Reid-Green: History of Computers 238

A Lively Bomb Response

The first and second place winners of theDecember 1978 BOMB were "Some Facts ofLife" by David J Buckingham (page 54) and"Life With Your Computer" by JustinMilliun, Judy Reardon, and Peter Smart(page 45). These articles placed 2.17 and1.21 standard deviations above the mean.First and second prizes of $100 and $50will be sent to the authors.

Third place went to "Fast Fourier Trans-forms on Your Home Computer" by WilliamD Stanley and Steven J Peterson (page 14),followed by "Chess 4.7 versus David Levy"by J R Douglas (page 84).■

272

March 1979 O BYTE Publications Inc

DOUBLE DENSITY

HISTOID #?R

cSl

IB SAVI

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, 1Kof RAM, 1Kof ROM withbuilt-in monitor, and a hardware UART to make I/Ointerfacing a snap.

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/Mt 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™ 120110th 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.

9 Circle 255 on inquiry card.

Morrow makes disk memory for

T nniker Toys

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 Ussrs.

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 syslemperforms 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 8Cmillion byte Winchester hard disks. 16communications ports, real time clock,line printer, word processing printer andnumerous control interfacesPrices 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 $3600.

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 systemsand what they can do for you. contactyour local Ohio Scientific dealer or callhe factory at (216) 562-3101.

C3-B wins Award of Merit atWESCON 78 as the outstandingmicrocomputer application lorSmall Business

C3-OEM