Byte Magazine Volume 04 Number 01 - Life Algorithms

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)

*&'?

,,*vy

H

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.

II

'KvJ?.

■I

HI

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216

Circle 350 on inquiry card.

Model Z-2

Up to 512K of RAM/ROM

Model Z-2D

One or two disks

Up to 512K of RAM/ROM

Up to 184K of disk

System Two

Dual disk

Up to 512K of RAM/ROM

Up to 184K of disk

Fill your computer needs

with the industry's

most professional microcomputers

#1 IN RELIABILITY

When you choose Cromemco youget not only the industry's finestmicrocomputers but also the indus-try's widest microcomputer selec-tion.

What's more, you get a computerfrom the manufacturer that compu-ter dealers rate #1 in product re-liability.*

Your range of choice includesour advanced System Three withup to four 8" disk drives. Or choosefrom the System Two and Z-2D with5" drives. Then for ROM-based workthere's the Z2. Each of these com-puters further offers up to Vz mega-byte of RAM (or ROM).

We say these are the industry'smost professional microcomputersbecause they have outstanding fea-tures like these:

• Z-80A microprocessor — oper-ates at 250 nanosecond cycletime — nearly twice the speed ofmost others.

Up to 512 kilobytes of RAM and1 megabyte of disk storage

ik

LSI

'Rated in The 1977 Computer StoreSurvey by Image Resources, WestlakeVillage, CA,

System Three

Two to four disksUp to 512K of RAM/ROMUp to 1 megabyte of disk

30-amp power supply — morethan adequate for your mostdemanding application.21 card slots to allow for un-paralleled system expansion us-ing industry-standard S-100cards.

S-100 bus — don't overlook howimportant this is. It has the in-dustry's widest support and Cro-memco has professionally imple-mented it in a fully-shieldeddesign.

• Cromemco card support of morethan a dozen circuit cards forprocess control, business sys-tems, and data acquisition in-cluding cards for A-D and D-Aconversion, for interfacing daisy-wheel or dot-matrix printers, evena card for programming PROMs.

• The industry's most professionalsoftware support, includingCOBOL, FORTRAN IV, RATFOR,16K Disk-Extended BASIC, Z-80Macro Assembler, CromemcoMulti-User BASIC, Data BaseManagement System, Word Proc-essing System — and more com-ing.

• Rugged, professional all-metalconstruction for rack (or benchor floor cabinet) mounting. Cabi-nets available.

FOR TODAY AND TOMORROW

Cromemco computers will meetyour needs now and in the futurebecause of their unquestioned tech-nical leadership, professionalismand enormous expandability.

See them today at your dealer.

There's no substitute for gettingthe best.

G

Circle 80 on inquiry card.

Cromemco

incorporatedSpecialists in computers and peripherals280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400

BYTE January 1979

ParallelI/O Port #1

\

ParallelI/O Port #2

/

ParallelI/O Port #3

\

RS-232 orCurrent LoopI/O Port #4

/

LatchedOutputs

4 MHzCrystal Clock

On Card

Voltage

Regulation

ProgrammableBaud RateUART with

Interval Timers

4MHzZ-80A

Completely BufferedBus Interface

8KROMCapacity

IK RAM

Standard Bus

for System

Expandability

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.

ra

BYTE |jnuary 1979

Cromemco

^^^^^B Specialists in computers and peripherals

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

Circle 80 on inquiry card.

In the Oueue

BUI January 1979Volume 4, Number 1

56

84

90

104

186

190

14

74

100

110

116

126

146

174

182

461049525354160

Foreground

BUILD A COMPUTER CONTROLLED SECURITY SYSTEM FOR YOUR HOME, by Steve CiarciaProtecting your home with your personal computer—Part 1 of a 3 part series

A COMPUTERIZED MAILING LIST, by Thomas E Doyle

A practical application for your floppy disk computer system

LIFE ALGORITHMS, by Mark D Niemiec

Efficient methods for programming John Conway's game of Life

POLYPHONY MADE EASY, by Steven K Roberts

Play chords instead of just single notes with your computer

AN AUDIBLE LOGIC TEST PROBE, by James L Woodward

Change voltage levels to musical tones for quick troubleshooting

HISTORY OF COMPUTERS: The IBM 704, by Keith S Reid-GreenConcerning one of the last vacuum tube computers

Background

A MICROPROCESSOR FOR THE REVOLUTION: THE 6809, by Terry Ritter and Joel BoneyThe successor to the 6800 described by its designers in the first of a 3 part series

AN EXPOSURE TO MUMPS, by David D Sherertz

First designed for medical applications, this high level language is diversifying

THE DIGICAST SYSTEM: Receiving Data and Information Over Your FM Radio, by A I HalsemaReceiving computer programs over FM subcarrier bands

GRANDMASTER WALTER BROWNE VERSUS CHESS 4.6, by John R Douglas

The continuing saga of Chess 4.6, this time in a simultaneous exhibition by a Grandmaster

AN INTRODUCTION TO BNF, by WDMaurer

Introduction to Backus-Naur Form, an abbreviation method used in compiler and interpreter design

CREATING A CHESS PLAYER, Part 4: Strategy in Computer Chess, by Peter WFrey and Larry R AtkinOptimizing end game evaluation on the computer

IPS, AN UNORTHODOX HIGH LEVEL LANGUAGE, by Dr KarlMeinzerA machine independent high level language interpreter

GOTOIocks AND THE THREE SORTS, by Gwen HadleyA tale told by a PUNdit of a sort

ELEMENTS OF STATISTICAL COMPUTATION, by Alan B ForsytheHow to calculate means and standard deviations

page 56

&.;...- : .HI• ii ■■■■■!!■

wgBBBQQBIBQQFv--

page 104

Nucleus

page 190

In This BYTE

A Short Note on Pascal Progress and Other Topics

Letters

Book Reviews

Machine Language Puzzler: Memory Meanderings

BYTE's Bugs

Technical Forum: Comments on S-100 Bus Extension

Clubs and Newsletters

162 BYTE's Bits

1 70 Desk Top Wonder: Some Random Games

176 Nybbles: A Micro Word Processor

1 79 Programming Quickies: Single Stepping the 8080 Processor

188 Event Queue

193 What's New?

222 Unclassified Ads

224 BOMB, Reader Service *^fMlf)V

Cover Art: SCULPTING THE NEW TITANS by Robert Tinney.

BYTE is pu'oVished monthly by BYTE Publications Inc. 70 Main St, Peterborough NH 03458. Address all mail except subscriptions to above address; phone (603) 924-7217. Address alleditorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manuscripts orphotos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of address, Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box590, Martinsville NJ 08836. Second class postage paid at Peterborough NH 03458 and at additional mailing offices—USPS Publication No. 102410. Subscriptions are $15 for one year, $27 fortwo years, and $39 for three years in the USA and its possessions. Add $5.50 per year for subscriptions to Canada and Mexico. $25 for a one year subscription by surface mail worldwide. Airdelivery to selected areas at additional rates available upon request. $25 for a one year subscription by air delivery to Europe. Single copy price is $2.00 in the USA and its possessions, $2.40 inCanada and Mexico, S3.50 in Europe, and S4.00 elsewhere. Foreign subscriptions and sales should be remitted in United States funds. Printed in United States of America. Entire contents copy-right ©1979 by BYTE Publications Inc. All rights reserved.

Subscription WATS Line: (800) 258-5485

January 1979 .',. BYTE Publication* Inc

PublishersVirginia LondonerGordon R WilliamsonAssistant to PublishersRuth M Walsh

Director, Editorial Planning

Carl T Helmers Jr

Editor in Chief

Christopher P Morgan

Senior Editor

Raymond G A Cote

Editors

Blaise W Liffick

Richard Shuford, N4ANG

Editorial Assistant

Gale Britton

New Products Editor

Clubs, Newsletters

Laura A Hanson

Production ManagerKaren GregoryVice-PresidentJudith HaveyProduction EditorsNancy SalmonDavid William HaywardPeter PerinTypographerCheryl A HurdProduction ArtEllen BinghamWai Chiu LiChristine Dixon

Advertising Director

John Hayes (603) 924-6448

Assistant Director

Patricia Clark

Coordinator

Thomas Harvey

Assistants

Noreen Bardsley

Jill Callihan

Circulation ManagerGregory SpitzfadenAssistantsAnn GravesPamela R HeaslipAgnes E PerryDealer SalesGinnie F BoudrieauAnne M Baldwin

Communications Coordinator

James C Morrissett, K6MHTraffic ManagerRick FuetteReceptionistJacqueline Earnshaw

Comptroller

Kevin MaguireAssistantMary E Fluhr

Drafting

Techart Associates

Typography

Goodway Graphics

Photography

Ed Crabtree

Printing

The George Banta Company

Associate Editor

Daniel Fylstra

Associates

Walter Banks

Steve Ciarcia

David Fylstra

Portia Isaacson

Book Division:Production ManagerEdmond C Kelly JrAssistantPatricia Curran

National Advertising

Sales Representatives:

Hajar Associates Inc

East

280 Hillside Av

Needham Heights MA 02194

(617) 444-3946

521 Fifth Av

New York NY 10017

(212)682-5844

Midwest

664 N Michigan Av

Suite 1010

Chicago IL 60611

(312)337-8008

West, Southwest

1000 El Welle Ct

Suite 227

Palo Alto CA 94303

(415)964-0706

Distributors:

Eastern Canada

RS-232 Distribution Company

186 Queen St W, Suite 232

Toronto ONTARIO

Western Canada

Kitronic Ltd

26236 26th AvRR 5

Aldergrove BC VOX 1A0

This month's cover is entitled Sculptingthe New Titans, a fantasy by Robert Tinneythat emphasizes the new crop of innovativecircuitry being chipped out of silicon bymicrocomputer engineers. Of course, in reallife the tools are more likely to be a com-puter, plotter, and wafer fabrication facility.

Among the new devices is Motorola's new6809 processor, expected to be available inthe next few months. Successor to the 6800,the 6809 is an 8 bit processor that can per-form 16 bit operations. The two chief archi-tects of the 6809, Terry Ritter and JoelBoney, begin a 3 part discussion of the newcircuit in A Microprocessor for the Revolu-tion: The 6809, Part 1: Design Philosophy.

page 14

In this BYTE

This month Steve Ciarcia begins the 3part series, Build a Computer ControlledSecurity System for Your Home. Part 1covers everything you need to keep yourhome or business secure, from the righttypes of sensors to detailed softwareexamples. page 56

Of the four standard languages of theAmerican National Standards InstituteBASIC, FORTRAN and PL/I arc familiar.Less so is MUMPS, used for many businessand science applications. Get An Exposureto MUMPS in David Sherertz' article, page 14

Implementing a mailing list on your com-puter is a practical application for manypersonal computer experimenters. If youhave a floppy disk based system, read AComputerized Mailing List by Thomas EDoyle and find out how easy it is to do.

page 84

Last month David Buckingham describedinteresting and intricate patterns that occurin John H Conway's game of Life. Thismonth we take a look at some of themethods and schemes for implementing aLife program on your computer. Mark DNiemiec reveals a Life enthusiast's tradesecrets in Life Algorithms. page 90

In The Digicast System A I Halsemadescribes a new technique for receivingcomputer programs and information broad-cast over the subcarrier frequency bands ofFM radio stations. Similar systems are nowin operation in Europe. page 100

One of the problems in creating computersynthesized music is that many systemsallow only one note at a time to be en-tered—a time-consuming restriction. StevenRoberts describes a way around the dilemmain Polyphony Made Easy. page 104

Computers cannot play perfect chess, butsometimes a computer program can do sur-prisingly well. The human United Stateschess champion discovered this fact whilecompeting against the world championcomputer chess program. That confrontationwas recorded by J R Douglas in GrandmasterWalter Browne versus Chess 4.6. page 110

BNF (Backus Normal Form or Backus-Naur Form) is a standardized method forabbreviating certain statements made aboutprogramming languages. Used extensively inbooks and articles dealing with compiler andinterpreter design, it is explained for thosenew to the subject in W D Maurer's article,An Introduction to BNF. page 116

In Creating a Chess Player, Part 4:Strategy in Computer Chess, authors PeterFrey and Larry Atkin describe some cleveroptimization techniques that can signifi-cantly reduce the amount of computer timeneeded to evaluate end game positions.

page 126

In this issue's Languages Forum: IPS, AnUnorthodox High Level Language, Karl

Meinzer presents an introduction to hiscreation, a machine independent high levellanguage interpreter presently implementedfor the RCA 1802 and 8080 processors.

page 146

Test your computer vocabulary by puzz-ling over Gwen Hadley's story of GOTO-locks and the Three Sorts. page 174

In Elements of Statistical Computation,Alan Forsythe covers some of the dos anddon'ts of determining the mean and standarddeviation of a set of data. page 182

Logic probes are handy for trouble-shooting digital logic. Read about James LWoodward's circuit in An Audible LogicTest Probe. It plays two tones through aspeaker corresponding to high or low logiclevels, and it costs very little. page 186

We tend to take the microprocessors oftoday for granted, forgetting the power hun-gry days of the 1950s. In his article, Historyof Computers: The IBM 704, Keith Reid-Green looks at one of the last vacuum tubecomputers to be commercially marketed.

page 7 90

l.imury 1979 "BYTE Publications Inc

"Aty Shugartfollowed me h

I"

li***^*^J

' :■•-

s

rN

x

~v

"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

transfer. The little minidiskettes M 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.

Shugart

435 Oakmead Parkway, Sunnyvale, California 94086

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

Circle 320 on inquiry card. TM minifloppy is a registered trademark of Shugart Associates BYTE )anuary ,979

Editorial

A Short Note on Pascal Progress and Other Topics

by Carl Helmers

As our January issue deadline approach-ed, we received a memo from Ken Bowles ofthe University of California at San Diego,concerning yet another development in theprogress of Pascal as a language appropriatefor small machines. This is a plan (expectedto reach fruition in early 1979) for makingthe UCSD Pascal system available on theApple II computer. The result, of course, isa computer with dual floppy disks andPascal system capability that, sold through

Some things are justnaturally right.

40.

*

tiny-c is a structured programming language designed

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

interpreter are available on selected media.To order your tiny-c Owner's Manual call or write:tiny c associates, P.O. Box 269, Holmdel,■g-2 vmm/ N.J. 07733.(201) 671-2296.LI I I y You'll quickly discover tiny-c^-\ / is naturally right for yourM / language needs.

/ New Jersey residents include 5% sales tax. Visa and Masler^L-^ Charge accepted. Include chargB plate number with order.

a computer store, would be priced at about$3000. Of course, the UCSD people aremost overjoyed by this because it makesavailable for educational uses a Pascalcompatible machine which is unmatchedin price. This Apple II version of UCSDPascal will be supported with one 12 l<byte read only memory card and mainmemory of 48 K bytes. It is expectedthat this configuration will set a standardfor small systems.

Following the Western Digital PascalMicro Engine computer noted last month,we now have Pascal compatible systemsat every level of design: from the chip levelto that of the integrated consumer com-puters. Once again, our enthusiasm forPascal must be reiterated: it is widelyavailable in a standard form and quitecompatible with personal computers.

But the languages of the computerculture do not end with BASIC, Pascaland APL—all used or discussed in these pagesto some extent. Languages for computeruse is a topic too broad to be served byjust a few examples. Other languages worthexploring in these pages might includesuch well known examples as SNOBOL,GPM, LISP, and various low level symbolicPolish notation interpreters such as KarlMeinzer's IPS interpreter which is discussedin this issue. It may be only a matter of timebefore we have systems with such languagesbuilt in. After all, the electronics engineeringis more or less identical for all small com-puters, and to distinguish them from oneanother in the marketplace, such "trivial"matters of taste as language and operatingsystems conventions may soon be importantcriteria for the computer buyer at the localcomputer store showroom. There is plentyof room for different languages and oper-ating system conventions as the marketgrows larger. Such diversity of choice is oneof the joys of the present era in computing."

January 1979 ©BYTE Publicarions Int

Circle 348 on inquiry card.

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

HORIZON

•

I

Circle 285 on inquiry card.

BYTE January 1979

There's an Ohio Scientific dealer near you.

ALABAMA

Plainsman Micro Sysiems

3808Pepperill Parkway

Ollicefll

Auburn. AL 36830

(205)821-1694

M.C.S. Corp.

Peiham Mall

Pelham. AL 35124

(205)663-1287

ALASKA

Alert TV

6122 Seward Highway

Anchorage. AK 99502

(907)344-9311

Scientific Business Instr's

500 W. 27th

Anchorage, AK 99503

(907)277-2650

ARIZONA

D.C.T Co

1210W Alameda H103

Tempe. AZ 85282

(602) 966-6440

CALIFORNIA

Anaheim Compuler Equipmenl

2974 W Ball Rd

Anaheim. CA 92804

(714)827 9570

Shuey Aircraft

1009 E Vermont

Anaheim. CA 92805

1714)991-3940

Professional Services

139 S Beverly

Beverly Hills. CA 90212

(213) 550.1560

IS Audio Visual Services

10O00 HannaSl

Chatsworth.CA 91311

(2131998-2059

Silver Spur Electronics

Communications

13552 Central Ave

Chmo. CA 91710

(714)627-9366

Alternative Computer Sysiems

216 Full Circle

Davis. CA 95616

(916) 758-5364

Advenlures m Computing

8756 Warner

Fountain Valley. CA 92706

(714)848-8388

OhioScientil.c Wesi

15461 Cnemical Lane

Hunimgion Beach. CA 92649

(714)891 2457

Olson Electronics

4642 West Century

Inglewood. CA 90304

(213)674-5740

Consumer Compulers

8907-A La Mesa Blvd

La Mesa. CA 92041

(714)465-8888

Westwood Compuler Sysiems

2268 Westwood Blvd

Los Angeles. CA 90064

(213)4750566

Data Byle ol Riverside

10088 Magnolia

Riverside. CA 92503

(714)688-2660

The Compute) Center

8205 Ronson

San Diego CA 92111

(714)292-5302

Olson Electronics

Kearny Mesa. 4840 Convoy

San Diego. CA 92111

1714)292-1100

Sysiems Engineering

900 3rd Si reel

San Francisco CA 94107

(415)7773150

A A Othce Equipment

15296 E i4ihSl

P O Box 3221

San Leandro.CA 94578

|415| 357-1737

Olson Electronics

2123 El Camino Real

Sanla Clara, CA 95051

(408) 248-4886

Kirco Corp

PO Box 396

Sierra Madre. CA 91024

(213)355-0720

COLORADO

Byie Shop ot Colorado Springs

1845 N Circle Drive

Colorado Springs. CO 80909

(303)633-7075

Sileo Elelronics Co

381 S Broadway

Denver. CO 80209

(303) 777 3222

Tricomp Compuler Country

3489 W 72nd Ave Suile 101

Denver, CO 80030

(303) 426-7743

Byle Shop, Inc

3463 Soulh Acorna

Englewood. CO 80110

(303) 761.6232

Total Daia Sysiems

125 Fairway Lane

Foil Collins. CO 80521

(303)491-5692

DISTRICT OF COLUMBIAAmerican Data HomeOlficeCompuler1030 15th StreelWashington. DC 200051202)4666612

FLORIDAOlson Electronics5833 Ponce de LeonCoral Gables. FL 33146(305) 666-3327Trans-Data Corp

161 Almena AvenueCoral Gables. FL 33134(305)576-7666Inierconiinental Computer2754 N W N. River DriveMiami. FL 33142(305)633 1546

Olson Eleclronics

1644 N. E. Second

Miami. FL 33132

(305)374-4121

Olson Electronics

6901 22nd Avenue. N.

Tyrone Square Mall

St Petersburg, FL 33710

(813)345-9119

Olson Eleclronics

1215 South Dale Mabry

Tampa, FL 33609

(813)253-3129

GEORGIA

Electronic Inlormation

Sysiems

170 Heatherwood Lane

Athens, GA 30601

(404) 353-2858

Graham Business Computer

5725 Buford Highway,

Suite 216

Atlanta. GA 30340

(404| 457-8540

Columbus Soflware Center

4723Northgaie. Box 8088

Columbus-GA 31908

(404) 563-7729

Olson Eleclronics

2571 N Decalur

Decatur. GA 30033

(404) 378-4201

HAWAII

Small Computer Systems3149c WailalaiHonolulu, HI 96816(808) 732-5246

ILLINOIS

American Microprocessors1100 E. BroadwayAlton. IL 62002(618] 465-4489Simblu Corp.800 N Mam StAntioch.IL 600021312)395-8389Tech-Ttonics715 S UniversityCarbondale. IL 62901(618)549 8495Adonis Compuling2855 W NelsonChicago. IL 60618(312)463 0847Eleclronic Systems611 N WellsChicago. IL 606101312)944-6565Olson Eleclronics4101 N. MilwaukeeChicago. IL 6064t1312)545-7336A & H Associates. Ltd2530 CrawfordEvanston.IL 60602(3121328-2600Processor Systems228 SchoolGeneva. IL 60134(312)232-7195

CompuTermmal Sysiems.Inc1132WaukeqanGlenview, IL 60025(312)724-3690Tek-Aids Industries1711 ChestnulGlenview. IL 60025(312)724-3620Autodaia Corp21000 S West enn AveOlympia Fields. IL 60461(312)747 9000American Microprocessors6934 N UmversilyPeoria. IL 61614(309) 692-5852American Microprocessors20 N MilwaukeePrauieview, IL 60069(312)634-0076Quincy Hobby Center3632 Maine StQuincy. IL 62301(217)223-8498Data Domain1612 E. AlgonquinSchaumburg. IL 60195(312)397-8700

Practical Compuler Systems1015 Easi AdamsSpnngslield. IL 62703(217) 523-9899INDIANAData Domain406 S CollegeBloomingion, IN 47401(812)334-3607American Microprocessors146 N BroadGriffith. IN 46319(219)924-7901

American Microprocessors3602 East WashingtonIndianapolis, IN 46201(317)359-7445Data Domain7027 N MichiganIndianapolis, IN 46268(317)251-3139Olson Electronics5353 N KeystoneIndianapolis. IN 46220(317)253 1584Daia Domain10 N Third

LaFayelle, IN 47902(317)423 2548Computer Management6t0 MonroeLaPorte. IN 46350(219)362-5812American Microprocessors2655 IrvingPorlage. IN 46368(219)760-2278IOWA

American Microprocessors102 E 41h

Waterloo, IA 50703(3191296 2255

KANSAS

Dunn Electronics1009 S KansasLiberal, KS 67901(316)624-1888CommunicationsSpecialties Lid530 N Third SIManhailen. KS 66502(913)776-7292Barney & Associates425 N BroadwayPittsburg, KS 66762(316)231-1970Technigraphics5911 ClaredonWichita. KS 67220(316) 744-2443KENTUCKYOlson Eleclronics117 SouthlandLexington. KY 40503(606)278-9413Data Domain3028 HunsmgerLouisville. KY 40220(502) 456-5242Olson Electronics4137ShelbyvilleLouisville. KY 40207(502) 893 2562

MARYLAND

TheMathbox

4431 Lehigh

College Park. MD 20740

(301)277 6828

Systems Engineering

1749 Rockviile Pike H307Rockville, MD 20842(3011468-1822

The Math Box2621 University Blvd. WWheaton. MD 20902[301)933-6555MICHIGANThe AbacusRoute 1 Box 193Niles Road

Berrien Springs. Ml 49103(616)429-3034Kimble Terminals451 S Eton

Birmingham. Ml 48008(313) 645-5553Microcomputer World313 Michigan N EGiand Rapids. Ml 49503(616)4518972Concept Engineering3706 Mal.buLansing. Ml 48910(517)394-0585Olson Eleclronics29121 DeQumdreMadison Heights. Ml 48071(313)546-0190Great Lakes Pholo5001 EastmanMidland. Ml 48640(517)631-5461MINNESOTA

North Stale Microcomputers1600 London Rd . Sle 100Duluth MN 55812(218)728-2695

Custom Compuler Systems

1823 Lowry

Minneapolis. MN 55411

(6121588 3944

ABS

547 25lh Avenue North

SI Cloud, MN 56301

(612) 253 8734

Ronald Fnsch.

Frisch Compulers

1415 Arcade

St Paul. MN 56301

(612) 771 7569

Westrontcs

716NW8lhSl

WiIIiiihi. MN 56201

(612)235-6096

MISSISSIPPI

Jack Fisher Sales

100 Main

Michigan City, MS 38647

(601)224-6470

MISSOURI

Four State Microcomputer

402 Wall

Joplm MO 64801

1417) 782 1285

Impact Sysiems

613 W 3rd Si

Lee's Summit MO 64063

(816)5245333

The Compuler Bil

1320 S Glensione

Springlield, MO 65804

(417)883 3709

Futureworld

1909 Seven Pines

Si Louts. MO 63141

(314| 434-1 121

Sauer Computer Sysiems

1750 Soulh BrcniwoodSuite 601

St Louis. MO 63144(314)962-0382MONTANALmco

PO Box 2418Cut Bank, MT 59427(406)336 3117

NEBRASKA

Intelliqeni Sys 8 Robohcs

2335 S 35lh

Lincoln. NE 68506

1402) 483 1989

Omaha Computer Store

4540 Soulh 841h

Omaha, NB 68127

(402) 592 3590

NEVADA

J B A Associates

1700 Wester Ave «C

Las Vegas, NV 89102

1702)382-0562

NEW JERSEY

Computer Corner240 WanaquePompton Lake, NJ 07442(201)835 7080Garden Slate Computet922 South AvenueWest held. NJ 07090(201)232-0511NEW YORKDBIS

475 Wlnle Plains RoadEaslcheslei, NY 10707(914)779-5292Associated Consultants33 Ogden

Easi Wilhslon. NY 11596(516) 746.1079Al A Glance Farm RecordsPO Box 98Manhu5, NY 13104(315)477-6405Aristo-Crall314 5lh AvenueNew York. NY 10001(212)2799034Belter ProgrammingSysiems. Inc275 Fori Washington AveNew York. NY 10032(212)6946601Compuler Mart ol N Y118 MadisonNew York NY 10016(212)686-7923Biaq Microcomputers19 CambridgeRochesier, NY 14607(716)442-5861Universal Data Research234 Tennyson TerraceWiltiamsville. NY 14221(7161689-7788NORTH DAKOTAGeneral Sys Programming1013 University AvenueGrand Forks. ND 58201(701)746-1042OHIO

Olson Eleclronics69 Wesi StateAkron. OH 44308(216)7620301Olson Eleclronics3265 W MarkelAkron OH 44313(216)8643407Olson Eleclronics260 S Forge StAkron. OH 44327(216)535 1800Band-Orch Inc337 E SlaieSlAlliance. OH 44601(216)821 2600I ucas Ollice Equipmenl

A Service869 E FranklinCenterville. OH 45459

(513)433 8484

Ecoi

> Date

580 Walnut

Cincinnati. OH 45202

(513)421 7071

Systems Support Associates

2330 Viclnry Parkway

Cincinnati OH 45206

(5131281 4477

MedlCaJ Business Sysiems

6685 Beta Drive

Cleveland. OH 44)43

(216)461 7650

Olson Electronics

2020 Euclid

Cleveland. OH 44115

(216)621 6387

Olson Electronics

6813 Pearl

Cleveland. OH 44115

(216)845-2424

Olson Eleclronics

21850 Center Ridge

Cleveland. OH 44116

1216)331 4600

Olson Electronics

1975 Henderson

Columbus. OH 43220

(614)451 3245

Aslro Video Eleclronics Inc

504 E Main St

Lancaster, OH 43130

(614)6870629

Johnson Computer

123 W Washington

Medina. OH 44256

(216) 7254560

Micro Systems Sales

30 W Aurora Road

Northheld.OH 44067

(216)4670003

Integrated Management

Sysiems

7074 While Butterfly Lane

Reynoldsburg. OH 43068

(614)866-1307

OlsonElectron.es

7401 Markel

Southern Park Mall

Youngstown. OH 44512

(216) 759-3828

OKLAHOMA

Gauger Engineering

910 Orient Streel

Clinton. OK 73601

(405) 323-2320

Accounting Sysiems

2709 Orlando

Oklahoma City, OK 73120

(405) 75t 1537

Gauger Engineering

3824 S 79lh Easi

Tulsa. OK 74145

(918)627 1064

OREGON

Computer Sotulions Inc

4600 NW Sulphur Springs

Road

Corvallis. OR 97330

(503)745-5172

Schoolfutures Inc.Box AOhara HallMarylhursl, OR 97036(503) 635-3544Fial Computer10675 SE 42nd AvenueMilwaukie, OR 97222(503)654-9574

PENNSYLVANIA

Broadl Enterprises

550 N, Oerr/Rt 15

Lew.sberg, PA 17837

(717)523-9864

Television Parts Co. Inc.

518 5th Ave

New Brighton, PA 15066

(412)846-4044

Inlernational

Automation Inc

2nd Floor

Mellon Bank Bldg.

New Kensington. PA 15068

(412)335-3090

Olson Eleclronics

5918 Penn

Pittsburgh. PA 15206

(412) 362-1333

Olson Electronics

3405 Saw Mill Run

Pilisburgh. PA 15227

(412)881 0702

Olson Electronics

4778McKnigh1

Pilisburgh. PA 15237

(4121366-7298

Abacus Daia Systems

Route 8

Reno. PA 16343

(81416776502

Creative Computer Systems

& Soltware

14 S Church St

West Chester PA 19380

(215)436-4750

SOUTH CAROLINAIsland Business Machines21 Kingbird

Hilton Head Is. SC 29928(803) 785-3631

TENNESSEE

Compuler Power of Memphis3340 Walker AvenueMemphis. TN 381111901)452-1526

Computer Power ot Oak Ridge800 Oak Ridqe TurnpikeOak Ridge. TN 37830(6151482 9031TEXAS

Personnel Cosi Control113H Slemmons FreewayDallas, TX 75229(214)634 1230Cybertronics16327 Timber ValleyHouston. TX 7707017131376-8431Mr Computer744 FM 1960W . SuileEHouston, TX 77090(7131 444-7419Kay Compulers1230 Mam

League City. TX 77573(713)332-5555Computer Shop6812 San PedroSan Antonio, TX 78216(512)8280553

UTAH

Home Computer Slore

2343 Easi 3300 South

Salt Lake City, UT 84109

(80t) 484 6502

TV Specialists

170 E 2100 South

Sail Lake City UT 84108

(801)486-7555

VIRGINIA

Community General Slore2704 N PershingArlington. VA 22201(703)527.4600H/B Compulers217 E Main St.Charlottesville. VA 22901(804)295-1975Miciosystems. Inc.5320 WilliamsonRoanoke. VA 24012(703) 563-0693

WASHINGTON

Ye Olde Computer Shoppe

1605 E Isaacs SI

Walla Walla. WA 99362

(509)529 9331

Ye Olde Computer Shoppe

546 North 6th

Walla Walla, WA 99362

(509) 5299566

WISCONSIN

Indian Head Compuler

Sysiems

405 S Farwell St

Eau Ctaire, Wl 54701

(7151834-8169

MicroComp

785 S Main

Fonddu Lac. Wl 54935

(414)922.2515

Specially Office Machines

20 East Second

Fond du Lac, Wl 54935

(414)922-5440

American Microprocessors

3121 Windsor Rd

Janesville.WI 53545

(608) 7520111

Compuler Consultants

206 Hood. Box 1027

Lacrosse. Wl 54601

(608)784-7979

Madison Compuler Slore

1863 Monroe

Madison, Wl 53711

(608) 255-5552

Faragher & Associates

7635 W Bluemond Rd

Milwaukee. Wl 53213

(414)258 2588

Indianhead Compuler

Box 178 Route 4

Rice Lake. Wl 54868

(715)2344323

Farragher & Assoc1322 N. 71st,

Wauwatosa, Wl 53213(414)778-2243Olson Eleclronics3125 Soulh 108lhWest Allis.WI 53227(414)541-1406WYOMING

Interactive OperationsAssociatesP.O.Box 1322Bluelield. WY 24701(304) 327-6583Control Technology204 Crazy Horse LaneGillette, WY B2716(307) 682-0300CANADABecterm

1277 ChemmSt JeanBernieres, Quebec,Canada G0S 1C0(418)831-4522Omega Computing LtdBox 220Station PToronto, OnlanoCanada M5S 2S7(416)425-9200Robo Tromcs509 16th N WCalgary. AibenaCanada T2M 0J6(403) 282 9468

AUSTRALIA

Sys Automanon Propr Lid26 Clark St. Crows Nest.N S.W

Australia 2065(02) 439-6477

SOUTH AMERICASAVEP O Box 701

Cuenca. Ecuador830-770

SWITZERLAND

Naalexco Corp

4023 Basel

Basel. Switzerland 4023

(0114161)463626

WEST GERMANYPan Atlantic ComputerSystems. GmbH

61 DarmstadtFranturlerstrasse 78West Germany1061511292923BISY

Rheinstrasse 24040 Neuss 1

West Germany(02101)28124

MlCroCOmpuler

Datensysteme GmbHAlsfrelder Slrasse6PO Bo- 11 08-68D6100DarmsiadlWest Germany(06151) 71-4444

BELGIUM

IEC international Elec

Avenue Charles Plismer 3F

B-l070BruxellesiBelqium)

02(521-95-80

ENGLAND

Muiek

The Studio. Quarry Hill.

Box Corsham

Wilishne. England

022121-3289

Abacus Compulers Limned

62 New Cavendish StreetLondon Wl. England01-580-8841

U-MicrocompuiersP O Box 24Northwich. CheshireC8W 1RS. England0606-75627

FHANCE

Janal Compuler Shop

12 Rue Pasquier

75008 Pans, France

329-5237

Electronic J L

97 Rue des Chantiers

78000 Versailles

France

950-2820

ITALY

Skylab

Via M Gioia66

20125 Milano

Italy

(02) 688-3806

Ediconsult S.R L

ViaCaccin. 12

Monza. Italy

039 38 9850

SWEDENIsotronic ABBox 305618303 TabySweden(08) 756-0155

ECUADORSAVE

Sociedad AnonimaDeVenleesP O Box 701Cueno — Ecuador830-770

GREECE

Compumak Ltd117 SolonosSlAthens 142. Greece3632952

NETHERLANDS

Ingenieurs Bureau

Koopmans

Joh. Vermeer Str 7

3351 BM Papendrechl

Netherlands

078-56033

PUERTO RICO

Puerto Rico Compuler Sales

P O Box 2036

HatoRey.

Puerto Rico 00919

(809)751-4042

C)

America's Largest Full Line Microcomputer Company

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

The Age of Affordable PersonalComputing Has Finally Arrived.

Ohio Scientific has made a major breakthrough in small com-puter technology which dramatically reduces the cost of per-sonal computers. By use of custom LSI micro circuits, we havemanaged to put a complete ultra high performance computerand all necessary interfaces, including the keyboard and powersupply, on a single printed circuit board. This new computeractually has more features and higher performance than somehome or personal computers that are selling today for up to$2000. It is more powerful than computer systems which costover $20,000 in the early 1970's.

This new machine can entertain your whole family with spec-tacular video games and cartoons, made possible by its ultrahigh resolution graphics and super fast BASIC. It can help youwith your personal finances and budget planning, made possibleby its decimal arithmetic ability and cassette data storage capa-bilities. It can assist you in school or industry as an ultra powerfulscientific calculator, made possible by its advanced scientific

math functions and built-in "immediate" mode which allowscomplex problem solving without programming! This computercan actually entertain your children while it educates them intopics ranging from naming the Presidents of the United Statesto tutoring trigonometry all possible by its fast extended BASIC,graphics and data storage ability.

The machine can be economically expanded to assist in yourbusiness, remotely control your home, communicate with othercomputers and perform many other tasks via the broadest line ofexpansion accessories in the microcomputer industry.

This machine is super easy to use because it communicatesnaturally in BASIC, an English-like programming language. Soyou can easily instruct it or program it to do whatever you want,but you don't have to. You don't because it comes with a com-plete software library on cassette including programs for eachapplication stated above. Ohio Scientific also offers youhundreds of inexpensive programs on ready-to-run cassettes.Program it yourself or just enjoy it; the choice is yours.

I'll'iM'.*, -'■n«>fll<IB'B0!!B16BfiBl'iCZDB'BBBBEfiDG

•BBDBBBB O'QOfl

1!ulHjJ.UU!1

III!■■■

k|k> i* *

If!* » »

ummmmMM

Ohio Scientific offers you this remarkable new computer two ways.

Challenger 1P $349

Fully packaged with powersupply. Just plug in avideo monitor or TVthrough an RF con-verter to be up andrunning.

Superboard li $279

For electronic buffs. Fullyassembled and tested. Re-quires + 5V. at 3 Ampsand a video monitor or TVwith RF converter to be upand running.

.—Standard Features.

U Uses the ultra powerful 6502 microprocessor

■ 8K Microsoft BASIC-in-ROM

Full feature BASIC runs faster than currently availablepersonal computers and all 8080-based business com-puters.

■ 4K static RAM on board expandable to 8K

■ Full 53-key keyboard with upper/lower case and userprogrammability

■ Kansas City standard audio cassette interface for highreliability

■ Full machine code monitor and I/O utilities in ROM

■ Direct access video display has 1K of dedicated memory(besides 4K user memory), features upper case, lowercase, graphics and gaming characters for an effectivescreen resolution of up to 256 by 256 points. Normal TV'swith overscan display about 24 rows of 24 characters;without overscan up to 30 X 30 characters

Extras

■ Available expander board features 24K static RAM (addi-tional), dual mini-floppy interface, port adapter for printerand modem and an OSI 48 line expansion interface.

■ Assembler/editor and extended machine code monitoravailable.

Interested in a bigger system? Ohio Scientific offers 15other models of microcomputer systems ranging fromsingle board units to 74 million byte hard disk systems.

Circle 290 on inquiry card.

r-ORDER FORM

Order direct or from your local Ohio Scientific dealer.

□ I'm interested. Send me information on your:□ Personal Computers I I Business Systems

□ Send me a Superboard II $279 enclosed

□ Send me a Challenger 1 P $349 enclosed

□ Include 4 more K of RAM (8K Total) $69 more enclosed

Name

AddressCity

.State.

-Zip-

Payment by: BAC (VISA)CreditCardAccount # _Expires

_MasterCharge

.Money Order

Interbank #(Master Charge)Ohio Residents add 4% Sales Tax

TOTAL CHARGED OR ENCLOSED

All orders shipped insured UPS unless otherwise requested. FOB Aurora. OH

America's Largest Full Line Microcomputer Company1333 S. Chillicothe Road • Aurora, Ohio 44202 (216) 562-3101

BYTE January 1979

COMPUTER INSURANCE?

In response to Leonard Anderson'sletter (October 1978 BYTE, page 157)regarding insurance for computers, Ithink a few comments are in order:

1. A standard homeowners policywill extend to cover a microcom-puter system. As Mr Andersonmentioned, this type of policy isgenerally set at minimum amountof coverage for personal propertywithin a dwelling at SO percent ofthe dwelling itself. However, thisis a minimum amount and it canbe increased usually at a rate ofabout $2 per thousand, to what-ever limit is necessary to coverthe contents involved.

2. Coverage under a homeownerspolicy, however, provides cover-age only on a "named peril" basis.That is, such types of losses asfire, smoke, vandalism and theftwould be covered. On the otherhand, losses such as breakagewould not be covered under thistype of policy.

3. If a broader form of coverage isneeded, it should be possible tohave a separate personal propertyfloater written to cover the micro-computer. We have done this insome instances and it does give an"all risk" form of coverage. It isnecessary, however, to specify thevalues involved in your systemwhen writing this type of policy.

4. In any event, both the home-owners and the personal propertyfloater cover only the value ofraw media, eg: disks and tapeswill be covered only for the valueof the disks or tapes, not for thevalue of the programs entered onthose media. This would notapply, however, to commerciallypurchased disks and tapes whichalready have programs on them,since the insurable value would bethe purchase price.

5. In all the above instances, we haveassumed that the computer is apersonal computer and is notbeing used for business purposes.If the system Is being used forbusiness purposes, it is necessaryto write a separate policy to coverthis system. A homeowners policywill specifically exclude equip-ment used for business purposes,and in that event I would recom-mend that you write either a per-sonal property floater or, for

those persons who have an officebut take their computer home foradditional programming, etc, itwould probably be possible to ex-tend the business policies to coverthe computer.6. For those persons involved infairly extensive business use ofcomputers, there are specialitypolicies written by a limitednumber of insurance companies,(eg: St Paul Insurance Companyand Fireman's Fund) which arespecifically designed to coverboth computer systems and allforms of media.

I hope these comments will be ofsome help to your readers.

Bob Henderson CPCU, CLU

Hendersons Inc Insurance Brokers

6548 S Bright Av

Whittier CA 90601

SOME FOOTNOTES FROM JAPAN

I mentioned "two recent Tokyoshows" in my letter Some Notes FromJapan in September 1978 BYTE, page17. The Sharp PC1300 appeared at thebusiness show, as mentioned; the otheritems (Mitsubishi, Panafacom, NEC, etc)were at the microcomputer show. Sorryabout the omission.

A conversion error of 680 grams to8 ounces appeared in my letter. 1pound 8 ounces is nearer.

Also, NEC's Level 2 BASIC has onlyjust appeared (September 1978). It's areplacement read only memory for the8080 system.

K S Wilkinson

CPO Box 1748

Tokyo JAPAN 100-91

JUMPING BACKWARDS WITHWADUZITDO

I found the WADUZITDO program(September 1978 BYTE, page 166) funto play with and I noticed that theJUMP function could easily be modifiedto permit backward jumps, as follows:

00A5 FE 010000A8 C4 OF00AA 26 02

LDX L0C

AND B #$0FBNE JF

Now, WADUZITDO can jump backin an absolute fashion (rather than rela-

Continued on page 166

See Solqt all these

fine

computer

centers

CA: Costa Mesa: Orange County ComputerCenter, (714) 646-0221. Modesto: ComputerMagic, (209) 527-5156. Mountain View:Digital Deli, (415) 961-2670. San Rafael: TheByte Shop, (415) 457-9311. Walnut Creek:The Byte Shop, (415) 933-6252. CO: Denver:The Byte Shop, (303) 399-8995. CT: Bethel:Technology Systems, (203) 748-6856. FL: Ft.Lauderdale: Byte Shop of Ft. Lauderdale,(305) 561-2983. Miami: Byte Shop of Miami,(305) 264-2983. Tampa: MicrocomputerSystems, (813) 879-4301. IL: Lombard: MidwestMicrocomputer, (312) 495-9889. IA:Davenport: Memory Bank. (319) 386-3330. KY:Louisville: Martronix Associates, (502)459-0500. MD: Silver Springs: Computers Etc.,(301) 588-3748. Towson: Computers Etc.,(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: ROM's 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, (81 7)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.WA: Bellevue: Byte Shop Computer Store, (206)746-0651. Seattle: Byte Shop of Seattle,(206) 622-7196. Wl: Madison: The MadisonComputer Store. (608) 255-5552. Milwaukee:The Milwaukee Computer Store, (414) 445-4280.DC: Georgetown: Georgetown ComputerEmporium, (202) 337-6545. CANADA: London,Ontario: The Computer Circuit Ltd., (519)672-9370. Toronto, Ontario: Computer Mart Ltd.,(416) 484-9708. Vancouver, B.C.: BasicComputer Group Ltd.. (604) 736-7474.ARGENTINA: Buenos Aires: Basis SistemasDigitales, 93-1988 or 57-7177. AUSTRALIA:Sydney: Automation Statham, (02) 709.4144.BELGIUM: Bruxelles: S.P.R.L Finncontact.2/345-98-95. COLUMBIA: Bogota: VideoNational, 326650. MEXICO: Mexico City:Industrias Digitales, (905) 524-5132.PHILIPPINES: San Juan, Metro Manila: IntegratedComputer Systems, Inc., 78-40-71. SPAIN:Barcelona: Interface S.A., (93) 301 7851.SWEDEN: Stockholm: Wernor Elektronik, (0)8717-62-88. UNITED KINGDOM: Huntingdon,England: Comart, Ltd., (0480) 74356.VENEZUELA: Los Ruices, Caracas:ComponentesYCircuitos ElectronicosTTLCA, 355591.

10

January 1979©BYTE Publications 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

t&

1.1,,,!

Y

..„,J

^H

HHHHHHHHHH|iHHH|

£jU 1 ,:''>1*tf^ifi"3i2VkuHHi

",.'•;■ H H * «S3K3

DYNABYTE COMPUTERS

ARE ALL BUSINESS

INSIDE AND OUT.

When we designed our new smallbusiness computers, we meant busi-ness.

As basic as that seems, it is unique.Just about every other microcomputerbeing sold as a small business systemtoday was originally designed as a kitfor hobbyists.

Every design decision was madewith quality and reliability in mind. Theresult is dependable performance and asolid appearance for business, profes-sional and scientific applications.

FIRST SMALL SYSTEM WITHBIG SYSTEM STORAGE

Many applications handle largequantities of information, so the DB8/2uses two quad density 5-inch diskdrives with our exclusive Dual DensityDisk Controller for up to 1.2 megabytesof formatted storage. That's morecapacity than two single density 8-inchdrives.

If you need more storage, ourDB8/4 has two 8-inch drives with up to2 megabytes capacity, more than anyother dual floppy disk system on themarket.

OUR SOFTWARE ISBIG ON BUSINESS

Dynabyte helps you get down tobusiness immediately. The DB8/2 is thefirst microcomputer to offer enoughstorage capacity on 5-inch drives tofully utilize CP/M,* the most widelyaccepted disk operating system. Wealso supply and support BASIC, FOR-

* CP/M is a trademark of Digital Research.

TRAN and COBOL programming lan-guages. Our applications packages in-clude general ledger, accounts receiv-able, word processing and many otherCP/M compatible programs.

Reliability is a big consideration inbuying a business computer, so we builtit in. Our edge connectors meet militaryspecifications, the toughest electronicsmanufacturing standard. Our regulatedpower supply is designed to meet U.L.standards, which means the entire sys-tem runs cool and dependable. And ourcast aluminum enclosures are rugged aswell as attractive.

AND THE BIGGESTTHING OF ALL

Customer support. Our supportstarts at the factory with testing andburn-in programs that assure the entireintegrated system is reliable prior toshipment. Our completely modular de-sign allows continuing support in thefield. We maintain a bonded inventoryof all sub-system modules which meanswe can deliver replacement sub-assemblies overnight nearly anywherein the continental U.S.

Dynabyte built in little things, too.Like a fully-populated 12-slotbackplane, switched AC outlets for ac-cessories, an option for Europeanpower, quiet whisper fans with long-lifemetal construction, lighted indicatorswitches for Power On and Halt, ashielded enclosure to protect disk drivesfrom electro-mechanical interference,and a fully enclosed power supply for

operator safety.

Since we didn't cut corners in de-sign, the price/performance ratios ofour systems make good business sense.

THE INSIDE FACTS

The DB8/2 Computer System in-cludes two 5-inch disk drives eithersingle or double sided for up to 1.2megabytes of mass storage; a 4MHzZ-80 processing module with oneparallel and two serial ports, anEPROM programmer and up to 4kROM; 32k of RAM, a 12-slot fully-populated backplane; our exclusiveDual Density Disk Controller, andCP/M.

The DB8/1 Computer includes a4MHz Z-80 processor with one paralleland two serial I/O ports, an EPROMprogrammer and up to 4k of ROM; 32kRAM, and a 12-slot fully-populatedbackplane.

The DB8/4 Disk System, designedto be the mass storage companion to theDB8/1, includes two 8-inch floppy diskdrives in either single or double sidedconfiguration for up to 2 megabytes ofmass storage, our Dual Density DiskController, and CP/M.

All three units will be available inrack mount models.

For a descriptive brochure andprice list, call or write Dynabyte, 1005Elwell Court, Palo Alto, CA 94303.Phone (415) 965-1010.

Or better yet, see your local dealer.

DunansiTE

YOU CAN DEPEND ON IT.

Circle 110 on inquiry card.

BYTE January 1979

13

Terry Ritter

Joel Boney

Motorola Inc

3501 Ed Bluestein Blvd

Austin TX 78721

The 6809

Part 1: Design Philosophy

This is a story. It is a story of computersin general, specifically microcomputers, andof one particular microprocessor — withrevolutionary social change lurking in thebackground. The story could well be imagi-nary, but it happens to be true. In this 3 partseries we will describe the design of whatwe feel is the best 8 bit machine so far madeby human: the Motorola M6809.

Philosophy

Photo I: Systems architects Ritter (right) and Boney review some of the6809 design documents. This work results in a complete description of thedesired part in a 200 page design specification. The specification is then usedby logic designers to develop flowcharts of internal operations on a cycle bycycle basis.

A new day is breaking; after a long slowtwilight of design the sun is beginning torise on the microprocessor revolution.For the first time we have mass productioncomputers; expensive, custom, cottageindustry designs take on less importance.

Microprocessors are real computers. Thefirst and second generation devices are notvery sophisticated as processors go, butthey are general-purpose logic machines.Any microprocessor can eventually bemade to solve the same problems as anylarge scale computer, although this maybe an easier or harder task depending onthe microprocessor. (Naturally, some jobsrequire doing processing fast, in real time.We are not discussing those right now. Weare discussing getting a big job done some-time.) What differentiates the classes is ahierarchy of technology, size, performance,and, curiously, philosophy of use.

A processor of given capability has afixed general complexity in terms of digitallogic elements. Consider the computersthat were built using the first solid statetechnology. In short, they consisted of manythousands of individual transistors and otherparts on hundreds of different printed cir-cuit cards using thousands of connectionsand miles of connecting wire. A big compu-ter was a big project and a very big expense.This simple economic fact fossilized a wholegeneration of technology into the "bigcomputer philosophy."

Because the big computer was so expen-sive, time on the computer was regarded asa limited and therefore valuable resource.Certainly the time was valuable to re-searchers who could now look more deeplyinto their equations than ever before. Com-puter time was valuable to business peoplewho became at least marginally capable ofanalyzing the performance of an unwieldy

14

January 1979 © BYTE Publications Inc

Photo 2: 6809 logic design. Design engineer Wayne Harrington inspects a portion of 6809's processor logic blueprint at the Mo-torola Austin plant. The print is colored by systems engineers to partition the logic for the logic-equivalent TTL "breadboard. "

bureaucratic organization. And the compu-ter makers clearly thought that processortime was valuable too; it was a severelylimited resource, worth as much as the mar-ket would bear.

Processor time was a limited resource.But some of us, a few small groups oftechnologists, are about to change that situa-tion. And we hope we will also change howpeople look at computers, and how pro-fessionals see them too. Computer timeshould be cheap; people time is 70 yearsand counting down.

The large computer, being a very expen-sive resource, quickly justified the capitalrequired to investigate optimum use of thatresource. Among the principal results ofthese projects was the development ofbatch mode multiprocessing. The computeritself would save up the various tasks it hadto do, then change from one to the other atcomputer speeds. This minimized thewasted time between jobs and spawned theconcept of an operating system.

People were in the position of waiting forthe computer, not because they were less

important than the machine, but preciselybecause it was a limited resource (theproblems it solved were not).

Electronics know-how continued to de-velop, producing second generation solidstate technology: families of digital logicintegrated circuits replaced discrete transis-tor designs. This new technology was ex-ploited in two main thrusts: big computerscould be made conceptually bigger (orfaster, or better) for the same expense, or

About the Authors

Joel Boney and Terry Ritter are with the Motorola 6800 Micro-processor Design Group in Austin TX. Joel is responsible for thesoftware input into the design of the 6800 family processors andperipheral parts and was a co-architect of the M6809. Terry Ritter isa microcomponent architect, responsible for specification of the 6809advanced microprocessor. While with Motorola, Terry has been co-architect of the 6809, and co-architect as well of the 6847 and 68047video display generator integrated circuits. He holds a BSES from theUniversity of Texas at Austin and Joel Boney has a BSE from theUniversity of South Florida.

January 1979 © BYTE Publicalions Inc

15

The other major deviceneeded for home compu-ters — the video displaygenerator color TVinterface — is presently involume production. Sev-eral versions are available,many derived from theoriginal Motorola archi-tecture.

computers could be made physically smallerand less expensive. These new, smallercomputers (minicomputers) filled marketsegments which could afford a sizable butnot huge investment in both equipment andexpertise. Laboratories could use them, forexample. But most people, including scien-tists and engineers, still used only the verylarge central machines. Rarely were mini-computers placed in schools; few computerscience or electrical engineering departments(who might have been at the leading edge ofnew generation technology) used them forgeneral instruction.

And so the semiconductor technologistsbegan a third generation technology: theability to put all the logic elements requiredto build a complete computer on a singlechip of silicon. The question then became,"How do we use this new technology (tomake money)?"

The semiconductor producer's problemwith third generation technology was that anunbelievably large development expense was(and is) required to produce just one largescale integration (LSI) chip. The best roadto profit was unclear; for a while, customerinterconnection of gate array integratedcircuits was tried, then dropped. Completecustom designs were (and are) found to beprofitable only in very large volumes.

Another road to profit was to produce a

'

Photo 3: 6809 emulator board. Software and systems engineers implement afunctional equivalent of the 6809 as a 6800 program. A 6800 to 6809 crossassembler allows 6809 programs to be assembled and then executed as acheck of the architectural design.

few programmable large scale integrationdevices which could satisfy the market needs(in terms of large quantities of different sys-tems) and the factory's needs (in terms ofvolume production of exactly the samedevice). Naturally, the general-purpose com-puter was seen as a possible answer.

So what was the market for a general-purpose computer? The first thought was toenter the old second generation markets;ie: replacement of the complex logic ofsmall or medium scale integration. Controlsystems, instruments and special designscould all use a similar processor, but thedesigner was the key. Designers (or designmanagers) had to be converted from theirheavy first and second generation logicdesign backgrounds to the new third genera-tion technology. In so doing, some earlymarketing strategists overlooked the principalmicroprocessor markets.

Random logic replacement was by nomeans a quick and sufficient market formicroprocessors. In particular, the design-in cycle was quite long, users were oftenunsophisticated in their uses of computers,and the unit volume was somewhat small.Only when microprocessors entered highvolume markets (hobby, games, etc) didthe manufacturers begin to make money andthus provide a credible reason (and funds)for designing future microprocessors. Natu-rally, the users who wanted more featureswere surprised that it was taking so long toget new designs — they knew what wasneeded.

Thus semiconductor makers began torealize that their market was more orientedto hobby applications than to logic replace-ment, and was more generalized than theyhad thought. But even the hobby marketwas saturable.

Meanwhile companies continued to im-prove production and reduce costs, andcompetition drove prices into the ground.Where could they sell enough computersfor real volume production, they wondered.One answer was the personal computer!

Design of Large Scale Integration Parts

The design of a complex large scaleintegration (LSI) part may be convenientlybroken into three phases: the architecturaldesign, the logic and circuit design/architec-tural review, and the layout software andhardware (breadboard) simulations. Eachphase has its own requirements.

The architect/systems designers representthe use of the device, the needs of the mar-ketplace and the future needs of all cus-tomers. They propose what a specific cus-

16

January 1979 ©BYTE Publications 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 control /

14 keys accommodate numeric entry / 16 special function keys

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

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

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

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

IQ120

\ The SOROC

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

The IQ 120 offers such features as: 1920 character

screen memory, lower case. RS232C extension,

switch selectable transmission rates from 75 to

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

functions and protect mode. Expansion options presently

available are: block mode and hard copy capability with

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

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

6BOROCTECHNOLOGY, INC.

Circle 343 on inquiry card.

165

FREEDOM AVE., ANAHEIM, CALIF. 92801

[7141992-8860 / (BOO) B54-Q147

Photo 4: Circuit design.Detailed computer simu-lations of the circuit underdesign yield predictions ofon chip waveforms. TulleyPeters and Bryant Wilderdecide to enhance a parti-cular critical transistor.

tomer should have that could also be usedby other customers, possibly in differentways. They advocate what the customerswill really want, even if no customers canbe identified who know that they willwant it, that it is possible or that it is inex-pensive. The attitude that "I know what isbest for you" may be irritating to mostpeople, but it is necessary in order to makemaximum use of a limited resource (in thiscase, a single LSI design). The architecteventually generates the design specifica-tion used in subsequent phases of the design.

Logic design consists of the production ofa cycle by cycle flowchart and the derivationof the equations and logic circuitry necessaryto implement the specified design. This is ajob of immense complexity and detail, butit is absolutely crucial to the entire project.Throughout this phase, the specificationmay be iterated toward a local optimum ofmaximum features at minimum logic (andthus, cost). The architectural design con-tinues, and techniques are developed tocross-check on the logical correctness of thearchitecture.

The third phase is the most hectic interms of demands and involvement. By thistime, many people know what the productis and see the resulting part merely as theturning of an implementation "crank."It seems to those who are not involved inthis phase that more effort could cause thatcrank to turn faster. Since the product couldbe sold immediately, delay is seen as a real

loss of income. \n actual practice, moreeffort will sometimes "break the crank."

A medium scale integration logic imple-mentation (usually transistor-transistor logic,for speed) is required to verify the logicdesign. A processor emulation may requireten different boards of 80 medium scaleintegrated circuits each and hundreds ofboard to board interconnections. Eachboard will likely require separate testing,and only then will the emulation representthe processor to come. Extensive test pro-grams are required to check out each facetof the part, each instruction, and eachaddressing mode. This testing may detectlogic design errors that will have to be fixedat all levels of design.

Circuit design, in the context of thesemiconductor industry, depends upon run-ning computer simulations (which requiresophisticated device models) of signals atvarious nodes to verify that they will meetthe necessary speed requirement. Transis-tors are sized and polysilicon lines changedto provide reliable worst case operation.

Layout is the actual task of arrangingtransistors and interconnections to imple-ment the logic diagram. Circuit design resultswill indicate appropriate transistor sizes andpolysilicon widths; these must now bearranged for minimum area. Every attemptis made to make general logic "cells" whichcan be used in many places across the inte-grated circuit, but area minimization is theprincipal concern.

^ *■*

The

C3-SI

by Ohio Scientific

Possibly the world's

most popular

floppy disk based

microcomputer.

Since its introduction in August, 1977, the Challenger III hasgained tremendous acceptance in small business, educationaland industrial development applications. Thousands of C3-S1 'shave been delivered and today hundreds of C3-S1 demonstratorunits are set up at computer retailers around the country.

Why has the Challenger III become so successful in the fiercelycompetitive microcomputer industry? Here are just a few ofthe possible reasons.

■ The Challenger III is the fastest microcomputer in BASIC(see "BASIC Timing Comparisons," Kilobaud, October, 1977,where Ohio Scientific out benchmarks all competitors).

L The Challenger III is the only computer system with a6502A, 6800 and Z-80 offering the programmer all popularmicros for maximum versatility.

■ The C3 is backed by the largest base of systems levelsoftware for any microcomputer system including:

For the 6502A:Microsoft 6 and 9 Digit BASICAssembler EditorWord ProcessorOS-65D Development DOSOS-65U End User DOS with Extended BASIC

For Floppys

Winchester Hard Disks

Multi-users (Level 2)

Distributed Processing (Level 3)

For the 6800:Floppy DOSAssembler Editor

For the Z-80:Floppy DOS

Microsoft Disk Extended BASICMicrosoft FORTRANMicrosoft COBOLMacro Assembler and EditorAnd Much More

■ The C3 supports OS-65U, the ultra high performance"virtual data memory" DOS for floppys and hard disks whichmakes complex file structures like multi-key ISAM easy to use.

■ The C3 is backed by a large library of applications programs

and can make use of the tremendous amount of BASICprograms offered by independent suppliers and publishersbecause it uses Microsoft BASIC, the standard of the industry.Complete turnkey and custom business packages areavailable for the C3 from most OHIO SCIENTIFIC DEALERS.

L. The C3 electronics and software are available in alternatemechanical configurations for special applications includingthe C3-OEM for volume users and the C3 letter series (C3-A,C3-B) which are optimized for use with hard disks.

■ C3 systems are always delivered ready to use with 32Kstatic RAM, dual floppys for 500K bytes of on-line storage andan RS-232 port strappable from 75 to 19,200 baud all standardin the minimum configuration.

■ C3 systems offer the greatest expansion capability in themicrocomputer industry. The C3 series supports OHIOSCIENTIFIC'S full line of over 40 expansion accessories. Themaximum configuration is 768K bytes RAM, four 74 millionbyte Winchester hard disks (CD-74), 16 communications ports,real time clock, line printer, Word Processing printer andnumerous control interfaces.

rii C3 systems have phenomenal performance-to-cost ratios.The C3-S1 base price with 32K RAM, dual floppys, RS-232 portcomplete with 8K BASIC and DOS is under $3600 and expan-sion accessories are comparably priced. For example, theCD-74, 74 million byte Winchester disk complete with interfaceand OS-65U operating system at about $6000.

The C3 series is quite possibly so successful because it offersthe highest hardware performance, best software support,most versatility and greatest expandability in the micro-computer systems market at nearly the lowest price in theindustry.

For more information, contact your local OHIO SCIENTIFICDEALER or the factory at (216) 562-3101.

1333 S. Chillicothe Road • Aurora, Ohio 44202

Circle 290 on inquiry card.

BYTE January 1979 19

The layout for the chip eventually existsonly as a computer data base. Each cell isindividually digitized into the computer,where it can be arbitrarily positioned,modified or replicated as desired. Large2 by 3 m (6.5 by 10 feet) plots of variousareas of the chip are hand checked to thelogic diagram by layout and circuit designersas final checks of the implemented circuit.

When layout is complete, the computerdata base that represents the chip design issent to the mask shop (the mask is a photo-graphic stencil of the part used in themanufacturing process). At the mask shopprecision plotting and photographic stepand repeat techniques are used to produceglass plates for each mask layer. Each maskcovers an entire wafer with etched nickelor chrome layouts at real chip size. (Atypical LSI device will be between 5 by 5and 7.5 by 7.5 mm (0.2 by 0.2 and 0.3 by0.3 inches). These masks are used to exposephotosensitive etch resist that will protectsome areas of the wafer from the chemicalprocesses which selectively add the impuri-ties that create transistors.

Actual processing steps are quite similarfor each part. But the processing itself is avariable, and it will not be known untilfinal testing exactly how many parts willturn out to be saleable. Therefore, a bestestimate is taken, and the required number

of wafers (of a particular device) is startedand processed. The whole industry revolvesaround highly trained production engineers,chemists and others who process wafers tohighly secret recipes. Some recipes work,some don't. You find out which ones do bytesting.

Each die (ie: individual large scale inte-gration circuit) is tested while still on thewafer; failing devices are marked with ablob of ink. The wafer is sawed into individ-ual dies and the good devices placed into aplastic or ceramic package base. The con-nection pads are "die bonded" to theexposed internal lead frame with very tinywire. The package is then sealed and testedagain.

Testing a device having only 40 pinsbut which has up to 40,000 internal transis-tors is no mean trick nor a minor expense.Furthermore, the device must execute alloperations properly at the worst case systemconditions (which may be high or lowextremes of temperature, voltage and load-ing) and work with other devices on a com-mon bus. Thus, the device is not specifiedto its own maximum operating speed, butrather the speed of a worst case system.Motorola microprocessors can usually bemade to run much faster (and much slower)than their guaranteed worst casespecifications.

A

Photo 5: Checking the flowcharts. Logic and circuit designer Bryant Wildercompares the specification to one of the flowcharts. The flowcharts are usedto develop Boolean equations for the required logic; those equations are thenused to generate a logic diagram.

Project Goals

The 6809 project started life with anumber of (mostly unformalized) goals. Theprincipal public goal was to upgrade the6800 processor to be definitely superior tothe 8 bit competition. (The Motorola68000 project will address the 16 bit mar-ket with what we believe will be anothersuperior processor.) Many people, includingmany customers, felt that all that had to bedone was to add another index register (Y),a few supporting instructions (LDY, STY)and correct some of the past omissions(PSHX, PULX, PSHY, PULY). Since thiswould mean a rather complete redesign any-way, it made little sense to stop there.

A more philosophical goal — thus onemuch less useful in discussions with en-gineers and managers (who had their ownopinions of what the project should be)— was to minimize software costs. This ledto an extensive, and thus hard to explain,sequence of logic that went somewhat likethis:

Q: How do we reduce software costs?A:1. Write code in a block structuredhigh level language.

20

January 1979 © BYTE Publications Inc

Micromotion hos done for the S-100bus whot IBM did for the floppy disk.

' ;1,u>Wi»|0|Ui^||H»iMiU-»-uuj

gjraM

"hr» m- '&mr

• . i-' «d • v. • •

;^3

Reliably doubled capacity.

Double Capacity

The DOUBLER — Micromotion's latest advance in floppy disktechnology — doubles the capacity of floppy disk systems.Over 500 KBytes are recorded on each side of an 8" disk.This means bigger files for more powerful systems.

Double Speed

Data transfer with the DOUBLER is twice os fast — 500 Kbitsper second. And since there is twice as much data on eachtrack, your drive steps only half as much — so your systemruns faster than it ever has before!

Increased Reliability

That's right — even better reliability. Why? Because we didit the IBM way. IBM designed 2D formatting — so it has tobe reliable. Micromotion's innovative, stote-of-the-art de-sign incorporates write precompensation electronics and aphase lock oscillator on a single, all digital, S-100 circuitboard. So we guarantee the DOUBLER will be more de-pendable than your present single density controller — andwe warantee the DOUBLER for o full year.

Unbeatable Convenience

It couldn't be easier to step up to double density. TheDOUBLER operates automatically in either single or doubledensity. Just insert a diskette and you're running properly. Youcan transfer files between single or double density disketteswithout any software or hardware changes — or even oper-ate with one single and one double density diskette.Installation is a snap. There's a hardware UART on board

and the software is all ready to go. An onboard 2708 EPROMcontains the bootstrap. There's even jump-on-reset circuitryso you can operate without a front panel. And, of course,we include utilities to format diskettes.

Universally Versatile

The DOUBLER will operate with all industry-standard miniand full-sized drives. And it will work in any 8060 or Z-805-100 computer operating ot 2 to 4 MHz. The DOUBLER willsupport up to four double or single headed drives.

Fully Compatible

The DOUBLER is compatible with CP/M* version 1.4. If youhave a CP/M* 1.4 system, just add our CBIOS — or you canbuy our ready-to-boot version. Install the new controller,connect any terminal to the RS-232 interface, and boot offyour new double-sized, double-speed system. You still canuse all your old software without any changes.

Completely Affordable

All Micromotion products ore fully assembled, thoroughlytested, include complete documentation, and are pricedfor value:

DOUBLER double density controller S 495.

MEGABOX dual drive double density system 2,295.

ZEPHER — Per Sci double density system 2,595.

Z-PLUS — MEGABOX 32 KZ-80 computer 4,295.

Available

The DOUBLER is available NOW at your local computer store.

Micromotion Inc. 524 Union Street San Francisco Colifornio 94133/ 415 398-0269

MDCu^OMAlTf

Where there's always more in store.

Circle 223 on inquiry card.

•CP/M is a trademark of Digital Research.

BYTE January 1979 21

For your S WTP 6800 Computer...

PERCOM'sFLOPPY DISK SYSTEM

the

L3

1

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.

PERCOM DATA COMPANY, INC.

Dept. B 318 Barnes Garland, Texas 75042

(214) 272-3421

I

22 BYT t January 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 diskette

complete with source listing $39.95

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

prepared using a text editor described below $49.95

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

disk CHAINing $17.95

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

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

than available RAM to be created and edited $39.95

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

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

diskette $29.95

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

assembly $79.95

LINKAGE EDITOR — for STRUBAL+™ and the MACRO-Relocating

assembler $49.95

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

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

source document. User defines account numbers $199.95

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

PERCOM FINDER™ General purpose information retrieval systemand data base manager $99.95

,M 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.

G3

WL.

Addon Mini-Disk for theTRS-80

Requires 16KRAM,Level II BASIC andExpansion Interface

PERCOM DATA COMPANY, INC.

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

7b Order Call 1-800-527*1592

Circle 301 on inquiry card.

BYTE January 1979 23

2. Distribute the code in mass pro-duction read only memories.Q: Why aren't many read only memories

being used now?A:1. The great opportunities for errorin assembly language allow manymistakes which incur severe readonly memory costs.2. The present architecture is notsuitable for read only memories.Q: In what way are the second generation

processors unsuitable?A: It is very difficult to use a read onlymemory in any other context thanthat for which it was originally de-veloped. It is hard to use the sameread only memory on systems builtby different vendors. Simply havingdifferent input and output (IO) orusing a different memory location isusually enough to make the read onlymemory product useless.Q: What is needed?A: 1. Position independent code.

2. Temporary variables on the stack.

3. Indirect operations through thestack for input and output.

4. Absolute indirect operations forsystem branch tables.

And so it went. How could we make a devicethat would answer the software problems oftwo generations of processors? How, indeed!

Design Decisions

Usually an engineering project may bepursued in many ways, but only one way ata time. The ever present hope is that this onetime will be the only time necessary. Further-more, it would be nice to get the projectover with as soon as possible to get on withselling some products. (A rapid return oninvestment is especially important in a timeof rapid inflation.) To these honorableends certain decisions are made whichdelineate the investment and risk undertakenin an attempt to achieve a new product.

The 6809 project was no exception. Tominimize project risk it was decided that the6809 would be built on the same techno-logical base as the recently completed 6800depletion load redesign. In particular, themachine would be a random logic computerwith essentially dynamic internal operation.It would use the reliable 6800 type ofstorage register. Functions would be limitedto those befitting a producible sized device.

The 6809 part would have to be com-patible with the defined 6800 bus and 6800peripherals. This decision would extend thelife of parts already in production and mini-

mize testing peripheral devices for a partic-ular processor (6800 versus 6809). Buscompatibility doesn't have to mean identity— the new device could have considerablyimproved specifications but could not doworse than the specifications for the existingdevice. This mandate was a little tricky whenyou consider that we were dealing with amore complex device using exactly the sametechnology, but there was a slight edge: theadvancing very large scale integration (VLSI)learning curve.

One wide range decision was that the newdevice would be an improved 6800 part. Thewidely known 6800 architecture would beiterated and improved, but no radicaldeparture would be considered. In fact, thenew device should be code compatible withthe 6800 at some level.

Compatibility was the basis for the 6809architectural design. It implied that the6809 could capitalize on the extensivefamiliarity with the 6800. 6800 program-mers could be programming for the 6809almost immediately and could learn and usenew addressing modes and features as theywere needed. This decision also ended anyconsideration of a radically new architecturefor the machine before it was begun.

A corporation selling into a given marketis necessarily limited to moderate innovation.Any vast product change requires reeduca-tion of both the internal marketing organiza-tion and the customer base before mass salescan proceed. Consequently, designers haveto restrict their creativity to conform to themarket desires. The amount of changeactually implemented, produced and seen bysociety is the true meaning of a computer"generation." In the end, society itselfdefines the limits of a new generation, anda design years ahead of its time may wellfail in the marketplace.

M6800 Data Analysis

Once the initial philosophical and market-ing trade-offs were made, construction ofthe final form of the M6809 began. By thistime a large number of M6800 programs hadbeen written by both Motorola and ourcustomers, so it was felt that a good place tostart design of the 6809 was to analyze largeamounts of existing 6800 source code. Sur-prisingly, the data gathered about 6800usage of instructions and addressing modesagreed substantially with similar data pre-viously compiled for minicomputers andmaxicomputers. By far the most commoninstructions were the loads and stores, whichaccounted for over 38 percent of all 6800instructions. Next were the subroutine calls

24

January 1979 © BYTE Publications Inc

MicroPro International Corporation

croProInternationalCorporation

TM

profession

proudly announces

SUPER-SORF

The ultimate in high performancesort/merge

Specifications

□ High Performance Tournament/Heapsort Algorithm

□ Multiple Input Files Read in Parallel for True MergeOperation. Up to 32 Sort and 32 Merge Input Files Handled.

□ Dynamically Invokable User Exit Routines

□ Record Selection via SELECT/EXCLUDE Statements

□ Handles Fixed and Variable Length Records

□ Handles Fixed and Variable Length Fields

□ Handles up to 32 Sort Keys with Intermixed SequenceIndicators, Data Types and Alternate Collating Sequences

□ Handles Multi-Volume Diskette Files

□ Compatible with CP/M* and any Derivative IncludingADOS, IMDOS, CDOS, etc.

□ 8080/8085/Z-80 Compatible

□ Specialized Optimizations for Floppy Disk Environment

□ Keyword Command Input for Easy Operator Entry

□ Benchmarked at Over 560 Records per Minute!

□ Invokable as a Subroutine from FORTRAN, COBOLand Assembler

□ Furnished in Relocatable and Executable Form forEasy Load-Address Definition

□ Optional TACSORT Operation

□ Data Types Include ASCII, EBCDIC, Binary, BCD(COBOL Packed Decimal), etc.

□ Supports CP/M-compatible Diskette Files underBASIC, FORTRAN, COBOL and Assembler.

Price $250** includes manual and single densitydiskette.Manual only $15 refundable with purchase.

WORD-MASTER®

The last word in text editing

Specifications

□ Compatible with any "Dumb" CRT Possessing Ad-dressable Cursor and Backspace (Includes Hazeltine -All Models, SOROC, Lear Siegler, IMSAI-VIOC, ADDSRegent, Behive, etc.)

□ Bi-Directional Word Tab, Line Tab, Screen Tab

□ Bi-Directional Word Delete, Line Delete and CharacterDelete

□ Quad-Directional Cursor Movements

□ Mid-Line Insert and Delete

□ Automatic RAM/Diskette Buffering With No UserIntervention

□ Nested Command Looping with Conditional Execution

□ Global String Search, Global String Replace

□ Scratch-Pad Buffer for Text Movement, GlobalReplication, and String Command Storage

□ Multiple Input File Merging with User-ControlledInsertions for Easy Document Assembly

□ Multiple Output File Control by Section Under UserControl

□ Compatible with CP/M and Most of its DerivativesIncluding CDOS, IMDOS, etc.

□ Use TEX* for Print Formatting Functions

Price $150** includes manual and single density diskette.Manual only $9.00 refundable with purchase.

"CP/M and TEX are Trademarks of Digital Research.

" Prices and Specifications subject to change without notice.

© 1978, MicroPro International Corporation. All rights reserved.

Dealer Inquiries Invited: Call (Northern California) (707) 544-2865, (415) 398-7062, (209) 445-0511, (408) 279-8980, (916) 485-7619 (Southern California) (213) 224-1619, (714) 634-2908. Outside California Call Collect (707) 544-2865. Principal officeslocated at 5810 Commerce Blvd., Rohnert Park, CA 94928

Instruction Class Percent Usage

Loads 23.4

Stores 15.3

Subroutine calls and returns 13.0

Conditional branches 11.0

Unconditional branches and jumps 6.5

Compares and tests 6.2

Increments and decrements 6.1

Clear 4.4

Adds and subtracts 2.8

All others 11.3

Table 1: 6800 instruction types based onstatic analysis of 25,000 lines of 6800 sourcecode. In static analysis the actual number ofoccurrences of each instruction is talliedfrom program listings. In the alternatetechnique, called dynamic analysis, thenumber of occurrences of an instruction istallied while the program is running. Aninstruction inside a program loop wouldtherefore be counted more than once.

and returns with 13 percent, conditionalbranches with II percent and unconditionaljumps and branches with 6.5 percent (seetable 1). Neither the arithmetic nor logicalinstructions had as high a usage as mighthave been expected. Clearly then, enhance-ments that would improve the utility andpower of the data movements (such as loadand stores) would yield the largest return oninvestment, followed by improvements tosubroutine linkage and parameter passing.

Further analysis indicated that the num-ber of load and store index register instruc-tions (16 bits) was too large to be attribu-table solely to index register manipulationor even to the lack of a second index register.This information, combined with a rela-tively high ratio between straight adds orsubtracts and adds with carry and sub-tracts with borrow, indicated that quite afew simple 16 bit operations were beingperformed on existing 6800s.

It was therefore felt the M6809 must sup-port the most common 1 6 bit operations onthe accumulators and index registers.

Perhaps the most interesting data wasthat which pertained to addressing modes.The six major 6800 addressing modes

Table 2: Size of offsetsused in 6800 indexed ad-dressing, based on staticanalysis of 25,000 linesof 6800 source code.

Index Offset Percent Usage

01-3132-6364-255

40.0

53.0

1.0

6.0

(Direct, Extended, Immediate, Indexed,Relative, Accumulator) had nearly equalusage, which indicated that programmersactually took advantage of the bytes to besaved by direct (page zero) addressing andindexed addressing. Furthermore the off-sets for indexed instructions showed that93 percent of the offsets were either 0 orless than 32 (see table 2).

This information was used to greatlyexpand the addressing modes (as discussedlater) without making the 6800 programsrequire more code when converted to runon the 6809. Also the number of incrementor decrement index register instructions inloops indicated that autoincrementing andautodecrementing would be beneficial.Autodecrementing and autoincrementing arcsimilar to indexing except the index registerused is decremented before, or incrementedafter, the addressing operation takes place.

As all programmers and even architectslike ourselves eventually learn, consistentand uniform instruction sets are used moreeffectively than instruction sets that treatsimilar resources (IO, registers or data) indissimilar ways. For example, the leastused instructions on the 6800 were thosethat dealt with the A accumulator in specificways that did not apply to the B accumulator(eg: ABA: add B to A, CBA: compare B toA). It's not that these instructions are notuseful, it's just that programmers will notuse inconsistent instructions or addressingmodes. Consistency became the battle cryof the M6809 designers!

Customer Inputs

At the completion of the 6800 analysisstage, the first preliminary design specifica-tion for the 6809 was generated. This pre-liminary specification was then taken toabout 30 customers who represented across section of current 6800 users, as wellas some customers and consultants knownto be hostile to the 6800. With these cus-tomer visits we hoped to resolve two majorquestions about the 6809's architecture:

1) Which architecture was more desirable,8 bit or 16 bit?

2) Did 6809 compatibility with the 6800need to occur at the object level or atthe source level?

Most customers felt that an 8 bit architec-ture was adequate for their upcoming ap-plications, and they did not want to pay theprice penalty for 16 bits as long as the 6809included the most common 16 bit opera-tions such as add, subtract, load, store, com-

26

lanuary 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 * StarComputers

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

Circle 285 on inquiry card. BYTE January 1979 27

X INDEX REGISTER

Y INDEX REGISTER

\ POIN

U USER STACK POINTER

S HARDWARE STACK POINTER

TER REGISTERS

PROGRAM COUNTER

the 6800 data analyses. Some low occurrence6800 instructions were combined into con-sistent 2 byte instructions, allowing themore useful instructions to take fewer bytesand execute faster. Also, some 6800 instruc-tions were eliminated completely in favor of2 instruction sequences. These sequences aregenerated automatically by our 6809 as-sembler when the 6800 mnemonic is re-cognized. This remapping in favor of moreoften used functions results in 6809 pro-grams that require only one half to twothirds as much memory as 6800 programs,and run faster.

A

B

ACCUMULATORS

DIRECT PAGE REGISTER

CC-CONDITION CODE REGISTER

CARRY-80RROW

OVERFLOW

ZERO

NEGATIVE

INTERRUPT REQUEST MASK

HALF CARRY

FAST INTERRUPT REQUEST MASK

ENTIRE STATE ON STACK

Figure 1: 6809 programming model.

pare and multiply. Many were interested,though, in Motorola's advanced 16 bitprocessor (68000) for future 16 bit appli-cations. From the very inception of the6809 project it was a requirement that the6809 would be compatible with the 6800.Whether this compatibility needed to occurat the object code level or at the assemblylanguage (source code) level was a questionwe felt our customers should help us answer.Virtually every customer indicated thatsource compatibility was sufficient becausethey would not try to use 6800 read onlymemories in 6809 systems. Most customersindicated that they would take advantage ofthe 6800 compatibility in order to initiallyconvert running 6800 programs into running6809 programs, and then modify the 6809code to take advantage of the 6809's features.The decision not to be object code com-patible was an easy one for us since it meantthat we could remap the 6800 op codes in amanner guaranteed to produce more byteefficient and faster 6809 programs. The re-mapping of op codes was greatly affected by

M6809 Registers

What, then, are the pertinent features thatmake the 6809 a next generation processor?In the following paragraphs we will attemptto highlight the improvements made to the6800. The programming model for the 6809(figure 1) consists of four 8 bit registers andfive 16 bit registers.

The A and B accumulators are the sameas those of the 6800 except that they canalso be catenated into the A:B pair, calledthe D register, for 16 bit operations.

The condition codes are similar to the6800, with the inclusion of two new bits.The F bit is the interrupt mask bit for thenew fast interrupt. The fast interrupt (FIRQ)only stacks the program counter and condi-tion code register when an interrupt occurs.The interrupt routine is then responsible forstacking any registers it uses. The E bit is setwhen the registers are stacked during inter-rupts if the entire register set was saved (asin nonmaskable and maskable interrupts)or cleared if the short register set was saved(for a fast interrupt).

On the 6800, an instruction with directmode (or page zero) addressing consistedof an op code followed by an 8 bit valuethat defined the lower eight bits of anaddress. The upper eight bits were always as-sumed to be zero. Thus, direct addressingcould only address locations in the lowest256 bytes of memory. The 6809 addsversatility to this addressing mode by de-fining an 8 bit direct page register that de-fines the upper eight bits of address for alldirect addressing instructions. This allowsdirect mode addressing to be used through-out the entire address space of the machine.To maintain 6800 compatibility, the directpage register is set to 0 on reset.

Four 16 bit indexable registers are in-cluded in the 6809. They are the X, Y, Uand S registers. The X register is the familiar6800 index register, and the S register is thehardware stack pointer. The Y register is a

28

January 1979©BYTE Publicaiions Inc

Microcomputers Anyone?

gourmet Quid*

S=^

SCELBI'S8080GALAXYGAME

A ttlSKHIKIIt

^51

zee

Instruction

Handbook

.jjBHRbBHHk

SCELBI BYTE PRIMER. The ultimate hand-book about microcomputers. Edited by the ex-perts at SCELBI and BYTE. Over 400 pages ofsolid basic information. Describes what can bedone with a microcomputer. How micro-computers work is treated thoroughly. Intro-duces the 6800, 8080 and Z80 CPU chip cap-abilities. RAM and ROM memories. Addressingmethods. All about building your own micro-computer system. Programming for the begin-ner. Assembling programs by hand. Monitoringprograms. Number conversions. Design yourown assembler. Plus much more. A real bargain.JUST $10.95. Check No. 08 on order coupon.

TAKE MY COMPUTER . . . PLEASE! Anuproariously funny full length book about thetrue-to-life misadventures of the author (SteveCiarcia) and his computer's inability to co-operate. Page after page of nonsense, jollies andeven illustrations to bring the stories to life.Read his attempt to beat the Jai-Alai system.Or, how he attempts a stock market killing butlogs the wrong info into his broker's computer.What happens when Steve sets up a computer-ized speed trap? Hardcover. JUST $5.95. CheckNo. 09 on the order coupon.

Z80 INSTRUCTION HANDBOOK. Your complete guide to the powerful Z80 instruction set.This handy, compact reference provides a clearexplanation. It's an ever ready instant referencethat can be carried in your pocket. Explains theinstruction set in meticulous detail. Industrystandard mnemonics are used throughout.Machine codes are presented in both octal andhexadecimal format. A convenient index listsall instructions alphabetically along withmachine codes and timing information. Apractical guide for the novice, intermediate oradvanced programmer. ONLY $4.95. CheckNo. 03 on the order coupon.

HARDCORE SOFTWARE UPDATE. Subscribeto this brand new publication. It's publishedwith you in mind — the user of small computersystems. You'll get six idea-packed issues peryear. Contents include: Game programs youcan use. Improvements for machine languageprograms. Coverage of high-level data basemanagement system. Valuable tips on gettingthe most out of your system. And muchmore! The kind of info you just can't get fromthe magazines. How much are ideas worth? Ifthey help you to maximize your system theycan pay off really big. Hardcore SoftwareUpdate is a good idea. It costs only $10 peryear. You can't beat that. Send in your sub-scription now! Check No. 10 on order coupon.

LEARN MICRO-COMPUTERS. A new multi-media information package. Includes text(UNDERSTANDING MICROCOMPUTERS)plus high-quality cassette. For the beginner juststarting in microcomputers. Covers all thebasics, quickly, easily and enjoyably. All thefundamentals behind the operation of virtuallyevery microcomputer. Clear. Concise. Tellswhat to look for in buying a microcomputer.Companion tape includes chapter-by-chaptersynopsis of the book. Key review questions. Re-ferences to page numbers for further review. Agreat new idea for self study. ONLY $14.95.Check No. 06 on the order coupon.

UNDERSTANDING MICROCOMPUTERS. Ac-cepted as the standard for the neophyte.300-page no-nonsense easy-reading text. In-cludes simple-to-use glossary of key micro-computer words. Gives extra knowledge forreading and understanding computer magazinesand manufacturer's literature. Contents in-cludes instructions for microcomputers. Ma-chine language programming. High level lan-guage. Input/output devices. System con-siderations. Illustrates basic instructionsfrom almost every class of microprocessor.Gives an introduction to BASIC. JUST $9,95,Check No. 07 on the order coupon.

PIMS - PERSONAL INFORMATION MAN-AGEMENT SYSTEM. Unleash the power of amicrocomputer for your personal benefit. Usethis data-base management system as an alterna-tive to programming. All in one neatly boundvolume: The microcomputer and its potentialfor personal use. Ways in which your micro-computer can be helpful in everyday life andserving basic personal needs. PIMS programlisting and flowchart. 15 sample ways in whichPIMS can work to your personal advantage.Written in BASIC language. Ready to use!ONLY $9.95. Check No. 05 on order coupon.

SCELBI'S 8080 GALAXY GAME. Here's yourchance to match wits against the logic of your8080. Search and destroy a random number ofalien ships. But don't run out of time, out offuel, out of ammunition or out of the galaxy.Plan your missions through 64 quadrants sub-divided into 64 sectors. Listing uses manu-facturer's recommended mnemonics. Manual in-cludes assembled source listing in hexadecimalnotation. Octal dump also provided. Resides injust 4K of memory. Includes flow charts, illus-trations and lots more. ONLY $9.95. CheckNo. 04 on the order coupon.

SCELBI'S SOFTWARE GOURMET GUIDESAND COOKBOOKS. For the 8080 or 6800.Now you can cook up mouthwatering programs.Delectable "how to" facts include 8080 or6800 instruction sets. How to manipulatestacks. Flow charts. Source listings. Generalpurpose routines for multiple precision opera-tion. Programming time delays for real time.And much, much more. Includes floating pointarithmetic routines. ONLY $10.95. Check No.01 on the order coupon for the 8080 Cook-book. Check No. 02 for the 6800 Cookbook.

See these publications at your favorite com-puter/electronics dealer, or order direct.

IMPORTANT ORDERING INFO! Include 75*postage/handling for each item to be deliveredby U.S. Mail book rate, or $2 for each item tobe shipped via First Class or UPS. HardcoreSoftware Update subscription includes postage;extra payment is not necessary. Prices shownare for North American customers. MasterCharge, VISA, Postal and Bank Money Orderspreferred. Personal checks delay shipping up to4 weeks.

SCELBI Publications

P.O. Box 133 PP STN, Milford, CT 06460

(203)874-1573

Please send the books indicated below. My payment (including shipping/handling charges) is enclosed, or better yet, pleasecharge my Master Charge or VISA account.

□No. 01 Qno. 02 DNo. 03 ONo. 04 DNo. 05 DNo. 06 ONo. 07 QNo. 08 DNo. 09 ONo. 10

Name (please print) _

Card No.

Bank No.

Exp.

Address

City and State

Zip

Sianature

BYTE January 1979 29

Type

Forms

Nonindirect

Indirect

Source

Post Byte

+

+#

Source

Post Byte

+

+

Constantoffset from R

no offset5 bit offset8 bit offset

16 bit offset

,R

n,R

n,R

n,R

1RR00100ORRnnnnn1RR010001RR01001

0

1

1

4

0012

[,R]

[n,R][n,R]

1RR10100

defaults to 8-bit

1RR11000

1RR11001

3

4

7

0

12

Accumulatoroffset from R

A register offsetB register offsetD register offset

A,RB,RD,R

1RR001101RR001011RR01011

114

000

[A,R][B,R][D,R]

1RR101101RR101011RR11011

447

000

Autoincrement/—decrement R

increment by 1increment by 2decrement by 1decrement by 2

,R+,R++,-R,--R

1RR000001RR000011RR000101RR00011

2323

0

000

[,R++][,--R]

not allowed1RR10001not allowed1RR10011

66

00

Constant offsetfrom programcounter

8 bit offset16 bit offset

n,PCRn,PCR

1XX011001XX01101

15

1

2

[n,PCR][n,PCR]

1XX111001XX11101

48

1

2

Extended

use nonindexed

[n]

10011111

5

2

Table 3: Indexed addressing modes. All instructions with indexed addressinghave a base size and number of cycles. The X, and # columns indicate thenumber of additional cycles and bytes for the particular variation. The postbyte op code is the byte that immediately follows the normal op code.

second index register; the U register is theuser stack pointer. All four registers can beused in all indexing operations and the Uand S registers are also stack pointers. TheS register is used during interrupts and sub-routine calls by the hardware to stack returnaddresses and machine state.

The last 16 bit register is the programcounter. In certain 6809 addressing modes,the program counter can also be used as anindex register to achieve position indepen-dent code.

Addressing Modes

It was our opinion that the best way toimprove an existing architecture and main-tain source compatibility was to add power-ful addressing modes. In our view, the 6809has the most powerful addressing modesavailable on any microprocessor. Powerfuladdressing modes helped us achieve ourgoals of position independence, reentrancy,recursion, consistency and easy imple-mentation of block structured high levellanguages.

All the 6800 addressing modes (Immedi-ate, Extended, Direct, Indexed, Accumula-tor, Relative and Inherent) are supported onthe 6809 with the direct mode of addressingmade more useful by the inclusion of thedirect page register (DPR).

The direct page register usage and directaddressing need some explanation, sincethey can be very effective when used cor-rectly. For example, since global variables

are referenced frequently in high level lan-guage execution, the direct page register canbe used to point to a page containing theglobal variables while the stack contains thelocal variables, which are also referenced fre-quently. This creates very efficient codewhich is safe since the compiler keeps trackof the direct page register. The direct pageregister can also be used effectively andsafely in a multitasking environment wherethe real time operating system allocates adifference base page for each task.

On the other hand, it would be quitedangerous to indiscriminately reallocate thedirect page register frequently, such as withinsubroutines or loops, since it might becomevery easy to lose track of the current directpage register value. Therefore, even thoughthe direct page register is unstructured, weincluded it because, when used correctly, thebyte savings are significant. Also, to makedirect addressing more useful, the read modi-fy write instructions on the 6809 now haveall memory addressing modes: Direct, Ex-tended and Indexed.

The major improvements in the 6809'saddressing modes were made by greatly ex-panding the indexed addressing modes aswell as making all indexable instructionsapplicable to the X, Y, U and S registers (seetable 3).

Indexed addressing with an offset isfamiliar to 6800 users, but the 6809 allowsthe offset to be any of four possible lengths:0, 5, 8 or 16 bits, and the offsets are signedtwo's complement values. This allows greaterflexibility in addressing while achieving maxi-mum byte efficiency. The inclusion of the16 bit offset allows the role of index registerand offset to be reversed if desired. A furtherenhancement allows all of the above modes

30 January 1979 © BYTE Publications Inc

ULL SIZE FLOPPY DISK $995 COMPLETE!

/Illllllllilll

L

tern is an overnight success...becauseit's delivered so complete you canhave it running in a single eveningFor just $995, it's a complete mem-ory system. Complete with allhardware and software. Com-pletely assembled. Completelyinterfaced. And tested as a com-ite system. /

And you can not only solveyour memory shortage faster,you can solve it longer...be-cause DISCUS I™ is a full-size floppy system with 3times the storage and 5 Itimes the speed of mini- Jfloppies.

Your $995 DISCUS I™system includes a Shugart800R full-size drive withpower supply in a hand-some freestanding cabi-net, our 8-drive capaci-ty S-100 controllerwith on-board bufferand serial interface,all cables and con-nectors, and all thesoftware you need. I

&

Your software library includes DOS,text editor, 8080 assembler (all in-tegrated in DISK/ATE™); ourBASIC-V™ advanced virtual diskBASIC able to handle a wide varie-ty of data formats and address upto 2 megabytes; and patches forCP/M*. And it's all interfaced toyour controller's serial I/O portto avoid I/O guesswork.

And it's all yours for $995. Weeven offer CP/M for just $70,Micro-Soft Extended DiskBasic for just $199 and Micro-Soft Fortran for just $349 asI nice options to add to yourV library. No wonder it's anft overnight success! See; DISCUS I™ today atyour local computershop. Or if unavailablelocally, send your checkor money order directto Thinker Toys™(add $7 for handling;California residentsadd tax.) Or call(415)524-2101,10-5Pacific Time.

k"8fe

*>

'mWMsmr

rCs*

IW

G,!--

—(■ •-

■ ■>. -*

c^=?=

" c ii n

Copyliah! 1677G.M—-

15 '.&*-•>

SLMlM

''-■•■lr? (the Disk Jockey'" I

A product of MorrflMicro-Stuff for

Circle 255 on inquiry car

-3 f The Disk Jockey1" I \ \ \ 0 | TI fc ^ ^ /7¥* % fig

ii I j fit if ii inn in i mi mi 111 lujumii imii &

inke r^T o y. s.

*CP/M is a trademark of Digital Research.

1201 10th StreetBerkeley, CA 94710

BYTI l^nuary 1979 31

NAMOPT

AUTOEXLLEN=80

010001000102010401050107

010901 OB010D010E01100112011401160118011A011C

E6 AO

2A 0139

E1 84

26 F7

34 3230 014A

27 OCE6 AO2B 08E1 8027 F5

35 3220 E435 B2

63543

952363639311

*********** ***********#***********##**#****#*

* COMPARE STRINGS SUB

*

* FIND AN INPUT ASCII STRING POINTED TO BY THE

* X-REGISTER IN A TEXT BUFFER POINTED TO BY THE

* Y-REGISTER. THE BUFFER IS TERMINATED BY A

* BYTE CONTAINING A NEGATIVE VALUE. ON ENTRY

* A CONTAINS THE LENGTH OF THE INPUT STRING. ON

* EXIT, Y CONTAINS THE POINTER TO THE START

* OF THE MATCHED STRING + 1 IFF Z IS SET. IFF Z

* IS NOT SET THE INPUT STRING WAS NOT FOUND.

*

* ENTRY:

X POINTS TO INPUT STRINGY POINTS TO TEXT BUFFERA LENGTH OF INPUTSTRING

* EXIT:

IFF Z=1 THEN Y POINTS TO MATCHED STRING + 1IFF Z=0 THEN NO MATCHX IS DESTROYEDB IS DESTROYED

***********#************************##***#**##

0000

ORG

CMPSTR LDB

BPL

RTS

CMP1 CMPB

BNE* SAVE STATE SOPSHSLEAXDECABEQLDBBMICMPBBEQPULSBRAPULS

END

CMP2

CMPOUT

$100

,Y+

CMP1

,X

CMPSTR

SEARCH

A,X,Y

1,X

CMPOUT

,Y+

CMPOUT

,X+

CMP2

A X Y

CMPSTR

A,X,Y,PC

GET BUFFER CHARACTERBRANCH IF NOT AT BUFFER ENDNO MATCH, Z=0

COMPARE TO FIRST STRING CHAR.BRANCH ON NO COMPARECAN BE RESUMED IF IT FAILS

POINT X TO NEXT CHAR

ALL CHARS COMPARE?

IF SO, IT'S A MATCH, Z=1

GET NEXT BUFFER CHAR.

BRANCH IF BUFFER END,Z=0

DOES IT MATCH STRING CHAR?

BRANCH IF SO

SEARCH FAILED, RESTART SEARCH

FIX STACK, RETURN WITH Z

Listing 1: 6809 autoincrementing example. This subroutine searches a text buffer for the occur-rence of an input string. In autoincrement mode, the value pointed to by the index register isused as the effective address and the index register is then incremented.

to include an additional level of indirection.Even extended addressing can be indirected(as a special indexed addressing mode). Sinceeither stack pointer can be specified as abase address in indexed addressing, the in-direct mode allows addresses of data to bepassed to a subroutine on a stack as argu-ments to a subroutine. The subroutine canthen reference the data pointed to with oneinstruction. This increases the efficiency ofhigh level language calls that pass argumentsby reference.

M6800 data indicated that quite oftenthe index register was being used in a loopand incremented or decremented each time.This moved the pointer through tables orwas used to move data from one area ofmemory to another (block moves). There-fore, we implemented autoincrement andautodecrement indexed addressing in theM6809. In autoincrement mode the valuepointed to by the index register is used asthe effective address, and then the index

register is incremented. Autodecrement issimilar except that the index register isfirst decremented and then used to obtainthe effective address. Listing 1 is an exampleof a subroutine that searches a text bufferfor the occurrence of an input string. Itmakes heavy use of autoincrementing.

Since the 6809 supports 8 and 16 bitoperations, the size of the increment ordecrement can be selected by the program-mer to be 1 or 2. The post increment, pre-decrement nature of this addressing modemakes it equivalent in operation to a pushand pull from a stack. This allows the X andY registers to also be used as software stackpointers if the programmer needs more thantwo stacks. All indexed addressing modescan also contain an extra level of post indi-rection. Autoincrement and autodecrementare more versatile than the block movesand string commands available on otherprocessors.

Quite often the programmer needs to

32 January 1979 © BYTE Publications Inc

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

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

Music. VP-550 Super Sound Board turnsyour VIPintoamusicsynthesizer. 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 memoryprotects 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 InterfaceBoard locates two 5-volt 2716 EPROMs (4Kbytes total) anywhere in 32K of memory.VIP RAM can be re-allocated. $34*

ASCII Keyboard?* Fully encoded, 128-character ASCIIencoded alpha-numeric keyboard. 58 light touch keysincluding 2userdefined keys! Selectable upperand 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.*

uxiliary 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

Circle 322 on inquiry card.

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

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

The fun wayinto computers.

RCA

BYTE )anuary 1979 33

00010

0100

ORG

00011

0100

108E

1000

4

LDY

00012

0104

96

32

4

LDA

00013

0106

C6

64

2

LDB

00014

0108

3D

11

MUL

00015

0109

D3

33

6

ADDD

00016

010B

EC

AB

9

LDD

calculate the offset used by an indexed in-struction during program execution, so weincluded an index mode that allows the A,B, or D accumulator to be used as an offsetto any indexable register. For example, con-sider fetching a 16 bit value from a two-dimensional array called CAT with dimen-sions: CAT (100,30). Listing 2 shows the6809 code to accomplish this fetch. Theseaddressing modes can also be indirected.Implementation of position independentcode was one of the highest priority designgoals. The 6800 had limited position inde-pendent code capabilities for small programs,but we felt the 6809 must make this type ofcode so easy to write that most programmerswould make all their programs position inde-

$100

#CAT LOAD BASE ADDRESS OF ARRAY

SUB1 GET FIRST SUBSCRIPT

#100 MULTIPLY BY FIRST DIMENSION

SUB2 ADD SECOND SUBSCRIPTD,Y FETCH VALUE

Listing 2: Array subscript calculations. This 6809 program fetches a 16 bitvalue from a two-dimensional array called CA T, with dimensions: CA T(100,30).

OUR LATEST

CATALOG

of miniature switches

Our 52 page catalog

describes and illustrates

the complete line of

C&K Components'

miniature switches.

It includes toggle,

rocker, and lever

\ handles, printed

\ circuit mountings,

_j snap-acting and

..!© alternate action

pushbuttons, 6 AMP and 10 AMP

power, subminiature and

microminiature pushbuttons,

illuminated, slide and thumbwheel

switches, how-to-order information and a listing

of C&K distributors and international

representatives. Send for your free copy now!

The Primary Source Worldwide.C&K Components, Inc.

15 Riverdale Avenue, Newton, MA 02158

Tel: (617) 964-6400, TELEX: 92-2546, TWX: 710-335-1163

or

pendent. To do this, an additional long rela-tive (1 6 bit offset) branch mode was addedto all 6800 branches as well as adding pro-gram relative addressing. Program relativeaddressing uses the program counter muchas indexing uses one of the indexableregisters. This allows all instructions thatreference memory to reference data relativeto the current program counter (which isinherently position independent). Of course,program relative addressing can be indirected.The addressing modes of the 6809 havecreated a processor that has been termed a"programmer's dream machine." To date allthe benchmarks we have written for the6809 are position independent, modular, re-entrant and much smaller than comparableprograms on other microprocessors. It iseasier to write good programs on the 6809than bad ones!

New or Innovative Instructions

The 6809 does not contain dozens of newinnovative instructions, and we planned itthat way. What we wanted to do was cleanup the 6800 instruction set and make itmore consistent and versatile. We do notfeel a processor with 500 different assemblermnemonics for instructions is better thanone with 59 powerful instructions thatoperate on different data in the same man-ner. For example, the 6809 contains a trans-fer instruction of the form TFR R1, R2 thatallows transfer of any like-sized registers.There are 42 such valid combinations on the6809, and clearly one TFR instruction iseasier to remember than 42 mnemonics ofthe form: TAB, TBA, TAP, TXY, etc. Alsoan exchange instruction (EXG) exists thathas identical syntax to the TFR instructionand has 21 valid forms. In the time it tookto read three sentences you just learned63 new 6809 instructions! As anotherexample, we combined the numerousinstructions that set and cleared conditioncode bits on the 6800 into two 6809 instruc-tions that AND or OR immediate data intothe condition code register.

Other significant new instructions includethe new 16 bit operations. The D registercan be loaded, stored, added to, subtractedfrom, compared, transferred, exchanged,pushed and pulled. All the indexable regis-ters (16 bits) can be loaded, stored andcompared. The load effective address instruc-tion can also be used to perform 8 or 16 bitarithmetic on the indexable registers asdescribed later.

Two significant new instructions are themultiple push and multiple pull instructionson the 6809. With one 2 byte instruction,any register or set of registers can be pushed

34 January 1979 © BYTE Publications Inc

Circle 38 on inquiry card.

The

COMPUTER

, when software counts 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017(212)687-5001 (212) PET-2001 Foreign order desk - Telex 640055

L*]l

"PET"

only $795

• UK ROM Operating System

• 8K RAM Memoty

• 9" Video Monuoi

• Built In Keyboard

• Digitally controlled tape

; CQmmOdore Today's best value m personal computers, along with the latest

■n peripherals, ait always in stock at Ih* COMPUTER FACTORY

PERIPHERALSFOR PET

1 32K Mnmory Expansion S595 I

- 16K EXPANDAPET $425 I

PET to RS232 Serial $169 I

■ 2 Way Serial/Communication . . $295 I

■ Modem Board for PET $375 I

PETtoSIOOM-slol) $160 I

Second Cassette Drive $100 I

Parallel Printer Interface $199 I

PET Ptintor (Feb.'79l $695 |

DUAL DISK(200KB) $1295

cippkzl

board in a lightweight molded carrying

case, Expandable to 18K

APPLE 11 Systems from 5970!

LEU Disk

APPLESOFT in ROM :

Interlace Cards $179

MICR0PRODUCTS

• EPROM Prgmr S 99.95

• EPROM Sockei Adpt $ 14.95

• APPLR It Modem S129.95

Cbmnucoior

£1.495 complete!

COMPUCOLOR II Disk Based Model 3

• 51K Disk Built In

• I6K ROM 0peralingSystem■ 8K RAM User Memory

• 4K RAM Refresh

• 80B0A Microcompu

• RS 23? I/O

PET

MUSIC BOXAdd music and soundeffects to yourprograms. Compose,play, and hear music onyour pet. Completelyself-contained (nowiring). Free 3programs including StarWars theme, soundeffects, etc. $39.

C$35 of Software witff]" purchase of anvcomputer on this page

SOFTWARE

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

PET SOFTWARE

RADIO SHACK • PET • SORCERER •APPLE • COMPUCOLOR • ETC.

PRINTERS • PRINTERS' PRINTERS

COMPUTER FACTORY'S extensive • CENTRONICS 779 St045

intory and wide selection ol computet • AXIOM (Parallel) S 395

printers assures you of finding the printer • AXIOM (Serial) S 495

best suited for your needs and specifications. • EXPAND0R (Tractors) . S 425

The following printers work well with all • INTEGRAL DATA ,., S 795

known personal computers. • QUME oi DIABLO S3400

ICENTRONICS 700 (Business) $1595

I PET TO CENTRONICS PRINTER INTERFACE _I SWITCH SELECTABLE SI 99

1 ANDERSONJACOBSON

BUSINESS FINANCE

Stock Portfolio

Analaysis $ 24.95

Mortgage 15.95

Annual Report

Analyzer 22.95

Stock Analyzer 34.95

Bonds 12.95

Checkbook 15.95

Finance , 15.95

Data Rase (per year) 175.00(S30 per monthly tape)StockscreenOptions

14.95

14.9529.95

24.95

29.9524.95

• ASC 11 Code

• IS cps Printout

■ High Quality Selective Printing

• Uie Keyboatd lor PET

• Reliable heavy duly Mechanism

• Completely Refurbished by A J

• Service in 15 Ma(or CitiesSerial ■ Mallei

$1195 $1095

• Keyboard and Numeric Pad'

• UK RAM (up to 32K) [$895

• Serial and Parallel I/O *¥**&%*

• Dual Cassette I/O

• 30 x 64 Display

• $-100 Compatible

• 64 User Defined Characters

• 240 x 512 Ri-.riliiii.jn GraphicsModular design allows use oltor programs and ROM PAC cartridges forfuture language introductions like; APL,COBOL, PII.0T, FORTRAN, i

BUSINESS COMPUTERS

DATA GENERALmicro NOVA

The ultimate in small business computerswhen matched wilh COMPUTER FACTORY'S minicomputer. Soltware AccountsReceivable/Payable, Inventory Control/Ordar Entry, General Ledger. Payroll Sys

Data General

is from alio

"$13,500

IMSAI

The li

I solut

rt loi

problems. A wide variety ol software isavailable lor all your needs.PCS series include dual floppies. 32K RAM.1/0. 00S, BASIC

• PCS42 (400KB) S2995 • PCS44<7B0KB)S3695

VDP-42 series adds video terminal, key

board, and VI0 io above

VDP-42 S4795 • VDP-44 S4995

• VGP/BQ $6995

SORCERER

*. SPECIALi 2 "^deo Monitorfar SORCERER($299 value)

ONLY

$125 with 8K unit95 with 16K unit65 with 32K unit

APPLE II

(For Apple II only)Checkbook $20.00

Startrek/Starwars 15.00Color Demo/Breakout 7.50Applesoft ll/Fp Demo 20.00Hi Res Graphics/HiRes ShapesRam Test CassetteColor Math Demo/

HangmanBlackjack/Slot

MachineRiorhythm/

MastermindFinance 1-2 Cassette

PackageOatamover/Telepong

EDUCATION

Basic Basic

Blet Planner &Biorhythm

Basic Math Package

6502 Assembler in

Basic

(For PET and Apple II)

10 Builder Series 13 to Adult

10 Builder-Analogies 9.50

10 Builder-Vocabulary 12.50

10 Builder-Number

Series 9.50

.Preschool IQ Builder 9.50I Step By Step 29.95

GAMES

Osera and ReverseTarget Pong andOff The WallA TreasureTrove of GamesGalaxy GamesDraw PokerRlack JackSpace FightSpacetrekBackgammonGrand Prix GolfBridge ChallengerSuper StartrekSwarmMicrochess

9.95

9.95

9.95

9.95

9.95

9.95

9.95

9.95

14.95

9.95

14.95

14.95

19.95

19.95

Radio Shack

The folowing program titlesare now available for RADIOSHACK TRS 80 Computers.

10 Builder-Analogies $ 9.50

IQ Builder-Vocabulary 12.50

10 Builder-Number Series 9.50

Preschool 10 BuilderStep By StepMicrochessAnnual ReportAnalyzerStock AnalyzerOptionsStockscreenElectric Pencil

9.5D29.9519.95

22.5034.9524.9529.9599.00

COMPUCOLOR II - $19.95 each disk

7.507.50

7.507.50

7.50

25.007.50

MATH TUTOR-with Checkbook, Bio-rhythms.Math Dice.and Recipe.CHESS-with Acey Deucev&Line 5STARTREK-with Lunar Lander,OTHELLO-with Dice 8, ConcentrationHANGMAN-with Math Tutor, 2 on 10

PERSONAL FINANCE I

PERSONAL FINANCE II

EQUITY

BONDS AND SECURITIES

BLACKJACK

The following are $24.95 eachTEXT EDITOR-ASSEMBLER

indents add 8% salts ia>

nt on prepaid and credit

d 5.10 shipping 'or computers. S3i. S 25 each cassette tape

. . . when software counts 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017(212)687-5001 (212) PET-2001 Foreign order desk - Telex 640055Open Mon-Fri .0-6. Sal .0-4

BYTE January 1979

6809 STACKING ORDER

SP (OR US)

8,S

6,S

4,S3,S2.SI.S-0,S

U/Si.

PUSH ORDER

PULL FROM STACK-TOP OF STACKPUSH ONTO STACK

Figure 2: 6809 push/pulland interrupt stackingorder.

or pulled from either stack. These instruc-tions greatly decrease the overhead associatedwith subroutine calls in both assembly andhigh level language programs. In conjunctionwith instructions using autoincrement andautodecrement, the 6809 can efficientlyemulate a stack computer architecture,which means it should be efficient forPascal p-code interpreters and the like.

The order in which the registers arepushed or pulled from the stacks is givenin figure 2. Note that not all registers needto be pushed or pulled, but that the orderis retained if a subset is pushed. This stackingorder is also identical to the order used byall hardware and software interrupts.

One new instruction in the 6809 is asleeper. The load effective address to index-able register (LEA) instruction calculatesthe effective address from the indexedaddressing mode and deposits that addressin an indexable register, rather than loadingthe data pointed to by the effective address,as in a normal load. This instruction wasoriginally created because we wanted a wayto let the addressing mode hardware alreadypresent in the processor calculate the addressof a data object so that it could be passed toa subroutine. After the index addressing

modes were completed it was realized theLEA instruction had many more uses, and,once again, allowed us to combine otherinstructions into one powerful instruct/on.For example, to add the D accumulatorto the Y index register, the instruction is:LEAY D, Y; to add 500 to the U register:LEAU 500, U; and to add 5 to the valuein the S register and transfer the sum to theU register: LEAU 5, S.

In writing position independent read onlymemory programs it is sometimes necessaryto reference data in a table within the sameread only memory. This is generally atedious process even in computers that claimto support position independent codebecause the register that points to the tablemust eventually contain an absolute address.The LEA instruction, in conjunction withprogram counter relative addressing, makesthis possible with one instruction on the6809. For example, to put the address ofa table DG located in a relative read onlymemory into indexable register U: LEAUDG, PCR; or, to find out where a positionindependent read only memory is located:LEAY *, PCR (or TFR PC, Y). Our bench-marks show the LEA to be the most usednew 6809 instruction by far.

An unsigned 8 bit by 8 bit to 16 bit multi-ply was provided for the 6809. The A accum-ulator contains one argument and the B theother. The result is put back onto the A:B(D) accumulator. A multiply was addedbecause multiplies are used for calculatingarray subscripts, interpolating values andshifting, as well as for more conventionalarithmetic calculations. An unsigned multi-ply was selected because it can be used toform multiprecision multiplies.

Another facet of good programmingpractice that we wanted to encourage wasthe use of operating system calls or soft-ware interrupts (SWI). The 6800 SWI hasbeen effectively used by 6800 supportsoftware for breakpoints and disk operatingsystem calls. That's nice, but unfortunatelythere was only one software interrupt,and since Motorola's software used that one,the customer found it difficult to share.The 6809 provides three software interrupts,one of which Motorola promises never touse. It is available for user systems.

One new instruction on the 6809, SYNC,allows external hardware to be synchronizedto the software by using one of the interruptlines. Using this instruction, very tight, fastinstruction sequences can be created when itis necessary to process data from very fastinput and output devices. Listing 3 givesan example of the use of SYNC. It isassumed that the A side of the peripheral

36

January 1979 © BYTE Publications Inc

Some of our latest develop-ments include:

standard fa

microcomputer

softt/Kxe

Only one company sets the pace withsoftware for microprocessors.

MACRO-80 PACKAGE Our relocatable assem-bler now has a complete MACRO facility including IRPIRPC, REPEAT, local variables and EXITM. Listing control andconditional assembly have been greatly enhanced. Anotherplus — the assembler is now twice as fast as previous versions.The MACRO-80 Package, including Microsoft's Linking Loaderand Cross Reference Program, may now be purchased separ-ately from FORTRAN-80. Single copy: $200. Manual: $15. (MACRO80 is included in FORTRAN-80, Version 3.1.)

MBASIC — NEW RELEASE The new version 5.0 MBASIC in-cludes long variable names, variable length records, dynamic stringspace allocation, WHILE/WEND, protected files, and chaining with COM-MON. Version 5.0 is fully ANSI compatible Our MBASIC documentation hasbeen completely rewritten and is significantly improved. Single copy: $350Manual: $20.

THAT'S MICROSOFT.

Whether it's BASIC, FORTRAN, orCOBOL the largest-selling mi-crocomputer systems use soft-ware by Microsoft:

Radio Shack.Tektronix, NCR,

Apple, Commodore, On-

tel, Billings, Extensys, Im-

sai.OhioScientificCro-

memco, ADDS, Zilog,

Mostek, National,

Rockwell, and

many others.

EDIT-80 PACKAGE (CP/M version only) The fastest text editor

on the market. No more searching through files or cryptic commands. This randomaccess, line-oriented editor is similar to those used on large computers like the PDP-10. Also includes FILCOM, the file compare utility, which allows comparison of sourceand binary files. Single copy: $120. Manual: $10.

)BOL-80 is now available with fully tested ISAM, improved interactiveACCEPT/DISPLAY, COPY and EXTEND. Single copy: $750. Manual: $20.

PREVIEW OF UPCOMING PRODUCTS An 8080/Z-80 BASIC compiler supporting the same features as our interpreter, the long-awaited 8080/Z-80 APL interpre-ter, and a complete set of systems software products for both the 8086 and Z8000.

And at Microsoft,new things arehappening allthe time,

All software available at single-copy prices or OEM/Dealer agreement prices.

Circle 228 on inquiry card.

BYTE January 1979 37

00008

0100

ORG

$100

00009

0100

B6

F002

5

LDA

PIABC

00010

0103

84

F7

2

ANDA

#$F7

00011

0105

B7

F002

5

STA

PIABC

00012

0108

8E

3000

3

LDX

#BUFFER

00013

010B

C6

80

2

LDB

#128

00014

010D

1A

50

3

ORCC

#$50

00015

* WAIT FOR ANY INTERR

00016

010F

13

2

LOOP SYNC

00017

0110

B6

F000

5

LDA

PIAAD

00018

0113

A7

80

6

STA

,x+

00019

0115

5A

2

DECB

00020

0116

26

F7

3

BNE

LOOP

00021

0118

B6

F002

5

LDA

PIABC

00022

011B

8A

08

2

ORA

#$08

00023

011 D

B7

F002

5

STA

PIABC

LOAD PIA CONTROL REG. - SIDE BTURN OFF B-SIDE INTERRUPTS

GET POINTER TO BUFFERGET SIZE OF TRANSFERDISABLE INTERRUPTSUPT LINE TO GO LOWSYNCHRONIZE WITH I/OLOAD A-SIDE DATA; CLEAR INTERRUSTORE IN BUFFERDONE?

BRANCH IF NOTTURN B-SIDE INTERRUPTS BACK ON

Listing 3: Hardware process synchronization using SYNC, a new instruction in the 6809 pro-cessor that allows external hardware to be synchronized to the software by using one of theinterrupt lines. Very fast instruction sequences can be created using SYNC when it is necessaryto process data from very fast input and output devices.

Figure 3: The ASR (arith-metic shift right) instruc-tion is used as a "test andclear" and ST (store) isused for "unbusy." Theseprimitive operations areused for implementingcritical section exclusionon the 6809.

interface adaptor (PIA) is connected to ahigh speed device that transfers 128 bytes ofdata to a memory buffer. When the deviceis ready to send a piece of data, it generatesa fast interrupt (FIRQ) from the A side ofthe peripheral interface adaptor. Programlines 12 and 13 set up the transfer; lines 16through 20 are the synchronization loop.On each pass through the loop, the programwaits at the SYNC instruction until anyinterrupt line is pulled low. When theinterrupt line goes low, the processor exe-cutes the next instruction. In order to useSYNC, all other devices tied to any of theinterrupt lines must be disabled. For thisexample it was assumed that the B side ofthe peripheral interface adaptor also hadinterrupts enabled; program lines 9 through11 disable the interrupt and lines 21 through23 reenable it. Line 14 is included to keepthe interrupt by the A side of the peripheralinterface adaptor from going to the interruptroutine. Note that interrupts do not needto be enabled for SYNC to work, and infact are normally disabled.

Another improvement to the instructionset was brought about by inclusion of the

INSTRUCTIONS

BEFORE

AFTER

ASR O ►

0 0 0 0 O 0 0 I

c

00000 000

1

NOT BUSY

BUSY

GRA

NTED-'

0O00OOO0

c

0O0000 00

1

*

BUSY

BUSY

NOT GRA

NTED'

STA

0000 0000

IS

0 0 0 0 0 0 0 I

I

BUSY

NOT BUSY

hardware signal BUSY. BUSY is high duringread/modify/write types of instructions toindicate to shared memory multiprocessorsthat an indivisable operation is in progress.As shown in figure 3 this fact can be used toturn existing instructions into the LOCK andUNLOCK necessary for mutual exclusionof critical sections of the program, or forallocation of resources.

And lastly, never let it be said the 6809has no SEX appeal—sign extend, that is.The SEX instruction takes an 8 bit two'scomplement value in the B accumulator andconverts it to a 16 bit two's complementvalue in the D accumulator by extending themost significant bit (sign bit) of B into A.

Table 4 is a convenient way to look atall the instructions available on the 6809.The notation first page/second page/thirdpage has the following meaning: first pageop codes have only one byte of op code.For example: load A immediate has an opcode of hexadecimal 86. All second page opcodes are preceded by a page op code ofhexadecimal 10. For example, the op codefor CMPD immediate is hexadecimal 1083(two bytes). Similarily third page op codesare preceded by a hexadecimal 11. A CMPUimmediate is 1183. Some instructionsare given two mnemonics as a programmerconvenience. For example, ASL and LSLare equivalent. Notice that the long branchop codes LBRA and LBSR were broughtonto the first page for increased codeefficiency.

Stacks

As mentioned previously, the 6809 hasmany features that support stack usage.Most modern block structured high levellanguages make extensive use of stacks.Even though stacks are useful in the typical

38 lanuary 1979 © BYTE Publications Inc

COfflPUTER SOFTWARE

For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and Women

We have been in business for over nine years building a reputa-tion for providing a quality product at nominal prices - NOTwhat the traffic will bear. Our software is:

• Versatile - as most programs allow for multiple modes ofoperation.

• Tutorial - as each program is self prompting and leads youthrough the program (most have very detailed instructionscontained right in their source code).

• Comprehensive - as an example our PSD program not onlycomputes Power Spectral Densities but also Includes FFT's,Inverse-transforms, Windowing, Sliding Windows, simulta-neous 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.

Vol.

Vol. II

Vol.

Business 8t

Games &

Binomial

Beam

Billing

Personal

Pictures

Chl-Sq.

Conv

Inventory

Bookkeeping

Coett

Filter

Payroll

Programs

Confidence 1

Fit

Risk

Astronaut

Confidence 2

Integration 1

Schedule 2

BondBuilding

BagelBio Cycle

CorrelationsCurve

Integration 2Intensity

Shipping

Compound

Cannons

Differences

Lola

Switch

Cyclic

Checkers

Dual Plot

Decision 1

Craps

Exp-Dlstrl

Decision 2

Depreciation

Efficient

DogfightJudy

Least Squares

Paired

Plot

NavaldOptical

Flow

Line Up

Plotpts

PSD

Installment

Pony

Polynomial Fit

Randt

Interest

Roulette

RegressionStafl

Investments

Sky Diver

MortgageOptimize

TankTeach Me

Stat 2T-Dlstrlbutlon

Sphere TrlanStars

OrderPert TreeRateReturn 1Return 2

PicturesA. NewmanJ.F.K.Linus

UnpairedVariance 1Variance 2

xy

TrackTriangleVariableVector

Schedule 1

Ms. Santa

APPENDIX A

NixonNoel NoelNudePeacePolicemanSanta's SleighSnoopyVirgin

• Virtually Machine Independent - these programs are writ-ten In a subset of Dartmouth Basic but are not oriented for anyone particular system. Just in case your Basic might not useone of our functions we have included an appendix in Vol-ume V which gives conversion algorithms for 19 differentBasic's; thafs right, just look It up and make the substitution foryour particular version. If you would like to convert yourfavorite program into Fortran or APL or any other language,the appendix in Volume II will define the statements and theirparameters as used In our programs.Over 85% of our programs in the first five volumes will execute inmost 8K Basic's with 16K of free user RAM. If you only have 4KBasic, because of Its lack of string functions only about 60% ofour programs in Volumes I through V would be useable, how-ever they should execute in only 8K of user RAM.For those that have specific needs, we can tailor any of ourprograms for you or we can write one to fit your specific needs.

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

Designed to challenge the average player,fairly comprehensive. Great fun for alL otters aunique opportunity for beginners In need of anopponent.

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

Word processing for lawyers, publishers, wrtters,etc. Write, store, and change from rough draftto final copy In a variety of formats.

Disk utility program with memory testing.

Taxpayers return, Itemized deductions orstandard

Reconciles bank statements

Balances your checkbook

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

Computes depreciation, 4 methods, any timeperiod

C - FAVORITE PROGRAM CONVERSIONS

Vol. IV

Vol. V

Vol. VI

Bingo

Andy Cap

Ledger

Bonds

Baseball

Bull

Compare

EnterpriseFootball

ConfldIODescrtp

Vol. VII

Funds!

Differ

Chess

Funds 2

Engine

Go-Moku

Fourier

Jack

Horse

LifeLoans

IntegersLogic

Medbll

Mazes

Playboy

Poker

Primes

PopulProfits

ProbalQuadrac

Wdproc

Qublc

Red Baron

Rates

Regression 2

Retire

Road Runner

Utility

Savings

Roulette

SBA

Santa

Vol. VIII

Tlc-Tdc-Toe

Stat 10StatuSteel

1040-Tax

Top

Balance

Vary

Xmas

APPENDIX B

lnstto78Deprec2

APPENDIX

Vol. I -$24.95BookkeepingGamesPictures

Vol. II - $24.95Math/EnglneerlngPlotting/StatisticsBasic Statement Def.

Vol. Ill - $39.95Advanced BusinessBilling, InventoryInvestmentsPayroll

Vol. IV - $9.95General Purpose

Vol. V - $9.95Experimenter's Program

Vol. VI - $49.95Mini-Ledger

Vol. VII - $39.95

Professional

Programs

Vol. VIII - $19.95

Homeowner's

Programs

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Americard accepted.

Our Software Is copyrighted and may not be reproduced or sold.

£T> SCIENTIFIC RESEARCH

^^^ RO. Box 490099-B Key Biscayne, FL 33149

Phone orders call 800-327-6543 Information - (305) 361-H53

Add $1.50 per volume handling, all domestic shipments sent UPS. except APOand PO. Box which go parcel post. Foreign orders add $8.007volume for airshipment and make payable In U.S. dollars only.

10% discount on purchases of four or more volumes.Offer expires January 31, 1979.

BYTE January 1979 39

The complete Motorola6809 instruction set will bepresented in part 2 of thisseries.

textbook example of expression evaluation,their major usage in languages such asPascal is to implement control structures.Microprocessor users already realize theadvantage of a stack in nesting interruptsand subroutine calls. Most high level lan-guages also pass data on the stack andallocate temporary local variables from thestack.

Listing 4 and figure 4 show an exampleof a high level language subroutine linkage.Before calling the subroutine the callerpushes the addresses of two arguments andthe answer on the stack and then executesthe jump to subroutine which puts thereturn program counter on the stack. Thesubroutine then saves the old stack mark

pointer on the stack as well as reservingspace on the stack for the local variablesfor the subroutine. In this example, sixlocations are used by the subroutine bodyduring calculation. At this point the stackmark pointer is set to a new value for thissubroutine. The stack mark pointer isused because the S register may vary duringexecution of the subroutine body due tolocal subroutines, etc. It is much moreconvenient for the compiler to generateoffsets to the parameters if the U is usedfor this purpose instead of the S.

Once U is set it is used to fetch the twoarguments using indexed indirect addres-sing. The subroutine body presumablydoes something with the arguments and

Table 4: 6809 op code map and cycle counts. The numbers by each op code Indicate the number of machine cycles required toexecute each instruction. When the number contains an I (eg: 4 + I), an additional number of machine cycles equaling I may berequired (see table 3). The presence of two numbers, with the second one in parentheses, indicates that the instruction involvesa branch. The larger number applies if the branch is taken. The notation first page/second page/third page has the followingmeaning: first page op codes have only one byte of op code (eg: load A immediate has an op code of hexadecimal 86). All page2 op codes are preceded by a page op code of hexadecimal 10 (eg: the op code forCMPD immediate is hexadecimal 1083—two bytes). Similarly third page op codes are preceded by a hexadecimal 11. A CMPU immediate is 1183. Some instructions aregiven two mnemonics as a programmer convenience (eg: ASL and LSL are equivalent). Notice that the long branch op codesLBRA and LBSR were brought onto the first page for increased code efficiency.

Most Significant Four Bits

DIR

REL

ACCA

ACCB

IMU

EXT

IMM

DIR

IND

EXT

IMM

DIR

IND

EXT

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

CD

OU_

c

(0

o

'ccn

W

mo-1

0000

0

6

NEG

PAGE2

3 BRA

4+1LEAX

2

2 6+I

NEG

7

2 4 4+I 5SUBA

2

4 4+ISUBB

5

0

0001

1

PAGE3

3BRN/5LBRN

4+ILEAY

2 4 4+I 5CMPA

2

4 4+ICMPB

5

1

0010

2

2

NOP

3 BHI/5(6)LBH!

4+1LEAS

2 4 4+I 5SBCA

2

4 4+ISBCB

5

2

0011

3

6

COM

2

SYNC

3 BLS/5(6)LBLS

4+ILEAU

2

2 6+ICOM

7

4,6,6+1,7/5,7,7+1,8/5,7,7+1,8SUBD/ CMPD/ CMPU

4

6 "6+1ADDD

7

3

0100

4

6

LSR

3 BHS5(6)(BCC)

5+1/byPSHS

2

2 6+1LSR

7

2 4 4+1 5ANDA

2

4 4+IANDB

5

4

0101

5

3 BLO5(6)(BCS)

5+1/byPULS

2 4 4+15BITA

2

4 4+IBITB

5

5

0110

6

6ROR

5LBRA

3BNE/5(6)LBNE

5+1/byPSHU

2

2 6+IROR

7

2 4 4+15LDA

2

4 4+ILDB

5

6

0111

7

6

ASR

9LBSR

3BEQ/5(6)LBEQ

5+1/byPULU

2

2 6+IASR

7

4 4+1 5STA

4 4+ISTB

5

7

1000

8

6 ASL(LSL)

3 BVC/5(6)LBVC

2

2 6+IASL(LSL)

7

2 4 4+1 5EORA

2

4 4+IEORB

5

8

1001

9

6

ROL

2DAA

3 BVS/5(6)LBVS

5RTS

2

2 6+IROL

7

2 4 4+15ADCA

2

4 4+IADCB

5

9

1010

A

6DEC

3

ORCC

3 BPL/5(6)LBPL

3ABX

2

2 6+IDEC

7

2 4 4+1 5ORA

2

4 4+IORB

5

A

1011

B

3BMI/5(6>LBMI

6/15RTI

2 4 4+15ADDA

2

4 4+IADDB

5

B

1100

C

6

INC

3ANDCC

3BGE/5(6)LBGE

20CWAI

2

2 6+IINC

7

4,6,6+1,7/5,7,7+1,8/5,7,7+1,8CMPX/ CMPY / CMPS

3

5 5+ILDD

6

C

1101

D

6TST

2SEX

3BLT/5(6)LBLT

11MUL

2

2 6+ITST.

7

7BSR

7 7+1 8JSR

5 5+ISTD

6

D

1110

E

3

JMP

8EXG

3BGT/5(6)LBGT

3+IJIV

4

IP

3,5,5+1,6 / 4,6,6+1,7LDX / LDY

3,5,5+1LDU

6 / 4,6,6+1,7/ LDS

E

1111

F

6CLR

7

TFR

3BLE/5(6)LBLE

19/20/20SWI/2/3

2

2 6+I

7

5,5+1,6 / 6,6+1,7

5,5+1,6/6,6+1,7STU / STS

F

CL

R

ST

X / i

STY

40 January 1979 © BYTE Publications Inc

r~

\

/ \

/ \/ \

\ /\ /

V

\ 1

)

Y = sin(X); range -2Pi, 2Pi

PRS CreatesA2FP

Y = X2 (INT(EXP(X))); ranges are: 0,0.5—0,1.5—0,5

A Plotting Program For Apple II

A2FP OFFERS A WIDERANGE OF FEATURES

The APPLE II FUNCTION PLOT-TER is another creation from PRS.It is a "modern age" tool for stu-dents, engineers and researchers.A2FP:

• Plots 2-dimensional functions inhigh resolution graphics.

• Utilizes the full screen for eachplot (260 x 180 points.)

• Allows visual presentation ofmathematical functions.

• Plots on Cartesian coordinates.

• Computes (once given the X min-imum and maximum values) the Yminimum and maximum values;the X and Y intervals; and the Xand Y intercepts.

• Can superimpose the same func-tion when given new coordinates.

• Maximizes the high resolution ca-pabilities of APPLE II.

• Allows normal plotting mode or Yfactored mode to compress over-sized graphs.

A2FP CONTINUES THE PRSBREAKTHROUGH INDOCUMENTATION

PRS A2FP, The APPLE II FUNC-TION PLOTTER comes with a com-plete and instructive handbook ex-plaining every procedure step bystep. This unique documentation iswritten in clear and easy-to-under-stand English and avoids esoterictechnical language.

But PRS documentation for A2FP ismore than clear and precise instruc-tions in a graphically appealingmanual. You learn at the same time.

A2FP DOCUMENTATION HELPSNON-MATHEMATICIANS

PRS inserts entire chapter in A2FPdocumentation on the fundamentalsof mathematical functions. Theirusefulness in demonstrated. And ap-plications to every day life are il-lustrated.

Indeed, PRS A2FP documentationoffers you a true fluency in com-puter-user dialogue. This in turn

allows you to arrive at an efficientand effective use of your PRS A2FPprogram and microcomputer.

A2FP IS PROTECTED IN ABEAUTIFUL CASSETTE-FOLDER

The PRS cassette and manual foryour A2FP, The APPLE II FUNC-TION PLOTTER, is protectivelynestled in an efficient and durablegold-imprinted folder. Wherever youfile it, in your room or office, thedecor will be enhanced by itselegance.

A2FP FROM PRS IS SUPPORTED

by The APPLE II and usesAPPLESOFT BASIC.

VISIT YOUR NEAREST DEALERTODAY TO OBTAIN YOUR A2FPFROM PRS FOR ONLY $34.95PER CASSETTE.

Let your dealer demonstrate the ex-cellence of PRS A2FP, The APPLEII FUNCTION PLOTTER. Or usethe coupon below to obtain the nameof 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:

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

State.

Zip

Reference 1B9

Circle 309 on inquiry card.

BYTE January 1979

41

Table 5: Hexadecimal ad-dresses of the 6809 restartand interrupt vectors.

FFFE

Restart

FFFC

NMI

FFFA

SWI

FFF8

IRQ

FFF6

FIRQ

FFF4

SWI2

FFF2

SWI3

FFFO

Reserved

finishes with an answer in the D register.The subroutine exit saves this value. Itthen puts the return address in X andrestores the previous stack mark pointer.The whole stack is then cleaned up (deleted)and return is made to the caller.

Motorola 6800 users should note that thestack pointers on the 6809 point to the lastvalue pushed on the stack rather than thenext free location, as on the 6800. This wasdone so that autoincrement and autodecre-ment would be equivalent to pulls andpushes. For example: STA , -S is equivalentto PSHS A; and LDA , S+ is equivalent toPULS A. This also means the X and Yregisters can be used as stack pointers if theprogrammer desires. For example: STA , -Xis a push on a stack defined by X. Thepossible ambiguity between where the stackpointer points on the 6800 and the 6809may be less of a problem than it seems,since the 6800's TSX becomes the 6809'sTFR S, X without adding 1 and TXS be-comes a TFR X,S without subtracting 1 —think about it. The only danger is in pro-grams that used the stack pointer as anindex register. In these programs the stackpointer may point one location away fromwhere it did previously.

SAVE OLD STACK MARKERRESERVE LOCAL STORAGEGET NEW STACK MARKERGET ARGUMENT 1GET ARGUMENT 2

SAVE ANSWER

GET RETURN ADDRESS

RESTORE U'

POP EVERYTHING OFF STACK

RETURN

Listing 4: Use of stacks on the 6809 processor. In this typical high levellanguage subroutine example, U' and S' are the mark stack pointer andhardware stack pointer, respectively, just prior to the call. U and S are thesame registers during execution of the subroutine body. Before calling thesubroutine the caller pushes the addresses of two arguments and the answeron the stack and then executes the jump to subroutine which puts the returnprogram counter on the stack. The subroutine then saves the old stack markpointer on the stack as well as reserving space on the stack for the localvariables for the subroutine (see figure 4).

00006 0500 34

40

6

SUBR PSHS U

00007 0502 32

66

5

LEAS 6,S

00008 0504 1F

43

6

TFR S,U

00009 0506 EC

D8

0E 10

LDD [14,U]

00010 0509 AE

D8

0C10

LDX [12,U]

00011

*

00012

* SUBROUTINE E

00013

#

00014 050C ED

D8

0A10

STD [10,U]

00015 050F AE

48

6

LDX 8,U

00016 0511 EE

46

6

LDU 6,U

00017 0513 32

E8

10 6

LEAS 16,S

00018 0516 6E

84

3

JMP ,X

OFFSET FROMSTACK MARK(U) io

' T

ADDRESS

OF ARGI

ADDRESS

OF ARG2

ADDRESS

OF ANS

RETURN

PC

OLD STACK

MARK lU'J

LOCAL

VARIABLES

«

; *

Figure 4: Illustration of the high level lan-guage subroutine example in listing I.

Interrupts

The 6809 has three fully vectored hard-ware interrupts. The nonmaskable interrupt(NMI) and maskable interrupt (IRQ) are thesame as the 6800's NMI and IRQ. The newinterrupt is the fast maskable interrupt,or FIRQ, that stacks the program counterand condition code register only on inter-rupt. Table 5 gives the addresses of theinterrupt vectors for the 6809.

A new signal (IACK) has been added thatis available anytime an interrupt vector isfetched. This signal together with addressbus lines A1 through A3 can be used toimplement an interrupt scheme in whicheach device supplies its own interrupt vector.

The interrupt control and prioritizationlogic of the 6809 have been defined verycarefully — no redundant or indeterminateconditions can exist when several inter-rupts occur simultaneously. The detailsof this interrupt structure are preciselydefined in Motorola documentation for the6809.

Part 2, entitled "Instruction Set Dead-Ends, Old Trails and Apologies," will bea question and answer discussion about thedesign philosophy that went into the 6809."

42

January 1979 © BYTE Publications Inc

Our Two Bits

Bit PadBit PadBit PadBit PadBit Pad

Bit PadBit PadBit PadBit PadBit PadBit PadBit Pad

®!D®

®m@®to®

®GQ®®DD@

®m©

®0Q@

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.

&www$aphic4

** ' corporation

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

Dealer inquiries invited

Circle 356 on inquiry card.

BYTE lanuary 1979 43

An advanced desktop data systemfor $1,995? Qu itcher kiddin, TANO.

We're not kiddin'.

Outpost 11 is exactly that. You get:

• A ruggedly designed unit,intended for heavy use

• Full ASCII keyboard

• 24 x 80 character CRT

• 32K bytes RAM

• M6800 CPUJust like this, for only

• Mini-floppy disk drive andcontroller

• BASIC software package

• Over 20 applications packagesavailable

• User documentation

cvrpesr//

COMPLETE

With Outpost 11 and the BASIC softwarepackage,you can:

Do full floating point BCD math • Pro-gram SAVE and LOAD with file names •

Program MERGE andCHAIN«ON ERRORstatement • String variables and functions• Trig and math functions • GET, PUT andFIELD statements • Floppy file processor.■ ^™ ^™ ^™ ■■■ Order Form ^™ ^" ^™ ^™ ■

You've been waiting a long time for a DataSystem with all these features at a price likethis. Now it's yours. No kiddin'.

*Quit your kidding

Mail to:

Quitcherkiddin'.TANO. I meal ling your hand. Send me Outpost 11 's as de-scribed in your ad. Here's my deposit of $200 each, plus $35 freight and insurance. I'll pay thebalance on delivery.

Name

Company/Title

Shipping Address

Telephone

.Signature .

Charge my: □ American Express; □ Visa; □ Master Charge: #_

Corporation

4521 W. Napoleon Avenue

Metairie, La. 70001

(504) 888-4884TWX 810-591-5229

Sales Offices: Los Angeles, CA —213/426-7375 • Montreal, Canada —514/934-0000 • Boston, MA—617/969-4650 • Dallas, TX—214/358-1307 • Houston, TX—713/461-0038 • Denver, Col—303/841-2788 • San Francisco, CA-408/377-7001 • Chicago, IL—312/830-0060• Atlanta. GA —404/252-6609 • Washington, DC—301/589-2802 •

44 BYTE January 1979

Circle 358 on inquiry card.

BOTE

BOOKS

BOOKS OF INTEREST TO COMPUTER PEOPLE"

More BYTE

• It

in your future

BYTE January 1979 45

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$19 MusicInterface" contains practical tutorial information—andorgan fans will enjoy reading "Electronic Organ ChipsFor Use in Computer Music Synthesis".

New material includes "Polyphony Made Easy" and"A Terrain Reader". The first describes a handy circuitthat allows you to enter more than one note at a timeinto your computer from a musical keyboard. The"Terrain Reader" is a remarkable program that createsrandom music based on land terrain maps.

Other articles range from flights of fancy about thereproductive systems of pianos to Fast Fourier trans-form programs written in BASIC and 6800 machinelanguage, multi-computer music systems, WalshFunctions, and much more.

For the first time, material difficult to obtain has beencollected into one convenient, easy to read book. Anardent do-it-yourselfer or armchair musicologist willfind this book to be a useful addition to the library.

\0&

ISBN 0-931718-11-2Editor: Christopher P. MorganPages: approx. 128Price: $10.00

iKHHlll mi.

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 and

BASIC, SUPERWUMPUS is not only addictively fun,but also provides a splendid tutorial on setting upunusual data structures (the tunnel and cave systemof SUPERWUMPUS forms a dodecahedron). This is aPAPERBYTE™ book.

ISBN 0-931718-03-1Author: Jack EmmerichsPages: 56Price: $6.00

li

ssssssp.

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 articleentitled, "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.

AH 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

\0I

ISBN 0-931718-07-4Author: Steve CiarciaPages: approx. 128Price: $8.00

is right now!

BASEX, a new compact, compiled language for micro-computers, has many of the best features of BASICand the 8080 assembly language—and it can be runon any of the 8080 style microprocessors: 8080, Z-80,or 8085. This is a PAPERBYTE™ book.

Subroutines in the BASEX operating system typicallyexecute programs up to five times faster than equiva-lent programs in a BASIC interpreter—while requiringabout half the memory space. In addition, BASEX hasmost of the powerful features of good BASIC inter-preters including array variables, text strings, arithme-tic operations on signed 16 bit integers, and versatileIO communication functions. And since the two lan-guages, BASEX and BASIC, are so similar, it is possibleto easily translate programs using integer arithmeticdata from BASIC into BASEX.The author, Paul Warme, has also included a BASEXLoader program which is capable of relocating pro-grams anywhere in memory.

\ggjl

ISBN 0-931718-05-8Author: Paul WarmePages: 88Price: $8.00

■ci/lt-liVsUw

ProgramDesign.

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 MIKBUG 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. It produces a load mapand a load module in Motorola MIKBCIG 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 MOMDEB 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

Name

Title

Company

Street

City

State/Province

□ Check enclosed in the amount of $

□ Bill Visa □ Bill Master Charge Card number

Please send the books I have checked.

□ Computer Music $10.00

□ SUPERWCIMPCIS $6.00

□ Tiny Assembler (3.1) $9.00

□ Circuit Cellar $8.00DBASEX$8.00

□ Program Design $6.00

BYTE BOOKS. BYTE BOOKS logo, and PAPERBYTEare trademarks of BYTE Publications, Inc.

Expiration Date.

□ Simulation $6.00

□ RA6800ML $25.00DLink68$8.00

□ TRACER $6.00DMondeb$5.00D Bar Code Loader $2.00Add 50<J per book to cover postageand handling

Please allow 6-8 weeks for processing your order.

Gook Reviews

Financial Analysis and BusinessDecisions on the Pocket Calculator

by Jon M Smith

John Wiley and Sons, New York 1976

313 pages

$12.95

For many people, mathematics applied totheir financial affairs consists of reconcilingchecking account statements, filling out in-come tax forms, trying to pay all their billsand live within their means, scheming tohave more money, and once in a lifetimeretirement planning, but not much more.

When I unexpectedly received a reviewcopy of Jon Smith's second book, I thoughtit would be dull. It looked like a particularlythorough version of eighth grade arithmetic,but not difficult enough to excuse me fromreading all of it. Fortunately, this first im-pression was wrong. Smith has managed tomake the subject quite interesting, if notactually entertaining. Once into the book, itbecame progressively harder to put aside,and I was rather sorry to come to its end.

This is essentially a guidebook to themathematical aspects of scheming to makemore money (by lawful means), emphasizinghow any pocket calculator (but particularlythe "financial" kind) can be of assistance.

The chapters concerning business deci-sions provide a quick and fascinating intro-duction to decision trees, certain appli-cations of probability and statistics that leadto systems analysis, and forecasting tech-niques including linear regression. Yes, someof the financial calculators can do linearregression with very few keystrokes.

One third of the book is devoted to case-book examples giving complete keystrokesequences for a variety of calculators. Whereappropriate, general sequences are given for4 function calculators of both algebraic andreverse Polish notation (RPN) types. Prob-lems involving compound interest tend to gobeyond their capability for easy solution,and are often only shown solved by financialmodels, specifically the HP-22, 70 and 80,Novus 6020 and Rockwell 204.

Despite the strong capabilities of theirbuilt-in (or hardware preprogrammed) func-tions, these machines are given quite a runfor their money with some rather long pro-grams (keystroke sequences). Of course, themore expensive calculators with the mostsuch functions generally have the easiesttime of it (although not always), need thefewest steps, and have the least need for trialapproximations.

THE BLUE BOARDOF HAPPINESS

It's the new 8080CPU board from SSM.

It's blue. And it's loaded.

(That's why it's happy.)

Loaded with so many features.

Just add an I/O board and

you've got a computer.

Loaded srarrs with 256 bytes of on-board RAM.Add 2K of oprionol on-board 2708 EPROMs.Then add a power-on/reset jump circuit, and rheavailability of MWRITE, allowing use without afront panel.

And then there's a parallel input port withstatus. And enough DIP switching to make youdizzy. DIP controlled addressing of PROM in 2Kblocks—of vector jump in 2K increments—ofRAM in 256 byte increments—of input port foraddresses 0 to 31 in decimal.

Like all SSM boards, rhe S-100 compatibleCB-1 includes gold-plated edge connectors andTl low-profile sockets. And SSM support and war-ranty Yet, even as loaded as our CB-1 is, rheprice won't leave you breathless.

All for only $144.95.

Available ar over 100 retail locations, or directfrom SSM.

Video and teletype monitor programs areavailable on EPROM for only $34.95 with thepurchase of any SSM kit.

SSM manufactures a full line of S-100 boards.For complete details, just send for our newFREE catalog.

2116 Walsh Avenue5onta Clara, CA 95050(408)246 2707

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

Circle 335 On inquiry Card. January 1979 ©BYTE Publications Inc 49

The text emphasizes understanding of thenecessary computations so that, if your cal-culator is not one of those above, a goodunderstanding of its instructions should en-able you to modify the keystroke sequencesas I did when needed. For simple calculators,Smith does not even assume you have a per-cent (%) key, so it is often possible toshorten the sequence. A brief section coversgeneral principles for using programmablecalculators.

Much is made of the book's interdiscipli-nary aspects in which Smith shows how thesame problem is approached through differ-ent terminology by specialists in differentfields. He simplifies all the financial analysisto five parameters: present value, futurevalue, number of compounding periods,interest rate per compounding period, andamount of equal periodic payments. Theseare combined into only 12 different equa-tions: three each for investment yield com-parisons (solving for interest rate) and invest-ment horizon comparisons (solving fornumber of compounding periods); and twoeach for net present value analysis (solvingfor present value), growth comparisonanalysis (solving for future value) and afford-ability analysis (solving for amount of per-iodic payment). Not all financial calculatorshave all twelve equations preprogrammed.

In the special chapters on business statis-tics and business systems analysis, Smithreally seems to hit his stride, and these mayleave you breathless. In addition, there arefour special but more easygoing chapters onconsumer finance, merchandising calcula-tions, real estate calculations and program-mable calculators. The four appendices are:the "HUD Guide to Real Estate SettlementCosts," tables of binomial probabilities andGaussian distributions, and some text onconcepts of time and money (borrowedfrom Hewlett-Packard).

The chapter on programmable calculatorsincludes the only illustration of solving con-tinuous compounding, although this is men-tioned in two other places. The illustrationuses differential equations. Surprisingly,Smith does not show the simple formula:FV = PV (en x '), where n is in years and i isthe annual interest rate (not the usual rateper compounding period) as a decimal, ande is the base for the natural logarithms.

There is also little treatment of calculat-ing errors. For instance, taking the squareroot of e for a continuous compoundingproblem, eight significant figures are neededin the answer to be sure of rounding to thenearest penny. Of two 8 place display calcu-lators I have at hand, one shows the squareroot of e to seven places, the other to eight.If logarithm and antilogarithm conversions

are made (compared to straight power, root,multiplication and division processes such asin the power series when either methodcould be used), one or two places of accuracymay be lost, depending on the specific exam-ple and the calculator used.

Perhaps deliberately, the author does notshow how to compute a year's daily com-pounding on the ordinary 4 function calcu-lator, which is easy on a 360 day basis anddifficult for 365 days (see "Just Look atWhat a Little Calculator Can Do!", ChangingTimes, J anuary 1977, pages 1 7 and 18). Thisinvolves raising the daily interest multiplierto the 360th power, a remarkable feataccomplished with fair accuracy on an 8place calculator, as long as the annual interestrate is not too low and not too many placesof accuracy are needed in the answer. It isalso possible to correct for one or two leapyears.

Computers can pinch pennies more easilythan can financial calculators. On daily com-pounding, for example, you may neverreceive any fractional cents from day to day,or you may be given a full cent for half ormore and lose each less than half, or round-ing may be done only at the end. I believethis is why different banks can offer certifi-cates at the same annual rate, both com-pounded daily, but with different effectiveannual yields. A few calculators round up ordown, called rounding or rounding off, butmost of them truncate the results. Truncationtends to produce somewhat larger calculat-ing errors than rounding. Some desktop cal-culators have a switch to allow choosingeither when using a fixed number of decimalplaces.

At least one scientific calculator includespreprogrammed financial functions. Someremarkably inexpensive financial calculatorshave come on the market. Programmable cal-culators can be set to do financial equations,but often require many programming steps.At least two manufacturers have combinedthe power of preprogrammed financial func-tions with the versatility of programmablekeystroke sequences (the Novus 6025, TexasInstruments MBA), which should provideincreased convenience and reduced likelihoodof operator error in repetitive calculations.

Unfortunately, some errors have creptinto the book. If you have the first printing,send a self-addressed stamped envelope toGerald R Galbo, editor, John Wiley and SonsInc, 605 Third Av, New York NY 10016, fora listing of the corrections and the author'smeticulous changes.

John F Sprague

143 Myrtle Av

Allendale NJ 07401"

50

January 1979 © BYTE Publications Inc

Scelbi "6800" Software Gourmet Guide& Cook Book

by Robert Findley

Scelbi Computer Consulting Inc

Mi/ford CT, 1976

$9.95

This book is the first of a series of textand program collections for the Motorola6800 produced by Scelbi Computer Con-sulting Inc, authors of a popular series ofsimilar books for the Intel 8080. The bookcan be viewed either as an educationalaid for 6800 users or as a source of exten-sively documented programs: the ratio oftutorial or narrative text to program listingsand flowcharts is about 3 to 1.

The first two chapters deal with the 6800instruction set and basic 6800 programmingtechniques, such as the use of page zero,relocatability of programs, breakpoints, anduse of the stack. Multiple precision arith-metic is then covered in some depth, alongwith time delay routines and random num-ber generators. A full chapter is devotedto an extensive discussion of floating pointroutines, and another chapter to long-precision decimal arithmetic routines; botharc complete with source code listings. Thecoverage of input/output and interrupt pro-cessing includes techniques for a "softwareUART" and a brief discussion of interruptpriorities. The last chapter presents sortingand table searching routines. Finally, sixappendices provide useful reference infor-mation, including a relocatable object codelisting of the floating point routines.

This book would be a useful referencesource for anyone who is developing 6800applications software and is highly recom-mended to the user who is learning assemblylanguage programming on the 6800.

Dan Fylstra

22 Weitz St #3

Boston MA 02134"

Here comes another high-flyingBlue Board of Happiness from SSM.

The VB-2 Video Board ...it saves programming time, memoryspace, and is built to U.S. videostandards.

Check out all our VB-2's great features, andcompare prices:

It's an I/O controlledvideo interface thatturns a TV or commer-cial grade monitor intoa video terminal

No need for anotherI/O board for key-board input and videodisplay

Hardware controlledcursor for line feed,carriage return, andbackspace

Reduced softwareoverhead frees upmore memory spacefor important data

Circuitry provided todrive a speaker forexternal "beep"tone

64 x 16 characterdisplay includes up-per case letters, num-bers and symbols

Characters can beswitch selected forwhite on black, orblack on white

Full interlace for com-plete compatibilitywith video stan-dardsS-100 compatible

Extra adjustments include adjustable characterwidth, horizontal margin and vertical position

All for only $1 49.95. Available at over'100 retail locations, or direct from SSM.

SSM manufactures a full line of S-100 boards. For complete details,just send for our new FREE catalog.

■S337

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

*We used lo be Solid State Music. We stillmake the Blue Boards.

Circle 335 on inquiry card.

January 1979 © BYTE Publications Inc

51

Machine Language Puzzler

Memory Meanderings

Christopher Strangio

CAM I Research

43 Bailey Rd

Watertown MA 02172

Address

HexadecimalCode

Label

Operator

Operand

FFFA

31 FD FF

LXI

SP, FFFD

FFFD

CD FD FF

LOOP

CALL

LOOP

Describe the operation of the following8080 program if:

(a) 64 K of programmable memory isavailable, starting at location 0000(no read only memory or memoryaddress mapped input/output is used.)

(b) Only the top and bottom 256 bytesof programmable memory are avail-able. (Hexadecimal addresses 0000 to00FF, and FFOOtoFFFF.)

Turn to page 181 for the answers, butnot until you've figured out what you thinkthey are. For reference materials see theIntel 8080 specifications or any of a numberof books on that processor."

SHUGART SERENADE

Specify t-»

9H -tthil i

If you want your machine to play, [live ii quu

mini magnetic media. And ;u Verbatim Corpt

the whole message is quality.

Would Victor Borge kid you?

Fur the name of your uearest Verbatim distributo

call mil Free: (1)800-821-7700, Exi 515

(In Missouri call: 800-892-7655, Ext. 515).

Verbatim

52 |anuary 1979 © BYTE Publications Inc

Circle 386 on inquiry card.

BYTEs Bugs

Functional Bug

We received the following from F RRuckdeschel:

The author apologizes for making anobvious error in the coefficients shownon table 1 of "Functional Approxi-mations" (November 1978 BYTE, page38) for the expansion of sin(x). Themistake occurred in transforming thecoefficients for the optimal series repre-sentation of sin(7T x/2) to the more use-ful sin(x) form. The transformation wasso simple that nothing (?) could gowrong. The correct coefficients, to thedigit shown, are given below. Theaccuracy of the approximation is betterthan 2 x 10-? over the range indicated.

MacLaurin Optimal

Term

Coefficients Coefficients

x.

1.00000000 1.0000000

*3C

-0.16666667 -0.1666666

*,

0.0083333333 0.008333026

*Q

-0.00019841270 -0.0001980742

*?,

0.000002755732 0.000002601887

* A

-2.5052109 x 10 8

x13

1.6059045 x 10~10 ■

Motor B

ug

A small bug stepped into the steppermotor described in "I've Got You InMy Scanner! A Computer ControlledStepper Motor Light Scanner" (Novem-ber 1978 BYTE, page 86). The partnumber of the motor should be K82701-P2, not K82944-M1, as stated. Forprice and ordering information, contactNorth American Philips, Sales Dept,Cheshire CT 06401, (203) 272-0301 .■

Out of Phase

In Leonard H Anderson's article"Linear Circuit Analysis" in October1978 BYTE, the table on page 102,"Complex Number Arithmetic," con-tains two mathematical errors:

1. The correct formula for mag-nitude should be MAGN =

7(A2 + B2)

2. The correct formula for phaseangle should be PHA = ARCTAN(B/A).

Attempting to use the formulas givenin the article will result in chaos.

D M Graham

2149Scarboro Av

Vancouver BC

CANADA VSP 2L2

Oops! Mr Graham has detected anobvious error. We hope our collegemathematics teachers weren't looking CM"

You don't waste a secondon "mechanics" withA P All-Circuit Evaluators.

You figure out the circuit you want,then plug it in for testing. You decideto improve your layout, and youmake your moves as quickly as youthink them up. There's just no fasteror easier way to build and test cir-cuits and circuit ideas.

But just because breadboardingis now such a cinch, don't get theidea that you don't have electronicintegrity. Oursolderless plug-in tie

points are made of a special non-corroding alloy. Use them as oftenas you like.

How many tie points do you need?Our smallest ACE has 728, our larg-est has 3,648. And all of themaccept all DIP sizes.

Everything is quality all the way.You can even see the differencein our harder, shinier plastic matrix.

See for yourself. Phone (toll-free)800-321-9668 for the address of yournearby A P Products dealer. Andask for our complete A P catalog,The Faster and Easier Book.

AP PRODUCTSINCORPORATED

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

Faster and Easier is what we're all about.

APP-27-H

Circle 7 on inquiry card.

January 1979 © BYTE Publications Inc 53

TechnicalFonum

The letter from Olav Naess (TechnicalForum, August 1978 BYTE, page 12) sug-gesting the use of the data in and data outlines of the S-100 bus as a bidirectional databus was especially interesting in light of theannouncement of a commercial product thatoperates this way, and adoption of thismode of 16 bit operation in the proposedstandard for the S-100 bus.

In August 1977, I was involved in design-ing the prototype of a processor board thatinterfaced the Texas Instruments TMS990016 bit processor to the S-100 bus. Since thedesign was to work with most existing S-100boards, it included logic to multiplex the16 bit data transfers into pairs of conven-

Comments on S-100 Bus Extension

John WalkerMarinchip Systems16 St Ji/de RdMill Valley CA 94941

tional 8 bit memory cycles. Since perform-ing this multiplexing imposed a substantialperformance penalty on the processor com-pared to operation with 16 bit parallel mem-ories, I wanted to allow the processor to alsowork with 16 bit wide memories, ideallyintermixed with normal S-100 memories.

After discarding several schemes such ashaving a separate 16 bit wide bus along thetop of the card, and splitting the bus intotwo separate mother boards, I hit on theidea of using the data in and data out busesas a bidirectional bus. The final design was asfollows.

At the start of a memory cycle, the pro-cessor asserts a line, informing the memorythat the processor is capable of 16 bit trans-fers. If the memory addressed is also capableof 16 bit operation, it responds with a signalinforming the processor of this fact. Whenthe processor sees the 16 bit mode replyfrom the memory, it initiates a parallel 16 bittransfer instead of the normal pair of 8 bittransfers. Since a conventional 8 bit S-100memory is not connected to the 16 bit replyline, and the processor pulls this line to the8 bit value, normal 8 bit memories will runwith the processor with no modifications inmultiplexed mode.

The processor's 16 bit request line allowsthe design of memories that operate in either8 or 16 bit mode. Such design is desirablebecause memories so designed can be usedboth with regular 8 bit processors or withthe new 16 bit processors. Also, such a mem-ory is required in order to use an 8 bit directmemory access device in a system with a16 bit processor and memory.

The Marinchip Systems M9900 processorwas designed to run in the manner describedabove. A prototype of the processor with16 bit mode operation was tested in January1978, and the production model of the pro-cessor was demonstrated at the West CoastComputer Fairc in March 1978, runningwith mixed 8 and 16 bit memories and an8 bit direct memory access disk controller.At the Faire, our scheme for 16 bit opera-tion was presented at the S-100 standardsmeeting. The S-100 standards committeelater adopted it in the proposed standard.

The bidirectional 16 bit bus proposal, asintegrated into the proposed standard, hasmany advantages. It requires no new hard-ware signal routing (compared to a separate16 bit bus, or a split mother board). It re-quires only two new bus lines: the 16 bitrequest from the processor, and the 16 bitacknowledgement from the memory. Finally,and most importantly, it allows a smoothtransition from a primarily 8 bit world tothe coming 16 bit era. Users' investment in8 bit memory, input/output, and directmemory access devices is protected, as thesedevices continue to run without modifica-tion, while 16 bit processors and devices canbe added as they become available. The 16bit processor, when executing out of 16 bitmemory, operates at its full rated speed.

To answer the objections raised to thisproposal by John C McCallum in the sameissue, allowing 8 bit memory boards to oper-ate in their original mode allows them towork with a 16 bit processor with no prob-lems. If a memory board works with an8080, it will work in 8 bit mode with thenew processor. Processor Technology's paral-lel bus affects only the SOL computer, as faras I know, and not any of their accessoryboards. In any case, their 3P+S, VDM-1, and8KRA memory work fine with the M9900processor. Since the SOL has the processorintegrated in the system rather than on aseparate card, users are not likely to changeit anyway. Finally, nobody expects anybodyto rewire anything under the 16 bit proposal.The most attractive facet of the proposal isthat it allows existing hardware to run as itdoes now, while allowing new hardware torun with unimpaired performance.

If the S-100 bus is to remain the dominantbus for modular system construction, it mustaccommodate the existing and forthcoming16 bit processors. I feel the proposed 16 bitstandard is the best route to this goal."

REFERENCE

Morrow, G, and Fullmer, H, "Proposed Standardfor the S-100 Bus," Computer, May 1978, page 84.

54

January 1979 © BYTE Publications Inc

»«00

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 Accountant".

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

&«osaufiCE

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

BYTE January 1979 55

Build a

Computer ControlledSecurity Systemfor Your Home

Qispcia'sCircuit Cellar

"Steve? Lloyd? How did you get in?"I jumped back in my swivel chair in surpriseas they approached.

"Joyce let us in."

It wasn't unusual for Steve and Lloyd todrop over. We've been friends and fellowcomputer buffs for years. The surprisingpart was that they hadn't seen my new base-ment since I had moved and they decidednot to wait for an invitation.

"Boy, when you said you moved to thewoods, you really meant it." I was sure thata western Long Islander like Lloyd probablyconsidered more than three trees and ahedge in a yard a forest, but I did have toadmit that the last 100 yards along my dirtroad was a real killer. "How do you plan toget out of here in the winter?"

A picture of Nanook of the North com-plete with dogsled and team flashed into mymind. I felt the cold wind blowing in myface and frosty icicles forming in my bushybeard. Protecting my eyes from the blizzardconditions with a heavily gloved hand, Isearched the horizon for the faint wisp ofsmoke rising from a chimney that wouldprovide some respite from the harsh winter.The whip in my other hand was glazed withice and no longer produced the crisp snapthat was necessary to command the atten-tion of the lead sled dog. The iciness envel-oped me and began to cloud my conscious-ness. I could only hope that instinctualsurvival reactions would be triggered intime. . . .

"Steve! What are you going to do in theCopyright © 1978 by Steven winter?" Lloyd repeated, breaking me from

A Ciarcia. All rights reserved. my trance.

Steve Ciarcia

POB 582

Glastonbury CT 06033

Software consulting by Steve Sunderland

Parti

Thoughts of my arctic ordeal instantlydissolved and the true answer came to mind."A Jeep came with the house. Come overwhen it snows and I'll show you how toplow a road."

Lloyd shuddered. The thought of beingbounced around in a Jeep while plowing arutted dirt road was more than he couldtake. "No thanks. Maybe I'll watch — frominside!"

Before I could discuss the merits ofmechanized dogsleds and their relationshipto my fantasy, Steve asked a question I hadbeen concerned about but had not yet re-solved. "Have you thought of a securitysystem for this place?"

"Actually, I've done more than thinkabout it, I've started to design one." I wasaware of my new isolation, and while crimewas an important consideration, any securitysystem I designed would do far more thanjust ring an alarm bell.

"Yeah! You ought to see the system Ihave," Lloyd piped in. "It cost a fortune,but anybody breaking a window or openinga door will set it off. It automatically dialsthe police too."

"Lloyd, I've been to your house. It'swired like Fort Knox! You've got foil tapeson every window like a jewelry store. Thishouse is a contemporary, if you didn't no-tice as you entered. Do you realize howmuch glass there is in the living room alone?"

"It's a pretty foolproof method," heanswered as though not hearing my question.

"Well . . . ," I continued, "there are over300 square feet of glass in that one room.All I need is 300 square feet of strips. Anddidn't you say you often had false alarms inthe spring and fall when the temperaturevariations induced cracks in the tapes?"

"Hold it Steve. Lloyd was only talkingabout one possibility. You don't have toinstall the same system. In fact there mustbe dozens of commercial burgler alarms youcould have installed."

Steve was right. "I'm sorry guys. Movingout here in the woods has pointed out theneed for self-sufficiency and independence.That's why I have the wood stove over there.I'm even going to install an auxiliary gener-

56

Ijnujry 1979 © BYTE Publications Inc

ator to power the water pump and lights.The only item I haven't settled yet is thesecurity system."

"Isn't it a simple matter of stringing somedoor and window switches, an on/off keyswitch, and an automatic dialer?"

"Sure Steve, if I wanted a simple burglaralarm. You should know me better thanthat, though. Reasonably priced commercialsystems are nothing more than what you'vedescribed. As soon as you add time relatedactivations, battery backup, intrusion sens-ing to cover approach roads and surroundingproperty, and a decision making capacityfrom the alarm controller, dedicated logicbecomes too expensive."

"What kind of system do you have inmind?" inquired Lloyd.

"Actually I haven't finalized all the de-tails, but the system I want would do thingslike turn on the outside lights as I drive upto the house, activate 115 VAC appliancesin either a preprogrammed sequence or ran-domly, have display panels in the bedroomand down here in the basement to track

anyone approaching the house, and ofcourse all the usual fire and burglar alarmfunctions."

"Wow, Steve!" Lloyd's eyebrows rose alittle as the security system was unveiled."That would take a computer!"

"Exactly!" I exclaimed.

Steve looked at me, then at the big (bymicrocomputer standards) computer to myleft. His technical mind did a quick calcu-lation on the battery backup requirementsfor my 64 K dual disk computer system.

"I suppose you've laid in a separatepower feeder from the Grand Cooley Damto keep this dinosaur running?" he said.

"Don't be funny. The computer Ipropose to use is a single board micro-computer, programmed to provide thesophistication I want but versatile enoughto allow logic changes and easy hardwareexpansion." I reached into the drawer be-hind me and pulled out a foot square pop-ulated printed circuit board and passed itto Steve. "Here's the computer." BothSteve and Lloyd eyed the odd looking

SECURITY SYSTEM OUTPUTS

REMOTE STATUS DISPLAY PANEL

TEMP PERIMETER NEIGHBOR

O O O

ROAD I WATER RESET

o o o

ROAD 2 POWER

o o

6t<

STATUS

AUTOMATICLIGHTING

AUDIBLE ALARMS

Figure I; Pictorial diagramof computer controlledhome security system.

EXTERNALCOMMUNICATIONS

110 BAUD

20mA INTERFACE

GD

AUTO DIALER

REMOTE

AC CONTROL

SURVEILLANCEMONITOR

Qo0

INTEL SDK-85 COMPUTER

2K READ ONLY MEMORY MONITOR

IK PROGRAMMABLE MEMORY

IK ERASABLE READ ONLY MEMORYAMPLICATIONS SOFTWARE

REAL TIMECLOCK

UNINTERRUPTABLEPOWER SOURCE

SECURITYSYSTEM INPUTS

ULTRASONIC SENSORSINFRARED SENSORSCONTACT CLOSURESSMOKE DETECTORSHEAT DETECTORSWATER LEAKAGEPOWER FAILUREKEY SWITCHESTAMPER DETECTIONPANIC BUTTON

lanuary 1979 IS BYTE Publications Inc 57

Figure 2:

Block diagram

of computerized home

security system.

TABLE DRIVENAPPLICATIONSSOFTWARE

■

n

CONTROLOUTPUTS

MICROCOMPUTER

SENSORINPUTS

i

,

CLOCK

BATTERY

circuit. "It's an Intel SDK-85 kit whichuses an 8085 processor. With a little addi-tional programmable read only memoryto store the program, some ultrasonic andinfrared sensors, contact switches at strategiclocations, a house wired for remote ACcontrol of lights and appliances, and abouta mile of wire, I'll be in business. I onlypray for divine inspiration as I sit down toassemble the program."

"Hey, this sounds fascinating. Why nota computer controlled security system!"Steve seemed more elated at the prospectsof my design than I did. He was a controlsystems engineer by trade; I could sense hewas already writing the control algorithmsin his mind.

"You wouldn't want to help me writethe software would you?" I asked.

"Sure, sounds like fun."

"Only you would consider writing soft-ware fun." Lloyd pointedly remarked toSteve. "I'm more interested in the hard-ware." Turning to me he continued. "Tellme about your design. Is the SDK-85 inex-pensive enough to dedicate to an alarmsystem? What kind of a battery backupsupply are you making? What kind ofsensors are you putting outside on the roads?Did you add that infrared scanner youalready wrote about?"

"Hold it guys. One question at a time.Maybe I'd better start from the beginning."

Anatomy of a ComputerizedSecurity System

The primary requirement for the hard-ware and software used to implement asophisticated home security system is flex-ibility. Considerable flexibility is required to

allow you to structure a system which exe-cutes a variety of functions. These functionsinclude not only the menial tasks of noti-fying residents that an intruder has enteredthe home and signaling the authorities, butalso those activities necessary to enhanceone's "quality of life." Such items includestarting the electric percolator at the propertime each morning or turning on the coolingsystem in the wine cellar when the temper-ature goes above 64° F.

The system to be introduced in thisarticle and detailed in the next two BYTEshas the hardware and software features of asophisticated home control and securitysystem, a system which may also be adaptedto perform some of the basic routine controlfunctions you may want to perform aroundthe home or office (see figures 1 and 2). Ithas three major components:

1) The microcomputer and its associatedhardware.

2) Event-table-driven software set.

3) A sophisticated array of sensors.

Each of these items will be detailed in thesucceeding sections of this series. Part 2 willdescribe the Intel SDK-85 single board com-puter which satisfies the intelligence require-ments of the security system, the hardwaremodifications necessary to add additionalprogrammable and erasable programmablememory to the SDK-85 kit, and a descrip-tion of the various control modules com-prising the software set of the system. Thethird article of the series will discuss sensordesign, uninterruptable power supply re-quirements, design and construction of anindicator panel to display monitored con-ditions, and, finally, example software that

58

lanuary 1979 "'■BVTC Publications ln<

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

HB9E9HZQ2Q

fe™^

™B|||

m^^^^M

!°™"BBff*"w™i^^

1 ^^^^fl1 ■—

mBB=

"^Siiiiiii

imillMlMT:

TARBELL FLOPPY DISCINTERFACE

• Plugs directly into your IMSAI orALT AIR* 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

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

.— i

mat up hi. j

'""■Ml

-^

Situ jiifilami Ae**& 3'

ITT-l.lgl.VM!' '

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

O"

• 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 MITS. Inc.CP/M is a trademark/tradename of Digital Research

yk

a

Ironies

950 DOVLEN PLACE • SUITE B • CARSON, CALIFORNIA 90746(213) 538-4251 • (213) 538-2254

Circle 360 on inquiry card.

BYTE January 1979 59

Photo 1: The Intel SDK-85 single board computer,that forms the heart ofthe computer controlledsecurity system describedin this article. Note theadditional erasable readonly memory and pro-grammable memory addedin the prototyping sectionat upper left. For moreinformation about theSDK-85, contact Intel,3065 Bowers Av, SantaClara CA 95051, atten-tion: Rob Walker.

demonstrates the versatility and ultimatecapability of a computer controlled securitysystem.

By this time you may be wondering whyI used an Intel SDK-85 microcomputer inbuilding this system. Before I answer thisquestion, let's discuss the general require-ments.

A computer home security system's linkwith the real world is its sensors. The sens-ing devices must be small, reliable, lowpower, and capable of detecting exceptionalsound, light and motion. No single deviceI used was capable of detecting changes inthese three conditions, with the exception ofthe infrared scanner described in a previousarticle (see "I've Got You in My Scanner! AComputer Controlled Stepper Motor LightScanner," by Steve Ciarcia, November 1978BYTE, page 76). A variety of single functionsensors provided the necessary inputs: ultra-sonic devices to sense motion within themonitored area, pressure switches to moni-tor the removal or the addition of a mass(such as a foot on the stairs to the CircuitCellar), photoelectric devices to detectmovement between monitored points, andan array of contact closures to signal theopening and closing of strategic doors andwindows.

All inputs to the computer are designedto be discrete in nature. That is, they exist

as switched outputs and appear to the com-puter as either a high or low logic level inthe activated state, depending on the partic-ular sensor. The majority of the sensors haverelay outputs and can be wired in seriesor parallel combinations to cover wideareas or to give redundant indication. Anillustrative example is using the seriescombination of an ultrasonic and infraredsensor to cover large open areas. The failureor false indication of a single input willnot cause a false alarm, since both sensorsmust have a positive "intruder" presence.In effect, the signals from the two devicesare logically ANDed. More on these tech-niques when we discuss sensors.

The Alarm Contains MoreThan a Switch and a Bell

Functions other than the detection ofintrusion have been incorporated in the sys-tem. These functions are centered on thesafe operation of the home or office, andare used to detect the status of sump pumps,refrigeration systems and water pumps.Failures of these devices are detected bythe system again via simple contact closures.The detection of smoke and fire has beenincorporated into the system for the pro-tection of the property and its occupants.

Figure 3 is the floor plan of a contem-

60

January 1979 0 BYTE Publications Inc

introducing...

YOUR NEW LIFE STYLE!

Discover How to ImproveYour Personal Abilities

An amazingly powerful application of a computerized personalinformation management system. In handy booklet form.

• Increase your personal capabilities

• Save money

• Improve your ability to plan

• Locate important facts quickly

• Eliminate the drudgery of routine

chores

These all add up to a better life stylefor you! A new way of living whichcan be more pleasant, bring you morehappiness and success.

Information. That's the key. Yourcommand of information is what givesyou the power to succeed.

Information For What?

Information you need to make deci-sions ... to solve problems ... to seekcreative solutions in real life situations.

er your con-trol will amplify your personal abilities.

You've Heard of the InformationExplosion?

Now it's time for an explosion in yourpersonal capacity to deal with a wealthof information. The personal computeris the answer. And now the means isavailable for you to use it to yourpersonal advantage.

Can a Computer Really Do It?

You bet it can! The power of a per-sonal computer is fantastic. Untoldamounts of information can be pro-cessed in the blinking of an eye. Choresyou've found laborious can be done byyour simple command. Facts that havetaken hours to find can now be locatedat the snap of your finger. That'swhat a personal computer can do . . .

.. . if YOU know how!

YOU? Yes, you! You need to have theknow-how to unleash the power of themicrocomputer for your benefit.

Until now only the programmers anddesigners could make such profitableuse of the personal computer. PIMS —the Personal Information ManagementSystem — has changed that. Youdon't have to be a programmer to usePIMS. PIMS is a program which youtype into a personal computer. Then

it's just a matter of following the in-structions for setting up your owntasks for computer assistance.

Can It Really Be That Easy?

Sure. That's the beauty of a programfor information management. It'san alternative to programming fromyour standpoint. All you do is definethe job you want the microcomputerto do. Express yourself in simple com-mands and statements. Then the micro-computer plus PIMS does the rest.

What Can It Do?

PIMS will enable you to function withincreased effectiveness. Use it tobalance your check book. It can keepan inventory of your possessions.(Ever store something and afterwardsforget where? PIMS will tell you thelocation!) Use PIMS to plan your day,vacation, education and important lifeevents. PIMS can tutor math, keep yourpersonal mailing list or telephone direc-tory. Use it to keep track of personaldisbursements. It can even be used toschedule your TV viewing. And more.Much more. There's practically no limitto the type of applications.

Here's what you get.

All in one neatly bound volume,

• The microcomputer and its potential

for personal use

■ Ways in which your microcomputer

can be helpful in everyday life andserving basic personal needs

• PIMS — Personal Information Manage-

ment System. All the basics andjargon

■ PIMS program outline and flow chart

-15 sample ways in which PIMS canwork to your personal advantage

• The complete listing of a practical

functional program. Written inBASIC language. Ready to use!

The PIMS program was prepared bySCELBI using Microsoft! compatibleBASIC as used in a wide variety of per-sonal computers. Systems like AppleII, Radio Shack TRS-80 (level II),Ohio Scientific 400 and many othersmall computer systems.

£ .

a Computer?

Even if you are still just thinking aboutgetting your own personal computer,you should have this book. It will showyou in clear understandable terms whatyou'll be able to accomplish with yourown microcomputer.

Is the Message Clear?

PIMS — Personal Information Manage-ment System can help you. If you'reinterested in understanding whatrole a computer can play in enhancingyour life style, get PIMS. • It willgive you the inside track for gettingthe most out of a personal computersystem.

Get Yours!

PIMS is available in handy bookletform. Your copy is ready for shipment.At only $9.95* it's got to be thegreatest bargain to come along!

Don't Wait.

Get your copy now! You'll discoverhow you can find your new life style- with PIMS.

"Prices shown are for North American customers.Pricing, specifications, availability subject tochange without notice. Personal checks may de-lay shipment. IMPORTANT! Include 750 postage/handling for each item to be delivered by U.S.Mail Book Rate, or $2 for each item to be ship-ped First Class or UPS.

t A trade mark of Microsof ■•»»•

Publications;

.P.O. Box133PPSTNMilford, CT 06460YES! I want PIMS.Enclosed is $9.95 plus 75*4 post-age/handling. Or, better yet,;'. please charge my Master Chargeor VISA account:

Card No

"Exp; pate

Bank No.- —_;—-— -",

Name : ,

© 1978 SCELBI Publications

INFRARED SENSOR BEAM

ULTRASONIC SENSOR BEAM

£ OUTSIDE FLOODLIGHTS (3 CIRCUITS COVER COMPLETE PERIMETER)DOOR AND WINDOW SWITCHESSMOKE OR HEAT SENSOR

Figure 3: Typical arrangement and types of sensors used in the computerized home security system.

porary house similar to my own. For ob-vious reasons I have chosen not to use oneof my own home. The dimensions and lay-out are similar enough to adequately repre-sent the model and to illustrate the possiblequantity, type and placement of sensors. Iconsider my house a unique application anddo not believe that every detail of thissystem is necessary for adequate securitycoverage. Less sophisticated photoelectricand ultrasonic sensor designs could be usedto monitor a 9 by 1 2 foot room, but mightbe inadequate in a much larger room. Myhome proved to be a sensor developmentchallenge, since the living room is 42 feet indiameter and the house totals 4800 squarefeet monitored area. The best procedureto follow is to understand the theory of thesystem, differentiate between the uniquenessof my application and a general case, andextract those components which satisfy yoursecurity needs.

Alarm Priorities

The inputs monitored by this securitysystem are divided into four priority levels,level 0 through level 3:

Level 0Activation

Level 0 alarms are always enabledas long as the system is operational.Inputs of this type consist of smokesensors, heat activated switches,and panic button inputs.Result

Positive closure of any sensor im-mediately triggers an audible alarmwithin the residence. Automaticdialing of police, fire and neighborcommences 45 seconds later. Thisdelay allows time to reset systemin cases of false alarms, such asburned toast.

62

January 1979 i BYTE Publications In

See It All at Once!

(with a Screensplitter

Text Editing andMultiple ProcessDisplay System

from Micro Diversions J

S-100 Buss

VISA

master charge

$295 Kit

$395 Assembled

$15 Owner's Guide only

Micro Diversions, Inc.8455-D Tyco RoadVienna, Virginia 22180(703)827-0888

unretouched photo 13" or larger slow phosphor monitor recommended

■ 40 lines, 86 characters/lineUPPER/lower case full ASCIIwith special symbols

■ Onboard intelligence:1K byte fast subscreencontrol, positioning and textformatting software

■ Custom reprogrammablecharacter generator

for unusual applications

■ 140 page Owner's Guidecovering hardware, software,system integration

■ Available from stock

Circle 225 on inquiry card.

BYTE January 1979 63

Table 1: 18 discrete func-tions performed by theauthor's computer con-trolled security alarmsystem.

Level 1

Activation

Level 1 alarms are enabled by akeylock switch input to the com-puter and are primarily intrusionin nature. They consist of paralleland series combinations of ultra-sonic, infrared, and contact closuretype sensor inputs.Result

Positive closure of any sensor im-mediately triggers an audible alarminside and outside. The system im-mediately dials police, contacts theneighbors via a dedicated serialcommunication link betweenhouses, and turns on surveillancerecording devices.

Level 2Activation

Provision is made to allow entry tothe house at selected spots to de-activate the alarm. Entering thesepoints starts a timer which must bereset by deactivating the level 1alarm system.Result

Failure to reset the system withinthe alloted time triggers a level 1condition with typical level 1response.

Level 3Activation

Level 3 is always activated andits input sensors are displayed on apanel as well as being supplied to

Output

Function

1.

Auto dialer

Automatically calls police, fire, etc.

2.

Audible alarm (intrusion)

Signals that there has been a break-in.

3.

Audible alarm (fire)

Signals detection of fire or smoke.

4.

Level 1 enabled (lightnext to key switch)

Steady output indicates reset condition;flashing output indicates enabled mode.

5.

Perimeter flood lights

Activated by timer or level 3 input.

6.

Driveway flood lights

Timer activated at dusk.

7.

Low level audible alarm

Signals pertinent combination of eventsor particular level 3 activation; mountedin level 3 display panel.

8.

Recording instruments

Particular level 1 alarms trigger activationof surveillance recording devices.

9.10.11.

\ 3 bit, level 3, \( display board driver |

Multiplexed output controls eight displayparameters.

12.13.14.15.16.17.

AC circuit 1 vAC circuit 2 IAC circuit 3 IAC circuit 4 (AC circuit 5 1AC circuit 6 '

Six AC power control outputs to lightsor appliances which either simulateoccupancy through sequential activationor act as remotely controlled outputs toturn on percolators, air conditioners, etc.

18.

Output to neighbor

Indicates fire or intrusion.

the computer for possible action.Sensor inputs include power fail-ure, perimeter intrusion, freezerfailure, etc.Result

Perimeter or approach informationcan be utilized by the system toturn on outside lights, but theprimary purpose of level 3 is toprovide a noncritical conditionmonitoring system for information.The duration of the displayed eventis a timed function.

The combination of the four levels usesa total of 20 parallel input bits on theSDK-85.

Alarm Outputs

Unlike the majority of security alarms,which have only a single output to turnon the automatic dialer and alarm bell,this system has 18 discrete output functions.They can be activated in any combination,and are described in table 1.

The particular designations for inputsand outputs are selected for my needs, andare easily redefined due to the programstructure and event table software. A pic-torial diagram is shown in figure 1. Thiswill be explained in detail next month.

Additional Considerations and Capabilities

Another major consideration in a homesecurity system is the provision of a con-tinuous and reliable power source. This isnecessary to sustain operation during elec-trical interruptions. To assure a dependablepower source, the system is powered by anuninterruptable power supply. Necessaryinput voltage is provided, at all times, by12 V batteries. The charge on the batteriesis maintained by an automatic 115 VACcharger which will charge the batterieswhen their output voltage falls below apreset value. The output of the powersource is used to supply voltage to criticalsensors, the status display panel, and themicrocomputer. The computer will ofcourse register the occurrence of a poweroutage.

As stated previously, one capability ofthis system is the controlled activationof AC outputs triggered by input eventsor timer generated commands. To accom-plish the latter, one needs a time baseand a real time clock. The circuit in fig-ure 4 is added to the SDK-85. The realtime clock creates a pulsed output witha frequency of 1 Hz. This pulse outputsignal, when attached to the interrupt

64 January 1979 © BYTE Publications Inc

'My Structured Systemsbusiness software has paidfor itself in labor hours

saved alone.

Mr. Ken Tunnah, Colloid-A-Tron Inc., Buffalo, New York

59

Ken Tunnah is oneof many innovatorsbringing the microrevolution to thesmall business. Asa programmer, heknows computersand their languages.As a businessman,he knows businessand its languages.And when Mr. Tunnahdecided to micro-computerize the ac-counting function atColloid-A-Tron, heturned to StructuredSystems software.

mmm

Says Mr. Tunnah: "The program is designedfrom a CPA standpoint, for multiple corporations,which we have. It is flexible and gives me theability to change reporting by profit centerseasily. It is up and running quickly, and it justkeeps on running. I think it's the best businesssoftware available."

The best software available. That's what StructuredSystems 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, ormulti-corporate reporting for the business, but smallenough for the micro budget. The very comprehensiveAccounts Receivable and Accounts Payable packageswill operate independently, or they will coordinate withthe General Ledger.

Our systems record transactions easily and cor-rectly, and provide an audit trail from source documentto financial statements. And they will maintain monthlyand year-to-date information in dollars and inpercentages. And they are reliable.

The three systems interact with theuser to set up parameters such asformat and headings, accounttitles and numbering,automatic billing or remindernotices, credit limits, salesreports, a check register,and much more.

Circle 351 on inquiry card.

The software is designed to run on an 8080 or Z-80CPU with 48K of memory, dual disks with CP/M®,printer, keyboard, and CRT. To make it all work for you,we have provided the most extensive documentationand support in the industry.

We provide the capability to computerize complexaccounting functions on relatively inexpensive micro-computer equipment. Ken Tunnah has told us what thatmeans: "I've bucked some trends. I looked around,and decided that with the right software, I couldget a micro to outperform a $45,000 mini. I'msatisfied. It's simple economics."

We can refer you to a growing number of sophisti-cated retailers experienced in Structured SystemsGroup business systems. Or we can work directly withyou. We'd be happy to provide you with more informa-tion on our product line, which includes QSORT™ (asort/merge program), CBASIC (a business BASIC),NAD™ (a mailing and addressing system), and ourGeneral Ledger, Accounts Receivable, and AccountsPayable packages.

'ttCP/M is a registered trademark of Digital Research

Aructured /y/tem/ Group

INCORPORATED5208 Claremont AvenueOakland, CA 94618Call us at (415) 547-1567. Or write Dept. B7.

Putting the Microcomputer in Business.

BYTE January 1979 65

i-sv4

3-l2pF20pF

60Hz

33pF

3.57545MHzCRYSTAL

ICIMM5369

Figure 4: Real time clock circuit used to provide a once per second pulse toupdate the SDKS 5 time of day software.

6

DIVIDEBY 10

IC274LS90

¥

Qd

TO

INTERRUPT

INPUT

IHz

ft

DIVIDEBY 6

IC374LS92

¥

Number

Type

+5 V

Ground

IC1IC2IC3

MM5369

74LS90

74LS92

855

21010

input line of the 8085 and combined withproper software, provides the alarm systemwith a time of day clock having resolutionof 1 second. The current time in hours,minutes and seconds is constantly displayedand updated on the 6 digit LED displayon the SDK-85 board. This gives a con-stant indication of system operation andreadiness. This display can be deacti-vated to conserve power during a powerinterruption.

The time of day clock is not the onlyoperator interface. An additional displaypanel is remotely located in the bedroom

Photo 2: Prebuilt commercial ultrasonic transmitter (small board) and receiveravailable from Bullet Electronics; for use across doorways, rooms, etc.

or similar area where current system statuscan be viewed. This display is not meantto indicate the obvious, but rather to makethe resident aware of less critical but equallyimportant matters. In the event of a fire oroutright break-in, the system would activatethe necessary counter measures and notifythe authorities. Flashing a tiny light emittingdiode (LED) on a panel will hardly benoticed in all the noise of the sirens.

A third level of sensors monitors ap-proaches to the house, the perimeter, andimportant events such as water leaks andpower failures. While the system may stillturn on outside lights if desired, this panelwould immediately notify the resident ofsomeone passing through the property, or ofa power failure. When you live in the woods,these are all important considerations.

Using an Intel SDK-85

The microcomputer system utilized inthis security system was constructed aroundan Intel MCS-85 system design kit (SDK-85).It was chosen because of the basic featuresit provides to the experimenter. Includedin this $250 kit are all the materials neces-sary to build a basic computer system whichcan be modified easily with additionalprogrammable read only memory con-taining the security system software. Themain features provided in the standardSDK-85 include:

• 8085 processor utilizing the 8080Ainstruction set.

• Interactive 6 digit LED display and20 key keyboard.

• 110 baud 20 mA current loop inter-face.

66

January 1979'; BYTE Publications Inc

the $988 Surprise ...

If you haven't looked carefullyat the Level-II 16KTRS-80,you're in for a big surprise!Level-II BASIC gives TRS-80advanced features like com-prehensive string handling,multi-dimension arrays,multi-letter variable names,named cassette files, full edit-ing, integer arithmetic,single (6-digit) and double(16-digit) precision arithme-tic, formatted printing,memory-mapped video (printdirectly at any of 1024 screenpositions), 128x48 videographics (may be intermixedwith text), error trapping, autoline numbering, TRACE,PEEK and POKE ... to namejust a few. Because Level-II isin ROM, TRS-80 powers-upready to go with the full 16KRAM available for your use.

This means TRS-80's memoryis equivalent to a 28K RAM-based system.New for 1979—TRS-80'snumeric (calculator) keypadincluded on every 16K com-puter, and available as anadd-on for present owners.

TRS-80's modular designallows easy expansion. Addup to 48K RAM, ExpansionInterface, printers, 1 to 4Mini-Disks, RS232C, tele-phone acoustic couplers,Voice Synthesizer, dual cas-sette recorders, our SystemDesk and Printer Stand. Sur-prisingly, these are not prom-ises of things to come, but realproducts being delivered rightnow. Software from games toGeneral Ledger are available,with more cassette and disksoftware being addedmonthly.

Radio Shack's 58 years of con-sumer electronics leadership,our 50 regional repair centers(growing to 100 this year), ournew Radio Shack computercenters, and our NYSE-listedbillion-dollar parent, TandyCorporation, insure that cus-tomer support is always avail-able right where it shouldbe—locally.

So if you haven't seriouslylooked at TRS-80 yet, askyour local Radio Shack for ournew 20-page fact-filled catalogand be prepared for a $988surprise. Surprising power—features—price—support!Level-II 16K systems includeeverything pictured, plus themanual. Better to be surprisednow. . . before you choosethe wrong microcomputersystem.

l6KAmilable RAM12K Level-H BASIC in ROMFull-Size Typewriter KeyboardILL. Listed, PortableComplete . . . Plug in and Ise

BYTE January 1979

67

Photo 3: Heat sensor designed to trip above J 35° F, typical of the type oftenused in combination with smoke detectors.

27MSS 1.99

UECTROMICWKTS

SPSTMAGNfHCCON I ACT SWITCH

r®/#

g$ iQi

Photo 4: Typical commercially available sensors. Shown are a panic button(left) and magnetic door switch, available from GC Electronics, Rock ford IL,and Radio Shack, respectively.

• Comprehensive read only memorybased monitor (2 K bytes).

• 256 bytes of programmable memory.

• 38 parallel input output (10) lines.

• Three user-vectored interrupts.

The presence of a good monitor, aquantity of 10 bits, vectored interruptcapability, and an interactive keyboard anddisplay were the primary reasons for thechoice of this unit. As previously stated,the real time clock interrupts the systemevery second. While interrupt capability isnot absolutely necessary to the design of asecurity system, it does insure that eventswhich may become critical to the per-formance of a system are not missed. Forexample, let's assume that maintaining anaccurate time base is required, and that thesystem maintains time by a pulsed input.If this input is interfaced to the computervia a line on an input port, it may be pos-sible at times (depending on processorload) to miss the event, thus causing thesystem to slowly lose its time synchroni-zation to the real world. However, if thisinput is interfaced to the system via aninterrupt line, the system will not "missticks" due to processor overhead. Shouldthe processor be busy at the time the inter-rupt occurs, two possible conditions couldexist. First, the routine being executedcould have temporarily inhibited inter-rupts. This will only delay the processingof the timer interrupt: when the interruptsare enabled by the routine the processorwill recognize that the interrupt is pendingand vector to the appropriate address tobegin processing the interrupt. Note that,should interrupts be inhibited for a periodlonger than the frequency of the interrupt,"missed tick" conditions will occur. There-fore, one should always be aware of themaximum time during which interrupts willbe inhibited. The second condition whichcan arise during the processing of interruptsis that the processor might be busy exe-cuting a module with the interrupts en-abled. In this case the processor will immedi-ately vector to the routine to process theinterrupt. Upon completion of the interruptprocessing, control is returned to the inter-rupted module.

The keyboard and display are importantto the operation of the security system.These units are utilized extensively in thestartup of the system.

It is through this facility that the userinitiates the operation of the system, notifiesthe computer of the current time of day sothat it may initialize the software clock, andcan utilize the monitor to diagnose problemswithin the system. For example, the key-

68 |.inu,iry 1979©BYTE Publications Inc

Introducing

the simple

TRS-80 Up-grade

Fast, easy, guaranteedexpansion to 16Kat less than half theprice of Radio Shack.

Ithaca Audio makesit simple

No false starts and finding you needsome little item or special tool. Our Kitcontains all the parts: 8 prime dynamicRAMs and a complete set of preprogrammedjumpers. No matter which model you have(even if you later purchase Level II software),you're covered.

Complete Instructions

Our easy-to-follow directions cut instal-lation time to just minutes. You can do ityourself—with no soldering! All you need isa household screwdriver.

100% Guarantee

Like our kit, simple: if a part ever fails, wereplace it, FREE.

Available now

Order from your favorite retailer. If bychance he hasn't stocked them yet we'll shiphim your Kit right away.

Only $140

For technical assistance call or write to:

ITHACAAUDIO

Phone: 607/273-3271

P.O. Box 91 Ithaca, New York 14850

Available off-the-shelf at these fine computer dealers.

1 1978 Ithaca Audio

AL: BIRMINGHAM: Computer Center, (205) 942-8567. HUNTSVILLE: Computerland, (205) 539-1200. CA: BERKELEY: Byte Shop, (415) 845-6366. EL CERRITO: Computerland,(415) 233-5010. HAYWARD: Computerland, (415) 538-8080. LOS ALTOS: Computerland, (415) 941-8154. MARINA DEL REY: Base 2, (213) 822-4499. MT. VIEW: Digital Deli, (415)961-2670. SAN FRANCISCO: Computerland, (415) 536-1592. SAN JOSE: Electronic Systems, (408) 226-4064. SAN RAFAEL: Computer Demo Room Inc., (415) 457-9311. WALNUTCREEK: Computerland, (415) 935-6502. DE: NEWARK: Computerland, (303) 738-9656. FL: FT. LAUDERDALE: ComputerAge, (305) 791-8080. POMPANO BEACH: ComputerAge,(305) 496-4999. TAMPA: Micro-computer Systems, (813) 879-4301. IL: NILES: Computerland, (312) 967-1714. OAK LAWN: Computerland, (312) 422-8080. PEORIA: Computerland,(309) 688-6252. KS: OVERLAND PARK: Personal Computer Center, (913) 649-5942. WICHITA: Computer Systems Design, (316) 265-1120. KY: LOUISVILLE: Computerland, (502)425-8308. MA: CAMBRIDGE: Computer Shop, (617) 661-2670. MD: ROCKVILLE: Computerland, (301) 948-7676. Ml: ANN ARBOR: Newman Computer Exchange, (313) 994-3200. ROYAL OAK: Computer Mart, (313) 576-0900. NJ: ANDOVER: Atlantic Microsystems, (201) 549-0189. BUDD LAKE: Computer Lab of New Jersey, (201) 691-1984. CLARK:S-100, (201) 382-1318. ISELIN: Computer Mart (201) 283-0600. SUCCASUNNA: Computer Hut, (201) 584-4977. NY: BUFFALO: Computerland, (716) 836-6511. ITHACA: Computer-land of Ithaca, (607) 277-4888. JOHNSON CITY: Micro World, (607) 798-9800. NEW YORK CITY: Computer Mart of New York, (212) 686-7923. SYRACUSE: Computer Shop ofSyracuse Inc., (315) 446-1284. OH: CINCINNATI: Digital Design, (513) 561-6733. DAYTON: Computer Solutions, (513) 223-2348. OK: OKLAHOMA CITY: Micronics, (405) 942-8152. PA: FRAZER: Personal Computer Corp., (215) 647-8463. STATE COLLEGE: Microcomputer Products Inc., (814) 238-7711. TN: KNOXVILLE: Eastern Microcomputer, (615)584-8365. TX: AUSTIN: Computerland, (512) 452-5701. DALLAS: KA Electronic Sales, (214) 634-7870. GARLAND: Digital Research Corp., (214) 271-2461. HOUSTON: HoustonComputer Mart, (713) 649-4188. UT: OREM: Johnson Computer Electronics, (801) 224-5361. VA: ALEXANDRIA: Computers Plus, (703) 751-5656. ARLINGTON: ArlingtonElectronics Wholesalers, (703) 524-2412. VT: ESSEX JUNCTION: Computer Mart of Vermont, (802) 879-1683. CANADA: ONTARIO: MISSISSAUGA: Arisia Microsystems, (416)274-6033. TORONTO: Computer Mart Ltd., (416) 484-9708. WINNIPEG: Patrick Computer Systems Inc., (204) 774-1655. WEST GERMANY: MUNICH: ABC Computer Shop,Schellingstrasse 33, 8000 Munchen 40 Microcomputer Shop, Toelzerstr, 8, D-815 Holzkirchen. ISRAEL: HAIFA: Microcomputer Eng Ltd., Haifa 31-070.

BYTE January 1979 69

board and display allow the user to initializethe system by:

• Resetting the processor by depressingthe Reset button.

• Entering the 4 digit address of the

Photo 5: Steve Garcia installing a heat sensor over the printer and the Selectricin the circuit cellar.

start of the security system coldstart module, which will be displayed,as entered, on the display.

• Depressing the Go button.

The functions provided for debuggingthe system include:

• The ability to examine the contentsof memory locations registers bothrandomly and sequentially.

• The ability to load new values intomemory and registers both randomlyand sequentially.

• The ability to single step the executionof a software module.

• The ability to generate vectored inter-rupts from the keyboard.

• The ability to initiate execution fromvarious addresses.

The monitor provided in the SDK-85resides in 2 K bytes of read only memory.It contains the software required to servicethe commands the processor receives fromthe keyboard, the routines to drive the6 character LED display, the algorithms toprocess and serve Teletype (or other serial10 device) requests and the software tohandle serial 10 communication. Thismonitor also provides the vectored interrupttrap locations which in turn direct controlto user-supplied modules.

Several of the monitor routines are veryuseful to the operator and were used ex-tensively to display input data and do theinitial debugging.

Four modules are provided for sendingand receiving data to or from the Teletype.These are:

• Console input which returns anASCII character received from theTeletype to the requesting module.

• Console output which transmits an

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) pa 150 POCONO RD, BROOKFIELD, CT 06804

La (2031 775-9659

70 lanuary 1979 O BYTE Publications Inc

Circle 77 on inquiry card.

ASCII character from the sendingmodule to the Teletype.

• Carriage return/line feed which out-puts to the Teletype a carriage returnfollowed by a line feed.

• Hexadecimal number printer whichconverts a byte of data to two ASCIIcharacters (hexadecimal 0 thru F) andoutputs them to the Teletype.

Three modules are provided for sendingand receiving data to the keyboard/LEDdisplay. They are:

• Update data which displays thecontents of register A on the datafield of the display in hexadecimalnotation.

• Read keyboard which returns to therequesting module the character en-tered on the keyboard.

• Output data which outputs data tothe address or data field of the display.

The security system software is com-prised of a set of highly structured modules(see figure 5) used to process records passedfrom one module to another. Within thisstructure the initiating event can come fromone of two sources, the detection of anexternal event or the occurrence of a timeevent. The occurrence of an external eventis detected by the digital scan module;the occurrence of a time event is detectedby the timer interrupt processor. Wheneither of these modules detects the occur-rence of an event that requires furtherprocessing, it passes an event index tothe event processor, which will initiatethe processing of the event. The eventprocessor utilizes the event index to ex-tract the response records associated withthe event in question from the event record.It then transmits this data to the responseprocessor, which will perform the requiredresponse (ie: output a contact closure to

turn on a siren or autodialer, or activatea special application module). The detailedstructure and functions of the varioustables and modules that make up the secur-ity system software set will be describedin part 2 of this 3 part series."

COLD STARTMODULE

P

LA.

DIGITAL SCANMODULE

<*>

REAL TIME CLOCKINTERRUPT

LA

REAL TIME CLOCK

INTERRUPT

PROCESSOR

Fs:

EVENT RECORD INDEX

LA

EVENT RECORDPROCESSOR

-?~>

LA

RESPONSERECORD INDEX

RESPONSE RECORDPROCESSOR

?">

LA

DIGITAL OUTPUTMODULE

J^A

USER SUPPLIED

APPLICATION

MODULE

LA.

TIMER

ACTIVATION/DEACTIVATIONMODULE

Figure 5: Block diagram of the computer controlled home security system.

CONVERT ANY TV

TO A HIGH QUALITY MONITOR

.

HEX

7]

MICH

QU

M.ITY

TTTTTT1T

Tt

V V 1 '/'<V V ll

* v «r ■

V

MOD

"

1

KITS

• Hot Chassis or Transformer sets

• 64-80 characters per line

• By-passes tuner & I.F.

• Normal viewing unaffected

• Safe—Easy installationACVM 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"

AM 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

Circle 384 on inquiry card.

January I979CBYTE Publications Inc

71

Everything you've ever

wanted to Know aboutmicrocomputers in

ONE complete bookfor only $10.95

Over 400 pages. Full 8V2" x 11" size.

The ultimate bookabout microcomputers.Written by experts... SCELBI and BYTE. Over400 pages. A collector's item, t

featuring The Basics

from the first 16 issues of BYTE and SCELBI'sclassic library of books. Your microcomputerbookshelf is incomplete without this priceless edition.

**•»»

You can't buy informationorganized like this any-where. This is the bookthat everyone who is into micro-computers needs for reference,for ideas, for clues to problemsolving. It is a truly authorita-tive text, featuring easy-to-read,easy-to-understand articles bymore than 50 recognized pro-fessional authors, who know andlove microcomputers from theground up. Logical and com-plete, it features many glos-saries, and is illuminated withprofuse illustrations and photo-graphs.

The Scelbi/BYTE Primer isdivided into four logical sec-tions, that take you from point"0" through building and pro-gramming your own computer...step-by-step-by-step.

What can you do with a micro-computer? Checkbook balanc-ing. Recipe converting and foodinventory. Heating and air condi-tioning control. Home and busi-ness security and management.Playing the ponies. Analysis ofthe stock market. Maintainingmassive data banks. Self-instruc-tion. Toys and games. Smallbusiness accounting and inven-tory. And lots, lots more.

72 lanuary 1979 © BYTE Publications Inc

How does a microcomputer do

it? Lots of "how to" theory. In-troducing you to microcomputeroperation. 6800, 6502, Z80 CPUchip capabilities. RAM and ROMmemories. Addressing methods.

Ill

Y.'IIIIIUII Mill*.

Over 400 pages. Selected articlesfrom BYTE and SCELBI books.Profusely illustrated. Manyphotographs. $10.95, plus$1shipping and handling.

How to control peripherals.Transmission of information toand from computers. Magneticrecording devices for bulk stor-age. Analog to digital conver-sion. How a computer can talk.Other I/O techniques. And more.

Order your copy today!

SCELBI COMPUTER

CONSULTING INC.

BITS

Post Office Box 133 PP STN

25 Route 101 West

Dept. B

P.O. Box 428

Milford, CT 06460

Peterborough, NH 03458

1-800 258-5477

Prices shown for North American customers.Master Charge. Postal and bank MoneyOrders preferred. Personal checks delayshipping up to 4 weeks. Pricing, specifica-tions, availability subject to change withoutnotice.

All about building a micro-computer system. Over 12 com-plete construction articles. Flip-flops. LED devices. Recyclingused ICs. Modular construction.Making your own p.c. boards.Prototype board construction.Make your own logic probes.Construction plans for 6800 andZ80 computers. Building plansfor l/Os — TV and CRT displays,cassette interfaces, etc. Mathe-matics functions. ROM program-mer. Plus much, much more.

How to program a micro-computer. Programming for thebeginner. Assembling programsby hand. Monitoring programs.Number conversions. Game ofHexpawn. Design your own as-sembler. Lots more.

And that's only the beginning!Others have spent millions ac-quiring the type of microcom-puter information found withinthe 400 pages of The Scelbi/BYTE Primer. But, it costs youonly $10.95, plus $1 for postageand handling, complete! Youknow the quality of Scelbi andBYTE. This is your assurance ofexcellence throughout this MUSTtext. Order your copy today! And,get one for a friend!

First Time Offer for the Micro Market

MODEL 501

Go First Class

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

^ Our Specifications Before You Buy

DISPLAY

SCREEN CAPACITY. CHARACTERS

SPECIFICATIONS

INTERFACE

2000

CHARACTERS PER LINE 80

NUMBER OF LINES 25

SCREEN P4 phosphor (white)

TUBE SIZE(DIAGONAL) 12 inches (30.4 cml

VIEWING AREA 54 square inches 1137.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

DATA FORMAT

DATA BITS 7 serial, asynchronous

DATA BIT 8 1, 0 or deleted

PARITY Odd, even or deleted

with error displayed as

DLESTOP 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 1 26 (including space)

CURSOR CONTROLS

Model 501 -Model 502 -

115 volts, 60 Hz, 100 watts nominal230 volts, 50 Hz, 100 watts nominal

AUTOMATIC ROLL-UP . .AUTO CARRIAGE RETURNAND LINE FEED

Up, down, left, right,home, return

Switch selectable

Switch selectable

MONITOR MODE Special "Monitor" Mode

NATIONAL DISTRIBUTOR FOR

allows display of control codesI first two columns) of ASCIICode Chart).

DEALER NETWORK IS NOW BEING SET UPINQUIRY IS INVITED

YOUR

VISA'

OLDEST INDEPENDENT

COMMERCIAL CRT TERMINAL

MANUFACTURER

3S SALES, INC. P.O. Box 45944 Tulsa, OK 74145

918 - 622-1058

Circle 379 on inquiry card.

BYTE January 1979 73

An Exposure to MUMPS

David D SherertzUniversity of CaliforniaSan Francisco CA 94143

About the Author

David D Sherertz is asenior systems analyst inmedical information sci-ence at the University ofCalifornia, San Francisco.His activities include de-sign analysis, medical pro-gramming and technicalwriting. For the past threeyears he has been activelyinvolved in the MUMPSstandardization effort, andis currently chairman ofthe Subcommittee forLanguage Developmentwithin the MUMPS De-velopment Committee.

Command

Provides for

BREAK

access points for programming and debugging aids

CLOSE

relinquishing device ownership

DO

generalized subroutine calls

ELSE

conditional execution ,

FOR

generalized iterative execution

GOTO

generalized transfer of control

HALT

terminating execution

HANG

suspending execution for a specified period of time

IF

conditional execution

KILL

expunging specified variables and their values

LOCK

a generalized interlock facility for concurrent processes

OPEN

securing device ownership

QUIT

explicit termination of a DO or FOR command

READ

specifying data input

SET

assigning values to variables

USE

designating a specific device for input and output

VIEW

an access point for examining machine-dependent information

WRITE

specifying data output

XECUTE

execution of string expressions as program text

Z. . .

implementation-specific extensions

Table I: Commands in the MUMPS language. The execution of any commandcan be made conditional by adding a logical expression to the command word.MUMPS is a general purpose interpretive language developed at MassachusettsGeneral Hospital and designed for use in writing conversational programs. Itfeatures string manipulation, pattern matching ability and timing functions.

MUMPS (Massncusetts General HospitalUtility Multiprogramming System) was de-veloped in the mid 1960s as a timesharingsystem for a modest minicomputer. Ageneral purpose interpretive language, alsocalled MUMPS, is an integral part of thesystem. The MUMPS language containsa powerful set of string manipulation capa-bilities, a pattern matching facility andtiming functions, all of which facilitatethe creation of conversational programs.In addition, users can share access to ahierarchically organized data base, with thefile management details transparent to theuser.

Recently, the American National Stan-dards Institute approved the MUMPS pro-gramming language as a national standard,joining FORTRAN, COBOL, and PL/I inthat category. The existence of a MUMPSstandard and the robustness of the featuresincluded in the standard language makeMUMPS an attractive choice for the de-velopment of interactive applications. Thisarticle gives an overview of StandardMUMPS, emphasizing its capabilities.

Commands and Variables

The MUMPS language is based on theset of commands summarized in table 1.Any command name can be abbreviatedto its first letter (the HANG commandis distinguished from HALT by the pres-ence of an argument). Supplemental com-mands are usually added by implcmcntorsto support program creation, editing, de-bugging and storage. The execution ofany command (except IF, ELSE or FOR)can be made conditional by adding a logicalexpression to the command word. Theconditional command is then executedonly if this "postconditional" is true.A maximum time limit can be placed onthe actions of certain commands (LOCK,OPEN and READ). For example, the com-mand OPEN TAPE:30 will periodicallyattempt to acquire the device TAPE for30 seconds. If the unit is not availablewithin this time, the command proceedsas if it were completed and a special var-iable is set by the system to allow check-ing for the expiration of the timer.

74 January 1979 ©BYTE Publications Inc

INTRODUCING

DUAL DRIVE MINIFLOPPY FOR

A FULL RANGE PROFESSIONAL

OF PERIPHERALS J. SOFTWARE 'TO COMPLETELY OV^r ' VVMnc '

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.

HARDWARE/SOFTWARE PRODUCT DIRECTORY

DKH642-1 DISKDRIVER DUAL DRIVE MINIFLOPPY SYSTEM (200K ON LINE STORAGE) $1295

EXPMEM EXPANDAPET MEMORY EXPANSION BOARD (SPECIFY 16K, 24K, 32K) 16K MODEL $ 425

PRT200 CENTRONICS COMMERCIAL PRINTER (MODEL 779-1) WITH FRICTION FEED $1245

PRT202 CENTRONICS COMMERCIAL PRINTER (MODEL 779-2) WITH TRACTOR FEED $1345

PRT100 AXIOM HOBBYIST PRINTER (ELECTROSTATIC 5.5" WIDE PAPER) APPROX $ 450

NPK101 NEECO PERIPHERAL KEYBOARD (TYPEWRITER TYPE) AVAILABLE JAN $ 140

ASG200 PET ASSEMBLER PROGRAMMER'S GUIDE (SHOWS HOW TO TAP INTO BASIC) $19.95

ASM789D PET ASSEMBLER 6502 PROGRAMMING SOFTWARE (ON DISK —WITH MANUAL) $49.95

LNK456D AUTOLINK PROFESSIONAL LINKING LOADER SOFTWARE (ON DISK—WITH MANUAL) $49.95

EDT392D ASSEMBLER-EDITOR, ASSEMBLER SOURCE PROGRAM EDITOR (ON DISK—WITH MANUAL) . .. $49.95

DUG078 DISKMON USER'S GUIDE (PROVIDED WITH SYSTEM —CAN BE PURCHASED SEPARATELY) .... $ 9.95

DKL067 DISKMON (DOS) ASSEMBLER LISTING IN MANUAL FORM $19.95

FOR112 FORTRAN COMPILER FOR DISKDRIVER SYSTEM (AVAILABLE JAN./FEB.) $69.95

PLM118 PROFESSIONAL PLM COMPILER FOR DISKDRIVER (AVAILABLE JAN./FEB.) $49.95

FUTURE 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

(413)739-9626

COMPUJVTHINK

WESTERN U.S. & CANADA

COMPUTHINK

3260 ALPINE ROAD

MENLO PARK, CA., 94025

Circle 281 on inquiry card.

BYTE January 1979 75

GLOSSARY

Argument: The independent variable upon whosevalue a function depends. For the functiony=cos(x), x is the argument of the function.

Binary Operator: An operator which acts on twooperands. For example, the addition operator (+)is a binary operator. Also known as a dyadicoperator. Compare Unary Operator.

Binding: The action of associating machine ad-dresses with the symbolic addresses of a computerprogram.

Case Statement: A type of "multiple choice"statement in which the execution of the statementdepends on the numerical value of an argumentcontained in the statement.

Global Variable: In MUMPS, a variable that can bedefined by any authorized user and can be used

(referenced! by any user's program.

Literal: A constant value (as opposed to a variable).

Local Variable: In MUMPS, a variable that can bedefined and used by only one user and that user'sprogram (which may consist of many segments).

Scope: The portion of a program in which thedefinition of a variable (but not necessarily itsvalue) remains unchanged.

Truncate: Usually means to reduce the precisionof a number by arbitrarily removing low or highorder digits without adjusting the remaining digits.The number 4.5673 could be truncated to 4.5, forinstance.

Variable: A name or symbol which in principlecan take an arbitrary value during execution of aprogram.

MUMPS contains only one explicitdata type: the variable length characterstring. Certain contexts require an implicitinterpretation of a value as a real number,an integer or a logical value. Unambiguousrules are defined for mapping a string intothe requisite data type. Variables in MUMPSare created dynamically by assigning valuesto them (as in APL and BASIC). There is noscoping or binding of variables. Variablesexist across program boundaries and canonly be removed with the KILL command.

Each MUMPS user has a private variablespace, called "local variables" which onlythat user can access and modify. There isalso a common data base called "globalvariables" which any authorized user caninspect or change. Both local and globalvariables can be subscripted to any depth;subscripted variables are stored as sparsearrays, with storage allocated only fordefined subscripts. A third class of var-iable is called the "special variables."These are reserved variables, distinguishedby a leading dollar sign ($). The specialvariables are maintained by the MUMPSsystem for a variety of purposes, includingline and column control on 10 devices,current data and time, process identifi-cation and timers.

Date Base Management

MUMPS global variables, or globals, aretree structured files in which any node maycontain a data value. Syntactically, globalsare distinguished from local variables by acircumflex (A) preceding the global name.Operationally, globals form a hierarchicaldata base that exists independently of anyuser. References to a specific global node

appear as a list of subscripts. For example,the sales record of a salesman might be ac-cessed with "SALESMEN (DEPT.LNAME,FNAME), where DEPT, LNAME andFNAME have appropriate values. Each sub-script level in a global reference represents alower node in the tree structure. There isalso a facility in MUMPS, called the nakedreference, to avoid redundant higher levelsubscripts in global references.

When a new node is created by assigninga value to it, the necessary access paths tothe node are constructed automatically bythe system. Similarity, when an individualnode or an entire subtree of a global is ex-punged with the KILL command, theaffected paths are pruned appropriately bythe system. Thus, the MUMPS file managerachieves a substantial degree of data inde-pendence, allowing a programmer to con-centrate on building a logically meaning-ful file structure. The details of the phys-ical file layout are invisible to theprogrammer.

Operators and Pattern Matching

The MUMPS language includes the nor-mal set of arithmetic unary operators(+ and —) and binary operators (+ — X and/). There is also a modulo operator (#), adivision with truncation operator (\), thealgebraic relational operators less than(<), equals (=) and greater than (>), aswell as the logical operators and (&), or(!) and not (').

The language includes several string op-erators which greatly simplify string manip-ulation. Strings can be merged with theconcatenation operator (_), and comparedwith the relational operators equals (=),

76 January 1979 © 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.

*^1 ^^1 Technic;

Tia

Scfiujara

Scmpsiij

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 Editing

System $23.50

w/cassette $30.45

w/paper tape $31.50

w/mini flex disc $31.50

w/flex disc $50.00

SL68-29

SL68-29C

SL68-29P

SL68-29D

SL68-29F

6800 Text Processorw/cassettew/paper tapew/mini flex discw/flex disc

8080 Text Editing

System $28.50

SL80-10P w/paper tape $37.50

SL80-10F w/CP/Mdisc $40.00

$32.00$38.95$40.00$40.00$75.00

$32.00$41.00$50.00

Space Voyage

SL68-5C w/cassetteSL68-5P w/paper tapeSL80-9P w/paper tape

6800 Disassembler

$18.95$19.00$19.00

SL80-11 8080 Text ProcessorSL80-11P w/paper tapeSL80-11F w/ CP/Mdisc

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 1 K in length.

SL68-27CSL68-27P

w/cassettew/paper tape

$15.95$13.00

Micro BASIC Plus for 6800

SL68-19CSL68-19P

w/cassettew/paper tape

$22.90$21.95

SL68-28SL68-28C

SL80-13SL80-13P

6800 Relocatorw/cassette

8080 Relocatorw/paper tape

$ 8.00$14.95

$ 8.00$13.00

SL68-26

SL68-26CSL68-26PSL68-26DSL68-26F

SL80-12

SL80-12PSL80-12F

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.

6800 MnemonicAssemblerw/cassettew/paper tapew/mini flex discw/flex disc

8080 MnemonicAssemblerw/paper tapew/ CP/M disc

$23.50$30.45$31.50$31.50$50.00

$25.00$34.00$40.00

6800 Floating Point Package

SL-68-4 Floating Point

SL68-4P

Packagew/paper tape

$6.50$9.50

Technical SystemsConsultants, Inc.

Ll^—\A Box 2574 W Lafayette. IN 47906

Specialists in Software & Hardware for Industry & the Hobbyist

Circle 370 on inquiry card.

$

BYTE January 1979 77

Function Returns

$ASCI1 as an integer the ASCII code of a selected character from a string

$CHAR a string whose characters are generated from a specified set of

integer ASCII codes

$DATA an integer code that indicates if a specified local or global variable

has a defined value or node path

SEXTRACT a character or substring, extracted from a starting and ending char-

acter position in a string expression

$FIND an integer that gives the end character position of a specified sub-

string within a string expression

$JUSTIFY a formatted string consisting of a right justified expression in a

blank field of a specified size

$LENGTH an integer which is the length in characters of a specified string

expression

$I\IEXT an integer which is the next lowest defined numeric subscript on the

same level as the last subscript of a named subscripted variable

$PIECE a string extracted from the characters between two specified occur-

rences of some substring delimiter within a string expression

$RANDOM a pseudorandom integer from the set of integers within a specified

interval range

$SELECT the value of a particular expression from a set of expressions, se-

lected by the first true expression in an associated set of logicalexpressions

$TEXT a string that consists of the commands of a specified program line in

the current routine

$VIEW a value which is machine dependent data, accessed in an implemen-

tation-specific manner

$Z . . . values from functions that are implementation-specific extensions

Table 2: Built-in functions included in ANSI Standard MUMPS, which can benested to any arbitrary level.

contains ([),follows (]). (As an explanation,assuming A and B are defined variables,then the expression A[B is true if andonly if B is a substring of A: similarity,A]B is true if and only if A follows B inthe ASCII collating sequence.)

The logical operator not (') can be usedalone or in conjunction with the relationaland logical operators above to producethe complementary operation. For ex-ample, A'>B means A less than or equalto B, and A']B means A does not followB. All logical and relational operators pro-duce an integer "truth value" (1 is true, 0is false).

A particularly powerful feature inMUMPS is the pattern matching facility.A pattern specification follows the operatorfor pattern matching, which is a questionmark (?). The pattern matching operatordetermines whether or not the string pre-ceding it conforms to the specified pattern.Patterns are formed by combining anynumber of pattern codes or string literals.A string literal is any sequence of graphicsenclosed in quotes (" "). Each element ofa pattern is preceded by an integer repeti-tion count. An indefinite count is specifiedby a period (.). Included in the seven patterncodes are A, which matches alphabetics,N, which matches numerics, and P, whichmatches all other graphics. The patternmatching facility allows filters to be con-

structed, similar to those of the languageSNOBOL, with which to test input forvalidity. The degree of selectivity of thefilter is controlled by the amount of spec-ificity in the pattern. For example, thepattern

2N1P3A.A1P2N.N

means that an acceptable string must containtwo numbers followed by one graphics sym-bol, three alphabetic characters, any numberof alphabetic characters, one graphics sym-bol, two numbers, and finally any numberof numbers. The following strings wouldpass successfully through this filter:

"25 AUG 1948""07-MAY 1977""04/FEBRUARY/47"

On the other hand, the string filter2N1"DEC 19"2N would only pass stringsof the form "nnDEC 19nn".

Functions and Expressions

Table 2 summarizes the built-in functionsincluded in Standard MUMPS. Because thesefunctions can be nested to an arbitrary level,very complex string manipulations can beperformed in a single statement.

Expressions in MUMPS are made upof literals, functions, and variables, com-bined with operators that act upon them.

78

lanuary 1979 © BYTE Publications Inc

/TRS-80 owners!

AVAILABLE FOR IMMEDIATE DELIVERYCASSETTE SOFTWARE DISKETTE

Package # 1036 (Level II) $495.00

COMPLETE SMALL BUSINESS - This program is a complete small business program that was tailored towork for most small business applications. The program includes such things as Accounts Receivable,Accounts Payable, Invoicing, Inventory Control, Payroll and General Ledger.

Package # 1038 (Level II) $ 99 95

ACCOUNTS RECEIVABLE

Package # 1039 (Level II) $ 99 95

ACCOUNTS PAYABLE

Package # 1044 (Level II) $125 00

INVENTORY CONTROL

Package # 1045 (Level II) $ 99.95

INVOICING

Package # 1046 (Level II) $ 99.95

PAYROLL

Package # 1047 (Level II) $ 99.95

MAILING LIST

Package #1024

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR I - BANNER - UFO ATTACK - PILE UP -

BIORHYTHM - AUTO RACE and WORDS.

Package #1026

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR II - CIVIL WAR - TRAP THE TRIBBLE -

LIFE - KNIGHT - CONCENTRATION and LUNAR

LANDER.

EDUCATION

OVER 150 EXCITING PROGRAMS• MORE EVERY DAY *

ELECTRONICS

MARKETING

Also available for PET and APPLE.

All SOFTWARE-80 programs are guaranteed.

Programs available in Level I and Level II Basic.

All of our business programs will operate with printer; custom programs also available.

With certified check or money order, all orders shipped within 24 hours.

Personal checks allow 2 weeks. Send for our complete catalogue.

— SOFTWARE-80 —

18228 Cabrillo Court

Fountain Valley, CA 92708

[714) 962-3423

ALL PRICES AND PROGRAMS ARE SUBJECT TO CHANGE WITHOUT NOTICE

Circle 321 on inquiry card.

BYTE January 1979 79

Since the only data type is a string, anyoperator can be used on any operand.The interpretation of an operand is auto-matically determined by the implicit datatype required by its operator. All expres-sions are evaluated in strict left to rightorder; there is no precedence of operators.Parentheses can be used to override thisconvention.

Other Features

Another feature included in MUMPSallows data to be treated as program code:indirection, although usually found onlyin assembly languages as a method of addresscalculation, is available in MUMPS in apowerful symbolic form. In effect it allowsimplementation of the functions of CASEstatements, subroutine parameter passing,and a number of other useful languagefeatures that are not explicitly included inMUMPS. Both variable names and commandarguments can be used indirectly by puttingan "at" sign (@) before the element. Thisforces the intrepreter to use the value ofthe variable to search for another variable.For example, if the variable AMOUNT3has the value 45.82, and the variableSWITCH has the value "AMOUNT3," thenthe command WRITE ©SWITCH wouldwrite 45.82.

An additional form of indirection is pro-vided by the XECUTE command, whichpermits general expressions to be executedas program text. One common use ofXECUTE is to direct a driver program,in which the next program step is deter-mined dynamically by branching logic inprior steps, using lines of program codestored previously as data values in a globalfile. This approach has been utilized inconstructing automated medical histories,in computer assisted instruction, and intext editors and other utility programswritten in MUMPS.

The MUMPS Environment

Traditionally, MUMPS has been imple-mented on dedicated minicomputers withthe primary memory divided into modest(2 to 6 l< bytes) user partitions. The centralprocessor is timeshared among the users,but since most MUMPS applications areusually 10 bound, the processor can handleas many as 40 users and still maintain arapid response time. Over the past fewyears, MUMPS has been implementedwithin existing general timesharing systemson both large and small computers.

Because the user partitions are rela-tively small, a programmer must explicitlysegment large MUMPS applications intoappropriately sized routines, using the

GOTO command to overlay segments asrequired. Recent implementations haveeased the size restriction on user partitionsby using techniques such as sharing com-monly used routines among several par-titions, and pooling storage for the localvariable values from all partitions.

Summary

MUMPS is a useful development tool formany applications involving string manipu-lation, interactive dialogues, and file man-agement. Multi-user access to a hierarchicaldata base is a particularly powerful compo-nent of the language. The number ofMUMPS implementations has been steadilygrowing, including several supported bymajor computer vendors. Although a ma-jority of the present MUMPS applicationsare related to health care because of thelanguage's historical origins, nothing con-strains MUMPS solely to medical systems.In fact, an increasing number of businessapplications have been implemented in re-cent years using MUMPS.

The attractiveness of MUMPS is pri-marily due to the full set of facilities avail-able for conversational applications. Thecollection of useful interactive capabilitiesincluded in the MUMPS Standard is muchmore complete than that found in any otherinterpretive language. Among the advantagesof the features of Standard MUMPS are thefollowing:

String Handling: MUMPS includes an ex-tensive set of string operations and func-tions that makes string manipulationsquick and easy. Tasks such as string searches,sorts, data extractions and compactions aregreatly simplified by these facilities. Further-more, MUMPS allows variable length stringsto be used routinely in programs, withoutthe obstables presented by most other pro-gramming languages.

Globals: MUMPS eliminates many of theproblems of working with random accessdevices by obviating the need for traditionalread and write operations as well as theintermediate abstraction of a file. A dataelement on a secondary storage mediumis directly referenced as a set of subscripts,with all the details of file organization andretrieval handled by the system. Nothingwith the flexibility of this unique hierarchi-cal file system can be found in any othergeneral purpose programming language.Languages such as FORTRAN or BASIC,the most obvious alternatives to MUMPSon small computers, allow for randomfile operations, but only as extensionsthat are often machine dependent.Pattern Matching: MUMPS allows user

80 January 1979 © BYTE Publications Inc

'-'

rry-^.

I- h*

* -

<B J.

gSSr

;

!

W^'

##?

/

fil

(MNT

#5

7>

_.

S?!?Sfi

fof peanut si

At last, you can get a mammoth 32K memorywithout paying a beastly price.The SuperRam™ 32Kstatic memory kit is just $649 for S-100 systems.

The latest of George Morrow's heavyweightmemory designs for Thinker Toys™, the SuperRam™32K features two independent 16K blocks, eachaddressable and write-protectable. It meets theProposed IEEE S-100 Standard with full bufferingof both data and address lines. Uncommonlyefficient, the Morrow design utilizes just 7 IC's for

Circle 255 on inquiry card.

control and buffering, drawing typically 2.6 amps.

Ask your local computer shop to order theSuperRam™ 32K kit for you. Or, if unavailable locally,order direct from Thinker Toys™, 1201 10th St.,Berkeley, CA 94710. Or call (415) 524-2101, weekdays10-5 Pacific Time. Add $3 for handling. (Cal. res.add tax.) ^

^9 Morrow makes memory for

Thinker Toys

Judy the elephant courtesy Marine World-Africa USA

input to be filtered with a useful patternmatching facility. This helps to minimizethe effect of user or device errors. Thepattern matching capability is sufficientlygeneral to be used in various transactionoriented applications, such as constructingcommand processors. It is even powerfulenough for the development of other lan-guage scanners.

Timing: MUMPS enables a programmer toassociate timing constraints with several op-erations. If a READ command does not geta complete response from a user terminalwithin a specified time after queuing therequest, the command will take any inputalready received and proceed. This featureallows testing for terminal malfunctionsas well as prompting users in a time criticaldialogue. A similar capability is availablefor detecting and handling delays in access-ing globals or acquiring shared resources asa result of multi-user interference.Program Management: MUMPS providesall the facilities needed to manage programsand program files. Programs can be created,edited, cataloged and debugged from withinMUMPS. As in APL, and similar program-ming environments, MUMPS incorporatesthe necessary tools to make a completeprogramming system. The task of debugging

WE SHIP FROM STOCK

TELETYPE MODEL 43

reliable hard copy, 30 cps, 300 baud $985.00

with RS 232 $1085.00

(we stock Teletype paper and ribbons)

HAZELTINE 1500

Kit (2 to 3 hours assembly work) $895.00

assembled $995.00

PER SCI

Model 277 Dual Disk Drive, single density $1210.00

slimline cabinet w/power supply 299.00

TECHNICO 9900 S-200 INTERFACE BOARD

Provides interface to S-100 components and bus. Manufactured by

Interface Technology of Maryland $59.00

IMS MEMORY BOARDS, 16KB, fully static

From Industrial Micro Systems, fully tested and burned in. Uses 2114low power IC's $349.00

S-100 MAINFRAME

12slot, TEI Model MCS-112 $363.00

To Order: $10 shipping for Teletype, Hazeltine, PerSci and Mainframe. $3 shipping forother items. 24 hr. shipping upon receipt of certifier) check or money order. Personalchecks: 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

STATEIM ISLAND, NEW YORK 10304

DAY. EVENING. WEEKEND. HOLIDAY CALLS WELCOME!

(212) 448-6283 (212) 448-6298

programs in MUMPS is made easier by fa-cilities that allow the interruption of execut-ing programs, the examination or modifi-cation of variables or program text, and theresumption of program execution at adifferent location.

Economy: MUMPS implementations areavailable on a variety of small, relativelyinexpensive minicomputers and microcom-puters. These dedicated MUMPS computerscan be managed with a small amount ofadministrative overhead. There are numer-ous commercially available BASIC systemsroughly comparable to these MUMPS in-stallations. However, for many applica-tions MUMPS represents a more economicaland advanced tool for system development.Applications Experience: The number ofMUMPS application packages is steadilyincreasing, with many developed and avail-able in the public domain. There is also anactive MUMPS Users' Group (MUG) in theUnited States as well as in Europe and inJapan. MUG publishes newsletters, holdsan annual meeting, distributes MUMPSdocuments and maintains a library ofavailable MUMPS application programs.The more successful and widespread MUMPSappplications include an abbreviated medi-cal record system for outpatient clinics,numerous clinical laboratory reporting sys-tems, and several inventory and informationmanagement systems.

In conclusion, MUMPS is designed foran interactive timeshared environment, andfor a general class of conversational applica-tions. On the whole, MUMPS satisfies therequirements of these areas more completelythan many other languages."

A full specification of the MUMPS LanguageStandard is available from the MUMPS Users'Group (the cost is $5.00). Write for ANSI XII.1-1977 to:

MUMPS Users' Group

D-130

POB 208

Bedford MA 01 730

Information on MUG and MUG documents canbe obtained from:

Richard E Zapolin

MUG Executive Director

MUMPS Users' Group

D-130

POB 208

Bedford MA 01730

Technical questions on the MUMPS Standardshould be directed to:

Dr Richard F Walters

Chairman, MUMPS Development

Committee

Medical Learning Resources

University of California at Davis

Davis CA 95616

82

lanuary 1979 ©BYTE Publications Inc

the ECONORAM family from GmP»Kit

Hours of trouble-free operation in thousands ofsystems have earned an enviable reputation for theEconoram name ... while proving that reliable, fullfeature memory doesn't have to be expensive to begood. All boards are static, low power/high speed, fullybuffered, and use only the best mechanical parts andelectronic components; we back them up with a 1 yearlimited warranty to prove our point.

These boards are available as unkits (sockets, bypasscaps pre-soldered in place for easy assembly);assembled and tested; or qualified under the CertifiedSystem Component (CSC) program (200 hour burn-in,guaranteed 4 MHz operation over the full commercialtemperature range, serial numbered, and immediatereplacement in event of failure within 1 year of invoicedate). You don't have to spend a lot of money for goodmemory . .. you just have to spend it in the right place.

NEW! 32KX8

ECONORAM X

($599 unkit, $649 assm,

>l> I O" UbU). Static storage for the S-100 buss.

Guaranteed 4 MHz operation. Configured as two 8Kand one 16K block, all independently addressable.Suitable for use in phantom systems. Extraselect/deselect qualifiers for systems using more than64K of memory make this board the ideal buildingblock for large memory systems. Maybe you can'tbelieve the price, but you can believe theperformance.

NEW! 32K X 8 ECONORAM IX

(JpDOU, UP. Kit). Static storage for the Digital Group buss.

Now, you can add Econoram quality to your Digital Group machine.

NEW! 32K X 8 ECONORAM XI ($1050,

UbU Only). Static storage for SBC systems (Intel/National 80/10 and80/20 machines). Competitive in price with dynamics, but with Econoram reliability.

WE HAVE OTHER ECONORAMSJOO ...

Name Storage Design Buss Configured as Unkit Assm

Econoram II 8K X 8 static S-100 dual 4K $139 $159

Econoram IV" 16KX8 static S-100 single 16K $279 $314

Econoram Vr 12KX8 static H8 8K+4K $200 $270

Econoram VII" 24KX8 static S-100 2-4K, 2-8K $445 $485

CSC

N/A$414N/A$605

SEE ECONORAM AT YOUR LOCAL COMPUTER STORE.

NEW! PET to S-100INTERFACE BOARD!!

From HUH Electronics (designed by Mark Garetz). Interfaceboard mates S-100 cards to the popular PET computer; alsocan serve as nucleus of a stand-alone 6500 series system.It's new, it's well-designed, it works, and it's only $199.95!

TRS-80 CONVERSION KIT

Please note that our kit is guaranteed for 1 year, comescomplete with DIP shunts, and uses 250 ns access timechips for operation at 4 MHz. Upgrades 4K TRS-80 to 16K,or populates Memory Expansion Module; our novice levelinstructions show you how. Also expands memory in

APPLE computers.

$109, or 3/$320.

ACTIVE TERMINATOR

tvl I • 4) JL^J • <I)U Our much-imitated design

plugs into any S-100 motherboard slot to treat the S-100buss as the RF system it really is, thereby reducing noise,glitches, ringing, overshoot, and other buss-relatedproblems. Improves reliability, and saves power comparedto passive termination.

COMPONENTS

LM317 adjustable regulator. Lid qty; $2.25 each.

#CK-1001 S100 wire wrap edge connector. 3 level gold plate.

$5 ea, 5/$22.

#CK-1002 S100 solder tall edge connector. IMSAI 0.25"

spacing. $5 ea, 5/$22.

#CK-1003 S100 solder tail edge connector. Altair 0.14"

spacing. $6. ea, 5/$27.50.

SCK-1004 DB25P male 25 pin submini D type RS232

connector, $3.95.

#CK-1005 DB25S female 25 pin submini D type RS232

connector, $4.90.

#CK-1006 DB25H hood for DB25P, $0.90.

11 SLOT S-100 MOTHERBOARD

UNKI I l S(>yO Includes all 11 edgeconnectors soldered in place for simplified assembly.Includes active termination for reliable data transfer withenergy efficiency. Dimensions: 81/z"x 11".

18 SLOT S-100 MOTHERBOARD

U IN Kill $1^4 Same as above, but 18 slotversion. Dimensions: 8.5" x 16.7".

FREE FLYER: We stock much more than wecould ever fit into any one ad, but we didmanage to fit it all within the 40 pages of ourflyer. Send us your address, and the flyer isyours. Add 41' in stamps for 1st class delivery.

BILL GODBOUT ELECTRONICS' BOX 2355, OAKLAND AIRPORT, CA 94614

TERMS: Allow 5% shipping, excess refunded.Add $1 orders under $15. Cal res add tax.V1SA'"/Mastercharge* ($15 min) call our 24 hr.answering service at (415) 562-0636. COD OKwith street address for UPS (85* COD chargeapplies).

Circle 150 on inquiry card.

BYTE January 1979 83

Thomas E Doyle

5222 Big Bow Rd

Madison Wl 53711

A Computerized Mailing List

Creating, printing and updating mailinglists offer practical applications for a micro-computer system with a floppy disk or othermagnetic mass storage medium. The series ofprograms presented here allow the user tocreate and maintain mailing lists. The pro-grams are written to be run on a 8080 orZ-80 system with at least one disk drive and20 K of programmable memory. The pro-gram is written for an interpreter calledBASIC-E which is widely distributed underseveral names.

One of the biggest problems facing aprogrammer using BASIC-E is the relativelack of complete documentation on the filecommands. A fairly detailed description ofthe BASIC-E file commands, used in theprograms, will be included to help thissituation.

There are six basic types of operationsnecessary to maintain mailing lists:

1. Generate a new list. This operationwould normally be performed oncefor each mailing list.

2. Print the list. This operation would beused as copies of the list are needed,or as changes to the list are made.

3. Add to the list. New entries to the listwould be added to the end of the listwith this operation.

4. Update existing entries. Changes couldbe made to entries already in the listwith this operation.

5. Insert new entries into list. This oper-ation would allow new entries to beinserted into the list. All existingentries would be shifted to makeroom for the new entry.

6. Remove an entry from the list. Anexisting entry could be removed fromthe list and the remaining entries onthe list would be moved up to fill inthe space.

Seven programs were written to performthese functions (see listings 1 thru 7). Twoof the programs print the list in differrentformats.

Sections

Each entry (or record) in the mailing listconsists of seven sections:

1. Name

2. Call sign

3. Street address

4. City

5. State

6. Zip code

7. Phone number

These programs were written to handle themailing list for an amateur radio club, so theham radio call sign section was included.This section could easily be removed oradditional sections added, as needed, in aspecific application. Keeping the entriesdivided into sections allows maximumflexibility in the system.

The mailing list is set up as a disk filedivided or "blocked" into records. Eachrecord occupies exactly the same amountof space on the disk. Files set up in this wayare not the most efficient in terms of usingthe space available on the disk, but thistype of file allows direct access to any

84

January 1979 O BYTE Publications Inc

MEASUREMENT

systems & controls

PROUDLY ANNOUNCES:

64K BYTES OF RAM

FORONLY:

$695

NOT A KIT

FULLY ASSEMBLED

COMPLETELY TESTED

ON BOARD CRYSTAL 8.

TIMING OSCILLATORS

COMPATIBLE WITH PROPOSED IEEE S-lOO TIMING STANDARD

SPECIFICATIONS 8v FEATURES =

• 64k byte dynamic RAM with on board

transparent refresh.

• S-100 interface compatible with crystal

controlled timing INDEPENDENT ofbus or processor timing.

• No wait states or cycle stealing with

8080 or Z-80 to4Mhz. Up to 5Mhz with wait states.

• 200 ns access time and 375 ns cycle

time memory devices.

• DMA compatible to 1 Mhz rate.

• Inputs buffered with 1 LS TTL load.

• Outputs are all tri-state.

• Memory selectable and deselectable

in 4k increments to 64k.

• Phantom-memory disable jumper

selectable on pin 67.

• Low power on board voltage regu-

lators.

Reliability- all boards are fully tested:

a. bus address &. control linemaximum timing skew tests.

b. "soft" error tests.

c. word pattern sensitivity tests.

i i i i

ViVs

aQti:

d. all boards bumed-in.

• Full documentation

• Industrial quality design &. compo-

nents. Glass epoxy boards. Silkscreened legends. Gold platededge connector contacts.

• Delivery stock to 30days.

Guaranteed performance for oneyear on parts &. labor. Full refundif returned undamaged in 14 days.

867 North Main Street • Orange, California 92667 • (714)633-4460

I would like to order the following fully assembled and tested RAM:

Model 6400, 64k RAM $695.00

Model 4800, 48k RAM $559.00

Model 3200, 32k RAM $429.00

Model 1600, 16k RAM $295.00

Enclosed is check or money order for: ^^^^_^^^__^^_^^^^_^^_(Calif, residents please add b% sales tax. Please allow 14 days forchecks to clear the bank. Thank you.)

Please bill my VISA or MASTERCHARGE account.

Name

Address

City State

Zip

Phone

Card number:

Pour(4) digits above name on MASTERCHARGE card:

.Expiration date:

MEASUREMENT

systems &. controls

867 North M.iin Sueet

California 92667

Circle 216 on inquiry card.

BYTE January 1979

85

record in the file using a record sequencenumber as an address. Files of this typeare also referred to as random access files.

128 bytes are set up for each entry inthe file. If the entry does not use all 128bytes, the remaining bytes are filled withblanks.

Listing 1: Program used togenerate a new mailing list.The user is prompted toenter the necessary infor-mation. (This program andthe other programs in thisarticle were written inBASIC-E.)

PRINT "PROGRAM #1

GENERATE NEW LI ST

INPUT "PILE NAME"! FILE. NAMESFILE FILE.NAMESC 128)

FOR

RECORD*INPUT

IF NS«

INPUT

INPUT

INPUT

INPUT

INPUT

INPUT

1 TO 1000'•NAME"lN$"END" THEN 100"CALL"lCS"STREET"! SS"CITY"! TS"STATE"!AS"ZIP"|ZS"PHONE"! PS

PRINT

#1, REC0RDINS>CS>

SS.

TS.

AS,

z$.

PS

NEXT RECORD

100

END

Listing 2: A program which prints the mailinglist, single column.

PRINT "PROGRAM *2 - TYPE LIST. SINGLE COLUMN

INPUT "FILE NAME"! FILE.NAMESFILE FILE.NAMESC 128)IF END #1 THEN 200

INPUT "PRINT PHONE NUMBERS "IPHONESPRINTlPRINTlPRINT

FOR RECORD-1 TO 1000 STEP I

READ §U RECORD) NS. CS, SS. T S. AS, Z S. PS

PRINT CS)TABC9))NS

PRINT SS

PRINT TS)". "IAS)" "IZ$

IF PHON ES» "Y ES" THEN PRINT P$

PRINTNEXT RECORD

200 END

Listing 3: A program which prints the mailing list, double column.

PRINT "PROGRAM #3 - PRINT LIST. DOUBLE COLUMN -"

INPUT "FILE NAME"! FILE. NAMESFILE FILE.NAMESC 128)IF END *1 THEN 200

INPUT "PRINT PHONE NUMBERS"! PHONES

PRINTlPRINTlPRINT

FOR RECORD" 1 TO 1000

FLAG=0

READ #1, RECORD! NS, CS, SS, TS, AS. ZS.PS

FLAG=1

READ «1. RECORD* 11 N ES. CES, SES, TES. AES. Z ES. V ES

PRINT CS! TAB(9)|NS| TABC 34)1 CES! TABC 43>INES

PRINT SSI TABC 34)1 SES

PRINT TS! ". ")ASl" "IZSl TABC 34)1 TES! ", ")AE$I'

IF PHONES*"YES" THEN PRINT PSl TABC 34) ! PES

RECORD-RECORD+1

PRINTlPRINTNEXT RECORD

200 IF FLAG=0 THEN 300

PRINT CSI TABC9)INS

PRINT SS

PRINT TS) ". ")AS|" "IZS

IF PHONES="YES" THEN PRINT PS300 PRINTlPRINTlPRINTlPRINTEND

The first step in writing a BASIC-E pro-gram that uses disk files is to set up, or open,the file. The FILE statement is used to opena file. It is used in the following form toset up a blocked file: FILE NAME$(RECORD LENGTH). Each of the sevenprograms starts with the following lines tosetup the file:

INPUT "FILE NAME"; FILE.NAMESFILE FILE.NAMES (128)

The first line enables the user to type in thename of the file containing the mailing list.The file name is stored as string variableFILE.NAME$. The second line opens thefile as a blocked file with a record lengthof 128. BASIC-E searches through the fileson the disk looking for a file with the nametyped in by the user. If a file with a match-ing name is found, it is used. If no file witha matching name is found, BASIC-E createsa file with the name typed in by the user.From this point on, references to the fileare made by referring to the file as #1,rather than by name.

The IF END statement is an importantstatement in BASIC-E programs that readfiles from a disk. It is of the form IF END#N THEN XXXX, where N is the filenumber and XXXX is the line number theprogram should jump to if the end of a fileis encountered. If this statement is notincluded in the program and the end of afile is encountered during execution, theprogram terminates and prints an errormessage.

Data is written into the disk file usingthe PRINT statement. It is of the formPRINT # N, RECORD; VI, V2, V3, . . .,VN, where N is the file number, record isthe record number, and V1 thru VN is thedata to be written into the file. The variablescan be numeric values or strings. All data forthe mailing lists is stored as strings.

Data is read from the disk file with theread statement. The statement is of the formREAD #N, RECORD; VI, . . ., VN where Nis the file number, record is the recordnumber, and VI thru VN are the variables.

The FILE, IF END, PRINT # N ANDREAD # N commands are the only onesused in the program that refer specificallyto the disk file. BASIC-E also includes theCLOSE command, used to close a file. Thiscommand is not needed in these programs,since BASIC-E closes all files when theprogram ends.

Program 1

The first program, program 1 (see listing1), is used to set up a new mailing list.The first two lines set up the file as a block-

86

lanuary 1979 © BYTE Publications In

ed file with a record length of 128. The datafor name, call sign, street, city, state, zipcode and phone number is entered. Afterthe phone number is entered, all the infor-mation for that entry is stored on the disk.Additional sequential entries arc madeuntil the word END is entered for a name.Additional characteristics for each entrycould be included by adding additionalinput statements and adding the variableto the PRINT #1, . . . statement. The orderof the variables in the PRINT #1 statementis very important. The data is stored in therecord in the order that the variables arclisted in the statement. If a particularpiece of information is not available for an

entry, a dash or some other charactershould be entered to keep the order of thedata in the record constant.

Program 2

The mailing list is printed by program 2(see listing 2). The particular file containingthe address information is selected by thefirst lines of the program. The user is thenasked if phone numbers are to be includedin the printout. Phone numbers would beprinted if the list is being used for a member-ship list or directory. If the list is being usedfor mailing labels, phone numbers wouldmost likely be omitted. Program 2 prints thecontents of the file in the following format:

Listing 4: A program used to add newnames, addresses, etc, to the list.

NAME 1STREET 1CITY 1

CALL 1

STATE 1 ZIP 1

PHONE 1 "if selected"

PRINT "PROGRAM » A - ADD TO LIST -"

INPUT "FILE NAME"! FILE.NAMESFILE FILE.NAMESC 128)IF END #1 THEN 100

REM FIND END OF FILE

FOR RECORD= I TO 1000READ #1,REC0RD1N$NEXT RECORD

100 REM ADD TO END OF FILE

FOR RECORD=RECORD TO 1000PRINT:PRINT

PRINT "NEXT RECORD "I RECORDINPUT "NAME"INSI F N$="END" THEN 200INPUT "CALL"! CIINPUT "STREET"! SSINPUT "CI TY"! TSINPUT "STATE"JASINPUT "ZIP"IZSINPUT "PHONE"! PS

PRINT *1, RECORD! NS, CS> SS, TS, AS, » S. PSNEXT RECORD200 END

Listing 5: A program used to update themailing list.

PRINT "PROGRAM #5 - UPDATE LIST -"

INPUT "FILE NAME"! FILE.NAMESFILE FILE.NAMESC I 2B )IF END #1 THEN 200

INPUT "CALL SIGN"! CALLS

REM SEARCH FOR RECORD TO BE CHANGED

FOR RECORD* 1 TO 1000

READ #1. RECORDINI, CS

IF CS= CALLS THEN 100NEXT RECORD

100 PRINT "NEW INFORMATION."

INPUT "NAME"INS

INPUT "CALL SIGN"lC$

INPUT "STREET"! SS

INPUT "CI TY"! TS

INPUT "STATF"IA$

INPUT "ZIP"|ZS

INPUT "PHONE"!PS

PRINT #1. RECORDINS.CS, SS.TS.AS.ZS, PS

NAME 2STREET 2CITY 2,

CALL 2

STATE 2 ZIP 2

PHONE 2 "if selected"

Program 3

Program 3 (see listing 3) is used to printthe list in the following format:

NAME 1 CALL 1

STREET 1

CITY 1, STATE 1 ZIP 1PHONE 1 "if selected"

NAME 3 CALL 3

STREET 3

CITY 3, STATE 3 ZIP 3PHONE 3 "if selected"

NAME 2

STREET 2

CITY 2, STATE 2 ZIP 2

PHONE 2 "if selected"

etc

CALL 2

This program is similar to program 2 exceptthat the program reads two records from thedisk at a time. The variable FLAG is used toinsure that the program prints the last recordif there is an odd number of records in thefile.

Program 4

Additional records may be added to theend of the file with program 4 (see listing 4).After the file is selected and opened, recordsare read until the end of the file is located.After the end of the file is located, addi-tional information is entered by the user andrecords are added sequentially to the end ofthe file. This operation continues until ENDis entered for a NAME.

Program 5

Changes in address, phone numbers orother sections of an existing record mayhave to be made. Program 5 (see listing 5)allows the user to select a particular record

January 1979 © BYTE Publication! Inc 87

Listing 6: A program used to insert new entriesinto the list.

PRINT "PROGRAM *6 - INSERT NEW ENTRY -"

INPUT "FILE NAME"! FILE.NAMESFILE FILE.NAMESC 128)IF END »I THEN 100

INPUT "CALL SIGN"! CALLS

RFM FINP FNO OF FILE AND RECORD CONTAINING CALL

FOR RECORD=I TO 1000

READ *l. RECORDING CS

IF CALLI=C$ THEN LOCAT I 0N» RECORDNFXT RECORD

100 IF LOCATION.0 THEN PRINT "NOT FOUND": STOPFINI SH*RECORD- I

REM MOVE RECORDS UP I STARTING AT LOCATION

FOR RECORD-FINI SH TO LOCATION STEP -1READ #1. RECORDlNS, CS, SS. T S. AS. Z S. PSPRINT #1. RECORD* I INS. CS. SS. T$. AS.ZS. PS

NFXT RECORD

REM INSERT NEW RECORD

INPUT "NAME"|NS

INPUT "CALL"ICI

INPUT "STREET"! SS

INPUT "CITVlTS

INPUT "STATE"! A$

INPUT "ZIP"IZ$

INPUT "PHONE"! PS

PRINT « 1.LOCATION IN S. CS. SS. TS.AS.ZS.PS

END

and reenter the information on that record.The user first enters the call sign whichidentifies the record to be changed. Theprogram then reads through the file until amatch is found. If no match is found theprogram ends. If a match is found the usermay reenter the information for that recordincluding any necessary changes.

Program 6

If the mailing list is kept in some logicalorder such as alphabetical, it may be neces-sary to insert records into the file. Program 6(see listing 6) enables the user to insert anew record anywhere into the file. The userenters the call sign of the existing entrywhere the new record is to be inserted. Theprogram then reads through the file lookingfor a match. When a match is found therecord number is stored as variable LO-CATION. The program continues readingthrough the file until the end of the file islocated. All the records from LOCATIONto the end of the file are moved up onerecord to allow room to insert the newrecord. The user enters the information forthe new record which is then written intothe file. This method of inserting newrecords into the file in their proper location

SAVE THE WHALE

The Fin Whale is the world's greatest long-distance communicator.

Scientists believe that loud, deep-tone, low-frequencysounds made by Fin Whales (frequencies around 20hertz, or cycles per second) actually travelunderwater for distances of at least 500miles, and under optimum conditionsmight carry for a radius of over4,000 miles, potentially reach- jfing an area greater than the ,.,#*''

^Mm^m

entire Atlantic Ocean

.^ Fin Whales, the secorcreatures ever to have livedearth, grow up to 24 meters in length (ex-ceeded only by the 30-meter Blue Whale), andhabit all the oceans of the world. Tens of thousands ofWhales have been "harvested" in recent years, by agreementnternational Whaling Commission, for the sale of productsfor which substitutes are readily available.

The CONNECTICUT CETACEAN SOCIETY is a small, totally volunteer, non-profit edu-cation and conservation organization dedicated to seeking the abolition of all whale killing. Anyconcerned citizen can help our efforts by sending name and address and a $1 5 or more contributionto: CCS, P. O. Box 145, Wethersfield CT 061 09.

88

January 1979GBYTL Publications Inc

is much faster than adding the new recordsto the end of the file and running the filethrough a sorting routine.

Program 7

From time to time it may be necessaryto eliminate records from the file. Program7 (see listing 7) enables the user to locateand remove a record within the file byspecifying a CALL SIGN. The programreads through the file looking for a recordwith a matching CALL SIGN. If a matchis found, the record number is stored asvariable REMOVE. The program continuesreading through the file until the end of thefile is located. ALL the records in the filefrom record number REMOVE to the endof the file are moved down one record,eliminating the gap that would have beenleft by the removal of the record. I hopethis mailing list program will be of use toreaders."

Listing 7: A program used to remove entriesfrom the list.

PRINT "PROGRAM #7

REMOVE ENIKr FROM FILE

INPUT "FILE NAME"I FILE.NAMESFILE FILE.NAMESC 128)IF END #1 THEN 100

INPUT "CALL SI GN"J CALLS

REM SEARCH FOR RECORD AND END OF FILE

FOR RECORD-1 TO 1000

HEAD #1 . RECORDING. C$

IF CALLJ=CS THEN REMOVE* RECORDNEXT RECORD

100 IF REMOyE=0 THEN PRINT "NOT FOUND-'FIN1 SH=REC0RD-2

REM RE-PACK FILE

FOR RECORD* REMOVE TO FINISH

READ #1 . RECORD* I I N I. CS, SS. TS. A$, Z S. P$PRINT #1. RECORDING, CI. S$» 1 S.AS.ZS, P$

NEXT RECORD

STOP

REM BLANK OUT LAST RECORDPRINT #1. FINISH* II " "

Additional Notes on BASIC-E

The following points will aid in converting programs written in Microsoft (MITS,Applesoft, OSI, Commodore) BASIC to BASIC-E.

BASIC-E does not allow IF-THEN statements to be located anywhere other than atthe beginning of a line.

EXAMPLE: 100 A = 2.2: D = E + 1: IF A = D THEN 200

The above line would not be compiled by BASIC-E because the IF-THEN statement isnot at the beginning of the line. The solution to this problem involves using the editor toinsert a carriage return/line feed in place of the : preceeding the IF-THEN statement.After this is done the line will be in the following form which will be compiled correctly:

100 A = 2.2: D = E + 1IF A = DTHEN 200

BASIC-E uses the statement RND for random number generation. The editor can beused to replace all the RND (x) statements in the Microsoft BASIC program with RND.

BASIC-E does not have a SPC (x) function. Use the editor to replace "SPC (" with"TAB ( pos +". The new function will then be TAB (POS + x), which has the same effectas SPC (x).

The most serious inconsistency between Microsoft BASIC and BASIC-E is in the areaof variable names. Microsoft BASIC allows a variable name used as a dimensioned arrayto be independently used as a simple variable. For example, Microsoft BASIC wouldallow the use of A (3, 2) and A as two separate variables in the same program. BASIC-Edoes not allow variable names used on arrays to be used as simple variables. The solutioninvolves either changing the array variable name or the simple variable name.

BASIC-E is very particular when it comes to print statements. Semicolons mustseparate all sections of BASIC-E print statements. For example, 100 PRINT "NUMBER"NUM" DATE" DAT would run properly in Microsoft BASIC. The line would have to beconnected to the following form to run in BASIC-E:

100 PRINT "NUMBER"; NUM; "DATE"; DAT

BASIC-E will not insert missing spaces in a line as Microsoft BASIC will. Forexample:

100FORI=1TO10:NEXTI

The above line would run in Microsoft BASIC but it would have to be converted to thefollowing form to run in BASIC-E:

100 FOR I = 1 TO 10: NEXT I

January 1979 J BYTE Publications Inc

89

Much has been written on the subjectof Conway's game of Life, but most of theliterature on this subject has been devotedto configurations, patterns and theorems.Little has been written about methods ofactually implementing Life programs on acomputer. To correct the paucity of in-formation, this article is devoted almostexclusively to Life algorithms. My associ-ates Peter Raynham and David Buckinghamhave given invaluable assistance in thedevelopment and refinement of the algo-rithms contained herein. For convenience,the algorithms, with a few obvious ex-ceptions, will be given in a pseudolanguageresembling ALGOL.

Life Algorithms

Mark D Niemiec

Computer Communications

Network Group

E4, room 2369A

University of Waterloo

Waterloo, Ontario

CANADA N2L 3G1

Rules of Life

The game of Life deals with patternsthat change according to certain rules.The changes proceed in discrete stepscalled generations. The patterns are con-figurations of bits (or cells) which mayhave two states: live and dead. These statesare analogous to true and false or 1 and 0.The Life cells are arranged in a squarefield of infinite size (ie: arbitrarily large).Each cell has eight neighbors: those cellsorthogonally adjacent to it on all sidesas well as diagonally. If a live cell has twoor three live neighbors, it lives in the nextgeneration: otherwise it dies. If an emptycell is surrounded by exactly three livingcells, a new one is born there in the nextgeneration. Dead cells not meeting thisrequirement remain empty.

Simple Algorithm

A simple algorithm for performing theseoperations is shown in listing 1. The patternresides in the old and new arrays withinlimits MINX through MAXX and MINY

About the Author

Mark Niemiec is currently a third year mathematics student at theUniversity of Waterloo. Introduced to Life by one of the articles inScientific American, he has been actively involved in local Life groupsin Sarnia and Waterloo, Canada. He has had several Life related dis-coveries published in the now defunct LIFELINE newsletter. His otherrelated interests include computer graphics and automata theory.

through MAXY. The major problem withthis algorithm is that it requires two arrays,one to hold the present generation, and oneto hold the next. Since only one bit is reallyused in each element of the array, botharrays may be stored together in the com-puter memory using one byte per element.The cells of the new generation are kept inone half (or nybble) of the byte, whilethe data for cells of the current generationis stored in the upper half of the byte. Thishas the advantage of using only one loop,since the loop at the end is no longer re-quired to copy data between arrays.

Improving the Simple Algorithm

A simple observation leading to furtherimprovement is that the computed valueof a cell in the next generation will be1 if and only if the sum of the values ofitself and the values of cells in its neighbor-hood is 3. This pertains to the case where acell is 1 and the neighborhood is 2, and tothe case where a cell is 0 and the neighbor-hood is 3. The new cell will be 1 only ifthe neighborhood ORed with the old cellitself is equal to 3. If we use a language withprimitives like AND, OR, XOR, and NOTfor bit manipulation, we can eliminate oneof the IF statements. This makes the codesimpler and faster. This new algorithmappears in listing 2.

Each of the above algorithms acts onone cell at a time. While this approach iseasy to program, it is not terribly efficient.Even using assembler language we getan efficiency ratio of only about 15 to20 instructions per bit. This may seemadequate for most applications, but itis not sufficient when running extremelylarge patterns, or running any patternfor a very long time. While one or twobits per byte may be adequate storagedensity for many applications, small com-puters and large patterns demand greaterdensity.

Other Possibilities for Improvement

Let us now examine algorithms whichare not restricted to calculating or auto-mating the next generation for one bitat a time. The obvious advantages of suchalgorithms are increased memory and timeefficiency. However, there are severalmajor disadvantages from the point ofview of the algorithm designer. Since theprogram must perform several calculationssimultaneously, we cannot use decisionprimitives (ie: the IF statements in theprevious examples).

We are therefore restricted to using

90

January 1979 © BYTE Publications Inc

individual bit and byte manipulations,in much the same way that a parallel adderdevice adds numbers without making deci-sions about such things as carry bits. Thealgorithm in listing 3 uses binary integersof any length, allocating three bits per Lifecell. Using this algorithm, we can effec-tively automate n/3 cells at the same time,where n is the word size in bits.

The entire pattern is divided into verticalstrips of n/3 columns, which are all auto-mated simultaneously. The program mustinclude means to provide the necessaryneighbors for the cells at the edges of thestrips. With the other algorithms, we cankeep track of the limits of the patternand automate only within those limits.However, using the vertical strip method, wecan keep track of the height of the patternonly, since the pattern is chopped up acrossits entire width.

Vertical Strip Method

In the example shown in listing 3, I useda hybrid notation combining high level andlower level instructions in order to concen-trate on the actual calculation algorithm.I wished to avoid using low level code forthe mechanics of indexing and loops, whichare better illustrated in a high level language.I tried to choose low level instructions thatare available on most machines: load andstore, left and right shifts and Booleanoperations.

In the coding ofbeginning at point 1at the edge of eachpattern to the extreme edges of the adjacentstrips so that one contiguous array is sim-ulated. Lines starting at point 2 add upthe values of the neighbors and perform alogical OR of the current state, as describedearlier. Lines of code at point 3 basicallycalculate the following for every bit:

listing 3, the linescopy over the bitsstrip in the overall

BR = sum(l bit) n sum(2 bit) n (sum(4 bit))

Or in English, the resultant bit (BR) is thelogical sum of the 1 bit ANDed with thesum of the 2 bit ANDed with the negationof the sum of the 4 bit. The code at point4 cleans up the garbage bits and stores thenew result. Lines of code after point 5merely copy the new field to the old, asbefore.

With this algorithm, the interior of thecalculation loop takes 17 instructions.Subscripting is assumed to be "free" forarray indices so close together, with constantdisplacements. If we use a processor witha word length of 16 bits, we have an effi-ciency ratio of 17/4, or less than 5 machine

o o oo_ oo„

_o o oo_ _p_p_ o p

p_ pp_ _ppp _p_p

o " o

7

Figure I: Transformation of a Life pattern throughthree generations. This process is sometimes referredto as the automation of the pattern. Generation 0 isthe original pattern of live cells. The succeedinggenerations proceed according to the rules ofbirth, existence and death.

FOR Y

BEGINFOR

= Ml NY TO MAXY BY I DO

X

BEGINSUM

= MINX TO MAXX BY I DO

OLD(Y-l,X-

+ OLD(Y ,X-

+ OLD(Y+l,X-

IF SUM = 3 THEN

EUSE IF SUM = 2

EUSE NEW(Y.X) :=

I) + OUD(Y-I,X) + OUD(Y-I,X+1)I ) + OUD(Y ,X+I)

I) + OLD(Y+l,X) + OUD(Y+l,X+I);

NEW(Y.X) := 1

THEN NEW(Y.X) := OUD(Y.X)

END

END

FOR Y := MINY TO MAXY BY I DOBEGIN

FOR X := MINX TO MAXX BY 1 DO

BEGIN

OED(Y.X) := NEW(Y.X)

ENDEND

Listing I: The basic algorithm for computing Life generations. The codepresented here is written in a pseudolanguage resembling ALGOL. Eachelement of the matrices represents one cell. The second group of statementscopies the complete new generation matrix into the old generation matrixso that the procedure may repeat.

FOR Y := MINY TO MAXY BY I DOBEGIN

FOR X := MINX TO MAXX BY I DOBEGIN

SUM := OUD(Y-I.X-1) + OUD(Y-I,X) + OUD(Y-I,X+1)

+ OUD(Y ,X-I);SUM := (SUM/ 16) + OLD(Y ,X+I)

+ OUD(Y+l.X-I) + OUD(Y+l,X) + OLD(Y+l,X+1);SUM := SUM OR OUD(Y.X);OLD(Y.X) :=OLD(Y,X) * 16;

IF SUM MOD 8=3 THEN OLD(Y.X) := OLD(Y.X) + IENDEND

Listing 2: A routine using bit manipulation by the logical OR operation.This enables the program to store the old and new generations in a singlematrix. The key point is that a cell in the new generation will be 7 onlyif the sum of its neighbors ORed with 7 gives the result 3. To code thisroutine in low level machine instructions, the user may use left and rightshift operations to perform the multiplication and division.

January 1979 ©BYTE Publications Inc

91

instructions per bit, which is much betterthan the previous algorithms.

One problem which arises is that, sincethe procedure works only with three bits,in some cases the neighborhood will have asum sufficient to cause a carry into thenext bit. This can sometimes create erro-neous results. To prevent this, before alleight neighbors have been added together,the sum must be thus folded: if sum<4 bit) ison, then turn off suitim bit\ and sum/2 b|t).

FOR YBEGIN[1] OLD(Y,MINX-lOLD(Y,MAXX+l

MINY TO MAXY BY

DO

OLD(Y,M<\XX) /OLD(Y,MINX) *

[3

[4;

is;

FOR X

BEGIN

LOAD

ADD

ADD

ADD

ADD

ADD

ADD

STORE

NOT

AND

RIGHT

STORE

RIGHT

OR

AND

ADD

OR

STORE

NOT

RIGHT

AND

RIGHT

AND

AND

STORE

MINX TO MAXX BY

DO

OLD(Y-1OLD(Y- 1OLD(Y-1OLD(YOLD(YOLD(Y+lOLD(Y+lTEMPI

,X- 1

,x

,X+1,X- 1

,X+I,X- I

,x

OCTAL'444 .1

TEMP21

TEMP2TEMPI

OLD(Y+l,X+1)OLD(Y ,X )TEMPI

TEMPI1

TEMPI

OCTAL' I I I I .... 1 'NEW(Y ,X )

END

END

Complete Storage Efficiency

All of the cell storage methods previouslydescribed involve wasting from 75 to 87 per-cent of storage in order to maintain programsimplicity. We must eventually ask, "Whynot use every bit?" By completely packingthe data, cell storage becomes about eighttimes as compact as the original algorithmallowed.

When each bit is surrounded by relevantdata, though, a drawback arises: there is noroom for any kind of arithmetic instructionswhich produce a carry to the next bit. Weremove this difficulty by performing thearithmetic in the same way that hardwareperforms it. Since there exists no semi-conductor "add" gate, one adds by selec-tively combining the AND and exclusiveOR (XOR) gates. Similarly, here it is pos-sible to add using only a large assortment oflogical operators.

One such solution, using PDP-11 machinecode, is shown in listing 4. The BIC instruc-tion of the PDP-11, which is effectivelyan AND/NOT instruction, is actually moreuseful then a normal AND instruction inthis case. A similar implementation fora different processor not having this instruc-tion might be slightly larger.

This example shows that we can auto-mate 16 bits at a time in about 40 instruc-tions of 16 bits, which is about 2 1/2 in-structions per bit — more efficient than anyprevious method. If 8 bit instructions areused, we must approximately double thenumber of instructions per cell. This alsoholds for the previous algorithms of manybits per word. As an example of how thisimproves performance, we are able toautomate 72 bits at a time on the Honeywell66/60 by looping with double word instruc-tions with an average of almost 2 bits perinstruction. So, despite the fact that thismethod has the longest code segments insidethe calculation loop, it is by far the mostefficient method of those discussed.

FOR Y := MINY TO MAXY BY I DOBEGIN

FOR X := MINX TO MAXX BY I DO

BEGIN

OLD(Y.X) := NEW(Y.X)

ENDEND

Listing 3: Routine to compute Life generations using cell data packed withmultiple cells in a word. Several cells can have their new generations com-puted, or be automated at the same time. The code here is a generalizedmachine language with the high level iteration instructions retained forclarity. The packing density is n/3, where n is the word size in bits. Theellipses in the octal constants indicate that the method works for any wordsize. This method may be referred to as the vertical strip method from themanner in which it divides up the Life universe.

Life in Three States

One generalization of Life is a 3 stateversion called Immigration, which has theregular blank or dead state, plus two livingstates, X and O, for instance. The rulesare the same as those for Life, exceptthat, upon birth, a new cell's state is de-termined by the majority of parent cells.For example, three X cells or two X andone O will produce an X offspring. Oneuse of the two distinct living states is to dis-tinguish the major predecessor of an object.A case in point: if two gliders collide toform a block, from which one does theblock actually originate?

92 January 1979 © BYTE Publications Inc

HOW TO BEAT THE SYSTEM WITH SYNCHRO-SOUND

High-performance, low cost complete Microcomputer Business Systems (plus Software)at EXTRA savings only Synchro-Sound can offer!

(SYSTEM!

No. 1

' DIGITAL SYSTEMS DSC-2Z-80 COMPUTER SYSTEM

32K RAM, 4 RS-232 serial interfaces,*16 bits of parallel I/O. Double density!floppy disk, Shugart dual-drive, <

Regular price $4995.00

CENTRONICS 700 PRINTERWith RS-232 Interface

60 characters per second, 132 col-umn line, tractor feed.

Regular price $1720.00

HAZELTINE 1500VIDEO TERMINAL

80 character lines, 24 line page, lineand page editing. Separate numerickeypad.

Regular price $1149.00

$7864.00

THE COMPLETE SYSTEMONLY

$7495.00

SAVE $369.00!

IMSAI VDP 80DATA PROCESSINGCOMPUTER SYSTEM

32K RAM, expandable to 196K.Parallel and serial I/O. Megabytemass storage, alphanumeric in-telligent keyboard.

Regular Price $6995.00

0KIDATA 22 PRINTERWith RS-232 Interface

Tractor feed, 132 column, 125 Ipm,upper and lower case. 12 differentfonts on command.

Regular price $2888.00

$9883.00

THE COMPLETE SYSTEM *niifiC fU\

only 59443.UUSAVE $438.00!

CR0MEMC0 SYSTEM 3Z-80 COMPUTER SYSTEM

32K RAM, dual disk drive, RS-232 In-terface. S-100bus.

Regular price $5990.00

MODEL 3703LINE PRINTER

180 characters per second, print linewidth 132 cols., bi-directional print-ing.

Regular price $2995.00

CRT TERMINALMODEL 3100

80 characters per line, 24 lines, up to19,200 baud, upper and lower case.

Regular price $1595.00 ft,

$10,580.00

.-Pi Mt

THE COMPLETE SYSTEMONLY

$10,095.00

SAVE $485.00!

Three software packages* that enableyou to profitably make full use of yourMicrocomputer Business System

ACCOUNTS RECEIVABLE PACKAGE Creates transaction fileof charges, credits and payments. Batch mode for monthlystatements and aged schedules.Operators manual and disk, single copy $500.00

INVENTORY PACKAGE Maintains current listing of stockitems, master inventory listing with price and cost data.Operators manual and disk, single copy $500.00

ORDER-ENTRY PACKAGE (Requires Accounts Receivableand/or Inventory Package) Links Accounts Receivable andInventory packages into one coherent, easy-to-use, time-saving system.Operators manual and disk, single copy $500.00

Buy any of our

3 MICROCOMPUTER SYSTEMS

and any combination of these

3 SOFTWARE PACKAGES ARE YOURS FOR

HALF PRICE!

•Require 48K Memory and Microsoft Basic

Terminal and Printer substitutions may be madeon any of the above Systems

CUSTOMIZED HARDWARE SYSTEMSARE AVAILABLE

Complete modern servicing and consultingfacilities on premises

SYNCHRO-SOUND enterprises inc.

The Computer People

193-25 Jamaica Avenue,

Jamaica, New York 11423

212/468-7067 TWX: 710-582-5886

Hours 9-4 daily Visit our new showroom

and Saturday Working units on display

Dept bsy BankAmericard • MasterCharge

Circle 355 on inquiry card.

BYTE January 1979 93

The major difference between thisalgorithm and regular Life is that one mustkeep track of the kind of bit, as well aswhether a bit is alive or not. An algorithmwhich does this is shown in listing 5. For aliving cell of type X, bit 1 of the byte isset to 1; for a type O live cell, both bit 1 andbit 8 of the byte are set to 1. The distinctivefeature of this algorithm is that when a newcell is created, the kind of cell it becomes isdetermined by how many Is from bit 8have been added into the sum. Since bit 8

is uniquely used, packing the old generationand the new into two halves of the samebyte is no longer possible. Note that thisalgorithm will work in the same manner asa standard Life algorithm on an arraycontaining only one of the living states.

Life Generations of the Fourth Kind

An extension of Immigration resultsin a version of Life having four differentkinds of living states. The kind of cell which

Listing 4: A program tomanipulate ceils stored asa single bit. This codeuses the instruction set ofthe Digital EquipmentCorp PDP-11 processor.The addition is performedby selective use of logicaloperations. Application ofthis method results in thegreatest possible storagedensity. Although thereare more lines in the pro-gram, automation of manycells simultaneously makesthis the most efficientprocedure discussed.

MOV

OLD(Y-1

,X-I)

,R0

MOV

OLD(Y-1

,X )

.Rl

XOR

R 1 . RO

BIC

RO.RI

MOV

OLD(Y- 1

,X+I )

. R2

XOR

R2 ,R0

BIC

RO ,R2

BIS

R2.R1

MOV

OLD(Y+l

,X-1)

,R2

MOV

OLD(Y+l

.X )

,R3

XOR

R3 ,R2

BIC

R2 , R3

MOV

OLD(Y+l

,X+1 )

, R4

XOR

R4 ,R2

BIC

R2 , R4

BIS

R2 ,R3

XOR

R2 .RO

BIC

RO ,R2

XOR

R2 ,RI

BIC

Rl ,R2

XOR

R3.R1

BIC

R 1 , R3

BIS

R3 , R2

MOV

OLD(Y

,X-1 )

,R3

MOV

OLD(Y

,X+1)

, R4

XOR

R4 ,R3

BIC

R3 ,R4

XOR

R3 , RO

BIC

RO , R3

XOR

Rl ,R3

BIC

R3 ,R1

XOR

Rl ,R4

BIC

R4.RI

BIS

R3 . R2

BIS

R4 . R2

BIS

OLD(Y

,R0

BIC

R2

. RO

COM

Rl

BIC

Rl

, RO

MOV

RO

,NEW(Y

(R1,R0) = NEIGHBOURS 1+2

(R2.R0) = NEIGHBOURS (l+2)+3

(RI.RO) = NEIGHBOURS 1+2+3

(R2.R3) = NEIGHBOURS 4+5

(R4.R2) = NEIGHBOURS (4+5)+6

(R3.R2) = NEIGHBOURS 4+5+6

(R2.R0) = NEIGHBOURS (1+2+3)+(4+5+6)

(R2.R1) = CARRIES (1+2+3)+(4+5+6)

(R4.R3) = NEIGHBOURS 7+8

(R3.R0) = NEIGHBOURS (1+2+3+4+5+6)+(7+8)

(R4,R1) = CARRIES (1+2+3+4+5+6)+(7+8)

(RO) IS OR'ED WITH ORIGINAL BITNEIGHBOURHOOD OF > 4 CAUSES DEATHNEIGHBOURHOOD OF > 2 A NECESSITY

94

January 1979 © BYTE Publications In

PET

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, and

4K TRS-80S, in Z-80 machine language, offers 3 levels ot play (bothLevel I and Level II versions are included and can be loaded on anyTRS-80 without TBUG). MICROCHESS checks every move forlegality and displays the current position on a graphic chessboard.You can play White or Black, set up and play from special boardpositions, or even watch the computer play against itself! Available

includes a chess clock for tournament play. MICROCHESS 1.5 for now at a special introductory price of only $19.95

PLAY CHESS WITH YOUR COMPUTER!

BRIDGE CHALLENGER by George Duisman for 8K PETs, Level II16K TRS-80s, and 16K APPLEs: You and the dummy play 4 personContract Bridge against the computer. The program will deal handsat random or according to your criterion for high card points. Youcan review tricks, swap sides or replay hands when the cards are

known. No longer do you need 4 people to play! $14.95

ORDERS: Check, money order or VISA/Masler Charge accepted:programs and cassettes guaranteed. If you have questions, pleasecall us at 617-783-0694. If you know what you want and have yourVISA/MC card ready, you can DIAL TOLL FREE 1-800-325-6400(24 hours. 7 days: In Missouri, dial 1-800-342-6600). Or you can

STIMULATING SIMULATIONS by Dr. C.W. Engel for 8K PETs, 4KLevel I and II TRS-80S, and APPLEs with Applesoft II: Ten originalsimulation games such as Forest Fire, LostTreasure, Gone Fishingand Diamond Thief, progressing from elementary to quite complexwith most suitable for schoolchildren. Includes a 64 page bookgiving flowcharts, listings and suggested modifications . .. $14.95

mail your order to the address below. Personal Software1" productsare now available at all Radio Shack* stores throughout the UnitedStates and Canada, and from the PET and APPLE dealers listedbelow. New dealers are being added daily. For the name andaddress of a dealer near you, call us at 617-783-0694 today!

Radio /haek theComputerStore ComputerLand

COMPUTERLANDHunlsville. AL 35805

ALPHA ELECTRONICSAnchorage AK 99503

DATACOPE

Liltlo Rock AR 72204

BYTE SHOP OF SACRAMENTO

Citrus Heights CA

BUSINESS ENHANCEMENTCOMPUSERVICEEscondldo CA 92027

CHANNEL DATA SYSTEMSGoleta. CA 93017

RAINBOW COMPUTINGGranada Hills CA 91344

BYTE SHOP OF HAYWARDHayward CA 94541

COMPUTERLAND OF SOUTH BAYLawndale CA 90260

A-VIDD ELECTRONICSLong Beach CA 90815

HOBBY WORLD ELECTRONICSNorlhndge. CA 91324

CAPITOL COMPUTER SYSTEMSSacramento CA 95616

COMPUTERLAND OF SAN DIEGOSan Diego CA 92111

COMPUTERLAND OF

SAN FRANCISCO

San Francisco CA 94105

COMPUTERLAND OF SAN JOSESan Jose. CA 95129

MARIN COMPUTER CENTERSan Raphael CA 94903

ADVANCED COMPUTER PRODUCTSSanla Ana CA 92705

THE COMPUTER STORESanla Monica CA 90401

BYTE SHOPSuisan CA 94585

BYTE SHOP OF TARZANATar/ana CA 91356

COMPUTERLAND OFTHOUSAND OAKSThousand Oaks CA 91360

SMALL SYSTEM SOFTWAREThousand Oaks CA 91360

COMPUTER COMPONENTSVan Nllys CA 91411

BYTE SHOPWestminster CA 92683

COMPUTER COMPONENTS OFORANGE COUNTY

Westminster CA 92683

AMPTEC

Denver CO 80216

COMPUTERLANDDenver CO 80222

CONNECTICUT

COMPUTERLAND OF FAIRFIELDFairlield CT 06430

THE COMPUTER SI OREHarlluid CT 06103

THE COMPUTER STOREWindsor Locks CT 06096

WASHINGTON D.C.

COMPUTER CABLEVISIONWashington D C 20007

COMPUTERLANDBoca Ralon FL 33432

THE COMPUTER STOREBiadenton FL 33505

THE COMPUTER STOREClearwalui FL 33516

BYTE SHOP

Fort Lauderdale. FL 33334

COMPUTERLAND

Fort Lauderdale FL 33308

FOCUS SCIENTIFIC ENTERPRISESMiami. FL 33132

GRICE ELECTRONICSPensacol.i F L 32589

COMPUTERAGEPompano Beach. FL 33062

MICRO COMPUTER SYSTEMSTampa FL 33609

COMPUTER CENTER OF

PALM BEACHES

Wesl Palm Beach FL 33409

RADIO shack (Dealer)

Lihue HA 96766

ILLINOIS

COMPUTERLAND OFARLINGTON HEIGHTSArlington Heights IL 03904

FARNSWORTH COMPUTER CENTERAurora IL 60505

THE ELECTRONIC KEYBOARDChicago IL 60614

EMMANUEL B GARCIA JRAND ASSOCIATESChicago IL 60613

COMPUTERLAND 01 NILESNiles IL 60648

COMPUTERLAND OF PEORIAPeoria IL 61614

PERSONAL COMPUTER CENTEROverland Park KS 66206

COMPUTER SYSTEMS DESIGNWichita KS 67214

LOUISIANA

COMPUTER SHOPPEMetaire la 70002

MASSACHUSETTS

THE COMPUTER STOREBurlington MA 01803

THE COMPUTER STORECanitiridgu MA 02139

MAI) HATTER SOFTWAREChelsea MA 02150

NEW ENGLAND ELECTRONICSSpringfield ma 01103

NEWMAN COMPUTER EXCHANGEAnn Alhoi Ml 481U4

NEW DIMENSIONS IN COMPUTINGEast Lansing. Ml 48823

COMPUTERLAND OFGRAND RAPIDSKenlwood Ml 49508

COMPUTER MART OF ROYAL OAKRoyal Oak Ml 48073

TRI CITY COMPUTER MAR I

Sagtnaw Ml 48603

COMPUTERLAND

Southlteld Ml 48034

LEVEL FOUR PRODUCTIONS

Westland Ml 48185

MINNESOTA

COMPUTERLANDBloominglon MN 55431

MMS

Minneapolis mn 55454

MISSISSIPPI

OXFORD SOFTWARE COO.lord MS 38655

COMPUTER SHOP OF SYRACUSEDe Wilt NY 13214

THE COMPUTER TREEEndwell NY 13760

LONG ISLAND COMPUTERGENERAL STORELynbiook NY 1 1563

COMPUTER MICROSYSTEMS

Manhassel NY 110:10

THE COMPUTER FACTORYNew Yoik NY 10017

DATA DOMAIN OF FORT WAYNEFoil Wayne IN 46805

COMPU1ER HOUSERochestet NY 14609

THE COMPUTER STORERoches!.11 NY 14618

DIE COMPUTER CORNERWhile Plains NY 10601

NORTH CAROLINA

COMPUTERLAND

Charlotte NC 28206

BYTE SHOP

Greensboro NC 27401

MICROCOMPUTER SERVICESHickuiy NC 28001

BYTE SH0PO1 RALEIGHRuleig-i NC 27605

OHIO

21ST CENTURY SHOPCincinnati OH 45202

CYBER SHOPColumbus OH 43227

MICRO MINI COMPUTER WORLDColumbus OH 43213

ASTRO VIDEO ELECTRONICSLancastei OH 43130

COMPUTERLAND OF CLEVELANDMaylield Heights Oil 4.1121

OKLAHOMA

BUSINESS MICRO SYS1 EMSOklahoma City OK 73108

HIGH TECHNOLOGY

Oklahoma City OK 73106

HIGH TECHNOLOGYTulsa OK MI29

COMPUTERLAND 01 PORTLAND1 igarl OR 97223

PENNSYLVANIA

PERSONAL COMPUTER CENTERI lazei PA 19355

THE COMPUTER WORKSHOPMuirysville PA 15668

RADIO SHACK iDealeilNolth Wales PA 19454

A B COMPUIEHSPerkasie PA 18944

MICROTRONIXPhiladelphia PA 19106

SOUTH CAROLINA

DATA MAR 1Gieeiwille SC 2960/

TENNESSEE

COMPUTER LABS OF MEMPHISMemphis TN .18117

DOCS COMPUTER SHOPNashville IN 37211

TEXAS

COMPUTERLAND Ol AUSTINAuslin FX 78757COMPUTER IERMINA!

THE HI Fl SHOP

Salt Lake City UT 84 1 1 7

COMPUTER HARDWARE STOREAle«andna VA 22314

COMPUTERS PLUSAlexandria VA 22304

HOME COMPUTER CENTERNewpoilNews VA 23606

1HE COMPUTER PLACERoanoke VA 24015

WISCONSIN

BYTE SHOP OF MILWAUKEEGieenlield Wl 53227

MADISON COMPUTER STORE

Madison wi 53711

WASHINGTON

COMPUTERLAND OF SOUTHKING COUNTYFederal Way WA 98003

YE OLDE COMPUTER SHOPPERichland WA 99352

KOBETEK SYSTEMSWollville Nova Scotia BOP 1X0

COMPUTER INNOVATIONSOttawa Ontario KlB 4A8

MICRO-WARE

Toronto Ontario M4E 2L2

BYTE SHOPllloid Esse<

INFOGUIDELondon

CYTEKManchester M4 3E4

PETSOTT

Newbury Berkshne RGI3 1PB

KEEN COMPUTERS

Nottingham NG r 1FN

GERMANY

ING W HOFACKLR8 Mum.hen 75

COMPU1RONDen Ha.llJ 2502 ER

MICROFUTUREStockholm 10322

SWITZERLAND

INTER! ACE TECHNIQUE

Basel

DIALOG COMPUTER

El Pa

'9901

THE COMI'IIILH SHI IPSan Aim I X 78216

LLHA1EXWettliliteii

P.O. Box 136-B1

Circle 302 on inquiry card.

Personal Software

TM

Cambridge, MA 02138

,iry 1979

95

Listing 5: A program toperform calculations forthe 3 state, or Immigrationgame. Live cells are of twodistinct types. Cells arestored one per byte. Forone type of live cell, thebyte has its 7 bit set to I.The other type of live cellis indicated by settingboth bit 1 and bit 8 ofthe byte to I. Data storedby this scheme may not bepacked further.

FOR Y := MINY TO MAXY BY 1 DOBEGIN

FOR X := MINX TO MAXX BY I DOBEGIN

SUM := OLD(Y-1,X-1) + OLD(Y-1,X) + OLD(Y-1,X+1)+ OLD(Y ,X-1) + OLD(Y ,X+1)

+ OLD(Y+l,X-l) + OLD(Y+l,X) + OLD(Y+l,X+1);IF OLD(Y.X) -= 0 THEN

IF (SUM OR 1) MOD 8 = 3 THEN NEW(Y,X) := OLD(Y,X)ELSE NEW(Y.X) := 0ELSE IF SUM MOD 8=3 THEN

IF SUM < 16 THEN NEW(Y.X) := 1ELSE NEW(Y.X) := 9ELSE NEW(Y,X) := 0ENDEND

FOR Y := MINY TO MAXY BY 1 DOBEGIN

FOR X := MINX TO MAXX BY 1 DO

BEGIN

OLD(Y.X) := NEW(Y,X)

ENDEND

Listing 6: A program thatdemonstrates a version ofLife in which cells are inany one of five possiblestates. A hash table isused to determine the kindof cell which is born tovarious sets of parents.

ARRAY HASH(0: :3 3) CONTAINING

I, 1 , 9 , 9, 0, 0, 0, 1 , 89,9,0, 1 , 57,9, 57,57,0, 0 , 9 , 1 ,0, 57, 89, 89, 0, 57,0, 0, 0, 89,0, 0, 0, 89;

FOR Y := MINY TO MAXY BY 1 DOBEGIN

FOR X := MINX TO MAXX BY 1 DOBEGIN

SUM := OLD(Y-1 ,X-1 ) + OLD(Y-1 ,X) + OLD(Y-1 ,X+1)+ OLD(Y ,X-1) + OLD(Y ,X+1)

+ OLD(Y+I,X-l) + OLD(Y+l,X) + OLD(Y+1,X+1);IF OLD(Y,X) -= 0 THEN

IF (SUM OR I) MOD 8 = 3 THEN NEW(Y,X) := OLD(Y,X)ELSE NEW(Y,X) := 0ELSE IF SUM MOD 8=3 THEN NEW(Y.X) := HASH(SUM/8)ELSE NEW(Y,X) := 0ENDEND

FOR Y := MINY TO MAXY BY 1 DOBEGIN

FOR X := MINX TO MAXX BY ! DO

BEGIN

OLD(Y,X) := NEW(Y,X)

ENDEND

Listing 7: The game of Life programmed inone line of A PL. This function accepts theinput pattern as a Boolean matrix and dis-plays it every generation. The reader is leftto determine which algorithm is used.

V LIFE X ;1

[il +i.pD>' LV [*-<-( 3 = Y)vjrAit = y*-( i<))y)+y+i<t>y«-( ieX)+x+l«JST*(o,(CUpjr)pi),o)\jr+(o,((i+pX)pi),o)\jr+

(((al + pjr)2(v><X)il)A<|>< \l*pX)z(<bv/X)il)/X*-(( ( il + p*)*(v/*)il)A4>( lltpAT)a(4)v/X)il)/Jl

96 January 1979 © BYTE Publications Inc

Circle 314 on inquiry card.

may be born is determined by the majorityof the parent cells. If no majority exists(ie: all three parents are different), a cellof the fourth kind is generated. Patternscontaining only two kinds or one kind oflive cells make this game become equivalentto Immigration and Life, respectively.

Listing 6 shows a procedure for auto-mating this Quad-Life. It is essentiallythe same as the Immigration algorithm,except that the determination of cell typeis done most efficiently by using a hashtable. The program may index a table con-taining cell types using the sum of the typesof the parent cells. Since a birth can occuronly between three live cells, the hashingfunction need only meet the condition thatit be unique when any combination of threeof the four different values representing thefour different cell types is added together.The values 1, 9, 57, and 89, produce aunique hash. This is also the smallest solu-tion, giving a hash table with 34 entries,of which 20 are actually needed.

Exploiting Language Power

No proper treatment of algorithms iscomplete without a program written inone line of APL which performs the de-sired task. The program in listing 7 accepts•the input pattern as a Boolean matrix anddisplays the pattern every generation. Thegrid is effectively of infinite size, sincestorage allocation for the pattern is grownand shrunk as necessary. The programworks only in origin 0, but changing itto work in origin 1 would be fairly trivial.Determining which algorithm is used herewill be left as an exercise to the reader.

Ultimate Purpose

The more research that is done con-cerning Life, the more it appears thatinvestigators are becoming less concernedwith merely empirical questions such as"What does pattern such and such eventu-ally form?" — and more concerned withmore esoteric problems such as entropy, in-formation theory and computability theory.Due to this shift in emphasis, it is becomingapparent that the future of Life algorithmswill not rest in smaller and faster programsto automate Life. The advances of the futureabide rather in highly specialized abstractmathematical programs for proving theoremsor gathering statistics. However, for mostenthusiasts, Life will always be a fascinatingdiversion that produces fascinating pictureson the screens of video displays."

NEW- FORTRAN PROCESSOR BOARDSS-50 BUS SWTPC PLUG COMPATIBLE

EDIT, COMPILE and EXECUTE MODES

All software in ROM for FAST access; NO RAM wasted;NO DISC System Necessary

PSEUDO - TIMESHARE editor usable during FORTRANprogram execution

COMPILER generates COMPACT CODE consuming lessRAM than BASIC

On board UC processes in parallel with 6800 CPU

Extra PROM spaces for subroutine packages

Scientific Subroutine Package soon available (FFT, CAD,Matrix Manipulation)

REAL

TIME

6800 FORTRANFROM $125

TOTALLY IN HARDWARE

REALTIME INTELLIGENCE CORP

P.O. Box 9562

Rochester, NY 14604

•ijjL

*; ■■'■': ■■ ■ -'■■■■"■

EXCEEDS ALL SPECIAL

CTAMnADnGI INTRODUCTORY

STANDARDS! offer ii

J3.75 DISKETTES s3.55 MINIDISKS

Ea .in FD-1000 Series: Single Ea. in MD-525 Series: Singleboxes Side/Single Density boxes Side/Single Density

ollO 1& 32 Sectors of 10 1.10.16 Sectors

FD-9000 Series: Single Side/Single Density-Critical Application

FD-80O0 Series: Single Side/Double Density

FD-1000 Series: Double Side/Single Density

FF-2000 Series: Flippy" -Reversible

MD-525 Series: Single Side/Double Density

MD-550 Series: D:" Double Side/Double Density

FF-525 Series: Flippy-Reversible

Write or call collect: (516) 433-0613

MANCHESTER EQUIPMENT CO.Jnc.

30 Midland Ave. ■ Hicksville. N.Y. 11801

Circle 211 on inquiry card.

January 1979 © BYTE Publications Inc

97

Making a list ?

DR DOBB'S JOURNAL OF COM-PUTER CALISTHENICS AND ORTHO-DONITA, volume I edited by Jim CWarren.

□ This is a collection of everythingfrom the first year of Jim Warren'soutstanding journal. 359 pp. $13.00 (nophoto).

YOUR HOME COMPUTER by JamesWhite.

□ A clearly written nontechnical de-scription of personal computers thatrequired no prior knowledge of com-puters or electronics. Yours for $6.00.

GETTING INVOLVED WITH YOUROWN COMPUTER by Leslie Salomonand Stanley Viet.

□ Whether your interest in businessapplications, word processing, education,security, computerized video games,computer art and music. Robots, oramateur radio, this book will get youstarted and keep you on the right track.216 pp. $5.95.

UP YOUR OWN ORGANIZATION! byDonald M Dible.

□ A great handbook on how to startand finance a new business, this is themost comprehensive reference we'veseen on the subject. 372 pp. Availablefor $14.95 in hardcover.

HOW TO PROFIT FROM YOURPERSONAL COMPUTER by Ted GLewis.

□ If you have wanted to use yourpersonal computer in a profitablemanner, and you feel you need somehelp planning programming techniquesfor common business applications, thisbook is for you. 191 pp. $7.95.

BASIC AND THE PERSONAL COM-PUTER by Thomas A Dwyer and MargotCritchfield.

□ After giving an in-depth course inBASIC, the book discusses microcom-puter hardware, graphics, word pro-cessing, sorting, simulation and datastructures. Easy to read and informative.438 pp. $12.95 (no photo).

TV TYPEWRITER COOKBOOK by DonLancaster.

□ A complete guide to low cost tele-vision display of alphanumeric data,several chapters of which were publishedahead of the book in early issues ofBYTE magazine. $9.95.

THE CHEAP VIDEO COOKBOOK byDon Lancaster.

□ This latest in Don Lancaster's seriesof hardware books continues wherethe TV Typewriter Cookbook leavesoff. New, inexpensive video displaycircuits (and the software to drivethem) are described. 256 pp. $5.95 (nophoto).

Check herefor newideas

■ '■>- r-tn i -inn

Up your OWN organization!

APL AN INTERACTIVE APPROACHSecond Edition, Revised by Gilman andRose.

□ Here's an excellent way to introduceyourself to the APL language. Gilmanand Rose have extensively updated theirpopular book to include the latest infor-mation about APL and the various formsnow in use. $11.95.

SARGON by Dan and Kathe Spracklen.

□ Written about the 1978 West CoastComputer Faire chess champ, "Sargon,"highly praised, is a program in Z-80assembler language. $14.95 (no photo).

THE WIRED SOCIETY by JamesMartin.

I I This is a fascinating and not-todistant account of what the future mightbe like, changed by the new telecom-munications technology. Prefacing hisdiscussions with historical as well as con-temporary references, Martin lures thereader into an impending technicalrevolution, which will change corpor-ations, change government, and changesthe lives of everybody. $12.95 hardcover(no photo).

MICROPROCESSOR INTERFACINGTECHNIQUES (Expanded 2nd edition)by Austin Lesea and Rodnay Zaks.

□ Now available in this newly revisededition featuring: new material on"useful circuits,"an enlarged floppy disksection with new double density con-trollers, updates on LSI controllers—andmuch more. Including basic conceptsand techniques, this book is a very com-prehensive handbook on interfacing.416 pp. $9.95.

MICROPROCESSORS: FROM CHIPSTO SYSTEMS by Rodnay Zaks.

CI A complete and detailed introductionto microprocessors and microcomputersystems. $9.95.

BASIC BASIC, 2nd EDITION by JamesS Coan.

□ If you're not already familiar withBASIC, this book is one of the best waysto learn about this popular computerlanguage. BASIC (which stands for Be-ginner's Ail-Purpose Symbolic Instruc-tion Code) is easy to learn and easy toapply to many problems. $8.95.

ADVANCED BASIC by James S Coan.

[J This is the companion volume toJames Coan's Basic BASIC. In this bookyou'll learn about some of the moreadvanced techniques for programmingin BASIC, including string manipulation,the use of files, plotting on a terminal,simulation and games, advanced mathe-matical applications and more. $8.95.

CHESS AND COMPUTERS by DavidLevy.

□ This 145-page paperbound book isloaded with chess games played bycomputers. The games are computerversus computer and computer versushuman. $8.95.

CHESS SKILL IN MAN ANMACHINE edited by Peter W Frey.

I~1 This is a most fascinating book, con-cerning itself with the when, how, andwhy of computer chess. $14.80 hard-cover.

SCIENTIFIC AND ENGINEERINGPROBLEM SOLVING WITH THE COM-PUTER by William Ralph Bennett Jr.

□ Besides teaching BASIC (which itdoes admirably), this lively, lucid bookpresents a wealth of imaginative andunusual applications programs takenfrom many disciplines. In its diversityand elegant style, it ranks with DonaldKnuth's works as a milestone in the artof computing. Hardcover, $19.95.

98 BYTE lanuary 1979

GAMES, TRICKS AND PUZZLES FORA HAND CALCULATOR by WallaceJudd.

LJ Got a friend who won't have any-thing to do with calculators? You justmight woo him or her into the electronicage with some of the tricks in this book.Capers, games and astounding calcula-tions are here to dazzle. They've evenpulled a calculator apart to show youwhat the insides look like! A neat bookfor anyone suffering from technophobiaor plain boredom. 91 pp. $4.95.

FUNDAMENTALS OF RECORDKEEP-ING AND FINANCE FOR THE SMALLBUSINESS by Robert C Ragan, CPA,and Jack Zwick, Ph.D.Q Once you have your organizationor business up and running, recordsmust be kept. 196 pp. Only $10.00 inhardcover.

THE ART OF COMPUTER PRO-GRAMMING by Donald E Knuth.

Praised by many critics as the bestbooks in their field. These books arepart of a projected seven volume omni-bus survey of computer science nowbeing completed by Donald E Knuth.

□ Volume I, Fundamental Algorithms,634 pp. $21.95 hardcover.

□ Volume II, Seminumerical Algo-rithms, 624 pp. $21.95 hardcover.

□ Volume III, Searching and Sorting,722 pp; $21.95 hardcover.

FUNDAMENTALS AND APPLICA-TIONS OF DIGITAL LOGIC CIR-CUITS, 2nd edition by Sol Libes.

□ You'll find everything from the basictheory, to various circuit designs, to themost recent applications, including thecircuitry of calculators, digital voltme-ters, frequency counters, and computers.200 pp. $7.95.

SMALL COMPUTER SYSTEMS HAND-BOOK by Sol Libes.

O This is an introductory text for thosewith a minimal knowledge of electronicswho are interested in microcomputers asa hobby. The author explains microcom-puter concepts from number systemsand logic circuits to programming lan-guages and applications with the empha-sis on practical knowledge. 197 pp.$8.45.

THE LITTLE BOOK OF BASIC STYLEby John M Nevison.

□ This book teaches you how to writeclear, well-planned programs you canread. 151 pp. $5.95 (no photo).

Jf TOP-DOWN STRUCTUflFfl PBflnRAMMING TFCHNIOUFS %£:■

SOMI COMMON HASH PROGRAMS

DIGITAL LOGIC CI..

UMMM MooaMimino S I

ACCOUNTS PAYABLE AND ACCOUNTS Kbl.kUAlilF

SCK3ftfmXnS(>COMPUTfl;USfflnDMISU6f QUJ^ ^

SOME COMMON BASIC PROGRAMSby Lon Poole and Mary Borchers.d At last, a single source for all thosehard to find mathematics programs! Allthe programs are written in a restrictedBASIC suitable for most microcomputerBASIC packages, and have been testedand debugged by the authors. $8.50.

SOCIAL EFFECTS OF COMPUTERUSE AND MISUSE by J Mack Adams &Douglas H Haden.

LJ Most of us have come to accept thepresents of computers in our lives. Theireffect on society as a whole is worthy ofcarefull consideration. This book surveysthe evolution of computers, their appli-cation, and the social, economic andphilosophical implications of their in-creasing use. 326 pp. $10.00.

PROGRAMMING A MICROCOMPU-TER: 6502 by Caxton C Foster.

□ This informal, well-written book maybe just what you need to enter the worldof microcomputers. Foster uses the 6502microprocessor (used in the KIM-1, thePET, and the Apple microcomputersystems) as a basis for discussing thetechniques of writing programs. 231 pp.$9.95.

TOP-DOWN STRUCTURED PRO-GRAMMING TECHNIQUES by ClementLMcGowanS John R Kelly.

[~l What is structured programming? Theauthors answer this question in thislively, well-written book. 288 pp. $15.95hardcover.

6800 ASSEMBLY LANGUAGE PRO-GRAMMING by Lance A Leventhal.

□ From Osborne & Associates we haveanother in their series of microcomputerbooks. Lance A Leventhal discusses as-sembly language programming for com-puters using the 6800 microprocessor.The 6800 instruction set is presented indepth with chapters on assemblers, sim-ple programs, code conversion, tablesand lists, subroutines, input/output,interrupts, program design and docu-mentation, and sample projects. $8.50.

ACCOUNTS PAYABLE AND AC-COUNTS RECEIVABLE by Lon Pooleand Mary Borchers.

□ This is a set of 21 programs whichconstitute an invoice-linked accountspayable and a low-volume invoice ac-counts receivable system for small busi-nesses. It is the third in Osborne & Asso-ciates' series of BASIC business programsand will be complemented by the soonto be published General Ledger. 318 pp.$15.00.

BITS

DIAL YOUR BANK CARD ORDERS ON OUR TOLL-FREE HOT LINE: 1-800-258-5477.

inc

Name,

Books to erase the impossible

POB 428, 25 Route 101 WestPeterborough, NH 03458

Address.City

.State-

-Zip_

My check enclosed:

Check # :

Amount:

Signature.

Total

Number of books.

My card #

Postage $.75/book or$1.00 outside U.S.

Expires:-Prices subject to change without notice.

Grand TotalDealer Inquiries Invited.

You may photocopy this page.

Circle 35 on inquiry card.

BYTE January 1979 99

The Digicast System

Receiving Data and

A I Halsema

4921 Patrae St

Los Angeles CA 90066

Imagine turning on your radio and re-ceiving the latest copy of BYTE—or receiv-ing only the news of interest to you. Tuningin to a program could mean exactly that:you would receive software source codelistings, binary object code listings, and do-cumentation. All of these are possible with arevolutionary new system called Digicast.

Digicast is similar to Britain's Teletextand France's Antiope systems, but wouldbe transmitted by commercial FM radiostations. Teletext data is broadcast duringa portion of the vertical blanking time bytelevision stations of the BBC (see figure1). Decoded by logic connected to thetelevision set, Teletext news and announce-ments are dialed up and displayed on thetelevision screen at the viewer's option.

Operation

To understand how Digicasting wouldwork, consider FM stereo broadcasts. FMstereo is transmitted as two separate signals

modulating the same radio frequency carrier.Both channels of the stereo signal are com-bined into one monaural signal. This com-bined signal is what you hear when listeningwith a monaural only FM receiver. A secondsignal of 38 kHz away from the center fre-quency, amplitude modulated by leftchannel minus right channel differenceinformation, is also transmitted (see figure2). This is called the pilot carrier, and is usedin the receiver's stereo demultiplexer toseparate the two stereophonic signals. Stereoand other Subsidiary CommunicationsAuthorization (SCA) signals are transmittedonly by FM stations due to the wide band-width assigned to the stations by the FederalCommunications Commission. This widebandwidth (1 50 kHz, with deviations of 75kHz above and below the center frequencyof the carrier) is required to reproduce highfidelity music. Stereo transmissions do notexhaust the bandwidth available to an FMstation, however. Digicast signals can bebroadcast in exactly the same way as stereo-

HORIZONTAL

BLANKING

AND SYNC

EQUAL-IZINGPULSEINTERVAL

BLACK LEVEL

JL

WHITE LEVEL-

ji n

VERTICAL

SYNC

INTERVAL

EQUAL-IZINGPULSEINTERVAL

n n

HORIZONTAL SYNC PULSES

j] n n n n

-VERTICAL BLANKING TIME-

JL

-ONE LINEOF VIDEO DATA

Figure 7: Video synchronization signals. The pulses riding on the waveform at the "blacker thanblack" voltage level are horizontal sync pulses. Intervals between the horizontal sync pulses can beused to carry information, and are so used in the Teletext and Antiope systems. This portion of thevideo can be seen if the vertical hold control on the receiver is misadjusted slightly to roll down thepicture. Nonblack portions visible in the bar displayed are test signals added at the transmitter. Notethat this figure is not to scale, since more horizontal sync pulses actually appear during the verticalblanking time than are shown here.

100

January 1979 © BYTE Publications Inc

Information Over Your FM Radio

STEREO- 15 kHz —

STEREO-15 kHz-

MONAURAL

— 15 kHz

74 60

67 kHz 53 kHz

38 kHz

CENTERFREQUENCY

Figure 2: Frequency assignments in an FM station's signal. Not all stations trans-mit both stereo and SCA (background music). Spaces between the various signalsare required to allow separation and reduce mutual interference at the receiver.

Digicast and Digicasting areproprietary names protectedby trademark laws.

FM TRANSMITTER

STEREO

OTHER SCA

DIGICAST DATA

WIRE SERVICETELETYPE; STOCKQUOTATION SERVICELOCAL MESSAGESYSTEM

FM RECEIVER

DIGITAL SIGNALDEMULTIPLEXERAND AMPLIFIER

COMPUTER

Figure 3: Simplified blockdiagram of the Digicastsystem from input to out-put.

MASS STORAGE

TERMINAL

lanuary 1979 ©BYTE Publicalions Inc 101

phonic music. Reception would require theuse of a wide bandwidth FM receiver withsubcarrier output jacks to allow connectionof the Digicast demultiplexer. This demulti-plexer would be similar to a standard stereodemultiplexer, but with a different operatingfrequency and output voltage levels. Thedemultiplexed data would be fed into acomputer via a standard Universal Asyn-chronous Receiver Transmitter (UART)circuit (see figure 3). Data rates of 4800to 9600 bps are envisioned. The higherdata rates may require the use of specialfast rise time receivers.

Applications

Digicast is designed to allow serial readonly access to large data bases. One suchdata base is the news. Used in the newscastmode, Digicast would provide high-speedtransmission and reception of all the newsin alphanumeric form. The computer at thereceiving end would be programmed toselect those items containing keywords ofinterest to its owner and to store or printthem for later reading. A news transmissionfacility is simple to implement, since thenews is received in machine intelligibleform from the wire services (ie: UPI, AP,Reuters, etc). Software at the receiver canrange from the simplest search and saveprogram to complex artificial intelligenceprograms to correlate data and extrapolatestock market trends. (Stock market andcommodities quotations are also availablein machine readable form.) As the amountof news and information increases to thesaturation point, a UHF television channel(6 MHz bandwidth) could be allocated forthis purpose. A 6 MHz channel could handlea 6,000,000 bps data rate, spurring deve-lopment of still faster microprocessors. Analternate approach to the problem of infor-mation saturation is to use additional FMstations in the area to handle additionaldata. Digicasting will reduce the amount ofpaper needed for newsprint, and reducepollution levels. How much of your news-paper do you read? Once read, most news-paper becomes trash, adding to pollution.

Current Status

For Digicast to be a success technically,it must also be a financial success. An FMstation can be equipped with the neededelectronics for under $10,000, and sub-scriptions to the service sold to the public

on a monthly basis. Specialized Digicastreceivers could be mass-produced now for$50, exclusive of the computer, relatedsoftware and peripherals. To insure that nopirating of the broadcasts takes place, thedata can be encrypted, with a new decrypt-ing key being mailed to subscribers on amonthly basis.

Digicasting is being developed by theDigicast Project directed by Jim C Warren Jr,who has edited Dr Dobb's Journal of Com-puter Calisthenics & Orthodontia, and hasalso been the organizer of the West CoastComputer Faires. The project expects tohave a Digicast facility operating in theSan Francisco area by the end of 1979, butneeds both technical and financial help. Theproject is currently financed by subscrip-tions to the Intelligent Machine Journal,which prints news and details of the project;you may offer technical help and buy sub-scriptions ($18 a year) by writing to Jim CWarren Jr, 345 Swett Rd, Woodside CA94062."

REFERENCES

1. "Bandwidth Requirements for FM," (noauthor cited). Electronics World, volume 80,number 3, September 1968, page 27.

2. Grob, Bernard, Basic Television, secondedition, McGraw-Hill, New York, 1964,pages 68 and 108 thru 113. See this re-ference for frequency modulation terms andtelevision signal waveforms.

3. Solomon, L, "Hidden TV Test Signals,"Electronics World, volume 71, number 4,April 1964, page 34.

4. Warren, Jim C, Computer, IEEE ComputerSociety Journal, September 1978, page 97.A short biography of Mr Warren is providedon this page.

5. Warren, Jim C, "The Digicast Systems," DrDobb's Journal of Computer Calisthenics &Orthodontia, volume 3, number 9, October1978.

6. "Will Video-Text Systems Travel Well?"(no author cited), Electronics, volume 51,number 19, September 1978, page 24. Thisis a very pessimistic editorial on Teletextand personal computing.

7. Winfree, Robert W, "SCA BackgroundMusic Multiplexer," Electronics World,volume 70, number 6, December 1963,page 42.

102

Ijnuary 1979 & BYTE Publications Inc

Write bug-free code faster in BASIC,FORTRAN, or COBOL with ourunique software development system

Enjoy a bonus in better documentation and easier modification, too

Yes, you really can get flawless code faster,using the Stirling/Bekdorf™system of software de-velopment tools with structured programming con-cepts. Not only does the system help prevent errors,it also helps you trap errors you do make, quickly.

Each tool is human-engineered to do its jobbetter. Every step in the programming process,from initial logic design through print-out or displaylayout, flows more smoothly withtheStirling/Bekdorfsystem. Designed to make fullest use of structuredprogramming concepts, our software developmenttools are human-engineered to reduce initial errors,improve de-bugging speed, and aid concept commun-ication.

When you use "top-down" structured program-ming, the first part of our system to help you isthe 78F2 Flowchartrix™, no matter what languageyou're using. You use it first to lay out your originalconcept blocks. Then you use it to write a finelydetailed flowchart quite smoothly.

54% more logic cells than other flowchart forms,so you get far more of your program on each page.Each Flowchartrix has a full 77 logic cells, not just50. This not only saves paper, but also makesyour finished flowcharts easier to understand. Byseeing up to 27 extra steps of your program oneach page, you comprehend program flow more cl-early. That's important while writing the flowchart,more important when you write actual code. It'salso extremely helpful when you debug, and indis-pensable when you come back months or yearslater to modify your original work. 78F2's highermatrix count makes your flowcharts quicker to debug because there are fewer pages to search forerrors. Fewer pages also save you money and stor-age space.

Unique matrix can show your loops AS loops.The 7 x 11 matrix gives you a central column touse for executive control logic, plus 3 columns oneach side to describe loops and subroutines. Infact, these 3 columns on each side give plenty ofroom to write loops laid out visually as loops (sortof a squared circle). This makes loops and sub-routines easier to recognize, because their form isreadily apparent at a glance. Since they're easierto find, and may even be completed on a singlepage, they're also simpler to debug or modify.

Every matrix cell has a specific label to helpyou track branch points. Now it's far easier tofollow your program from page to page, point topoint. When you write program documentation,having a separate reference point for each cell makesyour program much easier to describe clearly.

With Flowchartrix, you don't need a shape tem-plate to draw remarkably regular logic symbols.Guides for the most-used logic symbols are rightin each matrix cell. They help you draw most stand-ard flowchart symbols entirely free-hand. With 78F2,your pencil can fly as fast as you can write, with-out interruption. When a flash of insight strikes,now you can keep your pen on paper, flowing rapidlyfrom one step to the next without breaking to pickup a template.

78P4 Print-Out Designers are the next step.When you finish flowcharting, you're ready to lay outthe printed reports your program will generate. Thishelps you focus your thinking on the end resultto be produced from all your effort. Then whenyou begin to follow the flowchart to write actualcode you'll be ready to blaze through the reportgeneration segments right along with the sorts andcomputations.

Unique 70 x 160 matrix accommodates evenproportional-spacing word processor formats. The160-column width can handle practically any printerformat. The 78P4 is big, 141? x 22 inches, becausewe've scaled the cell size to human writing comfort,

Circle 352 on inquiry card.

not machine print. Each 78P4 character cell is 3mmwide by 5mm high, giving nearly twice the character-writing area of other printout design sheets. Specialmarkings at columns 80, 96, and 132 show youthe relative position of each printed character.Scaled page length arrows reference the last possibleprinted line for standard 81?" and 11" paper (forprinters with 6 vertical lines per inch).

Special 5-column area records the program linenumber of the code which creates each printedline. This unique feature makes the control codemuch faster to debug and modify. It shows, ata glance, exactly which line of code creates eachline of your report, saving hours of needless searchtime when you must make a change in the reportformat (and don't you always have to, sooner orlater7).

Now you've done your flowcharting and plannedthe printed reports, you're ready to write the clean-est code you've ever created. And Stirling/Bekdorf's78C1 Combination Coding/CRT Layouts will helpyou do it faster. If you're using separate codingforms and CRT layouts now, you'll really enjoy theimprovements we've designed for you in the com-bination 78C1.

Every sheet gives you 2 form uses for the priceof one. When display layout and line folding pointsaren't critical, use 78Cl's full 28 line x 80 columngrid area for regular program steps. Then for inter-active or instructional sections, to plan display lay-outs simply keep your characters within the appro-priate CRT indicator lines, and you'll automaticallyknow where every character will show on your CRTscreen.

Gives you 4 extra coding lines on every sheet.Full 28 line x 80 column coding capacity saves you14 sheets out of every 100, compared to 24-lineforms. 86 sheets hold more program steps than100 sheets of any 24-line form, yet we offer full-size 6mm x 3mm grid blocks to give you comfortablewriting room and visual space between lines.

Works with your CRT display, no matter whatbrand you own. Equipped for both 16 line x 64column and 24 line x 80 column display formats,78C1 is compatible with your video terminal.

Available in three separate versions (one forBASIC languages, one for FORTRAN, another forCOBOL), the 78C1 is so powerful we include a 7-page instruction manual with every order, to helpyou discover every facetof itsunmatchedcapabilities.

Every tool in the Stirling/Bekdorf system is sur-face-engineered to take both pen & pencil withoutblotching. Our tough, extra-heavy, 22f paper ispure enough to use with critical magnetic ink char-acter readers, although you'll probably never useit that way. We use it because it gives crisp, sharpcharacters whether you write with pencil or plastic-tip pens.

Every part of our system uses eye-comfortablesoft blue grids. All grid rulings, tints, and divisionrules are reproduced in a special shade of blue.We chose it because it's easy on your eyes, evenafter hours of continuous programming. If youwrite software as a professional programmer, you'llparticularly appreciate the improvement over thegreen lines you've been writing on.

A 3-ring binder is one more of our secrets foryour success. Every tool in the S/B system is de-signed to work together in a standard 3-ring binder.All your notes, logic concepts, flowcharts, code,CRT layouts, print-out designs, and documentationcan be kept together, in order, in one place. Thissaves time every time you sit down to write. Italso makes debugging and modification immenselysimpler. By ensuring everything you create staystogether, you assure you can find the area you needto modify when the time comes, whether it's nextweek or next year. You can readily recapture youroriginal train of thought by scanning your flowcharts,then go directly to the area of code you need toalter. In fact, when you use our system to its full-est, even another programmer can quickly compre-hend your original thinking, so he can help youmake changes or extensions.

Order your supply of the world's most advancedsoftware development tools, right now, before youhatch even one more bug. Ask your local computerstore for Stirling/Bekdorf 78F2's, 78P4's,and78Cl's,or use the coupon below to get your supply.

P"

I

I

YES! Please rush the programming aids indicated below:

78F2 Flowchartrix

□ 2 pads of 50- $7.90 + $2.85 pkng & shpgO 10 pads of 50 = $34.35 + $6.45 pkng 8 shpg

78P4 Print-Out Design Sheets

□ 1 pad of 50= $7.45+ $3.15 pkng & shpg

□ 5 pads of 50 = $32.10 + $6.75 pkng 8 shpg

3 hole punched vinyl pockets for 78P4 Design Sheetsn set of 5 for $2.65+$1.35 pkng & shpg

□ set of 12 for $5.00 + $1.85 pkng 8 shpg

78C1 Combination Coding/CRT Layouts

All are the same price, but please check which languageformat you want:

□ for BASIC □ for FORTRAN D for COBOL

□ 2 pads of 50= $6.35+ $1.95 pkng 8 shpg

□ 10 pads of 50 = $26.85 + $3.35 pkng 8 shpg

Teias residents please add 5 5% sales tat to base price. We shipUPS so P.O. Box address must give phone number Puces shownfor packing & shipping are USA only. International shipping ratesare higher, write lor details

□ Sample of one sheet of each form +associated labels & literature: $2.50

Enclosed is my check for $

Name

Charge to: □ Master Charge D Visa exp. date.

Card i

Signature.

Address.City

Phone_

. State.

Zip-

| Stirling/Bekdorf |

4407 Parkwood a San Antonio, TX 78218 a (512) 824-5643

© 1978 Sliilmg/Bekdoil Div. of Blackman Mkrg. Gp.. Inc.

BYTE January 1979

-J

103

Photo I: The author'spolyphonic music key-board system, which allowsmore than one note to beplayed simultaneously. Thescanning keyboard inter-face is just behind the 61note manual in the fore-ground. The stand aloneASCII keyboard in frontis dedicated to music re-lated tasks, and, in con-junction with a videoterminal (not shown),allows two easily distin-guished levels of systemcontrol.

I'M1 1

..■'■■ J'..

:1 :'S: ":V.:4t ~M*HJ'liHitlll T III II ' ' lj ; »

Polyphony Made Easy

Steven K Roberts129 N Gait AvLouisville KY 40206

Photos by Douglas Fowley

It was not long after the successful im-plementation of a hardware chromatic toneand envelope generator for my system thatI began to wish for a method of playingmusic that would be somewhat less cumber-some than tune encoding with the ASCIIkeyboard. The ability to store a melody bydefining all the notes and then allowing thecomputer to perform it was worthwhile, butwithout some technique for spontaneousinteraction the system could hardly be calledan instrument. A music keyboard was clearlycalled for.

I obtained a 61 note (5 octave) organmanual from the Kimball Organ Companyfor about $75, and considered the interfacetask in depth. Among the primary perfor-mance specifications for the design were:

• Polyphonic capability (not limitedto single notes)

• Undisccrnible response delay

• Very low processor overhead

The last of these requirements precluded the

use of a software scan, which would havereduced hardware to its simplest form, andthe need for polyphony called for either abit map interface or a multiplexer with itsown memory. To simplify the software asmuch as possible, the latter approach wasselected.

A note should be inserted here about thetouchy subject of software simplification.An argument frequently heard in the worldof the microprocessor is that everythingshould be done with the program. If theprocessor in question is a dedicated con-troller, then by all means, all the work thatcan be reasonably handled by the programshould be so assigned. However if the proces-sor is at a higher level of system abstraction,it may be more efficient to delegate certainrepetitive tasks either to hardware or toanother microcomputer. There is no con-venient generalization defining the tradeoff,but in cases where software complexity getsout of hand due to the presence of a fairlymundane but demanding task, some paral-lelism is usually called for. In the specific

104

January 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 2114 STATIC RAM onboard with sockets provided forimmediate 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

QUALITY EXPANSION BOARDS DESIGNED

(U©(D0 1©OGeH

scDosy

g(T)(r)it] p-

fflff"!

Synertsk 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 Basic ROM $159.00

TV Interface Board 349.00

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,EPROMs. EPROMs not included.VAK-6 EPROM Board

or 16K of 2716 or 2516

$129.00

VAK-7 COMPLETE FLOPPY-DISK SYSTEM (Feb. '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 anc| +12VDC@.l Amps

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

Provides +5 VDC @ 10 Amps & +12 VDC iVAK-EPS Power Supply

1 Amp

SYM-1 Custom P.S. provides 5 VDC @ 1.4 Amps$125.00 VCP-1 Power Supply

*KIM is a product of MOS Technology

$41.50

ENTERPRISES

INCORPORATED

2967 W. Fairmount AvenuePhoenix AZ. 85017(602)265-7564

Prices in effect Nov. '78

Circle 318 on inquiry card.

BYTE January 1979

105

«

106

January 1979 © BYTE Publications Inc

QZ

00

00

CO

00

CO

CO

00

CO

CO

o

,_

CO

r*

p*

p*

r^ r».

<J

>

in

+

CD

CD

CO

ID

CD

CD

CD

CD

CD

^r

CO

CD

T

M-

^f

*t ^t

CD

a

>-

in

in

in

inr^

in

in

in

inr--

in

ininin

CD

O

OJ

CO

op*

s

r- oor- f-»

E

U

CM

u

CO

O

O

in

o

CD

o

O

CO

U

cn

O

o

o

«- CN

CJ u

CO

O

*t inu o

z

CU6) ■"

« "S■e §

|-H

* ^

^ "9c 5s ft

ii

° =\

.&-*

P 9-

*" Sis •*

Is

ft gif ""

§U

.C5.

5 P

•I5

<S ft,

I!

§ g §■*£ §

.y tS "->

1^St§ §

■* ?^ «

»— CD ft>

to t

ft

.g1

C^

<*.

^~

CI)

^^

>

CU

.ft)

i.

£

fln fl//ortment of Solution/

>££>*■

#**«■

for your Re/olution/

ARTIFICIAL INTELLIGENCE by Patrick Henry Winston

□ This book is designed for use in a course on artificial intelligence,but should prove invaluable to the newcomer to the topic, as well asbeing useful to the experienced as a reference text. Part One is set up tobe used as an introduction to the key ideas of the subject, including thebasics of elementary representation, symbolic constraint exploitation,search, and control. In addition, understanding natural language, repre-senting common sense meaning, computer vision, and expert problemsolving are covered. Part Two covers the programming language LISP,its organization and uses. Profusely illustrated. 444 pp. Only $10.00hardcover.

H0WT0 REPAIR VIDEO GAMES by Robert Goodman

□ A 270-page service/repair manual containing information on pro-ducts sold by manufacturers of electronic home video games andpinball machines. Each chapter of the manual, is devoted to an indi-vidual manufacturer's equipment. Some manufacturers covered areequipment manufacturers while others produce game chips only. Thethree game chip manufacturers are General Instrument, Texas Instru-ment and National Semiconductor, while equipment manufacturersinclude Magnavox, Atari, Radio Shack, RCA and Midway. $7.95.

INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING byRodnay Zaks

L~H This text is designed for both the novice and the user seeking toexpand his/her knowledge in the microcomputer field. A compre-hensive introduction to concepts, peripherals, and techniques, thisbook serves well as an educational text. 245 pp. Only $6.95.

PROGRAMMING THE 6800 MICROPROCESSOR by Bob Southern

□ This self-instruction workbook is a guide to the fundamentals ofassembly language and machine code programming of the 6800 micro-processor and its peripheral devices. Considerable coverage is given toprogramming of input and output devices. The asynchronous com-munications interface adapter, each with their various modes of oper-ations, are explored in detail in both noninterrupt and interrupt modes.Program design and documentation are emphazied along with pro-gramming hints and aids. 270 pp. $12.95.

SITS

POB 428, 25 Route 101 WestPeterborough, NH 03458

IOC Books to erase the impossible

SMALL COMPUTER SYSTEMS HANDBOOK by Sol LibesQ This is an introductory text for those with a minimal knowledgeof electronics who are interested in microcomputers as a hobby. Theauthor explains microcomputer concepts from number systems andlogic circuits to programming languages and applications with theemphasis on practical knowledge. 197 pp. $8.45.

SOCIAL EFFECTS OF COMPUTER USE AND MISUSE by Adams/Hayden

□ Most of us have come to accept the presence of computers in ourlives. Their effect on society as a whole is worthy of careful consider-ation. This book surveys the evolution of computers, their application,and the social, economic and philosophical implications of their in-creasing use. 326 pp. $10.00.

STANDARD DICTIONARY OF COMPUTERS AND INFORMATIONPROCESSING by Martin HWeik

CUThis is a very complete, fully cross-referenced dictionary. It goes astep farther in that it includes full explanations, practical examples,many pertinent illustrations, and supplementary information for over12,500 hardware and software terms. It cross-references the terms toother closely related concepts, and appended to each definition, as theneed arises, are explanations, tutorial information, examples, usageareas, and cross-references for further clarification of concepts andmeanings. 390 pp. $16.95 hardcover.

WIRED SOCIETY by James Martin

□ This is a fascinating and not-too distant account of what the futuremight be like, changed by the new telecommunications technology.Prefacing his discussions with historical as well as contemporary re-ferences, Martin lures the reader into an impending technical revo-lution, which will change corporations, change government, andchanges the lives of everybody. $12.95 hardcover.

For your convenience in ordering, please use this page plus theorder form on page 99. You may photocopy this page.DIAL YOUR CHARGE CARD ORDERS TOLL FREE(800) 258-5477.

Circle 35 on inquiry card.

BYTE lanuary 1979 107

Photo 2: Keyboard interface hardware. The circuit fits perfectly onto aRobinson-Nugent 30 socket wire wrap panel. It could just as easily be imple-mented on an S-100 card if there is no objection to the wire bundle. Anycombination of simultaneous key depressions and releases on the musicalkeyboards, at any practical speed, will result in a series of asynchronous"change of state" notices to the processor, which remains ignorant of inter-face function at all other times. The software maintains a list of keys current-ly depressed and deals with them appropriately. A simple handshakingscheme makes the interface synchronous with the host computer.

Photo 3: Underside of organ manual. The resistor-capacitor networks shownare used with each key for noise reduction. The wire bundle exiting at thebottom terminates in the interface's edge connector.

case of the music system, keyboard scanningand envelope generation can impose such aburden that the ability to simultaneous/ydocomplex real time data manipulation is lost.

Thus, optimization of the keyboard inter-face design was undertaken with the systemconsiderations given uppermost priority, andthe result is shown in figure 1. The 61 keyswitches of the manual are scanned com-pletely every 5 ms, and with each step of thescan the position of the presently addressedkey is compared with its last known posi-tion, which is stored in a 256 by 1 memorysegment. If there is no difference, the scanproceeds, but if the key has changed state,the processor is interrupted with the binaryvalue of the key in question along with adirection bit, and the corresponding memorylocation is changed to reflect the new statusof the keyboard. The scan is suspended untilthe information is accepted by the computer.In this fashion, any combination of simul-taneous key depressions and releases, at anypractical speed, will result in a series ofasynchronous "change of state" notices tothe processor, which remains ignorant ofinterface function at all other times. Thesoftware maintains a list of keys currentlydepressed, and deals with them appro-priately.

Action of the scanning interface is syn-chronized with the host computer by meansof a simple handshaking scheme: when achange of state is detected, the data availablesignal appears (this may be treated as aninterrupt or polled periodically, dependingupon available time). It is then the proces-sor's job to read the input port upon whichthe 6 bit key code and the direction bitappear, whereupon the acknowledge signalis created by the port strobe, allowing thescan to continue. It is important to note thatthe scan stops whenever a change is en-countered (awaiting processor intervention)because ultimate keyboard servicing time isthen largely a function of the support soft-ware. In the unlikely event that a user ofthis system chooses to implement such realtime functions in BASIC, it will be foundthat a forearm laid in jest upon the key-board results in a sweep up the musicalscale lasting on the order of a second. In amore realistic situation (assembler levelcoding) the delay is unnoticcable.

Construction, of course, should followthe usual procedures required of randomlogic interfacing. Cables between the boardand the processor should be kept short, withintervening grounds between the handshakelines. The keyboard shown in photo 1 con-sists of simple normally-open contacts; theirnoise is filtered by the resistor-capacitor (RC)

108

January 1979'0 BYTE Publications Inc

Circle 354 on inquiry card.

networks shown in the schematic. Any re-maining bounce may be trimmed out byadjusting the clock rate, which is nominally12.5 kHz. There is one light emitting diode(LED) on the board to provide a visualcheck of operation: "Key In Progress" islit between the data available signal and theacknowledgment signal.

The circuit concept is directly expandableto accommodate many more inputs, withthe memory and counter capable of address-ing up to 256 points. This interface conceptwould be quite at home in many industrialcontrol environments, as well as anywherea large number of contact closures must beobserved.

In the music system shown in photo 1,the keyboard interface has provided themuch needed flexibility in the interactiveutilization of the instrument. The "feel"is not unlike that of a standard electronicorgan, and with the available processinghorsepower taken into consideration, theunit is a composer's delight. From teachingapplications (where the human must cor-rectly repeat "by ear" a computer generatedphrase) to the support of creative effort, anefficiently integrated polyphonic keyboardis an essential link between artist and com-puter. ■

Build Your Own Low Cost

S-100 Bus Micro-Computer

POWER SUPPLIES

Unregulated Output: t 8.5VDC & t 17VDCWith Heavy Currents: 15 Amp or 25 Amp @ + 8.5VDC

3.751.95

BRIDGE RECT.:

D-i: 35 Amp. 50piv $

D2; 4 Amp. 50piv $

COMPUTER CAPS:

Ci:100,000UF, 15V $ 9.50

Ci: 52.000UF, 15V $ 4.75

C2: 6.000UF, 50V $ 2.50

TRANSFORMERS:

Tr Supplies + 8.5V/I5A, - 8.5V/2A & 1 17V/2A

SIZE: 33/8"(L) x 4"(W) x 23/i6"(H), mtg. bracket Incl.T : Supplies + 8.5V/25A, - 8.5V/3A & ±17V/3A

SIZE: 33/4"(L) x 41/8"(W) x 3i/B"(H), mtg. bracket incl.POWER SUPPLY KITS: Dimensions; 13"(L) x 5"(W) x 47/8"(H)KIT "A": Output; + 8.5V/25A. - 8.5V/3A & + 17V/3A $57.50

Incl. trans. T2, d, (100,000UF),3XC2(6000UF), Di, D2, 4x resisfuse, holder, barrier strip, alum, chases plate & all nece. mtg.parts. 3 hrs. assy, time & instructions incl.KIT "B": Output; + 8.5V/15A, - 8.5V/2A & I 17V/2A $47.50

All parts same as kit A, except trans. X, , & C-, (52.000UF)SHIPPING: $4.75 per transformer. For each kit: $5.00 in Calif.,$7.00 for all other states. Calif, residents add 6% sales tax,Master Charge/B of A, OEM are available.

$17.50$22.50

SUNNY INTERNATIONAL

MAIL ORDER:

P.O. Box 4296

Torrance, Ca. 90510

STORE:

7245 E. Alondra Blvd.

Paramount, Ca. 90723

STORE HOURS: 9 AM-6 PM

PHONE: (213) 633-8327, 530-3732

CBASIC Is Better

Take CBASIC-the best Business BASIC.

Make it faster, easier to use,and more flexible, and you have

CBASIC-2

New features that enhance CBASIC's value as the bestbuy in Business BASIC:

CHAINING to pass control from program to program;INTEGER VARIABLES allow fast computation in 16-bit binaryarithmetic; MULTIPLE LINE FUNCTIONS allow easier, morestructured coding; XREF produces a cross-referencedictionary of variables; SAVEMEM reserves memory spoceand loads subroutines; SADD% returns absolute address ofstrings; CONSTAT% reports console status; UCASE$ convertsa string to upper case; COMMANDS returns contents ofcommand line; plus CONCHAR%, XEJECT, FILEBUFFERING, %PAGE, and more.

Special Introductory Price: $89.95

$49.95

SSG CBASIC version one

owners can update for only:

(send registration # when ordering)

Other vendors sell CBASIC.

But how many back up their customers when

software is updated? We do.

For information, or to order, contact:

AructurecJ /y/tem/ Group

INCORPORATED

5208 CLAREMONT AVENUEOAKLAND, CALIFORNIA94618

(415)547-1567

ONLY PROGRAMMERS

SHOULD BEALLOWED TO SORT!

Isn't that ridiculous? They're your files, your infor-mation and your needs. Take control of them nowwith

SORT-80

available separately (for only $95.00) or as part ofFMS-80, the only fully integrated microcomputerFile Management System. From initial file defini-tion through selective report generation, FMS-80takes you every step of the way interactively.

Also ask about REMOTE-80 Intelligent TerminalSoftware; SCREEN DESIGNER—interactivelycreate and utilize video forms; and MLU—thecomplete Mailing List Utility. All run under anyCP/M-based system (IMDOS, CDOS, etc.).BASIC interfaces implemented for most throughCALL, and all have unique benefits.

DEALERS: Have we got a deal for you! Liberaldiscounts and painless evaluation packages—we're waiting to hear from you.

COMPUTERS PLUS, INC.

678 S. Pickett St.

Alexandria, VA 22304. (703) 751-5656

Circle 353 on inquiry card.

January 1979 ©BYTE Publications Inc

109

Grandmaster Walter Browne

John R Douglas

25 Cannon Dr

Elk River MN 55330

versus Chess 4.6

About the Author

/ R Doug/as has hada professional interestin computers since1959. For the past tenyears, he has been adesigner of "larger andlarger" computers forControl Data Corp. Heand David Cahlander(also with CDC) act asoperators of the datacommunications systemon those occasionswhen Chess 4.6 plays incompetition. They alsoassist in interfacing theChess program to theoperating system and inmaintaining the open-ing book data base.

The organizers of Minnesota's Twin CitiesOpen invited Northwestern's Chess 4.6 andControl Data's CYBER 176 to take part.Since this World Champion computer systemhad not been tested in open human competi-tion, its programmers readily accepted theinvitation. With a rating of 1936, Chess 4.6was seeded number one in the 5 round Swisssystem tournament, perhaps the first time acomputer has been accorded that position.

A new electronic chessboard was used forthe first time. The microprocessor whichcontrols the board senses the opponent'smoves magnetically, transmits the move inalgebriac notation via telephone to CYBER176, and then indicates CYBER 176's re-sponses by illuminating small lights on thesquare of the piece to be moved and on theone to which it is to go. Chesstor, as thisdevice is called, also senses the hitting of thechess clock and thus keeps track of the timeused.

Chess 4.6 did very well in this event,wrapping up first place in four rounds andfinishing the tournament with a perfect 5—0result. The 30 to 35 points gained broughtits rating close to the elusive Expert barrier.This win carried with it an invitation toenter US Champion Walter Browne's simul-taneous exhibition.

A large crowd gathered to listen toGrandmaster Browne's lecture and to watchhis 44 board simultaneous exhibition. Askedhis opinion of computer chess, Browne re-plied that he did not mind their slow styleof play. Browne invited wagers on his com-puter game and was surprised to find takersin the audience. Later he declined the sidebets, saying that although he would win, thetime he spent at the computer's board wouldnot be fair to the other players.

Grandmaster Browne's 1978 tour hadthus far produced an amazing winningstreak, with only two losses and six drawsin 17 exhibitions. As this exhibition began,everyone was amazed at Browne's pacearound the first six circuits; he barely pausedat each board before responding to the posi-

tion before him. He certainly did not seemconcerned about the computer's Benoniopening, which requires sharp and exactplay. (Later Browne acknowledged that heshould have spent more time with this open-ing.) Browne did, however, appear to be per-plexed by the computer's advantage out ofthe opening, and this put an end to hismaking blitz mode moves at the computer'stable. Here is the way the game went.

Benoni Defense

White: W Browne

Black: Chess 4.6

1 P-Q4 N-KB3 2 P-QB4 P-B4 3 N-KB3PxP 4 NxP P-K4

Chess 4.6 tends toward sharp openingplay.

5N-N5

Walter Browne tends toward sharp open-ing play.

5 . . . B-B4

Chess 4.6 has been modified for thisevent to allow the operator to wait until thevisiting Grandmaster arrives before request-ing the computer's move. This gives the sys-tem maximum time for computation.

6 QN-B3 Castles

Browne's Knight move brings 4.6 out ofthe opening book. At this point Chess 4.6has used two minutes and Walter Brownehas hardly broken stride as he passed. Butnow the skid marks in front of the electronicchessboard are added to each time Brownepasses by.

7 P-K3 P-Q3 8 B-K2 P-QR3

The chessboard seems to flicker with elec-tronic pride as the machine's estimate of itsadvantage climbs to more than one halfpawn — more than one half a Grandmaster'spawn.

9 N-R3 N-B3

Browne's charming wife spent a lot oftime watching the computer and was dis-mayed as with each successive move thecomputer's evaluation routine gave a strongerand stronger procomputer assessment of theposition.

110 January 1979 © BYTE Publications Inc

10N-B2 B-B4

Chess 4.6 is predicting Browne's moveswith impressive accuracy, and it gets aboutfour minutes per move in which to thwartBrowne's design for the game.

11 0-0

4.6 expected N-Q5

11... Q-Q2

Still retaining a one half pawn lead andexpecting 12 B-Q3 P-KR4 13 N-Q5 N-KN514P-K4.

12P-QN3 K-R1 13 B-N2 R-KN1

4.6 is having trouble finding something toimprove the position. It predicts 14 Q-Q2P-R3 15QR-Q1 N-K5 16NxN BxN.

14 N-R4 B-R2

4.6's position seems solid now.

15B-R3 P-R3 16 RBI

[Not 16 BxP? BxN. . . Burt Hochberg]

16 . . . QR-Q1 (expecting Q-Q2) 17 N-N4NxN 18 BxN

All anticipated by 4.6; at this point the4.6 corner fell prey to a bit of mild panicand requested the next move about threeminutes before Browne was due back at theboard. The new electronic chessboard seemednot to have sensed the previous move (whichindeed it had), and in the flurry of theoperations following, Chess 4.6 committedits only error.

18... Q-B2

There may be a stronger move.

GLOSSARY

Algebraic notation: a system of recording chessmoves characterized by the assignment of theletters a thru h to the files (columns of squares)and the numbers 1 thru 8 to the ranks (rows ofsquares) done from the point of view of the playerwith the White pieces. Usually certain abbrevia-tions are employed. The World Chess Federation(FIDE) strongly endorses the use of algebraic nota-tion (see "descriptive notation").

Annotations of ! or ?: represent someone's opinionof the quality of the move. The exclamation pointshows a good move; the question mark shows apoor move.

Benoni opening: the name given to the particularset of opening moves which are played in thisgame. It is a forceful defense by Black which oftenleads to great tactical display. It was first studiedby Reinganun of Frankfort in 1825, and was afavorite defense of two World Chess Champions,Alekhine and Tal.

Blitz move: a move made very quickly.

Chess clock: a device used to put a time limit ona chess game. It is a mechanism with two clockmovements and faces, one for each player. When aplayer makes a move, he or she presses one of twobuttons on the top of the clock which starts theopponent's clock movement and stops his or herown. In tournaments a player must make a pre-scribed number of moves in a limited timespan.

Descriptive notation: the traditional system ofrecording the moves of a chess game, used in thisarticle. A file is named after the piece positionedon it at the start of the game. The ranks are de-noted numerically from the point of view of theplayer having the move.

Expert class: the class of chess player who has atournament rating of somewhat over 2000 points.As a comparison, the average rating for all mem-bers of the United States Chess Federation isaround 1300.

Ringside attack: an aggression on the side of the

board on which the Kings were positioned at thestart of the game.

Pawn up: to have a material advantage of one pawnor its equivalent, or to have a positional advantageof the same value. Under most circumstances, theadvantage of one pawn is sufficient for victory.

Piece up: similar to, but better than, being a pawnup; usually leading to certain victory.

Ratings: a guide to the ability of a chessplayer,based on historical data of performance in over-the-board competition in rated chess tournaments.The system most commonly in use was inventedby Dr Arpad Elo. A player gains rating points bywinning a tournament game, and loses points bylosing a game. The effect of a draw on a rating de-pends on the difference in rating between the twoplayers in the drawn game. A lower rated playerachieving a draw with a higher rated player willgain points, while the higher rated player will inall probability lose points.

Sharp play: playing moves which are likely to leadto great tactical display.

Simultaneous exhibition: an event in which a verystrong chess player engages in competition againstmany weaker opponents in many separate games.

Swiss system tournament: a popular type of chesstournament in the United States. It is usually con-ducted as follows: in the first round, the playersare ordered according to their ratings. Then the topplayer in the upper half is paired against the topplayer in the lower half, and so on down to thebottom player in each half. For each game, eachplayer is given one point for a win, one half pointfor a draw, and zero for a loss. In the second andlater rounds players are paired according to thefollowing ordered general principles:

1. A player must not be paired with any otherplayer more than once.

2. Players with equal scores after each roundmust be paired as much as possible.

3. Colors are assigned by the director of thetournament as equitably as possible.

Copyright 1978 by J RDouglas. Reprinted fromChess Life and Review bypermission.

The program Chess 4.6was written by David Slateand Larry Atkin of North-western University. TheChesstor electronic chess-board was constructed byDavid Cahlander of Con-trol Data Corp.

January 1979 © BYTE Publications Inc 111

19Q-K1

Now 4.6 is only one quarter pawn up,but it thinks 19 Q-Q2 would have been moreto the point.

19 . . . B-B4 20 B-KB3 B-Q6

One half pawn up again. Computer fanscould relax a bit. Both 4.6 and Browne seethe next four moves now. Browne spends alot of time at our table. Mrs Browne spendsa lot of time warning Walter that he shouldspend a lot of time at our table. She askedhow much the machine cost and was toldseveral million dollars. She told Walter thatthe machine said it had the advantage.Browne was not impressed, although he didstart to thump the pieces and our clock as hepassed. After a lengthy stay at the board heplayed.

21 BxB PxB 22 B-K2 B-B4 23 P-B3 P-K524 P-B4 B-Q2 25 N-B3 Q-R4

Now the visting master stops, does adouble step, smiles: he's got this thing now.The Queen is out of play. Browne begins aKingside attack, smiles at the spectators,savors his move.

26 Q-R4

Thump, smile. It's lucky that the elec-tronic board can only sense the position ofthe piece and not the force with which it ismoved, for Browne's forceful play intimi-dates the spectators.

26 . . . B-B3

For the next four moves, 4.6 must finddefensive resources that are not obvious tothose in attendance, and predictions of anearly end to the game begin.

27 R-QB2

going to like what's happening on the Queenfile.

31 R-Q1 RxRch 32 BxR

Small thump, walk away, stop, look back,frown.

32 . . . R-Q3

At this point the clocks show two hours44 minutes for 4.6 and 22 minutes forGrandmaster Browne.

33 Q-N3 Q-Q1

4.6 correctly projects Browne's game forthe next 11 moves.

34 R-B1

Now Browne is defending. Things are notgoing well at some of the other boards,either, but it is here that Browne spendsmost of his time.

34 . . . R-Q7

What a nice place for one's Rook.

35 P-N5

4.6 had been expecting this much earlier.

35 . . . PxP 36 PxP N-R2 37 P-N6 PxP

We are a whole pawn up!

38QxPQ-R5!

Now things start to liven up. Brownelooks unnerved and spends a long time onhis next move. He gets into trouble at thenext board, too. Here he finds:

39 Q-B5 B-Q2

4.6's backers find happiness and will ad-mit that they just may have moved the piecemore slowly and punched the clock morevigorously than was necessary, so much sothat Browne remarked, with just a hint of asmile, "It is not allowed for the computer

4.6 expected P-KN4.

27 . . . P-QN4

1.

d4

Nf6

33.

Qg3

Qd8

Can Browne be distracted?

2.

c4

c5

34.

Rcl

Rd2

28 P-KN4

3.4.

Nf3

N:d4

c:de5

35.36.

g5f:g

h:g

Nh7

Doesn't look like he is.

5.

Nb5

Bc5

37.

g6

f:g

28 . . . P-N5 29 N-Q1 R-Q3

6.

N/lc3 0-0

38.

Q:g6

Qh4

Now everyone sees the defense. 4.6 ex-

7.8.9.

e3

Be2

Na3

dfaa6Nc6

39.40.

41.

Qf5Qf4e:f

Bd7

Q:f4

e3

pects 30 P-N5 N-R2 31 N-B2 KR-Q1 32

B-N4 Q-N3 33 B-B5. Browne plays.

10.

Nc2

Bf5

42.

Ne4

e2

30N-B2 R/1-Q1

11.12.

0-0

b3

Qd7Kh8

43.44.

B:e2N:c5

R:e2Bc8

If 4.6 survives, the Grandmaster is not

13.

Bb2

Rg8

45.

Rdl

Re 8

14.

Na4

Ba7

46.

a3

b:a

15.

Ba3

h6

47.

Ral

g5

16.17.

Rcl

Nb4

R/a d8N:b4

48.49.

f:gM

Re5aS

Table 1: The score (record of moves) of the

18.19.

B:b4Qel

Qc7Bc5

50.

51.

Nd3Kf2

R:g5+a:b

simultaneous exhibition game between

20.

Bf3

Bd3

52.

N:b4

Ra5

Grandmaster Walter Browne and the com-

21.

B:c5

d:c

53.

Ke3

Be6

puter program Chess 4.6, duplicated here in

22.

23.

Be2f3

Bf5e4

54.55.

Kd4Nc2

Ng5a2

convenient table form. The notation here is

24.

f4

Bd7

56.

Nb4

Ra4

algebraic, as opposed to the descriptive nota-

25.26.

27.

Nc3Qh4Rc2

Qa5Bc6b5

57.58.59.

Kc5Kb 5Nc6

Ne4+Bd7+Nc3+

tion which is used in the article text. In this

type of notation, the colon (:) indicates a

28.

94

b4

60.

Kc5

B:c6

capture and the plus sign (+) indicates check.Moves given as square designations alone are

29.30.31.

NdlNf2Rdl

Rd6

R/g d8R:dl+

61.62.63.

K:c6

Kd6

Ke5

R:c4+

Rd4+

Rdl

pawn moves.

32.

B:dl

Rd6

64.

resigns

112

January 1979 ©BYTE Publications Inc

rr

Everything you always wanted

to plug into your PET,

APPLE or TRS-80*

HARDWARE

DOUBLE DENSITY DISK STORAGEFOR THE TRS-80

(220% capacity of Radio Shack's)TRS-80 owners can now increase theiron-line mass storage capacity to 20OKbytes. How? By using the 77 trackMicropolis model 1033-11 dual drives.Cost: only $1195 for two drives.How does it work? By writing on 77 tracks (insteadof the conventional 35) with precision head positioning.How do I use it? Microtronix provides you with aspecial program to let your TRS-80 DOS know there areextra tracks. This program was written especially forMicrotronix by Randy Cook, author of TRS-80 DOSWill the double density disk work with myRadio Shack drives? Yes, except of course forcopying an entire 77 track disk to a 35 track drive.

FORTRAN IV FOR THE TRS-80! Finsilyj for hiah speedcalculations on your micro? MICROSOFT'S FORTRAN canspeed up those computation-bound prosrams* CompleteFscKase includes compiler? relocatable assembler? texteditor? and linKina ioader. Only $325. Also availablefor CP/M S-100 based systems*

SOFTWARE

TRS-80liATA MANAGEMENT/REPORT GENERATOR- easily formatsdisK files? allows entry? edit? delete? & list ofrecords? and retrieves data for display orcalculation on screen or printer...*.......$200.

ELECTRIC PENCIL- powerful word processor allowsfull cursor movement? insert/delete? stringsearch? blocK movement? adJustale line lensth?just it icat/ion ...»**..»..♦»*♦»...».».»♦»»*?7 .y-j

LOyER CASE HOD KIT FOR ABOVE $12.

DISK BASED WORD PROCESSING PACKAGE $124,95

RSM-2B DISK MONITOR- powerful system manipulatesdisK data? has Z-80 breakpoint routine.....$29,95

ESP-1 EDITOR/ASSEMBLER ,, .$29.95

RSH-1S HACH, LANGUAGE MONITOR- tape base.$23.95KV DISK CONVERSION UTILITY- use with TAPEIUSKutility to save system tapes on disk (i.e.rencii)....,..*,.♦...*..,*.*............*v7,yj

UTILITY PACK 1- a)Libioader merses from tape?'b)Renumber <spec. mem, size)? eStatement analysisfor debu£Sins'....$9,95 ee? ell 3 for $24.95

SARGON CHESS- 16K lv II- the 1973 champ.,$19,95HICROCHESS 1.5 by Jennings- 4K any lev.,,$19.95GAMES- sn assortment is available for $5,95 eeeh-write or caii for list,

HAZE- random maze on the TRS-80?s'rephics,$14,95teK about our COMPLETE BUSINESS SYSTEM

JOYSTICK PACKAGE-

PETcomiete with

connector ?

software? instructiond.,,$39,95 sinsie? $59,90dual,

HICROCHESS 2,0 by Jennin^Ss ,,,,,,,.$19,95

ASTROLOGY/NATAL PACKAGE sophisticated chartcomputation with PET sraphics.,,,..........$14.95

SUBS- best sraphics yet- drop depth charges on thesubs below you and racK up points. Completeadjustability for many same variations,.,19,95SUPER MAZE- 2 sames in 1J Tunnel vision lets youtravel through the maze in perspective withsraphics? also Kat'n'mouse ch3se...$19,95

74 COHHON BASIC PROGRAMS on 1 tape! $10,

19 different sames at $9.95-up- call for info,

,TOLL FREE

.MICROLINEfor:Orders, TRS-80Tech. NewsletterInfo., free catalogue80d-523455(fI In PA & CAN15)665-1112

[(21!

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

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

Circle 202 on inquiry card.

BYTE January 1979 113

to play psychologically." 4.6 correctlyprojects Browne's next seven moves.

40 Q-B4 QxQ 41 PxQ P-K6

World Champion 4.6 admonishes USChampion Browne to be careful. Grand-master Browne admonishes 4.6 not to beoverconfident.

42N-K4P-K7!

Forcing the exchange of a Bishop for twopawns.

43 BxP RxB 44 NxP B-B1 45 R-Q1 R-K1

Browne now finds a move to make theendgame playable. 4.6 did not anticipate thiscontinuation.

United States Chess FederationSuggested Rules of Play Involving Computational Machinery

The following rules are suggested for use in USCF rated tournaments whenone or both players is a computer. In matters not covered by these rules, play isgoverned by the FIDE (Federation Internationale des Echecs) Laws, by FIDEInterpretations of the Laws, and by the USCF Tournament Rules and PairingRules, interpreted by the arbiter. In such games the player shall be considered tobe the chess algorithm being executed on a specific computer.

The following regulations shall govern play:

1.

5.

10.

For the algorithmic player (computer), a piece shall be deemed "touched"when a move involving that piece is communicated.

A move shall be deemed executed when the move has been executed onthe playing chessboard. Only after this shall the opponent's clock bestarted.

The computer and/or the operator shall keep the score of the game.If, during a game, different positions should arise on the playing chessboardand on the chessboard or representation thereof maintained by the algo-rithmic player, such differences shall be corrected with the assistance ofthe arbiter by consulting both players' game scores. In resolving such dif-ferences, the player whose score has the correct move, but who has exe-cuted a wrong one, has to accept certain disadvantages.If, when such discrepancies occur, the game scores are also found to differ,the moves shall be retraced up to the point where the scores agree, and thearbiter shall readjust the clocks accordingly.The algorithmic player's operator(s) shall have the following duties:

(a) To make the moves of the algorithmic player on the playing chessboard.

(b) To communicate the moves of the opponent to the algorithmic player.

(c) To operate the chess clock for the algorithmic player.

(d) To inform the algorithmic player, at its request, of the time consumedby either or both players.

(e) To claim the game in cases where the time limit has been exceeded.

(f) To carry out the necessary formalities in cases where the game isadjourned.

(g) To communicate proposals of a draw between the algorithmic playerand the opponent.

(h) To carry out the functions associated with machine communicationfailure. During restart, program parameters must be reset to the mostrecent values. Board position and status, along with clock time, mayalso be entered.The opponent may appoint a deputy to record the game score.Communication to and from the algorithmic player regarding the moves ofthe game shall be made in a standard (clear and unambiguous) notation.During the course of a game, an algorithmic player may not request addi-tional data or information which requires human intervention. Such a re-quest shall be considered a violation of Article 19.1a of the Laws. [Article19.1a says that during a game a chess player may not use any knowledgewhich is not his/her/its own . . . RS/

With the approval of the arbiter in advance of the first round, the operatormay resign or accept a draw on behalf of the algorithmic player.

Source: Official Rules of Chess, second edition, edited by Martin E Morrison,David McKay Company Inc, New York, 1978, pages 112 and 113. Reprinted bypermission.

46 P-QR3 PxP

Greedy, but what else?

47 R-R1 P-N4 48 PxP R-K4Expecting N-R4.

49 P-N4 P-R4

It's a whole piece up.

50 N-Q3 RxPch 51 K-B2 PxP 52 NxP R-QR4 53 K-K3 B-K3 54 K-Q4 N-N4

Expecting 55 N-B6 R-KB4 56 N-Q8R-B5.

55 N-B2

Browne offers a draw. The computer'scorner is divided: do we play on for scienceor bag a draw with a Grandmaster for therecord book? Browne returns in less thantwo minutes. Science prevails: 4.6's Bishopand Knight tactics should be interesting.

55 . . . P-R7 56 N-N4 R-R5

The machine records a 5 point lead forBlack.

Browne first plays K-B3, hits the clockand moves away: then he skids to a stop,returns, and announces, "That's not mymove," stands, leans, sways, taps, poundson a loose pawn, and finally plays:

57 K-B5

Browne has missed his last chance at theRook pawn.

57 . . . N-K5ch 58 K-N5 B-Q2ch 59 N-B6N-B6ch (the final nail) 60 K-B5 BxN 61 KxBRxPch 62 K-Q6 R-Q5ch 63 K-K5 R-Q8

And Browne resigns.

In the course of this simultaneous exhibi-tion, Chess 4.6 correctly projected 35 ofBrowne's 58 moves, not including thosefrom the opening library. The largest num-ber of positions examined for any one movewas 2,158,456 in just over nine minutes. Intotal, Chess 4.6 used just over four hours ofcomputation time, whereas GrandmasterBrowne spent 26 minutes at the board.

Browne was not pleased with his perfor-mance in general; six wins and six drawswere scored against him, dropping his per-centage for the day to 73%. But the gameChess 4.6 played will certainly provide somepleasant moments to those who play overthe moves, and they're almost certain tofind the computer's style refreshing.

Editor's Comments

After seeing Douglas' article, our readersare advised against being misled aboutthe strength of play of which the programChess 4.6 is capable. In this particular game,the computer looks very good. It should beremembered, however, that GrandmasterBrowne was playing with a number ofdisadvantages.

This was a simultaneous exhibition, andtherefore Browne was playing 44 games atonce, including the computer's game.

114

January 1979 <B BYTE Publications Inc

Browne had to make rapid judgments aboutmoves in 44 games, whereas Chess 4,6 con-cerned itself with only one game. A sideeffect of this difference in workload wasthat the computer could use at least twiceas much time as is normally available to itfor the calculation of its moves.

Browne also had the disadvantage of notknowing his opponent's strengths and weak-nesses. If the human had chosen to play amore closed and positional game, the com-puter would have looked far worse. Manychessmasters who play simultaneous exhi-bitions adopt the following strategy: choosesharp lines of play so that the weak oppo-nents may be quickly vanquished, therebygiving more time for concentrating on thestronger players. Unfortunately for Browne,this method played directly to the com-puter's strong area.

Since this event, Walter Browne hasgreatly increased his interest in computerchess. It is rumored that he may playanother simultaneous exhibition in whichall of the opponents are computer programs.Other chessmasters may also be attractedby this new field. Even though the originalLevy wager period is ended, computer chesswill continue to be a field of great interestto researchers on the cutting edge of com-puter technology.... RS«

United States Chess FederationProcedure for Registering Chess Playing Computer Programs

In order to allow for legitimate scientific testing of chess playingcomputer programs, but at the same time to protect the accuracy ofthe rating assigned to the programs and their opponents, the follow-ing procedures are used to register chess playing computer programs.

1. No chess playing computer program may be sold a United StatesChess Federation (USCF) membership to allow it to participatein a USCF rated tournament.

2. Any new chess playing computer program must apply for specialregistration at least one month in advance of its first partici-pation in a USCF rated tournament.

3. Normally, the programmer is the person who may register thechess playing computer program.

4. The following information is necessary for registration:

A. Name and address of programmer.

B. Name and pertinent identification of the computer (or com-puters, if more than one may be used to run the program) theprogram will be using.

C. A general written description of the program procedure usedin playing. A printout of the program is not usually needed.

5. Any significant program or computer changes which take placeafter the initial registration must be filed at least one month inadvance of participation in a rated tournament with the modifi-cations.

6. Requests for registration should be sent to Craig W Ellyson,member of the USCF Ratings Committee, 11 Woodland Dell Rd,Wilbraham MA 01095. The applicant will be notified by theUSCF National Office of the disposition of his application, and,if it is approved, he will be asked for the $1 5 annual registrationfee and be issued a certificate permitting the program/computerto participate in USCF rated tournaments.

A pricethat's hard to beat.

Because of new technology and high-volume companysales, Central Data Corporation has reduced the price ofits 16K RAM board by $40 and its 32K RAM board by $50.Plus, we now offer full 48K and 64K RAM boards. Our 16K,32K, and 48K boards are expandable to 64K in 16K incre-ments.

•16KRAM—$249 • 48K RAM—$599

• 32K RAM—$425 • 64K RAM—$775• Memory Expansion Package (16K)—$185

As always, our boards come complete—fully assembled,burned-in, and ready to use.

A productthat's better than ever.

We've also made improvements to our board's design atno extra cost to you.

• Deselectable in 2K increments. Our deselectfeature enables you to switch off any 2K to avoidoverlap with your existing memory.

• Fully socketed memory. This feature enables youto expand the memory board yourself.

• Plug selectable addressing. Mow you can re-address without soldering.

Central Data Corporation's RAM Board

Standard Features

• Power-saving dynamic board with onboard invisiblerefresh

• One-year guarantee on parts and labor

• S-100 and Z-80 compatible

For specifications and other information, or to place anorder, contact:

Central Data Corporation

P.O. Box 2484, Station A

Champaign, IL 61820

Ph.(217)359-8010

Circle 45 on inquiry card.

January 1979©BYTE P'ublicalions Inc 115

An Introduction to BNF

W D Maurer

Rm634

University Library Bldg

George Washington University

Washington DC 20052

BNF is a standardized method of abbrevi-ating certain statements which are madeabout a programming language when it isbeing strictly defined, as in a programmingmanual. As such, BNF bears an analogy tothe use of algebra in order to simplify certainstatements which are made about physicaland mathematical quantities. Thus the state-ment that the volume of a sphere is equal tofour-thirds the cube of the radius times theratio of the circumference of a circle to itsdiameter may be abbreviated

Author's Note

Throughout this exposition we shalluse the mnemonic, BNF, without specify-ing what it stands for. Originally BNF wascalled Backus Normal Form, after John WBackus, who was the head of the projectat IBM that developed the first FOR TRA Nand who proposed the present scheme inconnection with the conference thatdeveloped ALGOL. Later it was pointedout that BNF is not really a normal form,in the sense in which this phrase is used inmathematical logic. Some people todayprefer Backus Naur Form as a name forBNF; this honors Peter Naur, who edited,the ALGOL Report [I] in which BNFwas first used to define the syntax ofALGOL.

BNF is used like algebra:It simplifies certain state-ments made about lan-guages in the same waythat algebra simplifies cer-tain statements madeabout mathematical andphysical quantities.

4m-

ln order to make abbreviations such as theone above, we set up various conventions.For example:

1. The quantities in the statement arerepresented by single letters; thus V standsfor the volume.

2. Squares, cubes, and other powers arerepresented by superscript notation; thusr-3 is the cube of r.

3. Certain fixed quantities which appearvery often have standard names; thus theratio of the circumference of a circle to itsdiameter is always denoted by n.

4. Two single letters written togethersignify "times"; thus rrr means n times r.(This rule must be amplified in order tospecify clearly that tti'3 means v times thecube of r, and not the cube of wr; and tomake clear that it also applies to numbers,so that 477 means 4 times 7r.)

We shall now set up a number of similarconventions in order to abbreviate statementsmade about programming languages. Forexample, consider the following sentence:

A GO TO Statement in FORTRAN consistsof the words GO TO followed by a statementnumber.

We may abbreviate this in BNF as follows

< GO TO statement > :: =

'GO TO' < statement number >

In doing this we have implicitly set up thefollowing conventions:

1. The signs < and >, which also standfor "less than" and "greater than" but inthis context are called angle brackets, en-close the name of some "quantity" whichwe wish to define in the programminglanguage. We call such a "quantity" asyntactical variable.

2. The special sign "= means "is definedas." This comes from ALGOL, in which thesign := is the replacement symbol, used instatements such as A:=B (i.e., set A equal toB).

3. The words "followed by" may beomitted, just as "times" may be omitted inalgebra.

There is a further analogy between BNFand algebra. When we write 'GO TO' State-ment number>, we mean the words GOTOfollowed by any statement number. This isvery much like writing 3x to mean 3 timesthe value of x, whatever it happens to be.Here x is a variable, but 3 is a constant.Similarly, the phrase < statement number >is a syntactical variable, and may stand forany of various statement numbers; but 'GOTO' always stands for the same thing, andmay thus be called a syntactical constant.Syntactical constants are subject to anotherrule:

4. A syntactical constant is enclosed inquotes.

116

lanuary 1979 ©BYTE Publications Inc

V200 Minifloppy Series. $699. *Over 204K characters ofdouble-density storageper drive.

Vista Disk Systems

l/i/*2,

V1000 Floppy Scries.$2699.Up to 2 million characters ofIBM-compatible storage.

Cost effectiveness. That's what you getwith Vista Disk Systems. Whether it's theV200 Minifloppy, the VI000 Floppy or anyof the quality products in between — evety^Vista series (with the standard DigitalResearch CP/M Operating System) is themost cost-effective system available.

Now Vista's new, compact case makesevery 8" system easier to handle and better-looking. And Vista disk systems operatewith any Z-80/8080-based computer con-taining at least 24K of main memory.

Cost effectiveness of theVista product line is anotherindication of the Vista Commitmentto value — excellent qualityat a great price.

Vi/tci

i

Vista Computer Company

2909 Oregon Court, Torrance, CA 90503

(213) 320-3880

• V200 first drive $699, two drives illustrated,tVI000 has double-sided drives.

Circle 393 on inquiry card.

BYTE January 1979

This last rule, incidentally, is not alwaysfollowed. The single quote character ' isactually meaningful in some programminglanguages, and its use in programminglanguage definition would thus cause confu-sion here. Of course, we can always use thedouble quote " instead of the single quote,unless the programming language uses bothof these symbols (like SNOBOL, forinstance). But sometimes even when there isno confusion the quotes are omitted for thesake of brevity.

It is clear, of course, that statementsabout programming languages may be abbre-viated even further. We might write G -> 'GOTO' S, thus incorporating the use of singleletters for variables, as is done in algebra. Infact, this type of abbreviation is used exten-sively in the theory of context-free languages.(See references 2 and 3 for two interestingapplications of this theory and this type ofabbreviation to programming languages.)The trouble with abbreviating this far is thatnow the abbreviation is not self-contained.We must still make some statement such as"where S stands for a statement number."In contrast, the BNF rules which we definehere permit the entire syntax, or "grammarrules" of a language, to be specified in aprecise manner, using no other informationthan that contained in the BNF rules them-selves. The semantics, or "meaning" of thelanguage, must still be specified separately;and at this time there is no easy and fairlyuniversal way to specify semantics, althoughattempts have been made (see references 2and 4).

Rules in BNF may be extremely simple.We may write

< statement number > ::=< unsigned integer >

to specify that the syntactical variable"statement number" takes the same form asthe syntactical variable "unsigned integer."This is often convenient when severalsyntactical variables have the same form. Inmost languages, for example, simple variablenames, array names, and function (or sub-routine or procedure) names all follow thesame rules about starting with a letter, etc.,and we define each of them to be the sameas the syntactical variable < identifier >.

Sometimes, in a definition of this type,there will be more than one alternative. Forexample, let us make a definition of"integer" not restricted to unsigned integers.If we already know what an unsigned integeris, we may use the following:

An integer is an unsigned integer

optionally preceded by a plus sign or aminus sign.

The conventions which we have used thusfar do not allow for the words "optionally"or "preceded by," although "followed by" ispermitted. Therefore, let us make an equiva-lent definition, which is slightly longer:

An integer is either: (1) an unsignedinteger; or (2) a plus sign followed byan unsigned integer; or (3) a minussign followed by an unsigned integer.

Now all we need is a symbol for "or." Thesymbol we use is the vertical line I. Thus ourabbreviated definition is

<C integer > : := <u.i. > I +'<u.i.>l -<u.i.>

where we have used "u.i." for "unsignedinteger" in order to keep the definition fromrunning off the end of the line. Actually,this precaution is not necessary. Rules inBNF, just like statements in ALGOL, mayrun to several lines, and position on a givenline is immaterial, although, in practice, adefinition will be started at the beginning ofa new line. Thus

< integer > ::= < unsigned integer >

'+' < unsigned integer >I '—' < unsigned integer >

is a self-contained BNF rule equivalent tothe one given above.

The vertical line is often used for "lowest-level" definitions, in which a syntacticalvariable is being defined as any one of acertain collection of characters. Thus

< digit > ::='0' IT I'2' I'3'

I'4' I'5' I'6'I '7' I '8' I '9'

is a very common definition. Note that thisdefines only a single digit, not an arbitraryinteger; 63, for example, is not a digit bythis definition. We may, if we wish, define"letter" in the same way, as any one of the26 letters of the alphabet. We may evendefine "alphanumeric character" as any oneof 36 different symbols, although what isusually done is to define "letter" and "digit"first, and then to define

< alphanumeric character > ::= < letter >

l< digit >

The definition of an integer, or of anidentifier, is slightly more complex. An un-

118 January 19796BYTE Publications Inc

^[&q MMMffit to ^m$® ®ym*mm

NEW!

MODEL CC-9

$200.00 (4800 Baud)

$220.00 (9600 Baud and 220V/50 Hz)

9600 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error rate108 at 4800 BAUD. Can be used from 110 to 9600 BAUD into a UART - no clockingrequired. This is not an audio recorder. It takes RS232 or TTL signals from the terminal orcomputer and gives back the same signals. No audio interface is used. Motor start/stop ismanual or through TTL or RS232 signals.

Tape speeds are 1.6" / 3.0" and 6.0" per second. 110 volt, 60 Hz, 5 watts. (220 Volts onspecial order). Can use high quality audio cassettes (Philips Type) or certified data cassettes.

Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PROGRAMRELOADING and DATA STORAGE. Manual control except for motor start/stop. 6800,8080 or Z80 software for file or record searching available on request with order. Used bymajor computer manufacturers, Bell Telephone and U.S. Government for program reloadingand field servicing.

AVAILABILITY - Off the shelf.

PROVIDES MONITOR AND TAPE SOFTWARE in ROM. TERMINAL and TAPE PORTSon SAME BOARD. CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3B).

This is a complete 8080, 8085, or Z80 system controller. It provides the terminal I/O(RS232, 20 mA or TTL) and the data cartridge I/O, plus the motor controlling parallel I/Olatches. Two kilobytes of on board ROM provide turn on and go control of your Altair orIMSAI. NO MORE BOOTSTRAPPING. Loads and Dumps memory in hex on the terminal,formats tape cartridge files, has word processing and paper tape routines. Best of all, it hasthe search routines to locate files and records by means of six, five, and four letter strings.Just type in the file name and the recorder and software do the rest. Can be used in theBiSync (IBM), BiPhase (Phase encoded) or NRZ modes with suitable recorders, interfacesand software.

This is Revision 8 of this controller. This version features 2708 type EPROM's so thatyou can write your own software or relocate it as desired. One 2708 preprogrammed issupplied with the board. A socket is available for the second ROM allowing up to a full 2Kof monitor programs.

Fits all S100 bus computers using 8080 or Z80 MPU's. Requires 2 MHz clock from bus.Cannot be used with audio cassettes without an interface. Cassette or cartridge inputs areTTL or RS232 level.

AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER$190.00, Tested & Assmb.

t*

0*

t*

,4

—► 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). $295. 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.

$190.00, Tested & Assmb.

For U.P.S. delivery, add $3.00. Overseas and air shipments charges collect, N.J. Residents add 5% Sales Tax. WRITE or CALL for furtherinformation. Phone Orders on Master Charge and BankAmericard accepted.

Naticnal Multiplex Ccrpcraticn

u~

„j 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 ,_

Circle 279 on inquiry card.

BYTE January 1979 119

Figure 7: An identifier which has six characters or less.

< an > ::= < alphanumeric character >

<

identifier > ::= < letter >

1 < letter > < an

>

I < letter > < an

> <

an

>

! < letter > < an

> <

an

> < an

>

1 < letter > < an

> <

an

> < an

> <

an

>

! < letter > < an

> <

an

> < an > <

an

> <an >

In order to construct

language elements of

unlimited length, the

trick is to use recursive

definitions: the quantity

being defined is part of

the definition itself.

signed two-digit integer may be defined verysimply

< unsigned two-digit integer > ::=

< digit > < digit >

Similarly, an identifier containing exactlytwo characters may be defined

< 2-character identifier > ::=

"< letter > ^alphanumeric character >

Extensions to three characters, four charac-ters, etc., are easy enough to visualize; andnow, using the vertical line and a fewauxiliary abbreviations, we may put togethera definition of an identifier which has sixcharacters or less (see figure 1). In a similarway, we may construct a definition ofan unsigned integer containing at most 11digits, or however many digits are permittedon a given computer.

This kind of construction, however, failswhen we do not wish to put any limit what-soever on the number of digits in an unsignedinteger or on the number of characters in anidentifier. In addition, it is overly cumber-some even in the form given above. There-fore, we must call on some new resource.This has actually been done, historically, intwo different ways: One way is designed forlanguages such as ALGOL, LISP, andSNOBOL, in which most constructions donot have length limitations. The other wayis intended for FORTRAN and for simpli-fied versions of ALGOL, as well as forvarious other languages, in which lengthlimitations do exist. We shall consider thesein historical order.

The response of the ALGOL group tothis problem was to use the resources ofmathematics, which rescue us (as they do sooften) with what looks like magic. The trickis to use recursive definitions, which use thequantity being defined in the definition

itself. Consider, for example, the followingdefinition

< unsigned integer > :: =

< digit > < unsigned integer >l< digit >

Those without a background in mathematicallogic may need a considerable amount oftime to convince themselves that this defini-tion of "unsigned integer" defines that syn-tactical variable, in a perfectly valid manner,to be a sequence of digits of any lengthwhatsoever. The argument goes as follows:

1. A digit is an unsigned integer by theabove definition.

2. A two-digit number is a digit followedby another digit, and the second digit, bythe sentence above, is an unsigned integer.Therefore a two-digit number is an unsignedinteger.

3. A three-digit number is a digit fol-lowed by a two-digit number; a two-digitnumber is an unsigned integer by the pre-vious sentence; therefore, a three-digitnumber is an unsigned integer.

4. A four-digit number is a digit followedby a three-digit number, and so on; theargument may thus be extended indefinitely,with each sentence being used in the proofof the next.

Another common recursive definition is

< identifier > ::= < letter >

I < identifier > < letter >I < identifier > < digit >

This one is actually easier to understand ifthe last two alternatives are combined into asingle alternative, < identifier > < an >,where < an > means "alphanumeric charac-ter" and is defined as either a letter or adigit. Using this syntactical variable, we mayrewrite the definition of an identifier as

< identifier > ::= < letter >

I < identifier > < an >

That this constitutes a valid definition maybe seen as follows:

1. A letter is an identifier by the abovedefinition.

2. An identifier with two characters con-sists of a letter, which is an identifier,followed by an alphanumeric character.Therefore, by the second part of the abovedefinition, it is an identifier.

120 lanuary 1979 © BYTE Publications Inc

OSBORNE & ASSOCIATES, 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/MCBASIC version and other conversions). 375 pageseach.

Payroll

#09-8

$15.00

AP& AR

#13-6

$15.00

G. Ledger

#20-9

$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

8080A/8085

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)

ZIP

Please send the following information:

O Becoming an O&A deafer

Q Sphool discounts

D List of foreign distributors

D Mora information an O&A books

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

280 PFLD

#11-X

$8.50

I OSBORNE & ASSOCIATES, INC.P.O. Box 2036, Berkeley, CA 94702630 Bancroft Way, Berkeley, CA 94710 Attention:

(415)548-2805 • TWX 910-366-7277 Dept. 116

PHONE

Please notify me when available:

D 280 Assembly Language Programming

D 6502 Assembly Language Programming

Paymsm in advance must p* enclosed for purchases of up to $70.00. Invoicing U.S.over $70.00 available upon approval of your account. Atl foreign orders must*8wnon a US, bank.

An Introduction to Microcomputers

Volume 0 - The Beginner's Book

If you're not familiar with computers, but would ■like 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.

TITLE

PRICE

QUANTITY

AMOUNT

California residents tax.SHIPPING (Shipping for large orders to be arranged)Vol. 2 and Vol. 3 update subscriptions: shipping

D All foreign orders $4.00 per 6-tssue subscription for airmail totaI

3 No charge in the U.S. - 4th class mail ONLY AMOUNT ENCLOSED

Books:

□ All foreign orders $3.00 per book for airmail

D $0.35 per book 4th class (allow 2-3 weeks in the U.S.)

D $0.75 per book UPS in the U.S; fallow 10 days)

D $1.50 per book special ruah shipment by air in the U.S

Calif, residents addjlS.P. BART residents

Circle 292 on inquiry card.

January 1979

■

B&

3. An identifier with three charactersconsists of an identifier with two charactersfollowed by an alphanumeric character.Therefore, by the definition above, it is anidentifier. This argument may then beextended to identifiers with four, five, orany number of characters.

Note that this definition of an identifierinvolves various other identifiers whosenames are contained within it. Thus theword TAU is an identifier partly because T isan identifier and so is TA. This fact maylead to confusion because we are constantlyreminded, when studying programminglanguages, that the individual characters inan identifier have no separate meaning. ThusTAU is not (by definition) T times A timesU, or TA times U, or T times AU. Neverthe-less, TAU is a properly formed identifierbecause T and TA are — just as 2PI is not aproperly formed identifier because 2 and 2Pare not.

Still another common recursive definitionis

< argument list > ::=

< expression > ',' < argument list >I < expression >

This defines an argument list to be a seriesof expressions separated by commas. It maybe used in various ways; for example, theBNF rule

< function reference > :: =

< function name > '(' < argument list > ')'

is one way of defining a function reference(i.e., a use of a function, such asSIN(T*U-B) or ATAN2(X2-X1 ,Y2-Y1).

The justification for the definition of anargument list is:

1. A single expression is an argument list.

2. Two expressions separated by onecomma may be thought of as the first ex-pression followed by a comma followed byan argument list — namely the second ex-pression. Therefore, this is an argument list.

3. Three expressions separated by com-mas may be thought of as the first expres-sion followed by a comma followed by whatremains — namely, the second and third ex-pressions separated by a comma. This muchis an argument list, by the sentence above.Therefore, three expressions separated bycommas constitute an argument list. Thesame argument may be used for four, five,etc., expressions separated by commas.

The recursive examples given above arewritten in what may be called "pure" BNF.The alternative is to add some new conven-tions to BNF which take care of the recur-sive cases. This brings us to the secondpossible response to the problem of repre-senting sequences in BNF. For example,an unsigned integer which is a sequence offrom 1 to 13 digits might be written

13

< unsigned integer > ::= < digit >

1

and an unsigned integer which is a sequenceof an arbitrary number of digits (at least one)might be written

< unsigned integer > ::= < digit >

Similarly, an identifier of arbitrary length isgiven by

< identifier > ::=

< letter > < alphanumeric character >

0

Thus a subscript after any syntactical variablestands for a minimum number of repetitions,while a superscript after such a variablestands for a maximum number of repetitions.

The use of subscripts and superscripts inthis way solves two problems at once. Itmakes syntactical variables whose lengths arestrictly bounded much easier to represent inBNF. Also, by replacing many of the recur-sive uses of BNF with nonrecursive uses, itfrees the user from having to "think out"these recursive definitions. Nevertheless, thesubscript notation does not allow us toeliminate all recursion. This will becomeclear in the examples which we now con-sider, in which expressions, such as alge-braic expressions, are defined in BNF.

There are many types of expressions inprogramming languages. In ALGOL we haveconditional expressions, relational expres-sions, and Boolean expressions, in additionto the standard simple arithmetic expression.Some of these are easy to define in terms ofothers. For example, a relational expression(such as P > Q in an If statement) is definedby

< relational expression > :: =

< arithmetic expression >

< relational operator >

< arithmetic expression >

where a relational operator may be any one

122

January 1979 © BYTE Publications Inc

INTRODUCING

DUAL DRIVE MINIFLOPPY FOR PET!

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 (D0S) AUTOMAT|CALLy 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 8 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 Ist.QUARTER 1979* * *•THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K—SEE BELOW)

PET COMPUTER

If youhaven'tboughta petyet, callfor ourpet infopackagel

WHY NOT BUY FROM THE BEST?

8K PET $ 795 *

24KPET(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. PME *

MEMORIES WILL HAVE HIGHER *PRICING.

NEECO IS A CUSTOMER ORIENTED, FULL SERVICE COMPANY.PETS RECEIVE 48 HR. 'BURNIN' BY NEECO BEFORE SHIPMENT.FULL CUSTOMER SERVICE AND FULL PRODUCT SUPPORT.48 HR MAXIMUM TURNAROUND' ON PET WARRANTYSERVICE ON PETS PURCHASED FROM NEECO.FULL PRE-PURCHASE INFO AVAILABLE FROM OUR PET INFOPACKAGE — WE ANSWER CUSTOMER QUESTIONS!AUTOMATIC SOFTWARE/HARDWARE UPDATES VIA OUR PETOWNERS MAILING LIST — CALL/WRITE TO BE LISTED!COMMERCIAL QUANTITIES AVAILABLE.WE ALSO MARKET REPLACEMENT RAMS & ROMS, ETC.OFF THE SHELF DELIVERIES (NO DEPOSIT REQUIRED).SCHOOL INQUIRIES INVITED!

INTERNAL MEMORY I IFULLSIZED TYPEWRITEREXPANSION FOR PETll KEYBOARD FOR PET!

EXPANDAPET

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) $425DEALER 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

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

(413)739-9626

ACCEPTED, ADD 3%SERVICE CHARGE.

Circle 281 on inquiry card.

BYTE January 1979 123

One key to defining theBNF notation of expres-sions is an understandingof operator precedencerules. These rules canoften be made a part ofthe BNF grammar of alanguage.

of the six relations (greater than, less than,etc.) expressed in a manner which dependson the language used. In any sort of expres-sion containing operators and possiblynested parentheses, however, the definitionwill be much more complex. We shall indi-cate here how to define simple arithmeticexpressions in BNF; the basic techniqueused here may be used in other kinds ofexpressions.

What is a simple arithmetic expression?Clearly it is not simply any combination ofidentifiers, constants, operators, and paren-theses. We may specify certain rules (theparentheses have to balance, an operatorcannot be the last character in the expres-sion, etc.) but it is difficult to know whenwe have specified all of them. One key todefining expressions is obtained by meansof the precedence rules. You have probablyseen these, although possibly not by thisname; these are the rules that specify thatmultiplication is performed before addition,and the like. Thus in order to evaluate anexpression (without parentheses) there arethree basic steps:

1. Perform all the exponentiations.

2. Perform all the multiplications anddivisions.

3. Perform all the additions and subtrac-tions.

We shall incorporate these steps into ourdefinition of an expression by defining fourseparate syntactical variables: primary,factor, term, and expression. Factors aremade up of primaries; terms are made up offactors; and expressions are made up ofterms. Thus, performing all the exponentia-tions in an expression corresponds togrouping the primaries into factors, andsimilarly for the other two steps mentionedabove.

In order to define a factor as a collectionof primaries separated by exponentiationsigns, we note that this is similar to definingan argument list as a set of expressionsseparated by commas. We need only substi-tute "exponentiation sign" for "comma,"and "primary" for "expression." Thus thedefinition is

< factor > ::= < primary > 't' < factor >

I < primary >

We could also rewrite this definition in theother mode

< factor > ::= < primary > [ 't' < primary > ]

I n other words, a factor is a primary followedby any number of occurrences, includingnone, of an up-arrow (t) followed by anotherprimary. This illustrates another feature ofextended BNF: the use of square brackets,the signs [ and ]. Square brackets in BNFserve roughly the same function as paren-theses do in algebra, and the use of squarebrackets in BNF is sometimes calledfactoring.

We continue our definition of an expres-sion by defining a term as a collection offactors separated by multiplication anddivision signs. One way to do this is todefine a "multiplication operator," or"mulop," as either * or /. The definitioncan then take the same form as before(we illustrate here only the recursiveformulation)

< term > ::= < factor > < mulop > < term >!< factor >

An expression would then be defined in asimilar way, using "addop" for either + or

< expression > ::=

< term > < addop > < expression >I < term >

where we have used "expression" as shortfor "simple arithmetic expression." Alterna-tively, both of these could be written out

< term > ::= < factor > '*' < term >

I < factor > '/' < term >< factor >

< expression > ::= < term > '+' < expression >

I < term > '—' < expression >I < term >

The only question remaining is what wemean by "primary." This differs from onelanguage to another; roughly speaking, aprimary is one of the "elementary"construc-tions which are connected by the operators,such as a constant, a variable, a subscriptedvariable, or a function reference. There isalways, however, one special type of "pri-mary" which takes care of parentheses.

Up to now we have considered onlyexpressions without parentheses. In onesense, when we introduce parentheses intoan expression, we sometimes violate theprecedence rules upon which we have built

1 24 January 1979 © BYTE Publications Inc

the entire preceding construction. Thus inthe expression

A-B*C/(D~E)

we do not perform all the multiplicationsand divisions first. In fact, the subtractionD—E must be performed before the divi-sion of C by the result.

This expression, however, may also bethought of as

A-B*C/F

where F stands for (D—E). In this newexpression, we do perform all the multipli-cations and divisions before the additionsand subtractions. The process of substitutingF for (D—E) may suggest to us that anexpression in parentheses can be treated as ifit were a single primary. This is also true formore than one level of parentheses. Thus,the expression

A+B*(C-D*(E+F/G)-H)+I

may be thought of as the expression

A+B*J+I

where J stands for the expression

C-D*K-H

in which K stands for the expression E+F/G.In each of these three expressions — E+F/G,C-D*K-H, and A+B*|+l -the precedencerules apply; and the last two of these containprimaries (K and J) that take the form of anentire expression in parentheses. The BNFdescription of an expression is now com-pleted by adding this form of a primary tothe definition. Thus

< primary > ::= < constant > I variable >

I <array reference > I ^function reference >I'(' < expression > ')'

is a sample definition of a primary in whichthe syntactical variables "constant,""variable," etc., should be further definedaccording to the rules of the particularlanguage under consideration.

One final and important fact about BNFis that although widely used it is not uni-versal enough to describe the syntax of everywell-known programming language. In par-ticular, COBOL (Common Business OrientedLanguage) contains certain constructions

which are not amenable to BNF. The formaldefinition of the PL-I language (seereference 5) is made according to a separateset of abbreviation conventions which aresimilar, but not identical, to BNF."

REFERENCES

1. Naur, P, ed, "Report on the AlgorithmicLanguage ALGO 60," Communications of theACM, 3 (May 1960), pp. 299-314.

2. Knuth, D E, Semantics of Context-Free Lan-guages, Math Systems Theory, 2, 2 (1968),pp. 127-145.

3. Knuth, D E, On the Translation of Languagesfrom Left to Right, Inf Contr 8 (Oct 1965),pp. 607-639.

4. Wirth, N, and Weber, H, "Euler, A Generaliza-tion of ALGOL, and Its Formal Definition,"Communications of the ACM, 9 (January andFebruary 1966), pp. 13-25 and 89-99.

5. IBM Form C28-6571-4, IBM System/360 Op-erating System, PL-I: Language Specifications.

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.

• $100-Diskette and Documentation.

• S25-Documentation (Set of 6 manuals] only.

MAC™ MACRO ASSEMBLER:

• Compatible with new Intel macro standard.

• Complete guide to macro applications.

• $90-Diskette and Manual.

SID™ SYMBOLIC DEBUGGER:

• Symbolic memory reference.

• Built-in assembler/disassembler.

• S75-Diskette and Manual.

TEX™ TEXT FORMATTER:

• Powerful text formatting capabilities.

• Text prepared using CP/M Editor.

• $75 Diskette and Manual.

[DU DJGJTflL RESEARCH

P.O. Box 579 • Pacific Grove, California 93950(4081 649-3896

Circle 95 on inquiry card.

January 1979 © BYTE Publications Inc 125

The chess program that we have presentedin parts 2 and 3 of this series (November1978 and December 1978 BYTE, pages 162and 140, respectively) represents a modernimplementation of the basic type A strategydescribed by Shannon in 1950 (see refer-ences). If run on a powerful computer, thistype of program can play a reasonably goodgame of chess. Its major weakness lies in itsinability to engage in long-range planning.In many middle and end game positions, itwill make seemingly aimless moves. Once itattains a position which optimizes the

if we have a clear idea of what we are look-ing for. To know what we are looking for,however, we must have more knowledgeabout chess.

So where do we go from here? The highlyskilled players who are familiar with thechess programming literature (notably, Ber-liner, Botvinnik and Levy) are unanimous intheir enthusiasm for a selective search strat-egy. Berliner (see references), for example,advocates a procedure in which very small(for a computer) look-ahead trees are gen-erated, eg: 200 to 500 nodes. His idea is thatthe program should make an intensive analy-sis at each node "in order to ascertain thetruth about each issue dealt with." Chessknowledge should play a primary role indirecting the tree search. The search itselfwould discover additional relevant informa-tion and this would provide an even moreknowledgeable focus for the search. This

Creating a Chess Player

Peter W FreyDept of PsychologyNorthwestern UniversityEvanston IL 60201

Larry R AtkinHealth Information Services542 Michigan AvEvanston IL 60202

general heuristic goals of its evaluationfunction, it is faced with the prospect offinding a move which alters the positionas little as possible. If the opponent isskillful in developing a long-range attackwhile not providing any immediate targets,the machine may simply shuffle its piecesback and forth until its position becomeshopeless. The absence of reasonable goaldirected behavior is a common limitationof problem solving techniques which arebased solely on forward search. The solutionof this problem would have importantimplications for a wide variety of artificialintelligence tasks.

To play a strong game of chess, it is nec-essary to have a plan. To have a plan, how-ever, the program must recognize specificpatterns and relate them to appropriategoals. This, in turn, requires that the pro-gram have access to the detailed kind ofchess knowledge which is characteristic ofthe skilled human player. Thus, we seem tohave come round in a circle. In order toavoid selective searching, we have adopted astrategy which does not require very muchchess knowledge. In examining the weak-nesses of this approach, we discover that theforward search can only be truly successful

procedure is analogous to the progressivedeepening technique which de Groot dis-covered in the human grandmaster and isthe exact antithesis of the brute force (typeA) strategy (see October 1978 BYTE,"Creating a Chess Player, An Essay onHuman and Computer Chess Skill," page182).

The efforts of the last decade havedemonstrated that the selective search strat-egy is harder to implement than the full-width approach. In addition, full-widthsearching has consistently produced superiorchess. Despite this, there is hardly anyonefamiliar with chess programming who doesnot believe that further progress depends onincreasing the amount of chess knowledgein the program. The key question is notwhether this should be done but how to doit. Since the selective search approach hasnot led to notable progress, perhaps it istime to consider a different approach.

We believe that a viable alternative existswhich combines the proven virtues of thefull-width procedure with the potential ad-vantage of a goal-directed search. The centralidea is the development of a unique evalua-tion function for each position. In additionto the general heuristics which are presently

126

January 1979 ©BYTE Publications Inc

employed, evaluations should consider fea-tures which are germane to appropriategoals.

According to this plan, move selectionwould involve two separate stages. In thefirst phase, a static analysis of the positionwould be made in an attempt to discoverkey patterns. This process would involve ahierarchical analysis in which the featuresof the position would be compared with ageneral set of library patterns. Highly spe-cific features would be identified and rele-vant chess-specific knowledge would beaccessed. This information, including appro-priate short term and long term goals, wouldbe used to construct a conditional evaluationfunction which would assess the usual gen-eral features (eg: material, mobility, Kingsafety, etc) and also other features whichare meaningful only in specific situations.Once the conditional evaluation function hasbeen constructed, the second phase of analy-sis would begin, a conventional full-widthtree search employing the special evaluationfunction.

The first phase of this process would relyheavily on domain specific knowledge (ie:information about chess). It would requirea pattern recognition facility and an organi-zational plan for storing a vast amount ofchess knowledge in a manner conducive torapid retrieval. When this first phase was suc-cessful in identifying appropriate goals andproducing relevant modifications in the eval-uation function, the full-width search whichfollowed would select a move which wasthematic with the appropriate goal. If thefirst phase were unable to identify a key fea-ture, the evaluation function would employthe same general heuristics which it pres-ently uses. For this reason, the patternrecognition and information retrievalmodules can be gradually implementedwithout a lengthy period in which seriousblunders are frequent occurrences. This is amajor advantage that the conditional evalua-tion function has in comparison to a selec-tive search strategy.

Chess Structure

To implement a conditional evaluationfunction, it is necessary to develop a hier-archical descriptive structure for chess. Atthe top level, one can make the conventionaldistinctions between the opening, the middlegame, and the end game. Within each ofthese three major divisions, there would bemany specific subdivisions. Within eachsubdivision, there would be many specificvariations.

The opening has three major themes: todevelop a pawn structure which is favorablefor you but unfavorable for your opponent;to increase the mobility of your minorpieces and limit the mobility of your oppo-nent's minor pieces; and to castle as soon aspossible and delay your opponent's oppor-tunity to castle. These general goals providea framework for evaluating specific varia-tions. They do not provide a specific pre-scription for selecting a move because asequence of moves which is thematic withthese goals may have a tactical refutation.An apparently good move may not workbecause it loses material. For this reason,general principles are best applied at theterminal points of a look-ahead search ratherthan being used as a checklist for selectingthe most thematic move as advocated byChurch and Church in Chess Skill In Manand Machine (see references).

Part 4

Strategy in Computer Chess

The tournament player who knows open-ing theory as well as many specific movevariations will have a clear advantage over anopponent who knows the general principlesbut is not familiar-with the specific varia-tions. For this reason, tournament playersand good chess programs rely on a libraryof memorized opening variations. Thecontestant who has carefully planned hisopening variations can often gain an im-portant advantage early in the game. Tomaximize the benefit of a well-preparedopening library, it is also necessary tocontinue the general theme of the openingonce the predigested move sequences havebeen exhausted. At this stage it is neces-sary to have a conditional evaluation func-tion. When the machine leaves the libraryand starts to use a look-ahead procedure tocalculate its move, it should use an evalu-ation function that augments general open-ing principles with special goals which arethematic with that type of opening.

A portion of the work required toimplement this proposal has already beenstarted. Chess specialists have preparedhighly detailed analyses of specific openingvariations and have developed well-definedrules for categorizing different move

January 1979 ©BYTE Publications Inc

127

sequences into specific subdivisions. Forexample, a game which starts (1) P-K4,P-K3 is labeled as the French defense. Ifthe game continues (2) P-Q4, P-Q4;(3) N-QB3, B-N5, it is called the Nimzovich(or Winawer) variation of the French defense.If it continues (2) P-Q4, P-Q4; (3) N-QB3,N-KB3, the game is labeled as the classicalvariation. A continuation of (2) P-Q4,P-Q4; (3) N-QB3, PxP is called either theRubinstein variation or the Burn variationdepending upon subsequent moves. Adifferent approach develops from (2) P-Q4,P-Q4; (3) N-Q2, which is labeled as theTarrasch variation. And there are manymore. The important point, however, isthat each of these variations can be object-ively identified, and that for each thereare well-developed strategical ideas andspecific immediate goals. These ideas can bestored in the opening library and can beretrieved when the machine leaves thelibrary. In addition to general openingheuristics, the evaluation function wouldreflect the specific theoretical ideas whichare appropriate to the particular openingat hand. In principle, this idea can beimplemented without difficulty. In practice,however, a tremendous amount of chessknowledge is needed and hours and hours ofeffort are required. To our knowledge noserious attempt has yet been made to imple-ment this strategy. The information onopening theory is needed only once during agame and thus could be stored on disk,since rapid access is not critical.

Pattern Recognition and the Middle Game

From a conceptual point of view, theapplication of chess knowledge to the eval-uation function in the middle game is muchmore challenging. In this case, patternrecognition becomes an important ingredient.In implementing a goal oriented moveselection strategy, Church and Churchlimited their middle game strategy to eithera Kingside attack, a Queenside attack, orconcentration on a weak point (ie: a target).The Kingside or Queenside attack is trig-gered when the machine determines that ithas superior forces on one side or the other.This determination can be based on whocontrols key squares. In calculating thepower relationship of different pieces overgiven squares, it is important to note thatless valuable pieces exert more control thanvaluable pieces. A pawn has greater controlover territory than a Queen because it isharder to dislodge. If an attack on one sideor the other is deemed appropriate, theevaluation function can be modified to givean extra bonus for moves which augment

the attack on that side and for moves whichincrease the pressure on critical squares.

Pattern analysis is also important indetecting an appropriate target. There areseveral well-known chess relations whichprovide obvious targets for attack. One isthe backward pawn which is preventedfrom advancing by a pawn or a minorpiece. Another natural target is the minorpiece which is pinned to the King or Queen.The third is the overworked piece, a keyelement in the defense against two or moredifferent attacks. If the latter is removedin an exchange, the pieces it is defendingwill be open for attack. A fourth naturaltarget is a square which would permit aKnight to fork two major pieces (ie: Rook,Queen, King) or a Bishop to skewer twomajor pieces. If the machine threatens tocontrol that square and to locate an appro-priate piece there, the opponent will beforced to devise a defense. Once one of thesetargets has been detected, the evaluationfunction can be modified to give a bonusfor moves directed at the target. In addition,a plan might be devised to encourage the useof a decoy (a pawn or minor piece which issacrificed to bring an important piece to aparticular square) or to capture a piecewhich is serving an important defensivefunction.

A Chess "Snapshot"

In the past, programmers have attemptedto implement such plans by using a selectivesearch (eg: Berliner, Zobrist and Carlson) orby using no search at all (eg: Church andChurch). Zobrist and Carlson (see references)have developed an innovative technique inwhich "computer snapshots" are devisedwhich summarize important piece relation-ships such as attacks, pins, skewers, forks,etc, which presently exist in the given posi-tion, or which could occur after one or twomoves. Each snapshot is given a weight basedon the relative values of the pieces involvedand the location of the pieces in respect tothe opposing King and the center of theboard. The weighted snapshots are then usedto select moves for inclusion in a Shannontype B tree search. This procedure providesconsiderable goal direction to the moveselection process.

Although the Zobrist-Carlson snapshotprocedure has much to offer (including ahighly efficient bit map implementationstrategy), it incorporates a common problemshared by all selective search techniques.Occasionally an important continuation isoverlooked and this results in the selectionof an inappropriate move which may be agross blunder. By implementing the plans

128

January 1979 © BYTE Publication! Inc

the electric pencil II

^^ o 1Q7R Mirhafil Shraver

TM

The Elect

Word Proces

entered asi s man i pu Lenormous fhandling ofdelineatedlines or paanywhere ishifts andview of theas well ass i nee Ii nes

ri c Penci L II

s i ng System.a st ri ng of cated as suchreedorn and e

text. Since

, any number

ragraphs may

n the text.

opens up or c

user. The ty

word hyphen

of text are

is a Character Oriented

This means tontinuous ch. This alioase in theline end i ngof charactbe insertedThe ent i retyloses as neepi ng of carration is noformatted au

hat text isaracters andws the usermovement ands are nevere rs, words,or deletedof the textded in fulliage returnst requiredtomat i caIly.

1978 Michael Shrayer

As text is typed in and the end of a screenline is reached, a partially completed word isshifted to the beginning of the following line.Whenever text is inserted or deleted, existingtext is pushed down or pulled up in a wraparound fashion. Everything appears on the videodisplay screen as it occurs which eliminates anyguesswork. Text may be reviewed at will byvariable speed scrolling both in the forward andreverse directions. By using the search or thesearch and replace function, any string ofcharacters may be located and/or replaced withany other string of characters as desired.

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, IHDOS 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 *

N

E 0

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

Video

Printer

Price

SS-II

SOL

TTY or

similar

$225.

SP-II

VTI

TTY or

similar

$225.

SV-II

VDM

TTY or

si mi la r

$225.

SR-II

REX

TTY or

similar

$250.

SI-II

VIO

TTY or

similar

$250.

DS-II

SOL

Diablo

1610/20

$275.

DP-II

VTI

Diablo

1610/20

$275.

DV-II

VDM

Diablo

1610/20

$275.

DR-II

REX

Diablo

1610/20

$300.

DI-II

VIO

Diablo

1610/20

$300.

NS-II

SOL

NEC Sp

inwri ter

$275.

NP-II

VTI

NEC Sp

i nwri ter

$275.

NV-II

VDM

NEC Sp

i nwri ter

$275.

NR-II

REX

NEC Sp

i nwri ter

$300.

NI-II

VIO

NEC Sp

i nwri ter

$300.

SSH

SOL

Heli os

/TTY

$250.

DSH

SOL

Heli os

/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

ss

SP

SV

SSN

SPN

SVN

DS

DP

DV

DSN

DPN

DVN

SOLVTIVDMSOLVTIVDMSOLVTIVDMSOLVTIVDM

TTY

TTY

TTY

TTY

TTY

TTY

Diablo

Diablo

Diablo

Diablo

Diablo

Diablo

si milarsi mi larsi mi larsi mi larsimilarsi mi lar1610/201610/201610/201610/201610/201610/20

Cassette

CUTSTarbellTarbe11

CUTSTarbellTarbell

CUTSTarbellTarbell

CUTSTarbe 11Tarbell

Disk Drive

North StarNorth StarNorth Star

North StarNorth StarNorth 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 January 1979 129

derived from the computer snapshots in theform of a conditional evaluation function,instead, the program can benefit from goaldirectedness without risking the oversightswhich are characteristic of selective search-ing. In this way, the machine can retainthe benefits of the full-width search and atthe same time engage in strategic planning.

There is a special class of positions forwhich this approach is especially appropriate.In his thesis at Carnegie-Mellon UniversityBerliner described a special problem, thehorizon effect, which plagues the con-ventional look-ahead approach (see ChessSkill in Man and Machine, pages 73 thru77). One version of this problem involvesa piece which is trapped and cannot besaved. Forward searching programs oftenengage in a bit of foolishness by makingforcing but poor moves (such as attack-ing pieces with pawns or sacrificingpawns for no advantage) which delay thecapture of the trapped piece and push itseventual loss beyond the horizon of thetree search. By doing this, the programerroneously concludes that the piece is safe,when in reality the planned move sequenceweakens a reasonable position and is stillinsufficient to save the piece. In this typeof situation, the trapped piece should begiven up for lost and the program shoulddo its best to take advantage of the temporequired by the opponent to capture thepiece. A piece whose time has come is some-times referred to as a desperado. The onlyoption available is to make the opponentpay as dearly as possible for the capture.If the desperado can be traded for a pawnor a piece of lesser value, this is preferableto being given up for nothing.

This strategy can be implemented with aconditional evaluation function by simplyassuming that the trapped piece has amaterial value of zero. This change wouldcause the search process to trade the piecefor the highest valued candidate that can befound. This is obviously better than havingthe program engage in useless sacrifices ofposition and material in a hopeless attemptto resurrect a lost piece. The key element tothis implementation is the ability to deter-mine when a piece is truly lost and can belabeled as a desperado. This is a very diffi-cult problem even for a very sophisticatedpattern analysis facility.

End Game Considerations

The most interesting application of theconditional evaluation function is in the endgame. Because end game strategy is highlydependent on the specific characteristics ofthe position, a general purpose evaluation

function is not very effective. It is necessaryto understand what is required in a givenposition and then select moves which areclearly directed at an appropriate goal.Church and Church list three common goalsin the end game: to mate the opponent'sKing, capture a weak pawn, or promote apawn. In this case, pattern analysis is im-portant. First the machine must be able toidentify the position as one belonging to theend game. Then it has to determine whethera mate attempt is reasonable or whether apawn can be captured or promoted. Churchand Church (see Chess Skill in Man andMachine, pages 151 thru 154) describea general strategy for identifying and cap-turing a weak pawn. Although theirapproach does not involve a forward treesearch, the specific techniques which theydescribe can be adapted to the full-widthsearch strategy. Let us consider severalspecific end game positions involving eithera mate, a pawn capture, or a pawnpromotion.

For a number of mating situations, aspecific algorithm (step-by-step instructions)or a complete lookup table can be developedto produce mate in a minimum number ofmoves. Typical applications would be Kingand Queen versus King; King and Rook ver-sus King; and King, Bishop, and Knight ver-sus King. The mating algorithm for each casewould include rules for assigning the poten-tial piece relationships into a few generalcategories, and a prescription for an appro-priate type of move for each category. Thisapproach requires no search. A secondapproach involving a lookup table is evenmore explicit. An appropriate move is storedin a table for every possible piece configura-tion. To play the mate perfectly, the ma-chine uses the position to determine anaddress in the table and then simply readsthe correct move.

Both of these procedures are perfectlyfeasible and avoid many problems which canbe encountered in the end game. The limita-tion of this approach is that there are a verylarge number of mating situations and a tre-mendous amount of work would be requiredto make a detailed analysis of each one. Inaddition, this strategy requires the storage ofa great deal of information which would beused only infrequently.

A third approach, and one which isthematic with the idea of conditional evalua-tions, is to make a small modification in theevaluation function for each specific matingsituation. The notion is that a shallow searchcombined with a few key ideas should suf-fice to produce a mate in a reasonable num-ber of moves. With King and Queen or Kingand Rook versus King, it is sufficient for the

130

January 1979«)BYTE Publications Inc

program to "know" that the defending Kingmust be forced to the edge. To do this, theprogram simply needs to add bonus pointsto the evaluation function when the defend-ing King is near the edge. The size of thebonus should be a linear function of closenessto the edge. This modification of the evalua-tion function causes the minimax search toselect a pathway in the look-ahead treewhich forces the defending King to the edge.With King, Bishop, and Knight againstKing, the job is slightly more complicated.In this case it is important to know that thedefending King must be forced to one of thetwo corners having the same color as theBishop's squares. The trick is to add a largebonus when the defending King is on theappropriate corner squares and a smallercredit when it is near these corners. Thismodification will cause the minimax proce-dure to find a sequence of moves whichforces the defending King into one of theappropriate corners. The general theme isthat the full-width search is a powerfuldevice by itself and that the addition of asmall amount of chess knowledge is suffi-cient to produce the desired outcome.

game, it will search for a pathway whicheventually places it on its present square (f4)or one of the neighboring squares (e3 or f3).Because of this, the correct sequence ofmoves would never be discovered.

In order for a full-width search to makeprogress in this type of position, the evalu-ation function must produce goal direction.One way to do this is to provide a bonus formoves which reduce the distance betweenthe White King and the passed pawn. A sec-ondary goal is to reduce the distance be-tween the White King and any Black pawnswhich are not defended by another pawn.A tertiary goal is to centralize the WhiteKing. The first step in developing a specificimplementation of this plan is to identifythe territory which is denied to the WhiteKing. For this purpose, we wish to deter-mine which squares are controlled by thepawns. The White King cannot move to asquare occupied by one of its own pawns,nor can it move to a square attacked by anopposing pawn. Figure 2 presents a map ofthe position with each of the forbiddensquares darkened. The location of these

Kings and Pawns in the End Game

Some of the most challenging positionsin the end game involve only Kings andpawns. Many of these require an approachwhich is more sophisticated than thosedescribed previously. Consider, for example,the position diagrammed in figure 1. This isa modification of a position presented inBerliner's thesis which demonstrates one ofthe major weaknesses of a full-width forwardsearch. White has a pawn on f6 which couldadvance and be promoted if the Black Kingwere out of the way. [Algebraic notation isused throughout this article to designatechessboard squares. The horizontal rowsfranks) are numbered from I to 8, startingat the bottom (White). The files are labeleda through h from left to right.... CM/ Towin, White must do an end run with his Kingand bring it to the aid of the pawn. SinceBlack cannot attack White's pawns on c3 org5 without leaving the passed pawn, he ishelpless to stop White's maneuver. Althoughthis analysis is obvious at a glance to anexperienced player, a program that discoverstruth by doing a full-width search is facedwith a difficult problem. In order to deter-mine that the King can force promotion ofthe pawn, White must complete a look-aheadsearch of approximately 35 plies. This isbeyond the scope of even the most powerfulcomputer. If the machine employs a generalpurpose algorithm which encourages theKing to centralize its position during the end

Figure I: Chess position which demonstratesa weakness of the full-width forward search.In this example, White has a pawn on squaref6 which could advance and be promoted ifthe Black King were out of the way. To win,the White King must come to the aid of thepawn. Since Black cannot attack White'spawns on c3 or g5 without leaving thepassed pawn, he is help/ess to stop White'smaneuver. Although this analysis is obviousto an experienced player, a program using afull-width search would have to search itsdecision tree to a depth of 35 plies (ie: 35half moves; a ply is defined as a move by oneside) in order to come to the same con-clusion.

BLACK

January 1979 O BYTE Publications Inc

131

BLACK

Figure 2: Forbidden squares in the figure Iposition used to help White (the computer)evaluate the position more efficiently. TheWhite King cannot move to a square oc-cupied by one of its own pawns, nor can itmove to a square attacked by an opposingpawn. All of these squares are darkened inthe figure. This diagram is used in imple-menting the goal directed technique de-scribed by Church and Church (see figure3).

"taboo" squares provides the definingboundaries for potential access routes tothe desired goals. The second step in imple-menting this plan is to use a techniquedescribed by Church and Church. Startingat each goal object, work backward towardthe attacking piece(s). In our case, we areinterested in creating a reward gradientwhich encourages the White King to ap-proach its own passed pawn and the targetpawns. To do this, we consider one goalobject at a time. All passed pawns are identi-fied. In our example, only the White pawn atf6 qualifies. The two squares diagonally infront of it (el and g7) are each credited with8 "points" each. All squares immediatelyadjacent to these squares (but not includingsquares inaccessible to the White King) arecredited with 7 points. Next all squares ad-jacent to these squares (excluding inacces-sible squares) are credited with 6 points.This process is continued until we run out ofsquares or until we have assigned all creditsdown to and including 1.

The next step in the process is to identifyBlack pawns which are not defended byother pawns (ie: targets). In this case, thepawns at e6 and g6 qualify. Credit these twosquares and the adjacent ones with 5 pointseach, excluding darkened squares. Next,

credit squares adjacent to these with 4points. Continue this process until all avail-able squares have been exhausted or untilthe value of 1 has been assigned. This pro-cess is executed independently for eachtarget pawn. The last step involves credit forcentralization. The four most central squares(cl4, d5, e4, e5) are credited with 3 points.The squares which surround these squaresare credited with 2 points. The squareswhich surround those squares are creditedwith 1 point. Points are then removedfrom any square which is inaccessibleto the White King. When this process hasbeen completed, the credits are totaledfor each square to provide a bonus map forthe White King. This map is presented in

Figure 3: Bonus map for the White King inthe position of figure I, based on a tech-nique described by Church and Church (seereferences). A goal is established for a parti-cular attacking piece, in this case the WhiteKing, and an iterative numerical technique isused to implement it. The goal is to encour-age the White King to approach its ownpassed pawn and the target pawns. (A targetpawn is an enemy pawn not defended byother pawns.) Numerical figures of merit areassigned to strategic squares close to White'spassed pawn and Black's undefended pawns.Points are also awarded or subtracted forpositional characteristics such as centrali-zation of squares, etc. A type of flowalgorithm assigns lower and lower values tosquares in direct proportion to theirdistances from the strategic squares, avoidingany forbidden squares. The resulting map ofnumbered squares enables the King to findthe right pathway by constantly searchingfor ascending values of squares wheneverpossible.

BLACK

132

January 1979 ©BYTE Publications Inc

BLACK

Figure 4: Another end game position,analyzed by the method of Church andChurch in figures 5 and 6.

figure 3. By applying this bonus map to theterminal positions of the look-ahead search,the evaluation process will select a movesequence which causes the White King togravitate in the proper direction. In fact,the correct sequence of moves will be selec-ted even if White is restricted to a 5 plysearch each time a move is selected. Thebonus map, though simple in concept,has a tremendously beneficial effect.

There is an additional point which needsconsideration. In our exposition, we haveassumed that the pawns remained stationary.If a pawn were to move, the bonus mapwould have to be changed. This is not amajor problem, however, since there areonly a small number of positions that canresult from pawn moves, and once the bonusmap has been computed for a given configu-ration, it can be stored and used each timethat configuration is encountered in the look-ahead tree. For this reason, the calculationswhich are required will not be particularlytime consuming.

Another example of this strategy is basedon the position presented in figure 4. Thisis a slight modification of figure 6.7 fromthe chapter of Chess Skill in Man andMachine by Church and Church. To applyour technique with respect to the bonusmap for the White King it is necessary todetermine which squares are not accessibleto the White King by virtue of pawn control.As before, these include squares occupied byWhite pawns and squares attacked by Blackpawns. The relevant squares are darkened infigure 5.

The next step is to locate passed pawns

for White. There is only one and it is locatedat c6. The two squares diagonally in frontof this pawn (b7 and d7) are credited with8 points. Squares adjacent to these squareswhich are not among the darkened squaresin figure 5 are credited with 7 points.Squares adjacent to these receive 6 points.This process is continued until there areno more available squares or until the creditvalue of 1 has been assigned. The next step isto determine whether any Black pawns arepotential targets. As before, a target pawn isdefined as one which is not defended by afriendly pawn. In the present example, thereare three candidates: the pawns at a6, d6and h7. For each pawn, the value of 5 iscredited to the pawn's square and the adja-cent squares. Then the value of 4 is creditedto each adjacent square. This process ofestablishing a gradient of decreasing valuesfrom 5 down to I as distance increasesfrom the target is continued until the lastvalues have been assigned. This is done foreach target pawn and in each case, squaresdarkened in figure 5 are always excludedfrom the process. The last assignment pro-cess is conducted for centralization, withcenter squares (d4, d5, e4 and e5) receiving3 credits each and neighboring squares re-ceiving 2 credits. The squares one move infrom the edge are assigned the value of 1 andthen credits are removed from any squarewhich has been darkened. The final step indeveloping a bonus map for the White Kingis to total the credits for each square.

The composite map is presented infigure 6. This set of bonus points will en-courage the White King to move in theappropriate direction. Without this strategy

Figure 5: Forbidden squares for the positionin figure 4.

BLACK

January 19790BYTE Publications Inc 133

Figure 7: A chess position which can be analyzed efficient-ly by means of the coordinate square concept proposed byKen Church (see references). In this approach, the BlackKing must coordinate precisely with the White King Inorder to successfully defend its pawns. The technique isillustrated in table I.

BLACK

Figure 6: Bonus map forthe position of figure 4.Without this map, an IIply search would be re-quired for the computer(White) to discover thatthe pawn at a6 can becaptured. Using the map,only a 3 ply search isrequired.

BLACK

an 11 ply search would be required forWhite to discover that the pawn at a6 can becaptured. With the implementation of theseattack gradients for the White King, how-ever, the correct move can be selected withonly a 3 ply search. As was the case in theprevious example, the establishment of aplan within the evaluation function produces

in cm

announcement:

Now you can have a3.5 Megabyte Storage Systemusing low cost Tape and Disk!

MECA provides you with a choice of tape, or disk, or bothsystem, or together as a FULLY INTEGRATED SYSTEM, provion line storage for your S-100 bus computer.

CAPACITY

• ALPHA-1 Tape System stores over750K bytes on each side of a C-90cassette.

• DELTA-1 Disk System usesdouble density which stores up to200K bytes on 5%" mini-floppy.

SPEED

• ALPHA-1 high speed searches 100inches per second.

• DELTA-1 worst case search is 1.5seconds.

SOFTWARE

•Operating System handles variablelength named files, is Random Access,Updates, Packs and Copies with asingle command. Includes Editor,Assembler and Debugger.

• Microsoft BASIC available in 8K,Extended and Disk ExtendedBASIC.

• CP/M* available for the DELTA-1.

SYSTEM INCLUDES:

Each drive with its own electronics,

Each can be used as a stand-aloneding you up to 3.5 Megabytes of

NORTH STAR OWNERS

Double your capacity. Upgradeyour present system using yourSA400 Drive by purchasing theDELTA-1 Control Card and double-density software.

• ALPHA-1 Data Transfer Rate is 781 controller, power supply, cabling, case.

Bytes per Second.• DELTA-1 Data Transfer Rate is25,600 Bytes per Second.

manual and software on cassette or5%" disk. Wood panels on ALPHA-1are optional.

For complete information, phone or

w e meca

7026 O.W.S. Road, Yucca Valley, CA 92284(714) 365-7686

*CP/M is a trademark of Digital Group.

134

January 1979 BYTE Publications Inc

Circle 220 on inquiry card.

a goal directed search without requiring anenormous look-ahead tree. This increase inefficiency is highly desirable.

Because the process is directed by thelocation of the pawns, changes in the mapwill occur infrequently and therefore only arelatively small number of bonus maps willbe required for any one search. Once a maphas been calculated for a particular pawnconfiguration, it can be stored and used laterwhenever it is needed. Although this strategyseems to work well in the examples we havepresented, it is reasonable to ask whetherthis procedure will work in all end gamesituations. Unfortunately, the answer is no.

Consider the position presented infigure 7. This is a famous end game problemwhich appears as diagram 70 in ReubenFine's classic chess book, Basic ChessEndings (see references). It was analyzedin 1975 by Monroe Newborn to deter-mine if his special end game program,Peasant, could solve it. After several unsuc-cessful efforts, Newborn concluded thatthe problem would require about 25,000hours of processor time before a solutioncould be found (see Chess Skill in Man andMachine, page 129). The problem is diffi-cult, but not as impossible as Newbornsuggests. Because Peasant does not have atransposition table, the program did not takeadvantage of the tremendous number ofidentical terminal positions which areencountered when an exhaustive search ismade of this position. Because the pawnsare locked, the only moves which are pos-sible are King moves, and this greatly in-creases the potential number oftranspositions.

The position was submitted to North-western's chess program Chess 4.5 runningon the CYBER 176 system at Control Dataheadquarters in Minneapolis. David Cah-lander discovered that Chess 4.5 could solvethe problem after a 26 ply search! This re-quired ten minutes of processor time on thepowerful CYBER 176. Although it is inter-esting to know that the problem can besolved by a brute force search, this type ofsolution is not particularly elegant and itrequires a level of hardware sophisticationthat is not likely to be available in the smallsystem for a few years yet.

The Coordinate Squares Approach

What can be done to make this problemmore manageable? Interestingly enough,there is a rather neat approach to problemsof this type which has been examined insome detail by Ken Church in his under-

it?

tSigV-'gg

Major NEW Avionics ESM programs with productionfollow-on to provide systems operating capabilitythrough the year 2000 requiring state-of-the-artdevelopment of multifunction distributedmicroprocessors, now provide innovative engineers withan ideal new career opportunity.

AMECOM has an immediate need for:

Six (6) MICROPROCESSOR DESIGN/DEVELOPMENT ENGINEERS

Ten (10) REAL-TIME ELECTRONIC WARFARESOFTWARE ENGINEERS

These positions range from Member of the TechnicalStaff to Senior Scientist with salaries to $35,000.

If this sounds like the opportunity you have been waitingfor, we urge you to call COLLECT or send your resumeincluding salary history to:

PHILIP T. FOSTER(301)864-5600

Amecom is located in a pleasant Maryland suburb withyour choice of city, country, mountain or water living,close to the Nations Capital and five major universities.

E Amecom DivisionLITTONSYSTEMS, INC.

5115 Calverl Rd., College Park, Md. 20740

An Equal Opportunity Employer M/F/H

Circle 6 on inquiry card.

January 1979 ■ BYTE Publications Inc

135

Circle 91 on inquiry card.

NO FRILLS! NO GIMMICKS! JUST GREAT

DISCOUNTS

MAIL ORDER ONLY

HAZELTINE

1400 $ 650.00

1500 995.00

Mod 1 1495.00

CENTRONICS

779 895.00

779 tractor 950.00

700 tractor 1095.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 3895.00

VDP 42 3995.00

VDP 44 4250.00

16K Memory assem... 399.00

PCS 80/15 679.00

15% off on all other IMSAI products

CROMEMCO

System III $1000 ott .. 4990.00

10% off on all other Cromemco products

TEXAS INSTRUMENT

810 Printer 1625.00

ADDS

Regent 100 1095.00

Most items in stock tor immediate delivery. Factory-tresh, sealed cartons.

DATA DISCOUNT CENTER p.o.boxioo

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.

CATCH

THE

S-100BUS

Imsai 8080 KitSocket set for MPU&

front panelS.D. Sales 32K Kit W/8K

of RAM (dynamic)SSM 10-4 2 parallel &

2 serial port kit100 pin edge connector &

card guides-set of 5

f

\ \ \ \

k

N a-'DD (

f^l

0

SPE

LIST C/

PRICE PF

URCIALVSHICE

69900

56995

1500

1283

19900

I7015

14995

I2821

325o

22°°

10954

9031

SUPER SPECIALPackage Price - all of theabove for only 885°

Check Our Prices On:

Cromemco, Vector Graphic, Mullen,

Digital Systems, Centronics, Sanyo,

Hazeltine, Computalker, IMSAI, ECT,

IMC, North Star, Trace

Plus Most Other Major Lines.

Subject to Available Quantities. Shipping and Insurance Extra.Prices Quoted Include Cash Discounts.

Bus...S-IDQ,inc.

Address...7 White Place

Clark, N.J. 07066Interface...201-382-1318

S60

graduate thesis at MIT. Working with RichardGreenblatt as his advisor, Church appliedthe chess concept of coordinate squares tothis position. The basic notion is that theBlack King must coordinate precisely withthe moves of the White King in order tosuccessfully defend its pawns. For anyparticular square which the White Kingoccupies, there are only a limited number ofsquares which the Black King can occupyand still hold his act together.

In his thesis, Ken Church presents a fairlyextensive analysis of King and pawn endgames. For our present purpose, we willlimit our analysis to King and pawn endgames in which the pawns are locked and wewill modify Church's approach to suit ourconditional evaluation strategy. The majordifference is that Church attempts to dis-cover a complete solution to the problemusing the coordinate squares idea. We pro-pose, instead, to use the coordinate squaresapproach to provide the evaluation functionwith additional chess knowledge. With thismodification, a full-width search of reason-able depth can find the correct move.

Using figure 7 as an example, the firststep in this process is to determine whichsquares are denied to each of the Kings bythe existing pawn configuration. By notingthat each King cannot move to a square thatis occupied by its own pawn or that is at-tacked by an opponent's pawn, one caneasily determine that squares a4, b4, c5, d4,d5, e4, e5, f4 and g4 are denied to the WhiteKing. Likewise, squares a5, b5, c5, c6, d6,e5, e6, f6 and g6 are denied to the BlackKing. Neither side has a passed pawn, butthere are multiple targets, since none of thepawns are defended by friendly pawns.

By applying the strategy described earlier,it is possible to calculate a composite attackmap for the White King on the basis of thetarget pawns at a5, d6, and f5 and takinginto account the centralization subgoal. Theresulting map for Fine's position is presentedin figure 8. The squares without a numberare the squares which are denied to theWhite King because of the pawn structure.Given the position of the White King (a1), ashallow search using this attack map as partof the evaluation function would encouragethe White King to approach the target pawnat a5 (eg: b2, c3, c4, b5, a5). If the BlackKing were more than five moves from a5,this sequence of moves would lead to suc-cess. Given that the Black King is at a7,however, this plan is doomed to failure. Infact, the first move in the sequence, b2, isfatal and transforms a winning position intoa draw. There are two important conclusionsthat follow from this discovery. The first is

136

January 1979 C BYTC Publications Inc

Circle 316 on inquiry card.

Circle 294 on inquiry card.

BLACK

Figure 8: Bonus map for the position offigure 7, a composite attack map for Whitebased on the target pawns at a5, d6 and f5,and taking into account the centralizationsubgoal.

that our simple goal-gradient approach doesnot always work. The second is that chessend games are much more difficult than anovice player might suppose.

Let us extend Ken Church's ideas andapply the concept of coordinate squares tothis position. First, we wish to assign each ofthe squares to one of three categories: underthe influence of the Black King, under theinfluence of the White King, or contested.To do this we compute the distance fromeach King to each square, given the con-straints imposed by the existing pawn struc-ture. This creates two distance maps, one forthe White King and one for the Black King.For squares which are not accessible to oneor both of the Kings, we assign a distancescore based on the number of King moves re-quired to reach that square by travelingacross accessible squares. Next, each squarewhich is closer in moves to the Black Kingthan to the White King and is not denied tothe Black King is assigned to Black. Eachsquare which is closer to the White Kingthan to the Black King and is not denied tothe White King is assigned to White. The re-maining squares are assigned to the con-tested category. The results of this proce-dure are summarized in figure 9. The squaresassigned to Black are indicated by the letterB and the squares assigned to White are in-dicated by a W. The blank squares belong inthe contested category.

If the territory under the influence ofeither King is adjacent to an opponent'spawn, the contest is essentially settled since

^DaxUlLc

J DIGITAL/ _TL

RELIABILITY

QUALITY

DEPENDABILITY

BKFI5

8K STATIC RAMASSEMBLEDS-100

ADDRESSING

PROTECT

BUFFERING

LOW POWER

WAIT STATES

QUALITY

GUARANTEE

DELIVERY

PHANTOM

TESTING

ON-BOARD SWITCH WRITE PROTECTS/UN PROTECTS ALL 8KOR EACH 4K BLOCK CAN BE PROTECTED VIA FRONT PANEL

THE BOARD IS GLASS EPOXY WITH SILK SCREEN LEGEND,

FULL SOLDER MASKS ON BOTH SIDES. FLOW SOLDERING, GOLD CONTACTS

IF NOT SATISFIED RETURN THE UNDAMAGED QKRS WITHIN

10 DAYS FOR FULL REFUND - ALSO 90 DAY LIMITED WARRANTY

MEMORY DISABLE IS IMPLEMENTED VIA PHANTOM (PIN 67)

SPECIAL

INTRODUCTORY

PRICE

ASSEMBLED/TESTED

(714)992-55402555 E. CHAPMAN AVE.SUITE 604^FULIERTON, CA 92631

$149§5 $1899-5

CALIFORNIA RESIDENTS ADD 6% TAX

/DIGITAL/ JL

TRS-80 SOFTWARE ONCOMPATIBLE CASSETTES OR DISKETTES

SUPERZAP Hex dump utility for examining & changing disk sectors or main

memory - . ■ Needs DOS 2.1 and 32K $25.

DISASSEMBLER IN MACHINE CODE Works with disk object load modules &

provides location reference table, also disassembles any ram locations $25.

ASSEMBLER MODS FOR DISK OPERATION - Changes your TRS-80 non disk

assembler to provide full disk I/O utilities $25.

LOAD MODULE - Accepts EDTASM created load modules from tape & converts &

stores them in DOS executable format on disk S25.

LEVEL I RELOCATED IN LEVEL II RAM (16K) - Run your non-convertible Level

I programs or make Level I compatible tapes in your Level 11 machine $15.

ACCOUNTS RECEIVABLE AND INVENTROY CONTROL - Disk based systems

requiring DOS 2.1 (utilizes random files) - By Mike Kelleher S30. ea,

BASIC DIRECTORY - Allows review & execution of disk (directory) programs

while under BASIC, with automatic Index Feature $15.

ANYSORT - Utility program allows definition & manipulation of any form of data

file. Useful for record keeping & inventory control $15.

TRIBBLE TRAP - One of the best Level II graphics games we've seen $ 7.

Above 3 programs by Ralph Burris require Level II.

3-D REAL TIME LUNAR LANDER, $10; PLAY CHESS, $5,; TWINS PARADOX,$2,; By Michael Dreiger (16K Level II)

MICRO TEST EDITOR (Word Processor) 4K, $8.; BIG PRINT, S2,; & CONCEN-TRATION 16K, $4.; By Don Coon (Level II only)MAIL LIST - Disk based program which SORTS & prints LABELS By James

Beauchamp $35.

FINANCEER - 20 Financial type programs on disk by James Beauchamp . . $35.JOB ENTRY & STATUS REPORT - By Al Hargis requires 32K & DOS 2.1, handles

340 jobs in 48K S75.

DATA-SET CONTROL PACKAGE - Provides cassette file OPEN, READ, WRITE &

CLOSE functions plus 2 utility programs & full documentation $ 8.

PERSONAL FINANCE PACKAGE - (3 Programs) $15.

MORTGAGE CALCULATIONS & MATH TEST S 5. ea.

The above 3 programs by John DeMita

HOROSCOPE CASTING BY COMPUTER - by D. L. Pitman $10.

Level II has output formatted for printer

QUBIC - By Alvin Files (3-D tic tac toe with graphics} Level II (16 K) ... . $ 4.

HERO'S QUEST - A version of swords & sorcery-16 K (Level II) S 5.

SEND FOR FREE CATALOG FOR COMPLETE PROGRAM LISTING. A FEWSAMPLE GAMES FOLLOW: STAR TREK (8K), FLIGHT SIMULATOR (4K),

FOOTBALL (8K) $ 5. ea.

ADD S2 FOR PROGRAMS ON CASSETTE, $5 FOR DISKETTE(INCLUDES SHIPPING AND HANDLING) Colorado residents add 6% sales tax.

SOFTWARE ROYALTY PLANS, PET PROGRAMS.I m\ AND T«S BO COMPATIBLE PERIPHERALS ALSO AVAILABLE

\pporat, Incorporated

6000 E Evans Av. Bldg. 2

Denver, Co 80222 (303) 758-7275

Circle 9 on inquiry card.

| jnuary 1979 G BYTE Publicalions Inc

137

Figure 9: The square control concept applied to the position of figure 7.Each of the squares is assigned to one of three categories: under the influenceof the Black King, under the influence of the White King, or contested. Todo this, the distance from each King to each square is computed, given theconstraints imposed by the existing pawn structure. Each square closer inmoves to the Black King and not denied to the Black King is assigned toBlack, and vice-versa. The remaining squares are labelled as contested.Through a complex series of manipulations and the use of so-called frontiersquares (see text), White is actively directed to attack Black's pawns using thestrategy of trying to prevent Black from moving onto strategic coordinatesquares which are vital to Black's defense.

BLACK

T

that pawn would be open for capture. Sincethis is not the case for the present position,we wish to define a special category ofsquares called frontier squares. A frontiersquare is any square under your influencethat is adjacent to an accessible contestedsquare or is adjacent to an accessible squareunder the influence of the opponent.

For the position diagramed in figure 7,the frontier squares for White arc c4 and h.4.The next step is to determine, for each ofthese frontier squares, the set of squaresunder Black's influence which, if the BlackKing were located on that square, wouldprevent the White King from moving fromthe frontier square to any of the contestedsquares or to any of Black's squares. For thefrontier square at c4, the Black King wouldhave to be at either a6 or b6 to prevent theWhite King from penetrating to b5. For thefrontier square at h4, the Black King wouldhave to be at g6 or h6 to prevent penetrationby the White King. (Note that the BlackKing could not legally be at h5 if the WhiteKing were at h4.) These defense squares forBlack can be determined by the machine byplacing the White King on the frontiersquare and conducting a shallow tree searchwith White to move first and determining

X

From the people who brought you KIMSIMr. Interface™ does it again with...

BETSI

The PET* to S-100 busInterface/Motherboard

Expand your PET as easily as S-100 users !

• Plugs directly into any PET, no cable fabrication or additional connectors required.

• Compatible with virtually all S-100 boards (including memory and I/O types).

• Does not slow the CPU or alter PET's operation in any way.

• Does not interfere with PET's IEEE or parallel user ports.

• Interface draws only lOOma at 8V.

And Betsi includes:

• Onboard Dynamic Memory Controller for the S.D. Sales "Expando-ram" high density/lowpower memory board (expand PET's memory to the limit on a single S-100 card)!

• On-board sockets and decoding circuitry for 8K of PROM (add future PET firmware withoutpurchasing an S-100 PROM card).

Now available from stock at a price that can't be beat (even just for memory expansion)

BETSI Interface/Motherboard - Kit $119, Assembled $165Expandoram 24K memory board — Kit $364, Assembled $414

See your local dealer or contact FORETHOUGHT PRODUCTS

' PET is a Commodore product

87070 Dukhobar Road #FEugene, Oregon 97402

1 38 January 1979 © BYTE Publications Inc

Circle 140 on inquiry card.

empirically which locations for the BlackKing successfully repel the invader.

The next step in this process is to deter-mine the shortest distance between each pairof frontier squares. For the present position,there are only two frontier squares and thusone minimal distance. Five King moves arcrequired to travel between the two frontiersquares. If Black is to be successful in de-fending, the Black King must be able tomove from a defense square for h4 to adefense square for c4 in the same number orin fewer moves than it takes the White Kingto travel between the two frontier squares.

For this reason, each square in Black'sdefense set for c4 must be five or fewermoves from one of the defense squares forh.4. Also, each square in the defense set forh4 must be five or fewer moves from one ofthe defense squares for c4. This requirementplaces a further restriction on those squareswhich satisfy the necessary defense condi-tions. One will note that a6 is six movesfrom the nearest square in the defense setfor h4. Also, h6 is six moves from the nearestsquare in the defense set for c4. Therefore,the true defense set for c4 contains only b6(a6 will not suffice). The true defense setfor h4 contains only g6 (h6 will not suffice).Thus, we have determined that when theWhite King is on c4 and has the move, thereis one, and only one, coordinate square forthe Black King (b6). If the White King ison h4 and has the move, there is one, andonly one, coordinate square for the BlackKing (g6).

The next step is to generalize this analysisto squares in White's territory which arcimmediately adjacent to the frontier squares.In this case, squares b3, c3, d3, g3 and h3.The square at b3 is one King move from thefrontier square at c4 and six moves from thefrontier square at h4. If the White King is atb3, therefore, the Black King must be on asquare which is simultaneously one movefrom b6 and six or fewer moves from g6.The squares which satisfy this condition (ie:the coordinate squares for b3) are a6, a7, b7,and c7. This same set of calculations can bemade for the other adjacent squares. Thecoordinate squares for c3 are b7 and c7. Ford3, there is only one coordinate square,namely c7. Since the White King can movedirectly from c3 to d3 and Black must moveto c7, and only c7, to maintain his defense,it is not possible for him to be on c7 whenthe White King is on c3. If he were, hewould not be able to move when Whitemoved from c3 to d3 and still satisfy the de-fense requirements. For this reason, onlysquare b7 is sufficient for Black when Whiteis on c3. In addition, since b3 is adjacent toc3, the coordinate square for c3 is not avail-

Circle 312 on inquiry card.

16K STATIC RAM

Fully Assembled,Tested, Guaranteed.

450 nsec250 nsec

$310$345

Static TMS 4044-Fully Static 4Kx1 MemoryChips for reliability and DMA capability.

Fully S-100 Bus Compatible-Dip Switch Address-able in two 8K blocks, 4K increments. Write Protect-able in 8K blocks, Memory Disable using Phantom (pin67) or strappable to any other pin. Built in Wait States(selectable 0 to 3).

Bank Select—Built in Bank Select using devicecode 40H (Cromemco software compatible)-address-able to 512 KB. Also has alternate strappable code80H-making addressable over 1 million bytes.

Quality Components—First quality factory parts,fully socketed. Input/outputs fully buffered. Glassepoxy board with silk screened legends, solder masks,Gold Contacts.

Guaranteed—Parts and labor for 90 days. If notsatisfied, return the undamaged board within 10 daysfor a full refund (U.S. only).

Orders—You may phone for Visa, MC orders 10 to4 CST. Personal checks must clear prior to shipping.Shipping - Normally from stock. Expected shippingdate will be promptly notified in case of delay. Illinoisresidents add 5% Sales Tax. No COD. Please includephone number with your order.

S. C. digital

1240 N. Highland Ave. Suite 15Aurora, IL 60506 312-897-7749

Need Intelligence in your488 Instrumentation System

999

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 (forgenerating customize J systems.) Price ofthe P&T-488, assembled and tested with anyone of the software packages, is $400.

KB

PICKLES & TROUT

P.O. BOX 1206, GOLETA, CA 93017, (805) 967-9563

Circle 307 on inquiry card.

January 1979 © BYTE Publications Inc

139

Circle 267 on inquiry card.

Julius Caesar tried,

Genghis Khan tried,

Napoleon tried too . ..

now... It's your turn.

We can't guarantee that you'll control the world

with a Mullen Controller Board kit; but this S-100

peripheral can control disco lights, automatic cat

feeders, time lapse photography experiments,

environmental heating systems, and a whole lot

more. 8 opto-isolator inputs respond to external

stimuli . . . your computer decisions based on this

information . . . and interfaces to the outside

world through 8 on-board computer controlled

switches, suitable for driving low power loads or

triggering Mullen 500 Watt power modules.

Interested? We thought you would be. So, we've

prepared an information packet available at finer

computer stores across the nation ... or, circle

the reader information number.

Just what the world needs:products to make your computer useful.

MULLEN Computer Products

BOX 6214, HAYWARD, CA 94545

the ULTIMATE inCHEAP VIDEO

BOOK & KITONLY $4295

3m

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 J

* Works with 6502 , 6800 and other micros.

SPECIAL OFFER: Buy the Kit (uppercase alphanumeric option included!) & get the Book at 1/2 price.. ELECTHONICS, DEPT. B, 1020W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

I'm Sold, PLEASE RUSH C ) SEND FREE CATALOG

C ) TVT 6 5/8 Kit & Cheap Video Cookbook $42.95

C ) TVT -6 5/8 Kit only Cbook required for assembly] -$39.95

name:

address:

city:

. state:

zip:

ELECTRONICS, DEPT. B-1, 1020W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

able for b3. Thus the set for b3 is further re-stricted to a6, a7 and c7.

If we examine g3, we will discover thatit is one move from the frontier square at h4and four moves from the frontier square atc4. This implies that the Black King must beon a square which is one move from b6 andfour or fewer moves from g6. There are onlytwo squares which satisfy this requirement,namely, f6 and f7. Therefore we can con-clude that no square other than f6 or f7 willserve as a coordinate for g3. When we ex-amine h3, we will find that there are threepotential coordinate squares: f6, f7 and g7.Since this set shares f6 and f7 with thedefense squares for g3, further restrictionsare implied. It is not possible for the samesquare to serve as a coordinate square fortwo adjacent squares since it is not possiblefor Black to pass when it is his turn to move.Therefore if f6 is assigned to h3, then f7must be assigned to g3. If f7 is assigned toh3, then f6 must be assigned to g3.

The next step in this process is to deter-mine the set of coordinate squares for eachsquare on the minimum pathway(s) betweenthe two frontier squares for which the coor-dinate squares have not yet been deter-mined. The new squares are e2, e3, f2 andf3. By following the same analysis as before,we can determine that the coordinatesquares for e2 and e3 are d7 and d8. Thecoordinate squares for f2 and f3 are e7 ande8. Because of the adjacency restrictions, theassignment of one of these values automati-cally restricts the other square to the remain-ing value.

The results of our coordinate squareanalysis are summarized in table 1. When itis Black's turn to move and White has movedto one of the squares listed in the table,Black must be able to move to a coordinatesquare. For this reason, the evaluation func-tion for the machine can be modified to give

quare of the

Coordinate Squares for the

White King

Black King

b3

a6, a7, c7

c3

b7

c4

b6

d3

c7

e2

d7, d8

e3

d7, d8

f2

e7,e8

f3

e7, e8

93

f6, f7

h3

f6,f7,g7

h4

96

Table 1: Results of the coordinate squareanalysis for the position of figure 7. Shownare the potential squares for the Black Kingwhich defend against the White King'sthreats when it is White's turn to move.

140

January 1979 © BYTE Publications inc

Circle 297 on inquiry card.

a bonus of 20 points to White for any termi-nal position in the look-ahead tree where itis Black's turn to move and the Black Kingis more than one move from a necessarycoordinate square. If it is White's turn tomove, a 20 point bonus will be awarded toany terminal position in the look-ahead treewhere Black is not located on a necessarycoordinate square.

Let us consider how this in combinationwith the White King attack map (figure 8)will affect the outcome of the look-aheadsearch. The machine will try to find a path-way to squares c3 or d3 because their attackvalue of 7 is higher than any of the sur-rounding squares. Even better would be apathway to c4, since its attack value of 10 islarger than 7. In each of these cases, themachine will also try to satisfy the conditionthat Black cannot be on a proper coordinatesquare when the White King reaches c3, d3,or c4 so that the additional 20 point bonusis also earned. In attempting to do this, itwill find that if the White King moves froma1 to either a2 or b2 on his first move, the20 point bonus will be lost forever. The rea-son is that either of these moves allows theBlack King to coordinate and, because ofthe minimax strategy, the tree search willalways assume replies for Black which main-tain this coordination. If the White King'sfirst move is to square b1, the Black Kingcannot coordinate and the 20 point bonuswill still be available at some of the terminalpositions in the tree. It is not surprising,therefore, to find Reuben Fine advising thatK-N1 is the only move for White which pre-serves the win.

In order for the machine to find thismove, assuming that both the attack mapand the coordinate squares information areincorporated in the evaluation function, asearch of nine plies is required. This is a tre-mendous improvement over the 26 plysearch required by the unmodified program.In order to actually win a Black pawn, theWhite King must move to c3 or c4 withBlack not in coordination and make a 13 plylook-ahead search. If the White King movesto d3 with Black not in coordination, an11 ply search will suffice. In order to pre-vent a draw, White will avoid repeatingidentical positions and thus will eventuallytravel to e3. From this vantage point, thewin of a pawn can be visualized with a 9 plysearch. Therefore, the problem could besolved by the machine if it searched to adepth of nine plies for each move calcula-tion. With a program such as Chess 4.5, a9 ply search for this position can be con-ducted in less than two minutes on even amedium power computer.

The procedures which we have described

Circle 11 7 on inquiry card.

TheE3

Full-Sfee Floppy Disk

Drive System

Introductory Price of $1,995 (Only Until Jan 31, 1979)Fully Assembled and Tested

• Two full-size 8" Shugart drives

• Power supply, interface, cables, cooling fan, strong aluminumchassis, attractive wood cabinetry.

• Controller with Western Digital 1771B controller chip and on boardprom boot strap loader for CP/M'"", which is the disk operatingsystem Software recommended and available separately from EASincluding assembler, text editor and debugger, and EAS's I/Ohandlers (BIOS) together with

powerful utilities.

• Available with or without con-troller.

• Capable of formatting diskettes

• 90 day parts and workmanshipwarranty.

• S-100, Z-80, 8080 compatible.

• Storage capacity is a quarter of a million bytes per drive, a total of ahalf a million bytes per system

• Shugart drives used in our systems have the most mechanicalreliability of any flexible disk drives on the market.

• Dealer inquiries are invited.

Eg

Electro Analytic Systems, Inc.

PO Box 102 • Ledgewood, NJ 07852Phone: (201) 584-8284

*CP/MT" is a trademark of Digital Research, Inc.

JOIN US

IN THE

SOFTWARE BUSINESS

PUT YOUR SPARE TIME INTO MARKETING OUR FINEOFF THE SHELF SOFTWARE.

- 20 • 40% QUANTITY DISCOUNTS -

For WANG systems:

PAYROLL $200.00

Basic Programs For DECand Radio Shack systems:

ACCOUNTS PAYABLE $200.00

BENERAL LEOBER $200.00

ACCOUNTS RECEIVABLE $200.00

FMANCUL CALCULATIONS $ 40.00

PCS WORD PROCESSOR $ 00.00

For DATAPOINT systems:

MAUM LABELS $131.00

PAYROLL $000.00

ACCOUNTS RECEIVABLE SSOO.OO

PATENT CENSUS $500.00

HEOKARE MLUNB (A 4 B) $1000.00

ACCOUNTANTS TME/M.LBM... $300.00BENERAL LEOBER $000.00

For MICRODATA systems:

ORDER ENTRY SYSTEM $050.00

ACCOUNTS PAYABLE S40B.B0

BAKES....STATISTICSFBUNCE. . .

S 7.05

$ 10.15

$ 1B.B5

SALES ANALYSIS $ 30.75

MAUN LIST $ Its

PAYROLL $ 23.15

PERSONAL FMANCE $ 7.15

RENT ROLL SYSTEM $ 75.00

OTHERS from $ 7.15

For IBM systems:

ACCOUNTS RECEIVABLE S1B0.00

MVENTORY CONTROL 51*0.00

BENERAL LEDBER $100.00

DEPRECMTIOH/AMORTIZATm... $ SO SOACCOUNTS PAYABLE $100.00

NATIONAL SOFTWARE

MARKETING INC.4701 McKinley Street, Hollywood, Fla. 33021

Circle 268 on inquiry card.

January 1979 O BYTE Publicalions Inc

141

Circle 184 on inquiry card.

NOW!

LOW PRICED EIA RS-232

CABLES IN STANDARD

LENGTHS

IDS now supplies qualitycables with male to male,male to female, or femaleto female connectors in 5,10, 15, 20, 25, 30, 40 & 50foot lengths. No minimum

/order necessary. Justphone or mail in yourorders. Special cableconfigurations alsoavailable. Immediatedelivery from stock.

ON GSA SCHEDULE

7 Wellington Rd., Lincoln, R.I. 02865 lll=5| INTERNATIONALTel: 401-333-6200 III II DATA. TWX: 710-384-1911 li=0 SCIENCES, INC.Export: EMEC, Box 1285, Hallandale, Florida 33009

$1195

142

U.S. ROBOTICS TELETYPE

SERIES-300 MODEMS unnFL 43

300 BAUD IWUUtL 1J

103/113 COMPATIBLE 10 OR 30 CHAR/SEC

ACOUSTIC/HARDWIRE VERSIONS 132 COLUMNS

ORIGINATE/ANSWER VERSIONS UPPER/LOWER CASE

U.S. Robotics now combines the price/performance leader in 300 Baud Modemswith the price/performance leader in hardcopy terminals to bring you teleprintercapability at incredible package prices.

USR-310 Originate Acoustic Coupler + Teletype Model 43 KSR = S1195USR-330 Originate/Auto-Answer FCC Certitied Modem

+ Teletype Model 43 KSR = S1365

USR-320 Auto-Answer FCC Certitied Modem + Teletype Model 43 R0 = SI 215

Stand alone modems and teletype available:

Teletype 43 KSR with RS232C S1095

USR-31Q Originate Acoustic Coupler

(Operates with any standard telephone) S149

Direct' Telco2

Conned DAA

Style Style

USR-330 Originate/Auto-Answer Modem S324 SI 85

USR-320 Auto-Answer Modem S299 SI 60

CF.C.C. Certified Package. Connection to phone lines via standard extension phone

jack.)

('Connection to phone lines via CBS-100 IF DAA which can be leased from phone

company for approximately S5.00/mo. plus installation fee.)

Interfaces for stand alone modems:USR-310 - RSZ32C only

USR-320 and USR-330 - RS232C and 20 ma.

(Specify with order. If both interfaces are required, add SI II to unit price.)

All products include a 90 day warranty and optional annual maintananca package. Add 1 %shipping and handling in the continental U.S.Illinois residents add 5% Sales Tax.

U.S. ROBOTICS, INC.1035 W. Lake St/Chicago, IL 60607/(312) 733-0497

lanuary 1979©byte Publications inc Circle 383 on inquiry card.

are applicable to a wide range of end gamepositions. The coordinate squares analysisdemonstrates that even highly complex endgame positions are manageable when thefull-width search employs a sufficientlyknowledgeable evaluation function. Al-though the examples we have discussed en-compass only a few types of chess positions,we hope that the reader will envision thepower which is potentially available whenthe evaluation function is modified to incor-porate relevant chess knowledge. The imple-mentation of this approach on a broad scaleshould eventually produce chess programswhich can be run on medium power ma-chines and still compete on equal terms withstrong human players.

Quiescence

Another important area for the applica-tion of chess knowledge is the problem ofquiescence. It is essential that the static eval-uation function not be applied to a turbu-lent position. If the next move has thepotential to produce a major perturbationof the situation, the evaluation which is ren-dered will not be accurate. For example, itmakes little sense to apply a static evaluationfunction in the middle of a piece exchangeor when one of the Kings is in check. I n eachcase, the judgment which is rendered willnot be reliable. For this reason Chess 4.5presently goes beyond the predeterminedsearch depth at "terminal" positions where acapture might be profitable for the sidewhose turn it is to move, where certain typesof checking moves are possible, or where apawn is on the seventh rank. This extendedsearch facility is called the quiescencesearch, and its major objective is to producereasonably static positions for which theevaluation function can provide accurateassessments.

A weakness of this present implementa-tion is that the definition of a turbulentposition is much too narrow. There aremany situations in addition to capturethreats, checks on the King, and pawn pro-motion threats which are clearly turbulent.Larry Harris has characterized some of thesein chapter 7 of Chess Skill in Man andMachine. Harris includes in this categorypositions which involve a pawn lever, a backrank mate threat, or sacrifice potential. Theinterested reader can consult Harris' chapterfor operational definitions of these patterns.It is essential to note that these and otherimportant patterns are not easily detected.In each case, a fairly sophisticated patternanalysis capability is required. A reasonable

Circle 53 on inquiry card.

goal for improving the present forwardsearch chess programs would be the develop-ment of an efficient procedure for detectingpotential sources of turbulence. The centralobjective would be to use this informationas one of the decision criteria for terminat-ing search at a node. If the position is notquiescence in respect to a potential perturba-tion which has been detected, the look-ahead process should be continued.

For example, during the opening whenthe machine leaves its library with informa-tion that the control of a particular square isan important objective, the decisions aboutsearch termination can consider whether theposition is quiescent in respect to perturba-tions which might influence control of thekey square. Another example of this ideainvolves the end game. If the preliminaryanalysis indicates that a particular pawnshould be an attack target, the decision forsearch termination should consider whethereach position is quiescent with respect tothis goal. Positions at the predetermineddepth level will be evaluated only if all po-tential attackers are more than two movesaway from the target. When one or moreattackers are close to the goal, the searchprocess will be continued to determine ifcapture is feasible. This modification of thesearch process introduces a goal directedselective search at the terminal positions ofthe full-width tree. The addition of severalextra plies of search at relevant nodes in thetree can mean the difference between find-ing and just missing an important continua-tion. This type of facility is difficult toimplement and difficult to control properly,but the potential gains are such that theeffort is worthwhile.

Establishing Appropriate Goals

In order to implement this goal directionfeature in the evaluation function and qui-escence search, it is necessary to recognizethat a goal which may be of paramountimportance at the base node of the look-ahead tree may no longer be relevant atsome of the terminal nodes. Interveningmoves may accomplish the necessary goalor may alter the situation such that it is nolonger possible. In these cases, the condi-tional evaluation function would be directedat an inappropriate goal. One way to dealwith this problem would be to select goalswhich were both general and long range. Inthis case, they should continue to be rele-vant at the terminal nodes of the look-aheadtree. Unfortunately, this is a fairly severelimitation on the goal directed search and is

Give yourcomputer

itsfreedom of speech

3

Give your computer its "Freedom of Speech" with the COMPUTALKERCT-1 Speech Synthesizer. Under software control, sounds are definedin real time. These parameters, transmitted from your computer athigh speed, enables the Model CT-1 to produce highly intelligibleand quite natural sounding speech. In fact, you can even give yourcomputer its own character and dialect.

Only COMPUTALKER gives you a choice of two different software-controlled sounds.. . CTEDIT Parameter Editor for natural soundingspeech (standard) or the optional easy to program CSR1 Synthesis-by-rule program for the "computer" sound.

Model CT-1 Synthesizer $395

CSR1 Software $ 35

Software Package II $ 30

Calif, residents add 6% sales tax

Software is available on CPM 8", North Star 5 1/4", Micropolis. CUTS,CUTS for SOL, Tarbell, MITS ACR, Paper Tape

DEALERS: GIVE YOUR CUSTOMERS THEIR "FREEDOM OF SPEECH"WRITE OR CALL FOR COMPLETE DEALER INFORMATION

& rSB

COMPUTALKERCONSULTANTS

1730 21st St., Suite ASanta Monica, CA 90404(213) 392-5230

A PROFESSIONAL COMPUTERTERMINAL FOR THE NOBBIEST

SINGER

7100/7102

New & ReconditionedTerminals withASCII Code

FEATURES:7100

M^

$650. to $1295.

• ASCII CODED without tape punch or reader

• 110 BAUD

• Word Processing Quality • RS232 Serial orCurrent loop Interface • Nationwide Service

• Warranty • Off line use as TypewriterOption: TRS-8U Radio Shack (RS 232-CJ

serial interface available now

7102

• Same features as 7100 plus tape punch & reader

TERMS:

C.O.D. and

Cashier's CheckShipping and

Handling $35.00 ea.

HK

COMPUTER CORPORATION

H&K COMPANY

15 East 31=' Street

Kansas City, Missouri 64108

(816) 561-1776

Circle 156 on inquiry card.

January 1979 ©BYTE Publications Inc 143

Circle 265 on inquiry card.

Why

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

LS/-11 TIME

It's TIME you brought your LSI-11 up to DATE TIME andDATE, 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 -ll's. We are too.

DIGITAL PrlTHW/fA IMC.

4151 Middlefield Road • Palo Alto,California 94306 • Telephone (415) 493-5544

therefore not desirable. A second approachwould be to apply pattern analysis at eachterminal node instead of at the base nodeonly. In this case, the goals which wereselected would always be relevant to theposition. This procedure would be very time-consuming, since feature analysis is a com-plex process. The essential aspect of theproblem is a time relevance trade-off inwhich a guarantee that relevant goals arebeing pursued requires a heavy investment inadditional computing time. The third andmost reasonable approach would be to desig-nate which features of the position arecrucial to each particular goal and to incre-mentally update our goals (and thus theevaluation function and the decision rulesfor the quiescence search) whenever thesefeatures change. This is a highly sophisti-cated approach which would be difficult toimplement.

Conclusion

Let us summarize our conclusions andrelate them to the world of personal com-puting. We have attempted to argue that afull-width search strategy is feasible with asmall computer, and that ultimately thisapproach will produce better chess than aselective search strategy. For this plan to besuccessful, it is necessary to employ softwareand hardware suited to the task. The soft-ware must incorporate recent improvementsin tree searching strategy (ie: a-fi pruning,the capture and killer heuristics, iterativesearching, staged move generation, incre-mental updating, serial evaluation and trans-position analysis) as well as other refine-ments such as conditional evaluations whichprovide goal direction to the search process.

On the hardware side, it is necessary tohave a reasonably powerful system. Al-though there have been a number of recentefforts to program microprocessor systemsto play chess, the games which have resultedhave not been comparable to those playedby established large system programs. Al-though it is quite an accomplishment to pro-duce even rudimentary chess from a micro-processor system, the level of play to date isnot very encouraging. An example of thistype of game appeared recently in March1978 BYTE, "Microchess 1.5 versus DarkHorse," page 166.

The type of chess program described inthis article requires reasonably powerfulhardware in order to provide an interestinggame. Because of the many operations re-quiring bit map manipulation, a 16 bit pro-cessor is much more desirable than an 8 bitprocessor. It is more efficient to represent

144

January 1979 © BYTE Publications Inc

Circle 89 on inquiry card.

a set of 64 squares with four 16 bit wordsthan with eight 8 bit words. With a need forcomputing power in mind, one might selecta microprocessor system based on one of thenew high-speed 16 bit processors such as theZilog Z-8000 or the Intel 8086. In addition,this type of program will require quite a bitof memory. The program itself will requireabout 20 K bytes and the transpositiontable, if implemented, will need at leastanother 20 K bytes. If the programmer plansto add chess knowledge for conditional eval-uations, a total of 64 K bytes is desirable.An opening library which is sufficient tokeep a skilled opponent on his toes requiresdisk storage.

These considerations may dampen theenthusiasm of many would-be chess pro-grammers. On the other hand, a realisticorientation at the start could save a greatdeal of grief along the way. When imple-mented on fairly sophisticated hardware, ourdemonstration chess program will usuallyprovide a reasonable chess move after twoor three minutes of computation. If moretime is available (eg: selecting a move for apostal chess game by letting the machine"think" for several hours), a fairly respect-able level of play can be anticipated. Withfuture hardware improvements, this type ofprogram may soon become reasonably com-petitive at tournament time limits, even ona personal computing system."

REFERENCES

1. Berliner, H, Chess as Problem Solving: TheDevelopment of a Tactics Analyzer, unpub-lished doctoral thesis, Carnegie-Mellon Univer-sity, Pittsburgh, 1974.

2. Church, K W, "Coordinate Squares: A Solutionto Many Chess Pawn Endgames," under-graduate thesis, Massachusetts Institute ofTechnology, June 1978.

3. Church, R M, and Church, K W, "Plans, Goals,and Search Strategies for the Selection of aMove in Chess," Frey, P W (ed), Chess Skill inMan and Machine, Springer-Verlag, New York,1977.

4. Fine, Reuben, Basic Chess Endings, DavidMcKay Company Inc, New York, 1941.

5. Harris, L R, "The Heuristic Search: An Alter-native to the Alpha-Beta Minimax Procedure,"Frey, P W (ed), Chess Skill in Man and Machine,Springer-Verlag, New York, 1977.

6. Newborn, M, "PEASANT: An Endgame Pro-gram for Kings and Pawns," Chess Skill in Manand Machine, Frey, P W (ed), Springer-Verlag,New York, 1977.

7. Shannon, C E, "Programming a Computer forPlaying Chess," Philosophical Magazine, volume41, 1950, pages 256 thru 275.

8. Zobrist, A L, and Carlson, F R Jr, "An Advice-Taking Chess Computer," Scientific American,volume 228, number 12, June 1973, pages92 thru 105.

i«ioo mi

Circle 1 79 on inquiry card.

ISfOOO

hi a :■■MOO m AinPR AfflE 1200

• NOT A KIT

• 8v(&15A, ±16v@3A power

• Rack mountable ^f

• 15 slot motherboard \ %

• Card cage

• Fan, line cord, fuse,switch, EMI filter

• Desk top version option

• 8v@30A, ±16v@10A option '

• Voltage monitor option

• 100 pin connectors optional

Rackmountedmodel FromS200

Desktop modelFrom S235

Write or call for a copy of our

detailed brochure which includes

our application note

BUILDING CHEAP COMPUTERS.

INTEGMND

8474 Ave 296 • Visalia. CA 9327;

(209) 733 9288

We accept Bank'Americard/Visa and Master Charge

a*

c2

(A

Software Professionals

Challenge - Recognition

Our client, a pioneer and leader in sophisticated systems develop-ment is setting new performance standards. Their current majorproject has gained national attention for its innovative approach andtechnical achievements. If you want to contribute lo this team effort ina relaxed professional atmosphere, you should look into thesegrowth positions:

Sr. Programmers 20-30K ranges

□ Data Base design. - Heavy experience on DEC 10 equipment

□ Interactive multi-user systems. - Experience with Reliability,Backup, and Recovery.

D On-line system implementation. - DEC 10 background.

□ Develop test programs for systems integrity. - OA experience withDEC 10/PDP 11 software.

Customer Support Manager 20-25K range

□ Handle QA software releases, supervise software lab. - Familiarwith DEC 10 based systems.

Sr. Program Analysts 18-25K ranges

n Improve and design new features for specific programs. - Exper-ience with Macro 10 language.

□ Develop software for micro processor. -Applications programmingbackground.

Background in communications, graphic arts, or text handlingdesirable, but experience in other applications is welcome. Call603-888-5500 collect or send resume.

Touchstone Associates, Inc.

Personnel Consultants

104 Daniel Webster Hwy.. Nashua. N.H. 03060

We Cover New England

Circle 347 on inquiry card.

January 1979 ©BYTE Publications Inc

145

LanguagesFowm

IPS, An UnorthodoxHigh Level Language

About the Author and IPS

Karl Meinzer is a research physicist at the University of Marburg,in West Germany. He is a member of a very small, worldwide group ofamateur satellite builders, who find an organizational home in theA MSA T project and its ties to the amateur radio community as well asvarious space agencies. Karl is the principal system designer for the highorbit "OSCAR" amateur radio satellites soon to be launched. His func-tions include the mechanical design, RF system design, computersystem design and software design of the vehicle. IPS was developedin order to provide the A MS AT organization worldwide with machineindependent OSCAR ground station software to be run on the typicalproject member's computer. The spaceborne version of IPS will run onan RCA 1802 processor in orbit, with 4 K (hopefully 16 K if tech-nology becomes available) of on board memory and a radio communi-cations bootstrapping method for loading from the ground controlstation. A fter the satellite is launched, IPS may indeed be one of thehighest flying high level languages around.

Dr Karl MeinzerHoehenweg 38355 Marburg 1WEST GERMANY

It seems to me that the general confusionand lack of orientation regarding the besthigh level language for microcomputers iscaused by the combination of two problems:

1. There is a marked lack of stated ob-jectives regarding such a language.

2. It is tacitly assumed that the ease withwhich a feature can be added to a lan-guage is enough justification for add-ing the feature.

Let us look at the first point. In myexperience, the term high level languagehas nearly the same meaning as "problemoriented" language. But oriented to whatproblems? It may help to classify computerapplications into three large areas:

• Mathematical problem solving: Herethe amount of data to be processedis usually small, but the data are sub-jected to relatively complicated nu-merical operations requiring high accu-racy and diversity.

• Commercial data processing: Herelarge amounts of data are subjectedto relatively simple procedures. Appro-priate file handling techniques areessential.

• Engineering applications in the wider

sense: By this I mean process control,systems programming, games, Al,robotics and any processes interactingwith the real world. Programs in thisarea are characterized by moderateamounts of data and accuracy require-ments. However, these programs usu-ally have rather complicated flow ofcontrol.

I think that much of personal computingwould fall into the third class. On the otherhand, the programming languages advocatedso far were really created for the first twogroups. To complicate things further, agood programming language not only hasto be optimum for the intended problemarea, but it also has to appeal to the humansusing it. After all, the purpose of a program-ming language is to be a tool of communica-tion between the human way of under-standing a problem and the unambiguousway a computer needs the problem to beexplained. Here of course many differentopinions are to be expected, particularly be-cause there is a positive feedback mechanism.By using a given language, one adapts toits idiosyncrasies and then, in all truth, canclaim the "superiority" of that language.Nevertheless, I feel there are some languageproperties that would hardly be consideredcontroversial. They can be best expressedby some buzzwords: top down design,structured programming, modularity andgood self-documentation. These propertiesare particularly important in problem areaswhere the intelligence of the program residesin the flow of control.

The second problem may be explainedby having a look at the competitive environ-ment in which languages are created. If acompany wants to express the superiority oftheir product, what better way than to claimto have more language features than theother guy. With this approach to computerlanguages lots of problems are created. Theadded features not only require additionalimplementation effort and an increase inthe amount of hardware required (ie:memory), but they also make the languagementally less manageable, both from the

146 January 1979 ©BYTE Publications Inc

A Bit of the BASIC

Computer Resource Book-Algebra by

Thomas A Dwyer and Margot Critchfield isan exciting new way to learn about algebraand the interesting things you can do with itusing a computer. The book uses the BASIClanguage, and flowcharts are used through-out to show the structure of programs.There are 60 applications programs inclu-ding straight line graphs, polynomial equa-tions, a space probe navigator, temperatureprofiles, computer generated animation, theultramatic root finder, random numbergeneration and many more. Although itis particularly suitable for students, justabout everyone will find some intriguingand easy to use applications in this enter-taining book. $5.20.

*

i

^^/

Introduction to Computer Program-ming by Rudd A Crawford Jr and David HCopp. Here is an excellent way to learnabout the general aspects of computer pro-gramming. Introduction to Computer Pro-gramming makes use of a hypothetical com-puter model and set of assembly languageinstructions designed to help the beginnersee what goes on in computer programs.The emphasis throughout is on generalprinciples; such concepts as loops, decisions,flowcharts and 10 routines are covered indetail. The book also provides many ex-ample problems and prompts the reader byposing several quiz questions. Anyone whomasters its contents will have a solid foun-dation for the study of practical assemblyand high level languages. It is especiallyrecommended for students, but just abouteveryone new to the subject should profitfrom it. $4.80.

Basic BASIC by James S Coan. If

you're not already familiar with BASIC,James Coan's Basic BASIC is one of the

best ways to learn about this popularcomputer language. BASIC (which standsfor Beginner's All-purpose Symbolic Instruc-tion Code) is easy to learn and easy to applyto many problems. Basic BASIC gives youstep-by-step instructions for using a ter-minal, writing programs, using loops andlists, solving mathematical problems, under-standing matrices and more. The book con-tains a wealth of illustrations and exampleprograms, and is suitable for beginners atmany different levels. It makes a fine refer-ence for the experienced programmer, too.$8.95.

advanced

Advanced BASIC by James S Coan.

Advanced BASIC is the companion volumeto James Coan's Basic BASIC. In this bookyou'll learn about some of the more ad-vanced techniques for programming inBASIC, including string manipulation, theuse of files, plotting on a terminal, simula-tion and games, advanced mathematicalapplications and more. Many useful algor-ithms are covered, including some cleversorting techniques designed to reduceprogram execution time. As with BasicBASIC, there are many illustrative exampleprograms included. BASIC doesn't have tobe basic with Advanced BASIC! $8.95.

A Guided Tour of Computer Pro-gramming in BASIC by Thomas A Dwyerand Michael S Kaufman. Colorful graphicsabound in this lively introduction to theBASIC language. The authors have triedto present a rigorous, yet entertainingapproach to the subject. Written for thenovice, A Guided Tour begins with asection on how to recognize a computer,followed by some tips on working at aterminal. By the end of the book readersare writing their own programs and solvingelementary problems in finance and busi-ness. The emphasis throughout is on lear-ning by doing. Anyone interested in com-puter programming should benefit fromA Guided Tour of Computer Programmingin BASIC. $5.20.

\ l-i!ii*'.i' li ■'.'!■

bfittQ

* V ft W*

t 4

Some Common BASIC Programs by

Lon Poole and Mary Borchers, published byAdam Osborne and Associates. Here's asingle source for all those hard to findmathematics programs! Some CommonBASIC Programs combines a diversity ofpractical algorithms in one book: matrixmultiplication, regression analysis, principalon a loan, integration by Simpson's rule,roots of equations, operations on two vec-tors, chi-square test, check writer, geometricmean and variation, coordinate conversionand a function plotting algorithm. Theseare just some of the many programs in-cluded. For only $8.50 you can buy thekind of programs previously available onlyas part of software math package systemsfor large scale computers. All the programsare written in a restricted BASIC suitablefor most microcomputer BASIC packages,and have been tested and debugged by theauthors. New, 2nd edition, only $8.50.

PRACTICAL

MICROCOMPUTER

PROGRAMMING:

THE Z80

The Textbook...

18 Chapters (481 pages) of solid, accurate program-ming information, by Walter J Weller.

The Assembly Program (easily worth $100. by itself)...The full source listing of a combined editor/as-sembler which supports the language used. Thislanguage uses 8080 mnemonics, and is resident inless than 10K of RAM.

A Full Debugging Monitor...

Not a simple ROM monitor. Contains facilities forbreakpointing, modification of pseudo registers andmuch more.All this for the amazing price of $29.95.

And by the Way...

When the coupon in the book is filled out and re-turned, the object programs of the editor/assemblerand debug are shipped FREE!

BITS

POB 428, 25 Route 101 WestPeterborough, NH 03458

IOC Books to erase the impossible

For your convenience in ordering, please use this page plus theorder form on page 99. You may photocopy this page.DIAL YOUR CHARGE CARD 0RDERST0LL FREE(800) 258-5477.

Circle 35 on inquiry card.

BYTE January 1979 147

Circle 120 on inquiry card.

BUILDING BLOCKS FORMICROCOMPUTER SYSTEMS,CONTROL & TEST EQUIPMENT

R2

2K ROM3 SERIAL PORTS

I/O

2 K RAM1 PARALLEL PORT

TT-10

TABLE TOP MAINFRAMES

ECT-100-F

RACKMOUNT CARD CAGES

POWER SUPPLIES, CPU's,MEMORY, OEM VARIATIONS \

SPECIALIZING

IN

QUALITY

MICRO-COMPUTERHARDWARE

INDUSTRIAL

EDUCATIONAL

SMALL BUSINESS

PERSONAL

ELECTRONIC

CONTROL

TECHNOLOGY

763 RAMSEY AVE.HILLSIDE, N.J. 07205

(201) 686-8080

The

%0 I \# \J Z ELECTRONICS

An S-100 Bus Adapter/Motherboard

fortheTRS-80

plus a whole lot more!!!

i S-100 BUS INTERFACE• 6 SLOT MOTHERBOARD

Tin- HUM) allows o Kndio Shuck THS-HII computer lei heinterfaccd In the popular S Kill Hus lor memory (>xptinxi(iii

and extended DO capabilities, far stamp)*, yoo can now

easily iiriil mure memory. Iloppy disc systems, PROM

boards, printer interfaces, multi-purpose I'O lionrds. ACdevice controllers. ami a wliole host of »t her varied periph-

Tha HUM) has its own built-in (i slot motherboard whichincludes uur unique card golds system winch keeps diehoards in their places.

The 8100 has support circuitry and sockets for eight18K dynamic RAM chips allowing vou to expand the mem-ory oryour TltS-KI) In KiK wilhout havinj; to l.uv anv S-1D1IRAM 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 $185*

• AVAILABLE IMMEDIATELY

memory kil fbrTRS-80M chips oncl nowhere toe HAM sockets instead'K or UK cWpS and ad.

IfyttU purchased on

von could beleft wiih ei|

pul them! Well, they caThai's right, you can Uidress ihem anywhere yc

The 8IO0 has .1 lull KSliXM!!) mn serial interface whitsfeatures- include-; HS:.M'J ;mii '.!ll ma current liiop interface,software prn|>raiurnahle hand rale from III' to lifiK bund,software pronraiiunahie modem Control lines, on boardnB-2Ji connector 11 ml niticlt more

Tile K1O0 also In is an H hit parallel input port andan K bit parallel output purl liotti are lotcbifl. hove tmthpositive and nr.-,;aiivi- -itrobe input- unci uulput.s and hove

pl,niv.r,lriv,l,,|,,ll,ili,,

PRICES START AS LOW AS $185* (S-100 BUS INTERFACE ONLY)

huh)

! ELECTRONICS

1429 Maple St.

San Mateo, CA

94402

(415) 573-7359

DEALER INQUIRIES INVITED

•Exlr.l S-100 conncclcitf,, RAM suppon.I O ciicuiliy optionalUSA DOMESTIC PRICE ONLY

user's and the implementer's points of view.In my opinion, PL/I, despite all its virtues,is a good example of where this philosophyleads.

We Need Extensibility, Not Features

It is noteworthy that the need of featuresin languages arises in the first place becauseof their restrictive nature. In the traditionaldata processing environment with manyindependent users, this is justified by havingto prevent inadvertent interactions. But inthe personal area, with typically only oneuser per computer, one may take a muchmore liberal attitude. If one user bombs,nobody else suffers. So instead of packinga language with features, it makes muchmore sense to provide only those capabilitieswhich will be required in, say, 70% or moreof all programs. In addition the languageshould contain means to extend itself.Thus, it will be possible to add additionalcapabilities, if required. Another holy cowin high level languages is the use of alge-braic notation. Because it is relativelyeasy to implement, its desirability is hardlyever investigated. Admittedly, expressionsin reverse Polish notation are somewhat lessreadable than the equivalent algebraicforms.

However, look what you gain by theexplicit presence of a stack:

• Parameter passing between programmodules becomes extremely simple.

• The problems regarding the initializa-tion and range of validity of variablesin blocks disappear. Local variablesare kept on the stack without a name;only global variables are named.

• With variables there is a clear distinc-tion between the "pot" and the"content of the pot." The explicitavailability of addresses enables veryfancy pointer calculations.

• Testing of program modules is ex-tremely simple. By manually supply-ing parameters on the stack and ob-serving the results, debugging is asnap.

• The language becomes completely pro-cedural and the statements are exe-cuted strictly in the order in whichthey are written down. There is noguessing or experimental programmingto learn what the compiler will do toyour program.

I hope that these points show that the deci-sion — reverse Polish notation or algebraic —should not be a closed matter.

148

January 1979 © BYTE Publications Inc

Circle 1 72 on inquiry card.

Another point often overlooked is thefact that the language itself is only part ofthe total acceptability of an approach.The amount and ease of handling are atleast as important. A compiler requiringfive passes before an executable code isproduced hardly could claim to be veryconvenient. I feel it is highly desirable thata system should be interactive. This goalincludes the requirement that a compilershould only require a single pass; incre-mental compilation with an interpretivemode should be available to simplify de-bugging. Usually this translates into thefact that objects need to be defined beforethey can be referenced, a small penalty fora much more transparent system. (Probablythe wide acceptance of BASIC and APLis based on their interactive handling despitetheir mismatch to engineering problems.)Also, note that a fast single pass translationsystem eliminates the need for code re-locatability. Instead of relocating binaryobjects, one simply translates the source toa new position in memory; there is no sep-arate loading process.

If one takes the points above as an out-line for a language design, it turns out thatamazingly few degrees of freedom are stillleft. The main remaining work is selecting asuitable set of primitive functions, fromwhich the language is built. This cannot bedone arbitrarily, as a lot of feedback isnecessary from actual problems utilizing thelanguage. Only that way can one assure thatthe instructions are powerful and self-documenting in a reverse Polish notationenvironment. Most importantly, the lan-guage should have as few underlying rules aspossible; and these rules should be appliedwithout exception.

An important question relates to theoptimum implementation technique to beused. Essentially three approaches are possi-ble. BASIC and APL are generally realizedas interpreters. Classical interpreters arerather slow because the program has tobe analyzed at execution time. The otherapproach, the compilers, produces machinecode which executes without syntax andsemantics analyzing overhead; although agood optimizing compiler usually is bulkyand requires large amounts of memory.Otherwise, the code produced is less thanoptimal if the compiler is simple.

A third approach tries to combine thebest of both techniques. It uses a set of highlevel instructions defined by code routines.A compiler produces a pseudocode, treatingthese code routines as the instruction setof a virtual high level machine. Since these

ENCOU

Circle 197 on inquiry card.

00 kind...

ThePe.

achinefrom 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 S549.9S, 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

• SSSO Based System • 16 Slot Motherboard

• Cassette I/O Included • 2K ROM Monitor on CPU

• Serial Communications to 9600 BAUD

(gffl J~

PRODUCTS1441-5 POMONA RD.CORONA, CA 91720(714) 734-6900

[master charge

Send us $2.

Well send you thelatest microcomputercatalogue fromComputer Enterprises:

Computerlogue '78

Special! With your newComputerlogue '78we'll also send you acredit coupon worth $3on your first order of$20 or more.

computeremcrpri/e/

P.O. Box 71

Fayetteville, N.Y. 13066

(315)637-6208

Circle 70 on inquiry card.

January 1979 © BYTE Publications Inc 149

Circle 102 on inquiry card.

Retro-Graphics™

,.>;-".*'■

For your Dumb Terminal.® The Retro-Graphics PC card mounts easily in the Lear SieglerADM-3A to provide you with an affordable graph-ics computer terminal.

Features:

• Z-80 Based

• 512 by 250Dot Matrix

• Simple Plug-inInterconnect

• Point Plotting

• Automatic 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 specifica-tions.DIGITAL RESEARCH & ENGINEERING

5223 Glide Drive • Davis, CA 95616(916) 756-8055

Dumb Terminal is a registered trademark of Lear Siegler Inc.

TERMINALS FROM TRANSNET

PURCHASE

12-24 MONTH FULL OWNERSHIP PLAN

36 MONTH LEASE PLAN

PURCHASE PER MONTH

DESCRIPTION PRICE 12 MOS. 24 MOS. 36 MOS.

DECwriter II $1,495 $145 $ 75 $ 52

DECwriter III, KSR .... 2,195 210 112 77

DECwriter III, RO 1,995 190 102 70

DECprinterl 1,795 172 92 63

VT100CRT DECscope 1,595 153 81 56

Tl 745 Portable 1,875 175 94 65

Tl 765 Bubble Mem. ... 2,995 285 152 99

Tl 810 RO Printer 1,895 181 97 66

Tl 820 KSR Terminal .. 2,395 229 122 84

QUME, Ltr. Qual. KSR. 3,195 306 163 112

QUME, Ltr. Qual. RO .. 2,795 268 143 98

ADM 3A CRT 875 84 45 30

HAZELTINE 1400 CRT. 845 81 43 30

HAZELTINE 1500 CRT 1,195 115 67 42

HAZELTINE 1520 CRT. 1,595 153 81 56

Dataproducts 2230.... 7,900 725 395 275

DAT AM ATE Mini floppy 1,750 167 89 61

FULL OWNERSHIP AFTER 12 OR 24 MONTHS10% PURCHASE OPTION AFTER 36 MONTHS

ACCESSORIES AND PERIPHERAL EQUIPMENT

ACOUSTIC COUPLERS • MODEMS • THERMAL PAPERRIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS

PROMPT DELIVERY • EFFICIENT SERVICE

X

IransNet Corpora tiok

2005 ROUTE 22, UNION, N.J. 07083

201-688-7800

instructions (usually addresses to primitivecode) need very little overhead to interpret,such a system is only 2 or 3 times slowerthan optimum assembler produced code.Assuming that this is acceptable, the tech-nique results in an extremely compactpseudocode requiring significantly less mem-ory than the other approaches. Further-more, the pseudocode itself is machineindependent; only the primitive routinespresent an interface to the underlyingprocessor. This greatly facilitates programportability, since transcribing such a systemto a new processor entails rewriting on theorder of 1000 bytes of code (600 in theexample which I have implemented). Ofcourse the largest part of such a systemis written in the language that is to beimplemented.

My interest in computing stems from myinvolvement with the AMSAT Phase IIIsatellite, a space project for the amateurradio service. For the on board computeras well as for the ground stations I wantedto design a system that met the criteriaabove and would allow total portability ofthe programs among the numerous differ-ent computers used by radio amateursworldwide. Naturally the first thing to do,if one tackles a project of this sort, is tostudy the literature on the subject. A lan-guage that meets most of the points justmentioned has been published by CH Mooreunder the name of FORTH. Particularly,Moore's implementation technique is veryingenious. On the other hand, his userinteraction mechanisms were too limitedfor our problem area. Thus, I rather tookFORTH as a platform, from which I de-signed and implemented my own systemwhich I named IPS (abbreviated from itsGerman language name).

The hardware I had in mind when I de-signed IPS would typically consist of:

• An 8 bit processor. (The spacecraftcomputer uses the RCA COSMAC andmost ground stations use the 8080and some the 6502.)

• 16 K bytes of programmable memory.The IPS system itself requires a littleless than 6 K bytes, so enough mem-ory is left to the user.

• An ASCII keyboard and a 64 charac-ter by 16 line video display memory.The video memory makes possiblemuch more transparent interactionsthan obtainable with a Teletype ora hard copy oriented system.

• A hardware input of a sort providing20 ms timing signals. All timekeepingand scheduling is derived from thisinput.

150

January 1979 ©BYTE Publications Int

Circle 374 on inquiry card.

Circle 31 7 on inquiry card.

• Only enough read only memory toprovide a simple bootstrap loader.(The COSMAC based systems haveno ROM at all due to a hardwareload feature on the chip.)

• A cassette interface and one or twocassette recorders. Since all ground tospacecraft and spacecraft to groundcommunication takes place synchro-nously at 400 bits per second, thesame rate is used for recording. Re-cordings have a fixed length of 512bytes (half a TV screen) and mayconsist of ASCII characters or binarydata. Synchronous in this contextmeans that there are no start or stopbits, the data is self-clocking and avalid block is preceeded by a 31 bitlong sync vector.

I want to give you now a cursory descrip-tion of the language. In the context of thisdiscussion, unfortunately, it will be impossi-ble to give you a detailed introduction.Rather, I intend to familiarize you suf-ficiently for being able to walk with me thrua typical program. I hope that this way youwill be able to get some feeling of the natureof IPS. First let me describe how you com-municate with IPS. The display screen has16 lines. The eight lower lines are used forinput to the system, either manually or bytape. The upper eight lines are used by IPSfor answers. The basic IPS quantity is the16 bit signed integer. By typing 125, forexample, this number is put on the stackand displayed in the first display line.Keying -20 now, you get the display125 -20. Now keying * will result in -2500being left on the stack. An arbitrary numberof numbers may be held on the stack;operations always refer to the last entrieson the stack regardless of the total numberof numbers on it.

Besides the normal algebraic operatorslogical operators are also available to allowbit manipulations. Boolean operations usethese operators as well. (Only the effecton the least significant bit is utilized.)Another class of operations allows one tomanipulate the order of items on the stack,like DUP duplicating an entry or VERT,which interchanges the two top entries.[Note: In present versions of IPS, German(the author's natural language) inspired thesymbols of primitives. Thus, VER T is fromthe German word Vertauschen.]

Numbers may be stored permanentlywith a name attached to them. They caneither be defined as constants (KON), asvariables (VAR) or ar arrays (FELD). Callinga constant by mentioning its name pushesits value on the stack. Calling a vari-

PERK UPYOUR PET

New Standard Size

Keyboard Adds Speed & Versatility

You asked for a versatile keyboard to attach to yourCommodore PET. And GRI did it right! PERK is aconvenient typewriter-style keyboard that attachesquickly. No modification required. In minutes you canhave the speed and ease of standard typewriter inputplus the added capacity of upper and lower case alphacharacters, optional graphics, cursor editing, fullscreen control, full screen editing and more...includingmultiple hookups to a single PET. Find out all the waysPERK can make your PET much more valuable.

See your local computer store or contact GRI

§§§

GEORGE RISKINDUSTRIES, INC.

GRI Plaza • Kimball, Neb. 69145Tel: (308) 235-4645

JMfe's

True-lnterrupt DrivenTIME SHARING

for

North Star * Computers

Now included in our Program Library!

A bank-switching system which fully supports North Star DOS

and Basic. Other languages to be supported in near future.

Program Library — $500 One Time FeeProgram Library included FREE with all purchases of $2,000.00or more.

** Business Programs Require Addressable Cursor CRT **

2 UserTime Sharing System

Horizon II with 80KRAM

2 ADM-3A's

IP-125 with 2K Buffer

Dual 8" Floppy Disk System

D.C. Hayes Modem

All connectors & cables

Program Library

'8995.

00

HORIZONOWNERS

Move Up ToTimesharing

1. 48KRAM

2. ADM-3A

3. Program Library

*2100.°°

Requires 32K North Star RAMin Horizon Computer

8" Floppy Disks*995 1st drive & controller*795 each additional drive

Mi

licro Mike's

905 Buchanan, Amarillo, Texas 79101806-372-3633

Circle 201 on inquiry card.

January 1979© BYTE Publications Inc 151

Listing 7: The complete text of an IPS program's source. The program used asan example is the software which converts ASCII to Selectric codes, formatsa text file and prints that file on a Selectric typewriter. Please note that theIPS primitives used in this listing are based on the German version of thesystem; equivalent English language names of the primitives are often notedin the text of the article as various features are explained.

( IBM SCHREIBMASCHINENSTEUERUNG VOM 2 . 11. 77 )

0 KON CBA

HIER 2 + ? CBA ! HIER 6 8 ♦ V-l !

CBA VAR CHARP

0 VAR I.E

nooo VAR SBP

#1000 VAR IRP

0 VAR BL

CODE REMOVE lit LD 1M #C Pill 0 LD IM #C PLO 8 LO IM «A PLOBEGIN' #D I/O LD MX #20 AND IM ( BELEGT? )n = 0 Y? #C DEC *C SHI ( 11)0 US LOOP )

VERT D = 0 END Til #FF LD IM #A STR 3 I/O #A DEC I* I/O NFXT

CODE H/TRANSMIT 1 LD IM *D PLO BEGIN 8 LD IM #A PLO PS INC DS LDA »FF XOR IM #A STR 100 LD IM #C PHI 0 LD IM #C PLO #A INCBEGIN #D I/O LD MX #30 AND IM ( FRFI? )D=0 NOT Y? #C DEC *C SHIVERT D=0 END NEXT

TH #A DEC #D 3L0 0=0 Y? 3 I/ON: it I/OTH NEXTCODE L/TRANSMIT 0 LD IM #D PLO 0 ENDCODE MSTATUS PS ->X PS DEC »D I/O #A ->X

PS DEC 0 LD IM PS STR NEXT0 VAR LV0 VAR S0 VAR EINFL

"t FELD SC #1020 * UOOC SC 2 IFK18 FELD 3ZEICHEN128 FELD Tl

INCR DUP g 1 + VERT ! ;

ADJ DUP @ #3FF UND #1000 ODER VERT ! ;

LIES LADEFLAGGE @B NICHT DUP LV @ UND

JA? IBP @ 512 + IBP ! IBP ADJ S INCR 0 LV !

DANN

EINFL @ S (3 2 < UND UND ( LADEFLAGGE NICHT )

JA? IBP 8 DUP #200 + SLOAD 1 LV !

DANN ;

NORMALZEICHEN DUP MSTATUS EXO #80 UND =0

JA? DUP #80 UND >0 ( DREHE KOPF ) JA? 1

NEIN: 2DAMNH/TRANSMIT 0 k JE NUN REMOVE 0 6 JE NUNDANN L/TRANSMIT CHARP INCR REMOVE ;

SONDERBEH #20 - DUP h < JA? DUP 2 = JA? 1 LE !

DANNSC + @B H/TRANSMIT CHARP INCRREMOVENEIN: CHARP (B 2 - CHARP !

h - DUP DUP + + 3ZEICHEN +CHARP @ 3 >>>DANN ;

able or an array pushes its address on thestack; in order to get its value, the operator@ is used. It interchanges an address on tY\estack with the content of the address. Tostore a value into an address, the operator !is used. It expects a value and an address onthe stack, and by performing the storage,removes both. There are other similaroperators like @B or !B, which performlike operations on single bytes.

Program modules are created by a colonfollowed by the name of the module. Thenthe actions are typed in as if the computerwere to perform the actions immediately. Amodule is closed by a semicolon. Later onthis module may be executed by typing itsname or its execution may be put intoanother module simply by writing its name.

To control the flow of the program, IPShas some control words consistent withstructured programming. The words J A? ,NEIN: DANN (In English, respectively:YES? , NO: , THEN) are pretty self-explanatory. They roughly correspond tothe IF THEN ELSE construct of other lan-guages, only, to be consistent with reversePolish notation, the test action precedes theJA? . There are three loop constructs avail-able. The JE . . . NUN (in English, EACH . . .NOW) construct expects two numbers, aloop start index, and a loop limit. The loopis executed for each consecutive value, untilthe index exceeds the limit. If initially thelimit is smaller than the start, the loop isnot executed at all. This construct may alsoemploy an increment different from one.The two other two loop constructs areintended for loops with an initially unknownnumber of repetitions. The ANFANG . . .ENDE? (in English, START . . . END?)structure is functionally equivalent to theDO UNTIL of PASCAL with the test at theend of the loop. The ANFANG . . . JA? . . .DANN/NOCHMAL (in English, START . . .YES? . . . THEN/AGAIN) structure cor-responds to DO WHILE with the test at thebeginning of the loop. Note that theseconstructs completely eliminate the needofGOTOsand labels.

Now I want to take you on a little walkthru a program. Its purpose is to read ASCIItext recorded on tape cassettes and printthem on my IBM Selectric typewriter. (Asevidence of the practicality of IPS, thisarticle's manuscript was printed by thisprogram.) As mentioned, a tape block con-tains 512 characters (eight lines) withoutany control characters. The program, besidesreformating the ASCII characters to theSelectric code, has to insert this controlinformation. The program maintains acyclic buffer of two blocks; S is a variable

152 January 197968YTE Publications Inc

Circle 71 on inquiry card.

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

CQIYIPLITRQNICS

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

READY-TO-RUN SOFTWARE

TRS-80 • NORTH STAR • APPLE

INTEGRATED BUSINESS SYSTEM $175.00

A/P; A/R; Gen Led; Pay; Bus Stat; Letter Writer. Comes"Ready-to-Run" with easy-to-follow instructions. Requires2 disc drives. Specify: TRS-80, NORTH STAR, or APPLE II

(must have Applesoft).

TUTORIALS S40.00

Computer Aided Instruction, teaches the idiosyncracies ofyour version of disk basic. Specify: TRS-80, NORTH STAR,APPLE II (Applesoft).

HOMEMAKER I S50.00

Includes: Appointment Minder, Shopping List, MenuPlanner. Diet Planner. Specify: TRS-80, NORTH STAR,APPLE II.

EDUCATOR I S50.00

Includes: Math Tutor, Grading System. Hangmath,Spelling, IQ Test. Games. Specify: TRS-80. NORTH STAR,APPLE II.

WORD PROCESSOR $35.00

Comes complete with simple, easy-to-follow instructions.

ALL SOFTWARE PACKAGES ARE WRITTEN IN BASICON

DISKETTE ONLY

Send for Free Catalog

Packages containing Program Listings only are available.

GO

(714) 774-1270

AJA SOFTWARE

P.O. Box 2528 • Orange, CA 92669

II ■ » II

APPLE YlJSERSWE'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 S60.00 andthe programming course for $30.00.

Please specify tape or disk version.

Check, money orders and credit cards accepted.Florida residents add 4% 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.

DATAFACS

Software now for:Micropolls and NorthStarGood 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 IMDOS(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 3 Trademark of Digital Research Corp."AM-100 is a Trademark of Alpha Microsystems.

Circle 378 on inquiry card.

Circle 81 on inquiry card.

BYTE January 1979 153

Listing 1, continued:

TYPLINE #0D ( CR/LF ) CHAR? g 1 + !B CBA CHARP ! 0 LE !ANFANG CHARP @ @B #7F UNO Tl + @B

HUP DUP «IF > VERT *30 < UND.)A? SONOERBEHNEIN: MORMALZE I TMEr1DAMN LE @ENDE? ;

SZEILE SBP @ CBA 61* >>> CBA 1 - CHARP !CBA DUP 63 + JE I @B #20 - >0JA? I CHARP !HANNNUN TYPLINE ;

SBLOCK 0 7 JE SZEILE SBP @ 6it + SBP ! LIESMSTATUS 2 UND >0 ( STOP? )JA? 0 El NFL !DANNNUN SBP ADJ S @ 1 - S ! BL INCR ;

SCHREIB EINFL @ JA? S @ >0

JA? SBLOCK BL 6 It >JA? 0 BL

MSTATUS

( START? )

JA? 0 7

JE CBA 1 - CHARP

TYPLINE

NUN

NEIN: 9

El NFL !

DANN

DANN

DAMNHE IN

0 BL I MSTATUS #80 UND =0

JA? ( TIEESTFLLUNG BEI AIJS )2 H/TRA'ISMIT REMOVF DAMNMSTATUS ( START? ) JA? 1 EINFL !DANN

DANNMSTATUS 2 UND >0JA? 0 EINFL !DANN LIES ;

( ENDF SCHRE1BMASCHINF; SCHREIB 1ST EINGEHAENGT )

( CODETABELLE FUER IBM KOPF CORRESPONDENCE COURIER

'2020

1 2 0 2 0

#2020

#2020

#2321

#2020

#2220

#2020

12020

#2020

#2020

#2020

#2020

#2020

#2020

#2020

^ BLi 2 0

#87B7

#CF26

#58D7

#DE9 6

» It 6 2 5

#0:119

#C63<|

*7FCC

#3E37

t 5 7 It F

#5E]6

» 0 71F

SFFC9

#3E27

#9928

I 9 C 2 it

#9A82

#D2DB

#F9B8

#95C3

»93F0

#FCCA

#CCB2

#90D1

#C5DD

#BBF3

•#8ltBD

SCOFA

#5<tF6

« 7531

#8129

#1CD8

#1A02

S525B

#7938

#151i3

#1370

#7CllA

# I+C32

.10 51

# It 55D

#3B73

#01t3D

»I(07A

#D't76

#F5B1

#2049

Tl

»084F#2708

6it IFK

#582B

#2 BO 8

#0853

#2D2F

#082D #60S0

3ZEICHEN 9 IFK C ENDE TABELLE )

154 January 1979©BYTE Publications Irtc

indicating the number of blocks availablefor printing. S equals 0 means an emptybuffer, S equals 2 is a full buffer.

Complete details are found in listing 1.Turn first to the last routine SCHREIB(in English, WRITE) which is the mainprogram executed periodically. (Becauseof the previously mentioned referencingrestriction, programs have to be readbackwards.) SCHREIB at first checks ifEINFLAG (ONFLAG) is set; if so, it startsthe printing actions. This action starts bychecking if S is larger than 0. Only if this isthe case is there a block in the buffer andthe routine SBLOCK (WRITE BLOCK) iscalled. A blockcounter is maintained (BL).If it exceeds four, printing is stopped (PAGEFULL) unless the start switch is on. In thiscase the 0 7 JE . . NUN does eight linefeeds(endless paper assumed). The other parts ofthe main program are less important, theymainly make sure that at the end of printingthe head is in lower case because if left inupper case the machine cannot be manuallyswitched into lower case.

Now let us look at the routine SBLOCK(WRITE BLOCK). It prints 8 lines (0 7JE . . NUN) by calling the routine SZEILE(WRITE LINE) and then updating thewrite buffer pointer SBP by 64. Also itchecks for an emergency stop. The routineSZEILE (WRITE LINE) takes 64 charactersat SBP and transports them into an auxiliaryarray CBA (>» is an array transport inIPS). Then the auxiliary array is scanned insuch a way that the pointer CHARP pointsat the last printing character. The loopindex is supplied by I. Then TYPLINE iscalled. TYPLINE inserts a CR/LF after thelast printing character and then uses thecharacters in the array CBA without themost significant bit (#7F AND) as index totable Tl to find the Selectric code. If it isbetween #1 F and #30 a special treatmentis necessary by calling SONDERBEH,otherwise NORMALZEICHEN (NORMALCHARACTER) is called.

Let's look at SONDERBEH (SPECIALCHARACTERS). Some actions of themachine are not performed by the printingball, but by special magnets (blank, forexample). In my hardware, these codes haveto be output to a different port. SomeASCII characters are not available on theprinting ball. These are simulated by twoother characters overwritten on each other.The auxiliary array is accordingly ma-nipulated. Both activities are done bySONDERBEH. The NORMALZEICHENroutine checks if the print ball is in theproper case position for the character to beprinted. If not, it first executes a head

Circle 326 on inquiry card.

TRS-80 USERS:MakeTwo BitsPerformLike16K.

If you missed the firsttwo issues of SoftSide,you missed:

Cribbage A 16K you vs. computer game that'shard to beat. Calculator Just what it says. EndZone A 2-player 16K football game, from cointoss to 2-minute warning. Pillbox Computerizedartillery for 2 players. Shopping List An aid forconsumers Plus, Troll's Gold, Octal to Hexa-decimal Converter, Death Star and much more !A 1-year subscriptionwill bring you aboutsixty top quality pro-grams for $15.00 — orabout 25 cents apiece.Think about it . . . howelse can you get somany K bytes of pro-gramming out of twobits !

1 Year Subscription—$15

Check, money order or

charge to VISA or Master

Charge (send full address,

signature, card numbers,

exp. date with order, or

telephone 603-673-5144) to:

SoftSide Subscriptions

P0 Box 68

Milford, NH 03055

/To further improveervice to our customers wehave installed a toll-free^\ WATS line in our^Peterborough, NewHampshire office.If you would.like to order a^subscription to1^ BYTE, or if

Toll-free

i

BYTEs New

SubscriberW.A.T.S. Line

(800)258-5485

We thank you and lookforward to serving you.

1 JijULajLOJUULSJUULiLSJU^^

you have aquestion relat-ed to a BYTEsubscription,'you are invited1to call*(800)258-5485between 8:00 AM and4:30 PM Eastern Time.(Friday 8 AM-Noon).♦ Calls from conti-nental U.S.only.

r

NOBODY SELLS THE BEST FOR LESS!

COMPUTER LAB OF NEW JERSEY

"\

<

r

LISTPRICE

SPECIALPRICE

Electronic Control TechnologyTT-8080 Computer Kit

440°°

375°°

PolyMorphic Poly 88System 16

1,995"°

1,695°°

Sanyo 9 Video Monitor

220°°

165°°

Mullen Extender Board

35°°

29°°

Imsai S10 2-2 kit

156°°

132°°

Integral Data SystemIP-125 Printer

799°°

679°°

North Star Horizon II kit

V

1,999°°

1,699°°

SUBJECT TO AVAILABLE QUANTITIES. SHIPPING AND IN5URANCE EXTRASHIPPING FREE ON PREPAID ORDERS

COMPUTER LAB OF NEW JERSEY

111 ROUTE 46

BUDD LAKE. NEW JERSEY 07828

(201) 691-1984

WU DIDNT KNOW!

J

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

*Pat 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

Circle 72 on inquiry card.

Circle 293 on inquiry card.

BYTE January 1979 155

PSEUDO

PROGRAM

COUNTER

PSEUDO

PROGRAM

COUNTER

PSEUDO

PROGRAM

COUNTER

AFTER

CALL

Figure I: The temptationon the part of an interpre-ter writer is to implementdirect execution as if theinterpreter were simulatingsome form of traditionalmachine. Thus in this ex-ample, the operation codefor a CALL to a subrou-tine is followed in theinterpretive text by theaddress of the subroutinebeing called. This requires,for example, two entriesin the string of interpre-tive text.

INSTRUCTION

INSTRUCTION

CALLINSTRUCTION

ADDRESSM

INSTRUCTIONN+5

INSTRUCTION

rotate action before printing. Each machineaction is started by issuing the magnet codevia H/TRANSMIT or L/TRANSMIT. Theseroutines check the machine for "not busy"and then output the code to the magnets.The routine REMOVE does the opposite;if the machine acknowledges a code by"busy," the magnets are deenergized. Thusthe necessary handshaking is established.

These interface routines are particularlynoteworthy, because they are coded inassembler. IPS has an integral assembler;thus procedures dealing with special hard-ware or extremely time critical jobs can runat the maximum speed of the processor. Thisassembler also employs structured program-ming. The branch codes have been replacedby the Y? N: TH and BEGIN ENDmnemonics. The assembler, like the com-piler, uses the stack to keep track of theaddresses to be inserted into the branches.The routine LIES finally serves to read inthe cassette blocks.

I hope this walk was not too tedious foryou and was justified by giving you someinsight into IPS programs and IPS-likelanguages. Let us have now a look at someselected topics regarding the implementationof IPS. These items maybe useful to you, ifyou want to tackle a similar project.

As mentioned earlier, the stack keeps16 bit numbers. In addition to the normaloperand stack, the design is simplified ifthere is a second stack, which is primarilyused by the system to keep return addresses.This stack is available on a limited scale tothe programmer as well.

A very useful trick in such a system isthe use of "indirect execution." Whenimplementing a simulated high level com-puter one is tempted to compile addresses ofthe appropriate code routines performingthe instructions as shown in figure 1. This

is a simple model of an "emulator" ofsome instruction set of a traditionalcomputer.

If pointers are compiled that point toa descriptor which includes another pointerto an actual executable code, then all com-piled instructions have the same formatregardless of their nature (see figure 2).Indirect execution not only saves memory,it also simplifies the compiler because itneeds no more checking the semantics of theinstruction to be compiled. Thus in figure 2,a subroutine reference reduces to a pointerto the descriptor which begins the inter-pretive code of the subroutine. Thus, itboils down to having a descriptor at thehead of each routine, defining its nature.This also makes the language naturallyextensible since new descriptors may bedefined anytime, and it eliminates thedistinction between application routinesand the primitive routines constituting thelanguage.

In IPS the names along with the pointersto the pseudocode are kept in a hash tablewith a size for 512 entries. Experience showsthat using this size in a 16 K system, memoryand table saturate at about the same time.I preferred the hash table over a linked listbecause the compilation process is muchfaster and enables transcompilations formachines having no interaction facilitieslike the computer running the typewriteron which I printed this manuscript. (Namesare separated from the program.)

Use of IPS in program developmentsituations also requires the possibility ofeliminating entries from memory. Generallya hash table would be unsatisfactory for thispurpose. Nevertheless, since the programgrows linearly in memory, the pointers tothe routines in effect represent a secondaryindex by which the order of the entry andcreation is available. Thus, pruning is noproblem.

Reverse Polish notation languages can beessentially syntax free and by indirectexecution the compiler can compile virtuallyblind, that is, without knowledge of what isbeing compiled. This is not exactly true,though. In fact, there are four differentsorts of entries regarding the action thecompiler is expected to take. This 2 bit

156 January 1979 8 BYTE Publications Inc

Circle 83 on inquiry card.

INCOME TAXPROGRAMSFOR TRS-80

TM

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

FREE 7-PAGE CATALOGAND DESCRIPTION

CONTRACT SERVICES ASSOCIATES

1846 W. Broadway Anaheim, CA 92804

=^\

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 IMH03458. Thank you.

V

J

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, revenue .' ,<J»u»t«.»««ti»building, bidding, contracts, marketing, > j,»<h.».»!«professionalism, and more. No career |planning 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

Rush copies of "Low Capital Startup Computer Businesses" at $20

per copy to me right away.

NAME/COMPANYADDRESS

CITY/STATE/ZIP _□ Check Enclosed

D Bankamericard D Master Charge

P<

PCE Electronics

>Q

PCE/ITHACA AUDIOIA-IIOO 64x16 Video Interface withwhite on black or black on white, switchselect blinking cursor, ft there's NOSNOW or WAVE. S-IOO kit $115 °°add $35 °° for assembled 8 tested

PCE 16/4 + 1 EPROM/RAMSockets for up to 16 2708's withO to 4 wait states, addressable infour 4K blocks, with IK of RAMthat may run within one of the 4Kblocks or at any IK boundary. S-IOOkit $130 °° add $5°° for 250ns RAMadd $30°°for assembled S tested

We have much more, call or write for our flyer.PCE Electronics, 4782 Dewey dr., Fair Oaks, Ca. 95628(916) 966-2208

5 % for shipping

Master Charge

Visa

COD requires50% deposit

excess refunded

Calif, residents add6% sales tax

Special packing for international orders.

Circle 93 on inquiry card.

Circle 288 on inquiry card.

BYTE January 1979

157

information is kept in the name table.

Normal entries execute in the inter-pretative mode and compile in the entrymode. See table 1 for the other modes.INT is used for variable definitions or forthe colon to prevent definitions withindefinitions. PRIOR, on the other hand, isused for the JA? NEIN: DANN and thesemicolon. These entries are executed atcompilation time to handle jump addresseson the stack or to reset the compile flag.At the beginning of compilation (:), a specialnumber is placed on the stack. At the end ofcompilation (;), this number is checked. Ifit is wrong there has been a structuring error(such as DANN following a JA?) forgottenand the entry is rejected.

At this point I would like to point outthat much of the readability of structuredprograms seems to come from a geometricalrepresentation of the source text as exempli-fied by the indented writing. Hardly any

language software analyzes this geometry,though, and it is in effect redundant to thesemantics of statements.

There is another useful technique whichI call "pseudointerrupts." On a stack com-puter programs are naturally reentrant; andrecursive programming is possible. Thus, theinner interpreter can be designed to accept"interrupts" between actions specified byinterpretive code. These interrupts interrupta stack oriented computer simulated by theinterpreter, so no state saving operationsare necessary (except for the pseudoprogramcounter, of course.) Machine interrupts mayalso be implemented independently whenrequired. The 20 ms clock input assumedby IPS forces such a pseudointerrupt to keeptime in a normal clock and to service four"stopwatches."

Engineering problems usually require afew programs running independently of eachother. I solved this problem by providing

Figure 2: If a 2 level indirect form of interpretive execution is defined, then simplicity is achieved by making every token in thetext of a user program a pointer reference to a descriptor of the operation. The descriptor in turn contains information such asthe pointer to a low level routine to be executed upon reference to the descriptor during interpretation. Thus, a subroutine callwhich required two interpretive text entries in figure 7 is replaced by a simple pointer reference to the subroutine's descriptor.This descriptor in turn contains a reference to the low level interpreter routine which saves the program counter on the sub-routine stack, then points to the first entry of the subroutine's interpretive text before resumption of interpretation. For simplebuilt-in primitives of the language, the descriptor simply points to the low level executable routine of that primitive's operation,as shown for example in the case of RETURN and DUP. Note that the interpreter increments the pseudo program counter aftereach interpretation cycle.

158 January 1979 © BYTE Publications Inc

a chain, that is, an array of programs exe-cuted in a cyclic fashion. Initially, thischain is only occupied by the compiler,while the other positions contain null entries.Programs may put other programs into thischain, or programs may remove themselvesor other programs from this chain. It turnsout that by this method, very general multi-programming is possible without needingseparate stacks for each chain member.The act of scheduling or descheduling areal time process is implemented by thischaining technique. Apart from the "chainin" and "chain out" operators two otheroperators are necessary. A suspend and aresume operator are provided to be able towait for internal or external events be-fore a program's execution is continued.Amazingly, the four chain operators eliminatethe necessity of a centralized operating sys-tem without imposing undue restrictions.Presently at AMSAT we have IPS versionsfor the RCA COSMAC and the 8080, anda 6502 version is in preparation. Also, thereexists a special version for the COSMACaboard the AMSAT satellite, performing allinteractions by radio link. Except for thelast they occupy a little less than 6 K bytesof memory, having everything resident

compi

ler

mode

entry-type

interpreting

I

1

compiling

Normal (:)

execute

I|

compile

INT

execute

I

error action

PRIOR

error action

1

execute

HPRI

execute

1

execute

Note: error action marks input-word with ques-tion mark and stops further processing ofinput.

including the text editor. The radio versionis slightly smaller.

In mid 1976 the first IPS version was upand running. Since then I have done somefine tuning as a result of feedback fromsome ten scientific projects using IPS withinthe University of Marburg. If you feel thatIPS could be useful to you or if you havesome comments or suggestions, pleasedo write me.

(The original paper which discusses sucha machine interpreter is: "FORTH, a NewWay to Program a Minicomputer," by C HMoore, Astron Astrophys Suppl 15, 497-511, 1974. In the years since the firstFORTH paper, FORTH has become aregistered trademark of Mr Moore's con-sulting firm FORTH Inc.)"

Table I: The modes of IPSoperation (interpreting orcompiling) and the actionthe compiler takes de-pending on the type ofentry found. Normal refersto standard modules (:),variables and constants.

HERE IS THE LATEST AND BEST IN8080/Z80 DISK SOFTWARE

CP/M ™ FDOS and Utilities

Microsoft FORTRAN-80

Microsoft COBOL-80

Microsoft Disk Extended BASIC

Microsoft MACRO-80 MACRO Assembler/Linking Loader

Microsoft MACRO-80 (as above) w Subroutine Library

Microsoft EDIT-80 Line Editor

Xitan SUPER BASIC

(A3)

Xitan DISK BASIC

(A3+)

Xitan Z-TEL Text Editor

(A3. A3+)

Xitan Text Output Processor

(A3. A3+)

Xitan Macro ASSEMBLER

A3. A3+)

Xitan Z-BUG -

(A3+)

Xitan LINKER

(A3+)

Xitan Package A3 (as keyed above)

From $145 Xitan Package A3+

S400 Micro Focus CIS COBOL

$625 SOURCE Disk Based Disassembler

$300 ZASM Zilog™ Mnemonic Assembler

$149 XY BASIC Process Control Language

$219 SMAL/80 Structured Macro Assembler Language

$89 CBASIC Compiler/Interpreter BASIC

$99 MAC Macro Assembler

$159 SID Symbolic: Instruction Debugger

$69 TEX Text Formatter

N/A General Ledger

$69 Accounts Receivable

$89 NAD Name & Address Processor

$69 QSORT Disk File Sort/Merge Utility$249

$409

$500

$70

$45

$300

$75

$95

$100

$85

$85

$995

$750

$79

$95

Most software available in a variety of diskette formats including: IBM 8" single and doubledensity; North Star CP/M; Micropolis CP/M; and 5" soft sectored. All Lifeboat softwarerequires CP/M to operate.

Watch for the December 1978 release of the above software on Processor Tech Helios II;Altair Disk; and iCOM Microdisk systems.

LIFEBOAT ASSOCIATES

164 W. 83rd Street □ New York, N.Y. 10024 □ (212) 580-0082

January 1979 © BYTE Publications Inc

159

Olubs andNewsletters

Attention: Canadian Readers

We have heard from the West CoastComputer Society (POB 4476, VancouverBC, Canada V6B 3Z8) regarding theirclub's meeting schedule. They meet thefirst Wednesday of every month at 8 PM,room 126 at BCIT, which is located inBurnaby, British Columbia.

TRS-80 Monthly Newsletter

The purpose of the TRS-80 MonthlyNewsletter is to provide and exchangeinformation related to the Radio ShackTRS-80 computer system. This 68 pagenewsletter contains programs related tobusiness, personal finance, money man-agement, practical applications, statis-tics, mathematics, gambling and games.Every month one major program (suchas a complete personal finance packageor a complete income tax program —

short and long form) will be published.Subscriptions are $24 by first class mail($40 outside of the US and Canada, airmail). Contact Mathematical Applica-tions Service, POB 149, New City NY10956.

Independent Ohio ScientificUsers Group Formed

Owners, prospective users, OEMs anddealers of Ohio Scientific computers canshare information, applications andsoftware through an independent usersgroup formed by the Newton SoftwareExchange, POB 518, Newton Center MA02158. The Exchange was created to aidin the translation of microcomputerapplications and systems programmingfrom the sophisticated user and pro-grammer to the naive user and operator.They are oriented and willing to workwith programmers and OEMs who havegood ideas and programs, but havedifficulty expressing themselves to rela-tively unsophisticated end users. TheOSI users group will encompass the fullrange of OSI products with specialattention to the Challenger series.Annual dues are $5 and include a month-ly newsletter.

SEEN EVERYWHERE:

IN STOCK AT /A"

ATLASELECTRONICS

1570 Third AvenueNew York, NY 10028WE OFFER: 212/427-4040

• Shipment within 24 hours on almost any item

• Frequent bulletins with special prices

• Latest catalogs and manufacturer's price lists

®

| TELL ME MORE!

I Q B&K Precision

I D Non Linear Systems

I D OK Wire Wrap

I □ Panavise

I D AP

I D CSC

1 D Vector

1 □ Wahl Isotip

1 D Weller-Xcelite

| D Sena Special Price Built

Please Send for Free Catalogues!

6

ATLAS| ELECTRONICS

' 1570 Third AvenueNew York. NY 10026212/427-4040

Rtropt

•s

tins Hity/Rtatp

7

P

Rhode Island Computer Club

RICH is a computer club in RhodeIsland that will be meeting on the fol-lowing dates: March 20, April 17 andMay 15 1979, from 7 to 10 PM atlabour's Electronic City, 345 FountainSt, Pawtucket Rl. For more information,write POB 599, Bristol Rl 02809 orcall (401) 253-5450.

User Notes for 6502 Owners

KIM-1/6502 User Notes is getting afacelift and will now be called UserNotes: 6502. It will continue as a bi-monthly publication but will be ex-panded to 24 pages. In addition to theKIM, the Notes will support VIM andAIM systems as well as others. The newsubscription rates will be $13 for sixdouble issues mailed first class and toCanada and $19 for six double issuesair mailed overseas. The new address isPOB 33093, N Royalton OH 44 I 33.

PACS Publishes Data Bus

The Data Bus is the monthly publica-tion of the Philadelphia Area ComputerSociety (PACS). Its 16 pages contain avariety of information, including regularfeatures such as meeting news, PETshop, editorial, classified and sucharticles as "Computers for Kids" and"Software/Courseware Exchange forUCSD Pascal." This organization wasformed for the purpose of education andintercommunication of computer usersin the greater Philadelphia area and toinform the general public about com-puter technology and its implicationsfor the future. Dues are $10 per yearfor regular membership and $5 pet-year for students. Both membershipsinclude a subscription to The Data Busand participation in group purchaseprograms and club projects, as well asborrowing privileges in the society'ssoftware and literature libraries. PACSmeetings are held in the LaSalle Collegescience building. For more information,call the club's hotline at (215) 925-5264.

New York Amateur Computer Club

The New York Amateur ComputerClub, which just celebrated its thirdbirthday, is an organization formed topromote the free exchange of informa-tion about computers for personal useand to encourage fellowship amongthose interested in computing. Generalmeetings are held once a month, nor-mally on the second Thursday. Severaluser groups consisting of club memberswith specialized interests also meet ona monthly basis. Club dues are $10 peryear which includes a well-compiled andinformative newsletter. For more infor-mation about this group, write to theclub at POB 106, Church St Station,New York NY 10007.

160

January I979 E BYTE Publications InC

Circle 8 on inquiry card.

Microcomputer Owner's Society

Jim Brown of Eiyria OH has noti-fied us of the formation of the Micro-computer Owner's Society. They meetevery fourth Sunday at 1 PM. For morespecific information, contact Jim Brown,POB474, Eiyria OH 44035.

Compucolor-lntecolor Users Group

The Compucolor-lntecolor UsersGroup has announced that it will startmaking programs available to memberswithout the donation of a program. Clubmembers may now order programs fromthe club's library of over 300 programsfor as little as $2 each, plus a disk andhandling charge of $20 for the firstdisk and $1 5 for each subsequent disk or-dered at the same time. Those donatingan acceptable program will receive fiveor six programs back at no charge. Mem-bership to the group is $25 or $10 withthe submission of an acceptable articlefor publication in the group's bulletinor a program to the library. Those wish-ing to join should write to Compucolor-lntecolor Users Group, 5250 Van NuysBlvd, Van Nuys CA 91401.

Tulsa Computer Society SponsorsApple User Group

The Tulsa Computer Society (TCS)meets the last Tuesday of every monthat 7:30 PM. The meeting place is theTulsa Vocational-Technical School sem-inar room at 3420 E Memorial Dr.The Apple User Group meets the secondTuesday of the month at High Tech-nology of Tulsa. All users of Apple IIcomputers and interested individualsare invited to attend. Membership inTCS is $6 annually and includes a 1 yearsubscription to their newsletter, The I/OPort. Address all correspondence to TheTulsa Computer Society, POB 1133,Tulsa OK 74101.

Attention: Rochester NY Computerists

According to the most recent editionof Memory Pages, the official magazineof the Rochester Area MicrocomputerSociety (RAMS), the club is into itsthird year and has over 150 memberswith diverse backgrounds in the field ofcomputing. RAMS is the local focus ofpersonal computing in the Rochesterarea, as evidenced by the ACM and IEEEjoining them for joint meetings on per-sonal computing. It is the club's aim toprovide its members with exposure toideas and contact with individuals withsimilar interests. If you are interested,attend one of their meetings on thesecond Thursday of each month at7:30 PM in room 1030, Gleason Building(#7 — Engineering), Rochester Instituteof Technology, Rochester NY. Theaddress for RAMS is POB D, RochesterNY 14609. ■

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 featuring RCA COSMACmicroprocessor/ COMPUTER *9995

as FORTRAN and BASIC must be translated into machinelanguage before a computer can understand them. With ELFII you build a solid foundation in computers so you'll reallyknow what you're doing, no matter how complicated thingsget.

Shown with ^MMffkV JfcL Video output also makes ELF 11 unique among computers

optional 4k Memory Boards, *mL^ ATNe^w selling for such a low price. Attached to your TV set, ELF II

GIAKT BOARD7" t Xlufs Board. ^^Nhh«//F ^ becomes a fabulous home entertainment center. It's capable of

providing endless hours of fun for both adults and children ofall ages! ELF II can create graphics, alphanumeric displaysand fantastic video games.

No additional hardware is required to connect ELF II toyourTV's video input. Ifyou prefer to connect ELF II to yourantenna terminals instead, simply use a low cost RF modulator(to order one, see coupon below).

ELF II's 5-card expansion bus (connectors not included)allows you to expand ELF 11 as your needs for power grows, ifyou're an engineer or hobbiest, you can also use ELF II as acounter, alarm, lock, thermostat, timer or telephone dialer, orfor countless other applications.

ELF II byNETRONICS

As featuredin POPULARELECTRONICS

Stop reading abouTtomputers and get your hands on one! WithELF II and our new Short Course by Tom Pittman, you canmaster computers in no time at all! ELF II demonstrates all 91commands an RCA 1802 can execute and the Short Coursequickly teaches you how to use each of the 1802's capabilities.

ELF ll's video output lets you display an alphanumericreadout or graphics on any TV screen or video monitor plusenjoy the latest video games, including an exciting newtarget/missile gun game that was specifically developed forELFII.

But that's not all. Once you've mastered computer funda-mentals, ELF II can give you POWER with add-ons that areamong the most advanced found anywhere. No wonder IEEEchapters plus hundreds of universities and major corporationshave chosen the ELF II to introduce their students and per-sonnel to microprocessor computing!

Learn The Skill That May Soon Be FarMore Important Than Your College Degree!

The ability to use a computer may soon be more important toyour earning power than a college degree. Without a knowl-edge of computers, you are always at the mercy of others whenit comes to solving highly complex business, engineering, in-dustrial and scientific problems. People who understand com-puters can command MON EY and to get in on the action, youmust learn computers. Otherwise you'll be left behind.

ELF II Is The F-A-S-T Way To LearnComputer Fundamentals!

Regardless of how minimal your computer background is now,you can learn to program a computer in almost no time at all.That's because Netronics has developed a special ShortCourse on Microprocessor And Computer Programming innon-technical language that leads you through every one of theRCA COSMAC I802's capabilities so you'll understandeverything ELF II can do.. .and how to get ELF II to do it!

All 91 commands that an 1802 can execute are explained toyou, step-by-step. The text, written for Netronics by TomPittman, is a tremendous advance over every other program-ming book in print.

Keyed specifically to the ELF 11, it's loaded with "handson" illustrations. When you're finished, ELF II and the 1802will no longer hold any mysteries to you.

In fact, not only will you be able to use a personal computercreatively, you'll also be able to read magazines such asBYTE... INTERFACE AGE ... POPULAR ELEC-TRONICS and PERSONAL COMPUTING and under-stand the articles.

Ifyou work with large computers, ELF II and our shortCourse will help you to understand what makes them tick.

A Dynamite Package For Just $99.95!

With ELF 11, you learn to use machine language—the funda-mental language of all computers. Higher level languages such

r._ SEND TODAY! NOW AVAILABLE FOR ELF II— O Deluxe metal cabinet for ASCIID Tom Pittman's Short Course On Mi- Keyboard, $19.95 plus $2.50 p&h.coprocessor &. Computer Programm- D ELF II Tiny BASIC on cassetteing teaches you just about everything tape. Commands include SAVE,there is to know about ELF II or any LOAD, ±, *, +,( ), 26 variables A-Z,RCA 1802 computer. Written in non- LET, IF/THEN, INPUT, PRINT,technical language, it's a learning GO TO, GO SUB, RETURN, END,breakthrough forengineers and laymen REM, CLEAR, LIST, RUN, PLOT,alike. $5.00 postpaid! PEEK, POKE. Comes fully docu-

□ Deluxe metal cabinet with plcxiglas mented and includes alphanumericdust cover for ELF II, $29.95 plus generator required to display al-$2.50 p&h. phanumeric characters directly on your

□ ELF I! connects to the video input TV screen without additional hard-of your TV set. If you prefer to use ware. Also plays tick-tack-toe plus ayour antenna terminals, order RF drawing game that uses ELF II s hexModulator, $8.95 postpaid. heyboard as a joystick. 4k memory re-

□ GIANT BOARD* kit with cassette quired- *14*95 Postpaid

ELF II Explodes Into A Giantl

Thanks to ongoing work by RCA and Netronics, ELF IIadd-ons are among the most advanced anywhere. Plug in theGIANT BOARD® and you can record and play back programs,edit and debug programs, communicate with remote devicesand make things happen in the outside world. Add Kluge Boardto get ELF II to solve special problems such as operating amore complex alarm system or controlling a printing press.Add 4k RAM board and you can write longer programs, storemore information and solve more sophisticated problems.

Expanded, ELF II is perfect for engineering, business,industrial, scientific and personal finance applications. Noother small computer anywhere near ELF ll's low price isbacked by such an extensive research and development pro-gram.

The ELF-BUG® Monitor is an extremely recent break-through that lets you debug programs with lightening speedbecause the key to debugging is to know what's inside theregisters of the microprocessor and, instead of single steppingthrough your program, the ELF-BUGM Monitor, utilizingbreak points, lets you display the entire contents of the regis-ters on your TV screen at any point in your program. You findout immediately what's going on and can make any necessarychanges. Programming is further simplified by displaying 24bytes of RAM with full address, blinking cursor and autoscrolling. A must for serious programmers!

Netronics will soon be introducing the ELF II ColorGraphics & Music System—more breakthroughs that ELF IIowners will be the first to enjoy!

Now BASIC Makes Programming ELF II Even Easier!

Like all computers, ELF II understands only "machinelanguage"—the language computers use to talk to each other.But, to make life easier for you, we've developed an ELF IITiny BASIC. It talks to ELF II in machine language for you sothat you can program ELF II with simple words that can betyped out on a keyboard such as PRINT, RUN and LOAD.

"Ask Now What Your Computer Can Do...But What Can It Do For YOU!"

Don't be trapped into buying a dinosaur simply because youcan afford it and it's big. ELF II is more useful and more funthan "big name" computers that cost a lot more money.

With ELF II, you learn to write and run your own programs.You're never reduced to being a mere keypunch operator,working blindly with someone else's predeveloped software.

No matter what your specialty is, owning a computer whichyou really know how to use is sure to make you a leader. ELF11 is the fastest way there is to get into computers. Order fromthe coupon below!

Netronics R&D Ltd., Dept. 0000 J

333 Litchfield Road, Phone I

New Milford.CT 06776 (203)354-9375 ,

I/O, RS 232-C/TTY 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,

□ 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/lowercase 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.

□ 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-BUG® 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!

Yesl I want to run programs at home andhaveenclosed:D $9f "& handling for RCA i

have enclosed:D $99.95 plus $3 postage IA COSMAC ELF II kit, I

D $4.95 for power supply (required), I

D $5for RCA 1802 User's Manual, D $5 I

for Short Course on Microprocessor & IComputer Programming.

D I want mine wired and tested with I

power supply, RCA 1802 User's Manual I

and Short Course included for just $149.95 Iplus S3 p&h!

□ I am also enclosing payment (includingpostage & handling) for the items checked

at the left. ij

Total Enclosed (Conn. res. add tax) |

$ □ Check here if I

you are enclosing Money Order or Cashier's .

Check to expedite shipment.

USE YOUR D VISA D Master Charge ■

(Interbank # ) ;

Account # — j

Signature Exp. Date !

PHONE ORDERS ACCEPTED (203) 354-9375 |

Print j

Name 1

Address |

City .

State _

I

-Zip

_ DEALER INQUIRIES INVITED

Circle 280 on inquiry card.

January 1979 0 BYTE Publications Inc

161

BYTE's Bits

Attention: ACM Members andStudents of Computing History

The editors and editorial board ofthe Annals of the History of Computingare currently soliciting articles for thisnew quarterly periodical. The Annalswill be published beginning in July 1979by the American Federation of Infor-mation Processing Societies Inc (AFIPS).The publication will focus on the historyof computing by including contributionsfrom individuals who participated in, orwitnessed, the events and decisionswhich have shaped the present com-puting environment.

In addition to formal articles, indi-viduals are invited to submit shortanecdotes or personal recollections,commentaries on collections of privateletters considered historically relevant,descriptions of current historical pro-jects, articles on the influence of societalfactors on the development of com-puting, reports of significant successesand failures in the computing field, andannotated bibliographies of relevant

publications. Coverage will center onevents and developments that occurredat least 15 years prior to the date ofpublication.

Prospective authors interested in sub-mitting articles should send five copiesof their contributions to Bernard AGaller, editor in chief, Annals of theHistory of Computing, University ofMichigan, College of Literature, Scienceand the Arts, 2522 LSA Building,Ann Arbor Ml 48109. Articles should bebetween 5000 and 10,000 words.Longer articles may be considered forpublication in two or more parts. Allcontributions should be typed, anddiagrams should be carefully drawnand fully labelled. Glossy photographsmay be included. All cited referencesare to appear at the end of the paperunder the heading "Notes." The notesshould be typed, numbered consecu-tively, and consist mainly of citations.All words to be italicized should beunderlined.

All articles should be accompaniedby a brief biographical sketch of

Health Insurancefor 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.

M

SYSTCM

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"

approximately 50 words, an abstractof approximately 100 words, and alisting of appropriate ComputingReviews categories."

TRS-80 Memory Expansion

Owners of Radio Shack TRS-80s,take note: if you are upgrading from4 K to 16 K of user memory and havethe work done at a Radio Shack repaircenter, you should ask that the old 4 Kmemory integrated circuits be returnedto you, after the new 16 K memorydevices are installed. There is no addi-tional charge, but in most cases youdon't get the old memories back unlessyou ask.

Those owners of TRS-80 systemswho buy 16 K memory kits from sourcesother than Radio Shack should be awareof this precaution. It is likely that RadioShack repair centers will charge more forrepairs to TRS-80s that have been modi-fied by the user than for repairs tomachines untouched internally exceptby the hands of the technicians at saidrepair centers."

Speakers Invited to Computing Festival

The Personal Computing Festival ofthe 1979 National Computer Conferencewill be at the Americana Hotel in NewYork City, June 5 through 7. The Festi-val will include three days of programsand special activities on all aspects ofpersonal computing, with emphasis onthe applications people have for theirown computers. Individuals interested inpresenting a paper, giving a talk, organ-izing a panel, or delivering a tutorialshould send a letter of intent as soon aspossible, but no later than February 11979, to Jay P Lucas, 3409 Saylor PI,Alexandria VA 22304. The letter ofintent should include an abstract and abrief biography. Papers presented duringthe festival program will be published.Potential authors will be mailed afestival author's kit, which containsinstructions and necessary materialsfor preparing papers in camera readyformat. Papers submitted for consider-ation must be received by March 151979, in the specified camera readyformat. Papers will be reviewed andauthors will be notified by May 1 1979regarding acceptance. Session leadersshould submit a brief abstract describingeither the scope of the proposed sessionor the tentative title of the presentationby February 1 1979. The prospectiveorganizer should submit a list of pro-posed participants, their affiliations, anda brief biography of each."

On the Eight Queens Problem

When Terry Smith bypassed thepermutations of digits method of"Solving the Eight Queens Problem"(October 1978 BYTE, page 122) be-cause calculating the permutations of the

162

lanuary 1979 © BYTE Publications Inc

Circle 4 on inquiry card.

SURPLUS ELECTRONICS

ASCII

ASCII

®

IBM SELECTRIC

BASED I/O TERMINAL

WITH ASCII CONVERSION

INSTALLED $645.00

• Tape Drives • Cable

• Cassette Drives • Wire

• Power Supplies 12V15A, 12V25A,SV35A Others, • Displays

• Cabinets « XFMRS • HeatSinks • Printers • ComponentsMany other items

Write for free catalogWORLDWIDE ELECT. INC.130 NORTHEASTERN BLVD.NASHUA, N.H. 03060Phone orders accepted using VISAor MC. Toll Free 1-800-258-1036In N.H. 603-889-7661

COMPUTER MARTof NEW HAMPSHIRE, Inc.

«(. SPECIALIZING IN BUSINESS jU* AND PERSONAL COMPUTERS *

DATA GENERAL microNOVA®XITAN GENERALAPPLE II

S-100 Bus Products

SOFTWARE currently available:AR, GL, AP, Inv., Payroll,Word Processing, and DentalOffice Manager.

□

170 Main StreetNashua, NH 03060603/883-2386

n.croNOVA* is a registeredraUemark of Data General Corp

□

PET SCHEMATICS

Another First From "PET-SHACK".

For only $24.95 you get:

24" x 30" schematic of the CPU board, plus oversizedschematics of the Video Monitor and Tape Recorder, pluscomplete Parts Layout-all Accurately and Painstakinglydrawn to the Minutest detail.

PET ROM ROUTINES

Another Breakthrough From "PET-SHACK".

Complete Assembly Listings of all 7 ROMs, plus identi-fied subroutine entry points; Video Monitor, KeyboardRoutine, Tape Record and Playback Routine, Real TimeClock, etc.

To entice you wa are also including our own MachineLanguage Monitor program for your PET using the key-board and video display. All this for only $19.95,SATISFACTION GUARANTEED.

You can have the Monitor program on cassette for only$9.95 extra.

Send check, money order, or Master Charge or VISAnumber and expiration date to:

PET-SHACK Software HouseMarketing and Research Co.P. O. Box 966Mishawaka, IN 46544

Circle 395 on inquiry card.

Circle 76 on inquiry card.

Circle 303 on inquiry card.

O.S.I.

OHIO SCIENTIFIC* COMPUTERS*

SALES & SERVICE

Business/Home/HobbyHardware & Software

SEE0.S.I.N0W!

METRO DC. AREA & MARYLAND

The Math Box,Inc.(301)933-6555

CENTRAL VIRGINIA AREA

H/B Computers,lnc.(804)295-1975

Circle 213 on inquiry card.

ACCELEWRITER DOUBLES= DEC WRITER SPEED =

The ACCELEWRITER doubles theLA36 Decwriter's speed from 30 to 60CPS. The ACCELEWRITER is a smallmolded module which plugs into theprinter's logic board.

The ACCELEWRITER enables theDec writer to print at its "catch-up'speed of 60 CPS all of the time. Youmust be able to program fill charactersinto the data stream after carriage re-turns.

Easy installation and easy recon-version, if ever desired. Compatible withstandard Decwriter option boards. Fullone-year warranty. Only $95.00.

Please write or phone.Illinois residents add 5% sales tax.

Available NOW from

LARKS ELECTRONICS & DATA

P. O. Box 22

Skokie, Illinois 60077

(312)677-6080

CANADIANS

Announcing

HAMILTON LOGIC

SYSTEMS

Specializing in logic

devices, microprocessors,

memorys, TTL, Cmos,

etc.

Send for your catalogue

Box 7

STONEY CREEK

ONTARIO L8G 3X7

Circle 157 on inquiry card.

NORTH STARPAYROLL PACKAGE

ft Salary, hourly or commission

ft Any number of pay periods peryear

ft Hash coding allows faster fileaccessing

ft Multiple companies on one disk

ft New tax rates are easily enteredas data statements

ft Simple to use — minimum oper-ators response

ft Selective printouts for employeeinformation i.e. last pay, MTD,QTD, YTD, addresses, W-2, etc. . .

Unconditionally guaranteed. Can bereturned for refund if not satisfied.

North Star disk -$75.00

Potter's Programs

22444 Lakeland

St. Clair Shores, Ml 48081

(313) 573-8000

S4&/E 5 tc 15%

LIST SALE PRICE

IMS AI 8080 W/22 SLOTS $751 $649

16K APPLE It $1195 $1050

SHUGGART MODEL 800 $650 $595

SIMILAR DISCOUNTS ON:IMSAI 4K. 16K, 32K RAM, MIO etc.POL YMORPHICS VIDEODYNA8YTE 16K (ASM) RAMHAZELTINE 1400, 1500, 1510NOVATION ACOUSTIC COUPLERSI^S 8K (ASM) RAMPROCESSOR APPLICATIONS DMA FLOPPY

DISC CONTROLLER (ASM)TARBELL FLOPPY DISC CONTROLLERTARBELL CASSETTE INTERFACESHUGARTGSI MODEL 110

PICKLES AND TROUT MOD FOR HITACHI TVALL SWTP PRODUCTSAPPLE II

MODEL 43 TELEPRINTER (OCTOBER)ADM3A TERMINALSOROC IQ120 TERMINALTELETYPE MODEL 40 300LNPCENTRONICS PRINTERREPAIRS IN-HOUSE AT LOW COSTCUSTOM SOFTWARE & FIRMWARE

THE COMPUTER STQP

16919A Hawthorne BlvdLawndale CA 90260(213)371-4010

11:30 lo 6 OOTue-SaiClosed Sunday/Monday

Circle 73 on inquiry card.

^PASCAL $2995A

COMPUTER

Call (714)979-9920

MONTHLY SPECIALS

• Floppy Kit

SA 801 floppy (8") & disk cont.kit (S-100)

• Add On Floppy Drives

SA 800/1 (8") floppy

SA 400 mini floppy.

• Centronics 779 printer

• Miscellaneous

CP/M Operating System/Manuals.8" Memorex Diskettes

(IBM comp.)

8" Verbatim Diskettes

(IBM comp)

4" Diskettes

16k RAM chips

Pwr Supply cabinet (mini floppy).Pwr Supply cabinet (floppy)

$599

$469$285$999

$3.50

$3.99$3.39$9.75..$79$225

fry/TV-COHPUfER MERMCE TECHNOLOGY

IMMr Peripheral Products Division

2080 South Grand, Grand Centre, Santa Ana. CA 92705

Circle 308 on inquiry card.

Circle 74 on inquiry card.

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 b'e 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 $8.

Rothenberg

INFORMATION SYSTEMS, INC. H#

260 Sheridan Avenue

Palo Alto, CA 94306

(415) 324-8850

*CP/M is a trademark of Digital Research*'*Add $100 if CBASIC is also needed

Circle 328 on inquiry card.

digits from 1 to 8 seemed too difficult,I took it as an interesting problem initself. At first I doubted that BASICwas fast enough, but as it turned out Ireceived a permutation every second orso using Micropolis BASIC on a SOL 20.That encouraged me to complete theeight Queens problem.

My first solution appeared in lessthan a minute and a half. That's a lotfaster than the 20 minutes Terry Smithwaited! The last of the 92 solutionscame out 27 minutes from the start ofthe run.

The line numbers in listing 1 whichare multiples of 10 are the permutationprogram. The rest were added to screenout the diagonal attacks. The AND orOR operators operate on each bitindependently, as in machine code.

Thanks for an interesting couple ofhours.

Also, I am following the Pascalarticles and may implement the currentseries, although it's too bad the datatypes could not be implemented. I alsowish I had some idea of their speed.

Richard Greenlaw251 Colony CtGahannaOH 43230

Listing 1:

10 REM PROGRAM TO CALCULATE CHESS BOARD POSITIONS FOR 8 QUEENS

12 REM WITH NO ATTACKS ANYWHERE.

15 REM BY RICHARD GREENLAW 10/7/78

20 REM TESTS PERMUTATION METHOD MENTIONED BUT NOT USED BY

22 REM TERRY SMITH IN 10/78 BYTE

28 REM D VARIABLES ARE VERTICAL POSITIONS IN EACH COLUMN

30 REM F VARIABLES ARE FLAGS REPRESENTING THE DIGIT USED

32 REM U VARIABLES COMBINE FLAGS FOR ALL DIGITS USED SO FAR

100 FOR D1=1 TO 8

110 U1=2tD1

120 FOR D2=1 TO 8

130 F2=21D2

140 IF (F2 AND U1IO0 THEN 970

145 IF D2=D1+1 OR D2=D1-1 THEN 970

150 U2=F2 OR U1

160 FOR D3=1 TO 8

170 F3=2tD3

180 IF (F3 AND U2IO0THEN 960

185 IF D3=D2+1 OR D3=D2-1 OR D3=D1+2 OR D3=D1-2 THEN 960

190 U3=F3 OR U2

200 FOR D4=1 TO 8

210 F4=2tD4

220 IF (F4 AND U31O0THEN 950

225 IF D4=D3+1 OR D4=D3-1 OR D4=D2+2 OR D4=D2-2 THEN 950

226 IF D4=D1+3 OR D4=D1-3 THEN 950230 U4=F4 0RU3

240 FORD5=1T0 8

250 F5=2ID5

260 IF (F5 AND U4IO0THEN 940

262 IF D5=D4+1 OR D5=D4-1 OR D5=D3+2 OR D5=D3-2 THEN 940

264 IF D5=D2+3 OR D5=D2-3 OR D5=D1+4 OR D5=D1-4THEN 940

270 U5=F5 OR U4

280 FOR D6=1 TO 8

290 F6=2tD6

300 IF (F6 AND U5IO0THEN 930

302 IF D6=D5+1 OR D6=D5-1 OR D6=D4+2 OR D6=D4-2 THEN 930

304 IF D6=D3+3 OR D6=D3-3 OR D6=D2+4 OR D6=D2-4 THEN 930

306 IF D6=D1+5 OR D6=D1-5THEN 930

310 U6=F6 0R U5

320 FOR D7=1 TO 8

330 F7=2ID7

340 IF (F7 AND U6IO0THEN 920

342 IF D7=D6+1 OR D7=D6-1 OR D7=D5+2 OR D7=D5-2 THEN 920

344 IF D7=D4+3 OR D7=D4-3 OR D7=D3+4 OR D7=D3-4 THEN 920

346 IF D7=D2+5 0R D7 = D2-5 OR D7=D1+6 0R D7=D1-6THEN 920

350 U7 = F7 OR U6

360 FOR D8=1 TO 8

370 F8=2tD8

380 IF |F8 AND U71O0THEN 910

382 IF D8=D7+1 OR D8=D7-1 OR D8=D6+2 OR D8=D6-2 THEN 910

384 IF D8=D5+3 OR D8=D5-3 OR D8=D4+4 OR D8=D4-4 THEN 910

386 IF D8=D3+5 OR D8=D3-5 OR D8=D2+6 OR D8=D2-6 THEN 910

387 IF D8=D1+7 OR D8=D1-7 THEN 910500 PRINT D1;D2;D3;D4;D5;D6;D7;D8

910 NEXTD8

920 NEXTD7

930 NEXT D6

940 NEXTD5

950 NEXTD4

960 NEXT D3

970 NEXTD2980 NEXT D1READYRUN1 5

164

January 1979 £> BYTE Publications Inc

Listing 7 continued:

3 6

4

1

8

5

7

2

3 6

4

2

8

5

7

1

3 6

8

1

4

7

5

2

3 6

8

1

5

7

2

4

3 6

8

2

4

1

7

5

3 7

2

8

5

1

4

6

3 7

2

8

6

4

1

5

3 8

4

7

1

6

2

5

4 1

5

8

2

7

3

6

4 1

5

8

6

3

7

2

4 2

5

8

6

1

3

7

4 2

7

3

6

8

1

5

4 2

7

3

6

8

5

1

4 2

7

5

1

8

6

3

4 2

8

5

7

1

3

6

4 2

8

6

1

3

5

7

4 6

1

5

2

8

3

7

4 6

8

2

7

1

3

5

4 6

8

3

1

7

5

2

4 7

1

8

5

2

6

3

4 7

3

8

2

5

1

6

4 7

5

2

6

1

3

8

4 7

5

3

1

6

8

2

4 8

1

3

6

2

7

5

4 8

1

S

7

2

6

3

4 8

5

3

1

7

2

6

5 1

4

6

8

2

7

3

5 1

8

4

2

7

3

6

5 1

8

6

3

7

2

4

5 2

4

6

8

3

1

7

5 2

4

7

3

8

6

1

5 2

6

1

7

4

8

3

5 2

8

1

4

7

3

6

5 3

1

6

8

2

4

7

5 3

1

7

2

8

6

4

5 3

8

4

7

1

6

2

5 7

1

3

8

6

4

2

5 7

1

4

2

8

6

3

5 7

2

4

8

1

3

6

5 7

2

6

3

1

4

8

5 7

2

6

3

1

8

4

5 7

4

1

3

8

6

2

5 8

4

1

3

6

2

7

5 8

4

1

7

2

6

3

6 1

5

2

8

3

7

4

6 2

7

1

3

5

8

4

6 2

7

1

4

8

5

3

6 3

1

7

5

8

2

4

6 3

1

8

4

2

7

5

6 3

1

8

5

2

4

7

6 3

5

7

1

4

2

3

6 3

5

8

1

4

2

7

6 3

7

2

4

8

1

5

6 3

7

2

8

5

1

4

6 3

7

4

1

8

2

5

6 4

1

5

8

2

7

3

6 4

2

8

5

7

1

3

6 4

7

1

3

5

2

8

6 4

7

1

8

2

5

3

6 8

2

4

1

7

5

3

7 1

3

8

6

4

2

5

7 2

4

1

8

S

3

6

7 2

6

3

1

4

8

5

7 3

1

6

8

S

2

4

7 3

8

2

5

1

6

4

7 4

2

5

8

1

3

6

7 4

2

8

6

1

3

5

7 5

3

1

6

8

2

4

8 2

4

1

7

5

3

6

8 2

5

3

1

7

4

6

8 3

1

6

2

5

7

4

8 4

1

3

6

2

7

5 ■

Call for Papers for SIGPLANSymposium on Compiler Construction

The SIGPLAN Symposium on Com-piler Construction which is scheduledfor August 8 through 10 in Boulder COhas issued a call for papers. The sympo-sium will consider compiler constructionmethods and construction experience.The emphasis will be less on theoreticalmethods and more on techniques appliedto real compilers. Especially welcomeare papers on the application of theo-retical methods and practices to prac-tical compilers. Some typical topicsof interest are: code generation tech-niques; compiler generation for parti-cular languages, language constructs, orsystem architectures; compiler porta-bility and bootstrapping; compilertesting and verification; code optimi-zation and its practical effect; measuring

and achieving compile time and exe-cution time efficiency. 6 copies of asummary (not a complete paper) shouldbe sent to the program chairman DrStephen C Johnson, room 2C-559, BellTelephone Laboratories, 600 MountainAv, Murray Hill NJ 07974. Summariesshould not indicate author name andaddress. This information should appearonly in a cover letter to the chairman.Summaries should explain what is newand interesting about the work andwhat has actually been accomplished.February 1 1979 is the deadline for sub-mission of summaries."

National Computer Tournamentfor the Prisoner's Dilemma

Looking for a challenging projectfor your strategic instincts and yourprogramming skills? This computertournament may be for you. There is nocharge to enter.

The tournament is based on a niftylittle game called the Prisoner'sDilemma. In the Prisoner's Dilemmathere are two players. Unlike mostgames, such as chess, the two playersare not in total conflict. In fact, bothcan do well or both can do poorly.

Here is how the tournament works.The game will be played for an averageof 200 moves, and in each move, eachplayer can choose either to cooperateor to defect. If both cooperate, bothdo well. But if one defects while theother cooperates, the defecting playergets his highest payoff, and the cooper-ating player gets taken for a sucker andgets his lowest payoff. The catch is thatif both defect, both do poorly.

The precise payoffs in the tourna-ment for a given move are three pointseach if both cooperate; five points to aplayer who defects while the othercooperates, with zero points to thesucker; and one point each if bothdefect. The score of a player in a singlegame is his or her total over all themoves.

To win the tournament you have toget the highest total score summedover all the games you play. Thereforeyour object is to get a good score in eachseparate game, but not necessarily to geta better score than the player withwhom you are currently playing.

To join the computer tournamentyou submit a program written in BASICor FORTRAN IV which will be a de-cision rule for the selection of thecooperative or the defecting choice ateach move. The decision rule may bebased on the history of the game so far.For example, a simple and quite effec-tive decision rule is Tit For Tat: cooper-ate on the first move, and then doexactly what the other player did on theprevious move. Quite sophisticated de-cision rules can be written in as littleas 25 lines.

This tournament is part of a researchproject to understand the nature ofskillful performance in a 2 sided environ-ment which is partially cooperativeand partially competitive.

Each person who completes an entrywill receive a report describing theresults of the tournament. The winnerwill receive a handsome engraved trophy.

To get further details on the tour-nament, write to Prof Robert Axelrod,Institute of Public Policy Studies, TheUniversity of Michigan, 506 E LibertySt, Ann Arbor Ml 48104."

Using a Calculator to PerformHexadecimal Addition and Subtraction

This helpful hint to anyone analyzinghexadecimal programming and memorydumps comes from the NCR CenturySystems Software volume 4, issue 2, byNCR analyst Robert C Moler.

If you do not have a Texas Instru-ments hexadecimal calculator and workwith hexadecimal numbers, you onlyneed to remember the number 84.

Here is how it is done. Allow twodecimal places for each hexadecimalcharacter and assign the values as fol-lows: 0=00, 1=01, 2=02, 3=03, 4=04,5=05, 6=06, 7=07, 8=08, 9=09, A=10,B=11,C=12, D=13, E=14, F=15.

During addition, when the sum oftwo decimal representations of hexa-decimal numbers exceeds 15 (F), add84 to it to perform the carry to the nextplace.

Example:

HexadecimalNumber

Keyboard

1B4D 01 11 04 13

+1C85 + 01 12 08 05

37D2 02 23 12 18+ 84

02 23 13 02+ 84 00 00

03 07 13 02 = 37D2

For subtraction, when a borrow ismade from the next higher place theresult is in the range of 85 to 99. Theresult is corrected by subtracting 84from that place. Using the precedingexample, subtracting 1 C85 from 37D2:

03 07 13 02- 01 12 08 05

01

95

04

97

-

84

01

95

04

13

-

84

00

00

01 11 04 13 =1B4D

Although the limitation is four digitson my 8 digit calculator, I still find thismethod helpful when digging through ahexadecimal dump.

Harold Pritchard

1801 Oxford St N

St Petersburg FL 33710"

January 1979 ©BYTE Publications Inc 165

Circle 138 on inquiry card.

Now

yAny IBM SELECTRK7can be interfaced toAny micro computer

• Unique mechanical design fits on to any styleSELECTRIC® without modification to thetypewriter

• Compatible with S-100 bus; RS232, Paralleland IEEE-488 ports

• Use your typewriter as a high quality outputprinter with TRS-80, Apple, PET, Sorcerer,Horizon, etc., etc.

Prices:

S-100ParallelRSS32IEEE-488

$496.00$525.00$549.00$560.00

* Prices valid in USA only

Escon Products, Inc.

171 Mayhew Way, Suite 204,Pleasant Hill, CA 94523(415)935-4590

1

North Star * Disk Owners

THE most COST-EFFECTIVE machine

LANGUAGE DEVELOPMENT SYSTEMS AVAILABLE

THE XL-B080 & XL-Z80 SYSTEMS

EDITOR " Create & modify source listings using 15 powerfulcommands. Provides string search/replacement, auto-linenumbering, multi-disk file storage, automatic memorymanagement, built-in tab, printer listings and much more. Also, aNorth Star-compatable line editor provides rapid line editcapability.

ASSEMBLER ** Processes source listings directly from diskand optionally stores binary code in memory or on disk. Featuresmulti-disk/file processing, multi-length labels, symbol tablelisting, console or printer output, etc..Allows any size program(source or code) to be processed!

DISASSEMBLER ** Processes an object file on disk andproduces source file listings both on a second disk file and on theconsole or printer.

"MAXIMIZES DISK CAPABILITY

"USES EXISTING DOS USER I/O ROUTINES

"REQUIRES LESS THAN 16K MEMORY TO OPERATE

XL-8080 SYSTEM w/complete documentation $39.95

XL-Z80 SYSTEM (same as above but processes

Z80 Zilog-format files $59.95

XL-ZP/M SYSTEM (Z80 Assembler for CP/M) $59.95

Available at your local computer store or by sending check or money order to;

Xlc

P.O. Box 805

COMPUTER

™DCUCTS Mesa, AZ 85202

Dealer inquiries welcome

Continued from page 10

tive), but the statement J:0 returns tothe start of the program rather than tothe last accept.

Also, two simple changes can saveone level of nesting each:

004A 7E E1AC JIN JMP INEEE004E 7E E1D1 JOUTJMP OUTEEE.

All of the above are simple modifi-cations, but I rewrote the whole programto optimize it by using RAM in theSTACK area for LOC, CHR and FLG,while deleting LST.

I am sorry to propose these modifi-cations only in MOTOROLA M6S00format but I am sure that anyone usingthe 8080 can work it out on their own.

Keep up the good work for 6800experimenters.

A De Longchamp

7600 Rousselot, Apt 6

Montreal, Quebec

CANADA H2E 1Z3

A TIMELY MODIFICATIONTO KIMER

We attempted to run a program fromRobert Baker's article "Kimer: A KIM-1Timer" (July 1978 BYTE, page 12). Wefound Mr Baker's statement that thetimer would run as a 12 hour clock bychanging the contents of a particularaddress not to be true. After incre-menting time at 12:59:59, the 12 hourclock goes to 00:00:00. The proper time(01:00:00) can be displayed by changingand adding the following code:

0257 C9

13 CMP

=13

025B 20

66 02 JSR

MIDD

0266 A90268 85026A 60

#01 MIDD LDA

FB ST A

RTS

#01POINTH

We hope that this correction will aidothers in utilizing the KIM-1 as a 12hour digital clock for demonstrativepurposes.

Alan A Leff

Donald L Boos

The Standard Oil Company

3092 Broadway Av

Cleveland OH 44115

GRAPHIC PRESENTATION

I found the articles by Jeffrey LPosdamer, "The Mathematics of Com-puter Graphics," and Joel C Hungerford,"Graphics Manipulations Using Ma-trices," quite interesting (see September1978 BYTE, pages 22 and 156, respec-tively). I am pleased to see that com-puter graphics is becoming more popularand useful at all levels. The article byPosdamer was particularly interestingbecause it closely parallels the material

166 January 1979 © BYtE Publications Inc

Circle 402 on inquiry card.

ARE YOUTAKING FULL

ADVANTAGEOF YOURCOMPUTER?

□ NO

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- ■ 1 WFV^#^ Then we need you.

tion.Commercial exhibits will bring ^^^ Bjjl^J You have developed

you up-to-date on industry offer- M iJi^BjM} an application to a

ings in microcomputer products, ' ' "^^- -^™™^^^ 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 your friends and colleagues take full ad-puting Festival at the Americana vantage of their own computers by presenting a paper, chair-Hotel in New York 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. The deadline for submit-ting ideas and proposals is February 1,1979. But remem-ber...whether or not you're presently taking full advantage ofyour computer, there's a world of information on the very latestin personal computing awaiting you at NCC 79 in New York.

NCC '79

BYT

PERSONAL COMPUTING FESTIVALc/o AFIPS, 210 Summit Avenue, Montvale, N.J. 07645

□ Please keep me up-to-date on NCC 79 and its Personal Computing Festival.

□ Please rush me information on participating in the Personal Computing Fes-tival program sessions.

□ I'm interested in demonstrating my own personal computing application; pleasesend me details.

□ 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 January 1979 167

presented in chapter 2 of our book,Mathematical Elements for ComputerGraphics.

There are one or two small commentsthat may be of interest. Posdamer statesthat there are three basic transfor-mations in two dimensions: translation,rotation, and scaling. In the sense thatPosdamer is using there is of course afourth, namely, reflection.

Hungerford's statement with respectto projected views although technicallycorrect is confusing. In real life we see inperspective, that is, all lines converge atinfinity. The projected view given byHungerford is technically an ortho-graphic projection. In an orthographicprojection all parallel lines remainparallel. Orthographic projections arecommonly used for engineering draw-ings. It is this type of projection that hedescribes.

David F Rogers PhD

Prof of Aerospace Engineering

Director Computer Aided Design

Interactive Graphics

US Naval Academy

Annapolis MD 21402

TINY PASCAL

I would like to take this opportunityto thank you for publishing the series ofarticles about "A 'Tiny' Pascal Com-piler" (September, October and Novem-ber 1978 BYTE) I have enjoyed them

very much. I have considered (and amstill considering) obtaining UCSD Pascal,but I do not own a disk system runningCP/M. This is why I have appreciatedyour series of articles, since they did notrequire a disk system and could be easilymodified for any 8080 system (I own aMECA cassette operating system). I hopeyou will continue having serious articlesabout Pascal: by this I mean articlesperhaps extending Tiny Pascal's featurescompared with full standard Pascal andabout structured programming in Pascalor Pascal-like languages; I think I haveseen enough articles in all the personalcomputing magazines lately comparingthe virtues and vices of Pascal vs BASICand the like.

Harvey E Hahn

14 N Highview

Addison IL 60101

CHESS 4.6 DEFEATED?

In reference to Norman Whaland'sarticle "A Computer Chess Tutorial"(October 1978 BYTE, page 168): Chess4.6 proved its weakness when it lostto Duchess at the Jerusalem Conferenceon Information Technology ComputerChess Tournament on August 6 thru 91978. Chess 4.6 resigned after 59 moves(copies of that game are available uponrequest along with a self-addressedstamped envelope). Duchess had a clearlead well into midgame, but played

rather aimlessly, picking off Chess 4.6'spieces one at a time and leaving a loneKing to resign. The final standings wereas follows:

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 /xsMultiwrite—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: $3254K firmware package of REM

2 SEMIONICS

41 Tunnel Road • Berkeley «CA 94705(415)548-2400

1.

Duchess

3 points

2.

Chess 4.6

2 points

3.

Chaos

2 points

4.

Ostrich

1 point

5.

Tell

1 point

6

BS '66 '76

0 points

In addition, I have a program writtenin Pascal to solve the 8 Queens problem.It was run on the Hebrew Universitycomputer (CDC 64000) with the originalPascal compiler: ETH Zurich (Release2). The program works recursively andcontains more comments than actualcoding to make understanding easy. Ittoo is available upon request (with 30cents in stamps to cover shipping). Alsoavailable are a Magic Squares generatorand a Life generator written in Pascal.

Henry Nussbacher

570 Fort Washington Av

New York NY 10033

HEATH BIT

I recently purchased a DECwriter(H36) for my H8 system which alreadyincluded an H9 terminal. Difficultiesensued when I tried to list lower casetext (such as this letter) on the H9, sinceit interprets ASCII code 140 thru 177octal as 040 thru 077 octal. A remedyfor this situation was published in Sep-tember 1978 BYTE, page 147, byGeorge J Frye, using an inverted bit 7in place of bit 6 from the ASCII bus tofeed the H9 character generator. Un-fortunately, the method described wouldcause an erroneous signal to be sent tothe plot mode decoder, thus making thatfunction of the H9 useless.

Happily the fix suggested by Mr Fryeneed only be slightly modified in orderto preserve the PLOT function and allowlower case ASCII to be displayed asupper case:

1. Cut the foil trace from pin 1 ofIC206 to pin 22 of IC205.

2. Jumper from pin 10 of IC203 topin 11 of IC219.

3. Jumper from pin 10 of IC219 topin 22 of IC205.

I have made this change to my H9and it works flawlessly. After I hadcompleted it, however, I noticed thatthe inverted ASCII bit 7 signal wasalready available from IC203. Thus, theunused segment of the hexadecimalinverted (IC219 pins 10 and 11) neednot be used, and only one jumper isneeded:

1, Cut the foil trace from pin 1 ofIC206 to pin 22 of IC205.

2. Jumper from pin 11 of IC203 topin 22 of IC205.

William WMoss

1 507 Riverview Ln

Bradenton FL 33505

168

I jnuary 1979 © BYTE Publications Inc

Circle 323 on inquiry card.

CLARIFYING THE LIMIT

There are a number of items in "TheSky's the Limit" (November 1978BYTE, page 48) which require clarifi-cation.

On page 50 it is stated that "somerepeaters have reverse call-in capabilityby which the nonamateur can dial therepeater." The first part of the sentenceis true. The second part is incorrect.FCC regulations do not allow a non-licensed person to activate an amateurtransmitter. It should be realized thatthe repeater is an amateur transmitterand is licensed.

It should be further noted that it isnot legal for an amateur to directlytransmit messages to a nonlicensed per-son; most amateurs would be reticent todo so. Third party telephone communi-cation is a special exception. If onewould monitor an amateur VHF re-peater, he would find that the amateurin his car wishing to use "autopatch"first accesses the repeater (the licensedstation) which is under direct super-vision of control operators, also licensed.Only then does the amateur place hisdesired nontoll telephone call usingTouch Tone signaling.

In response to phrases like "Asradio amateurs recognize the capabilitiesof the microcomputer. . ." (page 50), Ican only state that I know a number ofradio amateurs who have been workingwith microcomputers before there were"home computers." I really don't feelthat the radio amateur belongs in theclass of the slow learner. However, Iagree with the statement on page 61 that"the AMSAT OSCAR amateur radiocommunication satellites can providethe computer enthusiast with an oper-ationally simple worldwide personalcomputing network"—but if and onlyif that enthusiast is also a licensed radioamateur.

To Mr Kasser I would like to add:

1. A review of FCC rules and regu-lations may be appropriate.

2. If you are really interested in amultidiscipline approach (hamradio and computers)—take thetime to get a license and enjoyboth worlds, as many of us do.

G William PfeifferKOGVX

2122 Novak Av NStillwater MN 55082

A reference is made on page 50 ofthe article to the activation of an ama-teur VHF repeater by a nonamateurcomputer user. This procedure is com-monly known as "reverse autopatch."The Federal Communications Com-mission has ruled that such activationmay be done only in the following way:the nonamateur dials a telephone num-ber which rings a phone at the repeatercontrol site. A human licensed amateurradio operator answers the call, estab-lishes its purpose, and determines iftransmission of the call is consistentwith the regulations governing amateurradio operation. The repeater operator

may then turn on the transmitter andallow transmission of the nonamateur'smessage under supervision of theamateur. The repeater operator mustalso keep a record of the transmission tocomply with the rules of third partytraffic. . . .RS, N4ANG

HOUSE OPERATING SYSTEM

I read the editorial in the October1978 BYTE and noted with interestthe distribution of interests in yoursurvey. Naturally, I was cheered to seehome automation ranking as numbertwo in the list, since it is preciselywhat I am working on.

The "House Operating System" isreally a complete, general purposepower control system that can be in-stalled in almost any reasonable environ-ment for any desired purpose. It can dealwith both on and off controls such asordinary lights, and controls that requiresome parametric input, such as a digi-tally controlled FM tuner.

What most concerns me, however,is the human engineering of the system.It has full programming capabilities inmost respects, interacts with the environ-ment and user, and guides the user in itsuse.

The basic input device in the HouseOperating System is either a 16 buttontelephone—like keypad or a small alpha-

numeric keypad (about the size of acalculator) connected to the centralcomputer by a pair of twisted wires.Any number of these units can beconnected on a single pair. All inputis echoed on video connected thru amaster antenna system, enabling alltelevisions in the house to be outputterminals. Prompting messages, etc, arealso logged on this video output.

Commands in the House OperatingSystem are mnemonic, and defined bythe user. They are set up when the sys-tem is installed, and can be changed,deleted, or added at any time.

Many primitive commands comewith the basic software: define a com-mand to turn a single relay on or off,program a command string, defineparameters, conditions, etc.

The system . is available only as aturnkey package, but we will sell thepower control boards separately. Ouroptoisolator board (for input), tonereceiver board (for 16 button keypaddecoding), and relay driver boards(power control) are bus independent,communicating through serial andparallel ports, and are thus usable onany system.

Frank Alviani

GIMIX Inc

1337 W 37th PI

Chicago IL 60609"

S-100 BUS COMPATIBLE. The EMM 1104 single card plug-in memory hasbeen field tested and proven in a variety of systems including the Poly 88,IMSAI, MITS, COMPAL-80, TLD and CREMENCO. 16K BYTES ON A CARD.Convenient plug-in card, fully burned-in, tested and guaranteed by one ofthe industry's largest memory suppliers. NMOS STATIC RAM. The 4Kstatic RAMs have been proven in applications ranging from single chipmemories to IBM 370 add-on systems. They are fast,reliable, and no refresh cycle is required.See your dealer, or contact us for complete information.

S-100 Bus Compatible Memory

16K bytes on a card

NMOS static RAM

5^'Jt-

Commercial Memory Products, a Division of Electronic Memories & Magnetics Corp.12621 Chadron Avenue • Hawthorne, California 90250 • Telephone (213) 644-9861

Circle 132 on inquiry card.

January 1979OBYTE Publications Inc

169

soft asa rock

Wintek's solid 6800 software.

6800/6801 Cross Assembler

$800

PL/W Cross Compiler

$1400

Cross Linker

$400

Simulator

$800

Floating PointMath Pkg.

$500

When you choose Wintek, you're gettingsoftware as solid as a rock All softwarewritten in ANSI FORTRAN for 16 bit orlarger computers. Also available on

BniiSHHE"

For information on solid softwarefrom Wintek, call or write:

Wintek Corporation902 N. 9th St.Lafayette, IN 47904317/742-6802

WINTI'X

DeskTop Wondere

Some Random Games

C K Adams12702 Shady CreekSt Louis MO 63141

With the increasing number of inexpensiveprogrammable calculators, game and enter-tainment programs are becoming popular.

Here are two simple entertainment pro-grams written for the Texas Instrumentsmodel 58 or 59 programmable calculatorswith the master library. After entering anyof the programs, always single step throughthe program, checking the entries againstthe program listing to help prevent wrongentries.

Listing 1 is the ESP program. The objectof this game is to guess the number (0 or 1)that the program will come up with. Theoperator enters either a 0 or a 1 into thecalculator, then presses D. The calculatordisplays its number, independent of the in-put. The number of correct guesses is storedin register 01 while the total number ofguesses is stored in register 00.

The random number generator programof the master library is used to calculate arandom number between 0 and 1. Theprogram then rounds the number to eithera 0 or 1. The steps required to generate thisrandom number using the library programare as follows:

1. Call up program 15.

2. Enter a seed number.

3. Press A.

4. Press E to initialize the program.

5. Press SBR and D.MS to obtain answer.

To obtain another random number, repeatstep 5. These steps are accomplished by pro-gram steps 00, 01, 03 through 05, and 12through 15.

The guess is entered by steps 08 through11 and is stored in register T. Steps 21 and22 keep track of the number of guesses.Steps 23 through 25 determine if the guessis correct, and steps 26 and 27 keep track ofthe number of correct guesses.

To use the program:

1. Enter the program from the programlisting.

170 January 1979 © BYTE Publications Inc

Circle 394 on inquiry card.

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.

Cardholder's Signature.

Name.

Address.City

.State.

.Zip.

10800 NE Eighth, Suite 819Bellevue, WA 98004

2. Press RST.

3. Enter a seed number (between 0 and19907).

4. Press A.

5. Enter guess (either 0 or 1).

6. Press D (the number calculated willthen be displayed).

7. Repeat steps 5 and 6 for the nextguess.

8. Read registers 00 and 01 to determinethe number of guesses and the numberof correct guesses.

9. Start at step 2 to reinitialize theprogram.

Listing 2 is a dice game. This programallows the user to "roll two dice" and endup with two random numbers (representingthe dice) between 1 and 6. The two num-

bers are separated by a decimal point. Inthis program, as with the previous program,a seed number is entered to initialize therandom number generator. Entering thesame seed number will result in the samesequence of numbers for the rolls of thedice. But there are over 19,000 possiblecombinations for the seed, so it is virtuallyimpossible to memorize the sequence formore than a few seed numbers. Also, byletting a player other than the operatorenter the seed number, the possibility ofcheating is eliminated.

Program steps 1 through 14 set the limitsfor the random number program to 0.5 and6.5. Steps 16 and 17 set up the loop for theroll of the dice. Steps 21 through 23 deter-mine the value of the first die. Steps 24through 30 round this to a whole number

Listing 7,' ESP program for guessing which number will be played next

Keys

Location

00 ( 2nd ) ( LBL) ( A )

02

03

06

0811121621232628

( 2nd ) ( CM )

C 2nd ) ( PGM ) ( 15 ) C E )

Qj^D CUD CZD

C R/S ) ( 2nd ) ( LBL ) ( D(XSD

( 2nd ) C PGM) ( 15 ) C SBR ) ( 2nd ) (D.MS)

( 2nd ) ( FIX ) ( 0 ) ( EE ) C INV ) ( EE )

Qj^D (OP) go

( INV ~) ( 2nd ) ( X=T ) C + )

Qnd} C2EJ QO

CGTCO C-ED

Commentary

Define A as seed.

Clear memory.

Initialize random number program.

Define loop.

Enter guess.

Move to T.

Calculate random number between 0 and 1.

Round answer to either 0 or 1.

Increment number of guesses.

If guess does not equal number, go to loop.

Increment number of correct guesses.

Go to loop for next try.

$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 T?Lelectrical 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 onboard speaker

1 Fully compensating tocopy any 'fist style'

See your local dealer orcontact XITEX® direct.

MC/Visa accepted

»XIT€X CORP

F\ O. Hux 402111III*(214) 380-386

172

|jnuary 1979") BYTE Puhlitations Inc

Circle 400 on inquiry card.

and store the results. Steps 31 through 38determine the value of the second die andround it to a whole number. Steps 39 through46 combine the two numbers by multiplyingthe value of the second die by 0.1 and add-ing to the first value. Steps 47 and 48 loopback to display the results and wait for thenext roll.

To use the program:

1. Load program from program listing.

2. Press RST.

3. Enter seed number (between 0 and19907).

4. Press R/S (display will go out and thendisplay 0).

5. Press D to roll the dice. The displaywill show the value of the two dice,separated by a period.

6. Press D to roll the dice again.

7. To reinitialize the program, return tostep 2."

Listing 2: Dice program for rolling two dice. The two dice are displayed on either side of thedecimal point.

Location

00 C 2nd ) C CM )

Keys

01030608121618192124293134394447

( 2nd ) C PGM ) ( 15 )

CO CO CO

C 2nd ) ( PGM) C 15 )

rn co co co

( 2nd ) ( PGM) C 15 ) C B ) ( 0 )

C 2nd ) (TO r~o>

CO

C2nd) (LBL) CJO

C 2nd ) C PGM) ( 15 ) CO

C 2nd ) ( FIX ) (0) ( EE ) ( INV ) ( EE )

GD CO

( 2nd ) ( PGM ) ( 15 ) ( C )

C 2nd ) CEO C 0 ) ( EE ) ( INV ) ( EE )( INV ) C 2nd ) ( FIX ) ( X ) ( . ) ( 1 )

CO dD CO CO

CO CO

Commentary

Enter seed number.

Initialize random number program.

Set lower limit at 0.5.

Set upper limit at 6.5.

Zero display.

Set up loop.

Stop program and display results.

Calculate value of first die.Round value to a whole number.Store value of first die.Calculate value of second die.Round value to a whole number.Multiply value of second die by 0.1.Combine first and second dice values.Loop back for next roll.

§ i & ft

- . T S ,

(95 Stand Alone Video Terminal

"#*24'0 ++.-./01245S?39::<=:

m MW-miimmmiwmimmmw

abcdHfQhijkliMnopqrstuywxyz<!>Hl

SCT-100 FEATURES:

lb*, 0 64 X 16 line format with 128 displayable characters

• Serial ASCII or BAUDOT with multiple Baud rates• $187 Assembled or $157 Kit (Partial Kit $95)• Full cursor control with scrolling and pagingi • On board power supply MC/VISA accepted

i Call or write today.

»XIT€X CORP

13628 Neutron P. O. Box 402110J Dallas, Texas 75240 (214) 386-3859

Overseas orders and dealers inquiries welcome

Circle 401 on inquiry card.

January 1979'. BYTE Publication! Inc 173

GOTOIocks and the Three Sorts

Gwen Hadley520 E May, Apt 2Las Cruces NM 88001

In a package program on the dump of anull allocation, there resided a very asyn-chronous VERB who was commonly known,in reverse Polish notation, as GOTOIocks.GOTOIocks was a virtual card hopper, averitable TALLY-goer, a member of theMOD function, for she was continuallyGOTOing. Her run time was so elliptic thatthere was no algorithm for tracing her orher Turing machine.

"I am queried of this dump routine,"she asserted. "To GOTO is Greater Than to

RETURN." And her counter was dimen-sioned around that password.

One day GOTOIocks multivibrated thetopdown on her Turing machine, imple-mented her ascending key, converted herscale factor for sequential access, made ascientific notation of her default value, sether level indicator at zero, and linked outinto the recursive overflow area of the in-stallation. "I will have a real time for my-self," she stated.

Soon, her Turing machine arrived at an

174 |anuary 1979©BYTE Publications Inc

empty operating system which belonged tothe Three Sorts. There was a Major Sort,an Intermediate Sort and a Minor Sort. TheThree Sorts were just taking a structuredwalk-through the forest while their hash wasbeing debugged.

GOTOIocks inputted into the ThreeSorts' priority system through their ORgate and advanced to their hash table. Shesampled the Major Sort's hash.

"There are too many bugs in it," sheasserted. "An adder would take care ofthem." She correlated four bits of cyber-culture into the floating point. "At least itcan be upgraded by integrating a literalqueuing solution," she commented.

NEXT, GOTOIocks tested the Inter-mediate Sort's hash. "This is too unde-fined," she printed. "No wonder it isn'tlabeled. It could be a key punch with a littlebinary addition." She loaded some GarbageIn to it.

Then, GOTOIocks sampled the MinorSort's hash. "What a smooth approxi-mation!" she declared. And she simulatedthe entire batch.

NEXT, GOTOIocks multivibrated intothe Three Sorts' mass storage. Here, shefound three peripheral devices—a big peri-pheral device, a medium peripheral deviceand a tiny peripheral device.

She tried the big peripheral device. "Thisis too ambiguous," she stated, "I am NotEqual to it. All I need is a simple basiccycle."

She tested the medium peripheral device."This is too digital," she commented, "andwith its variable flip flopping I feel as if I amloaded. There is no use making myselfllliac."

She tried the tiny peripheral device', andit was just right. Just as she began to operateit, however, it was truncated.

Finally, GOTOIocks entered the ThreeSorts' deck setup. She tried the huge sourcedeck, but it was too dimensional. "What Ineed," she declared, "is something morefinite."

She tried the medium source deck, butit had an embedded parenthesis in it. "Thiscould give one a BACAIC," she stated, andmoved on to the tiny source deck.

The tiny source deck was so very heuris-tic that GOTOIocks was soon smoothingaway.

Suddenly, the Three Sorts returned fromtheir walk-through.

"Someone has been processing my hash,"asserted the Major Sort.

"Someone has been processing my hash,"declared the Intermediate Sort.

"Someone has been processing my hash,"iterated the Minor Sort, "and it is all simu-lated."

They went into their mass storage.

"Someone has operated my peripheraldevice," asserted the Major Sort.

"Someone has operated my peripheraldevice," declared the Intermediate Sort.

"Someone has operated my peripheraldevice," iterated the Minor Sort, "and ithas been truncated."

Finally, they linked into their decksetup. "Someone has been scaling in mysource deck," asserted the Major Sort.

"Someone has been scaling in my sourcedeck," declared the Intermediate Sort.

"Someone has been scaling in my sourcedeck," iterated the Minor Sort, "and hereshe is!"

With that, GOTOIocks became on lineand listed through the source deck, and outthrough the mass storage, and through theirpriority system with the Sorts vibrating onher trail.

She looped off in her Turing machine,taking direct access to her dump routine."One would conclude that I am linked tothe 5th column," she stated, making ascientific notation never to go into a recur-sive overflow area again."

Art by Lynn Irwin

717 Emery St

Longmont CO 80501

Here is a little contest,suggested by the level ofpunmanship exemplifiedby this short story. Toenter, simply identify eachbuzzword buried in thisstory, write a short char-acteristic explanation ofits use and normal con-text, and return it to us atBYTE magazine, 70 MainSt, Peterborough NH03458, attn: GOTOIocks.But beware, some of thebuzzwords we haven'teven heard of.

January 19790BYTE Publications Inc 175

NyfjMes

Table I (opposite): Com-mands supported by theMicro Word Processoralong with the optionsavailable.

A Micro Word Processor

Theron WierengaPOB 2007Holland Ml 49423

"Word processor" is a term personalcomputer people are hearing more aboutlately. Just what is a word processor?Essentially, it is a computer system con-sisting of hardware and software that allowsone to enter and store text and have itprinted back upon command. Additionalfeatures let the user edit and manipulatethe text in various ways. The copy printedback to the user may be as entered or it maybe right margin justified, meaning that thelines of text arc adjusted so they line upon the right side (the text of this article isboth right and left justified). Various linewidths are usually possible. Page numbersand headings may be automatically addedto the text, and indices and tables of con-tents may be generated using key words.

If you type a 20 page report, you willprobably make some errors. The reportmay have to be retyped several times beforethe final copy is acceptable. With a wordprocessing system, only the errors and

changes would have to be retyped into thesystem — a great timesaver if the text islengthy.

The typical microcomputer hardware forsuch a system might consist of a mainframecomputer, 32 K bytes of memory, dualfloppy disks, and a printer with proportionalspacing and upper and lowercase type. Avideo terminal is also a useful addition forentering and editing text. The cost of sucha system can run from $7000 to $12,000.Many businesses are finding such wordprocessing systems to be valuable assets totheir staffs, and well worth the investment.This is especially true if much of the hard-ware is already available and being used onsuch tasks as payroll and accounting. Butwhat about the person who would just liketo produce a few form letters or multiplecopies of a computer club newsletter? Andwhat about those of us who don't typewell? Wouldn't it be nice to have a wordprocessor that allows us to correct the

EXORciser Users: We've got your memory.

$495**

The 16K Static RAM for your M6800 EXORciser*

The RANK 68MX16 features:

• 16384 bytes of fully static MOS memory in 4Kbyte arrays.

O TMS 4044 memory chips with 450ns maximumaccess time.

• Plug-in compatible with Motorola's EXORciser*,Micromodules* and D-2 Kit.

• Switch selectable write protect for each 4K array.

• Jumper selectable base memory address foreach 4K array.

• Fully buffered bus interface.

• Single t5V supply.

• Available in 8K version - same board with 8K ofmemory chips - $345.

• Not a kit - fully-assembled, burned-in and tested.

• Full six month parts and labor warranty.

• Shipment: Stock to 30 days.

RANK PERIPHERALS OF CANADA LTD.

PO Box 7, Victoria Station, Montreal, P.O. H3Z-2V8

(514) 481-5431

•Trademarks of Motorola Inc. ••Single quantity price in US funds.

176

January 1979 © BYTE Publications Inc

Circle 313 on inquiry card.

Circle 231 on inquiry card.

SUMMARY OF COMMANDS

Command

Options Available

C: clear file area.

E: enter the editor.

2,3,5,6.

I: input lines.

3,4,5,6.

J: jump to top of monitor.

L: list file as entered with line numbers.

1,3.

M: return end of file address in memory.

P: print file as entered or justified.

1,3,6.

Options

1. CTRLC: abort printout.

2. CTRL I: tab to next selected character.

3. CTRLS: halt printout until a second CTRL S

is sent.

4. CTRL X: erase current line, reissue >prompt.

5. DEL : delete last character typed in, echos

underline

or back arrow.

6. \ : a backslash decodes as a carriage return and

line feed in the print

justified routine.

Listing I: Typical session with the Micro Word Processor system. Commentsregarding the listing are in italics.

11 In first tints are input Into the file. \me use at DEL toCDHMAND? I erase errors in typing-)

>t0 We hold these truths to be self-evident: that all Men are created equal,>12 that thev are endowed by their c: Creator with certain un inalienable rights,>14 that anong these are life, and the permit of happiness. Thattci to>16 secure these rights , governments are instituted anong Men, deriving their>18 just powers fron the consent of the governed.

COAHAUD?

tl/h file is listed back to the

'.)

10 Ue hold these truths to be self-evident: that all Men are created equal,

12 that they are endowed by their Creator with certain inalienable rights,

14 that anong these are life, and the persuit of happiness. That to

14 secure these rights, governnents are instituted anon? Men, deriving their

18 just powers fron the consent of the governed.

(The word liberty is missing iron! line /■/. The edit routineIs used to Insert it. I

CCWMAIID? E

LINE NO.? 14

CHAR.? ,

that anong these are life, liberty, and the persuit of happiness. That to

>

COMMAND? PCOPIES!01-??)-01

JUSTIFY? YUIUTH(01-80)-50

(The

line

file is then printed back, using a 5G spat e maximum

eidlh.I

Ue hold these truths to he self-evident: thaiall nen are created equal, that they are endowedby their Creator with certain inalienable rights,that anong these are life, liberty, and thepersuit of happiness. That to secure theserights, governnents are instituted anong nen,deriving their just powers fron the consent of the■governed.

COHNAND? PC0PIES(01-??)-O2JUSTIFY? YU1DTH(01-80)-SO

(Ilie tile is printed again using t.are requested.)

SO spare tine. I wo copies

Ue hold these truths to be self-evident: that all nen are created equal,that they are endowed by their Creator with certain inalienable rights, thatanong these are life, liberty, and the persuit of happiness. That to securethese rights, governnents are instituted anong nen, deriving their just pouersfron the consent of the governed.

Ue hold these truths to be self-evident: that all Men are created equal,that they are endowed by their Creator with certain inalienable rights, thatanong these are life, liberty, and the persuit Df happiness. That to securethese rights, governnents are instituted anong nen, deriving their just powersfron the consent of the governed.

COMMAND'

>0B>

(A title is entered.)

THE DECLARATION OF INDEPENDENCES

S-100 USERS

GIVE YOUR COMPUTERTHE GIFT OF SIGHT!

The Micro Works is proud to announcea Digisector® for the S-100 bus. Thedevice that brought inexpensive videoimage processing to the S-50 bus isnow available as an S-100 compatiblevideo digitizer. Check these features:

# High resolution — a 256 X 256picture element scan

# Precision — 64 levels of grey scale

# Speed — 2 seconds or less for fullscreen digitization (128 X 128)

# Versatility — scanning sequencesuser programmable

# Economy — a professional toolpriced for the hobbyist

# Compatibility — you can use anyprocessor on the S-100 bus

• IMAGE PROCESSED BY DS-80 •

Applications include precision secur-ity systems, moving target indicators,computer portriature, fast to slowscan conversion for ham radio opera-tors, and salvation for a Droid in direneed of a wall socket. With clever soft-ware, the Digisector can read papertape, punched cards, strip charts, barcodes, and musical scores.The DS-80, like all Micro Works pro-ducts, comes fully assembled, testedand burned in, with fully commentedportrait printing software. An inexpen-sive TV camera and the DS-80 are allyou need to see eye-to-eye with yourcomputer! Price $349.95. Please allow2 weeks for delivery.

Mastercharge and BankAmericard

P.O. Box lllO, Del Mar, CA 92014(714) 756-2687

January 1979 @ BYTE Publications Inc.

177

Listing 1 continued:

COKMAIID? pi:0PIES(01-9V)-Ot

.JUSTIFY' N

(The tile is printed back as entered, without line numbers.)

THE DECLARATION OF INDEPENDENCESHe hold these truths to be self-evident: that all nen are created equal,that they are endowed by their Creator with certain inalienable rights,that anong these are life, liberty, and the persuit of happiness. That tosecure these rights, governments are instituted anong net), derivinj their,iust powers fro« the consent of the governed.

COMMAND? PCOPIES<01-??>-01JUSTIFY? YUIDTH<01-80>-80

(The filewidth.)

printed back justified, with an SO space line

THE DECLARATION OF INDEPENDENCE

Ue hold these truths to be self-evident: that all Men are created equal,that they are endowed by their Creator with certain inalienable rights, thatanong these are life, liberty, and the persuit of happiness. That to securethese rights, governments are instituted anong nen, deriving their just powersfrom the consent of the governed.

(The memory iuni lion shows the address ot I lie end of thefile. The lump lum tlon returns control to tire systemmonitor where a memory (lump of the file is done. I he filebegins at hexadecimal 2055 and ends ai hexadecimal

.'III).)

C0HMAHD1

1 H

21 ED

COMHANIH

' J

?D

2050

21EF

2050

FF

FF

FF

FF

FF

34

08

20

2058

20

20

20

20

20

20

20

20

2040

20

20

20

20

20

20

54

48

2068

45

20

44

45

43

4C

41

52

2070

41

54

49

4F

4E

20

<F

46

2078

20

49

4E

44

45

50

45

4E

2080

44

45

IE

43

45

5C

5C

5C

2088

on

50

10

20

20

20

20

20

2090

57

65

20

68

6F

6C

64

20

2098

74

68

45

73

65

20

74

72

20AO

75

74

68

73

20

74

6F

20

20A8

42

65

20

73

65

6C

64

2D

20BO

45

76

69

44

65

6E

74

3A

20B8

20

74

68

61

74

20

41

6C

20CO

4C

20

6D

65

6E

20

61

72

20C8

45

20

63

72

45

61

74

65

20DO

64

20

65

71

75

41

4C

2C

20D8

0D

4A

12

74

6B

61

74

20

20EO

74

68

65

79

20

61

72

65

20E8

20

65

6E

64

6F

77

65

64

20FO

20

62

79

20

74

68

45

69

20F8

72

20

43

72

65

61

74

4F

2100

72

20

77

69

74

68

20

63

2I0B

45

72

74

41

69

6E

20

49

2110

4E

61

6C

49

65

6E

41

62

2118

6C

65

20

72

69

67

68

74

2120

73

2C

0D

4E

14

74

68

61

2128

74

20

61

6D

6F

6E

67

20

2130

74

68

65

73

65

20

61

72

2138

45

20

6C

69

46

65

2C

20

2M0

6C

49

62

65

72

74

79

2C

2148

20

61

6E

64

20

74

48

65

2150

20

70

65

72

73

75

69

74

2158

20

6F

66

20

48

61

70

70

2140

49

6E

65

73

73

2E

20

20

2168

20

5*

68

61

74

20

74

6F

2170

OD

4C

16

73

45

63

75

72

2178

45

20

74

68

45

73

65

20

2180

72

69

67

68

74

73

2C

20

2188

67

6F

76

65

72

6E

4D

65

2190

4E

74

73

20

61

72

65

20

2198

69

6E

73

74

69

74

75

74

21A0

45

64

20

61

60

6F

SE

67

21AB

20

6D

65

4E

2C

20

64

65

2IB0

72

69

76

49

6E

67

20

74

21B8

48

65

69

72

0D

30

18

6A

21C0

75

73

74

20

70

6F

77

45

21 C8

72

73

20

66

72

4F

6D

20

21 DO

74

68

65

20

63

6F

6E

73

21 D8

45

6E

74

20

6F

64

20

74

21E0

48

65

20

47

6F

74

65

72

21 E8

6E

65

64

2E

0D

FF

40

00

mistakes as we type? When finished, ourcomputer could type back the page to uswithout any errors.

The desire for such a system led me todevelop my own word processor. It isdesigned to run on a minimal system uti-lizing the 8080A type microprocessor. Thecomputer will need only a single serialinput/output (10) port, some sort of hard-copy printer, and about 4 K bytes ofmemory, although less could be used.

The Micro Word Processor is a machinelanguage program that occupies 1 K bytes ofmemory space. It was designed to fit into a2708 type programmable read only memory.The text typed in is stored sequentially inprogrammable memory. The program is lineoriented to make editing easier. Various line

widths can be specified when the text isprinted back to the user.

The Micro Word Processor recognizesseven different commands. They are: C(clear), J (jump), I (input), E (edit), L (list),M (memory), and P (print). A summary ofthe commands and available options is givenin table 1.

The clear command clears the file areamaking room for new text to be entered.The jump command transfers programcontrol to the system monitor locatedelsewhere in memory. The input commandallows lines with line numbers to be enteredinto the file. Regardless of the order inwhich lines are entered, the program willplace the lines in ascending line numberorder. The edit routine is used to correcterrors or make changes in individual lines.The line number and a key character aresupplied and edit slews through a line untilthe character is found. Additional characterscan then be entered into the line or deletionsmade. List dumps out the entire file withline numbers as it was entered into thesystem. The memory function returns theaddress of the last character in the file. Theprint routine can either type back the fileas entered without the line numbers, orprint it with the user specifying themaximum allowable line width. The MicroWord Processor does not right justify, butit does check to see if the next word will fitwithin the allowable margins. If not, itsends a carriage return and line feed to theterminal and then continues printing. Atypical session using the Micro Word Pro-cessor is shown in listing 1.

The 1 K byte Micro Word Processor,written for the 8080/Z-80 and capable ofbeing implemented in read only memory,plus further documentation, is availablefor $4 postage paid from BYTE. Please usethe coupon below and order BYTE docu-ment number 102."

Please send copies of BYTE Nybble #_

Check Enclosed Signature _

.at

.postpaid.

Bill my BAC # _

Bill my MC # —

Name

Exp Date .Exp Date.

Street.City _

. State.

Zip Code.

Nybbles

BYTE Nybbles Library, 70 MainYou may photocopy this page if you

St, Peterborough NH 03458wish to keep your BYTE intact.

178

January 1979 © BYTE Publications Inc

Programming Ouickies

Listing J: A program for single stepping the 8080 processor.

Single Steppingthe 8080 Processor

Charles SharpPOB 3879Carmel CA 93921

This is a description of a routine for the8080 processor to allow single stepping withsoftware (see listing 1).

Often it is useful to be able to stepthrough a program one step at a time. To dothis from a software standpoint, it is nec-essary to have a register save area. In thisway, the registers can be stored, and the pro-cessor registers are freed to allow externalinput/output (IO) processing.

One straightforward approach is to inserta restart byte at each point, thus generatinga branch to the register save routine andback into the monitor. However, this pre-cludes stepping through read only memory,and the user must keep in mind where thenext restart is to be placed.

An alternate approach is to have a pro-grammable memory execution area wherethe program is transferred, byte by byte,and then executed under controlled condi-tions. The program needs to know the num-ber of bytes (one, two or three) of the opcode being simulated. In the accompanyingprogram (see listing 1), a table lookup isused to extract this information.

The code in listing 1 does not have anyprovision to display the register save area.Therefore, this code must be used as partof a more complete monitor system.

The basic idea is to initialize EXOP1 andEXOP2 to NOPs. A jump to RSTA is putin EXOP3. The one, two or three bytes ofcode is moved to EXOP EXOP1, andEXOP2. The registers are restored to theirsaved values and a jump is made to EXOP.Then all the registers are immediately savedby the jump to RSTA.

Then things become more interesting.What does one do about the jump, call,return and restart statements? After all,they do have some usefulness. Well, it isobvious that we cannot actually let thejump instruction go on to its original loca-

1FD0i ni1TE21FC31FD41FD6lFLfc1FD91FIAIFIjEIF DC1FDD1TDE1FDF1FE01 Fl?

ll-tlIS!?

*< ***■

10(7

leer-ieeAleec10-01le.'Fleie1012

181310151017

leisieiBieiDien

1221

ie?3

10LS1045

lee;.10ft;IPCS

i?ec

10 tF

ie?c

le">?H-74

107710 7A107B1C7C

u'7r.lff-e

******

1253

iet[ie=e

1?CE

lesslesiiap«

109710t£

lef'F

lf°£

1CA1

ica;me

13A°10A9

ie/Ale-AD

1MB10E1

ieFc

10B5

le 3e10B9

10BC10BF1BC1

iec4lacelece

DSDF-

EXCF DSEJ.CP1 DSFJCP2EX0F3EX0P4 DSMSTC2 DSF5AVE DSASAVF DSCSAVE DSSSAVE DSESAVE DSDSAVE DSISAVE DSESAVE DSSSAVE DSP5AVE DSMSTCS ECUORGHIIff**********

TABLES D**********

OCTEL DF

DWDI

DW3iDaDF

:■

SYTBL DWDWDtDWDWLwDWDWDB

RAM EXECUTION AREA

ADDRFLAGA RE

CBF

D

L

H

STAC

PROC

FSAVF

eee

P MSTCK

STEF

***********

ESS AND STACK SAVE LOCATION

SAVE LOCATIONGISTER SAVE LOCATIONGISTER SAVE LOCATIONGISTEk SAVE LOCATIONGISTER SAVE LOCATIONGISTER SAVE LOCATIONGISTER SAVE LOCATIONGISTER SAVE LOCATIONK POINTER SAVE LOCATIONRAM COUNTER SAVE LOCATION

31D81P

c;e?ia

TO LOOK UP CERTAIN

CLTELCETBL

13 LD

STA

RAR

HI

DAD

SKID

RAL

LDA

IXI

PUSH

F'JS

?'J : :-

IXI

JMf

res

BRTY!

CALTY

RETYF

FIMRETYPEXCYCP/RTYPIXCYCCALTYEXCYCEXCYCRSTTT75591 55935595FD95CF95ED9i**«******»*

POINT AFTER***********

LSAVEASAVE

H ("000

S?

SSAVE

ASAVE

SP LSAVE

L

B

FSW

SF MSTCK

ISPLY

34J.1

CD

471 1

Ci,

5511

7t

7D1P

5511

CBir

3411

CB10

4711CB10CB10

ecu

15593D5914EC95DD95*********IMULATION*************

SET UP STACK POINTER

ENTRY TO SINGLE STEP**********************************OPCODES AND JUMP LOCATIONS *

********#4**«**********4**********

PCRL INSTRUCTION BYTE

JMF INSTRUCTION BYTE

CALL INSTRUCTION BYTE

RET INSTRUCTION BYTE

HLT INSTRUCTION BYTE

D593D591D59CC95DD95DC9*************************

OF OPCODE IN RAM AREA

****************

tfp rvi

STA

LXI

SHLD

LXI

Sl-l.J

LilLD

MOV

STA

CALL

LHLD

CPI

JZ

CPI

I NX

rov

STA

n

I '.XMOVSTAE INISHLDLLALXIMVICALLA N ICFIJZ

EX0P3H

EI3P1•j

EX0F4

PSAVF

A

EXOP

TCNT

PSAVI

01

NMi

0?

ex on

NMB

H

A

EXCP2

H

FSAVF.

EXOP

H

B

TBCHK

C0

C0

SYSOP

C30000

************

10CF10CC13CD!ECE

leti

ICE?10D5

EXCYC POPPOPPOP

LKLD

SPHL

LHLD

JMP

******** ** *4

******

1BD910DE10DL10E0

ICNT LXICPIJCIXI

REGIST*******

PSW

3SSAVE

LSAVE

EXOP*******

RETURAS OPCC*******

H

40

f-AF.CN

ER At*****

22DE1F SAVE fi3 2D91F TEMP SAVE AIF ROTATE CT TO ACCUMULATOR

210000 GET 0'S IN F.-L39 GET VALUE OF STACK POINTER

22DF1F SAVE VALUE OF STACK POINTER17 RESET CY TO PROPER VALUE

JAC91F GET VALUE OF AJlDfclf SET STACK POINTER TO LSAVEI:! SAVE D-E

C5 SAVE B-C

Fd SAVE PSW

JlEfjlf RESET STACK POINTERC;'.7'/7? USER DEFINED DISPLAY ROUTINEAND LOOP CONTROL********************************************

TEP LOOP CYCLE *

A*******************************************

3F.C3 GET JUMP OPCODE

22D31F STORE IN RAM EXECUTION AREA

C10000 GET 0'S IN H-L

22D11F MAKF 2ND 5 3RD BYTES NOP'S

21E5ie GET RETURN POINT IN H-L

22341F STORE IN RAM EXECUTION AREA

2AF11F LOCATION OPCODE TO BE SIMULATED

7E GET THE OPCODE BYTE

32D01F STORE IT IN RAM EXUCUTION AREA

CDDM0 GET NUMBER OF blTF.S FOR OPCODE

2AF11F GET PROGRAM COUNTER IN H-L AGAIN

JE01 see if ONE BYTE INSTRUCTION

CAE51B IF SO, UPDATE PSAVE

SET Z FLAG - TWO BYTE INSTRUCTIONFOINT TO SECOND BYTEFETCH THE' SECOND BYTESTORE IN RAM EXECUTION AREAZ SET IF TWO BYTE INSTRUCTIONPOINT TO THIRD BYTEFETCH THE THIRD BYTESTORE IN RAM EXECUTION AREA?."' INCREMENT TO PROPER VALUE22F11F STORE NEW PROGRAM COUNTER3AD01F GET THE OPCODE BYTE AGAIN210F1P SET B-L TO BFGINING OF OOTBLe6e5 SET COUNT OF NUMBER OF ENTRIESCD0711 SEE IF IN TABLE

EEC0 MUST NOT BE, GET HIGH OCTAL PARTFEC0 SEE IF IT IS THREE

CA1S11 JUMP TO SYSTEM TYPE OPCODES IF SO****************************

TACK POINTER RESTORING SEQUENCE *

**********************************

FF02

32D11F

CAB510

7E

32D21F

*******

****

N NUMDS ON

***********

H RESTORE PSW

CI RESTORE E-C

Dl RESTORE D-E

2ADF1F GET VALUE OF STACK POINTER

P9 RESTORE STACK POINTER VALUE

2ADE1F RESTORE H-L

C3D01F EXECUTE THE OPCODE

*****4*4*«**«****«*S******************«******

BER OF BYTES FOR OPCODE •

ENTRY AND EYTE COUNT ON EXIT *

*********************************************

L 21251P GET 1ST PART OF OP COUNT TABLE

FE40 SEE IF LOW PART OF OP COUNT TABLELAEE10 IF SO NEED TO LOOK UP TEE COUNT

L 2-1451? GFT SECOND PART OF OPCOUNT TABLE

lanuary 1979 (> BYTE Publications Inc

179

Listing I, continued:

ifE3

Sli]

LI

cece

St £

IF 2ND PART OF OP COUNT TABLE

lets

;nc

makcn

D2EE10

IF SO NEED TO LOOK UP THE COUNT

12E8

-VI

* 01

3Ef 1

It NOT, COUNT MUST BE 1

lfEA

RET

CP

AND NO MORE TO DO

13Ei

MAKCN

CPI

04

FE04

SEE IF LESS THAN OR EQUAL TO 3

IP EI

JC

SXrYT

DAFt 10

IF SO EXTRACT THE BYTE

10FP

INX

»i

23

POINT H IS NEXT PYTE

ien

SOI

04

D6C4

SUBTRACT 4 FROM ACCUMULATOR

10i3

:"F

MAKCN

C3EU0

TFY AGIAN

i??e

FXBTT

05A

*

F?

SET FLAG IF » SUBTBACTED TO ZEEO

10F?

RLC

07

DOUBLE VALUE IN A

ib re

mov

f i.

4 7

SAVE A IN B

iaig

rov

* M

71

GET BYTE OF OPCOUNT INFORMATION

i?f»

JZ

S STC Si

CA0P11

EXTRACT DATA IP I FLAG=1

13FD

RLC1U

RLC

07

ROTATE ACCUMULATOR LEFT ONCE

ietE

DCS

b

0 5

ONE LESS FOR B

ie?i

JHZ

BLC If

C2FD10

RCTATE SOME MCBE B NOT ZEPO YET

ne?

FSTCN

RLC

07

ROTATE V»LUE TO BIT 0

1102

5I.C

07

AND TO BIT 1

1104

AN]

P3

E6 03

MASK OUT REST OF BYTE

1 i?f

h FT

C9

OPCODE BYTE COUNT IS NOW IN »

****:>*

***«*

******

********************************************************

*

C

IECK TABLE FOB BY

i. S.1D JUMP

TO CORRESPONDING ADDRESS *

******

***********

********************************************************

Ilt7

tPCIK

1KB

F

04

INCREMENT LOOP COUNTER

nee

TK1

BCR

i

05

DECREMENT LOOP COUNTER

1 le?

BZ

ce

IF B IS ZERO, BYTE NOT IN TABLE

i if*

CMP

M

PF

SEE IF BYTE IN TABLE

uep

JZ

TBC?

0*1411

IF SO, THEN NEED ADDRESS

ne;

ttti

H

23

SKIP DATA PYTE

net

INI

r.

23

AND SKIP THE TWO

HIE

IN)

H

23

SUBSEQUENT ADDBESS PTTES

im

Jrr

TBC1

CifWll

DC THF LOOP AGAIN

1 114

TEC2

POP

D

Dl

RESTORE STACK POINTER

i ne

1 nx

E

23

POINT TO LOW ORDER ADDRESS BITE

i lie

J-ip

HLJMP

C32611

GET ADDRESS AND MAKE JUMP

**«********»****«*4***4******#*************«****»*«***«******************

*

SYSTEM

TYPE OPCCDES--HIGH CP.LER OCTAL P*BT IS 3 *

*

*

JUMP

IS MAM TC THE APFROPR

»TE ROUTINE CONSISTENT »

•*

VITB THE :

01 LOW INC

OCTAL OBGAMAZATION OF THE OPCODE «

HETYP

. EXCY

e

PRTYP

EICYC . C»LTY

EXCTC

EXCYC .RSTTT *

4*

3X0

. 311

312

3X3 . 3X4

3X5

3X6 . 3X7 *

*

PNZ

POP

p

JNZ

JMF . CNZ

PUSH E

tDI . RSTP *

•

RZ

. FET

JZ

—- . CZ

CALL

ACI . RST1 «

*

RNC

.

JNC

OUT . CNC

PUSH D

SU1 . RST2 «

*

BC

POPB

JC

IN . CC

SBI . RST3 •

*

RfO

. PCHl

JPO

XTHL . CPO

PUSH H

AM . RST4 *

*

RFF.

POP

H

JPE

XCBf, . CPE

XH . RST5 »

*

RP

POP

P

JP

DI . CP

PUSH P

OBI . RST6 *

*

rm

SPHL

JM

EI . CM

CPI . RST7 *

*

NOTE:

W

JMP , B F.T

CALL, AND

PCBL H»VE BEEN ELIMIN*TED *

*

FROM CON

[DERATION

(T THIS POINT »

*****************

***********

********************************************

1119

SYSOP

LI1

H SYTB

211510

CET START OF SYTBL ADDRESS

111C

LD*

EXCP

3ADP1F

CET OPCODE

hie

AM

27

E607

GET LOW ORDER OCTAL FART

*»**»=

**********************

>***«*«****«********•*****•*«****************

*

INDIRECT

JUMP COMPUTE ROUTINE •

«* «**«

*****

******

***********

**********

I*********************************

1121

ISJKP

ADC

i

37

MULTIPLY BY TWO

1122

mov

E A

5F

SET UP FOR COMPUTING

1 123

HV1

D 20

ieee

THE OFFSET

1 12"

DAD

D

:»

COMPUTE THE OFFSET

1126

HLJMP

MCV

Z M

5E

LOW ORDER ADDRESS

1127

INI

H

23

POINT TO HIGH ORDEE ADDRESS

1126

MOV

D

56

HIGH ORDER ADDRFS

1129

ICHG

EB

MOVE TO H-L

U2A

PCHL

ES

MAKE THE JUMP

4****4

*****

*****************

>***«********«*«**********««**i**************«

*

INSTRUCT!!

N SIMULATION EOUTINES •

******

*****

*****************

********************************************

1 Hi

pea

LH-L

LSAVE

2»DE1F

CET ORIGINAL VALUE OF H-L

112E

sum

FSAVE

22E11I

UPDATE PROGRAM COUNTER

1131

jmp

FIN1

C37D10

FINISHED

1 134

BRTYF

LHLD

EXOP1

2AD11F

GFT USER'S JUMP-TO ADDRESS

113?

XCHG

EB

FA3S IN D-E

1136

LXI

h ;mfs

213E11

SUCCESSFUL JUMP »DDRESS

U3B

J MP

BBSS

C34E11

COMPLETE BR*NCH OPERATION

113E

JMFSC

LHLD

MSTC2

2AD61F

GET JUMP ADDRESS FROM MSTC2

1141

SHLD

FSAVE

22E11F

STORE THE ADDRESS

1 144

jmp

FINI

C37D10

FINISHED

1 14?

CiLTI

LHLD

EXOP1

2AD11F

GET USER'S CALL ADDRESS

114*

XCHG

EE

PASS IN D-E

11411

LXI

H CALS

217511

SUCCESSFUL CALL ADDRESS

114E

BB5B

SHLD

EXCP1

22D11F

RFPLACE JUMP ADDRESS IN RAM

1151

XCHC

EB

PASS USER'S SAVED ADDRESS IN H-L

1152

J MP

FLRS

C35811

RESTORE FLAGS AND EXECUTE

1155

RETYP

LXI

3 BFTS(

216411

RETURN SUCCESSFUL ADDRESS

1 156

FLRS

POP

PS*

Fl

RESTORE FLAGS

1159

push

PS*

F5

RESTORE ST*CK POINTER TO MSTCK

115*

PUSH

B

E5

PUT USER'S *DDBESS AT MSTCK-2

1 1 f B

LXI

H FINI

217D10

GET RETURN POINT

1 15E

SHLD

EXOP4

22D41F

FOR UNSUCCESSFUL CALL/RET

nei

JMJ

EX OP

C3D01F

EXECUTION STEP

1 164

FET5C

LHLD

SS»VE

2ADF1F

CET ORIGINAL STACK POINTER VALUE

1167

SPBL

F9

RESET STACK POINTER TO THIS VALUE

net

POP

B

El

RETURN »DDRESS - ORIGINJL STACK

u eg

J MP

SAVFS

C36011

UPDATE PSAVE AND SSAVE

1 lfC

RSTTY

LD*

EXOP

3AC01E

GFT OPCODE

HUE

*NI

36

E636

EXTRACT MIDDLE ORDER OCTAL PART

1 171

MOV

I. *

fcF

WHICH IS LOW ORDER ADDRESS

1 172

"VI

H 00

2600

FILL H WITH 0 'S

1 174

PUSH

B

EE

SAVE AT MSTCK-2

1 175

CAL3C

LHLD

SSAVE

2ALF1F

CET ORIGINAL ST*CK POINTER V»LUE

1 175

SPHL

F9

RESET ST»CK POINTEB TO THIS V*LUE

1 179

LHLD

PSAVE

2»F11F

GET RETURN *DDBESS AFTER C»LL

117C

FU5H

H

E5

PUT ON ORIGINJL STACK

1171

LHLD

MSTC2

2*Dt"lF

GET ORIGINAL CALL ADDRESS

1160

3AVPS

SHLL

PSAVE

22F11F

UPDATE FSAVE TO CORRECT ADDRESS

1 163

LXI

h fPfe

210000

FILL H-L WITH e'S

i ise

DAD

SP

39

GET VALUE OF STACK POINTER

Hi?

SHLD

55

AVE

22LHF

SAV!

- NEW VI

LUE OF STACK POINTER

tion. Furthermore, all these branch typeinstructions have about eight other varia-tions depending on flag conditions. So wemust:

1. Save the original address.

2. Substitute our own address.

3. Restore the flags.

4. Decide whether we branched or not,and take the appropriate action.

The appropriate action is:

PSAVE depending onthe branch occurred or

1. Updatewhethernot.

2. Update SSAVE depending onwhether a stack operation occurredor not.

Note that the instruction PCHL (replacethe program counter with value in H and L)needs special treatment. A halt instructionshould not be executed!

This necessitates a lot of branchingaround depending on what we have to do.The code may take some study to under-stand. The entry point is at 1000 hexa-decimal (all numbers are in hexadecimal).

Upon entry it is assumed that PSAVE isset to the starting address. Space is providedfor a jump to a user-defined display routineand to return to the user's monitor. Thereentry point is at SSTEP. The ORG for theprogrammable memory execution areaallows about 30 bytes of an auxiliary storagearea after the register save area and beforethe end of the 1 K byte block of memory. Inpractice, the setting of MSTCK controls theregister storage location.

Author's Note:

The program in listing 1 has been writtenfor use on the 8080 microprocessor basedHewlett-Packard 2649A terminal. This is tobe used in conjunction with a disk storagesystem as the controller for 40 point ofsale cash registers of a large department storechain. That is my professional interest.

This code was adapted from the original(and well debugged) source code. It shouldwork fine. It is in a somewhat nonstandardIntel 8080 assembly code format. There area few abbreviations and fixed format. MostlyI wanted to present some of the conceptsthat are involved.

I have an I MSA I which I am configuringfrom the ground up. The whole monitorwith display, change, go, single steppingand breakpoint commands takes about I Kbytes of memory. ■

180

Linuary 1979 BYTE Publications Inc

Circle 32 on inquiry card.

The Independent Newsletterof Heath Co. Computers

The independence of Buss is a crucial factor in opinions

its significance to users (and prospective users) compatibl

of Heath Co. computers. Information on new prod- as well a

ucts is presented to Buss readers as it leaks out the mostof Benton Harbor, not held back to suit the plans Every i

of the manufacturer. This has been true from its (outside

first issue, which directed attention to the 8080 extra),

and LSI-11 months before any advertising appeared way to yo

on the H8 and Hll. Buss features candid accounts starting

of owners' experiences with their computers—this available

is far more valuable than an article based on the Pennsylva

of a single reviewer. It shares news ofe hardware & software from other vendorss reviews of books that can help you getout of your computer system.ssue of Buss travels by first class mailNorth America it goes by air for only $2Your 12-issue subscription can be on itsu within a week. You have the choice ofeither with the latest issue or with allback issues. Send $7.50 to Suss, 325-Bnia Ave. SE, Washington, DC 20003.

Solution to Machine Language Puzzler (see page 52)

The subroutine calls itself, and an infiniteloop is set up that is exactly one instructionin length. Each time the CALL is executed,however, a return address of 0000 is pushedonto the stack. As a result of the LXI SP,FFFD instruction, the stack area will beginimmediately adjacent in address to theCALL (recall that PUSH causes stack data toenter one address below that of the currentstack pointer). Furthermore, the stack willgrow away from the address of the CALLinstruction.

At first, the LXI instruction code will bereplaced by 0s, which is the value for eachbyte of the CALL's return address. As timeprogresses, two bytes at a time are clearedas 0000 return addresses are repeatedlypushed.

Eventually, all memory lower in addressthan the CALL will be cleared. When thestack attempts to grow below address 0000,it will wrap around to the top of memoryand begin to affect the CALL instructioncode. Since the last byte of each push entersan odd address, a byte pair constituting the0000 return address will enter at hexa-

decimal addresses 0000 and FFFF, respec-tively. This action changes the high byteof the CALL address.

The next CALL will then be to address00FD. Since 0s have been written in allother memory, the processor will executeNOP instructions until address FFFD, whenone final CALL will be executed. This time,the last two remaining bytes of nonzerocode (the CALL instruction code) are over-written with zeros. Henceforth, starting ataddress FFFD, the processor will cyclethrough memory in NOPs, forever. In short,all memory is cleared and the processorhangs up.

The same operation occurs as in part (a),except when the NOP instructions areexecuted. We assume, as is typical of mostmachines, that uninstalled memory returnshexadecimal FF when addressed. In thiscase, FFFD and FFFE are not cleared,because FF, when executed, causes a RST 7.Now 0101 as a return address to RST 7 ispushed repeatedly, and eventually LXI B,0101 is executed forever in a loop betweenhexadecimal addresses 0000 and 01 02."

□AM YOUR COMPUTER

Data

Acquisition

Modules

CSU

c

NOW YOUR COMPUTER CAN LISTEN TO THEREAL WORLD YOU GET 16 8 BIT ANALOGINPUTS WITH OUR A1MIG.

AIM161 STARTER SET

AIM161

POW1ICON

MEASURE - RECORD - CONTROL

POWER MODULE

OUTPUT CONNECTOR - 1B PINSSOLDER EYELETS

TEMPERATURE

•

ENERGY CONSERVATION EQUIPMENT

DIRECTION

•

GREENHOUSES

PRESSURE

•

SPEED

LIGHT LEVELS

•

WEATHERSTATIONS

db

•

NOISE POLLUTION

POLLUTION CONTROLS

•

PH

DARKROOMS

•

EARTHQUAKE TREMORS

HUMIDITY

•

VELOCITY

LIGHT

•

ACCELERATION

JOYSTICKS

•

GAMES

flSESSS

lUiMltrUM)

■189.00

CONNECTICUT microCOMPUTER

150 POCONO ROAD

BROOKFIELD, CONNECTICUT 0630412031 775-9659

DM!

Circle 77 on inquiry card.

January 1979 O BYTE Publications Inc

181

Elements of Statistical Computation

f START J

s=o

N = 5

I = 1

'

„

INPUT XII)

1 = 1 + 1

M=S/N

PRINT M

f STOP J

( START J

s = o

N = 5

I = 1

\

'„

1NPUT X

s = s + x

1 = 1 + 1

S I

>N \

NO

( STOP )

Figure 2: Second methodof calculating the meanof a set of data. The datais examined only once andit does not need to bestored.

Alan B Forsythe, PhD

University of California

Health Services Computing Facility

Los Angeles CA 90024

The mean (average) is a frequently usedstatistic to summarize a set of data. It is usedto report a typical value. For example, sup-pose we surveyed five automobile dealersand asked the price of the super luxurymodel car. The prices quoted for the car are:

Dealer

123

4

5

Price

$48,499$48,503$48,500$48,498$48,500

Figure J: Calculation of the mean of a set of data. Using this method, thedata values are used twice: once for input and the second time for summation.The method is wasteful of both time and memory.

We could report the average price as:

(48499+48503+48500+48498+48500)5

The sample mean price is $48,500.

The mean is defined as the sum of thevalues divided by the number of values.This can be written using the symbol 2 (theGreek capital sigma) to stand for the resultof summation. The average of N values is:

mean = irrSX

The sigma indicates a sum over all the datapoints.

Let's look at two algorithmic flowchartsfor the calculation of the mean. The first,figure I, reads all the data and stores it inarray X. Next, it sums the values and per-forms the division. The second flowchart,figure 2, takes advantage of the fact that wereally do not need to keep the values inmemory to form the average. Each value isadded to the total sum as it is entered. Theprogram loops through the data once ratherthan twice. The second method is more effi-cient because it uses less memory, is faster,and uses fewer instructions. This differencein efficiency may not be critical when onlyfive values are being averaged, but whenmany observations are involved, the impor-tance increases.

182 January 1979©BYTE Publications Inc

10 REM FIRST PROGRAM TO CALCULATE THE MEAN

20 DIM X(5)

30 LETN=5

40 LET S=0

50 FOR 1 = 1 TO N

60 INPUT X(l)

70 NEXT I

80 FOR 1 = 1 TO N

90 LETS=S+X(I)

100 NEXT I

110 LETM=S/N

120 PRINT "THE MEAN IS "; M

130 STOP

*RUN

?48499

748503

748500

748498

748500

THE MEAN IS 48500

Listing J: BASIC programto perform the algorithmgiven In figure I. Note thestorage of data in array X.

10 REM SECOND PROGRAM TO CALCULATE THE MEAN

30 LETN = 5

40 LETS = 0

50 FOR 1=1 TO N

60 INPUT X

65 LET S = S+X

70 NEXT I

110 LETM = S/N

120 PRINT "THE MEAN IS ";M

130 STOP

*RUN

748499

748503

748500

748498

748500

THE MEAN IS 48500

Listing 2: BASIC programto perform the algorithmgiven in figure 2. It is fasterthan the program in listingI, since it uses the dataonly once. It also uses lessmemory space since thedata is not stored.

There is another difference worth men-tioning. A noticeable pause between theentry of the last value and the printing ofthe average may result when the program inlisting 1 is run, since the calculations areconcentrated at this point in the program.Since the program in listing 2 does the sum-ming after each data entry, the effect is aquick final response. Of these two methods,one is more efficient even though bothwould give the same answer.

There is another statistical calculation inwhich we can easily obtain the wrong answerunless we are careful. The average of a set ofvalues gives only part of the picture. Youmay have heard of the man who drowned ina river that had an average depth of two feet.He happened to be in a section that was12 feet deep. The moral is that we oftenwant to know how much the values varyfrom the mean. This is commonly reportedas the standard deviation. The usual symbolfor the mean is X (read this as "X bar") andthe standard deviation is abbreviated as theletter s. It is also convenient to have a namefor s2. It is called the variance, and its defin-ition is:

.2 =

^2 (X-X)2

N

where N is the total number of samplestaken. It follows, then, that the standarddeviation is:

-4

i

N~

2 (X-X)

The sigma (2) once again tells us that weare to perform a sum. This time we sum the

deviations from the mean after we havesquared them. That is, for each value we firstsubtract the mean. Next, we multiply thedifference by itself to form its square. Weadd these squared differences for all thevalues and then divide by N —1. The last stepto obtain the standard deviation is to takethe square root of s2. It is calculations likethese that make statisticians appreciatecomputers.

Before we move on to programs for thecalculation of the standard deviation, let uswork through these calculations for ourexample automobile prices. Remember thatthe average price was $48,500. The pricefrom the first dealer was $48,499. The firstdealer deviates from the mean by (49,499—48,500) or -1 dollar. The square of thisdeviation is 1, That is the first part of oursum. The squared deviation from the averagefor the second dealer is 9, and so on. Thesum for all five dealers is 14. When we divideby 4 and then take the square root, weobtain a standard deviation of 1.87. Thesmaller this value, the closer the set of obser-vations are to their mean. A large standarddeviation tells us the data varied greatlyfrom observation to observation. A standarddeviation of zero says that all the observedvalues were equal to each other.

I f you were to go to a statistics book youwould probably find another formula forthis calculation which is sometimes calledthe computing formula. This method of cal-culation uses the fact that 2 (X^X)2 is alge-braically identical to 2X2-NX2. This tellsus that we can calculate the sum of thesquares of the individual values without sub-

lanuary 1979 © BYTE Publications Inc 183

trading the mean each lime. We can multiplythe square of the mean by N and subtract.Mathematically these two formulas givethe same answer. Numerically they aredifferent. Why? They differ because ourcomputers do not store or calculate numbersperfectly. If each number is stored in ourcomputer in four 8 bit bytes, or 32 bits, wehave about 7 digit accuracy for any singlestep in our calculation. The second formulalets the errors accumulate. This fact is notconsidered in the mathematical proof.

10 REM POOR PROGRAM FOR CALCULATING THE

15 REM MEAN AND STANDARD DEVIATION

20 LETN=5

30 LET S=0

40 LET S2=0

50 FOR 1 = 1 TO N

60 INPUT X

70 LETS=S+X

80 LETS2=S2+X*X

90 NEXT I

100 LET M=S/N

110 PRINT "THE MEAN IS "; M

120 LET D=N*M*M

130 LET V=(S2-D)/(N-1)

140 LETS=SQRT(V)

150 PRINT "THE STANDARD DEVIATION IS "; S

160 STOP

♦RUN

748499

748503

748500

748498

748500

THE MEAN IS 48500

THE STANDARD DEVIATION ISO

Listing 3: Incorrect program for calculating the mean and standard deviationof a set of data. This program correctly calculates the mean but arrives at anincorrect value for the standard deviation.

10 REM REASONABLE PROGRAM TO CALCULATE

15 REM MEAN AND STANDARD DEVIATION

20 LETN=5

30 LET S=0

40 LETS2=0

50 FOR 1 = 1 TO N

60 INPUT X

65 LET D=X-S

70 LETS=S+D/I

80 LETS2=S2+D*(X-S)

90 NEXT I

110 PRINT "THE MEAN IS" ; S

130 LET V=S2/(N-1)

140 LETS=SQRT(V)

150 PRINT "THE STANDARD DEVIATION IS ";S

160 STOP

♦RUN

748499

748503

748500

748498

748500

THE MEAN IS 48500

THE STANDARD DEVIATION IS 1.87083

Listing 4: Accurate program for calculating the mean and standard deviation.

Why is this second form given in books?First of all, some calculators work withmore digits than many personal computers.Secondly, it is much easier and faster thanusing the formula for the definition. TheHewlett-Packard HP-21 calculator shows 10decimal digits, as does the Texas InstrumentsSR-52. They can afford the luxury of round-off error that seriously hurts those with 32bits. Before we show how we can almost getthe best of both worlds, let us look at thenumerical results of using this calculatingformula on computers in which each numberis kept in four bytes. (The IBM 370 singleprecision and many microcomputer BASICsare just two common examples.)

The program in listing 3 correctly givesthe mean as 48,500. The standard deviationis computed to be 0. This is incorrect. Allthe prices are not equal to 48,500. Severalbooks of BASIC programs include the calcu-lation of the standard deviation. Those Ichecked out give the wrong answer for thisset of data.

Wc know that we get accurate results ifwe first calculate the mean and use the dif-ferences from it in our calculation of thestandard deviation. But we would like toavoid keeping all the data values in memory.Another alternative is to enter the datatwice, but this seems unreasonable. A com-promise between the two calculating formsthat is not very sensitive to the accumulationof roundoff errors is available. The principleis to calculate a provisional mean as eachvalue is entered, and to square the deviationsfrom this mean.

The program in listing 4 reports the stan-dard deviation for this set of data correctlyas 1.87. This program is not as obvious as itmay look. Notice that line 70 has a divisionby I and not N in the calculation of themean. Line 80 also has a little trick. Theproduct of D and X—S is not D*D, becauseS has been changed since D was last calcu-lated. If you have trouble working throughthe algebra, put print statements after lines65, 70 and 80.

While writing statistical programs formicrocomputers, I have been reminded ofseveral important facts / hope you will keepin mind. Good programming takes thought.We must balance several factors: speed,accuracy and memory requirements. Algebrais an essential tool, but we must rememberthat our machines have finite precision andadjust our program accordingly. A smallmachine can be quite potent, given adequatesoftware."

184 January 1979 6 BYTE Publications Inc

Short Cassettes for Personal Computers

cio

List $1.00 10 for $7.50 50 for $32.50

I MICROSETTE CO. \777 Palomar Ave. • Sunnyvale, CA 94086

1 1

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 $1.00 each in100 quantity.

MICROSETTE CO.777 Palomar Ave. • Sunnyvale, CA 94086

\ TRS-80 J

SPECIAL PROMOTION SALE

SAVE 10%, 15% or more on ALLComputers, Peripherals, Software,and ALL other fine Radio Shack®products.

NO TAXES on out-of-state ship-ments.

FREE Surface delivery in U.S.

WARRANTIES will be honoredby your local Radio Shack® store.Offered exclusively by

Radio Shack8

Authorized Sales Center

1117 Conway

Mission, Texas 78572

(512) 585-2765

hv

^

J

tek

• Sanyo monitor modelVM4209 $109.95

• ASR33 TeletypesUsed — Good conditions

$395.95

• ADM-3ATerminal kit.

5549.99

All items shipped with war-ranty and are postpaid. Pleaseallow 4 -6 weeks for delivery.Florida residents add 4 % sales tax.

Send check or money order to:

tek peripherals

5110 S.W. 106 AvenueMiami, FL3316 5

Circle 229 on inquiry card.

Circle 304 on inquiry card.

Circle 349 on inquiry card.

M®mmmm%Mm

for North Star HORIZON using full

set of ZILOG mnemonics.

(1) EDITOR — generates and edits

source code with comments12) ASSEMBLER - generates opcode

and links subroutines(3) LOADER - generates and loads

binary codeShort or long programs can be processedby the file oriented package written inNorth Star BASIC (Release 4). Filehandling, string insertion and deletionand table searches are implemented inZ80 machine code for a fast operation.

Diskette and manual with full pro-gram listing in BASIC and Z80commented assembler:

NEMCO DATA PROCESSING

9 WALNUT STREET

RUTHERFORD, NJ 07070

PROGRAMMINGCONTEST !

MICRO-PUZZLE NO. 2

PRIZE- FLOPPY DISK SYSTEM OR $1000 CASH^ PRIZE- FLOATING POINT BOARB QR $'.00 CASHJ PRIZE- AUDIO INTERFACE OR 1200 CASH

M

1

C

R

0

0

N

L

A

PEN

0

L

1

V

N

E

V

E

S

T

E

D

S

AN THL HUMAN MIND SOLVE THIS PUZZLE EASIERTHE MACHI ME MIND? SOMEWHERE ON EARTH

THERE MUSI BE A COMPUTER THAI CAN BEAT THEHUMANS WHO EtMTER THIS CONTEST. THIS IS A

TOTALLY OBJECTIVE PUZZLE. PERFECT FOR COMPUTER50LUTION. WINNERS ARE BETERM1NE0 SOLELY ONTHEIR ABILITY TO GET THE HIGHEST SCORE IN ABOUTI MONTH? TIME. >\'h G 5th PRIZE ARE NOW S10 f) .

For entry form and officio] rules senda scl f addressed stamped envelope to:micro-puzzles Depi a 7838 Cantaloupe Ave.Van :iuys, California 91492

MICRO-VERTER

A SPECIAL COLOR MODULATOR FOR APPLE II USERS!!juhf Version. Operates above channel 14. Eliminates worms!

Operates above the switching harmonics of the computer,thereby yielding a cleaner, worm-tree picture. Tunableminium cf 4 channels. Interlaces directly withthe Apple II as well as most other micros, Comes with

ideo cable and RF output stub coupler. Two-toned cowltype decorator cabinet. Size: 5.5cm x 8.5cm i 11.5cm.Power:+5V. Current appro*, I ma. Self-powered with 4pence 11 batteries. Operating life in excess of 1000 hoursor near shelf-life of batteries. Excellent stability. Precisefrequency adjustment. Ho assembly required except torinstallation of batteries, not supplied. MODEL MVX-500.

AVAILABLE FROM YOUR LOCAL COMPUTER DEALER

direct from ATV RESEARCH. COST including shippinganywhere in USA and Canada— S35.00.

"PIXE-PLEXER" An IC type video-to-RF modulatorincludes FM sound sub-carrier, color subcarrier andseparate R-Y and B-Y inputs. Designed around theLM-1889 chip. A designer's dream with full data sheets.Model PXP-4500. Kit form. $24.50 postpaid.

"PIXE-VERTER" The original computer video-to-RFinterface module, Kit form: SB,50 Model PXV-2A

|PHON^rlVR^ET0tTATTDIAL40^T^T7l7

^Oo.

13-B Broadway ATV Research Dakota City, Nebr. tj»—i^h^ 68131

Circle 269 on inquiry card.

Circle 227 on inquiry card.

Circle 22 on inquiry card.

rHvilCRO SOFTWARE^DEVELOPMENT

THE COMPANY: Fastest growingcommercial systems manufacturer inU.S. 1978 sales in excess of 150million.

DUTIES: Design, code & debug 8080assembly programs for interactivegraphics, text editing, diagnostics, andother applications,

REQUIREMENTS: One or more yearsassembly development exp. with anyhardware. Degree a plus.COMPENSATION: 16.5K-28K. Excel-lent benefits,

GROWTH: Company has promotedover 50% of employees in last 4 years.CONTACT: Dave Adams, (617) 246-2815. N.E. Recruiters, 6 LakesideOffice Park, Wakefield, MA 01880.All fees, relocation and interviewingexpenses assumed by company.

OMSI PASCAL-1

AIIPDP-11S $1500

RSTS/E, RSX-11, RT-11, and IAS

rnrtcomputw 2340 sw canyon RoadPortland, Oregon 97201

TWX 910-464-4779

(503) 226-7760

HAZELTINE1400

only

$649.95!

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 - $950Horizon II ass. $1000 - $1999.00

MailOrderOnly.

TORASYSTEM29-02 23rd AvenueAstoria NY 11105

(212) 932-3533

Circle 291 on inquiry card.

Circle 346 on inquiry card.

Figure 1: A logic probetest circuit. The probe hasan audio output with twodifferent tones, one for ahigh logic level, the otherfor a low logic level. TwoLEDs monitor both singlepulses and pulse trains.

m

An Audible Logic Test Probe

James L Woodward

Most logic probes require the placementof a point on the lead to be checked and thesurveillance of a light emitting diode (LED)indicator. In a well-lit room, this is some-times difficult to interpret and often re-quires three hands. The probe offered herehas an audio output that is off when theprobe is floating, emits a low tone for alow state, and a tone one octave higher fora high state. Pulse trains and single pulsesare monitored with a pair of LEDs, and theprobe can be anything from a rough lengthof wire to a lead clip; none of the valuesare critical.

Construction

For use as a simple state checker, theconstruction is completely noncritical.However, if the circuit is to be used tomeasure high frequency circuits, it shouldbe built using good technique, with plentyof bypass capacitors on a good quality

board. Note that there are audio frequenciesto be bypassed as well as high frequencyinformation (a couple of capacitors in themicrofarad range across the power supplywould be wise). Practically any NPN transis-tors will do in the circuit of figure 1.

Theory

The timer, IC2, is wired to produce apleasing tone frequency for the high state.This is divided by two by ICIb for theoctave-lower low output. With no voltage onthe probe, the 330 £2 resistor on the emitterof the transistor holds pin 8 of IC3c high,despite the audio on the other input.Similarly, pin 2 of IC3a floats in a high state.The signal is inverted by IC3a and holds theoutput of IC3b high. With both inputs high,IC3d is low and, while a small DC currentflows through the speaker, no sound is pro-duced. A high level on the probe has noeffect on IC3a and IC3b, but allows the

186 January 1979 © BYTE Publications Inc

Circle 70 on inquiry card.

transistor to conduct, thus forcing pin 9 ofIC3c high and allowing the audio frequencythrough in inverted form (the inversion isirrelevant in this application). Since theother input of IC3d is high, the audio goesstraight through to the speaker. A low onthe input probe produces the complemen-tary effect; being inverted by IC3a, it allowsIC3b to output the low frequency from thedivider, which goes through IC3d and thespeaker.

Having half of a 7474 flip flop available, Idecided to add a simple pulse catcher andpulse train monitor. IC1a is also wired as adivide by two, with both outputs going toLEDs. A single pulse will change the statesof the two LEDs (as will a loose touch onthe probe, so better use a clip for this), whilea train will light them both. Technically, theduty cycle of the pulse train affects therelative brightness of the two lamps and thecombination of the two audio frequencies,but I doubt that this is useful in a real case.However, the audio frequency shift is arapid indication of the presence of a non-steady state. The logic of the divide by twopulse catcher may be extended by cascadingseveral counters to divide the frequency of afast pulse train down to the point where itcould be mounted by eye, stopwatch, orfrequency counter."

You've Got to HaveSOL®

NOW!!! Computer Enterprises isan Authorized ProcessorTechnology Dealer!

SOL-20

PT-SOL-20: SOL-20 Terminal Com-puter with SOLOS andCassette BASIC. '1895.00

PT-SOL-1-A:

PT-SOL-3-A:

SOL System l-A Includes allof above plus 16K RAM,PT-872 Video Monitor.RQ-413A Cassette recorder

'2495.00

SOL System Ill-A includesSOL-20. 64K RAM.BOOTLOAD. Helios IImodel 2 Dual Disks with ex-tended Disk BASIC.PT-872 Video Monitor '6495.00

Processorlechnology

computercmcfpri/er

TM

P.O. Box 71

Fayetteville, N.Y. 13066

(315) 637-6208

III

! /

'7

raERNETIC

PRESENTS!

IE: tJI -»fcSfc* COWfKUU-l^K'

The world's onlysingle-chip LSI UniversalPrinter Controller is here!

The very low-cost 40-pin CY-480 controls ANY standard 5 x 7 dot matrixprinter with print speeds up to 200 cps! The CY-480 Universal PrinterController from Cybernetic Micro Systems is the first—and only—-40-pin LSIdevice which will control and interface any standard 5" x 7" dot matrix 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 throughstandard 8-bit ports. The CY-480 accepts either serial (RS232C) or parallel ASCIIinput from the host system's data channel.

The CY-480 replaces bulky, expensive dedicated controllers. The small,single LSI package offers a 5 x 7 dot matrix character generator, full upper andlower case ASCII 96-character font, and a 48-character (expandable )internal line buffer storage. Standard are a 10, 12 or 16 characters/inch variablecharacter density command, 2-color Selectable print command, forward/backwardprinting command, and horizontal and vertical independently expanded printcommand. The CY-480 provides graphics capability and includes a "flip-print"operating mode for 180° viewing. Ready lines provide full asynchronouscommunications with handshaking.

New 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

150 POCONO ROAD

BROOKFIELD, CONNECTICUT 06804

(203) 775-9659

Circle 87 on inquiry card.

Circle 77 on inquiry card.

January 1979SBYTE Publications Inc 187

Circle 2 on inquiry card.

MAXIMIZE

YOUR MICRO!

8080/Z80 System Software

Purchasing a microcomputer system, even attoday's low prices, is a significant investment.And to utilize that investment to its full extentrequires a solid base in system software. Don'tjust accept what comes with your hardware...there's a better alternative!

OPUS/ONE: Business-oriented, block-struc-tured high-level language. Includes suchcapabilities as extended arithmetic precision(up to 55 digits), multi-character variablenames, and easy to use string operations.Includes a built-in DOS with random accessfiles.OPUS/ONE $99.00

OPUS/TWO: Extends the capabilities ofOPUS/ONE with such features as error trap-ping, machine code and OPUS subroutinecalls, overlays, and more disc file commands.OPUS/TWO $195.00

FORTE: An OPUS run-only system monitor,perfect for end-user installations. Runs allOPUS Language programs.FORTE $60.00

S.O.S.: (Single-user Operating System) A full-function DOS which includes OPUS/THREE,a text editor (TEXTED), an assembler(ASSEMBL), and a package of useful systemutility programs.S.O.S $385.00

TEMPOS: The ultimate microcomputersystem software package. A multi-user/multi-tasking DOS which will handle up to 7interrupt-driven terminals simultaneously, in atrue time-sharing environment. IncludesOPUS/THREE, TEXTED, ASSEMBL, andmany utility programs.TEMPOS $785.00

All packages are upward-compatible. That is,programs and data developed underOPUS/ONE may be run at any higher level, upto and including TEMPOS.

Standard device drivers are available for manycommon peripherals; all packages includeSystem Generation capability, allowing theuser to interactively add drivers for any I/Odevice, including disc drives.

Like to know more? Circle the inquiry numberbelow or contact your dealer for your freecopy of our system software brochure! Forcomplete information, order your user'smanual now, and we'll apply the price towardpurchase of the software. Please add $1.50 permanual (set) for shipping/handling within theU.S. (Master Charge and VISA accepted).

OPUS User's Manual $12.50

S.O.S. Set (inc. OPUS Manual) $20.00

TEMPOS Set (incl. OPUS Manual).. $20.00

Dealer & O.E.M. inquiries invited.

ADMINISTRATIVE□□SYSTEMS□□□INC□□

1642 S. Parker Road, Suite 300

Denver, Colorado 80231

(303) 755-9694

188 January 1979 ©BYTE Publications Inc

Event Queue

In order to gain optimumcoverage of your organization'scomputer conferences, seminars,workshops, courses, etc, noticeshould reach our office at leastthree months in advance of thedate of the event. Entries shouldbe sent to: Event Queue, BYTEPublications Inc, 70 Main St,Peterborough NH 03458. Eachmonth we publish the currentcontents of the queue for themonth of the cover date and thetwo following calendar months.Thus a given event may appearas many as three times in thissection if it is sent to us farenough in advance.

January 8 & 9, The First InternationalSymposium on Mini and Microcomputersin Control, Islandia Hyatt House, SanDiego CA. The symposium is sponsoredby The International Society for Miniand Microcomputers (ISMM) and IEEEControl Systems Society. Over 50papers are to be presented includingtutorials and surveys. Contact Com-puters in Control Symposium, POB2481, Anaheim CA 92804, (714)774-6144.

January 8-12, Structured Program-ming and Software Engineering, GeorgeWashington University, Washington DC.This course is designed for experiencedprogram architects, designers and man-agers. H will provide up to date technicalknowledge of logical expression, analysisand invention for performing and man-aging software architecture, design andproduction. Presentations will coverprinciples and applications in structuredprogramming and software engineering.Design workshops with analysis andreview sessions will provide actual prac-tice in problem solving. Contact GeorgeWashington University, ContinuingEngineering Education, Washington DC20052.

January 11-13, Software Engineering forMini/Microcomputer Systems Seminar,Airport Marina Hotel, Los Angeles CA.Polytechnic Institute of New York andthe Institute for Advanced ProfessionalStudies are presenting a 3 clay seminarfor hardware designers and programmers.This seminar will cover computer systemdesign concepts within the context ofthe operation and application of theLSI-11. Contact Prof Donald D French,Institute for Advanced ProfessionalStudies, 1 Gateway Ctr, Newton MA02158, (617) 964-1412.

January 12-14, PerBizComp '79, Wash-ington Hilton Hotel, Washington DC.Business and personal microcomputershow. Contact Felsburg Associates Inc,12203 Raritan Ln, POB 735, BowieMD 20715, (301) 262-0305.

January 15-17, Bit-Slice Microcomputerand Digital System Design Seminar,Airport Marina Hotel, Los Angeles CA.Polytechnic Institute of New York andthe Institute for Advanced ProfessionalStudies are presenting this 3 day seminarfor digital systems engineers. This semi-nar will cover review of computerarchitecture and organization, designprinciples for bit-slice digital systems,introduction to microprogramming, de-tailed study of the 2900 bit-slice familyand comparison with similar hardware,survey of firmware aids and supporttools for system development, an intro-duction to emulation techniques, andtrends in bit-slice digital system design.Contact Prof Donald D French, Institutefor Advanced Professional Studies, 1Gateway Ctr, Newton MA 02158, (617)964-1412.

January 15-17, Minicomputers and Dis-tributed Processing, San Francisco. This3 day seminar will examine the uses,economics, programming and implemen-tation of minicomputers. Contact PhilipM Kowlen, director, Center for Continu-ing Education,The University of Chicago,1307 E 60th St, Chicago IL 60637.

January 16-1 8, The Seventh InternationalSymposium on Mini and Microcomputers,Disneyland Hotel, Anaheim CA. Thesymposium is sponsored by The Inter-national Society for Mini and Microcom-puters. The symposium will cover allaspects of mini and microcomputersand their applications. Over 60 papersare to be presented. Contact MIMI'79Anaheim, POB 2481, Anaheim CA92804, (714) 774-6144.

January 17-19, Distributed Minicom-puter Networks, Ramada Inn, ArlingtonVA. This seminar will address the mini-computer from the viewpoint of the dis-tributed network user. The structure andmanagement of a large data base andsoftware problems with the tradeoffs oflanguages utilized, hardware types, inputand output options, device controllers,system failure and recovery, sampleapplication case studies and the econom-ics of minicomputer applications willbe covered in depth. Contact The Insti-tute for Professional Education, Suite601, 1901 N Fort Myer Dr, ArlingtonVA 22209, (703) 527-8700.

January 24-27, International Micro-

Circle 222 on inquiry card.

computers/Minicomputers Microproces-sors '79/Japan, Harumi ExhibitionCenter, Tokyo. Contact ISCM, 222 WAdams St, Chicago IL 60606, (312)263-4866.

January 29-31, 27th Annual PhysicsShow, New York Hilton Hotel, NewYork. This show is to be held in conjunc-tion with the combined annual meetingof the American Physical Society andthe American Association of PhysicsTeachers. Contact Ed Greeley, AmericanInstitute of Physics, 335 E 45th St, NewYork NY 10017.

January 30-February 1, CommunicationNetworks Conference and Exposition,Sheraton Park Hotel, Washington DC.Designed to bring together communica-tion network users, consultants, vendorsand regulatory officials so that issues canbe discussed and analyzed. It is particu-larly aimed at executives and managerswho purchase communication productsand services. Contact The ConferenceCompany, 60 Austin St, Newton MA02160.

February 1-3, Microprocessor Program-ming Workshop With a Take-Home Micro-processor, Jefferson Plaza Building,Arlington VA. Sponsored by the IEEE,this 3 day workshop is intended for thepracticing engineer, engineering managerand programmer. The course objectiveis to provide state of the art informationin order to acquire an understanding ofthe place of microprocessors as replace-ments for wired logic and as controllers,to provide the capability of understandingthe design of systems involving micro-processors, and the ability to programthe Motorola M6800 microprocessor inmachine language. All students will havetheir own microprocessors and labora-tory equipment. Contact IEEE ServiceCtr, 2145 Hoes Lane, Piscataway NJ08854.

February 13-15, The National OfficeExhibition and Conference, HarbourCastle Hilton Convention Center,Toronto Ontario. This 3 day exhibitionwill provide a showplace for approxi-mately 100 exhibitors in the areas ofword processing, office computers, of-fice equipment and furniture. ContactCanadian Office Magazine, 2 Bloor StW, Suite 2504, Toronto Ontario,CANADA M4W 3E2, (416) 967-6200.

February 14-16, The IEEE InternationalSolid-State Circuits Conference, Phila-delphia PA. Forum for the presentationof new advancements in all aspects ofsolid-state circuits. Contact LewisWinner, 301 Almeria Av, POB 343788,Coral Gables FL 33134.

March 19-20, Microcomputers: OperatingPrinciples, Hardware and Software Sem-inar, Holiday Inn, Palo Alto CA. Poly-technic Institute of New York and theInstitute for Advanced ProfessionalStudies are presenting this two day sem-inar for engineers, programmers, and

technical managers involved with selec-tion of microprocessors and design ofmicroprocessor based systems. The sem-inar will cover the underlying conceptsgoverning microprocessor operation,architecture, and systems design. Micro-computer elements and their interrela-tionships will be discussed, emphasizingfeatures important in determiningwhether a particular microcomputer willbe suitable for a given task. Contact ProfDonald D French, Institute for Ad-vanced Professional Studies, 1 GatewayCtr, Newton MA 02158, (617)964-1412.

March 19-21, Modern Integrated Circuits,George Washington University, Washing-ton DC. This course is structured tomeet the needs of engineers, scientistsand technical managers who desire abetter understanding of the latest tech-nological advances in the area of inte-grated circuits. As such it examines allaspects of integrated circuit technology,starting from fundamental principles ofconstruction and operation, to the mostrecent devices, their characteristics andspecifications. A significant part of thecourse deals with the application ofintegrated circuits in linear and digitalsystems. Specific topics to be coveredinclude detailed design examples ofcircuits using operational amplifiers andactive filters, as well as computer arith-metic units, registers and memories.Contact George Washington University,Continuing Engineering Education Pro-gram, Washington DC 20052.

March 21-23, Microcomputer Hard-ware and System Design Seminar,Holiday Inn, Palo Alto CA. PolytechnicInstitute of New York and the Institutefor Advanced Professional Studies arepresenting this three day seminar forengineers, programmers and technicalmanagers with a working knowledge ofdigital hardware design and familiaritywith the underlying concepts governingmicroprocessor operation, architectureand systems design. This seminar willcover the operation, architecture, in-struction set and design techniques for8 bit microprocessors. The spectrum ofapplications from data processing tocontrol will be illustrated with fullydeveloped case studies. Contact ProfDonald D French, Institute for Ad-vanced Professional Studies, 1 GatewayCtr, Newton MA 02158, (617) 964-1412.

March 22-24, Future Fair, MemorialColiseum, Portland OR. This northwestregional exposition will feature bothprofessional and personal data processingproducts and services. Contact WES/COM, POB 4047, Portland OR 97208.

March 25-28, Expo '79, Los AngelesMarriott, Los Angeles CA. Expo '79is held in conjunction with the 16thNumerical Control Society AnnualMeeting and Technical Conference. Con-tact Numerical Control Society, 1800Pickwick Av, Glenview IL 60025, (312)724-7700."

THE END0FY0URSYSTEM

Put this SOROC IQ 120 at theend of your system for fast andsilent input/output.

$

795

00*

Put this T.I. 810 printer at theend of your system for fast andreliable hard-copy output.

$

1695

00*

Put this TELETYPE 43 at theend of your system for reliablelow-cost input/output.

$

999

00 *

"plus 2% handling.Shipped freight collect.

elKUCHDRflfUL:

MICROMAIL • BOX 3297 • SANTA ANA. CA 92703(714) 731-4338

Also DIABLO. LEAR/SIEGLER, DEC.Write or call for a free catalogue.

January 1979 © BYTE Publications Inc

189

Photo I: The IBM 704data processing system.Along the left wall ofthe room is the magneticcore storage. The opera-tor's console is in front ofthe central processing unit.Along the back wall is thepower supply, printer,card reader and cardpunch. The magnetic tapeunits are lined up alongthe right side of the room.

History of Computers

The IBM 704

Keith S Reid-GreenSoftware Systems DevelopmentEducational Testing ServicePrinceton NJ 08540

The IBM 704, announced in 1956, wasalmost the last vacuum tube computer. Itwas rendered obsolete by the 709 in 1959,which became the 7090 in less than a year.The addition of the zero suffix to the modelnumber denoted the replacement of vacuumtubes by transistors and the start of thesecond computer generation. The 704 wasvery definitely a first generation machinein the tradition of the giant brains (seephoto 1) of the 1940s and 1950s. Thecentral processing unit occupied a hugeL-shaped cabinet of about 120 cubic feet.There was not enough room in the cabinetfor the 32 K 36 bit words of core storagethat occupied its own box — another 100cubic feet at least. Today the computingpower contained in those two steel, glassand dark gray enamel cabinets can beequaled by a desktop machine; in fact

the latter would easily outstrip the 704's12 )is instruction cycle. Nevertheless, the704 was the ultimate computer of its time.

IBM software support for the 704 wasalmost nonexistent. Of course, in the daysbefore operating systems and multiprogram-mable computers, there wasn't much needfor support. The assembler and a few generalpurpose subroutines could be acquiredthrough SHARE (Society to Help AvoidRedundant Effort). On the other hand,support for the hardware was much inevidence. A customer engineer spenteight hours a day on the premises, includ-ing an hour long daily preventive mainte-nance session before the normal first shiftbegan. The session included bringing uppower, which took 15 minutes, and runningdiagnostics with voltages 20 percent aboveand below normal in an effort to find weakvacuum tubes. The effort was usuallysuccessful.

Before the advent of FORTRAN in 1958,written material for 704 programmers couldbe found in a single manual, IBM ReferenceManual, 704 Data Processing System. Its

190 January 1979© BYTE Publications Inc

100 pages contained a description of theinstruction set, operating instructions, anexplanation of the virtues of assemblerlanguage coding, programming examples,explanations of the binary number systemand binary arithmetic, and octal to decimalconversion tables.

The 704's input and output (10) unitsconsisted of a card reader, card punch, lineprinter, ten magnetic tape units, two mag-netic drum units (each composed of four2 K word drums) and a cathode ray tube.Off line, or peripheral, equipment consistedof three machines to process magnetic tape:card-to-tape, tape-to-card and tape-to-printertransfer devices. Important central processorfeatures included floating point hardwareand three index registers.

IBM designed the on line card readerfor binary cards; cards containing machinelanguage programs in binary object format.Since the 704 word length was 36 bits,cards were read row-wise into storage.Columns 1 thru 36 of the 9 row wereread first, followed by columns 37 thru 72of the 9 row, 1 thru 36 of the 8 row, etc.Columns 73 thru 80 could not be read;this restriction governs the present dayformat of the FORTRAN statement. Binarycoded decimal punched cards, the kind thatcame out of keypunch machines, could beread by the off line card to tape transfermachine, but naturally it was frequentlynecessary to read such cards on line. Arather complex subroutine was requiredto convert these cards to internal 6 bitbinary coded decimal, since they werepunched column-wise and read row-wise.

The ten magnetic tape units were referredto in programming by unit numbers 0 thru9. Unit numbers were dialed by the operatoron each tape unit, hence it was possible towrite two or three copies of a tape filesimultaneously. Of course, the possibilityof accidentally trying to read two files atonce also existed, invariably resulting ina yellow read check light, a halted com-puter, and an embarrassed operator.

Tape was moved at 75 inches (190.5 cm)per second, transferring 200 bytes perinch (2.5 cm) in 7 track format. Byteand track parities were generated andchecked automatically, although the wordsbyte and parity were not yet used. Paritychecking was called redundancy checking,and a byte was a character.

Probably the most remarkable piece ofequipment on the 704 was the cathode raytube. This early attempt to provide com-puter graphics capability was only partlysuccessful. A 1024 by 1024 raster wasaddressable, but each point had to be

All photos reproduced by permission of IBM Corporation.

Photo 2: The off line printer was coupled to a 727 tape unit by a 757 printercontrol unit. This and other peripherals permitted use of magnetic tape asthe 704's primary medium of input and output.

Photo 3: The 711 on line card reader read 24 36-bit numbers in row binaryformat from columns 7 thru 72. Columns 73 thru 80 could not be read.

January 1979 ©BYTE Publications Inc 191

Photo 4: The 727 tape drive, over 20 years old, is similar in appearance tomodern tape units. Note the address selector dial between the two rowsof buttons.

individually addressed. There was no linegenerator and no character generator. Themachine's 12 us cycle made it impossibleto run a complex display without con-siderable flicker. One of the big demon-strations of the time was a tic-tac-toe pro-gram. Though only a few lines were re-quired to display the game, the displayflickered noticeably.

The primary intent of the cathode raytube was for plotting, not interactive graph-ics. On a dedicated machine renting for$600 per hour, who could have affordedinteractive graphics? The video displaysystem was composed of two units: thevisible 21 inch (53.3 cm) screen and a 7 inch(17.8 cm) screen in a lightproof box. Ashutterless camera recorded the picture on35 mm film. Consequently, the 704 was oneof the very few general purpose computersto include a "change film frame" instructionin its repertoire.

The central processing unit, or calculatoras it is repeatedly called in the manual,centered around two registers: the accu-mulator and the multiplier-quotient (MQ)

register. The accumulator performed addi-tion, subtraction and logical operations.The MQ register served not only in mul-tiplication and division but also as theregister through which input and outputtransfers were made. Strangely, the accu-mulator was 38 bits long. It was composedof a sign and 35 numeric bits for arith-metic operations, a P bit used as the highorder bit instead of the sign in overflow,shifting and logical operations, (ie: Booleanand byte manipulations), and a Q bit to theleft of the P bit. The sole function of theQ bit seems to have been to generate ob-scure coding errors.

The 32,768 word maximum core storagerequired a 15 bit address portion in storagereference instructions. Three index registers,known to the 704's designers as registersA, B and C, were invariably referred to asindices 1, 2 and 4 by programmers, since theregisters corresponded to those bits in theinstruction's tag field. Indexing was sub-tractive, done by 2's complement arithmetic,and was another minor source of annoyanceto programmers. Because of the subtractiveindexing scheme, it was the usual practiceto index through a table starting with thelast word and moving toward the beginning.

Many other features of the 704 were achallenge to handle, but nevertheless themachine and its programmers contributedto more than just computer folklore. SeveralFORTRAN attributes that were developedon the 704 persist to the present day, forbetter or worse. The FORMAT statement,for example, was lifted bodily from aninput subroutine originally meant to readpunched cards and to convert specifiedfields to integer binary, floating pointor binary coded decimal. The three branchIF statement, now mercifully replaced bya more comprehensible IF-THEN type,was designed around the 704's compareaccumulator with storage instruction. Thisinstruction processed the following instruc-tion, or skipped one or two instructionsdepending on the accumulator being lessthan, equal to, or greater than the specifiedstorage location.

Most of the numerical methods asso-ciated traditionally with Newton's iterationor infinite series expansions were developedand in many cases refined on the 704. Thus,the software subroutines that are presentlyused in personal computers, intelligentterminals and microprocessors owe theirstart to 704 programmers and appliedmathematicians. The next time you takea square root or draw a circle on your videotube, remember the 704 — and be gladit's not around any more."

192

January 1979 & BYTE Publications Inc

S-100 Bus Extender Board Kit

The Mullen TB-2 Extender Board kitretains the price of its predecessor andoffers several new features. The built-inlogic probe reads out into a 7 segmentdisplay, and includes a pulse catcher pluslight emitting diode whose brightnesscorresponds to the duty cycle of a pulsestream. A general purpose kluge boardsection, with holes on 0.1 inch (0.25 cm)grid, aids development of circuits used indebugging or testing; an on board 5 Vat 1 A regulator powers this section aswell as the logic probe.

The TB-2 incorporates features ofthe previous model, such as links in thepower supply lines for current measure-ment, fusing and independent supplyswitching; an edge connector label thatidentifies power, ground and S-100 bussignal pins; full width board size to allowuse of card guides; and gold plated edgeconnector teeth that stand up to re-peated insertion.

The Mullen Extender Board kit listsfor $35. Contact Mullen Computer Pro-ducts, POB 6214, Hayward CA 94545."

Circle 541 on inquiry card.

High Level Programming Language

Printer Mechanism for the Personal Computer Experimenter

SAM76 is an interactive high levelcomputer language that introduces con-cepts for both the home computer andtimesharing system users. It was de-signed to be simple enough for the nov-ice to learn while meeting all the require-ments of the most sophisticated users.

ASCII character is the only datatype, allowing data to be anything fromcomplicated commands to syntax char-acters. SAM76 mathematical capabilityincludes arbitrary precision arithmetic.Over 150 defined built-in functions givethe advanced user the ability to do suchthings as handle arbitrary size lists andtreat them as data.

Object code is available on paper tapeor TDL cassette format in several config-urations for the Z-80 or 8080. A Poly-Morphic version on cassette tape and aCP/M disk version are available. All ver-sions are coded for Apple and Zappleconventions with patch information oninput and output (IO) vectors available.The SAM76 200 page language manual isavailable for $12. The object code is $6(CP/M is $10 for disk) and $2 for the IOinformation. For further informationcontact SAM76, POB 257, PenningtonNJ 08534.■

Circle 542 on inquiry card.

This printer mechanism is for thepersonal computer user who is interestedin constructing a bidirectional dot ma-trix impact printer. Print speed is 120characters per second with a line capa-city of 80 characters. It uses standard8.5 inch (21.25 cm) single or multiplecopy paper. The paper is advanced bymotor and pressure roller with a slew

rate of 400 lines per minute. The mech-anism uses ribbon cartridge with an in-dependent motor. The unit has opto-isolators for beginning of line, end ofline and character positioning sensing.The price is $399 including electronicinterface. Write to MarComm Inc, POB535, RamonaCA 92065."

Circle 543 on inquiry card.

January 1979©BYTE Publications Inc 193

What's New?

PUBLICATIONS

New Book on Home ComputerApplications

Bugbook VII Teaches Microcomputer-Analog Converter Interfacing

The Bugbook VII, Microcomputer-Analog Converter Software and Hard-ware Interfacing augments the Bugbookseries with an in-depth treatment of how8080 family microcomputers are inter-faced to real world analog devices formeasurement, control and display appli-cations. The 284 page soft-cover bookcombines practical examples of hardware

and software analog converter inter-facing techniques with a series of ex-periments in waveform generation, dataacquisition and video display control.

Bugbook VII begins with digital toanalog converter interfacing, and pro-ceeds to software control of ramp,successive approximation, and dual slopeanalog to digital converters. Data acqui-sition approaches using software inter-rupts and real time clocks are compared.Sample and hold amplifiers and analogmultiplexers used in many practicaldata acquisition systems are treated ina full chapter. Consideration is alsogiven to the factors in selecting andinterfacing packaged analog to digitaland digital to analog data acquisitionmodules.

The book is priced at $8.50 and isavailable from E&L Instruments Inc,61 First St, Derby CT 06418.»

Circle 611 on inquiry card.

Texas Instruments Offers Free Linear and Interface Circuits Guide

A new Linear arid Interface Cir-cuits Master Selection Guide (CL-329)is available free from Texas InstrumentsInc. This 128 page product selection

guide and catalog is designed to pro-vide a reference to Texas Instruments'linear and interface circuits.

This publication covers BIFET andbipolar operational amplifiers, voltageregulators, voltage comparators, line cir-cuits, peripheral, MOS, memory and dis-play drivers, sense amplifiers and specialfunctions. Special function monolithicintegrated circuits such as analogswitches, analog to digital converters forprocessors, precision timers, and Halleffect switches are described with sche-matics, packaging information and keyfeatures. Basic descriptions and featuresare presented in short form to help usersto select the proper integrated circuit.

The CL-329 Master Selection Guidecontains a complete cross-referenceguide which includes package and tem-perature designations. Write to TexasInstruments Inc, Inquiry AnsweringService, POB 5012, M/S 308 (Attn: CL-329), Dallas TX 75222..

Circle 613 on inquiry card.

Newman Computer Exchange CatalogAvailable

This 72 page minicomputer andmicrocomputer catalog is available fromNewman Computer Exchange, 1250N Main St, Ann Arbor Ml 48104. Thecatalog lists a wide selection of new andused minicomputer and microcomputerproducts.

The minicomputer section lists pri-marily Digital Equipment and DataGeneral items, while the microcomputerproducts include a variety of personalcomputers along with books, accessories,and hundreds of other items of interestto the computer enthusiast."

Circle 614 on inquiry card.

The MindAopliance:

ItlttW

He IMI w*inlaw

IBW

IK «)*»•■

The Mind Appliance: Home Com-puter Applications by T G Lewis is writ-ten for the serious personal computeruser who wants to utilize the computeras a household appliance. This bookcontains dozens of BASIC language pro-grams which will enable your computerto balance a checkbook, automaticallydial the telephone, handle householdbudgets, and plan menus. These andmany other ideas, such as writing poetry,drawing figures, and scoring music, arefully illustrated by actual programsthat can be put to use. The book iswritten in an entertaining style thatleads the reader into relatively com-plex programming situations with aminimum of effort. This 144 page bookis priced at $6.95 and is published byHayden Book Company Inc, RochellePark NJ 07662.-

Circle 612 on inquiry card.

Attention Readers, andVendors...

Where Do New Product ItemsCome From?

The information printed in thenew products pages of BYTE isobtained from "new product" or"press re/ease" copy sent by thepromoters of new products. If inour judgment the neat new whiz-bang gizmo or save the worldsoftware package is of Interestto the personal computing experi-menters and homebrewers whoread BYTE, we print the infor-mation in some form. We openlysolicit such information frommanufacturers and suppliers tothis marketplace. The informationiS printed more or less as a first infirst, out queue, subject to oc-casional priority modifications.

194

lanuary 1979 © BYTE Publications Inc

THE BEST FOR BOTH WORLDS

Factory prime electronic equipment for both thediscerning hobbyist and the professional

The NewHobby World

Catalog

Your source for factory prime, professionalquality equipment. Computers, add-on Poards,IC's, sockets, resistors, supplies, tools, testequipment, books, and more. Shop your buy listat Hobby World. You'll find what you want, and ata solid savings.

This month's specials.

16K MEMORY ADD-ON FOR TRS-80, APPLE,& EXIDY SORCERER

With RAMs, jumpers, and instructions. Hobby Worldprice only $98. (Specify when ordering)

THE NEW ELENCO 3V2 DIGIT SOLID STATEMULTIMETER

Tops in performance! Measures resistance to .01 ohmsvoltage to 100 /aV, current tol /aA. Our price only $75assembled & tested. $60 kit.

16K STATIC RAM KIT, MODEL XVI.IEEE S-100 compatible, requires only +5 Volts.450 ns, fully buffered. Bank switching capability.Phantom Line, wait state, addressable in 4Kblocks. New from CALIFORNIA COMPUTERSYSTEMS! Our Price only $265 kit, $27 Bare Board.

C-10 DATA CASSETTES

Perfect for TRS-80 and all recorders operating underKC orTarbell standards. With positive tape pathcontrol. Price only $2 each! 10 for $17.50.

PROM PROGRAMMER

New from OAE! Pocket size, Read, program, verify,duplicate. Plugs into any read only PROM socket.With features like Zero insertion force socket, cermettrimmers, and 5' of connecting ribbon cable. HobbyWorld price only $275.Type # 1087 programs 2708's and TMS2716'sType # 1088 programs Intel 2708's.

PORTABLE PAPER TAPE READER

No moving parts, interfaces with all micropro-cessors via an 8 bit parallel port. Complete withprecision optical sensor array, high speed databuffers, all required handshake logic, 4 statusLED's, flat ribbon interface cable and completeinstructions, Hobby World price only $74.00 kit,$87.50 assembled and tested.

TRS-80 SOFTWARE

Order by Catalog Number.

CAT NO.

TITLE

LEVEL

PRICE

1093

Sargon: Chess Program

2

$19.95

1040

Galactic Blockade Runner

Vi

9.95

1041

Star Trek III

2

14.95

1043

Small Business Bookkeeping

Vi

14.95

1045

Bingo

y2

5.95

1036

SCI-FI Game Sampler

y2

5.95

1037

The Magic Isle

Vt

5.95

1038

Inventory (Modular)

1/2

19.95

1047

Othello

X

5.95

1048

Machine Language Monitor

2

23.95

1049

Micro Text Editor

2

5.95

1050

100 Programs, Home, Business,

and Games

2

49.50

1051

Daily Biorhythm Program

y2

5.95

Hobby World

19355 Business Center Drive #6Northridge.CA 91324SEND ME A CATALOG!

SEND ME THE FOLLOWING SPECIALS!

Address

City

State

Item

Quantity

Price

Postage/Handling

S1.50

Satisfaction 100% Guaranteed

Order by mail. Just write. Or order by phone. Toll free outsideCalifornia.

TELEPHONE ORDERSInside Calif: 213 886-9200Outside Calif: 800 423-5387

California Residents add 6% Sales TaxCharge My MC #

VISA

Signature

Expiration

Circle 170 on inquiry card.

BYTE January 1979 195

c

Computer Products

3

DISK DRIVES

B51 - 554" $295.00

by Micro Peripherals, Inc.Operates in either single den-sity (125KB, unformatted) ordouble density (250KB, unfor-matted) modes, up to 40tracks, with a track-to-trackaccess time of only 5 ms.

SA801R $495.00

by Shugart. Single-sided 8"floppy disk drive.

8" DISK DRIVE $395.00

by GSI/Siemans. Directequivalent of Shugart 80IR.

DM 2700-S $750.00

Includes SA801R, 10"x10"x16" cabinet, power supply,data cable, fan, AC line filter.

V VERBATIM™FLOPPY DISKS

5%" MINIDISKETTES

Soft sector, 10-sector, or16 sector

$4.40 eachbox of 10 $40.00

8" FLOPPY DISKSSoft sector $4.75 ea.box of 10 $42.50

FLOPPY DISK INTERFACE

JADE FLOPPY DISK (Tarbell

board)

Kit $175.00

Assm. & Tested $250.00

S.D. Computer Products"Versa Floppy"Kit $159.95

Assm. & Tested $189.95

MINISCOPES

» 15 megahertz bandwidth.

► External and internal trigger.

» Time Base - 0.1 microseconds 1o0.6 Sec/div - 21 settings.

► Battery or line operation.

• Automatic and line sync modes.

% Power consumption less than 15W

• Verticle Gain - 0.01 to 60 volts/div-12 settings.

I Weight is only 3 pounds.MS-15 $318

MS-215 Dual Trace Version $ 4 35

Wim fticht'gciblt Balleritt A Chtigai unit

10 10 1, 10 meg probe j 37

Learner carrying case $45.

LOGIC PROBES

MODEL LP-3

3-LEVEL GOLDWIRE WRAP SOCKETS14 PIN 39c each

16 PIN 43c each

100 for $30.00Sockets are end and side stack-able, closed entry.

opposite pageordering instructions*

Ulilrtli.lt ELLVMUL;(ib'u

WIRE WRAPPING TOOLS lor 0.025 Inch (.64 mm) SQUARE F

SIIINWrap wiring la any to uta and li up to lour llmtpre-atripping raqulrad Sltt-N-Wrap tooli hivt ■ palanta(.64 mm) aquara polls. Connacllon* in jus< aa reliable•icaed MIL Spec raqulramanls tor pull-otf, ira low raililo |i(o*lcla at laaal 10.000 rat lib la wraps balora bll 'aplacament InP1M Sarin Tools Uilng Pol yuranl nana Nylon Coated Wire.PolyurelhflnH nylon coaled copper wire ii used in all P1S0 seriesloots Rio small diameic ol this insulated 2B gage wire pormllsIwo Mum wraps on 3 0.02. inch ( 64 mm) square posl occupyingonly 21 inch (5.3 rnm| ol cos lanrjih. SoldBring is not required onrocmnflular posts, bul il wrapped on round or irregular posts Itmay be soldered using a 750 "F (399 "CI iron which melts theinsuialion as solder How occurs.

PtM Manual Wrapping ToolP1BO 4T NiCaO Battery poweredP1S04T1 AC powered version olAll PiBO Series Tool* include fnylon insulated wire, P183 torn

I spools ol polyuretham

Wia-SCpku 3 CLEARW28-Z0pkg 3QLUE

METERS

Rechargeable batteries and charger

Measures DC Volts, AC Volts, Ohms and

Current

Automatic polarity, decimal and overload

Indication

No zero adjustment and no full-scale ohms

adjust

Battery-operated — NICad batteries; also AC

line operation.

Large LED display lor easy reading without

Interpolation

Size: 1.9"HK2.7"Wx4"0

Pans & labor au«rant«Kj 1 yur

Tilt stand option I 3.SO

Leather C«M $20.00

LM3A 3 dig 1% DC $134.00

LM3.5A 3Vi dig .5% DC . $ 158.50

LM40A 4 dig .1 % DC $ 209.00

LM4A 4 dig .03% DC ... . $ 250.00

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. & Tested $110.00

Bare Board $40.00

22-SLOT "STREAKER"

Assm. & Tested $149.00

GOLD PLATEDS-100 EDGE CONNECTORS

Soldertail $3.25 each

10 for $30.00Wire Wrap $4.50 each

10 for $40.00

VIDEO INTERFACE

S-100 Compatible SerialInterface with Sockets Included.Kit $117.95

Assm. & Tested $159.95

Bare Board withmanual $35.00

TIM

Convert your T.V. set into a

Video Monitor

Kit $8.95

Z80A SPECIAL

4MHz Zilog CPU Chip

xV $14.95 '■jV Zilog

ELECTRONIC

SYSTEMS

"KANSAS CITY STANDARD"TAPE INTERFACE

Part no. 111

Board $7.60 with parts $27.50RS-232/TTL INTERFACE

Part no. 232Converts TTL to RS-232and RS-232 to TTLBoard only $4.50; with parts S7.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

UART & BAUD RATEGENERATOR

Part no. 101

Converts serial lo parallel

and parallel to serial

Board onlv $12.00: with parts $35 00with connector add $4 00

LIQUID CRYSTAL DIGITALCLOCK-CALENDAR

• For Auto, Home, Of lice

■ Small in aiie(2x2VixVj)

• Push button for seconds release tor date.

• Clocks mount anywhara with aithor 3M doublesided tap* or VELCRO, included.

• 2 MODELS AVAILABLE

LCD 101. portable model runs on eell-coniiined

batteries for better than a year

LCD-102. runs on 12 Volt system and Is back

lighted

■ LCD lOIO'LCDIOl tlA ORyour crtoica #U*ti 3J aa

$2.00

TARBELLCASSETTEINTERFACE

S-100 cassette interfacewith speeds from 187 to540 bytes per second.JADE Kit $99.95

Assembled $135.00

'E PARALLEL/SERIALINTERFACE

S-100 compatible, 2 serial

I/O ports, 1 parallel I/O.

Kit JG-P/S $124.95

Ass. & Tested

JG-P/SA $179.95

Bare Board

with manual $30.00

li

3690-12CARD EXTENDER

Card Extender has 100 contacts 50 perside on 125 r.entefs-Auached connector-iscompatible wilh S-100 Bus Sysiems 125.00.3690 6.5" 22/4 pin. 158 ctrs. Extenders J12.00

/te Plugboards

8800V

Gen. Purpose DIP.Boards with Bus Patternlor Solder or Wire Wrap.Epoxy Glass 1/16" 44pin con, spaced .156

3677 9.6" x 4.5"

$10.90

3677-2 6.5" x 4.5"

$9.74

Universal - Microcomputer/ processorplugboard use wiili s ioo bus Compiele with neal sink & hardware 5 3 "10 K 1/16

IK_.

1:81

8801-1

Same js 8800V exceol plain less powerDuses & Heat sink

ri')S 17.95 15 90

8801-1 14 95 14.4b 11%

P pallern plugDoards forIC's Epoxy Glass 1/16"44 pin cor. spaced 156

3662 6.5" x 4.5"

$7.65

3662-2 9.6" x 4.5"

$11.45

Hi-Densily Dual-ln-LinePlugboard lor Wire Wrapwith Power & Grd. BusEpoxy Glass 1/16" 44pincpn spaced 156

3682 9.6" x 4.5"

$10.97

3682-2 6.5" x 4.5"

$9.81

196 BYTE January 1979

Circle 195 on inquiry card.

c

PLACE ORDERS TOLL FREE:

800/421-800/262-

5809 Continental U.S.1710 inside California

}

MICROPROCESSORS

Ffi lti.95

ZaO 12MHz) 20.00

Z80A !4MHz! 25.00

CDP1802CD 17 95

AM 2901 20.00

6502 11.95

6800 16.95

6802 25.00

80081 12.95

8035 20.00

8035-8 21.00

8080 A 10.00

8085 23.00

TMS99O0TL 49.95

8080A SUPPORT DEVICES

8212 2.90

8214 4.65

8216 2 75

8224 I2MH^I 4.30

8224-4 14MHz! 995

8226 2 75

8228 6.40

8238 6.40

82-13 8.00

8251 7.50

8253 20.00

8255 8 50

8257 20.00

8259 20 00

8275 75.00

8279 ,8.50

6800 PRODUCT

681 OP 4.006820P 6.60

682 IP 6.606828P ,1.256834P 16.956844L 29.956845L 29.956846LI 35.006846P1 30.006850P 8.656852P 11.006860P 9.256862P 12.0068?IP 28.756875P 8.756880P 2.50

KIM SUPPORT DEVICES

6102 8.00

6502 11.95

6520 10.00

6522 9.25

6530002 15.95

6530-003 15.95

6530004 15.95

6530-005 15.95

6532 17.95USRT

S2350 ,0.95

UARTS

AY5-1013A 5 25

AY51014A 8.25

TR16028 5.25

TMS601 1 5.95

IM6402 9.00

IM6403 9.00

BAUD RATE GENERATORS

MCI 4111 10.00

14411 Crvstal 4.95

CHARACTER GENERATORS

2513 Uppit (-12*51 6.75

2513 Lowe. 1-12 t51 6.75

2513 Uliuei l5volll 9.75

2513 Lower 15 vol! I 10 95

MCM6571 ■ Up Scan 10.95

MCM6571A - Down Scan 10.95

FLOPPY DISC CONTROLLER

17 71B01 39.95

,791 69.95

KEYBOARD CHIPS

AY5-2376 13.76

AYS 3600 13.75

MM5740 18.00PROM S

1702A 8.00

2708 9.95

271615-12ITI 25.00

271615V) INTL 60.00

2758l5vl 23.40

DYNAMIC RAMS

416D/41 16 l?50nsl 12.50

2104/4096 4.00

2107B-4 3.95

TMS4027/4096 [300ns! 4.00

MM5270 4.50

MM5280 3.60

STATIC RAMS 1-24 25-99

21L02 I450nsl 1.50 1.20

21L02 1260ns! 1 75 1.502101 1 2.95 2.60

2111 1 3.25 3.00

2112 1 2.95 2 65

EXPANDOR'S BLACK BOX PRINTER

This 64-character ASCII impactprinter with 80-column capabilityis portable and uses standard8a" paper and regular typewriterribbon. Base, cover and parallelinterface are included. Assembledand complete with manual anddocumentation.

only $430.00

(90 day manufacturer's warranty)

TRS-80 Interface Cable for Black Box Printer

with mating connectors: $48.00

(must be used with expansion module, +8v/1 amp power

supply required)

PoweTsiipply for TRS-80/Black Box Printer $49.00

KIM I

$179

Low pnee includesKIM-i Module monilorprograms sided in2048 ROM Bytes UserManual wall size Schemalic Hardware ManualProgramming ManualProgrammers ReferenceCard Kevboatfl. Uisuiav

$245

6502 - based single boardcomputer with keyboard/display,KIM-1 hardware compatible,complete documentation.

KIMSI

INTERFACE/MOTHERBOARD

Makes S-100 cards plug-incompatible with KIM!

Kit $125.00

Assembled &

Tested

$165.00

BETSI

INTERFACE/MOTHERBOARD

Makes S-100 cards plug-incompatible with PET!

Kit $119.00

Assembled &

Tested

$159.00

with full documentationKit $100.00

Assm. & Tested $149.95Bare Board $30.00

with provisions for ONBOARD2708 and POWER ON JUMP

2 MHzKit ' $135.00

Assm. & Tested $185.00

4 MHzKit $149.95

Assm. & Tested $199.95Bare Board $35.00

+ STATIC RAM +* SPECIALS *

2114's,low power (1024x4)

1-15 16-99 100 +450ns 8.00 6.95 5.50

250ns_ _9^00_8^0 6.5_0_

TMS4044/MM5257, low power450ns 8.00 7.50 6.50

_250ns 9J>5_ &75 8.00

4200A (4Kx1, 200ns)

9.95 8.50 8.00

ZIP DIP@ II Socket

TliiN rtiitt type ofzero insertion prcMire dual in-linepackajW sock*I (/IP DIP Ih is perfect!) stnledtor bni 11 luiul test and burn-in requirement!!.

The HP DIP II socket has been designed forthe inmost simplicity in its mechanical action.Coupled Willi j (huiit'liM'il ■'Went ol rumps andbevel* to imide the device leads into the contactsresult!) in a socket, into which, the device canlilcrully lu- dropped With the Ilip ol a locking leverHie socket is ready to operate v.iih exceptionallytiood electrical contact. Flip the lever again and thedevice may he extracted with zero pressure beingexerted on the leads by tlie socket contacts.

PRICES:

16 pin Zip Dip II $5.50

24 pin Zip Dip II $7.50

40 pin Zip Dip II $10.25

Computer Products

4901 W. ROSECRANS AVENUEDepartment "B"HAWTHORNE, CALIF. 90250

THE PIGGY IS COMING!

Cash, checks, money orders, and credit cards accepted.Add freight charge of $2.50 for orders under 10 lbs and$1.00 service charge for orders under $10.00. Add 6%sales tax on all parts delivered in California. Discountsavailable at OEM quantities.

WRITE FOR OUR FREE CATALOG

All prices subject to change without notice.

TRS-80 #ipptcn

MEMORY EXPANSION KITS4116's

8 for $85.00

(16Kxl, 200ns)

includes dip plugs and

instructions

*TRJS:80"K[t"*—

(16Kxl, 300ns)includes connectors andinstructions$90.00

lookl

DYNAMIC RAM BOARDS

EXPANDABLE TO 64K

32K VERSION • KITS

Uses 4115 (8Kx1, 250ns)Dynamic RAM's, can beexpanded in 8K increments upto 32 K.8K $199.00

16K $255.00

24K $310.00

32K $369.00

64K VERSION • KITS

Uses 4116 (16Kx1, 250ns)Dynamic RAM's, can beexpanded in 16K incrementsup to 64K.

16K $292.00

32K $432.00

48K $578.00

64K $721.00

EPROM BOARD KITS

EPM-l (uses up to 4 K

of 1702) $59.95

JG8/16 (uses 2708 or

2716) $69.95

MEM-216K Static RAM Board

S-100, fully buffered,with PHANTOM and bankaddressing capabilities,can be addressed at 4Kboundaries.250ns Kit $285.00

450ns Kit $250.00

250ns A&T450ns A&T

$350.00$325.00

STATIC RAM BOARDSJADE 8K

Kits: 450ns $125.95

250ns $149.75

Assembled & Tested:

450ns $139.75

250ns $169.75

Bare Board: $25.00

16K - Uses 2114'sTTow powetT

Assembled & Tested:

RAM 16 (250ns) $375.00

_ RAM 16B1450ns) $325.00

16K with memory management

Assembled & Tested:

RAM 65 (250ns) $390.00

RAM65BJ4_50ns)_ $35.Op0_

32 K Static

Assembled & Tested:

250ns $795.00

450ns $725.00

250ns Kit $575.00

Circle 195 on inquiry card.

BYTE January 1979 197

What's New?

PERIPHERALS

Video Boards Interface Video Monitorto Intel Single Board Computer Bus

New Clock Board Features Battery Backup and Crystal Control

This board keeps time in 100 jus in-crements for periods as long as 100,000days. An interrupt feature has beenprovided which can be programmed forany change in a clock digit to help makeefficient use of computer time. Theclock is crystal controlled for accuracyand an on board, 9 V rechargeablebattery keeps the clock running duringcomputer down times.

It is set by entering binary codeddecimal digits at each time port. The

clock stops the moment the firstdigit is entered and starts again on thefirst "read" command. A "write pro-tect" switch prevents the clock frombeing accidentally stopped or changed.The clock can be used with most BASICs.The price of the 100,000 day clockis $219 assembled and tested, and $179in kit form. Write to Mountain HardwareInc, 5523A Scotts Valley Dr, ScottsValley CA 95066."

Circle 577 on inquiry Card.

The MSBC family of video interfaceboards are designed to interface a videomonitor to the Intel single board com-puter bus. The two cards in the familymay be used either singly or in combina-tion to provide a variety of alphanumericand graphic display capabilities. Graphicresolution ranging from 256 by 256 to512 by 512 points may be obtainedfrom the MSBC-512, while a 24 lineby 80 character display is produced bythe MSBC-2480. Multiple cards providelimitless possibilities for color or greyscale imaging. A set of software packagesare available to facilitate use of thesingle board computer system. Forfurther information about the MSBCfamily, contact Matrox ElectronicSystems, POB 56, Ahuntsic Station,Montreal, Quebec CANADA H3L 3N5."

Circle 578 on inquiry card.

COMMERCIAL GRADE EQUIPMENT- HOBBYIST PRICES!!

ii ■

I SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASC II& 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, sue 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 $695.00

Model 5550 (corres, code, built-in cassette drive) .... $1195.00Model 5560 (ASC II code, built-in cassette drive) . . . .$1295.00

■ IBM SELECTRIC 725 TYPEWRITER 'l/O w/solenoids switches & magnetdriver PCB (from GTE/IS terminal) plus instructions for 8080 printer/driverinterface.

a) Typewriter mechanism complete, cleaned & adjusted $375.00

b) Case from terminal & power supply I+24V, ±1 2V, +5V @ 5A) 75.00

c) a & b plus complete interface to mCPU 8-bit parallel port

and 8080 language printer-driver/ASCI I translation program $600.00

■ IBM SELECTRIC ACCESSORIES:

a) Pin-feed Platens (13 1/8" pin-to-pin) for 15" carriage typewriters (new) $50

b) APL Type Spheres (EBCD No. 988, Corres. Code No. 987), new $20

c) I/O Conversion Kit for 13" or 15" Office Selectric I or II: $200.00I DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec;

AC motor: fwd/rewnd circuitry plus tape head, no read/write electronics $25.

I FORMS TRACTORS, Moore Variable width "Form A-Liner"for print terminals:

a) Model 565P for 15" Carriage IBM Selectrics (new): $50.00

b) Model K81 for QUME or DIABLO Hytype I or II printers (new): $90.00

Call or write for details, quantity prices, catalog. 15 dayreturn privilege PLUS 90 day no charge replacement ofdefective parts. All orders shipped from stock. No backorders, no substitutions. M/C & VISA accepted.

■+~+-

DAISY-WHEEL I/O TERMINALS by Gen Com Systems (30 day warranty)Model 300: Full ASCII keyboard, 30 cps, Hytype I printer, RS-232 $1600Model 300Q: Same as above w/QUME printer, 45 cps-$2100, 55 cps-$2200

I MODEMS: Bell 103 & 202 styles by VADIC Corp.Bell 103: 0-300 baud, full-duplex, asynchronous serial data transfer; includesauto answer circuitry; 3,000 mile range.

VADIC PCB (Send, Receive, Control) w/interface instructions $89.95

VADIC PCB w/power supply, case, LED's, EIA connectors $149.95

Bell 202: 0-1200 baud, half-duplex, w/reverse channel transmission.VADIC PCB w/Reverse channel, manual DAA style $149.95

VADIC PCB w/power supply, case, LED's, EIA connectors $219.95

I INTERDATA 8-BIT MINICOMPUTER (Model One), includes full front panel,4K core memory (16K addressable), built-in teletype port, 4 DMA channels,software. Optional serial I/O card, tape drive controller & software for AmpexTMX; FORTRAN w/floatinq point math. $300.00

I AMPEX MODEL TMX TAPE DRIVES: Ideal for microcomputerist whowants backup mass storage or access to IBM-type systems via standardized2400 series Vi" mag tape. Specs: 9-track, NRZ1 standard, 800 BPI, 1 2"/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 . . . $200.00Hi-speed search option: controller moves drive at 72"/sec . $ 50.00Software listing to read std IBM tapes, translate to ASC II . $ 50.00

I POWER SUPPLIES for Disk Drive,mCPU, tested under load shown:-No 519 (w/fan & AC cord): +5V reg., ±12V reg., +24V, @5A (10 1b.) $39.95-LAMBDA No. LMEE5 w/OV protect: +5V reg @25A (35 lb.) $59.95

< I —I

PACIFIC OFFICE SYSTEMS. INC.

2600 El Camino Real, Suite 502

Palo Alto, Calif. 94306

(415) 321-3866

Full documentation included PLUS interface instructions]where indicated. All equipment is shipped insured FOEPalo Alto within 14 days after check clears or COCorder is received. Prices may change without notice.

198 January 1979 © BYTE Publications Inc

Circle 296 on inquiry card.

VISIBLE

OR

INFRA RED

USED FOR CHARACTER

RECOGNITION FOR

COMPUTERS WITH

EXTERNAL CIRCUITS

MAY BE USED IN

A VACUUM,UNDER WATER,HIGH ALTITUDE

IN MAGNETIC ENVIRONMENTBECAUSE THERE IS NO

HIGH VOLTAGE ORMAGNETIC DEFLECTION

MINATURE SOLID STATE

202 VIDEO CAMERA KIT

FEATURING A.. .100 x 100 BIT SELF SCANNING CHARGED COUPLED DEVICE

THIS UNIQUE UPDATED CAMERA KIT

FEATURES THE FAIRCHILD CCD 202C IMAGE SENSOR

ADVANTAGES

• IN THE FUTUREWE WILL SUPPLY A

COMPUTER VIDEO INTERFACE CARD

• All clock voltages operate at 6Vreguiring no adjustments

• Higher video output signal

• We supply the power board, so onlya 5V 1 Amp power source is needed

• The circuitry has been simplified foreasier assembly

• Two level TTL output is supplied forinterfacing

FEATURES

• Sensitive to infra redas well as visible light

• May be used for IR surveillancewith an IR light source

• Excellent for standardsurveillance work, becauseof light weight and small size

• All components mounted onparallel 33/4"x61/2" singlesided boards

• Total weight under 1 lb.

We supply all semiconductors, boards, data sheets,diagrams, resistors and capacitors, and 8MM lens.Sorry we do not supply the case, batteries and 5V supply.

$34900 kit

Add $75.D0 to assemble and testAdd $2.00 Postage and Handling

UNIVERSAL 4Kx8 MEMORY BOARD KIT$69.95

32-2102-1 fully buffered, 16 address lines, onboard decoding for any 4 of 64 pages, standard44 pin buss, may be used with F-8 & KIM

EXPANDABLE F8 CPU BOARD KIT$99.00

featuring Fairbug PSU.IK-ot siauc ram, RS 232interface, documentation, 64 BYTE regis.er

40014002400640074009401040114012401340144015401640174018

C/MOS (DIODE CLAMPED)

18 4019

.18 4020

.95 4021

.18 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 406G

.75 40714076

,37

530 -

.80 74 COO-

.95 74C02-

.33 74C04 -

.97 74C08-

,65 74C10-

1.35 74C42-

.35 74C73-

.35 74C74-

1.10 74C83-

1.25 74C86-

.70 74C93-

18 74C151

.97 74C160

-70 74C161

.22 74C174

.22 74C175

.24 74C193

.22 74C901

.27 74C902

.85 74C9I4

PRINTED CIRCUIT BOARD

7 WATT LD 65 LASER DIODE IR Sa95

2N 3820 P FET . S 45

2N 5457 N FET S 45

2N2646 UJT S -45

ER 900 TRIGGER DIODES 4 SI 00

?N G02S PROG UJT S 65

MINIATURE MULTI-TURN TRIM POTS100, IK, 2K, 5K, 10K, 20K, 50K, 100K,200K, 500K, IMeq, 2Meg, $.75 each 3/$2.00CHARGED COUPLE DEVICES

CCD 201C 100x100 Image Sensor $95,00

CCD 202C 100x100 Image Sensor $145.00

VER1PAX PC BOARD $4.00

This board is a 1/16"sInglo sided paper epoxyboard, 4Vx6jy 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 PHOTQTRANS S 50

RED, YELLOW, GREEN or AMBER

LARGE LED's.2" 6/S1.00

TIL-118 0PTO-ISOLATOR $ .75

MOLEX PINS 100/S1.00

10007S8.00

1 WATTZENERS: 3.3, 4.7, 5.6. 9 1,10,

12, 15. 18. or 22V 6/$1.00

MC6860 MODEM CHIP S9.95

MCM 6571A 7 x 9 character gen ... $10.75

Silicon Power Rectifiers

IJ1JM.(STATIC

CRYSTALS S3.45 t

RIBBON CABLEK LAT (COLOR CODED!#30 WIRE26 cond. • ,50/per foot40 cond. - .75/per foot50 cond. - .90/per foot

CTS 206-8 eight position dip switch .... $1.60

CrS-206-4 four position dip switch . . . ,$1,48LIGHT ACTIVATED SCR'sTQ-18. 200V 1 A. $ -70

SILICON SOLAR CELLS2%" diameter 4V at 500 ma $4.00

$.50 LED READOUTSDL-704C.A. .3" $ .

FND 359 C.C

FCS 8021 4 «

C.C. 8" display $5.95 DL 747 C.A. .

FND 503 C.C. .5" $ .85 FND 803 C.C

FND 510 C.A. .5" $ .85 FND810C.A

DL 704.3" C.C. $ .85

Terms: FOB Cambridge, Mass.Send Check or Money Order.

Include Posts— '"■-''■

Order $5.00, C.

PRV IA 3A 12A 50A 1 25A 240A

100 06 14 30 .80 3 70 5.QQ

200 07 .20 35 1 15 4 25 6.50

400 09 25 .50 1.40 G.50 9.50

600 11 .30 .70 180 8.50 -12.50

800 15 .35 90 2 30 10 50 16.50

100Q 20 .45 1 10 2.75 12.50 20.00

SAD 1024o REOICON 1024 staoo analog "Sue kotBrigade" shift register. $14.95

IN 4148 (IN9141 15. Si 00

RS232 DB25Pmale . . $2.25

CONNECTORS DB 25S female $2.95

HOODS $1.00

REGULATORS

309K $ 1.20 340K-12.15

723 S .50 or 24V. .... $ 95

LM 376 .... S .60 340T-5, 6. 8 12320T-12, 15 i5j8 or 24V5 95

o. 24V S1.25 78 MG S1.35

79 MG $1 35

TRANSISTOR SPECIALS

2N6233-NPN SWITCHING POWER $ 1-95MRF-8004 a CB RF Transistor NPN $ -75

2N3772 NPN Si TO-3 $ 1.00

2N1546PNP GE TO-3 $ .75

2N4908 PNP Si TO 3 S 1.00

2N6056 NPN Si TO-3 D„n 1m<|ion S 1.702N5085 PNP Si TO-92 . ... 4 S 1 00

2N3137 NPN Si RF $ .55

2N3919 NPN S. TO-3 RF S 1.50

2N1420NPNSiTO5 3/$ 1.00

2N3767 NPN S> TO 66 . S .70

2N2222 NPN Si TO-18 . . . . . 5'S 1 .00

2N3055 NPN Si TO 3 S .50

2N3904 NPN Si TO-92 . . . 6/$ 1.00

2N3906 PNP Si TO 92 6/$ 1.00

2N529G NPN Si TO 220 S .50

2N6109 PNP Si TO-220 S .55

2N3638 PNP Si TO-5 5/S 1.00"

MPSA 1 3 NPN Si. . - T 4/$ 1 .QQ

TTLICSERIES7445_ m ]\\V,- %

7400- .13 7446- 68 74154- .94

7401- .13 7447- 50 74155- .58

7402- .13 7448- 6B 74157- .55

7403- .13 7450- 15 74161- .55

7404- .15 7472- 25 74162- .79

7405- .13 7473- 28 74163- .55

7406- .16 7474- 28 74164- .85

7407- .20 7475- .45 74165- .95740B- .18 7476- 30 74170- 1.68

7409- .IB 74B0- .31 74173-1.20

7410- .13 7483- .65 74174- .95

7411- ,1B 7485- .87 74175- .85

7412- ,13 74B6- .28 74176- .75

7413- ,36 7489-1.25 74177- .75

7414- .60 7490- .42 741B0- .65

7416- .22 7491- .58 74181- 1.90

7417- .25 7492- .43 74190- 1.007420- .13 7493- .43 74191- 1.00

7425- .25 7494- .67 74192- .79

7426- .22 7495- .65 74193- .79

7427- .19 7496- .65 74194- .807430- .13 74107- .28 74195- .507432- .22 74121- .29 74196- .867437- .21 74122- .38 74279- .557438* .21 74123- .45 74367- .50

7440- .13 74125- .40 75325- 1.50

7441- ,70' 74126- .40 75491- .50

7442- .37 74150- .94 75492- .50DATA CASSETTES 1/2 HR | .95

22/44 Pin Solder Tail .156" Conn. $1.95

MM 5387AA new clock chip which will directlydrive LED's 1 2/24 hrs., 1 supply & alarm $5.95

NO. 30 WIRE WRAP WIRE SINGLE

STRAND 100' $1.40

ALCO MINIATURE; TOGGLE SWITCHES

MTA 106 SPOT S .95

MTA 206 DPDT S 1.70

MTA 206 P-DPDT CENTER OFF j lpg5

MSD 206 P-DPDT CENTER OFF

LEVER SWITCH * 1.85

Full Wave Bridges

1.20

1.75

DIP SOCKETS

B PIN ,17 24 PIN .

14 PIN .20 28 PIN

16 PIN .22 40 PIN .

18 PIN .25

SANKEN AUDIO POWER AMPS

Si 1010 G 10 WATTS $ 7.80

Si 1020 G 20 WATTS $15.70

Si 1050 G 50 WATTS $28.5Q

TANTULUM CAPACITORS

22UF 35V 5/S1.0047UF 35V 5 SI.00.68LIF 35V 5 SI 001UF 35V 5 SI.002.2 UF 20V5 SI.003.3UF 20V 4 SI.004.7UF 15V 5/S1.00

74LsSeries

6.8UF 35V 4-S1.00

10UF 10V $ .25

22UF 25V S 40

15UF 35V 3/$ 1.00

30UF 6V 5/S1-00

47UF 20V $ .35

68 UF 15V . S .50

100 UF 10V $ .40

7»LS3J5 -J4LS3B6 -

I WEAR CIR

LM 101LM 301/74)LM307LM 30BLM3I1LM 318LM324LM339LM 35BLM370

LM36I

LM3B2

LM 387

LM537

LM553

LM 555

LM 556

NE540L

560

565

SOLID STATE SALES

P.O.BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 547-7053

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

Circle 340 on inquiry card.

BYTE January 1979 199

Whal's New?

PERIPHERALS

Video Display Terminal Features Memory Lock

The Micro Bee 2 is an 8085A proces-sor controlled buffered video displayterminal. Among the Micro Bee 2 fea-tures is the ability to invoke the memorylock that allows the operator or hostcomputer to lock a position of the dis-play while entering or receiving data inthe unlocked portion of the displaymemory. The invisible memory addresspointer can be used to read to and writefrom the display memory, independent

of visible screen functions. Standard vis-ual attributes include normal, reverse,blink, underline, and half intensity videolevels. Logical attributes include pro-tected data fields and numeric onlyfields, as well as modified data fieldtransmission.

The display format is based on 24lines of data with 96 characters in eachline. 80 of the character positionsare displayable, which leaves 16 non-displayable character cells available forfield attributes. The line drawinggraphics capability allows for the crea-tion of forms on the display using thevertical and horizontal line features.

The expanded characteristics of theMicro Bee 2 include a bidirectional buf-fered serial auxiliary port, XY addres-sing, read cursor address, read terminalstatus, time of day clock, and 128 ASCIIcharacters with descenders on lower casecharacters.

The Micro Bee 2 sells for $1695 andis available from Beehive International,4910 Amelia Earhart Dr, POB 25668,Salt Lake City UT 84125."

Circle 61 5 on inquiry card.

Synchronous Interface Module from International Data Systems

The module allows data transferrate, word size, parity and a number ofstop bits to be selected under softwarecontrol. Also under software control aresynchronous and asynchronous modeselection and functions associated withsynchronous communications, such asthe number of sync characters.

It is fully compatible with RS-232Cinterfaces. Additional provisions aremade for interface to nonstandard de-vices requiring that various signals orhandshake lines be inverted.

The 88-SAI is available in kit formfor $199, or assembled, tested and witha limited warranty for $299. ContactInternational Data Systems Inc, 400 NWashington St, Suite 200, Falls ChurchVA 22046."

Circle 616 on inquiry card.

The 88-SAI provides a synchronousor asynchronous interface for any S-100bus processor. The 88-SAI is intendedfor use in special communications re-quirements such as synchronous com-munications between S-100 computersand large scale computers, high speedmodems, data encryption devices, orother S-100 computers.

16 Port Serial Board from Ohio Scientific

""'•«* . [

llllliiai

mi

D i i Tiff ft

j

l'*4~

I r^'SeiSfeafc

wM

^">»*»"8js'- ;■■ . jal

'^Elf

A new 16 port serial IO board hasbeen announced by Ohio Scientific,1333 S Chillicothe Rd, Aurora OH44202. The board can be used on anyOhio Scientific computer system. It isavailable fully assembled as the ModelCA10-X, where X specifies the numberof serial ports on the board, from 2 to16. The board features RS-232 and highspeed synchronous interfaces that can bemixed in any combination. The com-munications transfer rate of each serialport is jumper selectable from a crystalcontrol clock circuit able to supportoperations from 75 to 19,200 bpsasynchronous, or 250 to 500 K bps in a

Used Computer Equipment Available

Computer TEXTile announces theavailability of its line of reconditionedhard copy hardware. The company fea-tures the DTC 300A terminal which usesthe Diablo Hytype I daisy wheel printingmechanism and the Gen Com 3000 term-inal which uses Qume Q30 series daisywheel printing mechanism. Both of theseterminals run at 30 characters per sec-ond, are ASCII encoded and come stand-ard with an RS-232 interface. TheDiablo terminal has an 82 key keyboardwith 11 key numeric pad. The Qumeterminal has an 86 key keyboard with a15 key numeric pad. Both terminals havefull graphics capability. The Qume term-inal also features Super Plot whichallows plotting at 5 to 50 times thespeed obtainable with the Diablo.

Options include 45 and 55 charactersper second mechanisms for some Qumes,pin feed platens and tractor form feed-ers. Both terminals come with a limited30 day warranty.

The Diablo is priced at $1995 andthe Qume is $2150. Computer TEXT-ile is located at 10960 Wilshire Blvd,Suite 1504, Los Angeles CA 90024."

Circle 61 7 on inquiry card.

Alphanumeric Display and KeyboardController

The MTX-B1 is a general purposeprogrammable alphanumeric display andkeyboard interface device for use withan 8 bit processor. The display portionprovides all timing and refresh signals todrive up to 32 characters in standard 7,14 or 16 segment formats. The keyboardportion provides all scanning signals, anddebounces and decodes any keyboardwith up to 64 keys. The single integratedcircuit controller interfaces directly tothe microprocessor via the data bus.Many intelligent commands for displayand keyboard manipulation are incor-porated.

The integrated circuit requires asingle +5 V (±10%) 60 mA power sup-ply. All display and keyboard input/output (IO) pins are TTL compatible.The MTX-B1 can be interfaced to anyTTL, CMOS, or NMOS processorthrough an IO port or bus. The inte-grated circuit is available in a 40 pindual-in-line package (DIP) for $49. Formore information write Matrox Elec-tronic Systems, POB 56, Ahuntsic Sta,Montreal Quebec H3L 3N5 CANADA."

Circle 618 on inquiry card.

synchronous mode. All 16 ports canbe jumpered to be paged at the sameaddress via Ohio Scientific's memorymanagement hardware. Each port isbased on a fully programmable ACIAcapable of running both in asynch-ronous or fully synchronous mode.The CA10-X 16 port serial interfaceboard is available for $200 for the firsttwo ports plus $50 additional for eachextra port up to 16."

Circle 619 on inquiry card.

2Q0

January 1979 © BYTE Publications Int

Circle 306 on inquiry card.

our new reta

* 9.104

8AVS 10%

|LM3A3dig 1% DC $120.60

ILM3.5A 3Vi dig .5% DC $142.65

ILM40A 4 dig .1% DC $188.10

|LM4A 4 dig .03% DC $225.00

Rechargeable batteries and charger in-cluded

Measures DC Volts, AC Volts, Ohms and

Current

Automatic polarity, decimal and overload

Indication|> Measures DC Volts, AC Volts, Ohms and

Currenti Automatic polarity, decimal and overload

Indicationi No zero adjustment and no full-scale ohms

adjust' Battery-operated — NICad batteries; also AC

line operation.1 Large LED display for easy reading without

Interpolation

Size: 1.9"H x 27"W X 4"DParts & labor guaranteed 1 year

Tilt stand option S 3.50

Leather case $20.00

Wilt) Rochaiguuiitir Satfsr/as & Cnirpar Unll

$318.

MS-IS

MINISCOPE

• 15 megahertz bandwidth.

1 External and internal trigger.■ Time base — .1 microsec. to 0.5 Sec/div ■ 21settings .i-3%.

• Battery or line operation.' Automatic & line sync modes.1 Power consumption < 15 walls1 Vort.c*M Gain - ,01 to SO V/olv . 12 a

#:

PROBE 10

PROBE 1C withlhe

purchase of SCOPE

nd.lhe MENTION of

his MAGAZINE

• MS-215 Dual Trace Version of MS-15 $435.

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

S-100 BUS EDGE CONNECTORS

S100WWG 50H0O Com 125 cLEVEL WIPE WRAP 025' sq postson 250 spaced tows GOLD plated1-4 5-9 10-24

$4,00 S3.75 $3.00

lor ALTAIH moltierboatds GOLDplated

1-4 SB 10-24

$5.00 $4.75 $4.50

Other Popul

R644-G Z2M4 Conl 156 clrsPIERCED SOLDER EYLET IGOLDpialed

1-4 5-9 10-24

$3.00 $2.75 $2.50

S100-STG 50MOO Conl 125 clrsDIP SOLDER TAIL on 250 scrows lor VECTOR and MASI mcboards GOLD plated1-4 5-9 10-24

$3.50 $3.25 $3.00(1681-3 50/100 Cont 125 Clrs.PIERCED SOLDER EYELETGOLD$7.53

ar Edge Connectors

R644-3 22/44 Conl 156 clrs WIREWRAP tails GOLD1-4 5-9 10-24

14.00 $3.75 $3.50

lilniilo call oi quotation.

18 pin .6320 pin .8022 pin* .90

.58.75

.85

24 pin .90 .8428 pin 1.10 1.0040 pin 1.50 1.40

.54.70.80

.78

.90

1.30

.47.63.70

.68

.84

1.20

.42.58.61

.63.76

1.04

.36.53.57

.58.71.89

All sockets are GOLD 3 level closed entry * End and side stacabte 2 level. Solder Tail. LowProfile, Tin Sockets and Dip Plugs available. CALL FQR QUOTATION

LIQUID CRYSTAL DIGITALCLOCK-CALENDAR

• For Auto, Home, Office

• Small In size (2x2*-ixW)

• Push button for seconds release for date.

• Clocks mounl anywhere with oilhor 3M double-sided lape or VELCRO, included.

• 2 MODELS AVAILABLE;

LCD 101. portable model runs on sell-containedbatteries for belter than a year.LCD-102. runs, on 12 Volt system and is back-lighted.

• LCD-IOio.LCD.i02 *aj ACyourchoica . JJI.aOti

laitd mounting ipjcers

• Wiring iifle shown Coffl-pcncni sute Bill fpciypUtl win unite mailings lot

CMDponM wcahonj

• GIQ»poiygLa5ibMtaii.iln2oiifiCe.Kpptr. SOtier QUItd Jill 038<Mmi

8803

MOTHEHBOAHD FOflS100BUSMICRO-COMPUTERS

pern

Plugboards

li'jMf

• Mounlill fKfntiClBSwitti IIiwrtlijr I lb centers with 2Vector pill numttef R&8I-2. 0

BPisH'

ns tor option olactive. puii-uo,orlrOjtin|)teiminanons* Large Buses + W*nJ GNO (10 AMPSl. * 12V or 161AMPS) Cuneni wings are cei MiL-StD-2.'5wilh 10"C

, Price:$29.50

PhenolicPART NO.64P44XXXP169P44XXXP

1/16 jk(M BOARD

.042 dia holes on0.1 spacing for IC's

PRICESIZE 1-9 10-194.5x6.5" $1.56 $1.404.5x17" $3.69 $3.32

8800V

Universal Microcompuler/processorplugboard, use with S-100 Pus Complete wild heal sink & Hardware 5 3'*. 10--X1/I6"

1-4 5-9 10-24

S19.95 $17.95 J15.96

8801-1

Same as 8800V excepl plain: less powerbuses & heal sink

1-4 5-9 10-24

S14.95 113.46 111.96

3682 9.6" x4.5"

$10.973682-2 6.5" X 4.5"$9.81Hi-Density Dual-ln-LinePlugboard tor Wire Wrapwith Power & Grd. BusEpoxy Glass 1/16" 44pin con. spaced .156

3677 9.6"x4.5"

$10.90

3677-2 6.5" X 4.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 forIC's Epoxy Glass 1/16"44 pin con. spaced .156

Mcippkx

.•■

Illlllli

MEMORY EXPANSION KITS4116'S RAMS(16Kx1 300ns)8 (or '79"

add $5.00 for new Programtnino Jumpersfor TRS-80 may also be used for

2708

8K 450 ns

EPROM

FACTORY PRIME

$ 9.00 EA.

25 + Call ForPrice

IM-10A List $85.00

) SPECIAL$54.95 with tube

Perfectly 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, Block, and Chocolate Brown.Comes with one 22 watt T-9 Circllno fluores-cent lube. 3 diopter lens.

1 I

3690-12CARD EXTENDER

Card Extender hasJOO con-tacts 50 per side on .125centers-Attached connec-tor-is compatible withS-100 Bus Systems, $25.833690 6.5" 22/44 pin .156clrs. Extenders .... $13.17

14 & 16 PIN

'GOLD 3 LEVEL

\WIRE WRAP

SOCKETS

•14-G3 100 for$30.0016-G3 100 for$30.0050 of each for $32.00

Sockets are End & Side stackable,closed entry

ORDER TOLL FREE

1 8004235633

except CA.. AK.. HI.. Call

(213) 894-8171

Price Breakthrough

M695

or 3/s45°°

MA1003CAR CLOCK

Bright Green Fluorescent Display Crys-tal Time Base Assembler), just addswitches and 12V0C.

WRAP POST

for .042 dia. holesI (all boards on this page)IT44IC pkg. 100 . . t 2.34IT44/M pkg.

1000 $14.35

I A 13 hand installing

tool $ 2.94

f SPECIAL

314CS2 100forM4":16CS2 100for'16'"'

J 14 pin CS2 10 lor 'V

16DlnCS2 a (or ■2"These tow cost DIP sockets will acceptboth standard width plugs and chips.For use with chips, the sockets ofler a iowprofile height of only .125" above the board.These sockets are end stackable.

ELECTRONICS

mtf 16723B Roscoe Blvd. Sepulvedo, 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 FEB. '79

Send lor our latest brochure.

phOne Orders WelCOme (213) 894-8171 OEM and Institutional inquiries invited.

24 PIN DIP PLUGSWITH COVERS

mm ^r

3/ $1.0040/$10.00

Visit our new retail location

Visit our new retail location

PC CARD GUIDES& BRACKETS

QUANTITY - ONE SET (4 pes.)TRS-2 kit includes 2 TR 1 guides plus 2 mountingbrackets. Support brackets feature unique stabilizing

-aw gjjjBa PC.B. TERMINAL

tTtT TttttttT strips

MOS LSI INSERTER

Tool is crome plated ABS forexcellent static dissipation.Tool has ground lug forconnection to grounding strap.

MOS - 40 $7.95

12-Pole

TS-12

The TS strips provide positive screw activated clamp-ing action, accommodate wire sizes 14-30 AWG (1 6-0.25mm). Pins aresolder plated copper..042 inch (1mm)diameter, on .200 men <5mm) centers.

TERMINALS

.025 (0,63mm) Square Post3 Level Wire-WrappingGold Plated

WIRE-WRAPPINGTOOL

QUANTITY - ONE PAIR (2 pes.)TR I consists of 2 guides precision molded withunique spring finger action that dampens shock andvibration, yet permits smooth insertion or extrac-tion. Guides accommodate any card thicknessfrom .040-100 inches.

Card Guides

PRIORITY

ELECTRONICS

For .025"(0,63mm) sq. post"MODIFIED"wrap,positive indexing,anti-overwrapping device?

For AWG 26-28

Bit for AWG 30

Bit for AWG 26-28

■■ SIZENl CAD BATTERIES[NOT INCLUDED)

16723B Poscoe Blvd. Sepulveda CA 9134

DIP/IC EXTRACTOR |TOOL

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 Ihan $75.00 include 10% shipping and handling, excess refunded, Just in case. please include your phone no Good thru FEB. '79

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.

Send lor out latest brochure

phone orders welcome (213) 894-8171

OEM and Institutional inquiries invited.

\*im\

Visit our new retai

Visit our new retail location

New Vector S-100, LSI-11, SBL-80 Products

MQ1

individual tinned square pads

I surround mosi holes. Ideal for

mounting components by "lack

soldering. Top of board pod tree

tor mounting I/O connectors.

14 5-9 10-24

19.95 17.95 1596

HE ^

MM

"ANY DIP" has full power andground planes back to back.Boards accommodales .3, 4. 6..9" Dips.

1-4 5-9 10-24

21.95 19.76 17.56

I 8802-1

Pad per 2 holes. Two-hole padsallow tack soldering of socket,plus second hole for component

leads.

1-4 5-9

21-95 19.76

5801-1

Plain no elched circuitry exceptcontacts. Produces maximumflexibility.

10-2417.56

4607

DEC LSI-11. PDP8. PDP11. HeathH-11. P Pattern Epoxy Glass,Plug Board B.43"x5.167". Dual 36pin DEC/HEATH Connectors.

4606Is form and size compatible withINTEL SBL80 Series and NA-TIONAL BLC 80 Seriesmicrocomputer boards. Powerand Ground buses on both sides.

1-4

5-9

10-24

36.00

1-4

1-4

14.95

5-913.46

10-24

11.96

5-9

14,36

10-24

12.76

4608-1

Same as 4608. except plain less

power buses.

1-4 5-9 10-24

34.00 30.60 27.20

Adjustable packagingsystem for S-100 busmicrocomputers, compatibleWith Altair 8800 and IMSAI

8080 size cards.

• Smart looking,deluxe cases unmar-lod by unsightlyscrews of fasteners.

• Finished In darkblue textured vinyl.

• Instantly accessi-ble Interiors withslip out covers.

• Removable recess-ed rear and frontpanels.

• Fully adjustable In-terior mountlnsystems (or any canor card spacingwithin size limita-tions. No cutting ordrilling necessary.

• Perforated bottomcover for cooleroperation.

DESCRIPTIONAssembled case with perforated bottomcover. Installed mounting struts for cardguides and receptacles or mother board.Cards top loaded, spanning front to back.Card guide (12 pair) and chassis platesupplied unlnstalled.

VECTOR-PAK ASSEMBLEDMICROCOMPUTER CASES

VP-1$163.00

VP-2$159,001

Same as VP1 except Tcards oriented aide to side. |

Shipping Weight 2S lbs.

CONTINENTAL SPECIALTIES CORPORATION

Logic Probes and Digital Pulsers

LOGIC PROBES

CSC logic probes ire the ultimate tool for breadboard design and testing.These hand-held units provide an instant overview of circuit conditions. Simpleto use: just clip power leads to circuit's power supply, set logie family switch toTTL/DTL or CMOS/HTL. Touch probe to teat node. Trace logic levels andpulses through digital circuits. Even stretch and latch for easy pulse detection.Instant recognition of high, low or invalid levels, open circuits and nodes. Sim-ple, dual level detector LEDs tell it quickly, correctly. HI (Logic "1 "Y, LO (Logic"0"l. Also incorporates blinking pulse detector, e.g.. HI and LO LEDs blink onor off, tracking "1" or "0" states at square wave frequencies up to 1.5 MHz.Pulse LED blinks on for V> second during pulse transition. Choice of threemodels to meet individual requirements; budget, project and speed of logic eir-

MODEL I.P-1

Handheld logic probe provides instant reading of logic levels for TTL, DTL.

HTL or CMOS. Input Imped.ote: 100.000 ohms. Minimum Detectable Poise: 50

ns. Maximum Input Signal (PreqnesKr): 10 MHt. Pulse- Detector (LED): High

speed train or single event. Pulse Memory: Pulse or level transition detected

and stored.

CSC Model 1 PI Logic Probe-Net Each M4.95

MODEL LP 2

Economy version of Model LP-1. Safer than a voltmeter. More accurate than ascope, laput Impedance: 300.000 ohms. Minimum DetecUble Pulse: 300 ns.Maximum Input Biffnal (Frequency): l.S MHi. Pulse Detector (LED): Highspeed train or single event. Pulse Metnarv: None.

CSC Model LP-2 Logic Probe - Net Each $24.95

MODEL LP-3

High speed logic probe. Captures pulses as short as 10 ns. Input lmpedaaee;500,000 ohms. Minimum DetecUble Pubc: 10 ns. Mai [mum Input Signal (Fre-quency): 50 MHz. Pulse Detector (LED): High speed train or single event.Pulse Memory: Pulse or level transition detected and stored.CSC Model LP-3 Logic Probe - Net Each 169.95

DIGITAL Pl'LSERThe ultimate in speed and ease of operation. Simply connect clip leads topositive and negative power, then touch DP-l's probe to a circuit node:automatic polarity sensor detects circuit's high or low condition. Depress thepushbutton and trigger an opposite polarity pulse into the circuit. Pasttroubleshooting includes injecting signals at key points in TTL, DTL. CMOS orother popular circuits. Test with tingle pulse or 100 pulses per second via built-in dual control push-button: button selects single shot or continuous modes.LED indicator monitors operating modes by flashing once for single pulse orcontinuously for a pulse train. Completely automatic, pencil-size lab/field pulsegenerator for any family of digital circuits. Output: Tri-sUte. Polarity: Pulse-sensing auto-polarity. Sync and Source: 100 m A. Pulae Train: 100 pps. LED In-dicator: Flashes for single pulse: stays lit for pulse train.CSC Model DPI Digital Purser- Net Each 174.95

Digital IC Testers and

COUNTER

LOGIC MONITOR 1

Trace signals through all types of digiul circuits. Unit clips overany DIP IC upto 16 pins. Each of its 16 contacts connects to i single-bit level detector thatdrives a high-intensity, numbered LED readout activated when the appliedvoltage exceeds a fixed 2 V threshold. Logic "I"turns LED on: logic "0" keepsLED off. A power-seeking gale network automatically locates supply leads andfeeds them to the LM l's internal circuitry. Saves minutes, even hours indesign, troubleshooting, debugging of equipment. Voltage Threshold: 2 V ±0.2 V. Input Impedance: 100.000 ohms. Input Voltage Range: 4-15 V max. acrossany two or more inputs. Current Drain: 200 mA at 10 V, Slic: 4" I. x 2" w. x1.75" d. when open. Weight: 3 oza.CSC Model LM-I Logic Monitor-Complete.

159.95

LOGIC MONITOR 2

Provides greater versatility and precision in testing all types of digital circuits.The fully isolated power supply and selectable trigger threshold let you matchthe precise characteristics of the logic family under test, permitting more ac-curate measurements. The connector/display unit clips over any DIP IC up to16 pins. The power supply module contains the precision reference power sup-ply and logic family selector switch. Operation is simple. Set the thresholdswitch to the proper logic family. Connect back clip lead to circuit ground. ForCMOS circuitry, the red clip is connected to circuit positive or Vcc. The clipmodule is then clipped over the IC and the LED display instantly gives thelogic sUtes of all pins. Logic Thresholds: CMOS, 70°h of circuit Vcc; HTL., 7.5V; TTL. 2.4 V: DTL. 1.6 V; RTL. 1.2 V. Maximum Visible Input Frequency: 30KHz at 50% duty cycle. Size: Test Clip, 4" I. i 2" w. x 1.75" d. when open:Power Module. 6" w, x 5.63" d. x 3" h. max. Total Weight: 20 ozs. Power Re-quired: 117 VAC, 50 «fl Hz. 10 W; also available for 220 VAC. 50,60 Hz at slight-ly higher price.CSC Model LM-2 Logic MonlUr-Complete.

■ 1129.95

ACE • All- for fast, solderless,Circuit plug-in circuit buildingI Evaluator «nd testing

I Just plug In any components with leads to .032" d'a tnl«f>I connect with solid wiraup to 20Qa. Assembled models lool

■a** a*.I NMIM)I IM (turn)

I »M(..I)

I 111'UMm)I 111 (awn )I tlT latum )I 1 J» (men )

I MA li

116 8116s) 2

077 8(16*1 I

ion ii(i4f] i

\iu itprij a

treo ii(i4ii io

2712 27 (IIS) 28

3641 36(14 1) 36

4-9/1616-«71G ;4-9/16 »54>f IS

4-9/16(76-t/2i 7-1/1

MAXIM PORTABLE FREQUENCY COUNTER

MAX 100 is a portable, high precision frequency counter that sets new stan-dards in performance and value. In a compact, portable case, it gives you con-tinuous readings from 20 Hx to a guaranteed 100 MHz. with 8 digit accuracy.Fast readings with l/6-sec. update and I-tfJC sampling rate. Precise readings,derived from a crystal-con trolled time base with 3 ppm accuracy. High-aenaitivity readings from signals as low as 30 mV, with diode overload protec-tion up to 200 V peaks. Input signals over 100 MHz automatically flash the mostsignificant digit, and to indicate low-battery condition and oxtend battery life,the entire display flashes at 1 kHz.

SPECIFICATIONSFrequency Rasge: 20 Hz to 100 MHz guaranteed: 110 MHz typical. Gate Time:1 sec. Reaotutfon: 1 Hz. Accuracy: i 1 count * time base error. Input Im-pedance: 1 megohm shunted by 56 pF. Coupling: AC. Sine Wave Sensitivity: 30mV RMS at 50 MHz. Internal Tine Base Frequency: 3.570545 MHz crystaloscillator.Hubility: ; 3 ppm at 25D C. Tenners tare Stability: Better than 02 ppm °C.

0 50° C. Max. Aging: 10 ppm year. Dlaplay: Eight 0.6" LED digits. Lead-ZeroBlanking: Decimal point appears between 6th and 7th digit when input exceeds

1 MHz. Overflew: With signals over 99,999.909 Hz. most significant (left hand)digit flashes, allowing readings in excess of 100 MHz. Display Update: 1/6-sec.plus 1 sec. gate tine. Low Battery Indicator: When battery supply falls below6.6 VDC. all digits flash at I Hx. Power Required: Internal, 6 "AA" cells; exter-nal. 110 or 220 VAC charger eliminator, auto cigarette lighter adapter or 7.2-10VDC external supply. Battery Charging: 12-14 hrs. Sixe: 1.75" h. x 5.63" w. x7.75" d. Weight: Less than 1.6 lbs. with batteries.

CSC Model MAX-100 Frequency Counter- Net Each 1134.95

MAX 100 ACCESSORIES

Model 100-CLA - Mobile charger eliminator. Net Each t 3.95

Model 100-C Al -110 VAC charger eliminator. Net Each 9.95

Model I00-CA2-220 VAC charger eliminator. Net Each 9.95

Model 100-IPC-Input cable with clip leads. Net Each 5.95

Model 100 LLC - Low-loss up off 14.95

Model 100-MW A -Mini-whip antenna 3.95

Model 100-CC-Carry case 9.95

DIP JUMPERS

FLAT RIBBON CABLEASSEMBLIES WITH DIP CONNECTORS

• Avallabl* with 14,16,24 and 40 contact*.

• Mato with standard IC socksts.

• Fully assembled and tested.

• Integral molded-on strain relief.

• Llne-by-llne probeabllity.

2\

MATERIALS

DIELECTRIC: UL recognized glass-filled polyester.CONTACTS: N on -corrosive copper aHoy 770.CABLE: All cable conductors are #2SAWGstranded 7/36 tmcoated copper with vinyl insula-tion. AH coble it grooved top and bottom for easytear down.

A P DIP Jumpers are the low-cost, high-quality solution for jumpering within a PCboard; interconnecting between PC boards,backplanes and motherboards; interfacing In-put/Output signals; and more.

All assemblies use rainbow cable. Stan-dard lengths are 6,12,18,24 and 36 inches.

w Danoia* Pin No.1

IC TEST CLIPS

r SALE

PRIORITY

W23BRoscoe Blvd.

DOUBLE-ENDEDDIP JUMPERS

2440

924116-6- R12.65

924126-6- R•4.15

924136-6- R•6.93

824106-12-R12.61

924116-12-R♦2.88

924126-12-RM.50

924126 18-RMBS

924136-12-R•7.62

ELECTRONICS

Sepulveda CA 9-1343

Terms VISA. MC. BAC. check. Money Order, COO. US Funds Only CA residents add 6% sales lax. Mini-mum order Si0 00 Orders less than $75 00 include 10% shipping and handling, excess relunded. Just in caseplease include your phone no Good thru FEB. '79

SINGLE ENDEDDIP JUMPERS

No.Contacts

Length

36"

14

924102-36-R•2.33

IS

924H2-36-R•2 59

24

924122 36-R•4.00

40

924132 36-R•6.71

W«St0CK.APPf°dl,CtS!

ent''ndE«s,er

lino

Faster*

Send for our latest brochure

phone orders welcome (213) 894-8171

OEM and Institutional inquiries Invited

8 tor

=79"

Circle 306 on inquiry card.

our new retail loc

K&&

rJftS-SU'

What's New?

Table Top Mainframe

New Kit Makes a "Flippy Disk" Out ofa Floppy Disk

Called the Flippy Disk Kit, this kitcontains all the necessary tools to locateand accurately punch extra holes in a SViinch disk so that the spare side of thedisk can be used. Instructions explainthe function of each hole and opening inthe jacket and the method of markingand punching the holes and testing thenewly available side. The kit is designed

to be used with North Star, Horizon,PolyMorphic, Vector Graphic, Vista orany other SYi inch hard sectored diskdrive. The kit contains instructions,double sided "flippy plate," a pencil formaking highly visible marks on the blackdiskette jacket, and a ground and pol-ished hand punch for making the holes.The kit is priced at $9.95 plus $1 forshipping and is available from Square 1,614 18th Av, Menlo Park CA 94025. ■

Circle 525 on inquiry card.

Data Base Management System forSmall Business Applications

Ohio Scientific has introduced a pro-gramming breakthrough for small busi-ness microcomputer applications. Thisprogramming innovation is called OS-DMS, Ohio Scientific's data basemanagement system. This system bringsthe use of microcomputers down to thelevel of nonprogrammers. It allowsuntrained computer users to store andrecall information from any one ofOhio Scientific's full line of floppy andhard disk microcomputer systems. Eachprogram in the OS-DMS library is aimedat a specific small business application,such as real estate, automotive sales,

mailing lists, inventory, accounts re-ceivable and accounts payable, inventoryand invoice, ledger, personnel files,retail sales, medical files, etc. Becausethe microcomputer uses terms familiarto each specific application, the userdoesn't have to learn programminglanguages. OS-DMS data base manage-ment system allows knowledgeablecomputer operators to fully utilize thecomputer's resources and to performtasks routinely which usually requireprogramming on nondata base systems.Each program is priced at $300. Forfurther information, write to OhioScientific Inc, 1333 S Chillicothe Rd,Aurora OH 44202..

Circle 526 on inquiry card.

The TT-10 Table Top Mainframeconsists of an industrial quality cardcage; the MB-10, an S-100 bus motherboard with bus termination and groundplane to reduce noise; a full set of tenconnectors and guides; a power supplywhich mounts inside the card cage andfurnishes 15 A at 8 V, 1.5 A at +16 Vand 1.5 A at-16 V; a clear satin finishedfront and bottom plate with a resetswitch and power indicator light emit-ting diode; and a whisper fan and cover.

The TT-10-K kit is $325, the TT-10-A assembled is $395. Contact Elec-tronic Control Technology, 763 RamseyAv, Hillside NJ 07205..

Circle 527 on inquiry card.

lectrolabs-

*i

Tl Sockets!cent per pin.

All low profile solder tail 8 pin - 40 pin.

The "Pro" fully encoded ASCII KEYBOARD by Cherry. Auto RE-PEAT feature, 5 special function keys. 300mA/5V. (Shown asmounted in 'The Case', Below) $119.00, 3/99.00,10+/89.00

USED SYLVAN I A The Dumb Terminal for Smart People

12" MONITORS 80X24 with full 128 char. ASCII UC+LCWorking: $69.95 font with all control characters displayed.Cold Chassis, 25 lbs. 300-19,200 baud RS232. 2nd font addressableWith New P39 (GR) from keyboard in you-program-it 2708 forOr New P4 (WH) APL, Graphics sets, etc. Plug in monitorTube —$99 00 '^ connector, 110VAC and you are ready.

INCLUDES: 'The Case', Cherry Kbd. A usedmonitor, ESAT 200A, all options exceptvector addressable cursor and modem.Bulletproof design and construction.Normally $675.00 What you alwayswanted your ADM3 to be:SYSTEM"A" $649.00 10/S599.00

CRT Tubes Only

P39-$39.00 »i-he Case" Beautiful and sturdy

anodized 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

■PO Box 6721 Stanford

THE FANTASTIC!

MEMOREX FIVE-FIFTY

Ol. 94305415-321-5601

TLX 345567800-227-8266

► »•' <

* Hard and Soft Sectoring

* Single and Dual Density

* Double side configurationas a retrofit at any time.*110/220V,50/60Hz

*Pin for pin compa table withShugart 800,801,850,851(50 pin edge connector)

* PRICE BREAKTHROUGH!S42S EACH

Double Sided Retrofit$300

LATEST REVISION: ESAT 200B (BILINGUAL)

Stand Alone Single Board Communicating Terminal

80X24 Standard Format <tl9q fin

Split Speed 110 to 19,200 Baud >»J'3-UU

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.

•New Items! TRS-80 APPLE Ad on Set-eight and a spare 4116Type Rams plus instructions $99.00. * Hene Laser Tubes .05-2.0mW - metal $49.00 Glass $39.00. *CALL for unbelievable pricesGSI/siemens 8" floppy drives starting at $399.00. 'Our newcatalog is now out! Ask for your free copy.

ShippjiCal.Ta

.rjing and Handling: Surface: $o.40/ib. Air: $o,-75/ib., 1.00 minimumCal. Tax: 6.5% Insurance: $0.50 per $1 oo.oo

204 January 1979 © BYTE Publications Inc

Circle 11 5 on inquiry card.

CaLIFornia DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

Hazeltine1400

cost effective

CRT TERMINAL

*735

plusshipping

Che Hazeltine 1400 Vidio Display Terminal is designed tooptimize* interactive real-time operations. The interface iscapable of either local or remote connection through an E1ARS232-C interface at baud rates that are switch selectableup to !)600 baud.

t All 128 ASCII Codes | ■'• j o \l\ I \ I j ' | ' j ' j ■ \y\ I \ k^]

• 64 Displayable Characters I... I , I s I D I F |0 I „ I , I . Kl • I ■ l-l

• 24 Lines; 12 inch Screen I I ! | I J I I 1 I ' I ■ | I I • I 1 I

• 80 Characters per Line 1' 'I . 1 ' I I v I—I N 1 " 1 I—I , I Pi

• Self Diagnostic Test I |

100 Mother Board

TELETYPE MODEL 43

Even if we have to give themaway, we're going to ship more43's in 1979 than the aggregateof all our competitors.

Model 43AAA (TTL)EACH 3_ 10

$925. 875. 850.

RS-232 Interface"!." Add'75.00

shfpSfng rETi\

Immediate Delivery

CONNECTORS

c3 <,co L

•C

3"

°<s

5H

your choice

DB25P

male plug & hood

or

DB25S female

'3.95

Qty. fe. male lid.10 3.45 2.45 1.1525 3.15 2.25 1.05100 2.85 1.90 .95500 2.25 1.50 .85IK 1.97 1.37 .73

EdgeConnectors

GOLD100 PIN

IMSAI/ALTAIR

Imsai solder.125a.250 14.95 3.110.00

Imsai w,-w.l25centers 14.95 3/(13.00

Altair soldertail.UOrow 15.95 3/115.00

SPECIALS

22/44 Kim eyelet. 156" si.95 3/45.00

25/50 solder tab .156" 41.09 3/S2.00

36/72 wide post W/W.1S6 1195 3/S5.00

*498

110 for 545.

9

(■i —MS tertitiea Digital

bCOtCU CASSETTES

Diskettes

8 inch Soft (IBM)8 inch 32 sectorMini Soft sec.Mini 10 sectorMini 16 sector

Won't drop a BIT!

CALIFORNIAINDUSTRIAL

is an

Authorized

Dealer of

Scotch Brand

Data Products

t

MEMORY

<1-Shugart Associates

SA800-R Floppy Disk Drive

riic most cost effectLve way to store data proc-essing Information, when random recall is aprime factor. The SA80Q is fully compatiblewith the IBM 3740 formal. Write protect cir-cuitry, low maintenance & ShugaiH quality.

3449.50

'24.88

UNIVAC

KEYBOARD

FIN numeric k*y!t .Irn psomble a len *ey iifjcl

: S3B5 UMKi t..it l}i,tn

APPLE RS-232

Serial Interface '59.95Interfaces

Apple II toTeletype orother seri-

ELECTRONICSYSTEMS

BOX of 10

DISKETTES

Verbatim "ru

COLOR TELEVISIONR.K MODULATOR1395

Mini - Soft sector

SPECIAL

APPLE II

I6K MEMORY

COLOR • GRAPHICS* SOUND

$1024

PLUS SHIPPING

Mfg.S-g.Retail....

(S) dataphone

$249.

model2400

Factory new Bell Systemmodems. Some units showcosmetic damage . Docu-mentation not included.Other models available callFor price and quantities*

Extender Board

fTlullen 34»5

Facilitates design and trou-bleshooting of all S-100 mi-crosystems. Includes logicprobe along with high-lowand pulse I_.HO display.Also available, the MullinCB-1 controller board $88.

DYNAMIC 1-7

4115 8Kxl 11.95

4116 16Kxl 13.95(-t-pli.il & TRS80)

4164 64K.xl *

8-32

11.50

13.00

.O

• As you may be aware, publishersrequire advertisers to submit theirad copy 60 to 90 days prior to "press'date. That much lead lime in a volatile market placisuch as memory circuits, makes it extremely difficultto project future cost and availability.To obtain (he best pricing on memory we have madevolume commitments to our suppliers, which in turnaffords us the opportunity to sell these circuits at themost competitive prices. Please contact us if youIf you have a demand for volume state of the art mem-/ ory producis.

STATIC

-31

21L02 450nS. 1.19

211.02 250nS. 1.69

2114 1Kx4 450 6.95

2114 1KX4 300 8.95

4041 4-Gel 450 8.95

4041 4K\1 250 9.95

4015 1Kx4 450 8.95

•1045 1Kx4 250 9.95

5257 low pow. 7. 95

SPECIAL CIRCUITS

1. 191.496. 508.508.509.508.509.507.50

100-5C1.051. 456.25 I8.008.009.008.009.007.05 I

-999. 95

ZR0A 4 Mllz.8080A CPU

8085

80116 Intel 16bils

r MS 9900 16 bits

9.9522. 50

AY5-1013A UAUT 4

Floppy Uisc Controile

WD 1771 single 1). 38

WD 1781 Double D 65

WD 1791 D/D3740 1

E PROMS

1702A 2K2708 8K

2716 16K 12532 32K

VISA

16-63■1. 50

CLAREPENDARGeneral Instrument Corp.

KEYBOARD

ASCII ENCODED

This is a one time purchase ofNEW Surplus keyboards, re-cently aquired from the Tele-communications Division of theSinger Corporation.The keyboard featu res 128ASCII characters in a 63 keyformat, MOS encoder circuitry"N" key rollover, lighted shiftlock, control, escape and re-pete functions.

Sloped pannel and positive feelswitches, makes this profes-sional quality keyboard an ex-ipi__.ceU.ent buy at only $64.95.gtlga Limited Quantities.

$19.98

S-100 PROTOTYPE BOARD |

GPIOO-MaxImum design ver- e <■saillliy along wlln stonddrdaddress decoding ond buf-torlng lor S100 systems.Boom lor 32 uncommlrted 16pin IC's. 5 bus bulfer & de-coding chips. 1 DIP oddresssol eel swllcti. a 5 von regu-lator ond moioWW.OO-WKe wrap b.ead-board. similar to the GP100.Allows wire wrap ol all sizesot sockets In any sizes ofsockets In any comblnollon.An viKj regulator positionlor multiple voltage opplica-

Thumbwheel^jSX switch

o.-'-o

s>.

Ten position

BCD

1 'l.^ea.

10 50TCVS .89

MiniatureSwitches

1

63

KEY

f64.95

$.69

Conductor Ft.

RIBBON WIRE

TWISTED PAIR

Transistors

ea. 10 SO 100

2N2222A.20 .18 .16.152N3055 .69.65.59.55Ml 3055 .79 .75.69.652N3772 1.59 149 1.391292N3904 .15 .11 .09.072N3906 .15 .11 .09.07

Diodes

10 25 1001N4002 100.. .08 06.051N.4005 600v.. 10.08.071N4148 signal .07.05.04jumbo red

LED's

ea. 10 25 100hS.13.11.09

r. «J 4. SPECIALSPECIALSPECIAL

PowerAdapter „„,„ 10|000 Ay_lllbl,

6vilc,140mAU.3'7vdc,1.4 A. 5.S09vdc200mA. 1.1910vAc.300mA.

CAPACITORS

ELECTROLYTICS

ea. 10 50

$.98

your choice

10 50 100 lh

80,000/lOv. 395 3« 2.954500/50V.JW9 135 H9

1000/15V $.55 49 .45anal

"8

*98

12v.ct. 175mA.TRANSFORMER

TRIMMER

potentiometers

2K 5K 10K50K

5.o,».98

m-i

16' 14' 12'

NE555H

3furS.98

25lor>7---100'1950

5.88 .81.73.66SPOT Miniature Toggles

7101 C8.K ON NONE ON

7107 jbf ON-OFF(mnt.ON) I

7108 CK ON-lmoni.nt.ON)

Rocker 1BT 0P0I

Rotary 3P-4-Pos.

Rotary 3P-6-Pos.

Push B IN 0) $.39ea. 4/51

DIP Switch

DISCOUNT < I

Wire WrapeCenter

Heavyduty groundedpower cord and matingchassis connectors.

Page Wire Wrap Kitsprecut & stripped

KITNo.1 <6.9S

900 Assorted Lengths

KITNo.2 »19?5

2800 Assorted Lengths250'Bulk Wire

IC SOCKETS

pin

Wire wrapea. 25 50

low profileea. 25 50

I

17< 16 15

14

37' 36 35

18 17 16

16

38 37 36

19 18 17

24

99 93 85

36 35 34

40

169 155 139

63 60 58

SS9.95 |BW630

50ft.

5.98

KVNARSMp

500 1,000 11,00019. $15. $105.

(213)679-9001

m

Circle 39 on inquiry card.

BYTE lanuary 1979 205

Circle 230 on inquiry card.

JS537

FORMERLY CYBERCOM/SOLID STATE MUSIC.

CB-1 8080 Processor Board. 2K of PROM 256 BYTERAM power on/rest Vector Jump Parallel port with

status. Kit $125.95 PCBO $28.95

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100

buss. Kit 450 NSEC $123.95. PCBD $24.95

MB-7 16KX8, Static RAM uses «P410 Protection,

fully buffered KIT $299.95

MB-8A 2708 EROM Board, S-100, 8K8X or 16KX8

kit without PROMS $75.00 PCBD $28.95

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or82S129 PROM kit without RAMS or PROMS $72.00IO-2 S-100 8 bit parallel /IO port. !/i ol boards is lor

kludging. Kit $46.00 PCBD $26.95

IO-4 Two serial I/O ports with full handshaking20/60 ma current loop: Two parallel I/O ports.

Kit $130.00 PCBD $26.95

VB-1B 64 x 16 video board, upper lower case Greek,composite and parallel video with software, S-100.

Kit $125.00 PCBD $26.95

Altair Compatible Mother Board, 11 x 11 Vi x Ve".

Board only $39.95. With 15 connectors $94.95

Extended Board full size. Board only $ 9.49

With connector $13.45

SP-1 Synthesizer Board S-100PCBD $42.95

82S23 $1.50

82S123 1.50

82S126 1.95

82S129 .' 1.95

B2S130 3.95

82S131 3.95

MMI6330 1.50

IM5600 1.50

IM5603 1.95

IM5604 3.95

IM5610 1.50

IM5623 1.95

IM5624 3.95

KIT $135.95

PRIME SUPPORT

8080A $ 9.95

8212 3.25

8214 6.50

8224 3.49

L2114 (450 NSEC) 7.25

L2114 (250 NSEC) 7.99

2102AL-2 1.70

21L02 (450) 1.25

2708Q (National).. 8.95

4116 (Apple Ram) 14.99

fymcjj

inc.

WAMECO INC.

FDC-1 FLOPPY CONTROLLER BOARD will driveshugart, pertek, remlc 5" * 8" drives up to 8 drives,on board PROM with power boot up, will operatewith CPM (not Included).DEC. & JAN. ONLY SPECIAL PCBD $23.95

FPB-1 Front Panel. (Finnally) IMSAI size hex dis-plays. Byte or instruction single step. PCBD special,DEC. ft JAN $39.95

MEM.1 8KX8 fully bulfered, S-100, uses 2102 type

rams PCBD $24.95

QM-12 MOTHER BOARD. 13 slot, terminated, S-100

board only $34.95

CPU-1 8080A Processor board S-100 with 8 level

vector interrupt PCBD $25.95

HTC-1 Realtime clock board. Two independent in-terrupts. 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 of QM-12.

9 Slots PCBD $30.95

MEM-2 16Kx8 Fully Buffered

2114 Board PCBD $25.95

16K RAM BOARD by HWE fully buffered, bank se-lect standard to IEE buss gold fingers, solder mask,

plated thru holes, silk screened PCBD $25.95

KLUDGE BOARD by HWE for S-100 glass epoxyover 2600 plated through holes, 4 regulators withCAPS all S-100 functions labeled, gold fingers.PCBD $29.95

M

419 Portofino DriveSan Carlos, California 94070

Please send lor IC, Xistorand Computer pans list.

1ST OF THE YEAR SALEON PREPAID ORDERS

(charge cards not included on this offer)

8K x 8 RAM. Fully buffered, assembled with sockets,tested or burned in. Part may be house numbered.

450 NSEC. Limited quantity $99.99

4Kx8 EPROM. Fully bulfered with Intel 1702A.Kit $74.86

MIKOS PARTS ASSORTMENTWITH WAMECO AND CYBERCOM PCBDS

MEM-2 with MIKOS #7 16K ram

with L2114 450 NSEC $249.95

MEM-2 with MIKOS #13 16K ram

with L2114 250 NSEC $269.95

MEM-1 with MIKOS #1 450 NSEC 8K

RAM $123.95

CPU-1 with MIKOS #2 8080A CPU 89.95

MEM-1 with MIKOS #3 250 NSEC 8K

RAM ! 144.95

QM-12 with MIKOS #4 13 slot mother

board 89.95

RTC-1 with MIKOS #5 real time clock 60.95

VB-1B with MIKOS #6 video board less

molex connectors 99.95

EMP-1 with MIKOS #10 4K 1702 less

EPROMS 49.95

EPM-2 with MIKOS #11 16-32K EPROMS

less EPROMS 49.95

QM-9 with MIKOS #12 9 slot mother

board 67.95

MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIMEPARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIREDFOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETSINCLUDED.

VISA or MASTERCHARGE. Send account number, interbanknumber, expiration date and sign your order. Approx. postagewill be added. Check or money order will be sent post paid inU S. if you are not a regular customer, please use charge,cashier's check or postal money order. Otherwise there witlbe a two-week delay for checks to clear. Calif, residents add6% tax. Money back 30 day guarantee. We cannot accept re-turned IC s that have been soldered to. Prices subject tochange without notice. $10 minimum order. $1.50 service chargeon orders less than S10.00.

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 Applel 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

206 BYTE January 1979

Circle 379 on inquiry card.

BUY FROM THE BIGGEST

NCE/CompuMart

1250 North Main Street, Department BY19P.O. Box 8610 Ann Arbor, Michigan 48107

PET with SKuser

memory $795.00

Second Cassette drive 599.95RS-232 Printer Adapter —assembled board

EXPANDAPET ■ Economical 16Kmemory expansion lor [he PET (in-cludes 1 daughter board) $435.00>viIhout daughter board $395.00

KIM ENCLOSURE

Give your KIM a prolessiaance Mo alteranons requKyde« 100 Black

S23.50

CASHAVAILABLE

Call Today: (313) 994-3200

Single board

VIDEO TERMINALby XITEX

16 Ln * 64 chr. display 128 printableCharacters, software UART {ASCIIor Baudot). 3 serial interfaces &cassette I/O. true composite video.TTL compatible, easy power con-

bled « tested NOW $1 87

TC-71 SELECTRIC TERMINALS

HazeltineV 1400

5o>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.

■BSFam

Compucolorll

clui

130 c

ASCII version employs 6802tor code conversion See ourcatalog lor detailsASCII «64

Refurbished 1695

Working 1*95

As-ls S339

,E ASCII INTERFACE FOR TC-71 ^.^

30 flay delivery Norn-airy SI99 NOW 3> I OJAcoustic Coupler lo< use With ASCII TC-71 $159

< inltrHtl

SYM-1

From Synertek $269.00

-^—

B

$225.SANYOMONITOR

S149 I

New Acoustic Coupler

mmm

VM4209 9 qual.li

Tl^

PROGRRMMCR

Reg. $59.95

*°'

$49.95

A Home Computer & A Video Game in a Single Unit!

INTERACT Model One

• 90 day limited warranty

• Newest, most exciting products in per-sonal computing

• Outstanding values

• All items fully assembled and testedunless otherwise staled.

• Send for our catalog tor more detailedproduct information.

1-800

521

1534

• Color graphics on your TV

■ Music and *ound synthesizer

• Built-in cassette tape drive

• Large 53-key keyboard

• Two joysticks Included

• 14 Free cassettes worth $294

• Edu-BASIC cassette included

• 8080 Microprocessor

• QK RAM. IK ROM

II you cant decide between asophisticated video game and ahome computer then Ihe Inter-act Model One Is for you. Hook IIto your color TV and you've golboth! You can play one of thegames which are Included Ireeor you can load Edu-BASIC and

; youi

iflam

save programs or data usingIhe built-in cassette tape drive.Best of all you get over S294worth of Iree cassettes includ-

Edu-BASIC — Write programsConcentration — The memoryDogllght — Aerial battlesAdd-Em Up — A math gameBlorhylhm — Plot your ownBlackjack -- Wager videoTjuclCompule-A-Color — Easy graiHangman — The word gameKnockdown — A dice gameMaze — Computer mazeRegatta — Race your shipShowdown — Gunflght

AIM65

ROM Debug Monitor

• Snciels lor addilionii jk haw 1■ 20 Col ASCII Thnm.H punier I

Trailbiazer — Cut

I you

• Michigan residents add 4% sales tax.

• Foreign orders (except Canada) add 10%additional handling (U.S. currency only).

• P.O.'s accepted from D&B rated companies.

• Toll tree phones open from 9:00 a.m.-7:00 p.m. EST Monday - Friday, 10:00 a.m.-5 p.m. Saturdays. • Open accounts invited —

Blank — Save programs here

call (or credit application. • Most items In stockfor immediate shipment — call for delivery quo-tation. • Sorry — NOC.O.D.'s. • All prices sub-ject to change without notice. • Write for ourFREE catalog. • In the Ann Arbor area? Retailstore open 11:00 a.m.-7:00 p.m. Tuesday-Friday, 10:00 a.m.-5:00 p.m. Saturdays.

Circle 283 on inquiry card.

BYTE January 1979 207

What's New?

SYSTEMS

Computer System from Dynabyte Offers New Disk Drive Controller Technology

The DB8/2 computer system fromDynabyte Inc, 1005 Elwell Ct, PaloAlto CA 94303, offers up to 1.2 Mbytes of mass storage on two 5 inchdrives. It uses 77 track Micropolis diskdrives and with Dynabyte's controlleroffers double or quad density in singleor double sided configurations. Toimplement the drives, a dual densityfloppy disk controller was developed.It is capable of handling a variety of5 inch and 8 inch drives in dual densityon either one or two sides. To permit

expansion of the system as the needincreases, the controller is capable ofhandling up to 16 drives. The dynamicdata compensation yields a doubledensity error rate comparable to singledensity rates.

The DB8/2 includes a 4 MHz Z-80processor module that also containstwo RS232 serial input and output (IO)ports, one parallel IO port, an erasableread only memory programmer, twoTMS2716 sockets, vectored interruptsand a real time clock. The unit has32 K bytes of programmable memoryand the disk controller in a 12 slotbackplane fully populated with militaryspecification connectors. It uses a regu-lated power supply designed to complywith UL approved standards. Initiallanguage and software packages fromDynabyte include BASIC, FORTRAN,COBOL, word processing, general ledgerand accounts receivable,"

Circle 590 on inquiry card.

Dual Floppy, Z-80 Based Microcomputer from Vector Graphic

This new microcomputer, featuringtwo Micropolis quad density floppydisks and a Z-80 processor, has beenintroduced by Vector Graphic Inc, 790Hampshire Rd, Westlake Village CA91361. The Vector MZ features includethe Z-80 processor with 158 BASICmachine language instructions and aminimum instruction cycle of 2 lis; an18 slot motherboard which providesflexibility and expansion capabilitiesfor up to 64 K byte of directly acces-sible memory using a parallel 8 bitword and 16 bit address; and up to256 separate input and output devicescan be addressed.

The disk drives are mounted directlyto the front panel of the Vector MZ,providing instant access and ease of

operation. Storage capacity for each ofthese 514 inch floppy disk drives is315 K bytes formatted.

The Vector MZ is fully compatiblewith all existing Vector input andoutput (IO) and memory boards. Com-pletely assembled and tested, the basicsystem includes: 18 slot motherboard,Z-80 processor with 4 MHz clock,two quad density Micropolis floppydisk drives, disk controller board, bitstreamer IO board with one serial andtwo parallel ports, 32 K byte of staticprogrammable memory, 12 K bytecombination read only and program-mable memory board with extendedmonitor, and Vector BASIC. The VectorMZ is priced at $3750."

Circle 591 on inquiry card.

NMS Extends Its Pascal MachineCapabilities

A new peripherals option card forthe NMS 8085A processor based micro-computer system is now available fromNorthwest Microcomputer Systems,121 E Eleventh St, Eugene OR 97401.This new card, called the NMS 85/EX,gives users flexibility by allowing anumber of options.

An arithmetic processing unit (APU)provides 32 bit fixed and floatingpoint arithmetic, and floating pointtrigonometric operations, and gives theuser the ability to do a 32 bit floatingpoint divide in a minimum of 50 ms.It contains floating-to-fixed and fixed-to-floating conversions. All accesses tothis unit are through conventionalprogrammed input and output ports.The'3 MHz version is priced at $422 andthe 2 MHz version is $272.

An interrupt controller featuring theIntel 8259 resolves priority among eightdifferent interrupt levels according tosoftware algorithms provided by theuser. An interrupt selection area allowsthe user to configure a custom interruptstructure. The priority modes can bereconfigured dynamically at any timeduring the main program operation,allowing the user to define a completeinterrupt structure based on the totalsystem environment. The controller ispriced at $90.

Interval timer capability is providedthrough the use of Intel's 8253 program-mable interval timer. Each timer includesthree 16 bit binary coded decimal orbinary counters which are user program-mable. The output of the first twocounters can be used as interrupt requestlines, to implement a real time clock.The output of the third timer may beused for the serial port, allowing soft-ware control of the desired data trans-mission rate. A second timer chip's threeclocks may be used for extended (48 bit)timing functions through daisy chains ormay be taken to the card's edge forinterval timing or event counting. Eachtimer is available for $50.

The parallel input and output inter-face using the Intel 8255A program-mable peripheral interface device pro-vides 24 signal lines for transfer andcontrol of data to or from the peripheraldevices. The parallel interface is availablefor $90.

A serial input and output interface,using Intel's 8251 USART device,provides for complete RS-232 serial datacommunications, including IBM Bi-Sync,when coupled with the 8255A parallelinterface option and the 8253 intervaltimer. The unit will operate with everycurrent serial data transmission protocol.The transmission rate, synchronous orasynchronous mode, character length,number of stop bits and choice of parityare all program selectable. The serialinterface is priced at $70 plus theparallel and timer options required."

Circle 592 on inquiry card.

208

lanuary 1979 © BYTE Publications Inc

DIABLO HYTYPEI $1595

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIINIINI

Discounts on

Xitan, Cromemco, SD Systems,Vector, TEI, North Star, Apple,Hytype II, Qume, Axiom, Tl,Centronics, Integral Data Systems,Soroc, Lear Siegler, Intertec,Micromation, PerSci, Micropolis,SSM, Computalker, Heuristics,Mountain Hardware, Summagraphics,MiniTerm, CompuColor, Exidy.

Illlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

Microcomputers, Peripheralsand Software

1015 NAVARRO SAN ANTONIO. TEXAS 78205512/222 1427

Circle 221 on inquiry card.

NOBODY LIKES A

ROTTEN APPLE!

So protect your APPLE II fromdust, coffee spills, and idlefingers with a custom fitted, heavyduty, beige vinyl Dust Cover.

ONLY $6^*

('III. residents add 5% tax)

Send Check or Money Order to:

Henwood Enterprises, Inc.

1833 E. Crabtree Dr.Arlington Heights, III. 60004

OR CALL TOLL FREE800-323-7360

and use your MasterCharge orVISA Credit Card

Circle 158 on inquiry card.

ECONOMICAL

X-Y PLOTTER UNIT

Now Available

• Includes Power Supply/Interface* Completely Assembled($1,049-$1,249)* Low Cost but Reliable• Drawing Areas:11 x 17" or 17x22"• Resolution .01• Improved Interface

TREMENDOUS SAVINGS when purchased inKIT FORM!

REQUEST YOUR FREE BROCHURE

OR

OWNER'S MANUAL S5

[OJTSIDE US/CANAOA ADD 3 00 POSTAGE.!

Syliiaulfilla Unburatiirii, Int.

P.O. Box 646 Pittsburg, Ks 66762316-231-4440

Circle 367 on inquiry card.

RECYCLE(D)COMPUTERS

BUY ti SELL d SWAPHardware & Software

NEW PRODUCT ANNOUNCEMENTS

Mailed 1st class every 3 Weekslyr. (18 issues) & $3.75

ON_LINE @-

O.ut litftlr. tfullislirr fisl.itilislirt IMS

24695 Santa Cruz Hwy.- Los Gatos, CA 95030

Circle 289 on inquiry card.

TRS-80

MEMORY EXPANSIONto16K CtTO

Each Kit *J> / *J

Includes easy to follow

instructions

Jumpers and 8-16K Rams

2 Sets (32K)$165

3 Sets (48K) $2496 Months Guarantee

—Visa — Master Charge —Calif. Add 6% Sales Tax

MicroComputerWorld

Box 242San Dimas,CA 91773

At last. . .the mechanical interface!

fTURN YOUR ELECTRIC TYPEWRITER\

INTO A LOW COST, HIGH QUALITY

HARD COPY PRINTER.

The all new I/O Pak from RochesterData, Inc. interfaces the keyboard ofany commercially available electrictypewriter with any computer. Theresult: low cost, high quality hard copy.

Write today for more information.Distributor inquiries invited.

USER LIST $395.00

Quantity and distributor

discounts available.

ROCHESTER DATA, INC.3100 MONROE AVENUEROCHESTER, NY 14618

Circle 310 on inquiry card.

^ We Buy-Sell-Trade all brands & ^

*s models of Data Processing

.S Equipment.

USB-330 10/30 CPS impact

Printing Tractor Feed 132 Print Positions10-Key PadNearly a million dollars in inventoryCall for price quotes

214/357-5725

U.S. BROKERS INC.

2636 Walnut Hill LaneSuite 347-348

I

y> ^_L—<—J Dallas, Texas 75229 O

GBOO OWNERS

At last a real world fully addressable SS-50

control interface. Control robots, appliances,organs, solar devices, etc. Applications limitedonly by your imagination. Easy to use with ma-chine language as well as basic. Fully bufferedboard plugs directly onto mother board and re-sponds to any address defined by user. 8 fastrelays latch data while 3 opto-isolators allowhandshaking capacity. »j£ egg nn

Assembled and tested $125.00

EXTENDER BOARDS

Extend both the 3D and 5D pin buses in SWTPB8D0 Both for $19.95.

Visa fi Master Charge • An*. Res. add 5% Safes Tax

WRITE FOR DETAILS

TRANSITION ENTERPRISES INC.

Star Route, Box 241, Buckeye, AZ 85326

Circle 362 on inquiry card,

' TEXT WRITER II '

WORD PROCESSING AT AREASONABLE PRICE

• PRINT FILES CREATED BY YOUR EDITINGPROGRAM

• GENERATE FORM I ETTERS I ROM AMAILING LIST

• PERSONALIZE LETTERS WITHAUTOMATIC NAME INSERTION

• BUILD CONTRACTS, SPECIFICATIONS. OROTHER DOCUMENTS FROM APARAGRAPH I IDRARY

• LEET AND RIGHT JUSTIFICATION, TABS.CENTERING. PARAGRAPH III.LING, ETC.

• AUTOMATIC PAGE AND CHAPTERNUMBERING

• WORKS WITH ANY TERMINAL ANDPRINTER

VERSIONS AVAILABLE FOR:

VECTOR MZ wilh L1NEEDIT

MICROPOLIS 3.0 or 4.0 wilh 1.1NEEDIT

CP/M 1.4 wilh ED

NORTH STAR wilh ALS8

!65.00 For Diskette and Manual -

110.00 For Manual Alone(Calif, residents add 6% sales tax)

ORGANIC SOFTWARE

1492 Windsor Way* Liiermon

(41514554034

CA 94550

Circle 217 on inquiry card.

Circle 381 on inquiry card.

Circle 284 on inquiry card.

7400 TTL

SN740ONSN7401NSN7402HSN7403NSN7404NSN74Q5NSN7406NSN7407NSN7408NSN7409NSN7410NSN7411NSN7412NSN7413NSN74I4NSN7416..SN7417NSN742QNSN7421NSN7422NSN7423NSN7425NSN7426NSN7427NSN7429NSN7430NSN7432NSN7437NSN7438NSN7439NSN7440NSN7441NSN7442NSN7443NSN7444NSN7445NSN7446NSN7447NSN744BNSN7450NSN7J51NSN7453NSN74S4NSN7459ASN7460N20% Discount

SN7470N

SN7472N

SN7473N

SH7474N

SN7475N

SN7476N

SN7479N

SN7480N

SN7482N

SN7483N

SN7485N

SN7486N

SN7489N ,

SN749QN

SN7491N

SN7492N

SN7493N

SN7494N

SN749SN

SN7496N

SN74.97N

SN741O0N

SN74107N

SN74I09N

SN74H6N

SN74121N

SN74122N

SN74123N

SN74I25N

SN74126N

SN74132N

SN74I36N

SN74141N

SN74T42N

SN74143N

SN71144N

SN74145N

SN74147N

SN74148N

SN74150N

SN74151N

SN74152N

SN74153N

SN74154N

SN74155N

SN74156N

SN74157N

SN7416QN .89

SN74161N .89

SN741B2N 1.95

SN74163N .89

SN74164N .89

SN74165N .89

SN74166N 1.25

SN74167N 1.95

SN74170N 1.59

SN74172K 6.00

SN74173N 1.25

SN74174N .89

SN74175N .79

SN74176N .79

SN74177N .79

SN74179N 1.95

SN74180N .79

SN741B1N 1.95

SN74182N 79

SN74184N 1.95

SN74185N 1.95

SN74186N 9.95

SN7418BN 395

SN74190N 1.25

SN74191N 1.25

SNMI92N .79

SN74193N .79

SN74194N .89

SN74195N 69

SN74196N .89

SN74197N .89

SN74198N 1.49

SN74199N 1.49

SN74S20O 4.95

SN74251N 1.79

SN74279N .79

SN74283N 2.25

SN74284N 3.95

SN74285N 3.95

SN74365N .69

SN74366N .69

SN74367N .69

SN7436BN .69

SN74390N 1.95

SN74393N 1.95

100 pci eomblnoii order 25% -1000 pci combined ardor

C04000C04Q01CD40O2CD4006CD4007CD4009CD4010CD4011CO4012C04013CD4014CO4015CD4016COJ017CD4018CD4019CD402QC04021CD4022CD4023CD4024C04025CD4026CD4027

74COO74C0274C0474C0674C1074C1474C2074C3074C4274C4874C73

7BMGLM106HLM300H

LM301CN/H

LM302H

LM304H

LM305H

LM307CN/H

LM308CN/H

LM309H

LM309K

LM310CN

LM311N/H

LM312H

LM317K

LM318CN/H

LM319N

LM320K-5

LM320K-52

LM320K-12

LM320K-15

LM320K-18

LM320K-24

LM320T-5

LM320T-5.2

LM320T-8

LM320T-12

LM320T-15

LM320M8

LH320T-24

LM323K-5

LM324N

LM339N

LM340K-5

LM340K-6

LM340K-B

LM340K-12

LM340K-15

74LS0O74LS0174LS0274LS0374LS0474LS0574LS0B74LS0974LS1074LS1174LS1374LS1474LS1574LS2074IS2174LS2274LS2674LS2774LS2874LS3074LS3274LS3774LS40l 74LS42

C/MOS

CD4028CO4029CD4030C04035CD4040CD4041CD4042CD4043CD4044CD4046CD4047CD404BCD4049C0405OCO4051C04053CDJ056CO4059CD4060CD4066CD4068C04O69

CD407O

CO4071

C04072

CD4076

CD4081

CD40B2

C04D93

CD4093

MCI 4409

MC14410

MC14411

UCM419

MC14433

MCI 4506

MC14507

MCI 4562

MC14583

CO4508

CD4510

CD451I

CD4515

CDJ51B

CD4520

C04S66

74C00

74C8574C9074C9374C9574C10774C15174C15474C15774CI6074C161

74C16374C16474C17374IC19274CI9374C19574C92274C92374C92574C926B0C95B0C97

2.492,602.492.492.49

1.50

LINEAR

LM340K-18 1.35

LM340K-24 1.35

LM340T-5 1.25

LM340T-6 1.2S

LM340T-8 1.25

LM340T-12 1.25

LM340M5 1.25

LM340M8 1.25

LM34QT-24 1.25LM35BN

2.95

LM370N

LM373N

LM377N

LM380N

LM380CN

LM381N

LM3B2N

NE501N

NF.510A

NE529A

NE531H/V

NE536T

NE540L

NE544N

NE550N

NE555V

NE556N

NE560B

NEW 18

NE562B

WE565N.H

NE566CN

NE567WH

NE570N

LM703CWH

LM70W/H

1.953.25

3.956006.00

LM710NLM711NLM723N/HLM733NLM739NLM741CN/HLM741-14NLM747NWLM74BN/HLM1310NLM145BCN/HMC14BBN 1.95MC1489N 1.95LM1496N .95

LM1556V 1.75MC1741SCP 3.00LM2M1N 1.95LM2901N 2.95LM3053N 1.50LM3065N 1.49LM3900M3401) 49LM3905N .89

LM3909NMC5558V

LM75450N

75451CN

75452CN

75453CN

75454CN

75491CN

75492CN

75493N

75494CN

RC4136

RC41S1

RC4194

nC4?95

4.95

74LS00HL

74LS4774LS5174LS54741S5574LS7374LS7474LS7574LS7674LS7874LS8374LSB574LS8674LS9074LS9274LS9374LS9574LS9674LS10774LSI0974LS11274LS12374LS12574LS13274LS136

74LS13B74LS13974LS15174LS15574LS15774LS16074LS16174LS16274LS16374LS16474LS17574LS1B174LS19074LS19174LS19274LS19374LS19474LS19574LS25374LS25774LS25B74LS26074LS27974LS36774LS36B74LS670

Miailite

Electronic Home ^ ^^f ■■■■^IF,Security Timer

A inic'cifxocsssor-basod pfe-piogrammea lig'il comrcJ iim tils Into ahofi»wallsocksi.raplaongihastandardooioflitgtilBwiIcf DtaeoutagaiInlnjdata and buiplara by luming Ughia on and of in a 'teal tin" patlamwtHlo ydu're away

Umre ordor sledronwctuinical timers Vifjiiio can simuiiiio the kgnlingpiiitsrns otiivodillt.icr.t rooms as satocrofl by ir-* u-jii VlgiMo can alioconlrol ovat head ligtisi, wNcti other llnws cannot ThiM Viglii* unli.sunutating lotcn«m, Mtnioom. and bednxxn lignting can pva a nomaatimala protaction. Docauvt ine ua«i cnwnai a lighting patlam Iftalcepict! his teal Ha paTtsm Ha than soil the Vtgrkt* cttck and roampanem accordingly |Soa Dar chan bolow.} Tha houf* actually looUocciipod, arinougn no one U homo

Easy lo insiall, Ina VigjHo unfl conta.rts an ■cctinla (kgnal LED dock,plus p:e-prog rani mod indepandent bghbng patlomi toi bedroom, balh-toom. Wlcnon. fcving room, and oulalde porch Ighli Wliold-Mala com-ponenls assure the user long product Mo and reloblihiy

Technical Specificallona

120 VAC. 3] Cannot ba wad Is

_ .ly kMMM »cwm

id 300 W *ghl *1 Cfli «gjMe «r

taut. 2i) Amps

DISCRETE LEDS

5/514/S14«14/it

.200- dla.

red

green

yellow

clear.200" ilia.

red

green

yBllow.170- dla.

red.015- dla.

INFRA-RED LED1/4-X1/4-X1/16" Hat

5/S1

XC556BXC556GXC556YXC556C

XC22RXC22GXC22V

5/t1Ml4/$1

XC209RXC209GXC209V

XC526R 'XC526GXC526VXC526C

XC1I1RXCI11GXC1I1YXC111C

yellow185" dla.redgreenyellowclear

.190- dla.red

greenyellowclear

Ml

4/§1

4U1

W1

4/$14/S1

mi

5/S1

4/S14/J14/$1

TIMEXT1001LIQUID CRYSTAL DISPLAY

FIELD EFFECT

ph a **z

88:86

4 DIGIT - .D" CHARACTERSTHREE ENUNCIATORS2.00" X 1,20" PACKAGE

INCLUDES CONNECTOR

TIOOI-Transmittive $7.95

TIDOIA-Refloctlve 8.25

TYPEMAN 1MAN 2MAN 3MAN AMAN7GMAN7YMAN 72MAN 74MAN 82MAN 84MAN 3620MAN 3630MAN 3640MAN 4610MAN 4640MAN 4710MAN 4730MAN 4740MAN 4810MAN 4840MAN 6610MAN 6630MAN 6640MAN 6650MAN 6660MAN 6680MAN 6710

P0LAHITY

Common Anode-red5 x 7 Dot Matrix-redCommon Cam ode-redCommon Cathode-redCommon Anode-greenCommon Anode-yellowCommon Anode-redCommon Cathode-redCommon Anode-yellowCommon Cathode-ye l lowCommon Anode-oranrjeCommon Anode-orange ± 1Common Cam ode-orangeCommon Anode-orangeCommon Cathode-orangeCommon Anode-fedCommon Anode-red ± 1Common Cathode-tedCommon Anode-ye I lowCommon Cathode-ye NowCommon A node-orange-DOCommon Anode-orange = 1Common Calhode-orange-D.D.Common Calhode-orange j 1Common Anode-orangeCommon Cathode-orangeCommon Anode-red-D.D

DISPLAY LEDS

TYPE

MAN 6730

MAN 6740

MAN 6750

MAN 6760

MAN 6780

DL701

DL70-1

0L707

DL728

DL74I

DL746

DL747

DL749

DL750

DL33B

FND70

FN035B

FND359

FND503

FND507

5OB2-7730

HDSP-3400

HOSP-3403

5083-7300

5062-7302

5OB2-7304

5082-7340

POLARITY

Common Anode-red t 1Common Cathode-redD D.Common Cathode-red 1 1Common An ode-redCommon Cathode-iedCommon Anode-red t 1Common Cathode-iedCommon Anode-redCommon Cathode-redCommon Anode-redCommon Anodo-rBd at 1Common Anoda-redCommon Cathode-red j: 1Common Cathode-redCommon Cathode-redCommon CalhodeCommon Cathodo t 1Common CalhodeCommon Cathode|fND500)Common Anode (FND5I0)Common Anode -redCommon Anode-rodCommon Cathode red4 x 7 sgl- Dlgit-RHDP4x75gl. Digil-LHDPOve'range character (±1)4 x 7 5gl Digll-Hexadeamal

19.9515.002250

RCA LINEAR

CA3013TCA2023TCA3035TCA3039TCA3046NCA3059NCA3M0NCA308OTCA3081N

15 CA30B2N 2.00

56 CA30B3N 1.60

48 CA3086N .85

35 CA3089N 3.75

.30 CA3130T 1 39

25 CA3140T 1.25

.25 CA3160T 1.25

.85 CA3401N .49

.00 CA3600N 3.50

8 pin LP14 pin LP16 pin LP18 pin LP20 pin LP

-*17

.20.72

.29.34

14 pin ST16 pin ST18 pin ST24 pin ST

1.27.30.35.49

8 pin SG14 pin SG16 pin SG16 pin SG

%.3Q.35.38

.52

Spin WW10 pin WW14 pin WW16 pin WW18 pin WW

S.39

.45.39.43

75

IC25-49.16

CALCULATORCHIPS/DRIVERS

MM5725 $2.95

MM573B 2.95

DM8864 ' 2.00

DM8B65 1.00

DM88B7 .75

QMBB89 .759374 7 seg.

C.A. LEO driver 1.50

CLOCK CHIPS

MOTOROLA

MM5309 S4.95

MCM08L7

$4.95

MM5311 4.95

MC1408LB

f> Ih

MM5312 4.95

MC1439L

2.95

MM53H 4.95

MC3022P

2.95

MM5316 6.95

MC3061P

3.50

MM531B 9.95

MC4016(74416)

7.60

MM5369 2.95

MC4024P

3.95

MM5387/199RA 4.95

MC404QP

G 95

MM5H.I1 9.95

MC4044P

■iMi

SOLDERTAIL — LOW PROFILE (TIN) SOCKETS

50-100 1-24

22 pin LP S .3724 pin LP .3828 pin LP 4527 36 pin LP .60

3° SOLDERTAIL STANDARD (TIN) 4°i*>LP a

28 pin ST S .9936 pin ST 1.3940 pin ST 1.59SOLDERTAIL STANDARD (GOLD)

■ ■ SG I 70

25-49 50-100

WIRE WRAP SOCKETS(GOLD)LEVEL #3

28 pin SG

36 pin SG I 65

40pinSG 175

22 pin WW S 95

24 pin WW 1.05

28 pin WW 1 40

36 pin WW 1 59

40 pin WW 1.75

1/4 WATT RESISTOR ASSORTMENTS - 5%

10 OHM27 OHM68 OHM

12 OHM33 OHMB? OHM

5 OHM39 OHM100 OHM

18 OHM-17 OHM20 OHM

180 OHM ??0 0HM 270 OHM 130 OHM 390 (IHM

470 OHM 560 OHM 630 OHM 820 OHM "f

'■?K 1.5K 1.8K 7.2K ;..'K

1.2M3.3M

220K560K1.5M3.9M

330K820K

7.2M5.6M

ASST. 8R Includes Resistor Assortments 1 -7 (350 PCS.)

$1.75

1.751.751.751.751.75

so pes 1.75$9.95 ea.

50 PCSSO PCS

SO PCS

SO PCS

S5.00 Minimum Order - U.S. Funds OnlyCalifornia Residents - Add 6% Sales Tax

J amm-H;i>H

Spec Sheets - Z5i

1979 Catalog Available—Sand 41C stamp

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE1021 HOWARD AVENUE. SAN CARLOS. CA 94070

Advertised Prices Good Thru January

TELEPHONE/KEYBOARD CHIPS ^

AY.5-9100 Push Button Telephone Dialler S14.95

AY-5-9200 Repertory Dialler 14.95

AY-5-9500 CMOS Clock Generator 4,95

AY-5-2376 Keyboard Encoder m keys) 14.95

HD0165 Keyboard Encoder 16 keys 7.95

74C922 Keyboard Encoder (16 keys) 9.95

ICM7045ICM7205ICM7207ICM7208ICM7209

ICM CHIPS

CMOS Precision TimerCMOS LED Slopwatch/TimerOscillator ControllerSeven Decade CounterClock Generator

24.9519.95

7.5019.95

6.95

NMOS READ ONLY MEMORIES

MCM6571 128 X 9 X 7 ASCII Shllted whh Greek 13.50

MCM6574 128X9X7 Math Symbol & Pictures 13.50

MCM6575 128 X 9 X 7 Alphanumeric Control 13.50

Character Generator

MISCELLANEOUS

TL074CN Quad Low Noise bl-tet Op Amp 2.49

TL494CN Switching Regulator 4.49

TL496CP Single Switching Regulator 1.75

11C90 Divide 10/11 Prescaler 19.95

95H90 Hi-Speed Divide 10/11 Prescaler 11.95

4N33 Photo-Darlington Opto-lsolator 3.95

MK50240 Top Octave Freq. Generator 17.50

DS0O26CH 5Mh2 2-phase MOS clock driver 3.75

TIL308 .27' red num. display w/integ. logic chip 10.50

MM5320 TV Camera Sync. Generator 14.95

MM5330 Hi Digit DPM Logic Block 5.95

LDHO/111 3Vi Digit A/D Converter Set 25.00/sel

LITRONIX ISO-LIT 1

Photo Transistor Opto-lsolator(Same as MCT 2 or 4N25)

2/990

SN 76477

SOUND GENERATOR

Generates Complex SoundsLow Power - ProQrammable

3.95 each

TV GAME CHIP AND CRYSTAL

AY-3-8500-1 and 2.01 MHZ Crystal (Chip I Crystal _ _c .

Includes score display. 6 games and select .angle-. He 7.95/Set

$3.404.404.401.55

XR205XR210XR215XR320

XR-L555 1.50

XR555 .39

XR556 .99

XR567CP .99

XR567CT 1.25

XR1310P 1.30

XR1466CN 3.85

XH148S 1.39

XR1489 1.39

EXAR

JE2206KA 14.95JE2206KB 19.95XR1800 3.20XR2206 4.40XR2207 3.85XR2208 5.20XR2209 1.75

XR2240 3.45

XR2242CP 1.50

XR2264 4.25

XR2556

XR2567

XR3403

XR4136

XR4151

XR4194

XR4202

XR4212

XR4558

XR4739

XR4741

1.2S

1.252 85

1 453.CO

2 05.75

1.151.47

TYPE

IN74BIN7511W7521N7531N7541N7571N7591N959IN96S1N52321N52341N52351N52361N52421N524S1N4561N4581N485A1M0QI

DIODES

VOLTS W

3.3 400m

5 1 400m

56 400m

6.2 400m

6.6 400m

9.0 400m

400m400mIS 400m5.6 500m

500m500m500m40m

PRICE4/1.004/1004/1.004/1 004/1 004/1.004/1004/1.004/1.0028

6/1.00

6/1.005/1.0012/1.00

TYPE

1N40O21N40031N40041N4005IN40061N40071N36001N41481N41541N43051N4734IM47351N47361N47381N47421N47441N11831NII841N11851NI1861N1188

VOLTS W

100 PIV 1 AMP200 PIV 1 AMP■100 PIV 1 AMP600 PIV 1 AMP800 PIV I AMP1000 PIV I AMP50 200m75 10m35 10m

12 1w15 1w

50 PIV 35 AMP100 PIV 35 AMP150 PIV 35 AMP200 PIV 35 AMP400 PIV 35 AMP

PRICE

12/1 0012/1 0012/1 0010'1 0010,1 0010fl.006/1.0015/10012/1.0015/1

C36DC3BM2N2328MDA 980-1MDA 980-3

SCR AND FW BRIDGE RECTIFIERS

ti 400V35A fti 600V1.6A(« 300V12A (a 50V

■ 200V

C106B1

MPSA05

MPSA06

TIS97

TI598

40409

40410

40673

2N918

2N2219A

2N2221A

2N2222A

PN2222 Plastic

2N2369

2N2369A

MPS2369

2N2J84

2N290G

2N2907

PN2907 Plastic

2N2925

MJE2955

2N3053

.50.30

5/1.006/1.006/1.001.751.751.754/1,002/1.004/1.005/1.007/1.005/1.004/1.005/1.004/1.004/1.005/1.007/1.005/1.001.252/1.00

TTTOI5T81S

FW BRIDGE REC.FW BRIDGE REC.

1.95

2N3055

MJE3055

2N3392

2N3398

PN3567

PN3566

PN3569

MPS3636A

MPS3702

2N3704

MPS3704

2N3705

MPS3705

2N3706

MPS3706

2N3707

2N3711

2N3724A

2N3725A

2N3772

2N3823

2H3903

1.00

5/1.005/1.003/1.004/1.004/1 005/1.005/1.005/1.005/1.005/1.005/1 005/1.005/1.005/1005/1 00.651.00

CAPACITOR

2N39042N39052N39062N40132N4123PN4249PN42502N44002N44012N44022N44032N44092N50862N50872N508B2N50692N5129PN5134PN51382N51392N52102N54492H5951

4/1 004/1.004/1 003/1.006/1.004/1 004/1 004/1.004/1.004/1 004/1.005(1 004/1 004/1.004/1.004/1 005'i.005/1 005/1.005/1.005/1.003/1 003/100

50 VOLT CERAMICDISC CAPACITORS1099. 100

CORNER

001ml.0022

OO-l/mf.01ml

1/35V

.15/35V.22/35V.33/35V.47/35V.6B/35V1.0/35V

,47/BW

1.0/50V

3.3/50V

4.7/25V

1D/25V

10/50V

22/25V

22/5QV

17/25V

47/50V

100/25V

100/50V

220/25V

220/50V

470/25V

1000/16V

2200/16V

OOliiF04 ,03 0O47^F.04 .03 01*iF04 03 022i<F.04 03 04V,iF04 .035 ImF100 VOLT MYLAR FILM CAPACITORS022ml,047ml

05 04 035

.10 .07

iml

.27

.22ml

+20% DIPPED TANTALUMS (SOLID) CAPACITORS28 .23 .17 |.5/35V ,30

.26 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 I0/25V .40

.28 .23 .17 I5/25V 63

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

.15

.13

.10

.70 .62 55

47/25V47/50V1.0/16V1.0/25V1.0/50V47/16V4.7/25V4.7/50V10/16V10/25V10/50V47/50V100/16V100/25V100/50V220/16V470/25V

Rarllsl Laid.15 13

210 BYTE January 1979

Circle 200 on inquiry card.

r

. :■•■■■ :

Kits

Regulated Power Supply

. Uses LM 309K» Heat sink provided• P.C. board construction. Provides a solid 1 amp <g

5V« Includes components,

hardware and instructions. Sizes:3-1/2"x5"x 2" high

JE200 $14.95

Function Generator Kit

. Provides 3 basic wave-forms: sine, triangle &square wave

. Frequency range from 1 Hzto 1O0K Hz

• Output amplitude from0-volts to over 6 volts(peak to peak)

• Uses a 12V supply or a ±1 6V split supply

. Includes chip, P.C. board,components and instruc-tions.

JE2206B $19.95

Digital Stopwatch Kit

POCKCT

BRnmnM

. Use Intersil 7205 Chip

• Plated thru double-sidedP.C. Board

. LEO display (red)

• Times to 59 min. 59.59 sec. withauto reset

• Quartz crystal controlled

• Three stopwatches in one:single event, split (cummulative)and taylor (sequential timing)

• Uses 3 penlite batteries

• Size: 4.5" x 2.15" x .90"

JE900 $39.95

4-Digit Clock Kit

. Bright .357" ht. red display. Sequential flashing colon

* 12 or 24 hour operationi Extruded aluminum case (black)'

• Pressure switches for hours, minutes and hold modes. Includes all components, case and wall transformer.Size: 3-1/4" x 1-3/4" x 1-1/4"

JE730

$14.95

6-Digit

Clock

Kit

. Bright .300 ht. common cathode display

■ Uses MM5314 clock chip

■ Switches for hours, minutes and hold functionsr Hours easily viewable to 20 feet

. Simulated walnut case

.115 VAC operation

. 12 or 24 hour operation

» Includes all components, case and wall transformer

.Size: 6-3/4" x 3-1/8" x 1-3/4"

JE701 $19.95

Jumbo

6-Digit

Clock

Kit

. Four .630" ht. and two .300" ht. common anode displays

• Uses MM5314 clock chip

• Switches for hours, minutes and hold functions

• Hours easily viewable to 30 feet

• Simulated walnut case

• 115 VAC operation

. 12 or 24 hour operation

• Includes all components, case and wall transformer

• Size: 6-3/4" x 3-1/8" x 1-3/4"

^ JE747 $29.95

MICROPROCESSOR COMPONENTS

-80fl0A/e0fl0A SUPPORT DEVICES'

CPU $

8-fin Input/Output

Priority Interrupt Control

Bi-Directional Bus Driver

Clock Generator/Orrver

Bus Driver

System Controller/Bus Driver

System Controller

Prop.. Comm. 1/0 (USART)

Prog, Interval Timer 1

Profj. Peripb. 1/0(PP1)

Prog. DMA Control 1

Prog. Interrupt Control 1

W007B800 SUPPORT DEVICES

MPU $1

MPU with Clock and Ram i

128X8 Static Ram

Periptv Inter. Adapt (MC&820)

Priority Interrupt Controller 1

1024XB Bil ROM (MC6BA30-8) I

Asynchronous Comm. Adapter

Synchronous Serial Data Arjapt.

0-600 ops Digital MODEM 1

2400 Dps Modulator 1

Quad 3-State Bus. Trans. (MC6T26)

MICROPROCESSOR CHIPS—MISCELLANEOUS -

280(780C) CPU St

ZBOAI780-1) CPU !

CDP1802 CPU

2650 MPU 1

8035 B-Bit MPU w/clock, RAM. 1/0 lines

P8085 CPU 1

TMSMOOJL 16-Bit MPU w/tiardware. multiply

& divide < SHIFT REGISTERS

MM500H

MMS'J'Jll

MM5WH

MM506H

MM510H

MM5016H

2504T

2518

2522

2524

2525

2527

2528

2529

2532

2533

3341

74LS670

Dual 25 Bit DynamicDual 50 Bit DynamicDual 16 &1 StaticDual 100 Bit StaticDual 64 Bit Accumulator500/512 Bit Dynamic1024 DynamicHex 32 Bit StaticDual 132 BI1 Sialic512 Sialic1024 DynamicDual 256 Bit StaticDual 250 StaticDual 240 Bil StaticQuad 80 Bil Static1024 Sialicflfo

4X4 Register File (TnState) UART'S

A-Y-5-1013 30K BAUD

-MICROPROCESSOR MANUALS

M-ZBO

User Manual

$7.50

M-CDP1B02

User Manual

7.50

M-2650

User Manual

5.00

- ROM'S

2513(2140)

Character Generator(upper case)

$9.95

2513(3021)

Character Generator(lowor case)

9.95

2516

Character Generator

10.95

MM5230N

204B-Bi1 Read Only Memory

1.95

1101

256X1

Static

SI .49

1103

1024X1

Dynamic

.99

2101(8101,

2S6X4

Static

3.95

2102

1024X1

Static

1.75

21L02

1024X1

Sialic

1.95

2111(811!)

256X4

Static

3.95

2112

256X4

Static MDS

4.95

2114

1024X4

Static 450ns

9.95

2114L

1024X4

Static 450ns low pawer

1D.95

2114-3

1024X4

Static 300ns

10,95

2114L-3

1024X4

Static 300ns low power

11.95

5101

256X4

Sialic

7.95

5280/2107

4096X1

Dynamic

4.95

7489

16X4

Static

1.75

74S200

256X1

Static Trtslale

4.95

93421

256X1

Static

2.95

UPD414

4K

Dynamic 16 pin

495

(MK4027

UPD416

16K

Dynamic 16 pin

14.95

(MK4116

TMS4044-

4K

Sialic

14,95

45NL

TMS4045

1024X4

Static

14.95

2117

16.3B4X1

Dynamic 350ns(house marked)

995

MM5262

2KXI

Dynamic

4/1.00

1702A

2048

FAM05

S5.95

TMS2516

16K'

EPROM(lntel 2716)

49.95

(2716)

"Requires single +5V power Supply

TMS2532

4KX8

EPHOM

89.95

2708

BK

EPROM

10.95

2716 T.I

16K-1

EPROM

29.95

"

lequires 3 voltages. —5V, »5V. <-12V

5203

204B

FAMOS

14,95

6301-1(7611) 1024

Ttistale Bipolar

3.49

6330-1(7602) 256

Open C Bipolar

2.95

B2S23

32XB

Open Collector

3.95

B2S115

4096

Bipolar

19.95

82S123

32X8

Tristala

3.95

74186

512

TTL Open Collector

9.95

7418B

256

TTL Open Collector

3.95

74S2B7

1024

Static

2.95

POWERACE 101 -General purpose model forprototyping all types of circuit.#923101 S 84.95

POWERACE 102 -Complete digit prototyping labwith built-in logic probe#923102 $114.95

POWERACE 103 -Triple-output power supplyfor prototyping both linear and digit circuits.#923103 $124.95

. NEW!! IN STOCK...

H POWERACE

ALL-CIRCUITEVALUATORS WITH POWER

• 1680 solderless. plug-in lie points...will hold up to 1814-pin DIP'S.

• Breadboard dements accept all DIP sizes., includingRTL. DTL. TTL and CMOS devices. T0-5's and dis-cretes with leads up to .032 "dia.

• All connections to/from switches, indicators, powersupplies and meters are made via solderless, plug-in.tie-point blocks on control panels.

• Interconnect with any solid 20 lo 30 AWG wire.

• Breadboard elemonls are mounted on ground plane-s...ideal tor high-frequency and high-speed/low -noisecircuits.

• Snort-circuit-pmol (used power supplies.

• Operate on 110 to 130 VAC at 60 Hz

• Space-age compact styling and high-grade compo-nents permil convenient, organized and quick prototyp-ing.

• All models are 7.5" wide 11.5" deep and 4,0" high(rear) 0.75" high (front) and weigh approx. 2.5 lbs.

3tt'Dlgit Portable DMM

• Overload Protected

■ 3 niflh LED Display

• Battery 0' AC operation

• Auto Zeroing

• Imv lVa 0 l ohm resolution

• Overange reading

• 10 meg input impendence

• DC Accuracy l°o typicalRinQMi DC Voltage -0-100QVAC Voltage 0-tOOOV

free. Response 50-400 HZDC'AC Current: 0-HMmAResistance 0-10 megohmSue 6 J' »4 4' « 2

Accessories:AC Adapier BC-28 $9.00Rechargeable

Batteries BP-26 20.00Carry I tig Cite LC-28 7.50

BCSF" 100 MHzL^Jmm 8-Digit

COIIMHK IHOWIMI OWOMTH1H ~ &

• 20 Hz-100 MHz Range COUntBI"■ 6" LED Display . Four power sauces, t.e

• Crystal-controlled (imebase batteries. 110 or 220V with

• Fully Aulomalic charger 12V wild aula

• PortsOle — completefy tighter adapter and externalsail-contained 7.2-10V power supply

'f^'n'llZ-m%-m $134.95

The Incredible"Pennywhistle 103'

$139.95

Kit Only

ACCESSORIES FOR MAX 100:

Mobile Charger Eliminator

use power (ram car battery

Charger/Eliminator

use 110 VAC Model 100

Mods) 1(10 - CLA $3.95

0

■ Mini-MaX 6 Digit 50MHz Frequency Counter

• Guaranteed Irtvquency range of 100 Hz lo 50 MHz

• Full 6 digit display with antiglare window

• Fully automatic-range, polarity, slope, trigger, input level switching not required.

• Lead-zero blanking—Alt zeros to the left of the first non-zero digit are blanked. Kilo Hertzand Mega Hertz decimal points automatically light up when the unit is turned on.

• Built in input overvoltage protection.

• Use 9V Battery or 1107220V power.

: SBSW^WEr'- MINI-MAX $89.95

Part No

MM-A4MM-C5

MM-IPC

MM-AC2MM-AC3

Accessories For Mini-MaxDescription

Antenna

Carrying case

Input cable with clip leads

110V adapter

220V adapier

Price

S 3.955.953.959.959.95

$5.00 Minimum Order - U.S. Fundi OnlyCalifornia Residents - Add 6% Sales Tax

Spec Sheets - Ihi

1979 Calling Available—Send 41C stamp

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE1021 HOWARD AVENUE. SAN CARLOS, CA 94070

Advertised Prices Good Thru January

The PannywhltUs 103 is capable of recording data to and Irom audio tape without

critical speed requirements tor the recorder and it is able to communicate directly wiln

another modem and terminal lor telephone ■■hamming." and communications. In

addition, it is tree of critical adjustments and is built with non-precision, readily available

parts.

[>3la Transmission Method Frequency-Shift Keying, lull-duplex (half-duplei

selectable;.

Maximum Oat a Rate 300 Baud.

Data Format Asynchronous Serial (return lo martijevel required

between eacb character).Receive Channel Frequencies .. .2025 Hz for space: 2225 Mz tor markTransmit Channel Frequencies . .Switch selectable: Low (normal) ■■■■ 1070 space,

1270 mark; High = 025 space. 2225 mar*.

Receive Sensitivity -46 dbm aecoustically coupled.

Transmll Level -15 dbm nominal. Adjustable trom -6 dbm

to -20 dbm.Receive Frequency Tolerance ...Frequency reference automatically adjusts to

allow tor operation between 1800 Hz and 2400 Hz.Digital Data Interface EIA RS-232C or 20 mA current loop (receiver is

optoisolated and non-polar).

Power Requirement! 120 VAC, single phase. 10 Watts.

Physical All components mount on a single 5" by 9"

printed circuit board. All components included.Rerjuires a VOM. Audio Oscillator r'rerjuericv Counter and/or Oscilloscope to align.

TRS-80 16K Conversion Kit

Expand your 4K TRS-80 System to 16K. Kitcomes complete with:

* 8 each UPD416 (16K Dynamic Rams)

* Documentation for conversion

TRS-16K $115.00

Special Offer - Order both your TRS-16K and theSup'R' MOD II Interface kit together (retail value$144.95) for only $139.95

COMPUTER CASSETTES

.6 EACH 15 MINUTE HIGHQUALITY C-15 CASSETTES

. PLASTIC CASE INCLUDED12 CASSETTE CAPACITY

, ADDITIONAL CASSETTESAVAILABLE #0-15-52.50 ea

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 rnrhome computers, CCTV camera,Apple II, works with Cromeco Daz-zler, SOL-20, IRS-80, Challenger,etc.

+ MOD II is pretuned lo Channel 33(UHF).

* Includes coaxial cable and antennatransformer.

MOD II

$29.95 Kit

Custom Cables & Jumpers

Part No.

DB25P-4-PDB25P-4-SDB25S-4-S

DJ14-1

DJ16-1

DJ24-1

DJ14-1-14

DJ16-1-16

DJ24-1-16

DB 25 Series Cables

Cable Length Connectors Price4 FI 2-DP25P S15.95 ea.

4 Ft. 1-DP25P/1-25S S16.95 ea

4 ft. 2-DP25S

Dip Jumpers

lit. 1-14 Pin1 It. 1-16 Pin1-24 Pin2-14 Pin2-16 Pin2-24 Pin

1 ft.

I ft.

1 ft.

1 ft.

S17.95 ea.

11.59 ea.1.79 ea.2.79 ea.2.79 ea.3.19 ea4.95 ea.

For Custom Cables A Jumpers, See JAMECO 1979 Catalog tor Pricing

CONNECTORS

25 Pin-D Subminiature

DB25P(as pictured) PLUG 52.95

DB25S SOCKET 3.50

0B5122B-1 Cable Cover for DB25 P or S 1.75

63-Key Unencoded Keyboard

This is a 63-key, terminal keyboard newly manufactured by alarge computer manufacturer. It is unencoded with SPST keys,unattached to any kind of PC board. A very solid molded plastic 13x 4" base suits most application. IN STOCK $29 95/each

Hexadecimal

Unencoded

Keypad

19-key pad includes 1-10 keysABCDEF ind 2 optional keys andshift key. $10.95/each

Circle 200 on inquiry card.

BYTE )anuary 1979 211

What's New?

of INTEREST to DESIGNERS

High Speed 4 Bit Slice 2900 BipolarMicroprocessors

Video Sample and Hold Amplifier Features Fast Acquisition Time

130 ns to 0.01% and permits conversionrates of up to 5 MHz for 12 bit analogto digital conversion. The unit acquiressignals to 8 bit, or 0.2%, accuracies in75 ns.

The 4858 is user programmable foreither transistor-transistor logic oremitter coupled logic compatability.Applications include fast Fourier trans-forms, radar pulse analysis, and deglitch-ing.

The unit is housed in a 4 by 2 by 0.6inch (10.16 by 5.08 by 1.52 cm) metalcase, providing electrostatic shielding.The 4858 is priced at $440 in unitquantities. For further information con-tact Teledyne Philbrick, Allied Dr atRt 128, Dedham MA 02026."

Circle 528 on inquiry card.

The 4858 video sample and holdamplifier features an acquisition time of

IBM Compatible Double Density Disk Formatter and Controller

An IBM compatible double densityfloppy disk formatter and controllerintegrated circuit, called the FD 1791, isnow available from Western Digital Corp,3128 Red Hill Av, Newport Beach CA92663. It is designed to meet the re-quirements of the most widely useddensity mode (FM) and System 34double density mode (MFM) applica-tions.

The FD 1791 interfaces a processorto a floppy disk drive. The device pro-vides the data accessing controls and thebidirectional transfer of information be-tween the processor memory and themagnetically stored data on the disk.The disk data is stored in a data entryformat compatible with either singleor double density modes.

The FD 1791 is able to read, writeand format a double density disk bymeans of its address mark detection, FMand MFM encode and decode logic,window extension, and write precom-pensation. Another feature allows oper-ation in two modes: one for floppydisk and another for minifloppy. Thefirst uses a clock input of 2 MHz andprovides stepping rates of 3, 6, 10 and20 ms. The clock input for the second isset at 1 MHz and the stepping rateschange to 6, 12, 20 and 40 ms. Theclock inputs are not altered whenchanging between single and doubledensity.

The FD 1791 is priced at $43.20for quantities of 1 00.■

Circle 529 on inquiry card.

Using a new advanced bipolar LSIprocess, National Semiconductor Corp,2900 Semiconductor Dr, Santa ClaraCA 95051, has developed a family ofhigher speed 2900 type 4 bit slicemicroprocessor components. Accordingto the company, they are 30 to 50 per-cent faster than similar designs now onthe market. Designated the IDM2900family, the new devices, 16 in all, usea process that combines low powerSchottky peripheral electronics withproprietary high speed Tri-State emittercoupled logic electronics for interface.National calls this new process "SCL."For complete information on theIDM2900 family contact the company."

Circle 530 on inquiry card.

Two New Schottky

Programmable Read Only Memories

Two new 4096 bit Schottky program-mable read only memories, the 74S476and the.74S477, have been added toTexas Instruments' bipolar memoryproduct line. Typical access time is 35 ns.These programmable read only memoriesare offered in plastic (N suffix) andceramic (J suffix) dual-in-line packages.

The devices can serve as direct re-placements for any currently offered 18pin 4 K byte memories. The prices inlots of 100 range from $9.30 to $18.60,depending on the package.

Inquiries should be forwarded toTexas Instruments Inc, Inquiry Answer-ing Service, POB 501 2, DallasTX 75222."

Circle 531 on inquiry card.

212

January 1979 © BYTE Publications Inc

iiiiiiiiiiiii

BECKIAN ENTERPRISES

▲

Circle 30 on inquiry card.

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 buyCONTACTS: Bifurcated Phos./Bronze. Gold/Nickel.

ALTAIR S-100: Cont./Ctrs. .125 Row Spacing, .140

50/100 Dip Sold. S3.95ea. 5 pes.

50/100 Sold. Eye. 6.95 ea. 5 pes.

I MSA I S-100: Cont./Ctrs. .125" Rom Spacing, .250"

50/100 Dip Sold. $4.20 ea. 5 pes.

50/100 W/Wrap 3 3.75 ea. 5 pes.

IMSAI CARD GUIDES: 0.19 ea. 5 pes.

CROIVIEIVICO S-100: Cont./Ctrs. .125" Row Spacing. .250"50/100 Dip Sold. $6.50 ea. 5 pes.

(Or short W/Wrap)

OTHER CONNECTORS AVAILABLE

5 pes.5 pes.5 pes.5 pes.5 pes.

.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" Row

$2.30 ea.2.95 ea.4.80 ea.4.90 ea.4.90 ea.

Spacing.

6/-Sgle. Row IPETl22/44 Sold. Eye. IKIM)22/44 Dip Sold. IKIM)43/86 Dip Sold.

.156" Contact Ctrs., .200" Row

$1.00 ea.1.90 ea.1.90 ea.4.90 ea.

Spacing.

15/30 W/Wrap 3 $1.05 ea.22/44 W/Wrap 3 2.30 ea.36/72 Sold. Eye. 3.45 ea.36/72 W/Wrap 3 3.85 ea.43/86 W/Wrap 3 5.50 ea.

POLARIZING KEYS FOR ALL OF THE ABOVE:

5 pes.5 pes.5 pes.5 pes.

5 pes.5 pes.5 pes.5 pes.5 pes.

$3.75 ea.6.50 ea

$3.95 ea.3.50 ea.0.16 ea.

$6.00 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.

Specify: IN Contact or BETWEEN Contact:

1 to 49 pes. SO.IOea. 50 pcs./Up S0.08 ea.

SPECIAL

12/24 Pin .156" Cont./Ctrs. .200" Row Spacing.

TIN PLATED CONTACTS.IDEAL FOR PET INTERFACE & PARALLEL USER PORT. $1.25ea. 5 pes. $1.10 ea.

SUBMINIATURE CONNECTORS: IDB 25 SERIES, RS 232.)

DB 25P Male PlugDB 25S Female SocketDB 51212-1 Grey HoodDB 51226-1A Black HoodD 20418-2 Hardware Set

$2.50 ea.3.60 ea.1.20 ea.1.30 ea.0.75 ea.

5 pes5 pes5 pes5 pes5 pes

$2.20 ea.

3.40 ea.

1.10 ea.

1.20 ea.

0.70 ea.

SAVE: BUY A SET: (1 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 cabinej cooling. This is the most quiet fan you will find. Onlymeasures 4 3/4 square by 1 '/* deep. U. L. Listed.

$21.00ea. 5 pes. $19.00 ea.

I.C. SOCKETS. GOLD.WIRE WRAP 3 TURN.

14 pin $0.36 ea.16 pin 0.38 ea.

2708 EPROMS PRIME$14.00 ea.

I.C. SOCKETS.Dip Solder. Tin.

14 pin $0.15 ea.16pin 0.17ea.

8080 PRIME

$9.00 ea.

WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES AREWELCOME.

WE ARE CONNECTOR (EDGE CARD) SPECIALISTS. IE YOU DO NOT SEEWHAT YOU NEED IN THIS ADVERTISEMENT, PLEASE WRITE US. WE WILLREPL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All ordersover $25.00 in USA and Canada: WE PA Y THE SHIPPING.NOTE: CA residents please add 6% sales tax.

NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED.

MAIL ORDERS TO

Beckian Enterprises

P.O. Box 3089

Simi Valley, CA 93063

ATWOOD ENTERPRISES

KITS

$ #9*95 4lV RAfVI Available assembled and tested $89.95.

$ I 29*95 4K PROM Bipolar 51 2 x 8 Proms 93448/6341.

$149*95 8K EPROM Needs onlv4K space 2716.

$ 59*95 DIGITAL I/O 8parallel ports plus 16 interrupts.

$ 99.95 ANALOG IN 32 inputs, 8 bits, 100 microseconds.

DID YOU| KNOW . ..

"| BIG SALE

I 1 each board:

Digital I/O

Eprom programming

I

""I

8K Eprom Board (without 2716's)

1 REGULAR PRICE

I

J

$ 49.95 PROM PROGRAMMING

Burns 4.Can copy to 3.

$30.00 MOTHER BOARDMOTHER BOARD FREE

8 slot with connectorsand card guides.

"1

$139.85JANUARY ONLY$100.00

Extra zero insertion force sockets $5.00

WITH PURCHASE OF4 RAM BOARD KITS

MAKE CHECK OR MONEY ORDER PAYABLE TO:

Kathryn At wood EnterprisesP.O. Box 5203, Orange. CA 92667

Discounts available at OEM quantities. For orders less than $25 total, add $1.25for shipping. California residents add 6% sales tax. Estimated shipping time 2days ARO with money order. For checks allow 7 days for check to clear.

Circle 25 on inquiry card.

BYTE January 1979 213

What's New?

Wire Wrapping Kit for Prototype and Hobby Applications

Model WK-5B is a new wire wrappingkit that contains a complete range oftools and parts for prototype and hobbyapplications. The kit includes: ModelBW-630 battery wire wrapping tool com-plete with bit and sleeve; Model WSU-30,a hand wire wrapping, unwrapping andstripping tool; a universal printed circuitboard; an edge connector with wirewrapping terminals; a set of printed cir-cuit card guides and brackets; a mini-shear with safety clip; 14, 16, 24 and 40pin dual-in-line package (DIP) sockets;an assortment of wire wrapping termi-nals; a DIP inserter and extractor; and a3 color wire dispenser complete with 50feet each of red, white and blue Kynarinsulated silver plated solid AWG 30 cop-per wire.

The Model WK-5B wire wrapping kitcomes in a durable plastic case and ispriced at $74.95. For further infor-mation contact OK Machine and ToolCorp, 3455 Conner St, Bronx NY10475.*

Circle 648 on inquiry card.

Dual Programmable Data Rate Generator from Motorola

This K1135A dual data rate gener-ator is a self-contained quartz crystal inhybrid form. The chip and crystal are

packaged in an 18 pin dual-in-line pack-age 0.2 inches high.

The K1135A simultaneously gen-erates a transmit and receive frequencyat 16 times the transmission rate. 16standard transmission rates can begenerated by manual control or by a4 bit address programmed in software.

Other features include a miniaturesize, 1.015 by 0.515 by 0.200 inches(2.578 by 1.308 by .508 cm), ±.01%stability, and a separate clock frequencyoutput (5.0688 MHz). For furtherinformation, contact Motorola Com-ponent Products, 2553 N Edington,Franklin Park IL 60131."

Circle 649 on inquiry card.

The Slimline TI-50 Fits in Your Pocket

The Slimline TI-50 is a scientificpocket calculator with statistics, fromTexas Instruments. The TI-50 offers60 algebra calculator functions, includ-ing logarithms, trigonometry and statis-

tics. It also includes two full arithmeticmemories with a new constant memoryfeature which allows the calculator toretain data entered in the memorieswhether the unit is on or off. The con-stant memory enables retention of con-tinuously used constants, values andstatistics, reducing the time needed toperform repetitive entries and operations.The unit also features Tl's algebraicoperating system (AOS), which includes15 levels of parentheses and up to fourpending operations. The automatic pow-er down (APD) automatically shuts thecalculator off after 15 minutes ofnonuse.

Other features include a large liquidcrystal display (LCD) 8 digit readout,and scientific notation (5 digit mantissa,2 digit exponent display format) withmantissa expansion capability. A specialbattery indicator provides a convenientcheck on battery condition.

The TI-50 is priced at $35. For fur-ther information contact Texas Instru-ments Inc, Consumer Relations, POB 53(Attn: TI-50), Lubbock TX 79408."

Circle 650 on inquiry card.

New Metric Heat Shrinkable Tubing

The ST221-M series of shrinkableall-purpose, irradiated polyolefin ex-truded tubing is suited for most elec-trical and electronic metric applications.The tubing is thermally stable and pro-vides a tight mechanical bond.

Tubing sizes range from 1.191 mm(0.047 inches) through 25.4 mm (1inch) and are available in standardlengths of 1.219 meters (47.99 inches)in various standard packages of 6.096meters (20 feet) and 30.48 meters(100 feet).

The metric tubing features a shrinkratio of 2:1 with only 5 percent longi-tudinal shrinkage.

Stock colors are black, white, red,yellow, blue and clear. Detailed informa-tion and complete specifications areavailable from the Cole-Flex Corp,91 Cabot St, W Babylon NY 11704."

Circle 651 on inquiry card.

Diskette Filing System

The Super Diskette Filing System isan easel type vinyl covered binder with20 specially designed 8V2 by 11 inch vi-nyl 3 ring binder inserts. Each insertholds two disks and provides space fornoting contents in an abbreviated formbeside the disk and a larger pouch overthe bottom of the disk for more exten-sive notes.

Diskettes need only be labeled witha small numbered label to associate themwith their pouch. A separate pouch isprovided for self-stick labels and writeprotect tabs.

Included with the package is a punch,template and complete instructions formodifying single side disks so that bothsurfaces can be used.

The retail price for this system is$69.95. Contact Aaron Associates, POB1720A, Garden Grove CA 92640.«

Circle 652 on inquiry card.

214

lanuary 1979 © BYTE Publications Inc

a COMPUTER INTERFACES & PERIPHERALS I

For free catalog Including parts lists and schematics, send a self-addressed stamped envelope. E

APPLE II SERIAL I/OINTERFACE*

Part no. 2

Baud rate is continuously adjustablefrom 0 to 30,000 • Plugs into any periph-eral connector • Low current drain. RS-232 input and output • On board switchselectable 5 to 8 data bits. 1 or 2 stopbits, and parity or no parity either odd oreven • Jumper selectable address •SOFTWARE • Input and Output routinefrom monitor or BASIC to teletype or other serial printer.• Program for using an Apple II for a video or an intelli-gent terminal. Also can output in correspondence codeto interface with some selectrics. Board only — $15.00;with parts — $42.00; assembled and tested — $62.00.

MODEM

Part no. 109

• Type 103 • Full or halfduplex • Works up to 300baud • Originate or Ans-wer • No coils, only lowcost components • TTLinput and output-serial •Connect 8 ohm speakerand crystal mic. directly to board • Uses XR FSKdemodulator • Requires +5 volts • Board $7.60;with parts $27.50

DC POWER SUPPLY*

Part no. 6085

• Board supplies a regulated +5 voltsat 3 amps., +12, -12, and -5 volts at1 amp. • Power required is 8 volts ACat 3 amps., and 24 volts AC C.T. at 1.5amps. • Board only $12.50; withparts excluding transformers $42.50

TAPE INTERFACE *

Part no. 111

• Play and record KansasCity Standard tapes •Converts a low cost taperecorder to a digital re-corder • Works up to 1200baud • Digital in and outare TTL-serial • Output ofboard connects to mic. inof recorder • Earphone ofrecorder connects to input on board • No coils •Requires +5 volts, low power drain • Board $7.60;with parts $27.50

TV. TYPEWRITER

Part no. 106

• Stand alone TVT

• 32 char/line, 16lines, modificationsfor 64 char/line in-cluded • ParallelASCII (TTL) input*Video output • 1Kon board memory •Output for compu-ter controlled cur-ser • Auto scroll •Non-destructive curser • Curser inputs: up, down, left,right, home, EOL, EOS • Scroll up, down • Requires +5volts at 1.5 amps, and -12 volts at 30 mA • All 7400, TTLchips • Char. gen. 2513 • Upper case only • Board only$39.00; with parts $145.00

TIDMA

Part no. 112

• Tape Interface Direct Memory Access • Recordand play programs without bootstrap loader (noprom) has FSK encoder/decoder for direct con-nections to low cost recorder at 1200 baud rate,and direct connections for inputs and outputs to adigital recorder at any baud rate. • S-100 bus com-patible • Board only $35.00; with parts $110.00

UART & BAUD RATEGENERATOR*

Part no. 101

• Converts serial to paralleland parallel to serial • Lowcost on board baud rategenerator • Baud rates: 110,150. 300, 600, 1200, and2400 • Low power drain +5volts and -12 volts required

• TTL compatible • All characters contain a start bit. 5 to8 data bits, 1 or 2 stop bits, and either odd or even parity.

• All connections go to a 44 pin gold plated edge connec-tor • Board only $12.00; with parts $35.00 with connectoradd $3.00

8K STATICRAM

Part no. 300

• 8K Altair bus memoryUses 2102 Static memory chips • Mem-ory protect • Gold contacts • Wait states • Onboard regulator • S-100 bus compatible • Vectorinput option • TRI state buffered • Board only$22.50; with parts $160.00

RF MODULATOR

Pari no. 107

• Converts video to AM modu-lated RF, Channels 2 or 3. Sopowerful almost no tuning is re-quired. On board regulatedpower supply makes this ex-tremely stable. Rated veryhighly in Doctor Dobbs' Journal. Recommendedby Apple. • Power required is 12 volts AC C.T., or+5 volts DC • Board $7.60; with parts $13.50

RS 232/TTYINTERFACE

Part no. 600

• Converts RS-232 to 20mAcurrent loop, and 20niA currentloop to RS-232 • Two separatecircuits • Requires +12 and -12volts • Board only $4.50, withparts $7.00

«i*rw*

RS 232/TTL*INTERFACE

Part no. 232

• Converts TTL to RS-232,and converts RS-232 toTTL • Two separate circuits

• Requires -12 and +12 volts

• All connections go to a 10 pin gold plated edgeconnector • Board only $4.50; with parts $7.00with connector add $2.00

ELECTRONIC SYSTEMS

Dept. B, RQ Box 21638, San Jose, CA. USA 95151

Mention part number and description. For parts kits add "A" to part number. In USA, shipping paid for orders accompanied by check, money order, orMaster Charge, BankAmericard, or VISA number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5%for tax. Outside USA add 10% for air mail postage, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for allICs, components, and circuit board. Documentation is included with all products. All items are in stock, and will be shipped the day order is received viafirst class mail. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Dealer inquiries invited.24 Hour Order Line: (408) 226-4064 * Circuits designed by John Bell

Circle 125 on inquiry card.

BYTE lanuary 1979 215

216 BYTE January 1979

Circle 382 on inquiry card.

m, ™t o/w^i A "Smart" VIDEO BOARD^ lhe LW-2001 KIT At A "Dumb" Price!

\* A VIDEO BOARD + A MEMORY BOARD + AN I/O BOARD - ALL IN 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-100 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:

■ 128 displayable 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 S10.00

2K Static Memory

(with Sockets) S45.00

4K Static Memory

(with Sockets) S90.00

Complete unit, assembledand tested with4K Memory S335.00

Basic software on ROM . S20.00

Text editor on ROM .... $75.00

DEALERINQUIRIES WELCOMED

Tl PROGRAMMER $53.9

(Hexadecimal. Octal. Decimal.

lEnter a number in base 8, 10, or 16. Tl Programmer can

Iquickly convert to either of the other bases. Rapidly ha-

larithmetic in all three bases giving you more time for irr

lant programming or troubleshooting tasks.

(ideal for use with any size computer. Tl Programmer u

■integer "two's complement" arithmetic in hexadecimal

loctal bases.

$44.95DATA CHROM

ASCII KEYBOARD KIT $74.00

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. 90278TEL. (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:

Full 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

S27.50

18 Pin Edge Con.

S 2.00

I.C. Sockets

$ 4.00

Serial Output Provision(Shift Register)

$ 2.00

■ Upper Case Lock Switch for

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

BYTE January 1979 217

Whafs New?

SOFTWARE

COMPAS Reduces Prices on 6500Processor Cross Assemblers

COMPAS has reduced the prices onall its cross assemblers for the 6500 pro-cessor family. The 6500 is built by MOSTechnology, SYNERTEK and Rockwell.All cross assemblers are now priced at$600 which includes test programs andone year free support. Two versions ofthe cross assemblers are offered.

The MINmic 1165 cross assembleris available for any PDP-11 using theRT-11 operating system and was former-ly priced at $900. The MINmic crossassembler is written in MACRO 11 formaximum speed and requires 5 Kwords memory. Normal distribution ison floppy disk or RK05 disk. Thisassembler may be used in conjunctionwith the CSL/65 cross compiler whichalso runs on any similar PDP-11.

For further information contactCOMPAS, Computer Applications Corp,413 Kellogg, Ames IA 50010."

Circle 584 on inquiry card.

Run Program at 0000with Your Poly 88

Having trouble running software be-ginning at hexadecimal 0000 on yourPolyMorphic Poly 88 computer, due tothe on board system monitor? A newSuper-Monitor is now available whichpermits the use of low off board pro-grammable memory for program storage.The Super-Monitor plugs into the tworemaining read only memory socketson the Poly processor card and leavesthe original monitor intact. The monitorfeatures: dump, move, verify, erasableread only memory (EROM), program-mer, fill, in, out, cassette save, cassetteload, search, serial port driver, GOTO,memory modify and return to Polymonitor. It is available as a set of two2708 erasable read only memories withcomplete documentation for $59 plusshipping from Computer Hobbies Un-limited, 9215 Midlothian Tpk,Richmond VA 23235."

Circle 585 on inquiry card.

Apple Users Get Access to Dow Jones Information Service

Apple Computer Inc has announceda new service to provide owners of itscomputers with stock portfolio infor-mation and other financial services.

Using a telephone linkup, users ofApple II computers will be able to dialDow Jones' Stock Quote ReporterService for 15 minute delayed stock andbond quotations. This information alongwith software provided by Apple willenable the user to determine currentportfolio value, shprt and long term

gains, and rate of return, among otherthings. At a later date, Apple II users willalso be able to call up current news oncompanies in their user's portfolio.

The cost of the stock quote serviceincludes a 1 time fee of $25 plus a usagecharge of $3 for the first three minutesplus $.50 a minute thereafter for eachusage session.

Contact Apple Computer Inc, 10260Bandley Dr, Cupertino CA 95014."

Circle 588 on inquiry card.

Cromemco Trace System Simulator

Trace is a system simulator programdesigned to facilitate assembly languageprogram development on Cromemcocomputer systems. Trace emulates thebehavior of a Z-80 processor as it followsthe logic of the user program.

Virtually all aspects of system oper-ation can be simulated, including priori-tized interrupts and input/output (10)commands. Trace options includecontrol of register display and choice ofdisplay frequency. A historical record ofprogram execution is maintained in a100 instruction circular queue.

Features which locate errors quicklyinclude: warnings if the user writes tounexpected areas, simulation of IOcommands on the console, undefinedcalls to CDOS routines, improper returnfrom subroutine calls, and executionof branch instructions or decimal adjustif the relevant flags are in an undefinedstate.

The advanced features of Traceenable it to be used in place of logicanalyzers or in-circuit emulators inprogram development.

It is available on minifloppy (ModelTSS-S) or floppy (Model TSS-L) IBMformat disks for $95. For additionalinformation contact Cromemco Inc,280 Bernardo Av, Mountain View CA94040."

Circle 586 on inquiry card.

Software Packaged in North Star Format

MicroAge has introduced new appli-cations software on minifloppy disk thatis packaged in North Star format. Eachof the programs is ready to run in anyS-100 8080 or Z-80 computer system.They include: financial programs, math-ematical analysis programs, statisticalprograms and miscellaneous programs,volume 1 and 2 games, backorder pro-gram, mailing list, and North Star diskoperating system for the Centronicsprinter. Priced at $35 each, they areavailable from MicroAge Mail Order.803 N Scottsdale Rd, Tempe AZ85281."

Circle 587 on inquiry card.

Simulation Package for Minicomputers

Mini-Dynamo is a simulation packagedesigned for the PDP-11, NOVA,Eclipse, Varian and other minicom-puters. Mini-Dynamo offers standardDynamo equation formats, easily speci-fied tabular and graphical output (withautomatic or user specified scaling),automatic sorting of equations forcorrect computational order, abilityto rerun the model without recom-piling, and a variety of options totailor output to users' needs (Dynamois a continuous simulation languagefor large computers).

The one time license fee is $2500,or $1000 for educational institutions.Mini-Dynamo can be licensed fromPugh-Roberts Associates Inc, 5 Lee St,Cambridge MA 02139."

Circle 589 on inquiry card.

2t8 January 1979 © BYTE Publications Inc

ITHACA AUDIO

THE OEM MARKETPLACE

IA ExpandsSlOOLine

« 1978 ITHACA AUDIO

Video

Display

Board

Featuring a full 128 upper/lower case ASCIIcharacter set stored in a 1K buffer memory.Easy to read 16 line x 64 character format canbe displayed on an inexpensive video monitoror a modified TV set. Includes a TTY softwaredriver. Add our powerful K 2 FDOS to create aversatile operator console.

$25.00

Disk

Controller

Board

Controls up to 4 single or double sided drives.Data protect features include automaticdisable of write-gate during power-down fordata integrity. Supported by a reliablesoftware package, K 2 FDOS and completediagnostic documentation.

$35.00

K2

Operating

System

Power full disk software in the DEC tradition.Includes Text Editor (TED), File Package (PIP),Debugger (HDT), Assembler (ASMBLE),HEXBlfl, 1 COPY, System Generator &YSGEN).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 connectorsand blated-through notes. All boards (exceptthe Protoboard) nave fully buffered data andaddress lines, DIP switch addressing, soldermask and parts legend.

Z-80 CPU Board Most powerful 8 bit centralprocessor available. Featurina power-on-jump, provision for on-board 2708. Acceptsmost 8080 software. $35.00

8K Static RAM Board High speed static memoryat the lowest cost per bit. Includes memoryprotect/unprotect and selectable wait states.

$25.00

2708/2716 EPROM Board Indispensable for stor-ing dedicated programs ana often used soft-ware. Accepts up to 16K of 2708's or 32K of

$25.00

2716'S.

Protoboard Universal wire-wrap board for de-

-'s any size

$25.00

veloping custom circuitry. Accepts any sizeDIP socket

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

Mass Storage at

Incomparable

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 $630.

Disk Controller Board $35.

K2 FDOS Available on 8"

floppy disk w. manual $75.

Quality Components

ZILOG Z-80 $19.00

ZILOG Z-80A 23.00

INTEL 2708 11.00

FAIRCHILD 2102 LHPC 1.60

FAIRCHILD 2102 LIPC 1.35

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 order.N.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 January 1979 219

Whal's New?

SOFTWARE

Graphics Software for 6800 Computerswith a GT-61 Graphics Display

Graph #1 and Graph #2 are utilitypackages enabling use of the SwTPCGT-61 graphics display with a 6800computer. Graph # 1 is for use with amachine language, while Graph #2 is foruse through SwTPC 8 K BASIC, version2. When using Graph # 2 the user canprogram the GT-61 display directly froma BASIC program without any machinelanguage programming.

Both versions can display, as well aserase, points, lines and the completeupper case ASCII character set. There isadditional capability for user definedcharacters. Applications for thesepackages include display of statisticaldata complete with legends, and games.

Each package is priced at $5.50 forpaper tape or $6.50 for Kansas Citystandard cassette. The package includesa 22 page instruction manual withsample programs and a full source listingof Graph. To order, contact AppliedMicrocomputer Systems, POB 68, SilverLake NH 03875.-

Circle 643 on inquiry card.

CP/M Availablefor Users ofMicropolis Disk System

Micropolis disk users can now jointhe software bus. Without any hardwarechanges CP/M can be run with all thefeatures available to users of the systemon standard floppy disks. CP/M onMicropolis (version 1.4) is available for$145. The following is also availablefor the CP/M user with Micropolis hard-ware: Microsoft FORTRAN-80, $400;Microsoft disk extended BASIC, $300;CBASIC compiler/interpreter BASIC,$95; MAC macroassembler, $100; SIDsymbolic instruction debugger, $85;and BASIC-E compiler/interpreterBASIC, $30. For more informationabout the above products write toLifeboat Associates, 164 W 83rd St,New York NY 10024..

Circle 644 on inquiry card.

Business Software Package

A business software package hasbeen announced by Aaron Associates,POB 1720A, Garden Grove CA 92640.The package includes a general ledger,accounts receivable, accounts payableand payroll package, inventory andmanufacturing package, and a mailinglist package.

Required equipment for this packageincludes a line printer (Okidata 22preferred), terminal (Soroc IQ 120preferred), dual North Star disk drivesystem with North Star BASIC and 32 Kbytes of memory.

The package comes with ten namedfiles, over 70 programs, a user's manualand workbook, and 200 pages of pro-gram listings. The price is $177."

Circle 645 on inquiry card.

BASIC Business Software for 6800Computers

Three new software programs for6800 systems using BASIC are now avail-able from the Stephen Moe Company,POB 595, Springfield OR 97477. Thesoftware is designed to run on theSwTPC processor with Smoke Signal,SwTPC or PerCom disks or cassettes.

The inventory software provides acapacity of up to 1000 80-characteritems per disk. Contents are item search,daily activity report, minimum quantitysearch, list by item, list by class, listby vendor, access a different file, updatea file, and create a new file.

The payroll software tabulates pay-roll records, prints paychecks, listsemployee records, summarizes employertax records, creates new files, opens adifferent file and assembles end of yearor quarter records.

The billing program prints mailinglabels, bills, overdue and aging notices,as well as providing reports for customeraccounts receivable, sales and lastpurchase. It also has file handlingcapabilities.

All programs run in 16 K bytes. Theyare available on disk or cassette for $200each."

Circle 646 on inquiry card.

Free PET Computer Services

Two free PET services are availablethrough the Microcomputer ResourceCenter Inc, 5150 Anton Dr, Room 212,Madison Wl 53719. They include thePET Cassette Exchange, a programlibrary whereby free exchange programsare available for the PET computer oncassette with no service charge. TheUltimate PET Resource Handbook is acontinually updated listing of all hard-ware and software sources for the PET.For a free copy of this handbook senda self-addressed stamped envelope."

Circle 64 7 on inquiry card.

"

)Texas Instruments

THERMALPRINTER

$49 95

HANDLING CHARGEINCLUDED

• 12 characters/line

• 5 x 7 dot matrix

• Alphanumeric capability

• Weighs 6 ounces

• Uses 2V4 inch thermal paper

Send check, money order, or Master Charge orVISA number and expiration date to:

BOOTSTRAP ENTERPRISES

100 N. Central Expressway

Richardson, Texas 75080

(214) 238-9262

Scotch

DISKETTES

740-0

8'

Soil $c(tor.onc %'de.

1010

ill. 00

740/3-0

8"

Soil Sri.loi.lwo tide,

10 lo

163.00

740-32

8"

Hard Sector,one lide.

1010

145.00

740/2-3

8"

Hjrd Settoi. twoiide,

10.0

166.00

741-0

8"

So'1 Scitot, doubir drnsi

V 10 fo

IS 3.00

74 1-32

U"

M.ird Seilot. double dem

tv 10 fo

156.00

744-0

VA

* Soil Sritof. one side

10 In

141.00

744-10

sx

' 10 Holr.unrude

10 lo

143.00

744-16

S'A

■ In Mole, one side

10 lo

14 5.00

ORDERING IMFORMATION

• Orders under $50 and COD'S add $2.

• We accept Visa or Master Charge.

• California Residents add 6% sales tax.

DEALER INQUIRES INVITED

Terminal Systems

Dealing /

FOR THE BEST DEAL

Call!

Terminal Systems Xnc .

12131769-6772 17141738-4444

(4151537-7723 18001423-2449

Rely on US

Circle 36 on inquiry card.

Circle 47 on inquiry card.

Circle 377 on inquiry card.

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 Ell forso 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 Elt includes a ROM monitor for pro-gram loading, editing and execution with SINGLESTEP tor 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 aspeaker system included for writing your ownmusic or using many music programs alreadywritten. The speaker amplifier may also be usedto drive relays for control purposes.A 24 key HEX keyboard includes 16 HEX keysplus load, reset, run, input, memory protect,

memory select, monitor select and single step.

Large, 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, Highaddress option $8.95, Low address option$9.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 S12.00 per year.

Tiny Basic for ANY 1802 System

Cassette $10.00. On ROM Monitor $38.00.Super Elf owners. 30% off. Object code listing orpaper tape with manual $5.50.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 interlace. 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 (S12.00 value).EPROM can be used for the monitor and TinyBasic or other purposes. ,A IK Super ROM Monitor $19.95 is available asan on board option in 2708 EPROM which hasbeen preprogrammed with a program loader/editor and error checking multi file cassetteread/write software, (relocatible cassette file)another exclusive from Quest. It includes registersave and readout, video graphics driver withblinking cursor and block move capability. 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. Theyallow easy connection of an ASCII keyboard to theinput port. RS 232 and 20 ma Current Loop forteletype or other device are on board and if youneed more memory there are two S-100 slots forstatic RAM or video boards. A Godbout 8K RAMboard is available for $127.95. Parallel I/O Ports$9.85, RS 232 S4.50, TTY 20 ma l/F $1.95.S-100 $4.50. A 50 pin connector set with ribboncable is available at S12.50 for easy connectionbetween the Super Elf and the Super ExpansionBoard.

The Power Supply for 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 539.95.

P.O. Box 4430X Santa Clara, CA 95054^For will call only: (408) 988-1640^2322 Walsh Ave. ^

INTEGRATED CIRCUITS

K>ELECTRONICS

^H CLOCK MODULES Complete alarm clocks

ready to nook up witn transformer and

switches. Very compact with 50* and

74O0TTL

LM340T-18

1.10

C04511

.94

8212

2.90

.84" digits.

74O0N

.17

LM340T-24

1.10

C04515

2.52

8214

800

MA10D2A, C or E .50

IBS

7402N

17

LM343H

4.50

C04516

1.10

8216

2.90

102P3 Trmiformir

2.26

7404N

.19

LM370

1.15

CD4518

1.02

8224

2.90

MA1D10A, Cor E .64'

11.95

7409N

.23

LM377

4.50

CD452D

1.02

B228

5.35

102P2 Trantftumm

2.26

741 ON

.17

LM379

5.00

CD4527

1.5!

825!

8.50

Special Irintlormer and llx

7414N7420N

.63

.17

LM380NLM381

1.001.60

C0452BCD4553

.795.75

82538255

10.009.25

■wHchai whin purchiiad

w/moduleMA1D03 car moduli .3"

7422N

1.39

LM3B2

1.60

CD4566

2.25

8257

19.50

7430N

.20

LM703H

.40

C04583

4.50

8259

19.50

7442N

.50

LM709H

20

CD4585

1.10

CDP1BD2CD

19.95

graan floor, dliplay

7445N

.69

LM723H/N

.50

CD40192

3.00

COP1802D

2500

RESISTORS '/< wait 5%

7447N

.60

LM733N

.67

74C0O

.28

CDP1861

12.95

10 per type .03 1000 per type 012

7448N

.69

LM741CH

.35

74C04

.33

6820

9.95

25 per type .025 350 piece pack

74S0N7474N

17.29

LM741NLM747H/N

.25.62

74C1074C14

.28

2.10

68506502

12.9512 50

lOOpertype 015 5perlype6.75

7475N

.49

LM748N

.35

74C20

.28

KEYBOARDS

7485N

.88

LM1303N

.82

74C30

.28

IC SOCKETS

56 key ASCII keyboard kil

S6250

74B9N

2.00

LM1304

1 10

74C4B

1.95

Solder Tin Low Proflh

Fulty assembled

72.50

7490N

.43

LM1305

1.27

74C74

.75

PIN 1UP PIN

1UP

53 key ASCII keyboard kit

55 00

7492N

.43

LM1307

2.00

74C76

1.40

8 .15 22

.30

Fully assembled 65.00 Enclo

ure 14.95

7433N

.43

LM1310

2.75

74C90

1.15

14 .18 24

35

LEDS

Red T018

Green. Orange. Yellow T0I8

Jumbo Red

Green, Orange. Yellow Jumb

Cllpllte LED Mounting Clips

(specify red. amber, green, yet

7495N

.69

LM1458

.47

74C93

1.40

16 20 28

.42

.15

.20

20

o .25

B/St.25

ow, clear)

74100N74107N

.90.29

LM1 BOO

LM1812

1.757.50

74C15474CI60

3.001.44

18 27 36

20 .29 40

.56.57

74121N74123N74125N74I45N

.34

.59.3969

LM1889LM2111LM2902LM3900N

3.001.75

1.50.60

74C17574C19274C22174C905

1.351.652003.00

3 level wir.' wrip DO 1014 pin 25 'B pin !72 level '4 pin ww M

74150N

.95

LM3905

1.75

74C906

.75

WIRE WRAP LEVEL 3

CONTINENTAL SPECIALTIES

In tlack

741S1N

69

LM3909N

.61

74C914

1.95

PIN PIN

Complete line of breadboard t

tm.k

74154N

1.00

MCI 458V

.50

74C922

5.50

14 25 24

86

MAX-100 8 dlgll Fraq. Ctr.

74157N

74161N

.69.87

NE540LNE550N

2.89.65

74C92374C925

5.506.95

16 27 2818 .57 40

1.001 23

OK WIRE WRAP TOOLS In Hock

741G2N

87

NE555V

.43

74C926

6.95

Portable Murtlmalar

SIS U)

74163N

.87

NE966A

.79

74C927

6.95

UAHT/HFO

DIGITAL THERMOMETER

$48.50

74174N

.96

HES65A

1.00

AY5-1013

5.50

Ball oper. General purpose

r medical

74175N

.90

NE566V

1.50

INTERFACE

AY5-1014

7.50

32 -230 F Disposable probe cover

74190N

1.16

NE567V

1.20

6095

.65

3341

695

= .2" accuracy. Comp

*ssy. In

74192N

.87

NE570B

5.00

8096

.65

compact case.

74I93N

.85

NE5718

5.00

8097

.65

PROM

7422IN

1.55

78L05

.60

8098

.65

I702A

3.95

COMPUTER BOARD NITS

74298N

1.65

78L08

.60

BT09

1.25

NS2S23

2.95

8K RAM Board Kil

$134.95

74365N

79L05

.70

BT10

4.50

NB2SI23

3.50

4K EPROM Kit

114.95

74366N

'66

78M05

.85

8T13

3.00

N82S126

3.75

I/O Board Kil

44 50

74367N

66

75108

1 75

8T20

5.50

N82S129

375

Extender Board w/connactor

12.50

75491CN

.50

8T23

3.10

N82SI31

375

Video Interface board kn

125.00

74LSG0 TTL

75492CN

55

8T24

3.50

N82S136

8 75

16K EPROM board kit w/o PROMS 74 50

74LSOON

.25

75494CN

89

BT25

3.20

H82S137

8.75

16K Sialic RAM board kit

395 00

74LS02N

.25

8T26

1.69

2708

1250

North Star Floppy Oil 1 Kil

$66500

74LSMN

.25

A to D CONVERTER

6T26

2.75

DM8577

2.90

Additional Drive Kit

415.00

74LS05N

.25

803B6

4.50

8T97

1.69

8223

2.90

SPECIAL PRODUCTS

74LSOHN74LSI ON

25.25

8700CJ8701CN

13.9522 00

8T98

1.69

2716T12716 Intel

22 5048.00

MM5B65 Stopwatch TimerPC board

9.00

7.50

74LS13N

.40

8750CJ

13.95

MOS/MEMORY RAM

Swllches Mom. Pushbutton

.27

74LS!4N

90

LD130

9.95

2101-1

3.95

CRYSTALS

3 pos. slideEncoder HD0I65-5

74L520N

.25

9400CJWF

7.40

2102-1

.95

1 MHz

4.50

74LS22N

.25

ICL7103

9 50

2102AL-4

1.60

2MHi

4.50

3 Digit UnlvartalCounter Board Kit

74LS2BN

ICL7107

14.25

21F02

1.25

4 MHz

4.25

74LS30N

.25

2104A-4

4.95

5 MHz

4.25

Operates 5-18 Volt DC lo 5 mm?

74LS33N

.39

CMOS

2107B

4.95

10 MHz

4,25

typ .125" LED displayVoice actuated switch

74LS38N

.30

CD340Q1 Fan

.50

2111-1

3.75

18 MHz

3.90

74LS74N

.35

CD4000

.16

2112-2

3.95

20 Mb

3 90

74LS75N

.47

C04001

.21

2114

B.50

32 MHz

3.90

Partlronlcj 100A Logic

74LS9DN

51

CO4002

.21

4116

17.95

32768 MHz

4.00

AnalyztrXtl S224.00

74LS93N

.51

CO40O6

1.10

28,13J

6.30

1.8432 MHz

4.50

Model 10 Trigger

74LS95N

1.89

CD4007

21

21L02-1

1.49

3.5795 MHz

1.20

Expander Kil $229 00

74LS107N

.35

C0400S

.21

MM5262

.40

2.0100 MHz

1.95

Model 150 Bus

74LH112N

.35

004009

39

MM5280

3.00

2.097152 MHz

4.50

Grabber Kit S369.0D

74LS113N

.35

CD4010

.39

MM5320

9.95

2.4576 MHz

4.50

TRANSFORMERS

74LS132N

.72

CD4011

.21

MM5330

5.94

3.2768 MHz

4 50

6V 300 ma

3.25

74LS136N

.35

CD4012

.21

PD411D-3

4.00

5.06B8 MHz

4.50

12 Volt 300 ma transformer

1.25

74LS151N

.67

CD40I3

.36

PD411D-4

5.00

5.185 MHz

4.50

12.6V CT 600 ma

3.75

74LS155N

.67

CO4014

.86

P510IL

13.95

5.7143 MHz

4.50

12V 250 ma wall plug

2.95

74LS157N

.67

CD4015

86

4200A

9.95

6.5536 MHz

4.50

12V CT 250 ma wall plug

3.50

74LS162N

91

CD4016

.36

B2S25

2.90

14.31818 MHz

4.25

24V CT 400 ma

3.95

74LSI63N

.91

CO4017

94

91L02A

1.75

18.432 MHz

4 50

10V 1.2 amp waU plus

4.B5

74LS174N

95

CD4018

94

HD0165-5

6.95

22 1184 MHz

4.50

1BV 6 amp

2.95

74LS190N

106

C04019

.21

MM57100

4.50

74LS221N

74LS258N74LS3S7N

1.95.67

.89

CD4020CD402IC04022CD4Q23

1.021.02.86

GIAY38SOD1MCM6571A93684100

9.959.95

3.5010 00

CONNECTORS

44 pin edge100 pin edgi

2.00

4.50

DISPLAY LED5MAN1 CA 270MAN3 CC .125MAN72/74 CA/CA 300

290

.391.00

LINEAR

CD4024

75

416

16.00

100 pin edge WW 4 50

DL704 CC 300

1.25

CD4025

DL707/DL707R CA 300

1.00

CA3046

67

C04026

1 51

CLOCKS

KEYBOARO ENCODERS.

OL727/728 CA/CC 500

1.90

Q35ai

1.80

CD4027

36

MM 5309

3.00

AY5-2376

S12.50

DL747/750 CA/CC .600

1.95

1111

1.90

2 95

.35

87

C04028CD4029CD4030CD4035

79102

21102

MM5311MM5312MM5313MM5314

3604.803.603.90

AYS-3 60074C92274C923H00165-5

13.505.505.508.95

DL750 CC .600FND359 CC 357FNO500/507 CC/CA 500FND503/510 CC/CA 500

1 9570

1.3590

LM307N

35

CD4040

1 02

MM5315

4.00

FND8O0.'8O7 CC/CA 800

2.20

LM308N

89

CD4042

71

MMS316

5.00

IC Teit Cllpt

3 digit Bubble

.60

LM309H

1.15

CD4043

63

MM5318

3.60

10

4 digit bubble

.80

LM309K

95

CO4044

63

MM5369

2 10

Red 55

.47

DG8 Fluorescent

1.75

LM311H/N

.90

C04046

167

MM5S41

14.45

Black .55

47

DG10 Fluorescent

I 75

LM317T/K

2.92

CD4049

36

MM5865

7.95

5 digit 14 pin display

1.00

LM31B

1.35

CD4050

36

CT7001

5.80

Keyer 8043

14.50

NSN69 9 digit display

.60

LM320K-5

1.20

HM051

1 13

CT7O02

895

comp w/SOeC./SOCk.

7520 Clairex photocells

.39

LM323K-5

6.95

CD4060

t 42

CT7010

8.95

TIL311 Hex

LM320K-12

1.35

CD4066

71

CT7015

7.25

TRANSISTORS

COMPUTER GRADE CAPS

LM320K-15

1.35

C04Q68

40

MM5375AA/N

3.90

2N1883

40

1600 mid 200V

4.50

LM320T-5

1.60

CD4069

40

MM5375AB/N

4.90

2N2222A

.18

2000 mid 45V

2.50

LM320T-8

1.60

C04070

40

7205

16.50

2N2369

.30

3200 50V

2.50

LM320M2

1.50

CD4071

21

7207

7.50

2N2904A

20

5500 25V

2.50

LM32QT-15

1.60

CD4072

21

7208

15.95

2N2907A

.25

5800 40V

3.00

LM324N

1.15

C04073

21

7209

4.95

2N3053

40

6100 40V

3.00

LM339N ■

1.55

CD4075

21

DS0026CN

3.75

2N363B

.25

6100 50V

3.00

LM340K-5

1 10

CD4076

175

DSO056CN

3 75

2N3643

.25

7700 50V

2.50

LM340K-8

1.10

CD4078

40

MM53104

2.50

2N3904

18

8000 55V

2.50

LM340K-12

1.10

CD40S1 .'

21

2N3906

18

9400 65V

300

LM340K-15

1 10

CO4062

21

MICROPROCESSOR

2N3055

69

10000 20V

2.50

LM340K-24

1.10

CD4116

47

6600

17.50

2N4400

.25

12000 30V

3.50

LM340T-5

1.10

CD4490

5.50

6802

24.95

2N4401

.75

35000 25V

5.00

LM340T-8

1.10

C04507

100

8080A with data

8.95

2N4402

20

55000 25V

5.00

LM340T-12

1 10

CD4508

4.25

80B5

27.00

TIP31

60

B2OO0 15V

6.00

LM340T-15

1.10

C04510

1.02

Z80

29.95

TIP33A

100

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. Add S3.95 for beau-tiful dark gray case. Best value anywhere.

RCA Cosmac VIP Kit 229.00

Video computer with games and graphics.

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/,80"displays. Red only. $21.95

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. Switches back and forth.Beautiful. 50" LED readouts. Nothing like itavailable. Needs no additional parts for com-plete, full operation. Will measure - 100" to+ 200°F, tenths of a degree, air or liquid.Very accurate. $39.95

Beautiful woodgrain case w/bezel $11.75

Sinclair 3'/z Digit Multimeter

Batt./ACoper. ImVand .1NAresolution. 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 yourTV set into a high quality monitor

without affecting normal usage. Complete kitwith lull 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,

1978 IC Update Master Manual

1978 IC Update Master Manual $19.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. $30.00.

Stopwatch Kit $26.95

Full six digit battery operated. 2-5 volts.3.2768 MHz crystal accuracy. Times to 59min., 59 sec. 99 1/100 sec. Times std., splitand Taylor. 7205 chip, all components minuscase. Full instructions.

D Connectors RS232

25 Pin Subminiatures

D825P . 2.95

DE9P 1.50

DB25S 3.95

DE9S 1.95

Cover 1.50

DA15P 2.10

RS232 Complete Set 6.50

DA15S 3.10

S-100 Computer Boards

8K Static RAM Kit

S127.00

16K Static RAM Kit

265.00

24K Static RAM Kit

423.00

32K Dynamic RAM Kit

449.00

64K Dynamic RAM Kit

945.00

8K/16K Eprom Kit (less PROMS) $89.00

Video Interface Kit

$139.00

Motherboard S39. 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 lor your copy ol our NEW 197BQUEST CATALOG. Include 28c stamp.

Circle 311 on inquiry card.

BYTE January 1979 221

Unclassified Ads

FOR SALE: TVC video board from Digital Group,$75. Heath 10-12 scope, $45. Super CT-1024 withmonitor, $299. SwTPC PR-40 printer, $195.4 K memory boards for 6800, $69. 8 K Sealsmemory for 6800, $169. Smoke Signal disc for6800, $639. All prices firm. Will consider trades.Stuart Brown, 1116B Easton Av, Somerset NJ08873, (2011 249-7972.

FOR SALE: Boris Chess Computer, complete withboard, pieces and instruction manual. Decisiontime for moves from 5 seconds to 99 hours.Plays Black/White. Standard algebraic chess nota-tion will display current position of pieces onrequest; with 2 minutes decision time, beatsmicro-1.5 in 17 to 30 moves. Cost $300 new,will sell for $200. Rick Racine, 445 S 72nd KansasCity KS66111.

FOR SALE: Meca dual cassette and controller,digital systems dual 8 inch and controller, 2 each.16 K TDL memory boards. Make offer. (7141770-7789.

FOR SALE: New 32 K Dynamic Digital Groupmemory, factory assembled. Discovered that mynew software requires static. $675 (I pay postage).Frank Fitch, 2347 A Market Street, San FranciscoCA 94114, (4151 543-6345 work or (415) 861-4881 home.

TRS-80 OWNERS: I am interested in surveyingTRS-80 users. Write Prof Bill Parks, Chase-203,State University College, 1300 Elmwood Av,Buffalo NY 14222.

FOR SALE: Microprocessor computer programcourse and trainer computer. All built and in per-fect condition, $275 shipping included. N Swan,4839 Beaune Rd, Ludington Ml 49431.

FOR SALE: Altair 8800, with 16 slot motherboard plus 16 edge connectors, cooling fan modifi-cation, 2SIO-5erial IO with both ports, 88-PIOparallel IO board, 1 K static memory with 512bytes of memory, 12 K static memory, 4 K pro-grammable memory software board with 8080assembler, text editor, system monitor, and alldocumentation. All assembled and tested $1000,you pay shipping. Don Cheeseman, 8231 Creek-line Dr, San Antonio TX 78251, (512) 681-4938.

FOR SALE: DIGI-LOG Telecomputer II portableterminal with 5 inch monitor and carrying case.ASCII code, built-in acoustic coupler. Suitable fortimesharing computer applications. Will ship UPS,$1200. Gene Witherup, RD #4, Bloomsburg PA17815,(717)784-5366.

FOR SALE: (in Canada) IMSAI 8080 with 22slots, $1000. 32 K of TDL 250 ns memory, $1100.ADM3 display, only $1000. Teletype model40 3001 per minute printer, $2800. ICOM dualdisk full size floppy, $2400. Prefer to sell systemcomplete with interface cards, cables, FDOS3operating system. Assembler, BASIC (DEBBI),and editor, $8500. Ron Cox, 2208 VictoriaAv, Windsor Ontario, CANADA, N8X 1R1(519)969-9692.

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 tor 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 onerime 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 those andyour confirmation of placement is appearance in an issue ofBYT£

Please note that it may take three or four months for anad to appear in the magazine. ■

WANTED: Manual for Instant Input Assembler-Version 1 (for 9900 Super Starter System byTechnico). Will pay at least original cost. WilliamT Wilson, 203 Oxford St, Portland ME 04111.

FOR SALE: Remex high-speed punched papertape reader and spooler model RR-101 D/R.Requires a parallel interface. Asking $50 and youpay shipping. Charles B Wall, Rt #3, ClarksvilleTN 37040,(615)552-2199.

FOR SALE OR TRADE: Technico Super StarterSystem, assembled and working. Uses TMS 990016 bit processor. Has 32 IO lines, serial port,2 K programmable memory, programmable readonly memory monitor/assembler, erasable readonly memory programmer, etc. Includes powersupply, $450. Also REMEX high-speed papertapereader, $125. Trade for plotter or color monitor.Jim McCord, 330 Vereda Leyenda, Goleta CA93017, (805) 968-6681.

FOR SALE: Szerlip "programmable memorysetter," erasable read only memory programmerfor S-100 bus computers. Programs 1702A, 2708erasable read only memories — can also progrem2716s. Assembled version, supplied with all cab-ling, documentation and software. Never used.Current list price $375, first offer over $200accepted. Also, 16 INTEL 1702A erasable readonly memories, $3 each, lot of 16 only. Edwin JKroeker, 46 Woodcliff Rd, Newton MA 02161,(61 7) 527-6369.

FOR SALE: For LSI-11, Heath H-11 owners.4 K memory core — use as small disk, keep loaderor BASIC resident in memory. Also 16 K dualwidth Intel memory. $425 each, $700 for both.Ed Judge (413) 584-7159 anytime.

FOR SALE: Cromemco Z2-D Microcomputer,21 slots, blue table cabinet, 48 K programmablememory, one minifloppy, Dynabyte naked ter-minal, all 4 MHz compatible, with all cables inrunning condition with 12 inch monitor, U/CASCII bps, 16 K BASIC, CDOS, editor, etc, andgames in BASIC. Vincent Pinto, Gate Hill Rd,Stony Point NY 10980, (914) 947-2740.

FOR SALE: Cromemco A-D Converter, $180.Factory built, like new. A Bob, 148 W77, NewYork NY 10024.

FOR SALE: Complete Xitan system. IncludesZ-processor; SMB 1; 32 K of programmable memo-ry (two Z-16s); TDL video display board; TDL12 K BASIC in read only memory and on cassettetape (relocatable); 16 K read only memory board;interface 1 board which provides I/O (standardEIA 25 pin connectors) for RS-232 and 20MA. Alldocumentation and tapes necessary to operatesystem. Also Digital Group keyboard. Asking$2400. Terry Young, 4 Aiken St, Derry NH 03038.

FOR SALE: New Slo-Syn Model M091-FD-318200 steps per revolution stepping motors. Operateon 5.9 VDC. In original cartons with literature andswitching order. Intended for servo mechanismsbut can be used for other things. $20. D C Suits,2619 Essex Rd, Ann Arbor Ml 48104.

FOR SALE: TDL Xitan system: Z-80 Z-processorboard, Z16 16 K memory, and SMB interfaceboard; 8 K Godbout memory; all standard TDLsoftware (including 12 K Super BASIC) on cas-sette. Runs perfectly. Original cost over $1900,first certified check for $1300 takes it. AlsoMERLIN S-100 graphics board with 1 K read onlymemory monitor and 320 X 200 resolution, $300.Bert Katzung, 65 Knoll Rd, San Rafael CA 94901,(415)456-5812.

FOR SALE: PERTEC iCOM FDOS-II dual drive/single density floppy disk drive with Intel inter-face card. Almost new-paid $3,300-will take

best offer received one month after offer appears.Gary Miner, POB 1177, Santa Cruz CA 95061,(408)429-1331.

WANTED: January 1976 BYTE. Will buy ortrade. Have October, November, December 1976for trade or $1 each. Glenn Whitham, 9 Trinity PI,WaylandMA01778.

FOR SALE: Heathkit H8 and H9, two cassetterecorders, fully assembled with 8 K of memory.Included in package are Heath BASIC, assembler,editor, and debug manuals. Selling for $1175,almost $200 less that original unassembled kitprice. Contact Jon Nareff, 366 Great Swamp Rd,Glastonbury CT (203) 633-2060.

FOR SALE: Challenger 2 processor with 8Kpolled keyboard and 540 video board, $650.Bruce Higer, 19 Woodland Dr, Sands Pt NY 11050,(516) 883-9543.

FOR SALE: For Selectric IO 731 series, 24/48 Vpower supply, data and power supply cables andplugs, plus full documentation and software oninterface to S-100 bus. First $50 takes it. DanielEisenberg, 1507 Sharon Rd, Tallahassee FL 32303,(904) 385-4148.

FOR SALE: Complete system. Altair 8800b with48 K programmable memory, SOROC video ter-minal, two North Star disks, Diablo RO printer. Allassembled and operating. Will sell all or part. Manyextras. Send SSAE for details and prices. G Briggs,6195 Deer Path, Manassas VA 22110.

FOR SALE: L/N, TI59, PC100A printer, 40 newprogram cards, master library read only memory,static read only memory, static packette, manuals.Reason for sale: data analysis for research projectfinished. First money order for $320 gets all, ABrandwein, 745 Fifth Av. New York NY 10022,1212) PI 6-6081.

FOR SALE: Rockwell XPO-1 development systemfor PPS-4/1 microprocessors with optional as-semblers, power supply and 1 K programmablememory. Never used. $450. G Hyman, 22 CrossHill Av, Yonkers NY 10703, (914) 476-2129.

FOR SALE: Two National Multiplex 3M3-A digitalcassette recorders and 2S10R interface/monitorboard. Storage capacity per 3M data cartridge ofup to 2 M bytes. Search capability up to 50 k.Will sell for best price over $350. B Wagman, POB57091, Washington DC 20037.

FOR SALE: Heath H11 computer (LSI-11 based)with 16 KB programmable memory, serial IOboard, parallel IO board, H10 paper tape reader/punch, EIS/FIS extended instruction chip, docu-mentation, software. 100 percent assembled andtested. $1800 or best offer. Dave Morrill, 1260NW 17 Av #4, Rochester MN 55901, (507) 282-0758 evenings.

FOR SALE: Complete set of BYTE magazines,volume 1, # 1 through volume 3, # 8 (August1978). Excellent condition. Make offer. M ARichards, 1470 Hampton Glen Ct, Decatur GA30033.

SCHOOL COMPUTER NEEDS HELP: In need ofdriver software, instructions or documentation forinterfacing a Monroe cassette recorder with aMonroe 8080 for program storage. Also infor-mation on mark sense card hookup. I'm new tocomputing and need it for a school computer.Robert Geier, 4875 Countryside, Lyndhurst OH44124.

FOR SALE: Heath H-9 video Terminal. Up andrunning, all documentation. $425 and I payshipping. Andy Thornburg, RR2, Thompson-ville IL 62890, (618) 627-2166.

FOR SALE: DEC PDP-8m, mint, with teletype in-terface, with 4 K core memory, $1100. With 8 Kcore memory $1800. 8 K MOS board $475. Mostperipherals and software available, repairs and cus-tom interfacing, systems consulting, trades.PORTACOM, briefcase, impact, ASCII terminalscomplete with modems. Reconditioned with man-uals $595. New cost is $1500. New boxed ASR33,$1100. Used, $595. K2DCY, POB 632, W Cald-well, NJ 07006. (201) 226-9185 evenings.

222

January 1979 © BYTE Publications Inc

16K EPROM CARD-S 100 BUSS

OUR

BEST

SELLING

KIT!

USES 2708s!

Thousands of personal and business systems aroundthe world use this board with complete satisfaction.Puts 16K of software on line at ALL TIMES! Kit featuresa top quality soldermasked and silk-screened PC boardand first run parts and sockets. All parts (except 2708's)are included. Any number of EPROM locations may bedisabled to avoid any memory conflicts. Fully bufferedand has WAIT STATE capabilities.

OUR 450NS 2708SARE $8.95 EA. WITHPURCHASE OF KIT

ASSEMBLED

AND FULLY TESTED

ADD $25

8K LOW POWER RAM KIT-S 100 BUSS

$129

KIT

tTam j inftm* < -<fer>V

j -sm^'sm ii '.•■«• r'f"ar,'i ■...

.: i '•'» ,i'v^"i'-:'K-i-E« ' '•sbiv,;*

i "■■"' iTy' v "•"*='' > 9 •"

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 buttered 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 IC's (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

HE El II HE III III

lllllllllllllllll

-•!■■ ■)*"">■*(".■■ i i t_t i -

%mu

ii 11

WHY THE 2114 RAM CHIP?

We fed the 2114 will bethenexl industry standardRAM chip (like the 2102 was) This means price,availability, and quality will all be good* Next, the2114 is FULLY STATIC We teel this is the ONLYway lo go on Ihe S-100 Buss' We've all heard IheHORROR stories about some Dynamic RamBoards having trouble with DMA and FLOPPYDISC DRIVES Who needs these kinds otproDlc-ms' And (malty, even among other 4KSialic RAM's the 2114 stands out'Not all 4K sialicRams are created-equal' Some ot the other 4K'shave clocked chip enable lines and various timingwindows just as critical as Dynam'c RAM's Someot our compelitor's 16K boards us*- these "tricky"devices But not us1 The 2114 is the ONLY logicalchoice (or a trouble-lree straightforward design

'IllllillilllllllMllllltll

KIT FEATURES

1 Addressable as four separate 4K Blocks

2 ON BOARD BANK SELECT circuilry(Cromemco Standard') Allows up lo 512K online'

3 Uses 2114 (450NS) 4K Sialic Rams

4 ON BOARD SELECTABLE WAIT STATES

5 Double sided PC Board, with solder mask andsilk screened layout Gold plated contact lingers

6 All address and data lines lully buffered

7 Kit includes ALL parts and sockets

8 PHANTOM is (umpered to PIN 67

9 LOW POWER under 2ampsTYPICAL fromthet6 Volt Buss

10 Blank PC Board can be populated as anymultiple of 4K

BLANK PC BOARD W/DATA—$33LOW PROFILE SOCKET SET—$12 ASSEMBLED & TESTED-ADD $30SUPPORT IC'S & CAPS—S19.95 2114 RAM'S—8 FOR S69.95

J

16K STATIC RAM KITSWTPC (SS-50) 6800 BUSS

USES 2114

4K RAMS!

$295

COMPLETE KIT

WHY PAY MORE

FOR FINNICKY

DYNAMIC BOARDS?

At last an affordable static RAM board for this popularbuss. Quality PC Board with solder mask and silk-screen. Fully buffered with plenty of bypassing forreliable operation. FOUR ON-BOARD REGULATORS.

16K DYNAMIC RAM CHIP

16K X 1 Bils 16Pin Package Same as Mostek 4116-4 250 NS access 410NS cycle lime Our besl price yel lor this state of (heart RAM 32Kand64KRAM boaids 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 4 FOR $50°°

PRICE CUT

J

•••••■

•••••■

• ••••

#•»••■

:••••■•<•■■

••v.-

NATIONAL SEMICONDUCTOR

JUMBO CLOCK MODULE

/r'tWifrtog:/ $695

O u • O L/

EAFURES. f OUR JUMHLi W INCH LED DISPLAYS

■ 13 HR REAL TIME FORMAT

i J* MR ALARM SIGNAL OUTPUT

. MI OR 60 Hi OPERATION

> tfnBflir.HTNESS CONTROL

■ POWER FAILURE INDICATOR

■ SLEEP & SNOOZE TIMERS

■ DIRECT LED DRIVE ILOW RFU. COMES WITH FULL OATA

ASSEMBLED! NOT A KIT'ZULU VERSION'

PERFECT FOR USEWITH A TIMEBASE

AC XFMR SI 9&J

COMPARE AT UP TO TWICEOUR PRICE!

-MA100BD - $9.95

l.-.M»HIJ.I.illl:»«MTO.«.lHH

Z-80 PROGRAMMING MANUAL

By MOSTEK, orZILOG.The most detailed explanationever on the working of the Z-80 CPU CHIPS. At leastone full page on each of the 158 Z-80 instructions. AMUST reference manual for any user of the Z-80. 300pages. Just off the press. $12.95

WESTERN DIGITAL UART

TR1602A. PIN FOR PIN SUB FORAY5-1013 AND TMS6011.

FOR SERIAL I/O

$099

£, EACH

SURPLUS SPECIAL

8212 I/O CHIP

8 BITS 8080 or Z-80SUPPORT CHIP. 24 PINCHIP. NEW BY N EC

SPECIAL: s2" EACH

SALE!

1N4148 DIODES. SILICON.

Same as 1N914. New,

factory prime. Full Leads.

100 FOR $2

1000 FOR $17.50

New' REAL TIME

Computer Clock Chip

N.S. MM531 3. FeaturesBOTH 7 segment andBCD outputs. 28 PinDIP. $4.95 with Dal*

MOTOROLA 7805R VOLTAGE

REGULATOR. Same as standard 7805except 750 MA output. TO-220. 5VDCoutput.

44$ each or 10 for $3.95

( Digital Research Corporation

(OF TEXAS)

y P. O. BOX 401247Y GARLAND, TEXAS 75040 • (214) 271-2461

TERMS: Add 30c poslage wp pay balance Oiders under SI5 add 75c handling NoCOD We accep! Visa MasletCharge and American Express cards Tex Res add5% Tax Foreign orders (excepr Canada add 20°u P & H 90 Day Money Back

•••••••••■

•••••

••■••••••

Circle 100 on inquiry card.

BYTE January 1979 223

Fteadep Service

To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circlethe appropriate numbers for the advertisers you select from the list. Add a 15 cent stamp to the card, then drop it in the mail. Not only doyou gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

2 Administrative Systems 1884 Advanced Access Group 162

3 AJA Software 153

6 Amecon (Div Litton Sys) 1359 Apparat137

7 AP Products 53

8 Atlas Electronics 16022 ATV Research 185

25 Atwood Enterprises 213'

30 Beckian Enterprises 213

35 BITS Inc 98. 99, 107, 147

36 Bootstrap Enterprises 22032 Buss/Charles Floto 181

■ BYTE Books, 45, 46,47,48

• BYTE Subscribers 157

• BYTE WATS Line 155

38 C & K Components 34

39 California Digital 20545 Central Data 115

47 Century Electronics 220

53 Computalker 143

70 Computer Enterprises 149. 187' Computer Factory 35

74 Computer Interface Technology 163

72 Computer Lab of NJ 155

76 Computer Mart of NH 163" Computer Plus 109

71 Computronics 153

73 The Computer Stop 163

77 CT Microcomputer 70, 181, 18783 Contract Services Associates 157

80 Cromemco 1, 2

87 Cybernetic Micro Systems 187

91 Data Discount Center 136

81 Datafacs System Inc 15393 DataSearch 157

89 Digital Pathways 144

95 Digital Research (CA) 125

100 Digital Research (TX) 223

102 Digital Research & Eng 150

110 Dynabvte 12, 13

117 Electro Analytic Systems 141

115 Electrolabs 204

120 Electronic Control Technology 148

125 Electronic Systems 215

130 Electronics Warehouse 217

132 EMM/CMP 169

138 ESCON 166

140 Forethought Products 138

150 Godbout Electronics 83

153 Graham Dorian Enterprises CI 11

156 H & K Components 143

157 Hamilton Logic Systems 163

158 Henwood Enterprises 209170 Hobby World 195

172 HUH Electronics 148

179 Imegrand 145

184 International Data Sciences 142

190 Ithaca Audio 219

■ Ithaca Audio 69

195 Jade Company 196, 197

197 JF Products 149

200 Jameco Electronics 210, 211" Larks Electronics & Data 163" Lifeboat Associates 1 59

211 Manchester Equipment 97

213 The Math Box 163

216 Measurement Systems & Controls 85

220 Mecal34

217 Micro Computer World 209

225 Micro Diversions 63

222 Micro Mail 189

221 Micro Mart 209

223 Micromation Inc 21

201 Micro Mike's 151

224 Micro Pro International 25

227 Micro Puzzles 185

229 Microsette Co 185

228 Microsoft 37, 171

226 Micro Source 55

202 Microtronics 113231 Micro Works 177

230 Mikos 206

255 Morrow/Thinker Toys 31, 81

265 mpi 144

267 Mullen Computer Boards 140

Article No.

ARTICLE

279 National Multiplex 119

268 National Software Marketing Inc 141

* NCC79 167

269 Nemco185

280 Netronics Research 161

281 New England Electronics 75, 1231 New England Recruiter 185

283 Newman Computer Exchange 207285 North Star Computer 7, 27

290 Ohio Scientific Instruments 8, 9, 19, CIV

293 Oliver Advanced Engineering 155289 On Line 209

291 Oregon Software 185

284 Organic Software 209

292 Osborne & Associates 121' Owens Associates 82

294 Pacific Digital 137

296 Pacific Office Systems 198

297 PAIA Electronics 140288 PC Electronics 157

301 Per Com Data 22, 23

302 Personal Software 95

303 Pet Shack Software House 163

307 Pickles & Trout 139

308 Potter's Programs 163306 Priority I 201.202,203305 Processor Technology 10, 11

309 PRS41

311 Quest Electronics 221

• Radio Shack 67

304 Radio Shack Authorized Sales Ctr 185

313 Rank Peripherals 176322 RCA 33

314 Real Time Intelligence 97

317 George Risk Industries Inc 151

318 RNB Enterprises 105

310 Rochester Data Inc 209

328 Rothenberg Information System 164

316 S-100 136

312 SC Digital 139

• Scelbi 29. 61

" Scelbi BYTE Primer 72

* Scientific Research 39

323 Semionics168

319 Michael Shrayer Software 129

320 Shugart 5326 SoftSide155

321 Software 80 79335 SSM 49, 51

340 Solid State Sales 199

343 Soroc Technology 1 7

350 Southwest Technical Products Corp CM

352 Stirling Bekdorf 103

351 Structured Systems Group 65

353 Structured Systems Group 109356 Summagraphics 43

354 Sunny International 109367 Sylvanhills Lab 209

355 Synchro Sound 93358 Tano Corp 44

360 Tarbell Electronics 59

370 Technical Systems Consultants 77

349 Tek Peripherals 185

377 Terminal Systems 220379 3 S Sales Inc 73, 206348 Tiny C 6

346 Tora Systems Ltd 185

347 Touchstone Associates 145

378 Trans Data 153

362 Transition Enterprises 209

374 TransNet Corp 150

382 University Microfilms 216381 US Brokers Inc 209

383 US Robotics 142

384 Vamp 71

386 Verbatim Corp 52

393 Vista Computer 117• Whales 88

394 Wintek 170

395 Worldwide Electronics 163

400 Xitex172

401 Xitex173

402 X L Computer Products 166

*Correspond directly with Company

1 Ritter-Boney: A Microprocessor for the Revolution: The 6809

2 Ciarcia: Build a Computer Controlled Security System for Your Home

3 Sherertz: An Exposure to MUMPS

4 Doyle: A Computerized Mailing List

5 Niemiec: Life Algorithms

6 Halsema: The Digicast System

7 Roberts: Polyphony Made Easy

8 Douglas: Grandmaster Walter Browne versus Chess 4.6

9 Maurer: An Introduction to BNF

10 Frey-Atkin: Creating a Chess Player, Part 4

11 Meinzer: IPS, An Unorthodox High Level Language

12 Hadley: GOTOIocks and the Three Sorts

13 Forsythe: Elements of Statistical Computation

14 Woodward: An Audible Logic Test Probe

15 Reid-Green: History of Computers: The IBM 704

PAGE

14

56

74

84

90

100

104

110

116

126

146

174

182

186

190

A Chess Blitz in the October BOMB

The first three articles in the OctoberBOMB were all chess related. The first prizeof $100 goes to Dan and Kathe Spracklenfor their article "First Steps in ComputerChess Programming," page 86. The $50second prize goes to Peter W Frey and LarryR Atkin for "Creating a Chess Player: AnEssay on Human and Computer Chess Skill,"page 182. Placing third was "A ComputerChess Tutorial," page 168, by Norman DWhaland, and "A Tiny Pascal Compiler,Part 2," page 34, by Kin-Man Chung andHerbert Yuen finished fourth.

Readers who wish to cast votes for theirfavorite articles in this month's BYTE mayuse the BOMB card provided on the oppositepage."

224 lanu^ry 1979 O BYTE Publications Inc

program^

you can uyz in your bu^inc^yready to go noco!

r/E

PACKAGI

Q4vA

Our programs will let you realize the full potential of your hardware.

We developed these programs because we needed themin our businesses, and, try as we might, could not purchasethem. They're on-line now, working for us and others aroundthe country.

As users ourselves we know the problems from yourperspective — not just as a manufacturer of software. Thebugs are out and they're ready now to go to work helping makeyour life easier, keeping you in better control of your business.

Our first four program packages are: • ApartmentManagement • Cash Register • Inventory • Payroll

Here's a typical program

To give you an idea of the thoroughness of these pro-grams, here's a summary of what the inventory package doesfor you. Gives a detailed listing of items in inventory anditemizes all goods sold from inventory, including which salesperson sold what, when it sold and for how much ... recaps onone sheet this same inventory activity information ... investi-gates and changes any information in inventory, on request...prints list of items to be re-ordered ... provides profit analysiscomparing sales personnel and/or various products. And itcan be inter-connected with our cash register package as well,for total program management.

Each of our initial programs is conceived, proven andoffered with this same exacting thoroughness and attention todetail.We stay with you after the sale

We're in this for the long haul and our supportprogram is dedicated to that objective. Registeredprogram owners receive:

Master Charge and Visa cards accepted

• Periodic newsletters which include users' ideas andinformation exchange, plus tips to owners on further increas-ing benefits of the package through updated operational flexi-bility.

• Availability of software technicians to provide im-mediate answers to questions, via phone or mail.

• Customer rewrites and adaptations available on re-quest, at added cost.

CBASIC-2 free

It takes the world's most powerful commercial basic torun our programs and we deliver it to you free.

Each of our program packages contains a disk withCBASIC-2 Compiler, CBASIC-2 Run Command and yourGraham-Dorian software programs in INT and BAS file form.You also receive User's Manuals and Hard Copy Source List-ing. At a price which pays for itself!

CBASIC-2 was developed and written by Software Sys-tems, the people who wrote CBASIC, and includes manypowerful enhancements.*All systems are compatible with anyZ-80 or 8080 CP/M® system. They are deliverable in standardeight-inch disk — either double or single density — or mini-floppy disk.

Give us a call or fill out the Reader Service Card in thisissue. We promise a response within 24 hours of receipt.That's the kind of information service we expect,and knowyou do too.

CBASIC-2 may be purchased separatelyfrom Graliam-Donan Software Systems lor S89.95.

Graham-Dorian Software Systems

A Division of Graham-Dorian Enterprises

211 N. Broadway / Wichita, Ks. 67202 / (316) 265-8633

Circle 153 on inquiry card.

Considering a Microcomputer?

Be Sure to Check Out the Product Offerings of the World's LargestFull Line Microcomputer Company.

MinimumConfiguration

BasePrice

4K RAM $ 279

4KRAM $ 34916KRAM $1190

4KRAM

$ 598

4KRAM

$ 799

16KRAM

$1464

16KRAM

$1738

32K RAM

$2597

All Ohio Scientific machines come with microcomputing's fastest fullfeature BASIC-in-ROM or on-Disk for instant use.

Challenger I Series

Economical computer systems that talk in BASIC.Ideal for hobbyists, students, education and the home.

Superboard II — World's first complete system on a boardincluding keyboard, video display, audiocassette, BASIC-in-ROM and up to 8K RAMChallenger IP — Fully packaged Superboard II with

power supplyChallenger IP Disk — Complete mini-floppy systemexpandable to 32K RAM

Challenger IIP Series

Ultra high performance BUS oriented microcomputers forpersonal, educational, research and small business use.C2-4P — The professional portableC2-8P — The world's most expandable personal machine

for business or research applicationsC2-4P Disk — The ultimate portableC2-8P Single Disk — Ideal for education, advanced

personal users, etc.C2-8P Dual Disk — Most cost effective small

business system

Challenger II Serial Interface Series

Same great features as Challenger IIP Series for those whohave serial terminals: small business, education, industry.

C2-0—Great starter for users with a terminal 4K RAM

C2-1 — Great timeshare user accessory; cuts costs 4K RAM

by running simple BASIC programs locallyC2-8S— Highly expandable Ferial machine, canadd disks, etc.

Challenger III The Ultimate in Small Computers

The unique three pronessor system for demanding business,education, research and industrial development applications.

C3-S1 — World's most popular 8" floppy based 32K RAM $3590

microcomputer dual floppys

C3-OEM — Single package high volume user version 32K RAM $3590

of C3-S1 dual floppys

C3-A—Rack mounted multi-user business system 48K RAM $5090

directly expandabe to C3-B dual floppys

C3-B — 74 million byte Winchester disk based system. 48K RAM $11,090

World's most powerful microcomputer dual floppys

OHIO SCIENTIFIC also offers you the broadest line of expansionaccessories and the largest selection of affordable software!

Compare the closest Ohio Scientific Model to any other unit you are con-sidering. Compare the performance, real expansion ability, software andprice, and you will see why we have become the world's largest full linemicrocomputer company.

$ 298$ 498

4K RAM $ 545

I'm interested in OSI Computers. Send me information on:

□ Personal Computers □ Small Business Computers

□ Educational Systems □ Industrial Development Systems

□ I'm enclosing $1.00 for your 64-page small computer buyer's guide.

Ohio residents add 4% lax.

Name

Address

City

State _

-Zip_

1333 S. Chillicothe Road

Aurora, Ohio 44202

(216) 562-3101

Phone

The

C2-4P

The Professional Portableby Ohio Scientific

Ohio Scicnflllc no* oil on you I hi wtirld'imatt powerful portable, ptnonil enmputmIn Bolh BASIC-in-ROM ind mlnl-lloppyconligurilloni.

TheC3-B

tyOhoSoenric

The world's most powerful

microcomputer lyitvu

Is fir more affordable

than you mey think:

STANDARD FEMUKES

rtfaoroiifcciivt i«

mil Oi>l»ilP.t >»»riii •,. .

i* inn Mm Tiw 'end,. «-jii n» CD-H oij OV

•niHiHHulll ■"■■'- '■ I'. umi'wc'bS'amsji

' rotocy and ttiupltdwiltt

Circle 290 on inquiry card.