Byte Magazine Volume 03 Number 11 - The Sky is the Limit

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)

Someday all terminals will be smart.

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

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

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

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216

Circle 350 on inquiry card.

I/O Port #1

ParallelI/O Port #2

I/O Port #3

RS-232 orCurrent LoopI/O Port #4

LatchedOutputs

4 MHzCrystal Clock

On Card

Voltage

Regulation

8KR0MCapacity

Standard Bus

for System

Expandability

ProgrammableBaud RateUART with

Interval Timers

4 MHz Z-80A

Completely BufferedBus Interface

The single card computer

* with the featuresthat help you in real life

COMPLETE COMPUTER

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

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

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

Add to that vectored interrupts.

ENORMOUS EXPANDABILITY

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

Card Cage 32K BYTESAVER PROM card

EASY TO USE

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

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

AVAILABLE NOW/LOW PRICE

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

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

a

Cromemco

incorporatedSpecialists in computers and peripherals

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

Circle 80 on inquiry card.

BYTE November 1978

SEE YOUR LOCAL CROMEMCO DEALER

Al ASK A DIVERSIFIED DIGITAL

BUSINESS COMPUTER SYSTEMS

COMPUTE* PRODUCTS UNI IMIIED

rE SHOP OF PHOENIX

COMPUTER RESEARCH CORP

COMPUTER* ARE, INC

•TIE SHOP SACRAMENTO

COMPUTERLAND OUR LIN

ADVENTURES IN COMPUTING

COMPUTERIAND Of KAY WARD

ALGORITHM PERSONAL COMPUTERS

COMPUTERLAND Of W. [OS ANGELES

C IIMHUIRL AND SOUTH «

HIM,MONT ENTERPRISES, INC

COMPUTERLAND LOS ALTOS

AMERICAN RECORDER COMPANY

COMPUTERLAND SADDLER AC* VI

ACCOUNTING 1Y COMPUTER

MtCROTECH EXPORTS

RYTE SHOP PASADENA

COMPUT LB LAND OF SAN CH EGO

COMPUTERIAND OF SAN FRANCISCO

THE COMPUTER STORE OF S.F

TESttOffJolSANJOSE

COMPUTERLAND SAN MATEO

IE RYTE SHOP Of SANTA CLARA

GRANITE RUSINE5S SYSTEMS

IE COMPUTER STORE

RECREATION AL COMPUTER CENTER, INC

COMPUTER LAND 10MOAKS

COMPUTERLAND DENVER

COMPUTERLAND OF FAIRFIELD

IE COMPUTER STORE

RYTE OF FT. LAUDERDALE

MICRO COMPUTER SYSTEMS, IN

COMPUTER AG*

MICRO COMPUTER SYSTEMS

A TECH ELECTRONICS

COM PUTIRLA ND M ARIETTA

COMPUTERLAND ARLINGTON H

MONSON I BRAITON. IN

COMPUTER * CONTROL

SI MICROCOMPUTERS, INC

LI COMPUTER SYSTEMS

IA DOMAIN OF FORI W.

DATA DOMAIN Of INDIANAPOLIS

COMPUTER CENTER

PERSONAL COMPUTE* CENIEK, INC.

COMPUTEBLAND Of LOUISVILLE

A DOMAIN Of IOUISVILU

MICRO RUM NESS SYSTEMS. INC

ZEPHYR DATA SYSTEMS INC

INTELLIGENT RUSINESS MACHINES

COMPUTER WORKSHOP

COMPUTBLAMDC

COMPUTERS ETC

IE COMPUTES STORE

UNITED MICROSYSTEMS CORP.

JEPSAN, GROUP K

COMPUTERLAND GRAND RAPIDS

COMPUTE! MART OF ROYAL OA*

COMPUTERLAND SOUTHFTEID

MINNESOTA MICRO SYSTEMS, INC

COMPUTER SYSTEMS CTR ST. LOUIS

DATA DYNAMICS, INC.

COMPUTERLAND Of N

COMPUTER MART OF NEW PERSE*

COMPUTERLAND Of MORRWTOWN

RYTE SHOP Of RENO

COMPUTER SHOP OF SYRACUSE

LOUIS SCHAEEFER

SYNCHRO-SOUND ENTERPRISES

COMPUTERLAND O

COMPUTER MART OF Nl

COMPUTER HOUSE, INC

MINIM 1CROM ART

71ST CENTURY SHOP

COMPUTER SOLUTIONS

OHIO MICRO SYSTEMS

M«lield IMA OH H

COMPUTERLAND Of CLEVELAND EAST

HIGH TECHNOLOGY

TI SHOP OF BEAVER TON

REAL OREGON COMPUTER CO.

COMPUTERLAND PORTLAND

R, DON MEGGER

MARK (TUNE SYSTEMS, INC

COMPUTER MART Of PENNSYLVANIA

COMPUTER POWER, INC

■VTE SHOP Of COLUMBIA

COMPUTER WORI1J

SURYA CORPORATION

COMPUTERLAND AUSTIN

MICRO SYSTEMS SERVICES, INC

COMPUTERLAND Of 5.W. HOUSTON

COMPUTER TEK

INTERACTIVE COMPUTERS

COMPUTER MART Of W. Tl

m MICRO STORE

COMPUTERS PLUS, INC.

COMPUTER SYSTEMS STORE

COMPUTERLAND (f

COMPUTERLAND SOUTH KING CITY

IE RETAIL COMPUTER STORE

COMPUTERLAND I MOM A

SOUND WORLD, INC.

THE MADISON COMPUTER STORE

MILWAUKEE COMPUTER STORE

OMICRON MICROCOMPUTERS

COLOR IRON Tl

INTERNATIONAL <

SONTRON INSTRUMENTS

COMPUTER ART* EOUCATION

COMPUTERLAND SYDNEY

AUSTRALIAN COMPUTER PRODUCTS

KREIS GES. M.R.FL

FIRST CANADIAN COMPUTER STORE

TRINTRONICS. LTD.

Cjmbs.in(ljmlPE19<NI

■E1LKEYTECINC,IEE CORPORATION

CO MICRO AG

DICITRONIC COMPUTERSYSTEME

• DENOTES SYSTEMS THREE DEALER

2 BYTE November 1978

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

Circle 80 on inquiry card.

164876100112120160162182

34

62

90

150

158

4

6

10

66

74

96

132

135

136

140

146

148

193

230

232

232

AN EXCHANGE EVALUATOR FOR COMPUTER CHESS

Software Chess—the SpracklensTHE SKY'S THE LIMIT: Ham Radio for Intercomputer Communication

Personal Computing Networks—KasserI'VE GOT YOU IN MY SCANNER!

Applications—CiarciaDEFINING A LANGUAGE: PL/B

Languages Forum—WilsonA CLASSROOM DEMONSTRATION

Control Systems—HillA MULTIUSER DATA NETWORK: Communicating Over VHF Radio

Networking—BruningaA CASSETTE INTERFACE SWITCHING BOX FOR THE TRS-80

Hardware—AndertonCREATING A CHESS PLAYER, Part 2: Chess 0.5

Computer Chess Software—Frey-A tkinA "TINY" PASCAL COMPILER, Part 3: P-Code to 8080 Conversion

Pascal— Chung- Yuen

Background

FUNCTIONAL APPROXIMATIONS

Numbers—RuckdeschelDISTRIBUTED NETWORK

Networking—HortonCOMPUTER ASSISTED INSTRUCTION ON A MICROCOMPUTER

Applications—GerholdHOBBYIST COMPUTERIZED BULLETIN BOARD

Personal Computing Networks—Christensen-SuessHEATH MICROPROCESSOR TRAINING SYSTEM

Product Review—Hubin

Nucleus

In This BYTE

On the Virtues of Writing Editors

Letters

Programming Quickie: Checkbook Balancer

Machine Language Puzzler: TIMOUT

Event Queue

Book Reviews

Puzzle: Hextext

Technical Forum: Transmission of Digital Data

BYTE's Bits

BYTE's Bugs

Clubs, Newsletters

What's New?

Unclassified Ads

BOMB

Reader Service

BYTE is published monthly by BYTE Publications Inc. 70 Main St, Peterborough NH 03458. Address all mail except sub-scriptions to above address: phone (603) 924-7217. Address all editorial correspondence to the editor at the above address.Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost menu-scripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change ofaddress. Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second classpostage peid at Peterborough NH 03458 end at additional mailing offices-USPS Publication No. 102410. Canadian secondclass registration No. 9321. Subscriptions are $15 for one year, $27 for two years, and $39 for three years in the USA and itspossessions. In Canada and Mexico, $17.50 for one year, $32 for two years, and $46.50 for three years. $25 for a one yearsubscription by surface mail worldwide. Air delivery to selected areas at additional rates available upon request. $25 for a oneyear subscription by air delivery to Europe. Single copy price is $2.00 in the USA and its possessions, $2.40 in Canada andMexico, $3.50 in Europe, and $4.00 elsewhere. Foreign subscriptions and sales should be remitted in United States funds.Printed in United States of America. Each separate contribution to this issue and the issue as a collective work copyright ©1978 by BYTE Publication Inc. All rights reserved.

Subscription WATS Line: (800) 258-5485

EtII November 1978Volume 3 Number 11

PUBLISHERS

Virginia Londoner

Gordon R Williamson

EDITOR IN CHIEF

Carl T Helmets |r

VICE-PRESIDENT, PRODUCTION

Judith Havey

PRODUCTION MANAGER

Karen Gregory

ADVERTISING DIRECTOR

John Hayes

CIRCULATION MANAGER

Gregory Spinladen

COMMUNICATIONS COORDINATOR

James C Morrissett

SENIOR EDITOR

Christopher P Morgan

EDITORS

Raymond G A Cote

Blaise w Liffick

Richard Shuford

PRODUCTION EDITORS

Nancy Salmon

David William Hayward

Peler Perin

PRODUCTION ASSISTANT

Cheryl A Hurd

PRODUCTION ART

Stephen Kruse

Wai Chiu Li

Dorothy Shamonsky

Ellen Shamonsky

NEW PRODUCTS EDITOR

CLUBS, NEWSLETTERS

Laura A Hanson

ASSISTANT ADVERTISING DIRECTOR

Patricia Clark

ADVERTISING PRODUCTION COORDINATOR

Thomas Harvey

ADVERTISING ASSISTANTS

Noreen Bardsley

I ill Callihan

COMPTROLLER

Kevin Maguire

ASSISTANT TO COMPTROLLER

Mary Steiner

ASSISTANT TO PUBLISHERS

Ruth M Walsh

EDITORIAL ASSISTANT

Gale Brilton

CIRCULATION ASSISTANTS

Christine Dixon

Ann Graves

Pamela R Heaslip

Agnes E Perry

DEALER SALES

Ginnie F Boudrieau

Anne M Baldwin

TRAFFIC MANAGER

Rick Fuette

RECEPTIONIST

lacqueline Earnshaw

DRAFT'NG

Techart Associates

TYPOGRAPHY

Goodway Graphics

PHOTOGRAPHY

Ed Crabtrec

PRINTING

The George Banta Company

ASSOCIATE EDITOR

Daniel Fyistra

ASSOCIATES

Walter Banks

Steve Ciarcia

David Fyistra

Portia Isaacson

BOOK DIVISION:

PRODUCTION MANAGER

EdmondC Kelly |r

PRODUCTION ASSISTANT

Patricia Curran

ADVERTISING SALES REPRESENTATIVES:

Haiar Associates Inc

17 Durant St

West Roxbury MA 02132

(6171325-5380

100 W Chicago Av

Chicago IL 60610

1312)337 8008

DISTRIBUTORS:

EASTERN CANADA

RS 232 Distribution Company

186 Oueen St W, Suite 232

Toronto ONTARIO

WESTERN CANADA

Kilronic Ltd

26236 26th Av RR 5

Alder grove BC VOX 1A0

About the Cover

This month's cover by artist KenLodding emphasizes the personal com-puting potential of the OSCARamateur radio satellites described inJoe Kasser's article on page 48. WhenKen isn't doing technology-related artwork, he helps design and implementexperimental systems for DigitalEquipment Corp in Merrimack NH.

In This BOTE

One of the basic building blocks ofany computer chess playing program isthe exchange evaluator. Authors Danand Kathe Spracklen describe theexchange evaluator used in theirSargon program in An ExchangeEvaluator for Computer Chess.

page 16

Taylor series expansions are notnecessarily the best polynomial ap-proximations for many functions.Fred R Ruckdeschel describes severalminimax and rational polynomialapproximations for some commonfunctions in Functional Approxi-mations. A method for creating poly-nomial approximations for micro-computers using mathematical tablesand large system statistical routinesis also discussed. page 34

One method of connecting com-puters into a communications net-work is by VHF radio stations. Toease some of the physical difficultiesencountered with this arrangement, asatellite can be introduced into thesystem, and then, as Joe Kasser says,The Sky's the Limit for personalcomputer users. page48

One theme of this issue is VHFcommunication among computers toproduce a network. There are othertypes of networks which are availableto computer users. One of these usesa Distributed Network, which is de-scribed by Glen R Horton. page 62

Ciarcia's Circuit Cellar turns to

©

CURRENTSTATUS(TO PROCESSORS)

ADDRESS/DATA AND

CONTROL

FROM PROCESSORS

1 i I

^2.

DEALLOCATE

CURRENT PROCESSOR~) NUMBER'00l2(TO PROCESSORS)

ADDRESS/DATA AND CONTROL TO/FROM SHARED SLOT

SHARED SLOT AND ATTACHEDMEMORY OR INTERFACE

page 62

melodrama this month as Steve andLloyd are confronted by a mysteri-ous stranger. All ends happily, how-ever, with the aid of a computercontrolled stepper motor driven infra-red and visible light scanner. Read I'veGot You in My Scanner! page 76

One of the more fascinating usesof a computer, teaching courses, isfrequently known as computer assistedinstruction. George A Gerhold de-scribes one group of people that isactively involved in implementingComputer Assisted Instruction on aMicrocomputer. page 90

As part of the never ending strugglefor truth, beauty and the ultimate inhigh level languages, David Wilsonprovides readers with a LanguagesForum proposal, Defining a Language:PL/B, a combination of some of thefeatures of a high level language likeBASIC with access to assembly lan-guage details when necessary, page 100

Controlling a physical system isa natural for the microprocessor:parameters can often be changedin a matter of seconds in softwarewithout any mechanical changes tothe system. A simple airflow controlsystem is described in Garnet LHill's article, A Classroom Demon-stration: Controlling a System witha Microcomputer. page 112

The VHF communication networkalready in existence provides a readilyavailable communication network forthe computer experimenter. R E Brun-inga describes one system which is up

and running in his article A MultiuserData Network. page 120

A home computer system can beused for communication among manypeople. This month Ward Christensenand Randy Suess describe their imple-mentation of a Hobbyist Computer-ized Bulletin Board. page 150

For people who are just being intro-duced to the world of micropro-cessors, the first steps can seem con-fusing. For a description of one devicewhich can aid the introduction readW N Hubin's review of the HeathMicroprocessor Training System.

page 158

Craig Anderton's simple circuitdescribed in A Cassette InterfaceSwitching Box for the TRS-80 showsyou how to operate the cassette re-corder manually and monitor tapeswhile they are being read in withouthaving to unplug any cables, page 160

This month we continue the seriesCreating a Chess Player by Peter WFrey and Larry R Atkin with the firsthalf of Chess 0.5, a program written inPascal by Larry Atkin, who is co-author with David Slate of the worldchampionship computer chess pro-gram, Chess 4.6. page 162

In this issue, Kin-Man Chung andHerbert Yuen conclude their series ofarticles on A "Tiny" Pascal Compilerwith a discussion of a p-code (pseudo-code) to 8080 code conversion pro-gram and the needed runtime routines.

page 182

November 1978©BYTE Publications Inc

TUST THOUGHT X'P LETYOU KWOW THAT I'M BACKPROM THE COMPUTERSHOW* THE TERMINALWE WANT IS THE IQ120FROM SOROC (SEESNAP 3H0TX-J*HIS _UJ4lT~TsMOT ONLY SMART LAQKIMG* BUTHASALL THE FEATURES WE NEEPIN THE BASIC PRICE.FOR EXAMPLE: THE TCt I20 INCLUDES NUMERICKEYPAPS ANP PROTECT FIELDS AS STANPARP.

X^LOOKEP AT THE OTHER TERMINALS AS YOU

SUGGESTEP* BUT FOUNP THEM TO BE EITHER* PAPERTIGERS", OR TOO ".DUMB* FOR OUR COMSIPERATION.AMVWAY, YOU ASKED ME TO DECIDE ANP AT—£^5* FOR THE IQ 120, IT WAS THE EASIEST__ ASSIGNMENT X'VE HAP,

P.S. \-4t ±^5/ 5-*^ ?1&00 / SO-H5I 4 T50

*y, inc.

IBS FHEEDOMI AVE, AIMAHE.M CA

Editorial

By Carl Helmers

Editors. This is a word of multiple de-finitions. One definition is implicit in the jobdescription of myself and my associates atBYTE. Another definition is that applied toa class of utility programs which everyBYTE reader's computer system has in someform or another. It is this latter definitionwhich provides the subject for this editorial.

What is often ignored is the fact thateditor programs make an excellent form ofsoftware project, less complex than aninterpreter or a compiler, but of sufficientmagnitude to be interesting and educational.The problems and characteristics of editorsare analogous to those of compilers andinterpreters, especially when viewed as toolsof software development. Just as compilersbeget better compilers, editors can be usedto edit better editors.

On the Virtues of Writing Editors

Software projects are some of the mostexciting avocational applications of personalcomputers, applications which emphasizecomputing as an art form and means ofexpression of personal tastes. This editorialon the philosophy of software projects ingeneral and text editing in particular wasinspired by recent completion of a texteditor begun as a spare time project in Marchof this year. Five months and many eveningand weekend hours later it is now midAugust and the editor program is workingsufficiently well to serve as the primarymonitor program and software tool of myhomebrew computer system.

Why Write an Editor Program?

There are alternatives to do-it-yourself.In the usual case of purchasing a commercialsystem from a computer store, an editorprogram is built into the systems softwareof the computer. The present day tech-nology of self-contained desktop computerswith read only memory systems software(BASIC interpreters) invariably includesprimitive line oriented editors built into thecomputer.

On computers which have assemblers plushigh level language facilities like Pascal, C,FORTRAN or COBOL or brand X, one ormore forms of more useful text editing pro-grams may be available in order to preparesource language files. This is the configu-ration found in the typical $3000+ personalmicrocomputer or $10,000+ commericalminicomputer system.

Even hardware homebrewers do notnecessarily have to start completely fromscratch with editor software. Often a micro-processor chosen for a homebrew system hasa software package which can be purchasedfrom one of a number of software vendors.And in the newer processor designs like theMotorola 6809, complete dynamic repeat-ability of code allows systems software to besold in address space position independentread only memory chip sets which home-brewers can expect to have access to overthe next few years.

But to do-it-yourself is one of the princi-ple reasons why people get involved inintricate avocational pursuits. Why does theamateur wine maker inject yeast into juiceand wait for the results when Napa Valleyand its industries exist? Why does the ama-teur pilot learn to fly when professionaltransportation options are available fromthe largest airline to the smallest air taxiservice? Why make your own astronomicaltelescope when there exists such a perfec-tion as Questar? And similarly in computers,why make your own text editor, compileror computer when so many options existin the marketplace? On a practical or shortterm basis there is no visible advantage toengaging in such pursuits. But on a long-term scale of personal development, ac-tively applying one's mind and energy isalways rewarding.

What Was Needed?

With this spirit .nd a secondary purposeof improved systems software in mind, Iproceeded to think about writing an editorprogram. What is required in a personalcomputer system to engage in a project ofthis complexity? The requirements areessentially identical to the requirements forprogramming any arbitrary application ofthe personal computer, from electronicmusic systems to sophisticated informationstorage and retrieval systems: tools. Soft-ware tools are needed in order to createmore software, and software tools pre-suppose a certain hardware basis.

The hardware components needed for auseful system are available right now from a

Continued on page 68

November 1978©BYTE Publications Inc

Specifications:

S-100 compatible. MFMencoding, 35 tracks with ten512-byte sectors per track.179,200 bytes or 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 PerformanceSingle 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.)

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

Circle 285 on inquiry card.

BYTE November 1978

lei

,. .....

. - ■. * 3 ■

^ Terminal Co

^Puter

Sol.

The small computerthat 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 computer torun your small business, do agreat amount of financial planning,analyze a host of data in theengineering or scientific lab andwhen day is done play gamesby the hour.

Well, the games part is true.The rest of the claims should betaken with a grain of salt. All ofthe personal computers will helpyou learn about computers andhow they work in general and thekinds of things they can do foryou. Only a few have the capacityto grow and handle meaningfulwork in a very real sense. And theydon't come for peanuts.

Remember, there's nofree lunch.

So before you buy any personalcomputer, consider Solf the smallcomputer. Consider it because itcosts more at the start so in theend it costs less. Consider it becauseit can grow with the complexityof the tasks you ask it to performand grow with your ability touse it. No, it's not cheap. But it'snot a delusion either.

From the very beginning, Solsmall computer systems weredesigned to be at the very top of themicrocomputer spectrum. Wedesigned them so you wouldn't haveto add costly extras to do manyjobs. We designed them so you couldadd quality peripherals and morememory to take care of morecomplex tasks. We designed them

Circle 305 on inquiry card.

to use the best fully supporteddisk operating system on the markettoday, PTDOS, which we alsodesigned. We designed them to useour Helios II mass memory. Andfor Sol small computer systems wedesigned new and adapted existingsoftware to give you the choice ofthe best on the market today.

Build computer powerwith our software.

No system is complete withoutsoftware, and at ProcessorTechnology we have tailored agroup of high level languages,and assembler and other packagesto suit the wide capabilities ofour hardware.

Take a look at our exclusiveExtended BASIC as an example. Incassette form, this BASIC featuresstring and advanced file handling,special screen commands, timedinput, complete matrix, logarithmicand trigonometric functions,8 digit precision and square root.The language handles serialaccess files, provides tape rewindand offers cursor control forgraphics capability.

The disk version has all thenumber crunching talents of thecassette BASIC plus instantaccess to data and programs onfloppy disks. It includesrandom as well as sequential filesand a unique ability to updatesequential data in place.

Processor Technology FORTRANis similar to FORTRAN IV andhas a full set of extensions designedfor the "stand alone" computerenvironment. Thousands of specialapplication programs availablethrough books and periodicals have

already been written in this wellestablished language.

Processor Technology PILOT isan excellent language for teachers.It is a string-oriented languagedesigned expressly for interactiveapplications such as programmedinstruction, drill and testing.

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

It's the small computer systemto do the general ledger andthe payroll. Solve engineering andscientific problems. Use it forword processing. Program it forcomputer aided instruction.Use it anywhere you want versatilecomputer power!

Sold and serviced onlyby the best dealers.

Sol Systems are sold and servicedby an outstanding group ofconveniently located computerstores throughout the UnitedStates and Canada. They are alsoavailable in Australia, Europe,the United Kingdom, CentralAmerica, South America, Japanand Singapore.

For more information contactyour nearest dealer listed onthe following page. Or write Depart-ment B, Processor TechnologyCorporation, 7100 JohnsonIndustrial Drive, Pleasanton, CA94566. Phone (415) 829-2600.

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

ProcessorTechnofogy

BYTE November 1978 9

See Solat all these

finecomputer

centers

AL: Birmingham: ICP Computerland,

(205) 979-0707. CA: Berkeley: The Byte Shop,(415) 845-6366. Citrus Heights: Byte Shop.(916) 961-2983. Costa Mesa: Orange CountyComputer Center, (714) 646-0221. Hayward:Computerland of Hayward, (415) 538-8080.Lawndale: The Byte Shop, (213) 371 -2421.Modesto: Computer Magic, (209) 527-5156.Mountain View: Digital Deli, (415) 961 -2670.San Francisco: Computer Center, Inc., (415)387-2513. San Rafael: The Byte Shop, (415)457-9311. Walnut Creek: The Byte Shop, (415)933-6252. CO: Boulder: Byte Shop, (303)444-6550. Denver: 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 Shopof Miami, (305) 264-2983. Tampa: MicrocomputerSystems, Inc., (813) 879-4301. IL: Lombard:Midwest Microcomputer, (312) 495-9889. IA:Davenport: Computer Store of Davenport, (319)386-3330. KY: Louisville: Martronix Associates,

(502) 459-0500. MD: Towson: Computers Etc.,(301) 296-0520. MN: Minneapolis: ComputerDepot, (612) 927-5601. 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 NewJersey, (201) 283-0600. NY: Endwell: TheComputer Tree, (607) 748-1223. New York:Computer Mart of New York, (212) 686-7923.White Plains: The Computer Corner, (914)949-3282. NC: Raleigh: Roms N- Rams, (919)781 -0003. OH: Akron: The Basic ComputerShop, (216) 867-0808. Columbus: Byte Shop,(614) 486-7761. Dayton: Computer Mart ofDayton, (513) 296-1248. OR: Beaverton: ByteShop Computer Store, (503) 644-2686.Portland: Byte Shop Computer Store, (503)223-3496. Salem: Computer Pathways,

(503) 399-0534. PA: King of Prussia: ComputerMart of Pennsylvania, (215) 265-2580. Rl:Warwick: Computer Power, Inc., (401) 738-4477.SC: Columbia: Byte Shop, (803) 771-7824.

TN: Kingsport: Microproducts & Systems, (615)245-8081. TX: Arlington: Computer Port,(817) 469-1502. Arlington: Micro Store, (817)461-6081. Houston: Interactive Computers,(713) 772-5257. Houston: Interactive Computers,(713) 486-0291. Lubbock: NeighborhoodComputer Store, (806) 797-1468. Richardson:Microstore, (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: TheMilwaukee Computer Store, (414) 445-4280.DC: Washington: Georgetown ComputerEmporium, (202) 337-6545. CANADA: London,Ontario: Computer Circuit Ltd., 737 RichmondSt., (519) 672-9370. Toronto: Computer Mart Ltd.,1543 Bayview St., (416) 484-9708. Vancouver:Basic Computer Group Ltd., 1548 West 8th

Ave , (604) 736-7474. ARGENTINA: BuenosAires: Basis Sistemas Digitales. Colombres849-1 -A, 93-1988 or 57-7177 AUSTRALIA:Sydney: Automation Statham Pty. Ltd., 47Birch St., (02) 709.4144. Carnegie: SontronInstruments, 17 Arawatta St., (03) 569.7867.BELGIUM: Bruxelles: S.P.R.L. Finncontact,SduareLarousse, 5,2/345-98-95 COLUMBIA:Bogota: Video National, Diagonal No. 5-62,3266 35-36-37. DENMARK: Copenhagen: PeterW. Holm Trading ApS, Sankt Annae Gade 34,Christianshavn, (01) 54 34 66. GREECE: Athens:Attikos, Inc., 41 Char.TricoupiTT. 145, 3604091.JAPAN: Tokyo: Japan Personal Computers, Ltd.,YamamotoBldg.No. 11-18, (03)375-5078.5079.MEXICO: Mexico City: Industrias Digitales, S.A.deC.V, Plateros 7-116, (905) 524-5132.PHILIPPINES: San Juan: Integrated ComputerSystems, Inc., LIMKETKAI Bldg., Suite 118,Ortigas Ave., Metro Manila, 3113, 78-40-71.72.SWEDEN: Stockholm: Wernor Elektronik,Torsvagen 61, Box 72, (0) 8 717-62-88 UNITEDKINGDOM: Huntingdon, England: Comart, Ltd.,24A Market Square, St. Neots, Cambridgeshire,(0480) 74356. VENEZUELA: Caracas:Componentes Y Circuitos Electronicos TTLCAC.A., Av. Fco. de Miranda, Los Ruices,ApartadO 3223, 355591.

Letters

SCHEMATIC ENCOUNTER

I had a close encounter of the thirdkind while trying to read and understandthe schematics to a Teletype ASR33 — itwas just awful. The engineers had theirhands on it for some time when it wasdecided to change it over to a 20 mAloop, and I was the victim elected to doit.

Do any BYTE readers know if thereis a book that explains the ASR33Teletype schematics in understandableterms? I know it took many years tomake the simple hard to understand, butmaybe someone out there said thatenough is enough to this madness.

Yes, I finally got the show on theroad, but for awhile I was thinking: whyme?

Craig Mueller

10130 Sepulveda Blvd

Mission Hills CA 91345

INTERPRETER INFORMATIONWANTED

I have just finished reading Osborneand Associates' 8080A/808S AssemblyLanguage Programming book. Now Iwant to find something that shows howa BASIC interpreter is put together inassembly language. All the softwaresupplied here does not even attempt toexplain in anything but vague terms.

The question is, where can I findliterature like this? I would like some-thing that would actually run and some-thing not theoretical. I hope you canhelp.

Hugh Shedd#8 3419 Portland Av SMinneapolis MN 55407

Contact Dr. Dobb's Journal of Calis-thenics & Orthodontia for informationon what they have published in the pastwith respect to BASIC interpreters.Their address is POB E, Menlo ParkCA 94025.

PRAISE FOR BITS

I do not write letters to editors oftenbut this is one pleasant exception. Abouta week ago my daughter ordered a bookfor my birthday from BITS. The birth-day was only a week off and she askedfor fast service. Not only did the bookarrive exactly one week from the datethat she sent her letter, but it was alsowrapped in birthday paper with a bow.It arrived the day before my birthday.Both my daughter and I were quitedelighted at such a personal touch. Ibelieve that the name of the person

Continued on page 141

56 GREAT LOCATIONS

ComputerLand

NOW OPEN

ALABAMA

HuntsvilleCALIFORNIA

Dublin

El Cerrito

Hayward

Los Altos

Los Angeles

Mission Viejo

San Bernardino

San Diego

San Francisco

San Jose

San Mateo

Santa Rosa

Thousand Oaks

Lawndale

Tustin

Walnut CreekCOLORADO

Colorado Springs

DenverCONNECTICUT

FairfieldDELAWARE

NewarkFLORIDA

Boca Raton

Ft. LauderdaleGEORGIA

AtlantaHAWAII

HonoluluILLINOIS

Arlington Heights

Downers Grove

Niles

Oak Lawn

PeoriaINDIANA

IndianapolisKENTUCKY

LouisvilleMARYLAND

RockvilleMICHIGAN

Grand Rapids

SouthfieldMINNESOTA

BloomingtonNEW HAMPSHIRE

NashuaNEW JERSEY

Cherry Hill

Bergen County

MorristownNEW YORK

Buffalo

IthacaNO. CAROLINA

CharlotteOHIO

ClevelandOREGON

PortlandPENNSYLVANIA

HarrisburgTEXAS

Austin

Dallas

HoustonWASHINGTON

Bellevue

Federal Way

TacomaWASHINGTON, D.C.WISCONSIN

MadisonINTERNATIONAL

Sydney, NSW Australi;

Winnipeg, Canada

(205)539-1200

(415)828-8090(415)233-5010(415) 538-8080(415)941-8154(213) 776-8080(714) 770-0131(714) 886-6838(714)560-9912(415)546-1592(408) 253-8080(415) 572-8080(707)528-1775(805) 495-3554(213)371-7144(714) 544-0542(415)935-6502

Call Directory Assistance(303) 759-4685

(203) 374-2227

(302) 738-9656

Call Directory AssistanceCall Directory Assistance

(404) 953-0406

Call Directory Assistance

(312)255-6488(312)560-0193(312)967-1714(312)422-8080Call Directory Assistance

Call Directory Assistance

(502) 425-8308

(301)948-7676

(616)942-2931(313)356-8111

(612)884-1474

(603) 889-5238

(609) 795-5900(201)845-9303(201) 539-4077

(716)836-6511

(607) 277-4888

(704) 536-8500

(216)461-1200

(503)620-6170

(717) 736-1116

(512)452-5701

Call Directory Assistance

(713)977-0909

(206) 746-2070

(206) 838-9363

(206) 581-0388

Call Directory Assistance

(608) 273-2020

I 29-3753

Call Directory Assistance

10 byte November 1978 Circle 305 on inquiry card.

Circle 75 on inquiry card.

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

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

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

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

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

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

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

1

1

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

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

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

ComputerLand

WE KNOW SMALL COMPUTERS

14400 Catalina St., San Leandro, CA 94577 (415)895-9363 • Franchise Opportunities Available

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

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

<&>

BYTE November 1978

11

Why Applest selling p<

is the worlds

ibnal computer.

'hich personal computer will bemost enjoyable and rewarding for you?Since we delivered our first Apple® IIin April, 1977, more people have chosenour computer than all other personalcomputers combined. Here are thereasons Apple has become such anoverwhelming favorite.

Apple is a fully tested and assembledmainframe computer. You won't needto spend weeks and months in assembly.Just take an Apple home, plug it in,hook up your color TV* and any cassettetape deck—and the fun begins.

To ensure that the fun never stops,and to keep Apple working hard, we'vespent the last year expanding the Applesystem. There are new peripherals,new software, and the Apple II BasicProgramming Manual. And wait tillyou see the Apple magazine to keep

owners on top of what's new.Apple is so powerful and easy to usethat you'll find dozens of applications.There are Apples in major universities,helping teach computer skills. Thereare Apples in the office, where they'rebeing programmed to control inven-tories, chart stocks and balance thebooks. And there are Apples at home,where they can help manage the familybudget, control your home's environ-ment, teach arithmetic and foreignlanguages and, of course, enable youto create hundreds of sound andaction video games.

When you buy an Apple II you'reinvesting in the leading edge of tech-nology. Apple was the first computerto come with BASIC in ROM, forexample. And the first computer withup to 48K bytes RAM on one board,using advanced, high density 16Kdevices. We're working to keep Applethe most up-to-date personal computermoney can buy. Apple II delivers thefeatures you need to enjoy the real

satisfaction a personal computer canbring, today and in the future.

& hi resolutiongraphics, too.

Don't settle for a black andwhite display! Connect yourApple to a color TV andBASIC gives you instantcommand of three displaymodes: Text, 40h x 48vColor-graphics in 15 colors,and a 280h x 192v HighResolutionarray thatlets you plotgraphs andcompose3-D imagesApple givesyou the addedcapability of combiningtext and graphics, too.

Back to basics, andassembly language too.

Apple speaks three languages: fastinteger BASIC, floating point BASICfor scientific and financial applications,and 6502 assembly language. That'smaximum programming flexibility. And,to preserve user's space, both integerBASIC and monitor are permanentlystored in 8K bytes of ROM, so youhave an easy-to-use, universal languageinstantly available. BASIC gives yougraphic commands: COLOR=, VLIN,HLIN, PLOT and SCRN. And directmemory access, with PEEK, POKEand CALL commands.

Software: Ours and yours.

There's a growing selection of pre-programmed software from the AppleSoftware Bank—BasicFinance, Checkbook, HighResolution Graphics andmore. Now there's a UserSection in our bank, to makeit easy for you to obtainprograms developed

by other Apple owners. Our SoftwareBank is your link to Apple owners all'over the world.

Alive withthesoundof music.

Apple's ex-clusive built-inspeaker deliversthe added dimension of sound to yourprograms. Sound to compose electronicmusic. Sound to liven up games andeducational programs. Sound, so thatany program can "talk" back to you.That's an example of Apple's "peoplecompatible" design. Another is its light,durable injection-molded case, so youcan take Apple with you. And theprofessional quality, typewriter-stylekeyboard has n-key rollover, for fast,error-free operator interaction.

Apple is theproven computer.

Apple is a state-of-the-art singleboard computer, with advanced LSIdesign to keep component count to aminimum. That makes it more reliable.If glitches do occur, the fully socketedboard and built-in diagnostics sim-plify troubleshooting. In fact, on ourassembly line, we use Apples totest new Apples.

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

In California, call 408/996-1010.

Apple peripheralsare smart peripherals.

Watch the far right column of this adeach month for the latest in our grow-ing family of peripherals. We call them"intelligent interfaces." They're smartperipherals, so you can plug them inand run them from BASIC withouthaving to develop custom software.No other personal computer comesclose to Apple's expandability. In addi-tion to the built-in video interface, cas-sette I/O, and four A/D inputs with twocontinuously variable game paddles,Apple has eight peripheral slots, threeTTL inputs and fourTTL outputs. Plusa powerful, state-of-the-art switchingpower supply that can drive all yourApple peripherals.

Available now.

Apple is in stock and ready fordelivery at a store near you. Call us forthe dealer nearest you. Or, for moredetails and a copy of our "Consumer'sGuide to Personal Computers," call

800/538-9696**or write AppleComputer, Inc.,10260 BandleyDrive, Cuper-\ tino, CA95014.

■try card.

—, opplc computer

Programming is a snap!I'm halfway through Apple's BASICmanual and already I've programmedmy own space wars game.

Those math programs I wrotelast week-1 just rewrote them usingApple's mini-assembler and got them

to run a hundred times faster.

New from Apple.

Valuable new series of softwarepackages for investors

Now private investors can generatetheir own stock market reports and per-form critical investment analysis instantlywith Apple II. Just log your Apple IIcomputer on to Dow Jones' central databank with powerful Apple software: theDow Jones Series. The first two of thesehighly practical programsare available now._ With Apple's StockQuote Reporterprogram, a local tele-phone calllinks you toDow Jones'continuouslyupdatedstock quotes formore than6000 com-panies listedon six major U.S.exchanges. Currentactivity for stocks inthe investors portfolio is deliveredautomatically: ask/open, bid/close, high,low and last prices, and volume traded.Our Portfolio Evaluator enablesyou to analyze current value of yourportfolio, and short- and long-term gain/loss for each stock—or for your entireportfolio.

Cost of Apple's Dow Jones serviceis a one time contract fee of $25, whichincludes the Stock Quote Reporter pro-gram. An additional $3 charge is madefor the first three minutes of any transac-tion and 50^ per minute thereafter.

To take advantage of Apple's newfinancial services, Apple II users needonly a communications card, a modemand an ordinary telephone. This equip-ment, the Dow Jones Series, and a broadselection of other Apple software arenow in stock at your local Apple dealer.

Circle 15 on inquiry card.

Apple's smart peripherals make

expansion easy. Just plug 'em in and

they're ready to run. I've already

added two disks, a printer and the

communications card.

. -

DYN ABYTE 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.

TPvAN 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 comers 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.

DUIiaBUTE

YOU CAN DEPEND ON IT.

Circle 110 on inquiry card.

BYTE November 1978

15

An Exchange Evaluator

Dan and Kathe Spracklen

10832 Macouba PI

San Diego CA 92124

for Computer Chess

White

Count

Pawns

Knights

Bishops

Rooks

Queen

King

Bit

Three main tasks are basic to computerchess: generation of moves, evaluation ofpositions and selection between alternatives.Of these three, the central determining factorin the strength of the program relative to thecapacity of the host machine is the evalua-tion segment. The reason for this is thatany program must come to grips with thetask of move generation, and various tech-niques of "pruning" decision trees are bynow widely known. Furthermore, the smallerand slower the host machine, the moreimportance must be assigned to the evalua-tion facility. If a search can be carried to agreat depth of ply, inaccuracies can generallybe corrected long before the machine hasbeen committed to a costly line of play.(A ply is a move by one player, ie: half ofa complete move involving both players.)On the other hand, if processing limitations

Black

Byte

1234567

Byte

8

91011121314

7 6 5 4 3 2 10

Bit 7 6 5 4 3 2 10

Table 1: Format of the attacker's array, a 14 byte array divided into two sec-tions, seven bytes for White and seven bytes for Black. The first byte of eachsection contains the number of attackers (or defenders) in the array. Theother six bytes contain the values of the pieces participating in the attack un-der analysis. Since no more than four bits are required per piece, two piecesare stored per byte and the array has a fixed format. The routine that fills thearray assigns the first attacker of a given type to the low order four bits of thebyte. A subsequent attacker of the same type is added by shifting up the loworder four bits and inserting the new attacker.

prevent a critical exchange from beingexamined to its conclusion, then not justaccuracy but clairvoyance is demanded. Thusan attack evaluator assumes tremendousimportance in a microcomputer chess pro-gram, much more so than in a large scalemachine. But the limitations placed on theprogrammer of an 8 bit machine make itcorrespondingly more difficult to achievethis type of predictive power. The abilityof Sargon (a chess playing program wewrote in Z-80 assembler language) to accu-rately forecast the outcome of an exchangehas been the greatest single factor in itssuccess.

Some Tactical Considerations

First, consider the capabilities desiredof the routine. Assume that the computeris faced with evaluating the board positionin figure 1. Black possesses a dangerouspassed pawn that White has blockaded witha Knight. White is piling up attackers on thepawn and presently assaults it with King,Queen, and from behind the Queen, aBishop: a total of three attackers. Blackdefends with Queen, Rook, and Knight;but the Black Knight is pinned against theBlack King by White's Bishop, so Blackreally only has two usable defenders. Doesthis mean the pawn is lost? No, consider theorder in which the exchange would occur.The King cannot legally capture first and theBishop is behind the Queen, so the Queenmust be the first taker. When Black respondswith Rook takes Queen, Black has gainedconsiderable material and is under no obliga-tion to go any further with the exchange.To summarize the subtleties involved, theprogram must recognize transparent attacksthrough its own pieces which move in thesame direction. It must recognize pins (andpartial pins such as a Rook pinned alonga rank or file). It must understand therelative values of attacking and defending

16

November 1978©BYTE Publications Inc

pieces, and, finally, it must realize that theexchange may be terminated at any pointby either side. Pins are a whole topic inthemselves, and Sargon's pinned pieceroutines will not be discussed in any detail.Instead, we shall concentrate on the exchangeroutine itself, which weighs the relativemerits of the battles engaged on the board.

The Data Structures

The basic data structure used by the ex-change evaluator is the attackers array. It isa 14 byte area divided into two sections,seven bytes for White and seven for Black.The first byte of each section contains thenumber of attackers (or defenders) con-tained in the array. The other six bytes ineach section store the piece values of thepieces participating in the attack. Since nomore than four bits are required, two piecesare stored per byte, and the array has a fixedformat. Table 1 illustrates the arrangementwithin a section. The routine which fills thearray assigns the first attacker of a giventype to the low order four bits of the byte.A subsequent attacker of the same type isadded by shifting up the low order four bitsand inserting the new attacker in its place.The instruction used to implement this isthe rotate left digit (RLD) (see figure 2).If a piece attacks from behind the Queen,such as the Bishop in figure 1, it is placedin the high order four bits of the Queenbyte. From that position it will not comeinto play in the attack until after the Queenhas captured. It is possible for two Rooksto attack through the Queen. In this situa-tion one Rook is stored behind the Queenand the other in the King byte, pushing himup behind the Rook if he is involved in theattack. (By the rules of chess, the King can-not capture unless all defenders are ex-hausted, so he is properly placed behind theRook.)

A note about overflows: the table is nec-essarily limited in size and is adequate forall the pieces originally on the board. Ifpawn promotions result in multiple piecesand a table overflow occurs, the excesspieces are ignored in evaluating the exchange.

An Overview of the Exchange Evaluator

The exchange evaluator (XCHNG) oper-ates on a prefilled attacker's array. Thearray itself is filled by the attack save(ATKSAV) routine as attackers are dis-covered by the attacker's routine (ATTACK).The latter two routines are important, andrecent changes to them have resulted in asignificant improvement in the performanceof Sargon, but they are not discussed in this

article. The attacker's array describes aspecific battle over a given occupied square.The player who occupies the square is thedefender and the player with the oppositecolor is the attacker. The attacker's sectionis examined for the lowest valued attacker.That piece is compared in value to the pieceon the occupied square. If the attacker islower in value than the defended piece, weknow at once that we can win material bycapturing that piece. We don't yet knowhow much, because the piece may have beentotally undefended, or it may be that ourlower value piece will be captured in return.For example if our Bishop attacks an enemyRook, we can be sure at least of "winningthe exchange" (a phrase chess buffs use todescribe trading a Rook for a minor piece,ie: for a Bishop or Knight). But to find outwhether the whole Rook is ours for free or ifwe must give up our Bishop in return, wemust toggle the attacker/defender roles,since our Bishop now occupies the square,and run through the analysis again. Ofcourse back when the Bishop was retrievedfrom the attacker's array, it was also re-moved, the attack count decremented, andits position filled with zeroes.

The evaluation is not so obvious whenthe attacker is of higher value than the pieceon the occupied square. In this case there areonly two situations in which you wouldwant to capture. One occurs when the at-tacked piece is totally undefended, and .the

ACCUMULATOR(REGISTER A)

MEMORYLOCATION

7 4 3 0

-

7 4 3 0

Figure 1: Sample boardposition. White's Bishop isindirectly attacking thepawn, so the value of theBishop is stored in thehigh order four bits of theQueen byte (which isdirectly attacking thepawn) in the attacker'sarray. See table 1.

Figure 2: The RotatingLeft Digit (RLD) instruc-tion, used to add attackersto the attacker's array.

November 1978 © BYTE Publications Inc

17

V

FETCH ATTACKERAND COMPARETO PIECE

Figure 3: Summary of theflow of exchange evalu-ation. If the attacker is ofthe same value as the pieceunder potential attack,material cannot be lost byswapping, and the piecemay in fact be taken forfree. To determine thepotential for winningmaterial, assume the cap-ture takes place, switch(or "toggle") the roles ofdefender and attacker andrun through the analysisagain.

CHECK VALUE

OF

DEFENDER

CHALK UPPOINTS GAINEDAND TOGGLE

The use of computers for industrial automation is sky-rocketing, and engineers are needed to design them. If you'restalled in your present position, we have the opportunities tochallenge you. If you are a degreed engineer with hardware orsoftware design experience, call or write Dick Conklin, (216)943-5500.

Babcock& Wilcox

Bailey Controls Company

29801 Euclid Ave.Wickliffe, Ohio 44092

An Equal Opportunity Employer M/F

other occurs when the attacked piece isdefended by a piece of the same or highervalue, and we can back up the attack withyet another attacker. Suppose, for example,our Queen attacks an enemy pawn. If thepawn is completely unguarded, we can, ofcourse, take it for free. We might also wantto take it if it is defended by the opponent'sQueen and we can recapture with, say, aBishop which attacks from behind ourQueen. But any time the attacked piece isdefended by a piece of lower value thanthe attacker, we can terminate the exchangeright there, since it would not be to theadvantage of the attacker to continue. Forexample, if our Queen attacked a pawn thatwas defended by an enemy pawn, wewouldn't consider making the capture.If the attacker is of the same value as thepiece on the occupied square, we know wecan't lose material by swapping, and thepiece might be ours for free. So to find outwhat we stand to gain, we assume the cap-ture takes place, switch (or "toggle") theattacker/defender roles, and run through theanalysis again (see the summary in figure 3).

Quantizing the Evaluation

We now have a general plan for the flowof the evaluator. What is needed is a meansof quantizing the results and coming upwith a points total, the exchange residue,which accurately describes that particularbattle. The exchange residue is zero at theonset of the analysis and will be adjustedup or down as the evaluation proceeds. Ateach iteration the number of points atstake is the value of the piece which cur-rently occupies the square in question. Ifthe analysis calls for a capture on the firstiteration, the points at stake are added tothe exchange residue. Thus the exchangeresidue will contain the number of pointslost by the initial defender (or, conversely,won by the initial attacker). We will main-tain this frame of reference throughout theevaluation. If the analysis requires thatattacker/defender roles be toggled, and acapture occurs on the second iteration,the points at stake would be subtractedfrom the exchange residue. Suppose weagain have a situation where our Bishopattacks an enemy Rook. The points at stakeare the assumed vakie of the Rook, andlet's suppose we value the Rook at fivepoints. We know the analysis will callfor Bishop takes Rook, so at that timethe five points for the Rook will be addedto the initially zero exchange residue. Then

18

November 1978 © BYTE Publications Inc

Circle 27 on inquiry card.

ULL SIZE FLOPPY DISK $995 COMPLETE

I™ full-size floppy disk sys-i overnight success...becauserered so complete you canjnning in a single evening.; $995, it's a complete mem-8m. Complete with alland software. Corn-em bled. Completely\nd tested as a com-

id you can not only solveur memory shortage faster,u can solve it longer...be-jse DISCUS I™ is a full-e floppy system with 3nes the storage and 5nes the speed of mini-ppies.

ur $995 DISCUS I™tern includes a ShugartOR full-size drive withwer supply in a hand-ne freestanding cabi-t, our 8-drive capaci-

S-100 controllerth on-board bufferd serial interface,

cables and con-dors, and all theftware you need.

r*.

<s~\

Iff 1111111111%

~^X.-^'Sit&&®&K2taBSNk

Your software library includes DOStext editor, 8080 assembler (all irtegrated in DISK/ATE™); oiBASIC-V™ advanced virtual disBASIC able to handle a wide varic[ ty of data formats and address ito 2 megabytes; and patchesCP/M*. And it's all interfayour controller's serial l/Cto avoid I/O guessv

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 asnice options to add to yourlibrary. No wonder it's anovernight success! SeeDISCUS 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-5317, 10-5Pacific Time.

r.uxN.' .•:■ \\

—vr

7'-' ■"

1

.,, ,|^ \\yy

Qaooot.. a

AS ;' 1 l

Ml Ol

a?

i -; c .

! : A\ \

rx m Kfjs

74LS.35 °— •

7416b

1

i> ~ . — i

r ■

ir- fl'

: !

r-s iO i

"\ r- 1

-1 *T 1■ O* C* |

r, t/> (

i i 0 i

' ' > r^ ' *

: % 2 : : a

: ■■ ~

£v Thinker Toys <=>--d^ b^*sscaps 9 10 11

^£c *V? I The Disk Jockey" I . . 5'

liiiiiff iiiiif in in iiieiiiiitiiiiiiiiitiiiiiiiiti

"CP M i^ a trademark of Digital Research

product of Morrow'sicro-Stuff for

Circle 255 on inquiry card.

TOKinKei^^

1201 10th StreetBerkeley, CA 94710

Bi II Vivembti 197* 19

BLACK

WHITE

(SARGON)

White to play.

Values used are based on the scale:

Queen 9 points

Rook 5 points

Bishop 3 points

Knight 3 points

Pawn 1 point

Attacker's Array:

Count

Pawns

Knights

Bishops

Rooks

Queen

King

3

3 pts

3pts

3 pts

2

1 pt

9 pts

White

Black

PointsAt Stake

Attacker'sValue

Defender'sValue

ExchangeResidue

Onset

-

-

-

0

FirstIteration

3(BlackKnight)

3(WhiteKnight)

1(BlackPawn)

3

SecondIteration

3(WhiteKnight)

1(BlackPawn)

3

(WhiteKnight)

0

ThirdIteration

1(BlackPawn)

3

(WhiteKnight)

9(BlackQueen)

1

FourthIteration

3(WhiteKnight)

9(BlackQueen)

3

(WhiteBishop)

No Change*1

BlackDefends

WhiteDefends

BlackDefends

WhiteDefends

*Black will not continue at the cost of his Queen.

Figure 4: Analysis of a typical chess battle, in this case at the K4 square, ta-ken from the game of Keres versus Najdorf, International Tournament atMargate, 1939. The associated chart shows how the points at stake, attacker'svalue, defender's value and exchange residue are altered at each successiveiteration.

the attacker/defender roles are toggled,and if our Bishop, worth say three points,is recaptured, those three points would besubtracted from the exchange residue leavinga current residue of two points. If the battlecontinues, on the third iteration the pointsare again added, and on the fourth sub-tracted, etc. Figure 4 gives a typical battleand the associated chart shows how thepoints at stake, attacker's value, defender'svalue and exchange residue are altered ateach successive iteration.

A note on the bounds of the exchangeresidue is pertinent here. The exchange res-idue will always be a positive number. Thisis clearly so, since for it to go negative theattacker would have to engage in an unsoundexchange, such as the Queen capturing apawn defended by another pawn as in a pre-vious example. Such an exchange would bea blunder. We will assume that this won'toccur on the part of our opponent, and wewill eliminate it from our moves. The ex-change residue will also have as a maximum

the number of points at stake initially,since the defender will not make a move thatwill cost more than has already been lost.Thus, 0 < exchange residue < value ofattacked piece.

Programming the Evaluator

Great care is necessary in coding theroutine, since it must be executed once forevery attacked piece on the board. If weassume that an average of five pieces willbe under attack at a time, this means theroutine will be executed five times for everyboard evaluated. Since typically 5,000 to12,000 board positions will be evaluatedby the most recent version of Sargon usinga 4 ply search, this means the exchangeevaluator may be executed up to 60,000times in determining a single move. So aninefficiency in execution time as slight asneedlessly pushing and popping four registerswould be magnified to a total cost of threeseconds (assuming a 2 MHz clock) in thetime required to process a single move. Forthis reason chess programmers must quicklybecome familiar with the relative executiontimes of their machine's instructions. If theexchange evaluator seems obscure, the

20

November 1978©BYTE Publications Inc

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

: : : : : ;

• • » • • ,

• • * * ■ i

1 o

; : :

m,' -.L

""iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimiiiiiiiiiuii

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 as 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, state-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 a 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 8080 or Z-80S-100 computer operating at 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 are fully assembled, thoroughly

tested, include complete documentation, and are pricedfor value:

DOUBLER double density controller S 495.

MEGADOX 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 Son Francisco Colifornio 94133/ 415 398-0289

Where there's always more in store.

Circle 223 on inquiry card.

•CP/M is o trodemork of Digital Research.

BYTE November 1978 21

Table 2: Map of the re-gisters used by the ex-change evaluator.

Table 3: Map of the BC,DE, and HL registers usedby the attacker I defenderroutines.

AF

BC

DEHLIXIY

AF'BCDE'HL'

BC

DE

HL

(Various Uses)

DefenderCount

Program StatusFlags

AttackerCount

Attacker Section Address

Defender Section Address

Index to Value Array

Defender

Program StatusFlags

AttackedPiece Value

Flag toDefender Side

ExchangeResidue

AttackerValue

AttackerCount

DefenderCount

Defender Section Address

Attacker Section Address

blame lies in just such considerations.Since nearly every register in the Z-80processor is utilized in the routine, a mapis provided for reference in the discussion(see table 2). Although Sargon is coded inZ-80 assembler language using TDL mne-monics, no prior knowledge of the specificinstructions is assumed. However, it isassumed that the reader is familiar withsome microprocessor assembly language.Two routines are described: XCHNG, whichperforms the actual evaluation, andNEXT AD, which searches the attacker'sarray for the next attacker or defender.

Using the Exchange Residue

The exchange evaluator has completed itswork once it has returned the outcome ofthe battle. But the evaluation segment is byno means complete. Information gleanedby analyzing attacks must be blended withdata concerning piece mobility, develop-ment, total material and any other heuristicsincluded in the program. The total picture isthe responsibility of a routine calledPOINTS, which is not discussed here. But itis useful to see how POINTS makes use ofthe information returned by XCHNG.

The exchange evaluator must be calledto examine every potential battle on the

Listing 1: The Sargon ex-change evaluator, writtenin Z-80 assembler languagewith TDL mnemonics.

Label

Op Code

Operand

XCHNG:

LDA

PI

LXILXI

H.WACTD.BACT

BITJRZXCHG

7,AXC5

XC5:

MOV

B,M

LDAX

D

. ;

MOV

C,A

Note: A documented sourcelisting of the entire Sargonprogram is available for $15from Dan and Kathe Sprack-len, 10832 Macouba PI, SanDiego CA 92124.

EXX

MVI

C,0

MVI

E,0

LIXD

T3

MOV

B,PVALUE(X)

Commentary

Fetch the attacked piece into register A.The piece includes a color flag in bit 7(0 for White, 1 for Black) and the piecetype in bits 2-0.

Load into the HL and DE register pairs.The beginning addresses of the White andBlack sections of the attackers array.Test the color flag bit of the piece andskip the XCHG if the piece is White.Otherwise swap the contents of the HL andDE registers. The result is to produce apointer to the defender's section of theattackers array in the HL register pair anda pointer to the attacker's section in theDE pair.

Fetches the byte pointed to by the HL pairinto the B register. Fetches the byte pointedto by the DE pair into the A register, thenmoves it into the C register. Since the firstbyte if each section of the attacker's array isthe count (see table 1), we now have thetotal number of defenders in register B andattackers in C.

Swap registers BC, DE, and HL for registersBC, DE', and HL', ready to initialize therest of the data used by the exchangeevaluator.

Register C contains a flag which tells whenthe attacker/defender roles have beentoggled. Each time the roles are reversed,register C is incremented. Then by examiningbit 0 of C, we can tell which side is beingexamined. A value of 0 indicates the at-tacker's side is under consideration, and avalue of 1 the defender's side.Initialize the exchange residue.T3 is an index by piece type into an array,called PVALUE, which contains the pointvalue (the worth) of each type of piece.

22

November 1978©BYTE Publications Inc

*'% S

sirmntics

u c /

1

HH^JSK^HH

9HH

19

K\

INSTWCTOB SO

fluff* i l 1 */o ■■■ ■ - .

in1mi

nil

«■«

naiKu wfi

microprocessorexperience from day oneThe Instructor 50*

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

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

Superior to other microprocessor learning aids, the Instructor 50 is a COM-PETE package—including a built-in power supply (50/60 Hz), an LEDprompting display, and both functional and hexadecimal keyboards. You

PI

also get S-100 compatibility for adding memory and other peripherals. This letsyou expand the machine's capability—and your microprocessing applicationsknowledge. Moreover, you can easily build a program library by recording your ownaudio cassettes.

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

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

We can help you understand microprocessors.

sggnotics

a subsidiary of US. Philips Corporation

Sgretcs Corporation

811 East Arques A/enue

Sunnyvale. California 94086

Telephone 408/739-7700

Circle 317 on inquiry card.

BYTE November 1978

23

I

A Solid State Keyboard as Modern as Your Computer

Solid state electronics has moved the computer quickly from the business world into personal uses.Meanwhile, computer keyboards have hardly moved at all.

Now TASA introduces a keyboard as modern as your computer. Don't confuse it with ordinary flex switches. Itis fully solid state and self-contained, ready to plug in and use. Since it has no mechanical moving parts, itresponds quickly to your touch. And it provides full ASCII coding in TASA's exclusive color-keyed layout thatmakes it easier to say what you want to say to your computer.

This is the TASA Micro Proximjty Keyboard, and it sells for only $49.95. Despite the price, CMOS/LSIintegrated circuits make it totally reliable inside. With the sensors behind a shield of polycarbonate -the mostrugged plastic ever developed—it is also durable and reliable outside.

The TASA Keyboard contains all the features you would expect in a professional keyboard—shift, shift lock,control functions, and a normal typewriter format.

If you're tired of costly mechanical keyboards and kits you have to assemble, bring your computer up to datethe easy way. Plug in a TASA Keyboard. It will never come between you and your computer.

the

Micro Proximity Keyboard

$49.

95

P«BdE

l3

The TASA Keyboard

Features:

□ 51 Keys, with entire 128 posi-tion ASCII code output.

□ All keys identified as to Un-shift, Shift and Control outputs.

D Full 8-bit ASCII output withselectable positive or nega-tive parity.

D Single power supply, 12.5 -20V unregulated.

□ Output TTL, DTL and CMOS-compatible.

□ Full solid state design with nomoving parts.

□ Standard PC edge connect-er.

□ Use on any flat surface, or with

□ Optional plastic supportstand (as shown)

Touch Activated Switch Arrays, Inc.2346 Walsh Avenue, Santa ClaraCalifornia 95050 (408) 247-2301

ADDRESS

CITY

STATE

ZIP

Enclosed is my check for $to cover:

_ TASA Keyboards@ $49.95— $.

Optional stands@ $12.00— $.

Shipping and handling

charge at $5.00

per keyboard— $

SUBTOTAL—$.

Sales Tax, 6%—$(California residents only)

TOTAL ENCLOSED $

9/78

Price subject to change without notice

Circle 363 on inquiry card.

XC10:

CALL

NEXTAD

RZ

MOV

CALL

LANEXTAD

JRZ

XC18

EXAF

MOVCMPJRNC

A,B

L

XC19

EXAF

XC15:

CMPRC

L

CALL

RZ

MOV

NEXTADLA

CALLJRNZ

NEXTADXC15

XC18:

EXAF

XC19:

MOVBITJRZNEG

A,B0,CXC20

XC20:

ADDMOV

EEA

EXAFRZMOVJMP

B,LXC10

NEXTAD:

INREXX

C

MOVMOVMOVXCHG

A,BB,CC,A

XRA

CMPJRZDCR

B

NX6

B

NX5:

INXCMPJRZRRD

HMNX5

NX6:

DCX

EXX

RET

The index is loaded into the IX indexregister and then the value of the piece un-der attack is loaded into the B register. Soregister B contains the number of points atstake in this attack.

Getting the value of the next attacker inregister A. NEXTAD also sets the zero flagif there are no more attackers.Return if no more attackers.Save the attackers value in the L register.Getting the value of the next defender inregister A, and setting the zero flag if nomore defenders.

If no defender, the piece is lost. Go chalk uppoints gained.

Save the defender by swapping AF and AF'registers.

Move the value of the attacked piece intothe A register to then compare its value tothat of the attacker. Branch to XC19 if thevalue of the attacker is not greater than thevalue of the piece, to chalk up points gainedand toggle.

To reach this point, the attacker must beworth more than the piece under attack. Soit is necessary to consider the value of thedefender. This instruction swaps A and A'again to restore the value.Compare the value of the defender to theattacker. If the defender is worth less, return.It will not be to the attacker's advantage tocontinue the exchange.Otherwise get the value of the next attacker.Return if none. If the defender is worth thesame or more than the attacker, the ex-change should continue, provided there isanother attacker available to recapture. Savethe new attacker's value in the L register.Then find out if there are any more de-fenders to contend with. If so, jump back toXC15 and repeat the process.The exchange is terminated. There are nomore defenders. The zero flag is set, so saveit by swapping AF and AF'.Get the value of the attacked piece.Test for attacker's or defender's side.Skip if on the attacker's side. Otherwisenegate the value of the attacked piece. (Onsuccessive iterations the value is alternatelyadded and subtracted.)Add the previous exchange residue to thenew points won or lost and store the resultas the new exchange residue.Restore the last defender and the zero flag.Return if there are no more defenders.The last attacker becomes the new defender.Move his value into the B register and returnto XC10 for another iteration.Increment side flag.

Swap registers BC, DE, HL for BC, DE',HL', getting the set that contains the at-tacker and defender counts.Swap attacker and defender counts.

Swap attacker's array pointers. The register

map is now as in table 3.

Zero the A register and compare it to the

attacker count. Go return if there are

none.

Otherwise decrement the count, since one

will be removed from the array.

Check the next byte of the attacker's array,

looking for an attacker.

If not in this byte, go check the next.

Otherwise rotate the attacker into the A

register. The rotate right digit (RRD) is the

reverse of the rotate left digit illustrated

in figure 2.

Decrement HL to back up the pointer. With

two attackers stored per byte, the routine

will return to the same byte to look for the

next one.

Swap registers BC, DE, HL and BC, DE'

and HL' back again.

Return.

November 1978 © BYTE Publications Inc

25

Figure 5: Potential problem arising from theauthor's evaluation scheme: White's Knightis attacking the Black King and Rook, forwhich White gains 3/4 of the Rook's value.The Knight is doomed to be captured byBlack's Queen, but subtracting the Knight'svalue from this number still gives White anillusion of material gain. The authorsavoided this problem by having the programcheck to see if the piece that has just movedis subject to capture.

board for a given position. In some of theattacks, the side which has completed amove will have lost points. In others theside about to move will be in danger oflosing material. As battles are evaluated oneby one, the highest points lost for the sidehaving moved is maintained. This valuerepresents the amount of material thisside stands to lose, and it is subtracteddirectly from the material score. Two scoresare maintained for the side about to move:the highest points lost, and the secondhighest points lost. Both values are saved,because it is assumed that this side willalways use its move to rescue its highestvalue piece. Then only 3/4 of the value isdeducted for the loss of the second highestpiece, since deducting the entire valuewould make attacks look as good as cap-tures (see the text box for an example ofthis procedure). Bonus points are given toeach side for additional battles won, but thisis still experimental and may not be needed.One problem that arose with this eval-uation scheme was the Knight's tendencyto engage in useless forks. In figure 5 we seeWhite's Knight attacking the enemy Kingand Rook, for which White gains 3/4 ofthe Rook's value. The Knight is of coursedoomed to be captured by the Queen and

The Quiet PrinterTelpar's 48-Column

PS-48E... $350.00

KEY FEATURES INCLUDE:

■ Microprocessor controlled

■ Versatile interface (no added charge)

Serial: RS-232C, 20 mil loop, or TTLParallel: TTL interactive

■ Upper/lower case, 96 ASCII characters

■ Throughput rate — 24 characters per second

■ Signalling rates

Serial mode: 110 or 300 BaudParallel mode: up to 960 cpsn Automatic carriage return and line feed

■ Thermal printing, no ribbons or ink

in quantities of 100Single quantity

$350.00$450.00

II _^ ^^ __ j _^ ^^ For more information contact Telpar, (214) 233-6631,

J^^P* 4132 Billy Mitchell Road, Box 796, Addison, Texas 75001.

^^■I^^^" 1 ■■ i^r. Telex: 73-7561 (Teleserve) DAL.

26 November 1978 © BYTE Publications Inc

Circle 372 on inquiry card.

ii

h

$249 (gets the entire family intocreating video games, graphicsand control ^functions.For starters.

%

m

-^l^w'

COSMAC VIP, the completelyassembled, ready-to-operate RCAVideo Interface Processor, opens up awhole new world of computer excitement. Newchallenges in graphics, games and controlfunctions. Yet it's just $249.00.

Easy to buy. And easy to program, thanks toits unique, easy-to-use interpretive language.You get a complete how-to book includingprograms for 20 games: fun, challenging, andready to load and record on your cassette.

Simple but powerful.

Built around an RCA COSMAC micropro-cessor, the VIP is a complete computer systemthat can grow with you. It has 2K of RAM, ex-pandable on-board to 4K. Plus a ROM monitor,audio tone output to a built-in speaker, powersupply, and 8-bit input and output ports forcontrol of relays, sensors, or other peripherals.

Circle 322 on inquiry card.

Soon RCA will offeroptions for color graphicsInd 256 tone sound generation,kn optional auxiliary keyboardan exciting world of two-playergames.

Take the first step now.Check your local computer store or elec-tronics distributor for the VIP. Or contact RCAVIP Marketing, New Holland Avenue, Lancaster,PA 17604. Phone (717) 291-5848.

'Suggested retail price. Does not include video monitor or cassette recorder.

The fun wayinto computers.

RC/1

BYTE Novembtr 1978

27

BLACK

WHITE

(SARGON)

Making an Immediate Capture MoreAttractive Than an Attack

In the diagram, the program (White) hastwo attractive moves: capture the Bishop,or move the Knight so that it simultaneouslyattacks the Black Rook and the secondBishop. The program assumes that in thelatter case Black will protect the Rook (themore valuable of the two pieces) by movingit away. The decision then reduces to one ofcapturing the first Bishop or simply attackingthe second Bishop. In order to insure thatthe capture takes place, the program assigns3/4 the normal value to the second Bishopso that the capture looks more attractive.The drawback to this technique is that itprecludes the possibility of intentionallyavoiding an immediate capture for strategicpurposes; this would require a much morecomplicated program, of course.

can never carry out its threat, but sub-tracting the Knight's value still gives Whitean illusion of material gain. Sargon avoidsthis problem by checking to see if the piecethat has just moved is subject to capture.If so, we assume that the side about to movecan escape both attacks. The attack withthe highest points lost is ignored completelyand the attack with the second highestpoints lost is moved up in its place.

Current Limitations and FutureDevelopments

The problem of the Knight fork as justdiscussed is only one of a whole set of diffi-culties. Pinned pieces, the overworked piece,discovered attacks and other motifs can alloccur dynamically during play of a boardposition, but are difficult to evaluate stati-cally. Attacks of this nature are second orderattacks and are not considered in the ex-change evaluator we described. There areeight possible second order attacks (seetable 4). The first group are the discoveredattacks and the second group are the trans-parent attacks. If all of the second orderattacks could be taken into account, theevaluation would be much improved. Cur-rently work is being done to accomplish this.Ultimately, of course, the entire boardshould be considered as a single complexbattle. How close to this ideal can staticevaluation progress? At what point doesstatic evaluation begin to take more timethan the look-ahead itself? Where will com-promises in the evaluation be least harmful?Currently in the field of computer chessthere is a tendency to downplay the impor-tance of look-ahead in future developments.Has look-ahead reached a dead end? Will itbe replaced by a Sargon-like exchangeanalysis? These are open questions."

Table 4: Second order at-tacks. This type of attack,including pinned pieces,overworked pieces, dis-covered attacks, and so on,is not considered in theexchange evaluator de-scribed in this article.

Group

Type

Description

DiscoveredAttacks

W1 -» B1

W2

W1 attacks B1. If B1 moves, W1 defends W2.

W1 -+ W2

kW3

W1 defends W2. If W2 moves, W1 defends W3.

wi^Tbi ""

"B2

W1 attacks B1. If B1 moves, W1 attacks B2.(PIN)

fcB1

W1 defends W2. If W2 moves, W1 attacks B1.

W1 -* W2

Transparencies

W1 -* B1 "^

W2

W1 attacks B1. B1 attacks W2. W1 defendsW2 through B1.

W1 -» W2 -»

'W3

W1 defends W2. W2 defends W3. W1 defendsW3 through W2.

W1 ^Tbi^?

B2

W1 attacks B1. B1 defends B2. W1 attacks82 through B1. (PIN)

W1 -♦ W2 -»

kB1

W1 defends W2. W2 attacks B1. W1 attacksB1 through W2.

28

November 1978 @ BYTE Publications Inc

North Star SystemsGo To Work

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

SOFTWARE IS THE KEYTO HORIZON MATURITY

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

EXPAND YOUR HORIZON

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

For more informa-tion, contact yourlocal computer store.

North * Star

Computers

2547 Ninth StreetBerkeley, California 94710(415)549-0858Circle 285 on inquiry card, byte November 1978 29

Considering a Microcomputer?

Be Sure to Check Out the Product Offerings of the World's LargestFull Line Microcomputer Company.

All Ohio Scientific machines come with microcomputing's fastest fullfeature BASIC-in-ROM or on-Disk for instant use.

MinimumConfiguration

BasePrice

4K RAM $ 279

4KRAM $ 34916KRAM $1190

4KRAM4KRAM

16KRAM16KRAM

598799

$1464$1738

32K RAM $2597

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 terminalC2-1 — Great timeshare user accessory; cuts costs

by running simple BASIC programs locallyC2-8S— Highly expandable serial machine, canadd disks, etc.

Challenger III The Ultimate in Small Computers

The unique three processor system for demanding business,education, research and industrial development applications.

C3-S1—World's most popular 8" floppy based 32 K 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.

4KRAM4KRAM

298498

4KRAM $ 545

I'm interested in OSI Computers. Send me information on:

□ Personal Computers □ Small Business Computers

□ Educational Systems □ Industrial Development SystemsD I'm enclosing $1.00 for your 64-page small computer buyer's guide.

Ohio residents add 4% tax.

Name

Address

City

State _

-Zip_

1333 S. Chiilicothe Road

Aurora, Ohio 44202

(216) 562-3101

Phone

If you Br* inlerailed in an ulormanca personal contputarlully axpandad to a nulnfram* classCAmput«f syslom, consider (he C2-B

TheC3-B

Hi

30

BYTE November 1978

Circle 290 on inquiry card.

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.

hi HU IIIIClUI l«czEt IIIHIIt

f inn* itti

41 IH

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 II $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.

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.

,-ORDER FORM . .

Order direct or from your local Ohio Scientific dealer.

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

n Send me a Superboard II $279 enclosed

□ Send me a Challenger 1P $349 enclosed

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

Name

AddressCity

.State,

-Zip_

Payment by: BAC (VISA) MasterCharge _

Credit Card Account #

Expires Interbank #(Master Charge)

Ohio Residents add 4% Sales Tax

TOTALCHARGEDORENCLOSED

Money Order

All orders shipped insured UPS unless otherwise requested FOB Aurora, OHI J

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

BYTE November 1978 31

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

■ 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 BASIC

Assembler Editor

Word Processor

OS-65D Development DOS

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

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.

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

32

BYTE November 1978

Circle 290 on inquiry card.

TheC3-B

by Ohio Scientific

The world's most powerful

microcomputer system

is far more affordable

than you may think:

STANDARD FEATURES:

74 million byte Winchester tech-nology disk drive yields mainframeclass file access speeds andcapacity.

High level data file softwaremakes high performance file struc-tures like multikey ISAM easy touse.

Triple processor CPU with6502A, 6800 and Z-80 gives the pro-grammer the best of all worlds inperformance and versatility.

The included 6502A based ex-tended disk BASIC by Microsoftout-benchmarks every microavailable, including 4 MHzZ-80 andLSI-11 with extended arithmetic.

48K of high reliability static RAMis standard.

High density 8" floppys provideprogram and data mobility frommachine to machine.

Completely integrated mechani-cal system with UL-recognizedpower supplies; continuous dutycycle cooling; modular construc-tion and rack slide mountedsubassemblies.

Based on a 16 slot Bus-orientedarchitecture with only 7 slots usedin the base machine.

Directly expandable to 300megabytes of disk, 768K of RAM in16 partitions, 16 communicationports, plus console and threeprinters.

C3-B's have been in productionsince February, 1978, and areavailable now on very reasonabledelivery schedules.

The C3-B was designed by OhioScientific as the state of art in

Circle 290 on inquiry card.

small business computing. Thesystem places its power where it'sneeded in the small businessenvironment; in the data files. TheC3-B's advanced Winchester tech-nology disk, coupled with its smartcontroller and dedicated highspeed memory channel, gives theC3-B data file performance com-parable with today's most powerfulmaxi-computers.

Yet, the C3-B costs only slightlymore than many floppy only com-puters but offers at least a thou-sand times performance improve-ment over such machines (50 timesstorage capacity multiplied by 20times access speed improvement).

But what if your business clientcannot justify starting with a C3-B?

Then start with Ohio Scientific's in-expensive C3-S1 floppy disk basedsystem running OS-65U. When he isready, add the CD-74 big disk anddirectly transfer programs and filesfrom floppy to big disk with NOmodifications.

That's upward expandability!

*Rack as shown above completewith 74 megabyte disk, dualfloppys, 48K of static RAM, OS-65Uoperating system and one CRT ter-minal under $13,000.

Multiple terminal systems withprinters and applications softwareare priced in the mid-20's.

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

BYTE November 1978 33

Functional

Approximations

Fred Ruckdeschel773 John Glenn BlvdWebster NY 14580

Many BASIC interpreters presently in usehave limited function calculation capability.Almost all interpreters larger than 4 K byteshave built-in routines for determining squareroots, logarithms and exponentials, as wellas some trigonometric functions like sineand cosine. Several interpreters also provideinverse trigonometric functions via thearctangent function.

However, many minicomputer and micro-computer systems do not have such software.Also, some of the newer microprocessorspresently do not have much support soft-ware. I have recently been developing soft-ware for use with the North Star Micro-Disksystem; specifically, working with NorthStar BASIC, version 6, release 2. The NorthStar software contains sine and cosine func-tions but no inverse trigonometric routines.This deficiency led to a cursory investigationof series approximations which very quicklyshowed that Taylor series expansions arenot generally optimum for computer use.

Taylor Series Expansion

In general, any real, continuous functionf(x) having defined derivatives may be ex-pressed as a polynomial expansion about a

reference pointrepresentation:

x0 with the longhand

f(x)= f(xo) + f0)(xo)(x-xo)f(2)(xo)(x-x0)2/2! + ..

(la)

Observe that f(n' (x0) is defined to be the/7th order derivative of f(x) evaluated atx equal to x0. The shorthand equivalent ofequation (la) is:

f(x) = E

n=0

f(n)

x-x,

)n/n!

or:

f(x) = lim fn(x)

(lb)

where:

0!S1

f(0)(xo)=f(xo)

Ux)3

E

m=0

f(m) (x0) (x-

7m!

Equation (1b) is in a form which is con-venient in terms of BASIC'S FOR-NEXTloop evaluation, which may account for itspopularity with computer programmers.

Many programmers who are faced withapproximating a function use a Taylor seriesexpansion along with a convergence testsuch as:

lfn(x)

■f„_i (x) Kfc

(2)

Presumably when the difference betweenthe approximation using n terms and thatusing n—1 terms is less than e, the accuracyof fn(x) in approximating f(x) is betterthan e. This assumption can be grossly inerror depending on the function beingevaluated. Slowly converging series oftenpresent problems in this respect.

The reasons for not indiscriminatelyusing equations (1) or (2) may be demon-strated by considering the sine and arctan-gent functions. The Taylor series expansionaround the zero reference point (knownas the MacLaurin series) for the sine func-tion is:

sin(x) = x-x3/3!+ x5/5!-. . . (3a)

sinlx

E

n=0

-1)n x<2n+1V(2n+i;

(3b)

If we apply equation (2) as the test foraccuracy, we have

x(2n+1)(2n+1)!

<e.

(4)

If x is one radian (approximately 57°) andthe required accuracy is 10"8, then equa-tion (4) indicates that seven terms are re-quired in the series for the specified ac-curacy. The test for residual may be donemore correctly in principle by noting thatthe series is uniformly convergent, havingterms alternating in sign. Thus the absoluteerror of the approximation is less than theabsolute value of the last term included.

34

November 1978©BYTE Publications Inc

Therefore we again conclude that seventerms are needed for 10~8 accuracy inapproximately calculating the sine of oneradian. In the case of alternating serieshaving terms which monotonically decreasein absolute value, equation (2) is applicable.

If, instead, we are interested in the sineof —1, the accuracy test would again callfor seven terms. However, this time, becausethe signs of the terms do not alternate, aratio test would have to be applied to cor-rectly examine the residual, yielding thesame result for the required number ofterms. In general, if the series is rapidlyconverging, equation (2) is an adequatetest for accuracy.

So far we have assumed that the com-puter is perfect in terms of roundoff error.In some eight decimal place accuracy inter-preters and compilers, the computer roundsoff to the eighth decimal place by consis-tently rounding down or up. Quite oftenthe direction is down, since this correspondsto simple truncation. In those cases the en-suing error in calculating n terms in a seriesexpansion is on the order of ± (n/2) X 1CP8.(If the software is sophisticated enough toround to the nearest value, the error be-comes \/n X 10~8 for eight bits.) For thesine expansion example given above, theexpected truncated series accuracy of 10~8

would be reduced to approximately 10~7because of roundoff error. It is shown inthe next section that a different series ex-pansion for sine can be used which containsonly five terms and which gives an error ofless than 10~8 before roundoff, along witha generally better answer when roundoff isconsidered.

So far the observation is that the errortest, equation (2), leads to a correct estimatefor the required number of terms in the caseof the Taylor series approximation for sine.There is an approximation in which onlyfive terms are sufficient, which is describedlater. These are not very exciting conclu-sions, largely because the Taylor seriesexpansion for sine in the first quadrant isvery rapidly convergent and thus quiteadequate. Another important function,arctangent, is not nearly as quickly conver-gent in some regions of its limited conver-gence interval. The MacLaurin series expan-sion for arctangent is

arctanlx

X —

x33

xs+—5

x77

+ . . .

oo

7)

(-

-1)n :

K(2n+1

l/(2n+1

n=0

-i<x<r

(5)

1 will aet vou 7

NOW, A TOTAL BUSINESS SOFTWARE PACKAGE OF SEVENPROGRAMS ON ONE FLOPPY DISC MAKES IT A SNAP.

Our TBS software package has been inuse for over a year now without asingle failure thereby earning theprivilege of joining our national prod-uct line. Written in a practical mannerfor the businessman who needs atotal accounting system rather thanbits and pieces. The Total BusinessSystem differs from other business soft-

ware offerings in that it is a Completepackage, fully interactive, with auto-matic updating for all files. Availableon floppy disk under Microsoft DiskBasic or CP/M the package requiresa minimum of 24K of free memory with256K of disk memory. We've taken thehard work out of business software formicro computers!

INCLUDES

Payables Payroll Fixed Assets Financial Reports

Receivables Inventory Check Register Etc.

Requires licensing agreement—Dealer discounts available.

O SCIENTIFIC RESEARCH

PO. Box 490099-BPhone orders call 800-327-6543

Key Biscayne, FL 33149Information - (305) 361-1153

November 1978©BYTE Publications Inc

35

This expansion has difficulty convergingnear x equal to positive or negative one.When x equals negative one the seriesdiverges, although a finite answer (jr/4)exists, whereas at x equal to one the seriesconverges very slowly to ir/4, or 45°. Onlythe region between 0° and 45° (0 and7r/4 radians) need be used for the expansion,since trigonometric identities exist for ex-tending the inversion to other regions (eg:arctan(x) = n/2 — arctan(1/x) for x > 0).The technique of range reduction for im-proving accuracy will be considered in a latersection.

Consider the use of equation (5) nearan x value of one. Using equation (2) todetermine the number of terms requiredfor 10-8 accuracy, we get a value of 5X107for n. Applying the alternating sign conver-gence test also leads to an n value of 5X107.In either case, this series expansion forarctangent is unusable. Even if the computerwere fast enough so that the approximationcould be calculated in an acceptable lengthof time, the ensuing roundoff error would beprohibitive. It is shown in the next sectionthat there exist other series expansionswhich are better than (in terms of relativeerror) 4X10-8 and which have only eightterms. The series presented are operableeither over the range 1 < | x | (note theequality sign) or over the range 0 < x < °°.

We observe that the error test, equation(2), would fail dismally for the Taylor seriesarctangent expansion near an x value of neg-ative one. The test would again predict thaton the order of 5 X TO-7 terms would be re-quired for 10~8 accuracy, while in actualitythe series diverged. In this case the Taylorseries expansion is not rapidly converging,thus leading to a failure in equation (2). Ingeneral, equation (2) is practical only if:

• The series has decreasing alternatingsign terms.

• The series has decreasing terms inwhich the absolute value of the ratioof neighboring terms is greater than10 for all pairs of terms past thetermination point. That is, if:

f(*) = E cnx",n=0

then beyond the termination point itis required that:

c x

n

Cn+1 X

n+1

=

cn

cn+1X

>10.

only for MacLaurin series expansions. ForTaylor series expansions, replace x with(x—x0). Observe that small values of (x—x )are very conducive to rapid convergence, butare not sufficient.

Approximate Series Expansions

Taylor series expansions have many niceproperties. However, one of their less de-sirable properties is that they are not the op-timal expansions for a given argument inter-val when a truncated series is to be used.This may be easily seen by a simple example.

Consider the single term approximationto sin(x) over the interval 0 < x < 7r/2 (seefigures 1 and 2). Although the accuracy ofapproximating the value of sin(x) with x isgood for small values of x, it leads to anerror of 0.57 at rr/2. If instead we wish tominimize the maximum absolute error over

\

1 1 " /

i•

I.I

f| (»)= x/

•

A—

.9

f (x)'sin(x)

7

// /

& /f2<x) = 0.73x

& s

.5

/ s

.1

/s

1

i i i

1

X/i

Figure 1: Single term approximations tosin(x) over the range 0 < x < rr/2. fj (x) isthe truncated MacLaurin series expansion;f2 (x) is the single term fit minimizing themaximum error.

sin{x)-x

sin(x)-0.73x

Observe that this latter restriction is valid

Figure 2: Graph of the errors due to singleterm approximations for the sine function.

36

November 1978©BYTE Publications Inc

Software for the Percom LFD-400

Disk Operating and File Management Systems

INDEX™: The most advanced Disk Operating and FileManagement System available for the 6800. INterruptDriven Executive operating system features file-and-device-independent, queue-buffered characterstream I/O. Linked-File disk architecture, with auto-matic file creation and allocation for ASCII and binaryfiles, supports sequential and semi-random accessdisk files. Multilevel file name directory includesname, extension, version, protection, and date. Re-quires 8K RAM at $AOOO. Diskette includes numer-ous utilities $99.95

MINIDOS-PLUSX: An easy to use DOS for the smallcomputing system. Supports up to 31 named files.Available on ROM or diskette complete with sourcelisting $39.95

Basic Interpreters and Compilers

SUPER BASIC: a 10K extended disk BASIC interpre-ter for the 6800. Faster than SWTP BASIC, 9-digitaccuracy, program CHAINing, BASE O subscripting,improved error reporting, disk data files, and printcolumn alignment. Program and data files may beprepared using one of the Text Editors described

below $49.95

BASIC BANDAID™: Turn SWTP 8K BASIC into a re-spectable random access data file disk BASIC. In-cludes many speed improvements and programCHAINing. When ordering, specify version (2.0, 2.2,

or 2.3). Complete with listing $17.95

STRUBAL'": A STRUctured BAsic Language Com-piler for the serious professional programmer. In-cludes elements of BASIC, PL/M, and assembly lan-guage. Features 10-digit floating point, strings, scien-tific functions, and 2-dimensional arrays. Requires16K RAM memory and LINKING LOADER (see below).Complete with RUN-TIME and FLOATING POINTpackages $99.95

Text Editors

EDIT68: Hemenway Associates powerful disk-basedtext editor. May be used to create programs and datafiles. In addition to SEARCH, CHANGE, DELETE, andMOVE functions, EDIT68 supports MACROs whichperform complex repetitive editing functions effi-ciently. Runs in only 6K RAM. "Spooling" permits textfiles much larger than the available RAM memory to be

created and edited $29.95

TOUCHUP™: If you already have the TSC Text Editor,TOUCHUP will convert it into a disk-based text editor.ROLL function permits text files much larger than theavailable RAM memory to be created and edited.TOUCHUP is supplied on diskette complete withsource listing $17.95

ASSEMBLERS

PERCOM 6800 SYMBOLIC ASSEMBLER: Requiresonly 8K of RAM memory to assemble programs with200 labels. More convenient to use than most as-semblers; assembly options may be specified at time

of assembly. $29.95

Complete listing of above assembler $29.95

MACRO-RELOCATING ASSEMBLER: This Hemen-way Associates assembler is for the programmingprofessional. Generates relocatable and linkable^ ob-ject code. MACRO facility permits nested macrocalls. Permits conditional assembly. Requires 16K

RAM $49.95

LINKING LOADER for STRUBAL and the above as-sembler $19.95

Business Applications

GENERAL LEDGER SYSTEM $199.95

FULL-FUNCTION MAILING LIST $ 99.95

Write or call for our complete software catalog.

PERCOM DATA COMPANY, INC.

Dept BP • 318 Barnes • Garland TX 75042

(214)272-3421

Circle 301 on inquiry card.

SWTP 6800 Computer...

The LFD-400 is ready to plug in and run

the moment you receive it.

Nothing else to buy! Not even extra memory!

YOU GET:

O The popular Shugart SA 400 minifloppy™ drive. Drive alignment

is double checked by PerCom before shipment.0 The drive power supply—fully assembled and tested.© LFD-400 Controller/Interface—plugs into the SS-50 bus. •

accommodates three 2708 EPROMs • fully assembled and tested.O MINIDOS™ —the remarkable LFD-400 disk operating system on

a 2708 EPROM • plugs into the LFD-400 Controller card • no

extra memory required • no "booting" needed.© Attractive metal enclosure.

O Interconnecting cable—fully assembled and tested.0 Two diskettes—one blank, the other containing numerous

software routines including patches for SWTP 8K BASIC and the

TSC Editor/Assembler.O 70-page instruction manual—includes operating instructions,

schematics, service procedures, and the complete listing of

MINIDOS™.© Technical Memo updates—helpful hints which supplement the

manual instructions.® 90-day limited warranty.

Minifloppy is a trademark of Shugart AssociatesMINIDOS is a trademark of PERCOM Data Company, Inc.

The LFD-400 is readily expanded to either two or three drives.Write for details. Send for our free brochure for more informa-tion about the LFD-400 Floppy Disk System and LFD-400software.

To save you money, the LFD-400 Floppy Disk System is availableonly from PerCom. Because of the special pricing, group anddealer discounts are not available.

MC and VISA welcome COD orders require 30% deposit plus 5% handling charge Allow threeextra weeks if payment is by personal check. The LFD-400 Floppy Disk System is availableimmediately. Allow three weeks for testing and transportation. Texas residents add 5%

PEFCOM

PERCOM DATA COMPANY, INC.

Dept B 318 BARNES• GARLAND, TX. 75042(214) 272-3421

PERCOM™ 'peripherals for personal computing

1

vting'

BYTE November 1978 37

Term

(11

;i3

MacLaurin Coefficients

1.000000000.166666670.000833333330.000198412702.755732 x 102.5052109 x 10"1.6059045 x 10"

Optimal Coefficients

+

1.00000000

—

0.41123328

+

0.050732026

—

0.0029754116

8

+

0.000096437832

10

Table I: Coefficients for the MacLaurin and optima/ series expansions forsin(x). The optimized interval is —it/2 < x < ir/2. In this interval, the optimal(relative error) series is accurate to better than 5X10~9 when more accuratecoefficients are used.

that interval, then approximating sin(x) by0.73x is better. The maximum absolute erroris in this case less than 0.15, with two errormaxima.

If our criterion is to minimize the relativeerror (percent deviation), the MacLaurinseries single term truncation leads to 57 per-cent error at 7r/2, while the previous mini-mized (relative to maximum absolute error)approximation is off by less than 27 percent,with the maximum relative error occurringat zero. The maximum relative error can befurther reduced to about 22 percent byusing 0.78x as the approximation for sin(x).The maximum relative errors in this caseoccur at x values of 0 and w/2. This series isconsidered to be the minimax or optimalseries expansion for sin(x) over the range—7r/2 < x < 7r/2, given that one term isallowed.

The above example illustrates the factthat either by the criterion of absolute erroror the criterion of relative error, the trun-cated MacLaurin series for the sine functionis not optimal for approximation. Also ob-serve that the coefficient (0.73 for absoluteerror or 0.78 for relative error) in the op-timal approximation is dependent on theinterval chosen. The more the interval is re-stricted to that region surrounding zero, thecloser the coefficient is to unity. In general,the more the interval is restricted to theregion immediately surrounding the Taylor

Term

MacLaurin Coefficients

Optimal Coefficients

x_

+ 1.00000000

+ 0.99999933

X*

- 0.33333333

- 0.33329856

X7

+ 0.20000000

+ 0.19946536

XQ

- 0.1428571

- 0.13908534

X1!

+ 0.11111111

+ 0.096420044

X11

Y13

X15

- 0.090909090

- 0.055909886

+ 0.07692308

+ 0.021861229

- 0.066666667

- 0.0040540580

Table 2: Coefficients for the MacLaurin and optimal series expansions for thearctangent. Accuracy (relative error) is better than 4 X 10s. The interval ofconvergence for the MacLaurin series is —I < x < 7. The interval of conver-gence for the optimal series is —1 < x < /.

series expansion point, the more the co-efficients in the optimal series approximatethose of the Taylor series expansion. Thisis because the highest convergence rateoccurs near the expansion point, and it ishard to do better than that.

Continuing with the sine example, table 1shows the series coefficients that would beused in the MacLaurin and optimal series ex-pansions to give a desired accuracy (ex-cluding roundoff) of approximately 10~8.Observe that because the relative erroris the criterion, the first coefficient in theoptimal series is the same (to eight places)as that in the MacLaurin series. This is re-quired because for very small x, sin(x) isapproximately equal to x. Note, however,that all the other coefficients are drasticallydifferent, though the signs of the coeffi-cients are preserved. The sign preservationis expected from a consideration of thederivatives.

A corresponding series expansion compar-ison for the arctangent is shown in table 2.Observe that about 107 terms are required inthe MacLaurin series for x equal to 1 to givethe same order of accuracy as the optimalseries evaluated at that point. The situationfor the MacLaurin series is even worse in thevicinity of negative one.

It is interesting to note that in the seriesexpansion comparison shown in table 2the signs of the coefficients are conserved,and the coefficients themselves bear somesemblance to one another up to the fifthterm. After that the coefficients look quitedifferent.

Variations

The optimal series coefficients given intable 2 for the arctangent approximationwere stipulated to be optimal over the in-terval -1 < x < 1. This restricts us to theangular range of ±45"about 0° (±/r/4 radiansaround 0 radians). A trigonometric identitywas given earlier which allowed continuationthrough 90° (7t/2 radians). However, thisextra range changing step is not necessary,since another series expansion exists which isoptimized over the interval 0 < x < °°.However, it does not have a simple xn de-pendence:

7 /x-l\(2n+1)

arctan(x) = 7r/4+]T Cf-^-j

n=0

(6)

This series is interesting in that it uses thesame coefficients as given in table 2, and alsogives the same order of relative accuracy. Toexecute this series on a computer one needonly define x to be (x—1)/(x+1) and proceedas before.

38

November 1978 © BYTE Publications Inc

Powerful Software

with Extended Documentation offered by

PRS—

THE PROGRAM OF THE MONTH CORPORATION

UNVEILS COMPREHENSIVE CONCEPT

IN SOFTWARE PRESENTATION

UNIQUE DOCUMENTATION

Unique documentation gives you clear, complete and in-structive text in a graphically appealing manual. This doc-umentation doesn't only provide step by step "how to" butalso is geared to help you to understand hardware-softwareinteractions, and to promote further applications.

POWERFUL CODE

Whether it be for games, applications (home and business),or sophisticated programming tools and monitors, PRSpermeates the design of its unique code with "humanengineering." And you'll appreciate the delicate balancebetween machine-human dialogue and resident program-space in memory.

BEAUTIFUL CASSETTE-FOLDER

PRS packages your manual and cassette in an elegant anddurable gold-stamped folder.

AN ARRAY OF PROGRAMSARE AT YOUR FINGERTIPS

PRS presently offers two S-100 compatible programpackages: "MICROFILE," a DATA FILE MANAGEMENT

program, and "DDS II," the famous DYNAMIC DEBUG-GING SYSTEM. Also, an Extensive Function Plotter(A2FP) is available for the Apple II. New programs will bereleased at regular intervals.

YOU'LL DISCOVER EXTENSIVEPROGRAM CAPABILITIES

DATA FILE MANAGE-

With "MICROFILE," a newMENT program, you can:

• Manage any list of items

• Edit information already on file

• Sort items alphanumerically upwards or downwards

• Search by primary and/or secondary keys (labels)

• List and print selected or all items

• Total sums of columns

• Justify right or left margins of each column

• Save and retrieve data with mass storage media

PROGRAM APPLICATIONEXPANDS YOUR COMPUTER USAGE

For example, "MICROFILE" manages: Home inventory •Listing of musical tapes • Calendar of activities • Vacationitineraries • Checks by categories • Home-upkeep ticklerriles • Family historical dates • Health records.

PRS SUPPORTS YOUR MAJOR BRANDS

APPLE,SOL, SORCERER, TRS-80, and other sys-tems with Z-80, 8080 and 6502 processors.

VISIT YOUR NEAREST DEALER TODAY

Let him demonstrate the excellenceof PRS programs.

r

ii

i

Or write for the name of a dealerin your area to:

PRS-THE PROGRAM OF THE MONTH *CORPORATION *

257 Central Park West, New York, N.Y 10024 ^(

Circle 309 on inquiry card.

New Product Releases From

PRS THE PROGRAM OF THE MONTH CORPORATION

257 CENTRAL PARK WESTNEW YORK. N.Y. 10024

Gentlemen:

~\ Please place my name on your priority mailing list to receive yourdescriptive advance releases off all new programs developed by -PRS-at regular intervals.

J Please send me a list of dealers in my area.

Name-

Corporation^

Address..

City.

.State...

_Zip

REFERENCE: <*B8

BYTE November 1978 39

(a)

(b)

(c)

Form:

Form:

Form:

4

6

6

(-4)

Log10 X

=

n=0

10x = 1 +

n=1

en*"

e-x i

Z

n=0

C xn

n

*•

-J

Coefficients:

Coefficient:

where y

=

(x-Vio)/(xVio)

C1

=

1.15128759

c0 -

1.00000000

Coefficients:

C2

=

0.66284315

c1 "

0.24999868

co

■

0.86859172

C3

=

0.25360332

C2 "

0.031257583

c1

=

0.28933552

C4

■

0.075467547

C3 "

0.0025913712

C2

=

0.17752207

C5

■

0.013420940

C4 =

0.0001715620

C3

=

0.094376476

C6

■

0.005654902

C* =

0.0000054302

C4

=

0.19133771

5

C6 "

0.0000006906

Table 3: Several minimax polynomial expansions. Table 3a is for the case ofthe base 10 logarithm function. This expansion is applicable over the range1 < x < 10 with a relative error of better than 1.5 X 10~ 7. Table 3b is theinverse of the base 10 logarithm function. The applicable range is 0 <=x < 7with .a relative error of better than 1.5 X 10~7. Table 3c is the expansion forthe negative powers of e. This expansion is applicable over the range0 < x < °° with a relative accuracy of better than 3 X 70~ 7.

Form:

cos(x) =

1 +

A1

x2 + A2 x4 + A3 x6

1 +

B1

x2 + B x4 + B X62 3

Coefficients:

A1

=

- 0.47059579

A2

=

0.027388290

A3

=

- 0.00037234227

B!

=

0.029404212

B2

=

0.00042372881

B3

=

0.000003235543

Table 4: Rational polynomial approximation for cosine which is applicableover the range —1 < x < 7. The maximum relative error over this range isbetter than 10~s.

erf(x) = 1

erfc(x)

1X3

1X3X5<2x2)3

2x

1X3X5X7<2x2)4

Hasting's book Approximations forDigital Computers (see references) presentsseveral such optimal expansions, three ofwhich are presented in table 3. Some alter-ations have been made to put this infor-mation into a form readily usable withtypical microcomputer software.

Polynomial expansions are not the onlyforms useful for function approximations.Another important type is the rationalpolynomial. Table 4 shows a rational poly-nomial approximation for cos(x). Therational polynomial approximation to thecosine is slightly more accurate than theminimax approximation given earlier for thesine. However, the argument range of thiscosine approximation is inconvenientlyrestricted. In cases such as this it is theuser's choice as to which approximation toapply.

There is a class of series expansions inwhich an improved approximation is not in-sured by including more terms. This classof series approximations is called asymptotic.An example of such a series is shown in table5 for the error function. The reason thisseries approximation has problems when toomany terms are included may be seen byexamining the ratio of a general pair ofterms:

fn + 1-fn

fn "fn-1

2n-1

(7)

Table 5: An asymptotic series approximation to the error function. Rangeand accuracy are dependent on the smallest term in the series (before it di-verges). The series is truncated at the smallest term, which represents theerror. Including more terms increases the error.

It is apparent that one can always go outfar enough in the series expansion to finda value of n such that R is greater than 1.It is also possible that if we define a suffi-

40

November 1978 © BYTE Publications Inc

The perfect digital plotter

for the personal

computing enthusiast

Small in size, big in performance...and priced at only $1085*

HI PL0T™ is a digital plotter designed forthe personal computer market. Inexpensiveto own and simple to operate, it still incor-porates the same quality components,technology and skillful workmanship foundin Houston Instrument's larger plotters usedthroughout industry.

Not a kit, the HI PL0T™ is assembled andready to use, with both a RS-232C and aparallel interface built in for creating graphicoutput from your system.

* U.S. Domestic Price Only

• Displays data in easy-to-read graphicalformat

• Both serial and parallel inputs built-in

• Uses standard 81/2"x 11" paper

• Plotting speed up to 2.4 ips

• Resolution of both 0.01 and 0.005 inch

• Baud rate and step size easily changed

Houston

instrument

ONE HOUSTON SQUARE(512) 837-2820

DIVISION OF UAUSCM LOMB V

AUSTIN, TEXAS 78753TWX 910-874-2022

- ■ .I.., ',,,-,. Rochesterlaan 6 8240 Uisiel Belgium

EUROPEAN HEADQUARTERS „,„„, 069/277445 Tale, B.usch 81399

For rush literature requests or local sales office information only, persons outside Texas call toll free 1-800-531-5205Circle 173 on inquiry card. byrt November 1978

41

'n+1

VO

2 (yn " x/*n)

n » 0, 1, 2

0.154116 + 1.893872 X1 + 1.047988 X

Table 6: Iterative technique for determining the square toot of x. The ac-cepted range is from zero to infinity. The y0 term is an approximation forthe starting value over the interval 1/16 < x < I. The y0 relative error isbetter than 0.025.

'n+1

n = 0, 1,2,

Table 7: Iteration technique for determining the cubic root of x over therange zero to infinity. The y0 term is the same as that used for the squareroot.

ciently small error limit, e, for use in theaccuracy test, equation (2), the computermay never find a condition satisfying thatrelation. In such a situation the computermay continue the calculation of terms untilan overflow occurs. A way to avoid thisproblem is to also test whether or not theminimum term (smallest in absolute value)has been passed, and if so, slop the calcula-tion on that term. The accuracy of the thustruncated series is approximated by thevalue of that last term.

Quite often the series or rational poly-nomial approximation approach may be sur-passed in accuracy and possibly speed by aniterative technique. In fact, such iterativetechniques can often also be put in a form in

"n+1

m = 2, 3, 4 . .n = 0, 1, 2, 3 .

Table 8: Iteration technique for determining the mth root of x. In this case,x is allowed to vary from zero to infinity. The convergence of this formula isquadratic.

Define:

Iterate:

a0 = U+x2r1/2

an+1 " T(3n + bn»

n+1

Van+1 + °r

Convergence Test: compare a and b (they approach one another)

x

Final Calculation: arctan(x)

Va b (1+x2)

Table 9: Gauss iteration technique for approximating the arctangent func-tion. This formula has been modified from a formula in the book Numeri-cal Methods That Work (see references) to improve the accuracy in the finalcalculation. The variable an has been replaced by the expression \fa~b^.

which roundoff error has a minimal impacton final accuracy.

Tables 6 and 7 show iterative approxi-mations to f(x)=Vx and f(x) = 3\/x! Theseforms were derived from the Newtonmethod for finding the zeroes of functions(see reference 2). The relations have beenalgebraically written such that the previousapproximation in the iteration is improvedupon by the subtraction of a correction term(which may be either positive or negative).Convergence is generally very good and canbe significantly improved upon by using apredictor for the correction, though theprice paid is a more complicated routine.The reader is referred to standard texts onnumerical methods for descriptions of pre-dictor-corrector techniques.

Table 8 gives a general iterative formulafor determining the mth root of any non-negative real number. Although it is poten-tially more accurate than using the logarithm-anti logarithm approximation routines, itsuffers from speed limitations for largevalues of m, since many multiplicationsmay be required (what would one do with

.1/137-

)•

As a final but very important example ofan iterative approximation to a commonfunction, arctangent, see table 9. This tech-nique is due to Gauss and is a sure way toobtain accuiacy limited only by the numberof digits carried by your software; there isno cumulative roundoff error. Note thatimplementation of this method requiresthe use of a square root function, which wecan have as another subroutine. Althoughthe author has no literature information re-garding the convergence of this iteration,the form looks fast in convergence butslow in calculation.

For example, listing 1 shows sample runsfor x = 0.1, 1, 100 and 1030. It seems thatonly 12 iterations maximum are requiredto attain a relative accuracy of 10-7.However, the execution time for the BASICprogram shown runs between 3 (x = 0.1) and4 (x - 1030) seconds, which is not veryfast. Use of the optimal series, shownin table 2, cuts the execution time down to90 ms with the same level of accuracy.However, a numerical overflow occurswhen x = 10. The conclusion is that for10 relative accuracy, the optimal seriesapproximation is preferred over the iter-ation technique since it is about 40 timesfaster in execution. There is probably somehidden physical law which states that theelegance versus execution time product isa constant.

Some of the approximations we havediscussed are not applicable over the entirepossible range of arguments. The approx-

42 November 1978 © BYTE Publication! Inc

Now,

you can play

SCELBI'snew andimproved

GALAXYon your

8080

Then,

you could play

SCELBI's

GALAXY

on your 6800 ..

f

I

f

IS 1

First,

you could play

SCELBI's

GALAXY

on your 8008 ..

ilU

\J

M

mLQ

w

%

Captain your own starship onintergallactic journeys. It's anever-changing adventure withbattles, refueling problems,weaponry, warp factors — andmore!

You can elect a display formatthat permits all data to be dis-played on a 32-character per linedevice. It's great for TV type-writers too. There's even a dis-play option for TTY and full widthCRTs.

Here's your chance to match witsagainst the logic of your 8080.Search and destroy a randomnumber of alien ships. But don'trun out of time, out of fuel, out ofammunition or out of the galaxy.Plan your missions through 64quadrants subdivided into 64sectors. It's great fun that goeson for months and months. Amultidimensional computergame. Listing uses manufac-turer's recommended mne-monics. Manual includes assem-bled source listing in hexadeci-mal notation. Octal dump alsoprovided. Resides in just 4K ofmemory. Manual includes flowcharts, illustrations and lotsmore. It's easy to use and itmakes sense!

Gef your copy today! SCELBI's8080 GALAXY Game. Only $9,95for manual of source and objectcode listings. See it at yourfavorite computer/electronicsdealer. Or order direct from SCELBI.

Scelbi Publications

P.O. Box 133 PP STNMilford, CT 06460(203) 874-1573

a division of Scelbi Computer Consulting, Inc.

Mail order: Optional punched tape of objectcode in hexadecimal format, $5 additional.All prices shown for North American cus-tomers. Master Charge, VISA, Postal and BankMoney Orders preferred. Personal checksdelay shipping up to 4 weeks. Pricing andavailability subject to change without notice.

IMPORTANT: Include 75« postage/handlingfor each book delivered by U.S. Mail BookRate or $2 for each book shipped FirstClass or via UPS.

BYTE November 1978

43

imations requiring range reduction are:

Function

sin(x)

log10(x)10x

Range

(-7r/2<x«7r/2)(1<x<10)(0<x**1)

Table 10 outlines techniques that might beused in reducing the range to that requiredby the approximation.

Conclusions

Several approximation methods havebeen presented for use in software systemslacking particular function subroutines.These methods may be implemented ineither machine language or in a higher ievellanguage. It is likely that the majority ofreaders will use the resulting subroutines in aBASIC interpreter uniess they have an as-sembler with macroinstructions for multi-plication and division, or something equiv-alent (such as floating point multiplicationand division hardware).

The particular approximations givenabove can be used to evaluate many otherfunctions by using identity or recursion rela-tions. In cases where such relations do notexist, it may be possible to use statisticalsoftware packages on larger computers tofind adequate functional approximations foruse in microcomputers. For example, onemight take a polynomial having coefficientsto be determined and regress the coefficientsagainst handbook tables representing thedesired function. With some ingenuity intransforming variables, such as:

f(x) - E an yn (x)

yx

n=0x-1x + 1

It may be possible to obtain very accurateexpansions having only a few terms. Forexample, if the function to be approximatedgoes to infinity at x = 0 and to zero atx = a, a transformation one might try isy(x) = (x — a)/x. Those electrical engineersfamiliar with pole analysis would probablybe somewhat at ease with forming such ex-pressions. However, these same peoplewould probably have little experience withthe available statistics routines.

The general conclusion is that relativelyfast executing expansions exist for func-tional approximations. They tend not to betruncated Taylor series, but rather special(and sometimes ingenious) forms whose co-efficients depend on the number of terms

to be used as well as the argument intervaldesired. The minimax polynomials andrational polynomials are powerful examplesof such approximations, and should beconsidered for use on small systems. Elegantiteration routines may also be very powerful,but there are situations, such as the nth rootiterative technique (see table 8), and the

10

REM ••♦ARCTAN(X) VIA GAUSS.**

20

DIM A(20),B(20)

30

INPUT X

40

A(1)=1/SQRT(1+X*X)

50

B(1)=1

60

N=0

70

E=.0 000001

80

I\I=N+1

90

A(N+1)=(A(N)+B(N))/2

100

B(N+1)=SQRT(A(N+1).B(N))

110

T=X*A(1)/SQRT<A(N+1)»B(N+1))

120

PRINT N," ",T

130

D=(A(N+1)-B(N+1))/B(N+1)

140

IF ABS(D)>E THEN GOTO 80

?.11

9.9689307E-02

2

9.9673813E-02

3

9.9669946E-02

4

9.9668978E-02

5

9.9668736 E-02

6

9.9668677E-02

7

9.9668662 E-02

8

9.9668659E-02

?1

1

.79627295

2

.78796829

3

.78603187

4

.78555605

5

.7854376

6

.78540801

7

.78540062

8

.78539879

9

.78539831

10

.78539817

11

.78539813

7100

1

1.6692059

2

1.582113

3

1.5658381

4

1.5620399

5

1.5611064

6

1.560874

7

1.560816

8

1.5608014

9

1.5607978

10

1.5607969

11

1.5607967

12

1.5607966

71E30

1

1.6817928

2

1.592546

3

1.5759366

4

1.5720637

5

1.5711121

6

1.5708751

7

1.5708159

8

1.5708012

9

1.5707975

10

1.5707966

11

1.5707963

12

1.5707962

Listing 1: The arctangent approximationshown in table 9 implemented in BASIC.Four sample runs are shown.

44

Novemcer 1978©BYTE Publication! Inc

■ HI^P^I MicroPro International Corporation

m

I MicroPro

MicroProInternationalCorporation

TM

profession

proudly announces

SUPER-SORT®

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 TAGSORT 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

Circle 224 on inquiry card.

BYTE Nommbtr 197S

sin (x) (- rr/2 < x < rr/2)

• Reduce ranqe to first four quadrants:

y = x - (INT (x/27T) X 2n)(Note: It is assumed that the integer function returns next lower integerfor positive and negative numbers.)

• If |x| > tt/2, then y = y — ?r and desired result is (— sin (y)): otherwise thedesired result is sin(y).

Iog10(x)

(1 <x< 10)

10x

Find range reduction factor (characteristic of logarithm): Divide (ormultiply) by 10, I times until result is in range.Reduce range:

y = x/101Desired result is:

log-io (*> = I +logio <v)

Note: I may be negative.

(0<x< 1)

Determine power of 10:

I = INT(x)Reduce range:

y » x — IResult

10x = 10* X 10'

Table 10: Range reduction methods for the approximations we have consid-ered so far.

Gauss technique (see table 9), in which theapproach has intrinsically greater accuracy,but the execution time of the subroutineis prohibitive.

Function approximation is a creativeart; I hope readers will try some of thetechniques described herein."

REFERENCES

1. Hastings, C, Approximations for Digital Com-puters, Princeton University Press, PrincetonNJ, 1955.

2. Fike, C T, Computer Evaluation of Mathemat-ical Functions, Prentice-Hall Inc. EnglewoodCliffs NJ. 1968.

3. Weast, R C, Handbook of Tables for Mathe-matics, Chemiral Rubber Co, Cleveland OH,1967.

4. Smith, J M, Scientific Analysis on the PocketCalculator, John Wiley and Sons, New York,1975.

5. Acton, F S, Numerical Methods That Work,Harper and Row, New York, 1970.

6. Abramowitz, M, and Stegun, A, Handbookof Mathematical Functions, Dover, New York,1964.

What it means to you.

dig-i*kit*izer/dij«e'kit«izer/ n: (1): a high-value low-cost computer graphic input devicedesigned to be assembled by the user (2): themost advanced graphics tablet in kit form (3):An instrument that, when assembled, allowsthe user innumerable methods of design andanalysis functions (4): Thelatest addition to the most /■ ,i . . ^

extensive, accurate and \l m M ill m

reliable line of digitizers,by Talos -. m m -^

449.

PUWui

No adjustments. No calibration.

OPTIONS

• APPLE Interface

• IMSAI Interface (Nov. 78)

• TRS-80 Interface (Dec. 78)

• RS 232

by*.—■

• Power Supply

• IC Sockets

-> Unit Enclosure

tialos

46

November 1978 © BYTE Publications Inc

Circle 359 on inquiry card.

GOfllPUTER 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 -

operation.

as most programs allow for multiple modes of

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

Comprehensive - as an example our PSD program not onlycomputes Power Spectral Densities but also includes FFTs,Inverse-transforms, Windowing, Sliding Windows, simulta-neous FFTs variable data sizes, etc. and as a last word oursoftware is:

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

• Virtually Machine Independent - these programs are writ-ten in a subset of Dartmouth Basic but are not oriented for anyone particular system. Just in case your Basic might not useone of our functions we have included an appendix in Vol-ume V which gives conversion algorithms for 19 differentBasic's; 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.

Vol. I

Vol. II

Business &PersonalBookkeepingPrograms

Bond

Building

Compound

Cyclic

Decision 1

Decision 2

Depreciation

Efficient

Flow

Installment

Interest

Investments

Mortgage

Optimize

Order

Pert Tree

Rate

Return 1

Return 2

Schedule 1

Games &

Pictures

Animals Four

Astronaut

Bagel

Bio Cycle

Cannons

Checkers

Craps

Dogfight

Gcfl

Judy

Line Up

Pony

Roulette

Sky Diver

Tank

Teoch Me

Pictures

A. Newman

J.F.K.

Linus

Ms. Santa

Nixon

Noel Noel

Nude

Peace

Policeman

Santa's Sleigh

Snoopy

Virgin

Binomial

Chl-Sq.

Coeft

Conlldence 1

Confidence 2

Correlations

Curve

Differences

Dual Plot

Exp-Dlstri

Least Sauares

Paired

Plot

Plotpts

Polynomial Fit

Regression

Stall

Stat 2

T-Dlstri button

Unpaired

Variance 1

Variance 2

XY

APPENDIX A

Beam

Conv

Filter

Fit

Integration 1

Integration 2

Intensity

Lola

Macro

Max. Mln.

Navald

Optical

Planet

PSD

Randl

Rand 2

Solve

Sphere Trlon

Stars

Track

Triangle

variable

vector

Vol. Ill

Billing

Inventory

Payroll

Risk

Schedule 2

Shipping

Stocks

Switch

Vol. IVBingo

Bonds

Bull

Enterprise

Football

Fundst

Funds 2

Go-Moku

Jack

Lite

Loans

Mazes

Poker

Popul

Profits

Cubic

Rates

Retire

Savings

SBA

TIc-Tac-foe

Vol. VAndy Cap

Baseball

Compare

ContldtO

Descrip

Differ

Engine

Fourier

Horee

Integers

Logic

Playboy

Primes

Probal

Ouadrac

Red Baron

Regression 2

Road Runner

Roulette

Santa

Stat 10

Statu

Steel

Top

Vary

Xmas

APPENDIX B

Vol. VILedger

Vol. VII

Chess

Maintains Company accounts and generatesfinancial reports Includes routines for: Pyri. InvDepr. A/R, A/R

Designed to challenge the average playerfairly comprehensive. Great fun for all, offers aunique opportunity for beginners In need of anopponent.

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

Wdproc Wordprocesslng tor lawyers, publishers, writers,etc. Write, store, and change from rough draftto llnal copy In a variety of formats.

Utility Disk utility program with memory testing.

Vol. VIII1040-Tax

Balance

Checkbook

lnst1o78

Taxpayers return. Itemized deductions orstandard

Reconciles bank statements

Balances your checkbook

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

Deprec 2 Computes depreciation, 4 methods, any timeperiod

APPENDIX C - FAVORITE PROGRAM CONVERSIONS

Vol. I - $24.95BookkeepingGamesPictures

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

Vol. Ill - $39.95Advanced BusinessBilling, InventoryInvestmentsPayroll

Vol. IV - $995General Purpose

Vol. V - $9.95Experimenter's Program

vol VI - $49.95Mini-Ledger

Vol. VII - $39.95

Professional

Programs

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Amertcard accepted.

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

Vol. VIII - $19.95

Homeowner's

Programs

Add $1.50 per volume handling, all domestic shipments sent U.PS. except APOand PO Box which go parcel post. Foreign orders add $8 00/votume for airshipment and moke payable In U.S. dollais only

<2> SCIENTIFIC RESEARCH

PO. Box 490099-BPhonp orders call 800-327-6543

Key Biscayne, FL 33149Information - (305) 361-H53

BYTE November 1978 47

The Sky's the Limit

Use Ham Radio Bands for Intercomputer Communication

(a)

Figure 1: Difficulties in radio communications. Figure la shows that if thereis a hill between two local stations, it is not possible for them to communi-cate by means of VHF. If a repeater station is positioned at the top of the hillas in figure lb, communication becomes possible.

Original painting by Mike Smithwick

Joe Kasser11532 Stewart LnSilver Spring MD 20904

Introduction

This article outlines how intercomputercommunication networks can be set upusing existing amateur radioteletypewriter(RTTY) networks, without requiring thecomputer user to have an amateur radiolicense. Using modified radio messagehandling codes, a communications lan-guage is developed that allows messageforwarding, file transfers for batchprocessing, and interactive use of a centralcomputer. In all cases compatibility hasbeen established between simple systemsand complex ones such that the networkcan be accessed by terminals as well ascomputers. Finally, the network conceptis merged with space age technology to out-line how a worldwide personal computingcommunications network can be establishedwith minimal message routing informationrequirements, using the AMSAT Phase IIand Phase III amateur radio communica-tions satellites.

While discussing intercomputer communi-cations, let us consider that which existsnow and that which is soon going to exist.The communications system should be setup so that one can use the network with aminimum investment in equipment. As thesystem becomes more sophisticated, so willthe system capability.

Amateur Communications Network

The closest thing to computer communi-

48 November 1978 © BYTE Publications Inc

cations in the hobby area is amateur radio-teletypewriter communications. Hams havebeen using radioteletypewriters for manyyears and have developed equipment andtechniques that are of interest to the com-puter experimenter. Radioteletypewritersare used by amateurs in two different ways:

• Long distance contacts via shortwave.

• Local area contacts on very highfrequencies (VHF).

Shortwave communication paths are af-fected by many things including propagationconditions and interference from atmosphericor man-made signals (called noise). VHFcommunications paths are, for all practicalpurposes, unaffected by propagation con-ditions and can be made immune to noise.

In the United States much of the VHFradioteletypewriter operation is by means ofrepeaters. VHF communication paths arcrelatively short range because the signals areusually limited to line of sight paths. Thus,two radio amateurs would find it difficult tocommunicate if there were a hill betweenthem, as shown in figure 1a. If a relay orrepeater were placed at the top of the hillas shown in figure 1b, the two stations couldcommunicate. Users of the VHF portion ofthe radio spectrum have long recognized theadvantages of such repeaters. Most citiesnow abound with radio towers relayingpolice, fire, taxicab and amateur signals.

A typical citywide amateur RTTY re-peater communications system is depictedin figure 2. Notice the similarity to a cen-tralized computer network. Many amateurstations operate with autostart. They leavetheir equipment operating all day to printany messages that turn up on the frequency.Others have stunt boxes or selected signaldecoders that allow only messages addressedto a particular station to be printed. Stillothers are interfacing microcomputers totheir radio stations and using the computerto perform selective call decoding and stor-age of commonly transmitted messages ordescriptions of their stations (colloquiallyknown as brag tapes).

The VHF repeater system can thus beconsidered a communications networkwherein any amateur station can originate orreceive messages with only a minimumamount of equipment. However, the ama-teurs can only communicate if both areoperating (on line) at the same time. If oneis not present, messages can be received onlyif the equipment is in the autostart mode.Even then, the originator cannot know thatthe message was received because the re-ceiving station might have been switched off

Program faster,debug easier now

Flowchartrix™ a unique flowchart development tool from Stirling/Bekdorf,saves you time, space, and money, no matter what language you work with.Whether you program professionally or just for fun. The 78F2 Flowchartrix™helps your thoughts move in logical steps, and lets you retrace logic easilywhen debugging.

When you use "top-down" programming methods, you can use the 78F2to lay out your original logic concept blocks. Then by following the planyou lay out in words at the concept stage, you can write a finely detailedflowchart quite smoothly. Then it's easy to write actual code based on theflowchart.

54% more logic cells than other flowchart forms, so you get far moreof your program on each page Each Flowchartrix has a full 77 logic cells,not just 50. This not only saves paper, but also makes your finished flow-charts easier to understand. By seeing up to 27 extra steps of your programon each page, you comprehend program flow more clearly. That's importantwhile writing the flowchart, more important when you write actual code.It's also extremely helpful when you debug, and indispensable when you comeback months or years later to modify your original work. 78F2's higher ma-trix count makes your flowcharts quicker to debug because there are fewerpages to search for errors. Fewer pages also save you money and storagespace.

Unique matrix can show your loops AS loops. The Flowchartrix 7x11matrix gives you plenty of room to write loops laid out as sort of a squaredcircle. This makes loops and subroutines easier to recognize, because theirform is readily apparent at a glance. Since they're easier to find, and mayeven be completed on a single page, they're also simpler to debug or modify.

Every matrix cell has a specific label to help you track branch points.Now it's far easier to follow your program from page to page, point to point.When you write program documentation, having a separate reference pointfor each cell makes your program much easier to describe clearly.

With Flowchartrix, you don't need a shape template to draw remarkablyregular logic symbols. Guides for the most-used logic symbols are right ineach matrix cell. They help you draw most standard flowchart symbols en-tirely free-hand. This saves all the time you'd otherwise spend hunting ashape template and positioning it to draw every symbol. Your train of th-ought need no longer be interrupted by template tedium. With 78F2, yourpencil can fly as fast as you can write, without interruption. When a flashof insight strikes, now you can keep your pen on paper, flowing rapidly fromone step to the next without a break.

78F2 is surface-engineered to take both pen and pencil without blotching.The tough 22s base stock is the same brilliant white opaque material usedin our 78C1 Combination Coding/CRT Layout forms. Pure enough to usewith magnetic ink scanners, heavy enough to withstand vigorous erasure,every Flowchartrix gives you crisp, sharp, characters and symbols. It takesink without spreading, and accepts soft pencil lead with good contrast.

Order your supply today. Ask your local computer store for Stirling/Bekdorf™78F2 Flowchartrix™ To enjoy the world's most advanced programdevelopment aids most, use the entire Stirling/Bekdorf system: 78F2 Flow-chartrix (for concept planning and flowcharting), 78C1 Combination Coding/CRT Layout forms (for coding and display planning in BASIC, OPUS, andother line-number languages), and 78P4 Print-Out Design Sheets (to designreport printouts for easy coding). Our programming tools work togetheras a complete system to save time and reduce errors during every stage ofprogram development, from concept to completion. Try them for yourselftoday. If your store is out-of-stock, use the coupon below to get yourselfa supply on the way now.

■ Ml mam Ml ■■ Ml Ml mam Ml Ml Ml ■■ am Ml am Ml Ml Ml IB Ml mam am am am Mi ami am ami Mi am am

YES! Please rush the programming aids indicated below:

78F2 Flowchart™™

D two 50-sht pads $7.90 *■ $2 85 shpgD ten 50 sht pads $34 35 + $6 45 shpg

78C1 Coding/CRT Combination

□ two 50-sht. pads $6.35 + $195 shpg

□ ten 50-sht pads $26.85 + $3 35 shpg

78P4 Print Out Designer

□ one 50-sht. pad. $7.45 + $3.15 shpg. □ five 50-sht. pads: $32.10+ $6.75 shpg.leaas residents please add 5 5% sales tax to base price

Enclosed is my check for $

Charge to: [JMaster Charge DVisa exp. date

Cards Signature

Dealer inquiries welcome

Name

Address.City

.Phone-

State.

.Zip.

We ship UPS so P 0 Box address must give phone number

Stirling/Bekdorf

bio 4407 Parkwood Q San Antonio, TX 78218 n (512) 824-5643

Circle 352 on inquiry card.

November 1978 © BYTE Publications Inc 49

O USER

O USER

O USER

O USER

Figure 2: A city-wide radioteletypewriter VHF repeater link. Note that eachof the users is an amateur radio station.

at the time the message was sent. The occu-pancy of these repeaters at the present timeis low, so all users can timeshare them easily.When two stations are in communication,the others may either stand by or join in andhave a multistation contact.

As radio amateurs recognize the capabili-ties of the microcomputer, they are install-ing them in their stations to take care ofautostart and answer back so that messagescan be received and even acknowledged inreal time. However, this is only valid forthose equipped with a computer. Whatabout those who only have a simple ter-minal? How can they obtain the same ad-vantages of communications capability?

The computer experimenters among theamateurs have come up with a solution.They are connecting one computer as a

RADIO AMATEURS

l_.

—r~

I

I.J..

.1 ,.

-r-

i

i__L_

l

I

_-L-

I RADIO LINK

COMPUTERISTS

Figure 3: Radio amateur and computer experimenter city-wide communica-tion network. This type of network allows the computer user to have accessto the radio network without having to obtain a radio license.

message store and forward relay. This com-puter continuously monitors the repeater,and may or may not be located at therepeater site. When accessed by a user itmay be used to store a message addressed toany other user for later retrieval. Anyonecan come on the air (on line) and talk tothe computer. Thus anybody equipped witha terminal compatible with the system canuse the central computer to send and re-trieve messages. One can even use the com-puter in an interactive mode if the networkis set up to allow it. Those who own theirown computers can use the network to ex-change software in machine readable form aswell as a message relay. A typical sequenceof operation in the message mode wouldconsist of one station coming on the air andcalling his or her party. If no reply is re-ceived the message could be stored in thecentral computer. Later when the partycomes on line, he or she can ask the com-puter if there are messages waiting, and if so,to retrieve them.

Computer experimenters in general donot have amateur radio licenses, probablydon't want to make the effort to obtainthem, and don't think that they need them.What good is a VHF repeater to them?

Computerists' Access to Repeaters

In the United States, the regulations gov-erning amateur radio allow third party traf-fic. This means that amateurs are allowed torelay certain kinds of messages for nonama-teurs. Amateurs have connected their radiosets to the telephone line and are able to re-lay telephone calls across the continent.They have also connected the VHF repeaterto the telephone network, and are able tomake telephone calls from cars by the use oftone signaling. Some repeaters have reversecall-in capability by which the nonamateurcan dial the repeater and the telephone willring over the air. An amateur can then an-swer the call and control the conversation.

If the central computer in the VHF re-peater network is also connected to the tele-phone line, any experimenter could call thecomputer and either store or retrieve a mes-sage. The whole network is suddenly ex-panded to include the computer experi-menters, as shown in figure 3. They can nowaccess the central computer over the tele-phone line and operate it in much the samemanner as the amateur would over the air.The nonamateur would not, however, beable to initiate transmissions over the air.Messages would have to be stored for laterpick up over the air by radio amateurs orpick up over the telephone line by othernonamateurs. In this way, with no petitions

50

November 1978 © BYTE Publications Inc

LOOKWHAT'SNEWFROMLEAR-SIEGLER

...and

ADM-31 VIDEO TERMINAL

• Two full pages of display

• Protected fields/dualintensity

$48.05

per month*

RS232 orcurrent loopBlock mode

' $1450.00

complete

ADM-42

SMART TERMINAL

Up to 8 pages of memoryBlanking, blinking andreverse fields

• 3 tab modes/protected fields

• 32 special functions

$57.50

• Detachable keyboardper month* I $1795.00 complete

I

300 SERIES Model 301BALLISTIC PRINTER

96 ASCII character set7 X 9 dot matrix

$65.27

per month* $1995.00 complete

• 180 characters persecond

• Selectable top of form

• Foreign alphabetsavailable

IP-1000DATA SYSTEM

1.24/MB

Choice of 2

disk systems,

3 languages

16 bit CPU

32 K RAM

Includes ADM-3A and desk

$254.88

$7995.00 complete

per month*

10/MB

$585.55

per month* $17,999.00 complete

ADM-3A VIDEO TERMINAL

• Full addressable cursor

• Display format-24 linesof 80 characters per line

$29.44

Communications rates—75 to 19,200 BaudComputer interfaces—EIA standard

SYNCHRO-SOUND enterprises inc.

The Computer People

193-25 Jamaica Avenue, Jamaica, New York 11423 Dept hb212/468-7067 TWX 710-582-5886

West Coast: 5810 Commerce Blvd., Rohnert Park, CA 94928707/544-2865

"36 month leaseMaintenance additional

Hours 9-4 Dailyand SaturdayBankAmencard

OEM pricing available

I

per month* $854.95 complete

Visit our new showroomWorking units on displayi Master Charge

Circle 355 on inquiry card.

BYTE Novembtr 1978 51

Table 1: Extracts fromthe proposed Q code mod-ifications for a networkcommunications language.The original Q code refer-ence was the FCC StudyGuide and Reference Ma-terial for Commercial Ra-dio Operator Examina-tions, Revision May 151955.

to the FCC, both computer enthusiasts andradio amateurs would have access to thecomputer. Amateurs would be identified bytheir call signs while computer experimenterswould be identified by their computer clubinitials and membership numbers. Existingradio amateur VHF radioteletypewriterrepeater networks could easily become com-puter communication networks.

Communication Language

Having more than one computer on thenetwork introduces protocol problems. Howdoes the network ensure that only the de-sired computer is on line? How do messagesget sent and stored? How does one user gainaccess to another's computer? These pro-blems require solutions before a usable sys-tem is put on the air. A communicationslanguage must be used to perform thesefunctions. Luckily, such a language does nothave to be invented because one exists inrudimentary form.

Years ago, when radio communicationswere by means of Morse code, a communi-cations code was developed to allow corn-

Code

QRAQRL

QRM

QRQ

QRR

QRS

QRTQRU

QRVQRXQRY

QSG

QSK

QSL

QSM

QSO

QSP

QTA

QTC

QTH

QTR

QTX

QUA

QUC

QBMQDB

QICQJG

QNO

Question

What is your identification or call

sign?

Are you busy?

Shall I speed up to ... .

bauds?

Are you equipped for automatic

operation?

Shall I slow down to ... .

bauds?

Have you any messages for me?

Are you ready?Will you wait?What is my turn?

Can you operate full duplex?Will you confirm?

Cancel message to ... .

What is your address?What is the correct time?

Send me all new messages.

Who did the last message I sent go

to?

Send me the message from ....

May I call . . . direct?

Answer or Advice

My call sign is ... .

Yes, I am in use

by ... .

Your transmissions

are being interfered

with.

Yes.

Yes.

Yes.

Signing off (log off).

Yes, messages are

from ....

Yes.

Yes.

Your turn is number

Send .... messages.

Yes.

Confirmed.

Repeat last message.

Message for ....

Relay via ....

Cancelled

The message is ... .

My address is ... .

It is UTC.

Log on.

It went to ... .

The message to ... .is forwarded.Yes.

Revert to messagemode (log off inter-active mode).Negative responseor action.

monly used conventions in station manage-ment and message relaying to be sent speedilyand efficiently. This communications code isknown as the Q code. It comprises a largenumber of three letter groups each beginningwith the letter Q. By the use of this code,radio telegraph operators speaking differentlanguages can communicate and pass traffic.Radio amateurs adopted some of the lan-guage and modified it to suit their needs.There is no reason why computer experi-menters could not do the same.

Extracts from the code and the proposedmodifications for intercomputer networkuse are presented in table 1. By the use ofsuch a code, amateurs with Baudot terminalscan use the code by typing the 3 letter group.Others with ASCII terminals and computerscan type ASCII control characters, have thecomputer translate them to the 3 lettergroup, and then transmit them. In this waythe network can use Baudot even thoughASCII may eventually be licensed.

Examples of the use of the Q code in thenetwork follow. When sending a message tobe stored in the central computer relay:

WR3ABU :QTC: G8BTB :QRV: DEG3ZCZ

which means:

Attention repeater whose call sign isWR3ABU, I have a message forG8BTB. Are you ready? From thisstation G3ZCZ.

The computer would reply:

G3ZCZ :QRV: DE WR3ABU

which means:

Yes, G3ZCZ, I am ready, from therepeater WR3ABU.

The computer is now ready to receive andstore the message. G3ZCZ would then sendthe message in the following format:

WR3ABU :QSP: G8BTB :QSO: [textof message] :QSL: DE G3ZCZ

which means:

WR3ABU please relay the followingmessage to G8BTB. The message fol-lows [text of message], please con-firm reception from G3ZCZ.

G3ZCZ would then confirm and the messagewould be stored in the computer.

52

November 1978©BYTE Publications Inc

When signing on the network, anyone canask if messages are awaiting them in the fol-lowing way:

WR3ABU :QRU: DE G8BTB

which means:

WR3ABU, do you have any messagesfor me, this is G8BTB asking.

The computer would then reply:

G8BTB :QRU: DE G3ZCZ, FOWN,ON8IKDE WR3ABU

which means:

G8BTB, there are messages fromG3ZCZ, FOWN and ON8IK for you.

Messages could be retrieved from thecomputer in the following format:

WR3ABU :QBM: DE G3ZCZ :QRV:DEG8BTB

which means:

OK WR3ABU, send me the messagefrom G3ZCZ, I am ready.

The computer would then respond:

G3BTB :QSO: DE G3ZCZ [text ofmessage] :QSL: DE WR3ABU

which means:

G8BTB, the message from G3ZCZ is[text of message], please confirm re-ception, from WR3ABU.

G8BTB would then confirm reception of themessage with the following transmission:

WR3ABU :QSL: DE G8BTB

The computer could then delete the messagefrom the storage area.

Almost any radio amateur could read theexchange and understand what is takingplace. This language can be used by anyone,however simple the system being used is.

Another advantage of the Q code is thatmost amateurs will have to learn relativelyfew of the words. As long as the computerexperimenter is learning a language, it doesnot matter which one is learned. Usingwords of fixed length, bounded by colons,with the letter Q as the first character willsimplify the software required to process the

^

/=

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

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

Coburg Box 8066; Coburg, OR 97401(503) 485-8575

Vc

J

Circle 140 on inquiry card.

November 1978 © BYTE Publications Inc

53

Figure 4: A distributedwide area network. Thistype of network wouldhave a specified sequenceof links. For a message togo from a station innetwork A to a station innetwork G, there wouldhave to be a path forthe message to followthrough other stations inthe network.

instructions. Since the choice of signals to beexchanged between the computer and thestations using the network is arbitrary, itmay as well be in humanly readable form toallow people using terminals without com-puters to use the network.

If it becomes legal to use ASCII over theair, it will be up to the repeater groups todecide it they want to change from Baudotto ASCII. The decision may depend on howmany users have Baudot machines. Bothmodes could be used with conventionaltones for Baudot and Kansas City or Bell103 standard tones for ASCII.

So far we have seen that local level net-works can be set up using a computer linkedto a VHF repeater and the telephone net-work, to give a wide area coverage. Since therange of individual interests is wide and dif-ferent, it should be possible to set up suchsystems using the talent available in thegroup. Thus, at the local level, radio ama-teurs and computer people can merge theirtalents and put together a system useful toboth.

The actual modulation techniques used inthe links has not been addressed as yet. Bell103 compatible tones can be used for thetelephone lines. Any legal method can beused for the radio link. The network canmake its own decision about which tech-nique to use, depending on how much hard-ware and software they want each usei toassemble when using the network. Sincethere are many different types of micro-computers in the ical world, different stations will need different software at themachine language level. A high level com-munications language that can be under-stood by humans as well as computers

will make the link comprehensible to anyuser no matter how simple or sophisticatedthe available equipment.

Network Links

Once networks are established there willbe a desire to expand the coverage and ser-vices of each by linking them together. Con-ventional techniques can be used to linknetworks in which each local network estab-lishes a gateway to another network. Ifenough locals link together they can form alarge network of the type shown in figure 4.It would then be technically possible tosend a message from a station in networkA to a station in network G. Note that thefigure does not differentiate between radioand telephone links.

Operationally, the routing of the messageposes many problems. How is the messageto be routed? If a fixed route is always used(A to C to E to F to G) what happens if theE node is inoperable? Should the message bebounced around at random, eventually get-ting to G, which would then send a cancelcommand to the network to delete thatmessage because it has arrived at its destina-tion node? What other techniques would besuitable for use in a personal network whichmay oi may not be 100% reliable in terms oflong distance links? The professionals havebeen dealing with similar problems for years.

Here again amateur radio has the potentialto provide a simple solution to the problemsof internetwork communications by makinguse of modern technology. Just as the devel-oping nations are bypassing complex terres-trial microwave links and employingsatellitesin long-range communication links, amateurradio can provide the capability tor computerenthusiasts to do the same thing. Currentlyunder construction and planned for launchin late 1979 is the first AMSAT Phase III ra-dio amateur communication satellite, shownin photo 1. This satellite will be put intoa high altitude elliptical orbit and will providecommunication capability over the entirenorthern hemisphere for up to 16 hours perday with the same degree of reliability as aconventional VHF radioteletypewriter re-peater. A message from Washington DCcould be sent to London England by meansof the following Q code:

WR3ABU :QSP: G8BTB :QSPGB3LO :QSO: [text of message):QSL: DE G3ZCZ/W3

The only difference between this messageand the transmission given earliei is theaddition of QSP GB3LO which means, "Re-

54

November l')7SOBYlt Publications In.

An advanced desktop data systemfor $1,995? Quitcherkiddin, 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 and

controller

BASIC software package

Over 20 applications packages

available

User documentation

oi/rpesr//

COMPLETE

With Outpost 11 and the BASIC softwarepackage, you can:

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

rii

iiiiii

Program MERGE and CHAIN • 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

Quitcherkiddin, TANO I'm calling your hand. Send me Outpost 11 s as de-scribed in your ad Heres my deposit of $200 each, plus $35 freight and insuranceIII pay the balance on delivery

Mail to:

Name

Company/Title

Shipping Address -Telephone

Signature __

Corporation

4521 W. Napoleon Avenue

Metaine, 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 —71 3/461-0038 • Denver, Col -303/841-2788 • San Francisco CA —408/377-7001 • Chicago, IL —31 2/830-0060• Atlanta, GA —404/252-6609 • Washington, DC —301/593-1559 •

Circle 358 on inquiry card.

BYTE November 1978

55

Photo by Dick Daniels, courtesy of AMSAT.

Figure 5: A distributed wide area network using a satellite. This approachwould solve many of the message transmission problems. For a message togo from a station in network A to a station in network G it would have totravel only through the satellite and then be relayed to the other station.

Photo 1: Jan King (right) and Karl Meinzer(left) with model of the A MSA T Phase IIIsatellite. The satellite has a mass model kickmotor installed in the structure. Jan is theproject manager, and Karl designed thesatellite, which is controlled by an RCACOSMAC microprocessor. He also designedIPS, a high level machine-independentlanguage for use with the satellite.

lay the message via gateway station in Lon-don." The call sign of the gateway station isGB3L0.

Just as a long-distance telephone usermust know the area code when placing acall, the network user must know the callsign for the gateway station of the personbeing called. With a satellite in the link, thenetwork simplifies to the type shown infigure 5. This configuration has a strikingresemblance to a local network. Each localnetwork can be accessed by any other localnetwork, just as any user can be accessedby any other user in the local network. Ifa gateway is off line, due either to equip-ment problems or being out of range,the originating gateway can store the mes-sage for later transmission when communi-cations are reestablished. The satellite net-work would be used similarly to the localnetwork.

Since the satellite network will be lightly

56 November 1978 © BYTE Publications Inc

NEW FREE CATALOG OF

Ready to load Cassettes for

PET 2001 Computer*

Available now from NAIL**

Ready for immediate shipment.Dozens and dozens of interesting programsare now available from NAIL (NationalArtificial Intelligence Laboratory). The firstprograms are games and graphics. Unlikemost other sources of game programs,NAIL has created game programs that don'tjust tell you what's happening; they SHOWyou right on the screen with vivid graphicsin motion.

For example, NAIL program G-1, SLOTMACHINE; randomly selects cherries,lemons, plums, oranges, etc. from programmemory and then displays three on thescreen. You select the number of free plays,and on each turn you can bet from one tonine plays. The machinedisplaysatall timeswhat you have bet; if you have won, howmuch, and how many free plays you have

left. To "pull the lever" on the machine, youneed only hit return, and the old charactersare erased from the screen, and three newones appear, one by one, "as the wheelsstop spinning".

Whether you have a 4K or an 8K machine,this program will run on it. Many NAILgames will run in 4K machines. The new freecatalog lists dozens of games just like thisone with their descriptions, and price. Besure to send in your name and address on apostcard or use the coupon at the bottom ofthe page for a free catalog by return mail —no obligation. If you want to order the SLOTMACHINE program, send $2.00 with yourname and adress and NAIL will send you byreturn mail the SLOT MACHINE gamecassette and the new free catalog. You donot have to buy anything to receive thecatalog. If you want to order the SLOTMACHINE program at the specialintroductory price of $2. you may do so.NAIL programs are reasonably priced.Theywill enable you to get so much moreenjoyment from your PET, whether inmachine language or BASIC, you maydiscover some things in the NAIL programsyou didn't know before. If you're reallygood, we may be interested in purchasingprograms from you for distribution to NAIL

customers, (see below — Do you writeprograms?).

What is your time worth?

How long would it take you to enter aprogram with 300 lines of code, and thendebug it? Even if you figure your time isworth only the minimum wage, you canorder most NAIL programs for less thanyour time would be worth to enter the sameprogram from a printed listing. NAILcassettes each contain just one program.No searching through a half dozen otherstofind what you want. Just slip it in your PETand within seconds your program is loadedand ready to run.

Know what you are buying.

The NAIL catalog gives lengthy and

complete descriptions of programs offered,

including actual unretouched off-the-

screen photographs of the program in

action. You will know just what you are

buying.

You will also know just what the program

does, how it works, and thus be able to

decide if you want to order it. No more

having to order four or five programs on a

single cassette in order to get just the one

you want.

Do you write programs?

NAIL is interested in purchasing

sophisticated, well structured, and

completely debugged programs.

Although there are already CHESS,CHECKERS, BACKGAMMON and othersimilar program in the NAIL inventory, NAILwill buy programs of the same gamesprovided they are substantial improvementsover the ones already in inventory.Adversary programs are played againsteach other. Programs may be in eitherBASIC or machine language.

"NAIL is a trademark of National ArtificialIntelligence LaboratoryCopyright 1978 NAIL

Machine Language programming?

Then you might consider the NAIL SYS7171 machine language monitor for PET. Itis written in machine language and comesready to use with complete writteninstructions. Written in machine language,it uses only 5 pages of RAM (1,283 Bytes)leaving 5884 bytes free for programming.Enables you to load and save in bothmachine language and in BASIC. Alsoallows you to append one BASIC programto another.

Once loaded, the SYS 7171 machine

language monitor stays in the machine in

protected h igh memory unti I you turn off the

power. You can skip back and forth to and

from BASIC to the monitor.

Displays contents of all memory, including

ROMS. Do not confuse this monitor with

destructable non-versatile types offered by

others.

This is the only monitor currently available

which provides for coresidence of BASIC

and machine language programs and the

capability of saving either on cassette or a

combination of both. The ultimate in

versatility!

Cassette of monitor, instructions, and

license for your personal use on your

machine for 50 years. $29.71.

Send coupon below now for your copy of

the new free NAIL catalog of cassette

programs for PET. If coupon is missing,

send name and address on postcard to

NAIL, Box F, Mobile, Al. 36601 and request

catalog #8B.

The descriptions of the programs areextensive and usually have sample picturestaken right off the PET screen. This isimportant so that you know just what youare getting when you order.

*PET is a trademark of CommodoreBusiness Machines

NAIL, Box F, Mobile, Al. 36601 RT 164

Please send me the items checked:

New free NAIL catalog, without obligation.

Sample Slot Machine cassette — I enclose $2.

(limit 1 per order)

I write programs in BASIC, machine language, and may be interested in

your distribution of them.

SYS 7171 Machine Language Monitor (for 8K PET) — I enclose $29.71

Name.

(please print)

AddressCity

State.

Zip.

Circle 268 on inquiry card.

BYTE November 1978

57

(a)

CENTRAL MESSAGESTORAGE COMPUTER

o

USER B

Figure 6: Two types ofgateways that could beused. Figure 6a shows ageneralized gateway thatcontains a central messagestorage computer that dis-tributes messages to all ofthe users in the localgroup. A distributed gate-way, figure 6b, would havethe communication linkenter through one of theusers in the network.

loaded at first, it can be started using con-ventional radioteletypewriter techniques.Additional channels can be added using dif-ferent modulation techniques for the ad-vanced gateways as use increases. This willallow people with both types of equipmentto have access to the system.

Gateway Requirements

There is no need for the central messagestorage computer in the local network toalso act as the gateway to the satellite net-

Figure 7: Propagation considerations. When two radio stationsare communicating via shortwave propagation by bouncingsignals off the ionosphere, it may be difficult to tell exactlywhich station you are communicating with since the iono-sphere is a dynamic medium. Introducing a satellite as in figure7b will alleviate this difficulty by not using the ionosphere forpropagation.

work. Figure 6 shows two network config-urations. In figure 6a the central relay com-puter is the gateway, and in figure 6b userA is the gateway. Figure 6b can be con-sidered an example of distributed processingwithin the network. In this case, the centralrelay forwards all messages with destinationsoutside the local network to user A whenuser A comes on line. Thus, if user A doesnot own a computer but has the equipmentto communicate via the satellite, messagescan still be sent to the satellite. Similarly, ifuser A does have a computer, it can come online, get the messages for forwarding, thengo off line and communicate with the satel-lite. When the satellite moves out of range,the computer can come back on line withreplies. User A can define this mode becausehe or she may not be willing to donate thecomputer to the network full time.

Why the Satellite?

It was stated earlier that radio amateurscan communicate worldwide using radiotele-typewriters by means of shortwave. Why notchoose a shortwave frequency that is standardfor all gateways and do without the satellitecompletely? Radio amateurs do operate inautostart mode on shortwave but these con-ventional shortwave communication pathspossess many undesirable characteristicswhen compared with a satellite link. Theprofessionals have long recognized this andare switching over from conventional short-wave communications to satellite communi-cations as quickly as possible.

Let us consider some of these problems.The ionosphere that reflects shortwave sig-nals back to earth is a dynamic reflectingmedium. Its properties change from minuteto minute, are different during the day andnight, and are affected by solar activity.Solar flares on the sun may enhance or de-tract from the reflecting properties of theionosphere at any particular frequency,sometimes eliminating them entirely. Thusthe situation shown in figure 7a is typicalof the conditions under which radio ama-teurs operate. Stations A and B are in con-tact with each other. Station C can alsohear A but cannot hear B because those sig-nals are skipping over station C.

During the contact between A and B con-ditions may change so that B becomes ableto hear C but unable to hear A. Station D,who cannot hear A, B or C, may begin totransmit and (as conditions change) inter-fere with A, B or C. Alternately, C may notknow that B is transmitting and may call A,thus causing interference to B's signals asreceived by A. Since one can't receive onone's own frequency during transmissions,

58

November 1978 © BYTE Publications Inc

one can't determine if any interference ispresent on the frequency. One could notdetermine its effect at the other station'ssite even if one could monitor the trans-mission.

Users of shortwave radioteletypewriterautostart recognize the problems associatedwith that mode of operation. The effects ofpropagation can be compensated to someextent by using relatively complex terminalunits. At present there is no option but toput up with the idiosyncrasies of the ion-osphere. However, the use of satellites forcommunications links can change all that.The satellite relay is depicted in figure 7b.Using frequencies that pass through theionosphere with little or no reflection, allstations can transmit signals up to and re-ceive signals from the satellite. A satellitetransponder works in a similar manner to aterrestrial VHF repeater. Signals received bythe satellite on one frequency (uplink) areamplified on board and retransmitted tothe ground on a second frequency (down-link). Since the uplink and downlink are atdifferent frequencies, it is possible to listento your own signals coming back from thesatellite. Thus, if any one channel is busy, allusers can hear the signals and will know thatthey should wait until the frequency is clearbefore initiating a transmission. Since every-

body can hear everybody else, the communi-cation satellite provides wide area coveragenearly equal in performance to the localVHF repeater as far as the user is concerned.

Viability of Satellite Link

Implementing an amateur computercommunications network by means of asatellite poses far fewer operational prob-lems than implementing the network bymeans of conventional terrestrial relays.Thus it may be desirable — but is it viable?

The Radio Amateur Satellite Corporation(AMSAT) is currently building two satellitescapable of meeting the space segment re-quirements for the network. AMSAT has aproven record in the construction and day-to-day management of Orbiting SatellitesCarrying Amateur Radio (OSCAR). Thefirst amateur built satellite was constructedby Project OSCAR in California andlaunched in 1961. OSCAR II, III and IVfollowed over the years. These satelliteswere short-lived experimental spacecraftthat proved that amateurs had the capabil-ity to build and communicate throughspace satellites.

AMSAT, founded in 1969, arranged thelaunch of OSCAR V, built by a group ofamateurs at Melbourne University in

ATTACH GROUND-STRAP 1 PLACE INSERTER OVER I.C. 1

LOCK INSERTER

®

mm

1

®

•*% !* A

p*

r^^aggg "i

$795

EACH

MINIMUM BILLING $25.00 ADD SHIPPING CHARGE $1.00NEW YORK STATE RESIDENTS ADD APPLICABLE TAX

OK MACHINE & TOOL CORPORATION

3455 CONNER ST., BRONX, N.Y. 10475 U.S.A.TELEX 125091

I [ msERTion TOOL

36-4D Pin tmos-sPFE

Unique new insertion tool. Also aligns bent-out pins. A twist of the handle compressesthe pins to proper .600 inch spacing andlocks the IC into the tool. Then simply placethe tool on the socket and depress theplunger for instant and accurate insertion.Features heavy chrome plating throughoutfor reliable static dissipation. Includes termi-nal lug for attachment of ground strap.

INSERT I.C.

REMOVE INSERTER "LOADED" P.C. BOARD

Circle 291 on inquiry card.

November 1978 Q BYTE Publications Inc

59

EAST COAST RANGE LIMIT

WEST COAST RANGE LI Ml

Figure 8: Coast to coast communication. As the Phase II satellite orbits, itis in a position to relay messages between the East Coast and the West Coast.Communication is possible only when the satellite is passing through the win-dow (overlap occurs two or three times a day).

Australia. This was the first amateurbuilt satellite that could be commandedfrom the ground. AMSAT used thatcapability to turn a beacon off during theweek and on during weekends so that themajority of radio amateurs who were athome on weekends would be able to re-ceive its signals. AMSAT subsequently con-structed and obtained launches for theAMSAT OSCAR VI, VII and VIII space-craft. These satellites were long life com-munications relay spacecraft, and containedequipment built by amateurs in Germany,Canada, Australia, Japan and the US. AMSATOSCAR VI, launched in 1972, had a designlifetime of one year but operated success-fully for almost five years until its batteriesfailed. AMSAT OSCAR VII, launched in1974 with 3 year design life, is still goingstrong. AMSAT OSCAR VIII, launched asa replacement for the AMSAT OSCAR VIspacecraft, was put into orbit in March 1978.These satellites, although relatively dif-ficult to use, provide reliable communica-tions links to radio amateurs separated byground distances of up to 2400 km (1500miles). The satellites travel in low orbitsand hence are only within range of any oneparticular ground station for at most 25minutes at one time, up to six times a day.Being in low orbits, they travel relativelyfast; consequently signals relayed throughthem are subject to Doppler shifts. How-

ever, these satellites have shown the prowessof the radio amateur.

AMSAT is a worldwide organization withmembers in over 80 countries. Their satel-lites are used daily for educational demon-strations of the space sciences in schoolsall over the world. Free applications liter-ature and ideas are available for the askingfrom the American Radio Relay League.These educational aspects were the primereasons for NASA agreeing to providelaunch places for them as secondary pay-loads. The European Space Agency (ESA)has agreed to provide a launch for thefirst AMSAT PHASE III spacecraft in late1979. Thus, since AMSAT has a provenrecord and a launch date for the firstPHASE III satellite, a satellite basedamateur computer communications net-work is viable.

Using the Satellites

Although the first Phase III spacecraftwill not be launched until December 1979,AMSAT OSCAR VII and VIII are up thereand usable. It was these satellites that drew,and are still drawing, radio amateurs intopersonal computing. The orbits of thesesatellites, unlike that designed for thePHASE III satellite, are such that the space-craft pass from horizon to horizon in lessthan 25 minutes. Amateurs soon found thatcommunicating via these Phase II satellitesrequired one hand to point the antennas,one to tune the receiver, one to tune thetransmitter, another to hold the Morsecode key or microphone and yet anotherto log the contact. Unlike the octopus,radio amateurs have only one pair ofappendages and have therefore turned tocomputers for help. Computer programshave been developed that track the satellites,point antennas and calculate and compen-sate for Doppler shifts. AMSAT groundcommand stations have been using micro-processors ever since the days of the 8008.The Phase III spacecraft is itself controlledby a COSMAC microprocessor.

AMSAT now has an ongoing project forits members to build a low cost S-100 bus8080 or Z-80 computer. AMSAT membershave developed S-100 based hardware tointerface antenna controllers to the com-puter, high power debugging software, andeven a high level language called IPS. Thusany satellite user who is also interested inpersonal computers could set up a gatewayfor the local VHF radioteletypewriter re-peater to use the Phase II satellites for re-laying messages. The gateway would storemessages until the satellite came into rangeand then forward them to the destination

60

November 1978 © BYTE Publications Inc

gateways. Figure 8 depicts how such a mes-sage might be transferred from the EastCoast to the West Coast of the United Statesas a Phase II satellite passes over. Howeverthis technique is only practical for experi-mentation and relaying short messages.

Using Phase III Satellites

The AMSAT Phase III satellite will beplaced in an elliptical orbit with its apogee(highest point) in the northern hemisphere.Studies by AMSAT have determined thatthis orbit would provide optimal service tothe world's radio amateurs, most of whomlive in the northern hemisphere. The satel-lite, whose orbit is sketched in figure 9, willbe available for periods of between eight and11 hours twice daily. Once the satellite getsreasonably above the horizon, there will beminimal Doppler effects, and pointing an-tennas will not be a problem because theapparent rate of travel will be slow. AMSATwill provide simple tracking software thatwill enable anyone to point an antenna atthe satellite. This information may even beprovided over the satellite. The satellite willbe usable by any one station for periods ofbetween 16 and 22 hours each day. This willallow communication links to be set upbetween any gateway in the northernhemisphere and any other one.

Summary

This article has discussed several new con-cepts in personal computing. It has outlinedhow amateur radio can easily provide areawide communications networks by connect-ing message storage computers to both thetelephone line and the amateur radio VHFrepeater. This allows computer experi-menters access to the network without anamateur radio license. The AMSAT OSCARamateur radio communication satellites canprovide the computer enthusiast with anoperationally simple worldwide personalcomputing network."

ORGANIZATIONS

AMSAT, the Radio Amateur Satellite Corp, POB27, Washington DC 20044.

The American Radio Relay League, OSCAR Dept,225 Main St, Newington CT 06111.

REFERENCE

DuBois, John L, "A Real Time Tracking Systemfor Amateur Radio Satellite Communication An-tennas," AMSAT Newsletter, March 1978.

EQUATOR

Figure 9: Typical orbit of the Phase IIIsatellite. The greater the altitude of thespacecraft, the more ground it sees and thusthe greater the communications range. ThePhase II orbit at 1440 km allows communi-cation ranges of up to 2400 km. The PhaseIII orbit, with a much higher altitude, willprovide communications over the entirenorthern hemisphere and much of thesouthern hemisphere.

\s$3

V

ComputerLand

-&&+

M&

<s^

s>\

yo^

o^(

V^e

\W&

**j£""^V«?io»t

^*7ctf

o<

a\\<*

ComputerLand

Circle 75 on inquiry card.

November 1978 © BYTE Publications Inc

61

Distributed Network

Glen Horton

Hickok Teaching Systems

2 Wheeling Av

Woburn MA 01801

This article describes a study in looselycoupled distributed networking conductedas part of my graduate degree plan at theUniversity of Houston at Clear Lake CityTX. During the past two years, developmentwork has been focused on implementing amodular microcomputer system used in theclassroom as a teaching tool. The study usesthe basic architecture as the foundation forthe formulation of the network.

Primary Modules

There are basically two modules neededto form a network of this type. First, amodule is needed to effect communicationbetween the processors which are part ofthe local network. This module is termeda "protocol module." A protocol moduleis essentially a block of 16 memory locationsregarded as programmable memory by oneprocessor and as read only memory by therest of the processors in the local network.The protocol modules for each of the otherprocessors in the local network functionindependently of the other protocol mod-ules. Therefore, concurrent reads of systeminformation are possible.

Second, a module for sharing resourcesis needed. This module is termed the "sharedslot arrangement," an interface to the basicmicrocomputers in the local network. Theshared slot arrangement is essentially a busswitch capable of logging and returningstatus and control information. The hard-ware of the shared slot arrangement, basedon current control information, either"makes" or "breaks" a digital signal pathbetween one of the local processing elementsand a shared slot with its attached interface.Each shared slot arrangement is capable ofcontrolling four shared slots that are inde-pendent of one another. Software routineswhich form part of an integrated operatingsystem control the shared slots through theshared slot arrangements.

Example

would like to print the contents of a file tothe line printer on processor 3. The shared8 K byte memory block is currently con-trolled by processor 2. The following oper-ations describe a sequence to effect suchtransfers of information.

The executive software communicatingwith user 2 generates a disk access protocol.The disk access protocol contains all of theinformation necessary to retrieve the desig-nated file. Processor 1 is then interruptedby processor 2. Processor 1 recognizes theinterrupt request and protocol communi-cation as a disk access protocol. Processor 2then passes the shared slot with the 8 Kmemory block to processor 1. Processor 1reads the designated file from the disk unitinto the 8 K memory block. Then processor1 passes the shared slot with the 8 Kmemory block back to processor 2. Pro-cessor 2 may then use the file's contents asdesired by user 2.

User 1 has requested a shared slot withan 8 K memory block which is to be used totransfer a file to the line printer. Sinceprocessor 2 has finished with the shared slotand its attached 8 K memory block, it passesthe slot over to processor 1. User 1 thenreads the requested file into the 8 K memoryblock. The protocol for printing the file isinitiated (processor 1 interrupts processor 3).Processor 3 recognizes the interrupt requestand the line printer access protocol. Pro-cessor 1 then passes the shared slot and the8 K memory block over to processor 3.Processor 3 reads the contents of the mem-ory and prints them to the line printer.

Even though the description is tediousand long, the actual transfers of informationare quick and relatively easy. It is importantto note that the software is distributedamong the three processors in the local net-work. The software is therefore broken intodistinct modules best suited to their hostprocessors and current configurations. Thiskeeps the software overhead per processorsmall in relation to the user buffer areas anduser support programs.

As an example, figure 1 shows threeprocessors loosely coupled by using sharedslot arrangements and protocol modules.The user at processor 2 would like to read afile from the disk unit which is dedicatedto processor 1. The user at processor 1

Shared Slot Arrangement Hardware

The shared slot arrangement is used toextend the busof an existing microcomputer.The actual switching mechanism is under thecontrol of small software subroutines dis-

62

November 1978©BYTE Publications Inc

11

USER I

H

DATATERMINAL

MEMORY

PROTOCOL PS

USER 2

n

DATA

TERMINAL

MEMORY

c

i~>

MEMORY

<~>

SHARED SLOT ARRANGEMENT

~FS

<*->

SHAREDSLOT

TT

MEMORY

Figure I: Loosely coupled network using protocol and shared slot modules.

tributed throughout the local network. An8 line to 1 line multiplexer is used to con-struct the actual switching mechanism.Three lines, which describe the current pro-cessor number, determine which of theswitches is to be made or broken. When aconnection is broken, the shared slot is saidto be deallocated. The status lines thenreflect this condition. When a shared slotconnection is made, it is allocated and thestatus will again reflect the change in thecondition of the shared slots. The lastavailable status can be read by any pro-cessor in the local network at any time. This

also holds true for the current processornumber (see figure 2).

Protocol Module Hardware

Figure 3 shows how the protocol modulesare controlled by the receiving processors inthe local network. Processor 1 is the origi-nating processor in this example. It has 16programmable memory locations which ituses to communicate with the other pro-cessors of the system. The other processorsin the system each have a protocol modulecapable of reading one of those 16 memory

November 1978 © BYTE Publication! Inc

63

CURRENTSTATUS(TO PRO-CESSORS)

©

ADDRESS/DATA AND

CONTROL

FROM PROCESSORS

m

DEALLOCATE

CURRENT PROCESSOR~) NUMBER = 00l2

(TO PROCESSORS)

ADDRESS/DATA AND CONTROL TO/FROM SHARED SLOT

i^>

SHARED SLOT AND ATTACHEDMEMORY OR INTERFACE

Figure 2: The existing processor bus can be extended by adding a shared slot arrangement.The actual switching mechanism is software controlled.

ORIGINATEPROCESSOR

128

LINES

S—V PROGRAMMABLE

( p| )( ) MEMORY

V_-/ * LOCATIONS

128

LINES

128

LINES

BYTE SPECIFICATION

<**>

•\ PROTOCOJ MODULE

INTERRUPTAND DATA

BYTE SPECIFICATION

x3

iwi

PROTOCOLMODULE

INTERRUPTAND DATA

RECEIVINGPROCESSORS

Figure 3: Protocol modules are controlled by the receiving processors within the local network.

locations. However the other processors(receiving processors) are unable to writeto these memory locations. Therefore thesememory locations look like read only mem-ory to each of the receiving processors.

Since each receiving processor has aprotocol module unique to each of the otherprocessors, it may read another processor'sprotocol independent of the other pro-cessor's reads. The receiving processor has amultilevel interrupt interface that deter-mines the number of the processor generat-ing the interrupt. It is from this interpreta-tion that the receiving processor determineswhich protocol to read. A protocol modulethen decodes the byte specification (fromthe receiving processor) to determine whichmemory location (from the originatingprocessor's communication area) is to betransferred to the receiving processor.

By multiplexing the memory in thisfashion, a considerable saving in actualwire connections is possible. Instead of

running 128 lines between all processors(this is one way), only 16 lines are run.These 16 lines carry all the informationnecessary to specify a protocol memorylocation exactly and also to transmit inter-rupt request signals from the originatingprocessor to the receiving processor.

Summary

A loosely coupled distributed network ofmicrocomputers was formed using protocoland shared slot hardware modules. Systeminformation is passed in bursts of read opera-tions by the receiving processors. Softwareat the receiving processor determines theappropriate action to take in each instance.The software routines also update the sharedslot arrangement status and control signalsand thus allow any of the attached resourcesto be shared. By joining multiple copies ofthe basic modules, expansion of this frame-work is easily accomplished."

64

November 1978 ©BYTE Publication-, Inc

I haven't stopped laughing since I read Steve Ciarcia's new book,

"TAKE MY COMPUTER...PLEASE!" It's Steve's first full length book,

and it's the funniest to come along in years! It's even funnier

if you're into computers! Just one crazy misadventure after another,

based on Steve's true experiences, and his computer's inability to cooperate.

You'll roar when you read how he tries to win at Jai-Alai and gets beaten

at his own game. Or how he attempts a stock market killing that goes wrong

when he logs into his broker's computer circuit! Imagine what happens

when our hero sets up a computerized speed trap! And you'll fall on the floor

when our hero builds a foolproof computer burglar alarm,

and then locks himself out of the house with a souffle in the oven!

You can't beat this book for computerized belly laughs. It's got lots of

hilarious drawings that make Steve's easy writing style come to life even more.

And, you can't beat the low, low price of only *5.95 + S/H!

Order your copy of "TAKE MY COMPUTER...PLEASE!" Do it today.

It will tickle your fancy.

liililli

a =st

lakeroyc

...please!

by STEVEN CIARCIA

An outrageously funnybook about a creativeeager beaver and hisuncooperative personalcomputer. 128 fun-filledpages. Hilarious illustra-tions. Hard cover.Order your copy now.Only $5.95 + S/H.Another SCELBIhardcore software book!

ScClbl Publications See '*at y°ur favorite computer/electronics dealer.

P.O. Box 133 PP STNMilford, Connecticut 06460

(A division of Scelbi Computer Consulting, Inc.)(203) 874-1573

Or order direct from SCELBI: Price shown for North American customers. Master Charge, VISA,Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks.Pricing and availability subject to change without notice. IMPORTANT! Include 750 postage/handling for each book delivered by U.S. Mail Book Rate or $2 for each book shippedFirst Class or via UPS.

BYTE November 1978 65

Programming Quickies

Checkbook Balancer

Rod Hallan

Road Runner Ranch

POB73

Tombstone AZ 85638

100 PRINT "CHECKBOOK BALANCER"

105 REM "BY ROD HALLEN - TOMBSTONE, ARIZONA-17 DEC 1977"

110 PRINT

120 INPUT "STATEMENT BALANCES", A

130 INPUT "CHECKBOOK BALANCE $", B

140 PRINT "CHECKS NOT CLEARED $";

150 INPUT C,

160 LETT=T+C

170 IF C>0 THEN GOTO 150

180 PRINT "DEPOSITS NOT RECORDED $";

190 INPUT D,

200 LET U=U+D

210 IF D>0THEN GOTO 190

220 LET E=(A-T)+U

230 LET F=B-E

240 PRINT

250 PRINT

260 PRINT"

270 PRINT

280 PRINT

290 PRINT'

300 PRINT

310 PRINT

320 PRINT

330 IF F>0THEN PRINT "CHECKBOOK OVER BY $"; F

340 IF F=0 THEN PRINT "CHECKBOOK BALANCES"

350 IF F <0 THEN PRINT "CHECKBOOK UNDER BY $"; ABS (F)

360 PRINT" "

370 END

Listing J: Checkbook balancing program written in Processor TechnologyBASIC 5.

'CHECKS NOT CLEARED -TOTAL$";T'DEPOSITS NOT RECORDED - TOTAL $"; U

'ACTUAL BALANCE $"; E

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.

• 5100-Diskette and Documentation.

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

• $75-Diskette and Manual.

TEX™ TEXT FORMATTER:

• Powerful text formatting capabilities.

• Text prepared using CP/M Editor.

• $75 Diskette and Manual.

1 D.G.TflL RESEARCH

P.O. Box 579 • Pacific Grove, California 93950(408) 649-3896

I balance my checkbook each month byadding together the statement balance andany deposits which are made after the state-ment date. I then subtract from this thetotal of all checks which have been writtenbut not cleared by the statement date. Theanswer should agree with the balance shownin my checkbook.

The program in listing 1 is my checkbookbalancer written in Processor Technology'sBASIC 5 for my SOL system. It follows theformula:

Statement Balance + Deposits NotRecorded — Checks Not Cleared =Actual Balance.

Lines 120 to 210 input the necessary infor-mation, lines 220 and 230 compute the an-swers, and lines 240 to 360 print the results.Lines 150 to 170 ask for "checks not cleared"one at a time and keep a running total.When you have entered all of the checks,type 0 and program control will move toline 180. Lines 190 to 210 work in thesame way. Entering a 0 after all depositsnot recorded have been entered causesprogram execution to move to line 220.

A quick scan through listing 1 willreveal that the printed results are the totalamount of checks not cleared, the totalamount of deposits not recorded, thecurrent balance and the status of yourcheckbook balance. This last value is indi-cated as either over or under balancedand by how much. If the answer is overor under, you have the task of findingout why. One thing to remember; if youhaven't been balancing your checkbookevery month, you may have been carryinga bad balance for some time without know-ing it. If the difference is not too large,the best method may be to enter the actualbalance in your checkbook and run theprogram each month from now on.

The task that the checkbook balancingprogram performs used to take me ten min-utes with a pencil and pocket calculator.Considering that it now takes about threeminutes and is only required once a month,not much time has been saved. However,as more and more of my chores are com-puterized, the amount of time freed forother uses increases rapidly.

[A variation of this program will be requiredfor those who use "negotiable order of with-drawal" checking accounts which pay about5 percent per annum interest... .CH/"

66

November 1978 © BYTE Publications Inc

Circle 95 on inquiry card.

See It All at Once!

with a

Screensplitter

Text Editing andMultiple ProcessDisplay System

from Micro Diversions J

S-IOO 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 November 1978 67

Circle 293 on inquiry card.

HOU DIDN T KNOW! \

OAE'S new PP-2708/16

PROM 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

■ P

0 0

ADM-3A 756

™ ™^^^ ■ w ■' ^^^— ™ Plus Rhinnina

00*

IN KIT FORM

80 CHARACTERS/LINE24 LINES/SCREENADDRESSABLE CURSUR9,10, or 11 BIT WORDS

Plus Shippingand Handling

• 75-19,200 BAUD

• FULL & HALF DUPLEX

• ODD/EVEN/NO PARITY

• RS232 INTERFACE OR20 ma CURRENT LOOP

GET COMPLETE DETAILS WITH A DIRECT CALL:214 258-2414 TWX 910-860-5761 TELEX 73-0022

800 527-3248

mjna ^sa-^qntt iwa aiu-oou-s/tcapital

equipment brokers

\ 930 N. BELTLINE • IRVING, TEXAS 75061 I

Continued from page 6

number of vendors, at prices in the $2000 to$5000 range. This hardware basis for soft-ware tools includes a processor, as muchmemory above about 16 K bytes as possible,a terminal device, and electronicallyaddressable mass storage on floppy disk orits equivalent. (Two drives are much muchpreferable to one, so copies can be made; Ihave only one drive and feel the lack everytime I have to transfer to a new disk.) Aprinter, such as my obsolete Model 33 Tele-type, is useful whenever final listings orworking maps of the source code are needed.In my case, the processor and peripheralswere designed and integrated personally, butnumerous commercial hardware productsare essentially identical in function andprobably less expensive if you value timespent.

Readers interested in doing similarprojects with nonhomebrew equipmentwill undoubtedly have an easier time of it,since chances are that a good operatingsystem and assembler, BASIC interpreteror Pascal compiler would be available foruse in creating the programs. I was stuckwith my crude earlier version editor, akluge hand assembled operating system,and a very good macroassembler (but stillan assembler with all the defects of assemblylanguage). People using BASIC can probablycreate assemblers, text editors, or inter-preters far easier than I could with mysystem such as it was: witness the TinyPascal project of Herbert Yuen and Kin-ManChung in this BYTE, several text editorsand assemblers I know about, and my friendDan Fylstra's 6502 assembler in BASICwhich is marketed for the PET by PersonalSoftware.

But never mind the lack of the ultimatein tools. Part of the reason for deciding towork on a text editor was that in additionto exploring the software design aspects,I would in effect be using the previoustools to bootstrap a better set of tools.(Ah, you may note, there was a pragmaticand short-term result of the project; likemany activities with long-term good effects,there are short-term good effects here, too.)

In my earlier editor, written in 1976, theemphasis was on simplicity and getting aneditor written in minimal time subject tothe constraints of not having an editor. Asa result, I took coding shortcuts which arefunctionally correct but not particularlyfast. Thus all operations were on an incre-mental character by character basis. Forexample, insertions in very long files takeincredibly long amounts of time per char-acter since the entire file must be shifted.

68 November 1978 © BYTE Publications Inc

Circle 41 on inquiry card.

iiiiiiiiiiiiiiiiiiiiiiiiiiiimiiKrmiiiiifiiii

16K STANDARD RAM— $285

KIT—450 nsec. Ideal for SOL 20, IMSAI8080, etc.

For 4 Mhz. systems—order our board with 250 board—full factory assembly, burn-in, testing, 1-nsec. memory chips—priced at $320. For either year warranty on both parts and labor—add $25.

DIP Switch Addressing

First Quality Components

• All Inputs Buffered

Off-the-Shelf Availability

Fully Static TMS 4044

• Full Year Guarantee

Circle our Reader Service Card Number for free Catalog

Contains a complete description of our productsincluding the recently announced 16K PLUS premiumRAM which is ideal for Cromemco systems (see

October ads). Also contains parts, 8K RAM versions,schematics, specifications, full warranty statements,previews of new products such as our 8086 CPU board.

Texas Instruments

TMS 4044 -

$5

450 nsec. — Quantity 64

Factory Prime memory chips, guaranteed gooc

i.

250 nsec. 450 nsec.

1-31 chips $832-63 chips 764-over 6

$765

For orders under $50 — add $2 handling.

Guarantee: Kits — All parts guaranteed for one year.Factory assembled units for USA customers — Both parts andlabor guaranteed for one year; ten day return privilege. Factoryassembled units for foreign customers — parts guaranteed forone year; no return privilege.

Direct Factory Orders — you may phone for VISA, MC,COD orders. ($3 handling charge for COD orders only).Purchase orders accepted from recognized institutions.Personal checks OK but must clear before shipment. Shippedprepaid with cross-country orders sent by air. Shipping —normally within 48 hours. Washington residents add 5.4% tax.Our 16K STANDARD and Premium 16K PLUS board are alsoavailable through most computer stores.

fs«

Seattle Computer Products, Inc.

1114 Industry Drive, Seattle, WA. 98188(206) 255-0750

Circle 318 on inquiry card.

BYTE November 1978

69

Article! Policy

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

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

The new editor program was the last soft-ware project which I would implement whilehaving to put up with the older editor'sfaults.

Designing and Implementing the Program

I have a number of biases in the design ofeditor programs, biases which reflect thehardware I have and my philosophies ofinteraction. This is one of the reasons forengaging in a do-it-yourself design.

For example, I am personally devotedto that school of text editing which uses aminimum of keystroking, where single keysfor the most part are used to invoke allcommands. I am also committed to avoidingmy own stupid errors which can be dis-astrous if the wrong single key is pressed. So,I oriented the editor design to single key-stroke inputs which have three generalclasses of potential disaster if inadvertentlyinvoked.

There are benign functions which canalways be executed by mistake withouthurting the file. These are commands likeprint or go to the next line or back up thecharacter pointer or go to the beginning ofthe file. In each case, the command merelymanipulates file pointers without manyside effects. These commands are executedby single keystrokes.

A second class of functions are whatmight be called really serious because ofthe effects they may have on the file. Inthis class are found things like insert textat the current character location, replacetext at the current character location orexecute the macrostring. To protect thefile from inadvertent use, these commandsrequire use of the control or shift key onmy terminal to generate various ASCIIcontrol characters. The control key mustbe pressed at the same time as some otherkey, so a 2 key and 2 finger combination is

required, typically with the left hand on thecontrol or shift key and the right handpicking the particular command key.

And finally, there is a whole class ofpotentially disastrous commands like writethe file to disk, read the file from disk,assemble a program, load a program, jumpto an arbitrary address and so on. Thesecommands are typically invoked by a shiftor control character so that two keys mustbe pressed as in the previous class. Then, toprovide further protection, a message isdisplayed on the terminal requesting con-firmation with an arbitrary character. Anescape character can be input if the oper-ation is to be aborted before the text bufferis actually or potentially zapped.

Another example of a personal bias isthat the editor would have to have pro-visions for search and change operations,execution of macro strings of editor com-mands, and the ability to move blocks oftext around from one place to another inthe file. Not all editors (especially not thetypical BASIC interpreter's editor) have thissort of capability. Most separately availableprograms which go under the name oftext editor have these capabilities.

There is a myriad of much more detailedchoices involved in the design of a programfor text editing, for example: how to allo-cate memory, how to decode commands,internal coding conventions, provision forexpansion into a full operating systemmonitor within the framework of an editor.The educational results of the editor writingprocess are: a specific personal involvementwith complex questions, the necessity ofmaking the choices involved in the designwithin the framework of these questions,and a broader understanding of computing.So, if you want an answer to the question:"What educational and pragmatic projectcan I do with my computer?", my answerwould be, "write an editor.""

KEYBOARD: fully professional. Full 126 ASCII upper 'HE rJ'OU

& lower case characters with 79 keys including

a 16 key numeric pad.

CPU: Z-SO Processor

GRAPHICS: 64 pre-defined graphic

chars, and 64 user defined chars.

alternately all 128 graphic chars.

may be user defined. Resolution

240 x 512 points, cursor control,

and 64 chars, by 30 lines.

MEMORY: 4K byte power-on monitor, 8k

byre user RAM, and 8k byte PROM external

cartridge with Microsoft BASIC standard. Cartridges allow

you to change operating systems & languages without any

modification to the standard hardware by simply inserting a

See us of booth 233 at the West Coast Computer Faire.

For complete information write to: PERSONAL SYSTEMS CONSULTINGPhotography by Jomes 6 Linda Neufeld (714) 443-5353

PROM cartridge in a side slot.

I/O: serial RS232 300/1200 baud port, fullparallel port, dual cassette recorder port

at 300/1200 baud.EXPANSION: up to 32k RAM on board I/Oto S-100 extension box foradditional memory and any

other S-100 peripheral boards.PRICE: $695 (does not includeCRT or cassette.)8K RAM $695.00 available soon16K RAM $11 50.00 includes a directhook-up to your TV. available now.32K RAM $1395.00 available now.EDUCATIONAL AND CLUB DISCOUNTS AVAILABLEPERSONAL CONSULTANT AND DEALER INQUIRIES INVITED

P.O. Box 20266 El Cajon, California 92021

Ad Design, Joanne Oe Vore KwiK Kopy Printing #215

70

November 1978 ©BYTE Publications Inc

Circle 303 on inquiry card.

SOLID STATEMUSIC IS

We won'r mislead you any longer. SolidStore Music—fhe name is misleadingbecause we're so much more thanjust music synthesizer boards. We offerrhe widest line of S-100 boards in theindustry. Memory boards for RAM,ROM, and EPROM. Video interfaceand I/O boards, extender and mother boards, pro-totyping and vector jump boards, a new CPU board,and, of course, music boards. So we're changing ourname to SSM*

You've been enjoying fhe pleasures of our company

for over four years now. Few competitors con soy as

much. In fact, Solid State Music was building quality

boards when the first S-100 bus left the Altair® station.

As SSM* we will continue to offer boards that pro-

vide quality, flexibility, and good design. Boards thatrepresent value. Not the least expensive. Not the mostexpensive. Simply the best combination of price andquality available. That's SSM*

Solid State Music has been known for service. Fastdelivery ready customer support, and a strong prod-uct warranty Our name is changing. Our tradition ofservice is nor. Orders still shipped from stock. A oneyear warranty on assembled and tested boards, 90days on kits. And our people are still on hand, still gladto answer your questions.

Check out the Blue Boards of Happiness when you'reafter Solid State Music quality, reliability and flexibilitybacked by the friendly support of rhe oldest 5-100board manufacturer in the marketplace. If you liked usas Solid State Music, you'll love us as SSM*

357

2116 Walsh AvenueSanra Clara, CA 95050(40S) 246-2707

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

Circle 335 on inquiry card.

BYTE November 1978 71

A

You can rely on SCELBI publications. BecauseComputer info that is fun and exciting.Written and illustrated with YOU, the compute

IS

NEW!

"Learn Micro-Computers." Quickly, easilyand enjoyably. For the beginner justgetting started in microcomputers.

BYTE November 1978

Here are all the fundamentals behind the operation of virtually all micro-computers. Everything the beginner needs in one handy package. Containsthe popular book Understanding Microcomputers. Written in simple English.Clear. Concise. Accepted as the standard for the neophyte, you must ownthis 300-page no-nonsense, easy-reading text. Includes simple-to-useglossary of key microcomputer words. Companion cassette helps you getright into it. Chapter-by-chapter talking synopsis. Key review questions.{References to page numbers for further review. You'll gain extra knowledgeneeded for reading and understanding computer magazines, manufacturer'sliterature and to feel "at home" around computers. A great new ideadeveloped by the computer experts at SCELBI. Get Yours Now! At yourfavorite computer electronics dealer. Or order direct. Learn Micro-Computers,only $14.95. Paperback edition of book alone: $9.95. Hardcoveredition alone: $14.95. Shipping handling extra.* (Available after December 1)

they make sensel They're easy to read and understand.For the neophyte. The pro. The advanced wizard. Everyone,hobbyist in mind.

SCELBI's Software GourmetGuides and Cookbooks for''8080" and "6800"

Now you can cook up mouth-watering programs. Delectable"how to" facts include "8080" or"6800" instruction sets. How tomanipulate stacks. Flow charts.Source listings. General purposeroutines for multiple precisionoperation. Programming time delaysfor real time. And much, muchmore. Includes floating point arith-metic routines. Specify "8080" or"6800". Get your copy today!They're at your favorite computer/electronics dealer. Or, order direct.8080 Paperback: $10.95. Vinyl:$12.95. Hardcover: $14.95. 6800,Paperback only: $10.95.Shipping/handling extra.*

NEW!

Steve Ciarcia'shilarious newcomputer novel,"Take my computer

.. .please!"

An uproariously funny full lengthbook about Steve's true-to-lifemisadventures and his computer'sinability to cooperate. Read hisoff-the-wall attempt to beat theJai-Alai system. Or how he attemptsa stock market killing but logswrong info into his broker'scomputer. What happens whenSteve sets up a computerizedspeed trap? And page after bellylaughing page of nonsense, jolliesand even illustrations to bring thestories to life. 128 pages. Hardcover. You've got to get yours now!See it at your favorite computer/electronics dealer. Or, order direct.$5.95. Shipping/handling extra.*

The Z80 Instruction Handbooknow available!

Your complete guide to thepowerful Z80 instructionset. This handy, com-pact reference pro-vides a clear ex-planation. It's anever ready instantreference that canbe carried in yourpocket. Explainsthe instruction set,in meticulousdetail. Industrystandard mnemonicsare used throughout. Machinecodes are presented in both octaland hexadecimal format. A con-venient index lists all instructionsalphabetically along with machinecodes and timing information.Don't wait. It's available atcomputer and electronics retailoutlets or direct from SCELBI.Only $4.95. Shipping/handling extra.

Looking for holiday gift ideas? Give someone the worldof computers! Make it a SCELBI publication. Theymake excellent Christmas gifts. There's one justright for that special someone on your list.

Scelbi Publications

P.O. Box 133 PP STN, Milford, CT 06460(a division of Scelbi Computer Consulting,(203)874-1573

Inc.)

* Prices shown for North American customers. Master Charge.VISA, Postal and Bank Money Orders preferred. Personalchecks delay shipping up to 4 weeks Pricing and availabilitysubject to change without notice. IMPORTANT! Include 75cpostage/handling for each book delivered by U.S. Mail BookRate or $2 for each book shipped First Class or via UPS

Machine Language Puzzler

routine; the second value, Y, is passed tothe subroutine in the accumulator.

To call TIMOUTN, the following generalprocedure is used:

TIMOUT

Questions

PUSH AMVI A,#YCALL TIMOUTNPOP A

(a) What is the total time delay (calcu-lated in machine states) obtainedfrom TIMOUTN if:

Christopher Strangio

CAM I Research

43 Bailey Rd

Watertown MA 02172

Subroutine "TIMOU1 N" is used to intro-duce a time delay in the execution of a mainprogram. The program, written in 8080assembly language, is shown as follows:

t

TIMOUTN:

PUSH B

10

MVI B.#X

5

OCR A

5

LOOP:

CPI 0

5

CNZ TIMOUTN

10*

ULH B

5

JNZ LOOP

10

INR A

5

POPB

10

HET

10

Assume that this many total machine states are re-quired for each instruction. Note that the callinstruction marked * has been arbitrarily assigneda fixed time of IO to simplify the calculation.

Two numerical values are needed byTIMOUTN to define the delay period. Thefirst value, X, is loaded with an MVI (moveimmediate) instruction inside the sub-

1) X = 1 and Y = 1

2) X = 2 and Y = 1

3) X = 1 and Y = 2

4) X = 2 and Y = 2

(b) Which instructions determine thebasic period of delay in TIMOUTN?What is the period of the basic timingloop?

(c) It is interesting to note that if X = Y= hexadecimal OF, the time delayprovided by TIMOUTN would beapproximately 416,000years (assum-ing the processor clock period is 1 /usper state)! Under these conditions,what is the maximum number ofbytes by which the stack would growduring the execution of TIMOUTN?(If X = Y = hexadecimal FF, thetotal time delay would be far longerthan the known age of the universe,about 4 billion years!)

(d) The period of the basic loop, foundin part (c), can be labeled Q. In termsof X, Y, and Q, write a simple alge-braic equation that approximate-ly describes the total delay ofTIMOUTN. The answers to thispuzzle are found on page 138. Butdon't go there just yet; try puzzlingout the answers first."

CONTEST!

4

entry form:

! Attached is my application for the Controfkw! Board.

1

1

11

1

MULLEN Computer Products

BOX 6214, HAYWARD, CA 94545

Since we redesigned the Reiay/Opto-isolator Control Boardand brought its price down to $88. we've heard about lots ofapplications. Robots. Solar energy. Model railroads. Discolights. Time lapse photography. Even an automatic cat feeder.

But we want more applications to include in our continuingseries of applications notes, and this is where you come In.

In case you haven't seen our Controller Board, it includes 8reed relays that respond to an B bit word; additionally, 8 opto-isoiators accept signals from the outside world for hand-shaking or further control purposes. In essence, you have aswitching system with all the Intelligence of a computer atyour command.

So, let your imagination run wild, then tell us your idea foran application ... you just might win a free way to implementthat idea.

Contest Rules: For further information on Mullen Computer Products, visit your localcomputer store or write us All entries must oe postmarked no later than midnight, Dec.15,19r*S, and become property of Mullen Computer Products Entet as often as you wish.Duplicate prizes awarded In case ot tie. Please prlnl your name clearly on the entry. Try tokeep descriptions short, but If you get carried away describing some fantastic schemewe'll understand. Good luck, and we look forward to hearing from you.

74

November 1978 © BYTE Publications Inc

Circle 267 on inquiry card.

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.

^^ ^^| Technics

lis

ScfiiuaraSniivir

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 aproximately 5.5K plusfile and symbol table space.

SL68-24

SL68-24CSL68-24PSL68-24DSL68-24F

SL80-10

6800 Text EditingSystemw/cassetew/paper tapew/mini flex discw/flex disc

8080 Text EditingSystem

SL80-10P w/paper tapeSL80-10F w/ CP/Mdisc

Space Voyage

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

6800 Disassembler

SL68-27CSL68-27P

w/cassettew/paper tape

$23.50$30.45$31.50$31.50$50.00

$28.50$37.50$40.00

$18.95$19.00$19.00

$15.95$13.00

SL68-29

SL68-29C

SL68-29P

SL68-29DSL68-29F

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

$32.00$38.95$40.00$40.00$75.00

$32.00$41.00$50.00

SL68-26

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

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

SL80-11 8080 Text ProcessorSL80-11P w/paper tapeSL80-11F w/ CP/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 1K in length.

$23.50$30.45$31.50$31.50$50.00

$25.00$34.00$40.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

SL80-12 8080 Mnemonic

AssemblerSL80-12P w/paper tapeSL80-12F w/ CP/M disc

All programs include complete sourcelisting. Cassettes are in the Kansas Citystandard format.

All orders should include check or moneyorder. Add 3% for postage and for ordersunder $10, please add $1 for handling.Send 25* for a complete softwarecatalog.

6800 Floating Point Package

SL-68-4 Floating Point

Package $6.50

SL68-4P w/paper tape $9.50

Technical SystemsConsultants, Inc.

r^y\ Box 2574 W Lafayette. IN 47906

Specialists in Software & Hardware for Industry & the Hobbyist

Circle 370 on inquiry card.

BYTE November 1978

75

Photo 7: A stepper motor controlled scanning sensor capable of detectingboth infrared and visible light. A photo detector is mounted at the focal pointof an inexpensive parabolic solar cigarette lighter. The computer controlledunit is capable of following a moving flashlight, detecting headlights in adriveway, and many other applications.

I've Got You in My Scanner!

A Computer Controlled Stepper Motor Light Scanner

Gispcis's

Qipcuit

Qellsp

Steve CiarciaPOB 582Glastonbury CT 06033

"Boy, sitting here is really relaxing, isn'tit, Lloyd?" I leaned back in the recliner andlooked out of my living room window at thedense forest no further than 30 feet fromwhere we sat. The sliding glass doors wereopen and occasionally some furry littleanimals could be seen darting in and outthrough the underbrush feverishly searchingfor dinner. The setting midsummer suncreated an orange and yellow backgroundfor the beautiful scene. I wondered why Ihad ever waited for five years before movingout of the city. All that noise and conges-tion. This was so peaceful.

"It's very nice up here, Steve. I especiallylike the big driveway. You have lots of roomto park cars. When are you going to chopdown all these trees and put in a lawn likeeverybody else?"

Although I was not actually far enoughremoved from such suburban beatitudes toscoff with impunity, I piped back, "Bah! Wemoved out here to get away from the rest ofthe world. The last thing I want to do is bereminded of civilization, whether that meanspeople or grass." The alternative I much pre-ferred was to turn into a leaf shrouded com-

puter hermit. "Lloyd, if I could figure a wayto put in a moat with alligators, I'd do it," Isaid, tongue in cheek.

Such was the tone of our conversationfor the next few hours. Whenever Lloyd ven-tured into the Connecticut wilderness (as hecalled it) he would stop by and visit me.Because of Lloyd's practical knowledge ofcomputer related subjects I often used himas a sounding board for article ideas. Hisdiplomatic responses sometimes disguisedhis opinions so tactfully, though, that Iwasn't always sure what he really thought.

Before we knew it the sun had set andwe were enveloped in darkness. The moon-light cast a silvery glow across the tops ofthe trees but hardly penetrated to the under-brush. But the moonlight was of small con-sequence to us. Even with the additional dimlight escaping from the next room there wasbarely enough illumination to discriminatefacial expressions, but there was sufficientbacklighting for the little night creatures toobserve us. Having lived in my new housefor two months I had finally become accus-tomed to the nocturnal sounds and nolonger experienced heart failure whenever I

76 November 1978 © BYTE Publications Inc

hhm

^■?*$

(Blaise Pascal

ik] 1662

W

~<i

*'/•-•

■

^

£@

/**

P

M**"*

THE NMS 85 SERIESNORTHWEST MICROCOMPUTER SYSTEMS

CLASSIC OEM DEVELOPMENT TOOLS

85/P - $7,495

8085, 3MHz, 54K User/10K System Memory1.2 Mb Dual Density Floppies, 4ms Step, DMAKeyboard, RS232 Ports, Pascal, BASiCs, AssemblerOPTIONSFast Floating Point APU, 5MHz Timers,Ports, Modem, Clock™BOL, FORTRAN, Sort, Decimal, Graphics

VINTAGE TURNKEY BUSINESS SYSTEMS

• Accounts Receivable: Billing, Aging,Full Forms Data Entry

• Word Processing: Screen Edit, Search,Justification, Page Numbering,Headings, etc.

• Client Information Management*

• General Ledger

• Fuel Dispensing and Accounting

121 EAST ELEVENTH, EUGENE, OREGON 97401 (503) 485-0626

Circle 286 on inquiry care

BVTL November 1978 77

I saw a form way off in

the darkness. It was

definitely an erect biped

moving through the

trees. . . .

detected a pair of eyeballs peering at mefrom between the tree limbs. It was, afterall, the domain of the owl and deer and Iwas the intruder.

I was less sure of the effect on Lloyd.Far away from the accustomed roar of jetsat JFK and the traffic jams on the LongIsland Expressway, he was suddenly veryquiet, almost subdued, as he stared out thewindow into the darkness. Suddenly his eyesbecame focused on something in the dis-tance and, gripping the arms of the chairtightly enough to leave an impression, hecraned his neck to get a closer look. Some-thing had obviously attracted his interest.

"I saw something!" he said.

"It's probably some possum checking usout or some other small animal after thedinner scraps I put outside."

"No, it's no animal. At least no small one.I thought I saw a light too. How many pos-sums glow in the dark?"

"Don't be an alarmist. There's nothing toworry about."

"Look, there it is again, Steve! I thinksomeone's out there."

I, too, saw a form way off in the dark-ness. It was definitely an erect biped movingbetween the trees and making considerablenoise as it went.

We jumped from our chairs and crouchedtogether looking out through the screen. Thesame thought came to both of us: "Is itBigfoot?!"

"Wait a minute," I said in a hushed tone."This is Connecticut. That's absurd! Howcan it be Bigfoot? Besides, since when doesBigfoot carry a flashlight?"

The bright beam of a flashlight shot fromthe stranger's hand. The dim light revealed alarge man in coveralls dragging a heavy sackand carrying something over his shoulder.

"He must have a gun!" Lloyd gulped, andwe both dropped to floor level. "Quick! Callthe police or something! Better yet turn onthe outside flood lights. Maybe it will scarehim away."

"Look, Lloyd, if you want to become amoving target walking across the room tothe light switch go right ahead."

"How come your burglar alarm hasn'tturned the lights on?"

I thought about the alarm system for amoment and then answered, "I've got sen-sors all over the driveway and the road lead-ing to the house. I didn't put them out inthe woods because it's more likely thatsomeone would come down the road ratherthan hike through the woods."

"How come nobody to\d him that?"

"Look, it'll pick him up anyway if hecomes within 50 feet of the house."

Before Lloyd could reply, the man in the

woods stopped in a clear area. The objectslung over his shoulder wasn't a gun, but ashovel. He started to dig.

"Steve, do you think he's burying a body?"

I gathered up what courage I couldand decided to go out and confront theperpetrator before my front yard looked likethe aftermath of Dunkirk. "Come on, let'sfind out what he's doing."

As we approached, the man ignored ourpresence and kept digging. Occasionally hepointed his flashlight into the hole, thendumped the contents of the shovel into thesack. Was there buried treasure on myproperty?

"Excuse me, sir? Excuse me?" I saidsoftly but with resolve. When I did not re-ceive a response I stepped closer and re-peated a little louder, "Excuse me, sir?!"

"Shhhh, Sonny! Da ya wanna scare allthese critters away? It's hard enough mak-ing a living these days without everyonegetting into the act. This here is my mound,Sonny!"

Mound? Sonny? I listened to his voiceclosely now and examined his features asbest as I could in the moonlight. His accentwas definitely Maine — deep woods Maine,and I put his age conservatively at 70. Heseemed harmless enough, but I still had someunanswered questions.

"Sir, do you mind telling me what you'redigging?"

He swung the shovel up over his shoulderand turned toward me. His face was weather-beaten and aged, yet there was a youthfulglint in his eyes. The gravity of the situationevaporated as he answered, "Worms."

"You're digging what?" Lloyd chimed in.

"Worms," he answered again. "This heamound," he pointed at the area where hewas digging," is one of the best night crawlermounds in the county. Youst to be a farmaround here, few yease back. This was thecompost heap. Worms love it, ya know." Hechuckled as he explained the worm breedingbusiness to us city slickers. "I been diggin'around here off an on for 30 yease. Thensomeone came along and put a house on it."He pointed a boney finger at my place.

"I had no idea . ..." I said, somewhatembarrassed.

"No matter . . . them's still my worms! Igot ten spots just like this one and I'm trans-plant^' my worms. You know what a nightcrawler like this is worth around here,Sonny?" He reached into the hole and sud-denly I had a handful of worms held in myface. I took great care to take shallowbreaths lest I accidentally gasp and inhaleone of the squirmers.

"No sir. I don't fish."

"Well, they're worth plenty. And I got to

78 November 1978 © BYTE Publications Inc

dig a lot of them durin summa cause thereain't no worms in winta, Sonny."

His logic was irrefutable. He obviouslyearned his living at this. I felt a bit sad forthe old codger. His digging really wasn't aninconvenience as long as he only took theworms and left the dirt. I didn't knowenough about night crawlers to know thebest time of night for harvest but I was surewe could work something out. I held myhand out to his and said, "You don't haveto transplant your worms. What's a fewworms between friends?"

A Modification to the Alarm System

At the conclusion of this episode Icouldn't help but be concerned about thedetection logic of the sophisticated alarm Ihad installed. There were sensors acrosscritical points in the driveway and the roadleading to the house that could detect thepresence of a car or person. But, because ofthe likelihood of false triggering by wildanimals, I hesitated to place similar detectorsin the woods surrounding the house. I hadthought the woods were impassable, but Iguess I was wrong. The common denomina-tor for anyone trying to make it throughthose woods at night is the necessity of alight. It should seem easy in principle tojust place a light activated switch out thereand activate the sequence when it detectssome light source. Unfortunately, since thesensitivity would have to be relatively high,it would no doubt be accidentally triggeredfrom lightning bolts and wayward fireflies.Complex integration and delay logic couldbe incorporated which would eliminatemany false alarms but light level is still theonly detection quantity.

Since a light source such as a flashlight ormotor vehicle would have to move to ap-proach the house, motion is another neces-sary parameter to consider. Most motiondetection systems are passive beams whosesequential interruption triggers an appro-priate response to a time and distancealgorithm. Such a system of infrared orvisible light beams, sufficient to protectfour or five acres of property, would beprohibitively expensive if it incorporated alaser light source, and probably couldn'twork reliably without one.

If we accept the premise that anyonecoming through the woods on my propertywould need a flashlight or lantern, etc, thento detect the presence of an intruder re-quires a combination of light level andmotion.

There are a number of methods thatachieve the desired result. The most straight-forward is to use a television camera, digitize

THE BLUE BOARDOF HAPPINESS

It's the new 8060CPU boord from SSM.

It's blue. And it's loaded.

(That's why it's happy.)

Loaded with so many features.

Just add on I/O board and

you've got o computer.

loaded starts with 256 bytes of on-board RAM.Add 2K of optional on-board 2708 EPROMs.Then add a power-on/reset jump circuit, and theavailability of MWRITE, allowing use without afront ponel.

And then there's o parallel input port withstatus. And enough DIP switching to moke 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, the S-100 compatibleCB-1 includes gold-plated edge connectors andT) low-profile sockets. And SSM support ond war-ranty Yet, even as loaded as our CB-1 is, theprice won't leave you breathless. Only $144.95.And on introductory offer at only $129.95makes it even happier. (Offer expires Novem-ber 30. 1978.)

Available at over 100 retail locations, or directfrom SSM.

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

SSM manufactures a full line of S-100 boards.How full? Too full for this ad. Just check the adacross the page.

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

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

Circle 335 On inquiry card. November 1978 © BYTE Publication! Inc 79

Circuit Cellar experimental setup showing the parabolic scanner as it detects a candle.

the image, and after adjusting for ambientlight changes, compare it to a previous digi-tized image. Many of the most sophisticatedalarm systems incorporate this feature. Whileit is not beyond the capability of the morethan modest home computer, it would beexpensive in this application.

If You're Trying to Detect Motion —Move the Detector

Detecting motion with a light level sensorrequires that a quantity of them be placedthroughout the detection area. As the sourcemoves, the relative light levels reaching allthe sensors can be plugged into an equationand the location of the source computed.Tracking an object is simply a case of repeat-ing this snapshot technique a number oftimes. Unfortunately, the concept is about

the only part that's simple.

An alternative approach is to point alight sensor at a source and then move thesensor to a new location. If eventually thesource is again detected in this new positionthe source must have motion! This of coursepresumes that there aren't so many sourcesthat placement of the sensor inadvertentlycoincides with a stationary source. Small butdiscrete steps of sensor displacement willincrease the resolution of this method.

Build a Light Sensitive Scanning System

I wish to back off a bit at this point andexplain that this design is not merely amotion detection system. That is one of itsnumerous applications and, as previouslystated, it is the idea that prompted its devel-opment. The design is a simple, yet effective,

80

November 1978©BYTE Publications Inc

::;;;:: ::--:nW?ft;5;fKf3ila:

HBHHk

">},

We Start With A PriceThat's Hard To Beat.

But We Don't Stop There.

Central Data Corporation has combined the benefitsof new technology and high-volume company salesto bring you a RAM board with more features andproduct options for less money.

Lower Prices

More Memory Capability

To begin with, we've reduced the price of our 16KRAM board by $40 to $249. At $425—a pricereduction of $50—our 32K board costs less, too.Plus, we now offer a full 48K memory board for$599. These boards are expandable to 64K at aprice of $ 185 per 16K package. Or you can startright out with a full 64K board for $775.

Improved Board Design

We've also added improvements to the board designat no extra cost to you.

•Deselectable in 2K increments. Our deselectfeature enables you to switch off any 2K to avoidoverlap with your existing memory.•Fully socketed memory. This feature enables

you to expand the memory board yourself.• Plug selectable addressing. Now you canre-address without soldering

Other Standard Features

•Power-saving dynamic board with on-board

invisible refresh•One-year guarantee on parts and labor•S-100 and Z-80 compatible

Specifications

Storage CapacityAddressingMax. Input LoadOutput BufferingAccess TimeCycle TimeWait States GeneratedMaximum DMA Rate

Power Consumption

+ 16 150ma

+ 8 300ma

-16 20ma

Other Products From Central Data

16K,32K,48K, or64K

16K boundaries

One LSTTL load

On all data lines

450ns

480ns

None

1 Mhz

Central Data also offers, fully-assembled and in kits,a range of other computer products including(pictured above) our 2650 microprocessor, softwarepackages, TV/Monitor, ASCII keyboard, and (notpictured) floppy disk system, to name just a few.

For More InformationTo Place an Order

We welcome any questions you have about our RAMboards or other products. To place an order, or formore information contact:

Central DataCorporation

P.O. Box 2484, Station AChampaign, IL 61820Ph.(217)359-8010

Place orders prepaid or COD. Delivery is stock to 30days with shipping and handling prepaid in Con-tinental United States. Please include phone as wellas name and address.

Circle 45 on inquiry card.

BYTE November 1978

81

PARABOLICREFLECTOR

AND SENSOR

C_^>

INPUT

SIGNAL

CONDITIONER*

STEPPER

MOTOR

CONTROLLER

c

8 BIT

ANALOG TODIGITALCONVERTER*

*SEE FIGURE 2

0

PARALLELINPUT PORT

COMPUTER

AND

BASIC PROGRAM

PARALLELOUTPUT PORT

Figure I: Block diagram of closed loop optical scanning system. The three main sections are the optics, consisting of a parabolicreflector and visible and infrared detector, the signal conditioner and input interface, and the stepper motor.

Photo 2: The parabolic reflector, used to gather light for detection by thephoto detector.

Photo 3: Closeup of the photo detector glued to the pronged holder.

light sensitive scanning system, A sort ofpassive radar (radio detecting and rangingsystem) if you will. It incorporates a sensi-tive visible and infrared light detector thatis highly directional, In addition, it has theability to accurately position itself on arotational axis and sweep a wide area, muchlike a radar.

Figure 1 is a block diagram of the device.The scanning system consists of three primecomponents: optics, including sensor andreflector; signal conditioner and input inter-face; and finally, for closed loop control, arotational positioning mechanism consistingof a 7.5° resolution stepper motor. The com-pleted unit allows the computer to positionits sensor in a known direction, read an ana-log value of the light level in that direction,and move to another point or track a mov-ing source (more on this later).

The prime consideration in any light de-tection system is the optics To take fulladvantage of any positioning mechanics, thelight sensor must be highly directional Thisis usually done with a series of lenses, thewhole affair resembling a telescope. Thistechnique is quite expensive and heavy.Instead of lenses, a highly polished parabolicreflector can be used to concentrate thelight. One such device ideal for this applica-tion is an inexpensive parabolic mirror soldby Radio Shack for under $2 as a solarcigarette lighter. The unit, shown in photo 1,has a fork tipped hinged prong which ex-tends from the center to hold the cigarette.Already designed to be at the focal point ofthe mirror, it serves as the perfect mountingbracket for the photo sensor. A GE I 14F2infrared photo Darlington inserted into aphenolic sleeve is glued to the cigaretteholder at the focal point as in photos 2 and3. The lens of the photo sensor should facethe reflector

While the photo detector is infrared bydesign, it is highly sensitive to visible lightas well. By choosing the infrared unit, a de-

82 November 1978 © BYTE Publications Inc

im-pak

electronic components

KITS

Regulated Power Supply

• Uses LM 309K

• Heat sink provided

• P.C. board construction

• Provides a solid 1 amp @ 5V

• Includes components, hardwareand instructions

• Size: 3-1/2" x 5" x 2" high

JE200 5vlamp *14.95

Function Generator Kit

**5

JE2206B

* Provides 3 basic waveforms:sine, triangle & square wave

* Frequency range from 1 Hz to100KHz

* Output amplitude from 0 voltsto over 6 volts (peak to peak)

* Uses a 12V supply or a ± 6Vsplit supply

* Includes chip, P.C. board, com-ponents and instructions.

*19.95

Digital Stopwatch Kit

4 Digit Clock Kit

W If if

^^

POCHE1

UtCtKESC

BJOPHHIOi

Inmeco

utuiiijsjaaj

• Use Intersil 7205 Chip

• Plated thru double-sidedP.C. Board

• LED display (red)

• Times to 59 min. 59.59 sec. withauto reset

• Quartz crystal controlled

• Three stopwatches in one:single event, split (cummulative)and taylor (sequential timing)

• Uses 3 penlite batteries

• Size: 4.5" x 2.15" x.90"

JE900

*39.95

* Bright .357" ht. red display

* Sequential flashing colon

* 12 or 24 hour operation

* Extruded aluminum case (black)

* Pressure switches for hours, minutes and hold functions

* 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

Jumbo 6 Digit Clock Kit

• Bright .300 ht. common cathode display

• Uses MM5314 clock chip

• Switches for hours, minutes and hold functions

• Hours easily viewable to 20 feet

• Simulated walnut case

• 115 VAC operation

• 12 or 24 hour operation

• Includes all components, case and wall transformer

• Size: 6-3/4" x 3-1/8" x 1-3/4"

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

JE701

*19.95

JE747

*29.95

AVAILABLE AT YOUR LOCAL J|^ DEALER TODAY!!

For Dealer Information, write or phone JIM PAK; 1021 Howard Avenue, San Carlos, California 94070 Ph. (415) 592-8097

Circle 201 on inquiry card.

BYTE November 1978 83

Figure 2: Optical signalconditioner and analog todigital converter that con-vert light input into aproportional digital out-put. The analog to digitalconverter shown wasdescribed in "Talk toMe: Add a Voice to YourComputer for $35," bySteve Ciarcia, June 1978BYTE, page 142.

GE LI4F2PHOTO SENSOR

8 BIT SUCCESSIVEAPPROXIMATIONANALOG TO DIGITALCONVERTER

PARALLELOUTPUTTOCOMPUTER

•Raising the value of this resistor will increase sensitivity. Lowering it will reduce sensitivity (range of resistor values is 4.7 k to 3.3 Mf2 ).

100

110120130140150160170180190200210220230240250260

tection system can be designed that utilizesthe best of both spectra.

The output of the photo sensor is essen-tially a current proportional to the lighthitting it. The signal conditioner section offigure 2 converts this to an analog voltagelevel. The sensitivity of the photo detectoris governed by resistor R1; changing thisresistance value will affect both sensitivityand dynamic range. For the computer toread this voltage it must be converted to adigital quantity. While in theory any method,such as voltage to frequency, or voltage topulse width, etc, could have been used, I'm

REM INFRARED SENSOR TEST PROGRAM

REM

REM

REM THIS PROGRAM CAUSES A SOUND SOURCE ATTACHED

REM TO LSB OF PORT 14 TO -BEEP- WITH A PERIOD PROPORTIONAL

REM TO THE AMOUNT OF LIGHT SEEN BY THE LIGHT SENSOR

REM REU. 1.1 S.CIARCIA

REM

OUT 16.0

X=INP<16)

IF X<230 THEN GOSUB 220

GOTO 190

OUT 16.255

FOR T=0 TO X+S

NEXT T

OUT 16,0

RETURN

Listing I: Program written in Micro Com 8 K Zapple BASIC that reads thelight level from the analog to digital converter and converts it to a propor-tional pulse width on output port 16 (in my particular system configuration).

CONTROL [Z>

0-OFFl-ON

Power connections: +5 V: pin 14Gnd: pin 7

Figure 3: Sound source circuit (use with optical scanner test program above).

84 November 1978 © BYTE Publications Inc

a purist. The output of the signal condi-tioner is fed to an 8 bit successive approxi-mation analog to digital converter. Thedetails of this design were outlined in theJune 1978 Ciarcia's Circuit Cellar in anarticle entitled "Talk to Me!" (page 142).Two slight modifications were made to thecircuit for this application. The sample ratewas reduced by placing a 0.01 nF capacitorin parallel with the 150 pF componentalready between pins 1 and 6 of IC1, and theoffset potentiometer was readjusted toallow full scale unipolar operation (ie: 0 Vinput would give hexadecimal 00 output and+5 V input would give hexadecimal FFoutput).

The parallel output of the analog to digi-tal converter is attached to an 8 bit parallelinput port. Either an assembly language or aBASIC program can be used to read and dis-play this quantity by querying the inputport (input port 16 in my examples).

Exercising the device with a BASIC pro-gram is relatively straightforward. Listing 1is a program written in Micro Com 8 KZapple BASIC which reads the light levelfrom the analog to digital converter and con-verts it to a proportional pulse width onoutput port 16. If a Sonalert or the circuitof figure 3 is attached to the least significantbit of port 16, it will beep. The beep ratewill change as the reflector is pointed towardvarious light intensities. Printing out theanalog to digital conversion value will givean accurate account of the sensitivity anddynamic range.

Add a Stepper Motor for Positioning

Now that we have an effective light sen-sor, we must add rotational mechanics toprovide sweep. The simplest method for ro-tating this relatively lightweight reflector isto mount it directly on the shaft of a steppermotor.

An inexpensive stepper motor is available

Radio Shack's personal computer system?This ad just might make you a believer.

You can't beatthe 4K system at

$599

.. or the step-up16K system at

$899

... or the fast4K/printer system at

$1198

...orthe Level-ll

16K/printer/disk

system at

$2385

TRS-80 "Breakthru"

• TRS-80 microcomputer

• 12" video display

• Professional keyboard

• Power supply

• Cassette tape recorder

• 4K RAM, Level-I BASIC

• 232-page manual

• 2 game cassettes

■cjpflEKIr **: ^^81 •*•■»

J^-s* , '^^^"^

TRS-80 "Sweet 16"

• Above, exceptincludes 16K RAM

TRS-80 "Educator"

• Above, exceptincludes 4K RAM andscreen printer

TRS-80 "Professional"

• Above, exceptincludes 16K RAM,disk drive, expansioninterface, andLevel-ll BASIC

So how are you gonna beat the system thatdoes this much for this little? No way!

... The amazing new

32K/Level-ll/2-disk/

line printer system at

$3874

TRS-80 "Business"

• Above, exceptincludes 32K RAM,line printer,and two disk drives

Get details and order now at Radio Shack stores and dealers in the USA, Canada. UK, Australia, Belgium, Holland, France, Japan.Write Radio Shack, Division of Tandy Corporation, Dept. C-098. 1400 One Tandy Center, Fort Worth, Texas 76102. Ask tor Catalog TRS-80.

Radio /hack

The biggest name in little computers

BYTE November 1978 85

Photo 4: North American Philips stepper motor, Model K82944-MI, and theSAAJ027 controller circuit used to drive it. Cost for the two pieces is lessthan $20.

+ I2VA

•100ft

£

IV

COMPUTER

OUTPUT

PORT 16

bo o-

O

b2 O-

• ioon

STEPPERMOTOR * *

04Q3

SAAI027*R Q2

*N0RTH AMERICAN PHILIPSSTEPPER MOTOR CONTROLLER

TJ?

GRY

'I 8LK

2'| RED

'Iblk

**NORTH AMERICAN PHILIPSK82944-MI 7 1/2° PER STEPI2VDC STEPPER MOTOR

Figure 4: Connecting the stepper motor to the integrated circuit controller.

from North American Philips. This unit(shown in photo 4) is relatively small, and asingle integrated circuit controller is all thatis needed to interface it to a computer. Theparticular unit in this article is a 12 VDC7.5° stepper motor. This means that thereare 48 steps per revolution, and, if one weretrying to scan a 180° field of view, thestepper should oscillate between 24 clock-wise and counterclockwise steps. This wouldgive the impression of "sweep."

The electronics of the stepper are out-lined in figure 4. Three bits of a paralleloutput port are necessary to control thedirection and speed of the motor. The threesignals are S, R and T, for set, rotation andtrigger. When first engaging the motor itshould be set to a known condition by puls-ing the set input low while keeping thetrigger input high. Once initialized, the direc-tion of rotation must be chosen. This is doneby setting the R input low if clockwise rota-tion is desired and high for counterclock-wise rotation. An actual step is initiated bysimultaneously making a 0 to 1 logic tran-sition on trigger input T. By repeatedly tog-gling this bit, continuous motion will result.The stepper motor in this article is capableof 200 steps per second.

A BASIC program which drives thestepper motor and demonstrates the sweepaction is outlined in listing 2. It initializesthe stepper, drives 25 steps clockwise, waitsa short period, and then returns to its initialposition.

Making a Scanning System

too

110120130140ISO160170180190200210220230240250260270280290300310320330340350360370380390400410

REM

OUTREMREMREMFORREMOUTGO'

IS PROGRAM DRIVES THE STEPPER MOTOR IN A BACK AND FORTH MOTION. 1 (OUT 16,255 :REM PRESET STEPPER CONTROLLER

GOD

BI16IIBOUT 16NEXT DREM

REM REFOR SIGOSUBNEXT SOUT 16REMFORREMREMOUTGOSUBOUT 16NEXT I)GOTO 1REM

REM INREM DEFOR TNEXT TRETURN

GO

n«

HI

GO16

STEPS CLOCKWISE0 TO 24T 2 IS SET HIGH AND BIT 0 IS TOGGLED TO GO CLOCKWISE

r 5

590

,4

TURN SCAN DELAY

«0 in 10

390

1

,1 lOUr 16»255

25 STEPS COUNTERCLOCKWISE0 TO 24TS 1 AND 2 ARE HELD HIGH AND BIT 0 IS TOGGLED TO

COUNTERCLOCKWISE,7390

6

10

BETWEEN STEP DELAY TIMERLAY TIME SET BY VALUE OF Tl0 TO 5

Listing 2: A BASIC program that drives the stepper motor and demonstratesthe sweep action. It initializes the stepper motor, drives 25 steps clockwise,waits a short period, and then returns to its initial position.

To produce a closed loop controlledscanning system, the reflector and photosensor are attached to the stepper motorshaft by any convenient means. I glued thereflector to a sleeve which attached to theshaft of the motor. The concept of closedloop control comes from the ability of thisunit to position itself, take a light reading,and perform some further action as a result.This could be to step to a new location orto stop and remain stationary on any sourceabove a certain light level.

Listing 3 is the BASIC program of suchan exerciser which seeks out and points at alight source. As the parabolic reflector stepsthrough its sweep, it checks the reading ofthe analog to digital converter and comparesit to a set point. If the set point is exceeded,the program will stop stepping and point atthis source. Should the light be extinguishedor obstructed, the sweep resumes until itfinds another source of sufficient intensity.

This is a rather rudimentary program butit incorporates all the basic structure towhich enhancements such as motion detec-

86 November 1978 <D BYTE Publications Inc

*279=16K

of static S-100 memory

Our Econoram IV"" "unkit" comes withsockets and bypass caps pre-soldered into placefor easy assembly. Plugs into any S-100 bussmachine. Features under 2000 mA current,complete buffering, fully static operation, andour enviable reputation for reliability under alloperating conditions.

Assembled and tested, $314; qualified under the CSC program*, $414.

1445=24K

of static S-100 memory

Econoram VII"" is an "unkit" that has socketsand bypass caps pre-soldered into place. Thisfull feature memory is configured as two 4K andtwo 8K blocks for maximum flexibility, boastscurrent consumption under 2000 mA, andfollows our design policy of fully static opera-tion with complete buffering.

Assembled and tested, $485; qualified under the CSC program*,

$605

•(Certified Systems Components boards are assembled, tested, serial numbered, burned in for 200 hours, andguaranteed to run at 4 MHz over the full temp range. We exchange board if failure occurs within 1 year of invoicedote.)

ATTEN,T!,PN-

"radio shack- *trs-80 and heathjh8 owners^

MEMORY PRICES ARECOMING DOWN!!

Our TRS-80 Conversion Kit chip set isnow only $159 (3 kits for $450). It not onlyupgrades your mainframe from 4K to 16K, butcan also populate the memory expansionmodule with extra memory. Works with APPLEcomputers too. We include full instructions forthe TRS-80 conversion, and back up our partswith a 1 yeor warranty.

Heath H8 owners are recognizing that our12K Econoram VP\ designed specifically forthe H8 buss, offers a superior memory value at$235. Now you can buy two of our 12Kboards on special for $399 (price goodthrough cover month of this magazine). Theseare "unkits" with sockets and bypass caps pre-soldered in place. Need we say more?

MOTHERBOARDS

.n-nr nr»n Tr T

*135

of static S-100 memory

Econoram llim is our biggest selling kit to date,thanks to the cost-effectiveness it brings to theS-100 buss. Features low current consumption,high speed, full buffering, and the same perfor-mance that has made Econoram one of the bestselling peripherals in the business.

Assembled: $155. Quantity kit price: 3/$375.

ALL OF THE ABOVE ARE AVAILABLE FROM STOCK. Coming soon: 32K boards (or the S-100buu, tho Intel Notional 80/10 and 80/20, and the Digital Croup . . . plus a dual UART S-100 I/O boardand our now family of S-100 Econoramt. Watch this space, or inquire about price and availabiiity.

ACTIVE

TERMINATOR

O&.9.01I (kit)

Active termination draws much less power thanpassive termination, and minimizes the glitches,noise problems, crosstalk, ringing, and othergremlins that can occur with unterminated busses.Plugs into any S-100 computer. Many have copiedour technique; few can match our low price.

;

Circle 1 50 on inquiry card.

lompuKit

TERMS: Cal res. odd tax. Add 5% shipping, ex-cess refunded. COD orders OK with street address forUPS. Visa^/Masterrharge* orders call our 24-hr.order desk at (415) 562-0636. Thank you for yourbusiness.

11 slots, with active termination circuitry, heavypower/ground traces, and all edge connectors: $90in "unkit" form (edge connectors are pre-solderedin place, making assembly a cinch). Need moreslots? Our 18 slot motherboard "unkit" includes allthe above along with 18 edge connectors for $124.

MULLEN RELAY/0PT0-IS0LAT0R CONTROLR0ARD $88 .

8 reed relays respond to an 8 bit word (relays can alsodrive Mullen 500 Watt AC control modules for power ap-plications); 8 opto-isolators receive outside world signalstor handshaking or further control purposes. Applicationsinclude audio, time lapse photography, robots; one usereven devised an automatic cat feeder. At our new lowprice, you can afford to let your imagination run wild.

MULLEN EXTENDER R0ARD

buu (kit)

From Mullen Computer Products. We now carry the im-proved version that includes a built-in "kluge board" areain addition to the integral logic probe and ingenious edgeconnector. Greatly simplifies servicing and testing . . .when it comes to extender boards, it would be hard to im-prove on this unit in terms of either price or ease of use.

BILL GODBOUT ELECTRONICSBOX 2355, OAKLAND AIRPORT. CA 94614

BYTE November 1978

87

1001101201301401501601701801902002102202302402502602702802903003103203303403503603703803904004104204304404504604704804901500510520530540550560570

REMREMREMREMREMREMREMREMOUTFOROUTREM

THIS PROGRAM SIMULATES A CLOSED LOOP -RAOAR-

11 SCANS BACK AND FORTH 23 STEPS IN EACH DIRECTION

LOOKING FOR A PRESET LIGHT LEVEL EITHER PRODUCT IJ BY

OR REFLECTED FROM SOME OBJECT IN ITS SCAN PAIH

IT WILL STOP SCANNING AND REMAING POINTING AT ANY SUCH

OBJECT IT FINDS. IF THE OBJECT MOVES i THE SCANNER U11 I. FOLLOW

16.25:

16.1 :our

B*0 TO 24

16,5

TAKE ONE CLOCKWISEGOSUB 550OUT 16.4

GOSUB 480 IREM READ SENSORNEXT DREM

REM RETURN SCAN DELAYFOR SI 0 TO 10GOSUB 550NEXT SIREMREMOUTFOROUTREMGOSUBOUT 16

IREM PRESET STEPPER CONTROLLER

STEP

16,

16.1 !OUT

D=0 TO 24

16,7

TAKE ONE COUNTERCLOCKWISE

50

6

IREM PRESET STEPPER CONTROLLER

GOSUB 480 IREM READ SENSOR-NEXT D

FOR D = 0 TO 25NEXT DGOTO 180

REM -RADAR- SENSOR READ ROUTINEREM A/D INPUT IS ATTACHED TO INPUT PORT

AND HIGH INTENSITY

REM LOW LIGHT LEVEL IS A VALUE OF 23

REM IS AN INPUT VALUE OF 0

X-INPC16) IREM READ A/D CONVERTER

L=10 IREM PRESET LEVEL SET ....THIS WOULD BE A BRIGHT LIGHT

IF X<L THEN GOTO 480

RETURN

REM

REM

REM DELAY TIMER TO COMPLETE MECHANICAL MOTION BEFORE READING SENSOR

FOR T=0 TCI 25

NEXT T

RETURN

Listing 3: A BASIC program that causes thescanner system to seek out and point to atight source. The scanner tracks the lightsource as it moves. If the light source isextinguished or obstructed, the sweepresumes until another source of sufficientintensity is found.

tion and tracking can be added. It will, asnow written, follow a flashlight as some-one walks across a room. It is left as an exer-cise for the reader to drop a net over theperpetrator.

There are a few other little things you cantry after you've built this gadget. The sketchon page 80 shows the portion of my base-ment (the "Circuit Cellar") immediatelyadjacent to the computer system. Aftermodifying the BASIC program of listing 3to print out a number on a scale of 1 to 9 (aperiod is 0) indicating relative intensity, andturning on a light and lighting a candle, Iinitiated a single scan across the room. List-ing 4 is a printout of that scan. The sensi-tivity of the device had to be set very high topick up the candle, and the result was ratherinteresting. The scan allowed the computerto "see" around the room in front of it.There is an intense light source to the rightand a rather low level one to the left. By

PET

:::::: i.:l:±:t:t

. * ■ * ■ I ■ I a *

■HIM 'M " MM" :::;::;:.

isetii 1 * "A1 = =====

ttim >X- "i:

lliiw Wlttl W ™p t

mm mm J ^t t

nnn mmnnnRMs s

PLAY CHESS WITH YOUR COMPUTER!

MICROCHESS is the culmination of two years of chessplayingprogram development by Peter Jennings, author of the famous 1Kbyte chess program for the KIM-1. MICROCHESS 2.0 for 8K PETsand 16K APPLEs, in 6502 machine language, offers 8 levels of playto suit everyone from the beginner learning chess to the seriousplayer. It examines positions as many as 6 moves ahead, andincludes a chess clock for tournament play. MICROCHESS 1.5 forBRIDGE CHALLENGER by George Duisman for 8K PETs, Level II16K TRS-80S, and 16K APPLEs: You and the dummy play 4 personContract Bridge against the computer. The program will deal handsat random or according to your criterion for high card points. Youcan review tricks, swap sides or replay hands when the cards are

known. No longer do you need 4 people to play! $14.95

ORDERS: Check, money order or VISA/Master 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

4KTRS-80s, in Z-80 machine language, offers 3 levels of play (bothLevel I and Level II versions are included and can be loaded on anyTRS-80 without TBUG). MICROCHESS checks every move forlegality and displays the current position on a graphic chessboard.You can play White or Black, set up and play from special boardpositions, or even watch the computer play against itself! Available

now at a special introductory price of only $19.95

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(24 hours, 7 days; in Missouri, dial 1-800-342-6600). Or you canmail your order to the address below. Personal Software1" productsare now AVAILABLE NATIONWIDE FROM COMPUTER STORES.Look for the Personal Software™ display in your local store!

88

P.O. Box 136-B11

November 1978©BYTE Publications Inc

Personal Software™

Cambridge, MA 02138

Circle 302 on inquiry card.

incorporating gain selection (changing the1 M£2 resistor in the signal conditioner)under program control the computer couldreduce the gain selectively to determine theorigin of each light.

One further experiment entailed takingnumerous sweeps and combining them toform a digitized computer picture. First theprogram was changed back to a thresholddetector again. As it scanned the 25 steps itwould print out an asterisk (*) for anythingthat exceeded this threshold and a period (.)otherwise. A protractor was attached to thearm of the tripod so that the angle of thereflector could be adjusted by a known in-crement each time the computer stoppedbetween scans. The result was as illustratedin listing 5. The ten scans form a computer'seye picture of the wall. Again, because ofthe dynamic range differences between thecandle and the light, the incandescent bulbappears much larger than it actually is.

Conclusion

Here's a simple device that can detectand track infrared and visible light sources.See what you can do with it. I don't want toleave anyone with the impression that I'mwaiting for a burglar with a million candle-power flashlight to come tripping throughthe woods. This is but one sensor in a largersystem, and the infrared capabilities, whichI neglected to discuss in detail, are its pri-mary application. Starting in January, I'llexplain computer alarm systems.

There have been numerous articles onlight seeking robots. With this detector it isquite possible that the mechanics and soft-ware could be reduced considerably. I've

16 9 7 3 1

Listing 4: A single scan of the room containing the light bulb and candle.A modification of the program in listing 3 to print numbers on a scale ofI to 9 (a period is 0) indicating relative intensity.

Listing 5: Ten sweeps of the room. The relatively large size of the light usedin the experiment accounts for the large number of asterisks at the right.

often thought about building a robot, butmy mechanical talent is nonexistent. When Ican build one with a screwdriver and a sol-dering iron only, I'll write about it. (Mythanks to Lloyd Kishinsky for graphics ideasused in this article.)

If you have any comments or ideas,please don't hesitate to write and includea stamped, self-addressed envelope. Muchto my surprise, I've actually been able tokeep up with correspondence. Some peoplehave written to ask whether I sit up nightsthinking of crazy introductions for myarticles. You may not believe this, but every-thing has some basis in fact. I've met somereally strange characters. Why create fictionwhen the truth is often so much morehilarious!

Next month: a hexadecimal-octal display."

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.

e 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, bumed-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 2V4(514)364-0432

"Trademarks of Motorola Inc. "Single quantity price in US funds.

Circle 327 on inquiry card.

November 1978©BYTE Publications Inc

Computer Assisted Instructionon a Microcomputer

Melvin DavidsonDirector, Computer CenterGeorge A GerholdProfessor of ChemistryLarry KheriatySystems ProgrammerWestern Washington UniversityBellingham WA 98225

Computer assisted instruction (CAI)could alter the delivery of education pro-foundly. This has been known for years, butnot much has happened in response, partlybecause of expensive hardware, and partlybecause of lack of quality courseware.Although minicomputer based CAI systemsneed not be expensive on a per terminalhour basis, the initial capital investment fora small number of terminals is too high formost school systems. (Our campus systemcosts 30 cents per hour per terminal amor-tized over 24 ports for five years at 200hours per month exclusive of terminals.)Remote terminals are not attractive becauseof prohibitive line costs. Thus the fieldis open for microprocessor based systems.They are inexpensive to operate; the initialinvestment is reasonable; there are no linecosts; and individual systems can be tailoredfor particular applications. The difficultywith microprocessor based systems lies inthe second area, the lack of quality course-ware.

Production of quality courseware is ademanding task which requires experiencedteachers as authors, extensive testing with avariety of students, and repeated editing onthe basis of this testing. Potential authors areusually not computer aficionados, so pro-gramming in appropriate high level lan-guages must be possible. Testing requireselaborate record keeping and file sortingcapabilities, and the collection of resultsfrom multiple terminals. Therefore, thesystem requirements for the developmentof quality courseware imply use of a multi-terminal, large memory system (one beyond

Table 1: Original design objectives for the CAI system.

• Turnkey system with no front panel switches other than a power switch.

• Central operating system and bootstrap loader module should be in read onlymemory for cold starts.

• Hardware components should be available off-the-shelf, assembled.

• System should be disk oriented with only the immediately required lines of thecourse loaded into main memory at any one time.

• Video terminal with 24 lines containing 80 characters, the full ASCII upper andlower case character set, and cursor controls.

• Implement as large a subset of PILOT and BASIC as possible.

• Total cost of hardware exclusive of video terminal should be less than S2500.

the capabilities of present microprocessors).Therefore we decided to develop a micro-processor based system which could be usedto deliver CAI courseware which waswritten, tested and edited on our campusterminal system. In this way we can combinelow delivery cost with quality courseware.

Our CAI machine consists of a micro-processor, a floppy disk and a video ter-minal. Our developmental system uses aSouthwest Technical Products 6800 com-puter, a Midwest Scientific InstrumentsFD-8 floppy disk system or a PerCom mini-floppy disk system and an Ann Arbor DesignIII video terminal. We have completed aPASCAL version, are working on a Z-80and multiuser 6800 version, and are con-templating a 6502 version. Also, sinceDecember 1977, we have been running testprograms on the SwTPC 6800 system.

We have experience with a variety of CAIlanguages including IBM Coursewriter, avariation of Coursewriter called CW3-WPL,and more recently with PILOT. Our feelingis that a PILOT/BASIC composite is current-ly the optimal language for CAI. The PILOTlanguage is easy to learn, flexible, andcomparatively easy to implement on anycomputer system. A PILOT/BASIC semi-compiler forms the basis of our WesternTerminal System (WTS) campus timesharingservice running on Interdata 32 bit mini-computers with Telefile 80 megabyte diskunits.

Our initial microcomputer hardware andsoftware design objectives are summarizedin table 1. We set the first three objectivesto minimize the level of expertise requiredboth to assemble and to use the system,because this intended to be a productionsystem, not just a hobby system. Of course,if an instructor can assemble hardware fromkits, that will be an extra saving. We set thefourth through sixth objectives to allowdelivery of courses of the size and sophisti-cation of the CAI courses currently in use atWestern. The price is the lowest possibleconsistent with criteria of quality hardwareand courseware.

We eventually relaxed our price restric-tion slightly and selected a Southwest

90

November 1978 O BYTE Publications Inc

SupeYam

16K STATIC FOR $299

>*.-. ,.%-

%0\W

\\\

Introducing SuperRam™ 16K static memory, theone that's leaping tall price barriers at a singlebound. It saves you about $100 on the usual cost of abig 16K memory for your S-100 system.

SuperRam™ 16K is the latest in cost-efficientmemory designs by George Morrow, designer ofthe best-selling ECONORAM* memories.

SuperRam™ 16K is configured as four indepen-dent 4K blocks, each separately addiessable andwrite-protectable. Designed to meet the proposedIEEE Standard for the S-100 bus (see IEEE Computer,5/78), all signals are fully buffered—includingaddress and data lines. And Morrow's design usesjust 11 chips to keep the board uncrowded andtrouble-free.

SuperRam™ 16K comes as an easily assembled kit,with solder mask and parts legend.

Circle 255 on inquiry card.

Ask for the SuperRam™ 16K memory kit at yourlocal computer shop. Or if unavailable locally, callyour BankAmericard/Visa or Master Charge orderto 415-524-5317,10-4 Pacific Time. Or send checkor money order to Thinker Toys™, 1201 10th St.,Berkeley, CA 94710. Add $3 for handling; Cal. res.add tax.

♦ECONORAM is a trademark of God bout Electronics

A product of Morrow's Micro-Stuff for

9

TTIlniffiQllBSir

tm

1201 10th StreetBerkeley, CA 94710

BYTE November 1978

91

Four Instructions that Comprise the Central Core of PILOT:

T: Type the following text.

A: Accept an edited answer and assign it as the value of the following string or

number variable.M: Match the answer with the following one or more acceptable patterns.J: Jump to the designated instruction.

Additional PILOT Instructions:

R: Remark or comment.

U: Use a subroutine at the designated label.

E: End the subroutine and return to the place of call.

C: Calculate using the following BASIC statement.

Local Additions to PILOT:

: Continue the previous T: statement.

PR: A new problem or course frame.

XI: Execute the following character string as a PILOT statement.

SJ: Jump to a new segment, preserving symbols but clearing labels.

Table 2: The instructionset that is being used inthis implementation ofPILOT can be divided intothree basic parts. There arefour instructions that canbe considered as the basiccore of the language. Thesecond part contains in-structions that are notessential to the operationof the language but makeit easier to use. The thirdsection contains instruc-tions that we have addedfor our own use.

Technical Products SwTPC 6800 interfacedto a Midwest Scientific Instruments FD-8floppy disk system. The 24 line by 80 char-acter requirement rules out home televisionterminal kits at present, though we areconfident that this will change now thatboth Vamp and Pickles & Trout have hometelevision modification kits available.Interested users should be able to acquireall the hardware, including the video system,for under $3000 off-the-shelf by the timeour initial development project is complete.

The Language

The PILOT instruction set that we areusing is summarised in table 2. The values ofarithmetic and character string variablescan be included in the text of a T: commandif preceded by a # or a $, respectively, (T:#X3, T: $B). This feature can be used, forexample, to send special characters to aterminal for graphics effects. One line ofinput is accepted by an A: instruction,multiple spaces are compressed to singlespaces, automatic upper and lower caseediting is performed as specified, and theresponse optionally may be saved in a stringor numerical variable. The last responseaccepted can be compared with a specifiedpattern string which may include the specialcharacters * to match one character, % tosignify space or end, & to match multiplecharacters, and ! to match one string or

another. The result of the match is an inter-nally kept yes or no.

Any command can be made conditionalby adding the labels in table 3 between thecommand code and the colon following it.In addition, execution of any instruction ismade conditional by enclosing a BASIClogical expression, called a relational con-ditioner, in parentheses between the com-mand and its following colon. The commandwill be executed only if the comparison istrue:

T(X<3):

Any instruction can be labeled by an asteriskfollowed by from one to six characters:

*LAB1 T:

The destination of the J: command is a label(J: label); a line number (J: number); thelast accept (J: @A); the next match (J: @M);or the next problem frame (J: @P).

There are three statement modifiers H, Jand S. An H modifier can be added to a Tcommand (TH:) to suppress the automaticnew line sequence (line feed and carriagereturn) at the end of an output line. Thematch jump code MJ: is used to auto-matically jump to the next M: instruction ifno match is found, and the match code MS:followed by a pattern allows minor spellingerrors of one wrong character or an invertedpair of characters.

There are some limitations on the BASICstatements which can be included directly ina C: instruction, but because one of the legalstatements is the CALL statement, the C:instruction imbeds the entire extendedBASIC language into PILOT. However,only five BASIC instructions are essentialfor execution of programs (INPUT, PRINT,DIM, LET, IF . . . THEN). The other BASICcommands make programming easier, butare not essential. We have chosen to make amajor saving in the microprocessor memoryand system complexity by limiting theBASIC to those five instructions. ExtendedBASIC programs will be written and testedon the campus terminal system and thenmachine translated into the five essentialinstructions. These five will be translatedinto PILOT as follows:

Table 3: Conditional labelsthat can be added tostatements to affect theorder of execution.

Label

YNEC

0-9

Conditions for Execution

The last match was successful.The last match was not successful.An error flag was turned on.The last relational conditionerwas true.

The last A: instruction has beenrepetitively executed the desig-nated number of times.

BASIC

INPUT

PRINT

IF.. .THEN

LET

DIM

Microti LOT

A:

T:

(relational conditioner)

C: LET

C: DIM

Thus the only two BASIC instructions which

92

November 1978 3BYTE Publications Inc

A COMPLETELY REFURBISHED "SELECTRIC"ASCII TERMINAL FOR THE SMALL BUSINESSMAN OR SERIOUS HOBBYIST.

The AJ 841 I/O Terminal.Now with R8232 interface.Now available from dealers.

Demand for our AJ 841 I/Ocomputer terminal has beengreat. And now that we've finallyadded RS 232 interface, it willget even greater. So while youcan still order it direct from us,now you can also buy it fromdealers around the country.

The A J 841 features:

• Choice of Serial RS 232 orparallel interface

• ASCII code

• 14.9 cps printout

• High quality Selectric printing

• Reliable, heavy-duty Selectricmechanism

• Off-line use as typewriter

• Documentation included

• 30-day warranty — parts andlabor

• Mail order shipments to AJoffice or direct to you.

• EBCD keyboard.

Warranty and serviceavailable from your local AJ dealer—or from AJ offices in:

Atlanta/Boston/Chicago/Cincinnati/Cleveland/Columbus/Dallas/Detroit/Hackensack/Houston/Los Angeles/New York/Philadelphia/San Jose/Washington, D.C.

Full warranty informationavailable on request.

Order with coupon—or fromyour local AJ dealer

For location of your nearest AJ dealercall toll-free: 800/538-9721.(Calif, residents call 408/263-8520)

HOW TO ORDER DIRECT FROM AJ

1. Make cashier's check or money orderpayable to Anderson Jacobson, Inc. andmail to:

Anderson Jacobson, Inc.PERSONAL COMPUTER TERMINAL521 Charcot AvenueSan Jose, CA 95131

2. You will be notified when your unit isready for shipment. Allow six to eightweeks for delivery.

3. Shipments direct to you require a collectfreight charge (FOB San Jose) plus $25for a special shipping carton; no taxnecessary outside California. Shipmentsto nearest AJ office include freight in the$35 handling charge and requireapplicable sales tax at pick-up location.

4. For warranty or repair service, returnunit to local dealer or to designated AJservice location.

Available only in U.S.

Circle 10 on inquiry card.

CLIP AND MAIL WITH ORDER

Select interface: D RS232 @$1195or □ Parallel @ $1095

Q Ship direct to me (freight collect, FOB San Jose, plus $25 carton, and California sales tax

if applicable)□ Ship to AJ office (applicable sales tax plus $35 shipping/handling)

Number of units $

Sales tax $.

$35 shipping/handling or $25 carton $ .

TOTAL $ -

NAME

ADDRESSCITY

STATE.

ZIP.

PHONE(

BYTE November 1978

93

will be legal when included directly after theC: will be

LET variableDIM

expression and

In our first version of the system we haveincluded floating point scalers, arrays of oneand two dimensions, and varying lengthstrings. The usual BASIC arithmetic andlogical operators +,-,*,/,EQ,NE,LT,GT,LE,GE,AND, OR and NOT are provided as wellas the built-in functions ABS,INT,RNDCHR,ASC,FIX and SGN. In addition wesupport the string operations of ! ! (con-catenation), MID (middle), LEN (length),

Table 4: Optional automatic features thatmay be added at the head of the program.

Label

U

LS

E

G

W

Function

Translate all input to upper case.Translate all input to lower case.Remove all spaces from input.Enable automatic use on anyinput beginning with @.Enable the GOTO command.Erase the label table.

Retro-Graphics™

or your uumo terminal,

Graphics PC card mounts easily in the Lear SieglerADM-3A to provide you with an affordable graph-ics computer terminal.Features:

• Z-80 Based • Point Plotting

» 512 by 250 • Automatic VectorDot Matrix Generation

• Simple Plug-in • Optional TEKTRONIXInterconnect Software Compatibility

You will be impressed with the packaging, per-formance and price of the Retro-Grahics 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.

XLA (translate) and INS (instring). Sub-routine calls in BASIC will not be supportedin the microcomputer version of the soft-ware, but the equivalent can be obtainedby copying the subroutines in the appro-priate places during machine translation.

In a later version we will add the expo-nentiation ** operator, a complete range ofbuilt-in scientific functions, string arraysand file handling with:

Fl: disk address, string variableFO: disk address, string variable

for moving the value of a string variable infrom or out to a file at the given address.The segment jump will be replaced with aninstruction to clear the label table, and adisk jump instruction will be included formultiple diskette courses. Programs beginwith a header containing the optionalautomatic features in table 4. Additionalheaders can be imbedded within the course.

Conclusion

In summary the microprocessor basedCAI system will execute all instructionsincluded in PILOT on our multiterminalcampus system. Most programs written inextended BASIC will execute on the systemafter machine translation. Exceptions requir-ing author reprogramming include matrixoperations, ON GOSUB, ON ERROR,OPEN, CLOSE, DEF, READ, RESTORE,DATA, CHAIN. The early version of thesystem requires 9 K bytes of memory,including a floating point arithmetic packagefrom Technical Systems Consultants. Inaddition we must provide workspace. Weexpect to fit the early version of the com-plete system into 16 K bytes of memoryand the later version should fit into a 20 Kbyte system.

Obviously it is possible to write course-ware in whatever language is available andto use that courseware without extensivetesting. But untested material in an inappro-priate language tends to be second rate.The object of our project has been toprovide access to high quality, tested,existing courseware at low cost to thosewho would otherwise have to pay telephoneand computer costs at a network center.For that reason we have not provided forconvenient course authoring or editingon the microcomputer system.

Because an effort to establish a nationalstandard for PILOT is underway, we suggestthat programmers undertaking implemen-tations of PILOT contact the authors forthe most recent documentations."

94

November 1978 © BYTE Publications Inc

Circle 102 on inquiry card.

Introducing

the first user-oriented

software.

Your business system is worthless until youlearn to use the software That used to take weeks

Autoscribe™and Bookkeeper™ software byM icroSource are different Here, at last, arepackages you can use the first day. Becausethey're created for you, the user,

Autoscribe is the new low-cost word pro-cessor software for North Star-based systems.A powerful business system that lets youcontrol paper work. Less than $8000 forthe complete system with hardware, soft-ware and documentation.

Bookkeeper is for accountants. Forhalf the price of comparable packages,a firm can perform -and control -virtually all client write-up functions, ,On a North-Star system, under $ 7500. i

Here's what happens beforeMicroSource introduces any soft-ware. We work with the author to

■*.

turn his software into your software. Documen-tation is developed that continues the userphilosophy.

Then, after field testing, we distribute to leadingcomputer stores through M icroAge™ the nation'slargest independent microcomputer distributor.How about support? We believe you'rebuying a piece of the future, a system thatshould become more valuable with time.So updates are released regularly. En-hancements, enabling the software toutilize other hardware, are developed.And we maintain communications.

This isn't just an idea. It is now.

Autoscribe and Bookkeeper are

at your dealer now. Stop in and

see for yourself. Once you

see MicroSource software

in action, you're convinced.

SOURCE

Dealer inquiriesinvited.

^SOURCE

1425 W. 12th Place • Tempe, Arizona 85281 • Phone:(602)967-1421

Circle 226 on inquiry card.

BYTE November 1978 95

Event Queue

In order to gain optimum coverage ofyour organization's computer confer-ences, seminars, workshops, courses, etc,notice should reach our office at leastthree months in advance of the date ofthe event. Entries should be sent to:Event Queue, BYTE Publications, 70Main St, Peterborough NH 03458. Eachmonth we publish the current contentsof the queue for the month of the coverdate and the two following calendarmonths. Thus a given event may appearas many as three times in this section ifit is sent to us far enough in advance.

96

November 3-5, Third West Coast Com-puter Faire, Los Angeles ConventionCenter. This is a conference and expo-sition on personal computers for home,business and industry. For more detailsabout this computer faire, write for afree copy of the Silicon Gulch Gazette.Contact Computer Faire, POB 1579,Palo Alto CA 94302, (415) 851-7075.

November 5-8, Computer Applicationsin Medical Care, Washington DC. ThisIEEE sponsored symposium on com-puter applications in medical care isdesigned to inform physicians and healthcare professionals about current andpotential applications of computer tech-nology to patient care; and to identifyareas of future research and developmentthat need to be addressed. ContactAbund O Wist, PhD, general chairman,Medical College of Virginia, (804)770-4957.

November 6-8, Asilomar Conference onCircuits, Systems and Computers,Asilomar Hotel and ConferenceGrounds, Pacific Grove CA. This con-ference, sponsored by the IEEE Com-puter Society, will delve into areas suchas circuit theory and design, communi-cation and control systems, computersystems, computer aided design, etc.Contact Donald E Kirk, ElectricalEngineering Dept, Naval PostgraduateSchool, Monterey CA 93940.

November 7-9, Mini/Micro ComputerConference and Exposition, Astrohall,Dallas TX. The conference portion ofthis show will feature approximately 28sessions covering both application anddesign topics. The exposition will featurehundreds of product displays. ContactMini/Micro Computer Conference andExposition, 5528 E La Palma Av, Suite1, Anaheim CA 92807, (714) 528-2400.

November 1978©BYTE Publications Inc

November 11-12, Colorado ComputerCoral, Denver Merchandise Mart, DenverCO. Contact Denver Amateur ComputerSociety, 12805 W Stanford Av, MorrisonCO 80465.

November 13-15, Data Processing Oper-ations Management, Chicago IL. Thisthree day seminar will emphasize themanagement skill and techniques appli-cable to the data processing operationsfunction. Contact Phillip M Nowlen,director, Center for Continuing Edu-cation, The University of Chicago,1307 E 60th St, Chicago IL 60637.

November 13-16, COMPSAC, ThePalmer House, Chicago IL. The IEEEComputer Society's second internationalcomputer software and application con-ference. This conference will bring to-gether computer practitioners, users andresearchers to share their ideas, experi-ences and requirements for applicationssoftware, management techniques, andsoftware development support, includingautomated techniques. Contact WallaceA Depp, executive director, Processorand Computer Software System Divi-sion, Bell Laboratories, Naperville IL60540, (312) 690-2111.

November 13-17, Advanced InteractiveComputer Graphics, UCLA. This courseis designed to broaden the perspective ofscientists, engineers and computer pro-fessionals who already comprehendbasic interactive computer graphics con-cepts. The course will contain the latestconcepts and properties in both currentand next generation hardware andsoftware. Contact UCLA Extension,POB 24901, Dept K, Los Angeles CA90024.

November 15-17, Software QualityAssurance Workshop: Functional andPerformance Issues, San Diego HiltonHotel, San Diego CA. Sponsored by theACM SIGmetrics and SIGsoft groups,this workshop is concerned with currentexperiences and new developments insoftware quality assurance. Papers willbe presented on all aspects of qualityassurance. Contact JoAnn Lockett, TheRand Corp, 1700 Main St, Santa MonicaCA 90406.

November 19-22, The 11th AnnualMicroprogramming Workshop, AsilomarConference Ground, Pacific Grove CA.This workshop will provide a forum forthe discussion and comparison of designtechniques for firmware and for the

aee ineBrighterWriter

these stores.

Arizona

Byte Shop, Tempe, AZ

Byte Shop, Tucson, AZ

California

Jade Computer Products,

Hawthorne, CAByte Shop, Lawndale, CAComputer Center, San Diego, CAByte Shop, San Jose, CAByte Shop, San Rafael, CAComputer Store, Santa Monica, CAConnecticut

The Computer Store, Windsor Locks, CTColorado

Computer Technology, Denver, COHawaii

Microcomputer System, Honolulu, HIIllinois

Illinois Microcomputers, Naperville, ILIowa

Memory Bank, Davenport, IAKansas

Computer Systems Design, Wichita, KSLouisiana

Microcomputers of New Orleans, LAMassachusettsCPU Shop, Charlestown, MAComputer Mart, Waltham, MAMichiganNewman Computer Exchange,

Ann Arbor, MIUnited Microsystems Corporation,

Ann Arbor, MIHobby Electronics, Flint, MIComputer Mart, Royal Oak, MINebraska

Omaha Computer Store, Omaha, NENew HampshireComputer Mart, Nashua, NHNew Jersey

Computer Mart, Iselin, N JNew York

Mini-Micro Mart, Syracuse, NYOhioCybershop Microcomputer Systems,

Columbus, OHDayton Computer Mart, Dayton, OH21st Century Shop

Cincinnati, OHOregonReal Oregon Computer Company,

Eugene, ORComputer Pathways Unlimited,

Salem, ORTexas

Micro Mike's, Amanllo, TXInteractive Computers,

Houston, TXByte Shop, Richardson, TXVirginia

Computers Plus, Alexandria, VAThe Computer Place, Roanoke, VAWashington, D.C.Georgetown Computers,

Washington, DC

Computerland

at most stores

Integral Data Systems, Inc.

14 Tech Circle, Natick, MA 01760(617)237-7610

#

Pay a little bit more

and get a printer that's

brighter than your computer.

The Brighter Writer.

/..-:

oUUUe

When a few dollars more buysyou a first-class impact printer,why settle for a toy? The Brighter-Writer gives you quality to startwith. And versatility that stayseven if you outgrow yourpresent personal computer.

Built smart like the big ones.

The BrighterWriter's a smartprinter. There's a microcomputerinside. It outwits even the bigger,higher-priced printers. So youget versatility to do all kinds ofprinting. And power to grow on.

■MUM!" Prints fat, skinny,.,::.. tall, small.*

::-'""'f wJhmi Tnis printer can

sbcctef be as creative

as your imag-ination. Stretchout your char-acters. Squeeze them closeMake them high. Low.Bold. Banner. You name it. •

Plugs into your computer

No matter what personalcomputer you own or plan tobuy, the BrighterWriter plugs in.Simply and quickly Hundredsof BrighterWriters are working inApple, TRS-80, Heathkit, S-100and many other personalcomputer systems right now.

Pictures and fancy ■ ^v p»

symbols .* "'""'"■.

The BrighterWriterdraws out your ere- :*: -|- ^ativity You can print -~.,drawings, graphs,diagrams, bold symbols, or justabout any graphic you canimagine.

;

• • •">

v. s

Picture your page as thou-sands of dots. The BrighterWritercan fill in the dots, plot them con-tiguously, stack them, or scatterthem. And its special set of gra-phic characterssimplifies the.-. : process.w«... *.'• -..I prints any char-

*-" :*.Vj !-" ••"■ acter a typewriter«... ■«. : can Faster...

The BrighterWriter can printplain and simple. With 7x7 dotmatrix clarity You get all the let-ters, numbers, and standardsymbols of a

regular

typewriter. At upto 165 characters/sec.

Ordinary paper

Fancy or plain, the Brighter-Writer prints on ordinary paper.Better yet, it prints on manyshapes of paper. Single sheets.Roll. Fanfold.

Want more copies? TheBrighterWriter prints multiplecopies without extra adjustments.

Four easy buttons.

Operating the BrighterWritercouldn't be simpler. Up-front con-trols are easy to get to. A power

button to turn it on. Atest button toself-test your printer. A paper feedbutton to advance the sheets orforms. Aline feed button toadvance the paper a line ata time.

*jp. ::!'- •"•'.•■ ":.»• Pnnts

any-which- way.

The BrighterWriter comes intwo models. The IP-225, at $949,gives you a BrighterWriter withtractor-feed drive for precisionforms control. This one canhandle everything from labels to&V2" paper widths.

It has eight form lengths andgives you all the features of ourIP-125.

A brighter

buy. "::if:i- .:.•'' "":;»'" •;:?'"•

Our IP-125,

friction -f eed, BrighterWriterhas a 96 character set andprints on 8Wwide paper.Upper and lowercase. It printsexpanded characters, too.You can choose a RS-232 serialor parallel interface. $799

Lots of goodies.

There's more. Choose all kindsof options for your BrighterWriter.Up to 132 characters per line, var-iable character densities, largerbuffers, special graphics pack-ages, interface cables, and more.

Give us a call or write. IntegralData Systems, 14 Tech Circle,Natick, MA01760, (617) 237-7610.

Better yet, see the Brighter-Writer at the store nearest you.

Integral Data Systems, Inc.

"Some of these advantages require extra-cost options.Circle 177 on inquiry card.

^

BYTt November 197S

97

mJ alpha

micro

See the exciting 16-bit world of AlphaMicro at your local Alpha Micro dealer.

ALABAMA

MUNTSVtLLE

I SOS) ^39-1200ALASKA

ANCHORAGEDa's CorfSyste-w Inc(9071 344-4536

ARIZONA

PHCEN'VBvte Khop of(6031285-0065Tf£MPF£Bvte Shop offBP.2)!W-l42'TUCSONBv'e Shop of'6C2I 327-4=)T9

CALIFORNIABERKELEYByte Shoo of(4151 845-6366CARSONShaw BrOt*fl*«(213! 770-3688

COSTS MESAOrange CountyC-rvnpijter Center[714? 646-0221FRESNOElectric B-ain1209! 227-8479GLENDALEBeaur-lB":[2131 244-3348LAJOLLA

Tech-Mart

[7141 459-2797

LAWN DALE

Byte Shop Of

(213)371-2421

MANHATTAN

BEACH

Do Ms^co-Shali

Computer Sysferr.s

(213} 545-4539

MISSION ViEJO

Coropute'La^d

CONNECTICUTHAMDEN

JfiV Computer Store(2031 2B1-1453

FLORIDACORAL GABLESSunny Computet

FORT LAUDERDALEByte Sh'ip ofl305)55'-2983HI ALE AH

MetretiixCo-notihjrs. ho

:^n-,iflfi5-4700MIAMI

By?? Shop of(305! 264-2983

HAWAii

HONOLULUPan PacificComputerCompanyi808) 737-5857Small ComputerSystems(808! 732-5246

IDAHO

NEBRASKA

OMAHAByte Shop of[402> 339 7350Omaha

Computer Store[4021 592-3590NEVADALAS VEGASComputer Systems

'702] 873-7400RENO

ByieSfiopo!(702)826-8080

NEW JERSEY

Computer Division(208! 342-8585

ILLINOIS

CHAMPAIGNChampaignComputer Co(217] 586-4131CICERODigital Research(3121 B56-3353EVANSTONItty Bify

bCo.

(71

-70-n

ORANGComputer Mart(7141 633-1222OXNARDAPR Systems

rftOS) 485-5483"rnrtata Systems[805' 483-1168PALO ALTOBvte Shop nl(415)327-8080PASADENAByte Shoo of

12131 684-3311.-.., n.Er,r

Cnmpufpr Center(714) 292-5302Comouterlnnd of

Sao Hi ego!7V.i sen-9912RAN !JJi3 OGIRPOByfo SttOp "f'805! 543-9-310SAN RAFAELByte Shop of

'3121328-8800SCHAUMBURGData Domain of(312)397-8700

INDIANABLOOM1 NGTONData Domain(812'334-3607INDIANAPOLISData Domain'3171 251-3139Computers

I-6505

(415)i

Coin p »ter

Alternatives

'4151459-13R6

SANTA ANA

ArlvancprJ

Microcomputer

!7i4i 568-8813SANTA BARBARABvte 5Mp of(805! 986-2938SANTA MQNICAM'sr-io" Contrnl

(21S1899-S13"'Toe OemptMr Stor1213! 461-0713SHERMAN OAKSPeople'sComputer CoWZANA

Tr^oh Mar*

(2*3! 341-015:'

VSN NUV8Computer

HriTpn •-

(3131 344-0153WESTMINSTER

Byte Shop of

'7141.834-9131COLORADOSOULIERBvte Sh"P of[MB] 4-44-8550

EJBNVBRRv"> Snap oi[309)999-8

Uffflfl(317) 8<

IOWA

WATERLOOThe ComputerCenter(319) 232 9504

KANSAS

OVERLAND PARKPersonal ComputerCenter, inc.[913' P49 5942

KtHTOSKV

LQUJSVfLLS

System Co

(502' 895-4269

(3011 408-3485

MASSACHUSETTS

WALTHAMCompute- Martof Bostr

[817} f;

1540

MICHIGANANNAPBCR

[313} 996-7618

ROYAL OAK

CoT-oute- Ma-i of(313)5^6-0900MINNESOTAMANKATO

Nor*h Kate Sopo'y

(5071 &?5 5473MINNEAPOLISComoMter Depotmsi 98T-5S01

MOORFHEAD

PS. IDC

1218) 233-6682

'3f?^15T3-4895

Computer Co.ENGLEWOODMiti MiniComputer Co[303] 770-5005

MONTANA

BILLINGS

Big Sky Byte Shot

WASHINGTON

BELLEVUEByte Shop of[206I746-065TSPOKANEMicrosystems.Incorporated(509)747-4135WISCONSINMILWAUKEEThe MilwaukeeComputer Store'4141 259-9140

WYOMING

JACKSON

Teton Data System

'307)733-6313

NEW YORK

NEW YORKComputer Mart ot(212! 686-7923

NORTH CAROLINABOONE

Alpha Digital

Systems(704) 264-7946NEWELLDigital Dynamics[704)374-1527

OHIO

CINCINNATISoltwaro SystemsConsuming Inc1513)745-3111CLEVELANDByte Shop of(2161 333-3261COLUMBUSMMwMttrn DigitalElectronics(614i ;>94-£991

OREGON

BEAVERTON

'5031644-2666EUGENEReal Oregn-Computer C"(5031484-1040PORTLANDByte Shop of[5031223-3496

Co nee pis'4121 729-3510FRA2ER

Personal ComputerCorporationS21B] 647-8460HUNTINGDONVALLEY

Markelli-F Systems'2151947-6670

TENNESSEE

KNOXVIL.LEBvte Shoosof Toonessee

(817)335-7198HOUSTONCompute'oraft. im(7131977-0664

OomputertBK

(7131 526-6934

ElectronicSperialty Co''131665-0477LUBBOCKCom outer Ma-' ofWest Tfiras[8081 765-7134RICHARDSONThe Mfete Store'2<dl2?.1 1096

UTAH

SALT LAKE CITYByte Shoo of'801)355-1041Data Wo*id(SO'lftC 0033

AUSTRALIA

GORDON

Trudata Pacific

498-6706

WEST PERTH

Australian Computer

Products

[091 322-6497

AUG" SPRINGS

Mic'icomculer

Systems

Alice Springs, NT

NORTH

FREMANTLE

James McLarty

SSon

35-4677

NORTH SYDNEY

Kingsway

Computers

929-9901

BELGIUM

BRUSSELS

Resources(02) 538-9093

CANADA

TORONTOThe ComputerRace

(416! 538 0262QUEBEC

Selin inc.819 373-2367VANCOUVERByte Shop of[604)736-7221Pacific ComputerStore, Ltd.[6041 438-3282Quill ComputerSystems[604)684-5082WINNEPEGMicro-Byte Lid(204)947-8289

ENGLAND

LONDONComputerApplications

(Oil 373-4B34SAL FORDMANCHESTERComputer Design

VIRGINIA

'089'460-4993HOLLAND

J4PAM

TOKVO

o-kshopolNor*1- SPAIN

[703? 321 9047VIRGIN'S BEACHHome Computer

'0001235-7110

VENEZUELACARACASE.UC MEGA CA33-79-90

Circle 4 on inquiry card.

supporting hardware. Informal inter-action between groups working insimilar research and application environ-ments will highlight the topical session.For more information contact Dr AliceG Parker, Micro-1 I program chairman,Dept Electrical Engineering, Carnegie-Mellon University, Pittsburgh PA 15213,(412) 578-2472.

November 27-29, European Communi-ties Symposium on Computer AidedDesign of Digital Electronic Circuits andSystems, Hotel Hilton, Brussels BEL-GIUM. The aim of the symposium is todisseminate the results of the ComputerAided Design Electronics Study under-taken by the European communities andfurther to present an assessment ot thestate of the art of techniques, problemareas and possibilities of further develop-ments in the field of computer aideddesign of digital electronics. ContactKeness Belgium Congress SA, Rue de['Industrie 17, 1 040 Brussels BELGIUM,(02) 230 09 53.

November 27-December 1, Micro Pro-gramming Workshop, Lafayette IN. This5 day hands-on advanced programmingworkshop is for individuals interested indeveloping skills required to plan,prepare, test and document 6800/6801microprocessor applications software.Contact Jerilyn Williams, Wintek Corp,902 N 9th St, Lafayette IN 47904.

November 28-30, 9th Annual CanadianComputer Show, International Centre,Toronto CANADA, Products displayedat this show will include: computer anddata processing equipment, supplies andservices, including minicomputers, peri-pheral hardware and software, keypunchservices, consulting and contract pro-gramming and timesharing. ContactIndustrial Trade Shows of Canada, 36Butterick Rd, Toronto Ontario M8W328, (416) 252-7791.

December 3-5, 9th North AmericanComputer Chess Championship, Sher-aton Park Hotel, Washington DC. I he1978 annual meeting of the Associationfor Computing Machinery will be thesite of this chess championship This willbe a 4 round Swiss style tournamentwith participants restricted to cornputers. Two rounds will be played onDecember 3 (1 PM and 7.30 PM), one onMonday (7-30 PM) and the last round onTuesday (7f30 PM). Deadline for entriesis October 20- Contact Prof M M Newborn, School of Computer Science,McGill University, Montreal QuebecH3A 2K6 CANADA.

December 4-6. 1978 Annual Conferenceof the Association for ComputingMachinery, Sheraton Park Hotel,Washington DC Contact Dr RichardAusting. Dept of Computer Science,University of Maryland, College ParkMD 20742, (30!) 454 2004.

December 4-6, Minicomputers and Distribuied Processing, Atlanta GA. This

3 day seminar will examine the uses,economics, programming and implemen-tation of minicomputers. Contact PhilipM Kowlen, director, Center for Con-tinuing Education, The University ofChicago, 1307 E 60th St, Chicago IL60637.

December 6-8, Data Processing Oper-ations Management, Washington DC. Fordetails, see November 1 3-1 5, Chicago.

December 12-14, Mideon/78, DallasConvention Center, High Technologyelectronics show and convention. Con-tact Electronic Conventions Inc, ElSegundo CA, (800) 421-6816 (toll free).

December 13, Computer NetworkingSymposium. Sponsored by the IEEEComputer Society's Technical Com-mittee on Computer Communicationsand the Institute for Computer Sciencesand Technology of the National Bureauof Standards. This symposium will high-light papers of practical and researchexperiences concerning both computerand communication networks. ContactDr George Cowan, Computer SciencesCorp, 6565 Arlington Blvd, Falls ChurchVA 22046.

December 13-15, Distributed Mini-computer Networks, Executive TowerInn, Denver CO. This seminar willaddress the minicomputer from theviewpoint of the distributed networkuser. The structure and management of alarge data base and software problemswith the trade-offs of languages utilized,hardware types, input and outputoptions, device controllers, systemfailure and recovery, sample applicationcase studies and the economics of mini-computer applications will be coveredin depth. Contact The Institute forProfessional Education, Suite 601, 1901N Fort Myer Dr, Arlington VA 22209,(703) 527-8700.

January 15-17, Minicomputers and Dis-tributed Processing, San Francisco, Fordetails, see December 4-6, Atlanta.

January 17-19, Distributed Minicomputer Networks, Ramada Inn, ArlingtonVA. For details, see December 13-15,Denver.

January 24-27, International Microcom-puters/Minicomputers Microprocessors'79/Japaii; Harunii Exhibition Center,Tokyo. Contact ISCM, 222 W Adams St,Chicago IL 60606, (3 I 2) 263-4866,

January 30 February 1, CommunicationNetworks Conference and Exposition,Sheraton Park Hotel, Washington DCDesigned to bring together com munication network users, consultants, ven-dors and regulatoiy officials so thatissues can be discussed and analyzed.It is particularly aimed at executivesand managers who purchase communi-cation products and services. ContactI he Conference Company, 60 Austin St,Newton MA 02160."

98

November 1978 <Q BYTE Publications Inc

Can you upgrade to 16-bitson a tight budget?

Of course!

Let me introduce you to the 16-bitworld of Alpha Micro. Consider all theadvantages of upgrading your present8-bit system with the first fully integratedconcept of hardware and software. Aconcept that provides all the features ofa 16-bit minicomputer, yet retains all theflexibility, peripheral options, and lowcost of S-100 bus systems.

Now you can have much of the sophis-tication that was previously restricted toonly the mini's.. .Multi-User. Multi-Tasking,Time-Sharing, Memory Management.Disk-File Management, and yes, Periph-eral Independence.

Come on, Join Alpha Micro's 16-bitworld.. .You can do it on an 8-bit budget.Five subsystems let you expand your 8-bit

Circle 4 on inquiry card.

system capability as your needs, and yourbudget, allow:

AM-10016-bit CPU.Two board S-100bus compatible microprocessor set, com-plete with software —a year and a halffield proven reliability.

AM-200 Floppy Disk Controller.S-100 bus compatible supports PerSci277 and Wangco 87 disk drives.

AM-300 Six Port Serial I/O. S-100bus compatible provides six fully pro-grammable RS-232 ports.

AM-400 Hard Disk Subsystem. S-100bus compatible interface and CALCOMPTrident series drives (25,50,80, 200 and300 megabyte configurations).

AM-500 Hard Disk Subsystem. S-100bus compatible formatter-controller and

CDC Hawk 10 megabyte hard disk drive.

All Alpha Micro systems are fully soft-ware supported including the new com -pletely integrated, minicomputer classaccounting system which consists of sev-eral hundred programs.

For more information see your localAlpha Micro dealer or write or call.

^5 alpha

micro

17881 Sky Park NorthIrvine, California 92714(714) 957-1404

BYTE November 1978

99

LanguagesFowm

Defining aLanguage:

PL/B

David L WilsonEngineering Computing LabB554 Engineering BldgUniversity of WisconsinMadison Wl 53706

About the Author

David Wilson works forthe University of Wis-consin as a systems en-gineer, applications pro-grammer and technicalwriter. One of his currentprojects is rewritingFORGO, a diagnosticFORTRAN compiler inthe C language (seeOctober 1977 BYTE). Hehas an MS and ABD Incomputer sciences fromthe University of Wis-

The person who writes a software packagefor microprocessors is faced with a difficultchoice. If the package is written in BASIC,it will use a lot of memory and executeslowly. Certain operations, such as "shift"and "exclusive or," which the microprocessorcan do easily, are not available in the stand-ard BASIC language. On the other hand,if the package is written in assembly language,it will not be portable. Four separate versionsmight be needed for the 8080, Z-80, 6800and 6502.

This article gives an initial proposal forthe middle level language PL/B. As in assem-bly language, the programmer is given accessto those operations that microprocessorscan do easily. PL/B programs will be compiledinto machine language; they will not beinterpreted as in BASIC. PL/B is not an easylanguage; it is almost as difficult to write aprogram in PL/B as it is to write it in one ofthe assembly languages. On the other hand,PL/B programs will be portable.

The first part of this discussion describesthe PL/B language. It is written for theexperienced assembly language programmer.The second part, written for the person whohas previously implemented an assembleror BASIC interpreter, deals with how thePL/B language could be implemented. ThePL/B language is designed to be easy to com-pile: a PL/B compiler should fit into an 8 Kbyte computer.

Registers

Table 1 gives the names of the registersin PL/B and the corresponding registers tobe used on the 6800, 8080, Z-80 and 6502.

The apostrophe in front of the registername distinguishes the register from asymbol name.

On the 8080, if indexing with an offsetis used, HL is loaded with the offset, and DEis added to HL. If indexing without anoffset is used, DE is just transferred to HL.In either case, HL is then used for the mem-ory reference.

On the 6502, registers 'X and 'L willoccupy four bytes in page zero of memory.When indexing is used, the 6502 registerX will be loaded with the offset, and theindirect indexed addressing mode will beused. The 6502 register Y will be permanentlyloaded with a zero, and will be used forindexing without an offset.

Symbol Names

Symbols start with a letter which is fol-lowed by letters and digits. The symbol maycontain internal blanks (which are ignored)and may be any length. In PL/B all blank,carriage return and line feed characters areignored.

The symbols in the PL/B language are ofthree distinct types:

1. name for data storage area

2. name for a procedure (subroutine)

3. name for a constant (parameter)

The name for a constant is used when someparameter will have the same constant valuefor any one compilation of the PL/B pro-gram, but may be changed for anothercompilation.

Constants

Octal numbers are preceded by the backarrow or its equivalent. The maximumoctal number allowed is «-377, except inarithmetic statements using the 'L or 'Xregister when the maximum is +-177777.

Hexadecimal numbers are preceded by $.The number of digits in the hexadecimalnumber must be a multiple of two. In dataarea initialization of "declaratives," a hexa-decimal number may be as long as desired;in arithmetic statements using the 'L or 'Xregister, it must have four digits; for the 'Aregister it must have two digits.

Binary constants are preceded by %. Thenumber of digits in the binary number mustbe a multiple of eight. In declaratives, thenumber may be any length; when using the

100

November 1978 BYIt Publications Inc

'L or 'X register, it must have 16 digits; forthe 'A register, it must have eight digits.

Decimal numbers have no prefix. Indeclaratives, the allowable range is —128 to255. Of course the numbers -1 and 255, forexample, are really the same bit pattern.The only difference is whether the numberis seen as being signed or unsigned. In anarithmetic statement, the allowable range(see table 2) depends on the register beingused.

In an arithmetic statement using 'L, analphanumeric constant is the two ASCIIcharacters immediately following a ". Forthe 'A register, it is the first characterfollowing a ". In declaratives, the constantis the string of characters surrounded by "s.If a " is to appear within the string, it mustbe doubled. That is, " " within such a stringwould result in just one " being stored inmemory. In alphanumeric constants, blanks,carriage returns and line feeds are notignored.

One other constant is the address corres-ponding to a symbol. This is indicated bypreceding the symbol with @. This type ofconstant may be used only with the registers'L or 'X. An address constant may be offsetby using the form:

& symbol # constant

For example:

@ TABLE #10

would give the address of the byte ten bytespast TABLE.

Declaratives

The form of a declarative which will assignsome memory space for a symbol and givethe initial values for that byte or bytes is:

symbol , value list ;

The ; is used to end all statements in PL/B.The value list is composed of one or moreconstants, separated by commas. Thesymbol is assigned the address of the firstbyte filled from the value list. For example:

SYMBOL TABLE ,"",$0000;

would set up three bytes containing a blankand two binary zeroes. SYMBOL TABLEwould be assigned the address of the firstbyte.

The EQU (equivalence) operation ofmany assemblers is done as follows:

symbol ,= symbol ;

or if an offset is used:

Register Type

8 bit register16 bit registerindex registercarry bit

PL/B

'A'LX'C

6800

AMX

c

8080

ABCDECY

Z-80

ABCIXCY

6502

AMMC

Table 1: Registers used by PL/B and in the more popular microprocessors.

Table 2: Summary of allowableranges for registers used in PL/B.Register 'A contains eight bits.Registers 'L and 'X contain 16bits. 'C is used as a flag.

Register

Range

'A

- 128

to

255

'L

-32768

to

65535

'X

0

to

65535

'C

0

to

1

Symbol

Direct Reference

symbol #constant to get an offset

ffconstant

#'X

#'X #constant

absolute addressvia index register,no offsetvia index registerwith offset

Table 3: Various ways to addressmemory locations.

symbol ,= symbol #constant ;

or if the symbol corresponds to an absoluteaddress:

symbol =# constant ;

or if the symbol is the name for a constantparameter:

symbol ,= constant ;

For example:

END OF TABLE, = TABLE # 10;

will assign the symbol END OF TABLE theaddress of the byte which is ten bytes pastTABLE.

The ORG (origin) operation of manyassemblers is done as follows:

#constant ;

(Remember that the constant may be theaddress of a symbol with an offset.)

To reserve a block of memory withoutgiving any initial values, the form is:

symbol ,+ constant ;

For example:

TABLE ,+ 100;

would set aside 100 bytes for TABLE. Thebytes would all be initialized to binaryzeroes.

Declaratives will come at the beginning ofthe program before the first procedure or

November 1978 © BYTE Publications Inc

101

Our MacroFloppy™goes twice the distance.

For $695.

Introducing the Micropolis MacroFloppy™:1041 and :1042 disk drive sub-systems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a5!4-inch floppy disk than anyone else. 143K bytes, to be exact. For as littleas $695.

The MacroFloppy:1041 comes with the Micropolis Mod I floppy packagedinside a protective enclosure (without power supply). And includes an S-100controller Interconnect cable Micropolis BASIC User's Manual. A diskette con-taining Micropolis BASIC, and a compatible DOS with assembler and editor.The ;1041 is even designed to be used either on your desk top, or to be inte-grated right into your S-100 chassis.

The MacroFloppy:1042 comes with everything the :1041 has, and more.Such as d.c regulators, its own line voltage power supply, and, to top it off,a striking cover Making it look right at home just about anywhere.

Both MacroFloppy systems are fully assembled, tested, bumed-in, andtested again. For zero start-up pain, and long term reliability. They're alsobacked up by our famous Micropolis factory warranty.

And both systems are priced just right. $695 for the MacroFloppy: 1041and $795 for the MacroFloppy:1042.

You really couldn't ask for anything more.

At Micropolis, we have more bytes in store for you.

For a descriptive brochure, in the U.S. call or write MicropolisCorporation, 7959 Deering Avenue, Canoga Park, California 91304. Phone(213)703-1121

Or better yet, see your local dealer.

sc*^*

Circle 235 on inquiry card.

MICROPOLIS

More bytes in store for you.

Table 4: Summary of alloperations performed byPL/B.

=

load

( rotate left

store

) rotate right

+

add

«shift left

-

subtract

»shift right

p

and

.<S> push

\

or

=<a pull

t

exclusive or

t complement

+&

add with carry

— negate

-&

subtract with carry

.+

decimal add

r

decimal subtract

between procedures. No symbol, other thana procedure name, may be used before it isdefined in a declarative. Also, a memorybyte or pair of bytes is normally referencedby giving the corresponding symbol. How-ever, there are other ways to reference amemory location as shown in table 2. Thecomplete list is summarized in table 3.

Arithmetic Statements

The form of an arithmetic statement is:

arena-of-action operation-list ;

The "arena of action" is a register name ormemory reference. All the operations in theoperation list will take place in that registeror memory location. The operations aresummarized in table 4. Any operation in the

first column must be followed by a memoryreference or a constant. Operations in thesecond column must not be followed by amemory reference or a constant. If a constantis used, the PL/B compiler will produce aninstruction with an immediate operand.A special check is made for the operations+1 and -1. For these, PL/B will produceincrement and decrement instructions. Forexample:

'A+l .WHERE ( .WHEN .@;

will increment the previous contents of theaccumulator, store the result at WHERE,rotate the accumulator and carry bit left,store that result at WHEN, and also pushit onto the stack.

Not all operations will be permitted forall possible arenas of action. For example,if the arena of action is a memory location,one may not add to it the contents ofanother memory location. That is:

PLACE+INCR;

would not be allowed, but:

'A=PLACE+INCR.PLACE;

would be allowed.

The shifts are logical shifts. They areequivalent to setting 'C = 0;and then rotat-

102 November 1978 B BYTE Publications Inc

TM

MetaFloppy

The Micropolis MetaFloppy™ gives you more than four times the capacity ofanyone else's 5%-inch floppy. Because it uses 77 tracks instead of the usual 35.

The field-proven MetaFloppy. with thousands of units delivered, comesin a complete family of models. And, like our MacroFloppy™ family of diskdrives, MetaFloppy is designed for the S-100/8080/Z-80 bus.

For maximum capacity, choose our new MetaFloppy: 1054 system. Whichactually provides you with more than a million bytes of reliable on-line stor-age. For less money than you'd believe possible.

The MetaFloppy:1054 comes complete with four drives in dual config-uration. A controller. Power supply. Chassis. Enclosure. All cabling. A new BASICsoftware package. And a DOS with assembler and editor. There's even a built-in Autoload ROM to eliminate tiresome button pushing.

If that's more storage than you need right now, try ourMetaFloppy:1053, with 630,000 bytes on-line. Or our Meta-Floppy1043, with 315,000 bytes on-line. Either way, you canexpand to over a million bytes on-line in easy stages, when youneed to. Or want to.

In other words, if your application keeps growing, we've gotyou covered. With MetaFloppy.

The system that goes beyond the floppy.

For a descriptive brochure, in the U.S. call or write MicropolisCorporation, 7959 Deering Avenue, Canoga Park, California 91304Phone (213) 703-1121.

Or better yet, see your local dealer.

MICROPOLIS"

More bytes in store for you.

goesbeyond

Circle 236 on inquiry card.

ing. On the 6502, the right rotate is done bya subroutine.

PL/B does not use labels and GOTOcommands. It does require structured pro-gramming, which is a superior method fororganizing a program in order to make iteasier to debug and easier for others tounderstand. Three structures are used inPL/B: procedures, if-else-endif, and loop-endloop.

Procedures

The form of a procedure (subroutine) is:PROCEDURE name [

executable statements

The first (main) procedure is unnamed.When the bottom of a named procedure isreached, control returns to the procedurethat called it. When the bottom of the mainprocedure is reached, control returns to thesystem monitor. The final procedure of aprogram is followed by an extra ] to markthe end of the program.A procedure is called by:

!PROCEDURE name ;or, if the procedure is at an absolute address:

! # constant ;or, if the procedure address is in 'L:

! #'L;

This last possibility is implemented by storingthe contents of 'L into an upcoming JSRinstruction. If the program is to be stored inread only memory, the contents of 'L arestored in a J MP instruction in programmablememory, and then a JSR is done to that J MP.An argument list may follow the proce-dure name. The list may contain only con-stants, but remember that the address of asymbol is a constant (therefore, call byaddress is possible). The form of the argu-ment list is identical to that of an initialvalue list in a declarative. The constantsare placed in memory directly following theJSR to the procedure. For example, apossible call could be:

[MULTIPLY, ©TIMES;

If-else-endif Structure

The form of this structure is either:logical-expression 1

November 1978 ©BYTE Publications Inc

103

or:

statements doneif expression true

'■ Ilogical-expression ?

statements done

if expression true

==

equal

!=

not equal

>

greater than

<

less than

>=

greater than or equal

<=

less than or equal

Table 5: Relational testsused by if-else-endif state-ments.

statements doneif expression false

'■ I

The simplest form of a logical expressionis a logical relation:

arena-of-action operation-list test

The operation list may be empty. The testis a relation followed by a memory referenceor constant. PL/B will generate a compareunless the constant zero is used and someprevious operation would have set thecondition register. The possible relations aresummarized in table 5.

A logical expression may also be made upof several logical relations connected by &&or V If a logical relation is followed by &&,and if the relation is false, control imme-diately passes to statements which are tobe done if the logical expression is false orto the end of the structure if there are nosuch statements. If it is true, the next logicalrelation is tested. For example:

'A =IM X) && 'A =M +1 .M <0 ?'A =1-1 .1; /

If N is greater than zero, then M will beincremented, and the result checked. Ifthat result is negative, I will be decremented.If that result is zero or positive, I will notbe decremented. On the other hand, if Nis zero or negative, not only will I not bedecremented, but M will not be incrementedeither.

If a logical relation is followed by \\, andif the relation is true, control immediatelypasses to the statements which have to bedone if the logical expression is true. If itis false, the next logical relation is tested.For example:

'A=NX)\\'A=M+1 .M<0 ?'A=l -1 .I; /

If N is zero or negative, then M will be incre-

mented and the result tested. If that resultis negative, I will be decremented. If thatresult is zero or positive, I will not be decre-mented. On the other hand, if N is positive,I will be decremented, but M will not beincremented.

Loop-endloop Structure

The form of this structure is:[ -

statements within the loop

'■ ]

When the computer reaches the bottom ofthe loop, it will start again at the top. Theloop is exited by using the !; statement withinan if-endif structure. For example, thefollowing will execute a loop ten times,using location / to save the count.

'A =10.1;[

statements in loop

•A=\ -1 .1 ==0?! ;/]

The !; may also be used to exit a procedureearly. Multiple exclamation points may beused, in which case that many loops (possiblyincluding the procedure itself) will be exited.In the example above, the test to exit theloop was put at the end of the loop. This isnot required. The test may be at the start ofthe loop or even in the middle of the loop.One loop may contain several conditionalexit instructions.

All programming needs documentation soit can be understood. Comment lines startwith an * and finish with a ; like any otherstatement.

Input/Output

Input devices will be assigned to lettersof the alphabet. They will be referred to byan * followed by the letter. The standardinput device will be *l; the standard listoutput device will be *L; the standarddevice for object program output will be *0.A program to echo input would be:

[[•A=*I.*L;]]]

The MULTIPLY procedure in listing 1is an example of the use of the PL/B language.It leaves in 'L the product of 'A and the bytepointed to by the argument following theMULTIPLY call.

104

November 1978 © BYTE Publications Inc

Our competitors hatedthe KIM-1 at $245!

No wonder; the KIM-1 microcomputer was less money for morefeatures than other microcomputer boards.

But KIM-1 Users loved US. Up until this week, for only $245,you could own a completely assembled microcomputer board withIK RAM, 2K ROM, cassette and serial interfaces, 15 I/O lines,2 interval timers and a six digit LED display. With MOS Technology'scomprehensive 6502 mpu instruction set. And the best documen-tation in the business.

And now theKIM system is themost expandable

at any price. A motherboard (KIM-4), memory expansion board(KIM-3B), editor/assembler (KIM-5), prototypingboard (KIM-6). All available now.

Just about the only problem potentialKIM-1 users encountered was thefact that the KIM-1 was in shortsupply: demand kept growing fasterthan our expanding production.But not any more.

Will they hate KIM-1even more at TTOP5"?

That's right: $1 79.95. For the same, superbmicrocomputer. And available now. Furtherevidence of the power and ability of Commo-dore's semiconductor and computer divisions.A synergism of MOS Technology's leadershipin the design and development of mpus, RAMsand ROMs together with Commodore's know-how in mass production and mass marketing.

Here's how the line-up looks now:

RockwellAIM 65

SynertekVIM

RCA VIP

CommodoreMOS KIM-1

$375

$269

$245

n799

We wonder what our competitorsare saying now!

*KIM is a registered trademark of Commodore Bus. Mach., Inc.

□ Yes... I want KIM-1s@ $179.95 now.*

□ I'm enclosing my check in the amt. of $

□ Please charge this to my credit card:

□ Master Charge □ BankAmericard/VISA

D American Express

My Card No Expires

Name (print).Address

City_

. State.

-Zip_

*Calif. residents add 6% sales tax (Santa Clara County - 6'A%).

D Please send me information on the KIM Expansion Modules.□ Please supply me with the name of your nearest dealer.Commodore/MOS • 901 California Ave. • CA 94304Dealer inquiries invited (415) 326-4000

Circle 47 on inquiry card.

BYTE November 1978

105

MULTIPLICAND ,+ 2;MULTIPLIER ,+ 1;PRODUCT,+ 2;

MULTIPLY [

'A .MULTIPLICANDS;

* GET RETURN ADDRESS FROM STACK, COPY TO 'X;

* ADD 2, PUT RESULT BACK ON STACK FOR RETURN;'L=@ .'X +2 ,@;

* LOAD ADDRESS POINTED TO BY 'X INTO 'X;'X ~#'X'

* GET AND TEST MULTIPLIER;

* IF MULTIPLIER N<0, REVERSE SIGN OF BOTH;

* MULTIPLIER AND MULTIPLICAND;'A =#'X .MULTIPLIER < 0 ?

'A =0 -MULTIPLIER .MULTIPLIER;

'A=0 -MULTIPLICANDS .MULTIPLICANDS;/

* CONVERT MULTIPLICAND TO 16 BIT NUMBER;'A ^MULTIPLICANDS < 0 ? 'A =-1; : 'A =0; /

'A .MULTIPLICAND;'L=0 .PRODUCT;

* GO THROUGH LOOP FOR EACH BIT IN MULTIPLIER;

* IF LAST BIT OF MULTIPLIER ON;

* ADD MULTIPLICAND TO PRODUCT;

* THEN DOUBLE MULTIPLICAND, AND SHIFT;

* MULTIPLIER RIGHT ONE BIT;[ 'A=MULTIPLIER == 0 ? I; /

'A » .MULTIPLIER;*C — .1 ?

'L =PRODUCT +MULTIPLICAND .PRODUCT; /'L =MULTIPLICAND +MULTIPLICAND .MULTIPLICAND;]'L = PRODUCT;]

Listing 7: An example multiplication program in PL/B. Thisprogram leaves the product of 'A and the contents of theaddress pointed to by 'X in 'L.

Don't wait 'till if stoo late...

Order small quantityContinuous Tax Formsnow.

At last...

Continuous Tax Forms are now available in smallquantities, as few as 50.

Available forms include:• 3-8 part W-2

• 1087

1099• 1040

941

for more information write or call

j^m ior more imormanon wru« ui um-

18350 Blackhawk St., Northridge, CA 91326Phone: (213) 368-5891

Conditional Compilation

If all the logical relations within thelogical expression of an if-else-endif structureconsist of a symbolic name for a constantbeing compared to another constant, thenthe result of the logical expression will bedetermined by the PL/B compiler duringcompilation. If it turns out that some state-ments cannot be executed, because the logi-cal expression will either always be true oralways be false, then no code will be gener-ated for those statements. Normally, theif-else-endif structure is permitted onlywithin a procedure. However, conditionalcompilation may be used in the declaratives.The conditional compilation feature couldbe used, for example, to produce differentversions of a program according to howmuch memory is available.

In order to keep the PL/B compiler small,conditional compilation and symbolic namesfor constants could be handled by a separateprecompiler program analogous to a macro-assembler's macrogeneration pass. The pre-compiler would eliminate the conditionalcompilation ifs along with any skipped codeand substitute the corresponding constantfor any symbolic name of a constant.

This completes the specification of thePL/B language itself. The rest of this articleconsiders implementation problems.

Symbol Table

The symbol table will initially be:

SYMBOL TABLE," ",$0000;

NEXT will point to the next available spot:

NEXT, ©SYMBOL TABLE#3;

Every character in the symbol table will befollowed by an address. While looking for asymbol, the compiler first checks to see ifthe current character matches the characterin the symbol table. If it does not, the associ-ated address will tell the compiler where tolook next for a match. If that address is zero,then this is a new symbol, and the rest of itsletters must be stored starting at the placepointed to be NEXT. If it does match thecharacter from the symbol table, then thecompiler moves up three bytes, and tries tomatch the next character of the symbolstarting at this point. The compiler will use abinary zero for end-of-symbol character.Once the end-of-symbol character is matched,then the definition of the symbol can befound by moving up three bytes. A symboldefinition takes three bytes: one byte tellswhat kind of symbol it is; the other two givethe symbol's address.

The following routine is used to get a

106 November 1978 <B BYTE Publications Inc

Circle 8 on inquiry card.

Everything you ever wantedin a video interface.

(Automatic scrolling, cursor, erase functions, etc.)

And less.

(Stand-alone—requires no processor.)

VIB-WOO. Shown actual size.

NFC's NEW VIB SERIES. FROM '129"

Don't let the low price fool you. These are not kits. They are fully assembled and

tested boards. NPCs custom CRT Processor Chip is the secret behind the entire

family. All perform character entry and cursor control functions automatically.

They execute all normal cursor commands as well as more sophisticated functions

such as erase page, erase to end of line, etc. Text automatically scrolls when

cursor reaches bottom of page. Display format is fixed at 16 lines of 64

characters for optimum efficiency.

VIB-1000 All standard features described above. $129.95

VIB-2000 All features of the VIB-1000 plus FOREGROUND AND BACKGROUND

video modes, SCREEN PROTECT and READY/BUSY handshake. $159.95VIB-3000 All features of the VIB-2000 plus SCREEN READ capability. $169.95VIB-2000S Serial interface (RS-232C) version of the VIB-2000. $189.95

Where Pricing is asImportant as Technology

EE3

Nucleonic

Products

Company

6660 Variel Avenue

Canoga Park, California 91303 ■ (213) 887-1010

Telex 69-8481 ■ TWX 910-494-1954

A Division of DuMont Electronics Corporation

If your local computer storedoes not have NPCs new VIBseries yet, contact the distributornearest you to order direct.

STEP SYSTEMS, INC.

4815 West 77th Avenue

Minneapolis, MN 55435

(612)831-3644

NATIONAL ELECTRO SALES

12063 W. Jefferson Blvd.

Culver City, CA 90230

(213)391-6294

DEALER INQUIRIES INVITEDCircle 287 on inquiry card.

BYTE November 1978

107

SEARCH [

'X = ©SYMBOL TABLE;[ [ 'A — #'X ? !;/'A .Is?;'L=#'X#1 ==0 ?

'L=NEXT .#'X#1 .'X;

'A =<s>;

[ 'A .#'X;

'L=0.#'X#1;#'X ==0? !;/'X+1+1+1;!GETCHARACTER;'A < "1 \\ 'A > "Z \\ 'A > "9 &&'A <"A?'A .@=0;/ I'A =0 .#'X#3 .#'X#4 .#'X#5;'L='X+6 .NEXT;

!!;/

'X='L;'A =@; ]'A==0? !;/!GET CHARACTER;

'A < "1 \\ 'A > "Z \\ 'A > "9 && 'A < "A ?'A ,@ =0;/ ]'X+1+1+1;'A =<g>; ]

Listing 2: This is a search routine whichtries to match a given symbol against thosecontained in the symbol table. When theroutine is finished, 'X contains the addressof the symbol definition and 'A contains thecharacter following the symbol.

character from the input. It is not used whenconstructing an alphanumeric constant.

GET CHARACTER [

[ 'A=*l != " && 'A !=<-12&& 'A !=<-15?

!;/]

'A><-137? "A-*-40;/]

The routine in listing 2 searches for a matchfor a given symbol. When the routine isentered, the first letter of the symbol isalready in 'A. When the routine exits, 'Xpoints to the symbol definition (all zeroesfor a new symbol), and 'A has the specialcharacter that follows the symbol.

tures currently in use. The cell will containtwo addresses: the first two bytes will con-tain the address of the next cell on the list(or zero at the end of the list), and the nexttwo bytes will contain the address where theprocedure's address should be placed whenthe program is loaded.

Let LOC be the current program counter,FREE be the pointer to a list of free cells(this list is initially empty), and let 'X pointto the symbol definition for the undefinedprocedure. The routine of listing 3 will addthe forward reference to the symbol's for-ward reference list.

The routine in listing 4 fills in the addresswhen it is known. Let LOC contain theaddress of the procedure and let 'X point tothe first cell of the address insertion list.OBJECT CODE is a routine that producesobject code. The byte which goes out isplaced into 'A and the address where it goeswhen loaded is placed into 'X.

It is necessary to keep a status stack ofstructures in use. For this stack (last in firstout, LIFO list, not the hardware stack) allfive bytes of a cell will be used. The fifth cellmarks the "type" of the cell. The possibilitiesare summarized in table 6. Thus, there willbe two stack entries for every loop, and oneentry for each if currently active.

When an if is compiled, the code for the ?will be a branch if true to the code followingthe ?, and then a JMP instruction to makethe possibly big jump over the code whenthe condition is false. The code for a &&would be set up to branch to this JMP in-struction if the preceding condition is false.The code for \ and && do set up local for-ward references, which can be handled in amanner similar to the method given above.Of course, these addresses are relative andonly use eight bits.

Forward References

Automically Indented Listing

Unlike an assembler, PL/B will be a 1 passcompiler. Thus at times it will have to back-track and insert addresses in code alreadygenerated. This is done by generating anentirely separate line for the loader in orderto stuff the one or two bytes into the addressarea of an instruction.

Consider, first a forward reference to aprocedure. The type byte in the symbol defi-nition for the procedure will not only revealthat this is a procedure, but that it still is notdefined. In this case, the so-called addressactually points to a list of places where theaddress must be inserted when its value isknown. Each cell of this list will be five byteslong, of which only four are used. This typeof cell will also be used to keep a status stackfor the if-else-endif and loop-endloop struc-

A separate PL/B listing program shouldbe provided which will provide an automati-cally indented listing. Structured programsare much easier to read if they are properlyindented. In an automatically indentedlisting, the listing program removes anyindenting the user may have done (it skipsleading blanks) and indents the listingaccording to the structure present in theuser's program. For each level the listingprogram should produce two characters atthe start of the line: a vertical bar and ablank. Remember, if a line starts with a :, itreduces the "level" by one for that line only.If a vertical bar is not available a slash orexclamation point might be used. The resultis a column of vertical bars stretching betweenthe top and bottom of a structure. If the

108

November 1978 © BYTE Publications Inc

programmer has made some mistake in struc-tures, (s)he may easily spot it from such alisting. All trailing comments should bestarted at the same column, if possible.

Each line of the listing should be precededby four characters giving the location counterand a blank. If the line starts with a # (anORG command), the location printed shouldbe the one given in that line. If a ,= opera-tion is used (an EQU operation), the resultingvalue for the symbol should be given."

TEMP,+ 2;TEMP2 ,+ 2;FREE , $0000;LOC ,+ 2;

FORWARD['X .TEMP;'L=#'X#1 .TEMP2;IGETCELL;

'L =LOC .#'X#2 =TEMP2 .#'X;'X .'L=TEMP;'L .#'X#1; l

GET CELL[

'X =FREE ==0?

'X = NEXT;

'L = NEXT+5 .NEXT;: 'L = #'X .FREE; / ]

Listing 3: Routine to addforward references to asymbol's forward referencelist.

"Address" Field

Type

Contents

1

Address of the start of a

loop.

2

Link to address insertion

list for loop end. Used for

!; instructions.

3

Place to put address for :

or / (else-endif).

4

Place to put address for /

(: already found).

Table 6: Various address field types.

CHAIN [

[ 'X ,TEMP==0? !;/'X =#'X#2;'A = LOC;IOBJECTCODE;'X+1;

'A = LOC#1;IOBJECTCODE;'X =TEMP;IFREE CELL; ] ]

FREE CELL[

'L = *'X .TEMP2 =FREE .#X;'X .FREE =TEMP2; ]

Listing 4: This routinetakes the forward referencelist generated by listing 3and fills it in when theaddress is known.

Practical Microcomputer Programming

PRACTICAL MICROCOMPUTER PROGRAMMING: THE INTEL 8080 by W J Weller,A VShatzel.and H Y Nice.

Here is a comprehensive source of programming information for the present orprospective user of the 8080 microcomputer, including moving data, binary arith-metic operations, multiplication and division, use of the stack pointer, subroutines,arrays and tables, conversions, decimal arithmetic, various IO options, real time clocksand interrupt driven processes, and debugging techniques.

This 306 page hardcover book is well worth its $21.95 price and should be in every8080 or Z-80 user's library.

f"

PRACTICAL MICROCOMPUTER PRO-GRAMMING: THE M6800 by W J Weller.

This second volume of the PracticalMicrocomputer Programming series ad-dresses the problems of applications pro-gramming at assembly level for the M6800.In 16 chapters and more than 100 formalexamples, the fundamental techniques ofassembly level programming are applied tothe solution of specific problems with the6800. Nowhere theoretical, it is a thoroughand detailed methods text for the beginningand intermediate application programmerusing the 6800. Hardback. $21.95.

Name.

Address.City

.State.

.Zip.

ilirpji practical THE INTEL 8080 @ $21.95 $_

HI B^K* MICROCOMPUTER

Mll^inc programming: THE M6800 @ $21.95 $.

POB 428

25 Route 101 West

Peterborough NH 03458 Postage outside USA $ 1.00 $.

Total $.D Check enclosed

Postage $.75 ea. $-

□ Bill MC#

□ Bill BA#

Signature

J- / L

-I—J-—A

. Exp. Date.. Exp. Date.

You may photocopy this page if you wish to leave your BYTE intact. J

November 1978 © BYTE Publication! Inc 109

Making q 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.

PI 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 Solomonand Stanley Viet.

'3 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.

[~l 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.

\T] 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

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.

SARAGON by Dan and Kate Spracklen.

□ Written about the West Coast Com-puter Faire chess champ, "Saragon,"which is a program in Z-80, this book isavailable for the first time in October1978. $14.95 (no photo).

THE WIRED SOCIETY by JamesMartin.

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

0 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 All-Purpose Symbolic Instruc-tion Code) is easy to learn and easy toapply to many problems. $8.95.

ADVANCED BASIC by James S Coan.

M 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. $7.95.

CHESS AND COMPUTERS by DavidLevy.

1 I 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.

f~l 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.

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

110

BYTE November 1978

GAMES, TRICKS AND PUZZLES FORA HAND CALCULATOR by WallaceJuriri.

D 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.00.

FUNDAMENTALS OF RECORDKEEP-ING AND FINANCE FOR THE SMALLBUSINESS by Robert C Ragan, CPA,and Jack Zwick, Ph.D.J 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.O Volume I, Fundamental Algorithms,634 pp. $21 95 hardcover.O 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.LD 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.

L~] 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).

|f IW-BOWN STOUCTURfn PRQCRAMMme nCHNHUffS s&

SOME COMMON BASIC PROGRAMSby Lon Poole and Mary Borchers

[~] 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.

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

I~l 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 ClementL McGowan & John R Kelly.

n What is structured programming? Theauthors answer this question in thislively, well-written book. 288 pp. $1 5.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 computers using the 6800 microprocessorThe 6800 instruction set is presented indepth with chapters on assemblers, sim-ple programs, code conversion, tablesand lists, subroutines. Input/output,interrupts, program design and documentation, and sample projects, $8.50.

ACCOUNTS PAYABLE AND AC-COUNTS RECEIVABLE by Lon Pooleand Mary Borchers.

Q] 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 & Assodates' 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 HOTLINE 1-800 258-5477.

inc

Name.

Books to ©rose the impossible

POB 428, 25 Route 101 WestPeterborough. NH 03458

^■MHk. My check enclosed

Check #

AddressCity

Signature.

Amount

My card #

Expires _Prices subject to change without notice

State-

Z'P

Total

Number of books

Postage $ 75/book or$1 00 outside U S

Grand TotalDealer Inquiries Invited.

You may photocopy this page.

BYTF November 1078 111

A Classroom Demonstration

Controlling a System with a Microcomputer

Garnet L HillPhysics DeptEmporia State UniversityEmporia KS 66801

Microprocessors are large scale integratedcircuits that consist of a central processingunit and a control section, with provisionsfor handling parallel binary data in com-munication with various types of memoryand peripheral devices. The use of such asmall computer is fast becoming an every-day phenomenon. The ubiquitous natureof small computers implemented withmicroprocessors makes it imperative that thecomplete course in the physical sciencescover these tools of control in some way.The purpose of this article is to point outa fairly simple application which illustrateshow microprocessor control systems can bedemonstrated to students in teaching labora-tories of engineering and physical sciences.The example can be used as a classroomdemonstration or laboratory experimentsuitable for advanced high school or collegelevels depending upon the degree of detailprovided by the teacher.

The object of this experiment is toillustrate how a computer program, runningin a simple microprocessor, can be used asa control element for a system. The micro-processor and its program form a sort ofcomplicated "black box" receiving inputsfrom sensors and calculating an outputpresented to an actuator. In the 1960s,before the existence of microprocessortechnology, such black boxes were oftenconstructed out of smaller integrated circuitsand programmed by wiring the pins. Earlierthan the 1960s, many of the functions nowcommonplace in digital electronics weresimply prohibitively expensive or impossibleto achieve. The advent of the programmableprocessor, however, brought a flexibility offunction not possible with such "hard-wired" logic: changing a program, the"software" of the application, can be done

at the flick of a button rather than throughtedious rewiring.

Setting Up the Experiment

This experiment utilizes a typical educa-tional microprocessor system, the E&LInstruments "Dyna-Micro" computer whichcontains an 8080A processor made by theIntel Corporation. The experiment imple-ments a simple control system designed tokeep the rate of flow of an airstream set ata value as measured by three simple binaryswitch sensors. A stock solid state relaypart with microprocessor compatible TTLinput and 120 V at 3 A AC power ratingsis used to turn on and turn off the fanmotor, with a program interpreting thestate of the wind sensors and deciding whatthe motor should be doing.

Figure 1 shows the design of the experi-ment at a global level. Three wind vanes areplaced in front of the fan and displacedlaterally to avoid blocking the wind from thefan. Due to the mixing of the fan's airstream with the "still" air of the rest of theroom, the wind pressure is greatest near thefan, and least furthest away from the fan.Thus sensor A experiences the greatestdisplacement and sensor C experiences theleast displacement for a given average speedof the wind. Each vane is a binary sensor:if the wind speed is above a certain level,the switch of the sensor is closed; if the windis below that level, the sensor switch is open.Three bits of digital information are read bythe 8080's computer program using an"IN" instruction for the appropriate port.

The design of the wind vane sensor ele-ments is simple, as shown in figure 2. Thebase of the sensor is a block of wood. Thedimensions are chosen so that the block canbe clamped at the edge of the laboratorytable with the proper spacings as shown infigure 1. The dimensions of figure 1 arebased on the author's experiences, butexperimentation with the relative spacingof the sensors and fan can prove fruitfulin demonstrations. Each sensor is a single

112

November 1978 'J BYTE Publications Inc

Osborne & Associates, Inc.

The World Leaders in Microprocessor Books

If you want information on microprocessors, read the Osborne books.

An Introduction to Microcomputers

Volume 0 - The Beginner s BookIf you're not familiar with computers, butwould like to be, then this is the book foryou. Computer logic and terminology areintroduced in a language the beginner canunderstand. Computer software, hardwareand component parts are described, andsimple explanations given for how theywork. Text is supplemented with creativeillustrations and numerous photographs.300 pages.

Volume 0 #08-X $7.95

Volume 1 - Basic Concepts

A must for anyone in the computer field,this best selling text explains hardwareand programming concepts common to allmicroprocessors. Its universal appeal isreflected by its having the greatest yearlysales volume of any computer text. 350pages.

Volume 1 #02-0 $8.50

Volume 2 - Some Real MicroprocessorsVolume 3 - Some Real Support Devicesand update subscriptionsThese two books provide completedescriptions of virtually everymicroprocessor and most support devices.There are no other books like these; theyprovide detailed part descriptions from anindependent source.

To cope with the rapid evolution ofmicroprocessor products. Volumes 2 and 3have been printed in loose leaf form; eachvolume has its own series of six bimonthlyupdates, allowing you to remain currentwith all parts as soon as they are reallyavailable. Updates sold separately.

These two books replace the 1977edition of Volume II - Some RealProducts.

Volume 2 with binder #14-4 $20.00Volume 3 with binder #17-9 $20.00Volume 2 update only $25.00/yr.

Volume 3 update only $25.00/yr.

Volume 2 and 3 updates $40.00/yr.

Program Books Written in BASIC

Payroll with Cost Accounting

Accounts Payable and Accounts Receivable

General Ledger

These books feature complete, quality

applications software for small-to-medium

sized businesses. Each book includes fully

documented program listings, sample

printed reports, installation instructions

and user's manual. Written in an extended

Wang BASIC (write to ask us about our

CP/M CBASIC version and other

conversions). 375 pages each.

Payroll #09-8 $15.00AP&AR #13-6 $15.00G. Ledger not yet available, see order form

Some Common BASIC Programs

76 short practical programs, most of whichcan be used on any microcomputer withany version of BASIC. Complete withprogram descriptions, listings, remarksand examples. 200 pages.

SCBP #06-3 $8.50

Assembly Language Programming

8080AI8085 Assembly Language Programming

6800 Assembly Language Programming

These books describe how to program amicrocomputer using assembly language.They discuss classical programmingtechniques, and contain simplifiedprogramming examples relevant to today'smicrocomputer applications. 400 pageseach.

8080A/8085 #10-1 $8.506800 #12-8 $8.50

Programming for Logic Design

8080 Programming for Logic Design6800 Programming/or Logic DesignZ80 Programming for Logic Design

These books describe the meeting groundof programmers and logic designers;written for both, they provide detailedexamples to illustrate effective usage ofmicroprocessors in traditional digitalapplications. 300 pages each.

8080 #04-7 $8.506800 #05-5 $8.507,80 #11-X $8.50

^ Osborne & Associates, Inc.

fj" PO. Box 2036, dept. 114Berkeley, CA 94702 USA

(415) 548-2805TWX 910-366-7277

BOOK # & TITLE

PRICE

QUANTITY

AMOUNT

NAME

ADDRESS

CfTY

STATE ZIP

Please send the following information:n Becoming an O&A dealer

□ School discounts

D List of foreign distributors

□ More information on O&A books

Q Notice when General Ledger is available

Payment in advance must be enclosed for purchasesof up to $70 00 Invoicing US. purchases over $70 00available upon approval of your account All foreignorders must be prepaid in US dollars drawn on a U Sbank

PHONE

SHIPPING (Shipping for large orders to be arranged)

Vol 2 and Vol. 3 update subscriptions:

Q All foreign orders $4 00 per 6-issue subscnptton for airmail

C No charge in the US - 4th class mail ONLY

Books:

G All foreign orders $3 00 per book for airmail

D $0.35 per book 4th class (allow 2-3 weeks in the U S.)

□ $0.75 per book UPS in the US (allow 10 days)

Q $1 50 per book special rush shipment by air in the US

California residents tax

shipping

TOTAL AMOUNT ENCLOSED

Catif re;S F. BAF

idents add 6% sT residents add

ales tax.

5-1/2 % sales tax

F11

Circle 292 on inquiry card.

BYTE November 1978

113

SENSORS MOUNTEDON BOARDS -

TO SOLIDSTATE RELAY

Figure I: A micropro-cessor based control sys-tem. The goal of theexperiment is to keep aconstant rate of air flowfrom the fan shown at theleft. Three binary switchsensors monitor the airflow. A microprocessorexamines the state of thesensors and controls thefan by means of a solidstate relay.

-30cm

FRONT EDGE OF LAB BENCH -

pole single throw switch which is sensitiveto the air pressure felt by the movable ele-ment of the switch, an aluminum vane.

The fixed contact of the switch is asimple piece of #12 copper wire, which issharpened to a point at one end, bent intoan "L" shape, soldered to a stranded wirefor connection to the computer circuit,and inserted into a hole drilled in thewooden mounting block. When the "L"is inserted in the mounting block, thepoint contact should face "upwind" towardthe fan when the mounting block is clampedinto its position in figure 1.

The wind sensitive moving contact ofthe switch has two parts. One part is a sup-

MOVING VANE FRAME

(MAKE FROM #12 COPPER WIRE)

STATIONARY CONTACT (POINTED)(MAKE FR0M#I2 COPPER WIRE)

CONTACT CONNECTIONWIRES SOLDERED TO#12 COPPFR FRAMEAND POINT CONTACTS

C CLAMPS

Figure 2: Detailed view of one of the three binary air flow sensors (typicalfor three).

port frame, also made out of #12 copperwire, bent into a much larger "L" shapethan was used for the fixed contact. As withthe fixed contact, this support frame has aninterconnection wire soldered to it beforeit is inserted into the wooden base of theswitch. The second part of the wind sensi-tive contact is an aluminum vane measur-ing 3 cm wide by 15 cm long including asuspension hook bent in its end. The vanewas fabricated from scrap sheet aluminumof about 1 mm thickness. When it hangswithout any wind pressure, the equilibriumposition of the vane should be about 1/2 cmaway from the point contact. The mount-ing holes for the frame and point contactshould be chosen with this in mind, althoughsome adjustment is possible by bending theframe or point contact after assembly.

With this switch design, when the airfrom the fan produces a sufficient force,it displaces the bottom of the vane causingit to touch the wire point as shown by thedotted line in figure 2. This closes theswitch. The three switches are used to definethree binary input bits by wiring them tothe circuit of figure 4 (which will be dis-cussed in more detail later).

With this experiment's physical design,how can we obtain the desired behavior ofan air flow sufficient to deflect switch Ainto a closed position, but insufficient todeflect switch C into a closed position, withswitch B "hunting" a stable state? Basically,this is achieved by turning the motor of thefan on and off based on the sensed condi-tions of all three switches. Let's considereach switch in turn:

First, if switch A is open we definitelydo not have enough air flow, since we want

114

November 1978 ©BYTE Publications Inc

TARBELL SOFTWARE

Extensive & Inexpensive.

TARBELL CASSETTE or DISK BASIConly $36.00

Most features of ALTAI R* Extended BASIC are includ-ed PLUS these added features:

•Assignment of I/O

•Alphanumeric line labels are allowed

• Read and write string data

• Unlimited length of variable names and strings

• Procedures with independent variables

• Number system 10 digits BCD integer or floating pointIncluded are commands unique to Tarbell BASIC whichprovide capabilities to:

• Chain to another program • Assign a physical device to

a logical device • Drop an I/O channel previously assign-ed • Cause programs to be appended onto programs al-ready in memory •Call a procedure and pass variables onthe list • Cause interpreter to enter edit mode using 15single character edit commands.

Tarbell BASIC occupies 21 K of RAM.Tarbell BASIC on cassette - $36Tarbell BASIC on CP/M Disk - $36Tarbell BASIC Source on paper - $25Tarbell BASIC Source on CP/M Disk - $25

CP/M Disk Operating System

The I/O section of this software has been modifiedto operate with the TARBELL Floppy Disk Interface in24K bytes of memory. Five commands permit listing ofdirectory, typing contents of an ASCII file, renaminga file, erasing a file from disk, and saving memory ondisk. Fourteen programs are included which are invokedlike commands. Six source files are included for transfer-ring between TARBELL Cassette and disk, cold-startloading, Basic I/O system with drivers, and reformatting

BASIC-E Compiler

Designed to work with CP/M Disk Operating Systemthis software requires a total of 20K bytes of memory.Included are 26 compiler error messages and 23 run-timeerror messages. Disk files may be read, written or up-dated by using both sequential and random access. In-cluded are blocked and unblocked files. Price for com-piler and run-time monitor on diskette is $10.00. Manualis available separately for $5.00. (Public domain soft-ware by Gordon E. Eubanks, Jr.).

BIOS and instructions to patch CBIOS for your system.Price is $100 on CP/M diskette with documentation.(CP/M is a product of Digital Research).

CBASIC Programming System

Upward compatible from BASIC-E, CBASIC is simi-lar but expanded to include several business oriented

CP/M 1.4 Update Package

A TARBELL Update Package for those now usingCP/M 1.3 is now available on diskette. The UpdatePackage adds new commands and the ability to accessfour disk drives, as well as 2 new CP/M manuals, TAR-BELL CP/M User's Guide and a new BIOS listing.Price: $50.00.

facilities, allowing decimal computations to 14 digits ofprecision, data formatting and PRINT USING state-ments. Statements allow access to disk files and diskfile maintenance. Strings of characters may be read fromthe console to permit correct input line format to bechecked before reading data. General programming fea-tures include variable names up to 31 characters, option-al line numbers, dynamic debugging tracers, and optionaldata output to printer. CBASIC on diskette and manual

SPOOLER

priced at $100. (Copyright Software Systems.)

This 8080 program will save many hours of computingtime. It intercepts all output to the list device, spools theoutput to a high-speed disk file, and directs the spooleddata to a low-speed printer during unused cycle time whilethe CPU waits for transfer of data to and from the console.System throughput is greatly increased with the aid ofSPOOLER. Output is never lost due to insufficient memoryallocation. Fully compatible with the CP/M file system,SPOOLER permits parallel processing without hardwareinterrupt, and with minimal impact on other processes.Price: $70.00 (Copyright KLH Systems.)

EMPL an 8080 APL

Especially suited to educational applications, EMPLis an adaptation of APL, using the ASCII character set.Only one-dimension arrays are allowed. This 8K versionoccupies the first 5376 bytes of memory and operates intwo modes. The Execution Mode permits all instructionsto be executed immediately. The Definition Mode per-mits the user to enter functions. EMPL on Tarbell Cas-sette with manual is $15. (Copyright 1977 Erik Mueller).

*ALTAIR is a trademark/tradename of Pertec Computer Corp.

Circle 360 on inquiry card.

*CP/M is a trademark/tradename of Digital Research

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

BYTE November 1978

115

f START J

NOPS OR lOmSDELAY LOOP

OUTPUT A SETPULSE FROMCHANNEL#3TO TURNFAN ON

NOPS OR lOmSDELAY LOOP

OUTPUT A RE-SET PULSEFROM CH.#ITO TURNFAN OFF

Figure 3: Flowchart of the air flow experiment.

switch A to be held closed all the time. Thusthe motor must be forced on uncondition-ally if switch A is open.

But if switch A is closed, then we mayhave enough air flow already, but we mightin fact have too much air flow. If switch Cis then tested and found to be closed, weknow that the air flow is too much, andmust unconditionally turn off the fanmotor.

If both switch A and switch C have nor-mal "steady state" conditions of beingclosed and open respectively, then switchB is used to directly control the state of thefan motor. If switch B is open then its vaneis not deflected enough, so the fan motoris turned on; if switch B is closed, then itsvane is deflect enough so the motor is turnedoff. The inertia of the fan blades smoothsout the sudden jerks of power to the motor,so that the effect of control exerted byswitch B is to keep its vane just at the pointof touching the contact.

This logic is shown in flowchart form asfigure 3. The fineness of the control of thewind speed (and switch B's vane position)can be set by the amount of delay "wired"into the software of the flowchart. This

flowchart implements a "dynamic" equilib-rium situation through active control. Thebehavior of the system under differentamounts of time delay is well worth inves-tigating in the tutorial laboratory. How doesthe inertia of the fan blades (and consequentsluggish response to commands) affect thestability of the system? How does theamount of the delay in the control flowchartaffect the stability of the system? Is itpossible to use sensor A or sensor C aloneto control the loop? Many, if not all, theexperiments to be performed on this systemcan be implemented simply by changing theprogram running in the microprocessor.This ease of change (for a new program needonly be typed into the entry keys of theprocessor) is one of the main reasons whyinexpensive computers are now beingwidely used to control such systems.

A Look at the Details

The components used in the fan controlsystem are shown in figure 4; they werebreadboarded on the SK-10 socket of theDyna-Micro 8080 based microcomputer.The 120 VAC fan was turned on or off bythe Hamlin optically isolated solid staterelay. All three sensor switches were wiredwith "pull up" resistors to +5 V. When theswitch is closed, 0 V or a logic zero is inputto a pin of IC2, the 8095 three state buffer,and when the switch is open, 5 V or a logicone is input to pin 2. The data from the8095 buffer, IC2, is input to the accumula-tor via bits Dq, Di, and D2 on the data busof the computer when a negative 1.333 fisdevice select pulse strobes pin 15 on the8095 chip. This pulse occurs as a result ofaddressing IO port 2 with an IN instructionin the program. The 74154, IC1, serves asa 4 to 16 line decoder which directs device-coded control signals to the 8095 buffer orthe 7476 flip flop chip, depending on which8080 port was selected. A set pulse isapplied to the 7476 flip flop, IC3, to turnthe fan on. The flip flop serves as a memoryto keep the fan on until the next bit controlsignal is passed to it. The fan is turned offby a negative-going pulse applied to theclear input of the 7476. The IN and OUTsignals coming from the 8080A microproc-essor are connected to the 7408 ANDgate, IC6, and form a negative logic ORgate for the 74154 by DeMorgan's theorem:A & B = A+~B, A or B = A & B.

The 8080A microprocessor is capable

116

November 1978©BYTE Publications Inc

An

Less Cost

DISK SYSTEM

gives you a lot lessthan you expected:

Less Hassle

The DISCOMEM Controller board costs us less tomanufacture. So your complete INFO 2000 DiskSystem costs you less - at least $400 less than com-perable disk systems.

Less Hardware

Only three S-100 boards are needed to create a com-plete, high-performance disk-based microcomputersystem-the DISCOMEM Controller Board, a 32Kmemory board, and any 8080, 8085 or Z80 CPUboard. You don't need extra interface or EPROM-boards since DISCOMEM contains 2 serial ports, 3parallel ports and provision for 7K of EPROM and IKof RAM.

LessTime

The INFO 2000 Disk Sys-tem is incredibly fast! Usingthe PerSci Drives with voicecoil positioning, disk seektimes are up to 8 times fast-er than with other drives.A full disk-to-disk copy andverification takes well undera minute. Formatting andverifying a new diskettetakes less than half a min-ute. Reloading CP/M* fromdiskette takes a fraction of asecond.

The INFO 2000 Disk System eliminates the "I/O configura-tion blues" by incorporating all necessary interface ports. ACP/M Loader and all I/O drivers are contained in EPROM sothere is no need for special software customization. Justplug the system into your S-100 microcomputer and beginimmediate operation using the CP/M disk operating system.The INFO 2000 Disk System is supported by the most exten-sive library of software available, including 3 different BASICs,2 ANSI FORTRAN IVs, several assemblers, text editors, de-bugging tools, utilities and numerous applications packages.

LessErrors

This disk system uses fullsize 8" diskettes and stan-dard IBM 3740 recordingformat. So you're assuredsuperior protection againsterrors, and full inter-chanageability with otherCP/M-based systems.

Less Space

The system is remarkablycompact, requiring only1/2 to 1/3 the space takenby other 2-drive disk sys-tems.

It all adds up to more

for your money.

The complete INFO 2000 Disk System comes completely assembled and tested. It includes dualdiskette drives, the DISCOMEM Controller, power supply, cabinet, cables and the CP/M diskoperating system—everything you need for immediate plug-in-and-go operation with yourmicrocomputer. This means less time, hassle, hardware, space, errors and less money than forcomparable equipment. Now, isn't that a lot less than you'd expected in a dual disk system?

INFO 2000 Disk Systems are also available for Digital Group and Heath H8 microcomputers.Dealer inquiries welcomed.

*CP/M is a registered trademark of Digital Research.

Circle 176 on inquiry card.

CORPORATION

206 20 South Leap wood Avenue

Carsoa California 90746

(213)532-1702

BYTE November 1978 117

e a l

INSTRUMENTDYNA-MICRO8080A OREQUIVALENT

Number

Type

+5V

Gnd

IC1

74154

24

12

IC2

8095

16

8

IC3

7476

5

13

IC4

7404

14

7

IC5

(see schematic)

IC6

7408

14

7

Figure 4: Control circuitry for the air flow experiment,

0300

CD

BF

00

NEXT I

CALL

DELAY

0303

CD

BF

00

CALL

DELAY

0306

DB

02

IN

2

0308

OF

*

RRC

0309

DA

16

03

*

JC

ONFAN

030C

OF

RRC

030D

OF

RRC

030E

D2

IE

03

JNC

OFFAN

0311

07

RLC

0312

07

RLC

0313

D2

IE

03

JNC

OFFAN

0316

D3

03

ONFAN

OUT

3

0318

CD

BF

00

CALL

DELAY

031B

C3

00

03

JMP

NEXTI

031E

D3

01

OFFAN

OUT

1

0320

CD

BF

00

CALL

DELAY

0323

C3

00

03

JMP

NEXTI

of handling much more complex controlsystems than the example given here. In thiscontrol experiment, as in many simplelaboratory tasks, control of a single bit(the fan motor state) is all that is necessary.

Fan Control Program

The program for controlling the fanconsists of only the 38 bytes of machinelanguage instruction which are given inlisting 1.

If the fan can produce enough wind, thedynamic equilibrium condition described

CALL SUBROUTINE DELAY IN KEX

FOR 20 MS DELAY.

INPUT SWITCH DATA ON CHANNEL 2.

ROTATE ACCUMULATOR RIGHT ONE BIT;

TEST FOR A SWITCH DATA, LSB - MSB

AND CF.

CONDITIONAL JUMP TO ONFAN IF CF=1.

ROTATE ACCUMULATOR RIGHT TWO BITS

TO TEST SWITCH B DATA.

CONDITIONAL JUMP TO OFFAN IF CF=0.

ROTATE ACCUMULATOR LEFT TWO BITS

TO CHECK SWITCH B DATA.

CONDITIONAL JUMP TO OFFAN IF CF=0.

INPUT TO TURN FAN ON.

CALL SUBROUTINE DELAY IN KEX

FOR 10 MS DELAY.

UNCONDITIONAL JUMP TO INPUT NEXT

SWITCH DATA.

OUTPUT TO RESET OR TURN FAN OFF.

CALL SUBROUTINE DELAY IN KEX

FOR 10 MS DELAY

UNCONDITIONAL JUMP TO INPUT NEXT

SWITCH DATA.

Listing I: An 8080A assembly language program for controlling the fancircuit in figure 4 (see also figure I).

I20VAC

earlier is soon established after execution ofthe program begins. When the IN instruction(hexadecimal address 0308) is executed,the processor reads eight bits (Dq, D-|,D2 . .. D7) into the accumulator from port2. In this application, only three bits of data(Dq, D-j, and D2) are input (one bit fromeach switch, as shown in the schematicdiagram). If switch A is closed and switchC is open, bit 2 (D-]) is tested; then the fanis either turned on with the OUT instructionat hexadecimal address 0316 if the middleswitch (B) is open, or the fan is turnedoff with the OUT instruction at address031E if this switch (B).is closed. A jump(JMP) back to the beginning of the programafter each of these OUT instructions com-pletes the loop. Any or all of the four10 ms delay loops may be removed if desiredby placing three NOP instructions (hexa-decimal 00) in place of the CALL (hexa-decimal CD BF 00) instructions. (The10 ms delay loop is a subroutine built intothe Dyna-Micro Designer.)

Much can be done with similar simpledemonstrations of active control usingmicroprocessor based computers and suit-able inexpensive sensors like those used inthis experiment. I hope that this simplecontrol system experiment will serve toinspire teachers of science and engineeringsubjects, providing them with some practicalexamples to illustrate how computers canbe used as tools in the laboratory."

118

November 1978©BYTE Publications Inc

Boards ... or Complete Systems

The best price and delivery is from MiniMicroMart!!!

CROMEMCO MODEL 3703LINE PRINTER

180 cps bi-directional 0URCASH

CROMEMCO MODEL 3100CRT TERMINAL

$1350

CROMEMCO

List $1595

OUR

CASH

PRICE

LIST $2995 PRICE $2545CROMEMCO SYSTEM 2 (order as 02-5502-0) List $3990 $3390

CROMEMCO DISK SOFTWARE - BASIC, Fortran, Assembler,

Cobol, Word Processing System, Data Base Management, all complete

with CMOS disk operating system, List $95 each ... ... $80 ea.

SYSTEM 3

OUR

List $5990 SS $4999

Features 4 MHz CPU, 32K of RAM, dual PerScifloppy disk drive (and provision for installing twoadditional dnvesl, RS232C Interface, Printer Interface;assembled and tested, ready to use. (Order as02 5503-0)

Z-2 Computer System, Kit for rack cash

mounting, Z-80 processor, 21 slots,

power supply, front cover panel

List $595 (order as 02-5301-01 $499

Assembled and Tested, ind. fan and

all edge connectors List $995 (order as02-5401-0) List $995 845

Z-2D Disk Computer System, Kit

Similar to Z-2, but comes with floppy diskcontroller, DOS, and minifloppy disk drive.A complete system with the additionof a RAM Board (02-5302-0) List $1495 1270

Assembled/Tested (02-5402-0)

List $2095 1780

CROMEMCO BOARDS

4 MHz Single Card Computer,

Kit (order 02-3511-0) List $395 335

Assembled/Tested (02-4511 0) $450 . 382

16K RAM Card with Bank Select,

Kit (order 02-3216-0) List $495 399

Assembled/Tested (02-4216-0) $795 499Bytesaver PROM Board and PROM

Programmer, Kit without PROM

(order as 02-3308-0) List $145 123

Assembled/Tested (024308-0) List $245 208

TU-ART Digital Interface, Kit (order

as 02-3440-0) List $195 165

Assembled/Tested (02 4440-0) $295 . . 250

Disk Controller Card, Kit (order as

02-3701-0 List $395 335

Assembled/Tested (02-4701-0) $595 . 51 5

TV Dazzler, Kit (02-3501-0) List $215 182

Assembled/Tested (02-4501-0) $350 297

Multiple User Basic Now Available!

NORTH STAR

NOW DOUBLE DENSITYFLOPPY DISK - NOINCREASE IN PRICE

Complete Minifloppy Disk System PRICE

w/BASIC and drive, Kit, order01-7735-0

List $699 $589

Assembled/Tested (01-7745-0) $799 . . 689

Horizon 1 Kit List $1599 $1349

Assembled/Tested List $1899 1599

Horizon 2 (w/2 drives) Kit, List $1999 . 1699Assembled/Tested List $2349 1939

4 MHz Z-80 CPU Board, Kit $199 $169Assembled/Tested I ist $259 209

TERMINALS

Hazeltine 1500 $1049

Soroc 120 849

Lear Siegler ADM3A 849

Intertube® 784

MEMORY BOARDS

North Star RAM-16-A 16K Dynamic RAM

329379

264

359

Board, Kit, (order 01-3216-0) List $399Assembled/Tested (01-4216-0) $459 . .

Morrow 16K Static Board, 450nsKit, (order 08-3216-0) List $299

Dynabyte New MSC1625,250ns

(no write protect) Order 03-4216-3 ....

Dynabyte 1625 16K Static RAM Module,250ns (order 03-4216-0) List $555 444

Dynabyte 3225 32K Static RAM Module

250ns (order 03-4232-0) List $995 796

All Dynabyte assembled and tested, guaranteedone year

MICROPOLIS

1041 MacroFloppy® in enclosure(order as 04-7701-0) List $695

1042 MacroFloppy® w/case andAC power supply (04-7702-0) $795 .

1053 Dual MetaFloppy®

as 04-7705-0) List $1895 . .

(order

$625*

709

1695

" power source and regulator board required.

TELETYPE 33, 35,43

Bargains on used Teletype 33's and35's. Most models of new Teletype43's available for immediate shipment.

IMSAI

Check with Mini Micro Mart for yourIMSAI needs — most popular itemsnow in stock at special savings.

WRITE FOR FREE CATALOG

MiniMicroMart Inc

1618 James Street, Syracuse, NY 13203 (315) 422-4467

FOR SHIPPING, add $2 for boards, $5 for floppydisk systems, $10 for Horizons, $15 for Cro-memco 7-2 and Z 2D kits. Assembled Cromem-co systems are shipped freight collect.

All prices are based on cash purchases. Higher prices apply tocredit card and institutional purchase orders Minimum deposit25% on COD orders All prices subject to change withoutnotice

Circle 250 on inquiry card.

BYTE November 1978

119

A Multiuser Data Network

Communicating Over VHF Radio

Robert E Bruninga907 Ninovan RdVienna VA 22180

One of the more exasperating aspects ofgetting started in microcomputing is the costof suitable IO devices. There is a rather largegroup of amateurs who already have ter-minals up and running; however, they haveno microcomputer to play with. Our localcomputer club was such a group, havingformed from a group of radio amateursalready connected via a VHF radio informalteletypewriter network. The availability ofthese inexpensive surplus Baudot codeteletypewriters has been frequently espousedin the literature, and articles covering ASCIIto Baudot conversion are plentiful.

While our club matured, and with inter-est in microcomputing mushrooming at the

same time, the idea to design a micro-computer into the network was a naturalstep. It was soon apparent that developinghardware and software to provide all of thedesired functions was impossible for anygainfully employed individual. To spread outthe effort and to get as much participationas possible, it was decided to first bring upthe microcomputer with a simple monitorsystem to enable anyone on the net to havefull access to memory, and to help in writingsoftware for any desired routines or pet pro-jects. It is this microprocessor system whichis to be described herein. But first we willgive a description of the teletypewriter netand of the usual operating practices govern-

FREQUENCY A

V

FREQUENCY B

V

REMOTE REPEATER

Figure I: The use of a remote transceiverat an advantageous centrally located sitegreatly increases operational range of a net-work of users at VHF frequencies.

TRANSMITTER

SQUELCH

STATION X

TRANSMITTERFREQUENCY A

RECEIVERFRFQUENCY B

CP-

v

v

STATION Y

TRANSMITTERFREQUENCY A

RECEIVERFREQUENCY B

M

1 20 November 1978 8 BYTE Publications Inc

V

DEMODULATOR

SQUELCH(SIGNALPRESENT)

RECEIVEDDATA

AUDIOBYPASS

-o^| »

V

MODULATOR

TRANSMITTER

TRANSMITTEDDATA

INPUT OUTPUT

MICROPROCESSORPUT OUTPUT

TRANSMITTER

ON/OFF

Figure 2: Having the micro-computer at the repeatersite has the advantage offull duplex operation ifuser stations overcome thecomplexity of full duplexoperation at their ownstations,

ASCI ITERMINAL

CWOSCILLATOR

OUTPUT

MICROPROCESSOR

CONTROLOUTPUT

BAUDOTDISABLE

^h

MODULATOR

DEMODULATOR

CONTROLTIMER

W

AUXILIARY

DUPLEX

TRANSMITTER

L (FULL DUPLEX) J

TRANSMITTER

RECEIVER

V

Figure 3: Having the micro-computer at a user stationrequires half duplex oper-ation, but allows networkexpansion to include multi-processors at any userstation without conflict.

ing the participation of microcomputers.Repeater Teletypewriter Network

The use of a remote transceiver or re-peater, centrally located at the highestelevation possible, is the key to networkcoverage of a large area. The repeater relayssignals omnidirectionally from any trans-mitting station to all receiving locations, asshown in figure 1. In addition to improvingthe range, it assures reliability of coverage toall users in the net since each station needonly transmit a powerful enough signal tobe clear at the repeater, and be able toreceive the output of the repeater withouterror. Depending on terrain, reliable cover-age of such a repeater is from 20 to 75 miles(32 to 120 km) in radius.

The repeater operation is fully automaticand almost transparent to the user. Thepresence of a signal on the repeater's receiv-

ing frequency turns on the repeater trans-mitter to relay the signals with the advantageof its high power and advantageous location.If no one is transmitting within five secondsof the last signal, the repeater transmitterwill turn off.

Teletypewriter signals are transmittedusing audio frequency shift keying (AFSK)with 2125 Hz indicating a mark and 2295 Hzindicating space. Since teletypewriter trafficis innately hard copy and is usually not of areal time nature, many network users havetheir stations configured for fully auto-matic unattended reception. This feature,called autostart, is simply a tone detectorwhich latches a relay on receipt of a con-tinuous mark tone and turns on the tele-typewriter equipment. Usual practice re-quires from three to five seconds of marktone to activate the autostart; it will thenremain on for up to 30 seconds after thelast tones are heard.

BYIL Novemtwi 1978

121

Circle 374 on inquiry card.

TERMINALS FROM TRANSNET

PURCHASE

12-24 MONTH FULL OWNERSHIP PLAN

36 MONTH LEASE PLAN

PURCHASE PER MONTH

DESCRIPTION PRICE 12 MOS 24 MOS 36 MOS

DECwriter II $1,495 $145 $ 75 $ 52

DECwriter III 2,695 257 137 95

DECprinter I 1,795 172 92 63

VT52 DECscope 1,695 162 85 59

VT100 DECscope 1,695 162 85 59

VT55 DECgraphic CRT 2,395 229 122 84

ADM 3A CRT 875 84 45 30

HAZELTINE 1400 CRT. 845 81 43 30

HAZELTINE 1500 CRT. 1,195 115 61 42

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

Data Products 2230 ... 7,900 725 395 275

QUME, Ltr. Qual. KSR. 3,195 306 163 112

QUME, Ltr. Qual. RO .. 2,795 268 143 98

DATAMATE 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

I

IransNet Corpora tio\

2005 ROUTE 22, UNION, N.J. 07083

201-688-7800

INCOME

TAX

PROGRAMS

FOR TRS-80

FOR INDIVIDUALS:

1040A 4K

1040 4K

TM

7.9514.95

BUSINESS & PROFESSIONAL:Full systems with line printeroutput start at 189.95

FREE 3-PAGE CATALOGAND DESCRIPTION

CONTRACT SERVICES ASSOCIATES

1846 W. Broadway Anaheim, CA 92804

With the autostart circuitry in mind, ausual network transmission is as follows:

• Station identifies by voice or bykeying the tones in Morse code.

• Station transmits five seconds ofmark tone.

• Station transmits message or text.

• Station identifies again.

• Station turns off transmitter.

The FCC requires Morse or voice identifi-cation at the beginning and end of eachoperating time period and at least everyten minutes. Short transmissions in a con-versation need not be identified although ingroup operation it is almost a necessitybecause one teletypewriter signal is indis-tinguishable from another.

Interfacing to the Network

If the network spoke ASCII (only Baudotcode at 60 or 100 words per minute isallowed by the FCC on the amateur bands)it would appear to be a simple task to takean available microprocessor system andconnect it directly via a modem to a trans-ceiver, and be up and running. Ideally themicrocomputer would be connected at therepeater site, monitoring all signals in thenet and responding when asked by trans-mitting appropriately on the repeater out-put as shown in figure 2. This was theoriginal concept and optimum configurationfrom a technical standpoint. However, itwas logistically impractical because of theremote location of the repeater and thenatural tendency of a project like this tobe never completely finished. Also, asmicroprocessors become more and moreof a common fixture about the house, wefelt that a centrally located computerserving the whole network alone wouldbe an obsolete idea in the near future.

For this reason, the microcomputer beganto evolve as just another station on the net,transmitting and receiving in a half duplexmode as shown in figure 3. At present it isthe only microcomputer that can be re-motely accessed and controlled by all userson the net, although there are a few othermicrocomputers being used by stations fortheir own local functions. This type ofoperation allows the network to grow intoa fully coordinated common data networkas more and more users interface theirmicrocomputers into the system and pro-vide for remote access in whatever fashiontheir particular software packages allow.

The microcomputer monitors all signalson the repeater and responds whenever itscall sign is recognized. To isolate the micro-computer from the identity of the owner

122 November 1978 © BYTE Publications Inc

Circle 78 on inquiry card.

Circle 77 on inquiry card.

or operator, a convention of placing aslant bar (/) prior to the call sign has beeninstituted to identify the microcomputer.In this manner, users in the network maycommunicate with the operator or talkabout him using his call sign without acci-dentally initiating a response.

Remote operation of the microcomputeris very simple. To gain access from anystation on the network, just transmit themicrocomputer's call sign, WD4IWG/WB-4APR (these are the combined call signs ofthe computer club and the station at whichthe microcomputer is connected) and waitfor the computer's response. A flowchartof the standby and ready states is shown infigure 4. Once the microcomputer recognizesits call sign, it comes up with five secondsof mark tone and transmits a prompt (—).After the prompt it goes into the receivemode and waits for a valid command se-quence. After each command sequence isexecuted, the microcomputer returns withthe prompt sequence and waits for morecommands. If the sign off command, NNNN,is executed, the microcomputer becomesinactive, responding to nothing until itagain recognizes its call sign.

The monitor is designed to interpret theinput commands on a character-by-characterbasis as shown in the flowchart of figure 4.In this way, commands are not limited inlength or structure as they would be if theprocessor did not begin interpretation orexecution until an entire command andall parameters had been entered into thebuffer. Once the single letter command hasbeen interpreted, the software can help inthe formatting of the remaining commandparameters by providing spaces, line feeds oradditional prompting as necessary. A spaceis used as the delimiter of command param-eters, and a carriage return will abort thecommand if required. The judicious use ofcarriage returns is due to the large number oflow budget hobbyists on autostart who mustbuy their own paper.

After each command is executed, controlreturns to the monitor entry point where thetransmitter is turned off and the micro-computer waits for the next commandinput. All invalid command characters areignored. Originally, only a valid commandcharacter was required to initiate execution,but this was prone to occasional errors. Theprogram was changed to require a /$ se-quence (the Baudot equivalent of the ASCIIescape character), a single command char-acter, and then a space before the commandis recognized. Failure to provide all fourconditions causes a return to the waitstate for the proper escape sequence. Theescape character is just one of 15 additional

PET WORD PROCESSOR

This program permits composing and printing letters,flyers, advertisements, manuscripts, etc., using theCOMMODORE PET and a printer.Script directives include line length, left margin, cen-tering, and skip. Edit commands allow the user toinsert lines, delete lines, move lines and paragraphs,change strings, save onto cassette, load from cassette,move up, move down, print and type.The CmC Word Processor Program addresses an RS-232 printer through a CmC printer adapter.The CmC Word Processor program is available for$29.50. Add $1.00 for postage and handling per order.

Order direct or contact your local computer store.

CONNECTICUT microCOMPUTER

750 POCONO ROAD

BROOKFIELD, CONNECTICUT 06804

(203) 775-9659

m S

(7=

=^

^*Kfc^>

A Messageto our Subscribers

From time to time we makethe BYTE subscriber listavailable to other companieswho wish to send oursubscribers promotionalmaterial about their products.We take great care to screenthese companies, choosingonly those who are reputable,and whose products, services,or information we feel wouldbe of interest to you. Directmail is an efficient mediumfor presenting the latestpersonal computer goods andservices to our subscribers.

Many BYTE subscribersappreciate this controlleduse of our mailing list, andlook forward to finding

information of interest tothem in the mail. Used areour subscribers' names andaddresses only (no otherinformation we may have isever given).

While we believe thedistribution of thisinformation is of benefit toour subscribers, we firmlyrespect the wishes of anysubscriber who does not wantto receive such promotionalliterature. Should you wish torestrict the use of your name,simply send your request toBYTE Publications Inc. Attn:Circulation Department,70 Main St, Peterborough NH03458. Thank you.

^=

November 1978 © BYTE Publications Inc

123

Figure 4: Flowchart of thesystem monitor showingthe standby and readystates.

r

READY

L

111

1

_l

—c

1

INITIALIZE 10PORTS ANDALL VARIABLES

TURN

TRANSMITTERON AND PAUSE

( STANDBY

1

1

SEND CARRIAGERETURN, LINEFEED ANDPROMPT

BINCH

INPUTCHARACTER

TURN

TRANSMITTER

OFF

r -i

1 IS CHARACTER | S* \| STRING , jT \■ /WB4APR ' ~~%. /1 RECOGNIZED 1 ^\ yS

L _l y

NO

YES

'

[„

"1

BINCH

INPUTCHARACTER

1

NNNN COMMAND RETURNS TO STANDBY

/IS

\CHAR

A <\ NO

< Z y?

YES

GET

SUBROUTINE

LOCATION

JUMP TOSUBROUTINE ANDEXECUTECOMMAND

characters which are defined in a doubleshift case.

The structure of the character input(BINCH) and character output (BOUCH)subroutines allows simultaneous output inboth ASCII and Baudot of any characteravailable at the Baudot or ASCII input. Thestructure of BINCH and BOUCH is shownin figure 5. Because all routines written forthe network system use these two sub-routines for input and output, the remoteuser at the Baudot port has the same soft-ware relationship to the computer as thelocal programmer except that the outputmay be disabled.

Control Routines

The monitor commands are relativelystraightforward except for the requirementthat the microcomputer operate in a halfduplex mode. The subroutine responsiblefor coordinating the microcomputer responsein the half duplex mode is PLEX (figure 5).PLEX turns the transmitter and trans-mission tones on and waits the delay timefound in location ECHO before returning to

the calling routine. PLEX is called by everymonitor routine which generates outputback to the remote user. The delay in ECHOis roughly in tenths of a second; usually, avalue of 50 is used to allow reliable transmitand receive switching. The value 01 impliesimmediate response, and the duplex trans-mitter line is therefore turned on as well.ECHO can be changed by the monitor com-mand E, allowing the user to tailor theresponse to a particular hardware configu-ration. To allow the user to regain controlwhen an error occurs, the transmit linedrives a timer that cuts off the transmitterafter two minutes. A second timer willhardware reset the microprocessor if a spacetone of greater than two seconds is received.

Command

The monitor commands in table 1 aredesigned to provide as much assistance tothe machine language programmer as pos-sible while also recognizing the special needsof the users on the network. The basic

124

November 1978 © BYTE Publications Inc

What's _Your R.

'--:,,.

learn About flrtifiao

INTRODUCTION TO ARTIFICIAL INTELLIGENCE by Philip CJackson Jr.

□ This book surveys the field beginning with Turing's test, the mathe-matical description of phenomena, finite state machines and limits tocomputational ability, followed by chapters on problem solving, gameplaying, pattern perception, theorem proving, semantic informationprocessing, parallel processing, evolutionary systems, robots, and alook at the future of the field. This thoughtful and unusual book willmake a useful addition to your library. A 50-page bibliography is in-cluded. 453 pp. $18.50 hardcover (no photo).

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 upto be used as an introduction to the key ideas of the subject, includingthe basics of elementary representation, symbolic constraint exploi-tation, search, and control. In addition, understanding natural language,representing common sense meaning, computer vision, and expertproblem solving are covered. Part Two covers the programming lan-guage LISP, its organization and uses. Profusely illustrated. Only$10.00 hardcover. 444 pp.

ADAPTIVE INFORMATION PROCESSING, AN INTRODUCTORYSURVEY by Jeffrey R Sampson.

□ Even the most complex of today's computers is dwarfed by the ca-pabilities of its designer's brain. Imitation of the capabilities and adap-tive nature of biological information processing systems has long been agoal of computer designers. Jeffrey R Sampson presents an introduc-tory survey of this field. From the fundamentals of information and in-formation processing entities, he examines the richness of biological in-formation processing and goes on to cover the application of computersto artificial intelligence. His is a view which unifies the diverse aspectsof the subject of artificial intelligence, emphasizing adaptive behavior.214 pp. $14.80 hardcover.

COMPUTER MODELS OF THOUGHT AND LANGUAGE edited byRoger C Schank & Kenneth Mark Colby.

D Part of the current work in Al involves the modeling of humanmental processes in computer programs. Here is a collection of articles,which deal with natural language models, models of belief systems, andmodels of memory and cognition. Required reading for Al enthusiasts.450 pp. $23.50 hardcover.

ence & Robots

BITS

HOW TO BUILD A COMPUTER-CONTROLLED ROBOT by TodLoofbourrow.

□ This book combines the dream of robotics—to create an intelligenceother than human—with the reality, by providing both hands-on experi-ence with robotics and an application of a microprocessor. It detailsthe step-by-step directions for building a robot, named "Mike," con-trolled by a KIM-1 microprocessor, with the complete control programsclearly written out. 132 pp. $7.95.

ROBOTS ON YOUR DOORSTEP by Nels Winklessand Iben Browning.

□ "This book will amaze you, frighten you, nauseate you, exciteyou. . .it will probably make you think about things you have nevercontemplated before," states the introduction to this clever and well-written account of robots: past, present, and future. Intelligence,artificial intelligence, brain structure and simulation, and characteristicsof robots are only a few of the areas explored. 1 79 pp. $6.95.

BUILD YOUR OWN WORKING ROBOT by David L Heiserman.

□ This book will introduce you to the problems of making a robotmobile device called Buster III, using pre-microprocessor TTL inte-grated circuits for all logic functions. It is a must book for backgroundreading, but much of the logic can be extremely simplified usingtoday's microprocessor technology. Use this book as a first look atthese problems from which you can build further and more elaboratesolutions. $5.95.

THE THINKING COMPUTER: MIND INSIDE MATTER by BertramRaphael.

D With a minimum of technical jargon, this book discusses the capa-bilities of modern digital computers and how they are being used incontemporary Al research. It discusses the progress of Al, the goals,and the variety of current approaches to making the computer moreintelligent. $6.95.

COMPUTER POWER AND HUMAN REASON by Joseph Weizenbaum.

□ If you're presently a programmer by trade or skill, you'll see a philo-sophy of computer use and abuse propounded. If you're a novice, thetutorial and explanatory chapters of this book serve as an excellentand eminently readable background source. This includes an out-standing, low level explanation of what an algorithm is, and howcomputers execute effective algorithms. $5.95.

For your convenience in ordering, please use this page plus theorder form on page 111. You may photocopy this page.

IHC Books to erase the impossiblePOB 428, 25 Route 101 West, Peterborough NH, 03458

DIAL YOUR CHARGE CARD ORDERS TOLL FREE(800) 258-5477.

'Artificial Intelligence Quotient

BYTE November 1978 125

Table 1: Tablecations network.

of commands used by the computer on the communi-All addresses are given in hexadecimal notation.

A

xxxx

string

Stores an ASCII character string at location XXXXbeginning and ending with quotes.

B

xxxx

YYYY

Calculate branch instruction offset from addressXXXX to address YYYY.

c

xxxx

Sends character string at address XXXX in Morsecode.

D

xxxx

YYYY

Display hexadecimal bytes from address XXXX toYYYY. If E command is odd, display 16 bytes perline, 32 bytes per line if even.

E

XX

Set echo delay to X.X seconds (approximate).

F

xxxx

YYYY

string

Find string by searching from address XXXX toYYYY. Reply with starting and ending address.

G

xxxx

Go to address XXXX and begin execution of a sub-routine.

H

xxxx

Convert hexadecimal value XXXX to decimal.

1

xxxx

hh hh .

Input hexadecimal bytes sequentially beginning ataddress XXXX and ending with a carriage return.

J

XX

Jump to additional monitor commands.

K

Reserved.

L

XXXX

YYYY

List by instruction in 1, 2 or 3 byte format all codebetween addresses XXXX and YYYY.

M

XXXX

YYYY

ZZZZ

Move all bytes between addresses XXXX and YYYYto contiguous memory starting at ZZZZ.

NNIMN

Sign off procedure.

O

Return to AMI monitor.

P

XXXX

YYYY

zzzz

Punch a hexadecimal tape in MIKBUG format locatedfrom XXXX to YYYY with offset ZZZZ.

Q

string

Quest search through all memory for first occurrenceof string. Back up and print starting address of firstquotation mark, then print all following charactersuntil a second quotation mark is found.

R

XXXX

Read character string at address XXXX.

S

string

Save. In message storage area, store string at nextavailable address and update pointer to point tonext available address. Print pointer value.

T

XXXX

YYYY

zzzz

Tape. Load hexadecimal tape into memory betweenaddresses XXXX and YYYY with offset ZZZZ.

U

Reserved.

V

string

Void first string encountered which contains string.All characters between limiting quotes are eliminatedincluding quotes. All memory from ending quote topointer is moved up to location of the beginningquote. Pointer is updated and printed.

w

XXXX

string

Wedge. Insert string at location XXXX. Push memoryfrom XXXX to pointer down and update and printpointer.

X

Transmit (Xmt) prompt.

Y

Reserved.

z

XXXX

YYYY

HH

Fill memory space from address XXXX to YYYYwith hexadecimal value HH.

monitor commands for machine languageprogramming are the DISPLAY, GO, IN-PUT, LIST, PUNCH and TAPE commands.Additional aids for programming are theASCII STRING, BRANCH, FIND, MOVE,READ, WEDGE and ZERO commands.The monitor functions related directly tonetwork applications are the CW, ECHO,NNNN and XMT commands. The specialstring manipulation commands SAVE,QUEST and VOID can be used with callsigns as key words to form a message storeand retrieval system for network operation;or line numbers may be used as key words,and text editing is possible. In text editingmode corrections, insertions and deletionsare performed using ASCII STRING, FIND,READ and WEDGE commands.

The system described thus far is fullyoperational in an unattended mode. It hasbeen more or less continuously availableduring the evening hours from about 1800to 2300 hours local time since December 231977 (except for occasional visits by "MrMurphy"). During this time the originalmonitor has not been altered, so users wouldnot be confused by frequent system changes.However, several changes are being con-sidered to improve system reliability in thepresence of noise and user typographicalerrors, to expand monitor command func-tions and to upgrade protocols in anticipa-tion of other computers on the network.The changes under consideration are:

• Provide prompting at sign on to allowuninformed users to request operatinginstructions.

• Provide a carrier present input line toallow the microcomputer to test fora clear channel prior to transmission.

• Rebuild restart circuitry for morereliability.

• Change all string manipulations to usequotes for delimiters. Currently, figureshift H is used, which causes someBaudot machines to slop.

• Add additional monitor commandsto allow unaddressed message storageand retrieval by call signs alone.

• Add line delete code recognition intoBaudot input routine to allow escapeto command mode at any time.

• Consider buffering all input commandsto allow for more flexibility andreliability by using line and characterdelete codes.

• Restructure BINCH and BOUCH rou-tines for complete transparency. AllASCII codes needed for BASIC willhave one-to-one mapping into Baudotcharacters by using the figures slashshift alphabet. The usual ASCII con-

126

November 1978 ID BYTE Publications Inc

the electric pencil II

^^ e 1Q7R Michael Shraver

TM

The Elect

Word Procesentered asis man i pu Lenormous fhandling ofdelineatedlines or paanywhere ishifts andview of theas well ass i nee Ii nes

ric PenciI II

si ng Systema st r i ng of cated as suchreedom 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 endingof charactbe insertedThe ent i retyloses as neepi ng of camat i on is noformatted au

hat text isaracters andws the usermovement ands are nevere r s, words,or deletedof the textded in fulliage returnst requiredtomaticaIly.

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 withImsa i ' s IMDOS. HELIOSversions SSH and DSH arenow ready. The NEC printpackage is now available.A utility program thatconverts PENCIL to CP/Mto PENCIL files is ready."CONVERT" is only $35.00.

NEW FEATURES: * CP/M, IMDOS and HELIOS Compatible * SupportsFour Disk Drives * Dynamic Print Formatting * DIABLO as well as NECp r i nter 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 Iini ng * BOLD FACE *

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

SS-II

SP-II

SV-II

SR-II

SI-II

DS-II

DP-II

DV-II

DR-II

DI-II

NS-II

NP-II

NV-II

NR-II

NI-1I

SSH

DSH

Video

Pr i nter

SOL

TTY or

VTI

TTY or

VDM

TTY or

REX

TTY or

VIO

TTY or

SOL

Diablo

VTI

Diablo

VDM

Diablo

REX

Diablo

VIO

Diablo

SOL

NEC Sp

VTI

NEC Sp

VDM

NEC Sp

REX

NEC Sp

VIO

NEC Sp

SOL

Helios

SOL

He I i os

similar

similar

si milar

si milar

simitar

1610/20

1610/20

1610/20

1610/20

1610/20

i nwriter

i nwri ter

i nwr i ter

i nwn ter

inwnter

/TTY

/Diablo

Pr i ce

$225.$225.$225.$250.$250.$275.$275.$2/5.$300.$300.$275.$275.$2?5.$300.$300.$250.$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 media 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 Vi deo

Printer

SS

SP

SV

SSN

SPN

SVN

DS

DP

DV

DSN

DPN

DVN

SOLVTIVDMSOLVTIVDMSOLVTIVDMSOLVTIVDM

TTY

TTYTTYTTYTTYTTY

DiabloDiabloDi abloDiabloDi abloDi ablo

si mi larsi milarsimilarsi mi larsi milarsi mi lar1610/201610/201610/201610/201610/201610/20

Cassette

CUTSTarbellTarbell

CUTSTarbellTarbell

CUTSTarbellTarbell

CUTSTarbellTarbell

Disk Drive

North StarNorth StarNorth Star

North StarNorth StarNorth Star

Pr i ce

$100.$100.$100.$125.$125.$125.$150.$150.$150.$175.$175.$175.

Demand a demo from your dealer!

Circle 319 on inquiry card.

BYTE November 1978

127

Figure 5: The characterinput and character outputsubroutines are BINCHand BOUCH. PLEX con-trols half duplex operation.

( BOUCH J

OUTPUT ASCIICHARACTER

OUTPUTBAUDOTCHARACTER

f RETURN J

f BINCH J

GET A

BOUCH

OUTPUTCHARACTER

f RETURN J

Figure 6: Protocol fortransactions over the net-work. ■

trol characters will be available toallow terminal control, escape se-quences and other control functions.

ASCII Considerations

The most important change which isforeseen is the addition of an ASCII input/output port and modem at 300 bps tothe system when ASCII transmission isfinally permitted by the FCC. AlthoughBaudot operation will continue, the evo-lution of computer-to-computer operationwill be greatly simplified. It is anticipatedthat all network teletypewriter transmissionswill remain at 60 words per minute Baudotdue to the availability of the inexpensiveterminals. Therefore the 2125 Hz mark and2295 Hz space tones will still be reserved forBaudot use. All ASCII transmission will beat the commercial modem frequency pair of1270 Hz mark and 1070 Hz space. TheBaudot and ASCII transmissions will notinterfere with one another due to theseparation in frequencies.

Due to the capture effect on FM trans-missions in which the stronger of twosignals at the receiver will capture thedetector and the weaker station will notbe heard, simultaneous transmission bytwo separate stations (one in ASCII andone in Baudot) is not possible. To overcomethis difficulty, a secondary receiver will beplaced at the repeater which has its audiooutput in parallel with the original receiverin driving the transmitter. This secondary

f PLEX J

TURN ONTRANSMITTER

YES

JT IS \

TURN ONFULL DUPLEXTRANSMITTER

J

NO

1

WAIT FORE SECONDS

( RETURN J

receiver will allow simultaneous access toany two system users.

Because all stations will be monitoringthe repeater output channel, simultaneousASCII and Baudot transactions can takeplace between separate and independentusers. Since the microcomputer operatingsystem already communicates through bothits ASCII and Baudot ports at differentrates simultaneously, upgrading the systemfor ASCII is a simple matter. A secondmodem at the 1070/1270 Hz frequencypair is interfaced in parallel with the localterminal. With the present structure ofroutines BINCH and BOUCH, automatictranslation between ASCII and Baudotwill be accomplished. The only changeto the monitor will be to allow remoteaccess to the Baudot disable line so that fullspeed ASCII can be used when a Baudotuser is not in the system. Additionally,various procedural subroutines will be madeavailable to handle computer-to-computerprotocols.

Protocol

The first protocol problem to consideris the separation of messages directed to acomputer from messages directed to otherusers or to the operator. In this case allcomputers should allow a hand-holdingmode in which the remote user can talkdirectly to the operator or to other stationson the net even while the computer may beexpecting some input.

PREAMBLt

DESTINATION

CALL

SIGN

ORIGINATOR

CALLSIGN

CONTROLFIELD

SERIALNUMBER

STRING

CHECKSUM

128

November 1978 © 8YI t Publication* Inc

"My StructuredSystems "businesssoftware has paidfor itself in laborhours saved alone."

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

Ken Tunnah is one of many innovators bringingthe micro revolution to the small business. Asa programmer, he knows computers and theirlanguages. As a businessman, he knows businessand its languages. And when Mr. Tunnah decidedto micro-computerize the accounting function atColloid-A-Tron, he turned to Structured Systemssoftware.

Says Mr. Tunnah: "The program is designed froma CPA standpoint, for multiple corporations, which wehave. It is flexible and gives me the ability to changereporting by profit centers easily. It is up and runningquickly, and it just keeps on running. I think it's the bestbusiness software available."

The best software available. That's whatStructured Systems Group set out to create.

Structured Systems offers three sophisticatedaccounting systems. Our General Ledger software isbig enough for multi-client write-up by the CPA,or multi-corporate reporting for the business, butsmall enough for the micro budget. The verycomprehensive Accounts Receivable and AccountsPayable packages will operate independently orthey will coordinate with the General Ledger.

Our systems record transactions easily andcorrectly, and provide an audit trail from sourcedocument to financial statements. And they willmaintain monthly and year-to-date information in

dollars and in percentages. And they are reliable.

The three systems interact with the user to set upparameters such as format and headings, accounttitles and numbering, automatic billing or remindernotices, credit limits, sales reports, a check register,and much more.

The software is designed to run on an 8080 orZ-80 CPU with 48K of memory, dual diskswith CP/M®, printer, keyboard, and CRT Tomake it all work for you, we have provided the mostextensive documentation and support in the industry.

We provide the capability to computerize complexaccounting functions on relatively inexpensive micro-computer equipment. Ken Tunnah has told us whatthat means: "I've bucked some trends. I looked around,and decided that with the right software, 1 could get amicro to outperform a $45,000 mini. I'm satisfied. It'ssimple economics."

We can refer you to a growing number ofsophisticated retailers experienced in StructuredSystems Group business systems. Or we can workdirectly with you. We'd be happy to provide youwith more information on our product line, whichincludes QSORT (a sort/merge program), CBASIC(a business BASIC), NAD (a mailing and addressingsystem), and our General Ledger, AccountsReceivable, and Accounts Payable packages.

•CP/M is a registered trademark ot Digital Research

Structured Sy/tcm/ Group

5208 Claremont Avenue

Oakland, CA 94618

Call us at (415) 547-1567. Or write.

Circle 351 on inquiry card.

BY 1L November 1978

129

The exclamation point has been suggestedas a command indicating that the followingline is to be ignored. All characters fol-lowing the exclamation point are ignoreduntil a carriage return is encountered. Inthe case of the system just described, theoperator whose keyboard is essentially inparallel with the remote user can makecomments in return, again without dis-turbing the computer.

Once the microcomputer is signed on atpresent, it uses the communication channelas a private line assuming all commandsare directed exclusively to it. Because othercomputers are interfaced to the net, thispoint of view will have to be modified toallow many processors to share the channeland respond only to commands addressedspecifically to them.

The FCC-assigned call letters of allusers on the net are considered to be aconvenient addressing string for just thispurpose. Call letters consist of from four tosix alphanumeric characters. Using thecall signs, a possible protocol for all trans-actions might be as shown in figure 6. Allsystem messages would consist of a pre-amble, the call sign of the destinationstation, the call sign of the originatingstation, a control field, a serial number, the

DIGITAL/ JTL

RELIABILITY

QUALITY

DEPENDABILITY

ADDRESSING

PROTECT

BUFFERING

LOW POWER

WAIT STATES

QUALITY

GUARANTEE

DELIVERY

PHANTOM

TESTING

8K STATIC RAM

ASSEMBLEDS-100

MEMOK':' 1'SABLE IS IMCvEMENTEl, VIA PHANTOM |PiN 67'.

SPECIAL

INTRODUCTORY

PRICE

ASSEMBLED'TESTED

CALIFORNIA RESIDENTS ADD 6%

(714) 992 5540255b E CHAPMAN AVESUITE 604FULLERTON. CA 92631

$14995 $18995

IA RESIDENTS ADD 9% TAk

) DIGITAL/ JT_

message or data string itself and a checksum.

The control field could identify thelength and nature of the string; whetherbinary, hexadecimal or ASCII characterswere in the message; whether a checksumwas generated or necessary; and other datanecessary to tell the receiving station howto handle the particular string. The preamblewould be an appropriate series of charactersto activate and initialize all monitoringstations. A suggested preamble has been acarriage return, line feed, five null charactersand a line delete code. Optional call signs andother characters could precede the linedelete code, because its main function isto establish the channel and prepare themicrocomputer to recognize all followingcharacters.

As more and more microcomputers jointhe net, another convenient feature wouldbe the capability of polling the net toidentify which stations are in a ready status.This problem of polling, a complex one dueto the dynamic nature of the net, has awide range of solutions depending on theparticular structure assumed for the net.It is introduced here as a topic for furtherstudy.

One possibility of providing the pollingcapability is through the assignment ofsome central responsibility for all trans-actions on the net. Once a significant degreeof sophistication is attained, it might bedesirable to assign one microcomputer atany one time to be a control station. Thecomputer would be responsible for main-taining an up-to-date status of all systemson the net and a directory of all availableprograms and data. All a user would haveto do is query the control station to geta complete picture of the present net con-figuration. The function of the controlstation can be passed along from one stationto another as new stations log on and otherstations log off. The status data would becoded very efficiently for speed of transferfrom one station to another.

It has not been the intention of thisarticle to make firm proposals on networkprotocol or operating procedures, becauseso little experience is available to date on thenature or expectations for a computerexperimenter's network. Rather, it is hopedthat sharing the little experience we havegained in interfacing the computer to anexisting radio-teletypewriter network maybe of use in further discussions of this goal.

We are at the birth of something greatand dynamic. Writing this article has beendifficult due to the daily increase of ideasand the conflicting desire to implement eachidea as it occurs. We invite others to sharetheir similar experiences and conjectures."

130

November 1978 ©BYTE Publications Inc

Circle 294 on inquiry card.

MIRAG6

The Classic Gome of ChessWill Never Be the Some

BORIS is the world's most advanced portable chess computer. Matchhim against any other computer in his class, and he defeats them all.For the millions who play chess, plus those who want to learn thegame, BORIS provides the challenge and flexibility that until now werefound only in expensive laboratory computers. Like his big brothers,BORIS even talks to his opponents, with messages programmed into hisalmost-human brain.

BORIS was created to be the perfect chess opponent; always ready at amoment's notice, with a game and strategy that's unpredictable. If yourchess skills are wasting away because you can't find an opponent,BORIS will be a challenging adversary, and there's never a fear of beingembarrassed if you make a careless blunder. BORIS plays black orwhite; he'll even play himself. Set him to play at a beginner's level, orlet him loose, and he'll play a game that will keep the attention of aMaster.

BORIS is unmatched as a chess teacher. It's easy to find scores of booksfor beginners, but it's never as easy to find someone with the time andpatience to teach a novice. BORIS knows every rule and move of thegame, and has all the patience in the world. Even if you've never playedthe game before, you can learn from BORIS in less than an hour. Ifyou're his student and unsure of your next move, simply ask BORIS tosuggest the best one. When BORIS backs you into a corner, just changeplaces with him, and see how he battles his way out of his own trap.You can alter his level of play at any time to match your advancement.BORIS keeps you honest by displaying "ILLEGAL MOVE," if youattempt one. He concedes defeat with "CONGRATULATIONS," ifyou're good enough to beat him, even "STALEMATE," if you play himto a draw. His vocabulary includes a variety of phrases which will addflavor to your game. He can certainly unnerve you at any time with acomment like, "I EXPECTED THAT" or "IS THIS A TRAP?"

This could be the most intriguing, innovative conversation piece you'veever seen. It is composed of two concave mirrors; the top mirrorcontains a small opening in the middle of it. A small object placed atthe bottom of the lower dish appears above the opening of the topmirror totally reconstructed in full 3-D. MIRAGE is a breakthrough inthree-dimensional real imagery. It uses ambient light and can be viewedfrom any direction. The mirror coating (5/1,000,000th of an inch thick)is identical to that used to surface the 200-inch telescope at California'sMt. Polomar Observatory. MIRAGE combines art, illusion, science, andfun. Each true-to-life vision is actually a scientific phenomenon.Manufacturing tolerances are critical; the resulting imagery is alive withdepth, surpassing holographs in clarity and resolution. Yet it's so simpleit can fool anyone. $24.95 plus $1.50 insured UPS shippingand handling.

Full 3-Dimensional Illusion

BORIS is programmed for all classic chess moves: castling, en passant,queening, etc.; plus, he solves all mate in two problems. Also, BORIS isprogrammed for random play, so you'll never get the same game twice.BORIS comes in a hand-crafted, solid walnut case, 10 x 3% x 6% ,with chess pieces and folding chess board. You can use your own boardand pieces if you prefer.

Whether you're an experienced player, a beginner, or you need a specialgift for a chess buff, BORIS is definitely for you. When you sit down tochallenge BORIS, be prepared for the game of your life. You'll quicklysee for yourself why BORIS IS KING. $299.95 plus $4.00 forinsured UPS shipping and handling. Includes a 90-daylimited warranty.

IF YOU ARE NOT TOTALLY SATISFIED WITH MIRAGE OR BORIS, RETURN WITHIN15 DA YS FOR A FULL REFUND.

For your convenience in ordering, please use this page plus the order form on page 111.You may photocopy this page.

DIAL YOUR CHARGE CARD ORDERS TOLL FREE (800)258-5477.

BITS

inc POB 428, 25 Route 101 West, Peterborough NH, 03458

BORIS

BYTE November 1978 131

Bock Reviews

Etudes for Programmers

by Charles Wetherell

Prentice-Hall, Englewood Cliffs NJ 1977

200 pages paperback

$12.95

My dictionary defines an etude as a com-position for the practice of techniques (fromthe French etude, meaning study). In Etudesfor Programmers, Mr Wetherell dwells onthe craft of programming. A craftsman, inthe guilds of Renaissance Europe, spent

COfMHJTCR/COULD/IIVC

vou moNcv

• Finally, an objective look at the top

24 micro systems sold throughout the world!

• Honest pros and cons of each system, plus astraightforward look at the micro computerindustry as it relates to you!

• Written in plain English for the layman. If you areconsidering the purchase of a personalcomputer, this book will save you money!

SAMPLE CONTENTS

• Don't Get Hung up on the Chips • Now. about •the hardware • What? No software! • Helpful ^suggestions before spending moneyREAD UP ON COMPUTERS BEFORE YOU ,PUT YOUR MONEY DOWN!ONLY $4.50 PER VOLUME .TELEPHONE TOLL FREE: >^800-327-6543-or send this coupon!

+LT+

4KK-

many years doing menial tasks, masteringone facet at a time. Mastery of computerscience is also a long process. "The difficultywith teaching programming," the authorstates, "is that it cannot be taught." Hecontinues, "the difficulty with learningprogramming is that it is so much work."

Today, programmer is a generic termwhich applies to practitioners of widelydifferent skills. Many of us learn piecemeal,working with code someone gives us to writeor complete. Thus, a "guiding hand" toround out our training is lacking. It islike trying to cut down a giant redwoodwith a coping saw.

This splendid new book is intended to aidmoderately competent programmers in be-coming master craftspeople. I stress themoderately competent, for these are notbeginners' problems.

The text is designed for a graduate coursein computer science. There are 27 projectsoffering exercises in all aspects of our craft.Automatic text formatting, puzzles andmazes, and cryptanalysis are just some of theofferings. Four of the projects, suitable for acompiler course, deal with such topics asloaders and large computer simulators. Eachtask is given a suggested manpower level,such as five weeks for one person or threeweeks for two people. Although no parti-cular language is used, suggestions are givenin each assignment. The variety of appli-cations will show the reader the power andthe poverty of each language used. Thusstudents can broaden their familiarity withseveral languages.

Etudes for Programmers improves one'sskills by developing good techniques. Theproblems are interesting and challenging.As their accumulated computer lore in-creases, readers develop a greater ability towrite and document clear concise code. Ifeel this book will help any programmerof some experience to attain a more pro-fessional level of competency.

Each chapter has references to aid in thefurther pursuit of a given topic, and there isa handy index. To pick a few nits, I feel theprice is a bit steep for a paperback, althoughthese days a textbook under $20 is a buy.Also, many programmers don't have thedifferent compilers that may be availableat a college, so a few of the assignmentsmay not suit everyone. Yet the scope ofthe book is so broad that everyone can learnfrom it. Once a given project is finished,be it a game or a means of home book-keeping, the programmer has a useful gameor tool to be used in the future.

Noel K Julkowski

18755 Van Buren St

Salinas CA 93906"

132 November 1978 © BYTE Publications Inc

Circle 265 on inquiry card.

Program Style, Design, Efficiency,

Debugging, and Testing

by D Van Tassel

Prentice-Hall Inc

Englewood Cliffs NJ 07632

256 pages

$13.50

Progr**"**'

DttH>99ing

and rut**

There is a lot in this book for the com-puter hobbyist. The first chapter is aboutprogram style. Program style can be usefuleven in BASIC. For example, FOR loops canbe indented three spaces to aid in readingthe program. Also, REMARKS can be usedto indicate what the variables stand for andhow the algorithm being used operates. Thisis especially helpful in BASIC becauseBASIC uses only short variable names.

Chapter 3 discusses program efficiency.This is especially important to small com-puter users. Both storage efficiency and timeefficiency are discussed. The author pointsout that the selection of the problem algo-rithm is the most important factor for anefficient program. One of the suggestionsthat will help BASIC users is optimizationof program loops. According to Van Tassel,typical programs spend 50 percent of theirtime in 5 percent of the code. This 5 percentoften consists of nested loops. Thus, tomake a program more efficient, inner loopsmust be optimized. The book lists numerousmethods of code optimization.

The debugging chapter provides a wealthof hints on how to find program errors. Forexample, the first thing the user needs is aprintout of the program. Too often peopletry to debug a program without a currentlisting. If the listing is not enough to findthe error, the rule is: divide and conquer.Start putting print statements in the pro-gram to trace the logic and calculations.

It usually does little good to work forlong periods of time with the program listingbecause the hobbyist often traces the pro-gram logic with how it should work in mindinstead of how it actually is working. Theadded debugging print statements will helpyou locate the program errors. The bookindicates how and where to place debuggingstatements and discusses common errors.

In the last chapter the author pointsout that programs are often just debugged

WhyPay More?

Why pay for more printer than you need? Ourseries 40 printers offer more features for lessbucks than any other commercial quality printeron the market today. A complete stand-alone 40column impact dot matrix printer with a 64character ASCII set. Includes power supply,casework and interface electronics. Singlequantity price for the parallel ASCII interfacemodel is $425. Serial RS232/current loopinterface models start at $575. OEM discountsavailable.

For more infor-mation write to:

MPI 2099 West2200 South, SaltLake City, Utah84119 or call (801)973-6053.

Don Lancaster's ingenius design provides softwarecontrollable options including:

• Scrolling • Full performance cursor

• Over 2K on-screen characters with only

3MHz bandwidth

• Variety of line/character formats including16/32, 16/64 .... even 32/64

• User selectable line lengths

TELL ME MORE! ( ) Send instruction manual for the TVT-6 Kitwith full operational details. $1 enclosed.( ) SEND FREE CATALOG

Name:

Address:

State:.

. Zip:

ELECTRONICS, INC. c«y

DEPT. 11 B, 1020W.WILSHIRE BLVD.. OKLAHOMA CITY, OK 73116

Circle 298 on inquiry card.

November 1978 © BYTE Publications Inc 133

and not tested. Sample tests and hints ontesting are provided.

The book has many exercises and pro-gramming problems which are not onlyfor BASIC users. Examples are given ina variety of programming languages. Mostof the techniques mentioned are good inany language. Program Style, Design, Effi-ciency, Debugging, and Testing will be auseful addition to your programminglibrary. F Sokoiowski

956 ScottMontebello CA 90640"

(Microcomputer) Problem Solving UsingPASCAL

by Kenneth L Bowles

Springer-Ver/ag, New York 1977

563 pages

$9.80

(Microcomputer) Problem Solving UsingPASCAL: the title sounds like a wish, butit is fact. Prof Bowles of the University ofCalifornia at San Diego (UCSD) has afull Pascal (with extensions for graphics,character string manipulation and directaccess files) running on interactive singleuser microcomputer systems such as: DigitalEquipment LSI-Us, Zilog Z-80s, and 8080based machines. Soon he expects to haveMotorola 6800 and MOS Technology 6502Pascal systems as well. Almost all of thesoftware for these systems is written inmachine independent Pascal.

The text is an integral part of a revolu-tionary environment for computing educa-tion. As Bowles says, "Pascal is clearlythe best language now in widespread use forteaching . . . structured programming at theintroductory level." By using Pascal,

Bowles is able to introduce algorithmdevelopment and problem solving as com-ponents of top down, stepwise design.Procedures are introduced right from thestart. Flow of control is presented in termsof modern programming principles (se-quence, selection and iteration). Recursionis presented as an obvious extension of theprocedure mechanism. Data structures areexplained fully and clearly.

The use of graphics and text processingprogramming examples keeps the textfrom becoming bogged down in numericalmethods. At UCSD, students from the arts,humanities and business disciplines are ableto do just as well writing programs fornonnumeric applications as are more mathe-matically sophisticated students.

In addition to the compiler, interpreterand editor software, the UCSD system in-cludes a complete computer aided andmanaged instruction system. The system'slessons parallel the text and permit easymanagement of very large introductoryclasses. The system is simple and completein and of itself and could also be usedeffectively by high schools and communitycolleges to provide low cost interactivestudent computing.

Kenneth Bowles has revolutionized theteaching of introductory computing atUCSD. The publication of his book and therelease of UCSD Pascal will permit othersto follow his lead.

Richard J Cichelli

Software Consulting Services

901 Whittier Dr

Allentown PA 18103

P A Easton

Dept of Mathematics, Lehigh University

Bethlehem PA 18001"

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

$95 MORSE TRANSCEIVER

«r^r

« *

COPY:

- 1 to 150 WPM withAuto Sync.

• Continuously computesand displays Copy WPM

80 HZ Bandpass filter

Re keyed Sidetone Osc.with onboard speaker

Fully compensating tocopy any 'fist style'

SERIAL INTERFACE:

J ASCII (110, 300. 600. 1200)or Baudot (45. 50. 57. 74) compatible

Simplex Hi V Loop or T Lelectrical interface

Interfaces directly with theXITEX®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 ——

See your local dealer orcontact XITEX- direct.

MC/Visa accepted

P.O. Box 20887Dallas. Texas 75220(214)386 3859

134 November 1978 © BYTE Publications Inc

Circle 400 on inquiry card.

Circle 77 on inquiry card.

PET PRINTER ADAPTER

GET HARD COPY FROM YOURCOMMODORE PET USING ASTANDARD RS-232 ADAPTER

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 anRS-232 standard printer orterminal.

Assembled and tested

$98.50 ADA1200B$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.

CONNECTICUT microCOMPUTER (pj

150 POCONO RD. BROOKFIELD, CT 06804 La [jjjj) m

(203) 775 9659 La

Puzzle

Hextext

Th

ere once was a

little

(D-

As he flew (2) _

to

(3)

, he

encountered an (4)

, who

was going to smash his

(5)-

Calling

to his

friends for (6)

, he zoomed in on the (7)

._, an

d m

ade contact

(8)-

times. "Good

(9)-

," cried his friends, "now you

are an (10)

Thomas J Dunsheath2828 Knollwood LnGlenview IL 60025

(1)

101111101110 Binary

<2)

377 Octal

(3)

1111111011101101 Binary

(4)

175 Decimal

(5)

700638 Decimal

(6)

2589 Decimal

(7)

257 Octal

(8)

0101 Binary

(9)

1101111011101101 Binary

(10)

5316 Octal

This story is basically a learning tool thatteaches the user how to convert numbers fromone number base to another. If the binary,octal and decimal clues given for each blankare translated into their hexadecimal equiv-alents, the entire story will become readable.In some cases initial zeros will be required tounderstand the word.

Seepage 8B hexadecimalV ' for the solution.

Circle 400 on inquiry card.

November 1978 © BYTE Publications Inc 135

Transmission of Digital Data Over Twisted Pair Lines

TechnicalFcpum

Edward Beebe

3341 NE 13th Av

Pompano Beach FL 33064

Having owned a Digital Group system foralmost three years, I have come across manyproblems in interfacing peripheral equip-ment in the home environment. One of thebiggest problems is induced noise in longlengths of cable connecting printers andterminals placed in different rooms. Thisshould become an increasing problem withthe many people placing systems in smallbusiness environments. Even though smallbusinesses will not be plagued with thevacuum cleaner adding bits to the printer,

the long run to the stock room terminalcan produce unexpected results.

The first cure I recommend is to usean RS-232 interface. The RS-232 workswell when several lines of handshakingare required and the cable is run less than200 feet (60 meters). The large voltageswing and "negative" true logic reducesnoise spikes very well.

An alternative approach to the problemis differential transmission of the data. Inthis system, two wires are used for eachdirection of data flow (four wires would beused with a terminal, two coming and twogoing). When a logic 1 is sent to the peri-pheral device, one line will be high and theother will be low as shown in figure 1. Whena logic 0 is sent to the device, the states of

MICRO MAIL HAS WHAT YOUR SYSTEM NEEDS

S0R0CIQ 120 $795

1 24 line x 80 characters' Upper/lower case■ Numeric keypad

T.I 810 $1695

150 characters/secondAdjustable forms tractor5x7 dot matrix

TELETYPE 43 $999

• 30 characters/second

• 1 32 character line

• Upper/lower case

DIABLO 1620/3 $2999

• 45 characters/second

• Letter quality

• Numeric keypad

All terminals include EIA RS232 interface.

AVAILABLE FORIMMEDIATE DELIVERY

cKUCffl] infill.

P.O. BOX 3297 • SANTA ANA, CA 92703 • (714) 731-4338

WRITE OR CALLFOR FREE CATALOGUE

Send certified check (peisonal or company checks require two weeks to clear) including handling* and 6% tax. if a California resident•Handling Less than S750, add 3% $750 to $1999 add 2% over $1999 add 1%

Everything shipped freight collect in factory cartons with manufacturer's warranty

136 November 1978 O BY 11 Publications Inc

Circle 222 on inquiry card.

the two lines switch (high going low and viceversa).

The two integrated circuits used as linedrivers and receivers are the Texas Instru-ments 75183 and 75182. Mounting one ofeach on a printed circuit card at both endsof a 4 wire twisted pair will give you com-munications with a terminal up to 1000 feet(300 meters) away.

Figure 1 is self-explanatory. The twocapacitors in the receiver are optional. The

0.002 pF capacitor between R-j- and theinverted input may be used for DC isolationof the line terminating resistor. The valueof this capacitor will vary with the data rate.The 100 pF capacitor between the responsetime constant pin and ground is used tocontrol the response time.

More information on this and relatedtechniques can be found in the TexasInstruments data handbook on memoryand peripheral interfacing."

OUTPUT

FROM [ J:

COMPUTER

+ 5V

+ 5V

10

TWISTED PAIR

u

r~^>T0

1(1

14

vcc

D

c

B

A

NON-INVERTEDOUTPUT

INVERTEDOUTPUT

9

3

vcc

INVERTED nilTINPUT

NON-INVERTEDINPUT

8

13

8

XXX,

1 1

■—"" DEVICE

1 l2

M

17

O 002/iF^

GND

12

TIME' CONSTANT

9

^p lOOpF

/h

I

1

rn

75183

75182

Figure i.

NEW SOFTWAREAVAILABLE

LIFEBOAT ASSOCIATES is now offering thefollowing software for use on theMICROPOLIS and NORTH STAR floppy disksystems and HORIZON computer.

All of the software listed requires theuse of CP/M to operate. In addition, theXitan packages have been designed to runwith a Z-80 based CPU.

For your convenience, most of LIFEBOATASSOCIATES software is available on8-inch diskettes (IBM soft-sectored format).

LIFEBOAT ASSOCIATES software packagesare available from computer storesnationwide, or you can order direct.

CP/M'" FDOS and Utilities

From $145

Microsoft FORTRAN-80

$400

Microsoft COBOL-80

$625

Microsoft Disk Extended BASIC

$300

Xitan SUPFR BASIC

(A3)

$99

Xitan DISK BASIC

(A3+)

$159

Xitan Z-TFL Text Editor

(A3, A3+)

$69

Xitan Text Output Frocessor

(A3, A3+)

N/A

Xitan Macro ASSFMBLFR

(A3, A3+)

$69

Xitan Z-BUG

(A3+)

$89

Xitan LINKER

(A3+)

$69

Xitan Package A3 (as keyed above)

$249

Xitan Package A3+ (as keyed above)

$409

CBASIC Compiler/Interpreter BASIC

$95

MAC Macro Assembler

$100

SID Symbolic Instruction Debugger

$85

TEX Text Formatter

$85

General Ledger

$995

Accounts Receivable

$7 50

NAD Name S Address Processor

$79

QSORT Disk File Sort/Merge Utility

$95

LIFEBOAT ASSOCIATES

164 W. 83rd Street

New York, NY. 10024

(212) 580-0082

November 1978 ©BYTE Publications Inc

137

Solution to Machine Language Puzzler (see page 74):

Save the main program value of B.

Load B with X, one of the loop constants.

A was loaded in the main program and is the second

delay constant Y.

; Is A = 0?

; If not, call TIMOUT2.

;Save B from TIMOUT-,;

; Reset B to its initial value.

; Decrement A again (A is not reset in this new pro-gram environment).

; Is A = 0?

; If not, call TIMOUT3.

; Decrement the TIMOUT2 value of B.

; Decrement B more if it is not 0.

; Restore A to the value it held in the previous sub-routine (TIMOUT- by adding 1.

; Restore B to the value it held in the previous sub-routine (TIMOUT.,).

; Return to the instruction after "CNZ TIMOUT2"inTIMOUT-,.

; Decrement the TIMOUT-i value of B.

; If B-| is not zero, go back to LOOP-) and repeateverything, including the call to TIMOUT2.

; Increment A to its original value of Y (2 in thisexample).

; Restore the main program value of B.

; Return to the main program.

Listing 1: The TIMOUT routine considered as two separate programs to em-phasize the different program environment of each call. Assume A=2 in thisexample, which is the Y value loaded into A in the main program. The useof subscripts distinguishes between the successive values of register B andlabels of TIMOUT and LOOP. The actual assembly language program wouldnot appear with subscripts, of course.

TIMOUT-,:

PUSH

MVI

DCR

Bo

B-i,#X

A

LOOP,:TIMOUT2:

CPI

CNZ

PUSH

MVI

DCR

0

TIMOUT2

B1

B2,#X

A

LOOP2:

CPI

CNZDCRJNZINR

0

TIMOUT3

B2

LOOP2

A

POP

Bl

RET

DCRJNZ

BlLOOP,

INR

A

POPRET

Bo

The most important feature of this sub-routine is that it is recursive: that is, it callsitself. Recursive programs can be difficultto follow unless one remembers to placeeach subroutine call in a unique environmentdifferent from all other subroutine calls.This means that each call of TIMOUTshould be thought of as beginning a differentsubroutine in a different location ofmemory, even though the instructions areshared. For example, consider the com-mented version of TIMOUT in listing 1.Here, two different programs are shown toillustrate the situation when one recursivecall is made. As an abstract model of theprogram's overall operation, consider thenode and branch diagram of figure 1, drawnfor the case X =3 and Y = 2. The value in Aidentifies the current level of programexecution; node 1 is the shallowest level,while node 2 is the deepest. The value in Bidentifies the current branch being executedat the level specified by A. While A is neverpushed onto the stack on a new subroutinecall, B always is pushed when a new levelis entered (that is, when a recursive call ismade). The current value of B is decre-

■NEWBESTSELLERS-

MOW«OCESSO»

JMMMCMiTfCHNIOUM

MCROCOMPUIB)

PHOG4MMMW&

INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING PROORAMMINO MICROCOMPUTERS:6502

By Rodnay Zaks, 250 pp, rof C200 $6.95 By Rodnay Zaks, 250 pp, ref C202,

$9.95

new. For the beginner. How to use and purchase a system, fromthe microcomputer box to the peripherals. Why. Business require-ments. How to fail. Programming. Which BASIC?

NOW ALSO AVAILABLE ON CASSETTES - 3 hrs, ret SIO $1495

new. How to program microprocessors, with 6502 examples:arithmetic, input-output, peripherals. Interrupts. An educationaltext requiring no prior programming knowledge, yet useful tothose wanting to learn about specific programming techniques.Applicable to PET, KIM, VIM, APPLE.

MICROPROCESSORS: from chip* to systems

By Rodnay Zaks, 416 pp, ref C201

$9.95

MICROPROCESSOR INTERFACING TECHNIQUES

By Austin Lesea and Rodnay Zaks, 416 pp, ref C207,

$9.95

USED worldwide as UNIVERSITY TEXT. A comprehensive, yetdetailed and clear introduction to all aspects of microprocessors.How they work. The ROM, RAM, PIO, UART. How to interconnect.System development.

ALSO USED WORLDWIDE AS UNIVERSITY TEXT. HOW to connect to

all the usual peripherals, from keyboard to floppy disk, includingA/D, displays, standard busses (RS232. SlOO, IEEE 488) anddynamic RAMs.

TO ORDER

• BY PHONE: call 1415)848-8233BankAmericard/Mastercharge accepted

• SHIPPING: no charge when paymentincluded.

ADD: $1.SO/book for fast shipping.•TAX: in California, add sales tax.•OVERSEAS:

SYBEX-EUROPE.313 rue Lecourbe.75015 - PARIS. France Tel:(1)8282502

SYBEX

2020 Mllvla St.Berkeley,Calif 94704

NAME_COMPANYADDRESS.CITY

POSITION

STATE/ZIP .

DC201 DC207 DC200 DC202 DOTHER

D Payment enclosed □ Bill company Q Bill meADD$1 50/BOOK FOR FAST SHIPPINGD charge my □ Visa D Master charge

O Number Exp date

Signature D Send catalog

D FREE CATALOG/ ORDER FORM

138

November 1978©BYTE Publications Inc

Circle 357 on inquiry card.

merited independently of previous valuesof B.

The most common mistake in analyzingTIMOUT is to return, following RET, tothe beginning of the previous call toTIMOUT rather than returning to theinstruction following the CNZ at that level.

A completely different way of viewingthe operation of TIMOUT is to think ofdecrementing a Y digit number, moduloX. In this case, the current value of A(originally loaded with Y) specifies thedigit being decremented and the currentvalue of B represents the present valueof that digit. The stack reaches its maximumdepth almost instantly and holds an imageof the entire Y digit number.

Answers:

X

Y

Delay

1

21

2

11

22

75 states105 states1 50 states31 5 states

Answers to

Hextext from

page 135.

(1)

BEE

(2)

OFF

(3)

FEED

(4)

OAF

(5)

ABODE

(6)

AID

(7)

OAF

(8)

5

(9)

DEED

(10)

ACE

Figure 1

NODE I LEVEL

,NODE ■? LEVEL

(b) The basic delay period is determinedby:

CPI 0

CNZ TIMOUTDCR BJNZ LOOP

It lasts 30 states.

(c) The stack would grow to 58 bytesdeep.

(d) The delay is approximately Q(XY)."

IIICCSl

siiiiioiiiieeiiient:

»«*».;.'

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.

Each can be used as a stand-aloneding you up to 3.5 Megabytes of

CAPACITY

• ALPHA-1 Tape System stores over750K Bytes on each side of a C-90cassette.

• DELTA-1 Disk System usesDOUBLE DENSITY whichstores up to 200K Bytes ona 5%" Mini-Floppy.

SPEED

• ALPHA-1 high speed searches 100inches per second.

• DELTA-1 worst case search is 1.5seconds.

• ALPHA-1 Data Transfer Rate is 781Bytes per Second.

• DELTA-1 Data Transfer Rate is25,600 Bytes per Second.

HARDWARE

•Compatible with all popular S-100

Bus Microcomputers.•Replaces ROM/PROM Monitors.

• Independent motion control, read/write electronics.

•ALPHA-1 provides unique audiotrack under computer control.

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,controller, power supply, cabling, case,manual and software on cassette or5%" disk. Wood panels on ALPHA-1are optional.For complete information, phone or

w te mcca

7026 O.W.S. Road, Yucca Valley, CA 92284(714) 365-7686

Circle 220 on inquiry card.

November 1978©BYTE Publications Inc

139

BYTE's Bits

Department of Missing Authors:

An article entitled "Procedures forLarge Numbers," written by MichaelP Finerty, whose last known addresswas 2626 E 4th, Tucson AZ 85716,is presently in a state of suspendedanimation in our files. The article was

produced, author's proofs sent out, andthe envelope, shown below, documentsthe post office's attempts to get the mailthrough. Thus we'd like to request thatMichael Finerty contact us with hispresent address."

Biifl

Authors Proof

|M, ,i>c ck on:l

Hichael P. Mm' ?626 f-- +tt!—-•^ TttCion7-*Z—557T6

^v«r &^^^*&jU*JLJ> kiir</

535

L- was.

fc<T &

■^Sv-ctZ*' /3aiJ

Qc-fJ/^

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.

Ah

SYSTfW

For Further Information

and a

Free Copy of Our "Policy"

CALL TOLL FREE800 323-0254

ADVANCE ACCESS GROUP

10526 W.Cermak Westchester, IL 60153 312562-5210"Manufacturers of Information Processing Supplies"

Change of Address

In the August 1978 BYTE we carriedan announcement of a new RF videoadapter line, produced by AVA Elec-tronics Corp (see What's New, page 177).Immediately after publication JasonVan Hollander of that firm contactedus with a new address. You may nowreach AVA Electronics Corp at 4000Bridge, Drexel Hill PA 19026. Fortu-nately we were able to change theaddress in our files early enough thatthose readers who made use of ourinquiry card should experience nodelays."

Levy Sweats, Wins Bet

Computer People turned their atten-tion toward Toronto during the lastweeks of August and early Septemberthis year. The Canadian National Exhi-bition was the setting for the consum-mation of a 10 year contest.

The contest took the form of a chessmatch. One player was a human, DavidLevy, a chessplayer rated as an Inter-national Master. The opponent was acomputer program, Chess 4.7, whichwas written by David Slate and LarryAtkin of Northwestern University (see"Creating a Chessplayer," page 162 inthis issue).

In 1968, Levy made a wager withseveral artificial intelligence researchers.The terms of the wager were that byAugust 1978 no computer would beable to defeat Levy in chess competitionunder tournament conditions. Afterseveral revisions, the_ amount of moneyat stake stood at £l250.

The first game was played on August26 1978. The computer surprised Levyafter ten moves with a 12 move combi-nation. Levy had to struggle againstgreat disadvantage for 30 moves. Thegame ended in a draw; this was the firsttime a computer had done so wellagainst a top human player.

The second and third games werewon by Levy, who cleverly took advan-tage of the computer's weaknesses. Inthe fourth game, both players sprangsurprises. Levy played an unusualopening that led to a tactical sort ofposition in which the computer playswell. The computer obtained an advan-tage, and Levy resigned after 56 moves.This game represents the present highwater mark of computer chess.

Levy easily won the fifth game, end-ing the match with a score of Vh to 1%,and therefore winning the bet. We havenot heard the end of this tale, however.David Levy has renewed his bet for fivemore years. He expects steady pro-gress in computer chess, and has aparticular interest in programs run onsmall computers. He stated, "This is thebeginning of a 10 year boom, andmany advances will be made both inmicroprocessor chess and general com-puter chess."

Future BYTEs will report in greaterdetail on this match and on other eventsin this fascinating field."

140

November 1978©BYTE Publications Inc

Circle 1 on inquiry card.

Computers for Kydes

The San Juan Unified School District(Carmichael CA) has just received a grantcalled Kyde Tyme to develop computerassisted instruction software for micro-computers. The public is encouraged todevelop and submit teaching programs.

Project priorities include all basicskills (language, reading and math) andsupport to all other curriculum areas(science, learning games, etc). Gradelevels range from preschool through highschool. Currently, submissions for in-clusion and publication should bewritten in BASIC and on hard copy,including a sample run of the program.The source code is needed to evaluateand test the program. After evaluation,suggested revisions will be discussedwith the author, if needed. Programswill not be published without theauthor's expressed permission.

The Kyde Tyme project will provideteaching programs to the public atreproduction cost. Contact Ted Perry,project manager, 2331 St Marks Way,room 17, Sacramento CA 95825, (916)482-4306."

Papers on Computing in the Humanities

The Fourth International Conferenceon Computing in the Humanities hasissued a call for papers. The conferencewill be held at Dartmouth College inHanover NH on August 19 thru 22 1979.Papers may be on any topic involvingcomputing in the humanities. Languagesof the conference will be English, Ger-man and French.

Abstracts of 500 to 1000 wordsshould be submitted by December 1.Acceptances will be announced by April1. For further information contactStephen V F Waite, Kiewit Compu-tation Center, Dartmouth College, Han-over NH 03755."

A Puzzling Switch

One of the more interesting methodsof interchanging the contents of twomemory locations involves the use ofthe Boolean exclusive OR function. Forexample: suppose we have two memorylocations labeled X and Y and we wishto transpose the contents of the twolocations. The following series of instruc-tions will perform the operations:

X = X®YY = X©YX = X®Y.

As an example: suppose location X con-tains hexadecimal 37 and location Ycontains hexadecimal AC. Then:

Operation

Location X

Location Y

37

AC

X = X©Y

9B

AC

Y = X©Y

9B

37

X = X©Y

AC

37

Trying to determine the logic behind thisis a good test of your knowledge ofBoolean algebra. . . .RGAC"

Continued from page 10

responsible is Ron. Would you pleaseconvey my personal thank you to him.

Theron Wierenga

POB 2007

Holland Ml 49423

BITS Inc is a separate company fromBYTE Publications Inc, but we arefriends with Floyd, Ron, Jeremy, andthe rest of the people at BITS, and yourthanks have been conveyed. . . .CM

MANUSCRIPT EDITING PARADISE

In your editorial "Don't Ignore theHigh End. . .or My Search for Manu-script Editing Paradise" (March 1978BYTE, page 6) you specified somefeatures that you'd like to see in a"manuscript editing paradise." Onefeature you listed as unavailable was avideo display that could convey anentire page of information in a singleframe. You added that you might beable to accomplish this goal by usingtwo 24 by 80 displays. There is a simplerway.

For about six months now, I've beenusing a VT-4800 video display boardmade by Video Terminal Technology.The basic display is 48 lines of 80 char-acters each. All ASCII graphics are

supported, including upper and lowercase. I'm using the board as part of atimesharing terminal, with the displayon a surplus video monitor. On my 12inch screen, the display is quite densebut still entirely legible.

To use the board in my applicationI had to add only a keyboard, monitor,and modem; all other electronics wereincluded on the VT-4800. The 4800also seems to support a large number ofother features (parallel IO, inverse video,direct cursor addressing, etc) that mightbe handy in your application althoughthey are not supported by my hostsystem.

I understand the board currentlycosts about $500; I was lucky enoughto purchase mine for $350 when it wasstill in the planning stages. If you'd liketo look into the VT-4800 further, youmay wish to call Ralph Butler at VideoTerminal Technology - (408) 255-3001.I don't have their current address.

Roger Sward

13347 Pastel Ln

Mountain View CA 94040

TOO MANY EXPERTS?

I feel it is going to be a long timebefore BASIC is displaced as a hobbycomputer language. Just contrast thereadability of the BASIC program listing

HOLD IT!

Anywhere youwant it.

PanaVise tilts, turns, rotatesOne quick turn of the controlknob and you securely positionyour work exactly where youwant it. Holds firmly but gentlythe most delicate electronicparts and P. C. boards.

Whether you're into buildinghome electronics, troubleshooting, or professional serv-icing ... you'll wonder howyou got along without this mod-estly priced 'extra hand.'

Model 396 Wide Opening PanaViseshown. An ingenious variety of otherinterchangeable bases, holders andaccessories also available. See yourelectronics distributor, or writefor FREE brochure.

5224 Chakemco St., South Gate, CA 90280

Circle 299 on inquiry card.

November 1978©BYTE Publications Inc

141

Circle 33 on inquiry card.

as*

We've got an exciting ground flooropportunity for you to participate in

the incredibly fast-growing

retail personal computer business.

We're Byte Industries, Incorporated™

and we're offering individual

Byte Shop™ franchises, nationwide.

Here's your chance to share

in the expanding retail personal

computer business!

AS A BYTE SHOP YOU GET:

• The nationally recognized Byte Shoptrademark.

• A broad, full-line inventory ofsmall-business and personal computerproducts.

• National and regional advertisingsupport.

• Comprehensive technical and businessmanagement training, and on-goingadvisory services.

• Aid in local site selection, andprofessionally designed store interiors

• Exclusive, protected territories.

To qualify, you should have an interestin computers, and a desire and abilityto operate your own business. Retailexperience and a sales background atmanagement level is a plus. A theoreti-cal or working knowledge of computertechnology is helpful. Investment isroughly $100,000 with an initial equitycontribution of at least $40,000.

If you've got what it takes, then you'reready for your own Byte Shop.™Write or call Dave Pava, our franchisedevelopment manager now.

408*739-8000

& Incorporated - A LOGIC Comp.

Company

I Yes, I'm interested in a Byte ShopFranchise. Please send me your FranchiseInformation packet today.

I Name

| Address_

| City_

■ State Zip

I Phone Byte Industries, IncorporatedI 930 West MaudeSunnyvale, CA 94086(408) 739-8000 OB 1

4 on page 173 with the Pascal programlisting 5 on page 174 in "Pascal versusBASIC: An Exercise," (August 1978BYTE, page 168). I think that convert-ibility is a myth. Look at what hashappened to FORTRAN, locked intoold ideas, old methods, and old equip-ment. BASIC should grow and changeuntil it spawns a new language. Like allfields, computing has too many experts.

Milo Ketchum

58 Willowbrook Rd

Storrs CT 06268

You've raised an interesting pointabout readability. True, for a short pro-gram it seems easier to read the BASICversion, but then you are used to readingBASIC listings. Also, try to add modifi-cations to a section of the BASIC versionwithout affecting any other section ofthe program. This is easy in a modularlanguage such as Pascal .... RGAC

READER Cs PASCAL ALTERNATIVE

As a firm advocate of good program-ming style, I was happy to see theAugust 1978 BYTE give Pascal the atten-tion and support that it deserves. How-ever, I think that something should bedone to correct the impression conveyedby that issue that Pascal is the sole ex-isting alternative for microcomputerusers who want to program in a decentlanguage.

Another alternative is C, developedat the Bell Laboratories. Pascal and Care different in several important re-spects, but they hold this in common:they are both simple, elegant, and flex-ible languages that encourage the writingof clear and concise programs.

Programmers should realize theirgood fortune in having more than onestate-of-the-art language to choose from.As a case in point, Charles Forsyth andRandall Howard, the authors of thearticle, "Compilation and Pascal on theNew Microprocessors," (August 1978BYTE, page 50) state (page 61) that

... .we have found the Clanguagea pleasant and effective languagefor developing programs, but itdoes not, of course, follow thateveryone would.

In truth, Pascal is simply not anoption for most home computerists atthis particular point of microcomputerevolution. My reading of Pascal Newsindicates that current Pascal implementa-tions require hardware not existing to-day in most home systems. Specifically,they require floppy disks and "big"chunks of memory. Microcomputer userswho desire to program in a state-of-the-art language on minimal hardware sys-tems should know about the currentavailability of Tiny C.

Tiny C is an interpreter for a strippeddown version of C, designed specificallyfor the microcomputer environment. Itruns in the same "small" environ-ments as does BASIC. All indications

so far point to its being a thoroughlyprofessional and reliable product. It isinexpensive. It comes with a programpreparation system which includes aneditor. Its users' manual is superblyinformative, complete and readable.

I hope that BYTE will soon give Cand Tiny C the attention they deserve.In the meantime, readers who wish togain the flavor of C should consultThe C Programming Language, byKernighan and Ritchie (Prentice-Hall,Englewood Cliffs NJ, 1978). Andreaders who want information aboutTiny C should contact

Tiny C Associates

POB 269

Holmdel NJ 07733.

Frank Nussbaum

Dept of Math Sciences

Loyola University of Chicago

6525 N Sheridan Rd

Chicago IL 60626

STORED PROGRAMS: A REPLY

Keith Reid-Green, in his "ShortHistory of Computing" ()uly 1978BYTE, page 84) states correctly thatJohn von Neumann suggested puttingprograms into the memory of theENIAC computer. However, the impli-cation that previous programs were allhard-wired is not true.

In fact, there was a series of sixmodels of Bell Laboratories Relaycomputers, the first of which (1939)antedated the ENIAC by seven yearsand the Mark I by five. All but one ofthe series used readily changeable pro-grams in punched tapes — none werehard-wired.

Model II of the Bell Series was asmall computer designed primarily fordigital filtering and for subtabulation ofa mass of data. A dozen or two programswere written and punched in tape for it.Changing a program took about 20seconds. Most of the programs werecyclic and, therefore, were pasted intoloop form.

Later models (but still antedating theENIAC and Mark I) had more capabilityand more sophisticated programs. ThusModel V (circa 1945-46) had numerousprogram "positions," any one of whichcould be called up by the computer witha jump instruction in the main program.Such jumps were controlled by a "logiccomputer" which made decisions on thebasis of manipulations of Boolean alge-braic variables.

George R Stibitz

Prof Emeritus Physiology

Dept of Physiology

Dartmouth Medical School

Hanover NH 03755

Dr Stibitz, a research mathematicianand pioneer in the development of therelay computer at Bell Labs in the 1930sand 1940s, was the recent recipient ofthe IEEE's Emanuel R Piore award "forpioneering contributions to the develop-

142 November 1978 ® BYTE Publications Inc

ment of computers, utilizing binary andfloating point arithmetic, memory in-dexing, operation from a remote con-sole, and program controlled compu-tations. "

THE 2650 BECOMES MOREAVAILABLE

I read with interest Mr Frenzel'sarticle "How to Choose a Micropro-cessor," in July 1978 BYTE, page 124.Particularly gratifying was his mentionof the Signetics 2650 as a processor withan unusually powerful instruction setand minicomputerlike architecture.However, its status as an item of limitedavailability to the experimenter ischanging rapidly.

As Mr Frenzel's article was going topress, Signetics was preparing initial ad-vertising for the Instructor 50tm desk-top computer, which uses the 2650 asits central processing element. This prod-uct, a complete hardware and softwarepackage, is particularly well-suited to thestudent and hobbyist. Thus, it is nolonger true that experimenters who wishto use the 2650 in a personal computingsystem must develop their hardware andsoftware from scratch.

J E Doll

Signetics Corp

POB 9052

811 E Arques Av

Sunnyvale CA 94086

ROUNDING OUTSOME CALCULATIONS

Your articles in the August 1978BYTE are great! I am a Pascal fan al-ready, and a UCSD Pascal fan on top ofthat. I've never written a program withPascal, but it looks like a fulfillment ofa wish-list of useful data and controlstructures. I've written programs inFORTRAN, BASIC, COBOL, APL,PDP-11 assembler and INTERCOM-500,an "assembler" for a Bendix G-15 com-puter. It has features and efficienciesI've long wanted in a high level language.I have heard of Pascal before, but neverpaid it much attention. Now that I seethat it has a chance of becoming muchmore available, and after learning aboutthe language and its method of imple-mentation, I'm ready to help pull thebandwagon, not just hop on. Havingwritten interactive business programs inBASIC and FORTRAN, I also appreciatethe extensions implemented by UCSD,as described in the article "Pascal versusCOBOL" on page 122.

I enjoyed the articles on antique"computers" ("Philadelphia's 179 YearOld Android," page 90, and "AntiqueMechanical Computers, Part 2," page96, August 1978 BYTE) as well as thoseon Pascal. I think that the estimates ofstorage capacity in the "AntiqueMechanical Computers, Part 2" articleare in error. As an example, I will discussthe calculations done on pages 104 and105.

The author makes a telling remark:

"A point which is obscure to me is thatthe letter forming cams are alleged to op-erate on a polar coordinate system."His calculations are then based on XYcoordinates. This analysis would becorrect if the machine produced a dotmatrix picture with the accuracy andprecision estimated. However, this is notthe mechanism the machine uses.

I will assume that each letter is com-posed of a series of moves, and that eachmove is described by a distance and a di-rection to be moved from the previousposition of the pen. Polar coordinateswould work like this, or in a similarmanner. With polar coordinates, a pointis defined on a plane by giving a distance(radius) and direction relative to theorigin, or (0,0) point on a Cartesian(XY) plane.

The actual method used by the ma-chine and precise information theorymay not be represented by what follows,but I believe my calculations will moreclosely approximate the actual storagecapacity of the machine than those inthe article. The three cams that defineeach letter will be assumed to specify theheight or pressure of the pen, and thedistance and angle made for each of asequence of moves. The following tablegives the information content neededto attain the precision found in the re-sults of the machine:

Numberof Bits Range of Values

2 Up; light, me-dium, or heavypressure.

6 0.1 mm to 6mm, in 0.1 mmsteps (60 dis-crete values).

7 3' to 360" in3° steps (120discrete values).

15

12 (A reasonableguess, based onthe y).

180 This is differentfrom the au-thor's estimate52 by a factor of80.

9360 ■ Total numberof bits to en-code the entirealphabet.

The estimate of minimum distance,different from the author's, is based onthe assumption that a single move willtend to be fairly straight due to somemechanical damping while drawing a linebetween two points. Any of the param-eters might vary by one or two hitsfrom the given estimates, but I believethem to be fairly close given the assump-tions used.

One other factor to take into accountis the "noise" introduced in translatingcam shape to pen movement. The camswould need twice as many bits of storage

Parameter

Height andpen pressure

Distance

Angle

Total bitsper move

x movesper letter

Total bitsper letter

x numberof letters

Real-timeinterruptsadd

immensepower

to yourcomputer.

With a real-time calendar/clockyour computer can extend its influenceinto the future — take action at anypre-programmed date and time.

Imagine the possibilities! Programa daily printout of appointments. Pro-gram house temperature to rise at 6 a.m.every morning. Program games inwhich fast reaction time wins. Turn lightson and off to simulate occupancy ofan empty house. In your business, printtime and date on all computer output —hard copy or video display. Make yourcomputer a frequency counter or time-interval meter. The possibilities areendless — especially if you use our Introlcontrol system to send commandsover existing wiring.

We have superb calendar/clocksfor Apple II and S-100 computers. TheApple II clock keeps time for over 2years in 1 ms increments. Programmingis simple because of the on-board ROM.

The 100,000 Day Clock for S-100bus computers keeps time in 100 /useeincrements. Programming is easy withmost BASICs — especially our IntrolBASIC

Both clocks feature crystal controlledaccuracy and on-board battery back-up. Very simple to interface. Easy to set.And provided with interrupts that donot derail ongoing computer actionwhen the clock commands action.

Calendar/clock for Apple II is $199assembled and tested. For the S-100clock $219 assembled and tested. Seethem both at your local computer shop.

Mountain Hardware Inc., 5523ScottsValley Drive, Scotts Valley, CA 95066Phone(408)438-4734

23

Mountain Hardware

Circle 260 on inquiry card. byte November 1978 143

now

soar

with

CP/M

*

IN CUSTOMER USE FOROVER ONE YEAR

Full file sort for variable length records,arbitrary length key(s). Ascending ordescending order.

Single-keyMulti-key

$95$145

Runs on 16K or larger system. Uses allavailable memory.

FILE INDEX

Produce cross-index of file namessorted alphabetically across all diskettesin a collection.

Manuals Only: $5.

$45

NEW!

The INTEGRATED FINANCIALSYSTEM: G/L. A/R, PAYROLL,A/P, INVENTORY Manuals $10each. Programs $500 each.

To order or for more information, write

Rothenberg

INfOCWATKJN SVSTCMS, INC i^V

2(i0 Sheridan Avenue

Palo Alio, CA 94306I415I 324-88S0

Please provide your CP/M Serial #California purchasers add Sales TaxPre-paid only. Immediate delivery.

Dealer inquiries invited

*CP/M is a trademark of Digital Research

if the mechanism's noise obscured halfof their precision.

The machine discussed obviously hadother "memory" as well as the memorythat stored the shape of the letters. Forinstance, the mechanism that determinedthe sequence of letters would have acapacity equal to about six bits (enoughto store 52 choices) times the number ofletters.

Sigurd Andersen

48 Prospect Av

Newark DE 19711

ON BUSES AND LANGUAGES

I have two questions for your rea-ders: why Pascal? Pascal and BASICwere both written for education andboth need extensions to be of use inserious (large) programming experimentsand production. What we need is alanguage that simplifies structured pro-gramming like ALGOL, that is com-plete like PL/I and which compiles likeHP-BASIC during editing to a compactcode for further compilation or inter-pretation. It should be adapted to sys-tems from batch via disk operatingsystem (DOS) to real time. In short:it needs everything for everybody ona microcomputer, not a patchwork oflanguages that were never intended foramateur use. My next question is aboutall those buses that our poor chips arestruggling with. Why don't we (theusers, not the manufacturers) define abus for all processors? It can be done!The Dutch Hobby Computer Club(page 148 in this issue) is currently usingone.

B J Besseling

Tolstraat 401

Amsterdam HOLLAND

Just to reiterate, Pascal has a lot ofinterest going for it based on availabilityof implementations and enthusiasm onthe part of those who are into the lan-guage as a means of expression. We findmachines from the microprocessor upthrough the Cray-I using it as a systemsprogramming tool, and with extensionsof the sort UCSD has been imple-menting, it works as well for manyapplications areas.

MORE PIXELS PER PIXE?

Concerning "Convert Your TV Set toa Video Monitor" (May 1978 BYTE,page 22), Dan Fylstra stated that using aPixe-Verter radio frequency (RF) unitwith a video board, one would only beable to generate usable line lengthsof 32 characters.

That may be the case when using ablack and white television. I, however,have been using a Pixe-Verter, ProcessorTechnology VDM board, and a 15 inchSony KV1510 color set with excellentresults. I am able to use this configuration for 64 character lines very easily.The quality of the display is not as highas available on a direct connection of the

If you choose IMSAI...The best price and deliveryis from MiniMicroMart!!!

IMSAI VDP 80/1000 Virtually uniimited RAM and disk storage expansion The ulti-mate in a complete computer system in a singlebox: 32K of RAM, one megabyte of floppy diskstorage, utilizing the famous PerSci drives, 12"CRT with 24x80 field, intelligent keyboard. Com-plete software: ROM monitor, CP/M operatingsystem, - ready to use.

Order as 21-5580 0 (List $6995).

Cash Price $5895

IMSAI has recently introduced the VDP 80's"little" brother" - a similar system with a 9"CRT and using minifloppies instead of the 8"PerSci. Three different disk drive systemsallow you a choice of disk storage capacity tomeet your data needs and pocketbook.

VDP-40 180 kilobaud disk storageOrder as 21-5540 0 (List $4495)

Cash Price $3795

VDP-42 400 kilobaud disk storageOrder as 21-5542-0 (List $4695)

Low Cash Price $3990VDP-44 780 kilobaud disk storageOrder as 21-5544-0 (List $4995)

Cash Price $4245

THE NEW PCS-40 SERIES

New IMSAI systems: complete 32K of RAM anddual minifloppy, serial and parallel I/O.

PCS-40 180 kilobaud disk storage

Order 21-5440-0 (List $2695) $2289

PCS-42 400 kilobaud disk storage

Order as 21 5442 0 (List $2995) $2545

PCS-44 780 kilobaud disk storage

Order 21-5444-0 (List $3695) $3139

All above assembled/tested — ready to use

IMSAI 8080 (PCS 80/10)

with 22-slot motherboard, 28-amp powersupply, and its famous front panel is thesame dependable system . . . but now itscalled the PCS 80/10. Ideal for lab use.Kit, order 21-5310-0 (List $699)

Special Low Cash Price $559

IMSAI BOARDS

RAM III 32K RAM, Assembled

Order as 21-4232-0 (List $895)

BASIC VIO The leading memory-mappedinterface Options to expand. Kit, order as

21-3501 0 (List $190)

Assembled, order 21-4501 0 (List $335)VIO-C Complete version of above, 24x80,upper/lowercase, incl. ROM monitorKit, order 21-3504-0 (List $325)Assembled, order 21 4504-0) (List $465)SIO-2-1 Serial I/O, KitOrder 21 3440 0 (List $125)

PIO/6-3 Parallel I/O, Kit

Order 21 3441 0 (List $139)

MIO Multiple I/O, Kit

Order 21 3442 0 (List $195)

$715

video

$170$299

$285$395

$110

$125$169

Ail prices are based on cash purchases Higher prices applyto credit card and institutional purchase orders Minimumdeposit 25% on COD orders Above prices subject to changewithout notice

SHIPPING, HANDLING & INSURANCE VDP 40

and 80 series shipped freight collect. Add $2 forboards; all other items, add $10

WRITE FOR FREE CATALOG

MiniMicroMart, Inc.

1618 James St., Syracuse, NY 13203(315) 422-4467

144 byte November 1978 Circle 328 on inquiry card.

Circle 250 on inquiry card.

TRS-80 OWNERS,

HAVE WE GOT SOFTWARE

ON CASSETTES FOR YOU !

AARDVARK/CAPTURE-hunt the ANT/capture an enemy . . . (8-1} . . . $13.95STARTREK-advanced version, with

conversation (8-2) . . . $14.95

ROULETTE/ONE ARM BANDIT-casinogames, graphics . . . (8-31 . . . $13.95PATTERNS/PINBALL-graphic demon-stration games (8-4) ... $11.95

ANNUITIES-schedules, values, payments

& interest (8-5) . . . $10.95

SPACESHIP/CANNON-venus lander/

fight the enemy .... (8-6) ... $1 2.95DICE/HYPERBAGELS-play craps/guess

the secret # (8-7) . . . $14.95

I CHING/BIORHYTHMS-predict the

future either way . . . (8-8) . . . $13.95POKER-play draw poker in graphics,

casino rules (8-9) . . . $10.95

COMBJJSTION/GROWTH-hydrocarboncombustion/patterns (8-10) . . . $16.95RALLY-4 different cars & 5 different

tracks 18-11) . . . $12.95

NIM/HEXAPAWN-play nim/heuristic

game, graphics ... (8-1 2) . . . $19.95ELEC PAK 1-complete filter design,

passive/active (8-13) . . . $20.00

ELEC PAK 2-attenuators, pads for

perfect matching . . . (8-14) . . . $20.00ELEC PAK 3-all the standard formulae

you need (8-15) . . . $30.00

MATH PAK 1-trig & inverse trig

functions & logs . . . (8-16) . . . $20.00MATH PAK 2-primes. factorials, roots

& powers (8-1 7) . . . $20.00

MATH PAK 3-hyberbolic & inverse

hyperbolic func . . . (8-18) . . . $20.00MATH PAK 4-gamma and bessel

functions (8-19) . . . $25.00

MATH PAK 5-curve fitting-lin/exp/pwr/

and log (8-20) . . . $30.00

MATH PAK 6-metric/english & english/

metric conv .... (8-21) . . . $20.00STAT PAK 1-means, moments, kurtosis

and skewness (8-22) . . . $20.00

ECON PAK 1-estimating building costs

(8-231 . . . $25.00

TIC-TAC TOE-try to beat the

computer!!! (8 241 . . . $10.95

PYRAMID-buried treasure in cheop's

pyramid (8-25) . . . $19.95

MATH TEACHER-math drills for the

4 functions (8-26) . . . $25.00

CHECKERS-play an exciting game

against the TRS . . (8-27) . . . $19.95RACE-drive your car against incredible

odds (8-28) . . .$12.95

HORSES-bet on your favorite out of

6 horses (8-29) . . . $12.95

WE ALSO PRODUCE CUSTOM SOFT-WARE FOR BUSINESS OR ANYSCIENTIFIC APPLICATION WE WILLBE PLEASED TO SEND A QUOTATION AFTER EVALUATINGYOUR REQUESTI PLEASE INDICATEWHETHER YOU ARE USING ATRS 80 LEVEL ONE OR TWO, ANDTHE AMOUNT OF RAM IN YOURSYSTEM

please check the programs desired withan X

8-1 [ |, 8-2 [ J, 8-3 [ ],84 [ 1,8-5[ 1,8-6 [ 1,8-7 [ 1,8-8 [ 1,8-9 1 1,8-10 [ 1,8-11 [ 1,8-12 [ 1,8-13 [ I,8-14 [ 1,8-15 I 1,8-16 1 1,8-17 [ 1,8-18 [ 1,8-19 1 1,8-20 [ 1,8-21 [ I,8-22 [ 1, 8-23 [ 1, 8-24 [ 1, 8-25 [ I,8-26 [ I, 8-27 [ I, 8-28 I 1,8-29 1 ]..

•• CASHIER CHECKS and MONEYORDERS PROCESSED SAME DAY.PERSONAL CHECKS . . . ALLOW 2WEEKS FOR PROCESSING

NAME

ADDRESS

CITY

STATE ZIP

"add $1 for POSTAGE AND HANDLING. NY. RES. ADD tax.

TAYLOR, RO. BOX II80,PLATTSBURGH, NY I290I

video board and a video monitor, but thedisplay is very usable.

Using a color set may seem like over-kill, but I, like many people, have acolor set available and no black andwhite set. Of course color sets aremuch more likely to be "non-portable,"but the smaller color sets may save onefrom the hazards of playing with a tele-vision set's innards.

W Czyzynski

1618 Home Av

Berwyn IL 60402

ABACUS QUERY

In reference to the alleged Chineseabacus shown in "A Short History ofComputing," by Reid-Green, (July 1978BYTE, page 84), I have been informedby supposedly reliable sources that an"abacus" with five beads below and twobeads above the bar is really a Japanesedevice called a soroban, and that a genu-ine Chinese abacus has four and onebeads, respectively.

My references show that the abacushas the 4/1 configuration. The deviceI own, which I thought was an abacus,has a 5/2 configuration; but it is clearlymarked "Japan" and soroban in smallprint on the side, confirming what Ihad been told about the 5/2 "abacus."

Do any of BYTE's readers know ifboth types were in use in both countriesand whether there are any otherconfigurations?

William B Adams

POB 34683

BethesdaMD 20034

ON OTHER HARDWARE WAYSTO MULTIPLY

I just finished reading the article"How to Multiply in a Wet Climate: De-sign Details" (May 1978 BYTE, page1 04) by Jack Bryant and Manot Swasdee.I thought the article was great. Howeverthe authors made mention of only onechip from TRW (the MPY-16AJ-M).

There is one other 8 bit by 8 bitmultiply integrated circuit chip (see"Whats New" December 1977 BYTE,page 210). It uses less power than theone the authors Bryant and Swasdeeuse, and is faster. Also there are tran-sistor-transistor logic (TTL) 4 bit by 4bit multiplication integrated circuits(the 74284 and the 74285). The twocircuits must be used together. They willdo 4 bit by 4 bit multiplication in under50 ns. I am currently using a pair to dobinary coded decimal (BCD) multipli-cations. I would like to see more of thishardware type of article in BYTE.

FTB3 Allan W Bathe

W-2 Division

USS Canopus (AS-34)

FPO New York 09501

But authors Bryant and Swasdeeactually used the chip they concentrateon CH ■

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 usefui 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

Circle 364 on inquiry card.

Circle 2 on inquiry card. BYTE November 1978 145

Sweets for KIM Spurned

Dan Fylstra's useful low calorie texteditor and assembler for KIM-1,"SWEETS for KIM, a Low Calorie TextEditor," February 1978 BYTE, page 62,contains a bug on page 68 which limitsthe size of programs to be handled. Theassembler code at address hexadecimal1796 should read E5[SBC ENDAD+1]and similarly at address hexadecimal179C should read ES[SBC ENDAD].

Ernst SchumacherDept of ChemistryUniversity of BernCH-3000 Bern 9, Freiestrasse 3SWITZERLAND"

A Minor Mode

I very much enjoyed Bill Struve'sarticle concerning computers and music,"A $19 Music Interface (and Some

Music Theory for Computer Nuts)" inthe December 1977 BYTE, page 48. Itwas well-written and very explanatory.However, there is one small error I wishto call to your attention: table 2 on page56 contains the wrong solfeggio sylla-bles. The syllables to which I am refer-ring are ml, la, and ti. They should beme, le, and te because they are in theminor mode of the A scale. Keep up thegood work!

Scott Claybaugh

RD #1, Box 136B

East Berlin PA 17316"

Irresistible Capacitor

A small bug appeared in figure 5 of"How to Get Your Tarbell Going," byLarry Weinstein (July 1978 BYTE, page164): capacitor C16 was incorrectlydrawn as a resistor. The 0.0022/KF valueis correct, however."

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,TMSAI, 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

.^j^roLL^^ij^iiM £':

^-^.-_J\l"^St.'.

■■■■.■■'.■■...■.■■.■

Commercial Memory Products, a Division of Electronic Memories & Magnetics Corp.12621 Chadron Avenue • Hawthorne, California 90250 • Telephone (213) 644-9881

Univac Had It First

W F Steagall Sr, System DevelopmentCorp, 2500 Colorado, Santa Monica CA,has informed us that the figure 8 captionon page 92 of the August 1978 BYTE("A Short History of Computing" byKeith S Reid-Green) is in error, and thatthe Univac I featured simultaneous inputand output (IO) and processing as earlyas 1951."

Translation Error

In "BYTE's Bugs" February 1978BYTE, page 93, John D Leasia writesto point out an error on the pseudo-random number generator, first pub-lished in the November 1977 BYTE.However, the original object code assupplied by Daniel Grieser, was totallycorrect. Indeed, if the correctionssuggested by John D Leasia are im-plemented, one will create the verybug he is trying to eradicate.

The confusion must arise over thedifference in architecture between the6800 and 6500 type machines, theformer possessing two accumulatorswhile the latter has only one. Theoriginal, as written for the 6800, makesuse of both accumulators and is, asstated in the article, a direct implemen-tation of the identity 13 X N = N X 23+ N X 2^ + N. If, however, we wereunaware of the dual accumulators beingused, and assumed all the math to begoing on in one accumulator (somehow),then the equation that appears to beimplemented is: [N X 4) + N] X 2 + N= 11 N. If, as suggested by John D Leasia,the op codes at 0005 and 0006 are inter-changed, the equation that is actuallyimplemented is: N + 2N + 23 X N(which again equals 11N and, as Johnpoints out, this does not generate allpossible numbers and repeats after only128 numbers).

When using a 6500 type machinewith its single accumulator, one mustadopt a slightly different approach. Theprogram supplied by John for his KIM-1would, I believe, run perfectly; it is infact using the identity:

13 X N

[(NX2) + N]3NX4 + N.

X 4 + N

A good point to remember is that,to try achieving a semiliteral translationof assembled object code from onemachine to another, is not that easy,especially when the exact mode ofaction of one of the instruction setsinvolved is likely to be unknown.

J C Burchell

24 Worrin Rd

Shenfield, Essex ENGLAND

CM15 8DE"

Pascal a Wrong Number?

Due to a transcription error in a tele-phone number, listing where UCSDPascal may be ordered, a slight rewiring

146

November 1978©BYTE Publications Inc

Circle 132 on inquiry card.

of the UCSD telephone system had to betemporarily performed to intercept allphone calls. The correct telephonenumber for the UCSD Pascal project is(714) 452-4526. Ken Bowles tells usthat the incorrect number published inAugust 1978 BYTE, page 132, will bediscontinued as soon as possible.*

A Looming Bug

July 1978 BYTE's articles on thehistory of data processing and computersadded a welcome dimension to yourjournal. However, I have one question.According to Dr James M Williams in"Antique Mechanical Computers, Part 1 :Early Automata" (on page 57):

In 1741, he [Vaucanson] devised thesystem of punched cards that controlledthe looms in the jacquard tapestryfactory.

According to Keith S Reid-Green in"A Short History of Computing" (onpage 89):

Although jacquard is commonlythought to have orginated the use ofcards, it was actually done first byFalcon in 7 728. Falcon's cards, whichwere connected together like a roll ofpostage stamps, were used by Jacquardto control the first fully automaticloom in France. . . .

Would you care to comment?

Ms Kemp Vicik

7752 Chalmette Dr

Hazelwood MO 63042

Keith S Reid-Green Replies

The following quote is taken from AHistory of Technology, volume IV,Singer Holmyard et al, editors, OxfordUniversity Press, 1958. It should helpto explain matters:

Prior to the 19th Century an auto-matic loom required considerablemanual assistance. In the most advancedmodels of the early 1700s, wovenpatterns were controlled by a cylindricalperforated paper roll. In 1728, Falconreplaced the paper roll with connectedpunched cards and a mechanism to readthem. In 1745, Vaucanson transferredthe mechanism from the side of theloom to an overhead position and addeda perforated cylinder rotated directlyfrom the loom. Jacquard, in 1801, iscredited with mechanizing out of exis-tence the job of draw-boy and thus fullyautomating the loom. A patent to re-place the draw-boy with a machine wasissued before Jacquard was born — in1687 to Joseph Mason and a later one in1779 to William Cheape.

Jacquard may get the credit because"Cheape Looms" probably didn't sell.For more details, see A History ofTechnology.

Keith S Reid-Green

Director, Software System Development

Educational Testing Service

Princeton NJ 08540"

ELF II by

KETROmcS

b featuredIn POPUURELECTROIIICS

Shown with

optional 4k Men»i> Boards,

GIMT «uW" I Mill Burt

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.

Video output also makes ELF II unique among computersselling for such a low price. Attached to your TV set. ELF IIbecomes a fabulous home entertainment center. It's capable ofproviding 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 toyour TV's video input. If you prefer to connect ELF II to yourantenna terminals instead, simply use a low cost RF modulator(to order one, see coupon below).

ELF ll's 5-card expansion bus (connectors not included)allows you to expand ELF II 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 Explodes Into A Giant!

Thanks to ongoing work by RCA and Netronics, ELF IIadd-ons are among the most advanced anywhere. Plug in theGIANT BOARDS* 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 lis 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-BUG1** 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. ELFII is the fastest way there is to get into computers. Order fromthe coupon below!

Stop reading abourcomputers and get your hands on one! WithELF II and our new Short Course by Tom Pittman, you canmaster computers in no time at all! EL F 11 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 p usenjoy the latest video games, including an exciting newtarget/missile gun game that was specifically developed forELF II.

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 1802'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 II, 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.

If you 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 II, 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— Q 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, t, * , + ,( ). 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 for engineers and laymen REM. CLEAR. LIST, RUN. PLOT.alike. $5.00 postpaid! PEEK, POKE. Comes fully docu-

□ Deluxe metal cabinet with plexiglas 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 II connects to the video input TV screen without additional hard-of your TV set. If you prefer to use w»re. Also plays tick-tack-toe plus ayour antenna terminals, order RF drawing game that uses ELF ll's hexModulator, $8.95 postpaid.D GIANT BOARD5* kit with cassetteI/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.

□ Professional ASCII Keyboard kitwith 128 ASCII upper/lower case set,96 printable characters, onboard regu-lator, parity, logic selection and choiceof 4 handshaking signals to mate withalmost any computer. $64.95 plus $2p&h.

heyboard as a joystick. 4k memory required. $14.95 postpaid.D 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: AD. DA Converter,Light Pen, Controller Board, ColorGraphics & Music System .. .andmore!

Call or write for wired prices!

Netronics R& D Ltd., Dept. 0000

333 Litchfield Road. Phone I

New Milford.CT 06776 (203)354-9375 ■

Yes! I want to run programs at home and ■

have enclosed: D $99.95 plus $3 postage I

& handling for RCA COSMAC ELF II kit. I

□ $4.95 for power supply (required), Id $5 for RCA 1802 Users Manual, □ $5 ■for Short Course on Microprocessor & IComputer Programming. In I want mine wired and tested with Ipower supply, RCA 1802 User's Manual Iand Short Course included tor just $149.95 Iplus $3 p&h!

□ I am also enclosing payment (including Ipostage & handling) for the items checked Jat the left. ITotal Enclosed (Conn. res. add tax) J$ _ D Check here if Iyou are enclosing Money Order or Cashier's JCheck to expedite shipment.

USE YOUR □ VISA □ Master Charge !

(Interbank* ) J

Account # I

Signature Exp. Date J

PHONE ORDERS ACCEPTED {203) 354-9375 |

Print |

Name _ I

Address __ —^_ |

City _ j

State _ Zip _

_ DEALER INQUIRIES INVITED

Circle 280 on inquiry card.

November 1978©BYTE Publications Inc

147

Circle 32 on inquiry card.

u

The indits signiof Heathucts is pof Bentonof the mafirst issand LSI-1on the H8of ownersis far mo

The Independent Newsletterof Heath Co. Computers

\m

ependence of Buss is a cmficance to users (and prosCo. computers. Informatioresented to Buss readers a

Harbor, not held back tonufacturer. This has beenue, which directed attenti1 months before any advert

and Hll. Buss features c' experiences with their cre valuable than an articl

cial factor inpective users)n on new prod-s it leaks outsuit the planstrue from itson to the 8080ising appearedandid accountsomputers--thise based on the

opinions of a single reviewer. It shares news ofcompatible hardware & software from other vendorsas well as reviews of books that can help you getthe most out of your computer system.

Every issue of Buss travels by first class mail(outside North America it goes by air for only $2extra). Your 12-issue subscription can be on itsway to you within a week. You have the choice ofstarting either with the latest issue or with allavailable back issues. Send $7.50 to Buss, 325-BPennsylvania Ave. SE, Washington, DC 20003.

Glubs andNewsletters

MITS Minifloppy Disk Users Group

The formation of a users group forthe owners of the MITS minifloppy disksystem has been announced. The groupis nonprofit and will act as a clearinghouse for software for the new mini-floppy. Those interested should send aself-addressed stamped envelope to AAAComputer Services, POB 2742, AppletonWl 54911.

Cromemco Users Pool

The Cromemco User, Systems andSoftware Pool (CUssP) has been formedfor users of Cromemco systems andboards. Its purpose is the exchange ofhardware and software operating notes,bugs and their "cures," product evalua-tions and user written software. Threeinitial newsletters are planned, each high-lighting a different piece of Cromemco

software: 16 K BASIC, assembler andFORTRAN. Any user input is welcome.The membership fee including the threeinitial newsletters is $10. For more in-formation, user input, or membershipwrite to David Dameron, 402 E O'KeefeSt, Apt 27, E Palo Alto CA 94303.

The New England Computer Society

The New England Computer Society(NECS) meets the first Wednesday ofeach month for the purpose of ex-changing computer hobbyist infor-mation. NECS is the largest club in thearea with 170 paid members. Withinthe club there are PET, TRS-80, M6800and 6502 user groups. They are alsofostering a PC Net interest group with aplanned bulletin board system. Member-ship dues are $6 per year which includea newsletter. The meetings start at7 PM and are held at the Mitre Corpcafeteria, Route 6, east of Route 3,Bedford MA. For additional infor-mation, write to the New EnglandComputer Society, POB 198, BedfordMA 01730.

Attention Singapore Readers

There is a move to set up a SingaporeMicrocomputer Society which wouldinclude home and hobby computer usersas well as professional system designers.

If you live in Singapore and are inter-ested in this society, you should get intouch with Bernard Tan, Physics Dept,University of Singapore, Bukit TimahRd, SINGAPORE 10.

New Club Supports the RCA 1802COSMAC

Owners of Elf, Super Elf, Elf II,COSMAC VIP, COSMAC DevelopmentSystem or Homebrew 1802 will findmany programs, applications and experi-ments for their microcomputers in eachissue of Questdata. This publication willdiscuss the RCA instruction set and howto build interesting programs for graph-ics, control, games and business pur-poses. Coverage will be given to TinyBASIC, Elf expansion possibilities (mem-ory, cassette input/output, etc), lightpens, reader questions and music pro-grams. To obtain this monthly pub-lication, send $12 to Questdata, POB4430, Santa Clara CA 95054.

Dutch and Belgian HobbyComputer Club

This past summer Rob Bronckersfrom the Dutch Hobby Computer Clubstopped by the BYTE offices to give usinformation about this European club. Itis a rather large club with eight chaptersin The Netherlands and two in Belgium

Xpce electronicsX"

<\.

S-IOO KITS

I6/4+I EPROM/RAM BOARD KIT8K STATIC RAM KITII SLOT MOTHER BOARD with sockets48K DYNAMIC RAM KITVERSAFLOPPY DISK CONTROLLERAll kits are complete withsockets and documentation.

prices subject to change

$130°°$130°°$ 80°°$631°°$ 155 °°

There is much more, includingcomplete systems; for moreinformation, write for our flyer.

P C E Electronics4782 Dewey DriveFair Oaks Ca. 95628

•master charge

- phone orde rs4916>966-2208

'COD requires50"7o Deposit

•5 °7„ for shipping,excess refunded

• calif residentsadd 6 7.. salestax

• all productsguaran teed

JJ

148

November 1978 © BYTE Publications Inc

Circle 288 on inquiry card.

Circle 353 on inquiry card.

fflOKI SPHJUGEH-UEHLflG'S PASCAL PROGRAM

A Practical Introduction toPASCAL

Byl.R.Wilson and A.M.Addyman

1978.approx. 145p. paper $7.90ISBN 0-387-91136-7

Suitable for beginners and experienced program-mers who wish to learn the complete PASCALlanguage, this concise introduction includes■ Syntax diagrams and complete examples illustrat-ing each feature of the language

■ Simple problems introducing control constructs,expressions, and the use of procedures

■ A discussion of the concept of data type, followedby a complete description of the data structurefacilities of PASCAL

• An analysis of more advanced procedures anddynamic data structures, and■Over sixty programs.

Contents

Introduction. The Form of a Program and BasicCalculations. Basic Control Constructs. Variables,Constants and Expressions. An Introduction toInput and Output. An Introduction to Procedures

and Functions. Data Types. An Advanced Data Type-The Sequential File. Elementary Structured Types1, 2,3 and 4: Set, Array, Record and Variant.Advanced Uses of Procedures and Functions.Dynamic Data Structures.Price subject to change without notice.

Springer-Verlag New York Inc.

175 Fifth Avenue, New York, NY 10010

— an approximate membership of 1000.The club offers a hardware service andhas a software library. The membershipdues are HFL 15= (15 Dutch Florin)including the newsletter, HCCN, which ispublished every two months. For moreinformation about this club, you cancontact Rob Bronckers at Delfsekade12, Leidschendam, NETHERLANDS030-713568.

Blackhawk Bit Burners Computer Club

Rockford IL is the location of thisnew club which meets at 7:15 PMon the second Wednesday of everymonth. They have over 40 members andare anxious to increase that number.Membership is $1 2 a year which includesa newsletter. Interested individualsshould write to Frank D Dougherty, 325Beacon Dr, Belvidere IL 61008, or call(815) 544-5206 after 7 PM.

New Tandy Computer Users Group

The National Capitol Chapter of theTandy Computer Users Group has beenformed. General membership meetingsare held on the last Wednesday of eachmonth. The group is open to any andall interested persons. For more detailson group activities, write to Rod Wright,8205 Chivalry Rd, Annandale VA22003, (703) 560-5854.

North Star Users Group ReleasesProgram Library

The North Star Users Group has re-leased more than 300 programs on 20diskettes which are available for a smallcopying charge plus the price* of a newdisk. The disks are designed to run inmicrocomputer systems that utilize theNorth Star DOS and North Star BASIC,a high level interpreter.

The library includes business andfinance programs, mailing list programs,math programs, programming utilities,a Pilot interpreter, a Palo Alto TinyBASIC interpreter and a large numberof games. Further information can beobtained by sending a self-addressedstamped envelope to J Dvorak, NSUGProgram Library Distributor, 704 SolanoAv, Albany CA 94706.

San Fernando Valley KIM-1 Users Club

The San Fernando Valley KIM-1Users Club is off and running. The firstmeeting was a great success and they aretrying to attract as many new membersas possible. The general purpose of theclub is to foster informal communicationamong fellow KIM-1 users. Meetingswill be on the second Wednesday of eachmonth. For more information contactJim Zuber, 20224 Cohasset, number 16,Canoga Park CA 91306.

Washington DC AmateurComputer Society

Through the monthly newsletter,JWACS, we are kept posted on the cur-rent happenings of the Washington DCAmateur Computer Society. This in-formative newsletter is available toSociety members; nonmembers maysubscribe to the journal at the rate of$6 per year. The club is interested inexchanging newsletters with other or-ganizations to further the interchangeof hobbyist information. If you live inthe Washington area and are interestedin becoming a member, send a self-addressed stamped envelope to Washing-ton Amateur Computer Society, 4201Massachusetts Av, Washington DC 2001 6for meeting details.

Tulsa Computer Society

The Tulsa Computer Society is anactive computer club that meets on thelast Tuesday of every month at 7:30PM. The meeting place is the TulsaVocational-Technical School seminarroom at 3420 E Memorial Dr. Mem-bership in TCS is $6 annually, whichincludes a one year's subscription toits newsletter, The I/O Port. Correspond-ence should be sent to The Tulsa Com-puter Society, POB 1133, Tulsa OK74101."

>\ New and Unusual SOUNDS1 for your Computer $149.95

The Microsounder is an S-100 compatible sound generat-ing card that can be programmed in BASIC or assemblylanguage. Three to five lines of code generates such soundsas: organ music, sirens, phasers, shotguns, explosions, trains,bird calls, helicopters, race cars, airplanes, machine guns,barking dogs, and many thousands more. Only a few minutesof time is needed to patch the sound code into existingprograms.

The Microsounder is assembled and tested, and comescomplete with sample code, two game programs, and twoutility programs for creating almost any sound.

Circle 28 on inquiry card.

November 1978 ©BYTE Publications Inc

149

HobbyistComputerizedBulletin Board

Bulletin board systemscould become nodes in acommunication network.

Note:

This project was acollaboration of WardChristensen and RandySuess. Each had a par-ticular part to uphold.The first part of thisarticle describing thepurpose of the bulletinboard is written byWard. The part de-scribing the hardwaredetails is written byRandy.. . .RGAC

Ward Christensen

688 E 154th St #3D

Dolton IL 60419

Randy Suess

1930 Bradley

Chicago IL 60613

The Computerized Hobbyist BulletinBoard System is a personal computer basedsystem for message communication amongexperimenters. People with terminals orcomputers equipped with modems call in toleave and retrieve messages. It was conceived,designed, built, programmed, tested, andinstalled in a 30 day period (January 161978 to February 16 1978) by the two ofus. In an effort to generate material for ourcomputer club's newsletter, I first thoughtof the idea and discussed it with Randy onJanuary 16 1978.

We laid out the hardware requirements:an 8080 processor with 24 K bytes of mem-ory, single floppy disk, modem interface,and some sort of local keyboard and dis-play. Randy scoured the computer storesand purchased a mother board and two 4 Kbyte memory boards at a reasonable price.I talked with Lloyd Smith and Bill Bassett,who operate DMA Inc, a manufacturer offloppy disk drive systems based on theTarbell controller and the Innovex (nowInnotronics) floppy disk drive. DMA offeredto donate 40 percent of the cost of a con-

troller and floppy disk drive to the project.I purchased the floppy disk drive, controllerand CP/M license, and loaned 24 K bytes ofmemory to the project, pending receipt of16 K bytes offered by DMA. Randy donatedhis D C Hayes modem board, PolyMorphicsVTI, SwTPC keyboard, power supply,chassis, IMSAI 8080 processor card andVector memory board.

We started with the monitor for the sys-tem, but found that it was difficult to makethe VTI keyboard port work because theVTI keyboard data bus shares the buscarrying the characters being displayed.To solve this, Randy bought a ProcessorTechnology 3P+S board and interfaced thekeyboard to it. This also allowed us to havea sense switch port using the 3P+S. Since thisboard has a serial port, Randy later decidedto add a Teletype to the system for log-ging incoming data. This completed theconfiguration.

Programming

In the first week of the project, I wrotea mock-up of the software using MITS 8 KBASIC. The input/output (IO) driverscould be switched to my modem undersense switch control, so I had people callin and critique the system. Many goodsuggestions were made.

By now Randy had the computer farenough along to need some programming,so a monitor was put into read only mem-ory. Since the system was to run underCP/M, a Teletype compatible scroll routinewas also put into the read only memory forboth the monitor's and CP/M's use. Addi-tions were made later to support the 3P+Sboard for keyboard input.

After the BASIC mock-up of the systemwas close to what we wanted, programmingstarted on the assembler version of thesoftware.

Assembler language was chosen overBASIC for the implementation languagebecause of size and speed efficiency, and tomaintain control over such functions ascontrol-K to terminate (kill) the currentfunction and return to the main menu.The program now consists of the pieces ofassembler source, shown in table 1, whichare combined to produce the final assemblersource program.

In addition to this application program,a modified BASIC IO system (BIOS) forCP/M had to be written. We wanted thesystem to be able to be started from a"cold boot" bootstrap program and comeup running the bulletin board program,not CP/M. This would make the systemmore crash resistant since the ringing of

150

November 19 78 -J BY I r Publications IrK

the phone would activate it and the personcalling in would not be able to gain accessto CP/M itself. I studied the functions ofthe CP/M console command processor andmodified the cold start routine to be ableto load in a program and branch to it. Thiswas done selectively under control of thesense switches. If we wanted to load CP/Minstead, we just set the remote mode senseswitch off.

About 30 days after the project was con-ceived, it went on the air via a new tele-phone line Randy had installed in his base-ment. It was used for a week by our friendsand was then announced at the Februarymeeting of CACHE, the Chicago AreaComputer Hobbyist's Exchange. A pollwas taken to see how many people couldcall. We expected perhaps five or ten, but25 hands were raised!

During the weeks that followed theCACHE meeting, many people tried thesystem. We informed Dennis (D C) Hayesand PCNET of it, and they both tried it.Most people were able to communicatewith the system. Those who couldn't hadeither bad telephone lines or modems thatput out weak signals, which the systemseems quite intolerant of. People who leftmessages saying they had some informationof interest and those who said they neededinformation discovered that other peopleusing the system contacted them. We werepleased to find the system working this way,because that was one of its purposes.

Getting good feedback about the opera-tion of the system is important to us. Thatis why the goodbye function allows you toleave comments. Many people contributedgood suggestions which were soon imple-mented. For example, a new version of thesoftware was being put up on the systemevery few days to send nulls after carriagereturns and line feeds for the many peoplecalling in using Texas Instruments Silent700 terminals.

We will continue to improve the system,although we consider the project to beclose to completion. We might add dateand time, or if we get ambitious, a secondtelephone line, but we are quite satisfiedwith the system as it exists now. We wouldlike to see other experimenters or clubsimplement such a system.

These bulletin board systems could thenbecome nodes in a communication net-work of automated message and programswitching.

Hardware Details

My objective for the hardware of thebulletin board system was to get the most

Name

Function

CE00

Mainline routine: sign on,

menu, etc.

CE10

Goodbye function, com-

ments function.

CE20

Message summary retrieval

function.

CE30

Message entry (input, edit,

save).

CE40

Message retrieval.

CE50

System functions (erasing

messages, etc).

CE80

Disk subroutines (read,

write, extend, etc).

CE90

Nondisk subroutines (mo-

dem IO, etc).

CE99

Constants and work area.

Table I: Assembler routines used in the bulletin board program.

functions at the least cost. To this end Istarted with my IMSAI 8080 processor card,having replaced it with a Cromemco Z-80 inmy personal system. I found an old Vectormother board for free and two reasonablypriced 4 K byte memory boards at a com-puter store. I also bought a PolyMorphicsvideo terminal interface (VTI) card.

We burned a monitor for a memory boardto support the video terminal interface. Add-ing an SwTPC keyboard completed the localconsole for the system.

We are now running an 8 K VectorGraphic memory board and two 8 K byteboards designed by Forrest Duston (a localhobbyist and design engineer), which weredonated by Lloyd Smith and Bill Bassett ofDMA Inc.

A floppy disk was necessary for storingthe messages, so Ward bought aTarbell con-troller board and Innovex drive from DMA,who graciously offered it at 40 percent off.

I put these components into a chassis andhome-built card cage and started testing thesystem. I found some incompatibilities inthe hardware, such as between the new VTIand the memory board (pressing reset wouldnot give control to the monitor in read onlymemory). Switching to an older design videoterminal interface solved the problem.

I then found problems with the key-board. The sharing of the interface's onboard bus between the display data and key-board status data caused the display to breakup badly. Putting a delay loop in the soft-ware didn't help, because the nonlatcheddata would easily be missed. I solved this bypurchasing a Processor Technology 3P+Sboard for the keyboard input port. Thisturned out to be very useful, first to allow asense switch input port, and later to drive alogging Teletype for all incoming messages.

I had also purchased a D C Hayes modemboard to be used for exchanging files and

My objective was to getthe most functions at theleast cost.

November 1978 <y BYTE Publications Inc

151

Circle 281 on inquiry card.

P.E.T.™ PRODUCTS

SOFTWARE/ACCESSORIES/HA RD WA RE

Memory Expansion!.'-31.743 Bytes Freel-NEECO now has internal memoryExpansion Boards Available for your PET! 16K, 24K and 32K MemoryConfigurations. Call or write NEECO and ask for our 'Free' Software andHardware Directory. Power up to 32K Bytes! Call NEECO for more info.

Sottware-NEECO has too many programs to list them all here! Call orwrite and ask for our 'Free" Directory! ""Software Authors!-NEECOoffers 25% Royalties on Pet programs with nationwide distribution!-CallNEECO for additional information on our 25% Royalty Program.

PET 8, PeripheralsNEECO offers fast (off the shelf?) delivery schedulesfor the Pet Computer and Peripheral 2020 Printer, NEECO also offersexcellent personal & Warranty service!!! Interested in a Pel? Call andrequest our P.E.T. Info Pak. Feel free to call and ask questions.

IF YOU OWN A PET YOU SHOULD BE ON OUR PET PRODUCT LISTNEECO IS AN AUTHORIZED PET SALES & SERVICE DEALERSHIP!OUR PRODUCTS DIRECTORY WILL GIVE YOU DESCRIPTIONS ANDPRICES FOR MANY OF OUR PET PRODUCTS! "BUSINESS & GAMESOFTWARE-INTERNAL MEMORY EXPANSION"TYPEWRITER KEYBOARD"IBM SELECTRIC/PET WORD PROCESSING SYSTEM (JAN-1979)""PET DUST COVER'MUSIC BOX TUNE GENERATOR-LEARNING &TUTORIAL PACKAGES FOR PET'SERVICE/DIAGNOSTIC PACKAGES-CALL NEECO AND WE WILL SEND YOU OUR FREE DIRECTORY!!!

NEECO Dust Cover- Protect your PeV. Cover your Pet's delicate circuitryand keyboard from dust that can. over time, cause intermittent chipfailures! Heavy, clear Plastic Dusf Cover shows off your Pet whileprotecting it from dust, spills, and those inevitable 'Unwanted Stickyfingers'! Manufactured to last as long as your Pel.'-only $17.95

VISA OR MC Phone orders Accepted--{4% Surcharge on Hardware)

NEW BOAND aKTTWNICS CO

Area Code (413)Springfield, MA. 01103 739-9626

"Authornad PET Sain & S.rv.c.

"Guaranteed Delivery"

248 Bridge Street Area Code (413) schedules for an of our

PET Customers. Callfor our PET Package.

I" ■ ■ » ■

f a—i I

Tnans-Qala Qcppopstfico_

Apple Owners! We've Got Software!

Trans-Data Corporation is lately offering SoftwareCommercial, Educational, Scientific and Entertain-ment Applications included.

APA09ADI06 ....

LABEL PRINT

. . $10.00

MAILING LIST SYSTEM

. . $50.00

$15.00

. . $15.00

ADI02 ....

FILE USE TUTORIAL

APA04APA07AEJ05 ....

FINANCES

CHECK BOOK

$20 00

SUPER MATH

. $18.00

AEI08

METRIC CONVERSION

. . $20.00. $18 00

AEE06

MEMORY AIDE

AGI16 ....

HORSE RACE

. $18 00

AGI03

KEYBOARD ORGAN

$18.00

For floppy disk add $8.00. Add $2.00 for shippingand handling. Florida residence add 4% tax.

Check, Money Orders, or Credit Cards Accepted

161 Almeria Ave.

DeptB-118

Coral Gables, Florida 33134

Phone (305) 576-7666

programs with other CP/M users, but de-cided to use it in this system because of itsability to select the transmission rate (110 or300) and to answer the phone. Hooking thisthrough a data access arrangement (DAA) tothe phone line completed the standard hard-ware of the system.

Ward needed some way for the system torecover from possible software and hardwarecrashes, so I built a simple interface betweenthe modem board and the hard reset of thesystem so that, every time the telephonerang, the system would do a cold boot toCP/M. A 555 timer was added to the resetcircuitry so that after the first ring, subse-quent rings would not interfere with theCP/M booting process. I did not use the ringdetect feature of the Bell data access arrange-ment, because the modem board's setup waseasier to control and detect under software.After some preliminary problems with themodem board (Dennis Hayes was more thanhelpful in resolving these) and the Tarbellcontroller, the hardware has been function-ing as expected.

To prolong the motor life and minimizepower consumption, I installed a solid staterelay that turns the drive motor on when thetelephone rings. The 555 then provides 30seconds during which ring detect is disabledto prevent subsequent rings from interrupt-ing the booting, allowing CP/M to come inand answer the phone. The Tarbell control-ler board is designed to boot CP/M when thesystem is reset, so this hardware, with Ward'ssoftware, gets the system going.

That's how the hardware now stands,except that I sold the Teletype and am goingto use an SwTPC PR-40 for the loggingdevice. The system has now been operatingvery successfully since mid February 1978.

Programming Details

The following information is supplied forthose who want the details of the structureof the files on the system, what modifica-tions were made to CP/M to support the sys-tem, or the design of the bulletin board pro-gram itself.

File Structure

CP/M is capable of storing 240 K bytes ofinformation on a diskette. The directory iscapable of keeping track of up to 64 files. Iwould like to keep about 200 to 300 activemessages on the system. This means thateach message cannot have its own directoryentry. I decided to group messages in quanti-ties of ten per directory entry. Thus file-name MESSAGE.00X contains messages 1thru 9, MESSAGE.01X contains messages10 thru 19, etc. Assuming the number of

152

November 1978©BYTE Publications Inc

Circle 378 on inquiry card.

active messages to be about one half thehighest message number implies that therewill be five messages per file. If there are 40active files (such as messages from 1 to 400),then there will be approximately 200 mes-sages. If each message averages eight lines of50 characters, this is 400 bytes. The totaldisk space for the messages themselves willbe 80,000 bytes. Thus 200 messages caneasily be held. The directory keeps itselfclean: when the last message in a group often is erased, the file itself is automaticallyerased from the directory.

There are also message summary files.They contain the following fields for eachmessage:

Message number.

Number of lines.

Date entered.

From (author)

To (recipient)

Subject.

Password (must be supplied to erase

the message).

The summary files are grouped likethe message files, but by 100s. Thus, sum-maries 001 thru 099 are in a file called"SUMMARY.OXX", etc. This keeps themessage erase function simple: it can readthe entire file into memory, delete the sum-mary, and rewrite the entire file.

There are a number of text files on thedisk. They are used when predefined infor-mation is to be given, such as the welcomemessage. There are two types of files:straight text files, and question files.

Question files are used in such functionsas Help, in which the user is asked a ques-tion, "Want help with summary function?"for example, and is then allowed to answerY or N. If Y is typed, the text associatedwith the question is typed. If N is typed, thetext of the message is skipped. Table 2 con-tains the text and question files used by thesystem, as well as other files not previouslymentioned.

CP/M Modifications

When an unmodified CP/M system is ini-tially loaded, control transfers to the "coldboot" entry in the BASIC IO system (BIOS).Its function is to:

• Build the required jumps in low mem-ory to CP/M.

• Transfer control to the console com-mand processor.

• Reset the disk, log in drive A, andbegin communicating with the console.

Since we don't want CP/M to get controlwhen the system answers the phone, a modi-

Feedback on the operationof the system is important.

fication was made to the cold start routineso that the sense switches were examined todetermine if the remote switch was on. Ifnot, control proceeded to normal CP/Moperation. However, if the remote switchwas on, the system performed the reset disksystem and log in drive A functions normallydone by the console command processor.The normal CP/M functions of OPEN andREAD are performed to load the bulletinboard program into memory. Note that allof this happens before the telephone is an-swered, so that if the program can't befound, or has an error loading, a call is notwasted. When the program is loaded, controltransfers to it, the telephone is answered,the information transfer rate is determined,and communication begins.

Bulletin Board Program

The functions of the program are:

• Answer the telephone.

• Determine the information transmis-sion rate.

• Process the user's requests.

• Hang up the telephone.

Table 2: Descriptive files to aid users of the bulletin board system.

WELCOME: This file is typed when you first connect to the system. It welcomes you,and tells of the various control characters that can be used to control the system.

BULLETIN: This file may or may not exist. If it exists, it is typed after the welcomefile. It contains bulletins such as changes in the operation of the system, club meetingannouncements, etc.

LOG: When you first get on the system, it asks you for your first and last name. Theyare written to this file to give us a log of who uses the system. Also, if you are a firsttime user, the system asks where you are calling from, and logs this information afteryour name.

FIRSTIME: This file is a question file, and it is interpreted if you reply Y to the ques-tion asking if this is your first time on the system. It prompts the new user about whatcan be done.

HELP: This is a question file. It is quite lengthy, going through the various systemfunctions and, at each one, asking if you want help.

ENTINTRO: When you ask to enter a message into the system, you are asked if youwould like to review the steps used to enter a message. If you say Y, the system typesthis file.

ENTRHELP: After you have entered your message, you have several options: aborting,editing, saving, or help. This file is the question file which is interpreted if you ask forhelp.

NEXT: This file contains the next message number to be entered into the system. It isincremented by one every time a message is saved.

COMMENTS: When you leave the system via the G (Goodbye) function, the systemasks if you would like to leave any comments. If you say yes, it writes the lines you typeinto the comments file. This provides a technique much easier than message entry, sowe will get feedback on the use of the system.

PASSWORD: Certain system functions are of such a nature that only the system oper-ators (as opposed to users) may execute them. For example: erasing a message whosepassword is not known, exiting into CP/M for file maintenance, determining disk status,etc. This file contains the password which must be entered to get into this operatormode. It is a disk file, rather than being built into the program, to facilitate changeswhen the need arises.

November 1978 © BYTE Publications Inc

153

TERMINAL NEED NULLS' TYPE CTL-N WHILE THIS TYPES:

*»* WELCOME TO CBBS/CHICAGO ****** WARD AND RANDY'S COMPUTERIZED BULLETIN BOARD SYSTEM ***

•> CONTROL CHARACTERS ACCEPTED BY THIS SYSTEM:

DEL/RUBOUT ERASES LAST CHAR. TYPED (AND ECHOS IT)

CTL-C CANCEL CURRENT PRINTING

CTL-K 'KILLS' CURRENT FUNCTION, RETURNS TO MENU

CTL-N SEND 5 NULLS AFTER CR/LF

CTL-R RETYPES CURRENT INPUT LINE (AFTER DEL)

CTL-S STOP/START OUTPUT (FOR VIDEO TERMINAL)

CTL-U ERASE CURRENT INPUT LINE

BULLETIN

PROBLEMS WITH THE SYSTEM??HARDWARE: RANDY (SUESS), (312) 935-3356SOFTWARE: WARD (CHRISTENSEN), (312) 8U9-6279 BULLETIN

BULLETIN

•> ALL USERS: BE FAMILIAR WITH MESSAGES 3, 6, AND 60

NOTE

■ —> AS OF 11/8/78, MESSAGES PACKED AND RENUMBERED <

■- -- BULLETIN

Listing 1: Output of the bulletin board system when a user first logs onto thesystem. The welcome message is printed out followed by the important con-trol characters. Any bulletin of general interest is also shown at this time.Bulletins can only be put on the system by the system operators. Individualusers may not access this function.

Recovery from software

and hardware crashes was

needed.

The system answers the telephone by anoutput instruction to the D C Hayes modemboard. It then has two subroutines, calledSET110 and SET300, which set the trans-mission rate. Initially, the program gets con-trol, calls SET110, which picks up the tele-phone, sends out the answer tone, andselects the 110 bps transmission rate withtwo stop bits and no parity.

The program then monitors the modemstatus for about 15 seconds to determinewhen a connection with another modem hasbeen made. If no connection is made, a mes-sage is printed to the local console, the tele-phone is hung up, and control is transferredto the monitor. Note that the monitor doesnot take part in the bi.lletin board systemexcept to supply the scroll routine for thevideo terminal interface. The ring detect andsystem startup is all done through hardware,for reliability. Thus the system is able toexperience an unexpected power outage andstill operate the next time the telephonerings.

If a connection is established, the system,at 110 bps, waits for a character from theline. If this character is not an ASCII car-riage return, it switches to 300 bps and triesagain. It tries each speed, alternately, tentimes. If this technique does not result in a

carriage return being seen, the system printsa message, hangs up the telephone, andjumps to the monitor.

The technique for establishing communi-cations with the system is to:

• Dial the telephone.

• Wait for the answer tone.

• Put the modem on the telephone line.

• Press return repeatedly until the sys-tem responds.

When the data connection is established,the system types a carriage return and line-feed to indicate that it is connected. Itthen sends the contents of the disk fileWELCOME to the caller, followed by anybulletins that may be of interest. This out-put sequence is shown in listing 1. Next, itasks for your first and last name, and logsthem to disk. It asks if you are a first timeuser, and if so, asks where you are from, logsthis to the disk, then gives you an introduc-tion to the system.

The system also keeps track of how manypeople have used the system. This number isoutput at sign on. Mostly, it is just forinterest, but helps to see if anyone has usedthe system since you last did.

The following prompt asks what youwant to do:

FUNCTION: B,C,D,E,G,H,K,N,P,R,S,W,X, (OR? IF NOT KNOWN)?

If you do not know or remember what theletters stand for, you type ?, in which casethe system replies:

154 November 1978 © BYTE Publications Inc

Circle 382 on inquiry card.

FUNCTIONS SUPPORTED:

B=PRINT BULLETINC=CASE SWITCH (UPPER/LOWER)D=DUPLEX SWITCH (ECHO/NO ECHO)E=ENTER MSG INTO SYSTEMG=GOODBYE (LEAVE SYSTEM)H=HELP WITH FUNCTIONSK=KILL (ERASE) A MESSAGEN=NULLS: SET 0 TO 9 AS REQUIREDP=PROMPT SWITCH (BELL ON/OFF)R=RETRIEVE MSGS=SUMMARIZE MSGSW=TYPE WELCOMEX=EXPERT USER

Details of these functions are given below.

B=PRINT BULLETIN

If you are using a printing terminal, youcan simply look back to see what the bulle-tin said when you first connected to thesystem. If, however, you are using a videoterminal, you may want to review what thebulletin said. The B function does this.

C=CASE SWITCH (UPPER/LOWER)

Most terminals are capable of handlingany ASCII character that comes to them,whether it is lower or upper case, typicallytranslating lower case to upper case if neces-sary. However, there are exceptions, notablythe Heath H9 terminal, which displays gar-bage when sent lower case characters. Forthis reason, the system defaults to uppercase only, until you use the C command toswitch to lower and upper case mode. Usingthe command again will switch back toupper case only mode.

D=DUPLEX SWITCH (ECHO/NO ECHO)

Full duplex and half duplex refer to theability for a medium (such as the telephoneline) to have data going in both directionssimultaneously (full duplex) or only in onedirection, (half duplex) at a time. Theseterms have now taken on different meaningswhen referring to a computer terminal. Fullduplex refers to a terminal which sends acharacter from its keyboard, then echoswhat comes back from the phone line. Halfduplex refers to a terminal which echos itscharacters locally. Thus, the D function isused to determine whether the system echoscharacters back to you.

If you are using a Teletype, for example,which prints every character you type, youwill use the D command to go to halfduplex mode so you do not see everycharacter twice (one from the Teletype, theother from the phone line). This does sacri-fice some integrity, however, because you donot see the characters echoed back to youto verify that what you typed went incorrectly.

PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 -g

. m

| |

£ PET™ I

I DOCUMENTATION i

NOW!

i i

r-

T I S m

WOHKBOOKS FOR THE COMMODORE PET 2001Getting Started with Your PET WB-1 $4 00

Covers the fundamentals of PET BASIC: calculatorand program mode, data input and output, datarepresentation, program storage on the cassette.

PET String and Array Handling WB-2 $3 95

Covers string and substring search, concatenation,replacement and manipulation.PET Graphic* WB-3 $4.95

Covers use of cursor control and special graphicssymbols to draw plots, histograms, and sketchesPET Cassette I/O WB-4 $4.95

Covers OPEN. CLOSE, string and numeric data files.Miscellaneous PET Features WB-5 $3 95

Covers the clock, random number generator, upperand lowercase alphabetic characters, saving memoryspace, etcAdd $1.50 for shipping and handling.

TIS

P.O. Box 921

Los Alamos, NM 87544

Money back guarantee

3

Pet is a trade mark of Commodore Business Machines K

• PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001

PROGRAMS FOR KIDS

Educational and fun. Developed by educational designers.Teach essential skills in an exciting new way.

PRESCHOOL IQ BUILDER—Helps 3-to-6-year-olds develop

vital intellectual skills needed to do well in school.

7 programs + Guide TRS-80 Levels I & II. PET, Apple II

MEMORY BUILDER: CONCENTRATION—Educational

games to help children 6 and up improve memory.

3 games -t Guide Apple II & PET

STORY BUILDER/WORD MASTER—games that teachgrammar and vocabulary to children 9 and up.

4 games i Guide TRS-80 Level II, PET, Apple II

GRAPH BUILDER—teaches children 10 and up to read

graphs. Includes games

11 programs + Guide TRS-80 Levels I & II

Each title $9.50 plus $1.00 shipping

VISA& Master Charge accepted (include number, exp date,

MC include digits above name)

Department 80

Program Design, Inc., 11 Idar Court, Greenwich, Conn. 06830

November 1978 & BY7t Publications Inc

155

E=ENTER MSG INTO SYSTEM

You must know: the date; who the mes-sage is addressed to (up to 20 characters);and the subject of the message (up to 30characters). You will be asked if you wantto be able to erase the message; if you replyY, you may elect to protect it with a 4 char-acter password, or to use no password. Werecommend not using passwords so that itwill be easier for the recipient to erase themessage when he or she has read it. Also,you will be asked if you want to review thesteps used in entering a message. This is use-ful the first few times you enter a message,but typically is not used after that.

G=GOODBYE(LEAVE SYSTEM)

When you use the G function, the systemasks if you want to leave any comments. Ifyou say Y, you will be able to type in com-ments, which are written to disk at the endof the COMMENTS file. Typically we findsuggestions for system improvement, or con-gratulations, or requests to erase messageswhose passwords have been forgotten, orany other information which the userwanted to send to the operators, but didn'twant to leave as a message.

LSI-11 TIME

It's TIME you brought your LSI-11 up to DATE. TIME and

DATE, two important parameters in the computer world, areavailable to your LSI-11 on one DUAL SIZE BOARD Whenrequested, the TCU-50D will present you with the date (monthand day), time (hour and minutes), and seconds Turn yourcomputer off and forget about the time — your battery sup-ported TCU-50D won't, not for 3 months anyway The correctdate and time will be there when you power up.

The TCU-50D is shipped preset to your local time, but can be setto any time you want by a simple software routine.

AT $295YOU CANT AFFORD TO IGNORE TIME

Time is only one way we can help you upgrade your LSI-11 orPDP-11 system. We'd also like to tell you about the others. Socontact Digital Pathways if you're into -ll's. We arc too

DIGITAL PrfTHWrfW IMC.

4151 Middletield Road • Palo Alto,California 94306 • Telephone (415) 493-5544

H=HELPWITH FUNCTIONS

The H function asks a series of questionssuch as, "Do you want help with the E(enter) function?" For any question whichyou answer Y to, you will be given some de-tailed information.

K=KILL (ERASE) A MESSAGE

The letter K (for kill) rather than E (forerase) was chosen because E was alreadyused for enter. In order to keep disk utiliza-tion down, this command allows users toerase their own messages. The system asksfor the password, and if correct, the messageand its summary are removed. If users donot elect to be able to kill their own mes-sages, a special system password NONE isput in the file. Then only the system opera-tors who have entered another password willbe able to kill it.

N=NULLS: SET 0 TO 9 AS REQUIRED

Some terminals (notably the Texas Instru-ments Silent 700 series) require nulls to besent at the beginning of each line to allowthe carriage time to return. This commandsets the nulls to any value (0 to 9) necessary.Note that use of control-N any time the sys-tem is typing something to you will set thenulls to 5. Thus using control-N will allowthe welcome and bulletin messages to beprinted properly until the N (null) commandcan be used.

P=PROMPT BELL

The P command allows the promptingbell (normally sounded every time the sys-tem wants input) to be turned off or backon. It operates as a toggle and sets the bellresponse into whatever mode is not current.

R=RETRIEVE MESSAGE

To retrieve a message, you must knowthe message number, which is typicallyfound through the use of the S (summary)command.

S=SUMMARIZE MESSAGES

The S command prints a 2 line summaryof each message from a starting messagenumber. Control-C cancels the printing of aparticular summary, going on to the next.Control-K kills the printing entirely, return-ing to the function menu.

The summary function asks you for astarting message number. It then types thesummaries for all active messages from thatnumber on, stopping when there are nomore. If you want to scan the summaries fora particular value, you can do so on the fol-

156

November 1978 © BYTE Publications Inc

Circle 89 on inquiry card.

Circle 158 on inquiry card.

lowing fields: date, from, to, or subject. Anycharacter string can be searched for. Forexample, to retrieve all summaries whichcontain CACHE (our local computer club)in the subject, type:

S;nnn,t=CACHE

which will scan the summary file, starting atmessage nnn, looking for the character stringCACHE. All fields which can be scanned arestored in upper case only, and all scan re-quests are translated to upper case.

You can also use this summary scan tosee if there are any messages to you. Forexample:

S ;nnn,t=ward

checks if I have any messages. Other typicalscans are:

s=pcnet (any messages relating to PCNET).

s=sale (find things for sale).

f=oper (messages from system operators).

W=TYPE WELCOME

Since the welcome message gives a list ofall control characters which can be used,you might want to review it to check themagain. The W command will retype the wel-come message.

X=EXPERT USER

This command specifies the expert usermode to the computer. All prompt messagesare shortened and, in general, the systemis much more pleasant to use by the fre-quent user.

Accessing the System

If you would like to try out the system,all you need is a 110 or 300 bps ASCII ter-minal and a modem, such as the type usedto communicate with a timesharing system.Dial the system at (312) 528-7141. Whenyou hear the answer tone, connect yourmodem, and press return several times untilthe system determines your transmissionrate. If you have a reasonably good tele-phone line, and a moderately strong modemsignal, you should be able to communicatewith the system. We find that if the condi-tions are marginal, communications are pos-sible, but such functions as control-C andcontrol-S do not necessarily work. Feel freeto hang up and try several times if you haveproblems.

REFERENCES

DMA Inc is located at 530 Pierce Av, Dyer IN46311.

CACHE is at POB 52, South Holland IL 60473."

modem / 'mo • dam / [modulator+ demodulator] n - s : a device fortransmission of digital informationvia an analog channel such as a tele-phone circuit.

• Completely compatible with your S 100 microcomputer

• Designed for use on the dial telephone or TWXnetworks, or 2-wire dedicated lines, meets allFCC regulations when used with a CBT coupler.

• All digital modulation and demodulation with on

board cyrstal clock and precision filter mean thatNO ADJUSTMENTS ARE REQUIRED

• Bell 103 standard frequencies

• Automated dial (pulsed) and answer

• Originate and answer mode

• 110 or 300 BPS speed select

• Character length, stop bit, and parity

• 90 day warranty and full documentation

ASSEMBLED & TESTED - $299.00

D.C. Hayes Associates, Inc.

16 PERIMETER PARK DR SUITE 101P.O. BOX 9884 ATLANTA. GEORGIA. 30319 (404) 455-7663

HAVING TROUBLE LEARNING BASIC?

STEP BY STEP is an interactive computer course in BASICthat's easy even for beginners. Program Design has de-veloped a logical, structured approach that really works. At theend of STEP BY STEP, you'll be writing programs using allimportant BASIC commands.

AVAILABLE FOR TRS-80 LEVELS I & II, PET, AND APPLE II

STEP BY STEP:

• presents material in small steps

• provides guided programming practice in each lesson

• tests your progress after each lesson

• teaches actual program writing, not just terms

• is suitable for anyone from junior high up, regardless ofmath background

10 lessons with quizzes, plus final test 3 cassettes80 page Workbook $29.95 plus $1.00 shipping

VISA& Master Charge accepted (include number, exp. date,MC include digits above name)

Department 400

Program Design, Inc., 11 Idar Court, Greenwich, Conn. 06830

November 1978©BYTE Publications Inc

157

ProductDescription

Heath Microprocessor Training System

WN Hubin

719 Cuyahoga St

Kent OH 44240

How does a stranger gain entrance to theValhalla of microprocessing? Who will pro-vide bits of knowledge that logically stringinto byte capability? Herein lies the sirensong sung by the new Heath 6800 basedET-3400 Trainer and the accompanyingEE-3401 Microprocessor Course.

Heath aimed in my direction when theydesigned this trainer. It will appeal to any-one who has been enticed by micropro-cessors but has not yet bought one, a personwho probably has done some high levelcomputer programming, and one who has aworking knowledge of digital circuits.Persons already caught in the web of pro-gramming are well known for their suscepti-bility to microprocessors, although such abackground is neither assumed nor necessaryfor this course. I happen to be a professionalproponent of the joys to be found in num-ber crunching. Some background in digital

electronics is needed (though several labora-tory timer projects proved quite adequatein my case).

My order went out a few days after theMicroprocessor Course and Trainer firstappeared in the Heath kit catalog. The pack-age arrived about 12 days later. The com-bination of course and trainer goes for $270.Don't even think of purchasing the 6800trainer without the course unless youalready can program in machine language.

There were a few clues that betrayedthis as the first shipment. Some typosappeared in the text, which otherwise hadthe clear illustrations and clear assemblyinstructions that are properly associatedwith Heath products. Also, the holes inthe printed circuit board were too smallfor the supplied key switches and had to bedrilled larger; shortly afterwards Heathwrote to confirm the problem and the solu-tion. Also, a memo included with the partsindicated that a few unneeded parts hadbeen included. Compare this with theknown fact that Heath normally expects aHeathkitite to show visible joy upon dis-covery of just a spare #8 lockwasher in hisbag of goodies. Finally, the trainer refusedto blink its "CPU UP" message to me afterthe assembly was completed. Now Heathprovides a very complete troubleshootingprocedure which uses the on board LEDs tocheck for continuity and shorts. Thisquickly showed up several minor assemblyerrors. The final problem was an addressline that wasn't continuous (this ill wascured with a jumper wire). One week andabout 3.5 days of work had elapsed.Another 100 plus hours of study were topass over the dam before the course wasfinished.

The microprocessor course consists of:

• 469 pages of theory in a programmedlearning format.

• 255 pages of concurrent experimentsusing the trainer.

• Two audio cassettes that go with acolorfully cartooned 230 page refer-ence chart.

• 130 pages of manufacturers' productinformation sheets.

158

November 1978 ©BYTE Publications Inc

The theory is divided into sections de-voted to:

Number systems and codes.Microprocessor basics.Computer arithmetic.Introduction to programming.The processor.Interfacing.

It is a comprehensive and well integratedcourse of study. The explanations are clearand the text is replete with examples. Theexperiments were divided into one group ofprogramming experiments in machine codeusing the hexadecimal keyboard (noassembler) and another group of interfacingexperiments. The audio and chart combin-ation is a brain tension reliever that is calledon periodically to provide information onthe organization of the course, various usesfor and applications of microprocessors inindustry, an overview of programming con-cepts and languages, a discussion of thevarious types of semiconductor memorydevices, a breakdown of the steps involvedin the design of a microprocessor baseddevice, and a comparison of current micro-processors.

By the time the programming part isfinished, the whole instruction set of the6800 processor has been covered along withthe provision for considerable practice inmachine language programming. This is notto say that great programming proficiencywas achieved from just finishing the course.No matter how cleverly I thought I hadwritten a program (and they all ran), theofficial version always proved to be muchmore craftily constructed. The programmingexperiments include multiple precision andbinary coded decimal arithmetic.

The interfacing section proved to be themost exciting for me. The theory andpractice of interfacing with memory anddisplays comprise the early topics. Softwarekey debouncing and display multiplexingare included. The interrupt capability ofthe processor is demonstrated by leadingup to a line frequency triggered digitalclock. The peripheral interface adapter(PIA) is discussed and then used to playtunes, to matrix decode a second keyboard,and to demonstrate parallel to serial con-version. A digital to analog converter is usedto program various voltage waveforms andfinally to simulate a digital voltmeter with acomparator circuit. This last experiment isthe only one that requires additional equip-ment: a voltmeter and (optionally) anoscilloscope to view the pretty voltagewaveforms. All the experiments worked asadvertised.

As a professional educator, this courseproved to be somewhat threatening. Thematerial is so well presented that a teacherdoesn't appear to be necessary. Yet reallearning surely must draw brain pain, andsome persons will always need a structuredcourse with scheduled exams to force themto study, so perhaps my job is safe for afew years yet.

Minor Criticisms

The discussions after the experimentswere very complete, but I would have likedmore advance information before wiring acircuit on the breadboard. The integratedcircuits being used should be labeled withtheir function (such as 3-IN NAND) as wellas their TTL number. A good index wouldmake the material much more useful forlater reference.

In sum, Heath has developed an appealingand cost effective entree into the world ofmicroprocessing. They have devised a systemthat is suitable for either self-instruction orindividualized class instruction. The trainerlends itself to continued breadboarding ofnew ideas and to continued practice inmachine language programming."

NEW SOFTWARE FORYOUR COMPUTALKER!

SOFTWARE PACKAGE IIavailable now

CTEDIT A new parameter editor

CSEDIT Editor for CSR1 input

CTEST CT-1 Hardware diagnostic

PLAYDATA To hear the data files

MEMVOICE A vocal memory dumper

KEYPLAY Subr. to play letters /dig its

PIANO A simple musical keyboard

8080 Assembly Language

*** Sources included ***

CPM 8", North Star, Micropolis,

Tarbell, CUTS, MITS ACR,

paper tape

on any of the above media $30.00calif, res. add 6% sales tax

COMPUTALKER CONSULTANTS

1730 21st Street, AB

Santa Monica, CA 90404

(213) 392-5230

Circle 53 on inquiry card.

November 1978©BYTE Publications Inc

159

A Cassette Interface Switching Box for the TRS-80

FROM TRS-8

0 ®

^Nl

(PLUGS INTO RECORDER"REMOTE" JACK)

m

FROM TRS-80(O-

(PLUGS INTO RECORDER"EARPHONE" JACK)

8H SPEAKERSPKR I

Figure 1: Cassette interface switching box for the TRS-80. The circuit en-ables the user to manually control the cassette recorder without having tounplug the recorder's remote jack, and allows audio monitoring of the tapewhile it is being loaded into the computer.

Craig Andertonc/o BYTE

Recently, I had the chance to borrow aRadio Shack TRS-80 for the purpose ofgetting started in the art of writing pro-grams. The aspect of its operation thatpleased me the most was the incredibly easystart up, which involved locating a wallsocket and opening the manual. In addition,I liked having a cassette recorder and inter-face included in the TRS-80 package,making it easy to store programs on cassette.

After working with the unit for a while, Inoticed that I was saving programs with in-creasing frequency. Being new at the game,I would often develop a program to a certainpoint and then make a save. When, onsubsequent passes, I wrote in some kind ofgarbage that crashed the program, or madesome other grievous error, I always had thecassette as a point of reference for analyzingwhat went wrong and why.

Unfortunately, the cassette interface sys-tem has a few mechanical peculiarities thatdetract from the overall usefulness of thesystem. This article is about remedying theseparticular problems with a simple, veryinexpensive and easy to use switching boxthat inserts between the recorder itself andthe combined computer/keyboard unit. Thisbox requires no modifications of any kind tothe TRS-80, so you can keep your warrantyintact too.

Let's identify the problems. Problemnumber 1 is that the recorder is controlledat all times by the computer. . .and the

computer cannot tell it to do things likerewind, fast forward, etc. As a result, ameans of manual control over the taperecorder is a necessity. Returning to manualcontrol with the stock TRS-80 requiresphysically removing a plug which comesfrom the computer and mates with the re-corder's "remote jack." I've never beenmuch of an optimist regarding the reliabilityof tiny jacks and plugs; the repeated plug-ging and unplugging is not only time con-suming and awkward, but it could lead toeventual reliability problems.

Problem number 2: there is no simpleprovision for audio monitoring of thecassette. Perhaps this doesn't seem likemuch of a problem—after all, the cassetteis designed to talk to the computer, not tous. However, the audio monitoring is veryhelpful. (We'll explore this more towardsthe end of the article.) Monitoring with theTRS-80 involves unplugging another plugwhich comes from the computer and plugsinto the recorder's earphone jack. Then youcan listen to the cassette over the recorder'sinternal speaker. This means that you cannotmonitor a tape while it is being loaded intothe computer.

Figure 1 shows an economical solution toboth problems. The cord from the keyboardthat would normally feed the remote jack ofthe recorder plugs into Jl; P1 plugs into therecorder's remote jack. With SI in positionA, the TRS-80 controls tape motion. Inposition B, the recorder is manually con-trolled.

In order to monitor, the cord from thekeyboard that normally goes into the ear-phone jack on the recorder plugs into J2;P2 plugs into the recorder's earphone jack.S2 either connects or disconnects a small,8 ohm transistor radio speaker from the line,with isolation from the line provided by a270 ohm resistor. The added loading seemsto have no effect on operation at all.

I constructed the circuit in a small metalbox, tried to keep the leads reasonablyshort, and have used it for many hours withno problems. Following is an example ofhow to record a good cassette using this box.

Start with the cassette recorder undercomputer control. Before doing a save,however, I recommend identifying theprogram by voice on the tape. The TRS-80recorder has a rubber dummy plug insertedinto the microphone jack. Temporarilyunplug this dummy and plug in a regular

160 November 1978 © BYTE Publications Inc

Circle 70 on inquiry card.

cassette microphone. Push "play" and"record": the tape won't start since thecomputer hasn't said anything; however, flipthe switch to manual control, and the tapewill run. Speak your introduction, ie: "Thisis the first take of computer graphics pro-gram number 5. It uses approximately 2 Kbytes of memory." After recording this, flipthe switch back to computer control, returnthe microphone jack to its original state, andtype the usual CSAVE into the computer.

As the save process occurs, you will hearaudio information being transferred to thecassette through the monitor speaker if S2is set to monitor. It's interesting to comparewhat you hear going in with what you getout on playback. For example, you will findout about the quality of your cassette, andwhether or not you're having dropout orrecording problems.

Radio Shack recommends a second savefor safety's sake on complex programs; athird save isn't a bad idea either. After thecomputer has finished saving the program,the video display signals with READY andthe tape motor shuts off. Plug the micro-phone back in; flip SI back to manual(without changing the record/play buttons;they are still depressed), and again, recordan identification, such as, "This is take 2 ofcomputer graphics program number 5." Saveagain as described above.

When it's time to load the program backinto the computer to see if all went well,you'll find it's easy to find the right spoton the tape. Just flip to manual control,switch in the monitor, and juggle betweenrewind and play until you find the beginningof the tape program. You should hear theunambiguous voice identification, followedby the sound of data being transferred. TheTRS-80 does print a couple of flashingasterisks to let you know the program isloading, but the extra audio feedback isvery reassuring.

There are a couple of final notes. Due tothe 270 ohm isolation resistor, you don'tget much volume out of the speaker. Youcould lower the resistance, but that mightalso reduce the level of the signal going tothe computer. A better option, if you need aloud signal, is to use a small audio ampintegrated circuit (like the LM380). Unlessyou play with your computer in a very noisyenvironment, you probably won't haveany complaints about the nice unobtrusivelevel you get with a 270 ohm series resistor.

I hope that if you have a Radio Shackcomputer, you will try this circuit. It cansave a lot of time, avoid the plugging andunplugging blues, and lessen the number ofhuman errors, all for only a few hours ofwork."

FLOPPY DISKETTES

TOP QUALITY VERBATIMtm DISKETTESAT SPECIAL PRICES*

Our

Special

Special

List

Usual

Price

Box

Item Code

Description

Price

Price/ea.

Each*

of 10*

VB-FD01

8" Soft-sectors IBM Format

$8.50

$5.50

$5.00

$47.

VB-FD32

8" 32 sectors hard-sectored

for Shugard, Tekfronics, etc.

$8.50

$5.50

$5.00

$47.

VB-MD01

5" Soft-sectored IBM

compatible

$5.95

$4.50

$4.00

$37.

VB-MD10

5" 10 sectors hard-sectored

for North Star

$5.95

$4,50

$4.00

$37.

VB-MD16

16 sectored for Micropolis

$5.95

$4.50

$4.00

$37.

*To qualify lor these special prices:

1. Payment must accompany mail order

or call with credit

card .

NoC.O.D,

2. Refer to this ad by: magazine title,

issue month, and

page number.

Prices are FOB. our warehouse. Add $1.50 shipping & handling per each 10 (orless) diskettes NY. state residents add appropriate sales tax.Call (315) 637-6208 or

Send order to:

computetemefprises™

P.O. Box 71 • Fayetteville, New York 13066

A PROFESSIONAL COMPUTERTERMINAL FOR THE NOBBIEST

SINGER

7100/7102

New & ReconditionedTerminals withASCII Code

FEATURES:7100

$650. to $1295.

• ASCII CODED without tape punch or reader

• 110 to 150 BAUD (11 to 15 CPS adjustable)

• Word Processing Quality • RS232 Serial orCurrent loop Interface • Nationwide Service

• Warranty • Off line use as Typewriter

• (Option) Special Interfaces available for HobbyComputers (state which when ordering)

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 31s'Street

Kansas City, Missouri 64108

(816) 561-1776

Circle 151 on inquiry card.

November 1978 IS BYTE Publications Inc

161

Listing 1 (opposite): The first half of Chess 0.5, written in Pascal. The second half of the pro-gram will be presented in part 3 (December 1978 BYTE) of this series. The portion of theprogram presented here covers initialization of the program, variable declaration, manipulationof the "bit boards" (used to represent positions on the chessboard), user print routines andmove generation. The second half of the listing will include procedures for evaluation of ter-minal positions, the look-ahead procedure, and user commands.

Creating

a Chess Player Part 2:

Chess 0.5

Part I of this series ("Creating a Chess Player," October 1978 BYTE,page 182) was an essay on human and computer skill. This month andnext we present Chess 0.5, a program written in Pascal by Larry At kin,who is coauthor with David Slate of the world championship computerchess program Chess 4.6. The program is readily adaptable to per-sonal computers having Pascal systems such as the UCSD Pascal projectsoftware. Part 4 of the series will conclude with some thoughts aboutcomputer chess strategy.

Peter W FreyDept of PsychologyNorthwestern UniversityEvanston IL 60201

Larry R AtkinHealth Information Services542 Michigan AvEvanston IL 60202

Note: The Pascal subsetdescribed in "A 'Tiny'Pascal Compiler" (page182) is not compatiblewith the more sophis-ticated Pascal usedhere. . . .CM

We have attempted to incorporate severalfeatures which make the search process moreefficient and others which increase theuser's options. Both of these enhancementsare important. The first set of features(incremental updating, iterative searching,staged move generation, etc) were describedin general terms in part 1. These featuresreduce computation to the point where amove can be selected in a reasonable amountof time even with a full-width search. Thesecond set of features (special control andprint commands, accepting chess moves instandard notation) not only add to thepleasure of using the program, but also makethe debugging process much easier. The pricefor these enhancements is a longer, morecomplicated program. We hope the lengthof our listing will not discourage the readerfrom becoming actively involved.

Pascal was developed to provide a logicaland systematic higher level language which

could produce reasonably efficient machinecode for existing hardware. Computer pro-grams can be conceptualized in terms oftwo essential parts, descriptions of data anddescriptions of actions which are to be per-formed on the data. Pascal requires thatevery variable occurring in the program beintroduced by a declaration statement whichassociates an identifier and a data typewith that variable. The data type defines theset of values which may be assumed by thevariable. Since a chess program involves alarge number of variables, our programbegins with a long list of declarationstatements.

A constant definition introduces an iden-tifier as a synonym for a constant. This isvery useful since the value of the constant asstated in the declaration list can be changedat some later date, and this change will thenbe reflected throughout the program inevery place where the constant is used. Inthe chess program, the values of some ofthe constants depend on the characteristicsof the user's hardware. For example, thevalues of ZK (maximum search depth) andZW (move stack limit) will reflect the amountof memory which is available on your sys-tem. On personal computers, ZX will gen-erally be set at 7 if you have an 8 bit proc-essor and at 15 if you have a 16 bit proces-sor. Note also that the value of PZX8depends on the value of ZX. To implementthis program on a given computer, it isnecessary to insert at the beginning of theprogram the appropriate values for theseconstants.

For the sake of clarity, specific data typesare declared for a number of different chessconcepts and for certain useful indices. Theprogram also takes advantage of the differentproperties represented in Pascal's datastructures: the set, array and record. It isunlikely that anyone will immediatelymemorize the names of all the variables.Therefore it is useful to have them listedat the beginning where they can easily befound for later reference.

There is a comment statement accom-panying almost every instruction in theprogram. Although these brief statements

162 November 1978 © BYTE Publications Inc

PROGRAM CHESSIINPUT.OUTPUTI;LABEL

i« • u z* ■ 10:

«C = "A"; ZC = -,-;

«i) » -zi: zo = »zi:

»J - o: ZJ ■ 73:

ak = o; 7< -- 16;

AKN2 * -z:

ZKP1 = 17;

*L • tf Zl • 119i

•ZL = -119: ZAL • 119:

AN = 1; ZN = 30:

•s = o: zs = 63:

»I = -11 ZT ■ 631

•V = -3Z767: ZV = .3Z767;

>m • i: zw • 5cc:

ax = 0: zx = 31:

ay = o: zr = i:

lpp * zo:

PZxa = 16777Z16;

SYNCF

= i:

SYNCl

• 36;

SYNMF

= 37:

SYNMl

= w:

TYPE

(•

SIMPLE TYPES •)

TA

r

aa..za;

TB

=

boolean:

TC

a

chip:

10

■

io..zo;

IE

■

(91,32.B3,B1..S1

sz

S3

TF

.

(F1,FZ,FJ,FI,,F5

F6

fl

TG

=

(PO.PP,PN,PBI;

TM

=

(hi.hi,k:,»],k«

M5

H6

II

s

integep:

IJ

s

aj..zj:

IX

X

AK..ZK;

TL

s

AL..ZLI

TM

a

(LITE, DARK, NOME

TN

■

AN..ZN;

TP

■

(LP.LR.LN.LB.LO

LK

OP

TQ ■ (LS.LL.OS.DLI;

TR = <R1,RJ.R3.R<.,R5,R6,R7

is • «s..zs:

TI « »T..ZT;

HI « (EP.ER.EN.FB.EQ.EKII

TV " IV..ZV)

TM > AM..ZM!

l» » AX..2X!

TY » AY..ZV;

tz - real:

(• SETS •>

SC = SET qF AC.

.ZC;

SF « SET OF TF

SQ = SET OF TQ

SR i SEI OF TR

SX = SET OF IX

(• RECORDS M

R8 = RECORD

R8TM I TM;

RBTS 1 TT:

R8TI 1 Til

RBSQ I SQ;

CASE INTEGER

OF

01 ( RBISt

ARRAY (TS1 OF TP):

11 1 RBIRF

ARRAY [TR.TF1 OF TP>

eno:

RA = PACKEO ARRAY (TA1 OF TC;

RC • ARRAY 1TS1 OF TP:

RN = PACKED ARRAY [TNI OF TC!

RJ = PACKEO ARRAY [TJ1 OF TCj

RO

PACKEO RECORD

ROPC

is:

ROSL

tb:

ROKQ

TB;

RONS

ib:

RORK

tb:

ENO;

RK = RECORO

CASE INTEGER OF

Oi (RKTBI SEI OF 0. .1.71 1II (RKTZ1 TZ»1END;

I* INITIALIZE FOR A NEK GAME -I!• EXECUTE MACHINES HOVE •)(• ENO OF PROGRAM •!

CHARACTERS IS A HORO •)

CHARACTER LIMITS -I

DIRECTION LIMITS »l

CHARACTERS IN A STRING -I

SEARCH DEPTH LIMITS *)

AK-Z •>

Z»l •!

LARGE BOARD VECTOR LIMITS -I

LARGE BOARD DIFFERENCES

LIMITS «>

MESSAGE LIMITS "I

BOARO VECTOR LIMITS •»

BOARD VECTOR LIMITS AND

ANOTHER VALUE •>

EVALUATION LIMITS •>

MOVE STACK LIMITS •>

SUBSETS OF SQUARES •!

ARRAY OF SUBSETS TO FCRM A SE

OF ALL SQUARES ON BOARO *)

LINES PER PAGE •>2-(ZX-7l •>

FIRST CAPTURE SYNTAX •!LAST CAPTURE SYNTAX •»FIRST HOVE SYNTAX MVAST MOVE SYNTAX •!

1" INDEX TO MOPOS OF CHAP •!

(• TRUE OR FALSE •»

(• SINGLE CHARACTERS •!

(• DIRECTIONS •)S'*.N1,NZ,H3,NI»IN5(N6.N7,N8I :

l« NUMBER OF DIRECTIONS *lF»l; (• FILES •)

I' PROMOTION PIECES •!H7) :

(• TREE SEARCH MOOES •>

(• NUMBERS *1

I" INOEX TO STRINGS "I

(• PLY INDEX •)

(• LARGE (10X1Z) BOARO •)

(• SIDES •)

I- INOEX TO MESSAGES •>OR.DN,OB,OQ.OK,MT>I

<• PIECESI LIGHT PAHN, LIGHTROOK. ... . DARK KING, EMPTYSQUARE •)

C QUADRANTS •>RBI I I* RANKS •>

<• SQUARES •)

(• SQUARES, AND ANOTHER VALUE -I

<• TVPESI PAHN, ROOK

KING •!

<• EVALUATIONS •!

I' MOVES INOEK -I

I* SOME SQUARES •>

(• NUMBER OF TX'S IN A BOARD -I

(• FLOATING POINT NUMBERS •!

SET OF CHARACTERS "I

SET OF FILES •!

SET OF CASTLING TYPES M

SET OF RANKS •>

SET OF SOME SQUARES -I

BOARDS •)SIDE TO MOVE •!ENPASSANT SQUARE -IMOVE NUMBER •!CASTLE FLAGS •>

INOEXEO BY SQUARE •■INDEXED BY RANK AND FILE

NOROS OF CHARACTERS 'IBOARO VECTORS •>HESSAGES •)STRINGS •>

SYNTAX DESCRIPTOR FOR

SINGLE SQUARE *>

PIECE •!

/ »l

K OR Q 'I

R, N, OR 8 •»

RANK •>

• KLUDGE TO FIND NEXT BIT •!

BITS •)

FLOATING POINT NUMBER

M - PACKEO RECORD

RMFR

is;

RMTO

ts:

RMCP

tp:

RNCA

TB)

RHAC

TBI

RHCH

TBI

RMMT

TB;

RMIL

tb:

RHSU

tb:

CASE RHPR I TB OFFALSE! I

CASE RMOO I TB OF

FALSEl IRMEP I TBI|TRUE I IRMQS I TBI IIITRUE I IRMPP I TGI;ENOI

RS ■ RECORO

CASE INTEGER OF

<M (RSSSI ARRAY ITYI OF SXHII (RSTIl ARRAY (TY) OF Till

end:rx = array (ts) of rs;ry = packeo recoro

RYLS I RD;

tc;

RO:

RYCHRYRSEND;

RE = ARRAY (IN) OF TV:RF = ARRAY (TN) OF RH;

VAR

1- DATA BASE •>

BOARO

ta:

NBORO

ARRAY

(TS)

OF

tp:

ATKFR

ARRAY

[TS1

OF

rs;

ATKTO

ARRAY

[ TS)

OF

RS:

ALATK

ARRAY

(TM)

OF

RS!

IPLOC

ARRAY

(IP)

OF

RS!

IMLOC

ARRAY

(TM)

OF

RS!

MOVES

ARRAY

ITN)

OF

rm:

VALUE

ARRAY

ITN]

OF

TV;

ALLOC

ARRAY

(IK)

QF

RS!

BSTMV

ARRAY

(TK)

OF

IN!

BSTVL

ARRAY

(AKMZ..ZKP1) OF

IV

CSTAT

ARRAY

(IK)

OF

RS:

ENPAS

ARRAY

(IK)

OF

rs:

GENPN

ARRAY

(IK)

OF

RS;

GENTO

ARRAY

(TK)

OF

RS;

GENFR

ARRAY

(TK)

OF

Rs;

NBVAL

ARRAY

(TK)

OF

tv;

MVSEL

ARRAY

(TK)

OF

ti:

INOEX

ARRAY

(AK.

ZKP1) OF TN

|

KILLR

ARRAY

(TK)

OF

RH;

LINDX

ARRAY

(TK)

OF

tn:

SRCHM

ARRAY

!TK1

OF

ih:

GOING

Til

LSTMV

rm;

MAXPS

TV!

MBLTE

TV!

MBPHN

ARRAY

(TM)

OF

TI!

MBTOT

TV|

NOOES

TI!

JNTK

TK|

JHTK

TK!

JNTM

TM!

JNTH

TN|

(• LET'

•1

FKPSHO

1 TI!

FKSANQ

1 TI!

FHAXMT

1 TI:

FNOOEL

1 TI!

FPAOCR

1 ARRAY (TF

OF ti

FPBLOK

1 Til

FPCONN,

1 TI!

FPFLNX

1 Til

FRDUBL

■ TI:

FRK7TH

1 TI!

FTRAOE

1 TI!

FTROSL

1 TI|

FTRPOK

t III

FTRPMN

1 TI!

FUKING

1 TI;

FMHAJM

1 til

FMMINM

i ti:

FMPAHN

i ti:

FHROOK

■ ti:

HINOOH

1 TI!

1* SNI

CMES •

SNEC I

tb:

SNPA 1

tb:

SNPS 1

TBI

SHRE I

tb;

SNSU I

TBI

SMTR 1

IB!

(•

MOVES •)

<•

FROM SQUARE •)

(•

TO SQUARE •!

(•

CAPTURED PIECE •!

(•

CAPTURE •)

(•

AFFECTS CASTLE STATUS •!

(•

CHECK •)

("

HATE •>

(•

ILLEGAL •)

(•

SEARCHED •!

I-

PRONOTION •)

t*

CASTLE •!

(•

ENPASSANT •!

)•

QUEEN SIDE •>

(• COHHANO PROCESSING DATA MICARD I RJ!

ILINE ■ rj;

JMTJ I TJ|JNTJ I IJ!

(• PROMOTION TYPE •!

(• BIT BOAROS •>

ARRAY OF SETS 'tARRAY OF INTEGERS •)

I" ATTACK MAPS •!

(• MOVE SYNTAX DESCRIPTOR •!

<• LEFT SIDE DESCRIPTOR •)

I" MOVE OR CAPTURE »l

(• RIGHT SIOE OESCRIPTOR •!

ARRAY OF VALUES •>ARRAY OF MOVES •)

THE BOARO •!

LOOK-AHEAD BOARD •!

ATTACKS FROM A SQUARE ••

ATTACKS TO A SQUARE •>

ATTACKS BY EACH COLOR •)

LOCATIONS OF PIECE BY TYPE •!

LOCATIONS OF PIECE BY COLOR "I

MOVES •>

VALUES •!

ALL PIECES •!

8EST MOVE SO FAR •)

VALUE OF BEST MOVE •!

CASTLING SQUARES -I

ENPASSANT SQUARES ')

PAHN ORIGINATION SQUARES •»

HOVE DESTINATION SQUARES •)

HOVE ORIGINATION SQUARES •)

MATERIAL BALANCE VALUES •>

COUNT MOVES SELECTED BY PLY •)

CURRENT HOVE FOR PLY »l

KILLER HOVES BY PLY •)

LAST MOVE FOR PLY •!

SEARCH MOOES »l

NUMBER OF MOVES TO EXECUTE •!

PREVIOUS MOVE •>

MAXIMUM POSITIONAL SCORE »1

MATERIAL BALANCE LITE EOGE •>

NUMBER OF PANNS BY SIDE •>

TOTAL MATERIAL ON NBORO •!

NUNBER OF NOOCS SEARCHEO •>

PLY INOEX •!ITERATION •)SIOE TO MOVE •>HOVES STACK POINTER •)

(• KING PAHN SHIELD CREOIT •>

(• KING IN SANCTUARY CREDIT •>

(• MAXIMUM MATERIAL SCORE •>

(• NODE LIMIT FOR SEARCH •>

(• PAHN AOVANCE CREOIT BY FILE •)

I* PAHN BLOCKED PENALTY •>

(• PAHN CONNECTEO CREDIT •>

(• PANN PHALANX CREDIT •!

(• OOUBLED ROOK CREDIT •>

(• ROOK ON SEVENTH CREOIT M

(• TRAOE-OOMN BONUS FACTOR •)

(• TRAOE-OONN TUNING FACTOR •!

(• PAHN TRAOE-OOHN RELAXATION •!

I« PANN TRADE-OOHN FACTOR •!

(* KING EVALUATION HEIGHT *l

(• MAJOR PIECE MOBILITY HEIGHT •!

(• MINOR PIECE MOBILITY HEIGHT •!

(• PAHN EVALUATION HEIGHT -I

(• ROOK EVALUATION HEIGHT »l

(• SIZE OF ALPHA-BETA HINOON •>

• ECHO INPUT •!

• PAGING »l

• PRINT PRELIMINARY SCORES •)

• REPLY HITH HOVE »1

• PRINT STATISTICS SUMMARY M

• TRACE TREE SEARCH •)

l« INPUT CARO IMAGE •)

<• CURRENT COHHANO •!

(• CURRENT INPUT LINE POSITION

(• CURRENT COHHANO POSITION •!

November 197SSBYTE Publications Inc 163

Listing 1, continued:

movms t rn;

(• TRANSLATION TABLES »l

XSPB I ARRAY ITP) OF TB;XFPE I ARRAY (TPI OF TE;XLIO I ARRAY (AZL..ZALI OF TO:

XLPE

ARRAY

(TO

OF

te:

XRFS

ARRAY

ITF!

OF

rs:

XRRS

ARRAY

tIRl

OF

RS;

XNFS

ARRAY

ITF)

OF

rs;

XNRS

ARRAY

(TRI

OF

rs:

XRSS

ARRAY

I TS1

OF

RS!

XRQH

ARRAY

[TQ1

OF

rh;

XSQS

ARRAY

ITQI

OF

Rs;

XSSX

ARRAY

crsi

OF

SXi

XTBC

ARRAY

ITBI

OF

tc:

XTEO

ARRAY

(TE)

OF

TOi

XTGC l ARRAY [TCI OF TCtXTGHPl ARRAY (TG.THJ OF TPj

XTLS 1

ARRAY

(TL)

OF

tt:

XTHA I

ARRAY

tTMl

OF

ra;

XTMO 1

ARRAY

ITM)

OF

TO!

XTHV 1

ARRAY

[TM1

OF

TV!

XTPC 1

ARRAY

ITP]

OF

TC!

XTPH 1

ARRAY

IIP]

OF

THi

XTPU 1

ARRAY

(TP)

OF

TUi

xTPy i

ARRAY

[TPI

OF

TV I

XTQA 1

ARRAY

ITQI

OF

ra:

XTQS 1

ARRAY

ITQI

OF

TSi

XTRFSl

ARRAY

(TR,

rFi

OF TS!

XTSF 1

ARRAY

ITS1

OF

TF!

XTSL 1

ARRAY

ITS)

OF

TL!

XTSR I

ARRAY

ITS)

OF

TR!

XTSX 1

ARRAY

ITS)

OF

TX!

XTSY I ARRAY ITS) OF TY;

XTUC I ARRAY ITU) OF TC!

XTUHPi ARRAY [TU.TH1 OF TP|

XRQSOI ARRAY ITQI OF RS!

XRQSAI ARRAY ITQI OF RS!

EDGE 1 ARRAY ITE) OF RSI

CORNRI RS!

NULMVl RH!

OTHERI ARRAY ITM1 OF TM!

SYNTXI ARRAYISYNCF..SYNHLI OF RY!

FUNCTION MAXIA.BlTIliTI;

BEGIN

IF A > B THEN

MAX 1= AELSE

MAX li BiEND! I* MAX *1

FUNCTION MINIA.8ITIIITI!

BEGIN

IF A < B THEN

MIN 1= AELSE

HIN I' B!EHOt I* HIN •)

FUNCTION SIGN(A.BITI)ITI!

BEGIN

SIGN I' TRUNCIB/ABSIBI) • ASSIAI!END! I* SIGN •!

PROCEDURE SORTIT(VAR AIRE!VAR BlRF;CITNt:

VAR

INTB I JB!

INTH I TM!

INTI I TI|

INTV I TV!

INRH I RH!

BEGIN

FOR INTH !« AU»2 TO C DOBEGIN

INTI 1= INTH - 1!INTV t= AIINTU)!INRH 1= BIINTMI;INTB I* TRUE!

HMILE (INTI > AH) AND INTB DOIF INTV < AttNTIl THENBEGIN

»l INTI. 11 l« AIINTII!8IINTI»1I 1= BIINTI)!INTI 1= INTI - I!ENOELSE

!• HOVE MESSAGE •)

TRUE FOR SHEEP PIECES •)

FIRST DIRECTIOH •)

OIRECTION FOR LARGE BOARD

SQUARE DIFFERENCES •)

LAST OIRECTION • >

BIT BOARD FOR FILES •)

BIT BOARD FOR RANKS *)

COHP BIT BOARD FOR FILES •>

COHP BIT BOARO FOR RANKS •!

BIT BOARD FOR 8X8 INDEX •)

HOVCS FOR CASTLE TYPES •>

BIT BOARO FOR CASTLE TYPES •)

SET ELEHEHT FOR 0X8 INDEX •>

CHARACTERS FOR BOOLEANS •>

DIRECTION NUHBER TO 10X12

SQUARE DIFFERENCE •)

CHARACTERS FOR PROHOTION •)

PIECE FOR PROMOTION TYPE

AND COLOR •)

»x» INDEX FOR 10X12 INOEX •)

HOROS FOR COLORS •!

CASTLE TYPES FOR SIOE •!

SCORE FACTOR FOR SIOE •)

CHARACTERS FOR PIECES •)

SIOES FOR PIECES •!

TYPE FOR PIECE •)

VALUES OF PIECES •>

HOROS FOR CASTLES ">

TO SQUARES FOR CASTLE TYPES •)

8X8 INDEX FOR RAN* ANO FILE •!

FILES FOR SQUARES "I

10X12 INOEX FOR ax« INOEX •>

RANKS FOR SQUARES •)

ELEMENT NUHBER FOR 8X8

INDEX •)

ARRAY SUBSCRIPT INTO BIT BOARO

FOR 8X8 INOEX •>

CHARACTER FOR TYPE •)

PIECE FOR TYPE ANO SIOE •>

UNOCCUPIED SQUARES FORCASTLING •)

UNATTACKEO SQUARES FORCASTLING •)

EDGES IN VARIOUS DIRECTIONS •>

KING SANCTUARY *|

NULL HOVE •)

OTHER COLOR •)

HOVE SYHTAX TABLE •)

!• LARGER OF THO NUMBERS •!

I* SHALLER OF THO NUHBERS •>

!• SIGN OF B APPLIED TOABSOLUTE VALUE OF A •)

SORT PRELIMINARY SCORES •(ARRAY OF SCORES •!ARRAY OF MOVES •)NUHBER OF ENTRIES •)

LOOP EXIT FLAG MOUTER LOOP INOEX •)INNER LOOP INOEX •)NOLO SCORE •)HOLO HOVE •)

INTB 1= FALSE!AIINTI»1J 1= INTV!BIINTI»1) ii INRH;ENO!END! (• SORTIT •>

PROCEDURE ANORS

IVAR CIRS!A, BlRS);

VAR

INTY I TY;

BEGIN

FOR INTY t= AY TO ZY DO

C.RSSSIINTYI 1= A.RSSSIINTYIENO! (• ANORS •)

(• EXIT •)

(• INTERSECTIOH OF THO BIT

BOARDS *)(• RESULT •)I* OPERANDS •!

(■ BIT BOARO HORO INDEX •)

PROCEDURE CLRRS

IVAR CIRS!AlTSli

B.RSSSIINTYI!

(• REMOVE SQUARE FROM BIT

BOARD •)(• BIT BOARO •)(• SQUARE TO REMOVE •)

BEGIN

C.RSSSIXTSY(A)) I. C.RSSSIXTSY[A)) - XSSX(AI|

END! [• CLRRS •)

PROCEOURE CPYRSIVAR ClRSiAIRS)!

VAR

INTY t TV!

BEGIN

FOR INTY l« AY TO ZY DO

C.RSSSIINTYI 1= A.RSSSIINTYI:END! !• CPYRS M

PROCEOURE IORRS(VAR CIRS!A. BlRS);

VAR

INTY t TY!

(• COPY OF A BIT BOARO •)I" RESULT •)(• OPERAND •)

(• BIT BOARD HORO INDEX •>

(• UNION OF THO BIT BOARDS •)(• RESULT ")(• OPERANDS •)

(• BIT BOARD HORD IHOEX •)

BEGIN

FOR INTY 1= AY TO ZY DO

C.RSSSIINTYI 1= A.RSSSIINTYI • 8.RSSS(INTY1 IENO! !• IORRS "I

PROCEOURE NEHRS(VAR AIRS)!

VAR

INTY I TY!

BEGIN

FOR INTY 1= AY TO ZY 00A.RSSSIINTYI 1= Ii:END! (• NEHRS •)

PROCEDURE NOTRS(VAR CIRS;AlRSI!

VAR

INTY I TY|

(• CLEAR BIT BOARD •)

(• BIT BOARD TO CLEAR •)

(• BIT BOARO HORO INDEX -1

(• COHPLEHENT OF A BIT BOARD •>(• RESULT •((• OPERAND "I

(" BIT BOARO HORO INOEX •)

BEGIN

FOR INTY is AY TO ZY 00

C.RSSSIINTY) li IAX..ZXI-A.RSSSIINTYI!ENO! !• NOTRS •!

FUNCTION NXTTSIVAR AIRS!

var bits

i ne;

LABEL

li;

VAR

INTX I IX;INTY I TV!X I RK!

NEXT ELEMENT IN BIT BOARO •>BIT BOARD TO LOCATE FIRSTSQUARE, ANO THEN REMOVE •>SQUARE NUHBER OF FIRST SQUAREIN BIT BOARO •)TRUE IFF ANY SQUARES HERE SETINITIALLY •)

l« RETURN •)

BIT BOARO BIT INOEX •)BIT BOARD HORO INOEX •)KLUDGE HORO •)

I" LOOP THRU BIT BOARO HOROS •)

8EGIH

FOR IHTY |i ZY OOHNTO AY 00IF A.RSTI(IHTY) <> 0 THENBEGIN

BEGIN CDC 6000 DEPENDANT CODE •>

FOLLOHIHG CODE REQUIRES THE -EXPO- FUHCTION TO RETURNTHE EXPOHENT FROH A FLOATIHG POINT NUHBER. IT ALSO ASSUMESTHAT FLOATING POINT NUMBERS HAVE ■> I BIT COEFFICIENTS RIGHT-JUSTIFIED IN A HORO, AND THAT SETS ARE RIGHT-JUSTIFIEO INA HORO. »l

X.RKTZ 1= A.RSTIIIHTYI! (• FLOAT HORO •)

B 1= EXPOIX.RKTZ) • IHTY • IZX»1I!

(• CONVERT TO SQUARE NUMBER •)

164

November 1978 & BYTE Publicalions Inc

may not initially be very meaningful, weexpect them to be helpful when the userbecomes familiar with the program. BecausePascal requires that all procedures and func-tions be defined in the serial listing beforethey are called by another portion of theprogram, the procedures and functionswhich are first defined tend to be primitives.The main part of the program is concen-trated at the end of the listing.

The most important part of the variabledeclaration list in terms of understanding theprogram is the portion which specifies theglobal data base. This includes the currentboard (BOARD, a record) and a number ofimportant arrays. The look-ahead board(NBORD) is an array listing the pieceoccupying each square. The attacks emanat-ing from each square are represented byATKFR, an array which lists an 8 by 8 bitboard for each of the 64 squares. Theattacks to each square are represented bya similar array, ATKTO. The combinedattacks for each side are represented by a 2item array of 8 by 8 bit boards calledALATK.

The location of all pieces by type isrepresented by an array of 12 8 by 8 bitboards, TPLOC. The location of all piecesby color is represented by an array of two8 by 8 bit boards, TMLOC. The moves arestored in an array (MOVES) of records.Each record (RM) contains informationabout the from square, to square; whethera capture is involved and the type of piececaptured, whether the move affects castlestatus, involves check or mate, involves apiece promotion, and whether the movehas been searched yet. Additional arraysprovide information on castling squares,en passant squares, the location of all pieces,the location of pawns, etc. To be successful,a chess program must organize the data basein a logical manner and be able to manipu-late it efficiently.

For reasons of efficiency, the programoften stores the same information in two ormore different ways. Because of this, it isnecessary to be able to translate from oneform to the other. These activities are han-dled by special arrays. For example, theXTPC array allows one to use a piece desig-nator (LP, LQ, LK, DQ, etc) as an index andreturns the corresponding character (1 thru6 for Black pieces and A thru F for Whitepieces) which is used when a board represen-tation is printed on the terminal.

There are several general purpose routineswhich are needed by the program. Two func-tions, MIN and MAX, provide the smalleror larger of two numbers upon request. Athird function, SIGN, applies the sign ofone number to the absolute value of another

Circle 46 on inquiry card.

64K BYTES ON SINGLE CARD

S-100 BUS COMPATIBLE MEMORY

$695

The CI-S100 64K x 8 Dynamic Memory Moduleplugs directly into the IMSAI, MITS, TLD, SOL, andmost other S-100 Bus Microcomputers. Usingstate of the art 200 ns 16K dynamic RAM chips,the CI-S100 allows maximum processorthrough-put with the use of hidden on Poard refresh. Nowait states are required even with the Z80 at4MHz.

AddressaPility is switch selectable in 4K incre-ments to 64K.

Power consumption is less than 6 watts.

Price is $695 assembled, tested and burned-in.

Full year warranty.

€

. Chrislin Industries, Inc.

m j Computer Products Division

31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254

The experienced 21144K static RAM

From EMM — the industry's largest supplierof 4K static RAMs — a 2114 with a year anda half of delivery behind it. Not a new part.Just a new pin-out of a proven part. 1K x 4organization. 5V only. Standard 18-pin DIP.It draws only 300 mw, has all the speed youneed for microprocessor applications.

SEMiriNC.

A division of Electronic Memories & Magnetics Corporation3883 North 28th Avenue, Phoenix, Arizona 85017 (602)263-0202

Circle 134 on inquiry card.

November 1978 ©BYTE Publications Inc

165

Listing 1, continued:

l* X.RKTS I* X.RKTB - («ril

I* A.RSTIIINTYl t- TRUNCIX.RKTZII

!• NXTTS l« true:

!• GOTO 11;

!»•-• ENO CDC 6000 DEPENDANT CODE M

(••• BEGIN HACHIHE INDEPENDENT CODE •>FOR INTX !» ZX OONNTO IX DO

IF INTX IN A.RSSSIIHTVI TNENBEGIN

B I* INTX»INTY»(ZX*1I;

A.RSSSIINTVI 1= A.RSSSIINTYI

NXTTS 1= TRUE!

GOTO it;eno;!••• eno machine inoepenoent code *)

eno;nxtts 1= false;

111 (• RETURN •)END; !• NXTTS •!

(• REMOVE HOST SIGNIFICANT BIT •)

(• INTEGERIZE ')

(• RETURN A BIT SET •>

(• RETURN •!

I* LOOP THROUGH BITS IN HORO OFSET •>

(• RETURN SQUARE NUHBER •>IINTX] |

(• REHOVE BIT FROM HORO •>

(• RETURH A BIT SET 'I

(• RETURH •)

(• ELSE RETURH HC BITS SET •)

FUNCTION CNTRS(AIRSMTS;

VAR

IHTT

i tv;

IHTS

i ts;

IHRS

■ rs:

IHTS

is:

BEGIH

IHTS

= o;

(• COUNT MEMBERS OF A BIT

BOARD •!(• BIT BOARD TO COUHT •>

(• BIT BOARD HORO INOEX

<• TEMPORARY M

!• SCRATCH •)

<• SCRATCH •!

(••• BEGIH HACHIHE INOEPENOEHT CODE •>

CPYRSIIMRS.AI",

HHILE HXTTSIIHRS.IHTSI DO

IHTS 1= IHTS«l; (• COUHT SOUARES

(•»• ENO HACHIHE IHDEPEHOEHT CODE •!

!••• BEGIN CDC 6C0O DEPEHOEHT CODE •!

<••• FOLLOHIHG CODE REQUIRES THE 'CARO' FUNCTION TO

!••• COUNT THE MEMBERS IH A SET. •>

(•FOR IHTV 1= AY TO ZY DO

(• IHTS •= IHTS « CAROIA.RSSSIIHTYli;

!••• END CDC DEPENOENT CODE •>

CHTRS 1= inTs:ENO; (• CNTRS •>

PROCEDURE SETRS

(VAR ClRS;AITSI;

(• RETURN SUH •!

(• IHSERT SQUARE INTO BIT

BOARD •)(• BIT BOARO ')(• SQUARE TO IHSERT •)

BEGIH

C.RSSSIXTSYlA I] 1= C.RSSSfXTSYlA 11 ♦ XSSX1AI;ehd; (• SETRS •>

PROCEDURE SFTRS(VAR AIRS!

birs;

ClTEl:

VAR

INRS I RS!

ints i is;

INTY I ty;

SHIFT BIT BOARO MRESULT •!SOURCE •>OIRECTION •>

SCRATCH •»SCRATCH •!SIT BOARO HORD IHOEX

(• CLEAR NEN BIT BOARO •!

BEGIN

(••• BEGIN MACHINE INDEPENDENT CODE

NEURSIAI:

HHILE HXTTS(B.IHTS) DO

IF XTLSIXTSL[IHTSI»XTED(C]1 > 0 THEN

(• SHIFT EACH BIT •)SETR5(A,XTLS[XTSL[INTS]«XTED[C1II1(••• ENO HACHIHE INDEPENDENT CODE "1(••• BEGIN COC 6000 DEPENOENT CODE "1

(••• FOLLOHIHG CODE ASSUMES THAT HULTIPLICATION OR DIVISION(••• BY A COHSTAHT POHER OF 2 IS OOHE HITH A SHIFT INSTRUCTION. •)(•CASE C OF(•Sll BEGIH

(• FOR INTY I* AY TO ZY OO <• SHIFT ONE PLACE •!(• BEGIN

(• B.RSSSIINTYI l> S.RSSS(IHTY) - EDGEISI 1.RSSSIINTY1;

(• A.RSTKINTY1 I- B.RSTItlNTYl DIV 21

(• EHD;

(• eho;

i-s2i begin

(• for inty l« ay to zy 00 (• shift horos •!

(• BEGIH

(• B.RSSSIIHTY] I* B.RSSSIINTYI - EOGEIS2l.RSSSCIHTYII

(• INRS.RSSSIINTYI |a B.RSSSIINTYI • IZX-Z..ZXI;

(• A.RSSSIINTY1 I" B.RSSSIINTYI - [ZX-7..ZXII

(• A.RSTIIINTYl l» A.RSTKIHTY1 • 256

t* ehd;

(• FOR IHTY l» AV»1 TO ZY 00 (• CARRY BETHEEH HOROS •!

(• A.PSTKINTY1 ■: A.RSTIIINTYl • IHRS. RSTICINTY-11 OIVPZXSI

l' end;

(•S3! BEGIN

(• FOR INTY I. AY TO ZY DO (• SHIFT OHE PLACE •>

(• BEGIH

(• A.RSSSIIHTYI 1= B.RSSSIINTYI - EOGEIS3l.RSSStIHTYII

|« A.RSTIIINTYl I* A.RSTIIIHTY1 • 21

i« ehd:

AY TO ZY 00

ZY-1 00 ("

A.RSTIIIHTY1 .

END;BEGIN

FOR IHTYBEGIH

B.RSSSIINTYI 1=INRS.RSSSIINTYIA.RSTIIINTYl 1=

end:

for inty |= ay to

A.RSTIIINTYl 1=

ENO!

BEGIH

SFTRSIIHRS.B.S1I :SFTRSIA,INRS.S2> :

END;

BEGIN

sftrs(inrs,b,s2i :sftrs(a,inrs.s3):end;

BEGIN

SFTRS(INRS,B,S31 ;SFTRSIA,IHRS,S»l:

eho:

BEGIH

SFTRSIIHRS.B.SM 1SFTRSIA,INRS.SI) ;

END;

BEGIN

SFTRSdHRS.B.Bl) ;

sftrs(a,ihrs,s2);end:

BEGIN

SFTRS(INRS,B,B2):SFTRSIA,IHRS,S21:

END;

BEGIN

sftrsiinrs.b.b2i;sftrsia,inrs,s3i|

eho;

BEGIN

SFTRSIIHRS,3,831 :

SFTRSIA,INRS,S3IIENOIBEGIN

SFTRS(INRS.B,B3>;

SFTRSIA, IHRS, SHI

EHD;

BEGIN

SFTRSIIHRS,B.Bdi;SFTRSIA,INRS,Ski;

end:

BEGIH

SFTRS I INRS, B,B<>1 ;SFTRSIA,IHRS,Sll :

end;

BEGIH

SFTRSIIHRS,B,B1IISFTRSIA,IHRS,Sill

END;

ENO COC 6000 OEPENOEHT COOE M(• SFTRS •)

FUHCTIOH IHRSTB(AIRS;BITS)its;

BEGIH

IHRSTB 1= XSSXIB) <=END! (• INRSTB •»

(• SHIFT HOROS •!

B.RSSSIINTYI - EOGEISal.RSSSIIHTYl1= B.RSSSIINTYI • [AX..AX»71;B.RSTIIINTYI DIV 256;

CARRY BETHEEH HOROS •)INRS.RSTIIIHTYHI • PZXBI

(• SQUARE IN BIT BOARD BOOLEAN •>

(" BIT BOARO •!

(• SQUARE IN QUESTION •>

A.RSSSIXTSYIB11!

FUNCTION HULRSIAIRSI

its;

VARIHTYIHTS

ty;tb;

HULL BIT BOARD '1BIT BOARO TO CHECK •)TRUE IF BIT BOARO EHPTY

BIT BOARO HORD IHOEXTEMPORARY VALUE •>

BEGIH

IHTB I: TRUE;

FOR IHTY 1= AY TO ZY DO

IHTB l« IHTB AHD (A.RSTIIINTYl a 01!

HULRS 1= IHTB;eho; I* NULRS •)

FUHCTIOH HJLHVB(AiRM)

itb;

BEGIN

HITH A 00

HULHVB I' RHAC AHD RNPR ANO (NOT RHCAIIENO; C HULHVB •>

HULL HOVE BOOLEAH •)MOVE TO TEST •!TRUE IF HULL HOVE •!

PROCEDURE IHICOH1

VAR

INTO

to:

INTE

te;

INTF

tf;

IHTI

ti;

INTL

tl;

INTQ

to;

INTR

tr;

IHTT

tt;

IHTX

tx;

IHTY

TY!

IHTI

ti;

IHRS I RS;

(• INITIALIZE GLOBAL CONSTANTS "I

OIRECTION INOEX •!OIRECTION •)FILE INOEX •)SCRATCH •>

LARGE BOARO INOEX •)CASTLE TYPE INOEX •!RANK INOEX •)SQUARE INOEX •!SET ELEMENT INOEX "IBIT BOARO HORO IHOEXSCRATCH •!SCRATCH •!

166

November 1978©BYTE Publications Inc

number. A general purpose sort routine,SORTIT, is also provided.

Manipulating the Bit Boards

There are a number of primitive opera-tions which involve the manipulation ofinformation represented in bit board form.A bit board is one or more computer wordswhich have a bit set in specific locations torepresent the occurrence or nonoccurrenceof a particular event. For example eight8 bit words can be used to represent theeight rows of a chessboard. Each bit corres-ponds to one square. To represent the loca-tion of all White pawns, a bit is set (ie: 1)in the proper locations and all other loca-tions remain clear (ie: 0). This method forrepresenting and manipulating information isvery useful in chess programming. For thisreason, the first actions defined by ourchess program are a set of procedures andfunctions for manipulating bit boards.

The actions represented are:

(1) the intersection of two bit boards(ANDRS);

(2) the union of two bit boards(IORRS);

(3) the complement of a bit board(NOTRS);

(4) setting a bit in a bit board (SETRS);

(5) removing a bit from a bit board(CLRRS);

(6) counting the number of bits that areset on a bit board (CNTRS);

(7) making a copy of a bit board(CPYRS);

(8) setting all bits to 0 (NEWRS);

(9) shifting all bits in a particular direc-tion (SFTRS);

(10) determining whether a particular bitis set (INRSTB);

(11)determining whether a bit board isempty, ie: has no bits set (NULRS); and

(12) finding and reporting integer valuefor a location where a bit is set (NXTTS).

Since these routines are used repeatedlyby the program, you can decrease themove calculation time quite a bit by imple-menting these primitives in assembly lan-guage. You will note that the functionNXTTS is written in two ways: machineindependent code, and code which is com-patible only with the Control Data 6000series machines. There are a number ofplaces in the program where execution timecan be enhanced by substituting machinedependent code which takes advantage ofone or more special features of the hard-ware you are using. It would be helpful,also, if functions in Pascal could return an

array or record instead of just a singlevalue. There are many places in the pro-gram where this type of function would bemore logical and more efficient than using aprocedure (ie: subroutine). If one were toconsider the best of all possible worlds,it would be especially nice if the bit mapmanipulations could be compiled in line.With the Pascal arrangement, many of theprocedure calls take as much time as theexecution of the procedure.

Initial Steps

It is also necessary at the beginning of theprogram to provide values for the variableswhich define the chess environment, such aspiece characteristics. For example, a Whitepawn is represented as LP for some purposesand as the letter A for other purposes. Ithas the color LITE, is not a sweep piece,and moves only in certain directions. It isnecessary to initialize the translation tables,the constant and variable 8 by 8 bit boards,and a number of other tables. The threeroutines which are called to do this when theprogram is first activated are INISYN,INIXTP and INICON. A fourth procedure(INITAL) is called by the main programto get ready for a new game. It will be called

Having Reservations About Your Software?HUNT NO MORE!

Smoke Signal Broadcasting presents the

SG-1 SOURCE GENERATOR

Program for disassembly of object code into source codefor direct editing and re-assembly.

• Output directed to tape or disk with either SWTPCo'sco-resident assembler format, or Smoke Signal Broad-casting's Text Editing System format.

• Reports number of bytes in source code file, numberof external labels, number of local labels, and numberof variables for computing memory space necessaryto assembly source code generated.

Only $24.95 (on cassette), $30.95 (on diskette)'We're the "CHIEF" in 6800 products software

6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 320 on inquiry card.

November 1978©BYTE Publications Inc 167

Listing 1, continued:

PROCEDURE INISVN

<A|RAI|

BEGIN

WITH SYNTXIINTI) 00BEGIN

NITH RYLS 00

BEGIN

ROPC ■■ true;

ROSL la MUIOI <>

ROKQ la AlAA.ll <>

RONS Is AIAA»2I <>

RORK I. «[*»»3) <>

eno;

RVCM la AIAA*!*!!

NITH RYRS DO

BEGIN

ROPC 1= AIAA.51 «>ROSL la »(»«.6I <>ROKO |a <|1»W] <>RONS I' A(AA*9) <>RORK I- A[AA»91 <>

ENDS

end:

INTI 1= INTHi:ENOi (• INISYN •>

PROCEDURE INIXTP

(• INITIALIZE HOVE STNT»X

TABLE ENTRY •>(• HOVE SYNTAX •)

(t 1

tp:

B 1

TC!

C 1

in:

0 1

TU!

E I

TBI

f i

TE!

G 1

te:

M 1

TV!

1

BEGIN

XTPCIA]

1 =

fl;

XTPHIA)

1 =

c;

XSPBIA1

1 =

e:

XFPEIA1

l»

F;

XLPEIA1

g;

XTPUIAI

t =

o;

XTPVIA]

1 =

h;

INITIALIZE PIECE TRANSLATION

TABLES "1

PIECE TO BE TRANSLATED •)

DISPLAY EQUIVALENT ')

COLOR OF PIECE *I

TYPE OF PIECE »l

TRUE IF SHEEP PIECE •>

FIRST DIRECTION OF MOVEMENT

LAST DIRECTION OF MOVEMENT •

VALUE OF PIECE "I

IF A <> MT THENXTUMPIO.CI l» a:ENO; <• INIXTP •!

BEGIN (• INICON •)

(•• INITIALIZE PIECE CHARACTERISTICS •>

FALSE,B1,B2.1»6»>:TRUE ,Sl,St,S"6U;FALSE.Nl,NO,3*6»>;

TRUE .ai.B<.,]*6<>>;

TRUE ,ei,5k,9'6«.l :.FALSE.81.S".,01 ;

FALSE.BJ.B»t-i***II,TRUE ,S1,SI.,-5»6I.I;

.FALSE,Nl,N«,-3'&i.l ;,TRUE ,B1.Bi,,-3*6i>I;,TRUE ,Bl,S»i,-9»6<.i:.FALSE.81.St.01;.FALSE.B2.B1.0)t

INIXTPILP.

"A"

.LITE

EP

INIXTPILR.

"B"

.LITE

ER

INIXTPILN,

-c-

.LITE

EN

INIXTPIL8,

-0"

.LITE

EB

INIXTPILO,

"E-

.LITE

EQ

INIXTPILK

-F-

.LITE

EK

INIXTPIOP

-1-

.DARK

EP

INIXTPIOR

-2"

.DARK

ER

INIXTPION

"3"

.DARK

EN

INIXTPIOB

"(.-

,OARK

EB

INIXTPIDQ

"5-

• DARK

EQ

INIXTPIDK

-6-

tOARK

EK

INIXTPIMT

"-"

.NONE

EP

dq:

XTGHPI°Q.OARK] I

XTGHPtPR,DARK) t= DR

XTGMP(DN,OARK] 1= ON

XTGHPIPS,DARK) 1= 08

XTGHPIPQ.LITEI 1= LQ!

XTGHPIPR.LITE) 1= LR;

XTGMPtPN.LITE1 1= LN;

XTGMPIPB.LITE1 1= LB!

XTUCtEKl I* "K";

XTUCIEQ] 1= "Q";

XTUC[ERI 1= "R";

XTUCIEN1 1= "N";

XTUCIEBI 1= -B-;

xtuciepi i= -P-;

(•• INITIALIZE OTHER CONSTANTS »J

XTBCIFALSE1 1= "-"IXTBCITRUE 1 1= "•";

0THERILITE1 1= DARK; XTMVILITE] I: 1',OTHERfOARKl t= LITE; XTHVIOARK] t= -1;OTHER(NONE) 1= NONE;

XTGCIP01 l«

XTGCIPR1 li

XTGCIPNI 1=

XTGCIP81 1=

XTMACLITEI 1 =KTHAIDARKI laXTHAINONEI la

NHITE -;

BLACK ";

NO ONE "I

XTQA(LS) |a -NHITE KING";

XTQA1LL1 la -WHITE LONG'I

XTQAIOSJ ■> 'BLACK KING";

XTQAI0L1 l« 'BLACK LONG";

(•• INITIALIZE 10X12 TO >X> AND 9X9 TO 10X12 TRANSLATION TABLES •>

FOR INTL I' AL TO ZL 00XTLSIINTL1 la -1!

INTL I' 21|

INTT la -i;

FOR INTR la Rl TO R» DOBEGIN

FOR INTF I. Fl TO F« 00

BEGIN

INTT I- INTT»i;

(• LOOP THROUGH LARGE BOARD •)I* PRESET ARRAY TO OFF BOARD *1

(• INDEX OF FIRST SQUARE ON LARGE

BOARD •»I* INDEX OF FIRST SQUARE ON SMALL

BOARD *>«• LOOP THROUGH RANKS •)

(• LOOP THROUGH FILES •>

(• ADVANCE SHALL BOARD INOEX •)

XTRFSIINTR.INTF] la INTT;XTLStlNTLl 1= INTT;

XTSLIINTT) 1= INTL;

XTSRIINTTI la INTR:XTSFCINTTI 1= INTF;INTL la INTL»i:

eno;

INTL la INTL.?;

(• SET MATRIX TO VECTOR

TRANSLATION •!(• SET LARGE BOARD TRANSLATION

TABLE NITH SHALL BOARO

INDEX •!(• SET SHALL BOARO TRANSLATION

TABLE NITH LARGE BOARD

INOEX •>!• SET RANK OF SQUARE »)<• SET FILE OF SQUARE •!(• AOVANCE LARGE BOARD INOEX »l

(• AOVANCE LARGE BOARO INOEX TOSKIP BORDER •)

(•• INITIALIZE 1XS TO BIT BOARD TABLES •!

INTT I- -l;

FOR INTY 1= AY TO ZY DO

BEGIN

FOR INTX |a AX TO ZX 00BEGIN

INTT la INTT.i;

XTSXIINTT] la INTX;

XTSYIINTT1 la INTY!

XSSX1INTT1 la IINTXI;

NEMRSIXRSSUNTTII ;

XRSSI INTT1.RSSSI INTY] la UNTX1I

end;end;

c

INITIALIZE CONSTANT BIT HOARDS •>

FOR INTR la Rl TO R9 00NENRS<XRRSI INTRIK

FOR INTF la Fl TO F8 DONENRSIXRFSIINTF)):

Rl TO R« DOla Fl TO F« 00

FOR INTR la

FOR INTF

BEGIN

SETRS(XRRSI INTR),XTRFSIINTR,INTFI I:SETRS(XRFS[INTFl.XTRFStINTR,INTF1) |

END;

FOR INTF la Fl TO F« 00

NOTRS(XNFSUNTFl,XRFStINTFll|

FOR INTR la Rl TO RS 00

N0TRS(XNRS(INTR),XRRS(INTR1I |

t" INITIALIZE EDGES •)

CPYRSCPYRSCPYRSCPYRSIORRSIORRSIORRSIORRSIORRSIORRSIORRSIORRSIORRSIORRSIORRSIORRS

(EDGEIS1IIE0GEIS21IE0GEIS31IEOGEIS".!1E0GECBI)IEDGEIB2]IE0GEIB3IlEOGEIBkl(EDGEIN1)IE0GE1N21IEDGEIN31(EOGE(Nk)IEOGEtN'1IE0GEIN61IEDGEIN7]<EDGE[N«)

XRFSIF11IXRRS(ROI)XRFSIF01IXRRSIRUI

.EOGE(Sl),.E0GEIS2),

EDGEIS3I,.EOGEIStl.

E0GEI81],.E0GECB2I,.E0GEIB2I..E0GEIB3I.,E0GEIB3],.EOGEIBk),.EDGEtBfc),iEDGEIBI],

I

E0GEIS21);E0GECS31);

EOGEI Si) I :EOGEISli >;XRRSIR7I I;

XRRSI rzii;

XRFSIF7));XRFSIF7] 1 IXRRSIR2IIIXRRSIR2II IXRFSIF21I!XRFSIF21I|

I" INITIALIZE CORNER MASK •>

I0RRSIINRS.XRRSIR1I.XRRSIR2I)IIORRSIINRS.INRS.XRRSIR7]ItIORRS11NRS.INRS.XRRSIR911 ;I0RRSIC0RNR,XRFSIF1I,XRFSIF2I)II0RRS(C0RNR,C0RNR,XRFSIF7)I|IORRSICORNR.CORNR,XRFSIFtl)IANORSICORNR,CORNR,INRS)I

!•• INITIALIZE DIRECTION TABLE •>

XTEDINllia 19; XTED(N2)la 21;

XTEOlNOJIa s;xTEOIBllla 9 ; X TE Dl S2 I I = 10 ; XTEOI 82 11 a 11 ;XTEOI N3 ] I a 12;

XTEOISllla -i; XTE0IS3]|a l;

XTEOIN7)|a-12:xTEOlBi.lla-li:xTEDlS".lta-10:XTEOIB3)la -9: XTEOI N* ) I = -9!

XTEDIN6)la-2i; XTEDIN9)|a-19:

I"

INITIALIZE SQUARE DIFFERENCE TO DIRECTION TABLE

>

FOR INTI |a AZL TO ZAL DO

XLLDIINTII la o;FOR INTE 1= Bl TO S<* DOBEGIN

INTO la XTEDIINTEl;

FOR IHTI 1= 1 TO 7 00

XLLDIIHTI'INTOI la INTO;

end;

FOR INTE la Nl TO N9 DO

XLLDIXTEOIINTEI) la XTEOIINTEII

<•• INITIALIZE CASTLING TRANSLATION TABLES •!

IORRSIXSQSILSI,XRSSIXTRFSCR1.F01 I,XRSSIXTRFSIRl,F511 I 1I0RRSIXSQSILLI.XRSSIXTRFSIR1.fi)],XRSSIXTRFSIR1.F5)IIJI0RRS(XS0SI0S),XRSSIXTRFSIR0,F9I ),XRSSIXTRFSIR0.F5)II IIORRSIXSQSIDLI.XRSSIXTRFSIRa.Fl1I.XRSSIXTRFSIR9.F511I:

IORRS(XRQSOILSI,XRSSIXTRFSIRl.FOI I.XRSSIXTRFSIR1.F7I 1MIORRS(XRQSOILLJ.XRSSIXTRFSIRl.Ffc1].XRSSIXTRFSIRl,F3I 111IORRSIXRQSAtLSI.XRSSIXTRFSIRl,F5 1),XRQSOILSI I 1I0RRSIXRQSAILLI.XRSSIXTRFSIR1.F511,XROSOILL11 IIORRSIXRQSOILLI,XRSSIXTRFSIRl,F211,XRQSOILLII I

IORRSIXRQSOIOSI,XRSSIXTRFSIRl.F61I,XRSSIXTRFSIR0.F7IIIIIORRSIXRQSOI0L1.XRSSIXTRFSIRO,F»II,XRSSIXTRFSIR9.F311)1

168 November 1978 © BYTE Publications Inc

Circle 82 on inquiry card.

more than once if the user wishes to playmore than one game.

During the development of the program,it is necessary to determine whether theindividual procedures are functioning prop-erly. To do this, it is helpful to have a fewprimitive print routines which can provideinformation about the internal workings ina form which is understandable to the pro-grammer. These same routines are also calledby the main input/output (10) routine(READER) which appears later in theprogram.

One of these routines (PRIMOV) printsan internal representation of the machine'smove. Another prints an 8 by 8 arrayrepresenting the board (PRINTB). Thisconsists of numbers for Black's pieces(Black pawn = 1; Black King = 6) and lettersfor White's pieces (White pawn = A; WhiteKing = F) with empty squares representedby a —. The PRINBB routine prints an8 by 8 array representing a bit board. Inthis case an asterisk (*) stands for a squarewhere a bit is set and a minus sign (—)stands for a square where a bit has notbeen set. An attack map is printed byPRINAM and this consists of 64 (one foreach square) 8 by 8 bit maps in which an* stands for a bit which is set and a — standsfor a clear bit.

Other useful print routines include onewhich permits a user controlled pause duringprinting (PAUSER) and one which informsthe programmer of the status of particularcontrol switches (PRISWI). Because ofPascal's serial requirement (ie: every proce-dure must be defined before it can be calledby another procedure), these routines appearearly in the program so that they can beused to test the procedures and functionswhich follow.

In part 1 we mentioned incremental up-dating as an important feature of an effi-cient chess program. It is necessary toapply an evaluation function to the terminalnodes of the look-ahead tree. These evalua-tions, if they are at all sophisticated, requirea substantial amount of detailed informationabout the position. Although it is possibleto calculate this information separately foreach evaluation, this is not a very efficientprocedure, because adjacent nodes arealmost identical. Most of the informationwhich would be calculated each time wouldbe redundant. A more efficient alternativeis to "update" and "downdate" the relevantdata base incrementally as the programmoves about in the look-ahead tree. Thiscapability requires quite a bit of specialprogramming.

Several primitive routines are very usefulfor this. If the move involves a capture, it

NO FRILLS! NO GIMMICKS! JUST GREAT

DISCOUNTS

MAIL ORDER ONLY

HAZELTINE

1400 $ 699.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... 350.00

DIGITAL SYSTEMS

Computer $4345.00

Double DensityDual Drive 2433.00

IMSAI

VDP 80/1000 $5895.00

VDP40 3895.00

VDP42 3995.00

VDP44 4250.00

16K Memory assem.. . 399.00

PCS 80/15 679.00

15% off on all otherIMSAI products

CROMEMCO

System III $1000 oft .. 4990.0010% off on all otherCromemco products

ADDS

Regent 100 1095.00

Most items in stock for immediate delivery. Factory-fresh, sealed cartons.

DATA DISCOUNT CENTER p.o. box 100

135-53 Northern Blvd., Flushing, New York 11354, 212/4654609

N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y.I BankAmericard, Master Charge add 3%. COD orders require 25% deposit

Smok

Having Reservations About YjHUN]

are?

Broadcasting presents the

SMART BUG

A Cure For Mikbugitus

1024 byte monitor program for use withMOTOROLA 6800 microprocessor

• The only monitor really MIKBUG compatible.

• Designed to replace the MIKBUG ROM used in manysystems including the SWTPCo's 6800 microcomputer.

• TRACE feature allows user to single step through aprogram, examining the registers if desired.

• MIKBUG entry locations maintained, including mostrelatively obscure ones.

• Quick program debugging when the TRACE is usedwith BREAKPOINT.

Instruction Manual and Complete Source Listing....$19.50

SMARTBUG on 2708 including listing $39.95

(SMARTBUG on 2716 including listing $49.95

We're the "CHIEF" in 6800 products software

SMOIE SniALBBOABCASTIK

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

November 1978©BYTE Publications Inc

169

Listing 1, continued:

IORRSIXROSA|OSI,XRSS[XTRFS(RB,F5) |.XRQSOIOS I> |IORRSfXROSAIOL).XRSS(XTRFSI«6.F5II.XRasOIDll! !IORRSCXROSOIOLI.XRSSIXTRFS.R8,F2)1,XRQSOCOL]I!

FOR INTQ Is LS TO OL DOWITH XRQHCINTQI 00BEGIN

RHCP I* HT^

R«C» la FALSE;

RNAC t< true:

RMCH Is false;

RNNT Is FALSE!

RHIL I' false;rnsu is false;

RNPR is FALSE;RMOO Is true:eno;

XROMILSI.RMFR Is XTRFSIRl,F5 I:

XRQNILL1.RNFR 1= XTRFS1Rl,FS1:

XRQH(OS].RHFR is XTRFS(R«.F5I;

XRQMIDL1.RNFR Is XTRFStR8.F51;

XRQNILSI.RNQS Is FALSE:

XROHILLI.RHDS Is TRUE;

XRQHCOSI.RHQS Is FALSE;

IRQHIOLl.RNQS l« TRUE:

xTHOILITEl is LS;XTHQIDARKI l« OS;

XTQSILSI |s XTRFSIRl.Ft);

XT0SILL1 ■' XTRFSIRl.Fli:

XTQSIDSI I' XTRFSIRA.Fti;

XTHSIOLl is XTRFS[R8,Fli;

<•• INITIALIZE NULL HOVE »l

XRQMLSI.RMTO Is XTRFSIRl,F7I:

XR0NILL1.RNT0 I- XTRFSIR1,F31:

XRUHI0S1.RHT0 is XTRFS(R8,F*I:

XRQNIOLI.RHTO is XTRFSIR8.F31;

WITH NULHV 00

BEGIN

RHFR

Is

AS;

RHTO

t =

as;

RHCP

1 s

NT;

RHCA

IS

FALSE;

RNAC

I s

true;

RNCH

1 =

false;

RNMT

1 =

FALSE;

RHIL

1 =

false:

RNSU

1 =

false:

RNPR

Is

true:

RHPP

1 =

pb:

eno;

I" INITIALIZE COKHANO PROCESSING VARIABLES •>JNTJ |s ZJ;

icARoizj) i= ";";ILINEIZJI is -;-;

(•• INITIALIZE MOVES SYNTAX TABLE "I

I NT I isINISYNCINISYNCINISYNC

INISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNCINISYNC

•P/ 1"/ 1»P

•P/ R "/ R »P

•P/ Rl"/ Rl'P

•P/KR "/KR »P

•P/KR1"VKRl'P

7 i"P/ V

/ R »P/ R "7 1»P/ R "7 R »P/ 1-

/ R1«P/ 1"'/ 1"P/ Rl"

V R1»P/ R "'/ R »P/ Rl"7KR »»/ 1"'/ 1*P/KR "'/KR »P/ R "

V R *P/KR *

V l'P/KRl"VKR1»P/ 1"

R *P/KR1"VKRl'P/ R "

V R1»P/ Rl"VKR *P/ Rl"'/ R1»P/KR *'/KR 'P/KR ""/KR1»P/ Rl*'/ R1»P/KR1"VKR1"P/KR "VKR sP/KRl"'/KR1"P/KR1*

INISYNI-INISYNCINISYNC/ 1INISYNC"/ RINISYNI"/ 1INISYNI"/ RINISYNC"/ RlINISYNC-/KRINISYNC"/ RlINISYN("/KRINISYNC-/KR1

Rl"l :KRl"t;

Ri-i;

ri"i ;KRi"l;kri-i;

Ri-i;

Ri"i:KRl");KRi"i:KRl-l;

!•• INITIALIZE LETS

fkpsmo is 10;FKSAND Is ISO;

FHAXHT l<FNOOEL IsFPADCRCF1IFPA0CRIF21FPADCRIF3)FPAOCRSF.IFPA0CRIF5]FPA0CR(F6|FPAOCRIF"!FPAOCRIFAIFPBLOK IsFPCONN IsFPFLNX l-sFROUBL IsFRKZTH IsFTRADE 1=FTROSL IsFTRPOK isFTRP»N isFHKING IsFNMAJN isFMHINH IsFHPAHN IsFMROOK IsNINOOM Is

256:

ii;is o:

■ ' o;

I- 5t

■ s 101

is is:

i- 5;

■ ■ o;i- o:

20;5:

12!

<>»:

120;

36;

5156;

2;

«;

so:

i;

200;

loo:

2:

30:

!•• INITIALIZE SNITCHES •!SUEC 1= TRUE;

shpa is true;snps i» false;

SHRE is TRUE;

snsu is false:sntr is false;

!"• initialize nain loop control variables *l

GOING I• S]ENO; !• INICON •»

PROCEOURE INITALCVAR AlRBI;

VAR

INTF 1 IF;

INTR t tr;

BEGIN

KITH A 00

BEGIN

RBTN is LITE;

RBTS is -It

rbti is o;

RBSQ Is (LS>LL,OS,l)Ll:

FOR INTF is Fl

fO F8 DO

BEGIN

R8IRF(RZ,INTF1 is LP;

FOR INTR Is R3 TO R6 DO

RBIRFIINTR,

NTFI Is NT

RBIRF(R?,INTF] is OP;

eno:

RBIRFCRl.Fll is

lr:

RBIRF(R1,F2I Is

ln:

RBIRFCR1.F3I Is

lb:

RBIRFIR1.fi>! is

10!

R8IRFIR1.F5I Is

lk:

RBIRF1R1.F6! Is

lb:

RBIRF[R1,F7I 1=

ln;

RBIRFCR1.F81 1=

lr:

RBIRFCRA.F1! Is

or:

RBIRFIRA.F2I is

on;

RBIRFCRS.FJI 1=

ob;

RBIRPIRS,FI>1 Is

oq;

RBIRFCR8,F51 1=

ok;

R8IRFIRS.F6I Is

ob;

RBIRFCRS.F71 |s

ON;

RBIRFIBS.FO! Is

dr:

<* INITIALIZE FOR A HEM GAHE *t

<• FILE INDEX M(• RANK INDEX »l

SIDE TO MOVE •>

NO ENPASSANT SQUARE *l

GAME HAS NOT STARTED •»

ALL CASTLING MOVES LEGAL *)

LOOP THROUGH ALL FILES •!

SET LIGHT PAMNS ON BOARD *)LOOP THRU MIOOLE OF BOARO •!SET HIDDLE OF BOARO EMPTY •>SET DARK PAHNS ON BOARO •>

SET REMAINDER OF PIECES ONBOARD •)

MOVMS i= " ENTER MOVE CR TYPE GO.MRITELN(HOVMSt;LSTMV 1= NULHV;PND,ENDS (• INITAL •)

PROCEOURE PAUSER;

BEGIN

IF SMPA THENBEGIN

HRITELNf" PAUSING ")t

REAOLN;

eno:

end; (• PAUSER •)

(• INITIALIZE PREVIOUS MOVE •»

<• PAUSE FOR CARRIAGE RETURN •»

PROCEOURE PRIMOV1AiPMIJ

(• PRINT A MOVE •!

BEGIN

WITH A DOBEGIN

WRITE." FROM ".RMFRlZ," TO ",RHTOl2);IF NULMVBIA, THEN

MRITEI". NULL MOVE")ELSEBEGIN

IF RMCA THEN

MRITE(~, CAPTURE ",XTPCtRMCP).".".ELSE

WRITE*". SIMPLE,".tIF NOT RMAC THEN

MRITE*" NO");MRITE<" ACS",;IF RMCH THEN

170 November 1978©BYTE Publications Inc

is necessary to change the material balancefunction. The actual scoring itself is handledby MBEVAL. This routine is called eitherby MBCAPT or MBTPAC when a piece islost (update) or gained (downdate); or byMBPROM or MBMORP when a pawn ispromoted (update); or when a newly pro-moted pawn is demoted (downdate). Thereare other changes which are required in thedata base for both capture and noncapturemoves. The new squares which are attackedby the piece need to be added to the attackmaps (ATKFR, ATKTO, ALATK). This isdone by ADDATK. The new square for thepiece is added to the data base by ADDLOC.The attacks of sliding pieces which areblocked by the newly moved piece arerecomputed by CUTATK. The attacks ofsliding pieces which are unblocked byvacating the former square are recomputedby PRPATK. The attacks which emanatedfrom the piece on its former square aredeleted by DELATK. These primitiveroutines are called by LOSEIT when a cap-ture is involved or by MOVEIT otherwise.If the move affects castling status, thenecessary data base changes are made byPROACA and PROACS. If a pawn promo-tion is involved, PROMOT makes the neces-sary adjustments.

Move Generation

A major part of any chess program is themove generation module. Because of thecomplexity of the game, many programssimply ignore some of the more unusualmoves, such as Queenside castling, en pas-sant pawn captures, or promotion of a pawnto a piece other than a Queen (ie: underpro-motion). This arrangement will suffice toplay legal chess, but it may be costly if oneof the omitted move types is highly desirablein a specific game situation. In addition, anincomplete move generation facility preventsthe machine from checking the legality ofits opponent's moves.

Rather than being satisfied with anapproximate solution, we have heeded theold maxim, "If a job is worth doing, it isworth doing well," and have implementeda move generator which permits the pro-gram to play a complete game of legalchess. As you can see from the listing, thisrequires extensive programming.

The first step in move generation is tocreate the data base for the importantfeatures of the existing board configuration.This is done by CREATE. Once a move hasbeen selected, it is necessary to change thedata base. This is done by UPDATE which

Text continued on page 181

Circle 120 on inquiry card.

16K RANll

FULLY STATIC ■KIT —" "

$350

10 SLOT MAINFRAME

TT-10 KIT S325

1 0 SLOT TABLE TOP

Ml CROCOMPUTE RS

TT-8080 .KIT $440

SYSTEM WITH 1 6K & I/O

TT-8080-S KIT $1 050

-*^* IM* l y *

CARD CAGE &

MOTHER BOARD

ECT-100 . KIT S100

CCMB-10 KIT $75

WITH CONNECTORS

& GUIDES

ECT-100-F . KIT $200

CCMB-10-F KIT $125

CPU'S, MEMORY

MOTHER BOARDS

PROTOTYPING BOARDS

EXTENDER CARDS

POWER SUPPLIES

SHIPPING EXTRA

DEALER INQUIRIES INVITED

ELECTRONIC CQNTRQL TEChMQLQGV

FACTORY ADDRESS:763 RAMSEY AVENUEHILLSIDE, N. J 07205

MAILING ADDRESS:

P. O. BOX 6

UNION, N J 07083

(201) 686-8080

IIIIIIIIIJ

Having Reservations About l^jptware?HUNT NO MORE!

SmoljCJUfCfnal Broadcasting presents the

SA-1 SUPER ASSEMBLER

Uses Motorola Standard Mnemonicsfor 6800 Microprocessor

•Input source code from file on Smoke Signal Broad-casting's BFD-68 disk system.

• Disk capability allows assembly of source code largerthan available memory.

• Outputs object code to disk file.

• Assembly listings include alphabetized and tabulatedsymbol table.

• Complete source listing included.

Only $29.00 (on diskette)JUJijr We're the "CHIEF" in 6800 products software

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

November 1978©BYTE Publications Inc 171

Listing 7, continued:

KRITCI-. CHECK")!IF RHHT THEN

WRITE!". M*TE">SIF RHIL THEN

WRITE!", ILLEGAL"1(IF RHSU THEN

WRITE!", SEARCHEO"l|CASE RHPR OF

F»LSEl I* NOT PRONOTION •>CASE RNOO OFFALSEI l« NOT CASTLE MIF RHEP THEN

WRITE!", ENPASSANT");TRUEI (• CASILE •>BEGIN

WRITE!", CASTLE "I!IF RMQS THEN

WRITEI"LONG">ELSE

NRITE("SHORT"l iENOiEND;TRUEI !• PROMOTION •»BEGIN

WRITE!", PROMOTE TO "I!CASE RMPP OFPQl "RITE("QUEEN-);WRITE("ROOK"):WRITE("BISHOP"l;HRITE("KNIGHT")I

PRlPBlPNI

ENO;

end;eno;end;eno;

nritelni".") ;eno; (* prihov *)

PROCEDURE PRINTB(AIRC);

(• PRINT A BOARD •>

VAR

INTR I tr;INTF I tf;

('

RANK INOEX •>FILE INOEX •>

BEGIN

hriteln;

FOR INTR la RS OOHNTO Rl 00BEGIN

WRITE I- ".OROIINTR) *lll," ") : I

FOR INTF is Fl TO FJ DO 1

hrite ixtpciaixtrfslintr,intf1ii)i

(• output contents of squareuritelnj l« write out a rank •)

end:

hriteln (" ii rnbqkbnr-i; (• write out bottom label •!

end; i* printb •)

I" WRITE A BLANK LINE M

I* LOOP DOWN THROUGH RANKS "I

OUTPUT RANK LABEL •)

LOOP ACROSS THROUGH FILES

PROCEDURE PRINBBIAIRS):

VAR

INTR I tr:INTF I IF;

BEGIN

hriteln:

for intr 1= rs oohnto rl 00

BEGIN

WRITE I" ",0R0(INTR!*lll,- "»:FOR INTF ii Fl TD FA. 00

write ixtbclinrstbia.xtrfsiintr,intf1)}!(

(• output contents of square •>hriteln; (• write out a rank •>

eno;

writeln i" w rnbqkbnr-i; (• hrite out bottoh label •!

eno: i" prinbb •!

(• PRINT A BIT BOARD •!

<• RANK INOEX •!(• FILE INOEX •>

I* HRITE OUT A BLANK LINE •)t* LOOP OOHN THROUGH RANKS •>

OUTPUT RANK LABEL "II" LOOP ACROSS THROUGH FILES •!

PROCEDURE PRINAMIAlFXI;

VAR

INTR, JNTR I TR;INTF, JNTF I TF:

!• PRINT ATTACK MAP •)

I* RAHK INDICES •!(• FILE INDICES •>

BEGIN

HRITELN:

FOR INTR 1= R6 OOHNTO Rl 00

BEGIN

FOR JNTR 1= R8 DOWNTO Rl DOBEGIN

FOR INTF 1= Fl TO F8 00BEGIN

HRITE(" "I :

FOR JNTF |= Fl T3 ffi 00

BEGIN

WRITE(*TBCIINRST6(AIXTRFSlINTR,INTFl),ITRFSlJNTR,JNTF]lli:END;HRITE(~ "I:

end:

writeln:eno:writeln:

IF INTR IN (Ri,M,R5.R?l THEN PAUSER;

End:

end: I* PRINAM •!

PR0CE0URE PRISHI ( A 11- A;8|TBI :BEGIN

PRINT A SWITCH

WRITE!" ",A(AA] ,AtAA*ll> ;IF 8 THEN

HRITELN!" ON")ELSE

HRITELN!" OFF");eno: I* PRISHI ♦)

PROCEOURE MBEVALl

VAR

INTI I TI|

BEGIN

IF MBLTE <» 0 THENIF MBLTE > 0 THEN

INTI 1= HBPHNILITE1ELSE

INTI 1= MBPHNIOARK)ELSE

INTI i> 0;

I* EVALUATE MATERIAL BALANCE •)(• COUNT PAWNS OF WINNING SIDE •>

MBVALIJNTK) I- SIGNIMINININIFMAXHT,ABSIMBLTEI I

• FrRAOE*ABSIHBLTE>>IFTROSL-HBTOT>>l<>MNTI»FTRPOK>DIV CMNTI»FTRPHN> OIV 2621A4,16320 I,M8LTEl;

ND; !• M8EVAL •)

PROCEOURE NBCAPT(AiTP);

<• EVALUATE MATERIAL AFTER

CAPTURE "I(• PIECE CAPTURED •)

(• TOTAL MATERIAL ON BOARD "I

BEGIN

MBTOT 1= MBTOT - ABSIXTPVIA 11;IF XTPUIA1 = EP THEN

HBPHN!XTPHIA)> 1= HBPHHI XTPMI A 1 ) - l:

I* REMOVE PAWN IF NECESSARY •)MBLTE 1= MBLTE - XTPV1A1: |« LITE AOVANTAGE •)

MBEVAL; (• EVALUATE MATERIAL •>

ENO; <• NBCAPT •)

PROCEDURE HBTPAC

(aitpi:

(• REMOVE CAPTURE FROM

MATERIAL BALANCE DATA. THISIS THE INVERSE OF NBCAPT 'I

(• PIECE UNCAPTUREO •)

BEGIN

MBTOT 1= MBTOT ♦ A8S(XTPV(A I)J

IF XTPUIA] i EP THEN

M8PHNIXTPM(A)] |i MBPHN[XTPH[A)) * l;

MBLTE 1= MBLTE • XTPVtAi:END: (• MBTPAC •»

PROCEDURE HBPROH

EVALUATE MATERIAL BALANCECHANGE DUE TO PAHNPROMOTION •)PIECE TO PROMOTE TO •)

BEGIN

M8T0T I

MBTOT * A8SIXTPVIAl-XTPVIXTUMP(EP,XTPM[A)]));

!• TOTAL MATERIAL ON BOARD •)MBPWNIXTPMIA1] I. MBPWN1XTPMIAll - i:<« COUNT PAWNS •)MBLTE |= MBLTE ♦ XTPV[A]-XTPVI XTUHP[EP,XTPMIA)});MBEVAL; t* EVALUATE RESULT •>

END! I* HBPROH •)

PROCEOURE MBMORP

(AITP):

I* REMOVE PAWN PRONOTION

FROM NATERIAL BALANCE DATA.THIS IS THE INVERSEOF HBPROH »1

t* PIECE PROMOTED TO •>

BEGIN

MBTOT 1= MBTOT - ABS(XTPVIAl-XTPVIXTUHPCEP,XTPMIA 11 I I :

MBPWNIXTPMIAII I" MBPWNIXTPMIA)| • 1|

MBL'E I* MBLTE - IXTPVIAl-XTPVIXTUNPIEP,XTPNIA 11]I:ENOI (• MBHORP •)

PROCEOURE AOOATK(AITSI;

VAR

INTO | IB;

INTO I to;

INTE

IHTM

INTP

INTI

te;

TN|

tt;

BEGIN

INT

INT

FOR

BEG

I

I

I

P l> NM |= XT

INTE IIn

NTT IiNIB 1 =NTO 1 =EPEAIINTI IIF INTBEGINSETRSETRSETRIF N

ORDIA >;

PH|INTP1;

= XFPEIINTP1 TO XLPEIINTPJ

A;

XSPBlintpi;XTEOlINTEl:

ADO ATTACKS OF PIECE TO DATABASE •>

SQUARE OF PIECE TO ADDATTACK •>

LOOP CONTROL BOOLEAN •)CURRENT DIRECTION OFFSET •)CURRENT DIRECTION INOEX •)COLOR OF CURRENT PIECE MCURRENT PIECE •)RUNNING SQUARE *)

PIECE OF INTERESTCOLOR •!

INITIALIZE RUNNING SQUARETRUE IF SWEEP PIECE •)OFFSET "I

<TLSIXTSLIINTT1»= C THEN

S(ATKFR(A1.INTTITSIATKIOI INTTI ,AI ',SIALATKIINTH1,INTT);BOROIINTT] <> HT THENINTB Ii false:

INTO); (• STEP IN PROPER DIRECTION •>

172

November 1978 j81 1L Publication* HK

Circle 289 on inquiry card.

RECYCLE(D)COMPUTERS

| - m m ■;■' *■■»■ ■ ■:»>■■ ■ • ■■••■•■■ ■•■iiiii;iivi!i;«;ii;iiiii ■■ |

BUY ri SELL $ SWAPHardware & Software

NEW PRODUCT ANNOUNCEMENTS22 pa#<*

Mailed 1st Class every 3 Weekslyr. (18 issues) i$ $3.75

ON_LINE -#

O.mt iirrilr. P«W(«t)tr iCsutilisliro 1073

24695 Santa Cruz Hwy.. Los Gatos, CA 95030

The BEST WAY TO 0ET£*miNE if CN._i.INE CAN M OF VALUE TO YOU 15 TO TRY A

Art-by-Computertm is here!

Fi le 1

Fi le 3

BIack-on-white, 9 3/4H by 12 3/4W reproductionsof computer generated designs. See Jan 78 Byteor phone or write for a brochure.Set of 12 $20 00, singles $2 00 each. Minimumorder 2 prints. Orders less then $10.00 andall orders from outside continental U.S. add$2.00 postage and hand I ing Payment must bein U.S. dollars. California residents add 5%sales tax. Send check or money order to:

LeI and C. SheppardPO Box 60051, Dept. BSunnyvale, California 94086

Also available at selected retail outlets

LCS, 1978.

ESSENTIAL

Good Software is Essential for an Efficient Business.Now, the finest in software at a price you can afford.We are definitely the affordables!

PROGRAMS CURRENTLY AVAILABLE:

INVENTORY PROGRAM PACKAGE

• Inventory Addition

• Update

• Search

• Analysis (Current month)

• Analysis (Year to date)

• Vendor File

Also generates 7 additional user reports and much, much more.

— Cost $175.00 —

MAILING LIST PROGRAM

•Print formating in 80 or 132 columns.

— Cost $20.00 —

The above programs are designed to run under the following:*CP/M in CBASIC*CP/M in BASIC EIC0M FD0S-III

8 Disk IBM 3740 Format.

EXTENSIVE CONTRACTORS ESTIMATING PROGRAM

Literature available upon receipt of your letterhead

Currently Under Development:

• Billing

• Payroll

• General ledger

Specializing in custom software for the AM-100**Oatafacs System Inc. Eastern Division2440 W Catalpa, Chicago, III. 60625

•CP/M is a Trademark of Digital Research Corp."AM-100 is a Trademark of Alpha Microsystems

also IMSAI IMD0S

in Debbi (Source code included)

Having Reservations About Yojppware?

SmoJjg^Jfgnal Broadcasting presents the

SG-1 SOURCE GENERATOR

Program for disassembly of object code into source codefor direct editing and re-assembly.

• Output directed to tape or disk with either SWTPCo'sco-resident assembler format, or Smoke Signal Broad-casting's Text Editing System format.

• Reports number of bytes in source code file, numberof external labels, number of local labels, and numberof variables for computing memory space necessaryto assembly source code generated.

Only $24.95 (on cassette), $30.95 (on diskette)We're the "CHIEF'' in 6800 products software

6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 81 on inquiry card

Circle 320 on inquiry card.

BV It Nmernbei 197S 173

Listing 1, continued:

ENO

ELSE

intb i= false;until not intb;end:

end; !• »OD«TK •)

procedure aooloc(»its;atTPi;

BEGIN

CLRRSITPLOC(HT),A>|SETRSITPLOC(B).A)I

S£TRSITHL0CIXTPH(8)),A)!SETRS(»LLOC(JNTK),«I|N8OR0(»l I* BlENO! (• AOOLOC •)

PROCEDURE CLSTAt;

•DO PIECE TO DATA B«SE •>SQUIRE KITH NEM PIECE ON ITNEH PIECE TO AOO •)

(» BIT BOARO OF ENPTT SQUARES •>

(• BIT BOARO OF «LL S*NE PIECE •>

(• SIT BOARD OF ALL SANE COLOR "1

(• BIT BOARD OF »LL PIECES •>

«• SET NEN PIECE ON BOARO •>

!• CLE«R POSITION ST»TUS •!

BEGIN

UITH BOARD

DO

BEGIN

RBTN

l«

lite:

RBTS

l«

•tl

RBSQ

1 =

i II

eno;

ENO; (•

CLSTAT •>

PROCEDURE CUT4TK

HITS)

V»R

INRS 1

rs;

INTS 1

ts;

IHRS ■

rs;

INTO 1

to;

INTN 1

tm

INTL 1

tl-

INTT ■

tt-

BEGIN

CPVRSIINRS.ATKTOIA]);HHILE NXTTSIINRS.INTS) DOIF XSPBtNBOROCINTS)I THENBEGIN

INTD I* XLL01«TSLI»1-XTSL(INTSII

INTH is XTPH(NBORO[INTSIl:INTL I" XTSLI»l»INTO:INTT 1= XTLSIINTL);

MHILE INTT > »T DO

BEGIN

CLRRSI»TKFRIINTS1.INTT);CLRRSIATKTOIINTTI,INTS)t«NDRSIIHRS,ATKTOtINTTI,THLOCI

I* UNITE TO HOVE •)

l» NO ENPASSANT •)

I* NO CASTLING LEGAL •)

<• CUT ATTACKS THROUGH SQUARE<• SQUARE •)

!• ATTACKING PIECES •>

(• ATTACKING PIECE SQUARE •)

<• SCRATCH •>

(• STEP SIZE •)

(• ATTACKING PIECE SIDE •)

!• NO LONGER ATTACKED SQUARE •)

(• NO LONGER ATTACKED SQUARE •)

!• ALL PIECES ATTACKING SQUARE •)(• IF SHEEP PIECE •)

IF NULRSIIHRSI THEN

CLRRS(ALATK(INTH|,INTT);IF NBOROIINTT) « HT THENBEGIN

INTL 1= INTL'INTO;INTT 1= XTLSIINTLI:ENOELSE

INTT i= at;eno;end;end; (• cutatk •)

PROCEOURE DELATKIAiTS)|

STEP SIZE ON 10 X 12 BOARD •)(• SIDE OF ATTACKING PIECE •)<• FIRST SQUARE BEYOND PIECE •)(• FIRST SQUARE BEYOND PIECE ON

•xa BOARO »l<• HHILE ON BOARO •>

<• CLEAR ATTACK HAP »l

inthii;

(• other attacks on square by

same side •)(• if no attacks by that side *l(• clear attacks by side •>

(• STEP BEYOND SQUARE •)

VAR

INRS i RS;

IHRS I rs;INTS I ts;

inth i th;

BEGIN

CPYRSIINRS.ATKFRIAI)i

NEHRSIATKFRIAII:

INTH I' xtphinbordiaii;

NHILE HXTTS(INRS.INTS) DO

BEGIN

CLRRSIATKTOIINTS),All

STOP SCAN •)

OELETE ATTACKS FRON SQUARE •)SQUARE TO REHOVE PIECE •)

SQUARES ATTACKED BY PIECE ON

SQUARE •)

SCRATCH •)

SQUARE ATTACKED BY PIECE ON

SQUARE •)

SIOE OF PIECE ON SQUARE •)

SQUARES ATTACKED BY PIECEON SQUARE •)

CLEAR ATTACKS FROM SQUARE »lSIDE OF PIECE ON SQUARE •)LOOP THROUGH ALL ATTACKS BYPIECE «l

CLEAR ATTACK TO OTHERSQUARE •)

AHDRS<IHRS,ATKTO[INTS).TNLOCIINTH)>:

if nulrsiihrsi theh

clrrsialatkiinth1.ints):clrrsitplocinborofa]],a);clrrsithlociinthi.a):clrrsiallocijntkla);setrsitplocihti.a);

NSOR0IA1 1= ht;

eno;end: i" oelatk •)

I* OTHER ATTACKS BY SAHE SIOE •>

CLEAR ATTACKS BY SIDE •)CLEAR PIECE •)CLEAR PIECE FROH SIOE •)CLEAR PIECE FROH ALL PIECES •)SET EHPTY •)

PROCEOURE

PRPATK

IAiTSI

VAR

INRS 1

RS;

INTS 1

ts;

INTO 1

to;

INTM 1

TH;

INTL 1

tl;

INTT 1

tt;

!• PROPAGATE ATTACKS THROUGH

SQUARE »l(• SQUARE •)

(• ATTACKING PIECES •)

(• ATTACKING PIECE SQUARE •

(• STEP SIZE •>

(• ATTACKING PIECE SIOE •)

!• NEH ATTACKEO SQUARE •)

!• NEH ATTACKEO SQUARE •)

BEGIN

CPVRSIINRSiATKTOl AD :HHILE NXTTSIINRS.INTS) DOIF XSPB(NBORDIINTSI) THENBEGIH

INTO 1= XLLO{XTSL|A)-XTSL(INTS)l;

INTH 1= XTPHINBORO(INTSI);INTL 1= XTSLCAHINTO;INTT I' XTLSIINTL);

HHILE INTT »• 0 DOBEGIN

SETRSIATKFR(INTS).INTT);SETRSIATKTO(INTT),INTS);SETRSIALATKtINTH),INTT);IF NBOROIINTT) ■ NT THENBEGIN

I* INTLtlHTO; •XTLSIINTL):

INTLINTT I

ENO

ELSE

INTT IENO;

eno:

; (• PRPATK

PROCEDURE GAINITIAIRHI:

BEGIN

WITH A 00BEGIN

A0OL0C<RHFR,NBORD[RHT0!>;

AOOATKIRHFRI;CUTATK(RHFR);OELATK(RHTO);

ADOLOCIRHTO.RMCF);AOOATKIRHTOi;HSTPACINSORDIRHTOI) ;END:ENO; !• GAINIT •)

PROCEOURE LOSEITIAiRH);

BEGIN

HITH A 00BEGIN

HBCAPTINBORDtRHTOI):DELATKIRNTO);

ADDLOCIRHTO.NBOROIRHFRI):

DELATKIRHFR);

PRPATKIRNFRIJ

AODATKIRHTO);

END;

ENO: (• LOSEIT •)

PROCEOURE HOVEIT(AlRNI)

BEGIN

HITH A 00BEGIN

AOOLOCIRNTO.NBOROCRHFR)!;CUTATKIRHTOIi

delatkirhfr)',

prpatkirnfri ;

aodatkirhto);eno;eno: i' hoveit •)

PROCEOURE RTRKITIAIRHI:

BEGIN

HITH A 00BEGIN

AODLOClRHFR.NBOROlRHTOII;

CUTATKIRHFRi;

oelatkirhto);prpatkirhto);

aooatkirhfri;

end;end: i* rtrkit •!

<• ALL PIECES ATTACKING SQUARE •!

!• IF SHEEP PIECE •)

t« STEP SIZE ON 10 X 12 BOARO •)

I* SIOE OF ATTACKING PIECE •(

(• FIRST SQUARE BEYOND PIECE •)

<• FIRST SQUARE BEYOND PIECE ON

•XI BOARD •)

<• HHILE ON BOARD •)

I" SET ATTACK NAP •)

!• SET ATTACKS BY SIOE •)

!• STEP BEYOND SQUARE M

<• STOP SCAN •)

(• UNPROCESS CAPTURE HOVE •)!• CAPTURE HOVE •)

PUT PIECE ON ORIGINALSQUARE •)

STOP ATTACKS AT THIS SQUAREREHOVE THEH FROHDESTINATION SQUARE •)REPLACE CAPTURED PIECE •)

!• UPOATE SCORE

!• PROCESS CAPTURE HOVE!• CAPTURE HOVE •)

UPDATE SCORE •>

OELETE ATTACKS OF CAPTUREO

PIECE M

AOO PIECE TO DESTINATION

SQUARE •)

OELETE ATTACKS OF HOVING

PIECE •>

PROPAGATE ATTACKS THROUGH

FROH SQUARE •)

AOD ATTACKS OF HOVING PIECE

{• PROCESS ORDINARY HOVE •)I* ORDINARY HOVE •)

l« AOD PIECE TO HEH SQUARE •>I* CUT ATTACKS THROUGH NEH

SQUARE •><• DELETE ATTACKS FROH OLO

SQUARE •>■• PROPAGATE ATTACKS THROUGH OLO

SQUARE 'I(* AOO ATTACKS FROH NEH SQUARE *)

I* UNPROCESS ORDINARY MOVE •)l» THE MOVE TO RETRACT •)

(• PUT PIECE ON ORIGINAL

SQUARE •)I* CUT ATTACKS THROUGH ORIGINAL

SQUARE M!• OELETE ATTACKS FROH

OESTINATIOH SQUARE •)f PROPAGATE ATTACKS THROUGH

DESTINATION SQUARE *)(• ADO ATTACKS FROH ORIGINAL

SQUARE •)

174 November 1978 © BYTE Publications Inc

Circle 324 on inquiry card.

Circle 3 on inquiry card.

ATTENTION SWTPC DISC SYSTEM USERS

aii Ed smiths M6800 SOFTWARE TOOLS

are now available Ifl mimFLEX format as well as Smoke Signal Broadcasting format. SeeJulv BYTE for d.skette media prices. Disc users specify SSB OR SWTPCO.M6800 RELOCATING ASSEMBLER AND LINKING LOADER software for rapid programdevelopment and debugging Some of us features are RELOCATABLE CODE-FULLALPHABETIZED CROSS REFERENCE LISTING BOTH GLOBAL AND LOCALLABELS LISTING OF EXECUTION TIME RELATIVE BRANCH TARGET ADDRESS-ES 8 CHARACTER LABELS CORESIDENT EDITOR ENGLISH ERROR MESSAGES-80 COLUMN LISTING USING PR-40 etc

M68AS . casMtt* .$50.00

M68AS D . .minifloppy $55.95

M6800 RELOCATABLE DISASSEMBLER AND SEGMENTED SOURCE TEXT GEN-ERATOR This software tool enables vou to modify and adapt those large sized object pro-grams and re-assemble them on your system without requiring enormous memory Thisprogram will produce segmented source text files with all the external linkage informationrequired for re assembly using the above Relocating Assembler

M68RS . xMMtt* $35.00

M68RS D minifloppy $40.95

M68ASPK Above two programs on single diskette $85.00

The above two programs are furnished in relocatable formatted code with instructionmanuals and commented assembly listings. The loader is also supplied in standard MIKBUGformat on cassette or as a binary file on disc to initially load the linking loader at any de-sired address.

The linking loader <s also available in EPROM on two 2708's for $45.00. Specify desiredaddress and version, i.e cassette. FLE X or SSB.

FIRMWARE from Ed Smith's SOFTWARE WORKS

A 2k Monitor Disassembler Trace Debugging Tool in EPROM. Use as stand-alone monitor oras an adjunct to your Smartbug or Swtbug Requires ACIA as control port. Provides all themonitor commands (23) you could ever ask for, plus the convenience of a mnemonic dis-assembler and single stepping disassembler trace display. Interactive use of single or dualbreakpoint with trace pickup at breakpoint, plus many new monitor functions and sub-routines, makes this a super tool you will love to work with. Uses location $F800 to$FFFF Furnished on two 2708 s or one 2716. Includes Manual and commented assemblylisting Specify ACIA location and present monitor in order to keep SA0OO RAM com-

pat,Dili,v SMITHBUG ON 2708's $60-00

SMITHBUG ON 2716 $70.00

Get under Ed Smith's Software RUG (Relocating assembler Users Group! All RUG mem-bers will have use of a building software support library in relocatable format. Upcomingitems are a Floating Point package and a Trig package.

Order direct by check. Specify system configuration if other than SwTPCo. Californiaresidents add 6% sales tax.

Edsmi,hS SOFTWARE WORMS

P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3350

P. O. BOX 2528 • ORANGE, CA. 92669(714) 774-1270

BASIC SOI rWARLNORmSTAR IRS 80 APPLI.

NORTH S1AR BASIC on diskcne, rcjrjy to run. North Sur lulori.il I. I uturijl II,Tuluri.il III (Release 4) leaches Nurih Sur Bask, Word Processing, Accls. Payable,Aids. Receivable, Payroll, General Ledger, Medical/Prut Ac.lv, Rec. Billing,Inventory, Sales Analysis, Computer Chess, Marling Labels, Personnel System,MANY MORI AVAII.ABLL. I.ACM INDIVIDUAL SYSTI M 5J5.00

IOIALLY INTEGRATED SYSTLM (A/R, A/P, GEN. LI DGI R. PAY, LEI II KGLNLRAIOR, BUS, SIAIISTICS) in Binder Complete Doc, 4150.00

Checkbook Bal., Budget Planner, Coll llandicapper, Came Disk, X RAILD StoryGenerator. MORI. AVAILABLE. EACH INDIVIDUAL SYSII.M $25.00

10 TEST, MLMORY Diagnostic, Pcrs. I inance. Bus. Statistics. Crypto Encoder.Sign Maker, Menu Planner * 1 50.00 EACH

SINGLE or DUAL DRIVE. 8K I rcc Memory Required

rRS-80 on cassette (Level 1), Numerous Games, Examples, STARTRLK, WUM-

PUS. MORE only 13.95 EACH

BASIC TUTORIAL (Learn Basic Programming) 19.95

STOCK MARKET ANALYSIS J9.95MANY MORL.

APPLE on Cassette, Many Games, Examples, WORL0POWLR, STARTRLK,BOWLING, BINGO 15.95 EACH

BASIC TUTORIAL (Learn Basic] 19.95

STOCK MARKET ANALYSIS 19.95

BUDGE I PLAN 15.95

APPLE DISK BUSINLSSSYSILMS, A/R, A/P, etc. ONLY 535 00 PER SYSTEM

Order by Phone (714) 774-1270, UPS COD, or Mailorder Today.

Over 1000 Systems Sold, Order Now .SOI TWARL BOOKS

SAME PRICE FOR ALL SYSTEMS

Need Intelligence in your488 Instrumentation System

97?

Get it with your favorite S-100 computerand the P&T-488 Interface Board.

The P&T-488 Interface Board gives your S-100 computerthe ability to be a talker, listener or controller on the IEEE-488instrumentation bus. Easy to use software helps youintegrate the P&T-488 into your system—all you do is pass amessage string to the provided subroutines and they takecare of the details. NOW AVAILABLE: Software to accessthe 488 bus directly from North Star Basic and MBASIC.

P&T-488 (assembled & tested) $325

§S^ PICKLES & TROUT

1 KOU 1 P.O. BOX 1206, GOLETA, CA 93017, (805) 967-9563

Having Reservations About YourHUNT NO MORE!

are

Smoke Signal Broadcasting presents the

TD-1 TRACE/DISASSEMBLER

Provides interactive tracing and disassembly for6800 program debugging.

•TRACE allows programmer to control execution ofprogram under test for examination of processor'sinternal registers and memory on instruction-by-instruction basis.

•DISASSEMBLY converts machine code to easy toread mnemonics.

• Hex code for the opcode and program counter dis-played in addition to mnemonic, when instructionis listed.

• Contents of any register or any memory locationmay be changed at any time.

Only $19.95 (on cassette), $25.90 (on diskette)

'We're the "CHIEF" in 6800 products software

QMttitQ QtlGMBLI WWElHTfoP KWTSUi

6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 313 on inquiry card.

Circle 320 on inquiry card.

BYTE November 1978

175

Listing 1, continued:

PROCEDURE PAHNITIAIRNI;

I* UNPROHOTE A PAWN(• PROMOTION HOVE •>

BEGIN

KITH A 00

BEGIN

HBHORPIHBORDIRHTOll; (• UPDATE SCORE •>

NBOROlRNTOI 1= XTUNPtEP,XTPHlNBORDlRNTOJ1 J J

eno;end: <• pahnit •)

PROCEDURE PROACA

(AlTS);

VAR

INRS I RSiIHRS I RS!

I" PROCESS CASTLE STATUS

CHANGES •)I* SQUARE •!

<• SCRATCH(• SCRATCH

BEGIN

CLRRSICSTATIJNTK),AI: !• CLEAR THIS SQUARE •)

ANORSIINRS,CSTATC JNTK1,XRRS1XTSRIA 111 I

(• CASTLE BITS FOR THIS SIDE •!IF NOT INRSTB(INRS,XTRFSIXTSRIAI,F51I THEN

(• IF KING HOVE "IANORS(CSTATI JNT« I .CSTATI JNTK ] , XNRSI XTSRI A 11 I t

(• CLEAR ALL CASTLE HOVES FORSIDE •>ANDRSIIHRS.IHRS.XRFSIFail: (• KING ROOK SQUARE •>

AN0RSIINRS.INRS.XRFSIF1III (• QUEEN ROOK SQUARE *l

IORRSIINRS.INRS,INRS)t (• BOTH ROOK SQUARES •>

IF NULRSIINRS) THEN (• IF BOTH ROOKS GONE •!

ANORStCSTATIJNTK I.CSTATIJNTKI .XNRSI XTSRIA I I) tENO; 1" PROACA •)

PROCEDURE PROACS

(AlRHII

BEGIN

HITH A DOBEGIN

IF IHRSTBICSTATtJNTKI.RNFRI THEN

PROACAIRHFR);IF INRST8ICSTATIJNTKI.RHTOI THENPROACA(RHTOI!END;END! <• PROACS •>

PROCEDURE PRONOTlAlRHI!

BEGIN

KITH A 00BEGIN

hbprohixtghpi rhpp.jnthh;hbordirhfri |i xtghp(rhpp,jntm);eno;eno: <• pronot •!

PROCEDURE CREATE;

VAR

INRS I RS;

IHTH I tn;

INTP I TP!

INTQ I TQ;

INTS 1 ts:

BEGIN

HITH BOARO DOBEGIN

JNTM != AH»i;

JNTK 1= ak;jntm i= rbtm;

NODES I' 0;

LINDXtJNTK) la JNTMtSRCHHIJNTK1 Is HD;

FOR INTS la AS TO ZS 00BEGIN

HEMRSIATKFRI INTSM;

NENRSIATKTOIINTS11;NBOROIIHTS) la NT;

end;

nenrsiallocijntkii;for intp i' lp to nt 00

NEHRSt TPLOCl INTPP ;

FOR INTH 1= LITE TO NONE 00BEGIN

NEHRSITHLOCIINTHII;

NEHRSIALATKlINTH1);END;

<• PROCESS HOVES AFFECTING CASTLE

STATUS •)(• HOVE MITH RHAC •!

(• FROH SQUARE •!(• TO SQUARE •)

(• PROCESS PROHOTION(• PROHOTION HOVE •!

(• UPDATE SCORE •!

(• CREATE GLOBAL OATA BASE •)

(• SCRATCH BIT BOARO •)

<• COLOR INOEX •>

(• PIECE INOEX •!

(• CASTLE TTPE INDEX •>

!• SQUARE INDEX •!

C INITIALIZE HOVES STACK

POINTER •!(• PLT INDEX •>(• SIDE TO HOVE •>

t* INITIALIZE TOTAL NODES »l

!• HOVES ARRAY LIHIT »l(• SEARCH HOOE •!

(• CLEAR ATTACKS FROH -1

<• CLEAR ATTACKS TO •>

(• CLEAR LOOKAHEAD BOARO •)

(• CLEAR ALL PIECE LOCATIONS •!!• CLEAR PIECE LOCATIOHS •!

(• CLEAR COLOR LOCATIONS •)|« CLEAR COLOR ATTACKS •)

HBTOT ■• t;NBPHN(LITE) I' C;

HBPHNIDARKI 1=0:HBLTE l« 0;

FOR INTS 1: AS TO ZS DOIF RBISIINTS) <> HT THENBEGIN

AOOLOCdNTS.RBISI INTS1I iHBTPAC(RBIS[INTS11;

END

ELSE

setrsitpl0ciht1.ints):

hbeval;

cprrsiinrs.allocijntkii;

nhile nxttsiinrs.intsi 00aodatkiints) :

<• EVALUATE HATERIAL •!

(• COPT BIT BOARO OF ALLPIECES M

NENRSICSTATUNTKIKFOR INTQ |a LS TO DL DOIF INTQ IN RBSQ THEN

IORRS(CSTAT(JNTK),CSTATIJNTKl.XSQSIINTQ11 :

<• ADO ATTACKS OF ALL PIECES •!(• INITIALIZE CASTLING SQUARES •>

NEHRSIENPASIJNTK1I ;IF RBTS >= 0 THEN

SETRS1ENPASIJNTKI.RBTSIJ

!• INITIALIZE ENPASSANT SQUARE •!

CPYRSIGENPN(JNTK),TPLOCIXTUHPtEP,JNTH)ll;H0TRSIGENT0IJNTK1.THL0CIJHTH1I;NOTRSIINRS,GENPNIJNTK1»:ANORSIGENFRIJNTK),THLOCIJNTH1,INRSI;END;

(• CREATE •>

PROCEDURE ONOATE

IAIRHII

VAR

INTS 1

INTR 1INTF t

ts;

TR!

TF;

RKFR ■RKTO t

TSI

TS|

«• OONNOATE OATA BASE TO BACK

OUT A HOVE •)«• THE HOVE TO RETRACT •!

(• SCRATCH •!

I« ROOK RANK FOR CASTLING »>

(• ROOK FILE FOR CASTLING •!

(• ROOK FROH SQUARE •)I* ROOK TO SQUARE "I

BEGIN

HITH A DDBEGIN

CASE ORDCRHCAIX. • OROIRHACI*Z • OROIRHPR) OFOl (• OROINART HOVE •)

RTRKITIAI;It I" PAHH HOVE AND PROHOTE *lBEGIH

pahhitiai;

rtrkitiai;end;21 (• miscellaneous acs •)if rhoo thenbegin (• castle •)

if rhqs then

INTF 1= FlELSE

INTF 1= fa;INTR la XTSRIRHFRi;

RKFR I: XTRFS!INTR.INTFl;

RKTO t= IRHFRtRHTOI OIV 2!

AOOLOCIRKFR.NBOROIRKTO]>X

OELATKIRKTOI;

PRPATKIRKTOI:

AOOATKIRKFR);

RTRKITIAI ;ENDELSE I* NOT CASTLE •)

RTRKITIAI;3i; !• NULL HOVE •!<•! (• CAPTURE •!IF RHEP THENBEGIN (• CAPTURE ENPASSANT •!

INTS 1 = XTRFSIXTSRIRHFRI.XTSFIRHTOII;

AODLOCIINTS.RHCPI|

CUTATKIINTSI;

ADOATKIINTSi;

RTRKITIAI; !• RETRACT PAMN HOVE •!

H6TPACINB0RDIINTSII; !• AOO PIECE TO SCORE •

ENDELSE (' CAPTURE NOT ENPASSANT »l

GAINITIA);51 (• CAPTURE ANO PROHOTE •>BEGIN

pahhitiai ;gainitiai;eho;61 |« capture acs •!

gainitia) ;7| (• capture rook acs, prohote

BEGIH

pahnitiai ;gainitiai|end;eho;

JHTH |i LINOX(JNTK);

I" ROOK ON QUEEN ROOK FILE •>

• ROOK ON KING ROOK FILE •!

• ROOK FILE •!

• ROOK FROH SQUARE •)

• ROOK TO SQUARE •!

• REPLACE ROOK •!

!• RETRACT KING HOVE •»

!• UHPROHOTE •>!• UNCAPTURE •)

!• UNCAPTURE •!

JNTK I* JNTK-i:JNTH la OTHERIJNTHI;

eno:

ENO; I* ONOATE *l

function updateivar airhi■ tb;

VAR

INRS I RS;

IHRS I rs;

INTS I ts;

INTF | IF;

(• RESET HOVE GEHERATIOH

POINTER •!I« BACK UP PLT INOEX •!I" SHITCM SIOE TO HOVE •!

(• UPOATE OATA BASE FOR A H!• THE HOVE •!I" RETURHS TRUE IF HOVE ISLEGAL •>

!• SCRATCH •)

!• SCRATCH •)

!• SCRATCH •)

(• ROOK FILE FOR CASTLIHG •!

176

November 1978©BYTE Publications Inc

Circle 308 on inquiry card.

Circle 326 on inquiry card.

_55ft5ia<

" your BASIC software magazine "

The PagesCome AliveWith The TouchOf Your Keyboard.

Published monthly

SoftSide Subscriptions

POBox68 Milford NH 03055

$15.00 per year $28.00 for two years

& other

CASSETTE TAPES FOR SALE

We promote, advertise and sellsoftware for free lance computerspecialists all over the United States.

Get the latest issue of our book fullof programs by return mail.Send $1.00 to:

Programmers Software Exchange

2110 N. 2nd Street

Cabot, Arkansas 72023

INTEGRATED

SMALL BUSINESS

MICROSOFTWARE

IN 'BASIC

MICROLEDGER - General LedgerMICR0PAY - Accounts PayableMICR0REC - Accounts ReceivableMICROPERS - Personnel/PayrollMICR0INV - Inventory Control

Please send me informationon small business software:

c

O </)

& ^

.5! ™

C5 en

0 o5 £

ro »Cn

W .5

£ a

X 6Q S

KU 6

2 a

.S T3

^ s12 *

1 "3

0) c

O cO

< o

□

NAME.

ADDRESS.

CoaapuAAax Associates

505 Hamilton AvenuePalo Alto, California 94301Telephone: (415) 321-2881

Having Reservations AboutftBUHJMdKS!

Smoh

lal Broadcasting presents the

SD-2 6800 BASIC COMPILER

For High Performance Process Control Programs andBusiness Applications

• Fast execution—syntax analysis of line not performedeach time line is executed.

•More power in runtime package—no room needed forstatement analysis, program editing and listing.

•Wider variety of facilities — nested conditions, IF—THEN-ELSE, and others.

• Decimal floating point, accuracy to a minimum of 9digits, dollar values to $99,999,999.99.

• PRINT USING for formatted output.

• Utilizes RANDOM ACCESS disk files.

$325.00 (manual only, $10.00)|f We're the "CHIEF" in 6800 products software

SHOES SICIALBBOABCJUTIIfi

6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 48 on inquiry card.

Circle 320 on inquiry card.

BYTE November 1978 177

Listing 1, continued:

IHTR 1

IR

RKTO 1

TS

RKFR I

TS

ECIN

WITH A

00

BEGIN

<• ROOK RINK FOR CASTLIHG •I* ROOK DESTINATION SQUARE(• ROOK ORIGIN SQUARE "I

JNTK Is JHTKsl!NENRSIEHPASIJNTK1I;

CPYRSICSTATIJNTKl.CSTATlJNTK-lll iCPVRSlALLOCIJNTKl.ALLOCIJHTK-lli;MBVALIJHTK1 |= N6VALIJNTK-11;LIN0XUHTK1 lc JNTH!

CASE 0R01RHCAI*!. ■ 0RD(RNAC>*2 I OROl !• OROINAPY HOWE •>IF RHEP THENBEGIN

SFTRSIIHRS.XRSS1RHT01.S1I!SFTRSIIHRS.XRSSIRHTOI.STI:IORRSIINRS.INRS.IHRSI:AHDRSIINRS.INRS.TPLOCCX TUNP(

IF NOT NULRS(INRS) THEN

SETRSIENPASlJNTKI, IRNTO.RH

HOVEIT(Ai;ENOELSE

HOVEIT(A):11 (• HOVE AND PROHOTE •)BEGIN

PROHOTIAI;

NOVEIT(A);

eno;21 <• hiscellaneous acs •)

BEGIN

IF RHOO THENBEGIN (• CASTLE •»IF RHQS THENINTF ■• FtELSE

I* ADVANCE PLY INDEX •!<• CLEAR ENPASSANT BIT BOARD •>(• INITIALIZE CASTLE STATUS •)(• INITIALIZE ALL LOCATIONS •)(• INITIALIZE HATERIAL SCORE •)(• HOVES ARRAY LIHIT •!OIRHPRI OF

(• PAWN HOVE 2 SPACES •>

(• SQUARES NEXT TO DESTINATION M

EP,OTHER)JNTH)lit;

(• INTERSECT MITH ENEHY PAMNS •!

>'*! OIV 21;

SET ENPASSANT SQUARE •>HOVE PAMN *)

INTF |a FA)

'

INTR 1' XTSR(RHFR)!

'

RKFR l« ITRFSIINTft,

intfi:

•

RKTO 1= IRNFRsRMTOI

OIV 21(•

ANDRSICSTATIJNTKI.CSTATI JNTK

AODLOCIRKTO.NBOROIRKFRII)

'

AOOATKIRKTOI!

•

OELATKIRKFRI;

•

HOVEITlAi;

•

ENO

ELSE <• NOT CASTLE •

I

BEGIN

PROACSIA):

•

HOVEITlAii

•

(• HOVE PIECE •!

PROHOTE PAHN *1

MOVE PROHOTEO PIECE •)

(• ROOK ON SUEEN ROOK FILE •)

ROOK ON KING ROOK FILE •)

ROOK ON KINGS RANK M

ROOK ORIGIN SQUARE •)

ROOK DESTINATION SQUARE •>

.XNRSIINTRM i

OISALLON FURTHER CASTLING

BV THIS SIDE •!

PUT ROOK ON NEN SQUARE "I

ADD ITS ATTACKS •»

DELETE FROH ORIGINAL SQUARE *)

MOVE KING •>

PROCESS CASTLE STATUS MOOS •>MOVE TO OR FROM KING OR ROOKSQUARE •)

NOOES 1= NOOESsli

eno;end; (• update •>

end;ENO;

; l» NULL HOVE *t!• CAPTURE *!IF RHEP THEN

BEGIN l« CAPTURE ENPASSANT ')INTS 1= XTRFSIXTSRIRMFR1.XTS

HBCAPTINBOROIINTSli;OELATKdNTSi ;

PP.PATK IINTSI ;

HOVIIIIAI }ENOELSE !• CAPTURE NOT ENPASSANT

LOSEITIAI;I* CAPTURE AND PROHOTE •)BEGIN

PROHOTIAI ;

LOSEITIAI;

ENO;

(• CAPTURE ACS •!BEGIN

proacsiai ;loseitiai;eno:(• capture pook acs, prohote

BEGIN

prohotiai;proacsiai ;loseitiai :eno;

FIRMT01i;

(• CAPTUREO PANN SQUARE "I

!• UPDATE SCORE "I

I" DELETE CAPTUREO PANN

ATTACKS »J(• PROPAGATE ATTACKS THROUGH

PAHN »lI* HOVE CAPTURING PAHN •!

•I<• PROCESS CAPTURE "I

<• PROHOTE PANH •!(• PROCESS CAPTUREPIECE •>

IITM PROHOTEO

PROCESS CASTLE STATUS MOOSPROCESS ROOK CAPTURE •!

(• PROMOTE PANN •!

<• CHANGE CASTLE STATUS •)

l« PROCESS ROOK CAPTURE •<

!• INITIALIZE HOVE GENERATION •!

JNTH 1= OTHERtJNTMl; (• SNITCH SIOE TO HOVE •>

CPYRSIGENPNIJNTKl.TPLOClXTUHPtEP,JHTH]1 I;NOTRSIGENTOIJNTKJ.TNLOCIJNTHII;HOTRSIINRS.GENPNI JNTK 11 iANORS(GENFR(JNTKI,THLOCIJNTH1.INRSI I

(• DETERMINE IF MOVE LEAVES KING IN CHECK. OR MOVESKING INTO CHECK •>

AN0RSIINRS.TPL0C1XTUHPIEK,JNTH)I.ALATK[OTHERUNTH)II IRHCH is NOT NULRSIINRSI)

AN0RSIINRS.TPL0C(ITUNP[EK,0THER[JNTH1I1,ALATK[JNTMIItRMIL I' NOT NULRSIINRSI!UPDATE Is NOT RHIL)

IF NOT RHIL THEN (• COUNT LEGAL MOVES •!

HVSELIJNTK-ll Is HVSELIJNTK-1I • II

(• INITIALIZE MOVE SEARCHING •!

SRCMHUNTK) !■ HI;

PROCEOURE

GENONE

(aitt;

BlTSI;

VAR

INRS I

RS;

BEGIN

NITH HOVES(JNTN) DO

BEGIN

RHFR

■ = a;

RHTO

is B;

RHCP

1= NBOROIB);

RHCA

1= INBORDIB] «» HTi;

IORRSIINRS.XRSSIAl.XRSSIBll:

ANORSIINRS, INRS, CST ATI JNTK 1 1

RHAC

Is NOT NULRSIINRSI;

RHCH

Is FALSE;

RHHT

Is FALSE!

RHIL

Is FALSE!

RHSU

Is FALSE;

RHPR

1= FALSE!

RHOO

1= FALSE!

RHEP

is FALSE;

eho;

VALUEIJNTNI Is o:

IF JNTN

< ZN THEN

JNTH

Is JNTHvl!

end; (•

GENOHE •!

(• COUNT NOOES SEARCHED •)

I* STACK ONE GENERATEO MOVE(• FROM SQUARE »lI" TO SQUARE •)

PROCEOURE PHNPRO;

VARINTG

I tg:

BEGIN

MOVES! JNTN-ll.RHPR Is TRUE)MOVESIJNTN-ll.RMPP l» PQ!FOR INTG Is PR TO PB 00BEGIN

M0VESIJNTN1 ■• HOVESIJNTN-ll!

MOVESIJHTMI.RHPP |s INTG)

JNTH Is JNTNsl!ENO!END! !• PHNPRO •>

PROCEDURE GENPHH(AIRS!

siRsi;

VAR

INRS, INRS I RS;INTS I TS!

BEGIN

IF JNTH = LITE THENBEGIN

SFTRSIINRS,A,S2I ;ANORSIIHRS,TPLOC(MTI,INRS!!CPVRSIIHRS.INRS1!ANORSIINRS.B.INRSI ;

(• SCRATCH •!

FROH SQUARE •>TO SQUARE •!CAPTUREO PIECECAPTURE •!

I" AFFECTS CASTLE STATUS •>

I* CHECJt •)

!• HATE •)

!• ILLEGAL •>

(• SEARCHED •!

I" PROHOTION •)

l» CASTLE »l

I* ENPASSANT •)

!• CLEAR VALUE •!

<• ADVANCE HOVES STACK POINTER •!

I* GENERATE ALL PROHOTIONHOVES •>

<• PROHOTION TYPE

SET PROMOTION *>

PROMOTE TO QUEEN FIRST •!

GENERATE OTHER PROMOTIONS •>

COPY LAST MOVE •■

CHANGE PROHOTE TO PIECE •>

ADVANCE HOVE INDEX M

)• GENERATE PAHN MOVES •]

I* PAHNS TO MOVE *l

I* VALID DESTINATION SQUARES »l

I* SCRATCH M

!• OESTIHATIOH SQUARE •!

I* NHITE PAHNS "II* AOVANCE ONE RANK »)!• ONLY TO ENPTY SQUARES •»I* SAVE FOR 2 SQUARE HOVES •!I" ONLY VALIO DESTINATIONSQUARES "I

NHILE NXTTSIINRS,INTSI 00BEGIN

GENONEIXTLStXTSLIINTSI-XTEOIS2II,INTSI;

I* GENERATE SIHPLE PANN HOVES •!

IF IHTS >s XTRFSlR9.Fl] THEN

phnpro;

ENO!

AH0RSIIHRS,IHRS,XRRS[R3lliSFTRSIIHRS,INRS.S2I!ANDRSIINRS•INRS,TPLOCIHTII!ANORSIINRS,INRS.BI!

I* PROCESS PROHOTION •!

I* TAKE ONLY PAHNS ON THIRO *.!• AOVAHCE ONE MORE RANK •!!• ONLY TO EMPTY SQUARES M!• ONLY VALIO DESTINATIONSQUARES '<

NHILE NXTTSIINRS,INTSI 00BEGIN

genoneixtlsixtsli ihts1-2'xte01s21 i,intsi!

!• generate oouble pamn hoves •!hoves!jhth-1|.rhep 1= true; !• flag as tho squares ••

end;

sftrsiihrs,a,811; (• try captures to the left •!

iorrsiihrs,thlociotherijhthi),enpasijntk11!

i" opponeht pieces » ep square "ianorsiinrs,ihrs.bi! !• valid destination souares •!

anorsiinrs,inrs,imrsi; (• capture hoves to left •!

hhile nxttsiinrs.intsi 00

BEGIN

GENONEI XT LSIXTSLI INTS1-XTE0IOil 1,INTSII

i* GENERATE CAPTURE HOVE •!MOVESI JHTH-H.RMCA | = TRUE; !• FLAG CAPTURE •!HOVES!JHTN-ll.RHEP 1= INRSTBIENPASIJNTKI,INTSI!

!• FLAG ENPASSANT CAPTURE •!IF HOVESIJNTN-ll.RHEP THEN

hovesijntn-1).rhcp is op; i" set captureo piece type •!if ints >s xtrfsir6.f1i thehphnpro! i* process prohotion •!

end;

sftrsiihrs,a.b2ii !• try captures to the right •!

iorrsiimrs,thlociotherijhthii,ehpasijntkii!

!• opponent pieces ♦ ep square •!anorsiinrs,ihrs.bi) i* valio destination squares •!

anorsiinrs.inrs.ihrsii i* capture moves to left •!

hhile nxttsiinrs,intsi do

BEGIN

GENONEIXTLSiXTSLI INTSI-XTEOIB2I I.INTSII

I" GENERATE CAPTURE HOVE •■

178 November 1978IDBYTE Public.Iiuns Inc

Circle 321 on inquiry card.

cnnnnnnnnHnnnnnnnnnnnnHHnnannnnnnnnnHHnnHnnnnnn

13

nn

anann5naanuaananannnnnnnnnnnnnnn5n5nnnnn

HH

nnn

H

nnnaaauaan

H

nnn

Available for Immediate Delivery

TRS-80 OWNERS

SOFTWARE NOW AVAILABLECASSETTE OR DISC (DOS)

BUSINESS — Complete small business, inventory con-trol, invoicing, accounts receivable, accounts payable,general ledger, mailing list, payroll.

GAMES

more fun.

HOME-

loans.

Exciting new games to make your TRS-80

Complete home budget, checkbook, savings.

OVER 100 EXCITING PROGRAMS-MORE ADDED EVERY DAY-

EDUCA TION - ELECTRONICS - MARKETING

PROGRAMS FOR PET AND APPLEPrograms available in Level I BASIC and Level II BASIC.All Level II programs available on disc. Printer optionon many programs. We also buy original programs.Custom programs also available. Send for a completelist of programs now.

SOFTWARE 80

25469 Hardt Street, Loma Linda, CA 92354

nnnnnnnnnnnnnnnnnaanaaaaaaaaaunauaaaBnn□aaaaanaan

D

naaa

aaaaanaaa

nnnnnnnnnnnnnnnnnnHnnnnnnnnnnnnnnnnnnnnnnnnnnnn

9

a

1976/1977

EITE

Cover Price *plus postageand handling

Back Issues for sale

=

The following

issues available:

=

'76

'77

'78

1

July

March

January

B

August

May

February

=

October

June

March

s

November

July

April

™

December

August

May

=

September

June

B

October

July

=

November

August

=

December

September

H * Cover price for all issues thru August 1977 ■

s: is $1.50 plus $.25 postage and handling :

'-3 ($3.50 total foreign). September '77 thru ■

H current '78 issues are $2.00 plus $.50 postage :

73 and handling ($4.00 total foreign).

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ■■iiiiiiuiiiiiiiiiiiiiiiiiiiiiiiiie

Send requests with payment to:

BYTE Magazine70 Main StreetPeterborough, NH 03458

Attn: Back Issues

jns

Hamps

B"BTrrBT>^'o^^^^^TToTrinrinrir>To further improveservice to our customers wehave installed a toll-freeWATS line in ourPeterborough, New

hire office.If you wouldike to order abscription to\BYTE, or ifyou have aquestion relat-'ed to a BYTEsubscription,'tyou are invited)to call*(800)258-5485between 8:00 AM and4:30 PM Eastern Time.(Friday 8 AM- Noon).,i*Calls from conti-nental

BYTE's New

Toll-freeSubscriberW.A.T.S. Line

(800)258-5485

We thank you and lookforward to serving you.

only.

StJUULSLSLSJLaJLSLSLSL

LfiJLftJU

Having Reservations About'HUNIJ^RE!

are?

Smoke^^TBroadcasting presents the

-1 SUPER EDITORTEXT EDITING SYSTEM

Content oriented with string search and blockmove capability

• Allows any or all occurances of a particular string tobe changed with one instruction.

• Disk transfer capability allows editing of files largerthan available memory.

• Specific lines can be referenced by particular linenumber, offset amount or string of characters withinthe line.

• Automatic line numbering.

• Designed for file transfers to and from Smoke SignalBroadcasting's BFD-68 disk system.

• Complete source listing included.Only $29.00 (on diskette)

We're fhe "CHIEF" in 6800 products software

SMOKE mm BiOIBCISTIM

6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 320 on inquiry card.

BYTE November 1978 179

Listing 7, continued:

HOVESt JNTH-ll.RHCA 1= TRUE! I* FLAG CAPTURE »l

HOVEStJNTN-ll.RHEP 1= INRSTB(ENPAStJNTKI,INISI!

(• FLAG ENPASSANT CAPTURE •)

IF HOVEStJNTN-ll.RHEP THEN

HOVESIJNTN-ll.RHCP I" OP!IF INTS >= XTRFStRS.Fll THENPHNPRO;END!ENOELSEBEGIN

SFTRSdNRS.A.SI.) !ANDRS(INRS.TPLOCfHT),INRSljCPYRSdHRS, INRS) !ANORSdHRS,6,INRSI!

NHILE NXTTSdNRS.INTSI 00BEGIN

GENONEIXTLSI IT SLtINTSI-XTEOISi.il

IF INTS <= XTRFStRl.FBl THENPNNPRO;END!

ANDRS (INRS. INKS. xRRStRM I!SFTRSdNRS.INRS.SNI i«NDRS(INRS.INRS,TPLOCtHTli:ANORSdHRS,INRS,81 !

(• SET CAPTURED PIECE TYPE •!(• PROCESS PROHOTION •)

(• BLACK PANNS •!(• ADVANCE ONE RANK •)(• ONLY TO EHPTY SQUARES •»f SAVE FOR 2 SQUARE HOVES »!(• ONLY VALIO DESTINATIONSQUARES "I

INTSI !

(• GENERATE SIHPLE PAWN HOVES •>

<• PROCESS PROHOTION

(• TAKE ONLY PANNS ON THIRD(• ADVANCE ONE HORE RANK *l(• ONLY TO EHPTY SQUARES •)(•"ONLY VALIO DESTINATIONSQUARES •>

NHILE NXTTSdNRS.INTSI DOBEGIN

GEN0NEIXTLS1XTSL1INTSl-2»XTE0[Ski 1,INTSI i

(• GENERATE DOUBLE PANN HOVES "1

HOVESIJNTW-ll.RHEP 1= TRUE! (• FLAG AS TNO SQUARES •!END!

SFTRS(INRS,A,B3I! (• TRY CAPTURES TO THE LEFT •!

10RRS ( IHRS. THLOC I OTHER! JNTH] l.F.NPASt JNTKII!

(• OPPONENT PIECES • EP SQUARE »lANORSdHRS. IHRS.BI : (• VALID DESTINATION squares m

ANORS(INRS,INRS,IHRSI1 (• CAPTURE HOVES TO LEFT •»

NHILE NXTTSUNRS, INTSI 00BEGIN

GENONEIXTLSIXTSLIINTSI-XTEOIBJl],INTSI 1

!• GENERATE PAWN CAPTURE HOVE •!HOVES!JNTH-ll.RHCA 1= TRUE! (• FLAG CAPTURE *lHOVES!JNTH-11.RHEP 1= INRSTB(ENPAS!JNTK1•INTSI;

(• FLAG ENPASSANT CAPTURE •)IF HOVEStJNTN-11.RHEP THEN

MOVEStJNTN-ll.RHCP I* LP! (• SET CAPTURED PIECE TYPE MIF INTS <= XTRFSIR1.F81 THEN

PNNPRO! (• PROCESS PROHOTION •!

ENO!

SFTRS(INRS,A,BHi (• TRY CAPTURES TO THE RIGHT M

IORRS(IHRS,THLOCIOTHERlJNTNII,ENPASIJNTK|l|

!• OPPONENT PIECES ♦ EP SQUARE •)ANORSdHRS. IHRS.BI! (• VALIO DESTINATION SQUARES •!

ANORSdNRS.INRS.IHRSI ! I* CAPTURE HOVES TO LEFT •■

NHILE NXTTSdNRS. INTSI 00BEGIN

GENOHE(XTLS(XTSL(INTSI-(TEOIB(. I I. INTSI |

<• GENERATE PANN CAPTURE HOVE 'IHOVEStJNTN-ll.RHCA 1= TRUE! (• FLAG CAPTURE •!HOVEStJNTN-ll.RHEP 1= INRSTB(ENPAS(JNTK1,INTSIi

(• FLAG ENPASSANT CAPTURE »lIF HOVEStJNTN-ll.RHEP THEN

HOVEStJNTN-ll.RHCP l« LP! (• SET CAPTUREO PIECE TYPE "IIF INTS " XTRFSIR1.FS1 THEN

PNNPRO! (• PROCESS PROHOTION •!

END|ENO!ENO! (• GENPHN •!

PROCEDURE GENFSL (•

(AIRSI! (•

VAR

INRS I RS! (•

IHRS I RS! (•

IPRS I RS! (•

INTS I TS! (•

IHTS I TS! (•

BEGIN

ANORSdHRS,A,GENFRl JNTK1 I ; (•NOTRSIIHRS.AI!

ANDRS(GEHFR[JHTK1,GENFRUNTK),IHRS): (•

ANDRS(IPRS,A,GENPN[JNTK])! (•

ANORS(GENPNIJNTK],GENPN( JNTK),IHRS!! (•

NHILE NXTTSdNRS. INTS) DO (•BEGIN

ANDRS (IHRS, ATKFRl INTS),GE NT OtJNTKD!

NHILE NXTTSdHRS, IHTS) 00GENONEdNTS.IHTS) ;END!

GENPNNII»RS.GENTO(JNTKI):END: (• GETFSL •)

PROCEOURE GENTSL

(AiRS):

VAR

INRS t RS!

IHRS 1 rs;

IPRS I rs;

INTS I is;

GENERATE ALL HOVES FROHA SET OF SQUARES "IORIGIN SET OF SQUARES •!

OUTER LOOP SIT 80AR0 MINNER LOOP BIT BOARO •>PANN ORIGIN BIT BOARD •>OUTER LOOP SQUARE NUHPER •>INNER LOOP SQUARE NUHEER •!

ONLY VALIO FROH SQUARES •)

REHOVE ORIGIN SQUARES •)VALID PANN FROH SQUARES "IREHOVE PANNS •!

LOOP THROUGH ORIGINS •>

GET UNPROCESSED DESTINATIONSQUARES •)

LOOP THROUGH DESTINATIONS •!GENERATE HOVE •>

GEHERATE PANN HOVES *1

GENERATE ALL HOVES TOSET OF SQUARES •)TARGET SET OF SQUARES

OUTER LOOP BIT BOARO •!INNER LOOP BIT BOARD *lPANN BIT BOARO •>OUTER LOOP SQUARE NUHSER

IHTS I is;

(• INNER LOOP SQUARE NUHBER •>I* ONLY VALIO TO SQUARES "I

BEGIN

ANDRS(INRS.A,GENTOtJNTKII!

NOTRSIIHRS.AI!

ANDRSIGENTOtJNTKI,GENTOtJNTK1.IHRSI 1 (• REHOVE DESTINATION SQUARES •)

CPYRSdPRS, INRSI ! (• SAVE FOR PANN HOVES •!

NHILE NXTTSdNRS,INTSI 00 (• LOOP THROUGH OESTIHATIONS •)

BEGIN

ANDRS(IHRS.ATKTOtINTS),GENFRtJNTKI)!

(• GET PIECES OF SIOE TO HOVE •)NHILE NXTTSdHRS,IHTS) 00 |» LOOP THROUGH ORIGINS •)

GENONEIIHTS,INTSI! )• GENERATE HOVE "I

END;

GENPNN(GENPN(JNTK),IPRS)! (• GENERATE PANN HOVES •)

END! I* GENTSL •)

PROCEOURE GENCAP;

VAR

INRS I RS;

(• GENERATE CAPTURE HOVES •)

(• DESTINATIOH SQUARES •!

BEGIN

I0RRS(INRS,ENPASUNTK!,THLOClOTHERtJNTHJ)>!

GENTSL(INRS); (• GENERATE HOVES TO

ENEHY SQUARES •)ENO! (• GENCAP •»

PROCEOURE GENCAS:

VAR

INTO I TO!

INRS > RS!

IHRS I PS!

(• GENERATE CASILE HOVES •)

(" CASTLE TYPE INDEX •)

(• OCCUPIED SQUARES TEST •)

I" ATTACKED SQUARES TEST •)

BEGIN

FOR INTQ it XTHQtJNTH) TO SUCC(XTHQtJHTH|) DOIF INRST6(CSTAT(JNTK),XTQSIINTQ)) THEN

(" IF CASTLING IS LEGAL •)BEGIN

ANORS(INRS,XROSO(INTQ),ALLOC(JNTK)):

(• CHECK OCCUPIEO SQUARES •)ANDRSdHRS,XRQSA(INTO),ALATK[OTHER[JNTH])l;

(• CHECK ATTACKED SQUARES •)IF NULRS(INRS) ANO NJLRS(IHRS) THEN

(• IF CASTLING IS LEGAL ANOPOSSIBLE "IBEGIN

HOVEStJNTNl i= XRQHtlNTQ); (• GENERATE CASTLING HOVE •)VALUEIJNTH] t= 0:JHTN 1= JNTN.i;

END;end;eno: (• gencas »)

PROCEOURE GENALl!

BEGIN

GENFSL(ALLOCtJNTKII:

GENCAS:ENO; (• GENALL •)

PROCEOURE LSTNOV!

VAR

INTN t TN!

BEGIN

CREATE!

GENALL:

FOR INTN 1= AN.l TO JNTN-1 00BEGIN

IF UPDATE(HOVEStINTN)I THEN!DNDATE(HOVES[ INTN]) :END;ENO: )• LSTHOv •)

PROCEDURE THEHOV(A|RHI;

VAR

IHTB I IB;

INRS 1 RSI

INTQ I tq;

INTS I IS:

BEGIN

LSTHV I- »;

INTB I I JPOATE)A) :

NITH BOARD 00

BEGIN

RBTH t* jnth;CPYRS(INRS,ENPAS(JNTK]l:IF NXTTSdNRS. INTS) THEN

R8TS 1= INTSELSE

RBTS 1= at;

I* JNTH = DARK THENRBTI I. RBTI.l!

for into 1= ls 10 ol 00

if inrsibicstatijntki.xtqsiintq)1

rbso 1= rbsbmintqielse

RHSQ t= R8S0-IINIQI:FOR INIS 1= AS TO fS 00

rbisiintsi 1 = nbord(inis):end;eno; (• thehov •)

GENERATE ALL LEGAL HOVES •)

(• GENERATE SIHPLE HOVES(• GENERATE CASTLE HOVES

(• LIST LEGAL PLAYERS HOVES "I(• HOVES INDEX M

(• CREATE OATA BASE •)I" GENERATE ALL HOVES M

(• SET ILLEGAL FLAG •>

(• HAKE THE HOVE FOR REAL •((• THE HOVE TO HAKE •!

(• SCRATCH •)

(• SCRATCH •>

(• CASTLE TYPE IHOEx

(• SCRATCH •)

)• SAVE AS PREVIOUS HOVE •)(• UPOATE THE OATA BASE •)(• ANO COPY ALL THE RELEVANT OATABACK DOWN •)

(• SIDE TO HOVE •)

(• FINO ENPASSANT SQUARE •)

(• ADVANCE HOVE NUHBER •)

THEN(• CASTLE LEGAL "I

(• CASILE NOT LEGAL(• COPY POSITION •(

180

November Hf78©BYTE Publications Inc

unuit; I OH uii inquiry Cdiu.

Text continued from page 171

makes use of the routines which were justdescribed (eg: ADDATK, CUTATK,ADDLOC, CLSTAT, PRPATK, DELATK,MOVEIT, LOSEIT). The move is placed onthe move stack by GENONE. Special rou-tines exist for generating moves which involvethe promotion of a pawn (PWNPRO) andfor generating the standard pawn moves(GENPWN). When a move is tried andproduces an a-j3 cutoff, the program backsdown the look-ahead tree and begins toexplore moves at a different node. Severalprocedures are employed to downdate thedata base. These include the main routinesRTRKIT and DNDATE, which are essen-tially the complement of MOVEIT andUPDATE. Two other procedures are alsoneeded, one tounpromote a pawn (PAWNIT)and one to resurrect a captured piece(GAINIT). This set of routines permits theprogram to move about the look-ahead treeand incrementally update or downdate thedata base.

The executive routines which are respon-sible for move generation arc GENFSL,which generates all legal moves from a setof squares, and GENTSL, which generatesall legal moves to a set of squares. Therationale for having two routines is that wewish to generate the moves in stages. Forexample, captures should be searched firstat each node (ic: the capture heuristic).To do this, we identify the square locationsof the opponent's pieces, and then callGENTSL to generate all capturing moves.These moves are searched before any othermoves are generated. If one of these pro-duces a cut-off the rest of the moves neednot be generated at all. A third executiveroutine (GENCAS) generates all castlingmoves. These moves are generated afterthe captures if castling is still legal.

A fourth executive routine for movegeneration is GENALL. This proceduregenerates all legal moves and is used by theprogram to check the legality of the oppo-nent's move. It is called by LSTMOV whichmakes a list of all the legal moves and eachof these are compared with the opponent'smove by YRMOVE (presented later). Ifthe opponent's move is not on the list, themachine prints "illegal move." If the oppo-nent's move is compatible with more thanone of the moves on the list (eg: P-R3could be either P-QR3 or P-KR3), themachine prints the message, "ambiguousmove." When the machine has completedits own move selection or has determinedthat the opponent's move is legal and notambiguous, the move is actually made byTHEMOV"

voltage-sensing LED's. 24miniature switches allow iso-lated testing and observationof all signals. Mini-jumpersincluded for cross-patchingand signal monitoring. Sturdy10 oz. unit has hard plasticcase, is battery powered, reg-ular or rechargeable. Im-mediate delivery.

INTERNATIONALDATA

SCIENCES, INC.

Our Model 60 is called "TheBlue Box" by thousands ofusers. This compact unitpacks the most testing capabil-ity per dollar. Pinpoints thesource of trouble between theModem and Terminal. Pro-vides access to all 25 lines ofthe EIA RS 232 interface. Has12 monitoring LED's plus two

7 Wellington Rd., Lincoln, R.I. 02865 • Tel:(401)333-6200 • TWX:(710)384-1911

Export: EMEC, Box 1285, Hallandale, Florida 33009

Having Reservations About Your Software?HUNT NO MORE'

Smoke Signal Broadcasting presents the NEW

IP-1 TEXT PROCESSING SYSTEM

for document preparation - form letters - footnote handling

• The most powerful text formatter available.

• Over 50 commands for easy paging, margin settingand spacing.

•A formatting language that allows the creation of

macros including variables.•Page numbering (Arabic or Roman numerals).

• Complete page size control.

• Conditional formatting control.

• Exact title placing.•Contiguous space and text control

O*

AS

%*'

qb

We're the "CHIEF" in 6800 products software6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 320 on inquiry card.

Nuvemlwr 1978 J BYT t Publiul.om Im 181

A "Tiny"Pascal Compiler

Part 3: P-Code to 8080 Conversion

Kin-Man Chung124 Scottswood DrUrbana IL 61801

Herbert YuenPOB2591 Station AChampaign IL 61820

In part 1 of this series (September 1978BYTE, page 58) we defined a Pascal subsetlanguage in terms of syntax diagrams. Thep-machine and its instruction set and ap-code interpreter were also described. Inpart 2 (October 1978 BYTE, page 34) wepresented the design and implementation ofthe p-compiler. The subject matter for thispart is the translation of p-codes to exe-cutable 8080 machine codes. We will alsodiscuss the implementation of run timesupport routines and code optimization.

Compiler-Interpreter Systems

To understand why we need a p-code to8080 translator, we should first take a brieflook at the different structures of compiler-interpreter systems. The most widely usedstructure for microcomputers is the inter-preter. Since interpreters are written in thetarget computer's assembly language, theirmemory size is small. They are self-con-tained in the sense that they include* an edi-tor for creating source programs and runtime routines to do all computations. Mem-ory storage for source programs is alsosmall. The only disadvantage is speed. Exe-cution time for a typical BASIC program isestimated to be about 300 to 1000 timesthe execution time of the same programwritten in assembly language. Interpretersmay spend more than 70 percent of theirtime scanning source symbols character bycharacter, parsing the syntax and checkingerrors. No matter how many times a pro-gram statement is executed, the parsing pro-cedure is repeated every time.

This problem can be readily solved byseparating the parsing and execution steps.Before execution, the source program iscompiled and intermediate code is gener-

ated. Thus scanning and parsing are doneonly once for each program statement. Thisis the so-called compiler-interpreter schemeused in some BASIC compilers. Execution ofthe intermediate codes is by interpretation.The gain in speed over a pure interpreter isa factor of approximately 2 to 10. However,the gain in speed is paid for by extra mem-ory storage needed for intermediate codes.

The compile-go and compile-link-go ap-proaches are commonly used for many highlevel language compilers in mainframe com-puter systems. These compilers generate re-locatable binary codes. The compile-link-goapproach has the advantage of linking to-gether different modules of programs thatare compiled separately, such as those in asubroutine library. This is done by a linkingloader. However, due to limited system re-sources like memory and peripheral devicesin microcomputers, these two structures arerarely used. Further, since Pascal is designedfor fast compilation, linkage of programmodules may be done at the source lan-guage level.

Among those four structures just men-tioned, the compiler-interpreter seems to bemost appropriate for implementation onmicrocomputers. However, execution speedis still slow because intermediate codes areinterpreted rather than executed directly bythe computer. An obvious solution to thisproblem is to translate the intermediatecodes into executable machine codes. Thus,each intermediate code is decoded once bya program which we call a translator. Thetranslated machine code can be expected torun about two to five times faster than in-terpreted intermediate codes. Therefore,the overall gain in speed, compared with apure interpreter, is a factor of approxi-mately 10 to 50. (Preliminary test runs in

182 November 197SOBYTE Publications Inc

Everything you've ever

wanted to know aboutmicrocomputers in

ONE complete book

for only $10.95

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

The ultimate bookabout microcomputers.Written by experts... SCELBI and BYTE. Over400 pages. A collector's item,featuring The Basicsfrom the first 16 issues of BYTE and SCELBI'sclassic library of books. Your microcomputerbookshelf is incomplete without this priceless edition.

L

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.

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.

18

VHIIIIUI

iMiiir,

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

18002585477

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.

■^

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

BYTE November 1978

183

Table 1: Summary of dif-ferent structures of com-piler-interpreter systems.

our system show that Pascal programs runabout 15 times faster than the same pro-gram written in BASIC.) We call this struc-ture compile-translate-go.

The five compiler-interpreter structureswe discussed above are summarized in table1. The compile-go and compile-translate-goare rather similar in structure. Compile-goactually combines the process of compilingand generating executable codes into onestep. The binary codes are generated bystraightforward algorithms without optimi-zation, because code optimization would re-quire more complex program logic and makethe compiler even larger. Separating compila-tion and translation into two steps signifi-cantly reduces the size of the compiler.Local optimization techniques can also beapplied during translation. Code optimiza-tion will be discussed later. Since p-codes aredesigned to be machine independent tomake the compiler portable, the translatoris responsible for producing efficient codesfor a target computer.

Designing the Run Time Routines

Run time routines form an essentialpart of all compiler-interpreter systems inmicrocomputers. Large computers can dofixed point, floating point and decimalarithmetic with 32 bit or larger word sizesin single instructions. Many microcomputers,on the other hand, can do only basic integerarithmetic with 8 bit words (bytes). There-fore, multiple instructions are needed to im-plement 16 bit operations like multiply,divide, subtract, logical operations andmultibit shifts. The run time routines, some-times referred to as run time support pack-age, are a collection of subroutines writtenin assembly language that can be called byan interpreter or any program to perform

various arithmetic and logical operations.Usually they include subroutines for IO con-version between ASCII and binary data.

The design of run time routines for ourcompiler system is based on three principles:

• Fast implementation and clarity: Astraightforward approach is followedso that the overall package can be de-bugged and tested quickly and modi-fied easily.

• Speed: The best known algorithmsare used for computer arithmetic toachieve fastest execution speed pos-sible. However, tricks such as self-modifying code are not used.

• Memory storage: The package is ex-pected to be fairly compact. Sincep-codes are translated mostly into sub-routine calls, the number of instruc-tions to set up arguments to be passedto the subroutine should also beminimal.

As described in part 1, the p-machine hasa data stack and four registers: stack pointerT, base register B, program counter P, in-struction register I. Since the translator takescare of the program counter and p-code in-structions are not needed after translation,all we need are the stack pointer and baseregister. In the current version of our runtime routines, contiguous memory storageis used to represent the data stack. For thesake of program clarity and easy debugging,the 8080 machine stack is not used, al-though using it for dual purposes as a datastack and temporary storage for normal pro-gram logic is possible and probably moreefficient.

Figure 1 shows the structural differencesbetween the p-machine stack which we im-plement and the 8080 machine stack. Since

Structure

Example

Step

Input

System software

Output

Remarks

interpreter

BASIC, APL

interpreter

1

sourceprogram

interpreter(execution)

Most popular for microcomputers.Advantage: conserves memory space.Disadvantage: very slow executionspeed.

compiler-interpreter

BASIC-E,

Pascal

compiler

12

source

programintermedi-ate code

compiler

interpreter(execution)

intermediatecode

The interpreter may overlay thecompiler to save memory space.Advantage: faster execution speed.

compile-go

WATFIV,PL/Ccompiler

1

sourceprogram

compiler

executablecode

Only used in large computers.Disadvantage: size is too big formicrocomputers.

compile-link-go

FORTRAN IV,PL/I, COBOLcompiler

12

sourceprogrambinarycode

compilerlinking loader

binarycode

executablecode

Widely used in large computers.Advantage: fast execution speed.Disadvantage: requires more systemresources.

compile-translate-go

Pascalcompiler(by authors)

12

source

program

p-code

compilertranslator

p-code

executable8080 code

Advantage: size of compiler isreduced, fast execution speed,increased portability, easyimplementation.

184 November 19786BYTE Publications Inc

integer data is stored as pairs of 8 bit bytes(character strings are stored as single dimen-sional arrays, two bytes to each element andonly the low order byte is used; see descrip-tions in part 1), each load instruction incre-ments the stack pointer by 2. The order ofthe byte pair is arranged as high-low becauseit is more convenient to use than low-high.The stack pointer always points to the loworder byte of the 16 bit integer, which is ontop of the stack.

Register pair D,E is dedicated for use asthe stack pointer, while registers H and Lare mainly used for 16 bit operations such asDAD, LHLD, SHLD and PCHL. Whenneeded, register pairs D,E and H,L can beeasily exchanged using the XCHG instruc-tion. Since the base address remains un-changed within a procedure block, a 2 bytefixed memory location (with symbolic nameBB) is used to represent the base register.The LHLD and SHLD instructions are usedto retrieve and update the base addressvalue. A summary of register assignments forimplementation of the p-machine is shownin table 2.

Coding the Run Time Routines

Most of the subroutines are easily under-standable. The routines for load, store, calland load constant are coded by direct trans-lation from the interpreter program to 8080assembly language, keeping in mind thateach stack element (one data item) occupiestwo bytes. The routines for arithmetic andlogical operations and 10 conversions re-quire more programming effort. In general,single operand functions such as negate,logical not and increment are performed onebyte at a time in register A. Double operandoperations such as add, divide and logical orare performed with register pairs H,L andB,C. The entire runtime package occupiesabout 1 K bytes of memory. The followingare remarks on coding some of the not-so-trivial subroutines.

PUSH and POP: for most double operandfunctions, subroutine POP is called firstto get the two operands from the stack(memory) and put in register pairs H,L (firstoperand) and B,C (second operand). Afterthe operations, subroutine PUSH is called toput the result from H,L back onto the stack.

Add and subtract: since DAD (doubleprecision add) is the only 8080 instructionfor double operand 16 bit operation, sub-traction is done by adding the 2's comple-ment of the second operand to the first. Amessage will be issued if overflow occurs andexecution continues without any correctiveaction. The condition for overflow is de-tected by the rule:

MEMORYLOCATION

MEMORYLOCATION

X + IX

•-TOP OF STACK

Y-n

OI

n

-TOP OF STACK

P-MACHINE STACKPUSH: INCREMENTS STACK POINTER

8080 MACHINE STACKPUSH: DECREMENTS STACK POINTER

Figure 7. Differences between p-machine and 8080 stacks. This figure showsn+J entries on each of the stacks.

P-machine

8080 run time routines

P: program counterT: stack pointerB: base registerI: instruction registerdata stack

PC

D,E register pair

memory location BB (16 bits)

memory storage

Table 2: Register and storage assignment for runtime routines.

if [sign(arg.l) © sign(arg.2) ©carry© sign (result)] = 1, then overflow;otherwise nothing.

MULT16: 16 bit signed multiplication isdone in two stages using an 8 bit multiplica-tion routine. First, multiply the secondoperand by the high order byte of the firstoperand; the result is in register pair H,L.Second, continue the multiplication (leftshift and double add) with the low orderbyte of the first operand; the result is inregister pair H,L. This method is very effi-cient. In comparison, conventional 16 bitmultiplication routines require more PUSH,POP and XCHG instructions because thereare not enough registers to shift two 16 bitwords and also update a loop counter. Over-flows are ignored, as this is the usual practicefor integer multiplication.

DIV16: 16 bit signed division is one ofthe most difficult routines to implement.First the signs of both operands are saved ona stack and are then converted to positive in-tegers (actually the divisor is made negativein 2's complement because subtraction isdone with a double add instruction). Thedivisor is also checked for zero value, and ifso, a DIVIDE CHECK message is issued andthe routine returns. Division is carried out asa sequence of subtraction and shifts. At theend, the signs of the quotient and remainderare corrected according to the original signsof the operands. The same routine is alsoused for calculation of the MOD function.

November 1978©BYTE Publications Inc

185

Relational operations: are done by com-paring the high order and then the low orderbytes of the operands. For testing less than,less than or equal, greater than, greater thanor equal conditions, a common subroutinefor testing less than is used. Register pairB,C is used as a flag to indicate whether theopposite of less than and equal to is wanted.

SHL and SHR: the logical left shift andright shift routines are symmetric in thesense that a negative argument (second op-erand) for the number of bits to be shiftedwill cause one routine to jump to the other,resulting in shifts in reverse direction.

INNUM: the conversion subroutine forinput integers allows leading zeros andblanks and may optionally be preceded bya plus or minus sign (+ or —). It also checksfor the absolute magnitude- of the integer,which must be less than 32,768.

OUTNUM: conversion of binary integersto ASCII is done by repeated division by 10.

The 16 bit divide routine is utilized.

P-code Translation

In general, p-codes are translated to sub-routine call instructions which jump to theappropriate entry points in the run time rou-tines. Output from the translator is an 8080machine language program containingmostly subroutine call instructions. Some p-codes, such as load and store, require addi-tional instructions to set up the argumentsto be passed. Address offsets are alwaysplaced in register pair B,C and the staticlevel difference is placed in register A. Thejump instruction in p-code simply becomesa J MP instruction in 8080 with the correctaddress determined by the translator. Thep-code addresses in CAL and J PC instruc-tions are similarly taken care of by the trans-lator. The complete list of 8080 code cor-responding to each p-code is shown intable 3.

Hexadecimal

Hexadecimal

Op code

P-code

8080 Mnemonic

Commentary

Op code

P-code

8080 Mnemonic

Commentary

00

LIT 0,n

LXI B,nCALL LIT

04

CAL v.aa) v=0

CALL CAL

01

OPR 0,0

JMP POO;

procedure returnroutine

JMP x

OPR 0,n

CALL Pn ;

one of the 21

arithmetic/logical

routines

b) v>0

MVI A.vCALL CAL1JMP x

02

LOD v,d

a) v=0

b) v>0

LXI B,2dCALL LOD

LXI B,2dMVI A.v

05

c) v=255INT 0,n

CALL CALA;

LXI H,2nCALL INT

machine languagesubroutine interface

CALL LOD1

06

JMP 0,a

JMP x

c) v=255

CALL LODA;

load absolute address

07

JPC 0,a

LDAX D;DCX D

get conditional code

12

LODX v,d

DCX D,RAR ;

decrement stackpointer test condi-

a) v=0

LXI B,2dCALL LODX

JPC 1,a

JNC x

tional code(same as JPC 0,a

b) v>0

LXI B,2dMVI A.v

except JC x)

CALL LODX1

08

CSP 0,n(n=0...5)

CALL SYSn;

one of the 6 con-version routines

03

STO v,da) v=0

LXI B,2d

for n=8:

(output a string)

CALLSTO

LIT 0,c,LIT 0,c2

MVI C.n;CALL SYS8

# of char.

b) v>0

LXI B,2dMVI A.vCALLSTOI

LIT 0,cn

DB c,DB c2

c) v=255

CALLSTOA;

store absolute address

LIT 0,nCSP 0,8

DB cn

13

STOX v,d

Table 3: P-code

to 8080 translation. LIT, LOS, STOXi

INT, LODA, etc,

a) v=0

LXI B,2dCALLSTOX

are used as symbolic entry points in the runtime routines. There are 22

routines for the OPR instructions: POO,

P0J, . . ., P21. There are seven stan-

b) v>0

LXI B,2d

dard routines for 10 conversion: SYS0,

SYS7, . . ., SYS5 and SYS8. The

MVI A,vCALLSTOX1

variable x Is used

as the memory address in the translated 8080 code corre-

sponding to p-code address a in a call and jump instruction

186 November 1978 © BYTE Publications Inc

The 2 Pass Translator

The structure of the translator is similarto that of the interpreter. Both programsread p-codes from memory and decodethem. The interpreter calls a simulator toexecute the p-codes. The translator writestranslated 8080 code in memory. The majordifference between them is that the trans-lator needs three additional tables to keeptrack of p-code and 8080 addresses. Sinceall p-code addresses are relative to the start-ing p-code of the program, the program isrelocatable. The memory address corre-sponding to p-code address for any back-ward and forward referenced jumps can becalculated easily because all p-codes are fourbytes long. The number of 8080 instruc-tions generated per p-code is also not con-stant as shown in table 3. Therefore, it isnecessary to build a table of 8080 addressescorresponding to p-code addresses to beused in jump and call instructions. How-ever, it is not practical to build a table of8080 addresses for every p-code because itwill take too much memory storage for largeprograms. Only the addresses of those p-codes that are being referenced need beentered into the table.

P-code to 8080 machine code translationis done in two passes. During the first pass,p-code addresses in CAL, J MP and J PC in-structions are entered into a table. Thetable is sorted after the completion of thefirst pass. Actual translation is carried outin the second pass. P-codes are fetched oneby one from memory and decoded. The ad-dress of each p-code is checked with thosein the address table. If it indicates that thecurrent p-code is being referenced, the cur-rent 8080 address is entered to the corre-sponding 8080 address table. Then 8080machine codes are produced according tothe translation rules shown in table 3.

For CAL, JMP and JPC instructions, thep-code address in the instruction is lookedup in the address table using a binary search.If the corresponding 8080 address has al-ready been entered, it is output in the trans-lated code; otherwise it is a forward refer-enced address. When the latter case occurs, itis necessary to record the current 8080 ad-dress in a forward reference table. Then, in-stead of the 8080 address (which is not yetknown), its position in the table is output inthe translated code. At the end of the sec-ond pass the forward referenced addressesare fixed up by the following procedure:

a) Get the 8080 address from the for-ward reference table (call it P).

b) Get the table entry (call it J) at ad-dress P in the translated program.

c) Get the updated 8080 address (call itA) at table entry J.

CATCH THES-100, INC. BUS 1@

Circle 316 on inquiry card.

B»»«t

995°

Hazetine 1500 AssembledSanyo 9" Video MonitorSanyo 15" Video MonitorCentronics 779 printer

w/tractorsDiscus IDigital Systems Dual drive,

dual densityIMC keyborad assembled

and testedDual box for 5 inch mini drivesVerbatim 5 inch diskettesImsai 8080 Kit

Subject to Available Quantities.

Prices Quoted Include Cash Discounts.

Shipping & Insurance Extra.

BuS...S-IOD,inc.

Address.. .7 White Place

Clark, N.J. 07066Interface...201-382-1318

LISTPRICE

SPECIALCASHPRICE

1,225°°

1,040°°

220°°

165°°

310°°

235°°

1,275°°

1,075°°

850°

2,745°° 2,450°°

16995

145°°

69°°

59°°

450

380

699°°

56995

$1195

U.S. ROBOTICS TELETYPE

SERIES-300 MODEMS „„„=, »\

300 BAUD MODEL 43

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 Certified Modem

+ Teletype Model 43 KSR = S1365

USR-320 Auto-Answer FCC Certified Modem + Teletype Model 43 R0 = SI 215

Stand alone modems and teletype available:

Teletype 43 KSR with RS232C S1095

USR-310 Originate Acoustic Coupler

(Operates with any standard telephone) SI 39

Direct' Telco2

Connect DAA

Style Style

USR-330 Originate/Auto-Answer Modem S324 S185

USR-320 Auto Answer Modem S299 S160

CF.C.C. Certified Package. Connection to phone lines via standard extension phone

jack.)

(2Connection to phone lines via CBS-100IF DAA which can be leased from phone

company for approximately S5.00/mo. plus installation fee.)

Interfaces for stand alone modems:

USR-310 - RS232Conly

USR-320 and USR 330 - RS232C and 20 ma.

(Specify with order If both interfaces are required, add SI 0 to unit price)

All products include t 90 diy warranty and optional annual maintenance package Add 1 %shipping and handling in the continental U.S.Illinois residents add 5% Sales Tax.

U.S. ROBOTICS. INC.2440 N. Lincoln/Chicago. IL 60614/(312) 528-9045

Circle 383 on inquiry card. November 1978©BYTE Publications Inc

187

FIRST PASS

SECOND PASS

FIX UP

f START J

INITIALIZE: PROMPTUSER FOR ADDRESSESOF P-CODE, 8080, STACKSET PC:=0; W: =0;

I 1

|0P CODE = CALA OR JMP|0R JPC |I I

W; = W+l

T(W): = ADDRESS INCAL OR JMP ORJPC INSTRUCTION

BUBBLE SORTTHE ARRAY T

SET WO.-I; I: = I;

INCREMENT 1

YES

WO: ■ WO + IT(WO): = T([);

TIWO + I): = 65535INITIALIZE ARRAY DTO ZEROSSET PC: =0; K:- I;U: = T(l)j Wi« Ij

GET NEXT P-CODEK:«K + I; RO: =0;

V: =0;

OP CODE\ YES= 255

?

D(W): = P;

W: =W+ I; RO: = I

U : ■ T (W);

DP CODE \ YES

V. <

8 y

NO

V: = 1 ;

OP C0DE:=0P C0DE-I6

'

i.

N:=0;

-'

INCREMENT N

-f STOP J

P:= E(N);

J:*VALUE OF 16 BITWORD AT MEMORYLOCATION P

PUT D(J) IN

MEMORY LOCATION P

Figure 2: A simplified flowchart of the translator. AO, Al, . . .A8 are pro-gram segments for generating 8080 code for the p-code with peephole optimi-zation as illustrated by the rules in table 4. Refer to table 5 for a descriptionof the variables.

188 November 1978 © BYTE Publications Inc

d) Write the correct address A back tomemory location P.

Figure 2 is a simplified flowchart of thetranslator. The part for code generation isnot shown, but it can be easily understoodby referring to tables 3 and 4. Table lookupis done by binary search through the sortedtable. The table elements are entered sequen-tially during the first pass. A simple bubblesort algorithm is used to sort the table. Thismethod works fine for small Pascal pro-grams. For larger programs, and thus morereferenced addresses, the bubble sort algo-rithm is too slow because the number ofcomparisons is of orders2 for n elements. Abinary tree sorting algorithm with ordern log n will be used for our next version ofthe translator.

The various entry points in the runtimeroutines are initialized in the translator asa series of string constants. These hexadeci-mal addresses are converted to integers andplaced in arrays so they can be accessedvery easily later on.

When execution begins, the programprompts the user for starting addresses ofthe p-code program, the output 8080 code,and starting and ending addresses of thedata stack. The following three instruc-

tions are generated to initialize the datastack and pointer:

LXI H,STK1 starting address of datastack.

LXI D,STK2 2's complement of stackending address.

CALL#1A00 runtime routine (initiali-zation)

The program then begins its first pass.The number of address references and actualnumber of referenced addresses are dis-played at the end of the first pass. Duringthe second pass, cross references of p-codeand 8080 addresses, which may be useful forfuture references, are listed in hexadecimalform. At the end of the translation, sizes ofthe p-code program and 8080 code aredisplayed.

Code Optimization

Code optimization is a technique em-ployed by most compilers to improve theobject code produced. Many sophisticatedcode optimization techniques are knowntoday but are outside the scope of thisarticle. We shall describe only one form oflocal optimization technique which is be-ing used in our project. Local optimization

Table 4: Summary of peephole optimization. The goal is to reduce the size of the object program. The optimized code is moreefficient than the unoptimized 8080 code. For the redundant store fix, the load instruction cannot be referenced elsewhere inthe program.

Source of optimization

Example

P-code

8080 code

Optimized 8080 code

Redundant jump

beginning of a procedure

n: JMP

0,n+1

JMP x

no code generated

instructions

without inner procedure

Redundant loads

J:=J+5; A[J] :=X;

STO

v,d

(as usual)

(as usual)

and stores

* LOD

v,d

(as usual)

INX D; increment stackINX D; pointer

Repeated load of

A[J]:=A[J]+Y;

LOD

v,d

(as usual)

(as usual)

the same variable

LOD

v,d

(as usual)

CALL P21;copy

INT instruction

procedure call without

INT

0,0

LXI H,#0000

no code generated

with small constant

parameter

CALL INT

procedure call

INT(-3 « n «

0,n2)

LXI H,2nCALL INT

INX Dl /repeat n times\INX Dl ^n >0 |

DCX D» /repeat n times\DCX DJ \n < 0 )

Load negative

B:= -20;

LIT

0,n

LXI B,n

LXI B,-n

constants

CALL LIT

CALL LIT

OPR

0,1

CALL P01

Add and subtract

array subscripts

LIT

0,n

LXI B,n

CALL P19; increment

small constants

A[J+2]: =

CALL LIT

(repeat n times)

(n <3)

B[K-1]: =L: = L+1;

OPR

0,2

CALL P02

LIT

0,n

LXI B,nCALL LIT

CALL P20; decrement(repeat n times)

OPR

0,3

CALL P03

Load zeros

P:=0;

LIT

0,0

LXI B,#0000CALL LIT

XRA AINX DSTAX DINX DSTAX D

"Must be an unreferenced p-code

November 1978©BYTE Publications Inc

189

Circle 73 on inquiry card.

Put your business

The GENERAL, designed forbusiness and professional use byXifan, places a self-containedmicrocomputer system into thex_hands of a small businessman fat an affordable price. It'sflexible, reliable and expandable.

Because anyone can learn to use it quickly, the GENERAL iscost-efficient and its typewriter-type keyboard is "abuseprotected" so it rarely needs service. It boasts high-speedaccuracy, and a 25-line 80 character flicker free video displayprovides optimum readability. Over 150 pages of typed data canbe stored in 2 diskettes for rapid access. Your business routine:general ledger, accounts payable and receivable, payroll and otherrecord-keeping functions can be brought on line!

If you want to get your business on line, call TheMicrocomputer People® at Computer Mart of New Jersey orComputer Mart of Pennsylvania. See Xitan's GENERAL and satisfyyourself that our service capability is superb. We won't sell whatwe cannotkeep running!

E3

The MicrocomputerPeople "

viitcy///////Mm///////////////////

Computer Mart of New Jersey

501 Route 27. Iselm. NJ 08830. 201283-0600Tue -Sal 10 00-6:00 • Tue. & Thur til 9:00

Computer Mart of Pennsylvania

550 OeKalb Pike, King ol Prussia. PA 19406 • 215-265-2580Tue-Thur 11 00-9:00. Fri & Sal 10:00-6:00

MOO l

MOO

ii: i ill a tilllit

mc >mAinpRAm£S2oo

NOT A KIT

8vi.;15A, ± 16v(?( 3A power

Rack mountable „^t

15 slot motherboard \0

Card cage

Fan. line cord, (use,

switch. EMI filter

Desk top version option

8vf«30A, ±16v(«10A option

voltage monitor option

100 pin connectors optional

l?ackmountediodel FromS200

top modelFrom S235

Write or call for a copy of our

detailed brochure which includes

our application note

BUILDING CHEAP COMPUTERS.

INrEGB4ND

8474 Ave 296 • Visalia. CA 93277 • (209) 733 9288We accept BankAmencard/Visa and Master Charge

is done within a straight line block ofcode with no jumps into or out of the mid-dle of the block. Peephole optimization isone form of local optimization which ex-amines only small pieces of object code.

Since most code optimization tech-niques are difficult to build in a syntaxdirected code generation algorithm, peep-hole optimization is particularly useful inimproving the intermediate code. Each im-provement may lead to opportunities forfurther improvements. The technique canbe applied repeatedly to get maximum op-timization. In our translator, peephole op-timization is applied only once during thesecond pass.

The goal of optimization is to minimizethe size of the translated 8080 code and toincrease execution speed without sacrificinga lot of time during translation. The peep-hole technique is quite simple. It examinesonly a single code or two consecutive codes.Some redundant p-codes are obvious andcan be easily recognized. For example, theJ MP instruction generated at the beginningof a procedure block which does not con-tain inner blocks is redundant. Similarly, thep-code INT 0,0 (increment stack pointer)generated after a procedure call with noarguments can be eliminated. The biggestbenefit comes from optimizing redundantload and store instructions, because they arerelatively slow in the current implementa-tion. For example, a LOD instruction im-mediately following a STO instruction ofthe same variable can be replaced by anincrement stack pointer instruction, be-cause the variable is still on the stack. How-ever, if the LOD instruction has a label,ie: is being referenced somewhere in theprogram, we cannot be sure that the STOinstruction is always executed immediatelybefore the LOD instruction.

Other sources of peephole optimizationare the replacement of specific operationsby more efficient instructions. Addition andsubtraction of small constants (less than 4)occur frequently in array subscripts and loopcounters. They can be replaced by repeatedincrement or decrement instructions. Somep-codes are translated into in line 8080 codeinstead of a call to runtime routines. Table4 is a summary of peephole optimizationused in the translator. Note that the opti-mized code always takes less memory spacethan the unoptimized code.

An Example

The various modules of the compiler sys-tem have been described. Now let us look ata complete program example. Listing 1shows the compilation, translation and exe-

190

November 1978©BYTE Publications Inc

Circle 1 79 on inquiry card.

cution of a sample Pascal program. The pro-gram is stored in a disk file with file nameT4. It is a sorting program that uses a binarytree algorithm. As mentioned before, it ismore efficient than a bubble sort algorithm.The two subroutines in this program willbe used in our next version of the translator(written in Pascal). The main program beginsby asking the user to input an integer K (Kmust be less than 110) for the number ofitems to be sorted. It then reads the K+1bytes of data starting from hexadecimalmemory location 1A00 (the location whereruntime routines are stored). The dataitems are read one at a time and procedureENTER is called to build a binary tree withthese items. Procedure TRAV is then calledto traverse the tree recursively in the "leftsubtree..root..right subtree" fashion and thedata with sorted order is placed in array S.Finally, array S is printed.

The p-compiler generates 145 p-codes (0to 144) for this program. Afterwards, it usesa CHAIN statement (North Star BASIC) toload the translator program from disk, andoverlays the compiler. The translator beginsby asking the user to input memory ad-dresses of runtime routines, p-code pro-gram, output 8080 code and data stack. Atthe end of the first pass, 20 address refer-ences are recorded. After sorting, it is foundthat there are only 15 actual labels. Outputfrom the second pass of the translator is across-reference of p-code program counterand memory addresses of the correspondingtranslated 8080 code. The leftmost col-umn is the p-code program counter. Hexa-decimal memory addresses are printed ingroups of 15 per line. With the exceptionof the first one, only the two low orderhexadecimal digits are printed. At the endof the second pass, 11 forward referencesare recorded. A total of 766 bytes of 8080code are generated. Compared to the sizeof the p-code program, the translated codeis 1.32 times larger. This ratio usuallyranges between 1.05 and 1.35, depending onprogram structure and the types of state-ments used.

After translation is completed, control istransferred to the disk operation system(DOS). The runtime routines are loadedfrom the disk file, PAS.LIB, to hexadecimalmemory location 1A00. Then executionmay begin by typing a JPxxxx command(jump to xxxx), where xxxx is the startinghexadecimal memory address of the trans-lated code. In listing 1, two separate runsare shown: the first one sorts eight numbers(K+1 with K = 7) and the second sorts 21numbers. The user may get back to BASICby typing JP2A04, where 2A04 is the entrypoint of BASIC. (Thecommand !CHR$(129)

T$ — table of p-code address labels

D$ — table of 8080 address corresponding to address labels in array T$

E — table of forward references

W — count of address references

WO — count of actual labels

G — count of forward references

K — p-code instruction counter

X — memory location of current p-code

P — 8080 program counter of the translated code

F — current op code

V — =1 means indexed load or store

RO — =1 means current p-code is being referenced

U — program counter of the next referenced p-code

Table 5: Table of important variables and arrays in the translator programshown in flowchart form in figure 2.

P-CODES STARTS AT 8600WANT C00E PRINTEOTH

Listing I: Compilationand translation of asample Pascal program.A t the end of the trans-lation, the ratio of p-code to 8080 code isdetermined for refer-ence purposes.

8

?*T4

e

< PGM -- SORTING BY BINARY TREE >

e

UAR I,J,K,N,NEW INTEGER,

ii

i

T,L,R-S ARRAYC118I OF INTEGER;

PROC ENTER<N>;

i

UAR J:INTEGER;

2

BEGIN J =0,

5

REPEAT

5

IF N<=T[J3 THEN

9

IF Lt J3O0 THEN J = LIJ3

17

ELSE BEGIN LCJ3■"NEW;J «fl END

24

ELSE IF RCJ3O0 THEN J =R[JJ

32

ELSE BEGIN RtJ3'=NEW;J-»0 END

39

UNTIL J=8,

43

T[NEW3=N;NEW =NEW+1

48

END;

51

51

PROC: TRAU<J); < TRAUERSE THE TREE !

51

BEGIN IF LCJ3O0 THEN TRAU<L[ JJ )i

62

SCK3 =TtJ];K =K+1;

78

IF RCJ3O0 THEN TRAU<R[J3)

79

END;

88

88

BEGIN <MAIN>

88

T[0] =255;NEW =0;

86

REA0'.K#); WRITER 13, 18);

92

FOR I =8 TO K 00 BEGIN

99

LCI I =0;Rtn =8; ENTER<MEMC I+551A083 )

116

K =8; TRAU<6);

121

FOR 1=6 TO K-l DO WRITE<' ',SCI3#V.

148

WRITE< 13,16)

144

END.

INTERPRET I ), OR TRANSLATE< T >?T

END,

*** P-CODE TO 8686 TRANSLATION ***A00R (HEX) OF PAS LIB 1A86

AD0R <HEX) OF P-CODE'6888ADDR <HEX) OF OUTPUT 8886 PGM 6866STACK START ADOR (HEX ) 5866STACK END ADDR <HEX) 7FFF

26 REFERENCES

15 ACTUAL LABELS

& 6889 0C 6C 12 17 10 23 29 31 34 3B 41 49 4F 5115 6853 5E 66 6C: 6F 75 70 85 8A 98 93 99 Al A6 A936 6866 B6 BE C4 C7 CO 05 DO E£ E8 EE F3 F6 FD 8545 698B 13 IB 21 IE 26 29 29 2F 35 30 42 45 4C 5268 695A 62 64 6C 72 7A 82 8A 98 80 95 9B A3 A8 AB75 6962 B8 CO C8 CA CD 03 08 DE E4 E9 EF F2 F8 FE98 8A81 67 0A 0F 15 IB IE 24 27 2E 34 39 3F 45 4A185 6A56 56 5C 5F 62 68 6A 78 73 79 7C 7E 83 89 8E128 6A94 96 9B Al A7 AD AA AO B3 B6 BD C3 C6 CC 02135 6AD5 OB DE E4 E7 E9 EF F2 F8 FB FE11 FORWARD REFERENCESP-CODE. 145 INSTRUCTIONS8888. 766 BYTESP-CODE 8686 = 1 3266897* END TRANSLATION *BYE*LF PAS.LIB 1A88

*JP0806

??

29 34 34 35 43 43 235 242*JP0886?28

8 1 5 25 29 29 32 33 34 34 35 35 48 43 43 112 113 261 235 242 244*JP2A64READY!CHR*< 129)

November 1978©BYTE Publications Inc

191

is an immediate BASIC statement used toturn off the printer.)

Summary

Compilers for high level languages arelarge, nontrivial programs. Their implemen-tation usually requires a significant amountof computer system resources and humaneffort. Although our available system re-sources were limited, both in hardware andsoftware, we managed to finish the boot-strap compiler within a relatively shorttime period. The reason is obvious: ThePascal subset we implemented is small. Wefollowed the same approach professionalsuse for implementing portable Pascal com-pilers on mainframe computers. Syntax dia-grams, which define the subset language, areused to construct the syntax directed, top-down parser of the compiler. The generationof p-code is also syntax directed. P-code isrelocatable and portable, and its interpretercan be easily implemented on most micro-computers.

There are several features that are uniqueto our compiler project. First, the bootstrapcompiler was written in BASIC (North Stardisk BASIC). Although BASIC is not an ap-propriate language for compiler writing, it is

BYTE Listing Service

offers the

"Tiny" Pascal Compiler

The p-code to 8080 conversion program (written in North Star BASIC),the 8080 runtime routines, and a reprint of the 3 part article "A 'Tiny' PascalCompiler" are available from the BYTE Listing Service for $3 postage paid.Please use the coupon below and order BYTE Listing #LSI00.

Please send copies of BYTE Listing #_

Check Enclosed

Bill my BAC #

Bill my MC #

Name

Street

City

.at:

. Exp Date.. Exp Date.

.postpaid.

_ State.

. Zip Code.

BYTE Listing Service, 70 Main St, Peterborough NH 03458

You may photocopy this page if you wish to keep your BYTE intact.192 November 1978 © BYTE Publications Inc

the only high level language available in oursystem. Its ability to perform recursive func-tion calls proved essential in simplifying theimplementation of the compiler. Secondly,instead of writing a p-code interpreter inassembly language, a p-code to 8080 ma-chine code translator was written in BASIC.The translated code can be expected to runmore than twice as fast as interpreting p-codes. A p-code interpreter with debug facil-ities was also written (in Pascal). It can beused to debug p-code programs. Thirdly,minor extensions to the subset languagewere implemented. Absolute addressing ofmemory locations and machine language in-terface are desirable features for microcom-puter systems. The availability of hexadeci-mal constants and 10 conversions providesmuch user convenience.

Presently, the bootstrap compiler is veryslow. It compiles at the rate of about eightlines per minute for a very dense Pascal pro-gram (using North Star BASIC with a 2 MHz8080 processor). With some refinement inthe compiler and runtime routines, thePascal version of the compiler can be ex-pected to run 25 times faster, or approxi-mately 200 lines per minute.

Completion of the bootstrap compiler isonly a milestone in our compiler project.There are many tasks still to be done.Logically the next step is to write the trans-lator and then the p-compiler in the Pascalsubset and compile them using the BASICversion of the compiler. Since the com-piler source and p-codes are big, theremay be a minor problem in memory man-agement. It may be necessary to write thep-codes onto disk to save memory. Afterthese two programs have been debugged, anyfurther development can be done in Pascalwithout the BASIC interpreter. It would bequite interesting to have the compiler (inobject code) compile itself (in source code)and use the output object code to compileitself again. After each compilation, the ob-ject code could be compared with the previ-ous one to provide a means of verification.

More Pascal features or extensions canbe implemented one step at a time. Theymay include character type and pointer typevariables, disk 10 capabilities, floating pointarithmetic, multidimensional arrays andbuilt-in functions. It is also necessary to im-prove the error diagnosis and recoveryscheme of the compiler. Further develop-ment should be aimed at user convenience.A dynamic debugging package that can dis-play and alter the values of variables asspecified by name at runtime would bedesirable. Ultimately, we hope to see aPascal system that is as convenient and easyto use as an interactive BASIC system."

New Modem

Provides Cost Effective

Network Control

The 2400 DCM, Diagnostic Con-trolled Modem, provides control of acommunications network. The diagnos-tics are contained within the master andremote site modems and provide asecondary channel with command modeprocedures. Test and control of theremote site modems are performed overthis secondary channel without inter-ference to mainstream transmission.

Standard features include large scaleintegration logic, built-in test patterngenerator and detector, EIA standardRS-232 interface, and on line compati-bility with Bell system 201B and 201Cdata sets.

The 2400 DCM lines of modemsrange in price from $800 to $1600. Con-tact Penril Corp, 5520 Randolph Rd,Rockville MD 20852.•

Circle 583 on inquiry card.

New Modem Assembly HousesTwo ComData Series 330 Modems

Printer Interfaces for SOL Computer

Two new printer interfaces for theSOL computer have been announced byProcessor Technology Corp, 7100Johnson Industrial Dr, Pleasanton CA94566.

The SOL Hytype I mounts insideany Diablo Series 1200 printer, connec-ting it directly to the back of the SOL.Similarly, the SOL Hytype II printerinterface works with the Diablo Series1300 printer. The installation packageincludes a fully assembled, tested and

burned in printed circuit board,software,all cables, and mounting hardware. Theprinter can be restored to its originalcondition if required.

Hytype driver software is included ona CUTS format cassette along with asource listing. The driver software maybe modified to suit a particular applica-tion.

The price for both the Hytype I andHytype II is $150."

Circle 580 on inquiry card.

The 330-2R-0 modem assemblyhouses two ComData Series 330 modemsand provides display of four controlfunctions and two data functions. Theassembly may be used to house two 300bps modems, one 300 and one 1200 bpsmodem, two 1200 bps modems, or one1200 bps modem with reverse channel.The 300 Series modems are Bell 113Bor 202 compatible and are available forleased line or auto answer applications.Since the assembly is compatible withthe 330 rack mount series, its use atthe terminal end permits maximum in-terchangeability of modems at bothends of the communications link. The330-2R-0 is priced at $150. The 330Series modem prices range from $150 to$225. Contact ComData Corp, 8115 NMonticello Av, Skokie IL 60076."

Circle 582 on inquiry card.

Speech Recognition System

The SR/8 is a microprocessor speechrecognition system that identifies up to16 spoken words or phrases and whichcan be interfaced to any computersystem. The SR/8 is trained for indi-vidual speakers and vocabularies byhearing each of the vocabulary words orphrases several times. From this trainingdata, the SR/8 computes a prototypepattern describing each voiced input.These prototype patterns are then usedto identify new spoken inputs via adecision process.

The system also has the capabilityto reject voice inputs that are notacoustically close to the prototypepatterns derived during training, suchas commands not in the vocabulary setor extraneous noises.

The system is available for $550 or asa self-contained, stand alone systemwith power supply and control panelfor $975. Contact Phonics Inc, POB62275, Sunnyvale CA 94087."

Circle 581 on inquiry card.

November 1978 © BYTE Publications Inc

193

What's New?

Conductive Foam ProtectsStatic Sensitive Components

New AC Power Conditioner

The new Voltector Series 5 ACpower conditioner protects microcompu-ters and other sensitive electronic equip-ment from power line noise and high

energy transients, saving the cost of adedicated line. The Series 5 providesboth common and transverse mode pro-tection against RF (radio frequency)noise and against the destructive surges,spikes and transients that enter a build-ing on the primary power line servicingit.

The conditioner is equipped with agreen pilot light to indicate ready. Itlimits up to 2500 V spikes to safe levelsand provides attenuation of frequenciesabove the line frequency. The Series 5 isinternally fused and rated for 5, 10, 15and 20 A at 1 20 V from 50 to 400 Hz.

Prices are: $169 5 A 0.6 kVA, $19510 A 1.2 kVA, $248 15 A 1.8 kVA, and$327 20 A 2.4 kVA. Units are coveredby a 5 year warranty. Contact PilgrimElectric Company, 29 Cain Dr, Plain-view NY 11803."

Circle 614 on inquiry card.

New EROM-Erasing Ultraviolet Lamp

The introduction of a new erasableread only memory erasing ultravioletlamp has been announced by Spec-tronics Corp, 956 Brush Hollow Rd,Westbury NY 11590. Designated theSpectroline PE-24T, the unit will erase

up to nine integrated circuits in 12minutes. The double tube constructionand specular reflector provide broad,intense and uniform ultraviolet dis-tribution.

Safety features include two highintensity ultraviolet tubes fully shieldedwithin an anodized aluminum housing,and a safety interlock to prevent theunit from operating when the tray isnot fully inserted.

A conductive foam pad holds theintegrated circuits in place during ex-posure and prevents electrostatic build-up while protecting the integratedcircuits from possible static change. A60 minute timer is included for auto-matic shutoff of the unit."

Circle 615 on inquiry card.

Electrically conductive foam forpackaging integrated circuits, hybridcircuits, CMOS, microprocessor chipsand other static sensitive devices hasbeen introduced by Charleswater Prod-ucts Inc, 3 Walnut Park, Wellesley MA02181.

The foam is an electrically conduc-tive packaging material that protectsdevices affected by both physical shockand static discharge. Available in lowdensity for cushioning and in highdensity for inserting leads directly, thefoam is unaffected by relative humidity.This conductive foam is available inthicknesses from 0.125 to 2.25 inches(0.32 to 5.72 cm) in 25 by 75 inchsheets (63.5 by 190 cm). Prices start at$18.50 per sheet. Literature and samplesare available on request."

Circle 616 on inquiry card.

Self-Contained Power Desoldering System

The new Pacenter series of equip-ment has been announced by Pace Inc,9329 Fraser St, Silver Spring MD 2091 0.The Model PC-20 D-Sodr System is thefirst equipment to be marketed in thisseries.

The PC-20 is a lightweight, self-contained power desoldering system.Incorporating Pace's "whisper quiet"minipump, the under IVi pound (3.4 kg)system provides low cost operation withhigh performance.

The PC-20 features Pace's Sodr-X-Tractor handpiece with "Thermo Drive"heat control. The power source providesa variable AC output for tip tempera-ture control; vacuum supply with quickconnect vacuum output; dual filtrationsystem including plug-in filter; auxiliaryground lug; and foot pedal controlledoperation. A hot cubby is provided forholding the handpiece and an assort-ment of Pace Super Tips is furnishedwith each system."

Circle 61 7 on inquiry card.

194 November 1978 © BYTE Publications Inc

THE BEST FOR BOTH WORLDS

Factory prime electronic equipment for both thediscerning hobbyist and the professional

TheNewHobby WorldCatalog

Your source for factory prime, professionalquality equipment. Computers, add-on Poards,IC's, sockets, resistors, supplies, tools, testequipment, Pooks, and more. Shop your Puy listat HoPby World. You'll find what you want, and ata solid savings.

This month's specials.

16K MEMORY ADD-ON FOR APPLEORTRS-80

Hobby World price is only $128.00 (specify whenordering)

NEW FROM SSM.THE CB-1 8080 CPU BOARD ATA

HOBBY WORLD SUPER SPECIAL. (See SSM ad for specs)It's Loaded. It's Blue. IT'S ONLY $119.95

THE NEW ELENCO 3V2 DIGIT SOLIDSTATE MULTIMETER

The ultimate in performance: measures resistance to.01 ohms, voltage to 100 micro-volts, current to onemicro-amp. Assembled and tested, with 2-Yearwarranty. Lists at $99.95. Hobby World: $74.95

WAHL ISO-TIP CORDLESS SOLDERING IRON

Includes ni-cad batteries and wall plug transformer.Lists at $19.95, but Hobby World has it for $14.95!

S-100 WIRE WRAP BOARD

Over 3600 holes, for super versatility. Provisions for 4regulators. Double-sided, plate-through. All S-100 pinslabelled for number and signal. The PT-1, Hobby WorldPrice: Only $30.00

Hobby World Carries TAB Books! Affordable books forthe hobbyist. Hobby World helps out with a 10%discount. (Order by number, and don't forget the 10%discount)

Computer Circuits and HowThey Work #538

Hobby World

19355 Business Center Drive #6

Northndge. CA 91324

TELEPHONE ORDERSInside Calif: 213 886-9200Outside Calif: 800 423-5387

Beginner's Guide toComputer Logic

Computer Technician'sHandbook

Build Your Own WorkingRobot

ProgrammingMicroprocessors

Beginner's Guide toComputer Programming

Digital Electronics:Principles and Practice

Microprocessor/Micro-programming Handbook

Computer ProgrammingHandbook

*548

*554

*841

#985

*574

*585

#785

*752

LIST PRICE

$5.95$5.95$9.95$5.95$6.95$9.95$5.95$6.95$9.95

Order by mail. Just write. Or order by phone. Toll free outsideCalifornia

SEND ME A CATALOG!

Address

City State

Satisfaction 100% Guaranteed

Circle 1 70 on inquiry card.

SEND ME THE FOLLOWING SPECIALS!

Item

Quantity

Price

Postage/Handling

S1 50

California Residents add 6% Sales TaxCharge My MC #

VISASignature

Expiration.

BYTE November 1978

195

What's New?

SOS Modular Solder and DesolderSystem

Shielded Motherboard Compatible with S-100 Computer Systems

glass epoxy. The board is designed toeliminate bus noise caused by unwantedcoupling between adjacent lines on themotherboard in S-100 computer sys-tems. The use of substantial groundtraces between adjacent bus lines on thisboard eliminates line to line coupling.The motherboard comes in a 16 slotconfiguration, fits any standard chassisand requires no soldering. Price for themotherboard is $190 assembled andtested and $150 in kit form. For moreinformation contact Artec, 60S OldCounty Rd, San Carlos CA 94070."

Circle 637 on inquiry card.

Compatible with the S-1 00 computersystems, the Artec shielded motherboardis made of 0.125 inch (0.32 cm) FR4

Microcomputer Training and Development System

The TDS-M68 microcomputer train-ing and development system offers thepersonal computer enthusiast anintegrated system complete with micro-computer, self-teaching lab manual, text-book and experimenter's lab package.This complete and self-contained systembrings together all the ingredients neededfor a hands-on training course aimed at

those who need to develop workingcapability with microcomputers.

The system uses the M6800 micro-computer and features 2 K bytes ofmemory (expandable to 8 K bytes bysimply adding the memory integratedcircuits), a lab manual that guides theuser step by step through the learningprocess, a lab package that includescomputer devices (LEDs, relays, smallmotors, etc) that are interfaced to andcontrolled by the computer, plus a prac-tical, applications oriented textbookcovering programming, interfacing andapplication concepts. An instructor'sguide and overhead transparencies arealso available.

Six general purpose IO ports, util-izing the SwTPC bus configuration,accept a line of interface boards thatincludes parallel and serial IO ports,cassette interface, interrupt timer,calculator module, erasable read onlymemory programmer, etc.

All items are available separately oras a total package. A descriptive bro-chure is available from Technical DevicesLtd, 1138 Main St, Winnipeg, ManitobaCANADA R2W 3F3."

Circle 638 on inquiry card.

Microcomputer Programming HomeStudy Course

A home study course in microcom-puter programming for beginners is avail-able from Logical Services Inc, 1080HE Duane Av, Sunnyvale CA 94086. TheModu-Learn course presents systematicsoftware design techniques and struc-tured programming in ten instructionallessons complete with problems, solu-tions, and practical examples in 8080and 8050 assembly language. Back-ground material on microcomputer ar-chitecture, hardware and software trade-offs and useful reference tables are in-cluded in this book of over 500 pages. Itis conveniently bound in a notebook foreasy reference.

The price is $49.95."

Circle 639 on inquiry card.

The SD5 modular solder and de-solder system consists of a 1 pound(0.45 kg) spool of hermetically sealedMIL spec solder with a D5 desolderwick dispenser tool snapped into thecore of the spool. The SD5 is a simple,practical solution to the problem ofalternating between soldering and de-soldering. The unit is completely refill-able.

The design of the removable D5desoldering tool allows it to retreat orsnap in or out of the solder spool for theconvenience of the user. The tool has a21/2 inch (6.3 cm) heat resistant Teflonprobe permitting pinpoint wick applica-tion even in densely packed electronics.

All components of the SD5 systemare available packaged for sale separatelyas well as complete units. Solder is pro-vided in 16, 18 and 21 gauge in thefollowing alloys: 63/37 (eutectic), 60/40, 50/50 and 40/60. The wick is avail-able in two gauges, 0.06 inch and 0.10inch (0.15 and 0.25 cm) to cover alldesoldering requirements.

For more information contact Chem-tronics Inc, Solder Products Division,45 Hoffman Av, Hauppauge NY 11787."

Circle 640 on inquiry card.

New Wire Wrap Panel and Card Catalog

I ^ '^^M&L

EECO ALA IS. PANELS, CARDS

This 28 page brochure covers EECO'snewest pin in board type ALA wire wrappanels, cards, drawers and frames. Prod-ucts are documented with photos, de-scriptions, specifications, outline draw-ings and prices.

Write EECO, 1441 Chestnut Av,Santa Ana CA 92701 for this brochure."

Circle 641 on inquiry card.

196

November 1978©BYTE Publications Inc

PLACE ORDERS TOLL FREE:

800/421-5809 Continental U.S.800/262-1710 inside California

THE DISCONTINUEDxcRe^APHc KITSARE STILL AVAILABLEWHILE SUPPLY LASTS*

MICROPROCESSORSF8

Z80

Z80A

CDP1802CD

2650

AM 2901

6502

6800

6802

8008-1

8035

8035-8

8080m

8085

TMS9900TL

8080A SUPPORT DEVICES

8212

8214

8216

8224

8224-4

8226

8228

8238

8243

8251

8253

8255

8257

8259

8275

8279

USRT

S2350

UARTS

AY5-1013A

AY5-1014A

TR1602B

TMS6011

IM6402

IM6403

6800 PRODUCT

6810P6821P6828P6834P6850P6852P860P6862P687 IPS875PJ880P68B10P

KIM

6102

6502

6520

6522

6530

6530-002

6530-003

6530004

6530-005

6532

CHARACTER GENERATORS

Upper (-12^5)Lower (-12 ±.5)Upper (5volt)Lower (5 voltjUp ScanDown Scan

2513

2513

2513

2513

MCM6571

MCM6571A

PROM'S

1702A

2708

2716(5+12>TI

2716 5v| INTL

2758(5vl

DYNAMIC RAMS

416D/41 16

2104

2107B-4

TMS4027

MM5270

MM5280

STATIC RAMS

21L02

21L02

2101-1

2111-1

2112-1

2114L

2114L

TMS4044

TMS4044

4200A

16.9520.0025.0017.9519.9520.0011.9516.9525.0012.9520.0021.0010.0023.0049.95

2.904.652.754.309952.756.406.408.007.5020.006.4520.0020.0075.0018.50

6.258.255.255.959.009.00

4.00

6.60

11.25

16.95

8.65

11.00

9.25

12.00

28.75

8.75

2.50

6.00

8.0011.9510.00

9.2515.9515.9515.9515.9515.9517.95

6.756.759.7510.9510.9510.95

6.008.9525.0038.0023.40

.6.004.003.954.004503.60

1.501.752.953.252.959.50

10.508.959.95

10.95

FLOPPY DISC CONTROLLER

1771B011781

KEYBOARD CHIPS

AY52376AY53600MM5740MM5743

1-24 25-99

1.201.502.603.002.658.009.008.008.759.25

39.9569.95

13.7513.7618.0018.00

EXPANDO-32 KITUses 4115 (8Kx1)Dynamic RAM's, can beexpanded in 8K incrementsup to 32K.

8K $179.00

16K $255.00

24K $325.00

32K $400.00

EXPANDO-64 KIT

Uses 4116 (16Kx1)Dynamic RAM's, can beexpanded in 16K incrementsup to 64K.

16K $260.00

32K $579.00

48K $757.00

64K $925.00

ffecippkz iiw computer

One of the best "Total Package"home and business computers onthe market. "Basic" in ROM,Color Graphics, Floating PointBasic Package, etc.

I6K version only $1,095.00

4116 (16Kx 1, 300ns)MEMORY EXPANSION KIT

Dynamic RAM chip can beused for expanding APPLE IIor TRS-80. Instructions incl.8 for $98.00

EPR0M BOARD KITS

RAM'N'ROM

(16K any EPROM) $117.00

MR-8 (1 K RAM, uses

27 08) $99.50

MR-16 (1 K RAM, uses

2716) $99.50

EPM-1 (uses up to 4 K

of 1702) $59.95

JG8/16 (uses 2708 or

2716) $59.95

THE PIGGY IS COMING!

JADE 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

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

MOTHER BOARDS,S-100 STYLE

9-Slot "Little Mother"Kit $85.00

Assm. & Tested $99.00

Bare Board $35.00

13-Slot with front panel slotKit $95.00

Assm. & Tested $110.00Bare Board $40.00

22-SlotAssm. & Tested $149.00

GOLD PLATED

S-100 EDGE CONNECTORS

Soldertail $3.25 each

10 for $30.00Wire Wrap $4.50 each

10 for $40.00

Computer Products

4901 W. ROSECRANS AVENUEDepartment "B"HAWTHORNE, CALIF. 90250

CardsWelcome

Cash, Checks, Money Orders, and Credit Cardsaccepted. Add freight charge of $2.50 for ordersunder 10-lbs. Add 6% sales tax on all partsdelivered in California. Discounts available atOEM quantities.

WRITE FOR OUR FREE CATALOG !

JADE 8080A

with full documentationKit $100.00

Assm. & Tested $149.95Bare Board $30.00

JADE Z80

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

MD 690a CPU BOARD

S-100 Compatible 6800 MPUIK x 8 RAM, PROMexpandable to 10K.

$199.95

TU-1

Convert your T.V, set into

Video Monitor

Kit $8.95

JADE VIDEO INTERFACE

S-100 Compatible SerialInterface with Sockets Included.Kit $117.95

Assm. & Tested $159.95

Bare Board withmanual $35.00

SHUGART DISK DRIVES

SA400

$295.00

Single-density 5W', 35 trackdrive.

$495.00

floppy disc$750.00

Includes SA801 R disk drive,10" x 10" x 16" cabinet,power supply, data cable, fan,AC line filter.

SA801R

Single-sided 8'drive.

DM 2700 S

STATIC RAM BOARDSJADE 8K

Kit JG8K (450ns) $125.95

Assm. & Tested

JG8KA (250ns) $139.75

Kit JG8K (250ns) $149.75

Assm. & Tested

JG8KA (250ns) $169.75

Bare Board without

parts $25.00

16K -Uses 2114's (lo power)

Assm & Tested

RAM 16 (250ns) $375.00

Assm. & Tested

16 B (4 50 ns) $325.00

Mem-2 Kit (2 50 ns) $285.00

16K Static with memory

management

Assem.& Tested

RAM 65 (250ns) $390.00

Assm. & Tested

RAM 65B (450ns) $350.00

Seals 32K

Assm. &. Tested

JG3 2 (2 50 ns) $795.00

Assm. & Tested

JG32B (450ns) $725.00

Kit JG32K (250ns) $575.00

Circle 195 on inquiry card.

BYTE November 1978

197

What's New?

PERIPHERALS

New Color Graphics Data Terminal

This standard graphic data terminal,designated 8001G, is an addition to theIntecolor 8001 product series. The stan-

dard features of the terminal are: com-plete graphic software, selection of eightforeground and background colors, 19inch color video tube, selectable bps rateto 9600, RS-232C connection, 48 linesand 80 characters per line, page roll, in-sert and delete — character or line, and64 ISA special characters. The graphicsoftware allows the user to plot bargraphs in both horizontal and verticaldirections, plot points, lines and vectorsby specifying the coordinates in a matrixof 160 by 192. Each graphic mode isspecified by codes that can be initiatedby keyboard or host computer throughRS-232C. The 8001 G is priced at $2750in quantities of one to 24 or $1925 on acash basis or in large quantities. For fur-ther information contact Intelligent Sys-tems Corp, 5965 Peachtree CornersE.NorcrossGA 30071.-

Circle 571 on inquiry card.

Complete Dumb Terminal on anS-100 Board

Voice Input For Apple II Computer

Automatic Answer and Dial Modemfor LSI-11

An automatic answer and dial, lowspeed modem for the Digital EquipmentCorp (DEC) LSI-11, LSI-11/2, andPDP-11 /03 computer families is availablefrom Nortek Inc, 2432 NW Johnson,Portland OR 97210. The completesystem, contained on a dual widthboard, provides computer controlledanswering and origination of datacommunication functions when used inconjunction with a TELCO CBS typeDAA unit. Software selectable trans-mission rates include 110, 134.5, 300,and 600 bps. Number of data bits andparity are also software selectable,enabling use with most available datacommunications terminals. Emulatinga DEC DLV-11E serial interface, themodem is software transparent to theTR-11 V3 and TSX operating systemswhen used in automatic answer mode.

The basic unit includes interconnect-ing cable for the DAA, software for anautomatic dialing device handler, and ispriced at $650. Additional software isavailable for intelligent terminal use."

Circle 572 on inquiry card.

The Naked Terminal is an S-100module that functions with a keyboardand video monitor. It contains a micro-processor with memory, software driversand internal bus and displays 80 charac-ters by 24 lines, using both upper andlower case characters in a 5 by 7 font.It features half duplex, full duplex anda block mode which allows editing be-fore transmission. Editing is aided byan addressable cursor. Switch selectablefeatures include black on white or whiteon black, blinking or nonblinking under-line cursor, and variable bps rates. Soft-ware is not required.

The terminal can be configured bya dual-in-line package switch to dropinto an existing system, replacing theserial input and output (IO) card andstand alone terminal without makingany changes to software.

The Naked Terminal is completelyassembled, socketed, tested and burnedin, and carries a full year guarantee. Formore information about this terminal,write to Dynabyte Inc, 4020 Fabian,Palo Alto CA 94303."

Circle 573 on inquiry card.

A new voice data input unit for theApple II computer has been announcedby Heuristics Inc, 900 N San AntonioRd, Los Altos CA 94022. Known asSpeechlab Model 20A, it features a32 word vocabulary, fast real timeresponse and the capability of multipletraining samples for high accuracy.

The unit complies with Apple IIcomputer "smart" peripheral conven-tions and interfaces directly with userwritten BASIC programs. The programis contained on an on board program-

mable read only memory which isautomatically executed by the Apple IImonitor program when speech input isdesired.

A high fidelity microphone and auser manual with six demonstrationprograms (including Mastermind, black-jack and Shooting Stars) written inApple BASIC are included. The price is$189 and the unit can be obtained fromHeuristics, 900 N San Antonio Rd,Los Altos CA 94022."

Circle 574 on inquiry card.

198

November 1978©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 if, FREE.

I

a

Available now, only $140

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

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.

AL: Huntsville: ComputerLand. 3020 University Drive. N.W., (205) 539-1200. CA: Berkeley: Byte Shop, 1514 University Ave.. (415) 845-6366 Marina DelRay: Base 2.13480Beach Ave..(213) 822-4499. ML View: Digital Deli. 80 W El Camino, (415) 961-2670. DE: Newark: Computerland of Delaware, Astro Shopping Center, Kirkwood Highway, (303) 738-9656. FL:Tampa: Microcomputer Systems, 144 South Dale Mabry, (813) 879-4301. IL: Niles: Computerland, 9511 North Milwaukee Ave., (312) 967-1714. Oak Lawn: Computerland, 10935South Cicero Ave., (312) 422-8080 KS: Overland Park: Personal Computer Center, 3819 West 95th St., (913) 649-5942. Wichita: Computer Systems Design. 906 North Main St., (316)265-1120. KY: Louisville: Computerland, 813-B Lyndon Lane, (502) 425-8308. MA: Cambridge: Computer Shop, 288 Norfolk St., (617) 661-2670. MD: Rockville: Computerland.16065 Frederick Rd., (301) 948-7676. Ml: Royal Oak: Computer Mart, 1800 W. 14 Mile Rd (313) 576-0900. NJ: Budd Lake: Computer Labof New Jersey, 141 Route 46, (201) 691-1984Clark: S-100,7 White Place. (201)382-1318. Iselin: Computer Mart of New Jersey. 501 Route 27, (201)283-0600. Succasunna: Computer Hut, 15 Route 10, (201)584-4977. NY: Buffalo:Computerland, 1612 Niagara Falls Blvd., (716) 836-6511. Dewitt: Computer Enterprises, 3470 Erie Blvd. E., (315) 637-6208. Ithaca: Computerland of Ithaca, 225 Elmira Road, (607) 277-4888. New York City: Computer Mart of NY, 118 Madison Ave.. (212) 686-7923. Johnson City: Micro World, NYPENN Trade Center, RM 217, 435 Main Street, (607) 798-9800 OH:Cincinnati: Digital Design, 7694 Comargo Rd., (513) 561-6733. Dayton: Computer Solutions, 1932 Brown St.. (513) 223-2348. OK: Oklahoma City: Micronics. 2834 N.W. 39th St..(405) 942-8152. TX: Austin: Computerland, Shoal Creek Plaza, 3300 Anderson Lane, (512) 452-5701. Houston: Houston Computer Mart, 8029 Gulf Freeway, (713) 649-4188. UT:Orem: Johnson Computer Electronics, 699 N. 1060 W., (801) 224-5361. VA: Alexandria: Computers Plus, 678 So. Pickett St., (703) 751-5656. Arlington: Arlington ElectronicsWholesalers. 3636 Lee Highway, (703) 524-2412. VT: Essex Junction: Computer Mart of Vermont, 159 Pearl St., (802) 879-1683. CANADA: Ontario: Mississaugua: ArlsiaMicrosystems, 1455 Gregwood Rd (416) 274-6033. Toronto: Computer Mart Ltd. 1543 Bayview Ave , (416) 484-9708. WEST GERMANY: Munich: ABC. Computer Shop, Schelling-strasse 33. 8000 Munchen 40. Microcomputer Shop, Toelzerstr 8, D-815 Holzkirchen ISRAEL: Haifa: Microcomputer Eng. Ltd., Haifa 31-070.

Circle 190 on inquiry card.

BYTE November 1978

199

Whal's New?

MEMORY

Software ControlledDisplay Formats

8010 Bus Compatible 64 K ByteProgrammable MemoryBoard Saves Space

This space saving 64 K byte program-mable memory board has been intro-duced by GSI Systems, 223 Crescent St,Waltham MA 02154. The GSI Systems10046 64 K byte programmable memoryboard is a direct replacement for four

Intel or National Semiconductor SBC8010 16 K byte programmable memoryboards and frees space for boards withotherfunctions. Providinga475 ns accesstime and a 650 ns refresh, the 10046 iscompatible with a standard SBC 8010backplane. Two serial IO ports capableof providing RS232C or current loopinterface may be incorporated to permitthe board to communicate with variousperipherals, terminals and modems.

The board provides all of the necessarylogic and electronics to perform access-ing, reading, writing, transparent refresh,time out refresh, and direct memoryaccess. Its logic resolves conflicts be-tween refresh and normal or direct mem-ory access operations so that both cannotoccur simultaneously. The 10046 can bedriven by any Intel or National Semi-conductor 8010 processor board; 64 Kbyte address starts at 0000, page select-able. Voltages required are ±5 VDC and±12 VDC. It can also be strapped for16 K byte operation.

The system sells for $1 795; the 1 6 Kbyte version sells for $495."

Circle 648 on inquiry card.

External Memory Expands PET 2001

64 K Bytes Memory for the Heathkit/Digital H11 Computer

The PEM-8K external memory standalone unit supplies an additional 8 Kbytes of external programmable memorycompatible with either the 4 K byte orthe 8 K byte version of the PET 2001computer series. Connection to thecomputer's existing memory is madethrough a 3 foot interface cable andan edge connector plug that mates withthe PET's memory expansion connector.A self-contained, fused and regulatedpower supply furnishes all necessaryoperating voltages. Power is controlledby a rear mounted switch.

The PEM-8K is housed in a wood-grained finished cabinet that comple-• ments the PET's appearance. As an in-troductory bonus, a 10 K byte softwarepackage will be supplied that allows thePET to perform financial and investmentcalculations, hyperbolic trigonometricfunctions, factorials and more. ThePEM-8K is priced at $279 assembled,tested and ready for use. A specialmodel wired for use with 200 VACpower is available on request. Formore information write to InternationalTechnical Systems Inc, POB 264, Wood-bridge VA 22194.*

Circle 649 on inquiry card.

The CI 1103 memory module is de-signed specifically for the Heathkit H11computer and the PDP 11/03 microcom-puters. The new memory features easyexpansion from 8 K bytes to 32 K bytesby simply interchanging the 4027 4 K by1 bits dynamic memory devices withtheir 16 K byte equivalents, with no fur-ther modification to the board. Avail-able in 8, 16, 24 or 32 K byte versions,

The Datacube VR-106 video pro-grammable memory board provides 80by 24, 80 by 1 2, 40 by 24 or 40 by 1 2character display formats under softwarecontrol. The display consists of 128upper case, lower case and Greek char-acters in a 7 by 7 or 7 by 9 font. A bi-polar programmable read only memorycharacter generator can be used forreverse video, underline, half intensity,blinking or graphics block.

Compatible with Intel Multibus SBCseries computers, the VR-106 appears asmemory and occupies 2048 locations inbinary addressed models and 4096 inXY addressed models. A base addressfor the board is programmed on a 5 posi-tion dual-in-line switch. An 8 bit inputport accommodates an optional key-board, and two video output ports areprovided: direct drive and compositevideo.

The Datacube VR-106 video pro-grammable memory board is priced from$540. Additional information is availablefrom Datacube/SMK-I, 670 Main St,POB 405, Reading MA 01867."

Circle 650 on inquiry card.

the unit plugs directly into the Heath-kit/Digital H11, LSI-11, PDP 11/03 orLSI-11/2.

The CI 1103 is available with eitheron board distributed refresh or externalrefresh control logic. Data access time is350 ns and cycle time is 525 ns. Onboard memory select is available in 2 Kbyte increments up to 128 K words ofmemory. Power consumption is under7 W.

Single quantity price is $390 for 8 Kby 16 bits and $995 for 32 K by 16 bits.For further information contact ChrislinIndustries Inc, 31312 Via Colinas #102,Westlake Village CA 91361."

Circle 651 on inquiry card.

200

November 1978 © BYTE Publications Inc

CaIIFornia DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

CLARE PENDAR FT|

Central Instrument Corp. Ul

KEYBOARD

ASCII ENCODED

m *64.95

This is a one time purchase ofNEW Surplus keyboards, re-cently aquired from the Tele-communications Division of theSinger Corporation.The keyboard features 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-cellent buy at only $64.95.Limited Quantities.

|"""|q I W I E R

4 I 5 I 6 I 7 8 I 4

[r It |y |u I I I 0

]suhieiN|*?xI4¥H|4f«| So IZ XCVBNM

\bLt\ < I

«S FS, BACK HE!E

Jv W

. I WTukIm- I

\ I *" FEED TURN

CONNECTORS

c3 «» l

jaflfiaiiifimin.

■nnnnnnni nnim.

H td >

13

arorr

your choice

DB25P

male plug&hood

or

DB25S female

'395

Qty fe. male hd.

10 3.4S 2.45 1.15

25 3.15 2.25 1.05

100 2.65 1.90 .95

500 2.25 1.00 .55

IK 1.97 1.37 .73

Edge

Connectors

GOLD100 PIN

IMSAI/ALTAIR

Imsal solder.125x.250Imsai w/w.l25ceatersUltair aoldertall.UOrowSPECIALS22/44 Kim eyelet.150"25/50 solder tab .155"30/72 wide post W/W.155

S4.95 3/H0.00•4.95 3/S13.0015.95 3/115.00

41.95 3/45.004L00 3/42.00• 1.95 3 s5.00

S-100 Mother Board

QuietSuss

HEXADECIMAL KEYBOARD

Maxi-Swltch. hexadecimal keyboards are designed for ag^Stadfl 9Smicrocomputer systems that require 4-bit output fc --^ iSJP^Pm

In standard hex code.Each assembly consists of 16 hermeti-cally sealed reed switches and TTL "one.shot" debounce circuitry.Reliable low trietIon acetat resinplunge's are credited lor the smoothoperation and long life of this premkikeyboard.Requires single + 5 volt supply.

TELETYPE MODEL 43

Even if we have to give themaway, we're going to ship more43't la 1979 than the aggregateof all our competitors.

Model43AAA (TTLEACH J_ 10

'925. 875. 850. 825

RS-232 Interface"K" «dd>75.00

•Co TH?

'24.88

£..:TU<s £ UNIVACKEYBOARD

DIGITAL

ALARM CLOCK

Completely MQ9SAssembled IX"

Walnut-grained decorator clock features large .7* LEO display which Isdriven by the new National MM5385 alarm clock chip. Preset 24-hour alarmfunction allows you to awaken at the same time each morning withoutresetting. Upon reaching the wake-up time, the clock's loudspeaker emitsa gentle tone. Touch the snooze button and doze oft (or an additional 9minutes 01 sleep. Clock also functions as a ten-minute elapse timer"Alarm Set" Indicator, AM-PM display.

FROM ATARI

COLOR TELEVISIONR.F. MODULATOR'13.95.

The Atari R.F.

iputer data to bedisplayed directly upon your

islon system.

verts the sig-

Ideo sources into

frequencies

Operates from single 5

volt supply. Complete

mating

SPECIAL

APPLE ((

IBK ME MO FT

COLOR* GRAPHICS* SOUND

$1024

Mfg Sug.Retail....

•1195

— M. 45J Certified Digital

•aCOtCn CASSETTES

Diskettes

SincKSoft(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

Dataproducts

—r 3

i feature four 10OK potentioe propotllort the stick. Perfect t<y telovitioi

MEMORY

Potter & Brumf ield

REED RELAY

5voltcoiL,pulls3.5v.,$

Fo>

10 100

pv LED . DIGITAL

DarkroomTimer-Kit

A* featured in the August 78 issueof POPULAR ELECTRONICS.Time 1 second to 10 hours

$9,4.95 Informationw"F. upon request.

DYNAMIC 1-7

4115 8Kxl 11.95

4116 16Kxl 13.95(^jplell & TRS80)

4164 64Kxl *

11.5013.00

• As you may be aware, publishersrequire advertisers to submit theirad copy 60 to 90 days prior to "press"date. That much lead time in a volatile market place,such as memory circuits, makes it extremely difficultto project future.cost and availability.To obtain the best pricing on memory we have madevolume commitments to our suppliers, which in turnaffords us the opportunity to sell these circuits at themost competitive prices. Please contact us if youif you have a demand for volume state of the art mem-ory products.

STATIC

21L02 450nS.21L02 250nS.2114 IKx-l 4502114 1Kx4 3004044 4Kxl 450

4044 4Rnl 250

4045 1Kx4 4504045 lrit4 2505257 low pow.

1-31

1.491.696.958.958.959.958.959.957.95

32-99 100-5C

1K+

1.191.496.508.50

8. 50

9. 508.509.507.50

6.00 5.75

1.05

1.45

6: 25

8. 00

8.00 * *

9.00 * *

8. 00 * *

9.00 * *

7.05 6.75 6.45

SPECIAL CIRCUITS

Z80A 4 MHz.

8080A CPU

8085

8086 Intel 16 bits

TMS9900 16 bits

24.95

9.95

22.50

AY5-1013A UART 4.95Floppy Disc ControllersWD 1771 single D. 39. 95WD 1781 Double D 65. 00WD 1791 D/D3740 *

E PROMS 1-151702A 2K 4.952708 8K 9.95

2716 16K 19.952532 32K *

16-634.509.50

64+4.009.00

Digital1 Cassette Drive

COMPUTER CONTROLED

j Lwzn This precision I/O assembly featuresJf 6J. remote software controlled search

capabilities. Two independent capstandrive motors allow the computer tocontrol direction and speed of thetransport.

The assembly consists of a Raymondcassette transport, chassis, mother-board and three edge cards: read/write,capstan drive & control card.Current replacement valued at over$700.00. Schematics and completedocumentation included. USED, but inexcellent condition.

S-100 PROTOTYPE BOARD |

OPlOO-Maxlrmjm design ver- * *t Annsaimry along with standard i.^J.*B

acOress decoding and but-Taring tor Si00 systemsBoom (of 32 uncommitted 16pin IC's, 5 bus butter & de-coding chips, l DIP addressselect switch, a 5 volt regu-lator and more.WWlOO-Wlre wrap bread-board, simitar to the GPiOOAllows wire wrap of oil sizesof SOCK els in any sl/es ofsockets In any combination.An extra regulator positiontor multiple voltage applica-tions.

ThumbwheelsJSX^switch

Ten position

BCD

o^o

$139e

10 50

41.19 XI

*.69

Conductor Ft.

(RIBBON WIRE]

TWISTED PAIR

Transistors

aa. 10 SO 100

Ml 30552N3772

2N39042N3906

2N2222A.20 .11 .16.152N3055 .59.65.59.55.79 .75.69.65159 1401.39129.15 .11.09.07.15 .11.09.07

Diodes

10 25 1001N4002 lOOv. .08 06.051N4005 600v .10 08.071N4148 signal .07.05.04iambo red

LED's

ea. 10 25 100tl5.13.ll .09

Power Adapter

6vdc,140mA S1.3>

7vdc, 1.4 A. 5.509vdc,200mA. 1.1910 tAc,300mA. 1.95

'98

Output:12v.ct. 175mA.TRANSFORMER

TRIMMER

POTENTIOMETERS

2K 5K 10K 50K

5 for '.98

20 50 100

^

16< 14< 12<

<2>3>679-9001

Page Wire Wrap Kitsprecut & stripped

KITNo.1 *6?s

900 Assorted Lengths

KIT No 2 *19?s

2800 Assorted Leejths250' Bulk Wire

CAPACITORS

ELECTROLYTICS

ea. 10 50

80,000/10v. 395 349 2954500/50».5»9 135 1)9

1000/lSv 5.55 49 .45anal

$.98 $.gg .81.73.66SPOT Miniature Toggles

7101CSK ON NONE ON

7107 jbt ON OFFImnt ON) I

7108 CK ON-(moment.ON) I

Rocker IBT DPDT

Rotary 3P-4Pos.

Rotary 3P-6-P0S.

Push8 (NO.) 5.39ea.4/51

DIP Switch

DISCOUNT

Wire Wrap Center

Heavy

duty groundedpower cord and mating;chassis connectors.

PANASONIC

*98

A A"

450mA.

IC SOCKETS

wire wrapea. 25 50

low profile

ea. 25 50

8

17< 16 15

14

3736 35

18 17 16

IS

38 37 36

19 18 17

24

99 93 (5

36 35 34

40

159 155 139

63 60 58

'S9.95 |BW630

50ft.

'.98

KYNAR&Sp

500 1,000 11,00059. 515. 5105.

—

Credit cards accepted, SZO "

BY1L November 1*»7K 201

Whals New?

New Nonimpact Ink Jet Printer

PERIPHERALS

64 Character by 16 Lines Video Display Board

Requiring +8 VDC at 1.2 A, theFlashwriter generates a video display of1024 characters arranged as 16 lines of64 characters each and uses a 7 by 9 dotmatrix to produce a high quality, high

resolution display image. The board alsohas an 8 bit parallel port with latchedstrobe that may be used as a keyboardport.

In addition to alphanumeric displays,the Flashwriter can generate character-by-character, reversed video, reducedintensity, block and line graphics. Itcontains its own screen refresh memoryand is designed to operate with 4 MHzprocessor clock rates.

The Flashwriter is fully compatiblewith most S-100 bus microcomputers.Its video output conforms to RS-170requirements and is available as com-posite video or separate video and sync.

It is priced at $195 for the kit or$235 assembled and tested. For moreinformation, contact Vector GraphicInc, 790 Hampshire Rd, WestlakeVillage CA 91 361.■

Circle 529 on inquiry card.

Memory Board with 2716 Programmable Read Only Memory Programmer

The 32 K byte Bytesaver holdsup to 16 of the Intel 2716 memoriesor equivalent. Switches are provided to:protect and unprotect programmableread only memories individually or ingroups for programming; shadow readonly memory socket pairs, thus allowingexternal programmable memory to over-lap portions of read only memory ad-dress space, select card address, andcontrol the Bank-Select and direct mem-ory access input and output features.

The 32 K byte Bytesaver is designedfor use with the S-100 bus and is com-patible with Cromemco's System Twoand System Three computers.

The card is available in kit form for$195 and assembled and tested for$295. Contact Cromemco Inc, 280Bernardo Av, Mountain View CA94040.■

Circle 530 on inquiry card.

Cromemco's 32 K byte Bytesavercard provides an on board 2716 pro-grammable read only memory pro-grammer. Information can be storedpermanently by a simple, one timewrite of the desired data into an erasedprogrammable read only memory withthe on board programmer turned on.The card also provides a full 32 K bytecapacity of nonvolatile storage forread only memory intensive applications.

RS-232 Printer Adapter for theCommodore PET

A line of peripheral adapters for theCommodore PET has been announcedby Connecticut microcomputer, 150Pocono Rd, Brookfield CT 06804. ThePet ADApter Model 1200 drives anRS-232 printer from the PET IEEE-488bus. The PET ADA 1200 allows thePET owner to obtain hard copy programlistings and to type letters, manuscripts,mailing labels, tables of data, etc, usinga standard RS-232 printer.

The PET ADA Model 1200 is avail-able assembled and tested withoutpower supply, case or RS-232 connectorfor $98.50 or complete for $169. Add$5 for shipping and handling. Specifydata transmission rate when ordering(300 bps is supplied unless otherwiserequested)."

Circle 531 on inquiry card.

Called Quietype, this nonimpact inkjet printer prints 180 characters per sec-ond and is well suited for desktop oper-ation in offices, libraries, hospitals andother environments where minimumnoise levels are desirable.

Quietype operates bidirectionally,employing a motion minimization algo-rithm to maximize throughput. It prints80 characters per line as standard for-mat, using a 96 character ASCII set, andcan also switch to 132 characters perline in compressed format.

The ink delivery system uses a pres-surized disposable ink cartridge thatsupplies ink to the print head through aflexible tube. A simple pressure regula-tor in the head controls replenishmentof the ink supply.

The Quietype has been designed forvideo hardcopy, minicomputer andmicrocomputer outputs, and messageswitching applications. Printing is doneon a self-contained roll of class II Tele-type paper.

The single unit price for the printerwith an RS-232 interface is $2495. Dis-posable ink cartridges capable of printingsix million characters (about 3000 pages)are priced at $17.50 each. ContactSilonics Inc, 525 Oakmead Pky, POB9025, Sunnyvale CA 94086..

Circle 532 on inquiry card.

Serial IO for Apple II

A serial IO board for the Apple IIhas been announced by ElectronicSystems, POB 9641, San )ose CA95157. The board comes with soft-ware for BASIC IO programs and mon-itor to Teletype or other serial deviceand a program for using the Apple IIfor a video terminal. The board hasswitch selectable parity, number ofstop bits and jumper selectable address.Data rate goes to 30 k bps. The RS-232IO is available as an assembled andtested unit for $62, a kit with parts for$42 or circuit board for $15. Fulldocumentation and software areincluded. For information about addi-tional kits, contact the company."

Circle 533 on inquiry card.

202 November 1978 © BYTE Publications Inc

•••••■

••••••

• ••••■••••■■•••••■#•••■

• ••••■•••••■•••••■

•••••■

• •...••••••

§••••■

••••••

••••••

••••••

••••••

•••••■

••••••

••••••

••••••

•••••■

#•••••

•••••■

•••••■

#•••■••••••

•••••■

•••••■

•••••

•••••■

•••••■

•••••■

•••••-

• ••••

•••••■

••••••

••••••

••••••

••••••

•••••■

••••••

••••••

••••••

••••••

•••»••••••••

••••••

••••••

•••>•-

• ••*•■••••••

••••••

••••••

••••••

••••••

•••••■

•••••■

••••••

••••••

•••*•■••••••

••••••

•••••■

•••••<

••••••

••••••

•••••■

•••••■

•}•••••

•••••■

••••••

:••••••••■•••••■•••••■•••••■•••••■

:••••■•••••

•••••■

•••••■

#•••■-•••••■

•••••■

••••••

••••••

•••••■

•••••■

•••••

••••••

••••••

• ••••••••••

• ••••

•••••

••••••

••••••

••••••

Km.-•••••

••••••

••*..••••••

•••••■

••••••

••••••

:••••■•••••

••*.'•*•;•.

•rJ> • • * • •

^0\

KIT FEATURES:

1. Double sided PCmask and silk

• contact fingers.

2. Selectable wait states.

3. All address lines &fered!

4. All sockets included.

5. On card regulators.KIT INCLUDES ALLSOCKETS (except 2708s)assembled and tested.

16K E-PROM CARD

IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME!S100 llmsai/Altair] Buss Compatible!

id

board withscreen and gold

solderplated

data lines but

PARTS ANDAdd $25. for

PRICE CUT!

$57.50 kit

SPECIAL OFFER:

WAS $69 95

Our 2708s (450NS) arewhen purchased with above bit

$8.95

•jA

Swt*

8K LOW POWER RAM KIT $149.00

KIT FEATURES:

ADD

$20 FOR

250NS

Doubled sided PC Board with soldermask and silk screen layout. Gold

S-100 [Imsai/Altair] Buss Compatible!

m

Slated contact fingers..11 sockets included.

3. Fully buffered ondata lines.

4. Phantom is jumper

Pin 67.OUR 7B05 regulators areon card.

all address andselectable to

provided(450NS)

USES 21L02 RAM'S!

2 KITS FOR $279

Fully Assembled & Burned In

$179.00

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

MOTOROLA QUAD OP - AMP

MC 3401 PIN FOR PIN SUBFOR POPULAR LM 3900

3 FOR $1

ALARM CLOCK CHIP

N.S. MM5375AA. Six Digits.With full Data New!

$2.49 each

MOTOROLA 7805R VOLTAGE REGULATOR

Same as standard 7805 except 750 MA output.TO-220. 5VDC output.

44c each or 10 for $3.95

FULL WAVE BRIDGE

4 AMP. 200 PIV.69C 10 FOR $5.75

NOT ASSOCIATED WITH DIGITALRESEARCH OF CALIFORNIA, THESUPPLIERS OF CPM SOFTWARE.

450 NS! 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-1702 A's in one package.

$15.75 ea.

PRICE CUT

$g

95 4 FOn $50

00-

16K STATIC RAM KIT

OUR LATEST COMPUTER KIT!

FULLY S-100 COMPATIBLE!

FULLY STATIC, AT DYNAMIC PRICES!

WHY THE 2114 RAM CHIP?

We feel the 2114 will be the next industrystandard RAM chip (like the 2102 was)This means price, availability, andquality will all be good! Next, the 2114 isFULLY STATIC We feel this is the ONLYway to go on the S-100 Buss1 We've allheard the HORROR stories about someDynamic Ram Boards having troublewith DMA and FLOPPY DISC DRIVESWho needs these kinds ot problems''And finally, even among other 4K StaticRAM's the 2114 stands out1 Not all 4Kstatic Rams are created equal1 Some ofthe other 4K's have clocked chip enablelines and various timing windows Just ■•critical as Dynamic RAM's Some of ourcompetitor's 16K boards use these"tricky" devices But not us1 The 2114 isthe ONLY logical choice for a trouble-free, straightforward design

*359°°

COMPLETE KIT

SPECIAL

INTRODUCTORY OFFER!

Buy 2 KITS (32K) for $650

450 NS

Blank PC Board with Documentation

$33.00

LOW PROFILE SOCKET SET- $12.00

ASSEMBLED & TESTED - ADD $30.00

2114's4K RAM's- 8 FOR $69.95

KIT FEATURES

1 Addressable as four separate 4KBlocks

2 ON BOARD BANK SELECT circuitry(Cromemco Standard1) Allows up to512K on line!

3 Uses 2114 (450NS) 4K Static Rams4. ON BOARD SELECTABLE WAITSTATES

5 Double sided PC Board, with soldermask and silk screened layout Goldplated contact fingers

6. All address and data lines fullybuffered

7. Kit includes ALL parts and sockets

8 PHANTOM is jumpered to PIN 67

9 LOW POWER: under 2ampsTYPICALfrom the *8 Volt Buss.

10 Blank PC Board can be populated asany multiple of 4K

SUPER SPECIAL: BUY 32 KITS (512 KILOBYTES) (8-64K BANKS) for s9,995

00

NATIONAL SEMICONDUCTOR

JUMBO CLOCK MODULE

FEATURES

• FOUR JUMBO v, INCH LED DISPLAYS

• 12 HR REAL TIME FORMAT

« 24 HR ALARM SIGNAL OUTPUT

• 50 OR 60 Hi OPERATION

» LED BRIGHTNESS CONTROL

• POWER FAILURE INDICATOR

• SLEEP A SNOOZE TIMERS

• DIRECT LED DRIVE (LOW RFI)

• COMES WITH FULL DATA

ASSEMBLED) NOT A KIT!

ZULU VERSION*

NMA10O8D - S9.95

PERFECT FOR USEWITH A TIMEBASE

IAC XFMH SI.981

COMPARE AT UP TO TWICEOUR PRICE!

Digital Research Corporation

■.„-..,.,« (OF TEXAS) r

P. O. BOX401247Y GARLAND. TEXAS 75040 • (214) 271-2461

SALE!

1N4148 DIODES. SILICON

Same as 1N914. New.

factory prime, Full Leads.

100 FOR $2

1000 FOR $17.50

New' REAL TIMEComputer Clock Chip

N.S. MM531 3. FeaturesBOTH 7 segment andBCD outputs. 28 PinDIP. $4.95 with Data

MICRO-MINI TOGGLE SWITCH

SPOT. By RAYTHEON99$ MADEINUSA'WITHHDWR

EACH

6 FOR $5

TERMS: Add 30C postage, we pay balance. Orders under$15 add 75* handling. No COD. We accept Visa, Master-charge, and American Express cards. Tex. Res. add5%Tax.Foreign orders (except Canada) add 20% P & H. 90 DayMoney Back Guarantee on all items.

•••••I I•••••I I

♦ • • • • *-*W

• ••• i»"

Circle 100 on inquiry card.

BYTE November 1978 203

What's New?

LM-2 Self-Powered Logic Monitor

Hewlett-Packard Announces New Line of Calculators

A family of five new hand held cal-culators designed for scientific andfinancial applications has been intro-duced by the Hewlett-Packard Com-pany. The five calculators, collectivelyentitled Series E, include the HP-31E,HP-32E and HP-33E scientific models

and the HP-37E and HP-38E businessmodels. These calculators replace muchof the company's present low end handheld calculator product line.

New features include a diagnosticerror code system whereby the operator.is informed of the error through a codenumber. There are as many as nine suchnumbers (depending on the model),each representing a particular type ofoperating or programming mistake. Eachcalculator automatically inserts commasin displayed numbers as they are needed.A low battery indicator light on the dis-play warns the operator that the bat-teries are low in time to recharge.

Each Series E calculator comes witha new modular documentation system.There is an introductory manual thatprovides a basic outline of the capa-bilities common to all models in thefamily.

Each calculator is priced consider-ably less than its predecessor. The pricesrange from $60 to $120. Contact In-quiries Manager, Hewlett-Packard Com-pany, 1507 Page Mill Rd, Palo Alto CA94304."

Circle 534 on inquiry card.

S-100 Cardframe Construction Kit

A starter set for the construction ofan S-100 cardframe and power supplyhas been announced by ObjectiveDesign Inc, POB 20325, TallahasseeFL 32304. The kit allows the beginner

or advanced computerist to constructa quality, durable cardframe with roomfor 22 cards. The kit contains front andrear panels specially prepunched formaximum versatility, support bars,structural bars, motherboard supports,a set of ten card guides, chassis plateand a ±16 V at 2 A power supply.Panels include cutouts for switches,power cords, connectors and mother-board extensions. No motherboard orfan is provided, although the cardframewill accept most popular versions of theS-100 motherboard. The frame is de-signed to allow the addition of a frontpanel, cover and bottom plate; theseitems are not supplied.

The cardframe kit is available withpower supply for $154.50 and withoutpower for $89.50 plus 5% US andCanadian shipping. Individual frameparts are available."

Circle 535 on inquiry card.

Vector Graphic Z-80 Processor Board

urife^

\ p, n r

es;^ „„ , ,.,

/"^kS^HB

H§Stic»

wn|^V w

**

~-^v/~"'

*"*««Bjj

S8P

This new Z-80 processor board isoffered assembled or in kit form. Theboard offers fully blocked design withon board wait state select, and is jumperselectable for operation at 2 MHz or4 MHz. The board will operate stan-dard 8080 software without modifica-tion. All Z-80 lines are fully buffered.

It is available for $175 as a kit or$215 assembled. Technical data cover-ing the Z-80 processor board and otherproducts may be obtained from VectorGraphic Inc, 790 Hampshire Rd, West-lake Village CA 91361 .■

Circle 536 on inquiry card.

The LM-2 is a self-powered version ofContinental Specialties' earlier LM-1logic monitor. A rotary switch selectsthe proper threshold for monitoringlogic levels in RTL/DTL, TTL/HTL andCMOS circuits. The built-in powersupply prevents undue circuit loadingby the logic monitor itself. A separatecable for CMOS circuits uses the voltageof the circuit under test to determine thelogic threshold level. It operates to amaximum useful input frequency of30 kHz (at 50% of duty cycle). TheLM-2, complete with built-in 117 VAC,50/60 Hz power supply, is priced at$129.95. A 220 VAC, 50/60 Hz modelis available at 10% more. For additionalinformation contact Continental Special-ties Corp, 70 Fulton Ter, New Haven CT06509."

Circle 537 on inquiry card

Kit Introduces Students to Computers

A 7 piece Computer Project Kit(CPK) for students in elementary or sec-ondary school and adults has been intro-duced by Edu-Pac Publishing Company,POB 27101-BK, Minneapolis MN 55427.

Designed as a motivational devicefor career education, this kit providesthe students with not only a brief chron-ological history of the computer andanswers to a list of most frequentlyasked questions, but also provides ahands on approach for entering datausing actual data input devices.

The Computer Project Kit can beused as part of a mathematics or sciencecourse, as an introductory unit to acomputer course or as a unit in itself.

Included in this color coded kit is acard decoder, prepunched with alpha-numeric characters; a mark sense card onwhich the student can code his or hername and address; a printed Teletypetape decoder sheet; and actual samplesof magnetic and prepunched Teletype8 level tapes.

The kits cost 20(/ each in minimumquantities of 50 (shipping charges areadded and billed). A single preview copyis available for 50^."

Circle 538 on inquiry card

204 November 1978 '■ ■ BYTE Publications Inc

COMPUTER INTERFACES & PERIPHERALS

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

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 — $t5.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 is8 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*

yf»

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

Part 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 20 mAcurrent loop, and 20mA currentloop to RS-232 • Two separatecircuits • Requires+12 and -12volts • Board only $4.50, withparts $7.00

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

To Order:

Circle 125 on inquiry card.

BYTE November 1978

205

What's New?

Computer Related Additions toBuckeye Stamping Case Line

Floppy Disk Preservers

The Buckeye Stamping Company,555 Marion Rd, Columbus OH 43207,has announced an expansion of its in-strument case line by offering cases withkeyboard holders and video displaycanopies.

These computer related additions,fabricated of extruded aluminum, areoffered in standard 17 inch (43 cm)widths. The new cases are now offeredwith blue or black vinyl tops withmatching feature stripes or with teak-wood vinyl as an option.

Cases sell in a price range of $100to $215 complete."

Circle 652 on inquiry card.

Protect your flexible disks from mag-netic degradation, erasure, or physicaldamage. This item will also protect 9inch (22.86 cm) diameter tape reels. Thecase is designed for storage, shipmentand hand carrying. A wide choice ofmodels and capacities are also availablefor standard reels, disks, disk packs andstandard cassettes. For further informa-tion contact Magnetic Shield Division,740 N Thomas Dr, Bensenville IL 60106and request their TP-5 catalog."

Circle 653 on inquiry card.

New Catalog from PAIA Electronics Inc

PAIA Electronics' newest 24 pagecatalog lists dozens of kits for the musi-cian or experimenter. Featured in thecatalog are the most recent additions tothe PAIA line: digital computer con-trolled electronic music synthesizers,orchestral string synthesizer, low costvideo display module and single boardcomputer. The Gnome microsynthe-sizer and a wide variety of special effectsdevices are als.o shown. The catalog isavailable without charge by writing:PAIA Electronics Inc, 1020 W WilshireBlvd, Oklahoma City OK 73116."

Circle 654 on inquiry card.

3M Introduces Compatible DataCartridge with 50% Greater Capacity

An extra length (450 feet of tape)data cartridge that provides 50% moredata capacity for users of the Scotchbrand DC 300A data cartridge is nowavailable from 3M Company's Data Prod-ucts Mincom Division, Dept 89, 3MCompany, POB 33600, St Paul MN55133. The Scotch brand DC 300XLcartridge is suitable for backup of diskdata systems and in applications whereextensive logging is involved. It can beused in applications which have been us-ing the DC 300A data cartridge. Thebasic price for the DC 300XL is $23."

Circle 655 on inquiry card.

ATWOOD ENTERPRISES

KITS

$ 79.95 4K RAM

Available assembled and tested $89.95.

$ 129.95 4K PROM

Bipolar 512 x 8 Proms 93448/6341.

.J

$149.95 8K EPROM

Needs only 4K space 2716.

$ 59.95 DIGITAL I/O

8 parallel ports plus 16 interrupts.

$ 99.95 ANALOG IN

~lI

HI

J

$ 49.95 PROM PROGRAMMING caBcopV43 |

H

i

32 inputs, 8 bits, 100 microseconds.

$ 30.00 MOTHER BOARD

8 slot with connectorsand card guides.

CONTROL

IF YOU ARE GOING TOCONTROL ANYTHING:SO LID STATE RELAYSCONSOLE DISPLAY BANKSCONSOLE SWITCH BANKSOR ANYTHING ELSE-IF YOU HAVE A COMPUTEROR NOT, YOU NEED OURNEW I/O BOARDS.

• 40 line discreet LED display board

• 40 line discreet switch board

• 40 line new data board

• Differential driver board

• Differential receiver board

• Opto isolator driver board

• Opto isolator receiver board

MOTHER BOARD FREE

WITH PURCHASE OF4 RAM BOARD KITS

MAKE CHECK OR MONEY ORDER PAYABLE TO:

Kathryn At wood Enterprises

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

206

November 1978©BYTE Publications Inc

Circle 25 on inquiry card.

.>%u 17W onni A "Smart" VIDE0 B0ARD^ The EW-2001 KIT At A "Dumb" Price!

^P A VIDEO BOARD + A MEMORY BOARD + AN I/O BOARD - ALL EN ONE!

■ STATE OF THE ART TECHNOLOGY USING DEDICATED MICROPROCESSOR I.C. &~\ QQ Q^

■ NUMBER OF I.C.sREDUCED BY 50% FOR HIGHER RELIABILITY ■ MASTER PIECE W -*• J.ZW*^7.*JOF ENGINEERING ■ FULLY SOFTWARE CONTROLLED Priced at ONLY Basic Software Included

SPECIAL FEATURES: ■ Programmable no. of scan lines OPTIONS:

■ S-100 bus compatible ■ Underline blinking cursor Sockets SI0.00

■ Parallel keyboard port ■ Cursor controls: up, down, left, 2K Static Memory

■ On board 4K screen memory right, home, carriage return (with Sockets) $45.00

(optional)* relocatable to main ■ Composite video 4K Static Memory

computer memory *Min. 2K required for operation of this board. (with Sockets) S90.00

■ Text editing capabilities (soft- DISPLAY FEATURES- Complete unit, assembledware optional) —rrr —- ——rr~- , and tested with

„. , , ... , "128 displayable ASCII charact- av Memorv S335 00

■ Scrolling: up and down through ers ( peryand lower case al ha_ 4R Memory . . . ^J>™

video memory numeric, controls) Basic software on ROM . 5)20.00

■ Blinking characters a 54 or 32 characters per line Text editor on ROM .... $75.00

■ Reversed video (jumper selectable)

■ Provision for on board ROM "32 or 16 lines DEALER

(jumper selectable)

" proJramVab^ ■ Screen capacity 2048 or 512 INQUIRIES WELCOMED

■ Character generation:7x11 dot matrix

8080 SUPPORT

821282148216822882518255

$3.007.953.505.957.958.50

GROUNDEDA.C. CORDS

6 Ft.-$1.19

80»0*

CPU

$7.75

RAM-2114

1Kx4 450ns$8.00

WIRE WRAP WIRE

KYNAR 28 AWG

$2.95/100 Feet

Blue, Red, White

Computer Grade

Capacitors

5000 mfd 60VDC

$1.50

EDGE CONNECTOR WIRE WRAP PINS

44 Pin $1.25-72 Pin $1.75 - 100 Pin (S-100) $5.45

MISC. IC's

DM8810 3/$lDM8210 $2ea.N8TI5 $1 ea.9024 2/S1.5093L08 $1.50 ea.93L09 2/S1.5093L24 $1 ea.

CMOS

4011402240234071

6/S1.002/S1.704/S1.005/S1.00

LINEAREC's

LM320K-5

LM320-12

LM709N

LM710H

LM711H

LM741M

.99

.99

11/$16/$l6/$l7/$l

Transistors& Diodes

2N3906

2N4400

2N4403

2N2222A

1N4003

1N4005

1N4148

SCR 400V

4A, TO220 $ .80

7/$l9/$l

9/1

4/$l

12/$1

10/$1

14/$1

SHIPPING: Keyboard and Video Board: $3.50; cuhlrs 125 California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD.*~ REDONDO BEACH, CA. 90278

* TEL. (213)376-8005

WRITE FOR FREE CATALOG

Minimum Order: $10

ASCII KEYBOARD KIT $74.00

Additional Improvements: Double Size Return KeyControl Characters Molderd on Key Caps

Power: +5V 275mA

Upper and Lower Case

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"

OPTIONS:

■ Metal Enclosure PaintedBlue and White

■ 18 Pin Edge Con.

■ I.C. Sockets

■ Serial Output Provision(Shift Register)

■ Upper Case Lock Switch forCapital Letters and Nos. $

Assembled (on Sockets)

and Tested $90.00

$27.50$ 2.00$ 4.00

$ 2.00

2.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 1 JO on inquiry card.

Whafs New?

SYSTEMS

Four Disk Microsystem Introduced by Processor Technology

This integrated small computer sys-tem with four full-size floppy disks online has been introduced by ProcessorTechnology Corp, 7100 Johnson Indus-trial Dr, Pleasanton CA 94566. The newsystem, Sol System IV, includes thecompany's Sol-20 mainframe with50,176 8 bit words of programmablememory, a Helios II Model 4 disk mem-ory system, PTDOS disk operatingsystem, Extended Disk BASIC, a videomonitor and complete documentation.Total mass storage capability on fourformatted disks is 1.5 million bytes.

The PTDOS disk operating systemoffers complex editors, assembler, de-vice-independent files and random in-dexed files. The video display can beaddressed randomly to any position onthe screen. Extended BASIC includesstring and advanced file functions,timed input, complete matrix algebra,base 10 and rational logarithms, trig-onometric functions, exponential num-bers and 8 digit precision.

In addition to Extended BASIC, DiskFORTRAN and Disk PILOT are avail-able as options. The price for the SolSystem IV, fully assembled and tested,is $7995.■

Circle 539 on inquiry card.

The New MD-690, an S-100 Compatible 6800

The MD-690 is an S-100 compatibleprocessor board featuring the Motorola6800 processor. This processor uses theMC6802 which combines the instructionset of the 6800 with internal program-mable memory and crystal controlledclock.

The board comes complete withMonbug, a 1 K byte monitor programwhich is software compatible with thestandard Motorola MIKBUG monitor,although it is designed to interface with

most ultrafast memory mapped videoand graphics cards.

The processor card also featuresinterrupt driven keyboard input for fastIO and an on card 2400 bps Manchestercassette interface. There are 1 K bytes ofuser available programmable memory onthe card and provision for a secondexpanded monitor. A 2 MHz option isalso available.

The price for the S-100 bus MC6802processor card, complete with the 2400bps cassette interface, 1 K byte monitorand 1152 bytes of programmablememory, is $198 in kit form. The pro-cessor is also available in a complete sys-tem, the MDS-2, which includes a case,power supply, motherboard, videographics card and custom keyboard,priced at $579 in kit form and $798assembled. An extensive line of softwarewhich mates the video graphics capabi-lity of the MD-690 processor is alsoavailable. Contact MDS, POB 36051,Los Angeles CA 90036."

Circle 540 on inquiry card.

Microcomputer Trainer

The microcomputer trainer, ModelMCT-1, is a microcomputer useful inthe design of microprocessor systems.It is intended to highlight various activi-

ties of the microprocessor while exe-cuting programs. The microcomputertrainer provides the required supportto learn software, debugging, computingconcepts, peripheral interfacing throughthe sequence of events associated inprogram execution. This hands-onexperience reinforces the basic conceptsof hardware and software tradeoff.

The unit comes fully documentedwith illustrative user-oriented softwarelibrary. It costs $720 from Allied Com-puters, B-58, Ashok Nagar, Madras-600083 INDIA..

Circle 541 on inquiry card.

Attention Designers:A 6800 in a Box

This ready to use microcomputer fea-tures the 6800 microprocessor and isbased on Motorola's MEK6800D2 evalu-ation kit. The Rank 68/01 is housed in ametal cabinet and provides 256 bytes ofuser programmable memory and 1 Kbytes of read only memory containingMotorola's J BUG monitor programwhich permits the user to examine andalter memory locations; save and loadprograms to and from cassette tape; ex-amine processor registers; insert and re-move breakpoints and step one instruc-tion at a time. The 68/01 comes com-plete with 6 character hexadecimal dis-play and keyboard, cassette interfaceand three user manuals. The computerboard has sockets for 256 bytes of extraprogrammable memory, two 2708 eras-able read only memory parts and buf-fers. Rank also offers the unit with anin circuit emulator feature for testingand debugging other 6800 circuits, calledthe 68-01E. Prices are $359 for the68/01 and $715 for the 68/01E fromRank Peripherals of Canada, 4998 Blvdde Maisonneuve W, Suite 1020, MontrealPQ CANADA H3Z 1N2.»

Circle 542 on inquiry card.

208

November 1978©BYTE Publications Inc

DIODES/ZENERS

SOCKETS/BRIDGES

TRANSISTORS, LEDS, etc.

1N914

100v

10mA .05

8-pin pcb .20 ww .35

2N2222 NPN (2N2222 Plastic .10)

2N2907 PNP

2N3906 PNP (Plastic - Unmarked)

.15.15.10

1N4105

600v

1

A .08

14-pin pcb .20 ww .40

1N4007

1000v

■

A .15

16-pin pcb .20 ww .40

2N3904 NPN (Plastic - Unmarked)

.10

1N4148

75v

10

mA .05

18-pin pcb .25 ww .75

2N3054 NPN

.35

1N4733

5.1v

1 w

Zener .25

22-pin pcb .35 ww .95

2N3055 NPN 15A 60v

.50

1N753A

6.2v

500 mW Zener .25

24-pin pcb .35 ww .95

T1P125 PNP DarlingtonLED Green, Red, Clear, Yellow

.95.15

1N758A

10v

.25

28-pin pcb .45 ww 1.25

D.L.747 7 seg 5/8" High com-anode

1.95

1N759A

12v

.25

40-pin pcb .50 ww 1.25

MAN72 7 seg com-anode (Red)

1.25

1N5243

13v

.25

Mo lex pins .01 To-3 Sockets .25

MAN3610 7 seg com-anode (Orange)MAN82A 7 seg com-anode (Yellow)

1.251.25

1N5244B

14v

.25

2 Amp Bridge 100-prv .95

MAN74A 7 seg corn-cathode (Red)

1.50

1N5245B

15v

.25

FND359 7 seg corn-cathode (Red)

1.25

25 Amp Bridge 200-prv 1.95

CMOS

- T T L -

4000

.15

7400

.10

7473 .25

74176 .85

74H72 .35

74S133

.40

4001

.15

7401

.15

7474 .30

74180 .55

74H101 .75

74S140

.55

4002

.20

7402

.15

7475 .35

74181 2.25

74H103 .55

74S151

.30

4004

3.95

7403

.15

7476 .40

74182 .75

74H106 .95

74S153

.35

4006

.95

7404

.10

7480 .55

74190 1.25

74S157

.75

4007

.20

7405

.25

7481 .75

74191 .95

74 LOO .25

74S158

.30

4008

.75

7406

.25

7483 .75

74192 .75

74L02 .20

74S194

1.05

4009

.35

7407

.55

7485 .55

74193 .85

74L03 .25

74S257I8123)

1.05

4010

.35

7408

.15

7486 .25

74194 .95

74L04 .30

4011

.20

7409

.15

7489 1.05

74195 .95

74L10 .20

74LS00

.20

4012

.20

7410

.15

7490 .45

74196 .95

74L20 .35

74LS01

.20

4013

.40

7411

.25

7491 .70

74197 .95

74L30 .45

74LS02

.20

4014

.75

7412

.25

7492 .45

74198 1.45

74L47 1.95

74LS04

.20

4015

.75

7413

.25

7493 .35

74221 1.00

74L51 .45

74LS05

.25

4016

.35

7414

.75

7494 .75

74367 .75

74L55 .65

74LS08

.25

4017

.75

7416

.25

7495 .60

74L72 .45

74LS09

.25

4018

.75

7417

.40

7496 .80

75108A .35

74L73 .40

74LS10

.25

4019

.35

7420

.15

74100 1.15

75491 .50

74L74 .45

74LS11

.25

4020

.85

7426

.25

74107 25

75492 .50

74L75 .55

74LS20

.20

4021

.75

7427

.25

74121 .35

74L93 .55

74LS21

.25

4022

.75

7430

.15

74122 .55

74L123 .85

74LS22

.25

4023

.20

7432

.20

74123 35

74H00 .15

74LS32

.25

4024

.75

7437

.20

74125 45

74H01 -20

74S00 .35

74LS37

.25

4025

.20

7438

.20

74126 .35

74H04 -20

74S02 .35

74LS38

.35

4026

1.95

7440

.20

74132 -75

74H05 .20

74S03 .25

74LS40

.30

4027

.35

7441

1.15

74141 .90

74H08 .35

74S04 .25

74LS42

.65

4028

.75

7442

.45

74150 .85

74H10 .35

74S05 .35

74LS51

.35

4030

.35

7443

.45

74151 .65

74H11 .25

74S08 .35

74LS74

.35

4033

1.50

7444

.45

74153 .75

74H15 .45

74S10 .35

74LS86

.35

4034

2.45

7445

.65

74154 .95

74H20 .25

74S11 .35

74LS90

.55

4035

.75

7446

.70

74156 .70

74H21 .25

74S20 .25

74LS93

.55

4040

.75

7447

.70

74157 .65

74H22 .40

74S40 .20

74LS107

.40

4041

.69

7448

.50

74161 .55

74H30 .20

74S50 .20

74LS123

1.00

4042

.65

7450

.25

74163 .85

74H40 .25

74S51 .25

74LS151

.75

4043

.50

7451

.25

74164 .60

74H50 .25

74S64 .15

74LS153

.75

4044

.65

7453

.20

74165 1.10

74H51 .25

74S74 .35

74LS157

.75

4046

1.25

7454

.25

74166 1.25

74H52 .15

74S112 .60

74LS164

1.00

4049

.45

7460

.40

74175 .80

74H53J .25

74S114 .65

74LS193

.95

4050

.45

7470

.45

74H55 .20

74LS367

.75

40664069/74 C04

.55.25

7472

.40

74LS368

.65

4071

.25

MCT2 .95 LINEARS, REGULATORS, etc.

4081

.30

8038 3.95

LM320T5 1.65

LM340K15 1.25

LM723

.40

4082

.30

LM201 .75

LM320T12 1.65

LM340K18 1.25

LM725N

2.50

MC 14409 14.50

LM301 .45

LM320T15 1.65

LM340K24 1.25

LM739

1.50

MC 14419

4.85

LM308 (Mini) .95

LM324N 1.25

78L05 .75

LM74K8-141.25

4511

.95

LM309H .65

LM339 .75

78L12 .75

LM747

1.10

74C151

1.90

LM309K (34ok-5>85

7805 (340T5) .95

78L15 .75

LM1307

1.25

LM310 .85LM311D(Mini) .75

LM340T12 .95LM340T15 .95

78M05 .75LM373 2.95

LM1458

.65

9000 SERIES

L. I v I l *T \Jy i

LM3900

.60

9301 .85

95H03

1.10

LM318(Mini) 1.75

LM340T18 .95

LM380(8-i4PiN).95

LM75451

.65

9309 .35

9601

.20

LM320K5(7905)1.65

LM340T24 .95

LM709(8,i4PiN).25

NE555

.35

9322 .65

9602

.45

LM320K12 1.65

LM340K12 1.25

LM711 .45

NE556NE565NE566NE567

.85

.95

1.25

.95

MICRO'S, RAMS. C

PU'S,

E-PRC

74S188 3.001702A 4.50

)MS82148224

8.953.25

INTEGRATED CIRCUITS UNLIMITED

MM5314 3.00

8228

6.00

7889 Clairemont Mesa Boulevard, San Diego, California 92111

MM5316 3.502102-1 1.45

82518255

8.508.50

(714) 278-4394 (Calif. Res.) DISCOUNTS

2102L-1 1.75

8T13

1.50

All orders shipped prepaid No minimum jota| order

Deduct

2114 9.50

8T23

1.50

Open accounts invited COD orders accepted $35 $99Discounts available at OEM Quantities California Residents add 6% Sales Tax $100 " $300

10%

TR1602B 3.95

8T24

2.00

TMS 4044- 9.95

8T97

1.00

15%

2107

J-4 4.95

$301 $1000All IC's Prime/Guaranteed. All orders shipped same day received.

20%

8080 8.958212 2.95

2708Z80F

9.5010 8.50

24 Hour Toll Free Phone 1-800-854-2211 American Express / BankAmericard / Visa / Master Charge

Circle 180 on inquiry card.

BYTE November 1978

209

SN7400NSN7401NSN74Q2NSN7403NSN7404N

SN7405N .20

SN7406N 29

SN7407N 29

SN7408N 20

SN7409N 20

SN7410N 18

SN7411N 25

SN7412N 25

SN7413N 40

SN74I4*) 70

SN7416N 25

SN7417N 25

SN7420N 20

SN7421N 29

SN7422N 39

SN7423N 25

SN7425N 29

SN7426N 29

SN7427N 25

SN7429N 39

SN7430N 20

SN7432\ 25

SN7437N 25

SN7438N 25

SN7439N 25

SN7440N 20

SN7441N 89

SN7442N 49

SN7443N 75

SN7444M 75

SN744SM 75

SN7446N 69

SN7447N 59

SH7448N 79

SN7450N >0

SN74&1N 20

SN7453N 20

SN7454N 20

SN7459A 25

SN7460N 2020% Discount 100 pes

7400 TTL

SN7470NSN7472NSN7473NSN7474NSN7475NSN7476NSN7479NSN7480NSN7482NSN74S3NSN7485NSN74R6NSN7489IYSN7490NSN7491NSN7492NSN7493NSN74&4NSN7495NSN7496NSN7497NSN7410ONS174107NS\?4i09NSN741ISNSN74I21NSN74122NSN74123N5*74125NSN74I26NSN74132NSN74136NSM74141NSN74142NSN74143*SN74144NSW4145MSN74147NSN74148NSN74150NSN74151NS«*74152NSN74153NSN7JI54NSN74155NSN74156NS*74157N

^P

SN74160NSN74161NSN74162NSN74163NSN74164NSN74165NSN74166NSN74167NSN74I70NSN74172NSN74173NSN74174NSN74175NSN74176NSN74177NSN74179NSN74180NSN74181NSN74182NSN74184NSN74185NSN74186NSN74188NSN74190NSN74191NSN74192NSN74193NSN74194NSN74195NSN74196NSN74197NSN74198NSN74199NSN74S200SN7425INSN74279NSN74283NSN74284NSN74285NSN74365NSN74366NSN74367NSN74368NSN74390NSN74393N

combined ordtr 25% -1000 pes combined order

CD4000C04001CD4002CD4Q06CD4Q07CQ4009CD4010C04011CO401?CD4013CD4014CD4015CD4016CO4017CD4018CO4019CD4020CLW021CD4022CO4023CD4024CD4025CD4026CO4027

23

C/MOS

C04029CD4030CD4035CD4040CO404!CD4042CD4043CD4044CO4046CW047CO4048C04049CD4050CD4051CD4053CO4056CD4059CD4060CD4066CO4068CD4069

CD4070

CO4071

CD4072

C04076

CD4081

CD4082

CD4093

CD4098

MCI 4409

MC14410

MC144M

MCI 4419

MC14433

MC14506

MC14562

MC14583

C0450B

CD4510

CD4511

CQ4515

CD45I8

CD4520

CD4566

74CO074C0274C0474C0874C1074C1474C2074C3074C4274C4874C7374C74

74C00

74C8574C9074C9374C9574C10774C1S174C15474C15774C16074C161

2.153.253 25

74C16374C16474C17374C19274C19374C19574C92274C92374C92574C92680C9580C97

7BMG

LM300H

LM301CN.M

LM302H

LM304H

LM30SH

LM307CN/H

LM308CN/H

LM309H

LM309K

LM31WN

LM311N/H

LM312H

LM317K

LM318CNM

LM319N

IM320K-5

LM320K-52

LM320K-12

LM320K-15

LM320K 18

LM320K-24

LM320T-5

LM320T-5 2

LM320T-8

LM320T-12

IM320T-15

LM320M8

LM320T-24

LM323K-5

LM324N

LM339N

LM340K-5

LM34QK-6

LM340X-8

LM340K-12

LM340K-15

IM340K-18

LM340K-24

IM34QT-5

LINEAR

LM340T-6

LM340T-8

LM340T-12

LM340T-15

LM340T-18

LM34QT-24

LM350N

LM351CN

LM370N

LM373N

LM377N

LM360N

LM380CN

LM381N

LM3S2N

NE501N

NE510A

NE529A

NE531H/V

NES36T

NE540L

(JE544N

NE550N

NE555V

NE556N

NES60B

NE561fl

NE562B

NE565N/M

NE566CN

VE567V/H

NE570N

LM703CN/H

LM709N/H

LM710N

LM711N

LM723N/H

LM733N

LM739K

5.00

5 00

LM741CN/H .35

LM74M4N 39

LM747N/H 79

LM748N/H .39

LM1303N 90

LM1304N 1 19

LM1305N 1 40

LM1307N 85

LM1310N 295

LM1351N I 65

LM1414N 1.75

LM1458Cr4/H .59

MC148eN 195

MC1489N 195

LM1496N 95

LM1556V 1.75

MC1741SCP 3 00

LM2901N 2.95

LM3053N 1 50

LM3065N 69LM39OONI3401) 49

LU3905N 89

LM3909N 125

MC5S58V 59

LM7525N 90

LM7534N 75

LM75450N

75451CN

7S452CN

75453CN

75454CN

75491CN

75492CN

75494CN

RC4136

RC4151

RC4194

RC4195

741. SOO74LS0174LS0274LS0374LS0474LS0574LSQ874LS0974LS1074LS1374LS1474LS1574LS2074LS2174LS2274LS2674LS2774LS2874LS3074LS3274LS3774LS4074LS42^74LS47

74LS00 TTL

74LS5174LS5474LS5574LS7374LS7474LS7574LS7674LS8374LS8574LS8674LS9074LS9274LS9374LS9574LS9674L510774LS10974LS11274L512374LS13274LS13674LS138

7aLSlJ»74LS15174LS15574LSt5774LS16074LS16I74LS16274LS16374LS16474LS17574LS18174LS190741S19T74LS19274LS19374LS19474LS19574LS25374LS25774LS26074LS279741S36774LS36874LS670

BUGBOOK®

Continuing Education Series

W

l BUGIOOKS I »nd II

, , Bf »,.». H FtMTf. D«M4

' SoM « | M 11™ Two [

1 ' llw riaMf in ht will nttt

G Lvm* wMHtj

nto <d know itMiH ni logic criipt to

f. ifld Hw RS Z32C mtflta it

I Pvncuttrty nKomm*nOtd

THE 555 TIMER APPLICATIONSSOURCEBOOK WITH EXPERIMENTSDy Howard M Berlin W3HB

Tnn boot mows you onat ttit Sb5 linwi is jno now i.j us* ir incm100 virioin design iKRnqun eomno^ and gr>pm lo ctuH rtinwts. ojentitori powei Suppim musuremofit and control Hgames, circuits tar in home and ijlornotuM pholotraphy

S6 95 MM III

Here it tie tm» rMt puts * all toactntr BesKles niving mudi «atiaale H■Vft an i send a' eipantnena in which tnt tader comHeiety eiakKei rWHO chip pin tnr pin and introduce! you To the Matt 90 microcomputerunique eistty interfaced system It is recommended IW you haw trie BitBefore p'oceeOing with BUGBOOK III

INSTRUCTOR S MANUAL

Necessa>Y <t>- msirucUon o< Bugooo" ieipeirntenis suggestions tor hirTfter >ps

ng. phHOsoorif ot ji,rhpn. jn

la) Ittathe'Mompuie: piogiamminQ andjrated ipjKDecn lo OT4MBMM806QA interlacingiprogrimmtryg

HP>MPMMU>L tv k.M« Berlin W3H» jg 00 gjyS~~«1 mtm*llmS

enpenment guide to application ol ooeratnnji amptrtie'! Dnw ?S eipen &M* microcomputer programming and interfacing Detail 4

CMOS M - DESIGNERS PRIMER

AND HANDBOOK New ■qtandtd oersion

COMPLETE MANUAL FOR DIGITAL CLOCKS by John Weiss >nd John Brooks

Familiarizes technician V Hobby's! wilii Baste theories 0ef»nd digital clocks Includes trouble sttoottng guides.

fn.i'acttrrsin.s ol clocks, soldering techniques clock component Jala sheets and construction lips

125" dia.XC209 RedXC209 Green 4rj1

XC209 bellow 4/S1

200 dia

XC22 Red 5.11

XC22 Green 4/S1

XC22 Yellow 4/S1

XC111

M

5/Si

DISCRETE LEDS

IBS dia

XC526 RedXC526 Red 11

XC526 GreenXC526 Velio*XC526 Clear

200 dia

XC556 RedXC556 RedXC556 GreenXC556 Velio*XC556 Clear

XC111 GreenXC111 Yellow 4/S1

XC111 Clear 4-si

085 ' dilMV50 Red ■ 6 Si

ITT diaMV10 Red ■ 4 st

5/S'

Nfftft-hFD LED

DISPLAY LEDS

MAN 2MAN 3MAN 4MAN 52MAN 72MAN 74MAN 82MAN 84MAN 3620MAN 3630MAN 3640MAN 4610MAN 4640MAN 4710MAN 4730MAN 4740MAN 4810MAN 6610MAN 6630MAN 6640MAN 6650MAN 6660MAN 6680MAN 6710

POLARITY HT

Common An ode-red .270

5 * 7 Dot Matrix-red .300

Common Catnode-red 125

Common Cathode-red .187

Common Anode-green .300

Common Anode-red .300

Common Cathode-red .300

Common Anode -yellow 30G

Common Cathode yellow .300

Common Anode-orange 300

Common Anode-orange t 1 300

Common Cathode -orange .300

Common Anode-orange 300

Common dm ode- orange .400

Common Anode-red * 1 -*00

Common Anode-red .400

Common Cathode-red .400

Common Anode-yellow 400

Common Anode-orange-D 0 560

Common Anode-orange 560Common Cathode-orange-DD .560Common Cathode-orange t 1 .560

Common Anode-orange 560

Common Cathode-otange 560

Common Anode-red-D.D. .560

TYPE

MAN 6730

MAN 6740

MAN 6750

MAN 6760

MAN 6780

DL701

DL704

DL707

OL741

OL746

DL747

DL749

DL750

0L33B

FND70

FN0359

FND503

FND507

5082-7730

HDSP-34O0

ADSP-3403

5082-7300

5082-7302

5082-7304

5082-7340

POLAMTY

Common Anode-red -: 1Common Cathode red 0 DCommon Cathode-red i 1Common Anode-redCommon Cathode-redCommon Anode-red * 1Common Cathode-redCommon Anode-redCommon Anode-redCommon An ode-red = 1Common Anode-redCommon Cathode-red t 1Common Cathode-redCommon Cathode-redCommon CathodeCommon AnodeCommon Cathode (FNOSOO)Common Anode (FND510ICommon Anode-redCommon Anode redCommon Cathode red4x7 Sgl. Oigrt-RHDP4 x 7 Sgl Oigit-LHOPOverrange character ( -1)4 x 7 Sgl. Dig it-Hexadecimal

.600 1995

.600 19.95

600 15.00

600 2250

RCA LINEAR

CA3013CA2023CA3035CA3039CA3046CA3059CA3060CA3080CA30B1

2 15 CA3082

2 56 CA3083

2 48 CA30861 35 CA30891 30 CA3130

3 25 CA3140325 CA3160

85 CA3401

2 00 CA3600 3 50

CALCULATOR CHIPSAND DRIVER

FCM3817 (1998A) S 5.00

MM5725MM573SDM8864

OM8865DM8887DM8889

2 952.952.001.00.75.75

CLOCK CHIPS

MM5309

MM5311MM5312MM5314MM5316MM53T8MM5369MM5387MM5841

4 956959952 95

6 pin LP

14 pin LP .20

16 pin LP .22

IB pin LP .29

20 pin LP 34

14 pen ST 1.27

16 pm ST .30

IB pin ST 35

24 pin ST 49

BpinSG $30

14 pin SG 3516 pin SG 38

15 pin SG .52

B pin WW S 40

10 pin WW 45

14 pen WW 39

16 pm WW 43

18 pin WW 75

IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS

25-49 50-100 1-24

■I JB^BjTjn

19 18 rlH ■■ Wm 24 pin LP 3>

mmmm 2a pm lp <s

2B .27 36 pin LP *>

32 30 SOLDERTAIL STANDARD (TIN) «P"1 & M

28 pm ST $ 99

3*3 pin ST 1 39

40 p*n ST 159

9374 - 7-segment LED drivermmmnnanndfiiEQsS .99

25-49 50-100

.n

SOLDERTAIL STANDARD (GOLD)

24 pin SG J 702apinSG '1036pinS6 175

40 pm SG 175

WIRE WRAP SOCKETS(GOLD) LEVEL #3

22 pin WW ( .9524 pin WW 1.0528 pin WW 1.4036 pin WW 1 59

40 pin WW 1.75

50 PCS. RESISTOR ASSORTMENTS

10 OHM 12 OHM 15 OHM 18 OHM

$1.75 PERASST.

ASST. 6ASST.

27 OHM J3 0HM 39 OHM 4T OHM S6 OHM 1/4 WATT 3% 50PCS

68 OHM 82 OHM 100 OHM 120 OHM 1b0,OHM

180 OHM 220 OHM 270 OHM 330 OHM 390 OhM 1/4 WATT 5". 50 PCS

470 OHM 560 OHM 6B0 OHM 820 OHM IK

12* t W 1 8K ? ft 2 7K 1/4 WATT 5". 50 PCS

*m 3 9* 4 7K 5 at, &M

8 2* 10K 1?k tSK tfl". 1/4 WAH 5». 50 PCS

27* 27K 33* 39* 47*

1/4 WATT 5»- 50 PCS.

1/4 WATT 5% 50 PCS.

1/4 WATT 5% 50PCS

100K270K680*

330K820K2 2M56M

ASST. 8R Includes Resistor Assortments 1 -7(35QPCS.) $9-95 ea.

SS.00 Minimum Order - U.S. Funds OnlyCalifornia Residents - Add 6% Sales Tax

Spec Sheets - 25s

1979 A Catalog Available—Send 41 f stamp

Jameco

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE1021 HOWARD AVENUE. SAN CARLOS. CA 94070

Advertised Prices Good Thru November

WIRE-WRAP KIT — WK-2-W

WRAP . STRIP . UNWRAP

• Tool toi 30 AWG Wire

• Roll ol 50 Ft White oi Blue 30 AWG Wire

• 50 pes each 1 . 2 . 3 & 4'lengthspre-stripped wire

$12.95

WIRE WRAP TOOL WSU-30WRAP . STRIP . UNWRAP S6.95

WIRE WRAP WIRE — 30 AWG

25ft. min.$1.25 SOft $1.95 100It $2.95 tOOOtt $15.00SPECIFY COLOR — White - Yellow - Red ■ Green Blue - Black

WIRE DISPENSER — WO-30

• 50 ft roll 30 AWG KYNAR wire wrap wire $3.95 ea

• Cuts wire to desired length

■ Strips 1" of insulation Spaclfy — Blue-Yellow-White-Red

REPLACEMENT DISPENSER SPOOLS FOR WD 30

Specify blue, yellow, white or red

$1 M/sgool

JE22IMA $14-95

Function Generator Kit(includes chip, PCBoard and instructions)

EXAR

XR-L555 $1.50

Micro-Powef version ol Ihepopular 555 Timer and directlyinterchangeable Dissipates1/15th the power and operatesdown to 2.7 volts Perfect foraattery operation and CMOS cir-cuits

JE2206B $19.95

function Generator Kit(includes all components,P C. Board and instructions)

XR2242CP S1.50

Precision timing circuit torgenerating timing pulses in mi-nutes, hours and days or up to1 year by using two. Reducescost ot time delay circuits Basic555 Timer with built-m 8-b>tCounter

XR2D5 S 8 40

XR210 i 40

XR215 4 40

XR320 1 55

XR555 39

XR556 99

XR567CP 99

XR567CT 1 25

XRJ310P 130

XR1468CN 3 85

jjflMM 1 39

XR1489KR1800KR2206HR2207KR2208XR2209XR2211XR2212XR224QXR2J64

XH2556XR2S67XR3403XR4136XR4I51XR4194XR4202XR421?XR4558XR4739XRJ741

S 3 20

TYPE

1N7461N751A1N752IN 7531N7541N9591N965B1N52321N52341N52351N523611*4561N4581N485A1N40011N4O021N4003IN40D4

ZENERS -

VOLTS W

3 3 400m

5 1 400m

5 6 400m6? 400m68 400mB2 400m15 400m56 500m62 500m

6 8 500m

7 5 500m

50 PIV 1 AMP

100 PIV 1 AMP

200 PIV 1 AMP

400 PIV 1 AMP

DIODES — RECTIFIERS

PRICE TYPE4/1.00 1N4005

1N4006

J 1 00 1N4007

4 1 00 1N3600

4 1 00 1N4148

4 1 00 1N4154

4 1 00 1N43Q5

28 1N4734

28 1N473S

28 1N4736

28 1N4736

6 1 00 1N4742

6 \ 00 1N4744

5 100 1N11832 100 1NH842 100 1N11852 100 1N11862 100 IN1188

VOLTS

600 PIV 1 AMP800 PIV 1 AMP1000 PIV 1 AMP50 200m

10m10m

PRICE

10 1 00101 0010 1 0061 0015 t 0012 1.0020'1 00

12

15 1w

50 PIV 35 AMP

100 PIV 35 AMP

ISO PIV 35 AMP

200 PIV 35 AMP

400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C36DC3BM2N2328M0A980-!

15A@400V35A @ 600V1 6A@ 300V12A@ 50V12A(g. 2Q0V

FW BRIDGE RECFW BRIDGE REC

TRANSISTORS

MPSA05

MPSA06

TISS7

TIS98

T1S133

IIS135

J0409

40410

40673

2N918

2N2219A

2N2221A

.'N2222A

2N2369

:N2369A

VIPS2369

2N2484

2N2906

2N2907

2N2925

UJE2955

2N3053

2N3C55

MJE3055

_>N3392

.•N3396

PN3S67

PN3568

PN3569

MPS3638A

MPS3702

2N3704

MPS37LW

2N3705

MPS3705

2N3706

MPS3706

2N3707

2N371I

2N3724A

JN3735A

2N3772

2N3823

2%3903

5 t 00

3 100

4 1 00

t]N39042N39052N39062N40I32N4123PN4249PN42502N44002N4401

nUm

2N4403.2N4J092N50862N50S72N5088JN50892N5129PN5134PN51382*151392N52102N5449:N5951

5 1 005 1 005 1 005 1 00

CAPACITOR-™ —< CORNER

**"■ rl*'l ■ VTI I oiSC CAPACITORS ■"»»«■»■••■

1-9 10 99 100 1-9 10-99 100

lOpt 05 04 03 XVF 05 04 035

22 pi 05 04 03 0047^f 05 04 035

47 pt 05 04 03 Ot^f OS 04 035

100 pt 06 04 03 022^F 06 05 04

220 pi 05 04 03 047^F 06 05 04

470 pt 05 04 035 VF 12 09 075

100 VOLT MVIAR FILM CAPACITORS

001ml 12 tO 07 022ml 13 II 08

0022 12 10 .07 047ml 21 17 13

0047ml 12 10 07 Imt 27 23 17

MA 12 10 .07 22mt 33 27 22

-20% OtPPf 0 TANTALUMS (SOLID) CAPACITORS

1/35V 28 23 17 1 5'35 V 30 26 21

15/35V 28 23 17 2 2r2SV 31 27 22

.22>35V 28 23 17 3 3f25V 31 27 22

33/35V 28 23 17 4 7'25V 32 28 23

47'35V 28 23 17 6 8'25V 36 31 25

6835V 28 23 17 IO/25V 40 35 29

1 0/35V 28 23 17 tS/2SV 63 50 40MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

Axiil l.»*d Ratlin Lflld

3 3r50V

4 7/25V10/25V10/50V22/25V22/50V47/25V47/50V

100/25V10O.'5OV220/25V220/50V470/25V1000/16V2200/16V

7 /25V 15

4750V1 0/16V1.0/25V1 O.'SOV4 7/16V4 7/25V4 7.'50V10/15V10/25V10/SOV47/50V100/16V100/25V100/50V220H6V479/25V

16

210

BYTE November 1978

Circle 200 on inquiry card.

ELPAC

POWER

SUPPLIES

Completely AssembledSPECIFICATIONS

105-125(210-250 Vac, 47-440 Hi input

Line Regulation

±0.1%

±0.1%no-load to rated-load±0 1%p-p,dc to 10 MHz100 megohm dc, 900 Vac35% rated currentRATINGS

Load Regulation

Output Ripple and Noise

Input/Output Isolation

Short Circuit CurrentPART NO. RATINGS PRICE

WATTS VOLTS AMPSSOLV15-5' 15 5 3 $39.95

S0LV15-12- 18 12 1.5 39.95

SOLV30-5 30 5 6 59.95

S0LV30-12 48 12 4 59.95

0VP1 over voltage protection tor SOLV30-5,-12 9 95

•S0LV15-5, 12 includes 0VP installed

MICROPROCESSOR COMPONENTS

SUP R' MOD II

UHF Channel 33 TV Interface Unit Kit

*Wide Band B/W or Color System

* Converts TV to Video Display forhome computers, CCTV camera,Apple II. works with Cromeco Da2-ztar, SOL-20, IRS-80, Challenger,etc.

* MOD II is pretuned to Channel 33(UHF).

* includes coaxial cable and antennatransformer.

8216822482288251

825382558257

1101

1103

J101(8101i

2102

? 107/5280

2111(81111

2112

2114

2114L

2114-3

2114L-3

7489

8599

21L02

74S200

93421

usDriver

MOD II

$29.95 Kit

— -«5u8r*PART NO. ~"

CY1A

CY1 84

CY2A

CY2.01

CY2 50

CY3.27

CY3.57

CY3A

CY4.91

CY7A

CY5 18

CY6 14

CY6 40

CY6.55

CY12A

CY14A

CY19A

CY18 43

CY22A

CY30A

CRYSTALS ar

THESE FREQUENCIES ONLY ^-ir-±

FREQUENCY CASE PI

1.000MHz

1 8432MHz

2 000MHz2010MHz

2 500MHz32768MHz

3 579545MHz

4 000MHz

4 916MHz5.000MHz

5 185MHz

6 144MHz6400MHz6 5536MHz10 000MHz14 31818MHz18 000MHz18432MHz20 000MHz32 000MHz

HC33HC33HC33HC33HC33HC33HC33HC18HC18HC18HC18HC18HC18HC18HC18HC18HC18HC18HC18HC18

5955 955951.954,954,954.954.954.954.954954954 954.954.954.954.954.954.95

Custom Cables & Jumpers

DB 25 Series CablesPart No. Cable Length Connectors Price

DB25P-4-P 4 Ft. 2-0P25P $15.95 ea

DB25P-4-S 4 Ft 1-OP25P/1-25S $16.95 ea.

DB25S-4-S 4 ft 2-DP25S $17.95 ea.

Dipped Jumpers Plugs

DJ14-1 1 ft 1-14 Pin $1.59 ea.

0J16-1 1ft 1-16 Pin 1.79 ea

DJ24-1 1ft. 1-24 Pin 2.79 ea.

DJ14-1-14 1 ft 2-14 Pin 2.79 ea.

DJT6-1-16 1ft. 2-16 Pin 3.19 ea.

DJ24-1-16 1 tt. 2-24 Pin 4.95 ea

For Custom Cables & Jumpers. See JAMECO 1979 Catalog for Pricing

1/16 VECTOR BOARD

Pari No64P44 052XXXP169P44 062XXXP64P44 062 WE34P44 062WE169P44 062WE169P84 06ZW£169P44 052WEC1

COMNECTORS

25 Pin-D Subminiature

DB25P(as pictured) PLUG $2.95

DB25S SOCKET 3.50

DB51226-1 Cable Cover tor DB25 P or S 175

MOLEX CONNECTOR PINS

Pre-packaged in strips

S1.95/100 pins

M-530-1 (minimum prder)

$16.00/1000 pins

INSTRUMENT/CLOCK CASE

Injection molded unitComplete with ret) bezel..4ft'x 4" x 1-9/16".

^ $3.49

mum

CPU

CPU

CPU

8-Bit Input/Output

Priority Interrupt Control

Bi-Directional Bus Driver

Clock Generator/Driver

System Controls

Prog. Comm. Interlace

Prog Interval Timer 14,

Prog. Petiph. Interface 9.

Prog. DMA Control 19.

RAM'S

256 x 1 Static I 1 ■

1 Dynamic

Static 3.

1 Static t.

1 Dynamic 4,

Static 3.

Static 4.

4 Static 450ns 9.

4 Static 450ns Low Power 104 Static 300ns 10

4 Static 300ns Low Power 11

Static

Static1 Static

Static

Static

Z80(780C) CPUZ80A(708-1)CPU2650 MPU

MC6800 MPUMC6810API 128 x 8 Static Ram

$19.9524.9526.5014.955.95

MC6821 Periph.Interface A0apter(6820)7.49

MC6830L8 1024x8Bit R0M(68A30) 14.95

MC6850 Asychronous Comm Adapter 7.95

MC6852 Syn. Serial Data Adapter 9 95MC6880 (MC8T26) Quad Tri State

Bus Trans. 2.25

MPU w/Clock & Ram 24.95

1024*

4096 *

MC6802

1702A

S203

82S23

82S115

82S123

(•4S287

TMS2532 32K

2708 8K

2716 T.I. 16K

2716 Intel (2516 T.I

6301-1 1024

6330-1 266»

4096«32x81024 x

-T.- -

■,■■■ ■ .i

MK4027 (UPD414) 4K DYNAMIC 16 PIN

MK4116 (UPD416) 16K DYNAMIC 15 PIN

TMS4044-45NL 4K STATIC

RDM'S

2513(2140) Character Generator (upper case)2513(3021) Character Generator [lower case)2516 Character Generator

MM5230N 2048 Bit fleafl Only Memory

USER MANUALSB02M CDP1802 ManualZBOM 780 Manual2650M 2650 Manual

"tig

25222524252525272528252925322533

PROMSfamousFamousOpen CBipolarTftstateStaticEPROMEPROMEPROM16K EPROM

Tri-State BipoteOpen C Bipolar

SHIFT REGISTERS

500/512 Bit Dynamic1024 DynamicHex 32 Bit StaticDual 132 Bit Static512 Dynamic1024 DynamicDual 256 Bit StaticDual 250 StaticDual 240 Bit StaticQuad 80 Bit Static1024 StaticFrfo

TELEPHONEKEYBOARD CHIPS

AY-5-9100 S14 95AY-5-9200 14 95AY-5-9500 i 95AY-5-2376 14 95HD0165 7 95

74C922 9 95

SPECIAL REQUESTED ITEMS

The IncrediblePennywhistle 103"

$139.95

Kit Only

The PannywhliHi 103 is capable of recording data to and trom audio tape withoutcritical speed requirements for the recorder and it is able to communicate directly withanother modem and terminal tor telephone "hamming" and communications. Inaddition, it is tree of critical ad.ustments and is built with non-precision, readily available

Data Tnntmiuion Mathod Frequency -Shift Keying, full-duplex (halt-duplex

selectable)

Maximum Data Rate 300 Baud

Data Format Asynchronous Serial (return to marx level required

between each character)

.2025 H; tor space: 2225 H? for mark.

.Switch selectable: Low (normal) ■ 1070 space,

1270 mark: High - 025 space, 2225 mart

Receive Sensitivity - 46 dQm accousticaity coupled

Transmit Laval 15 dbm nominal Adjustable from -6 dbm

to -20 dbmReceive Frequency Tolerance ...Frequency reference automatically adjusts to

allow for operation between 1800 Hz and 2400 Hi.Digital Dala interface EIA HS-232C or 20 mA current loop (receiver is

optotsolated and non-polar)

Power Requirements 120 VAC. single phase, 10 Watts.

Physical All components mount on a single 5" by 9"

printed circuit board All components includedRequires a VOM, Audio Oscillator, Frequency Counter and/or Oscilloscope to align

$** the 3

ICM7045ICM7205ICM7207ICM7208ICM7209

NMOS READ ONLYMEMORIES

MCM6571 $13 50MCM6574 13.50MCM6575 1350

MISCELLANEOUS

LO110/111 S25.O0/SI

MC4016(74416) 7.50

4N33 3 95

TRS'80 16K Conversion Kit

Expand your 4K TRS-80 System to 16K. Kit

The Sinclair PDM35.

A personal digital

multimeter for only $ 59 <*

Tathfllcal

p.< if i m Hon

DC vol i. (4

knit 1 m\

,VLUH>1 01

Note. 10 Mi

io 1000 V

AC Vr.it* (40 Hz 5 klliKannc IVrrtWOV

DC CurrtnK*n#t 1 rv\

CCtMCHl

DESCRIPTION

PDM35 Digital Multimeter m.- i-m-iiPDM-AC H7volt AC AdapterPDM-DP Deluxe padded carrying case

PRICE

J59.95 ££

6.95 n

6.95 -

1 hlllf risi-.r... 6 If

Weigh): ft i o/.Power supply: 9

pniSlt'WIH

Model 2800$99.95

leads qperaling manual

3%-Digit Portable DMM

• Overload Protected

• 3 high LED Display

• Battery or AC Operation

• Aulo Zeroing

• Imv tVa. 0 1 ohm resolution

• Overange reading

• 10 meg input impendence

• DC Accuracy 1% lypicalRanges: DC Voltage ■ 0-fOOOVAC Voltage 0 1000V

Freg Response 50 400 HZ(X/AC Current: 0-100mAResistance 0-i0 meg ohmSize 6 4 * 4 4' i 2

Accessories:AC Adapter BC-28 $9.00Rechargeable

Batteries BP-26 20.00Carrying Case LC-2B 7.50

100 MHz8-D.gif Counter

> 20 Hz-100 MHz Range . Four power sauces, i e

> 6'' LED Display batteries. 110 or 220V with

> Crystal-controlled timebase charger 12V with auto• Fully Automatic lighter adapter and external■ Portable — completely 7 2-itjv power supply

. max 100 £134 gg

K 5 63"

V

ACCESSORIES FOR MAX 100:Mobile Chargtr Eliminator

use power trom car battery Model 1

Chirgar/Ellmlnator

Model 100 - CAI S3 95

63-Key Unencoded I KEYBOARDS] *«£*££f Pad

This is a 63-key, terminal keyboard newlymanufactured by a large computer manufac-turer. It is unencoded with SPST keys, unat-tached to any kind of PC board. A very solidmolded plastic 13x4" base suits most applica-tion, in stock $29.95/each

19-key pad includes 1-10 keys.ABCDEF and 2 optional keys and ashift key. $10.95/each

$5.00 Minimum Order - U.S. Funds OnlyCalifornia Residents - Add 6% Sales Tax

Spec Sheets - 258

1979 A Catalog Available—Send 41c stamp

MAIL ORDER ELECTRONICS - WORLDWIDE1021 HOWARD AVENUE. SAN CARLOS, CA 94070

Advertised Prices Good Thru November

PHONE

ORDERS

WELCOME

(415)592-8097

1 Hand

$9.95 each

'Leaves two hands free forworking

* Clamps on edge of bench, tableor work bench

* Position board on angle or flatposition for soldering or clipping

* Sturdy, aluminum constructionfor hobbyist, manufacturer orschool rooms

comes 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

31/2DIGIT DPM KIT

* New Bipolar Unit

• Auto Zeroing. .5" LED

Model KB500 0PM KitModel KB503 5V Power Kit

Auto Polarity

Low Power

Single IC Unit

$49.00$17.50

JE701 Clock Kit

<K"X3 WX1W

$1995pe,Kit

• 6 Digit. ,.300 Height CommonCathode Display

• Uses MM5314 Clock Chip

• Push Button Switches for settingHours, Minutes & Hold.

• Easily Viewable to 20 Feet

• Simulated Walnut Case

• 115 VAC Operation

• 12 or 24 Hour Format

• Includes all Components & Case

JE803 PROBE

indespensihie m trouole shooting logic familiesTTL DTl_HTl CMOS II derives the powei itneeds te operaie directly ntt dl the circuit undertest drawing a scanMO mA ma> It uses a MAN3,readoul to indicate any o' the following states ByIhese symbols iHi t (LOW) o i PULSE) P TheProOe can detect higti fiequency Dulses to J5 tAH;n can t De used ai MOS levels o< eircjit damage

$9.95 Per Kit

printed circuit board

T2L 5V 0.5A Supply

'This is standard TTL power supply using the wellknown LM309K regulator IC to provide a solid 0.5AMP of current at 5 volts. We try to make things easyfor you by providing everything you need in onepackage including the hardware for only.

JE225 $9.95 Per Kit

PROTO BOARDS

PROT0 BOARD 6

$15.95

(6 long X 4 wtde)

PB100 -4 5" x6"PB101 -5.8 x4.5"PB102 -7" X4.5"PB103 -9" x6"PB104 -9.5" x8PB203 - 9.75 x 6V4 x 2%

$ 19.9522.9526 95

44.9554,9575.00

PB203A - 9.75 x 6'A x 2V« 124.95

;upclv)

PROTO CLIPS

14 PIN

m 16 pin

—_„ ;" 24 PIN

miiiumi 40 pin

$4 50

4 75

8.5013.75>

Circle 200 on inquiry card.

BYTE November 1978

211

Whal's New?

of INTEREST to DESIGNERS

Dual End StackableAlphanumeric LED Displays

Rack Assembly for Big Prototypes

The Mupac Mixer is a modularpackaging system that integrates a varietyof panel sizes, IC densities and userselectable voltages into one rack assem-bly. Logic can be subdivided into multi-

ple size functions. Three independentbackplanes permit the modular separationof analog and digital grounds and voltagesupply requirements for optimum noiseimmunity. Multilayer panel constructionallows high frequency applications. Thesystem can accommodate panels with 32to 192 ICs ranging in size from 4.5 inchby 6.0 inch to 8.0 inch by 14.9 inch.For maximum flexibility, blank, copper-clad, cable and wire wrap panels can bemixed. Mupac panels contain from 108to 540 IO pins to prevent restrictionsand pin limitations. The system ranges inprice from $400 to $500 for rackassemblies and from $100 to $500 forpanels. Contact Mupac Corp, 646Summer St, Brockton MA 02402.■

Circle 575 on inquiry card.

80 Column Dot Matrix Printer Mechanism

Featuring a 100,000,000 characterdot head, this 80 column Model 3110dot matrix printer mechanism is beingintroduced by Epson America Inc,23844 Hawthorne Blvd, Torrance CA90505.

The Model 3110 prints 150 charac-

ters per second, with a 5 by 7 dot matrixcharacter and 1/10 inch column spacingtailored for the small business and homecomputer markets.

DC power used for the magnet, solen-oid and detector allows OEMs to savemanufacturing cost by purchasing thestandard Epson mechanism for use withsystems that will run on US or foreignline currents. The unit requires a 24 V,30 to 42 V, and 5 V DC power supplyplus case, control board and interfaceelectronics.

The Model 3110 is 3.74 inches (9.5cm) high, 13.19 inches (33.5 cm) wideand 7.28 inches (18.5 cm) deep and theweight is 6.6 pounds (3 kg).

The Model 3110 sells for less than$250 in quantities of 500. A 40 columnversion of this mechanism, designatedModel 512, sells for $155 in quantitiesof 500."

Circle 576 on inquiry card.

Planar Cable Connectors for Microcomputer Systems

Two series of planar (ribbon) cableconnectors have been announced bySpectra-Strip, 7100 Lampson Av,Garden Grove CA 92642. The first ofthe planar cable connectors are the 804Series IDC DIP/socket connectors withfixed insulation-displacing contacts.They are available for mass terminationto planar cables on .050 inch centers andaccept 28 stranded and 28 and 30 solidAWG conductors. The IDC DIP/socketis a one-piece construction connectorwhich features a fixed .013 inch IDC

contact with a dual beam configuration.The 804 Series IDC/DIP socket con-nectors are available with 14, 16,21 and24 position versions.

The second of the planar cableconnectors are the 805 Series IDCDIP/plug connectors which insert intointegrated circuit sockets and provideplanar cable interconnection to printedcircuit boards. The male DIP/plugs pro-vide preinstalled insulation-displacingcontacts for easy mass termination toplanar cables on .050 inch centers and

The lEE-Hercules Models 1784/85 R .54 inch dual, alphanumeric LEDdisplays with common cathode and righthand decimal point have been announcedby Industrial Electronic Engineers Inc,7740 Lemona Av, Van Nuys CA 91405.

These models consist of two .54 inchhigh, red 14 segment characters com-bined in a compact package which candisplay alphabetic and numeric charac-ters plus some symbols. The end stack-able feature allows designers variabledisplay lengths in accordance with theirneeds. Composed of gallium, arsenic andphosphorous (GaAsP) emitting material,these solid state displays have a typical600 microcandle per segment luminousintensity at 20 mA at 1.6 Vp. The 18horizontal double dual-in-line packagepins on 0.1 inch spacing are set up formultiplex drive for maximum pinouteconomy.

Models 1 784/85R install in integral,multidigit arrays with lEE-Atlas dis-play mounting hardware. In 500 piecequantities, the price is $4.50 each. Foradditional information, request catalogHE-1.«

Circle 577 on inquiry card.

Motorola Offers 1024 by 4 Bit StaticProgrammable Memory

The MCM2114, a 1024 by 4 bit staticprogrammable memory requires noclocks, no timing strobes, nor refreshingbecause of fully static operation. Dataout and data in are of the same polarityand no address set up time is required.Four speed ranges are available: 200 ns,250 ns, 300 ns and 450 ns, and twopower versions, the MCM2114 at 550 mWand the MCM21 LI4, at 385 mW (maxi-mum), both using a single 5 V supply with± tolerance. Two industry standard 18pin packages are available, plastic (Psuffix) and lid-seal ceramic (L suffix).The MCM211P-45 (450 ns part in plas-tic) is priced at $12.25 in quantitiesof 100 to 999. Contact Motorola Inc,Integrated Circuit Division, TechnicalCommunications, 3501 Ed BluesteinBlvd, Austin TX 78721."

Circle 578 on inquiry card.

offers assembly in seconds withoutprestripping the cable. The contactsaccept 28 stranded and 28 and 30 solidAWG conductors.

The 804 Series connectors are pricedin a quantity of 1000 pieces at $.09 percontact and the 805 Series connectorsare priced in a quantity of 1000 piecesat $.06 per contact. ■

Circle 579 on inquiry card.

212 November 1978 © BYTE Publications Inc

EVERYTHING

YOU NEED TO LEARN TO PROGRAM THE Z80®WITHOUT WASTING YOUR 8080 KNOWLEDGE

PRACTICAL

ruPtniAifiifmwK

Including source liM my - ofconversational .iwiiihlri .nut ck-hugying monitor

W.J. WE-l LER

THE TEXTBOOK...

18 chapters of solid, accurateprogramming information, on suchtopics as:

Single and multilength arithmetic

Array and table handling and searching

Number base conversion

Floating point arithmetic

Programmed input/output

Decimal arithmetic including multiplyand divide

Stack pointer usage and subroutines

Debugging techniques

Interrupt modes and service

Interrupt driven input/output %j £v

<£&

&

THE ASSEMBLY PROGRAM...(easily worth S100.00 by itself)

The full source listings of a combined editor/assembler which supports the language used. Thislanguage uses 8080 mnemonics for 8080 compatible instructions and clear, logical extensionsof the 8080 mnemonics for Z80 only instructions. The assembler is resident in less than 10KRAM and will function with any set of peripherals which transmit on a character by characterbasis, e.g., paper tape.

A FULL DEBUGGING MONITOR...

Not a simple ROM monitor. Contains facilitiesfor breakpointing, modification of pseudoregisters and much more.

AND BY THE WAY...

When the coupon in the book is filled outand returned, the object programs of theeditor/assembler and debug are shipped

DIAL CHARGE CARD ORDERS TOLL FREE (800) 258-5477

n

BITS

POB 428. 25 Route 101 Westinc Peterborough. NH 03458

Practical Microcomputer Programming: The Z80

$29.95 plus $.75 postage and handling

; ! Check *:

i My card # :

Expires:

Name.

Address.City

.State-

.Zip.

Signature.

BYTE November 1978 213

u,ic *J i-r KJit niLjUiiy L,cilU.

RONDURE COMPANY

2522 BUTLER ST.

DALLAS, TEXAS 75235

214-630-4621

the computer room

ASCII SELECTRIC

SPECIALSALE$875.00

Used Workingand Clean

TESTED WITHNEWASCIIELECTRONICSFactoryReconditioned$1075.00ASCII Selectric with ASCII parallel electronics.Immediate Delivery—Shipped from inventory.

HeavySeries

Printer Mechanism:duty input/output,745.

Weight: 120 lbs. Dimen-sions: 29"Hx35"Wx33"D.Print Speed: (14.8 charac-ters per second)Platen: 15" wide, pin feedor form feed device option-al (132 print positions).Parallel output only—15characters per second ac-cepts 7 bit ASCII parallelw/strobe & prints on Selec-tric. The unit still works asa typewriter in off-linemode.

DATEL SELECTRIC (IBM Selectric Mechanism)

"As Is" Complete

Working

Reconditioned

$395.00$495.00$695.00

Specifications:

• Size: 21"Wx21"Dx8"H.

• Power Input 115 VoltHz

• Interface: RS232

• Weight: 54 lbs. (Shippingweight 65 lbs.)

• 15" Carriage

• 15 CPS

• Correspondence code

• Half Duplex

• 132 Print Positions, 10Pitch

Used

- $395

NOVATION DC3102A

I

Working

RS232 Connection300 Baud

Tl 990/4

Single Board 16 Bit Micro

Computer

NEW $250.00

USED MODEMS & COUPLERSNOVATION TC102 (Acoustic) $45.00

AJ 233 (Acoustic) $25.00

CF 318 (Hard Wire) $25.00

SHUGARTMINI-FLOPPY DRIVE

NEW PRICE$325.00 ea.Model SA-400

FLAT PACK ACOUSTICAL

MODEM PICK-UPUseable with most modemchips/kitsUsed — $17.50 (w/prints)

ORDERING INFORMATION:

We ship the same day we receive a certified check or money order.Texas residents add 5% sales tax. Please call if you have a question.Write for our CATALOG of many parts, terminals, printers, etc.All items subject to availability. Your money returned if we are outof stock.

SHIPPING INFORMATION:

Modems: $2.00 each; 2 for $4.00 UPS.

Large Items & Parts: Specify Freight or Air Freight Collect

Foreign Orders: Add appropriate freight or postage.

We now take Master Charge and Visa orders, Specify full number,

bank number and expiration date.

$249.95

CLEANED

&

CHECKED

OUT

$199.95

AS IS

IBM® Selectric-BasedI/O Writers

Excellent Hobby Printers

•Series 72/731

• Heavy Duty•81/2" Platen

• All Solenoids

• BCD Code

These terminals are from a largeairline reservation system. They areheavy duty and were under continuousmaintenance. The units have beenin storage. We make every effort toensure that all essential parts areincluded. Most work when pluggedin. No warranties are given or implied.

Selectric Controller

The 3S-01 is a complete controller forthe IBM Model 731 I/O typewriterfor both input and output operations.With this controller the 731 becomes aversatile ASCII printer with the worldfamous Selectric quality and an alpha-numeric ASCII-encoded keyboard withthe wonderful Selectric feel. Aneightbit parallel input/output port(bidirectional or separate) is all that isnecessary to add the KING of thehardcopy terminals to your system.Serial RS-232C is also available forconnection to a serial communicationsport or modem.

Power supply requirements are 5VDCat .75A and 48VDC at 1A for the basicparallel controller. Additional powerneeded for the serial unit is + 12VDC.

PRICE $249.95

ASSEMBLED BOARD

Surplus power supply for above $30.00

Print only interface unitBoard and instructions only

$59.95

SUPER SALE

Complete Terminal Unit

This unit consists of:

1. A cleaned, checkout, repaintedused selectric. This unit has beenconverted for upper & lower casewith new ball containing all

BASIC characters.

2. Selectric controller unit allowingboth input and output

3. Power supply (used)

4. Terminal table (new)

5. Assembled and tested. Ready toplug in and go.

6. ASC II to computer

7. Crated for shipping by motorfreight (collect)

PRICE $775.00 FOB TULSA

DEALER INQUIRY INVITED

Have 10 HP 2671 B card readers left at$299.95 each FOB Tulsa.

Cashier Check or Money Order.Personal check allow 3 weeks. Unitsshipped collect. Price Net FOB Tulsa.

3 S Sales, Inc.P. O. Box 45944Tulsa, OK 741451 918-622-1058

Circle 356 on inquiry card.

CONTINENTAL SPECIALTIES CORPORATION

Logic Probes and Digital Pulsers

LOGIC MOMS

CSC logic probes ore the ultimate tool for breadboard design andtesting. These hand-held unltB provide an Instant overview orcircuit conditions. Simple to use: Just clip power leads to circuit apower supply, set logic tamllv switch to TTL/DTL or CMOSHTL. Touch probe to test node. Trace logic levels and pulsesthrough digital circuits. Even stretch and latch for easy pulsedetection. Instant recognition of high, low or invalid levels, opencircuits, and nodes. Simple, duul-level detector I.EDs tell Itquickly, correctly. HI (Logic "1"); LO (Logic "0 >. Also in-corporates blinking pulse detector, e.g.. HI and LO LEDs bltnKon or off. tracking "l"' or "D" states at square wave frequencies upto I 5 MHz. Pulse LED blinks on for Vi second during pulsetransition. Choice of three models to meet Individual require-ments; budget, project and speed of logic circuits.

MODIL IP-1

Hand-held logic probe provides instant reading of logic levels forTTL. DTL, HTL or CMOS. Input ImpriMMi 100.00U ohms.Minimum Detectable Pulie: 50 ns. Minimum Input Signal(Fraquency): 1U MHz. PuIm Detector <LED): High speed trainor single event. Pulee Memory: Pulse or level transition detectedand stored.CSC Model LP-1 Logic Probe—Xet Each $44-95

in :i voltmeter. More:.00,tlOU ohms. Mlnl-i Input Signal (Fro-

lllKh speed train or

$24-95

MODEL LP-3

Economy version of Model Ll'-l. Safer thaccurate tlr i a scope. Input Impedance:mum Detectable Pulse: .11 HI ns. Maxlmuiquoncy): 1.5 MHz. Pulse Detector (LED)single event. Pulte Memory: Xone.CSC Model LP-2 Logic Probe—Xet Each

MODIL LP-3

High speed logic probe. Captures pulses ns short as 10 ns. InputImpedance: 500.onu ohms. Minimum Detectable Pulse: 10 ns.Maximum Input Signal (Frequency): 50 Mils. *«■» D«t«tor(LED): HlKh speed train or single event. Pulse Memory: Pulse orlevel transition detected and stored.CSC Model LP-3 Logic Probe—Xet Each S69-95

DIGITAL PULSIR

TIM ultimate In speed ami ease of operation. Simply <<>iiim'-1 flipIctulH to positive and mutative power, then touch 1)1 - s probe 1 o acircuit node; imtumul le polarlt v sensor delects elrrull s ,.«!, or lowcondition, llcpress t he puslihuHon and mutter an opposite k.I. rl y

nulse into the circuit, last Iroublcsl.o at Includes Injecllntf

siuni.ls at krv points in TTL. HTL. CMOS orcircuits. Test Willi sliwlc pulse or 100 pulses per sitddual control pusli-l.llMon; button seleels Miiijle ishot »{.""';modes LEJ) indicator monitors operannu modes t>\ lliohinifor sltiulc pul.se or continuously for a pulse train. ( cim|iautomatic, pencil-size lal. held pulse ttencralor for any fandlifltal circuits. Output: Trl-staie. Polarity: Pulse-s.-nslnupolarity Syne and Source: loo mA. Pulse Train: too ppsIndicator: Mashes for slnule pul.se; slays hi for pulse trailCSC Model DP-1 Digital Pulsar Net Kadi $74-95

>uili-ii

LED

PHOTO-BOARD® UNITS

All the speed and convenience of QT Sockets and Bus Strips Inboth kits and preassembled units. Assemble, test and modifycircuits literally as fast as you can think.

PROTO-BOARD 6 KIT

Contains one preassembled QT-47S socket, two preassembledQT-47B bus strips, four 5-way binding posts, metal ground/base plate, non-marring feet and all hardware. Ten minuteassembly time. Site: 6' 1. x 4" w. x 1.4" h. Weight: 7 ozs.CSC Model PB-6 Kit—Complete. List Price , $1 5-95

PROTO-BOARD 100 KIT

Contains two preassembled QT-35S sockets, one preassembledQT-35B bus strip, two 5-way binding posts, non-metallic baseplate, non-marring feet and all hardware. Ten minute assemblytime. Sixes 4.5" w. x 6" 1. x 1.4" h. Weight: 7.5 ozs.CSC Model PB-100 Kit—Complete. List Price $19-95

PROTO-BOARD 101Fully assembled breadboard contains two QT-35S sockets andfour QT-35B bus strips mounted on metal ground/base platewith non-marring feet. Excellent for audio and small digitalprojects. Size: 5.8" 1. x 4.5" w. x 1.4* h. Weight: 9 ozs. ^.^^CSC Model PB-101 Breadboard—Complete. List Price $£9*95

$22 95

PROTO-BOARD 102Fully assembled breadboard contains two QT-47S sockets, threeQT-47B bus strips and one UT-35B bus strip on a metal ground/base plate with non-marring feet. Excellent for intermediatedigital needs. Size: 7" 1. x 4.5" w. x 1.4" h. Weight: 10 ozs. ^CSC Model PB-102 Breadboard—Complete. List Price fJletfTj.

S26.95

Prototype Design Equipment

PROTO-BOARD 103

Fully assembled breadboard contains three QT-59S sockets, fourQT-59B and one QT-47B bus strips, four 5-way binding postson a metal ground/base plate with non-marring feet. Build calcu-lators, interfaces, networks, etc. Size: 9" 1. x 6" w. x 1.4" h. Weight:1 'A lbs. n^ . j--

CSC Model PB-103 Breadboard—Complete. List Price. SSMB

$44.95

PROTO-BOARD 104

Fully assembled breadboard contains four QT-59S sockets, sevenQT-59B bus strips and four 5-way binding posts on a metalground/base plate with non-marring feet. Build a CPU, encoder,complex display, etc. Size: 9.8* I. x 8" w. x 1.4" h. Weight: Wa lbs,CSC Model PB-104 Breadboard—Complete. List Price JPW^W

$54.95PROTO-BOARD 203Fully assembled breadboard contains built-in. short-proof, fused,6 VDC at 1 amp, regulated power supply, in addition to threeQT-59S sockets, four QT-59B bus strips, one QT-47B bus stripand four 5-way binding posts. Capacity for most digital and manyanalog projects. Size: 9.75" 1. x 6.6" w. x 3.25" h. Weight: 5 lbs.CSC Model PB-203 Breadboard—Complete. List Price. $75-00

PROTO-BOARD 203*Provides all the features of Proto-Board 203 with additional+ 15 and -15 VDC at 0.5 amp power supplies with internallyadjustable output voltages. Size: Same as PB-203. Weight: 5,5lbs.

CSC Model PB-203 A Breadboard—Complete.List Price '■■

$124.95

BREADBOARDJUMPER WIRE KIT

Each kit contains 350 wires cutto 14 different lengths ffom 0.1"to 5 0'

Each wire is stripped and theleads are bent 90° for easy in-sertion.

VVue length is classified bycolor coding.

All wire is solid tinned 22gauge with PVC insulation.

The wires come packed in aconvenient plastic box.

JK1 923361 $10.00

$59.95

LOGIC MONITOR 1

Trace signals through all types of digital circuits. Unit clips overany I>IP It; up to 16 pins. Lach of if 16 contacts connects to aslngle-blt level detector that drive* a high-Intensity, numberedLED readout activated when the applied voltage exceeds a fixed2 V threhold. Logic *'l" turns LED on: logic "0" keeps LED off.A power-seeking gate network automatically locates supply leadsand feeds them to the LM-l's internal circuitry. Saves minutes,even hours in design, troubleshooting, debugging of equipment.Voltage Threehold: 2 V * 0.2 V. Input Impedance: 100.0(H) ohms.Input Voltage Range: 4-15 V max. across any two or more inputs.Current Drain: 21)0 mA at 10 V. Size: 4" 1. x 2" w. x 1.75" (1. whenopen. Weight: 3 ozs.CSC Model LM-1 Logic Monitor—Complete.

List Price

LOGIC MONITOR 2

Provides greater versatility and precision in testing all types ofdigital circuits. The fully isolated power supply and selectabletrigger threshold let you mutch the precis.' characteristics »f thelogic family under test, permitting more accurate measurements.The connector display unit clip-; over any DIP JC up to lti pins.The power supplv module contains the precision reference powersupply and logic family selector switch. Operation is simple. Setthe threshold switch to the proper ingle family. Connect black cliplead to circuit ground. For CMOS circuitry, the red clip is con-necter! to circuit positive or Wr. The clip module Is then clippedover the IC and the LED display instantly gives the logic statesof all pins. Logic Threshold!: CMOS. 70*, of circuit Vcc; HTL.7.5 V; TTL. 2.4 V; DTL. 1.(1 V; HTL. 1.2 V. Mulmum VisibleInput Frequency: 311 KHz at ill , duty cycle. Size: Test Clip.4" t. x 2' w. x 1.75' d. when open: Power Module, 6" w. x 5.(13" d.x 3" h. max. Total Weight: 2ii o/.s. Power Required-. 117 VAC.50/fill Ilz, 10 W; also available for 2211 VAC. 5tl 60 Hz at slightlyhigher price.

CSC Model LM-2 Logic Monitor Complete.List Price SI 29-95

MAX-1O0 PORTABLE FREQUENCY COUNTER

MAX-1(10 Is a portable, high precision frequency counter that setsHew standards In performance and value. In a compact, portableease. It gives you continuous readings from 20 If* to a guaranteed11X1 MHz, wltli K-diglt accuracy. Fast readings with Vs-sec. updateand 1-sce. sampling rate. Precise readings, derived from a crystal-controlled time boar with 3 ppm accuracy. Hiyh-sensltlvlty read-ings from signals us low as :to mV. with diode overload protectionup to 2tlll V peak*. Input signals over loo MHz automaticallyHash the most significant dtgtt. and to indicate low-battery condi-tion and extend battery life, the entire display Hashes at 1 kHz.

Digital IC Testers

Stability: *3 ppm at 25° C. Temperature Stability: Better than0.2 ppm °C. 11-50° C. Max. Aging: 10 ppm year. Display: EightO.fi" LED digits. Lead-Zero Blanking: Decimal point appearsbetween 6th and 7th digit when Input exceeds 1 MHz. OverflowWith signals over 9U.999.999 Hz. most significant (left hand) digitflashes, allowing readings In excess of loo MHz. Display Update'/6 sec. plus 1 sec. gate time. Low Bettery Indicator: When batter?supply falls Ik-Iow 6.6 VDC. all dlgi's Hash at 1 Hz. PowerRequired: Internal. 6 "AA" cells; external. 110 or 220 VACcharger eliminator, auto cigarette lighter adapter or 7.2-10 VIKexternal supply. Battery Charging: 12 14 lirs. Size: 1.75" h. >5.(13" w. x 7.75' d. Weight: Less than 1.5 lbs. with batteries.CSC Model MAX-100 Frequency Counter Net Each SI 34-95

MAX-IOO ACCESSORIES

Model 100-CLA

Model 100-CA1

Model 100 CA?

Model 300 IPC

Model 1.00-LLC

Model 100 MWA Mini-wlili

Model 10D-CC

Mobile charger eliminator. Net Each110 VAC charger eliminator. Net Ka.220 VAC charger eliminator. Net Ea.Input cable with clip leads. Net Each

I.mv-hiss tap-olT

uienna

SPECIFICATIONS

Frequency Range: 20 Mz to 100 MHz guaranteed: 110 MHztypical. Gate Time: 1 sec. Resolution: 1 Hz. Accuracy: * 1 count+ time base error. Input Impedance: 1 megohm shunted by 56pp. Coupling: AC Sine Wave Sensitivity: :tomV HMSat 50 MHz.Internal Time Base Frequency: 3.579545 MHz crystal oscillator.

PRIORITY

% 3 958959955.9514.953.959.95

NEW VOLKSMETERS!

-^ With LCD Display— ExcellentA It', Readability in Direct Sunlight!

LM-300

Full three digits$114.00 *

O.5°lo 3'/2 digitsLM-350 $144.00*

FEATURES

• Measures DC volts, AC volts,ohms and current

• Automatic polarity, decimalar>d overload indication

• No zero adjustment and no fscale ohms adjust

SPFCIFICATIONS

1 Large LCD display f°r easyreading without interpolation

i Sue I 9" Hx27"W«4.0"D.1 Parts and labor guaranteed forone year

Tilt Stand Option, addLeather Case

3AA NiCad-Batts.4 ChargerStandard AA-size batteries provide up to 20 hours Ot operationRechargeable NiCad batteries and charger unit available as optional equipmentBatteries not included

ELECTRONICS

10031 A' Woodley Aveo Sepulveda CA, 91343

Terms: VISA, MC, BAC, check. Money Order, C 0 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 "Sorry,no over the counter tales" GODD THBU member wb

Purchase any of theLM series Meters andbuy the LEA THER CASEfor IC

Send for our latest brochure

phone orders welcome (213) 893-8202

OEM and Institutional inquiries invited.

Circle 306 on inquiry card.

BYTE November 1978

215

What's New?

SOFTWARE

Educational Programs for PET, TRS-80and Apple II

Educational programs for the PET,TRS-80 and Apple II computers are nowavailable from Program Design Inc, 11Idar Ct, Greenwich CT 06830. Eachcourse comes with programs on cassettetapes, workbook or guide and othermaterials necessary for effective learning.Currently available courses include:

• IQ Builder: This series of threecourses (analogies, number seriesand vocabulary builder) developsthe skills needed to succeed onaptitude tests. Programs can bepurchased and used separately ortogether. Analogies is priced at$9.50, number series is $9.50, andvocabulary builder is $12.50.

• Step by step: This is a course inthe BASIC programming lan-guage. Structured lessons andguided practice sessions are pre-sented on the computer and inthe workbook. Step by step ispriced at $29.95.

• Preschool IQ builder: This coursehelps. 3 to 5 year olds developintellectual skills essential forlearning to read. This program ispriced at $10.50."

Circle 584 on inquiry card.

Microprocessor Cross AssemblerAvailable for PDP-11 or LSI-II

Five microprocessor cross assemblersfor use on DEC's PDP-11 minicomputersand LSI-11 microprocessors have beenannounced by Automated Logic Corp,2675 Cumberland Pky, Suite 115,Atlanta GA 30339. The MicroSeriescross assemblers can be used for anyof the following processors: Intel 4040,8080, 8085, 8748, 8048, 8041, 8035and 8021.

The MicroSeries runs in 12 K wordsof memory and enables a program to bedeveloped using the PDP-11 with theRT-11 operation system. A companionprogram enables the output from thecross assembler to be shipped directlyto burn the programmable read onlymemories.

The MicroSeries price is $250 and isdistributed on floppy disks."

Circle 585 on inquiry card.

New PDP-8 X8 Cross Assembler Series

Four new microprocessor cross assem-blers have been added to Sierra DigitalSystems' X8 cross assembler series forthe Digital Equipment Corporation PDP-8minicomputer. The X8 series crossassemblers now cover the Z-80, 1802,SC/MP and 8048 microprocessors inaddition to the previous 6502, 6800,8080, F8 and 2650 versions. By usingan X8 series cross assembler, assemblylanguage programs are converted intoobject code or put into programmableread only memory. The assemblers runin 8 K words of memory under theOS/8 operating system, and are writtenin PDP-8 assembly language. Pseudo-operations and runtime options providefor conditional assembly and listing con-trol. Generated object code may beoutput in the microprocessor's standardloader format, or BNPF for read onlymemory programming with commercialstand alone programmers. Each crossassembler is priced at $400 and distrib-uted in PDP-8 binary format on papertape, DECtape, or DEC floppy diskette.Source files are also available for an addi-tional $250. Contact Sierra DigitalSystems, 13905 Rancheros Dr, Reno NV89511."

Circle 586 on inquiry card.

Disk Based Software Development Tools

A full complement of Z-80/8080/8085 disk based software developmenttools oriented towards the CP/M opera-ting system is now available from TSASoftware, 5 N Salem Rd, RidgefieldCT 06877. System development toolsinclude a relocatable linking macro-assembler with linking loader, cross-reference generator and full library ofmodules. Included with the assembleris a symbolic debugger allowing userdefined symbols. Higher level languagesupport is provided by interface withMicro-Soft FORTRAN.

For advanced systems, TSA/OS is anupward compatible CP/M-like operatingsystem providing video screen control,automatic library search, an extendedbatch mode with turnkey system capa-bility, as well as an advanced config-uration scheme.

TSA Software has available a set ofapplications packages. The TSA Data-base System uses a mixture of assemblycode and FORTRAN. The system usestable driven screen and record formatsand has a minicompiler to optimizerecord search capability. The TSA WordProcessor uses a normal terminal to pro-vide natural text editing with advancedformatting features, including propor-tional printing. Full use of disk files isprovided as well as file merging formailing list and similar uses. Packageprices are $100 and up."

Circle 587 on inquiry card.

Learn to Program a Microcomputerin Machine Language

MICRO'COMPUTER

6502

'axtor^-

Programming a Microcomputer:6502 by Caxton C Foster teaches youhow to program a microcomputer inmachine language. Although designedespecially for the 6502 microprocessorused in the KIM-1, PET and Applemicrocomputer systems, the basic prin-ciples covered apply to all computers,large or small. The 234 page book,which assumes no previous knowledgeof computers, is published by Addison-Wesley Publishing Company Inc,Reading MA 01867."

Circle 588 on inquiry card.

Foreign Language Vocabulary ProgramsAvailable in BASIC

Foreign Language Vocabulary is abidirectional program for the instruction,practice and testing of language vocab-ulary skills. Languages offered includeFrench, Spanish, Italian and German.

Program features include separatemodes for vocabulary instruction, prac-tice drills and testing, selectable by theuser at any time during program opera-tion. The user may also alternate lan-guage direction (English to French orFrench to English) to improve compre-hension. The Educator option permitsthe creation of files for the storage ofstudent identification, test responses andtest scores, for use in a classroomsituation.

Foreign Language Vocabulary iswritten in BASIC. Each volume includesan annotated program listing and pro-gram flowchart to assure ease of userloading and understanding. Single state-ment lines are used to avoid confusionand to permit ease of user modification.

Each volume of Foreign LanguageVocabulary is priced at $5 with theEducator option costing an additional$3. All four volumes are $17.50 or$27.50 with the Educator option. Forfurther information, contact MusgroveEngineering, 9547 Kindletree Dr,Houston TX 77040."

Circle 589 on inquiry card.

216 November 1978 © BYTE Publications Inc

SALE S100 BUS EDGE CONNECTORS SALE

* 9.70 W |

t

SALE

ILM3A 3dlg 1%DC $134.00

ILM3.5A 3Vi dig .5% DC ... $ 158.50

IlNMOA 4 dig .1%DC $209.00

|LM4A 4dig .03% DC $250.00

Rechargeable batteries and charger In-cluded

Measures DC Volts, AC Volts, Ohms andCurrent|» Automatic polarity, decimal and overload

IndicationI • Rechargeable batteries and chargerI • Measures DC Volts, AC Volts, Ohms andCurrent

• Automatic polarity, decimal and overloadIndication

• No zero adjustment and no full-scale ohmsadjust

> Battery-operated — NICad batteries; also ACUna operation.

• Large LEO display for easy reading withoutInterpolation

• SIM. 1.9"Hx2,7"Wx4"DParts & labor guaranteed 1 yearTilt stand option t

Purchase any of the LM series

Meters and buy the LEA THER CASE

for 1C

$318

MS 15 MINISCOPE

SirmrM & Cfit'fr Unit

■15 megahertz bandwidth.

• External and Internal trigger.

■ Time base — 1 mlcrosac. to 0.5 Sec/dlv - 21

sellings * 3%

• Battery or line operation.

• Automatic 4 line sync modes.

• Power consumption < 15 watts.

• Vortical Gein — OlloMVUiv U Mtt.ngs i 3%

PROBE 1C

PROBE iC with the

purchase or SCOPE

and the MENTION ot

this MAGAZINE

'- SeHremw! $41

• MS-215 Dual Trace Version of MS-15 $435

SIOOWWG 50 lOOCooi 13 LEVEL WIRE WRAP 025 ■on 250 ipaeed rowa GOLD

SOLDER TAIL orALT AIR motncrb

•soo

100 Corn 126 ci

S100-STG SO 100 CoDIP SOLDER TAIL on jau i<<mi for VECTOR andmrnnertjoarda GOLD plsledi « 5 9 10-34

14 00 S3 75 13 SORWI 3 50/100 Com 126PIERCED SOLDER EYELET iGOLD•7 36

Other Popular Edge Connectors

KS44 G 22.44 Com l bfcPIERCED SOLDER ETELES 1GOLD plated

3 LEVEL

GOLD WIRE WRAP

SOCKETS

Sockets purchased in multiples of 50 per type may be combined tor best price.

1-24 25-49 50-99 100-249 250-999 1K-5K

8 pin' 41 38 35 31 .27 23

14 pin- 39 38 36 32 29 27

16 pin* 43 42 39 35 32 30

18 pin 6320 pin .8022 pin* 90

587585

24 pin 90 8428 pin 110 10040 pin 1.50 1.40

.547080

78

.901 30

4763

.70

68

84

1.20

4258

61

6376

1 04

3653.57

58

7189

All sockets are GOLD 3 level closed entry * End and side stacable 2 level. Solder Tail. LowProfile Tin Sockets and Dip Plugs available CALL FOR QUOTATION

LIQUID CRYSTAL DIGITALCLOCK-CALENDAR

• For Auto, Horn*. Of'ice

• Small In sl»(2x2ttxtt)

■ Push button lor seconds release tor data.

• Clocks mount anywhere with either 3M double-sided tape or VELCHO, Included.

• 2 MODELS AVAILABLE

LCD 10!. portable model runs on sett-contained

batteries for better than a year.

LCD 102 runs, on 12 Von system and ia beck-

$34.95.. . c

3=3^ $2.00

n.ntiudt-. i

8803

Wafer ♦».♦ II. MOtHEr.

- n MM *w ■» BOARD FOR

mad mowiing .,- ■,-■, - „ ....

• leaara MM ino-r. Con 5™ ■U*

B3r*i< sda M.t apori MICRO-

•iMxnsiMtiio. COMPUTERS

/tef

8800V

Universal Microcomputer/processorplugboard, use with S-tOO bus Com-plete with heal sink & hardware 53 *10' x 1/16

*. pun up. or noaltngiei

• Oumi •iVandGMOHOAMPSi fin

S) CurianlF»iin9sjttparMH.-SIO-IWw

Price$29.50

1-4S199S

5-9

1024(15 96

S17.95

8801-1

Same as 8800V except plain, less powerbuses A neat sink

1-4 5-9 10-24

S14.95 »U4t 11196

3682 9.6" > 4.5"

$10.97

3682-2 6.5'x4.5"

$9.81

Hi-Density Dual-In-linePlugboard tor Wire Wrapwith Power & Grd. BusEpoxy Glass 1/16" 44pin con spaced .156

3677 9 6" x 4.5"

$10.90

3677-2 6.5" x 4.5"

$9.74

Gen. Purpose D.I.P.Boards with Bus Patternfor Solder or Wire Wrap.Epoxy Glass 1/16" 44pin con spaced 156

DIHIIIIIUUllil

3662 6.5" x 4.5"

$7.65

3662-2 9.6" x 4.5"

$11.45

P pattern plugboards forIC's Epoxy Glass 1/16"44pmcon spaced 156

in

3690-12CARD EXTENDER

Card Extender has 100contacts 50 per side on .125centers-Attached connector-iscompatible with S-100 Bus

Systems «26.0O

3690 6 5" 22/44 pin .168ctrs. Extenders S12 00

8K 450 ns

EPROM

FACTORY PRIME

$ 9.00 EA.

25 + Call ForPrice

14 & 16 PIN

JOLD 3 LEVEL

\WIRE WRAP

SOCKETS

'14-G3 100 for

$30.00

16-G3 100 for

$30.00

50 of each for $32.00

Sockets are End & Side stackable. closed entry

FM-7

RachanjMbto

Hiaal

Ctwnj»r

Unl. $215 |

features Include • By unrig me new NLS SC-5 Prtaeater, me rang* of

me FM-7 Frequency Meter (Battel 10 HiloBO MHz. may » emerxJed

.-. - - to 512 HHi [[he upper vHf & UKF freuuency Bands) • The FM-7 urt-

unit 4 Qfl ines an led readout, providing /-digit resoiulion • The FM-7 can Be

calibrated 10 in accuracy- of 0 00001 % • The SC-5 11 accurate id one

Span per rnilMn • Each unrl has 30 millivoili sensiiivity « Ijatterypowered and ras a charger unn lockjOeO • Dimensions of each are t 9"k .. 2 7' W > 3 9" 0 • The units may Be obtained separately or as a' Frequency Quo ' • Parts & Later guaranteed 1 yearTin stand option . t J SO

Leather rase $20.00

I

WRAP POST

for.042dia. holes(all boards on litis page)T-44pkg 100 S 2.28T-44 pkg.

1000 Si* 00

A-13 hand Installing

MOl i 7.60

Price Breakthrough! $4750

MA1003CAR CLOCK

Bright Green Fluorescent Display Crys-tal Time Base Assembled, just addswitches and 12VDC.

SPECIAL •14CS2100for'14"16CS2 100for»16"

14 pen C8210 lor '2"lOptnCSS »(of'2"Dim* low cost DIP sockets will acceptboth standard width plugs and chips.For use with chips, the sockets offer a rowprofile height of only .125" above the board.These sockets are end etackable.

P'^rVi^ffl:

f^f D031A Woodley A&. Sepulveda CA„ 91343

Terms VISA. MC. BAC. check, Money Order, COD.. US Funds Only. CA residents add 6% sales tax. Mini-mum order $10.00 Orders less than $7500 include 10% shipping and handling, excess refunded Just in caseplease include your phone no "Sorry, no over the counter tales" OOOD "**" no«m*m <*"

S«nd for our latest brochure.

phone orders welcome (213) 893-8202

OEM and Institutional inquiries invited

24 PIN DIP PLUGSWITH COVERS

^"aaaaaaaflT

3 / $1.00

40/$10.00

SALE SWO BUS EDGE CONNECTORS SALE

Circle 306 on inquiry card.

BYTL November l')7S 217

CANADIANS

Announcing

HAMILTON LOGIC

SYSTEMS

Specializing in logicdevices, microprocessors,

memorys, TTL, Cmos ,etc.

Send for your catalogue

Box 7

STONEY CREEK

ONTARIO L8G 3X7

Circle 157 on inquiry card.

RADIO SHACKCOMPUTER OWNERS

TD6-80

MONTHLY NEWSLETTER

BUSINESS* PERSONAL FINANCEPRACTICAL APPLICATIONSGAMBLING • GAMESLATEST TRS-80 DEVELOPMENTSSOFTWARE EXCHANGE'MARKET PLACEQUESTIONS AND ANSWERSPROGRAM PRINTOUTS. . .AND MOREMAJOR PROGRAMS PUBLISHED MONTHLY • IN-COME TAX PROGRAM - LONG AND SHORT FORMS• INVENTORY CONTROL • EXTENSIVE MAILINGLIST AND FILE PROGRAM • PAYROLL • STOCKSELECTION • PICKING WINNING HORSES • RE-NUMBER PROGRAM LINES • CHESS • CHECKERS •FINANCIAL APPLICATIONS PACKAGE • PERSONALFINANCE PACKAGE • GRAPHICS • STATISTICS •MATHEMATICS»EDUCATION AND MORE

S24 Pt, Y—r~S*nplt l»» UVISA Mastcrchsrg*

MATHEMATICAL APPLICATIONS SERVICE

Box 149 RB

NEW CITY, NY 10956

(914)425-1535

(Send for our FREE Software Catalog)

Circle 217 on inquiry card.

Dynamic RAM Breakthrough

16K Bits For $15.95

The beat currant price* end belter than you cen enpect tobent tor qute some time:

MC1II6L n PRIMF MOTOROLA DYNAMIC RAM (IB prn,?OOne ecceee, 375ne cycle lime, 70C, crime peckege,gold pine, tcily gunrrenteed) SIS 95 per chip. Theee plugdrectly into your TRS-BO or APPLE computer Dataeheet included with your order. For more then DO unite.cell (or quantity pricing.

S 100 64K MEMORY BOARD KIT (lor IBK to B4K ofabove chipe) menuele, end all componente tocapt mamorycNpa SI2S.

S 100 CONNECTORS, (uaad in eMceHent condttion, aomawith wire wrap wire) 3 level wire wrep, Imaei Spacing,$? 95 r*. 10 fur S77.00. 30 for $75 00.

CARD CUIDES Wfard (but very nice] with$ SO ■ pair.

Minimum order $10.00. Maelercherge and Viae accepted.For queationa and charge order* (no COO) call PhM Apleyor Oavid Loune el (617) 242-3350.

The Memory Coop

144 MIT BranchCambridge MA 02139

Circle 221 on inquiry card.

OS.I.

OHIO SCIENTIFIC* COMPUTERS*

SALES & SERVICE

Business Home/Hobby

Hardware & Software

SEE0.S.I.N0W!

METRO DC AREA & MARYLAND

The Math Box,lnc.(301)277-6828

CENTRAL VIRGINIA AREA

hVBComputerSjInc.(804)295-1975

MIGRO-VERTER

A SPECIAL COLOR MODULATOR FOR APPLE II USERS!!UHF version. Operates above channel 14. Eliminates wormt

Operarei above the switching harmonics ot the computer,thereby yielding a cleaner, worm-free picture. Tunableover a minimum ot 4 channels. Interfaces directly withthe Apple II as well as most other micros. Comes withvideo cable and RF output stub coupler. Two-toned cowltype decorator cabinet, Sue: S.Scm t 8.5cm i II.5cm.Power: +5V. Current approx. I ma. Self-powered with 4pencell batteries. Operating life in eicess ot 1000 hoursor near shelf-life of batteries. Excellent stability. Precisefrequency adjustment. Ho assembly required except torinstallation of battenes, not supplied. MODEL MVX-500.

AVAILABLE FROM YOUR LOCAL COMPUTER DEALERor direct from ATV RESEARCH. COST including shippinganywhere m USA and Canada — S35.00.

Circle 22 on inquiry card.WBSk

IT'S A GREAT BIG COMPUTER WORLD

But You Only Need

*THE COMPUTER CORNER1

" •SOL - A New Dawn is Here!

• COMMODORE PET & KIM• NORTHSTAR HORIZON

• IMSAI VOP-80

• Memories & I/O Boards

- • Computer Book Service

• Magnetic Tapes & Disks•Full Line of Magazines

• Brain Games & Puzzles•Workshops & Club Information _

[ Visit THE COMPUTER CORNER forall your computer needs. Stop in andbrowse — you'll like our personal service.

THE COMPUTER CORNER

White Plains Mall - Upper Level

200 Hamilton Avenue

White Plains, New York 10601

Tel: 1914) WHY - DATA

Ample Parking10-6 Daily & Saturday

V, 10-9 Thursday / v^

^^TTTTTTTTTT^

Circle 213 on inquiry card.

Circle 65 on inquiry card.

TECHNICAL WRITER neededto prepare SOFTWARE DOCU-MENTATION. We also have anopening for an AdministrativeAssistant. Would prefer someonein the NYC area. Please applyimmediately (Part-time free-lance position also available) to:

PRS The Program Of The Month

Corporation

257 Central Park West

New York, NY 10024

212-787-1526

Circle 309 on inquiry card.

AttractiveDurable Plastic

DISKETTE CASE

with each purchase of 10 Diskettesat regular price of $3.65

DEALER INQUIRIES WELCOME

V R DATA CORP.

777 Henderson Blvd.

Folcroft, PA 19032

Call Collect: 215-583-5101

Circle 387 on inquiry card.

WE SHIP FROM STOCK

TELETYPE MODEL 43Only $985

withRS232 $1,085

INTERTUBE:

Smart CRT for intelligent shoppers.

Call or write for special low price.

HOLIDAY SALE

ON HAZELTINE TERMINALS

1500 Kit $885

1500 Assembled $995

To order: $10 shipping. 24 hr. shipping uponreceipt of certified check or money order. Personalchecks: allow 10 days. Credit cards: Add 4%. N.Y.residents add tax.

— We Also Export —

We have no reader inquiry number.Please cafl or write.

OWENS ASSOCIATES

147 NORWOOD AVENUE

STATEN ISLAND. NY 10304

Day, weekend, evening calls welcome.

(2121 448-6283 (212) 448 6298

Incredible! but True w Pre cut wireis Cheaper than cutting your own!

Fast • Reliable • Economical

' No more cutting & stripping by hand

■ Good, clean, uniform strip

■ Cheaper than using bulk wire

Catalog available on request.

PRECUT WIRE

100 pes of 3" at $.82 - 31/4«/ll.100 pes of 6" at $1 06 = 2«/ll.Wire Kit #1 at $6.95 = 21/3«/ft.

BULK WIRE

50 ft. roll at $1.99 ■100 ft roll at $2.95 =

4C/»t.3«/H.

# 30 Kynar stripped 1" on each end. Lengths are overallColors: Red,Blue.Green,Yellow,Black,Orange.WhiteWire packaged in plastic bags. Add 25«/length for tubes.

2'/j in.

3 in3VS in.

4 in,

4'/? in.

5 in5'/j in.

6 in

6'A in

7 in.7". in

8 in.

100

7882.8690

94

98

1.02

1 06

1 151.201.251.29

500

2.40260280300

3213.423.65385

4.054.254454.65

1000

4 30/K4.71/K5.12/K

5 52/K

5.93/K6.34/K6.75/K7.16/K

757/K798/K8 39/K8 80/K

5000

389/K4 22/K455/K4.88/K

5.21/K5.52/K586/K6.19/K

652/K6.85/K7 18/K7.53/K

8'/; in.

1.32

4.85

9.21/K

7.84/K

9 in.

1.36

505

9.62/K

8 17/K

9V? in.

1.40

5.25

10.03/K

850/K

10 in.

1 45

5.51

10.44/K

8.83/K

WIRE WRAP TOOLS

getting it for Y Jio^^-

HOBBY WRAPModel BW 630 with

rnrr WIRE KIT#1iKcE ($6.95 Value

Batteries & Charger

WSU 30 Hand Wrap - Unwrap Strip Tool

WSU 30M, for Modified Wrap

BT 30 Extra Bit

2.2" x 6.5"

SK 10

$16.50

SOLDERLESS

BREADBOARDS

INCLUDING

Over 100 pieces ol precut wifein assorted lengths — FREE1

INTERCONNECT CABLES

Ribbon cable connectors for connectingboardsto front panels, or board to board.

SINGLE ENDED

DOUBLE ENDED

14 pin 16 pm 24 pm 14_p_m 16 pm 24 ptr

1 24

1 331 521 91

1 65206

2 052 24

2 63

3 40

2 242 332 522 91

2 452 55

2 76

3 17

3 373 92

WIRE KITS

■\ r

#1 $6.95(2.2 */ft.)

#2 $19.95<1.9<t/ft.)

250 3" 100 4'/2"250 3V4" 100 5"100 4" 100 6"

#3 $23.95<1.7 C/ft.>

250 2W 250 5"500 3" 100 5W500 3'/2" 250 6"500 4" 100 6V4"250 4'/2" 100 7"1-250ft. Roll

#4 $42.95(1.5C/ft.)

500

21/2"

500

41/2"

1000

21/2"

1000

AW

500

3"

500

5"

1000

3"

1000

5"

500

3W

500

5'/2"

1000

3%"

1000

51/2"

500

4"

500

6"

1000

4"

1000

6"

Choose One Color or Assortment

WIRE WRAP SOCKETS

1-9

10-24 25-99 100-249 250-999

1K-5K

^

Spin*14 pin'16pin-

35.35

37

33 31 29 2533 31 29 28

35 33 31 30

232729

1

^^ 18pin-

3Rf ?2p'"'

608490

55 .45 43 4078 71 63 5965 82 78 70

.37.5460

■II

fnf'l 24pin'l| 25 pin strip28 pin40 pin

911.25

951 50

84 78 68 64105 95 80 70

89 84 80 761 40 1 30 1 20 1 05

59657490

\

Gold 3-Level Closed Entry Design* End & Side Stackabie All prices include2-Level Sockets Available

gold

EDGE CARDCONNECTOR

44 Pin100 Pin100 Pin

Solder TailSolder TailWire Wrap

$1.75 $15/10$3.50 $30/10$3.50 $30/10

SALE!

ALL connectors include Gold.

100 pin connectors are on IMSAI. spacing.

y v

H5

i

U13UU

R

ro!

L5UDU

0U

135 E. Chestnut St. #5 Monrovia, CA 91016 (213)357-5005

ORDERING INFORMATION

• Ordersunder$25andCOD's,add$2

• All others shipped Ppd in U S via UPS

• For Blue Label (Air) or 1st Class, add $1

• We accept Visa & Mastercharge

• Most orders shipped same day

Dealer Inquiries Invited

1)

Circle 297 on inquiry card.

BYTE November 1978

219

What's New?

Single Board Computer from Omnibyte

SYSTEMS

Fully Integrated Computing System in a Single Circuit

The VPD-40 is a fully integratedsystem featuring an 8085 processor,32 K bytes or 64 K bytes of program-mable memory, twin minifloppies, avideo display, programmable keyboard,motherboard and serial and parallelIO ports in a flip top cabinet. Supportingsoftware includes a disk operatingsystem, text editor, extended and com-mercial BASIC, relocatable assembler,linkage editor, debugging program,floppy disk system diagnostic program

and ANSI level two FORTRAN IV.

Expansion capability is available withthe VDP-40 optional double densitydisk controller. Up to two minifloppydrives and four floppy drives can besupported. Since the VDP-40 cansupport two optional disk controllers,total disk expansion capacity approachesfive megabytes.

The 24 line by 80 character videodisplay features insert and delete,user-programmable character set, pro-tected fields, inverse video and a 14MHz bandwidth.

Text can be inserted or deleted bycharacter or line. Protected fields helpthe user safeguard material beingentered, or already entered, from beingaltered when in certain modes, suchas insert or edit. Variable format allowscreation of large characters for viewingat long distances.

The VDP-40 is priced under $4500and is available from IMSAI Manufac-turing Corp, 14860 Wicks Blvd, SanLeandroCA 94577.■

Circle 590 on inquiry card.

Microprocessor Business Computing System

The Abacus 1 is a complete hardwareand software package designed to handlebasic accounting for small businesses.It includes a Z-80 processor, dual NorthStar floppy disk system, video display,keyboard and printer, plus software.

Functions performed by the Abacus1 include general ledger accounting,accounts receivable, accounts payable,inventory, payroll, mailing lists, dataentry, sorting and file management. Acharacter oriented word processing sys-tem is available as an option.

The unit features an interactive,

double entry bookkeeping system inwhich receivables decrease book inven-tory, payables increase book inventory,and general ledger accounts are updatedautomatically with extensive and validaccounting controls. 50 programs areincluded in the BASIC software package,with 1 20 pages of documentation.

Prices for the Abacus 1 start at$5995. For further information contactComputer Products of America, 633 WKatella Av, Orange CA 92667.■

Circle 592 on inquiry card.

This new single board computercontains a processor, memory and IO ona single4.5 by6.5 inch (1 1.4 by 16.5 cm)card. The Model OB8001 also includesserial communications interface meetingboth the 20 mA current loop andRS-232C standards. The microcomputerusing the 6800 processor can be used toimplement a wide variety of stand alonecontrollers. The processor module isavailable without chassis as a stand alonecomputing system with standard cardedge connectors.

Included on the board are: theMC6800 processor, a 1 MHz crystalcontrolled clock, 1 K bytes of program-mable memory, sockets for 2 K or 4 Kof read only memory, serial interfacewith selectable data transmission rate,an MC6821 peripheral interface adapter(PIA) that provides two bytes of pro-grammable binary IO along with fourprogrammable control bits, fully buf-fered address, data and control lines foroff board expansion, full decoding foreight pages of off board IO addressingand a separate 128 bytes of program-mable memory to be used for scratchpadmemory. This card is compatible withthe Omnibyte family of memory and IOcards. For further information contactOmnibyte Corp, 2711B Curtiss St,Downers Grove IL 60515."

Circle 591 on inquiry card.

Attention Readers, andVendors. . .

Where Do New Product ItemsCome From?

The information printed in thenew products pages of BYTE isobtained from "new product" or"press release" copy sent by thepromoters of new products. If inour judgment the neat new whiz-bang gizmo or save the worldsoftware package is of interestto the personal computing experi-menters and homebrewers whoread BYTE, we print the 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.

220

November 1978©BYTE Publications Inc

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

FEATURES

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

Sensitive to infra red

as well as visible light

May be used for IR surveillance

with an IR light source

Excellent for standard

surveillance work, because

of light weight and small size

All components mounted on

parallel 33A"x6V2" single

sided 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.00 to assemble and testAdd $2.00 Postage and Handling

UNIVERSAL 4Kx8 MEMORY BOARD KIT

$69.953221021 fully buttered, 16 address lines, onboard decoding for any 4 ol 64 pages, standard44 pin buss, may be used with F-8 & KIM

EXPANDABLE F8 CPU BOARD KIT$99.00

irbug PSU.lK-otsiauc ram, RS 232

ntertace, docu

4001400240064007400940104011

401540164017

C/MOS (DIODE CLAMPED)

'8 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 4066 -

75 4071 -

18 4076 -

,37 45Z0

80 74C00-

.95 74C02 -

33 74C04-

-97 74C08-

-65 74C10 -

1 35 74C42-

35 74C73-

35 74C74-

10 74C83-

.25 74C86--

70 74C93-

18 74C151 '

97 74C160

>0 74C161 '

.22 74C174 '

.22 74C175 I

.24 74C193 1

22 74C901

27 74C902

85 74C9I4 I

tiait

PRINTED CIRCUIT BOARD

7WATTLD 65 LASER DIODE IR Sa95

2N 3820 P FET S 45

2N 5457 N FET $ .45

2N2646 UJT $ .45

ER 900 TRIGGER DIODES 4 SI 00

2N 6028 PROG UJT $ 65

MINIATURE MULTI TURN TRIM POTS100, 1K.-2K, 5K, 10K, 20K, 50K, 100K,?QQK. 5Q0K, lMeg, 2Meg, $ 75 each 3/$2.00

CHARGED COUPLE DEVICES

CCD201C 100x100 image Sensor $95.00

CCD 202C 100x100 Image Sensor $145.00

VERIPAX PC BOARD $4.00

This board is a 1/16"single sided paper epoxy

board, 4Vx6Vi" DRILLED and ETCHED whichwill hold up to 21 single 14 pin IC's or B, 16 or LSIDIP IC's with busses for power supply connector.

FP 100 PHOTO TRANS S 50

RED, YELLOW, GREEN or AMBER

LARGE LED's.2" 6/S1.00

TIL-118 0PTO-ISOLATOR $ .75

MOLEX PINS 100/S1.00

1000758 00

1 WATT ZENERS: 3.3, 4.7. 5.6,9 1,10,

12, 15, 18, or 22V 6/$1.00

MC6860 MODEM CHIP $9,95

MCM 6571A 7 x 9 character gen ... $10.75

Silicon Power Rectifiers

CRYSTALS 13.45 e

6000 MH,B00OMH.10000 MH,

RIBBON CABLEFLAT (COLOR CODED)#30 WIRE26 cond. ■ .50/per loot40 cond. ■ .75/per tool50 cond. ■ .90/per foot

CTS 206-8 eight position dip sC rS-206-4 four nositior dip %\LIGHT ACTIVATED SCR sTO 18. 200V 1A

itch

. $1.60.$1.45

SILICON SOLAR CELLS2V*" diameter .4V at 500 ma $4.00

FND 359 C.C. .4" $ .50 LED READOUTSPCS 8024 4 d.gii DL-704 C.A. .3" $ .

C.C 8" display $5 95 DL 747 C A .6" $1-

FND 503 C.C .5" $ ,85 FND 803 C.C. .8" $1FND 510 C.A .5" $ 85 FND 810 C.A. .8" $1.!DL 704 .3" C.C, $ 85

Terms: FOB Cambridge, MassSend Check or Money Order.Include Pottage, MinimumOrder $5.00, COD'S $20.00

KHV 1A JA WA bUA 1 Z^fK 240A

100 06 14 3Q .80 3 70 5.qq200 07 .20 .35 1.15 4.25 6.50400 09 25 50 1.40 6 50 9.50600 11 .30 70 1 80 8.50 12.50800 15 .35 90 2 30 10 50 16.501000 20 45 110 ?.M> 12.50 20.00SAD 1024 a REDICON 1024 stage analog 'BucketBrigade" shift register. $16.95

IN 4148 (IN914, . , 1 5, SI 00

RS232 DB 25P male $2.25

CONNECTORS DB 25S female . $2.95

HOODS $1.00

REGULATORS309K ...... $ .95 340K-12.15

723 $ .50 or 24V .... $ 95

LM 376 . . $ .60 340T-5, 6. 8, 12320T-I2, 15 15/i8 or 24V $ 95

or 24V $1.25 78 MG $1 35

TRANSISTOR SPECIALS

2N6233-NPN SWITCHING POWER $ 1-95MRF8004 a CB RF Transistor NPN $ 75

2N3772 NPN Si TO 3 $ 1.00

2N1546 PNP GE TO-3 $ .75

2N4908 PNP Si TO 3 S 1.00

2N6056 NPN S. TO-3 Diiilinipon S 1.70

2N5086 PNPSi TO-92 . . ,4'S 1.00

2N3137 NPN Si RF $ .55

2N3919 NPN S. TO 3 RF S 1.50

2N1420 NPN Si TO 5 3/$ 1.00

2N3767 NPN Si TO 66 . S .70

2N2222 NPN Si TO-18 5'S 1 00

2N3055 NPN S. TO-3 S .50

2N3904 NPN Si TO-92 6/$ 1.00

2N3906 PNP Si TO-92 . .. .6/$ 1.00

2N5296 NPN Si TO 220 S .50

2N6109 PNP S. TO 220 S .55

2N3638 PNP Si TO 5 . . 5'S 1.00

MPSA 13 NPN Si 4/$ 1.00

TTLICSERIES74d5_ 6S 74I51„ ,61

7400- 13 7446- .68 74153- .61

7401- .13 7447- 58 74154- .94

7402- .13 7448- 68 74155- .58

7403- .13 7450- 15 74157- .55

7404- .15 7472- 25 74161- 55

7405- .13 7473- 28 74163- .55

7406- ,16 7474- 28 74164- 85

7407- .20 7475- 45 74165- .95

7408- .16 7476- 30 74170-1.68

7409- 18 74B0- 31 74173- 1.20

7410- .13 7483- 65 74174- .95

7411- .18 7485- 87 74175- .85

7412- .13 7486- 28 74176- 75

7413- .36 7439-1.25 74177- .75

7414- .60 7490- .42 74180- 657418- .22 7491- .58 741B1- 1.907417- .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- 7.50

7441- .70 74126- .40 75491- 50

7442- ,37 74150- .94 75492- .50

DATA CASSETTES 1 "2 HR S -9522/44 Pin Solder Tail .156" Conn. $1.95

MM 5387AA new dock chip which will directlydrive LED's 12/24 hrs., 1 supply & alarm $5.95

NO. 30 WIRE WRAP WIRE SINGLESTRAND 100' $1.40

ALC0 MINIATURE TOGGLE SWITCHES

MTA 106 SPDT $ .95

MTA 206 DPDT S 1.70

MTA 206 P-DPOTCENTER OFF $ , 85

MSD 206 P-DPOTCENTER OFF

LEVER SWITCH $ 1.86

Full Wave Bridges !■

IP SOCKETS

8 PIN .17 24 PIN .35

14 PIN .20 28 PIN .40

16 PIN .22 40 PIN .60

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

TANTULUM CAPACITORS

22UF 35V 5>$1 00.47UE 35V 5'SI 0068UF 35V 5S1 001UF 35V 5 SI 00

2 2 UF 20V5 SI 00

3 3UF 20V 4 SI 004.7UF 15V 5/$1.00

74LSSFKIES

6 8UF 35V 4 SI f10UF 10V $ .;22UF 25V S '

15UF 35V 3/$1.(

30UF 6V 5/$1.(47UF 20V $ .268 UF 15V $ .6100 UF 10V $ .

urTfARcii

LM324LM 339LM358LM 370LM 377LM 380LM3BILM3S2LM 3B7

SOLID STATE SALES

P.O.BOX 74B

SOMERVILLE, MASS. 02143 TEL, (6171 547

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

PRV

1 A

10A

;>5A

1.5A

6A 35A j

100

40

70

1 30

' 40

50 1 20 3

200

70

1 10

1 75

.60

.70 160

400

1 10

! 60

'J CO

1.00

1 20 2 20 ]

600

! . 70

2 1\)

3 60

1 cj0 3.QQ_ '

Circle 340 on inquiry card.

BYTE November I97S

221

What's New?

Micro Module Performs Four Functions

The Wintek Counter/Timer module iscapable of performing as a frequencycounter, event counter and free runningtimer, or doing period measurement.Applications include remote data loggingautomatic frequency adjustment, auto-matic crystal frequencies up to 30 MHz,periods from 2~>5 to 224 seconds, andelapsed time to 100 days, all with anaccuracy of 0.001%. Automatic batterybackup is an option. The module isavailable on a 44 pin 4)4 by 6'/2 inch(11.43 by 16.51 cm) printed circuitboard for $149. For further informationcontact Wintek Corp, 902 N 9th St,Lafayette IN 47904."

Circle 543 on inquiry card.

16 K Byte Fully Static Memory Board

This 16 K byte fully static S-100memory board utilizes a 4 K byte fullystatic memory integrated circuit (TMS-4044). All signals to MOS devices arebuffered by low power TTL to preventdamage by static electricity and tominimize capacitive loading on thebus. Low profile sockets are providedfor all integrated circuits. 2 MHzoperation is standard and 4 MHz isoptional at a slightly higher price.

The 16 K byte fully static memoryboard is $350 in kit form and can beobtained by contacting Electronic Con-trol Technology, 763 Ramsey Av,Hillside NJ 07205."

Circle 544 on inquiry card.

SPECIAL SALE

•

T2SO HIGH VOLTAGE POWER SUPPLY W/CASE

8. IMM

CStttion

V JIT.U, B,n„

s«oo voc

Voli.fi Rwfj

0 ISO VOC

HHJ MA minimum

Currant

bMAmuimum

Output vorMja

HtfuilDon

:,mmJiMf t\

Output cun.ni

PlOMCIMHI

Currant limind

PratKtKW

Alliuitlbil turr.n. Irniil

Ntmetbtfl

HI

Volt«g«

17.6 VACC.nlirtlpfMrJ

S»l«>

tu"IM

2 S A ptr l«J

;■.,.' Circuit BruMn

Nionlimp iridium bui

pui grimi than SO SO

VOC

AmrfMlir

OlOOMAindOTOOMAnnti

B«9uHtion

Lintlfld LtuJdOIS

m.«..,:« B- ■;■''<-

Wonmiwr

OIH VOCrnwufiiC

PRICE: $69.95 dilivtrtd.

(MOO VOC RMPJMIt*

Send check or momv order.

Quantities

limited.

pTOWCIIOfl

'uN, p'PtKKd. Ml rtnpt

DIGIAC

>•> (NljiNtfftS HOAO • SM-rMTOHN NE* VOR* 1 W87

4®S^.

o

I0EA ASSEMBLERS f 0 SOX t«« 6ALES1URG. IL It 411

INTRODUCES THOUGHTWARE!

Designed To Make The Operation Of YourPersonal Computer Easier And More Fun

THE TRS-U POKE GRAPHICS WORKSHEET

Soppom Quick, my impltnwniaiion ot (pr*Ph>ci m rnacfiin*/•a*"*1* ilMWMI or in fullut i«ion ol L wf II B*»<

1 pad of 25 i**«t. S3.K

4 P«*i of IS iheen UK

THE IRS « GRAPHICS WORKSHEET

Thota daiirmg to conunua tha implementation of the SETand RESET commends are urged to o'der

2 padi ol 75 eheati Sl.B

4 padi ol 25 .heei. SI.to

THE LINE MINDER

•u type proo/emi' Line loiiowmo made

1,9*1 l.eior Mf

OUR VAR1AILE MINDER (Hi The Hwdittt Dare Tb«*|!)Sem Blent* the evaiiabriity ol ell 96! »eriat»ai in LavalII . and ineir lyp* euignmenit Allow! lull implemenration ol up to 3848 lor long-panc'ied programmers

1 pad ol 25 sheen % It*

Jpadsol 25shee» . - SN.IS

AND OUR SELECTION OF NOTE PAOS

YOUR CHOICE OF TITLES BE LOW. DONT WRITE IT Of F -H) Bubble Satxjtr. I?) Bus Lines. <3) Oendy Notes. 14)TRS 80 Owners Don't Baudot To Anyone. (5) Floppy Copy.(61 Padded Bits. IF) JJndw Did uwon, 181 Tandy Sey

Oorii Mate ASCII Ol Sail "

D.

AMERICANTERMINAL

CALL: 617-261-1100

HAZELTINE* 1400

J BRAND NEW

10001200

$795

12x80. . .$49524 x 80 . . . 650

•H1GHQUA1ITY FACTORY-REFURBISHEDVIDEO TERMINALS

ALSO AVAILABLE i 2000, 3000

SEND FOR FREE FALL 78TERMINAL CATALOG

Circle 87 on inquiry card.

Circle 174 on inquiry card.

AMERICAN TERMINAL • DEPT Bll

PO Box 68 • Kenmore Station • Boston • MA 02215

Circle 9 on inquiry card.

| SOFTWARE |

|made in germany|

Upset about home-brew appli-cational software? Try the systemhouse

dedata edv

Hatzfelder Str. 35, D-5600 Wupper-tal-2, W-Germany

IN BASIC

We have the fastest, most reliable,unique and high performance

TEXT PROCESSOR

Comes now on North Star Disk.Soon on CP/M.

English manual for U.S. $50. (In-cludes shipping and handling.)

—made by dedata edv—

NORTH STAR

PERSONAL TIME ORGANIZER

-& Essential lor Salesmen, Doctors, Law-yers, Businessmen or any busy person

-)f Save hundreds of hours each year

-)f last and Simple lo use

OPERATIONS

t. Input Tasks and Appointments in any order

2. Delete Completed Tasks

3. Sort and printout by priority, location, person,and/or date.

Complete with instructions onNorth Star Disk $40

Potter's Programs22444 LakelandSt. Clair Shores MI 48081Tel: (313)573-8000

HEW PRICES!

TAPE RECORDER!

- 5 TRACK, 4 CASSETTE EASY TO I. ,A«.0O MODIFY TO PLAY ONE, RECORD ON5»" ANOTHERI ALL CONTROL SIGNALS !

ON EDGE CONNECTORS! 2O00FT 1/4 TAPE/CASSETTE, PRINTED CIRCUIT MOTORS 8 TACHGENERAT0RLI5/I6"/SEC; 12V 5A REQD. DATA8 I CASSETTE FURNISHED; WT85LBS SHIPT)COD. BOOK $25 REFUNDED; CASSETTE $25

M CIRCUIT BOAROSIwirewrap,GOLD, 8-I6PIN, 32-I4PIN, 8-2SPIN 025SQMALERI880N CONNECTORS, YOU STRIP, EACH $10.00NEW KLUGE BOARDS EPOXY-GLASS2 SIDE COPPER, I/I6"X 7 l/2"XI0l/2" DRILLED FDR7-16PIN. 28-I4PIN, I-24PIN.8 4-Z8PIN SOCKETSi MANY THRU HOLES, 11/4 CLEAR 3 EDGES, YOU ETCH. EACH $5.00. NO.Z SAME EXCEPT I/I6"X8I/2"X IOI/2" DRILLED FOR I3-I6PIN,j a 36-I4PIN SOCKETS, MATCH YOUR SYSTEM! YOU ETCH! EA.J750

PC CUT CAPACITORS NOW30/$L00

! SEE JUNE BYTE FOR LIST! ALL SIX ONLY$5>

' DC MOTORS,SMALL I5/6"DIA 2j 7/l6MLONG, SHAFT l/8"DIA 1/2-LONG, PM

FIELD, BALL BEARING, 28V0LT £A$6.00

HI TORQUE, 3/l6"DIA 3 3/4"LG., PM FIELD,I 2 l/S"0IA 2 7/8"LONG. B.8., 28VOLT, DC,! HAS MU-METAL SHIELD, PUSH-ON TERMINALS, EACH $750■ TACHOMETER GEN, PM FIELD, l/8"DIA3/8"L0NG SHAFT, l"DIAX

I 3/4"L0NG FIELD, EACH $5.00j LARGE MOTOR & TACH $11.00I ALLOW $3.00 P6H BAL REFUNDED; MIN ORDER $10.00

J S E ELECTRONICS SALES| PO BOX 4504, FT. WORTH, TX 76106

fLv ^jF5

Circle 83 on inquiry card

Circle 323 on inquiry card.

Circle 193 on inquiry card.

Circle 376 on inquiry card.

POWER OP AMP

250mA output current capability. Operates on aslow as 3V. Input parameters are programmable forsystem optimizing. Electronic shut down allowsoutput to float. Packaged in 8 pin mini-dip.

LM13080N , $1.94

Specs and applications 60

16K DYNAMIC RAM

Replace your 4K dynamics for memory expansion.

Super buy on this exact replacement for the 4116.

uPD416 (200nS) $20, 8/S144.00

uPD416 (300nS) $18, 8/S128.00

21L02-4 (450nS)

Special buy from major producer allows superpricing on these brand new prime memorieslMM2102AN-4L $1.44, 64/573.60

6502 u Processor $10.95

com*oh n i

CONNECTION DIAGRAMSTO-3 PACKAGE

(TOP VIEW*

10 AMP REGULATORJUST RELEASED78P05 is a 3 terminal, 5V, 10 amp regu-lator as easy to u*e as the 78H05 and otherTO-3 regulators. All the self protectionfeatures of the famous 78H05: thermal limit,current limit, low drop out voltage, inTO-3 steel package.78P05SC $12.95

Specs.

60c

-ii- rniTEK

IMC.

7808 North 27th AvenuePhoenix, Arizona 85021

Charga card tataphona ordan (120 min.l will baaccaptad 0-5 30 P.M. axeapt araakanda.TaUpfrona 1602) 995-9352. No coltact aajfa ajaaaf.

H

GOLD

.125" x .250"

CHARACTERISTICS

DttlKirx W d runningVoli»fr(JtV!SiCapatMame IpurnfuacH*

MATERIALS

Body Dirteclni

Gtm-MR) ihrnrnptatiK pol.

t"4 725.'Wrr n.kfl-linGoMnanOvctmar OOniOOn

Wn Wrap poati M M own *-

EDGEBOARD Jim CONNECTORS

Taxo* Irotrumant*, world laodar in matu I Surgicaltadirvology, ii introducing it*' new improved H43connactor and TRI-TEK ii proud to offor it for thafi'ft time to our cuftoman. Th« H43 rppraaontstha boat valua in tha industry on thi» popularconnecter ityla.

Pin grid ii dejianad to Fit moat of tha S-100 bu.machin« tuch cm Imaai, Vector, Cromamco.Will not fit Altair mofhar boorda.

Heavy gold Inlay gives you up to teven time* thegold in tha cirtical contact area at reduced coat.T.I. hot tha technology ond TRI-TEK hoi T.I.Solder toil H435121-50 $3.59 10/(32.00Wfrawrop H435H1-50 $3.59 10/112.00

Quantity pricing available

Z80CPU

Famous single chip uprocessor with all the powerof the 8080A plus 80 additional operations. Single+5V supply and single phase clock. Directly in-terfaces with standard static and dynamic RAMS.

Z80 C PU $20

Z80A CPU $28

Specs $1

Z80CTC

Programmable four channel device that provices

counting and timing functions for the Z80 CPU.

Z80CTC $11.00

Z80ACTC $16.00

Specs $1

Z80 PIO

Parallel interface controller is a two port TTL com-patible interface with the CPU.

Z80PIO $11.00

Z80APIO $16.00

Specs $1

25 Pin Data Connectors

DBC-25P (male) $2.19, 10/19.80

DBC-25S (Female) $3.19, 10/30.50

DB-51226 ..Hood $1.39

D20418 Screwlock assembly $1.19

PRECISION VOLTAGE REFERENCE.AD584 is a precision monolithic IC which has pro-grammable outputs of 10V, 7.5V, 5V and 2.5V @.3% maximum error I Full -55 to +150° operation.

AD584JH (in Spin TO-5 can) $6.95

Spec sheets 60

Oraa lot UPS H

ik« a«d .nclutf* SA5E f o. -.ply

Any latund. will M toy ctuwin M (Kacad on Mck <

Claim* foiaMac

Shipping and Handing

US and CANADA ADD 5%Othar countries add 15%

Va not ratponaibla for(uninsured parcalt .50

' ear cat Claim mutl I'

riiii

ii■ii

BECKIAN ENTERPRISES

4k.

All Prime Quality - - New Parts Only •Satisfaction Guaranteed

EDGE CARD CONNECTORS: GOLD PLATED.

BODY: Non brittle, solvent resistant, high temp, G.E. Valox. The finest you can buy.CONTACTS: Bifurcated Phos./Bronze, Gold/Nickel.

ALTAIR S-100: Cont./Ctrs. .125 Row Spacing,50/100 Dip Sold. $3.95 ea.

50/100 Sold. Eye. 6.95 ea.

140

IMS AI S 100: Cont./Ctrs.50/100 Dip Sold.50/100 W/Wrap 3IMSAI CARD GUIDES:

CROMEMCOS 100: Cont./Ctrs.50/100 Dip Sold.(Or short W/Wrap)

Row Spacing, .

$4.20 ea.

3.75 ea.

0.19 ea.

5 pes.5 pes.

5 pes.5 pes.5 pes.

125 Row Spacing, .250

$6.50 ea. 5 pes.

OTHER CONNECTORS AVAILABLE

■ 100" Contact Ctrs., ,140" Row Spacing.

22/44 Dip Sold. $2.30 ea. 5 pes

25/50 Sold. Eye. 2.95 ea. 5 pes

40/80 Sold. Eye. 4.80 ea. 5 pes

43/86 Dip Sold. 4.90 ea. 5 pes

43/86 Sold. Eye. 4.90 ea. 5 pes

156 Contact Ctrs,, 140 Row Spacing.

6/- Sgle. Row (PET) $1.00ea.

22/44 Sold. Eye. (KIM) 1.90 ea.

22/44 Dip Sold. (KIM) 1.90 ea.

43/86 Dip Sold. 4.90 ea.

156" Contact Ctrs., .200" Row Spacing.

15/30 W/Wrap 322/44 W/Wrap 336/72 Sold. Eye.36/72 W/Wrap 343/86 W/Wrap 3

$1.05ea.2.30 ea.3.45 ea.3.85 ea.5.50 ea.

5 pes.5 pes.5 pes.5 pes.

5 pes.5 pes.5 pes.5 pes.5 pes.

$3.75 ea.6.50 ea

$3.95 ea.3.50 ea0.16 ea.

POLARIZING KEYS FOR ALL OF THE ABOVE:

Specify: IN Contact or BETWEEN Contact:

1 to 49 pes. $0.10 ea. 50 pes./Up $0.08 ea.

SPECIAL

12/24 Pin ,156" Cont./Ctrs. .200" Row Spacing.

TIN PLATED CONTACTS.IDEAL FOR PET INTERFACE & PARALLEL USER PORT. $1.25ea. 5 pes. $1.10 ea.

$2.10

ea

2.75

ea

4.50

ea

4.70

ea

4.70

ea

$0.90

ea

1.80

ea

4.70 ea.

$0.95 ea.

2.10 ea.

3.30 ea.

3.70 ea.

5.00 ea.

SUBMINIATURE CONNECTORS. IDB 25 SERIES, RS 232.)

DB 25P Male Plug $2.50 ea. 5 pes.

DB 25S Female Socket 3.60 ea. 5 pes.

DB 51212-1 Grey Hood 1.20 ea. 5 pes.

DB 51226-1A Black Hood 1.30 ea. 5 pes.

D 20418-2 Hardware Set 0.75 ea. 5 pes.

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

$2.20 ea.

3.40 ea

1.10 ea.

1.20 ea.

0.70 ea

Excellent for computer cabinet cooling. This is the most quiet fan you will find. Onlymeasures 4 3/4 square by 1H deep. U. L. Listed.

$21.00 ea. 5 pes. $19.00 ea.

I.C. SOCKETS. GOLD.WIRE WRAP 3 TURN.

14 pin16 pin

$0.36 i0.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 WILLRE PL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. Alt 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

Circle 30 on inquiry card.

BYTE November 1978

223

What's New?

Prototyping Board

PERIPHERALS

RS-232 Serial Interface for Anderson Jacobson 841 IO ASCII Terminal

Anderson Jacobson has announcedan RS-232 serial interface for theirAJ841 IO terminal. This option includessuch features as selectable data trans-mission rates of 110 to 1200 bps; an

896 character receive and print bufferand X-on/X-off control characters toand from the computer.

The AJ841 IO is also available with aparallel interface which can be con-nected to any S-100 bus microcomputer.Based on the IBM 745 heavy dutyterminal mechanism and electronics byAnderson Jacobson, the IO can be usedon line to a computer or off line as atypewriter. Both parallel and serialuints are available with a choice ofEBCD or correspondence keyboards.

The AJ841 IO is priced at $995.For further information contact Ander-son Jacobson Inc, 521 Charcot Av,San Jose CA 951 31."

Circle 618 on inquiry card.

SBC Compatible Cassette Interface

This new digital interface board,which is compatible with Intel's SBC 80computer line, is being offered by

Interdyne Company, 14761 Califa St,Van Nuys CA 91411. The interfaceboard, Model 1B 4100, plugs directlyinto the SBC chassis and has IO connec-tors for two Interdyne IC 2500 seriescassette drives. Driver software is pro-vided in read only memory which plugsdirectly into the SBC 80 board. Thedriver software does the data blockformatting, error detection, and readsfrom and writes to memory at 9600 bps.

Only this card and a cassette driveare needed to add storage capacity of'/4 M bytes per cassette, a data transferrate of 1 K bytes per second and fastmemory access.

The IB 4100 board costs $250 in-cluding driver read only memory."

Circle 619 on inquiry card.

High Speed Programmable Character Generator Board for Z-80

The Programmable Character Gen-erator (PCG) is a high speed version ofObjective Design's dense graphics add-on board for S-100 systems. This S-100card can be used with the Processor TechVDM or SOL, PolyMorphic SystemsVTI, Solid State Music video board and

other video boards using the Motorolafamily of 9 by 7 matrix generators. Thecard is made operational by removingthe character generator read only mem-ory from the video board and plugging itinto a socket on the PCG, the running a24 pin connector from the PCG to the

This new general purpose prototyp-ing circuit board permits constructionof custom interface circuits for HeathH11 microcomputers and Digital Equip-ment Corp LSI-11, PDP-8 and PDP-11minicomputers.

Form, size and connector compatiblewith the DEC Double Height, Extended-Length module, the Model 4607 Plug-bord is 8.43 by 5.187 by 0.062 inches(21.41 by 13.17 by 0.06 cm). It hasetched contacts spaced to fit the dual36 pin connectors used in DEC andHeath computers. Contact terminationsare labeled with DEC nomenclature.

To allow unrestricted componentplacement, the 4607 Plugbord is barewith an array of 0.042 inch (0.1 1 cm)diameter holes on 0.1 inch (0.25 cm)centers. Dual-in-line package socketsor discrete components may be placedanywhere on the board. Row andcolumn markings are etched into edgestrips to insure permanent marking.

In quantities of one to four, the4607 Plugbord is priced at $15.95each; $14.36 in quantities from fiveto nine; and $12.76 in quantities over10. For further information, pleasecontact Vector Electronic CompanyInc, 12460 Gladstone Av, Sylmar CA91342*

Circle 620 on inquiry card.

empty CGR socket on the video board.With the PCG in place, the user can cre-ate individual characters, store them inon board programmable memory andaccess the characters directly from thekeyboard. Each character can be createdon a maximum 8 by 16 matrix with aresultant screen density as great as 512by 256. Since characters can be stored ineither the PCG programmable memoryor regular system memory accessiblefrom the bus, any number of characterscan be displayed under software controlwith a maximum of 128 different char-acters (either ASCII or programmed)on screen at any one time.

The PCG is $165.95 as a kit and$215.95 assembled. For further infor-mation, contact Objective Design Inc,POB 20325, Tallahassee FL 32304.B

Circle 621 on inquiry card.

224 November 1978 © BYTE Publications Inc

Circle 229 on inquiry card.

g CLjbBTCDm BOARDS

MB-1 MK-8 Computer RAM (not S-100). 4KX8. uses

2102 type RAMs, PCBD only $22.00

MB-3 1702A EROM Board. 4KX8. S-100 swilchableaddress and wait cycles, kit less PROMS $58.00MB-4 Basic 4KX8 ram. uses 2102 type rams S-100

buss. PC board $25.95

MB-6A Basic 8KX6 ram uses 2102 type rams, S-100buss. KIT 450 NSEC $125. PCBD $24 95

MB-7 16KX8. Static RAM uses UP410 Protection,fulty buttered KIT $299.95

MB-8A 2708 EROM Board. S-100. 8KX8 Or 16KX8

kit without PROMS $75.00

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or82S129 PROM kit without RAMs or PROMs $72 00IO-2 S-100 8 bit parallel I/O port, 'h of boards is forkludging. Kit $46 00 PCBD $25.95

IO-4 Two serial I/O ports with (ull handshaking20/60 ma current loop: Two parallel I/O ports.Kit $130 PCBD $25.95

VB-1B 64 x 16 video board, upper lower case Greek,composite and parallel video with software. S-100.

Kit $125.00 PCBD $25 95

Altair Compatible Mother Board. 11x11VixV»".Board only $40 00 With 15 connectors $94 95

Extended Board full size. Board only $ 8.95

With connector $12.95

SP-1 Synthesizer Board S-100

PCBD $39.95 KIT $135.95

82S23 $150 PRIME DEVICES

82S123 1.50

82S126 1.95 8080A

825129 1.95 8212

825130 300 8214

825131 300 8216MMI6330 1 50 82244N26 .75 82284N27 .75 82514N28 75 8255

LM323 2.95 21L14 (450 NSEC)

$9.953.256.503.753.496.509.959.957.25

4116 (apple ram) 16.00 21L14 (250 NSEC) 7.99

-wmc.

inc.

WAMECO INC.

MEM-1 8KX8 fully buffered. S-100, uses 2102 type

rams PCBD $24.95

O.M-12 MOTHER BOARD, 12 slot, terminated, S-100

board only $34.95

CPU-1 8080A Processor board S-100 with 8 levelvector interrupt PCBD $25 95

RTC-1 Realtime clock board. Two independent in-terrupts. Software programmable. PCBD $25.95EPM-1 1702A 4K Eprom card PCBD $25 95

EPM-2 2708/2716 16K/32K

EPROM CARD PCBD $24 95

OM-9 MOTHER BOARD Short Version of QM-12.

9 Slots PCBD $27.95

MEM-2 16Kx8 Fully Buffered

2114 Board PCBD $25.95

2102AL-2 Prime 250 NSEC2102AL-4 Prime 450 NSEC2708 Prime (National)

2501B

2502B

2504

2507V

2510A

2517V

2518B

2519B

2521

2522

2525

2527

2532V

2529

2533V

$1.501 501.501.501.501.501.501.501.501.501.501.501.502.751.95

1488N

1489N

MC4044

8038

5320

5554

5555

5556

5055

5312

MH0025

MH0026

MH0028

5262

2101

$1.70$1.30$8.95$1 501 252253905951 902502501.254001 501.751.90.503.50

MfSM

419 Portofino DriveSan Carlos, California 94070

Please send lor IC, Xistorand Computer parts list

KITS

MIKOS PARTS ASSORTMENTWITH WAMECO AND CYBERCOM PCBDS

NEW LOW PRICE on 16K BOARDSMEM-2 with MIKOS #7 16K ram

with L2114 450 NSEC $249.95

MEM-2 with MIKOS #13 16K ramwith L2114 250 NSEC $279.95

MEM-1 with MIKOS #1 450 NSEC 8K

RAM $125.00

CPU-1 with MIKOS #2 8080A CPU . 89.95

MEM-1 with MIKOS #3 250 NSEC 8K

RAM 155.00

QM-12 with MIKOS #4 13 slot mother

board 79.95

RTC-1 with MIKOS #5 real time clock 60.95VB-1B with MIKOS #6 video board less

molex connectors 89.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 FAC-TORY PRIME PARTS. KITS INCLUDE ALLPARTS LISTED AS REQUIRED FOR THECOMPLETE KIT LESS PARTS LISTED. ALLSOCKETS INCLUDED.

VISA or MASTERCHARGE. Send account number,interbank number, expiration dale and sign yourorder Approx postage will be added. Check or mo-ney order with order will be sent post paid in U.S.if you are not a regular customer, please usecharge, cashier's check or postal money order,otherwise there will be a two-week delay lor checksto clear. Calif residents add 6% tax. Money back30 day guarantee We cannot accept returned ICsthat have been soldered to. Prices subject tochange without notice. $10 minimum order $1.50service charge on orders less than $10.00.

trolabs

JK Tl Sockets 1 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 SYLVANIA12" MONITORSWorking: $69.95Cold Chassis, 25lbs.With P39 (Green)Tube 109

The Dumb Terminal for Smart People

80X24 with full 128 char. ASCII UC+LCfont with all control characters displayed.300-19,200 baud RS232. 2nd font addressablefrom keyboard in you-program-it 2708 forAPL, Graphics sets, etc. Plug in monitorI/O 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

NEW P4 (White)

Tube 99 "The 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, 10/ 59.00

■PO Box 6721 Stanford

OL 9430S415-321-5601

TLX 345567^► ••• -I

* Hard and Soft Sectoring

* Single and Dual Density

* Double side configurationas a retrofit at any time.*110/220V,50l60Hz*Pin for pin compa table withShugart 800,801,850,851(50 pin edge connector)1/$499, 2/475, 5/450,10/425, 25/399, 100/375Double Sided Retrofit$300

THE FANTASTIC!

MEMOREX FIVE-FIFTY

LATEST REVISION: ESAT 200B (BILINGUAL)

Stand Alone Single Board Communicating Terminal

80X24 Standard Format

Split Speed 110 to 19,200 Baud

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.

$329.00

; NEW! 32 K, S 100 Universal Static Store. Accepts 2114 RAMs or70 ns, 3625 PROMs paging up to 8 Mby. Board only with manualand paging software $69.00. 32 Kby RAM 450 ns $679.00, 250 ns$789.00. We have software application notes for multi-task multi-user applications utilizing paging feature.

£

ipajng and Handling: Surface: $o.40/ib. Air. $0;75/ib., 1.00 minimum'.Tax:6.5% Insurance:$0.50per$100.00

Circle 11 5 on inquiry card.

BYTE November 1978

225

What's New?

PUBLICATIONS

E

Put a Personal Computer to Work for You!

Profit

fnwnywtf1 ItasoDal Computer

The profitable uses of personalcomputers are detailed in this 191 pagebook published by Hayden Book Com-pany Inc, SO Essex St, Rochelle ParkNJ 07662. Simply written, in an enter-taining style, How to Profit From YourPersonal Computer by T G Lewis, is ofinterest to the small business owner orprofessional who is now overwhelmedwith paperwork and desires a simplersystem. It describes the uses of personalcomputers in common business applica-tions, such as accounting, handling pay-rolls, managing inventory and sortingmail lists. It will help you in selectingequipment, analyzing a problem for abusiness application, hobby or educa-tional experiment and translating prob-lem solutions into real computer systems.

It teaches how to configure a systemto fit the needs of an application and toimplement that system using program-ming techniques developed by theauthor. Programs in BASIC and blue-prints of each program are included. Thebook uses terms, notations and tech-niques commonly used by programmers.

How to Profit From Your PersonalComputer will give you a better under-standing of the fundamentals of dataprocessing including file structures, pro-gramming structures and some knowledgeof computer hardware structures. It ispriced at $7.95."

Circle 560 on inquiry card.

Computer Selection and OperationPublication

Management Information Corpora-tion's new publication How SmallBusinesses Use Computers is a 40 pagecollection of cases. In each study, thereasons that small businesses decide toimplement computers, and the opera-tion of their installations are investi-gated.

The report, according to the com-pany, delves into the factors that influ-ence a company to acquire a computersystem, ranging from high labor costs orinability to use service bureaus to in-creased efficiency. The managementof each company's system is stressed,including supervision, advanced train-ing of operators and the maintenanceprogram.

This complete set is being offered for$15. Contact MIC, 140 Barclay Center,Cherry Hill NJ 04034."

Circle 561 on inquiry card.

A New Reference for SmallComputer Users

The Computer Data Directory an-nounces the first edition of its compre-hensive catalog for small computerusers. You can choose products andservices from several hundred computerrelated firms.

Included in this directory are brandname manufacturers of systems, periph-erals, and accessories. In software, com-panies handling languages, business appli-cations, household control, games andcustom programming services are listed.Information is included on where to findbooks, magazines, newsletters, homestudy courses, data banks, tools andrepair services. Computer stores andclubs are indexed geographically. Thedirectory is available at $4.98, postageincluded, from The Computer DataDirectory, POB 598, Cleveland OH44107.■

Circle 562 on inquiry card.

Component Catalog

Electronic components, hardware,wire, test equipment and tools are listedwith prices in a newly released 88 pagecatalog (#518) from Mouser Electronics,11511 Woodside Av, Lakeside CA

92040. This catalog contains over 8000items including expanded lines ofLEDs, semiconductors, switches andkeyboards."

Circle 563 on inquiry card.

Exact Electronics Instrument Catalog

EXACT

alactronies. inc.

A new free 66 page 1978 instrumentcatalog has,just been released by ExactElectronics Inc, POB 160, HillsboroOR 97123. The catalog contains detailedspecifications for each function genera-tor, waveform generator and frequencysynthesizer in their product line. A quickselect short form and comparison chartplus a representative roster make it adesirable addition to any instrumentcatalog library."

Circle 558 on inquiry card.

IC Master Lists Integrated Circuits

The IC Master lists over 25,000standard integrated circuit products andover 45,000 alternates. The 2200 pageIC Master offers a problem and solutionapproach to integrated circuit selection.The 1978 edition also includes a newsection on microprocessor developmentsystems. The price is $55, includingquarterly updates. To order the ICMaster, contact United Technical Pub-lications, 1333 Lawrence Expy, Suite420, Santa Clara CA 95051."

Circle 559 on inquiry card.

226

November 1978 © BYTE Publications Inc

Circle 388 on inquiry card.

CO

IT WILL TELL YOU WHERE TO GO -

CPU-1TM8080A CPU BOARD WITH

8 LEVEL VECTOR INTERRUPT.

$30. BARE $185. KIT

$220. ASSEMBLED AND TESTED

DEALER INQUIRIES INVITED

UNIVERSITY DISCOUNTS AVAILABLE

wmc

1 ™ WAMECO INC.

/nC. 3107 LANEVIEW DRIVE SAN JOSE CA. 95132

IF OUR QUIET MOTHER,WAS JUST TOO MUCH FOR YOU,TRY OUR LITTLE MOTHER,ON FOR SIZE

UTILE AfOTHER™ 9 SLOT MOTHERBOARD

* PASSIVE TERMINATION FOR ALL LINES

* ONLY 8.5" LONG

* KLUGE AREA WITH REGULATED VOLTAGESAVAILABLE

DEALER INQUIRIES INVITED

GiMSiA

UNIVERSITY DISCOUNTS AVAILABLE

WAMECO INC.

3107 LANEVIEW DRIVE SAN JOSE CA 95132

COMMERCIAL GRADE EQUIPMENT- HOBBYIST PRICES!!

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

Model 5560 (ASC II code, built-in cassette drive) . . . .$1295.00

IBM SELECTRIC 725 TYPEWRITER I/O w/solenoids switches & magnet

driver PCB (from GTE/IS terminal) plus instructions for 8080 printer/driver

interface.

a) Typewriter mechanism complete, cleaned & adjusted $375.00

b) Case from terminal & power supply (+24V,±12V, +5V @ 5A) 75.00

c) a & b plus complete interface to mCPU 8-bit parallel port

and 8080 language printer-driver/ASCII translation program $600.00I 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.00DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec;AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25.FORMS TRACTORS, Moore Variable width "Form A-Ltner"for print terminals:

a) Model 565Pfor 15" Carriage IBM Selectrics (new): $50.00

b) Model K81 for QUME or DIABLO Hytype I or II printers (new): $90.00

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 cos-$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 instructionsVADIC PCB w/power supply, case, LED's, EIA connectorsBell 202: 0-1200 baud, half-duplex, w/reverse channel transmissionVADIC PCB w/Reverse channel, manual DAA styleVADIC PCB w/power supply, case, LED's, EIA connectors

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 V4" mag tape. Specs: 9-track, NRZ1 standard, 800 BPI, 12"/sec,1200 ft. reels (11 megabyte capacity.) Drive is like new & comes with 8-bitCPU controller diagram (requires only 11 l/C's) & MCPU interface instructions

$89.95$149.95

$149.95$219.95

Call or write for details, quantity prices, catalog. 1 5 dayreturn privilege PLUS 90 day no charge replacement ofdefective parts. All orders shipped from stock. No backorders, no substitutions. M/C & VISA accepted.

•++•

Prices: Drive & Documentation

Controller & cable for MCPU, assembled & tested .

Hi-speed search option: controller moves drive at 72"/sec .

Software listing to read std IBM tapes, translate to ASC II .■ POWER SUPPLIES for Disk Drive,mCPU, tested under load shown:-No. 519 (w/fan & AC cord): +5V reg., ±1 2V reg., +24V, @5A (10 lb.-LAMBDA No. LMEE5 w/OV protect: +5V reg @25A (35 lb.)

4 »'

$750.00$200.00$ 50.00$ 50.00

$39.95$59.95

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 FOB|Palo Alto within 14 days after check clears or COCorder is received. Prices may change without notice.

Circle 296 on inquiry card.

BYTE November 1978

227

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,5V3SA 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

PET SCHEMATICS

Another First From "PET-SHACK".

For only $24.95 you get:

24" x 30" Khtmatic of the CPU bosrd, plus oversizedschematics of the Video Monitor snd Tspe Recorder, pluscomplete Parts Leyout-all Accurately and Painstakinglydrawn to the Minutest detail.

PET ROM ROUTINES

Another Breakthrough From "PET-SHACK".

Complete Assembly Liltingi of all 7 ROMi, plui identified subroutine entry points; Video Monitor, KeyboardRoutine, Tape Record and Playback Routine, Real TimeClock, etc.

To entice you we are alto including our own MachineLanguage Monitor program for your PET using the key-board and video display. Alt this for only $19.95,SA T/SFACTION GUARANTEED.

You can have the Monitor program on cassette for only$9.95 extra.

Send check, money order, or Master Charge or VISAnumber end expiration data to:

PET-SHACK Software HouseMarketing and Research Co.P. O. Box 966Mishawaka, IN 46544

Circle 395 on inquiry card.

Circle 304 on inquiry card.

LIMITED OFFER THIS MONTH,WHILE SUPPL Y LASTS!

ALL NEW!

Mini Discs $3.70 ea. in boxes of 10, North Star Check Balancing Pro: gram $50.00

Two-tier walnut formica enclosure: for S. A. 400 Shugart $39.95

A. Horizon — 2

R Centronic 779

C Hazeltine 1500

D. Hazeltine 1400

A,B&C: A.B&D:$4,150 $3,852

l We also stock Imsai, Seals, Okidata,; ADM-3A, Xitan and Cromemco.; Mail order only.

TORA SYSTEM29-02 23rd AvenueAstoria, NY 11105

(212) 932-3533

Circle 373 on inquiry card.

y S-IOO IX Slot & others >

Card Cage

For 8300 Motherboard

$34.50

4 Post Paid

' USA *

Complete with Edge Guides

And Hardware

Dealer Discount Club Refund

MW Keith & Co

K15

P.O. Box 954• Racine Wisconson 53405 •

c

LOW LOW COSTPOWER SUPPLY KITS

KITB: $47.50

Circle 202 on inquiry card.

3 Hour Assembly Time-Complete Instructions IncludedDimension of kit 13" |L| x 5" (W| x 4 V (H)I. rl. a 0ee/ E/i 4 Unregulated Voltages Available

tVll A. 5IO/.OU ♦8.SV/25A. -8.5V/3A. ± 17V/3A

Includes TRANSFORMER T2 |25A. size Vk" ci] x AW (w) x31V (h)j, CAPACITOR Ci (100.000 UF, 15V). BRIDGE RECTI-FIERS: Pi (30A. 50V) S 02 (4A. 50V), FUSE HOLDER.BARRIER STRIP, ALUMINUM PLATE [13 (I) X 5 (w) X 3/16Ml 3X CAPACITORS (6.000 UF, 45 V). 4X RESISTORS andAll Necessary Mounting Parts.

4 Unregulated Voltages Available+8.5V/15A, -8.5V/2A, ±17V/2AAll Parts are same as in KIT A EXCEPT: CAPACITOR C-t(52.000 UF. 15V) and TRANSFORMER Ti [15A, Size 3W (I) X4"(w)x2 13/16"(h)].

You May Buy Transformers Alone:

T2 (25A) & Tt (15A) at $22.90 and J 17.50 respectively.

SHIPPING CHARGES: W.75 per TRANSFORMERFOR EACH KIT. $5.00 in California. $7.00 lor all other StatesCalifornia Residents add 6% sales taxMaster Charge & BankAmericard. OEM Available

SUNNY INTERNATIONAL

Mail Order Store

I'd l'„,v l;'!)i; 724! I'. M Ira Bl\rl,

Inn,in,., i v.m.l" Paramount. C.A. 90723

.21:1' ".:«) :t7:i2 Miiii.-Stit.:9tim- ti inn

Circle 354 on inquiry card.

CITS SPECIALSOF THE IMONTH■

• Floppy Kit ^^^^

SA 801 (loppy (8") & disk cont.kit(S-100) $599

• Add On Floppy Drives

SA 800/1 (8") floppy $469

SA 400 mini floppy $285

• Centronics 779 printer $999

• Miscellaneous

CP/M Operating System/Manuals...$898" Memorex Diskettes

(IBM comp.) $3.50

8" Verbatim Diskettes

(IBM comp) $3.99

4" Diskettes $3.39

16k RAM chips $9.75

Pwr Supply cabinet (mini floppy)... $79Pwr Supply cabinet (floppy) $225

COMPUTER UNTERMCE TECHNOLOGY

Peripheral Product! Division2060 South Grand. Grand Centre. Santa Ana, CA 92705

Circle 74 on inquiry card.

LIST SALE PRICE

IMS AI 8080 W/22 SLOTS $751 $649

16K APPLE It St 195 $1050

SHUGGA R T MODEL 800 $650 $595

SIMILAR DISCOUNTS ON:

IMSAI 4K. 16K, 32 K RAM, MIO etc

POL YMORPHICS VIDEO

DYNA8YTE 16K (ASM) RAM

HAZELTINE 1400, 1500, 1510

NOVA TION ACOUSTIC COUPLERS

tpS 8K (ASM) RAM

PROCESSOR APPLICATIONS DMA FLOPPY

DISC CONTROLLER (ASM)TARBELL FLOPPY DISC CONTROLLERTAR8ELL CASSETTE INTERFACESHUGART GSI MODEL 110PICKLES AND TROUT MOD FOR HITACHI TVALL SWTPPRODUCTSAPPLE II

MODEL 43 TELEPRINTER (OCTOBER)ADM3A TERMINALSOROC IQ120 TERMINALTELETYPE MODEL 40300LNPCENTRONICS PRINTERREPAIRS IN HOUSE ATLOWCOSTCUSTOM SOFTWARE A FIRMWARE

THE CDflPLITEB STOP

16919A Hawthorne BlvdLawndale CA 90260(213)371-4010

11 30 to 6 00 Tue-SatClosed Sunday/Monday

^f^mmm^ft —j ■ i»yv mm

TTY's, CRT's, Modem's,

mini-microcomputers -

whatever the need,

rely on us!

Hfn a> ■ a»j|*V m ■ i^fn —j i

TERMINAL SYSTEMS INC11300 Harland StreetN Hollywood, CA 91605(213) 769-6772(714) 738-4444(415) 573-7723(800) 423-2449

■ •

Choice ol while letters on navy, black, or dk.graan 100% cotton t-thlrt. or nivy letters on

g order, Include chest size, color

choice |ind lecond choice), phrase, end 75cshipping tor each shirt Miki chock IB MarthaHerman. Send to 5 E. 17th Si. NY. 10003.Catalog available.

'-TIME SHflRiMG': *

Circle 76 on inquiry card.

Circle 377 on inquiry card.

Circle 72 on inquiry card.

P.O. Box 4430X Santa Clara, CA 95054^For will call only: (408) 988-1640^ 2322 Walsh Ave. ^

uc/L

quest Cosmac Super Elf Computer $106.95

Compare features before you decide to buy.anyother computer. There is no other computer onthe market today that has all the desirable bene-fits of the Super Elf for so little money. The SuperElf is a small single board computer that doesmany big things. It is an excellent computer fortraining and for learning programming with itsmachine language and yet it is easily expandedwith additional memory, Tiny Basic, AsciiKeyboards, video character generation, etc.The Super Elf includes a ROM monitor for pro-gram loading, editing and execution with SINGLESTEP for program debugging which is not in-cluded in others at the same price. With SINGLESTEP you can see the microprocessor chipoperating with the unique Guest 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,

Super Expansion Board with

This is truly an astounding value! This board hasbeen designed to allow you to decide how youwant it optioned. The Super Expansion Boardcomes with 4K of low power RAM fully address-able anywhere in 64K with built-in memory pro-tect and a cassette interface. Provisions havebeen made for all other options on the sameboard and it fits neatly into the hardwood cabinetalongside the Super Elf. The board includes slotsfor up to 6K of EPROM (2708, 2758, 2716 or Ti2716) and is fully socketed ($12.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

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 Guest Super Expansion BoardPower 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 $6.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 $12.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.

Cassette Interface $89.95

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 $4.50, TTY 20 ma I/F $1.95,S-100 $4.50. A 50 pin connector set with ribboncable is available at $12.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.Deluxe version includes the case at $39.95.

ELECTRONICS

CLOCK MODULES Complete alarm clocksready to hook up with transformer andswitcttes. Very compact with .50" and

T40OTTL

LM340T-IB

1.10

C04511

94

8212

2.90

84" digits.

7400N

.17

LM340T-24

1.10

CD4515

2.52

8214

8.00

MA1002A, C or E .50 6.95

7402N

.17

LM343H

4.50

CD4516

1.10

8216

2.90

1D2P3 Transformer 2.25

7404N

,19

LM370

1.15

CD4518

1.02

8224

2.90

MA1010A. Corf .84' 11.95

7409N

.23

LM377

4,50

CD4520

1.02

8228

5.35

102P2 Trentformer 2-25

7410N

.17

LM379

5.00

CD4527

1.51

8251

8.50

Special Iran florin er and six

7414N7420N

.83.17

LM380NLM381

1.001.60

CD452BCD4553

.795.75

82538255

10.009.25

IwHcfwi when pwchitedw/module 2.95MA10O3 car module J"green lluor. display 15.55

7422N

1.39

LM382

1.60

CD4566

2.25

8257

19.50

7430N7442N

.20.50

LM703HLM7Q9H

.40.28

C04583CD4585

4.501.10

8259CDP1802C0

19.5019.95

7445N

.69

LM723H/N

.50

CD40192

3.00

CDP18020

25.00

RESISTORS V. watt 5%

7447N

.60

LM733N

.67

74CO0

.28

CDP1861

12.95

lOoartype .03 1000pertype .012

7448N

.69

LM741CH

.35

74C04

.33

6820

9.95

25 par type .025 350 piece pack

7450N

.17

LM741N

.25

74C10

.28

6850

12.95

100 per type .015 5 per type 6.75

7474N

.29

LM747H/N

.62

74C14

2,10

6502

12.50

KEYBOARDS

56 key ASCII keyboard kit $62.50FuHy assembled 72.5053 key ASCII keyboard kll 55.00Fully assembled 65.00 Enclosure 14.95

7475N7485N

.49

.68

LM748NLM1303N

.35.82

74C2074C30

.28.28

IC SOCKETS

7489N

2,00

LM1304

1.10

74C48

1.95

Solder Tin Law

Profile

7490N7492N

.43.43

LM1305LM1307

1.272.00

74C7474C76

.75

1,40

PIN 1UP PIN

8 .15 22

1UP.30

7493N

.43

LM1310

2.75

74C90

1.15

14 .16 24

.35

LEDS

Fled T018 .15

7495N

.69

LM1458

.47

74C93

1.40

16 .20 28

42

74100N

.90

LM1BO0

1.75

74C154

3.00

18 .27 36

.58

Green. Orange. Yellow T016 .20Jumbo Red .20

74107N

.29

LM1612

7.50

74C160

1.44

20 .29 40

.67

74121N

.34

LM1889

3.00

74C175

1.35

3 !■ ve. wire wrap jrjW

Green. Orange. Yellow Jumbo .25Cliplile LEO Mounting Clips B/$1.25(specify red, amber, green, yellow, clear)

74123N74125N74145M

.59.39.69

LM2i11LM2902LM3900N

1.751.50.60

74C19274C221

74C905

1.652.003.00

14 pin SS 18

M

741 SON

.95

LM3905

1.75

74C906

.75

WIRE WRAP LEVEL 3

CONTINENTAL SPECIALTIES In sleek

74151N

69

LM3909N

.61

74C914

1.95

PIN PIN

Complete line of breadboard test equipMAX-iag a digit Freq. Cn. S128.95

74154N

1.00

MC1458V

50

74C922

5.50

14 ,25 24

86

74157N74161N74162N

^87.87

NE540LNE550NNE555V

2 89.6543

74C92374C92574C926

5.506.956.95

16 .27 2818 .57 40

1.001.23

OK WIRE WRAP TOOLS in stockPortable Multimttar $18.00

74163N

.87

NE556A

.79

74C927

6.95

UART/HFO

DIGITAL THERMOMETER $46.50

74174N

.96

NE565A

1.00

AY5-1013

5.50

8att, oper. General purpose or medical32"-230°F. Disposable probe cover

74175N

.90

NE566V

1.50

INTERFACE

AY5-1014

7.50

74190N

1.15

NE567V

1,20

S095

65

3341

6.95

±.2° accuracy. Comp. Assy, in

74192N

.87

NE570B

5.00

8096

.65

compact case.

74i MN74221H74298N

.651.551.65

NE571B

78L057BL08

500.60,60

809780988T09

.66.651.25

PROM

1702AN82S23

3.952.95

COMPUTER BOARD KITS

6K RAM Board Kit $134.954K EPROM Kit 114.95I/O Board Kit 44.50Extender Board w/connector 12.50

74365N

.66

79L05

.70

8T10

4.50

NB2S123

3.50

74366N74367k

.66.66

78M0575108

,851.75

BT13

8T20

3.005.50

N825126NB2S129

3.753.75

74L800 TTL

75491CN75492CN

.50.55

8T238T24

3,103,50

N82S131N82S136

3.75

8.75

Video Interface board kit 125.0016K EPROM board kit w/o PROMS 74.50

74LS0ON74LS02N

.2525

75494CN

89

8T25BT26

3-201.69

N82S1372706

8.7512.50

16K Static RAM board kit 395.00North Star Floppy Disk Kit $665 00Additional Drive Kit 415.00

74LS04N

25

A to 0 CONVERTER

8T28

2.75

DM8577

2.90

74LS05N

.25

B038B

4,50

BT97

1.69

8223

2.90

SPECIAL PRODUCTS

74LS08N

.25

B700CJ

13.95

6T98

1.69

2716T1

22 50

MM5865 Stopwatch Timer 9.00

74LS10N

.25

B7D1CN

22.00

2716 Intel

48.00

PC board 7.50

74LS13N

.40

8750CJ

13.95

MOS/MEMORY RAM

Switches Mom. Pushbutton .27

74LSt4N

.90

LD130

9,95

2101-1

3.95

CRYSTALS

3 pos. slide .25Encoder HD0t65-S 6.95

74LS20N

.25

9400 CJWF

7,40

2102-1

.95

1 MHz

4.50

74LS22N

.25

ICL7103

9,50

2102AL-4

1.60

2 MHz

4,50

3 Digit UniversalCounter Board Kit

74LS26N

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 to 5 MHz

74LS33N

.39

CMOS

21076

4.95

10 MHz

4.25

typ. ,125' LEO display 10.50Voice actuated switch 50

74LS38N

,30

CD34001 Fair,

,50

2111-1

3.75

18 MHz

390

74LS74N

.35

CD4000

,16

2112-2

3.95

20 MHz

3.90

74LS75M

.47

CD4001

.21

2114

8.50

32 MHz

3.90

Paratronict 100A Logic

74LS90N

.51

C04002

.21

4116

17,95

32766 MHz

4.00

Analyzer Kit $224.00

74LS93N

,51

CD4006

1.10

2513B

6.30

1.6432 MHz

4,50

Model 10 TriggerExpander Kit $229,00

74LS9SN

1.89

CO4007

.21

21L02-1

1,49

3.5795 MHz

1.20

74LS107N

.35

C0400B

.21

MM5262

.40

2.0100 MHz

1.95

Model 150 Bus

74LS112M

.35

C04009

39

MM528Q

3.00

2.097152 MHz

4.50

Grabber Kit $369.00

74LS113K

.35

CD4010

,39

MM5320

9.95

2 4576 MHz

4,50

TRANSFORMERS

74LS132N

.72

CD4011

.21

MM5330

5.94

3.2766 MHj

4.50

6V 300 ma 3.25

74LS136N

.35

CD4012

.21

PD411D-3

4.00

5.0688 MHz

4.50

12 Vol 300 ma transformer 1.25

74LS151N

.67

CD4013

.36

PD411D-4

5.00

5.1B5 MHz

4.50

l2 6VCT600ma 3.75

74LS155N

.67

CD4014

.86

P5101L

13.95

5,7143 MHz

4.50

12V 250 ma wait plug 2.95

74LS157M

.67

CD4015

.88

4200A

9.95

6 5536 MHz

4,50

12V CT 250 ma wail plug 3.50

74LS162M

,91

CD4016

,36

82S25

2.90

14.31818 MHz

4.25

24V CT 400 ma 3.95

74LS163N

.91

CD 4017

.94

91L02A

1.75

18.432 MHz

4.50

10V 1.2 amp wall plug 4.85

74LS174N

.95

CD4018

.94

HD0165-5

6.95

22.1184 MHz

4,50

18V 6 amp 12.95

74LS190N

1.06

CD4019

.21

MU57tO0

4.50

DISPLAY LEDS

MAN1 CA .270 2.90MAN3 CC .125 .39MAN72/74 CA/CA ,300 1.00DL704 CC .300 1,25OL707/DL7O7R CA .300 1.00DL727/728 CA/CC -500 1.90DL747/750 CA/CC .600 1.95DL750 CC .600 1.95FND359 CC 357 .70FND500/507 CC/CA ,500 1.35FND503/510 CC/CA ,500 .90FNOSOO'807 CC/CA ,800 2.20

3 digit Bubble .60

4 digit bubble 80OG8 Fluorescent 1.75DG10 Fluorescent 1.75

5 digit 14 pin display 1 00NSNS9 9 digit display .607520 Claire* photocells .39TIL311 Hex 9.50COMPUTER GRADE CAPS

74LS221N74LS258N74LS367N

UREAfl

CA3045

CA3046

CA3081

CA30S2

CA3089

LM301 AN/AH

LM305H

LM307N

LM30BN

1.95.67

89

.30.671.801,90295.35.87.35.89

CD4020CO4021CD4022CD4023CD4024CD402SCD4026CD4027CD4028CD4029CD4030CD4035CD4O40C04042

1.02

1.02.86.21.75.21

1.51.36,79

1.02.21

1.02

1.02.71

GIAY38500-1

MCM6571A

9368

4100

416

CLOCKS

MM5309MU5311MM5312MM5313MMS314MM5315MM5316

9.959.953.50to 0016.00

3.003.604.803.603.904.005,00

CONNECTORS

44 pin edge 2.00100 pin edge 4 50100 pin edge WW 5.25

KEYBOARD ENCODERSAY5-2376 $12,50AY5-36O0 13.5*74C922 5.5074C923 5.5QHD0165-5 8.95

IC Teat Clips

1 10

Red .55 .47Black .55 .47

Keytr 8043 14.50comp, w/spec./sock.

LM309H

LM309K

LM311H/N

LM317T/K

LM31B

LM320K-S

1.15.95,902.921.351,20

CD4043CD4044C04046CD4049CD4050CD4051

.63.63

1.67.36.36

1.13

MMS318MM5369MM5B41MM5865CT7001CT7002

3.602.1014.457.955.808.95

LM323K-5LM320K-12

6.951.35

CD4060CD4066

1.42

.71

CT7Q10CT7015

8,957.25

TRANSISTORS

2N2222A

2N3904

2N39062N3055

LM320K-15

1,35

CD4068

.40

MM5375AA/N

3.90

1600 mid 200V 4.50

LM320T-5

1.60

C04069

.40

MM5375AB/N

4.90

!18

69

2000 mid 45V 2.50

LM320T-B

1.60

CO4070

.40

7205

16.50

3200 50V 2.50

LM320T-12

1.50

CD4071

.21

7207

7,50

5500 25V 2.50

LM320M5

1.60

CD4072

.21

7208

15.95

5800 40V 3.00

L.M324N

1.15

CD4073

.21

7209

4.95

6100 40V 3.00

LM339N

1.55

CD4075

.21

DS0026CN

3.75

6100 50V 3.00

LM340K-5

1.10

C04076

1.75

DS0056CN

3.75

7700 50V 250

LM340K-8

1.10

CD4078

.40

MM53104

2.50

8000 55V 2.50

LM340K-12

1.10

CD4081

.21

9400 65V 3.00

LM340K-15

1.10

CD4082

.21

MICROPROCESSOR

10000 20V 2,50

LM340K-24

1.10

C04116

.47

6800

17 50

12000 30V 3.S0

LM340T-5

1.10

CD4490

5.50

6602

24.95

35000 2SV S.OO

LM340T-8

1.10

CD4507

1.00

8030A with data

8.95

55000 25V 5.00

LM340T-12

1.10

CD4508

4,25

8085

27,00

82000 15V 6 00

LM340T-15

1.10

CD4510

1.02

Z80

29,95

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 $3.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. Krt in-cludes: PC board, MM5369, crystal, resistors,capacitors 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 hardwood case w bezel $11.75

NiCad Battery Fixer/Charger Kit

Opens shorted cells that won't hold a chargeand then charges them up, all in one kit w/fullparts and instructions. $7.25

PROM Eraser

Ultraviolet, assembled

$49.95

Clock Calendar Kit $23.95

CT7015 direct drive chip displays date andtime on .6" LEDS with AM-PM indicator.Alarm/doze feature includes buzzer. Completewith all parts, power supply and Instructions,less case.

Sinclair V/i Digit Multimeter

Batt./AC oper. 1 mV and . 1NA resolution. Resis-tance to 20 meg. 1 % accuracy. Small, portable,completely assem. in case. 1 yr. guarantee. Bestvalue ever! $59.95

Video Modulator Kit $8.95

Convert your TV set into a high quality monitorwithout affecting normal usage. Complete kitwith full instructions.

2.5 MHz Frequency Counter Kit

Complete kit less case $37.50

30 MHz Frequency Counter Kit

Complete kit less case $47.75Prescaler kit to 350 MHz $19.95

1978 IC Update Master Manual

1978 IC Update Master Manual $30.00. Com-plete IC data selector, 2175 pg. Master refer-ence guide. Over 42,000 cross references.Free update service through 1978. DomesticDostaae $3.50. Foreign $6.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/100sec. Times std., splitand Taylor. 7205 chip, all components minuscase. Full instructions.

D Connectors RS232

25 Pin Subminiatures

DB25P 2.95

DE9P 1.50

OB25S 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

$127.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

1139.00

Motherboard $39. Extender Board $8.99

TERMS: 55.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 of our NEW 1978QUEST CATALOG. Include 28c stamp.

Circle 311 on inquiry card.

BYTE November 1978

229

Unclassified Ads

CONSULTANTS: Let us get together and run afull page color ad with individual addresses anddivide the cost. Write Micro Logic Corp, POB 174,Hackensack NJ 07602.

FOR SALE: IBM 024 card punch, with full alpha-numeric keyboard, in good condition, fullyoperational and with all documentation for main-tenance, lube, parts and schematic. Can be usedto keypunch cards, or readily modified for micro-processor card read and punch. A W Walker, 1914Ridge wood Dr, San Diego CA 92139, (714)479*9074.

ONE MICRO, ONE USER?: Why not supportseveral users on your microprocessor with amultitasking operating system. This systemis designed for the Motorola 6800, operatesin conjunction with an interrupt timer device(for example, SwTPC MP-T) and maintains a timeof day clock. Send $5 for complete documenta-tion and source code to start timesharing on yoursystem. Ed Joyce, 4603 Lyceum, San AntonioTX 78229.

FOR SALE: 2102 low power programmable, memory, Fairchild 450, $1 each. 8 K, S-100,bare board for above ICs, $20. 7805, $0.75.Erasable programmable memory 2708 National450 ns, $10. David Karpol, 18-20 Jordan Rd,Fairlawn NJ 07410. (201) 546-9268 days,791-2044 evenings.

PET OWNERS' CLUB: Now, a great new idea inclubs! Join and you will receive Program, acassette, each month. You LOAD — nothing totype — and it gives you articles, applications,and information right on your screen. What'smore, the reverse side will contain three to fivegames (or more) and programs useful and fun foryour sweet PET. Membership is $27 a year. Ifyou wish to join, write to Richard Mansfield,POB 461, Philipsburg PA 16866.

FOR SALE: Processor Tech VDM-1, $150. MITS88-PIO, $90. ASCII keyboard in walnut case, wiredand set up for 88-PIO, S50. All the above in useand working. Webber Hall, 16967 Blanche PI.Granada Hills CA 91344, (213) 363*2004.

FOR SALE: Eight Motorola 4 K, programmablechips from TRS-80. Tested OK, but never used.Make offer by contacting Jerry Dawson, 710 KingSt, Medford OR 97501, (503) 779-7697.

FOR SALE: TRS-80 Basic I or II: Data BaseManager, $20; Inventory, $20, Stock and BankAccount $15; Lunar, Gunner, Slot and craps$13. Poi Pow,96 Dothan St, Arlington MA 02174.

FOR SALE: MEK6800D2 System working withSwTPC video terminal III with 69 key Hall-effectkeyboard. Includes 24 2102s, two extra 6810programmable memories, huge 6800 applicationsmanual, data manuals, software manual plus powersupply kit. My cost $565. Will sell for $295 orbest offer! C Jackson, 1715 Dogwood Dr, RockHill SC 29730, (803) 366-2309.

NEW UNCLASSIFIED POLICY

Readers who have equipment, software or other itemsto buy, sell or swap should send in a clearly typed noticeto that effect. To be considered for publication, an adver-tisement must be clearly noncommercial, typed doublespaced on plain white paper, contain 75 words or less, andinclude complete name and address information.

These notices are free of charge and will be printed onetime only on a space available basis. Notices can be ac-cepted from individuals or bona fide computer users clubsonly. We can engage in no correspondence on these andyour confirmation of placement is appearance in an issue ofBYTE.

Please note that it may take three or four months for anad to appear in the magazine.'

FOR SALE: Apple II 16 K system only threemonths old and in perfect condition. This is acomplete system. Includes high resolution graphicssubroutines, radio frequency modulator, anda cassette recorder/player for input/output(IO). User manuals are also supplied. Entiresystem for $800. Dana E Ebersole, 441 Burchett#110, Glendale CA 91203, (213) 244-0796.

FOR SALE: TRS-80 level 1 tapes and programlists. Star Trek (runs on 12 K), list $7, tape$10. Lunar Lander (runs on 4 K), list $3,tape $6. Biorythm (runs on 4 K), list $5,tape $9. J R Menzies, 7106 Colgate Dr,Alexandria VA 22307.

PET OWNERS: Here's a very realistic craps pro-gram which won't bore you or friends. It's highlyinteractive and features animated dice,, pass ordon't pass option, lower case literals, statisticalanalysis of game with a vertical bar graph andmuch more. For instance, dice land in randompositions, and there's plenty of information re-garding rules, size of bank roll and amount ofbet. This is a 265 line program using over 5 Kbytes. It is on tape, ready to load and go. Sendonly $7.50 to Richard Liebert, POB 268,Scarborough STA NY 10510.

FOR SALE: Heathkit Computer System - H8computer, H8-1 memory board (4 K), H8-3 chipset (4 K), H8-5 serial input/output and cassetteinterface (one or two recorders), H8-2 parallelinterface, ECP-3801 cassette recorder, H9 videoterminal. Assembled and working, asking $1500.Thomas C Smith, 506 19th Ln, Vero Beach FL32960, (305) 569-4622 after 6 PM.

FOR SALE: OSI 450 erasable read only memoryblaster memory board (still bare), with documenta-tion includes 6820 PIA and two 6834 erasable readonly memories. All parts new and unused, $60Ray Vogt, Box 240A, RD 1, Port Matilda PA16870.

WANTED: SOL/Processor Technology keyboard,with numerical pad. Roger Wallace, 36 Las VegasRd.OrindaCA 94563, (415) 254-1248.

PROM PROGRAMMING. From Binary or Intelpaper tape: 1702A ($4), 2708 ($8). From hex-adecimal or octal listing: 1 702A ($5), 2708 ($16).You supply the programmable memory. Quantitydiscounts on multiple copies. 48 hour turnaround.David Corbin 11704 Ibsen Dr, Rockville MD20852, (301) 881 -7571 after 6 PM.

FOR SALE: MITS 16 K static memory, disk con-troller board. Best Offer. F Peck, 19201 NE 18 Av,N Miami FL 33179, (305) 935-2613.

FOR SALE: Radio Shack TRS-80 Microprocessorwith 16 K memory. Level 1 BASIC, monitor,cassette, payroll program. First $800 takes it andI pay the freight. Wilbur C Booth, POB 1151,Cordova AK 99574, (907) 424-3140.

FOR SALE: Tarbell Electronics cassette interface.All cables, in sockets, ready to go, $120. MorrowsWunderbuss mother board. Includes ten edgeconnectors, assembled, $120. Four SwTPC 4 Kmemory boards, in sockets and burned in, $100each. Chip Kroll, 4136 Tennyson, Houston TX77005, (713) 667-6318.

FOR SALE: 128 of each of the following itemswere recently purchased at a ham festival. Due toincompatibility with my home processor, they areavailable at my cost, to whomever can use them:AM 9016, 16 K dynamic programmable memory,$22.50; and AM 9050, 4 K dynamic programmablememory, $4.50. You can purchase all or part of128 set. Documentation is available. R Shay, POB413,Westmont IL 60559.

FOR SALE: F8 based chess game, with six levelsof difficulty. Solves mate in two problems. $100 orbest offer. Clete Jackson, 1715 Dogwood Dr,Rock Hill SC 29730, (803) 366-2309.

FOR SALE; Radio Shack TRS-80. Six monthsold with approximately $80 worth of software.I haven't enough time to learn to use it properly.$450. George Raniolo, 1212 Rt 25A, StonybrookNY 11790, (516) 751-0101.

COSMAC ELF II: power supply, video modulator,1802 users manual, all Popular Electronics articles.Built and working fine, $95 and shipped prepaid.Frank Dacey, 328 Barbara Dr, Pt Pleasant NJ(201) 899-4302.

FOR SALE: KIM-1 with 4K on board program-mable memory neatly packaged in briefcase withcustom power supply. Has breadboard area andconvenient input/output connectors. Full docu-mentation. Send SASE for photos. First cashierscheck or money order for $200 takes it. R Kruse,6221 Woodlow Dr, Wichita KS 67220.

FOR SALE: Biorythm program, FORTRANsource code, well-tested. Send $1 to cover copyand mailing costs to Jack Walsh, 4 Eaton St,Wakefield MA 01880.

FOR SALE: Assembled and tested ELF II withfour 86 pin wire wrap edge card connectors, fulldocumentation; giant board assembled and tested;,kluge board for ELF II; 1.5 A power supply; radiofrequency modulator and 1852 input/outputport. Total value $250 new. Make an offer onwhole or part. Also heavy duty Honeywell powersupply 10 A at 5 V, 3 A at 16 V, 3 A at -16 V,and 4 A at 28 V. Alan Burnes, c/o ICSR, MIU,Fairfield IA 52556.

FOR SALE: File access software for North StarDisk. By calling routines within this package, aprogram is given multiple file input/output atthe byte level. Entry points allow a file to beopened, closed, read, written, created or released.Requires less than 1 K in addition to disk operatingsystem. Send $10 for commented source listing toBob Burlingame, 3314 N Whitman, Tacoma WA98406.

FOR SALE: HP-67 and Heath shortwave receiver.HP-67 plus all original accessories and more pro-grams (physics solutions books, satellite tracking,antenna pointing program and more), secondbattery pack and security cradle. All for $350.Receiver: 0.5 to 31 MHz, AM/SSB/CW. Excellentsensitivity, selectivity, construction (June 1978}and excellent price: $70. Gary Altman, 1525Linden Or, Madison Wl 53706, (608) 836-3400or 262-3035.

FOR SALE: Assembled and tested MITS Altair680b kit. All Chips socketed. May be interfacedto RS232. $250 plus shipping. John Rheinstein,10 Gould Rd, Lexington MA 02173.

FOR SALE: TDL Z-80 processor (S-100 Bus Z-80Card) assembled and tested. TDL Z16 memoryboard with 8 K memory installed also assembledand tested. TDL software: 2 K Zapple monitor,9 K macro-assembler, 3 K text editor, 8 K BASIC.Software includes paper tape in relocatable formatand all manuals. $500 for all the above. ZPU boardonly and software, $325. Charlie Shields, POB 809,Carrabelle FL 32322, (904) 697-2190.

TRS-80 SORT: in BASIC I, needs 4 K minimumSorts recs in memory in 1 or 2 numeric fields inascending or descending sequence. Output to tapeor video. Can be subroutine. $10 on tape withdocumentation. Software, POB 6153, SyracuseNY 13217.

FOR SALE: SwTPC 6800 computer systems, 8 Kmemory, serial control interface, parallel interface,CT-64 terminal, SD Sales cassette interface, Pixie-Verter. All assembled, up and running, completewith documentation. Also, bare 4 K memoryboard, bare MP-A2 processory board. Rick Drapala,2701 Av A, Yuma AZ 85364, (602) 726-6896after 4 PM MST.

FOR SALE: TI-Programmer, with case and powersupply. Almost new, under warrantee. In originalcarton, $30. John Burns, 25th floor, 350 Park Av,New York 10022.

230 November 1978 ©BYTE Publications Inc

CLUB PROGRAM EXCHANGE: Lincoln SchoolComputer Club will exchange PET Computer pro-grams. Send SASE for information and returnpostage with any cassette. Thanks. Lincoln Com-puter Club, Lincoln School, 750 E Yosemite Av,Manteca CA 95336.

FOR SALE: Sphere 6800-based microprocessorboard including 4 K programmable memory, and1 K read only memory with the PDS utility rou-tines, monitor, editor, re-editor and assembler.Also an excellent power supply rated + 12 V,-12 V, +5 V, -5 V and ground. Also a video dis-play interface board which still has a few bugs. Ihaven't the technical knowhow to get the system•running so I am selling. First check for $300 takesit, inquiries welcome. Nathan Engle, RR 2 POB466A, New Albany IN 47150, (812) 923-8066.

FOR SALE: Univac type 0769 incremental printer30 characters per second, 132 column, 63 charac-ters. New unit still in Univac packing carton. Withoptional drive electronics (original cost $1800+1.Also includes optional case, enclosure (hinged top),and stands. Does not include 6 V, -1 2 V, 24 V 1 Apower supplies or system controller, but includesschematics and interface manual. Plus three casesof paper ($100+ alone). All for $575 plus freight.David Krivoshik, 18 Newcomb Pt, Elizabeth NJ07202

FOR SALE: Peripheral Vision Floppy disk drive,interface card, cable, documentation and diskette.In good working condition. Includes operating sys-tem on floppy. Everything needed to work. $500or best offer. Will also trade for working TTYterminal or equivalent. Pierre duPont, Patterns,Rockland DE 19732.

FOR SALE: RCA Cosmac vip video computerwith games and graphics. Professionally built andin perfect condition. Unit interfaces directly tovideo monitor. Also stores programs on cassettetape. Originally $275, will sell for $175 and shipanywhere free. Richard Parry, 38 W 255 DeerpathRd, Batavia IL 60510, (312) 879-8987.

FOR SALE: 8080A system; Morrow's processorand cassette IO boards, VDM-1, 2-4 K program-mable memory boards, ASCII keyboard and octalkeypad, 20 A suppfy, attractive cabinets. TinyBasic up and running with programs on tapes, threeextra 100 pin connectors, Processor TechnologyBASIC 5 and TREK 80 tapes. Full documentation.Cost over $850 - will sell best offer over $600.M Chepko, 119 Belleville Ct, Thief River FIs MN56701.

FOR SALE OR TRADE: Quantity of 66 AmericanMicrosystems AMS-7280 4 K by 1 dynamic pro-grammable memory chips, prime. Equivalent to2107B, TMS4060, etc. All 66 in carriers for $195or wilf trade for 24 TMS4044 or exact equivalent..Watson R Gabriel Jr, 5936 Timberwood TRL,Kernersvilte NC 27284, (919) 993-3110.

FOR SALE: TRS-80 software. Four full-lengthsimulations for 4 K level I machine includes Pio-neer, Survival, Capitalists and Space Voyage. All 4for $10. Also, baseball, football, hockey. Lander,alt with graphics. Seven in all for $8, or get all 11for $15. For programs, an updated list or free-lance programming, write Michael T Flanagan, 130Holly, Riveredge OH 44135.

WANTED: Used minicomputer system; TRS-80.Apple 2, PET, IMSAI, etc, Also hard or soft copyterminal. Mike Gleicher, 11 Leslie Ct, SpringfieldN J 07081.

CHEAP MEMORY: Low power 4 K static fullspeed tested and reliable $75. G Mitchell, POB35, Chuta Vista CA 92012.

WANTED: XY Recorder. Offer combinationsof the following in trade SBE Key com 1000Scanning 40 channel CB, Pace 8015 and 8008 CBs,Dynaco PAT-4 stereo preamplifier, AR-XA turn-table, Palomar TX-100 linearm amplifier, etc.Write Pete, POB 399, Sunnymead CA 92388.

BYTE NUMBER 1: I have one September 1975BYTE (issue number 1). The magazine is still inits original wrapper and is in mint condition. Firstcertified check for $50 takes it! Call to confirmthat it hasn't been sold yet. Mitch Wolrich, 8 BruceOR, Randolph MA 02368, (617) 963-5578.

FOR SALE: Secret Word program for 4 K PET.Many hours of entertainment trying to guess oneof 200 5 letter words. Can be played alone or withother participant. Features include selection ofsecret word by computer at random, scoring bynumber of tries, cumulative scoring, ability to listguess words and hits and misses, also ability todisclose secret word at any point in the guessing.Also other interesting features. On cassette, readyto load and run, $8.50. Henry E Nass, 68 East 56thSt, New York NY 10022.

FOR SALE OR SWAP: Voltage Monitor for singlephase computer power supply. Monitors under andover voltage, detects high speed transients — 2 msspike response. Has clock, audible alarm, warninglight and 32 day chart recorder. Warns of out oftolerance conditions. Airoyal model 11721. Willaccept ham radio equipment in trade. Ed Hayden,16 Decatur Av, Annapolis MD 21403, (301)261-2679.

FOR SALE: Assembled H9 video terminal, $450.I went to hard copy so you can save. Includesshipping and manuals. Send cashier's check ormoney order to Steve Vickery POB 1548, PanamaCity, Fl 32401.

FOR SALE: Heath H8, H9, 16 K memory, assem-bled, up and running, tape recorder, all documenta-tion. $1200. David Marcus, 430 Wolf Hill Rd, DixHills NY 11746, (516) 427-1926.

FREE PET COMPUTER PROGRAMS: Will tradeoriginal versions of Space War or Graphic Gomoku(9 by 9 tic-tac-toe) for your software creations ofcomparable size. Send programs on cassette forexchange, or send SASE for current list of pro-grams. Please indicate serial number of PET used.Bennett Meyer, POB 575, White Plains NY 10602.

MOTOROLA D2 USERS: A new manual of experi-ments on 6800 Microcomputers containing 83interesting assembly language problems. Step bystep approach to learn to use the 6800 instruc-tions, digital input/output, interrupts and manyprogramming techniques. $5. Send check to K KRao, Department of Physics, Western MichiganUniversity, Kalamazoo Ml 49008.

FOR SALE: Heath H-8, H-9, 16 K, cassette, andBenton Harbor BASIC. Up and running. $1250.Also ten new 8 inch disks, $25. A ThornburgRR 2, Thompsonville IL 62890, (618) 627-2166.

PET OWNERS: I have 18 game programs for thePET computer. I will trade one for one for otherPET programs. Those wishing to trade should sendtheir cassette with programs to Kurt Huebner,1266 Valle Vista, Fullerton CA 92631.

FOR SALE: Apple II Software cassette: authortitle index program for books, records, tapes,super fast machine language, sort, 16 K blackjack,graphic, paddle input, sound, rules, autoplay bycomputer, $10 each includes documentation. Bothfor S15. George W Lee, 18803 S Christina Av,Cerritos CA 90701.

TRS-80 OWNERS: Original software includingbusiness system for Amway Distributors. Level Iand II versions available. All will run in 4 K mem-ory. Also have moving sign board machine languageprogram. Write for information Allan E Sitter,8 Driftwood CIR, Groton CT 06340.

FOR SALE: DECwriter II, EIA interface, capslock, used two years moderately, on DEC servicecontract but never needed a call. $975 or bestoffer, you pay shipping. David Lewis, 1108 NAurora St, Ithaca NY 14850, (607) 274-3107weekdays, 273-9144 home.

STAMP COLLECTORS: TRS-80 owners who arealso serious stamp collectors and are interested inexchanging ideas and software for philatelicapplications are urged to contact me immediately.Collectors with other systems are also welcometo write or call if they are interested. Jeff Purser,25 Newtown Rd, Danbury CT 06810, (203)744-7631.

FOR SALE: Reference/maintenance manual, logiccharts, and operator's manual for Itel Model 852automatic typewriter and accompanying Selectricmanual. $15. S K Otto, 150 Old Country Rd,Mineola NY 11501.

TRS-80 PROGRAMMING CONTEST: Win $500.Send SASE to TRS-80 Programming Contests-A,POB 621, Fenton MO 63026.

APPLE-H SOFTWARE: Available to swap. Send alist of your programs and SASE for my list (over100 programs). Most in color graphics. Ed Avelar,2850 Jennifer Dr, Castro Valley CA 94546, (415)538-2431 any day, 6 PM to 11 PM.

DESPERATE: College student must sell at tre-mendous loss to pay for tuition: Tychon Assem-bler, IMSAI 8080 with 22 slots, etc, 8 K staticmemory with write protect 8 K static memorywithout write protect, key board with interfaceand enclosure, Northstar Disk drive microsystem.Polymorphic 64 character/line display withgraphics (new parts - never tested), manuals, etc.Must sell: $1150. Will sell separately. John Fox,= 105, 1110 W Stoughton, Urbana IL61801 (217)384-4474.

FOR SALE: Hewlett-Packard 97 programmable,printing calculator, $475, with box of thermalpaper rolls, new magnetic cards, and all otherstandard accessories. Clean appearance and inexcellent operating condition — a great buy! LSReich, 3 Wessman Dr, W Orange NJ 07052, (201)7362843.

FOR SALE: HEATH H-8 system. 24 K memory,video terminal, GE cassette recorder, interface cardand all cables. All completely assembled andworking. Software includes Extended BASIC, editor, assembler, debugger, panel monitor (read onlymemory), plus games package and more, $1800plus shipping. Walt Sully, 18 Palmer Rd, KendallPark N J 08824, (201 > 490-2976.

FOR SALE: Hewlett-Packard 140A Scope, 1402-ADual trace amplifier, 1421A time base and delaygenerator, One set full documentation. Excellentcondition. Original cost over $2000. Will sell foraround $600. J E Terry, 818 Briarwood Lake,St Louis MO 63367, (800) 325-4325, ext 225,8 AM to 5 PM daily.

TRS-80 ASSEMBLER USERS: Z-80 disassembleravailable. Displays the contents of your memoryas symbolic instructions with operands and ASCIIcode, where relevant. Zilog mnemonics usedthroughout. Also shows memory addresses andcontents in hexadecimal. Requires Level-I BASICwith 16 K and assembler, or Level-I I BASIC.(Specify which you have.) Execution tape andinstructions, $20. For information only sendSASE, Hubert Howe, 14 Lexington Rd, New CityNY 10956.

TRS-80 USERS: I have business programs for alllevels of TRS-80s. You describe your applicationand I will give you an estimated cost within 48hours. Include SASE with your requirements andTRS-80 configuration. Also, I have game programs.Sandy Sigal, 6851 Mammoth Av, Van Nuys CA91405.

FOR SALE: Three sets of 16 K memory forTRS-80 Radio Shack computer system. 100percent good. $175 each. Larry Stanley, Rt 5, Box131 B, Circleville OH 43113, (614)474-1741.

COLLEGE INSTRUCTOR: Needs standard payrolland general ledger programs in COBOL or BASIC;limited compensation. POB 355, Newtown PA18940.

WANTED. 8008 software, Scelbi computer'soft-ware manuals for the 8008, assembler program,editor program, monitor routines, SCEBAL highlevel language, bootstrap loader and Galaxie.L W Harrison, 4905 Hollyridge Dr, Raleigh NC27612.

WANTED: Drawing and pin out data to interfacemicrocomputer to Programatic Flexiwriter. Willpay for data. Bill Fujitsubo, 1506 Sandcastle Dr,Corona del Mar CA 92625.

STUDENT NEEDS HELP: I am a student indesparate need of both information and partsources for the following: image recognitionand a 32 X 32 solid state MOS photodiode array,respectively. If there is a Cyclops camera for saleout there — contact me as I require one. DarcyRoberts, 660 Laurier Blvd. Brockville Ontario,CANADA K6V 5X8.

November 1978©BYTE Publications Inc

231

Feadep Service

To get further information on the products advertised in BYTE, fill out the reader service card with your name and address. Then circle theappropriate numbers for the advertisers you select from the list. Add a 75 cent stamp to the card, then drop it in the mail. Not only do yougain 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.

213

4

8

9

10

14

15

22252730

2832

33

39

41

45

46

47

48

53

65

70

74

75

73

76

72

77

78

80

82

81

83

87

89

95

100

102

110

115

120

125

130

132

134

140

150

153

151

Administrative Systems Inc 145

Advanced Access Group 140

AJA Software 175

Alpha Micro Sys 98, 99

Alpha Supply 106

American Terminals 222

Anderson Jacobson 93 ,

Apple Computer 12

Apple Computer 13

Art-by-Computer 173

ATV Research 218

Atwood Enterprises 206

Bailey Controls 18

Beckian Enterprises 223

8ITS 109, 110, 111, 125, 131, 213

Bootstrap Enterprises 149

Buss 148

BYTE Back Issues 179

BYTE Subscribers 123

BYTE WATS Line 179

Byte Industries 142

California Digital 201

Capital Equipment Brokers 68

Central Data 81

Chrislin Industries 165

Commodore Business Machines 105

CompuMax 177

Computalker 159

Computer Corner 218

Computer Enterprises 161

Computer Interface Technology 228

Computerland 10, 11, 61

Computer Mart of NJ & PA 190

The Computer Stop 228

Computer T-Shirts 228

CT Microcomputer 123, 135

Contract Services Associates 122

Cromemco 1, 2

Data Discount Center 169

Datafacs 173

dedata edv 222

Digiac Corp 222

Digital Pathways 156

Digital Research (CA) 66

Digital Research (TXI 203

Digital Research & Eng 94

Dynabyte 14, 15

Electrolabs 225

Electronic Control Technology 171

Electronic Sys 205

Electronics Warehouse 207

EMM/CMP 146

EMM Semi Inc 165

Forethought Products 53

Godbout 87

Graham Dorian Enterprises Clll

H & K Computer Components 161

157 Hamilton Logic Sys 218

158 DC Hayes 157170 Hobby World 195

173 Houston Instruments 41

174 Idea Assemblers 222

176 Info 2000 117

177 Integral Data Systems 96, 97

179 Integrand 190

180 Integrated Circuits Unltd 209184 International Data Sciences 181190 Ithaca Audio 199

193 J & E Electronics 222

195 Jade Company 197

200 Jameco Electronics 210, 211

201 Jim-Pak 83

202 M W Keith Co 228

* Lifeboat Associates 137213 The Math Box 218

21 7 Mathematical Application Services 218

220 Meca 139

221 Memory Coop 218

225 Micro Diversions 67

222 Micro Mail 136

223 Micromation Inc 21

235 Micropolis 102

236 Micropolis 103

224 MicroPro International 45

226 Micro Source 95229 Mikos 225

250 Mini Micro Mart 119. 144

255 Morrow/Thinker Toys 19, 91

260 Mountain Hardware 143

265 mpi 133

267 Mullen Computer Boards 74

268 NAIL 57

280 Netronics Research 147

281 New England Electronics 152

285 North Star 7, 29

286 Northwest Microcomputer Sys 77

287 Nucleonic Products 107

290 Ohio Scientific Instruments 30, 31, 32, 33

291 OK Machine & Tool 59

293 Oliver Advanced Engineering 68289 On Line 1 73

292 Osborne & Associates 113

* Owens Associates 218

294 Pacific Digital 130

296 Pacific Office Systems 227

297 Page Digital 219

298 PAIA Electronics 133

299 PanaVise 141

288 PCE Electronics 148

301 Per Com Data 37

302 Personal Software 88

303 Personal Systems Consulting 70

304 Pet Shack Software House 228313 Pickles & Trout 175

323 Potter's Programs 222306 Priority I 215,217

305 Processor Technology 8, 9, 10

* Program Design Inc 155, 157

308 Programmer Software Exchange 177

309 PRS39, 218

311 Quest Electronics 229

* Radio Shack 85

327 Rank Peripherals 89322 RCA 27

314 Rondure Co 214

328 Rothenberg Information Sys 144

316 S-100 187

* Scelbi43,65, 72, 73

* Scelbi/BYTE Primer 183

* Scientific Research 35, 47, 132

318 Seattle Computer Products 69

319 Michael Shrayer Software 127

312 ShugartCIV

317 Signetics Corp 23

324 Ed Smith's Software Works 175

320 Smoke Signal Broadcasting 167, 169,171, 173, 175,177, 179, 181

326 SoftSide177

321 Software-80 179335 SSM71.79

340 Solid State Sales 221

343 Soroc 5

350 Southwest Technical Products Corp CM

353 Springer-Verlag 149352 Stirling Bekdorf 49

351 Structured Systems Group 129

354 Sunny International 228

357 Sybex Inc 138

355 Synchro Sound 51

359 Talos Systems Inc 46

358 Tano 55

360 Tarbell Electronics 115

363 TASA 24, 25

364 Taylor & Associates 145

370 Technical Systems Consultants 75

372 Telpar Inc 26

377 Terminal Systems 228

356 3 S Sales 214

373 Tora Systems Ltd 228

382 Total Information Services 155

378 Trans-Data 152

374 TransNet Corp 122376 TriTek223

383 US Robotics 187

387 VR Data Corp 218

388 Wameco 227

395 Worldwide Electronics 228

400 Xitex 134,135

'Correspond directly with company.

BVTPs Ongoing Monitor' Bex

Fingers Do Walking on August BOMB

Article No. ARTICLE PAGE

1 The Spracklens: An Exchange Evaluator for Computer Chess 16

2 Ruckdeschel: Functional Approximations 34

3 Kasser: The Sky's the Limit 48

4 Horton: Distributed Network 62

5 Ciarcia: I've Got You in My Scanner! 76

6 Gerhold: Computer Assisted Instructiorvon a Microcomputer 90

7 Wilson: Defining a Language: PL/B 100

8 Hill: A Classroom Demonstration 112

9 Bruninga: A Multiuser Data Network 120

10 Christensen-Suess: Hobbyist Computerized Bulletin Board 150

11 Hubin: Heath Microprocessor Training System 158

12 Anderton: A Cassette Interface Switching Box for the TRS-80 160

13 Frey-Atkin: Creating a Chess Player, Part 2 162

14 Chung-Yuen: A "Tiny" Pascal Compiler, Part 3 182

Steve Ciarcia has won the $100 BOMBfirst prize again with his article "Let YourFingers Do the Talking: Add a NoncontactTouch Scanner to Your Video Display,"page 156. Second prize of $50 goes to ChipWeems for "Designing Structured Pro-grams," page 143. The articles placed 1.9and 1.4 standard deviations above the mean,respectively. In third place was "Pascalversus BASIC: An Exercise," page 168,followed by "Pascal: A Structurally StrongLanguage," page 78.

To cast votes for your favorite articles,use the convenient BOMB card on theopposite page."

232 November 1978 @ BYTE Publications Inc

program^

you can uyz in your bu^ine^yready to go noco!

Our programs will let you realize the full potential of your hardware

ped these programs because we needed them • Periodic newsletters which include

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 • PayrollHere'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 Via 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*AII 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.

jg^ That's the kind of information service we expect,andknowyou do too.

CBASIC-2 may be purchased separately

from Graham-Dorian Software Systems forS89.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.

"My 8 to S minifloppy nowworks nights and weekends!

tfc'tM*-A/ fj

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

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

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

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

^® Shugart Associates

435 Oakmead Parkway, Sunnyvale, California 94086

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

TM minifloppy is a registered trademark of Shugart Associates

Circle 312 on inquiry card.