Byte Magazine Volume 04 Number 02 - Robot Arm

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

Someday all terminals will be smart,

128 Functions—software controlled 7x12 matrix, upper/lower case letters 50 to 38,400 baud-selectable

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

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

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216

Circle 350 on inquiry card.

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

BUSINESS — EDUCATION — ENGINEERING — MANUFACTURING

We are pleased to announce the first professional time-sharing system in the microcomputer field.

Naturally, it's from Cromemco.

This new multi-user system will do all of the tasks you usually associate with much more expensive time-sharing computers. Yet it's priced at an almost unbelievably low figure.

Look at these features:

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

• You can have a large system RAM memory that's expandable to 1A megabyte using the Bank Select feature

• Each user has an independent bank of RAM

• You can have floppy disk storage of up to 1 megabyte

• You have confidentiality between most stations

• And, make no mistake, the system is fast and powerful. You'll want to try its fast execution time yourself.

PROGRAMMERS LOVE OUR BASIC

This new system is based on Cromemco's well-known System Three Computer and our new Multi-User BASIC software package.

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

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

• You get many unusual and helpful commands that simplify programs and execution — commands such as PROTECT, LIST VARIABLES, NOLIST, and many more.

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

• Terminals and printer are interruptdriven — no additional overhead until key is pressed.

• The conveniences in this Multi-User BASIC make it much easier to write your own application software.

• A line editor simplifies changes.

BENCHMARK IT— NOW In the final analysis, the thing to do is see this beautiful new system at your dealer. See its rugged professional quality. Evaluate it. Benchmark it for speed with your own routine (you'll be agreeably surprised, we guarantee you).

Find out, too, about Cromemco's reputation for quality and engineering.

Look into it now because you can have the capabilities of a fully computerized operation much quicker and for much less than you ever thought.

n

Cromemco

I n

^^_Jl Microcomputer Systems

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

Circle 80 on inquiry card.

BYTE February 1979

Latched Outputs

4 MHz Crystal Clock

On Card

Voltage

Regulation

Parallel I/O Port #1

\

Parallel I/O Port #2

Parallel I/O Port #3

\

RS-232or Current Loop I/O Port #4

8KROM Capacity

IK RAM

Standard Bus

for System

Expandability

Programmable Baud Rate UART with

Interval Timers

4MHzZ-80A

Completely Buffered Bus Interface

The single card computer

with the features that help you in real life

COMPLETE COMPUTER

In this advanced card you get a professional quality computer that meets today's engineering needs. And it's one that's complete. It lets you be up and running fast. All you need is a power supply and your ROM software.

The computer itself is super. Fast 4 MHz operation. Capacity for 8K bytes of ROM (uses 2716 PROMs which can be programmed by our new 32K BYTESAVER® PROM card). There's also 1K of on-board static RAM. Further, you get straightforward interfacing through an RS-232 serial interface with ultra-fast speed of up to 76,800 baud — software programmable.

Other features include 24 bits of bidirectional parallel I/O and five onboard programmable timers.

Add to that vectored interrupts.

ENORMOUS EXPANDABILITY

Besides all these features the Cromemco single card computer gives you enormous expandability if you ever need it. And it's easy to expand. First, you can expand with the new Cromemco 32K BYTESAVER PROM card mentioned above. Then there's Cromemco's broad line of S100-bus-compatible memory and I/O interface cards. Cards with features such as relay interface, analog interface, graphics interface, optoisolator input, and A/D and D/A conversion. RAM and ROM cards, too.

Card Cage 32K BYTESAVER PROM card

Q

EASY TO USE

Another convenience that makes the Model SCC computer easy to use is our Z-80 monitor and 3K Control BASIC (in two ROMs). With this optional software you're ready to go. The monitor gives you 12 commands. The BASIC, with 36 commands/functions, will directly access I/O ports and memory locations — and call machine language subroutines.

Finally, to simplify things to the ultimate, we even have convenient card cages. Rugged card cages. They hold cards firmly. No jiggling out of sockets.

AVAILABLE NOW/LOW PRICE

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

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

Cromemco

incorporated Specialists in computers and peripherals 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400

BYTE February 1979

Circle 80 on inquiry card.

In the Oueue

EITE February 1979 Volume 4, Number 2

Foreground

70

90

108

162

12

32

66

76

84

120

154

180

186

USE YOUR TELEVISION SET AS A VIDEO MONITOR, by Timothy Loos

The right circuit modifications can save you the price of a video monitor

THE ECLECTIC CARD READER, by Anthony J Schaeffer A do-it-yourself punched card reader

A STEPPING MOTOR PRIMER: Theory of Operation, by Paul Giacomo Learn about these useful devices in the first of a 2 part tutorial

FAST FOURIER FOR THE 6800, by Richard H Lord

Analyze speech and music with this fast FFT program

BUILD A COMPUTER CONTROLLED SECURITY SYSTEM FOR YOUR HOME, by Steve Ciarcia The software for a sophisticated computerized security system—Part 2 of a 3 part series

page 6

Background

DESIGNING A ROBOT FROM NATURE: Biological Considerations, by Andrew Filo

The eye of the frog is the inspiration for a video scanner—Part 1 of a 2 part article

A MICROPROCESSOR FOR THE REVOLUTION: The 6809, by Terry Hitter and Joel Boney Creating the 6809 instruction set, and related matters-Part 2 of a 3 part series

ANOTHER PLOTTER TO TOY WITH, by Peter A Lucas Build a plotter with an Etch-a-Sketch!

ASSEMBLING THE ADM-3A, by Paul Franson

A user report on the Lear Siegler "dumb" terminal kit

A HOBBYIST ROBOT ARM, by Keith Baxter and Timothy Daly

A Luxolamp is the inspiration for this clever robot arm design

APPROACHING GAME PROGRAM DESIGN, by H L Stuck Techniques for designing your own computer games

UNLIMITED PRECISION DIVISION, by Jef Raskin Investigate real numbers with integer BASIC

HAMMING ERROR CORRECTING CODE, by Michael Wimble

One step beyond the parity bit, Hamming codes detect and correct errors

FILES ON PARADE: Types of Files, by Mark Klein

One of the basic building blocks of computer programming is examined—Part 1 of a 2 part article

Nucleus

m

page 12

Nybbles: Computerized Wine Cellar

8 Queens Forum

Technical Forum: Interfacing TTL to 20 mA Current

Event Queue

Clubs and Newsletters

What's New?

Unclassified Ads

BOMB, Reader Service

Cover Art: CLOSING THE LOOP, by Ken Lodding, after M C Escher.

4

In This BYTE

128

6

The Current State of Robotics

132

10

Letters

150

43

BYTE's Bugs

158

44

BYTE's Bits

184

55

Book Review

201

58

Robotics Forum

230

63

BYTE News

232

Loop

page 84

BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. Address all mail except subscriptions to above address; phone (603) 924-7217. Address 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 manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of address. Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class postage paid at Peterborough NH 03458 and at additional mailing offices—USPS Publication No. 102410. Subscriptions are $15 for one year, $27 for two years, and $39 for three years in the USA and its possessions, Add $5.50 per year for subscriptions to Canada and Mexico. $25 for a one year subscription by surface mail worldwide. Air delivery to selected areas at additional rates available upon request. $25 for a one year subscription by air delivery to Europe. Single copy price is $2.00 in the USA and its possessions, $2.40 in Canada and Mexico, $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. Entire contents copyright© 1979 by BYTE Publications Inc. All rights reserved.

Subscription WATS Line: (800) 258-5485

February 1979 ©BYTE Publications Inc

This month's cover, "Closing the Loop," by Ken Lodding, is our version of the famous original, "Drawing Hands," by the Dutch artist Maurits Cornelis Escher (1898-1969). Much of Escher's work deals with mathematical subjects, and the idea of a robot hand drawing a human hand (and vice versa) seems particularly appropriate to this month's theme of robotics.

In Designing a Robot from Nature,

Andrew Filo begins a 2 part series about a robot arm and eye mechanism designed to simulate certain biological features of amphibians. Study of the frog's insect catching capability leads to some interesting design shortcuts. Read Part 1: Biological Considerations, page 12

6809 designers Terry Ritter and Joel Boney of Motorola continue their discussion of A Microprocessor for the Revolution: The 6809 in Part 2: Instruction Set Dead Ends, Old Trails and Apologies. This lively question and answer section reveals the design philosophy that went into the 6809, the successor to the Motorola 6800 processor. page 32

If you have just bought a Radio Shack TRS-80 or a similar microcomputer, you may have asked "How can I use a standard television receiver as a video display unit?" Timothy Loos answers the question with high resolution results in his article Use Your Television Set as a Video Monitor. page 46

In Another Plotter to Toy With,

Peter A Lucas describes a novel approach to building a homebrew plotter using an Etch-A-Sketch® unit, which is available in toy stores.

page 66

Punched cards are still very much with us. For experimenters who want to make use of this venerable storage medium, Anthony Schaeffer describes a homebrew card reader in The Eclectic Card Reader. page 70

The Lear Siegler ADM-3A "dumb" terminal can provide terminal oriented systems with this essential component in a reasonably priced kit. Paul Franson describes his experiences while Assembling the ADM-3A from a kit.

page 76

In this BYTE

The development of a hobbyist robot arm capable of being controlled by a computer will open up a new area of control applications. The robot arms available on this level today are fairly small and weak. Keith Baxter and Timothy Daly describe their design for A Hobbyist Robot Arm.

page 84

The stepping motor is an attractive device for personal computer applications because of its versatility and price. Paul Giacomo begins a 2 part Stepping Motor Primer in this issue. Part 1: Theory of Operation, gives the background on the device. The second part, in next month's BYTE, will cover interfacing to a computer. page 90

We recently presented a Fast Fourier Transform program (December 1978 BYTE) written in BASIC. (FFTs are used to analyze periodic signals such as music and speech for frequency content.) This month, Dick

Lord's Fast Fourier for the 6800 describes a 6800 assembly language version that is approximately ten times faster than the BASIC version.

page 108

Many personal computer owners use their systems to develop game programs, one of the most exciting and creative applications of this technology. There are probably as many ways to go about developing game programs as there are people implementing them. H L Stuck is one such implementer and he has several ideas about Approaching Game Program Design presented in his article in this issue. page 120

If your computer is currently running a programming language that allows only integer manipulation, do not despair. You can still have a lot of fun exploring real numbers. Jef Raskin describes how to perform Unlimited Precision Division using only an integer BASIC package. page 154

Part 2 of Build a Computer Controlled Security System for Your Home by Steve Ciarcia concentrates on software. With a bit of effort readers can implement this sophisticated system, which uses infrared beams and ultrasonics (among other techniques) to keep their homes secure. The 3 part series concludes next month. page 162

It can be very disconcerting to have an error appear in a long string of information being loaded from a tape. Usually this means that the entire operation must be started over again. Michael Wimble describes the Hamming Error Correcting Code to help reduce this problem. page 180

With the advent of inexpensive mass storage devices such as the floppy disk, the use of files is becoming more widespread in personal computing. Mark Klein begins a 2 part discussion of what files are and how to use them in Files on Parade, Part 1: Types of Files. page 186

February 1979©BYTE Publications Inc

"]% Shugart followed me h

IT'

A

c

?

-■••

\

\Qa

"After working all day with the computer at work, it's a kick to get down to Basic at home. And one thing that makes it more fun is my Shugart minifloppy™- We use Shugart drives at work, so when I bought my own system I made sure it had a minifloppy drive.

"Why? Shugart invented the minifloppy. The guys who designed our system at work tell me that Shugart is the leader in floppy design and has more drives in use than any other manufacturer. If Shugart drives are reliable enough for hard-working business computers, they've got to be a good value for my home system.

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

transfer. The little minidiskettes™ store plenty of data and file easily too.

"I made the right decision when I bought a system with the minifloppy, when you lay out your own hard-earned cash, you want reliability and performance. Do what I did. Get a system with the minifloppy."

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

*A Shugart

435 Oakmead Parkway, Sunnyvale, California 94086

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

TM minifloppy is a registered trademark ot Shugart Associates

Circle 320 on inquiry card.

BYTE February 1979

Publishers Virginia Londoner Gordon R Williamson Assistant to Publishers Ruth M Walsh

Director, Editorial Planning

Carl T Helmers Jr

Editor in Chief

Christopher P Morgan

Senior Editors

Raymond Q A Cote

Blaise W Liffick

Editor

Richard Shuford, N4ANG

Editorial Assistant

Gale Britton

New Products Editor

Clubs, Newsletters

Laura A Hanson

Production Manager

Karen Gregory Vice-President Judith Havey Production Editors Nancy Salmon David William Hay ward Peter Pertn Typographer Cheryl A Hurd Production Art Ellen Bingham Wai Chiu Li Christine Dixon

Advertising Director

John Hayes (603) 924-6448

Assistant Director

Patricia Clark

Coordinator

Thomas Harvey

Assistants

Noreen Bardsley

Jill Callihan

Circulation Manager

Gregory Spitzfaden Assistants Ann Graves Pamela R HeasMp Agnes E Perry Dealer Sales Ginnie F Boudrieau Anne M Baldwin

Communications Coordinator

James C Morrissett, K6MH Traffic Manager Rick Fuette Receptionist Jacqueline Earnshaw

Comptroller Kevin Maguire Assistant

Mary E Fluhr

Drafting

Techart Associates

Typography

Goodway Graphics

Photography

Ed Crabtree

Printing

The George Banta Company

Associate Editor

Daniel Fylstra

Associates

Walter Banks

Steve Ciarcia

David Fylstra

Portia Isaacson

Book Division:

Production Manager Edmond C Kelly Jr Assistant Patricia Curran

National Advertising Sales Representatives:

Hajar Associates Inc

East

280 Hillside Av

Needham Heights MA 02194

(617)444-3946 .

521 Fifth Av

New York NY 10017

(212)682-5844

Midwest

664 N Michigan Av

Suite 1010

Chicago IL 60611

(312)337-8008

West, Southwest

1000 El Welle Ct

Suite 227

Palo Alto CA 94303

(415)964-0706

Distributors:

Eastern Canada

RS-232 Distribution Company

186 Queen St W, Suite 232

Toronto ONTARIO

Western Canada

Kitronic Ltd

26236 26th AvRR 5

Aldergrove BC VOX 1A0

Editorial

The Current State of Robotics

by Carl Helmers

Photo I: Robot arm, which was assembled by yours truly, using a kit of parts supplied by Gallaher Research Inc for $400. It was purchased in September 1978 and was assembled in about two hours from the parts supplied. It has no sensors, and no attention to that minor detail of how to drive the 6 V 4 A (8 A peak) loads of each motor. Since this item was purchased, Mr Gallaher informs us it has been withdrawn from the market.

February 1979 © BYTE Publications Inc

Exciting developments are on the horizon of the field of automated intelligent mechanisms. With its cover theme of "the arms race" this issue of BYTE reflects the trend towards perfection of an inexpensive robot arm that is within the construction capabilities of the computerist. A number of individuals are experimenting with a mechanism controlled by a small computer. At present the efforts are but experiments— with no obvious application as products for living. But out of this spirit of experimentation new fields of endeavor grow.

Robotics is not yet a consumer products field, unless one would include the entertainment automatons (found at amusement parks), which are controlled by minicom

puters of an older computer technology. Of course, robotic techniques are already in commercial use, as with intelligent automated machines operating in manufacturing and commercial office environments. I know of contemporary uses of robotic arms in the commercial manufacturing of automobiles and jet engine turbines. There is also a wellknown robot mail cart which delivers interoffice mail in large buildings in many cities. It can not yet negotiate elevators, so it is confined to one floor at a time and thus is most cost efficient in flat buildings.

The Stanford Research Institute robot called Shakey, which is described in Bertram

Continued on page 194

Photo 2: Of course, there are marionettes. This little beastie cost us $32.50 including tax at a store called Geppetto's located in a pushcart at Boston's Faneuil Hall marketplace. It is a fully assembled mechanical system, but it lacks the DC motor actuators necessary to pull strings.

February 1979 © BYTE Publications Inc

Why were all those

■^m;

scientists of the 30's so mad?

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

CCS: Here to Deliver

We're California Computer Systems. We'll deliver to you what old Doc ordered and never received. Kits without missing parts. Defect-free workmanship backed by years of solid experience. Quality engineering throughout. And easy-todecipher support documentation.

Electronics mavericks will appreciate us. We intend to back the true computer hobbyist who wants to do his own S-100 system with everything from a bare metal box to etch and wire-wrap boards suitable for designing original circuits.

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

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

Remember our name—California Computer Systems—and look for our decal on display at a nearby computer store. It's your sure sign of complete satisfaction.

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

MH California Computer Systems

(l—^ 309 Laurelwood Road, Unit 18

•■■i Santa Clara, CA 95050

Circle 37 on inquiry card

So Nobody Goes Away Mad.

"TRS-80 is a registered trademark ol Radio Shack, a Tandy Co.

(Apple is a registered trademark of Apple Computers, Inc.

ABACUS ANSWERS

The answers to William B Adams' abacus query (November 1978 BYTE, page 145) can be found in Number Words and Number Symbols by Karl Menninger, the MIT Press (1970).

The Roman abacus had four counters below the bar and one above. The Japanese soroban has five counters below and one above. The Chinese suan pan has five counters below and two above. The Russian schyot has ten counters and no bar, with the two middle counters colored differently from the rest (the counters run horizontally instead of vertically). The three latter forms are widely used, even today, side by side with electronic digital calculators.

Menninger's fascinating and scholarly book devotes about 90 pages to the history of the abacus and counting boards.

Richard D Geckler

135 Belday Rd

Pasadena CA 91105

MORE ON THE ABACUS

A letter from William B Adams in November 1978 BYTE, page 145, questioned the designation of the abacus pictured in the interesting article on "A Short History of Computing" by Keith S Reid-Green that appeared in July 1978 BYTE, page 84. Perhaps I can help answer Mr Adam's question.

First, Mr Reid-Green is correct. The abacus pictured in his article is a traditional Chinese abacus having two upper (or heaven) beads and five lower (or earth) beads. Mr Adams says his machine has two upper and five lower beads but "is clearly marked 'Japan' and soroban in small print. . . ." No problem; early Japanese sorobans (Japanese for abacus) used the Chinese bead configuration. Eventually the number of upper beads was reduced to one and in 1891 Garyu Irie reduced the number of lower beads to four.

The modern Japanese configuration is more efficient than the traditional Chinese abacus, assuming the user has memorized a number of fingering rules. For example, in 1946 an employee of the Japanese Postal Administration defeated a representative of the US occupation force in a contest that matched a soroban against an electric

calculator. The abacus won in addition and subtraction (50 problems of 3 to 6 digits), division (6 to 1 2 digits per problem) and composite problems. Only in multiplication did the calculator win.

Incidentally, Mr Reid-Green implies that "Roman and European traders" learned the principle of the abacus from the Chinese. Actually the Romans had developed a kind of abacus before the time of Christ. The present Chinese abacus was first mentioned in a book from the Yuan Dynasty of the 14th century. The Chinese call their abacus SUM-pan, while abacus is of uncertain origin.

For a quick introduction to the abacus, Mr Adams might wish to refer to chapter 2 of Number Machines, a short book on the abacus, slide rule and calculator I have written (David McKay Company, 1977).

Forrest M Mims III

Contributing Editor, Popular Electronics

Rt 1 Laurel Estates #71

San Marcos TX 78666

RATFOR RATIONAL

I enjoyed your special August 1978 BYTE issue on Pascal. I shall be looking forward to more software in Pascal from readers of BYTE (hint, hint).

I did note a passing reference to RATFOR in your cover writeup and I would like to take exception to its being classified (even by implication) with FORTRAN. For those who are not familiar with RATFOR, it is a structured language created by B W Kernighan and P J Plauger as a vehicle to illustrate good programming practices in their book Software Tools (Addison Wesley, Reading MA, 1976). RATFOR is a preprocessor which converts RATFOR code into FORTRAN. It implements the following structures:

IF..THEN . . ELSE

WHILE

REPEAT..UNTIL

FOR (iterative)

as well as some useful extensions such as file inclusion, string declaration and token replacement. Lacking are Pascal features such as recursion, range declarations and the case of structure.

At the University of Malaya here we

Continued on page 152

See Sol at all these

fine

computer

centers

AL: Birmingham: Computer Center Inc., (205) 942-8567. CA: Costa Mesa: Orange County Computer Center, (714) 646-0221. Los Angeles: Computers Are Fun, (213) 475-0566. Modesto: Computer Magic, (209) 527-5156. Mountain View: Digital Deli, (415) 961-2670. San Rafael: The Byte Shop, (415) 457-9311. Walnut Creek: MicroSun Computer Center, (415) 933-6252. CT: Bethel: Technology Systems. (203) 748-6856. FL: Ft. Lauderdale: Byte Shop of Ft. Lauderdale, (305) 561-2983. Miami: Byte Shop of Miami, (305) 264-2983. Tampa: Microcomputer Systems, (813) 879-4301. IL: Lombard: Midwest Microcomputer, (312) 495-9889. IA: Davenport: Memory Bank, (319) 386-3330. MA: Walpham: Computer Power (617)890-4440. MD: SilverSprings: Computers Etc.. (301) 588-3748. Towson: Computers Etc., (301) 296-0520. MO: Florissant: Computer Country. (314) 921-4434. NH: Nashua: Computerland of Nashua, (603) 889-5238. NJ: Cherry Hill: Computer Emporium, (609) 667-7555. Iselin: Computer Mart of New Jersey (201) 283-0600. NY: Endwell: The Computer Tree, (607) 748-1223. Syracuse: Computer Shop of Syracuse, (315) 637-6208. White Plains: The Computer Corner, (914) 949-3282. NC: Raleigh: ROMs 'N' RAM's, (919) 781-0003. OH: Akron: The Basic Computer Shop, (216) 867-0808. OR: Beaverton: Byte Shop Computer Store, (503) 644-2686. Portland: Byte Shop Computer Store. (503) 223-3496. PA: King of Prussia: Computer Mart of Pennsylvania. (215) 265-2580. Rl: Warwick: Computer Power, Inc., (401) 738-4477. TN: Kingsport: Microproducts & Systems. (615) 245-8081. TX: Arlington: Computer Port, (817)469-1502. Arlington: Microstore, (817) 461-6081. Houston: Interactive Computers, (713) 772-5257. Houston: InteractiveComputers, (713) 486-0291. Lubbock: Neighborhood Computer Store, (806) 797-1468. Richardson: Microstore, (214) 231-1096. UT: Salt Lake City: Home Computer Store, (801)484-6502. VA: McLean: Computer Systems Store, (703) 821-8333. WA: Bellevue: Byte Shop Computer Store, (206) 746-0651. Seattle: Byte Shop of Seattle, (206) 622-7196. Wl: Madison: The Madison Computer Store, (608) 255-5552. Milwaukee: The Milwaukee Computer Store, (414) 445-4280. DC: Georgetown: Georgetown Computer Emporium, (202) 337-6545. CANADA: London, Ontario:TheComputerCircuit Ltd.. (519) 672-9370. Toronto, Ontario: Computer Mart Ltd., (416) 484-9708. Vancouver. B.C.: Basic Computer Group Ltd., (604) 736-7474. ARGENTINA: Buenos Aires: Basis Sistemas Digitales, 93-1988 or 57-7177. AUSTRALIA: Sydney: Automation Statham, (02) 709.4144. Sydney: A.J.F. Systems and Components Pty. Ltd.. 8076878. BELGIUM: Bruxelles: Computer Land, 02/511.34.45. COLUMBIA: Bogota: Video National. 326650. DENMARK: Copenhagen: Peter W. Holm Trading ApF 01-543466. MEXICO: MexicoCity: Industrias Digitales, (905) 524-5132. SPAIN: Barcelona: Interface S.A., (93) 301 7851 SWEDEN: Stockholm: Wernor Elektronik. (0) 8717-62-88. UNITED KINGDOM: Huntingdon. England: Comart, Ltd., (0480) 74356. London: The Byte Shop Ltd., 015542177. VENEZUELA: Los Ruices, Caracas: Componentes Y Circuitos ElectronicosTTLCA, 355591.

10

February 1979 © BYTE Publications Inc

Circle 305 on inquiry card.

Soli The small computer that won't fence you in.

A lot of semantic nonsense is being tossed around by some of the makers of so-called "personal" computers. To hear them tell it, an investment of a few hundred dollars will give you a computer to run your small business, do financial planning, analyze data in the engineering or scientific lab — and when day is done play games by the hour.

Well, the game part is true. The rest of the claims should be taken with a grain of salt. Only a few personal computers have the capacity to grow and handle meaningful work in a very real sense. And they don't come for peanuts.

Remember, there's no free lunch.

So before you buy any personal computer, consider Soli'11 It costs more at the start but less in the end. It can grow with your ability to use it. Sol is not cheap. But it's not a delusion either.

Sol small computers are at the very top of the microcomputer

spectrum. They stand up to the capabilities of mini systems costing four times as much.

No wonder we call it the serious solution to the small computer question.

Sol is the small computer system to do the general ledger and the payroll. Solve engineering and scientific problems. Use it for word processing. Program it for computer aided instruction. Use it anywhere you want versatile computer power!

Build computer power with our software.

At Processor Technology we've tailored a group of high-level languages, an assembler and other packages to suit the wide capabilities of our hardware.

Our exclusive Extended BASIC is a fine example. This BASIC features complete matrix functions. It comes on cassette or in a disk version which has random as well as sequential files.

Processor Technology FORTRAN is similar to FORTRAN IV and

has a full set of extensions designed for the "stand alone" computer environment.

Our PILOT is an excellent text oriented language for teachers.

Sold and serviced only by the best dealers.

Sol Systems are sold and serviced by an outstanding group of conveniently located computer stores throughout the U.S. and Canada.

For more information contact your nearest dealer in the adjacent list. Or write Department B, Processor Technology, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. Phone (415) 829-2600.

In sum, all small computers are not created equal and Sol users know it to their everlasting satisfaction.

ProcessorTechnology

Designing a Robot from Nature

Part 1: Biological Considerations

Andrew Filo 4621 Granger Rd Akron OH 44313

Note:

This article contains highly stylized biological drawings, not to be understood as accurate histological representations.

One of the major problems involved in producing a robot is the design of a sophisticated "brain" and "nervous system" for the robot. Since World War II there has been an ever intensifying research effort to produce just such an artificial intelligence.

Presently, there are two distinct groups performing this research: neural cybernetists and cognitionists. The first group, the neural cybernetists, are concerned with studying the nervous systems and brains of living organisms in hopes of emulating them with machinery. To date, this type of research has provided much information about neurons and the entire nervous system in general. From this research, neural cybernetists have developed noncomputer perceptrons (artificial intelligence machines). Notable among the perceptrons already built is a system modeled after the pigeon's nervous system, used in missile navigation. The cognitionists believe, however, that highly evolved computer software is the best way to produce artificial intelligence. Examples of the work in this area are articles by Michael Wimble and Ralph Hollis ("Artificial Intelligence, An Evolutionary Idea, Parts 1 and 2," May and June 1977 BYTE, pages 26 and 100; and "Newt: A Mobile, Cognitive Robot," June 1977 BYTE, page 30).

Although the neural cybernetists and cognitionists are essentially striving toward the same goal, they often refuse to recognize each other's research effort. Two books that exemplify the conflict in views are 777e Computer and Thought, edited by E Feigenbaum and J Feldman, and The Search For Robots, by A J Cote Jr (see

bibliography at end of part 2 next month). In the latter, Cote describes the work of neural cybernetists in artificial intelligence and robot research.

Cote argues that the computer is a poor device for use in constructing an artificial intelligence. He supports his claim with the old misconception that computers are electronic brains. He feels that cognitionists have convinced themselves that a computer can become intelligent if programmed properly. Conversely, Feigenbaum and Feldman's book, a collection of published papers, has an opening chapter that, among other things, explains why the editors have excluded all neural cybernetics papers. In part, they argue, cognitionists "believe that intelligent performance by a machine is an end difficult enough to achieve without starting from scratch," as a neural cybernetist would have to. It is unfortunate that these two groups continue to hold these views even though the books were written more than a decade ago, since, in my view, combining the two philosophies is the only practical way for researchers to understand and develop a truly sophisticated artificial intelligence.

My interests in this field prompted me to try to fill the void created by cognitionists and neural cybernetists by developing my own philosophy pertaining to the study and development of artificial intelligence and robot systems in general. Cyberanimetrics is the name I have given this field. Cyberanimetrics is the study of biological organisms and machines (largely theoretical at this point) that exhibit some or all of life's qualities, ie: organization, irrita

12 February 1979©BYTE Publications Inc

Photo J: The author's robot arm and eye mechanism, modeled after the frog's insect catching mechanism. The eye uses a square array of light sensors that simulate the net convexity detectors found in the retina of the frog's eye, used by the frog to detect small, fast moving insects. The arm is similarly patterned after the frog's tongue and arm grasping and moving action. Construction of a portion of the eye mechanism is described in part 2 of this article.

bility, movement, growth, reproduction, and adaptation. These animate systems are studied from the standpoint of the information movement that is necessary for the system's operation or survival. Cyberanimetrics combines neural cybernetics and computer cognition with a host of other sciences to analyze both data flow and the structure where this data flow occurs. By studying biological and mechanical systems from this vantage, the designer becomes aware of the fact that the micro and macrostructures of both types of systems have to be specialized through either evolution or design, so that the system can operate successfully in its environment. Cyberanimetrics is, more than anything else, a study of system specialization.

Specialization through good organization is important in any robot or artificial intelligence system. But in the past it was thought to be more important to make the system

as sophisticated as possible. Consequentially, many systems built were simply collections of unrelated but extremely advanced devices, making it very difficult for the early designs to operate as a system. It is not a major problem in robotics today to achieve complexity in a system; rather the problem has become how to make the complex systems operationally efficient and successful for a given end. Organization is important because one method can result in a much cheaper, more reliable, and less complex system. But to organize a system, the designer must first see how other systems are organized.

This is where cyberanimetrics comes in: instead of examining only the creations of engineers, the designer also examines nature's creations. This comparison of natural and artificial systems by the designer is quite logical since I feel that a robot or an artificial intelligence is an attempt by man to utilize certain physical or behav

February 1979© BYTE Publication! Inc

13

ioral design aspects of biological systems (ie: bionics). Cyberanimetrics allows the designer to appreciate the variety of methods employed by the various systems because both mechanical and biological systems are examined in terms of their similarities in structure and organization. This means that a person designing a system must be equally familiar with biology, computer sciences, cybernetics, artificial intelligence, mechanics, and physics.

Biological Considerations

Generalizations regarding the nervous system leave the impression that nerves merely conduct information, or that the eye works somewhat like a television camera that sends an inverted image to the brain for analysis. These oversimplifications might lead designers to believe that they can make a computer "see" by interfacing an array of digital light detectors to it. But, there is more to vision than meets the digital eye. In the compound eye of the ant, for example, there are 1200 ommatida (light sensitive elements). Some of these are so specialized that they are sensitive only to the polarization of ultraviolet radiation from the sun and are used by the ant exclusively for navigational purposes. Other ommatida are used for color, size, or motion detection and all are connected to the brain by nerve fibers that not only conduct but also process the video information. However, it is very doubtful that an ant "sees" an image in the sense of human consciousness; more likely, it apprehends its optical environment in some other way.

Just as important as being able to understand various biological and mechanical concepts is the ability to apply these concepts to the design of a system. After all, it would be impractical to try to build an authentic copy of an organism. In the previous example, if a neural cybernetist wanted to utilize digital light sensors, he might attempt to duplicate the ant's visual system. But, he would face many problems, the toughest being the construction of artificial ommatida. Each ommatida in the ant's eye has a particular structure depending on its function, whereas digital sensors are a matrix of uniform sensing elements. It would be very difficult to build the individual microoptics necessary to perform color separation light polarization analysis. Of course, some of the analysis could be performed by a computer, but the more effort that goes into making a system into a faithful model of the ant, the more the system would be compromised. In the end, it would have been more economical to use a real ant.

If, instead of attempting to copy the

ant like the neural cybernetist, or ignoring the ant like the cognitionist, the designer applies the concepts of ant vision toward a certain goal, he might stand a chance of developing an operational system. If the system is to navigate by sunlight, certain aspects of the ant's polarization detector would be useful; however, color recognition and motion detection would be useless features and therefore not included in the system. The purpose of cyberanimetrics as a design philosophy, then, is to intentionally apply accepted, standard biological and mechanical concepts to create a robot or artificial intelligence device that can accomplish certain predefined goals.

Cyberanimetrics and Design

To see how cyberanimetrics works as a design philosophy, consider the design of the system pictured in photo 1. This system, named NELOC (neural logic cyberanimate), was initially designed for use as a subsystem on a land survey vehicle (LSV). Built to be located in a forward turret, the system was designed to gather soil, liquid, and flora samples from its location. Ideally, the system could do this either automatically or by remote operator control.

The only critical limiting factor in the system's design is cost. To stay within a reasonable budget, I had to organize the manner in which I was going to design the system so my effort would not be wasteful or redundant. I resolved the matter by formulating the following steps for research and development:

1. Define the system's application.

2. Define the qualities necessary for the system to perform its application.

3. Based on these definitions, consider the mechanisms employed by biological or mechanical systems that closely match the definition.

4. Analyze the system(s).

5. Based on this analysis, evaluate the relative merits, (ie: cost, complexity, and performance) of using the analyzed system's method in the design of the robotic (in this case, turret) system. Translate this analysis into design.

These guidelines forced me to clarify the need for the system and the means and method of its operation — and I found that these five steps involving the system design were more important than the phases of its construction.

Design work on the system began by defining its characteristics. I determined

14

February 1979©BYTE Publications Inc

Circle 255 on inquiry card.

4P+2S+Strobe+Atteirtion+RAM+EPROM=S199

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

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

And every port is switch-programmable for total flexibility in interfacing complex peripherals.. .such as 12-bit daisywheel printers.

Each parallel port can be switched for input or latched output. Both serial ports can be switched to any of 16 baud rates from 110 to 19,200. Each strobe and attention port flip-flop can be switched for pos or neg pulsing.

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

Ask your local computer shop to place your order immediately for priority shipping. Or, if unavailable locally, order direct from ThinkerToys™, 1201 10th St., Berkeley, CA 94710.

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

*Sockets provided; chip set optional.

A product of Morrows Microstuff for

Thinker Tbys

that the turret system should be able to locate, classify, and manipulate objects close to it (within reaching distance of the manipulator arm). To accomplish this, the turret system would have to exhibit four animate qualities. First of all, the turret system would have to be organized (ie: that the system had to be able to handle the movement and analysis of data in some consistent manner). The system would also have to express irritability (ie: certain stimuli, whether internal or external, would cause the turret system to act in some characteristic manner). For example, if a specimen moved out of the system's view, the system would respond by looking for the lost specimen. The third animate quality was motion, a necessary quality for the system to work in its environment. The last quality required is adaptation, probably the most important feature since I could not envision all of the possible situations the system might encounter. However, this type of adaptation would not be structural, but rather "intellectual" in nature. Without the ability to adapt, the system would not learn from failure.

After considering the proposed design characteristics, I selected the frog as a model to study, primarily because of its fascinating ability to locate and catch insects. In order to catch a flying insect, for instance, the frog must be able to scan an area greater than the reach of its tongue and then classify various objects such as prey, predators, other frogs, etc, based on sensory data. Finally, the frog responds to the flying insect (solely on the basis of visual information) by attempting to catch the object. Although the structures of the frog and the turret system are significantly different, the function in each case is similar.

The second reason for selecting the frog is simplicity. By selecting the frog over a more complex organism (ie: more highly evolved), I would save much time in determining a model of how the frog performed its functions. Figure 1 shows the frog and some of its main neurological constituents. The eyes and sensory neurons form input devices. The small lobular brain and spinal cord make up* the bulk of the processing system, while the motor nerves and muscles serve as output mechanisms. This phase and the next involved quite a bit of work, since therp was so much data to examine. It should be noted that the presentation of my analysis here is very abbreviated in order that most of the concepts can be discussed. One structure in particular, the net convexity detector, is given a more detailed treatment, however. The detector's function and structure will be discussed extensively, showing how the

concept was researched and applied to the design of the turret system. This research and development is representative of the work performed on the entire system. A bibliography is provided in part 2 of this article for those who wish to research the subject more.

Optical Processes of the Frog

Analysis of the frog began with the sensory and motor nervous systems, in particular the eye. The frog's eye is classified as a camera-type eye, meaning that the entire image is focused through a single lens. The perception and subsequent analysis of an image begins on the surface of the retina. There, thousands of groups of receptors and their associated neurons capture tiny portions of the total image. After the retinal neurons process the receptor data, they communicate it to the optic nerve, which further processes the data as it is relayed to the brain. The result is the generation of four specific types of information about the image being perceived. The first type of information that the frog's nervous system extracts from the image is net dimming, which describes how much of an image has dimmed when compared to the previous image. Moving edge is the second type, concerned with motion at the periphery of objects in the image field. Next is sustained contrast data. This information relays the shape and size of an object in the image field by describing edges of optical contrast. Finally there is net convexity data. This data relays the speed and direction of relatively small objects.

Of the four types of data, the last two, sustained contrast and net convexity data, are probably most responsible for the location and definition of objects and, therefore, warranted a more detailed examination.

While searching for more information, I found a research project by J Y Lettvin, who researched amphibian vision at MIT (see bibliography). In his paper, he attributes net convexity and sustained contrast data primarily to the arrangement of the associated neuron's receptors on the retina. Lettvin also supports that a model in which net convexity data is generated by one configuration of receptors and neurons while sustained contrast is generated by another. The receptor/ neuron group responsible for generating net convexity data (called a net convexity detector) is characterized by a broad field of low sensitivity receptors and a small cluster of high sensitivity receptors (see figures 1 and 2). The cluster of high sensitivity receptors is never located in the center or on the edge of the low sensitivity

16 February 1979 © BYTE Publications Inc

HEATHKIT CATALOG

Featuring our complete computer line-8-bit and 16-bit computers, floppy disk storage, CRT Terminal paper tape reader punch, line printer, software programs, interface and'memory boards, selfinstruction programs and more! Most equipment is available in easy to build kit form or fully assembled and tested. II card or coupon is missing, write Heath Company. Dept. 334-500. Benton Harbor. MI 49022.

Schlumberger

MAIL

Heath Company, Dept. 334-500 /lAtrDrw Benton Harbor, Michigan 49022 ^UUfUJN

TODAY

Please send me my FREE Heathkit Catalog. I am not receiving your current catalogs.

Nan

Address ^ City

CP-161

. State_ Zip

Circle 160 on inquiry card.

BYTE February 1979 17

BRAIN

MUSCLE TISSUE*

/ /

— MOTOR NEURONS*

/ SKIN S

SENSORY NEURONS*

TONGUE

LOW SENSITIVITY RECEPTORS

Figure 1: Some of the main neurological components in the frog. The frog's evolutionary success is due in part to certain structures in the eye and brain that have evolved for the specialized task of catching fast moving insects. Sustained contrast data (from the sustained contrast detectors shown) relays the shape and size of an object in the image field by describing edges of optical contrast. The net convexity detectors are used to uniquely determine the direction and speed of small, fast moving insects.

field, but rather somewhere in between. Apparently it is critical that the high sensitivity cluster be located in such an eccentric position because the neuron uses this cluster as a "landmark." This landmark helps the neuron generate a signal that the nervous system can decode into angle and direction information. [The frog's retinal field is more complex and organized than that of the mammalian retinal field. However, this is because the higher vertebrates have relegated higher brain centers for visual, informational processing. For a discussion of this, see "What the Frog's Eye Tells the Frog's Brain," Lettvin, et at, Proceedings of the Institute of Radio Engineers, number 47, 1959, pages 1940-1951./

Net Convexity

From the receptor's aspect, the system works approximately as follows: as the prey's (ie: fly's) image falls upon the frog's retina, it transverses many groups of receptors. As the image triggers the first peripheral receptor of the net convexity detector, the neuron begins to "fire." From then on,

as each low sensitivity receptor in that group is encountered, the voltage level across the neuron will increase. This higher voltage is always the sum of the previous "signal" plus the present signal. However, when a high sensitivity receptor is encountered, the neuron responds with an abrupt voltage transient, after which the voltage level returns to the next summed value. This means that if a fly's image were to cross a net convexity detector in such a way that it triggered the high sensitivity receptor, the resulting waveform, if viewed on an oscilloscope, would be a staircase with a transient "spike" located somewhere near the middle steps. Call this waveform A (see figure 2a). If another fly image were to cross the same net convexity detector but on a different angle that still crossed the high sensitivity cluster, the resulting signal (see figure 2b, waveform Bj would look similar to waveform A; however, on closer inspection it can be seen that the number of steps and the position of the spikes are different.

To the frog's nervous system, this means that the vectors A and B-, are uniquely

18

February 1979SBYTE Publications Inc

Specifications:

S-100 compatible. MFM encoding, 35 tracks with ten 512-byte sectors per track. 179,200 bytes on double density SA-400 and North Star BASIC, DOS, and Monitor included.

For further information, write for full color catalog or contact your local computer store.

New from North Star

Double Density Performance at Single Density Prices

The new HORIZON computer and Micro Disk System now record in double density! That means each new Shugart SA-400 minifloppy disk drive accesses 180K bytes of on-line information. All double density HORIZON computers and Micro Disk Systems have a redesigned controller which allows the use of quadruple capacity disk drives as they become available in early 1979. A three-drive North Star System with quadruple capacity disk drives will access over a megabyte of on-line information. But, best of all there's no price increase for double density models.

North Star BASIC and DOS have been upgraded to accommodate the increased capacity and yet run existing programs with little or no change. The new disk system also supports single

density, so existing single density diskettes can still be used. Single density SA-400 drives previously purchased with North Star systems can also be used.

Pricing

HORIZON with one double density SA-400 minifloppy (180K bytes), 16K RAM, Z80A processor and serial I/O port: $1599 kit, $1899 assembled.

MICRO DISK SYSTEM with one double density SA-400 minifloppy, controller board and power regulation: $699 kit, $799 assembled. (Cabinet and power supply $39 extra each.)

North Star * Computers 2547 Ninth Street Berkeley, California 94710 (415) 549-0858

Circle 285 on inquiry card.

BYTE February 1979

19

described by the number and type of receptors encountered by the moving image. The number of steps in the waveform (or the low sensitivity receptors encountered) describes the angle of the vector, while the position of the spike (or the location of the high sensitivity receptor) identifies the direction of the vector. This means that, as long as an image's trajectory crosses the high sensitivity cluster, the associated neurons can describe the image's vector of travel. For example, waveform A describes a vector that encounters three low sensitivity receptors and one high sensitivity receptor followed by one low sensitivity receptor in this retinal section. Decoded by the nervous system, the signal would mean that the insect was travelling diagonally left

to right. If the spike had occurred between the second and third steps instead, the nervous system would have decoded the signal to mean that the insect was travelling on the same vector in the opposite direction. The associated neuron plays a significant role in net convexity detection. The total surface area of the frog's retina is less than one quarter the area of a postage stamp: the actual net convexity detector is a microscopic structure. This means that an image moving across the retina could span a single group of receptors in a matter of microseconds. The associated neuron could require up to 5 jits (or more) to complete a firing cycle, meaning that several dozen receptors can be crossed by an image before the firing cycle (ie: transmission) of the

Figure 2: The net convexity receptor. As a fly's image crosses the retina, it traverses many groups of receptors. As the image triggers the first peripheral receptor of the net convexity receptor, the associated neuron begins to fire. Each additional low sensitivity receptor encountered adds to the cumulative voltage level. In addition, any high sensitivity receptor encountered causes the neuron to emit a transient voltage spike, as shown in figures a, b and c. The eccentric position of the cluster of high sensitivity detectors enables the brain to deduce both the magnitude and direction of the vector of travel by noting the relative position of the spike in the waveform (compare figures 2a and 2b). Figure 2a shows the path of a typical insect image passing a section of the frog's retina. Compare with figure 2b, in which the angle of travel and the resulting waveform are different. Figure 2c shows the effect of reversing the direction of travel shown in figure 2b.

(a)

HIGH SENSITIVITY RECEPTORS'*

SECTION OF RETINA

VOLTAGE

PATH OF INSECT A LIGHT IMAGE

PHOTORECEPTIVE CELL LAYER (NET CONVEXITY RECEPTORS)

LOW SENSITIVITY RECEPTORS O

WAVEFORM A

(b)

HIGH SENSITIVITY RECEPTORS*

VOLTAGE

PATH OF INSECT B's LIGHT IMAGE

PHOTORECEPTIVE CELL LAYER (NET CONVEXITY RECEPTORS)

LOW SENSITIVITY RECEPTORS o

TIME

WAVEFORM Bi

(c)

HIGH SENSITIVITY RECEPTORS '-'

VOLTAGE

PATH OF INSECT Cs LIGHT IMAGE

PHOTORECEPTIVE CELL LAYER (NET CONVEXITY RECEPTORS)

LOW SENSITIVITY RECEPTORS 0

WAVEFORM B2

20

February 1979 <D BYTE Publications Inc.

Circle 357 on inquiry card.

BYTE February 1979 21

neuron is complete. This is why the waveform looks the way it does: the neuron will fire with constant duration so that, as the images travel at different velocities across the receptors, the length of the steps in the waveform will vary. The associated neuron does more than record the pattern and speed at which receptors are stimulated; it also has the ability to sort sizes. An image that can stimulate more than two receptors at a time will depress (ie: inhibit) the neuron's output. The depressed output is ignored by the nervous system. Therefore, the net convexity detector is a structure concerned with the angle, direction, and velocity of small, insect sized objects.

Sustained Contrast

Sustained contrast data, too, depends on receptor geometry as an aid in image processing, but not to the same extent as the net convexity detector. Instead, the sustained contrast detector is composed of a small group of homologous receptors (see figure 1). Again, the receptors have an associated neuron. This neuron's response to its receptor's interpretation of an image is either no signal, meaning more than 60 percent or more of the image is dark, or a positive signal, meaning that 60 percent or more of the image is light. The neuron's response is based on the number of illuminated receptors and is called a "majority response." When the majority responses of thousands of sustained contrast detectors are combined and processed by the optic nerve and lobe, the brain is provided with a sustained contrast image.

neuromuscular spindles. The neuromuscular spindles are special capsules of muscle tissue that have nerve endings coiled around them. As the muscle contracts, the spindle contracts, stimulating the nerve ending. Each skeletal muscle has many spindles within it (see figure 3). The brain decodes the signal to discover the number of spindles contracted, which describes the length of the muscle. The length of the muscle is indicative of the position of a joint.

How the brain can decode location and pressure data from a single nerve is not thoroughly understood; however it is thought that, during the frog's embryogenesis, the innervation of tissue is somehow recorded by the brain. This record serves as a template for the brain to use in the recognition of the origins of the signal. This was demonstrated in an experiment in which a young frog had a small portion of its stomach skin grafted to its back. The skin removed from its back was then grafted to the spot where the stomach skin had been removed. Some time after the grafts had healed, the researchers irritated the stomach skin on the frog's back. The frog responded by scratching the spot where the stomach skin had been removed. In a second experiment, the researchers irritated the back skin graft located on the stomach. This time the frog responded by scratching the graft on its back. The conclusion of the experiment was that the frog's brain had identified the location of the tissue by its innervation, and not by the path the signal took to the brain.

Motor Circuit

Tactile and Kinesthetic Senses

The next sensory systems I decided to examine were the frog's kinesthetic (ie: relative positioning of body parts) and tactile sensing "mechanism." Tactile sensation in the frog begins with specialized receptors located in the skin (see figure 3). These receptors are innervated capsules of tissue. The nerve endings within these capsules are the tips of large cutaneous nerves. All of the receptors contained in a certain tract of skin are merely branches of a single nerve ascending to the spinal cord. This means that a single nerve, as long as the frog's arm, can generate a signal that is recognized by the brain as location and pressure intensity data for literally hundreds of receptors.

Appendage position detection is similar to the tactile system. Again, a long nerve branches from the spinal cord. These branches terminate in special capsules called

The motor circuit performs the opposite function of the appendage position and tactile sensory systems. Instead of gathering data about muscles, the job of the motor circuit is to carry the signals that stimulate the muscles. To stimulate its muscles, the frog has a set of specific nerves descending from its spinal cord and terminating in specialized muscle fibers. At these fibers (called neuromuscular junctions) signals leave the nervous system and enter the muscle tissue, stimulating muscular contraction.

For the signals to get to and from tactile, motor, and kinesthetic systems and the cerebellum (where motor patterns are stored), they must travel along the spinal cord. The primary function of the spinal cord is to relay the billions of bits of data to and from various neural pathways in the frog's body; it also performs various regulatory and control functions, ranging from reflex (such as the knee-jerk reflex

22 February 1979 © BYTE Publications Inc

Graphics for small systems were too expensive. . .

Until Now

Him®"

digitizers

The perfect small system input device

• Resolution and repeatability of 0.005 in. • Origin is completely relocatable RS232C and 8 bit parallel interface selectable at the connector • Accuracies of ± 0.015 in. (0.4mm)

• Optional LC display shows actual values being inputted

• Priced at $795

instrument

ONE HOUSTON SQUARE (512) 837-2820

' U.S. Domestic Price Only TM Trademark of Houston Instrument

OF BAUSCH&LOMB®

mm

digital plotters

The perfect small system output device

• Displays data in easy to read graphical format

» 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 in. • Baud rate and step size easily changed • Completely assembled and ready to use Priced at$1085*

TM

AUSTIN, TEXAS 78753 TWX 910-874-2022

EUROPEAN OFFICE

Rochestertaan 6 8240 Gistel Belgium

Phone 059/277445 Telex Bausch 19399

"the graphics - recorder company"

For rush literature requests or local sales office information only, persons outside Texas call toll free 1-800-531-5205.

Circle 173 on inquiry card.

BYTE February 1979 23

TACTILE RECEPTOR.;

MUSCLE

NEUROMUSCULAR JUNCTION*

Figure 3: Section of muscle and skin showing portions of the tactile and neuromuscular (motor) systems of the frog.

Figure 4: The lobular brain of the frog. Note the large olfactory bulbs and the forebrain lobes. These structures are part of the frog's aquatic legacy.

CEREBRUM OLFACTORY BULBS

TENDON

in humans) to iris dilation and control of glandular secretions. Although these functions (ie: autonomic) normally occur independent of the brain it is possible for the brain to inhibit or amplify some of them.

The Anuran Brain

The frog's brain itself (as depicted in figure 4) is a small lobular organ located at the anterior end of the spinal column (ie: toward the head). Its function and structure is the result of millions of years of evolution. When the frog's distant aquatic ancestors developed the sense of smell, the pattern for the amphibian brain was cast. Olfactory nerves began to develop in the anterior region since it is an advantageous adaption for the organism to smell in its direction of motion than where it came from. And as the sense of smell became more sophisticated, the spinal cord developed better means to process the olfactory information. Portions of the spinal cord began to enlarge. These enlargements were the beginnings of the lobes. In more advanced ancestors like the fish, smell, vision, and muscular coordination are analyzed or controlled by individual, specialized lobes. The relative size of these lobes in the fish is an indication of how evolved that particular operation is. However, as amphibia evolved from aquatic organisms, these sensory priorities changed: whereas fish rely heavily on the sense of smell (called aquatic olfaction) for finding food, sensing predators, and selecting a mate, sight and sound sensation arc fundamental for the amphibian's survival and reproduction in

OPTIC LOBE

CEREBELLUM

SPINAL CORD

OPTIC NERVE

THALAMUS

an amphibious (ie: semi-terrestrial) habitat. To accommodate the change in the order of significance of sensory data, the amphibian brain increased in size with functional and structural changes. Consequently, the thalamus and cerebrum, once exclusively olfactory "data processors," now began to process some optic and aural data.

Other structures of the brain remained somewhat the same, although their importance too had changed. The cerebellum, which processes equilibrium information and produces the signals for muscular coordination, became responsible for coordinating terrestrial locomotion. Also, there was the added function of controlling a new structure—a folding, prehensive tongue. To gather and transmit the increased data from the spinal cord and the forward sections of the brain, the medulla had enlarged slightly. It was still involved with autonomic functions and nervous pathways to the organ systems, but additionally, it had to control breathing in the lungs. Probably the most important system at this point was the reticular system, a delicate collection of nerves reaching from the thalamus through the midbrain to the medulla. It is this group of nerves that monitors the hundreds of thousands of signals going to and coming from the cerebellum, among other portions of the brain. The reticular system is important to the amphibian's brain, since some divisions of the brain have to recognize and process types of information that they did not in vertebrates lower on the evolutionary scale. In addition, the reticular system can filter or block some signals entirely, relieving some of the processing strain on certain portions of the brain. While the frog's brain may seem complicated because of the shift of sensory priorities, this is the evolutionary pattern that the brains of all vertebrates have followed.

Neurons

The frog's brain is a system of hundreds of thousands of neurons. Each neuron is as basic to the brain as a logic gate is to a computer. In the brain, the neuron's function is to store or manipulate information. For neurons to store and process data there must be differences in the values at input or output junctions of the neuron. In the retina of the frog's eye, for example, the net convexity detector neuron generates a different type of signal for the high sensitivity receptor than for the low sensitivity receptor, as discussed earlier. It is only by such value assignments (called weighting) that neurons can store, process, or switch data.

24 February 1979 © BYTE Publications In

Micromotion has done for the S-100 bus what IBM did for the floppy disk.

WJ^t-tit tiWrUitl'

'wl

Mill

IliO

—

' ' —■' | ' ! 1 / '

:: '-^ '">' :t:

i i —, , —.. . --. t

^L ^^ a

~ a |~I .; i1^^* - ■ '^.- ii

.-5;' '-^P-' -;=>!<L .;.<

M

ji-i ■ »»i ' ' _^': ■■ ■ —y '

Li "ft*-1

Re

liobl

Reliably doubled capacity.

Double Capacity

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

Double Speed

Data transfer with the DOUBLER is twice as fast — 500 Kbits per second. And since there is twice as much data on each track, your drive steps only half as much — so your system runs faster than it ever has before!

Increased Reliability

That's right — even better reliability. Why? Because we did it the IBM way. IBM designed 2D formatting — so it has to be reliable. Micromotion's innovative, state-of-the-art design incorporates write precompensation electronics and a phase lock oscillator on a single, all digital, 5-100 circuit board. So we guarantee the DOUBLER will be more dependable than your present single density controller — and wewarantee the DOUBLER for a full year.

Unbeatable Convenience

It couldn't be easier to step up to double density. The DOUBLER operates automatically in either single or double density. Just insert o diskette and you're running properly. You can transfer files between single or double density diskettes without any software or hardware changes — or even operate 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 EPROM contains the bootstrap. There's even jump-on-reset circuitry so you con operate without a front panel. And, of course, we include utilities to format diskettes.

Universally Versatile

The DOUBLER will operate with all industry-standard mini and full-sized drives. And it will work in any 8080 or Z-80 S-100 computer operating at 2 to 4 MHz. The DOUBLER will support up to four double or single headed drives.

Fully Compatible

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

Completely Affordable

All Micromotion products ore fully assembled, thoroughly

tested, include complete documentation, and are priced for value:

DOUBLER double density controller $ 495.

MEGABOX dual drive double density system 2,295.

ZEPHER — Per Sci double density system 2,595.

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

Available

The DOUBLER is available NOW at your local computer store.

Micromotion Inc. 524 Union Street Son Francisco California 94133/ 415 398-0289

MIllM

TOM

Where there's always more in store.

Circle 223 on inquiry card.

"CP/M is o trademark of Digital Research.

BYTE February 1979 25

RETICULAR FORMATION

Figure 5: Simplified block diagram of the frog's insect catching "mechanism. " The eye, tacile, and position sensory systems monitor the environment. Tactile and position data travel via the spinal cord to the medulla, where the reticular system alerts the thalamus. In the thalamus, sensory data is integrated and sent to other portions of the brain for processing. Finally, data goes to the cerebellum to be decoded into signals that will bring about coordinated motion.

m__.

OPTIC DATA

S2.

EYE

NET CONVEXITY, SUSTAINED CONTRAST RECEPTORS

THALAMUS

OPTIC LOBE

CEREBRUM

CEREBELLUM

SPINAL CORD

.HE.

j KINESTHETIC i . AND TACTILE DATA

NEUROMUSCULAR SYSTEMS

To illustrate this, assume that a frog had to "store" a single bit of data for three seconds. Using microscopic neurons with junctions end to end, three seconds of storage would require 1500 feet of neuron. If the frog had to store this quantity of data throughout its lifetime, its brain would be monumental in size. To save space, then, signals to be stored are channeled to a group of neurons that are "connected" in a chain by some of their inputs and outputs (called axons and dendrites, respectively). When data is introduced to the group, it is passed from one neuron to the next, forever looping until the pathway is somehow blocked. The other dendrites and axons of this group's neurons (a single neuron can have up to 1000 individual axons and dendrites) connect to other neurons that bring information to and from these groups. These neurons are electrochemically controlled. So, depending upon the electrochemical activity of the brain, virtually an infinite number of pathways can be realized. It is this type of operation (the opening and closing of pathways) that makes the brain function. This is a fundamental process of any algorithmic device. In a computer program, certain pathways are opened or closed depending on the status of the program or its data. In a calculator, certain logic pathways are opened or closed based

on data in the system. This does not mean that a calculator and a frog's brain operate by the same mechanism, but only that the principles are the same.

To conclude this brief neurological model of the frog, I integrated my data into a coherent block diagram. Figure 5 represents the neurological and physical aspects of the insect catching mechanism. This system involves sensing optical and mechanical information from the environment. Light reflected from objects is analyzed by two methods: net convexity detection and sustained contrast detection provide the brain with size, shape, speed, and direction information. External pressure is monitored by tactile sensors. A second system of nerves with terminations deep in skeletal muscle and at skeletal joints is used to relay information about muscle length to the brain, which interprets this data to determine the position of its appendages. This data is transmitted to the brain by travelling from the spinal cord to the medulla. As the medulla passes the information along to the more forward sections of the brain, the reticular formation alerts the thalamus that data is on the way. In the thalamus, all types of sensory data are deciphered and compacted into precise neurodata statements, which are then dispatched to the cerebrum and cerebral cortex for processing. Some data is stored while other pieces are "copied," "deleted," "added to," "computed," etc. From the cerebrum new data will arise, some of it sent to the cerebellum. There the data is decoded into instructions concerning the motion of the frog. It is the job of the cerebellum to generate the signals that will bring about the coordinated motion of the frog. But for these signals to cause motion, they must travel to the muscles through the medulla, across the spinal cord, and finally to the various motor circuits. From the motor circuits the signals leave the nervous system and enter the muscle tissue, causing motion.

The NELOC System

This analysis may seem extremely impractical for use in hobbyist level robotics, but in fact it provided me with much of the inspiration I needed for the development of the neural logic cyberanimate. But it was possible to conceive and design these appliances only by understanding the nature of the operation of the frog's sensory systems. Part 2 of this series describes how a robot was built using the concepts described here. Some construction details for a portion of the eye mechanism are also given.

26 February 1979 © BYTE Publications Inc

North Star Systems Go To Work

More and more, you see the North Star HORIZON computer at work: in business, research, and education. Its high performance qualifies the HORIZON for demanding professional applications. Over 10,000 users during the past two years have proven that North Star hardware has the reliability for day-in, day-out computing. The HORIZON is now a serious candidate for any small system installation.

SOFTWARE IS THE KEY TO HORIZON MATURITY

North Star BASIC and DOS have been used to develop hundreds of commercial program packages. These packages establish that North Star software has the completeness and convenience necessary for serious program development. Because of the many independent vendors offering software using North Star BASIC and DOS, the HORIZON owner now has the widest selection of software in the microcomputer industry! Software available includes: word processing, general ledger, accounts payable/ receivable, mailing list processing, inventory and income tax preparation. Program development systems such as assemblers, debuggers, editors, PILOT and FORTRAN are also available.

EXPAND YOUR HORIZON

The basic HORIZON computer includes a Z80 microprocessor, 16K bytes of RAM memory, an I/O interface and one Shugart minifloppy disk drive. The HORIZON can be expanded to 60K bytes or more of RAM, three disk drives, and three I/O interfaces. Performance can be enhanced by the addition of the North Star hardware floating point board. Also, S-100 bus products from other manufacturers may be used to expand the HORIZON.

For more information, contact your local computer store.

North * Star Computers

2547 Ninth Street Berkeley, California 94710 (415)549-0858 Circle 285 on inquiry card, byte February 1979 27

AXONS FROM OTHER NEURONS

AXON BRANCH—,

SYNAPSE

AXON HILLOCK

AXON TERMINALS

-CELL BODY

OUTPUTS

DENDRITES

INPUTS

Figure 6: The parts of the neuron, the brain's basic "gate." Flow of information through this gate is roughly from left to right. Outputs are digital pulse streams transmitted through the axon and its branches to inputs of other neurons. Inputs are digital signals from other (presynaptic) axons, which are summed by an analog process which weights various sources and fires an output pulse when a threshold is reached. This neuron receiving input is termed postsynaptic.

Brief, but Essential Concepts of Neuronal Systems

The neuron is the basic unit (ie: gate) of the vertebrate nervous system. The ideal model of the neuron consists of the following:

• Cell body.

• Nucleus and organelles involved in producing and packaging energy and cellular byproducts (ie: neuronal transmitting molecules).

• Input processes termed dendrites.

• Output processes termed axons and terminal boutons.

• Synapse or juncture between neurons.

The processes of information transmission can be idealized as follows:

1. A sensory neuron such as a photo or tactile receptor is in a resting state (ie: a 60 mV membrane potential resulting from a higher potassium ion (K*) concentration within the cell and a higher sodium (Ma*) and chlorine (CF) ion concentration outside the cell.

2. Excitation of this (presynaptic) neuron by its respective stimuli (ie: pressure or normally induced ion permeability) allows a great influx of

sodium (Na*) ions. This causes a depolarization (ie: action potential) in the cell and is transmitted as a wave phenomenon down the axon.

3. Upon reaching the axon's terminus, the signal induces release of the transmitting substance (ie: acetycholine). This neurotransmitter enters the postsynaptic neuron across the synapse via simple diffusion.

4. The postsynaptic dendrite becomes permeable to ions, thus repeating the process. (An active transport mechanism rids the presynaptic neuron of sodium (Na*) and imports potassium (K+) to restore resting potential. Acetylcholine is decomposed by synaptic enzymes).

The neuron can perform in digital and analog fashion. Neurons transmit pulse streams rather than DC voltage levels: when pulses enter the postsynaptic (ie: signal receiving) neuron, they are algebraically summed until the threshold firing or threshold level is reached, at which point the neuron fires (ie: reaches action potential). The many factors that can enter into signal processing in the neuron (different weightings for various input signals, feedback arrangements, etc) allow it to perform differentiation and integration as well as

28

February 1979 © BYTE Publications Inc

simulate the workings of AND gates, OR gates, operational amplifiers, and other devices. However, the neuronal output signals pulses are digital in character. That is, the action potentials of the axon resulting in neurotransmitter release are one shot, one way signals with discrete amplitude and duration. With this model of the neuron in mind, the robotics experimenter should consider some of the basic transmission mechanisms of vertebrate nervous systems:

• The neuron can be stimulated to increase or decrease rate of signal transmission. Thus, neurons can encode information by pulse frequency modulation (ie: temporal summation of signals).

• Signals can be processed in terms of spatial summation of receptor locations, as in optical and tactile senses.

• Spontaneous activity (such as autonomic functions) may be a result of neurons with thresholds near resting potential levels—resulting in constant or easily initiated action potentials.

• Neuronal pools or ganglia have numerous organizational possibilities besides the myriad types of neurons they may employ. Some possibilities are facilitation, subthreshold stimulation of neurons by presynaptic neurons; convergence, many inputs on one neuron; divergence, one neuron sending inputs to many neurons; spatial selectivity and weighting, as in net convexity, and continuous excitation by a neuron receiving its own axonal branch.

Notes on Neuromuscular Systems

The skeletal muscles of amphibians are composed of bundles of striated fiber cells encased in connective tissue septa. These cells have a fascinating microstructure too complicated to describe in depth for our purposes. Considering this, the essential components important to neuromuscular understanding are: a system of ion transporting tubules, a septum surrounding the cell (with ion/molecule supplying capillaries imbedded in the septum) and protein fibrils running longitudinally to the muscles and perpendicular to the tubules.

The fibrils' tiny constituents are what contract to change muscle length. These are myofibrils (1-2 pm long) — protein rods which are arranged in overlapping rows and contract in a sliding, ratchet-like motion upon influx of calcium (Ca*) ions for which they have an affinity. The tubules hold and transport the calcium ions.

Neuronal action initiates the entire process as follows:

1. An action potential reaches the terminal end of a motor neuron's axon imbedded beneath the fiber cell membrane.

2. Acetylcholine is released from the neuron causing increased permeability of the fiber's membrane to calcium ions.

3. This condition increases until a propagated wave is sent across the entire muscle fiber resulting in myofibril contraction.

4. The acetylcholine is enzymatically catabolized and the resting potentials resume.

Neuronal action detects contraction via neuromuscular spindles (dendrites and specialized fibers encapsulated in common tissue). These receptors detect the degree of fiber stretch (ie: depending on myofibril ratchet position) in a comparative way. The spindle receptor has a resting potential associated with its resting shape. Fiber stretch deforms the spindle, increasing the receptor membrane's ion permeability. This fires the receptor when threshold is exceeded.

The Golgi tendon organ is a kinesthetic receptor located at the musclelbone junction. These receptors detect muscle tension, not muscle stretch, as do spindles.

The spindle receptor actually consists of primary, secondary and gamma receptors. The primaries produce large numbers of signals upon slight muscle stretches. Thus, primaries detect rate of change of muscle action by frequency pulse modulaton. The secondaries are capable of signalling length of muscle information because they require a longer period (in milliseconds) to reach threshold and action potential. Thus, secondaries transmit a steady state signal for information of a different quality than that of the primaries. The following references contain excellent discussions of neuronal functions in terms of biological and robotics concepts. . . . DWH ■

1. Bloom, W, and Fawcett, \N,A Textbook of Histology. W B Saunders Co, Philadelphia, 1975.

2. Guyton, Arthur C, Textbook of Medical Physiology, W B Saunders Co, Philadelphia, 1971.

3. Kent, Ernest W, "The Brains of Men and Machines, Parts 1, 2 and 3," January, February, March 1978 BYTE, pages 11, 84 and 74.

4. Sampson, Jeffrey R, Adaptive Information Processing, An Introductory Survey, SpringerVerlag, New York, 1976.

Part 2 concludes this article with details on building the robot eye and arm mechanism. The author's complete bibliography will also be provided in March 1979 BYTE.

February 1979 © BYTE Publications Inc 29

The Age of Affordable Personal Computing Has Finally Arrived.

Ohio Scientific has made a major breakthrough in small computer technology which dramatically reduces the cost of personal computers. By use of custom LSI micro circuits, we have managed to put a complete ultra high performance computer and all necessary interfaces, including the keyboard and power supply, on a single printed circuit board. This new computer actually has more features and higher performance than some home or personal computers that are selling today for up to $2000. It is more powerful than computer systems which cost over $20,000 in the early 1970's.

This new machine can entertain your whole family with spectacular video games and cartoons, made possible by its ultra high resolution graphics and super fast BASIC. It can help you with your personal finances and budget planning, made possible by its decimal arithmetic ability and cassette data storage capabilities. It can assist you in school or industry as an ultra powerful scientific calculator, made possible by its advanced scientific

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

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

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

ft

I'D I > i ^»»-iO O" Ohio Scientific offers you this remarkable new computer two ways.

filliIs »

IIIIBIIllflOBGG

Q■«—:BtS IIIICDCC

HIDDBQ'Q II EDI

D.DDG >

Challenger 1P $349

Fully packaged with power supply. Just plug in a video monitor or TV through an RF converter to be up and running.

Superboard II $279

For electronic buffs. Fully assembled and tested. Requires + 5V. at 3 Amps and a video monitor or TV with RF converter to be up and running.

—Standard Features.

■ Uses the ultra powerful 6502 microprocessor t< 8K Microsoft BASIC-in-ROM

Full feature BASIC runs faster than currently available personal computers and all 8080-based business computers. -I 4K static RAM on board expandable to 8K

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

■ Kansas City standard audio cassette interface for high reliability

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

B Direct access video display has 1K of dedicated memory (besides 4K user memory), features upper case, lower case, graphics and gaming characters for an effective screen resolution of up to 256 by 256 points. Normal TV's with overscan display about 24 rows of 24 characters: without overscan up to 30 X 30 characters.

Extras

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

■ Assembler/editor and extended machine code monitor available.

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

.ORDER FORM

Order direct or from your local Ohio Scientific dealer.

I l I'm interested. Send me information on your:

D Personal Computers D Business Systems D Send me a Superboard II $279 enclosed I I Send me a Challenger 1P $349 enclosed I I Include 4 more K of RAM (8K Total) $69 more enclosed

Name

Address City

^State_

-Zip_

Payment by: BAC (VISA) Credit Card Account #

_Master Charge

.Money Order

Expires.

Interbank #(Master Charge)

Ohio Residents add 4% Sales Tax

TOTALCHARGED OR ENCLOSED

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

30

BYTE February 1979

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

Circle 290 on inquiry card.

Considering a Microcomputer?

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

Minimum Configuration

Base Price

4KRAM $ 279

4K RAM $ 349 16KRAM $1190

4KRAM

$ 598

4KRAM

$ 799

16KRAM

$1464

16KRAM

$1738

32K RAM

$2597

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

Challenger I Series

Economical computer systems that talk in BASIC. Ideal for hobbyists, students, education and the home.

Superboard II — World's first complete system on a board including keyboard, video display, audio cassette, BASIC-in-ROM and up to 8K RAM Challenger IP — Fully packaged Superboard II with

power supply Challenger IP Disk — Complete mini-floppy system expandable to 32K RAM

Challenger IIP Series

Ultra high performance BUS oriented microcomputers for personal, educational, research and small business use. C2-4P — The professional portable C2-8P — The world's most expandable personal machine

for business or research applications C2-4P Disk — The ultimate portable C2-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 who have serial terminals: small business, education, industry.

C2-0—Great starter for users with a terminal 4K RAM

C2-1 — Great timeshare user accessory; cuts costs 4K RAM

by running simple BASIC programs locally C2-8S— Highly expandable serial machine, can add 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 32K RAM $3590

microcomputer dual floppys

C3-OEM — Single package high volume user version 32K RAM $3590

of C3-S1 dual floppys

C3-A — Rack mounted multi-user business system 48K RAM $5090

directly expandabe to C3-B dual floppys

C3-B — 74 million byte Winchester disk based system. 48K RAM $11,090

World's most powerful microcomputer dual floppys

OHIO SCIENTIFIC also offers you the broadest line of expansion accessories and the largest selection of affordable software!

Compare the closest Ohio Scientific Model to any other unit you are considering. Compare the performance, real expansion ability, software and price, and you will see why we have become the world's largest full line microcomputer company.

$ 298 $ 498

4K RAM $ 545

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

D Personal Computers □ Small Business Computers

□ Educational Systems □ Industrial Development Systems

□ I'm enclosing $1.00 for your 64-page small computer buyer's guide.

Ohio residents add 4% tax.

Name

Address

City

State _

-Zip

1333 S. Chillicothe Road

Aurora, Ohio 44202

(216) 562-3101

Phone

Tha

C2-4P

The Professional Portsbte by OWft MMMl

ONo 6ei*«lilW trn*i oUnt you ifn WiWtrfi Wftti *»W*lli>l (Mrl4hltt Hnort.l «6ltt)h)t*f in (mih «A6IC-JivM>M 1*4 ***«bi»Y

.... ..

.

.- «JW'

II »*u tt* lhure»i*4 in *n utlii High p*|. Mff »*e*nHert ft t rtWrtfni

.,.,.„., ,;,,;.. ■.,-„....,! .-I

5

TheC3-B

Mhrn .

* mWmm . tmwfm

■■■ ■

Circle 290 on inquiry card.

■

L*.,!*!*,^.!.,^

iSnmi

>. ,m>/X H* it,

■ ,.■.■-■■■■..

BYTE February 1979 31

A Microprocessor

Part 2: Instruction Set Dead Ends,

Copyright 1978 by Terry Ritter and Joel Boney

Terry Ritter and Joel Boney

Motorola Inc

3501 Ed Bluestein Blvd

Austin TX 78721

In part 1 of this series (see January 1979 BYTE, page 14) we discussed the instruction set and other details of the Motorola 6809 processor. Part 2 is a question and answer discussion of the design philosophy that went into the 6809.

Any change from old to new inevitably brings criticism from someone. Indeed, any failure to change to include someone's pet ideas brings its own criticisms. We have not been isolated from sometimes severe criticism, nor from its political implications.

However, a number of our decisions have been reasonably challenged, and here we hope to present illumination and defense. While we are aware of a number of improvements which might have been included, the whole point is to sell a reasonably sized (and thus reasonably priced) integrated circuit. We hope that architectural errors of commission, as they are found, will be seen in light of the complete design. We are not aware of any such errors at this time.

Point 1:

The replaced instructions (PSHA/PULA, TAB/TBA, INX/DEX) all take more cycles and bytes than before. Why did you do such a thins?

Photo I: Layout. Layout designer Tony Riccio adds a line in a large layout cell. The various colored lines represent different types of conductors (metal, polysi/icon, N+, etc) which will be formed on the integrated circuit. (The yellow dots represent problems to be corrected.)

32

February 1979©BYTE Publications Inc

for the Revolution: The 6809

Old Trails and Apologies

Answer 1:

Consider: the question is not just PSHA/ PU LA, but rather PSH A/PU LA/PSH B/PU LB/ PSHX/PULX/PSHY/PULY/PSHU/PULU, etc, as well as similar op codes for the other stack. There are only 256 7 byte op codes. If the PUSHs and PULLs are made 1 byte, others must be made 2 byte, and these will take more cycles and bytes than before. And the macrosequenced PUSH or PULL instructions are more efficient than 1 byte op codes when more than one register is involved.

Similarly, as more registers are added, the number of possible transfer paths become combinatorially larger. Do you really want to give up that number of 1 byte op codes?

As for INX/DEX, we find that these were frequently used in 6800 code because they were more convenient than any other alternative. We now offer autoincrementing and autodecrementing indexing as a viable (ie: shorter, in cycles and bytes) alternative. We also allow arbitrary additions to X, Y, U and S.

Point 2:

I don't see any facility for expanding the 64 K address space.

Answer 2:

True. Memory expansion is possible, but consider this: microprocessors are products of a mass production technology —

■ .

B

rU

ifS

•—»

■

■'

fir **

Photo 2: Breadboard design. A fter partitioning the logic, the MOS (metal oxide semiconductor) diagram is translated to TTL. The required ten boards are then designed and built. Meanwhile, Bill Keshlear updates the logic changes on the master copy of the logic diagrams, since they will imply changes on the boards.

February 1979©BYTE Publications Inc

33

processor cost is no longer a system limiting factor. It is generally inappropriate to use a single $20 processor to control $10,000 worth of memory; the single processor could use only a fraction of the bandwidth resource available in that much memory (here, bandwidth means the maximum possible rate of change of storage state under processor control). A far more reasonable approach is to place the same total store on ten processors and give yourself the possibility of major throughput improvement. Naturally you'll have to learn how to control all this power, but if you're an innovative systems designer, that's exactly your job.

There are two principal divisions of multiprocessor systems, depending on the degree of coupling between the processors. Closely coupled processors usually communicate through some common memory; loosely coupled processors communicate through input/output ports, serial lines, or other "slow" communications channels. Loosely coupled systems can usually be understood as networks of quasi-independent processors.

Now, let's consider a concept that we call "smart memory." One reason for wanting more address space on a processor is to randomly access a large store of on line data. Most of your processing is spent cataloging data, storing data, moving, searching and updating data. If you want to handle more data, you put on more memory and the system gets bigger and slower.

But suppose you put a processor on each reasonable piece of memory (16 K or whatever). Make the program for that processor really dumb — make it just take orders for data. Its whole purpose is to handle data for the command processor; it stores, moves, searches and updates. But for now, it does only memory operations. Now hook a lot of these "smart memory" modules onto your system (the IEEE 488 bus should work), and command a search. All the modules search in parallel, and if you grow and put on more modules, you handle more data just as fast as ever!

The second major approach to multiprocessor systems is what we call shared bus multiprocessing. Multiple microprocessors are closely coupled through a common bus and a proper subset of their memory address space. It is crucial to see the common bus as the bandwidth limiting resource; each processor should use its own local memory and stay off the common bus until it needs access to the common store.

Multiple requests for common memory

access might be issued by various processors at exactly the same moment. It is therefore necessary to arbitrate among them, switching exactly one processor onto the common bus, and allowing it to proceed with its memory access while the others are held not-READV.

It should be clear that the same concept (a common bus arbitration and switching node) can be hierarchically extended. Further, the addressing capability can be expanded and possibly remapped at each node to allow fast random access to huge amounts of on line mass storage. Such obvious extension is left as an exercise for the serious student. Perhaps you are thinking that you can build it, but nobody can write the software to control it. We are not insensitive to the problem, just unhappy with the attitude. We worked hard to give you the tool; all you have to do is learn to use it. Every new technology is like this — our scientists still don't know how to fully control the atom, but that doesn't stop atomic fusion from being one of the most attractive "games" around since the payoffs are huge.

Nobody has a chance to develop complex multiprocessor software until she or he has a real multiprocessor system. Now, for $500 and a little work, you've got the hardware. It's time to start learning to control these systems. If it's hard one way, do it another. The power is there for use.

Point 3:

You still didn't include block operations, did you?

Answer 3:

No — and we could have. But have you looked at how often block instructions could really be used in your programs? And how much code is needed to duplicate them yourself? And how often they don't really do exactly what you wanted? And how fast they would run compared to your programmed version? Please do look. We think the autoincrement and autodecrement indexed addressing is a far more general solution.

Point 4:

No bit manipulation, either.

Answer 4:

Are you really willing to pay 10 to 20 percent more just for bit manipulation? Program coded bit manipulation takes a

34

February 1979©BYTE Publication! Inc

Beautiful "Computer Chess" Reproduction—only $3.95!

This dramatic reproduction of the October 78 Byte cover art has been produced with the same care and quality as limited edition prints—yet it is available for the price of a poster.

The overall size is 18" x 22", which includes a V/2" border. It is printed on heavy, 80 lb., matte finish, coated stock, excellent for the finest framing if desired.

The price of this quality reproduction is $3.95, plus $1.00 for mailing tube, handling, and postage. In addition, the artist, Robert Tinney, will select the 100 finest prints from this first edition for his personal signati number. These 100 signed and numbered print on a strictly first-come basis for $12.95 plus J postage and handling.

See coupon below for ordering.

Circle 369 on inquiry card.

BYTE February 1979

Photo 3: Visual inspection. Some of the gross processing errors or problems that occur with probing equipment can be detected visually. Here, lead production operator Mary Celedon checks a 6802 wafer.

little longer, but is more general, and probably is located in a very lightly used portion of your program, thus having very little effect on your total throughput or program size.

PointS:

Point 6:

Some other processors allow both indexed before indirect (indexed indirect) operation and indirect before indexed (indirect indexed) operation, but yours does not. Why?

Answer 6:

First of all, we wanted our addressing modes to operate on ail of our memory instructions. Secondly, indirect indexed addressing has much lower utility than our indexed indirect form. Thirdly, we didn't strip down our instruction set, so real features were getting a little precious. Everything has to fit on one chip, remember.

We had considered the possibility of including a sort of chained addressing, in which the memory data would be interpreted as a new indexed postbyte capable of specifying a complete new addressing operation. This sort of thing could continue to indefinite levels, of course. But such an instruction would then be executing data, which is usually a bad idea (self-modifying code) and is also the reason why we include no EXEcute instruction. (Naturally, EXEcute can be emulated if you really need it, but since EXEcute is usually used to make up for the lack of powerful addressing modes, it will not likely be missed from the 6809). Furthermore, this executed data would almost certainly be discontiguous in the memory space, making even the analysis of the simple case (read only memory) programs extremely difficult. Placing such an uncontrollable gimmick in a processor design would be like placing a glittering knife in front of a baby, and would be similarly irresponsible.

Point 7:

You have a MULtiply, but no DIVide. Answer 7:

Why no undefined op code trap?

Answer 5:

Because the machine is a random logic implementation. The unused op codes are used as "don't cares" in derivation of internal logic equations, thus allowing reduced logic and integrated circuit size. Failure to include the don't cares in the logic equations would result in a larger and more expensive circuit.

True enough. Multiply operations are required in high level language subscript array calculations, but how often do you really need divide? Do you really want to pay for something you will rarely use and can do easily with a program? Additionally, the unsigned multiply is easily capable of extension into multiple precision arithmetic. (Try that with a signed multiply!) Divide does not decompose as nicely. This, combined with the absence of similar instructions in the machine (divide needs

36

February 1979©BYTE Publications Pnc

24 bits of parameters, both in and out) was enough to leave it out.

Point 8:

Your registers are all special purpose.

Answer 8:

Well, in a way, as we have 16 bits of accumulator and 64 bits of usable pointers plus some others. This basic dichotomy of data and pointers to data exists in practice, and is therefore rarely a problem with our implementation. But the EXG instruction allows convenient manipulation between these groups in any unusual circumstances.

Point 9:

Why did you include all those new addressing modes? I'll never use them.

Answer 9:

We expect that you will use the new addressing modes, and quite heavily. There are a lot of different indexed options. But notice that the large number of different modes is a result of including all permutations of a few basic ideas.

Fundamentally, you can index from any pointer register (x 4), use indexed indirect access (x 2), and have accumulator offsets (x 3) or constant offsets of up to 16 bits in three versions (x 3) (see box at lower right). But if you work in assembly language, you don't need to figure addresses, so the different constant offset modes may be ignored. And if you select an addressing mode which is not available, the assembler will politely inform you of your indiscretion.

Alternately, you can specify autoincrement or autodecrement operations (x 2), by either one or two (x 2), which may be indirected (x 1.5) (except there is no indexed autoincrement and autodecrement by one indirect — think about it). Finally, constant offsets are allowed from the program counter (x 3) and these may also be indirected (x 2).

There are a lot of modes, no doubt about it. But relatively few new ideas are required to gain full control over those powerful new features.

Point 10:

I would have liked an operating system call instruction which carried a parameter to the operating system.

Answer 10:

So would we. Unfortunately, the location I want to use for parameters may not (and probably will not) be what you want to use. It is desirable to allow both constant and variable parameters to the operating system. What you do get is two more trap-like software interrupt (SWI) instructions; the instructions SWI2 and SWI3 do not mask interrupts as SWI does, thus allowing use even in interrupt driven programs. Parameters may be passed in any register, or on the stack, or as the next byte of in line code. All of this will require some overhead, but the scheme is far more general than a trap that carries a parameter.

Point 11:

Tell me again about the stack pointers: why two stack pointers?

Answer 11:

Good point. The original reason for adding the user stack pointer was to facilitate the creation of a data stack in memory that is separate from the program stack. This avoids one of the serious problems of using a second generation processor in a modular programming environment — that of returning parameters to a calling routine. We want to pass parameters in a position independent manner, of course, but the return from subroutine (RTS) instruction uses the top element of the stack as a return address, and this address is placed on the stack before the subroutine is entered. On the 6800 there will be a lot of stack rearrangement going on to get around this problem. The user stack pointer was created as a new stack unencumbered with return addresses (or interrupt state information) to allow data to be passed between routines of different levels in a reasonable manner. And since the new stack works exactly like the old, there is relatively small silicon cost involved.

We do suspect, however, that many programmers will elect to accept the overhead involved with passing parameters on the hardware stack (note that the overhead problem is greatly reduced with the 6809). These programmers will be concerned with the access of parameters placed on the stack by higher level routines. Notice that, as more elements are added to the stack, these same parameters are referred to by varying offsets with respect to the stack pointer itself: this is bad, since it becomes difficult to analyze exactly which value is

The notation (x n) means there are n ways to perform that particular operation, (x 1.5) means there are two ways to perform that operation but not every addressing mode is allowed. . . .RGAC

February 1979 © BYTE Publications Inc 37

Photo 4: Editing the layout. Drafting manager Wayne Busfield and senior layout designer Rick Secrist make changes indicated by engineering analysis. This iterative process improves performance and production yield, and thus lowers cost.

being accessed by any given subroutine. Thus many programmers will use the U register as a stack mark pointer, fixed at some previous location of the stack pointer. All lower level modules will then be able to refer to the same data by identical offsets from the U register.

Point 12:

Why do the 6809 stack pointers point to the last item on the stack rather than the next free location, as on the 6800?

Answer 12:

This architectural change was virtually mandated by following the chain of logic that resulted from extending the 6800 into double byte, autoincrement and stack indexable operations.

First, let us assume the above extensions with a 6800 style stack: the stack pointer

thus points one byte below (lower in memory) the last byte deposited. Naturally the other pointers should work similarly (allowing their use as additional stacks, and requiring no new understanding). This means that the autoindex operations have to be preincrement and postdecrement. Now, suppose we have a stack or table of double byte data; the data pointer must be set up one byte below the data to prepare for autoincrement (or pull) operations. To access the first value, the expression LDD ,+S must be used, while succeeding operations appear to need LDD ,++S. This result is not great for loops. Alternately, the stack pointer could be made to point two bytes above the stack for double byte data only. This would require different offsets from the stack pointer (to access, say, the top of the stack) depending upon the size of the data being accessed. Different offsets would also be required, depending on whether the data was just being used,

38 February 1979 © BYTE Publications Inc

or being pulled from the stack. This is workable, but not great conceptually. Another possibility is to form the effective address from the value of" the pointer after only the first increment. This "kluge" solution would be hard to implement anyway, so we changed the stacks.

This chain of reasoning is an example ol the difference between architectural design and just slapping instructions together.

Point 13:

Why not have more registers? Answer 13:

Good designs are often the results of engineering compromises. To meet product size goals, only so many things can go on an integrated circuit. You can have registers, or features, or some combination. The 6809 does have approximately 20 addressing modes.

Registers for the sake of registers amount to little more than separate, very expensive and restricted memory areas. The register resource is always insufficient to hold temporary results in a large program, and must be reallocated in various routines. This allocation process is an error prone programming overhead. A separate register set for interrupt processing is suitable only for one interrupt level and, otherwise, is mostly wasted.

A few registers fully supported by features are better than just having a lot of registers.

Point 14:

to load or store

Why no instructions the direct page register?

Answer 14:

The direct page register is one of those possibly dangerous features which was just too good to pass up (in terms of substantial benefits for minimum cost). The benefits include an operation length reduction of 33 percent for instructions using absolute addressing and a concurrent throughput increase of 20 percent. It now becomes possible to optimize code, perhaps allowing an oversized program to fit within discrete read only memory boundaries. The direct page register may also be used in a multitasking environment to allow single copies of routines to operate with multiple independent processes. However, providing a separate stack area and having each routine

store local values on the stack may be a better solution,

Because a number of 6809 instructions (eg: INC/DEC, ASL/ASR/ROL/ROR/LSL, TST/COM/CLR/NEG) operate directly on memory, the direct page area may be used very much like a processor with 256 8 bit registers to hold counters, flags and serial information. So, perhaps most importantly, the direct page register relaxes the system requirement for programmable memory at a particular location (page 0) to use direct addressing; the cost is a single 8 bit register and no new instructions.

The programmer is cautioned to tread carefully when using the direct page register. All forms of absolute addressing for

Photo 5: First silicon engineering analysis. Logic and circuit design engineer Bob Thompson tracks down a weak node in the first batch of 6801 chips. The 6801 die is packaged, but not sealed, so that internal nodes may be probed while in operation. Viewing through the microscope, a probe can be placed at critical points equivalent to the layout plot. The chip itself is running a modified EXORcisor system, and the scope actually displayed an internal signal with excessively slow rise time.

February 1979©BYTE Publications Inc

39

Table 1: 6809 instruction set.

8 BIT OPERATIONS

Mnemonic

Description

ABX

Add B register to X register unsigned.

ADCA, ADCB

Add memory to accumulator with carry.

ADDA,ADDB

Add memory to accumulator.

ANDA.ANDB

And memory with accumulator.

ANDCC

And immediate with condition code register.

AS LA, ASLB, ASL

Arithmetic shift left accumulator or memory.

ASRA.ASRB, ARS

Arithmetic shift right accumulator or memory.

BITA, BITB

Bit test memory with accumulator.

CLRA,CLRB, CLR

Clear accumulator or memory.

CMPA.CMPB

Compare memory with accumulator.

COMA, COMB, COM

Complement accumulator or memory.

DAA

Decimal Adjust A accumulator.

DECA,DECB. DEC

Decrement accumulator or memory.

EORA,EORB

Exclusive or memory with accumulator.

EXG R1, R2

Exchange R1 with R2.

INCA, INCB, INC

Increment accumulator or memory.

LDA, LDB

Load accumulator from memory.

LSLA, LSLB, LSL

Logical shift left accumulator or memory.

LSRA, LSRB, LSR

Logical shift right accumulator or memory.

MUL

Unsigned multiply (8 bit by 8 bit = 16 bit).

NEGA. NEGB, NEG

Negate accumulator or memory.

ORA.ORB

Or memory with accumulator.

ORCC

Or immediate with condition code register.

PSHS (register^

Push register(s) on hardware stack.

PSHU (register)g

Push register(s) on user stack.

PULS (register)g

Pull register(s) from hardware stack.

PULU (register)§

Pull register(s) from user stack.

ROLA,ROLB, ROL

Rotate accumulator or memory left.

RORA, RORB, ROR

Rotate accumulator or memory right.

SBCA,SBCB

Subtract memory from accumulator with borrow.

STA,STB

Store accumulator to memory.

SUBA,SUBB

Subtract memory from accumulator.

TSTA, TSTB, TST

Test accumulator or memory.

TFR R1, R2

Transfer register R1 to register R2.

16 BIT OPERATIONS

Mnemonic

Description

ADDD

Add to D accumulator.

SUBD

Subtract from D accumulator.

LDD

Load D accumulator.

STD

Store D accumulator.

CMPD

Compare D accumulator.

LDX, LDY, LDS, LDU

Load pointer register.

STX.STY.STS, STU

Store printer register.

CMPX, CMPY, CMPU, CMPS

Compare pointer register.

LEAX, LEAY, LEAS, LEAU

Load effective address into pointer register.

SEX

Sign extend

TRR register, register

Transfer register to register.

EXG register, register

Exchange register to register.

PSHS (register)!

Push register(s) onto hardware stack.

PSHU (register)g

Push register(s) onto user stack.

PULS (register)g

Pull register(s) from hardware stack.

PULU (register)g

Pull register(s) from user stack.

temporary values and parameters present problems in the development of large programs. Attempts to enlarge the number of direct locations by manipulating the direct page register may be tricky. And manipulation of the register by subroutines may lead to errors which switch the calling routines direct page in remote (ie: subroutined) unobvious code. Therefore, this register is made deliberately difficult to play with. Typically, it should be set up once and left there. To load the direct page register you can proceed as follows: EXG A,DP; LDA #NEWDP; EXG A,DP. Alternately, the direct page register is also available in PUSH/PULL instructions, but misuse is discouraged through lack of LDDPandSTDP.

Point 15:

You preach consistency, yet you give us LEA, an instruction with different condition codes for different registers. Why is this so?

Answer 15:

The Z flag is unaffected by LEAS or LEAU, but conditionally set by LEAX or LEAY depending on the value loaded into the register. This provides 6800 compatibility with INX/DEX (implemented as LEAX 1,S or LEAX -1,X) and INS/DES (implemented as LEAS 1,S and LEAS —1,S), respectively.

Now clearly, if most 6800 programs are going to run on the 6809, the use of INX/DEX for event counts must be recognized. But in 6809 programs, releasing local stack area before executing RTS will be a very frequent action (LEAS -9,S; RTS) "cleaning up the stack." You do want to return a previous condition code value undamaged by the LEAS, so you get two types of LEA.

Point 16:

What about position independent code? Doesn't the 6800 allow it, too?

Answer 16:

Position independent code is one crucial factor in achieving low cost software. (Position independent temporary storage and input/output must also be available.) Only read only memories which may be used in arbitrary target systems are economically viable in the context of mass production. And only these read only memories can result in low cost firmware for us all.

40

February 1979 © BYTE Publications Inc

Microcomputers Anyone?

SCELBI'S 8080 GALAXY GAME

lj!l|l;'i

Z60

Instruction Handbook

irMlTOVOfflWiW C^t«U,KrKfi

SCELBI BYTE PRIMER, The ultimate handbook about microcomputers. Edited by the experts at SCELBI and BYTE. Over 400 pages of solid basic information. Describes what can be done with a microcomputer. How microcomputers work is treated thoroughly. Introduces the 6800, 8080 and Z80 CPU chip capabilities. RAM and ROM memories. Addressing methods. All about building your own microcomputer system. Programming for the beginner. Assembling programs by hand. Monitoring programs. Number conversions. Design your own assembler. Plus much more. A real bargain. JUST $10.95. Check No. 08 on order coupon.

TAKE MY COMPUTER . . . PLEASE! An uproariously funny full length book about the true-to-Hfe misadventures of the author (Steve Ciarcia) and his computer's inability to cooperate. Page after page of nonsense, jollies and even illustrations to bring the stories to life. Read his attempt to beat the Jai-Alai system. Or, how he attempts a stock market killing but logs the wrong info into his broker's computer. What happens when Steve sets up a computerized speed trap? Hardcover. JUST $5.95. Check No. 09 on the order coupon.

Z80 INSTRUCTION HANDBOOK. Your complete guide to the powerful Z80 instruction set. This handy, compact reference provides a clear explanation. It's an ever ready instant reference that can be carried in your pocket. Explains the instruction set in meticulous detail. Industry standard mnemonics are used throughout. Machine codes are presented in both octal and hexadecimal format. A convenient index lists all instructions alphabetically along with machine codes and timing information. A practical guide for the novice, intermediate or advanced programmer. ONLY $4.95. Check No. 03 on the order coupon.

HARDCORE SOFTWARE UPDATE. Subscribe to this brand new publication. It's published with you in mind — the user of small computer systems. You'll get six idea-packed issues per year. Contents include: Game programs you can use. Improvements for machine language programs. Coverage of high-level data base management system. Valuable tips on getting the most out of your system. And much more! The kind of info you just can't get from the magazines. How much are ideas worth? If they help you to maximize your system they can pay off really big. Hardcore Software Update is a good idea. It costs only $10 per year. You can't beat that. Send in your subscription now! Check No. 10 on order coupon.

LEARN MICRO-COMPUTERS. A new multimedia information package. Includes text (UNDERSTANDING MICROCOMPUTERS) plus high-quality cassette. For the beginner just starting in microcomputers. Covers all the basics, quickly, easily and enjoyably. All the fundamentals behind the operation of virtually every microcomputer. Clear. Concise. Tells what to look for in buying a microcomputer. Companion tape includes chapter-by-chapter synopsis of the book. Key review questions. References to page numbers for further review. A great new idea for self study. ONLY $14.95. Check No. 06 on the order coupon.

UNDERSTANDING MICROCOMPUTERS. Accepted as the standard for the neophyte. 300-page no-nonsense easy-reading text. Includes simple-to-use glossary of key microcomputer words. Gives extra knowledge for reading and understanding computer magazines and manufacturer's literature. Contents includes instructions for microcomputers. Machine language programming. High level language. Input/output devices. System considerations. Illustrates basic instructions from almost every class of microprocessor. Gives an introduction to BASIC. JUST $9.95. Check No. 07 on the order coupon.

PIMS - PERSONAL INFORMATION MANAGEMENT SYSTEM. Unleash the power of a microcomputer for your personal benefit. Use this data-base management system as an alternative to programming. All in one neatly bound volume: The microcomputer and its potential for personal use. Ways in which your microcomputer can be helpful in everyday life and serving basic personal needs. PIMS program listing and flowchart. 15 sample ways in which PIMS can work to your personal advantage. Written in BASIC language. Ready to use! ONLY $9.95. Check No. 05 on order coupon.

SCELBI'S 8080 GALAXY GAME. Here's your chance to match wits against the logic of your 8080. Search and destroy a random number of alien ships. But don't run out of time, out of fuel, out of ammunition or out of the galaxy. Plan your missions through 64 quadrants subdivided into 64 sectors. Listing uses manufacturer's recommended mnemonics. Manual includes assembled source listing in hexadecimal notation. Octal dump also provided. Resides in just 4K of memory. Includes flow charts, illustrations and lots more. ONLY $9.95. Check No. 04 on the order coupon.

SCELBI'S SOFTWARE GOURMET GUIDES AND COOKBOOKS. For the 8080 or 6800. Now you can cook up mouthwatering programs. Delectable "how to" facts include 8080 or 6800 instruction sets. How to manipulate stacks. Flow charts. Source listings. General purpose routines for multiple precision operation. Programming time delays for real time. And much, much more. Includes floating point arithmetic routines. ONLY $10.95. Check No. 01 on the order coupon for the 8080 Cookbook. Check No. 02 for the 6800 Cookbook.

See these publications at your favorite computer/electronics dealer, or order direct.

IMPORTANT ORDERING INFO! Include 754 postage/handling for each item to be delivered by U.S. Mail book rate, or $2 for each item to be shipped via First Class or UPS. Hardcore Software Update subscription includes postage; extra payment is not necessary. Prices shown are for North American customers. Master Charge, VISA, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks.

WOj

SCELBI Publications

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

(203)874-1573

Please send the books indicated below. My payment (including shipping/handling charges) is charge my Master Charge or VISA account.

enclosed

or better yet, please

DNo. 01

DNo. 02 DNo. 03 DNo. 04 DNo. 05 DNo. 06 DNo. 07 DNo. 0B

DNo. 09 DNo. 10

Name (please Card No.

orintt

Bank No.

Exp.

Address

City and Stat Signature

3

Zip

BYTE February 1979 41

Table 7, continued:

Mmemonic

0, Ft [0. R]

,R+

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

,—R

[,--R] n, P [n,P]

A, R [A,R]

B, R [B.R] D, R [D,R]

INDEXED ADDRESSING MODES

Description

Indexed with zero offset.

Indexed with zero offset indirect.

Autoincrement by 1.

Autoincrement by 2.

Autoincrement by 2 indirect.

Autodecrement by 1.

Autodecrement by 2.

Autodecrement by 2 indirect.

Indexed with signed n as offset (n=5, 8, or 16 bits).

Indexed with signed n as offset indirect.

Indexed with accumulator A as offset.

Indexed with accumulator A as offset indirect.

Indexed with accumulator B as offset.

Indexed with accumulator B as offset indirect.

Indexed with accumulator D as offset.

Indexed with accumulator D as offset indirect.

Note: Ft = X, Y, U, or S; P = PC, X, Y, U, or S. Brackets indicate indirection. D means use AB accumulator pair.

6809 RELATIVE SHORT AND LONG BRANCHES

Mnemonic Description

BCC, LBCC Branch if carry clear.

BCS, LBCS Branch if carry set.

BEQ, LBEQ Branch if equal.

BGE, LBGE Branch if greater than or equal (signed).

BGT, LBGT Branch if greater (signed).

BHI, LBHI Branch if higher (unsigned).

BHS, LBHS Branch if higher or same (unsigned).

BLE, LBLE Branch if less than or equal (signed).

BLO, LBLO Branch if lower (unsigned).

BLS, LBLS Branch if lower or same (unsigned).

BLT, LBLT Branch if less than (signed).

BMI, LBMI Branch if minus.

BNE, LBNE Branch is not equal.

BPL, LBPL Branch if plus.

BRA, LBRA Branch always.

BRN, LBRN Branch never.

BSR, LBSR Branch to subroutine.

BVC, LBVC Branch if overflow clear.

BVS, LBVS Branch if overflow set.

6809 MISCELLANEOUS INSTRUCTIONS

Mnemonic

Description

CWAI

Clear condition code register bits and wait for

interrupt.

NOP

No operation.

JMP

Jump.

JSR

Jump to subroutine.

RTI

Return from interrupt.

RTS

Return from subroutine.

SEX

Sign extend B register into A register.

SWI.SWI2, SWI3

Software interrupts.

SYNC

Syncrhonize with interrupt line.

The 6800 is capable of position independent code execution in relatively small programs. Somewhere around a 4 K byte limit, the program can no longer support all control-transfer paths using branch instructions (even allowing the use of intermediate branch "islands"). Either a long branch subroutine must be used (at a cost of 100+ cycles for each LBSR) or the program must be made position dependent.

Point 17:

What about dynamic memory:' Answer 17:

There are two problems associated with dynamic memories: address bus multiplexing and refresh. Address bus multiplexing is the most severe problem but requires multiplexing 6+6 address lines (for 4 K memories) or 7+7 lines (for 16 K memories); these values are particularly inconvenient for 8 bit processors (which usually multiplex address/ data). Thus, we have yet to see a processor address this problem.

Microprocessors that automatically refresh memory during most unused bus cycles waste power on unnecessary refreshes and unnecessarily increase bus activity. The 6809 can easily refresh dynamic memory in software (a timer causes interrupt execution of of FCB $10 63 times, then RTI), or can support hardware refresh (a direct memory access [DMA] sequence, or isolated board automatic refresh) at minimal cost.

Point 18:

What about price? Answer 18:

The 6809 will be more expensive than in-production second generation 8 bit designs. For one thing, it is bigger and also new — both reasons imply reduced yield compared to older parts. A moderately higher price should not be a problem, since the processor cost is a very minor part of the price of a whole system. The total 6809 system should be nearly as powerful and much less expensive than 16 bit designs. The cost of not using the 6809, on the other hand, will likely be severe in terms of increased programming error rates, larger read only memories and decreased throughput.

In "Part 3: Final Thoughts" (March 1979 BYTE), we will conclude this series with a discussion of clock speed, timing, condition codes and software design philosophy."

42

February 1979 © BYTE Publications Inc

BYTE's Bugs

Tic-Tac?

Our apologies to anyone who entered the Tic-Tac-Toe program in "Tic-TacToe in BASIC," by Mike Stoddard (December 1978 BYTE, page 174) only to find that part of the program was not there. Line 2580 obviously should not have been the last line of the program. Listing 1 is the missing section of program."

Zapper Bug

I noticed a design error in "Zapper" (December 1978 BYTE, page 100) that would make the circuit quite difficult for the newcomer to troubleshoot.

The schematic shown on page 102 uses a 27 k ohm resistor as the "pulldown" of the program pin of the 2708. This is in direct conflict with the Intel book entitled Memory Design Handbook, copyright 1977. Pages 8 and 9 state that a resistive pull-down should not be used because the low level voltage

Continued on page 65

2590 2600 2610 2620 2630 2640 2650 2660 2670 2680 2690 2700 2710 2720 2730 2740 2750 2760 2770 2780 2790 2800 2810 2820 2830 2840 2850 2860 2870 2880 2890 2900 2910 2920 2930 2940 2950 2960 2970 2980 2990 3000 3010 3020 3030 3040 3050 3060 3070 3080

Listing /.• Missing portion of Tic-Tac-Toe program.

IF J-J1 GOTO 2610 NEXT J1 LET N-N-3 FOR 11 = 1 T03 LET N = Ni3 IF 1 = 11 GOTO 2660 NEXT 11

ON N1 GOTO 1440. 1710. 1730. 1760, 2670, 2970 PRINT TAB (7)."l WILLPUTAN X IN BOX" N;" YOUR TURN " LET L|8] = N GOSUB 2990 IF F-1 GOTO 2690 LET L|9] LI LET N2-5 GOTO 2400 LET M=3 LET K3 = 5 GOTO 1890 •

REM GAME STATE PRINT SUBROUTINE PRINT

FOR 1 = 1 TO 3 FOR J=1 TO 3

LETGSI0] =" "

LETGSIJ-3-2l -" "

LETGSIJ-3-11 =- "

IF K|l, J] -1 LET GSU'3] = "0"

IF KII.J] "A LET GS|J'3] "X"

IF K|l. J)=9 LETGS|J"3| -"-'■ NEXT J

PRINT "\215\",GS|3] ; NEXT I

PRINT "\215 " GOTO 1070

PRINT TAB 17), "ILLEGAL INPUT. PLEASE ENTER AGAIN." GOTO 2950

PRINT TAB 171. "WE HAVE ALREADY USED BOX". LI;" PICK ANOTHER ONE. LET F = 1 RETURN

PRINT TAB (71, "YIPPIE I WIN WITH AN X IN BOX", N

GOTO 2780

INPUT LI

LET F=0

LET L1 INT (L1I

IF L1<1 GOTO 2920

IF L1>9 GOTO 2920

FOR 1 = 1 T09

IF LIU LI GOTO 2940 NEXT I RETURN END

3 .T.l! I

PWPf

CflRD-REflDER TERMINAL

This new concept in terminal equipment is for TTY type terminal replacement as well'as 3277 replacement*.

• Typewriter style keyboard.

• 80 x 24 character display.

• Hand-fed Hollerith type card and/or badge reader.

• Compatible with modems tor remote use.

• 12" diagonal screen.

• Half or Full duplex.

• Keyswitch lockout of keyboard.

• Printer interface.

• Switch selectable baud rate and bit pattern to 19.2K BPS.

$850 without reader. 1995 with single reader 2595 with dual reader.

•i

pHonc l

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

Requires Phone 1's P1-5 controller for 3271 or 3272 emulation.

linois 61110

Circle 304 on inquiry card.

February 1979 © BYTE Publications Inc

43

BYTE's Bits

TRS-80 Printer Use Hint

Many users of the Radio Shack TRS80 microcomputer have found the optional line printer to be a useful companion for their processor. When the user adds the printer and the expansion interface unit to the Level II equipped processor unit, the hardware is ready to be used for applications, but the software must still be prepared. A useful kluge (ie: crude method which works during a transition period) to speed program conversion in making use of the printer has been developed by Vance James and Richard Bley of Hickory NC.

The Level II BASIC statements which cause data transfer to the printer are LLIST and LPRINT.They correspond to LIST and PRINT, which cause data to appear on the video display. It is possible to reverse the functions of these commands under program control. With reversed function, LIST causes programs to be printed on the printer, and PRINT causes data to be printed. LLIST and LPRINT would then produce output on the video screen and on the printer (in the reversed state, everything appears on the printer, as everything normally appears on the screen).

The program statements which reverse the keyword functions are as follows:

A=PEEK (16422) B=PEEK (16423) C=PEEK (16414) D=PEEK (16415) POKE 16414.A POKE 16415.B POKE 16422.C POKE 16423.D

The above statements must of course have line numbers, but numbers may be supplied at the time this routine is incorporated into a program. After these

statements are executed, the role of the video driver routine in the monitor and the role of the printer routine are interchanged. To return to a normal state under program control, the interchanging statements may be executed once more. . . .RS"

TSA Software Address Change

In the November 1978 What's New section of BYTE (page 216), we reported on disk based software development tools from TSA Software. We have recently been notified of an address change. Their current address is: 39 Williams Dr, Monroe CT 06468."

Mechanical Insects?

People interested in robot mechanics should know about Space Mechanimals which are built by a Japanese firm called GAKKEN. These all metal devices come in several shapes and sizes ranging from the 4 legged to the 20 legged beasty in photo 1 called a Giant Astro Centipede. This particular kit contains everything necessary to construct a 13 inch mechanical centipede. Even though the mechanism can only move forward and backward in straight lines the mechanism used to control the 20 legs is worth studying.

The Mechanimal kits use 2 D cells as a power source. I have found some trouble powering the kit from batteries since there is a large current draw. The actual assembly takes two to three hours and is recommended for people 10 years and older.

Anyone interested in robotics should peruse these devices to see how the motion is derived. I definitely feel that the centipede model was well worth the $39 that I invested in it. For further information about Space Mechanimals contact PIFC Importers, Portland OR, who are the exclusive importers of the devices. . . .RGAC"

Photo 1: Space Mechanimal.

ComputerLand

ALABAMA

Huntsville ARIZONA

Phoenix ARKANSAS

Little Rock CALIFORNIA

Dublin

El Cerrito

Hayward

Lawndale

Los Altos

Los Angeles

Saddleback Valley

San Bernardino

San Diego

San Diego East

San Francisco

San Jose

Santa Rosa

Thousand Oaks

Tustin

Walnut Creek COLORADO

Colorado Springs

Denver CONNECTICUT

Fairfield DELAWARE

Newark FLORIDA

Boca Raton

Ft. Lauderdale

Jacksonville GEORGIA

Atlanta HAWAII

Honolulu ILLINOIS

Arlington Heights

Downers Grove

Niles

Oak Lawn

Peoria KANSAS

Overland Park KENTUCKY

Louisville MARYLAND

Rockville MICHIGAN

Grand Rapids

Southfield MINNESOTA

Bloomington MISSOURI

Springfield NEW HAMPSHIRE

Nashua NEW JERSEY

Cherry Hill

Bergen County

Morristown NEW YORK

Buffalo

Ithaca

Nassau County NO. CAROLINA

Charlotte OHIO

Cleveland

Columbus OREGON

Portland PENNSYLVANIA

Harrisburg TEXAS

Austin

Dallas

Houston

Houston Bay Area UTAH

Salt Lake City WASHINGTON

Bellevue

Federal Way

Tacoma WASHINGTON, D.C. WISCONSIN

Madison

Milwaukee INTERNATIONAL

Brussels, Belgium

Sydney, NSW Australia

Winnipeg, Canada

(2051539-1200 (602)956-5727

(501) 224-4508

(415)828-8090 (415)233-5010 (415)538-8080

(213) 371-7144 (415)941-8154 (2131 776-8080 (714) 770-0131 (714) 886-6838 (714) 560-9912 (714) 464-5656 (4151 546-1592 (408) 253-8080 (707)528-1775 (805)495-3554 (714)544-0542 1415)935-6502

(303) 574-4150 (3031 759-4685

(203)374-2227

(302) 738-9656

(305)368-1122 (305) 566-0776 (904) 731-2471

(404)953-0406

(808)521-8002

(312)255-6488

(312) 964-7762 (3121967-1714 (312)422-8080 (309) 688-6252

(913)492-8882

(502) 425-8308 (301) 948-7676

(6161 942-2931

(313) 356-8111

(612)884-1474

(417) 883-7085

(603) 889-5238

(609) 795-5900 (201)845-9303 (201) 539^077

(716)836-6511

(607) 277-4888 (516) 742-2262

(704) 536-8500

(216)461-1200 1614) 888-2215

(503)620-6170

1717) 763-1116

1512)452-5701

(214) 363-2223 (713)977-0909 17131488-8153

(801)364-4416

(206) 746-2070 (206) 838-9363 (206)581-0388 (703) 893-0424

(608) 273-2020 (414) 466-8990

43 29 05

29-3753

(204) 772-9519

44 February 1979 © BYTE Publications Inc

Circle 75 on inquiry card.

1

1

If the truth is that you want a computer . . . then we want to be your computer store.

We're ComputerLand, the #1 computer store chain in the U.S. What's meaningful about that fact is, that ComputerLand has been chosen by more people as having what they've been looking for. And, since you're looking, let us tell you what you'll find, when you visit a ComputerLand store.

You'll find a product line that's continually evaluated to provide you with the widest and best selection in quality, brand name microcomputers anywhere. You'll find an enthusiastic and knowledgeable staff able to interpret all the equipment specifications, in terms of how they apply to you, and in a way you'll understand. You'll find demonstration areas where you can get a firsthand experience of running a computer yourself.

You'll find educational materials to give you a total insight into Hie world of microcomputers.

You'll find a fully equipped service department to provide whatever assistance is required to keep your computer running in top-notch condition. You'll find computer user's clubs to join, where you can share ideas with people as enthusiastic as yourself. And, with each new visit, you'll find excitement—from the people you deal with, the equipment they offer, and from your own ever-growing personal involvement.

Enough about us. How about what computers do.To attempt to describe all the things your computer might do, would be to describe your imagination. So instead, we'll briefly list some of the many things for which small computers are already being used.

In business, the advent of the versatile and compact microcomputer has put the benefits of computing within reach of small companies. With systems starting at less than $6000, the businessman can

computerize things like accounting, inventory control, record keeping, word processing and more. The net result is the reduction of administrative overhead and the improvement of efficiency which allows the business to be managed more effectively.

In the home, a computer can be used for personal budgeting, tracking the stock market, evaluating investment opportunities, controlling heating to conserve energy, running security alarm systems, automating the garden's watering, storing recipes, designing challenging games, tutoring the children . . . and the list goes on.

In industry, the basic applications are in engineering development, process control, and scientific and analytical work. Users of microcomputers in industry have found them to be reliable, costeffective.tools which provide computing capability to many who would otherwise have 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 leads us right back to where we started: If you want a computer, then we want to be your computer store.

Whether you want a computer for the home, business or industry, come to ComputerLand first. We'll make it easy for you to own your first computer. Because, simply put, we really want your business. When you come right down to it, that's what makes us #1.

®

BYTE February 1979

45

Use Your Television Set as a Video Monitor

Timothy Loos

50 Depot St

Athens OH 45701

About the Author

Timothy Loos is presently finishing his PhD work in electrical engineering at Ohio University, where he is studying the interference effects of high powered FM broadcasting stations on air navigation receivers. His master's thesis consisted of a design for a video display for a minicomputer. Currently, he is using his TRS-80 system as an intelligent remote terminal, and for digital signal processing and communication systems simulation.

The main problem encountered using a standard television set as a high resolution video monitor is its limited bandwidth. The IF (intermediate frequency) sections, sound trap circuitry, and video amplifiers all limit the bandwidth of the signal to be displayed. An RF (radio frequency) modulator used with an unmodified television set forms a system capable of displaying a signal of up to 3.5 MHz bandwidth.

Feeding the video signal directly to the video amplifier of the set is helpful. Cutting out the sound traps also helps, but extending the bandwidth any further requires that major modifications be made to the video amplifier.

COMPOSITE VIDEO FROM COMPUTER

O^L

+ 5V ISOLATED FROM TV 2

SYNC SEPARATOR

POWER CONNECTIONS

+5V GND

ICI

6NI36

8

5

IC2

6NI37

8

5

IC3

7407

14

7

SYNC OUTPUT 0> TO TELEVISION SET SYNC SEPARATOR

TELEVISION SET GROUND CONNECTED TO ONE SIDE OF AC POWER LINE

MICROCOMPUTER GROUND

C2

l80pF

R2 75

&

GND

+ 5V

A

I-23V

• C4 <470

•O.OI/iF *

-CERAMIC

IC3 J. ik

7407 SIK

>I/2W __J

U^\6 1 f\) 2N2369A

Dl IN9I4B

0.1/iF 120V

^

HIGH VOLTAGE TOTEM POLE STAGE

TO CATHODE OF -O TELEVISION

PICTURE TUBE

Figure I: Schematic diagram for the microcomputer-to-television interface isolation circuit. Two different ground symbols are used to denote the isolation of ground paths. To maintain isolation, and therefore safety, the microprocessor should not be connected to any part of the television set. Integrated circuit IC3 is an open collector, high voltage, hex buffer of type 7407. Capacitor C4 is a 0.0 J /J.F ceramic type used for bypass. The +5 V supply for the sync separator and LED driver is taken here from the video output jack of the TRS-80. It should come from the computer's power supply if used with another computer.

46

February 1979 ©BYTE Publications Inc

Among the factors making extension of bandwidth difficult are the Miller effect (which says that the effective base-to-emitter capacitance of a transistor is increased because of the added induced charge due to the collector-to-base capacitance), transistor gain bandwidth limitations, stray wiring capacitance, and picture tube capacitance. Even if you somehow manage to make your set display 64 or more characters per line, you probably will not be able to use it as a regular television receiver any longer.

A More Direct Approach

When I ordered a TRS-80 microcomputer horn Radio Shack I decided not to buy Ihe matching video monitor. Instead I bought a television set in order to convert it for use as a video monitor. My goal was to obtain the 5.5 MHz bandwidth required for the TRS-80.

At first I tried redesigning the video amplifier of my new set. However, I soon discovered the difficulty of designing an amplifier with the necessary bandwidth and the gain necessary to drive the set's cathode ray picture tube.

Fortunately, after considerable experimentation, I came up with a solution to the problem. The answer was to bypass the set's video amplifier circuitry and drive the picture tube directly with a digital circuit. This is the easy way to get the bandwidth needed. Since the picture tube is primarily a capacitive load, the digital circuit must be carefully designed to handle it.

The Digital Driver Circuit

A schematic of the interface circuit is given in figure 1. This circuit was designed for use with TRS-80, but it should work for any system with a standard composite video signal output. The composite video signal is separated by the circuit into its video and sync components. Each digital signal is separately transmitted through optoisolators. The received portion of video signal is buffered and goes to the high voltage driver slage, which is connected to the television set's picture tube. The sync portion is buffered and goes to the sync separator of the set.

Circuit Description

The optoisolators, two integrated circuits shown in the schematic as IC1 and IC2, electrically isolate the microprocessor from the television set. On one side of the optoisolator is an LED (light emitting diode) which emits photons that the other side of the device receives with a photodiode. IC1 has an internal transistor to amplify the photodiode signal; IC2 has an internal integrated amplifier. The incoming composite video signal has a white level of +2 V, black level of 0.5 V and a sync level of zero volts. The LED in IC2 responds only to the video portion of the signal, since it requires 1.5 V to turn on. C2 is a speed-up capacitor.

The sync separator made up of capacitor CI, resistor R1, and transistor Ql effectively

Photo 1: An example of the high quality display produced by using the circuit described here with a Radio Shack TRS-80 microcomputer and NTC 1200 television set.

February 1979©BYTE Publications Inc

47

slices the negative sync tips from the composite video signal. The base emitter junction of Q1 acts as a detector circuit. The time constant of R1 and CI is sufficiently great to allow a substantial positive charge buildup on the right side of C1. Because of this, Q1 is reverse biased and conducts only during the negative going sync peaks of the composite video signal. Q2 buffers the sync signal to drive the LED. The received sync signal on the right side of IC1 is buffered by sections IC3A and IC3B.

IC2 is a high speed, TTL compatible optoisolator capable of transmitting 20 million bits per second. IC3C, transistor Q3, and diode D1 make up a high voltage totem pole output stage. Integrated circuit versions of this stage are used to drive loads of up to 1000 pF at switching rates of up to 2 MHz.

The circuit works as follows: when the output of IC3C goes low, Q3 is turned off. Load current from the load capacitance is then shorted to ground through the open collector output transistor of IC3C. When

it goes high, Q3 is turned on and the current is sourced from the +23 V supply. The major advantage of such a stage is that it can drive the highly capacitive loads without having high voltage-to-ground switching transients common in many totem pole designs.

The rise and fall time of the totem pole stage was measured to be less than 15 ns with a load of 40 pF. An equivalent analog amplifier would need a bandwidth of 23 MHz to give the same rise time.

Connection to the Television Set

A National Trade Corp model NTC 1200 set (a black and white type with a 12 inch diagonal measure picture tube) was used with the prototype interface circuit. It was the cheapest 12 inch television set I could find that came with a schematic. I was able to obtain this set for around $80. It's almost identical in circuitry to a Sharp model 3K-73 and I'm sure it's similar to many others.

A simplified schematic of the video

+ 95V

FROM

l-F

STAGE

FROM SYNC

OUTPUT OF <3

INTERFACE CIRCUIT

SIA

DPDT

SLIDE SWITCH

I

._J

J

fh

PICTURE TUBE

Rl 300K

+ 300V

500K

; I.5M

BRIGHTNESS

0

FROM VIDEO OUTPUT OF NTERFACE CIRCUIT

SYNC SEPARATOR

TO HORIZONTAL AND -O VERTICAL SYNC CIRCUITS

Figure 2: Simplified schematic diagram of the video output stage of the NTC 1200 television. This is typical of recently manufactured inexpensive sets. The DPDT (double pole-double throw) slide switch enables selection of function as television receiver or as video monitor.

48 February 1979 © BYTE Publications In

The

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

LJ

"PET"

only $795

• UK ROM Operating Syilem

• 8K HAM Memory " 9" Video Monitor

• Buili In Keyboard

• Digitally controlled tape

: Commodore Today's best valup in personal computer*, along ,,,,i me latest

m peripherals, ate ilwavi_in_it_ot* at Ihe COMPUTER FACTORY

PERIPHERALS FOR PET

1 32K Memory Expansion ..... SS95

■ 16K EXPANDAPET $425

■ PET to RS232 Serial S169

■ 2 Way Sori.il/Communicntion . . S295

■ Modem Board for PET S375

PET lo S1O0 14-slot) S160

Second Cassette Drive SIOO

Parallel Printer Interface . . . S199

■ PET Printer (Feb.79) S695

CREDIT CARD

ORDERS ONLY

800-223-7318

Kin\Ml PET BUSINESS

IV C. W! SYSTEM

The PET is now a truly sophisticated Business System with the Floppy Disk and Printer which makes an ideal cost efficient business system for most professional and specialized fields: medicine, law, research, engineering, education, etc.

PET 2001

16/32

• Bottom and Rear Tractor Feed

• 8'/?" Paper Width

• 6504 Microprocessor Controlled

• 112 cps Bi-directional

• 4K ROM • '/zK RAM

• Upper/Lower Case and Graphics

• 7 x 6 Dot Matrix

• 16or32K Bytes Dynamic RAM

• 14K ROM Operating System

• 9" CRT

• Upper/Lower Case and Graphics

• Full Sized Business Keyboard

• Full Screen Editing

• Operating system will support multiple Languages (BASIC resident)

• Machine Language Monitor

• 8K ROM Expansion Sockets

DUAL DRIVE FLOPPY DISK 2040

• 360 K Bytes Storage

• High Speed Data Transfer

• Plugs into IEEE Port ■ 6504 Microprocessor

• 8K ROM Operating System

• 8K ROM Encoding and Decoding

• 4K RAM

• Uses Single or Dual sided Diskettes

The COMPUTER FACTOflY'i entente inventory and wide selection rjf computet printers assures you of Iniding ihe best suited loi your needs and specifi The following printers work we ii'.ham personal computers

CENTRONICS 700 (Business) Si 595

PET TO CENTRONICS PRINTER INTERFACE SWITCH SELECTABLE $199

ANDERSONJACOBSON

• ASC 11 Cade

• IB cps Printoul

• High Duality Select nt Printing

• Use Keyboard lor PET

• Reliable heavy duty Mechanism

• Completely Refurbished by A.J. ■ Service in 15M*|or Cities

SORCERER

• Keyboard and Numeric Pad

• 8KRAM(upto32K) *0rtC

• Serial and Parallel 1/0 $895

• Oual Cassette 1/0

• 30 x 64 Display

• S-100 Compatible

• 64 User Defined Characters

• 240 x 512 Resolution Graphics Modular design allows use of bolh _.,__ for programs and ROM PAC cartridges lor

lika; APL,

BUSINESS COMPUTERS

Data General

DATA GENERAL micro NOVA

The ultimate in small business computers Men matched with COMPUTER FAC TORY's minicomputer. Snfrware Accounts Receivable/Payable. Inventory Control/ O'der Entry. General Ledger, Payroll Syi terns from about

$13,500

IMSAI

all s

problems. A wide variety of sol

available lor all your needs.

PCS senes include dual floppies. 3

1/0, DOS, BASIC

■ PCS-42 (400KB) $2995 •

(780KB) S3695

VOP42 senes adds video term

board, and VIO to above.

VDP-42 S4796 • VDP44

• VOP/80 S6995

K RAM,

PCS*)

s add 8%sales UK 1//Cjj® shipment on prepaid and credit

. '''^, . • Add S10 shipping lor compi

boirds. S 25 each cassette tape

BUSINESS—FINANCE

Stock Potiolio Analysis $24.95 .. P

Mortgage Analysts 15.95.. P

Annual Report Analyzer 22.95 .. P .. A .

Stock Analyzer 34.95 ., P .. A .

Bonds 12.95..P

Checkbook/8K. 16K. 32K 15.95..P

Checkbook 20.00 A

Finance 15.95 - ■ P

Finance/2 tapes 24.95 A

Stockscreen 29.95 .. P

Stock Options 24.95 .. P

Word Processing 45.00 .. P

Electric Pencil 99.95

Library (, '0 programs)/5 tapes 49.50

EDUCATION

Basic 8asic/2 tapes S14.95..P

Number Builder 9.50.. P .. A .

Analogies Builder 9.50.. P .. A .

Vocabulary Builder/2 tapes 12.50.. P .. A .

Preschool IQ Builder 9.50.. P .. A .

Diet Planner/Biorhythm 14.95.. P

6502 Assembler 24.95.. P .. A

Step by Step Programming 29.95.. P .. A .

Electronics 7.95

HAM Package 7.95

Weight Control 7.95.. P

Learn Fractions (Elem.-H.S.) 7.50.. P

Pilot (Mayday Landing) 10.50-. P

SOFTWARE

$35 of Software with purchase of any computer on this page PET (P) APPLE (A) TRS-80 (T)

GAMES

Microchess S19.95 ..P .. A .. T

Checkers 14.95..P T

Bridge Challenger 14.95 .. P .. A • • T

Super Startrek 14.95 .. P... A

Swarm 8K 14.95 ..P

Swarm 16K 19.95 ..P

Galaxy Games 9.95 .. P

Spacetrek 9.95 .. P

Spacetrek 7.95 T

Osero/Reverse 9.95 .. P

Target Pong 9.95 .. P

Blackjack 9.95 .. P

Lunar Lander (plus 3 more) ....... 9.95 .. P

Lunar Lander 7.95 T

Battle of Midway 9.95 .. P

Hostage/Jury 9.95 .. P

Blackjack/Slot 7.50 A

Color Math/Hangman 7.50 A

Biorhythm/Mastermind 7.50 A

States and Capitols 7.95 A

Backgammon 7.95 ., P

Casino I (blackjack) 7.95 .. P

Casino II (craps) 7.95 .. P

Golf 7.95 T

Library (100 programs) 49.50 T

C0MPUC0L0R II $19.95 each disk

Word Processing For PET.

With this program in hand, you can create text and add, delete, center, recall lines and move text around on page or between pages. Use either PET or terminal keyboard. S45.00

MATH TUTOR-with Checkbook, Biorhythms,Main Dice,and Recipe. CHESS-with Acoy Deucey&Lmc 5 STARTREK-with Lunar Lander, OTHELLO-with Dice & Concentration HANGMAN-with Math Tutor. 2 on 10

PERSONAL FINANCE I

PERSONAL FINANCE II

EQUITY

BONDS AND SECURITIES

BLACKJACK

The following are $24.95 each TEXT EDITOR • ASSEMBLER

Send for FREE Illustrated Software Catalog for PET/APPLE/TRS-80 with hundreds of selections from all over the world. 0pen Mon..Fri Min.CreditCardOrder$75 10-6 Sat. 10-4 Toll Free for Credit Card Order Desk Only 800-223-7318

SPECIAL SALE Buy any computer and take 10% off price printer of your choice

TUft /"VMIJIDI ITCD CAPTHDV 485 Lexington Avenue 750 Third Avehue New York, N.Y. 10017 I lie lAJIVI.rU I Ch rMV/ I Uil Y (212) 687-5001 (212) PET-2001 Foreign order desk - Telex 640055.

BYTE February 1979

Figure 3: Schematic diagram of the power supply for the set side of the interface and for the driver circuit. Transformer Tl is a JE-100 type available from Jameco Electronics. The primary is 120 VAC; the secondaries provide 10 VAC at 50 mA and 50 VAC at 30 mA. The rectifier diodes should have appropriate current ratings.

O

o

• [7J> +23V

♦ C>+5V

O.I/iF

output stages of the set and the points where the interface circuit is connected is shown in figure 2. The video amplifier output is normally AC coupled to the cathode of the picture tube. This is a common practice in low cost portable TV sets. This is an advantage in that it also allows the interface circuit to be AC coupled and not affect the DC biasing of the picture tube, which controls the screen brightness.

The interface circuit sync signal output is fed into the television set's sync separator. Some sets modulate the grid with video instead of the cathode. In that case a 7406 hex inverting buffer should be used instead of the 7407 buffer to obtain the proper polarity. Any TV set may be used with the interface circuit. A newer, small screen set is preferred. If the 23 V signal isn't sufficient drive to give a good display on the screen, the power supply voltage may be increased to a maximum of 30 V, the breakdown voltage of IC3. DC restoration of the video signal at the cathode with a clamping diode will also help. A picture of the display obtained by using this system with my TRS-80 microcomputer is shown in photo 1.

Power Supply

Figure 3 shows a schematic of the power supply used. It supplies +5 V at 40 mA for IC1, IC2 and IC3, and supplies +23 V at 5 mA for the high voltage output stage. If you are clever, you can use the television set's power supplies to get the +5 V and +23 V. But be careful: the cheaper solid state TV sets are designed to the limit. Drawing 40 mA for the +5 V supply might be an excessive load on the set's power supply.

The interface circuit also requires a +5 V at 5 mA isolated supply. This should come from the microprocessor. A TRS-80 has this voltage conveniently available at the video output jack.

Direct Connect Version

If you have a television containing its own power supply transformer isolating it from the AC power line, you can use a direct connect version of the circuit. A schematic of this version is shown in figure 4. Transistor Q5 responds only to the video

Figure 4: Schematic of the direct connect version of the interface circuit. This may be used only for connecting television sets containing power transformers.

COMPOSITE L

VIDEO

INPUT

^

O.luF

S, TO CATHODE

—) O* OF PICTURE

" TUBE

TO SYNC C> SEPARATOR OF TV

50

February 1979© BYTE Publications Inc

Circle 224 on inquiry card.

MicroPro International Corroration

MicroPro

MicroPro

SUPER-SORr

0

COBOL

FORTRAN

BASIC

D

FORTRAN/S

BASIC/S

'Professional Quality You Can Count On\n

*MicroPro International Corporation proudly announces the incorporation of SUPERSORT© into Microsoft COBOL, FORTRAN and BASIC. Now, exclusively from MicroPro you can have the full level 2 COBOL sort verb implemented by joint cooperation between Microsoft and MicroPro. Enjoy the fastest, most flexible sort/merge/extract available together with Microsoft's compilers!

Other Quality Software from MicroPro:

WORD-MASTER© — Word processing on any CRT or VDM using CP/M** .$150.00

TEX** - Output Formatter $ 75.00

FINANCIAL ANALYZER© - ledger reporting on 99 profit centers;

has job cost accounting provisions and multiple checking accounts $250.00

with SUPER-SORT© $400.00

CORRESPONDER© — mail label program with letterwriting; multiple

sort fields, customer salutations; Cheshire or single gum labels $95.00

**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 offices located at 5810 Commerce Blvd., Rohnert Park, CA 94928.

Clip and Mail This Form to MicroPro International Corporation at 5810 Commerce Blvd., Rohnert Park, CA 94928

Please Type or Print Clearly

Send To:

ORDER FORM - Dealer Inquires Welcomed

company

address

city, state, zip code

Check Attached or Charge

Mastercharge j=/=

Visa #

Exp. Date

□ COBOL $750.00 □ COBOL/S $800

□ FORTRAN $500 □ FORTRAN/S $550

□ BASIC $350 □ BASIC/S $400

□ SUPER-SORT© $250 □ Manual only $25

□ WORD-MASTER© $150 D Manual only $25

□ TEX** $75 □ Manual only $15

□ CORRESPONDER© $95 □ Manual only $15

□ FINANCIAL ANALYSER© $250 □ Manual only $25.

□ FINANCIAL ANALYSER©/SUPER SORT© $400 DManual only $40

TOTAL

COD (10% deposit required) □

I agree to abide by MicroPro's End-User Agreement and either return the Software unopened or sign and return the End-User Agreement.

Signature (if ordering diskettes or paying with credit card)

Photo 2: Closeup of the circuit as constructed on a piece of perforated project board. Layout of the components was conducted following guidelines set forth in the text.

Photo 3: Interior of the television set with the computer interface circuit installed below the tuner. Great care should be taken when you work inside the television set, since high voltages are present while it operates. Television repair manuals are full of precautions which should be observed.

portion of the composite video signal. The composite video signal is fed through the resistor R1 directly to the television set's sync separator.

This version should be used only if the television set has its own power supply transformer. The optoisolators are used to prevent injury to people and damage to equipment that can occur from accidents and malfunctions involving circuits which are not isolated from the power line.

Circuit Layout

Proper circuit layout is important for proper circuit operation. The connection to the cathode of the picture tube should be as short as possible. This minimizes capacitive loading of the totem pole output stage, which would degrade the picture quality. The cathode connection should be kept away from the flyback transformer and the incoming 60 Hz line voltage.

The input optoisolator circuitry must be well separated from the output circuitry. Circuit wiring, especially that pertaining to the video signal, must be kept short. For high speed operation, pin 7 of both IC1 and IC2 should be clipped from the package. This ensures that the base to collector capacitance of IC1 and the input/ output capacitance of IC2 is kept to a minimum.

A 0.01 ;uF ceramic capacitor should be connected directly to the pins of 1C2 for good power supply decoupling. If you use a printed circuit board, run a ground trace midway between the pins of each optoisolator, connected to the output ground. If you use another method of construction, such as vector board, run a small piece of wire under the integrated circuits to act as a ground trace. This aids common mode signal rejction of the optoisolators.

Photo 2 shows a close view of the circuit as constructed on a section of perfboard. Photo 3 shows the circuit nestled into its operating position in a convenient space beneath the set's tuner.

Getting the Bugs Out

If, after you build the circuit, the characters on the display are not sharp and clear, the interface circuit does not have enough bandwidth. The first thing to do is to disconnect switch SI and wire the output of the interface circuit directly to the cathode ray tube. The current limiting resistor (R1 in figure 2) should be taken off the television set's circuit board and mounted

52

February 1979 © BYTE Publications Inc

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

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

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

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

EPROM Programmer. VP-565 EPROM Programmer Board comes complete with software to program, copy and verify 5-volt 2716 EPROMs—comparable to units costing much more than the VP-565 and VIP put together! Programming voltages generated on board. ZIF PROM socket included. $99*

EPROM Interface. VP-560 EPROM Interface

Board locates two 5-volt 2716 EPROMs (4K bytes total) anywhere in 32K of memory. VIP RAM can be re-allocated. $34*

ASCII Keyboard." Fully encoded, 128-character ASCII encoded alpha-numeric keyboard. 58 light touch keys including 2 user defined keys! Selectable upper and lower case. Handsomely styled. Under $50*

Tiny BASIC** VP-700 Expanded Tiny BASIC Board puts this high-level language on your VIP. BASIC stored in 4K of ROM. Ready for immediate use—no loading necessary. This expanded BASIC includes the standard Tiny BASIC commands plus 12 additional—including color and sound control! Requires external ASCII encoded alpha-numeric keyboard. $39.*

Auxiliary Keypads. Program your VIP for 2-player interaction games! 16-key keypad VP-580 with cable ($15*) connects to sockets provided on VP-590 Color Board or VP585 Keyboard Interface Card ($10*).

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

With these new easy-tobuy options, the versatile RCA COSMAC VIP (CDP18S711) means even more excitement. More challenges in graphics, games and control functions. For everyone, from youngster to serious hobbyist. And the basic VIP computer system starts at just $249* assembled and ready to operate.

Simple but powerful—not just a toy.

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

easy to program and operate. Powerful CHIP-8 interpretive language gets you into programming the first evening. Complete documentation provided. Take the first step now. Check your local computer store or electronics parts house. Or contact RCA VIP Marketing, New Holland Avenue, Lancaster, PA 17604. Phone (717) 291-5848.

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

The fun way into computers.

ItC/l

Circle 322 on inquiry card.

BYTE February 1979 53

right at the picture tube's socket. This eliminates excess wiring to the cathode.

Another measure is to try decreasing the value of R2 in figure 1. The LED should receive about 15 mA of current for fast turn on. The value of C2 should also be experimented with. C2 speeds up turn on of the LED. Too large a value, however, will cause turn off delays. If the display is still not sharp, use of a wide band oscilloscope is the only way to track down the source of the problem.

If the displayed characters sparkle, the problem is with common mode capacitance, which allows high frequency noise to be coupled through from one side of the optoisolators to the other. The common mode capacitance is primarily due to the capacitive coupling of the wiring.

The easiest way to eliminate the sparkling problem is to connect the ground of the microprocessor to the ground of the television set through a 1000 pF, 120 VAC capacitor. Another way to eliminate the problem is to use a pair of insulated wires 3 inches long twisted together with no electrical connection between, one wire connected to pin 3 of IC2 and the other to pin 6 of IC2. These wires form a small capacitor which neutralizes the common mode capacitance.

If either of these two methods does not solve the problem, the chances are that you have poor circuit board layout and you should rewire your circuit board, making sure that your input optoisolator circuitry is well separated from the television set's circuitry, especially from the flyback and the AC line voltage. In the same manner, keep the connections to the picture tube away from the other circuitry.

Displaying More Than 64 Characters per Line

The TRS-80 displays 64 characters per horizontal scan line in only 36 ^is. If it were redesigned, it could display 80 characters per line in 45 /us without changing its pixel rate, and still fit them on the video display screen. Therefore, the interface circuit should probably work for any system which displays 80 characters per line.

The maximum frequency at which the interface circuit can work was measured to be 8 MHz. The major limitation to the display rate is the delay time of the circuit. The delay time is the interval it takes the circuit output to begin to respond to the input signal. The delay time of the circuit was measured to be 55 ns, whereas the rise and fall times are only 15 ns. About half of the delay is due to the optoisolator and the other half occurs in the totem pole output stage.

For high resolution graphics, another driver stage design must be used. One possibility is the use of the newer, high speed Schottky MOS clock drivers with on/off times of about 15 ns. The optoisolators may not be used because of their limited frequency capabilities.

A good example of a high resolution cathode ray tube driver is the design used in the Hewlett-Packard Model 9845A desktop computer. (See reference 6 for the hardware description.) It displays using a video clock rate of 21 MHz. One of the interesting points of its design is the use of a compensation inductor added in series with the cathode of the display tube. It provides approximately 7% overshoot of the cathode voltage in response to a step input, speeding up turn on of the display tube.

Before You Start...

Before you start working on your television set, you should have a schematic diagram of its circuit. A copy of Don Lancaster's TV Typewriter Cookbook, (Howard W Sams and Company Inc, Indianapolis, 1976), a classic in the field of TV displays, is also useful. It will help you figure out where and how to hook the interface circuit to your set. And don't overlook books on television set theory available at your local library. They are a gold mine of information and they will help you unravel the mystery of your set.

If you have difficulty finding a schematic of your set locally, the Howard W Sams Company has data for many sets in its Photofact series. Its address is 4300 W 62nd St, Indianapolis IN 46268."

REFERENCES AND SUGGESTED READING

1. Lancaster, D, TV Typewriter Cookbook, Howard W Sams and Company Inc, Indianapolis IN, 1976.

2. National MOS Integrated Circuit Databook, 1974 edition (section on MOS clock drivers) National Semiconductor Corp, 2900G Semiconductor Dr, Santa Clara CA 95051.

3. Hewlett-Packard Application Note 947, "Digital Data Transmission Using Optically Coupled Isolators," Hewlett-Packard Corp, Palo Alto CA 94304.

4. Hewlett-Packard Application Note 939, "High Speed Optically Coupled Isolators," as above.

5. Hewlett-Packard Optoelectronics Staff, Optoelectronics Applications Manual, McGraw-Hill, New York, 1976.

6. Hewlett-Packard Journal, April 1978, pages 16 thru 18, Model 9845A desktop computer hardware design description, high resolution video display.

54

February 1979 © BYTE Publications Inc

Bccfc fteviews

Computers in Laboratory Medicine

edited by Derek Enlander MD Academic Press, New York $14

As a student of medical applications of computers I have found relatively few books written about the up to date use of computers in medicine; and those one does find are usually reviews of commercially available systems. It is refreshing to find that the book Computers in Laboratory Medicine, edited by Derek Enlander MD, is a forward looking work in which the uses of microcomputers are considered in various clinical laboratory applications.

The book is concise and well-designed. The various chapters are written by a veritable who's who in clinical computerization. George Z Williams MD, who retired as head of clinical laboratories at the National Institutes of Health, has written the initial chapter in a philosophical tone, quoting aspirations of Buckminister Fuller. He points the way forward for the next chapter in which the editor, Enlander, writes of his personal experience in developing a discrete front end processing system. The initial development took place at Stanford University Medical Center in 1968. While this was obviously before the advent of microprocessor chips, the spark of ingenuity had been kindled. The following chapter contains a description of another preprocessing approach using Hewlett-Packard desk top calculators as the preprocessing modules. In a third section Dr Blois of the University of California elegantly ties the front end lab systems into a hospital-wide system.

A medical diagnosis technique called anatomic pathology is often a forgotten orphan when computerization of pathology is discussed. It does not have the glamour of real time data acquisition, but is nevertheless an important problem of data manipulation and retreival. Two experts on this subject are Dr Pratt and Dr Lamson; each provides a chapter on his experiences in this field.

Nuclear medicine is looked at from two facets, static and dynamic imaging, followed with a chapter by Dr Budinger, an electrical engineering PhD as well as an MD, who delves into the tomorrow world of threedimensional imaging by way of radioisotopes. The development of the mathematical models and Fourier transforms are covered in depth. Dr Weber discusses and reviews the time-function studies in organ imaging.

This book is closed in a fitting manner by

Circle 328 on inquiry card.

Dr David Seligson of Yale who points to the vast future need of modular processing of medical laboratory data. He emphasises the previous authors' ideas on the use of microcomputers in medicine.

If one was to fault the book it would be on its price of $14, its seemingly short supply, and the long delay on ordering. I must thank Seaton's, 26 O'Farrell St, San Francisco, for their help in supplying the book, even when the publishers could not.

D Fabian

1703 OctaviaSt

San Francisco CA 94109"

Computcrs

in Laboratory

Medici^

W^^^^ki^^G^

SMOKE SIGNAL BROADCASTING PRESENTS IT'S NEW...

8-INCH 'FLOPPY DISK SYSTEM

rUsers that require at least 500K of online data r storage will find the LFD—68 floppy system fits the bill. This system uses standard 8 inch floppies to r provide this increased capability. The controller f provides the capability of supporting up to

four 8-inch drives for a maximum I system capacity of over 1 megaIbyte of online storage. This system is complete with system i software and available in two ^configurations. The LFD\68-1, a one drive system L or the LFD-68-2, a ^two drive system.

SINGLE

DRIVE

LFD-68-1

$1395.00

'Ask about our wnewDFD-68-2 with two 8-inch double sided J floppy disk drives with 5I2K I bytes of storage per drive and capability of adding additional drives to provide over 2 mega-g bytes of online storage

[SMOKE SIGML§|BROADCASTIIGw

31336 Via Colinas, Wesilake Village, CA 91361 [213)889-9340

□ Send informatio

on your LFD—68 Syitemt

le of nearest dealer

5M0K SIGIAl

BB0ADCASTII

!l 8B9 93

6"g

I

Compnny_ CUv

For your SWTP 6800 Computer... I

PERCOM's I

FLOPPY DISK SYSTEM I

Ready to plug in and run the moment you receive it. Nothing else to buy, no extra memory. No "booting" with PerCom MINIDOS™, the remarkable disk operating system on EPROM. Expandable to either two or three drives. Outstanding operating, utility and application programs.

PERCOM DATA COMPANY, INC.

Dept. B 318 Barnes Garland, Texas 75042

(214) 272-3421

m

56 BYTE February 1979

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

• an attractive metal enclosure • a fully assembled and tested interconnecting cable • a 70-page instruction manual that includes operating instructions, schematics, service procedures and a complete listing of MINIDOS™ • technical memo updates — helpful hints which supplement the manual instructions • a 90-day limited warranty.

SOFTWARE FOR THE LFD-400 SYSTEM Disk operating and file management systems INDEX™ The most advanced disk operating a.nd file management system available for the 6800. INterrupt Driven Executive operating system features file-and-device-independent, queue-buffered character stream I/O. Linked-file disk architecture, with automatic file creation and allocation for ASCII and binary files, supports sequential and semi-random access disk files. Multi-level file name directory includes name, extension, version, protection and date. Requires 8K

RAM at $A000. Diskette includes numerous utilities $99.95

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

complete with source listing $39.95

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

prepared using a text editor described below $49.95

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

disk CHAINing $17.95

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

Text Editors and Processors EDIT68 Hemenway Associates' powerful disk-based text editor. May be used to create programs and data files. Supports MACROS which perform complex, repetitive editing functions. Permits text files larger

than available RAM to be created and edited $39.95

TOUCHUP™ Modifies TSC's Text Editor and Text Processor for PerCom disk operation. ROLL function permits text files larger than available RAM to be created and edited. Supplied on diskette complete with source listing $17.95

Assemblers PerCom 6800 SYMBOLIC ASSEMBLER Specify assembly options at time of assembly with this symbolic assembler. Source listing on

diskette $29.95

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

assembly $79.95

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

assembler $49.95

CROSS REFERENCE Utility program that produces a crossreference listing of an input source listing file $29.95

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

source document. User defines account numbers $199.95

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

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

™ trademark ol PERCOM Data Company, inc

Ordering information

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

PERCOM 'peripherals for personal computing'

Circle 301 on inquiry card.

I

fflL.

Add-on Mini-Disk for theTRS-80

Mi

: ■ : s>

!; '*

.. ~.

",Bgi**o*^i^**—.

—

'"'")

o l|i

\ i

, —H | :

\ i

!uJJ|!

1

i

r "

■

i 1

'Trademark of Tandy Corporation.

Dual and triple drives also available.

i ! I

::^:s^^B^^

i .._-.-■

_.-— - A-.'•."■■-" ;■ v-'- ;■.-'■■ ;'.-.;■■-';. ■•■< ■■

/

%T7

Requires 16K RAM,

Level Ii BASIC and

Expansion Interface.

PERCOM DATA COMPANY, INC.

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

To Order Call 1-800-527-1592

•RADIO SHACK and fflS 80 m uademaiks of lamfy Cfirrieiatioii which lias no wlalionship to PEfiCOM !)AlA COMVftMY INC

Circle 301 on inquiry card.

BYTE February 1979 57

Robotics Fopum

Life versus Computer Capacity

Table I: Information content comparison adapted from Carl Sagan's The Dragons of Eden, which was derived from Britten and Davidson, "Gene Regulation for Higher Cells: A Theory," Science, July 25 1969, pages 349 thru 357. The brain information is considered to be programmable memory. The genetic information is derived from the number of deoxyribonucleic acid (DNA) per haploid cell. It is considered to be the read only memory comparison figure.

Patrick H Stakem 42F Ridge Rd Greenbelt MD 20770

v to

3

■5

/

-H

■ BRAIN INFORMATION

lo C>

0/i~

c?

^/

& £ £

O ft <f Or

<o -^ Oj

*•£ ^ ■? **

GENETIC INFORMATION

10' 10° 10 =

NUMBER OF BITS

I have taken the chart of the evolution of information on page 26 of Carl Sagan's book, The Dragons of Eden, and extracted the number of bits of read only memory and programmable memory for different taxia. I then added some items familiar to most computer experimenters, such as the 2708 and 2716 read only memories, a 1 megabyte marker, and the on board capacity of Tod Loofbourrow's robot (8 K bytes, I believe). The result is table 1.

Information in the DNA nucleotide pairs is a type of read only memory expressable in bits. Sagan's chart is derived from "Gene Regulation for Higher Cells: A Theory," by Britten and Davidson, Science, July 25 1969, pages 349 thru 357. One caveat: comparing the estimates of the amount of information in the brain (whatever that is) to an amount of random access memory is misleading. There is no clear knowledge that the brain is arranged anything like a digital system. Also, I have ignored information processing capacity and rate and merely compared storage of information.

Making allowances for different implementations, if we work from a functional specification for, say, a dog, do we need

to include 1011 bits of programmable memory and 5 x 109 bits of read only memory in the robotic version?

We may be in a period of robotic evolution as we see digitally implemented mobile systems becoming more sophisticated and prices coming down: it is now possible to own a 64 K byte home computer system without mortgaging the home.

I believe that such robots will have to be much more sophisticated than they are now before we're satisfied. On the other hand, the capabilities of Tod's robot or Allen and Rossetti's light-seeking Tee Toddler is more than one would guess from the memory capacity alone."

BIBLIOGRAPHY

1. Allen, Stephen A, and Rossetti, Tony, "On Building a Light-Seeking Robot Mechanism," August 1978 BYTE, page 24.

2. Loofbourrow, Tod, How to Build a ComputerControlled Robot, Hayden Book Company Inc. Rochelle Park NJ, 1978.

3. Sagan, Carl, The Dragons of Eden: Speculations on the Evolution of Human Intelligence, Random House, New York, 1977.

58

February 1979©BYTE Publications Inc

\

,/JBOTfru.

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

More BYTE

li%l%

KS

in your future

BYTE February 1979 59

And the future

THE BY 1E BOOK OF COMPUTER MCISIC combines the best computer music articles from past issues of BY] E Magazine with exciting new material—all written for the computer experimenter interested in this fascinating field.

You will enjoy Hal Chamberlin's "A Sampling of Techniques for Computer Performance of Music", which shows how you can create four-part melodies on your computer. Forthe budget minded, "A$19Music Interface" contains practical tutorial information—and organ fans will enjoy reading "Electronic Organ Chips For Use in Computer Music Synthesis".

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

Other articles range from flights of fancy about the reproductive systems of pianos to Fast Fourier transform programs written in BASIC and 6800 machine language, multi-computer music systems, Walsh Functions, and much more.

For the first time, material difficult to obtain has been collected into one convenient, easy to read book. An ardent do-it-yourselfer or armchair musicologist will find this book to be a useful addition to the library.

ggH

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

lilHNUI in

SUPLRWUMPCIS is an excit11 ig coi i lputer game incorporating the original structure of the WGMPGS game along with added features to make it even more fascinating. The ongn lal game was described ii i the book What To Do After You Hit Return, published by the People's Computer Company. Programmed in both 68l)0 assembly language and

BAS.IC, SGPERWGMPGS is not only addictively fun, but also provides a splendid tutorial on setting up unusual data structures (the tunnel and cave system of SGPt-.RWGMPGS forms a dodecahedron). This is a P/\FtKBYTE™ book.

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

TINY ASSEMBLER 6800, Version 3.1 is an enhancement of Jack Emmerichs' successful Tiny Assembler. The original version (3.0) was described first in the April and May 1977 issues of BYTE magazine, and later in the PAPERBYTE™ book TINY ASSEMBLER 6800 Version 3.0.

In September 1977, BYTE magazine published an article

entitled, "Expanding The Tiny Assembler". This provided a detailed description of the enhancements incorporated into Version 3.1, such as the addition of a "begin" statement, a "virtual symbol table", and a larger subset of the Motorola 6800 assembly language.

All the above articles, plus an updated version of the user's guide, the source, object and PAPERBYTE™ bar code formats of both Version 3.0 and 3.1 make this book the most complete documentation possible for Jack Emmerichs' Tiny Assembler.

ISBN 0-931718-08-2 Author: Jack Emmerichs Pages: 80 Price: $9.00

A walk through this book brings you into Ciarcia's Circuit Cellar for a detailed look at the marvelous projects which let you do useful things with your microcomputer. A collection of more than a year's worth of the popular series in BYTE magazine, Ciarcia's Circuit Cellar includes the six winners of BYTE's On-going Monitor Box (BOMB) award, voted by the readers themselves as the best articles of the month: Control the World (September 1977), Memory Mapped IO (Novemberl977),ProgramYourNextEROMin BASIC (March 1978), Tune In and Turn On (April 1978), Talk To Me (June 1978), and Let Your Fingers Do the Talking (August 1978).

Each article is a complete tutorial giving all the details needed to construct each project. Gsing amusing anecdotes to introduce the articles and an easy-going style, Steve presents each project so that even a neophyte need not be afraid to try it.

^k

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

is right now!

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

Subroutines in the BASEX operating system typically execute programs up to five times faster than equivalent programs in a BASIC interpreter—while requiring about half the memory space. In addition, BASEX has most of the powerful features of good BASIC interpreters including array variables, text strings, arithmetic operations on signed 16 bit integers, and versatile 10 communication functions. And since the two languages, BASEX and BASIC, are so similar, it is possible to easily translate programs using integer arithmetic data from BASIC into BASEX. The author, Paul Warme, has also included a BASEX Loader program which is capable of relocating programs anywhere in memory.

$gH

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

PROGRAMMING TECHNIQUES is a series of BYTE BOOKS concerned with the art and science of computer programming. It is a collection of the best articles from BYTE magazine and new material collected just for this series. Each volume of the series provides the personal computer user with background information to write and maintain programs effectively.

The first volume in the Programming Techniques series is entitled PROGRAM DESIGN. It discusses in detail the theory of program design. The purpose of the book is to provide the personal computer user with the techniques needed to design efficient, effective, maintainable programs. Included is information concerning structured program design, modular programming techniques, program logic design, and examples of some of the more common traps the casual as well as the experienced programmer may fall into. In addition, details on various aspects of the actual program functions, such as hashed tables and binary tree processing, are included.

ISBN 0-931718-12-0 Editor: Blaise W. Liffick Pages: 96 Price: $6.00

SIMULATION is the second volume in the Programming Techniques series. The chapters deal with various aspects of specific types of simulation. Both theoretical and practical applications are induced. Particularly stressed is simulation of motion, including wave motion and flying objects. The realm of artifi< :ial intelligence is explored, along with simulating robot motion with the microcomputer. Finally, tips on how to simulate electronic circuits on the computer arp detailed.

ISBN 0-931718-13-9 Editor: Blaise W. Liffick Pages: approx. 80 Price: $6.00 Publication: Winter 1979

RA6800ML: AN M6800 RELOCATABLE MACRO ASSEMBLER is a two pass assembler for the Motorola 6800 microprocessor. It is designed to run on a minimum system of 16 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (such as Motorola MIKBGG read only memory program or the ICOM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk).

The Assembler can produce a program listing, a sorted Symbol Table listing and relocatable object code. The object code is loaded and linked with other assembled modules using the Linking Loader LINK68. (Refer to PAPERBYTE™ publication LINK68: AN M6800 LINKING LOADER for details.)

There is a complete description of the 6800 Assembly language and its components, including outlines of the instruction and address formats, pseudo instructions and macro facilities. Each major routine of the Assembler is described in detail, complete with flow charts and a cross reference showing all calling and called-by routines, pointers, flags, and temporary variables.

In addition, details on interfacing and using the Assembler, error messages generated by the Assembler, the Assembler and sample IO driver source code listings, and PAPERBYTE™ bar code representation of the Assembler's relocatable object file are ail included.

This book provides the necessary background for coding programs in the 6800 assembly language, and for understanding the innermost operations of the Assembler.

ISBN 0-931718-10-4 Author: Jack E. Hemenway Pages: 184 Price: $25.00

to order books see next page

LINK68: AN M6800 LINKING LOADER is a one

pass linking loader which allows separately translated relocatable object modules to be loaded and linked together to form a single executable load module, and to relocate modules in memory. It produces a load map and a load module in Motorola MIKBGG loader format The Linking Loader requires 2 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (for instance, Motorola MIKBGG read only memory program or the ICOM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk).

It was the express purpose of the authors of this book to provide everything necessary for the user to easily learn about the system. In addition to the source code and PAPERBYTE™ bar code listings, there is a detailed description of the major routines of the Linking Loader, including flow charts. While implementing the system, the user has an opportunity to learn about the nature of linking loader design as well as simply acquiring a useful software tool.

ISBN 0-931718-09-0 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 72 Price: $8.00 Winter 1979

TRACER: A 6800 DEBUGGING PROGRAM is for

the programmer looking for good debugging software. TRACER features single step execution using dynamic break points, register examination and modification, and memory examination and modification. This book includes a reprint of "Jack and the Machine Debug" (from the December 1977 issue of BYTE magazine), TRACER program notes, complete assembly and source listing in 6800 assembly language, object program listing, and machine readable PAPERBYTE™ bar codes of the object code.

ISBN 0-931718-02-3 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 24 Price: $6.00

MONDEB: AN ADVANCED M6800 MONITORDEBUGGER has all the general features of Motorola's MIKBGG monitor as well as numerous other capabilities. Ease of use was a prime design consideration. The other goal was to achieve minimum memory requirements while retaining maximum versatility. The result is an extremely versatile program. The size of the entire MONDEB is less than 3 K

Some of the command capabilities of MONDEB include displaying and setting the contents of registers, setting interrupts for debugging, testing a programmable memory range for bad memory locations, changing the display and input base of numbers, displaying the contents of memory, searching for a specified string, copying a range of bytes from one location in memory to another, and defining the location to which control will transfer upon receipt of an interrupt This is a PAPERBYTE™ book.

ISBN 0-931718-06-6 Author: Don Peters Pages: 88 Price: $5.00

BAR CODE LOADER. The purpose of this pamphlet is to present the decoding algorithm which was designed by Ken Budnick of Micro-Scan Associates at the request of BYTE Publications, Inc., for the PAPERBYTE™ bar code representation of executable code. The text of this pamphlet was written by Ken, and contains the general algorithm description in flow chart form plus detailed assemblies of program code for 6800, 6502 and 8080 processors. Individuals with computers based on these processors can use the software directly. Individuals with other processors can use the provided functional specifications and detail examples to create equivalent programs.

ISBN 0-931718-01-5 Author: Ken Budnick Pages: 32 Price: $2.00

BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458

Title

Company

Street City

□ Check enclosed in the amount of $

□ Bill Visa □ Bill Master Charge Card number

Please send the books I have checked.

□ Computer Music $10.00

□ SGPERWGMPGS $6.00

□ Tiny Assembler (3.1) $9.00

□ Circuit Cellar $8.00 DBASEX$8.00

□ Program Design $6.00

BYTE BOOKS. BYTE BOOKS logo, and PAPERBYTE are trademarks of BYTE Publications, Inc.

Circle 36 on inquiry card.

State/Province

Expiration Date.

□ Simulation $6.00 DRA6800ML $25.00 DLink68$8.00

□ TRACER $6.00 DMondeb$5.00

□ Bar Code Loader $2.00 Add 50C per book to cover postage and handling

Please allow 6-8 weeks for processing your order.

I

■■■iiiiiiiiiiiiiiiiiiifMiifiiffiifiiiiiiitBiiiiiiiiiifiiiiiiiiiiiiiMitififiiiiiiiiiiiiiiiiiiifiiiiiifiiiiiiiiiiiaiil||l||||||lialfl|||iiiaiaiIliail|VII|l||l|iai|llllll,|,MI,l|„llllliailiaaillllllllu

BYTE News

iimiiiiiiiiiiiiiiiiiiiiiiiiiiiiimiiiiiiiiiiiiimiiimiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiini linn iiiiiiiiiiini iiiiiiiiiiiiiimiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiim

ATARI'S NEW COMPUTERS. The recently announced Atari Model 400 and 800 personal computers are major entries into the market. The 8 K nonexpandable 400 (suggested retail $500) sports a touch audio feedback keyboard and a single read only memory cartridge slot, plus cassette I/O. It also has 16 color graphics with eight luminance levels (!) The 48 K expandable 800 (suggested retail $1000 with 8 K and cassette recorder) has additional color features, full keyboard, 8 K BASIC, high resolution graphics, two read only memory cartridge slots, and much more. Both units use a modified 6502. Availability: August 1979 (limited quantities); full availability: Fall 1979. More details next month.

TI'S NEW PERSONAL COMPUTER. Rumors are flying about Texas Instruments' impending entry into the personal computing market. The unit will reportedly use the TMS 9900 processor with 40 K of read only memory circuits, will generate 20 lines of 40 characters on a standard television, will have provisions for accommodating video disk players and video tape recorders, and will have sophisticated sound production. Sources predict a mid-1979 unveiling.

TI AND GTE DEVELOPING HOME DATA RETRIEVAL SYSTEMS. Since Labor Day, Texas Instruments has been testing a "Teletext" home information system which displays on a standard home television set via a decoder unit. The decoder can be internal or external to the television set. It is expected that the decoder should add about $50 to the television's cost. The data is transmitted during the frame blanking time. The viewer can elect to view the data, the standard picture, or the data superimposed on the picture. Testing should continue throughout 1979. FCC approval is required.

Last October General Telephone & Electronics gave a presentation and demonstration to the FCC of their system, which uses a microprocessor. It would allow a user to retrieve data from a number of different data banks and have it appear on their television screen. The system is still in a very early stage of development.

A television based data retrieval system, called Viewdata, is already in operation in Great Britain. It was developed by the British Post Office.

WORD PROCESSING PRINTERS USING DOT MATRIX ARE COMING. All present word processing printers use character impact printing mechanisms and are expensive (typically over $2000). The most popular are the Selectric, Diablo and Qume printers. Dot matrix printers are faster and cheaper but produce crudely formed characters generally considered undesirable for word processing applications. However, several companies are working on dot matrix printers to improve their printing quality. By moving the dots closer together to 1000 dots per inch or closer, characters can be formed which are very close to those of the Selectric. Further, since the dot matrix is under direct processor control, changing a character font requires only a program change rather than a type element change. Imagine being able to change from standard to italic type faces using only software! Although the initial entries (from RC Sanders Technology Systems Inc) in this area will cost more than present impact units, costs should decrease substantially to well below present units.

8080/8085 MICROPROCESSOR PRICES DROP. The 8085, Intel's 1 chip version of the 8080 with added features is now selling for $10 in OEM (original equipment manufacturer) quantities. The 8080 is now down in the $4 to $5 range. Actually the 8085 is in effect cheaper than the 8080 since it does not need extra support devices and works off only 5 VDC. Therefore, most of the new 8080 designs now use the 8085. It is expected that the 8085 will be down in the $4 to $5 range by year's end. The importance of this is that the microprocessor is now insignificant in cost compared to memory and peripheral circuits.

WILL 16 BIT PROCESSORS TAKE OVER? Not yet, at least. There is reason to question whether or not 16 bit processors have achieved the success in the personal computer marketplace achieved by the 8 bit machines. The fact is that there have been at least three 16 bit mainframes available in the personal computer marketplace for over a year now, namely the Technico 9900 computer, the Alpha-Micro computer, and the Heath H-ll computer. Although all three provide better performance than the 8 bit machines, their acceptance does not compare to the smaller machines. It will be interesting to see if any 16 bit mainframes using the Intel 8086 processor will be forthcoming in the near future.

16 BIT PROCESSORS TO BE SECOND-SOURCED. Intel has entered into an agreement with National Semiconductor for the latter to also manufacture the 8086, Intel's 16 bit processor. Zilog has also arranged for second sourcing of their new Z-8000 16 bit processor, but does not expect to be in production until the middle of the year. Intel has been in production on the 8086 since May of last year.

February 1979©BYTE Publications Inc

MICROCOMPUTER STANDARDS ARE FINALLY COMING. After several years of manufacturers going their own way in hardware and software design and causing numerous problems for users trying to interface components, the IEEE (Institute of Electrical and Electronic Engineers), the most powerful electrical engineering organization, is working to cure the problem. They expect to soon issue their first standard, which will standardize the S-100 bus. This should eliminate the problem of those S-100 compatible boards which do not work in many S-100 mainframes, (as so many S-100 system users learned the hard way). The fact that a board plugs into an S-100 bus does not guarantee that it will work. Now users can look for the statement "meets IEEE S-100 standards" to insure compatibility.

Standards are also being developed for relocatable loaders, mnemonic standards (particularly between the 8080 and Z-80), a floating point math standard for use with hardware floating point integrated circuits, Intel SBC bus and the National Micro bus standards (which will enable 6800 peripheral devices to work easily with 8080 and Z-80 integrated circuits). It is expected that the floating point standard will be appearing next after the S-100 standard.

PASCAL PICKS UP STEAM. The Pascal language is now the second most popular microcomputer high level language, second only to BASIC. Versions are already available for systems using the following processors: 8080, Z-80, 9900 and LSI-11. Soon two more will be added to the list: the 6502 (for Apple II systems) and a Western Digital chip set which executes Pascal machine code directly.

The popularity of Pascal is due to the fact that the language allows very concise expression of algorithms and is easy to use. It is block structured, has extensive data types and good control structures, providing nonverbose, easily understandable code. However, a large memory and a large disk system is required. Further, the versions currently available still lack certain features, which in time, I am sure, will be implemented. Pascal is considered a real programmer's language, whereas BASIC is considered by many to be a beginner's language.

Credit for the increasing popularity of Pascal goes to Dr Ken Bowles at the University of California-San Diego, who, with his students, has written several Pascal versions and is coordinating and standardizing the different available versions to increase software portability from system to system.

WHAT WILL HAPPEN TO MEMORIES IN 1979? This past year saw dramatic improvements in semiconductor memories that permitted large memory systems at low cost in microcomputer systems. There are already a great many home systems with 65 K of memory, and some with more. The significant areas of improvement are:

SEQUENTIAL MEMORIES: Look for ready availability of 256 K CCD (charged-coupled device) and bubble memories. 1 M byte versions will not be available until 1980. Costs will still be significantly greater than disks. This means that these devices will be used mainly for buffer applications and will not impact the disk storage area.

PROGRAMMABLE MEMORIES: They will be faster, cheaper, and more dense. 16 K dynamic programmable memories organized as 16 K by 1 bit and 2 K by 8 bit will be available that can operate on a single 5 VDC power supply. Also, look for refresh circuitry to be external to the memory devices.

ERASABLE READ ONLY MEMORIES: This year will see the availability of the 32 K erasable read only memory, organized as 4 K by 8 bits. A circuit will be introduced which combines a 1 K programmable memory and a 1 K read only memory. On power up, the program from the read only memory is loaded into the programmable memory. However, if the power fails, the program is retained in the read only memory section and bootstraps itself back into the programmable memory when power is restored.

6502 PROCESSOR MOST POPULAR OF THEM ALL. The 6502 processor will soon be the most widely manufactured processor circuit. It is already being made by MOS Technology, Synertek and Rockwell. Now it will also be made by Electronic Memories & Magnetics, and negotiations are under way with General Instrument. According to the most recent sales reports there are more 6502 ICs being manufactured than any other processor, including the 8080 and Z-80. The 6502 is currently being used in the APPLE, PET, KIM and several other personal computer systems. However, most of the production goes to high volume dedicated game use.

VIDEO DISPLAY TERMINALS ARE CHANGING. More and more CRT terminal manufacturers are introducing terminals utilizing the new video display controller chips that operate in conjunction with a processor. The result is that the component count decreases and performance increases. The most popular video display terminal, up to now, has been the ADM-3A. This was the first video display terminal to break the $1000 barrier and currently sells at around $800. However, Hazeltine, Perkins-Elmer and others have recently introduced terminals having essentially the same features as the ADM-3A and selling for around $700 with the likelihood that they will soon sell in the $600 range. On the other hand, these companies have also introduced terminals with extended features beyond the ADM-3A, which sell in the $800 range. It is rumored that Lear Seigler will soon replace the ADM-3A, which is an all TTL design, with a microprocessor-controlled unit. LS has been known for their aggressive pricing practices in the past, and their new terminals could set new price and performance levels.

Sol Libes

ACGNJ

995 Chimney Rdg

Springfield NJ 07081

February 1979 © BYTE Publications Inc

Continued from page 43

spec will not be met as that pin actually sources 2 mA into ground.

This means that although some 2708s may appear to program properly in the circuit shown, many may have weakly programmed bits, and over time the EPROM may appear to "drop" bits.

I would suggest using circuits recommended by Intel, as this will eliminate the possibility.

Jim Carlson

3580Cerritos Av

Long Beach CA 90807"

Plugging a Jack in the Box

A graphics gremlin struck Craig Anderton's article in November 1978 BYTE ("A Cassette Interface Switching Box for the TRS-80," page 160). In figure 1, the schematic diagram, the symbols for jacks and plugs are reversed. The correctly drawn figure is shown here."

FROM TRS-80

., 1

(PLUGS INTO RECORDER _£,, "REMOTE" JACK)

^N^! s)

J2

(PLUGS INTO RECORDER "EARPHONE" JACK)

FROM TRS-8

°r~i

8fl SPEAKER SPKR I

Floating Point Error

In Burt Hashizume's article "Floating Point Arithmetic" (November 1977 BYTE, page 76) the statement was incorrectly made that the author was selling documentation for mathematical function software. Hashizume is selling the program and the documentation. The package includes arithmetic functions, square root, and transcendental functions written for the 8080 processor. The package may be obtained for $10 from the author at POB 447, Maynard MA 01 754."

A Big Memory?

On page 209 of the December 1978 BYTE our What's New? section introduced a 64 K byte programmable memory. Unfortunately, we said that the internal architecture was arranged as 64 K byte by 1. We should have said it was 64 K words by 1 bit. Our apologies to all readers who thought that the age of the one memory chip computer had arrived."

EPROMs out at the touch of a finger.

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

PB1 has two separate programming circuits so 2708 or 2716 (5v) type of EPROMs can be programmed without modifying the board. Programming voltage is generated on-board by a DC-DC converter; no need for an external power supply. Programming sockets are Dip Switch addressable to any 4k boundary. And complete software is provided for programming and verifying EPROMs.

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

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

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

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

Textool programming sockets

nurimiiui ""*■ ■HHHHIH

Programming protect switch *

LED indicating programming mode

Programming power supply

EPROM addressing switches

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

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

Circle 335 on inquiry card.

February 1979 © BYTE Publications Inc 65

Technical hwum

Another Plotter to Toy With

Peter A Lucas University of Wisconsin 1025 W Johnson St Madison Wl 53706

Technical Forum is a feature intended as an interactive dialog on the technology of personal computing. The subject matter is open-ended, and the intent is to foster discussion and communication among readers of BYTE. We ask that all correspondents supply their full names and addresses to be printed with their commentaries.

I have followed with interest past discussions of the possibility of building a hard copy pen plotter driven by hobby servomechanisms of the kind described by Robert Grappel in "Give Your Micro Some Muscles" (March 1977 BYTE, page 9).

The crux of the problem is finding an easy way to build mechanical arrangement for translating the rotary motion of a pair of servomechanisms into the two-dimensional translatory motion of a pen on a plotting surface. T P Roberts in "Some Plotting Comments" (February 1978 BYTE, page 172) has discussed this problem at some length. As pointed out in that article, a Cartesian XY plotting arrangement is by far the most desirable approach—both in terms of maximizing plotting accuracy and of minimizing software complexity. However, the design proposed by Roberts for such a plotter is, as he points out, rather difficult to execute. The main problem is that it requires one of the servomotors to be mounted on a moving platform driven by the other—a somewhat unstable mechanical situation.

I would like to point out, however, that an alternate design exists which solves this problem nicely. Moreover, a plotter employing this design has been available commercially for a good number of years. This device features high resolution, true XY plotting; it is ruggedly constructed, available offthe-shelf almost anywhere and sells for less than $10 (less the servomechanisms). This extraordinary product is manufactured by the Ohio Art company and, as any child could tell you, is sold under the name EtchA-Sketch®!

No joke, this classic toy represents an excellent prototype for a hobbyist built plotter. Just in case there is anyone who has never owned one, I'll describe it briefly. The toy consists of a shallow rectangular plastic box with a transparent television-like screen which is coated on the back with some sort of silver colored substance. Two knobs control the vertical and horizontal movement of a stylus which serves to etch away the silver coating, thus producing a line drawing on the screen. Turning the box over and shaking it recoats the screen for a fresh start.

Figure 1: Design for an XY intersection plotter. The two pulley systems allow true Cartesian pen motion from two stationary servomotors.

DLER PULLEYS

66 February 1979 © BYTE Publications Inc

Now, it's been a long time since I've had the tenacity to scrape clear the whole screen so as to see inside, but to the best of my recollection, the design of the toy is something like that shown in figure 1. Basically, it is an XY version of the intersection plotter described in the Roberts article. Lateral motion of the intersecting rods is accomplished by a system of pulleys and cords encircling the plotting area.

The trick is that each rod has two cords associated with it, threaded in opposite directions around the servomotor shaft pulleys. Thus, when the servomotor turns, the two cords move exactly the same distance around the plotting area, but in opposite directions, thereby keeping the rod parallel to its axis. Two such pairs of loops complete the system, comprising a simple, mechanically stable and quite satisfactory plotting mechanism.

Design Notes

Although figure 1 shows the drive pulleys mounted directly on the servomotor shafts, in practice it will usually be necessary to provide some sort of pulley or gear arrangement to adjust the amount of pen movement per revolution of the servomotor. When using servomechanism devices whose range is limited to 180°, an arrangement like that shown in figure 2 would be needed in order to obtain an adequate plotting area. If this is taken too far, of course, either the plot resolution will become unacceptably coarse, or else the torque at the secondary pulley will be reduced until it can no longer drive the mechanism smoothly.

A happier situation exists if one is working with devices (such as stepper motors) which can rotate continuously at a reasonable rate of speed. In this case, it is desirable to employ a reduction arrangement—just the opposite of that shown in figure 2. In this way, the size of the plotting area and the resolution can be increased.

A word also needs to be said about the pen mechanism. Any practical plotter requires the ability to raise and lower the pen under program control (the lack of this ability is a major shortcoming of the Etch-ASketch®). By far the simplest method is to employ gravity and the weight of the pen to maintain contact with the plotting surface (this works best with felt tip markers and Rapidograph type drafting pens). In this way, a very small solenoid is sufficient to lift the pen from the paper. Note that unlike Roberts' intersection plotter design, the pen need not be aligned with the inter

PRIMARY PULLEY

SERVO

section of the two drive rods: the orthogonal motion of the pen carriage insures that no distortions will be produced by an offset. Two minor details also need mentioning. First, figure 1 shows the two sets of idler pulleys on different shafts only for clarity's sake; there's no reason why they can't all be mounted on the same shaft, provided that each rotates independently. Second, the illustration shows tension springs threaded in line with the drive cords. A generally better (but slightly more complex) method of maintaining tension is to spring load one of the idler pulleys for each loop as shown in figure 3. Note that the tension pulley for each loop must operate independently in order to compensate for small differences in the lengths of the cords.

Concluding Remarks

The design presented here possesses all the advantages of a true XY plotter com

PULLEY

Figure 2: Pulley arrangement to increase pen motion per revolution of the servoshaft. Note that the two secondary pulleys must be attached together so that the servomotor will drive both cord loops, but in opposite directions. The arrows show the motion of the two loops for a clockwise rotation of the servomotor.

Figure 3: A spring loaded idler pulley to maintain cord tension. Four of them will be required, one for each loop.

February 1979 © BYTE Publications Inc 67

Circle 142 on inquiry card.

ALL NEW 1979 EDITION AVAILABLE AFTER JANUARY

$10.

).00

SEND CASH. CHECK. OR MONEY ORDER

TO:

GALLAHER RESEARCH, INC.

P.O. BOX 10767 WINSTON-SALEM, N.C. 27108

GRPVET SERIES

CATALOG

• PARTS • APPLICATIONS • PLANS • INTERFACES

The brand new 1979 Grivet Series Catalog contains detailed drawings and 100 pages of design data in a rugged, 3-ring binder. Inside you will find all the interchangeable parts and standard materials you will need to construct over 1,000 different configurations. Build a simple, little two-foot motorized box, or a multi-legged insect-like creature, or accept the challenge of a sevenfoot, two-legged, dual-armed android! Interface your robot to your microprocessor through our DC motor controller and positional feedback boards. Use your own plans, or select from any of ours. Put a robot together, then take it apart and build a completely different one from the same parts, or buy more parts and expand your system.

bined with an ease of construction that matches or exceeds most other designs which have been proposed. Carefully constructed and driven by appropriate software, it should be capable of producing plots of a quality approaching that of a professional draftsperson. A simple plotting routine might accept an X and Y coordinate relative to the current pen position (ie: delta X and delta Y) and either move (pen up) or draw (pen down) to that coordinate. A more elaborate plotting package might include routines for drawing dotted and dashed lines, automatic scaling, rotation, translation of the coordinate system, software character generation, etc.

Such a system would provide the basis for a variety of practical and aesthetic applications of personal computing. The artistic possibilities are especially appealing. Several BYTE covers have been graced with examples of "algorithmic art" (ie: February 1977, October 1977, April 1978, September 1978, etc). Given time, a pen plotter is capable of producing far more detailed and intricate images than can be satisfactorily displayed on a video display. An added bonus is the capability of making multiple passes with different colored pens."

You can use the versatile new BETSI to plug the more than 150 S-100 bus expansion boards directly into your PET*!

On a single PC card, BETSI has both interface circuitry and a 4-slot S-100 motherboard. With

BETSI. you can instantly use the better than 150 boards developed for the S-100 bus. For expanding your PET's memory and I 'O, BETSI gives you the interface. The single board has both the complete interface circuitry required and a 4-slot S-100 motherboard, plus an 80-pin PET connector. BETSI connects to any S-100 type power supply and plugs directly into the memory expansion connector on the side of your PET's case. And that's it. You need no additional cables, interfaces or backplanes. You don't have to modify your PET in any way, and BETSI doesn't interfere with PET's IEEE or parallel ports. And when you want to move your system BETSI instantly detaches from your PET.

BETSI is compatible with virtually all of the S-100 boards on the market, including memory and I/O boards. BETSI has an on-board controller that allows the use of the high-density low-power "Expandoram" dynamic memory board from S.D. Sales. This means you can expand your PET to its full 32K limit on a single S-100 card! Plus, you won't reduce PET's speed when you use either dynamic or static RAM expansion with BETSI. Additionally. BETSI has four on-board sockets and decoding circuitry for up to 8K of 2716-type PROM expansion (to make use of future PET software available on PROM). BETSI jumpers will address the PROMs anywhere within your PET's ROM area, too.

BETSi is the new Interface/Motherhoardfrom Forethought Products—the milkers qfKIMSI"—which allows users of Commodore's PUT Personal Computer to instantly work with the scores of memory and I/O hoards developed for the S-100 (lmsai/.i llair type) hus. BETSI is available from stock on a single 5'/:" X10" printed circuit card.

MAIL ORDERS ARE NORMA LL Y SHIPPED WITHIN 48 HOURS. VISA AND MASTERCHARGE ORDERS ARE BOTH ACCEPTED.

1978 Forethought Product!

The BETSI Interface/Motherboard Kit includes all components, a 100-pin connector, and complete assembly and operating instructions for $1 19.

The Assembled BETSI board has four 100-pin connectors, complete operating instructions and a full 6-month Warranty forjust $165.

FORETHOUGHT PRODUCTS

87070 Dukhohar Road UK tugene. Oregon 97402 Phone (50.1) 485-0575.

BETSJ is available off-the-shelf from your local dealer or (if they're out) directly from the manufacturer.

Ask about our memory prices, too!

* n Commodore product.

68 February 1979 © BYTE Publications Inc

Circle 140 on inquiry card.

TARBELL SETS STANDARDS

For Hobbyists and Systems Developers

Sales to thousands of hobbyists over the past two years have proven the Tarbell Cassette Interface to be a microcomputer industry standard. Tarbell Electronics continues research and development to produce new and efficient components to fill hobbyists' changing needs.

TARBELL CASSETTE INTERFACE

1 Plugs directly into your IMSAI or ALTAIR * 1 Fastest transfer rate: 187 (standard) to 540 bytes/second 1 Extremely Reliable—Phase encoded (self-clocking) 4 Extra Status Lines, 4 Extra Control Lines 37-page manual included Device Code Selectable by DIP-switch Capable of Generating Kansas City tapes also No modification required on audio cassette recorder Complete kit $120, Assembled $175, Manual $4 Full 6 month warranty on kit and assembled units

ilfliiiittiifilfilfllll 11 ilTTillTiTfitfTltl i fflTi t

TARBELL FLOPPY DISC INTERFACE

• Plugs directly into your IMSAI or ALTAIR* and handles up to 4 standard single drives in daisychain.

• Operates at standard 250K bits per second on normal disc format capacity of 256K bytes.

• Works with modified CP/M* Operating System and BASIC-E Compiler.

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

• Full 6-month warranty and extensive documentation.

• PRICE: Kit $190 Assembled $265

luyii.iBits. "Mill jit it

TARBELL

PROTOTYPE

BOARD

Model 1010

CP/M with BASIC E Compatible Disc Drives

and manuals: $100 Ask about our disc drives priced as low as $525.

• Gold plated edge pins

• Takes 33 14-pin ICs or

• Mix 40-pin, 18-pin, 16-pin and 14-pin ICs

• Location for 5 volt regulator

• Suitable for solder and wire wrap

• ALTAIR/IMSAI compatible Price: $28.00

For fast, off the shelf delivery, all Tarbell Electronics products may be purchased from computer store dealers

across the country. Or write Tarbell Electronics direct for complete information.

'ALTAIR is a trademark/tradename of MITS, Inc. CP/M is a trademark/tradename of Digital Research

yk

m

francs

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

Circle 360 on inquiry card.

BYTE February 1979

69

The Eclectic Card Reader

Anthony J Schaeffer

3510 Dunstan Dr

Bloomington IN 47401

Recently, upon completing an LD-14 version of the PDP-8 minicomputer, I encountered the common problem of data entry: all that I had were the panel switches and a softwareless cassette recorder. (See "A Tutorial Training Computer," January 1977 BYTE, page 76. This is a useful tool for learning digital electronics.) Paper tape provides the usual solution to this problem, but it was difficult to extract paper tape from the large system I use. The only

Photo 1: The parts of the reader laid out before assembly.

solution seemed to be to follow the big fellows and use punched card input. Enough details of my design of the card reader follow so that an enterprising soul can modify it for other uses. I hope that a manufacturer will produce and market an inexpensive people powered card reader of similar design. Punched cards are too pervasive for small computer users to ignore forever.

Standard punched cards have 80 columns and 12 rows. Simple readers usually read one column of 12 bits at a time; the reading is typically done by shining a light on the card and sensing a 1 where there is a hole and the light can get through. Since there are 80 columns, some clocking method must be arranged to determine when a column is aligned with the detector and ready to be read. In a reader where the card is moved by hand at nonconstant speed, the only effective method of obtaining clocking is to dedicate one row on the card to being a clock row. When it is aligned, the other rows are aligned and data can be read. Naturally, every hole in the clocking row must be punched, and the clocking row is not available for data, so there are only 11 bits of data per column. Since most computer systems that use a reader of this simplicity are based on eight or 16 bits, the loss of one bit out of 12 is not a severe loss. One simply punches eight data bits per column and has four bits left for clocking and error recovery.

Figure 1 shows the mechanical detail of my design. The wood parts were cut from a scrap 1 by 6. (Actually 3/4 by 5 7/16 inches or 1.9 by 13.8 cm.) First I cut the board to the length of a card. Then I trimmed 1/2 inch (1.3 cm) off each edge to make the top guide rails. The finished base was about 4 1/4 inches (10.8 cm) wide. A card with all 12 holes punched in column 40 is the only precision piece, and it provides the alignment for the reader. (Nine holes suffice to read eight bits of data plus one clock bit.) Using this card as a template, mark the board and drill 3/16 inch (0.5 cm) holes to accommodate the phototransistors. This

70 February 1979© BYTE Publications Inc

'41%,

CDfTlPUTER SOFTVyfiRE

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

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

• Versatile - as most programs allow for multiple modes of operation.

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

• Comprehensive - as an example our PSD program not only computes Power Spectral Densities but also includes FFTs, Inverse-transforms, Windowing, Sliding Windows, simultaneous FFTs variable data sizes, etc. and as a last word our software Is:

• Readable - as all of our programs are reproduced full size for ease In reading.

• Virtually Machine Independent - these programs are written In a subset of Dartmouth Basic but are not oriented for any one particular system. Just In case your Basic might not use one of our functions we have Included an appendix in Volume V which gives conversion algorithms for 19 different Basic's; thaf s right, just look if up and make the substitution for your particular version. If you would like to convert your favorite program Into Fortran or APL or any other language, the appendix in Volume II will define the statements and their parameters as used in our programs. Over 85% of our programs in the first five volumes will execute in most 8K Basic's with 16K of free user RAM. If you only have 4K Basic, because of its lack of string functions only about 60% of our programs in Volumes I through V would be useable, however they should execute in only 8K of user RAM. For those that have specific needs, we can tailor any of our programs for you or we can write one to fit your specific needs.

Vol.

Vol. II

Business &

Personal

Bookkeeping

Games & Pictures

Programs

Animals Four Astronaut

Bond

Bagel

Building

Bio Cycle

Compound

Cannons

Cyclic

Checkers

Decision 1

Craps

Decision 2 Depreciation

Dogtlght Goll

Efficient

Judy

Flow

Line Up

Installment

Pony

Merest

Roulette

Investments

Sky Diver

Mortgage

Tank

Optimize

Teach Me

Order

Pictures

Rate

A Newman

J.F.K.

Linus

Schedule 1

Ms. Santa

Nixon Noel Noel Nude Peace Policeman Santa's Sleigh Snoopy Virgin

Binomial

ChhSq.

Coeff

Contldence 1

Confidence 2

Correlations

Curve

Differences

Dual Plot

Exp-Dlstri

Least Squares

Paired

Plot

Plotpts

Polynomial Fit

Regression

Statl

Stat 2

T-Dlstrlbutlon

Unpaired

Variance 1

Variance 2

XY

APPENDIX A

Beam

Conv

Filter

Fit

Integration!

Integration 2

Intensity

Lola

Macro

Max. Mln.

Navald

Optical

Planet

PSD

Randt

Rand 2

Solve

Sphere Trtan

Stars

Track

Triangle

Variable

vector

Vol. Ill

Billing

Inventory

Payroll

Risk

Schedule 2

Shipping

Stocks

Switch

Vol. IV

Bingo

Bonds

Bull

Enterprise

Football

Funds 1

Funds 2

Go-Moku

Jack

Life

Loans

Mazes

Poker

Popul

Profits

Qublc

Rates

Retire

Savings

SBA

Tlc-Tac-Toe

Vol. V

Andy Cap

Baseball

Compare

ConfldtO

Descrtp

Differ

Engine

Fourier

Horse

Integers

Logic

Playboy

Primes

Probal

Quadrac

Red Baron

Regression 2

Road Runner

Roulette

Santa

Stat 10

Statu

Steel

Top

Vary

Xmas

APPENDIX B

Vol. VI

Ledger

Vol. VII Chess

Maintains Company accounts and generates financial reports. Includes routines for Pyrl, Iny Depr, A/R, A/R

Designed to challenge the average player, fairly comprehensive. Great fun for all. offers a unique opportunity for beginners In need of an opponent.

Medbll For Doctors and Dentists alike, a complete patient billing system which also permits the maintaining of a pattent history record.

Wdproc Wordprocesslng for lawyers, publishers, witters, etc. VAtte. store, and change from rough draft to final copy In a variety of formats.

Utility Disk utility program with memory testing.

Vol. VIII

1040-Tax

Taxpayers return, Itemized deductions or standard

Balance Reconciles bank statements

Checkbook Balances your checkbook

Inst 1 o 78 Computes real cost on bank financed Items; cars, boats, etc.

Deprec 2 Computes depreciation, 4 methods, any time period

APPENDIX C - FAVORITE PROGRAM CONVERSIONS

Vol. I - $24.95 Bookkeeping Games Pictures

Vol. II - $24.95 Math/Engineering Plotting/Statistics Basic Statement Def.

Vol. Ill - $39.95 Advanced Business Billing, Inventory Investments Payroll

Vol. IV - $9.95 General Purpose

Vol. V-$9.95 Experimenter's Program

Vol. VI - $49.95 Mini-Ledger

Vol. VII - $39.95

Professional

Programs

Vol. VIII - $19.95

Homeowner's

Programs

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Americard accepted.

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

Add $1.50 per volume handling, all domestic shipments sent U.RS. except APO and PO. Box which go parcel post. Foreign orders add $8.00/volume for air shipment and make payable In U.S. dollars only

£!) SCIENTIFIC RESEARCH

do n™ /tonnoo.n Key Biscayne, FL 33149

(305) 361-1153

RO. Box 490099-B

BYTE February 1979 71

TOP

GUIDE RAIL

APERTURE CARD GLUED TO BASE

Figure I: Construction of the author's homebrew punched card reader. The base is drilled for photo transistors (see detail of mounting in figure 2). Above each hole is an aperture made by a punched hole in the aperture card, which is glued to the base. The top guide rail is glued to a stack of spacer cards.

APERTURE MADE FROM PUNCHED CARD

drilling should be done accurately; a sharp bit will produce clean holes. After the holes are drilled, glue the aperture card to the board. I found watered down white glue to be easy to use.

To form a slot in which the card can move freely, build spacers at the top and bottom edges of the reader. These can be constructed by gluing three cards together. When the glue is dry, cut them lengthwise

APERTURE PUNCHED CARD

TOP RAIL SPACER CARDS

BASE

Figure 2: Cross section of the card reader. The holes in the aperture card are lined up with the drilled holes for the photo transistors. (In this drawing only one of nine photo transistors is shown.) The top guide rail forms a notch which keeps the card being read from wandering.

with a sharp knife and a straight edge. Smooth them slightly and glue the spacers snug against the aperture card as shown in the figures. Before attaching the top guide rails, spray paint everything flat black to reduce stray light that could shine through the reader body into the phototransistor. Finally, glue the top guide rail and nail in place with about 1/8 inch (0.3 cm) overhanging the aperture card to form the guide. See the end view in figure 2.

Figure 3 shows the basic circuit. I used Fairchild FTK0031 phototransistors which I purchased from James Electronics. I believe these are actually FPT-100 that are not being used in new designs, so Fairchild has put them in an inexpensive kit for experimental usage. These devices usually have no connection to the base, so I cut off the base leads. The pull up resistor holds the inverter input high when the transistor is not being illuminated. It also controls the sensitivity of the circuit. It should be small enough to hold the input high when the phototransistor is covered. About 2.2 k ohms for normal TTL seems to work well, but in the breadboard stage I found that no resistance also worked. Smaller values can be used to reduce the sensitivity. As the circuit stands, it will not switch reliably because noise will cause the inverter to switch off and on as the light on the phototransistor increases or decreases through the threshold value. This "bouncing" can be eliminated by using a Schmitt trigger inverter or gate: 7413, 7414 or 74132 (see "Look What You Can Do. . . with an Edge as a Cue" by Ralph Tenny, August 1977 BYTE, page

72

February 1979©BYTE Publications Inc

INTRODUCES "CORE"

A NEW CO-RESIDENT SYSTEM MONITOR

FOR THE TRS-80

CORE IS AN INDISPENSABLE "BRAIN-SURGEON"

This program is essential for the TRS-80 level II (16K minimum). It permits the user to penetrate and manipulate the contents of the memory. It can question the input and output ports, the CPU registers, control the mass storage drives and much more.

HERE'S A PARTIAL LIST OF THE AVAILABLE COMMANDS

• Examine and modify memory

• Display memory content in Hex

• Display memory in ASCII characters

• Display Z-80 CPU registers (main and secondary)

• Enter ASCII characters in memory

• Fill memory with user defined byte

• Move block of code to different address in memory

• Verify discrepancies within two blocks in memory

• Locate a string in memory

• Branch to user defined routine

• Go to and execute user defined address with two breakpoints available for debugging

• Hexadecimal arithmetic

• Question input ports and command output ports

• Tape Cue; cassette on/off

• Read tape cassette file in memory (bias available)

• Write file onto tape-cassette

• Memory test for bad chip

• Calculate top address of RAM

PRS COMPREHENSIVE DOCUMENTATION ACCOMPANIES CORE

PRS CORE comes with a complete and instructive handbook explaining every procedure step by step. This unique documentation is written in clear and easy-to-understand English and avoids esoteric technical language.

But PRS documentation for CORE is more than clear and precise instructions in a graphically appealing manual. You learn at the same time.

Indeed, PRS CORE documentation offers you a true fluency in com

puter-user dialogue.

PRS CORE HAS A POWERFUL CODE

Powerful code means fast and accurate answers. PRS permeates the design of its unique code with "human engineering."

CORE IS PROTECTED IN A BEAUTIFUL CASSETTEFOLDER

The PRS cassette and manual for your CORE program is protectively nestled in an efficient and durable gold-imprinted folder. Wherever you file it, in your room or office, the decor will be enhanced by its elegance.

CORE FROM PRS IS SUPPORTED BY TRS-80 LEVEL II (16K MINIMUM).

VISIT YOUR NEAREST DEALER TODAY TO OBTAIN YOUR CORE FROM PRS FOR ONL Y $38.95 PER CASSETTE

Let your dealer demonstrate the excellence of PRS CORE. Or use the coupon below to obtain the name of a dealer in your area.

I

New Product Releases From

PRS THE PROGRAM OF THE MONTH CORPORATION

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

Gentlemen:

□ Please place my name on your priority mailing list to receive your descriptive advance releases of all new programs developed by PRS at regular intervals.

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

State.

Zip

Reference 2B9

Circle 309 on inquiry card.

BYTE February 1979

73

mi ii ii MiiiiiiiiMimii mi iiiiiiiiiimriiiiiiitiiiuiiiiun,,,,,,,, ,

l iiiiiiii |

1 limn |

> nun |

i inn i

1 llll |

1 III , ■ II i ■ • I

+ 5V

Photo 2: A view of the completed card reader, with a test card partially slid through the device. Note the timing track punched along the top row in every column, with arbitrary test data in several columns. Note also how the wooden guide overlaps the card at the top edge of the picture.

About the Author

Anthony J Schaeffer holds a PhD in applied mathematics from the University of California and is currently PLATO site director at Indiana University, Bloomington campus.

120). I used a Schmitt trigger only on the clocking bit, but it would be best to use one on all of the bits. Also, low power Schottky integrated circuits have higher input impedances and will give greater sensitivity.

It is essential that the clocking bit switch cleanly. Also, it must be the last one to come on and the first to go off. The data bits can bounce a little, as long as they

WORLD LEADERS AGREE:

MULLEN CONTROLLER BOARDS UNIVERSALLY APPLICABLE

We asked several prominent world leaders what they thought of the Mullen Controller Board. Here are their replies:

"Sunn/' Jim Cailaghan (British Prime Minister): "As you know, we've had some energy problems around here ... but that was before the Controller Board. Now, these boards control lighting and heating in all government buildings, resulting in an energy reduction of over 2596."

Leonid Breshnev (Soviet leader): "Our wheat harvests were the pits, until we discovered the Controller Board. While our computer monitors weather data and other variables, the Controller Board dispenses proper irrigation and fertilizer for optimum growing."

Kurt Waldheim (Secretary General, United Nations): "I firmly believe the Mullen Controller Board is a stabilizing influence in global trade. Its low cost helps offset world-wide inflationary trends."

Ciscard D'Estaing (French leader): "Les 'Mullen Controller Boards' sont absolument magnifique! Je les utilize chaque jour pour toute sortes de choses."

Jimmy Carter (President, USA): "Ah use Mullen Controller Boards all the time, but there was one problem they couldn't solve: my worries about defense systems reliability. What if some computer failed at a crucial moment, and it took hours to service it? Thafs when the Mullen man showed me that Mullen Extender Boards can speed servicing and repairs."

These unsolicited (and totally fabricated) statements are not only designed to provide a little entertainment, but to emphasize that the Mullen Controller Board is truly a product that makes your computer useful. People use these boards to control disco lights, robots, photography experiments... even an automatic cat feeder! Visit your local computer store and see our boards in person, or order from us by direct mail (only $98 postpaid; California residents add sales tax for mail orders).

MULLEN Computer Products

BOX 6214, HAYWARD, CA 94545

\

^Sw OUTPUT

^O

PHOTO-TRANSISTOR

/77

Figure 3: Detail of the photo transistor circuit used for the reader. The resistance R controls the sensitivity of the circuit. About 2.2 k ohms is the nominal value for the eight data zones of the card, and the single "clock" row (every column punched) is adjusted to a lower sensitivity by using a smaller resistance value. The lower sensitivity of the clock track is used to delay the clock pulse slightly to guarantee that the data is stable.

have stabilized before the clock comes on. The data bits do not need to extinguish between adjacent punched columns, as long as they go off in an unpunched column before the clock comes on. I achieved this by adjusting the position of the light so that the data bits just extinguished between adjacent punched columns. Then I reduced the sensitivity of the clocking bit until it would just come on reliably for every column. This seemed to give reliable results.

For the record, I used a 75 W bulb in a goose neck lamp about 12 inches away from the reader. Phototransistors respond best to an ordinary filament light bulb or to an infrared LED, but visible LEDs and fluorescent lights do not work well.

Many variations on this reader are possible. An end-of-card indicator would be a useful addition. In my second version, I wanted to be able to read all 12 rows as data, so the clocking information could not be on the data card. To get the clock, I had the data card push a clock card past a second read station. The alignment was achieved by punching both the data station card and the clocking station card in column 40. These two cards were glued side by side on the board, so when the data card pushed the clock card, corresponding columns were aligned over both stations."

74 February 1979 © BYTE Publications Inc

Circle 267 on inquiry card.

BEYOND TRS-80

When Microsoft put Level II BASIC on TRS-80, you got a glimpse of its full potential.

Now Microsoft introduces:

TRS-80 Fortran

and TRS-80 will never be the same

Plus

Circle 228 on inquiry card.

TRS-80 FORTRAN includes the finest Z-80 development software available:

Z-80 Macro Assembler, versatile Text Editor, and Linking Loader.

Total price: Only $350.00

TO: Microsoft, 10800 NE Eighth, Suite 819. Bellevue, WA 98004

□ Send me free TRS-80 FORTRAN overview.

□ Send me TRS-80 FORTRAN and Z-80 development software for $350.00.

□ Check enclosed □ Master Charge □ VISA Card Number Exp. Date

Clip the coupon and ORDER NOW, or send for free overview for more details about TRS-80 FORTRAN.

TRS-80 FORTRAN is supplied on two minidiskettes and requires a 32K system with one disk drive. Dealer inquiries invited.

Cardholder's Signature.

Name.

Address. City

.State.

-Zip.

;iW;MW;

10800 NE Eighth, Suite 819 Bellevue, WA 98004

Assembling

the ADM-3A

Paul Franson 115 FancherCt Los Gatos CA 95030

When I decided to acquire a personal computer system, I noticed that much desirable equipment is available in kit form at substantial savings over assembled cost. It's always tempting to save money, but like many others, I wondered if the savings were worth the trouble. Are the kits suitable for building by any computer enthusiast or does it take a dedicated and experienced hardware enthusiast to do the job? How hard is it to build a kit? Will the equipment work after it's assembled? And who fixes it if it doesn't work? A $200 savings doesn't mean much if you end up with a piece of gear that doesn't work and can only be fixed with great difficulty at substantial cost.

I had already acquired an assembled microcomputer, but decided that I needed something more than the limited hexadecimal keyboard and display. The obvious answer was a video terminal, and Lear Siegler's ADM-3A intrigued me. It is widely used in industry (I see them in my work), has every feature you could expect in a video terminal and is available at a substantial savings for the home constructor.

I decided to take the plunge with the kit. If you have considered buying and assembling this or any other kit, you might be interested in my experience. To save you from excessive suspense, I'll tell you now that it wasn't a bad job, and the terminal worked the first time I turned it on. Nevertheless, I did run into some problems and I suspect that others who build this and related kits will have similar experiences.

Some ADM-3A characteristics should be considered before discussing its construction. Lear Siegler markets it as the "dumb" terminal, which turns out to be a very smart move. This lowly label serves to set it off from the expensive and much balleyhooed "smart" terminals being used more and more in distributed computer systems. The smart

terminal contains a certain amount of computer power, allowing it to greatly reduce the load on its host computer, which may be a long telephone call away.

The ADM-3A, on the other hand, is just what the hobbyist and many professional users need. It contains all the needed features, selection of a variety of configurations with numerous small internal switches and options available for some other features.

Among the main features are its 12 inch (30 cm) video display, which can display 960 characters in 12 lines of 80 characters per line, or optionally, 1920 characters in 24 lines. The standard 64 character ASCII set is displayed in upper case, and all usual controls and punctuation are included. The characters are formed from the standard 5 by 7 dot matrix. Lower case display is one of the options available at additional cost. Like the extra display, the lower case characters are added by simply plugging in some additional integrated circuits and flipping an internal switch.

A big plus of the ADM-3A is its versatility, assuring users that it will work with any systems they are likely to have. Full cursor control is provided under local or computer control, with either reverse block or underline to indicate its position. Data can be entered from top to bottom or at the bottom of the screen with scroll upward like a typewriter. End of line is indicated with a beep, and the terminal can be set to start a new line automatically at the end of the line you are entering.

Both Electronic Industries Association (EIA) standard RS-232C and 20 mA current loop (Teletype) computer interfaces are provided, with an auxiliary interface for RS-232C printer, magnetic recorder or other device. Communications rate is selectable from 75 to 19,200 bps, surely a wide enough range for virtually any use. Full and half

76 February 1979 © BYTE Publications Inc

MICRO

FEBRUARY SPECIALS

Double density Horizon I Kit

double the storage at the same price!

Today's best buy. 180K bytes per disk. The chosen computer for two MicroWorld systems ... Autoscribe — The Paperwork Manager- and Bookkeeper — The Office Accountant-. Single density still runs on your new Horizon, or you can copy and convert all North Star software and programs to double density.

• exclusive application software

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

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

• set of 9 edge connectors, $45

• add'l serial interface, $35.40

• parallel interface, $35.40

Call for low assembled prices. Double density also available on North Star disk sub-system, $599 kit.

IP-125 Printer by Integral Data

50 char, per sec. upper/lower case 256 char, buffer 80 columns wide enhanced char.

Options:

• compressed print $ 39

• 1K buffer 99

• TRS-80 cable 49

• buffer/graphics/compr. print . 149

IP-225 Printer by Integral Data

All the features of the IP-125, plus tractor feed.

Optional: Buffer, graphics, compressed print, $149.

Texas Instruments 810 Impact Printer

immediate shipment

The Tl 810 has some big features you usually don't find for such a small price. Tractors, RS232-C, 150 cps (fast), bidirectional, multi-copy, 3" to 15" form width, 9x7. Options:

• upper/lower case, $100

• forms length control/compr. print, $200

• stand & tray, $125

-rig&dffi Soroc IQ120 Video

T* « <& Terminal 1

Terminal

^BB^BI^^^^^tr—

Hazeltine 1500 Video Terminal

x

5££°UJDRLD"

Bringing information technology to your doorstep

1425 W. 12th PI. • Tempe, AZ. 85281 • 602-894-1193

place your order TOLL FREE

1-800-528-1418

MicroWorld is a division of The Phoenix Group, Inc. Call for all

your computer needs.

Prices F.O.B. Tempe

No handling charge for freight-collect orders.

ALWAYS THE SAME PRICE FOR VISA & M/C — CALL TODAY!

Photo V. Lear Siegler A DM-3A ' 'dumb'' terminal kit. When the kit is unpacked, the various parts are grouped in convenient sections.

duplex modes are selected by switch, as are word length (nine, ten or 11 bits) and parity. Again, the terminal has the flexibility for virtually any application, so you aren't locking yourself into one system or mode of operation.

The individual builder of the kit doesn't go though all the tests, inspections and the burn-in cycle that Lear Siegler applies to its assembled equipment, but the design and components are the same quality as in their commercial units.

All Those Parts?

The first thing you notice when you get the terminal kit is its huge packing box. The terminal itself is not much larger than a typewriter with the video display on top, but the packing box could have a good size color television in it. The reason for the size is the careful packing for protection in shipping. You're not likely to find shreds and pieces of the terminal when you open the box.

The next surprise as you look over the kit is that much of the work has already been done for you. The video monitor is already assembled and mounted in the top half of the case, and the hefty power supply transformers, primary fuse, switches and cables are already attached. Even the end of line beep speaker is installed on the bottom (it drove me crazy trying to find it until I read the instruction book—more on that later).

The third observation as you look at the contents of the packing case is the shock when you see the vast number of integrated circuits in the kit. Sockets are provided,

thank goodness, but it dawns on you that you are going to have to solder every lead of each of the almost 150 sockets, plus the other components mounted on the circuit board. That's a lot of soldering (unless, of course, you have a wave solder machine handy) and the spacing between sockets is pretty tight.

Time for second thoughts? No, it turns out that it's not that bad a job. I used to build a lot of electronic equipment in years past, but I'm a bit rusty at present. The soldering took me about six hours total, but I don't think I'd tackle it without some experience. Building a simple Heath kit first would be a good idea and would probably help quite a bit.

Do follow instructions, however. Every kit I've ever built has warned not to jump ahead in assembly, and I always do something that looks right to me and end up cursing when I find out that I goofed. In this case, it was soldering two small dual-in-line package switches (with 14 leads) in backwards. Correcting the problem was a nasty job.

Installing and soldering the sockets themselves was fairly straightforward. The manual suggests that you insert all of the sockets, hold them down with masking tape, then turn the board over and tack each socket down by soldering in two diagonal corners. Then you remove the tape, and if any socket isn't flat against the board, it can be seated easily by softening the solder and pushing the socket in place.

After all the sockets are in position comes the big job: soldering each terminal to the board. I suggest you take it in a few sessions

78

February 1979 8 BYTE Publications Inc

Technical Systems Consultants, Inc.

TSC, Technical Systems Consultants, is the software company for all the newest, most innovative ideas in computer software. TSC builds a variety of programs, packages and games so you can get down to business or just some fun.

FLEX for SWTPc and SSB

Now owners of Smoke Signal Broadcasting's BFD-68 or LFD disk systems can enjoy all the power and convenience of the FLEX disk operating system. SWTPc MF-68 owners can step up to an enhanced version of FLEX. The SWTPc MF-68 comes with a version called "mini FLEX", while the SWTPc DMAF-1 comes with "FLEX 1.0". There are three new versions, all identical to FLEX 1.0 except for the disk drivers. They are FLEX 1.0 for the SSB LFD, FLEX 2.0 for the SSB BFD-68 and FLEX 2.0 for the SWTPc MF-68. The new FLEX's require 8K of RAM at location $A000. This means all FLEX based software can now be run on a Smoke Signal system. Some of FLEX's features are:

Simple command structure

Dynamic file allocation

• Automatic space compression Extensive software support

Enhancements to FLEX 1.0 & 2.0: » Full 32K available to user Printer Spooling (requires timer) Random Access files

• Input/Output file capability

• File protection and dating

• More data per disk

Included are an object code disk with FLEX, the utility command set, the TSC Text Editing System, and the TSC Mnemonic Assembler, the FLEX User's Manual, FLEX Advanced Programmer's Guide, Text Editor manual, and Assembler manual (no source listings included).

FLEX 1.0 for SSB LFD $100.00

FLEX 2.0 for SSB BFD-68 $ 90.00

FLEX 2.0 for SWTPc MF-68 $ 75.00

|\ Technical Systems ' \ Consultants, Inc.

SORT/MERGE Package

This FLEX compatible package allows any size and type file to be sorted according to parameters you specify. Written in 6800 assembly language, it is extremely fast. Sort parameters may be supplied in three ways: as part of the command line, through use of a "parameter editor", or through an existing parameter file. The package is a full-disk sort/merge meaning that files too large to fit in memory will be broken into multiple, temporary work files which are individually sorted and then merged into one. The final output file may be routed to disk, CRT, or printer. Features include: - Fixed or variable length records

• Fixed or variable length fields

• Definable record & field terminators ■ Accepts multiple input files

• Up to 20 input or output keys

• Sort key up to 250 characters Ascending or descending keys Right or left justified keys Select/exclude capability Non-ASCII collating sequences Sorts upper case equal to lower Merge-only capability

Includes extensive user's manual and object code diskette. No source listing is included. Specify FLEX 1.0, FLEX 2.0, or mini FLEX.

AP68-10 6800 Sort/Merge Package $75.00 Manual Only l(f^, $15.00

FLEX Software

TSC plans full support of the FLEX disk operating system. Several software packages are already available as listed below. Watch our ads for FLEX compiler BASIC available soon!

TSC Text Processing System

SL68-29D with Mini FLEX disk $ 40.00

SL68-29F1 with FLEX 1.0 disk $ 75.00

SL68-29F2 with FLEX 2.0 disk $ 65.00

TSC 6800 Debug Package

SL68-30D with Mini FLEX disk $ 43.00

SL68-30F1 with FLEX 1.0 disk $ 55.00

SL68-30F2 with FLEX 2.0 disk $ 50.00

36 Additional Disk Utility Commands

UV1-6D with Mini FLEX disk $ 99.95 UV1-6F1 with FLEX 1.0 disk $124.95 UV1-6F2 with FLEX 2.0 disk $119.00

FLEX Newsletter

Published irregularly (about 4 per year) with latest news, hints, and user feedback. $4.00 for four issues.

All orders should include check or money order. Add 3% for postage (8% foreign) and for orders under $10, please add $1 handling. Send 25$ for a complete software catalog.

yjjr: ^^.Vt Box 2574 W. Lafayette, IN 47906 Specialists in Software & Hardware for Industry & the Hobbyist

f

Circle 363 on inquiry card.

BYTE February 1979 79

with breaks in between. Also use a good, hot, sharp pencil iron and very thin, quality solder. Eutectic is best, but 60/40 solder will do about as well. Very little solder is needed, and you have to be careful that the adjoining pads aren't shorted because of the close spacing. Note that the iron tip should touch the plated through pad on the board, not just the socket lead. This forces the solder to wick into the hole rather than balling up on the lead, which can hide a bad joint.

After all the sockets have been soldered in place, and then carefully checked the next day, it's time to start on the other components. Everything in the kit, except the premounted parts I mentioned before, is mounted on one large circuit board. Even the keyboard is mounted on the board, which is of high quality glass epoxy.

The miscellaneous components cause the only real problems in the kit. Some of them are not well identified, making placement a bit confusing at times. Component locations are silk-screened on the circuit board, and rough diagrams are included in the instructions, but I'll admit that I had to scratch my head more than once. A few of the board notations are wrong: 1 instead of 0.1 and 10 instead of 10 k. But they weren't too hard to figure out because the components are grouped in assembly and because there are relatively few discrete components used in the terminal. (I had one capacitor left over, by the way. That always irks me, but the terminal works so well I surmise that

there is no need to worry.)

The next step is to mount the keyboard in place. The assembly manual warns you not to unpack it until you're ready to mount it in place, since the terminals are very delicate and easy to bend. Unfortunately, like everyone else who gets the kit, I had to take the keyboard out and poke at the keys, and sure enough, I bent the terminals. I did not enjoy straightening them over and over until they were lined up perfectly, but I finally got the keyboard in place. So take their advice and don't unpack the keyboard until needed.

After the keyboard, the sockets and all the other components are soldered in place, but before the integrated circuits are installed in their sockets, the power supply voltages must be checked — then you turn off the power and install the components. This is likely the only place you'll need to use an electronic test instrument. Believe it or not, this was a long and tedious job. Note that only the suffixes of the devices are shown and by the way, the 9LS04 or N74LS04 was labeled LS04 in my kit.

The tricky part, however, is seating the components without bending the leads, missing the holes or puncturing your thumb. The devices from different manufacturers are made with different materials, which also complicates things since the best technique for the stiff National integrated circuit leads doesn't work best for soft Signetics devices. A good method is to seat one row,

Photo 2: Most of the circuitry is assembled on the large printed circuit board shown. This includes the keyboard and power supply.

80 February 1979 © BYTE Publications Pnc

Everybody's making money

selling microcomputers.

Somebody s going to make money

servicing them.

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

Seems like every time you turn around, somebody comes along with a new computer for home or business use. And they're being gobbled up to handle things like payrolls, billing, inventory, and other jobs for businesses of every size...to perform household functions like budgeting, environmental systems control, indexing recipes, and more.

Growing Demand for Computer Technicians... Learn in Your Spare Time

Even before the microprocessor burst upon the scene, the U.S. Department of Labor forecast over a 100% increase in job openings for the decade through 1985. Most of them new jobs created by the expanding world of the computer. NRI can train you at home to service both microcomputers and their big brothers. Train you at your convenience, with clearly written "bite-size" lessons that you do evenings or weekends without quitting your present job. Assemble Your Own Microcomputer

NRI training includes practical experience. You start with meaningful experiments building and studying circuits on the NRI Discovery Lab® Then you build your own test instruments like a transistorized volt-ohm meter, CMOS digital frequency counter...equipment you learn on, use later in your work.

And you build your own microcomputer, the only one designed for learning. It looks and operates like the finest of its kind, actually does more than many commercial units. But NRI engineers have designed components and planned assembly so it demonstrates important principles, gives you working experience in detecting and correcting problems. It's the

kind of "hands-on" training you need to repair and service units now on the market. Mail Coupon for Free Catalog No Salesman Will Call

Send today for our 100-page, fullcolor catalog. It describes NRI's new Microcomputer Technology course in detail, shows all equipment, kits, and lesson plans. And it also tells about i— — ~~ ~ other NRI courses... HID I

Complete Communi la n I

cations with 2-meter

transceiver...TV/Audio/Video Systems Servicing with training on the only designed-for-learning 25" diagonal color TV with state-of-the-art computer programming. With more than a million students since 1914, NRI knows how to give you the most in home training for new opportunity. If coupon has been removed, write to NRI Schools, 3939 Wisconsin Ave., Washington, D.C. 20016.

RUSH FOR FREE CATALOG

EI

tint*

NRI Schools

McGraw-Hill Continuing

Education Center 3939 Wisconsin Avenue Washington, D.C. 20016 Please check for one free catalog only, NO SALESMAN WILL CALL

□ Computer Electronics Including Microcomputers

□ TV/Audio/Video Systems Servicing

□ Complete Communications Electronics with CB • FCC Licenses • Aircraft, Mobile, Marine Electronics

D CB Specialists Course

□ Amateur Radio • Basic and Advanced

D Digital Electronics • Electronic Technology • Basic Electronics

□ Small Engine Repair

D Electrical Appliance Servicing D Automotive Mechanics D Auto Air Conditioning

□ Air Conditioning, Refrigeration, & Heating Including Solar Technology

City/State/Zlp

Accredited by the Accrediting Commission of the National Home Study Council

Circle 282 on inquiry card.

BYTE February 1979 81

then use a plastic credit card to force the other row in line. I broke one lead and very quickly soldered on a replacement, but I'm sure National Semiconductor would shudder at the thought.

Empty Sockets

Depending on the options you buy, empty sockets may be left after you've installed all integrated circuits provided. Here again, the instructions are a bit cavalier, but you can figure out which ones should be vacant without much trouble. One position has holes drilled for a socket, but no connections to the pads, and sockets are provided for devices even if they aren't included. This simplifies installation of optional features at a later time.

One major option is 24 lines displayed on the screen instead of 12. This calls for six additional 1 K byte memory circuits and throwing a switch. Another option is lower case letters as well as capitals. This calls for a special character generator plus two more memory devices. This character generator, incidentally, is the only proprietary circuit in the terminal. All others are standard parts that are widely available.

The last important step in building the

terminal is turning on the power with all components in their sockets and the monitor connected. I was amazed to find that the terminal worked the first time I threw the switch. The surprise was no reflection on Lear Sicgler, but because of doubts about my craftsmanship. After setting the internal switches for use with your computer, final assembly consists of simply closing the case and installing two screws.

The terminal works perfectly with my computer (presently a PACER using the 16 bit National PACE microprocessor). I didn't have to do any troubleshooting, but the comprehensive manual ought to take care of that if the unit should ever need repair. Lear Siegler doesn't service kits, but computer dealers should have facilities for repair.

In retrospect, the only hitches I encountered in building the terminal (other than the minor problems in component identification and location) were caused by not following instructions. A word to the wise, then, is to follow instructions. My total working time was about 12 hours; Lear Siegler suggests 20 as typical, and that would likely be true for someone with less experience. I'm very pleased with the terminal, and I think the work of building it was worthwhile."

HERE IS THE LATEST AND BEST IN 8080Z80 DISK SOFTWARE

CP M™ FDOS and Utilities

Microsoft FORTRAN 80

Microsoft COBOL 80

Microsoft Disk Extended BASIC

Microsoft MACRO 80 MACRO Assembler Linker Loader

Microsoft MACRO 80 (as above) w Subroutine Library

Microsoft EDIT 80 Line Editor

WHATSIT'" Data Base Query System

Xitan VDB BASIC

Xitan SUPER BASIC (A3)

Xitan DISK BASIC (A3*)

Xitan Z TEL Text Editor (A3. A3*)

Xitan Text Output Processor (A3. A3*)

Xitan Macro ASSEMBLER (A3. A3* I

Xitan Z BUG (A3+)

Xitan LINKER (A3*)

Xitan Package A3 (as keyed above)

Not Sold

From $145

Xitan Package A3*

$400

Micropro SUPER-SORT t

$625

Micropro WORD MASTER1

$300

SOURCE Disk Based Disassembler

$149

ZASM Zilog'" Mnemonic Assembler

$219

XY BASIC Process Control Language

$89

Extended XY BASIC

$125

SMAL 80 Structured Macro Assembler Language

$99

CBAS1C Compiler Interpreter BASIC

$99

MAC Macro Assembler

$159

SID Symbolic Instruction Debugger

$69

TEX Text Formatter

Separately

General Ledger

$69

Accounts Receivable

$89

NAD Name & Address Processor

$69

QSORT Disk File Sort Merge Utility

$249

$409

$250

$150

$70

$45

$295

$395

$75

$95

$100

$85

$85

$995

$750

$79

$95

Most software available in a variety of diskette formats including: IBM 8" single and double density; North Star CP/M; Micropolis CP/M; and 5" soft sectored.

Now available: the above software on Processor Tech Helios II; Altair Disk; and iCOM Microdisk systems. All Lifeboat software requires CP/M to operate.

LIFEBOAT ASSOCIATES

164 W. 83rd Street □ New York, N.Y. 10024 □ (212) 580-0082

82

February 1979 ©BYTE Publications Inc

!3J

i

i -^-1 c£

®f&

ivv

J'^^^^WfSP,

sagas

Pi

•.^•■^ •■ ■ ■-'

DD

j<§

rad;

FN

k%."'-:

!W;v:^

73

What this country needs is a good s8000 small business computer.

We agree! Now for less than $8000, you can purchase an Ohio Scientific small business computer system complete with software packages for Accounting, Information Management and Word Processing. Here are the system's capabilities in detail:

Accounting: Supports accounts receivable, payables, cash receipts and disbursements, general ledger, balance sheet, P & L statement, payroll, inventory and order entry for small businesses.

Information Management: Stores any collection of information in disk files via a Data Base Manager. Can instantly retrieve information, generate lists, reports and mailing labels from this data as well as perform statistical analysis. All without any additional software. An optional "Query" system can answer conventional "English" questions pertinent to information in the system asked by untrained office users.

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

Circle 290 on inquiry card.

Yes, an under $8000 Ohio Scientific small business system includes all this software as well as 48K bytes of 180 nanosecond main memory, dual 8" floppy disk drives for 600K bytes of disk storage, a 1920 character upper/lower case CRT terminal, a 132 column tractor feed line printer, and the programming language BASIC for user generated programs if desired. And the system doesn't stop here, it has the performance and modular construction for growth with your use. The system can be expanded to nearly one million bytes of main memory, 80 megabytes of disk storage and 16 users (time share configuration), or it can be connected to a network of other small computers (distributed processing configuration). Numerous optional systems and applications software packages are available including the programming languages FORTRAN and COBOL and applications software for specific businesses.

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

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

BYTE February 1979 83

Keith Baxter

215 Dwight St

New Haven CT 06511

Timothy Daly

17 Treetop Ct

Bloomingdale NJ 07403

There is a need for a hobbyist robot arm —a computer controlled manipulator Tor the small system owner. The criterion for such an arm is that it be comparable in price to other computer peripherals and that it be sufficiently versatile to offer experimenters an expansive vehicle for their imaginations. One of us (Keith) has a working prototype which is described in this article.

How big and powerful can we expect such a hobbyist arm to be? There is a rough correlation between size and expense, so we can expect it to be small. How small depends on the strength of our motors (not necessarily electric), how fast we expect the arm to move, and how much weight we expect it to carry. The specific trade-offs between speed, strength, and reach will be determined by the tasks

we want our arm to perform. For industrial robots there seem to be basic choices of 5 or 6 foot arms using hydraulics, 4 foot arms using large servomotors, or 1 to 2 foot arms using small high performance electric motors. The hobbyist arm will probably be of the last type. Of course this relationship is by no means unyielding; novel designs or alternative motors (such as chemical muscles) might change these trade-offs substantially.

Have we defined an arm so small that it would be uninteresting? By no means — there are potentially interesting applications for all sizes of arms. In fields such as microsurgery or in the assembly of minute electronic parts, a breakthrough in small robots could prove invaluable.

The hobbyist arm is not likely to be at the forefront of a new technology, yet

A Hobbyist Robot Arm

it can provide a mechanism through which the experimenter might investigate the principles of robotics. This article describes a particular approach to the design and construction of one such arm. It is hoped that the result will serve as a starting point for subsequent robot arm designs and as a reference point in the discussion of mechanical manipulators for the experimenter. The design constraints are to:

Photo 1: The robot arm moving a chess piece on a board. This photo shows how the arm can grasp one piece on the board without disturbing any of the surrounding pieces. (Photo by John W Baxter.)

Consist of readily available parts.

Require a minimum of special tools

or skills to assemble.

Be inexpensive to assemble.

Possess the strength to lift playing

pieces (eg: chessmen, Monopoly pawns

or checkers).

Provide a readout of the position of

each joint.

Be easy to repair.

The basic mechanical framework of the arm is a major stumbling block. Tim's approach to the problem was to buy a jointed lamp (Luxolamp). It provides six readily available axes that need only be motorized. There is no interaction between the joints (moving one joint will not cause another to move). It is reasonably inexpensive (about $20) and universally available.

The hobbyist arm must also perform adequately to be useful in a specific application.

84 February 1979© BYTE Publications Inc

Moving chess pieces on a chessboard was chosen, since it offers a simple task in a rectangular coordinate system requiring the arm to move pieces in an obstructed space.

This task helped define the necessary axes of the machine. An axis is a joint: either rotational, as in an elbow or wrist, or prismatic, as in a telescope tube.

Three axes are sufficient to allow an arm to touch any unobstructed point within the limits of its reach. If points are permitted to be obstructed from certain directions or if the wrist must maintain a fixed angle with respect to the real world, more axes are needed. In the case of a chess playing robot it is desirable to lift pieces vertically without knocking down surrounding pieces. For this reason, three axes are not sufficient.

CONCENTRIC BRASS TUBING SUPPORT PILLAR

O-RING BELTS

DRIVE MOTOR PULLEY LOCATIONS

i DRIVE MOTOR SUPPORT PLATE

S 1/2" SUPPORT SHAFT

SUPPORT SHAFT MOUNTING BRACKET

In general, to reach any position in space with any orientation of a part in a hand, six degrees of freedom are necessary. It turns out that six degrees are also sufficient for all tasks requiring positioning. However, the implementation of a sixth axis is usually more trouble than it is worth.

Five axes were chosen in this design to provide additional flexibility in roughly the same configuration as the human arm: rotation about the waist, shoulder, elbow, wrist, and rotation along the wrist. This configuration allows an easy visualization of the arm's capabilities because it is similar to one's own arm.

One final word about the factors that shaped the design: the motors one uses define the working limits of the arm to a great extent. If the motors can deliver 10 ounce-inches of torque at one revolution per minute (very respectable for most common small geared motors), the working weight at the end of a foot long arm would be less than 1 ounce - providing the weight of the arm itself is kept to a bare minimum. Clearly, one would prefer under circumstances like this to avoid mounting the motors on the arm so that they have to lift themselves. For this reason we mounted the motors behind the arm. Their torque is transmitted to the joints by means of concentric pulleys and rubber belts.

The framework of the arm is constructed

of thin-walled brass tubing purchased from a local hobby store. This tubing comes in square or round cross-section and should prove highly useful to the beginner embarking on an original design. Consecutive sizes differ in radius by their wall thickness and hence slide smoothly into each other with very little play. This characteristic is made use of in the shafts for the concentric pulleys transmitting the torque of the motors along the arm. Lengths of the tubing are also used for the struts of the arms. The brass, in tubular form, is very rigid: though heavier than other materials, it makes up for its weight in the ease with which it may be fastened to other bits of tubing by soldering. To make a joint, the end of the lube is filed to fit smoothly, without gaps, against the radius of the pulley shaft bearing. For the joint to be strong, the solder must not have to bridge gaps between the brass surfaces, but should

Figure I: A design sketch of the hobby arm. The main structure of the arm is brass tubing. The pulleys are constructed from Plexiglas. The hand is made of sheet aluminum and activated by a solenoid mounted on the arm. All of the driving motors for the arm are mounted on the base plate of the assembly.

February 1979SBYTE Publications lnc

85

be drawn in by capillary action when the joint is heated.

The pulleys are cut from clear plastic (Plexiglas) purchased as scrap from a glass shop. The edges of the pulleys can be turned and given a groove with a small lathe, though the same job might be done somewhat less accurately with a hand file. The largest pulley at each joint is fastened to the strut of that joint and provides torque for that axis of the arm. The smaller pulleys are double-grooved and serve merely to transmit torque farther along the arm to the other axes. The size of each pulley corresponds approximately to the amount of torque for that particular axis. The larger pulleys provide an effective reduction in speed from the motor pulleys and provide a large surface to prevent belt slippage.

The rubber belts are clear neoprene with nylon cores. The belting material may be purchased under the name of O-ring cord. The cord is cut to length and the ends joined by melting them in a flame and pushing them together. This method yields a remarkably strong joint.

The support pillar for the shoulder joint is machined out of a block of aluminum. An alternative is to make il out of laminated scraps of Plexiglas. In this case the motor support plate may also be made of Plexiglas and glued, instead of screwed, to the support pillar. The concentric brass tubing which forms the pulley shafts for the shoulder axis is extended lo provide a place for pulleys to be used for position feedback potentiometers if a closed loop servosystem is desired.

The waist axis is mounted on a single steel ball resting on top of the support shaft about which il pivots. A pulley fastened to the support shaft is driven by a motor facing down through the motor support plate to provide rotation about the waist.

The motors used in this version of the arm are AC synchronous bidirectional timing motors. They are inexpensive ($4), though their power is near the minimum necessary for adequate performance. Power is applied to the windings with a 90° phase difference. This is accomplished by the use of a series capacitor. Shorting this capacitor causes the motor to lock, providing a brake to hold an individual axis still while others are moving.

The fingers are cut from thin aluminum sheet and make use of a small solenoid with an alnico magnet plunger to actuate them. The wires arc looped down the arm struts externally.

The entire arm is mounted on a I inch

pine block with the wires from the motors terminating on a barrier strip along the back edge where an interface to a computer or a simple switch box may be connected. The plate that the motors rest on is mounted off-center so the arm has a greater overhang and therefore the largest possible unobstructed reach. The support shaft mounting bracket is mounted against the front edge of the pine block.

The small pulleys for the drive motors are epoxied directly to the motor shafts. If a method could be devised to allow these pulleys to be removable, it would facilitate experimentation with the drive ratios. In the present design, the arm may be disassembled down to the individual pulleys and struts unless the feedback pulleys have been installed, in which case the shoulder pulleys and the support pillar become an integral part.

The arm is capable of lifting a 1/2 ounce and positioning it to within a 1/2 inch radius. Drilling out the extra material from the concentric pulleys and counterweighting the upper arm should improve the lifting power somewhat.

The interaction of the joints (how the movement of one joint affects the position of the other joints) may be calculated and removed if the arm is to be computercontrolled. The interaction is such that joints further out from the joint being moved maintain the same angular orientation in space. Thus, if the hand is initially vertical to the plane of the table and the shoulder joint is moved, at the conclusion of the motion the hand is still vertical. There is no interaction from the waist axis or the wrist swivel axis, though wrist swivel is acted upon by the previous axes. For this constant angle effect to apply, the initial and final pulley for a joint must be of the same size. In practice it is desirable to maintain a uniform radius for the pulleys of a specific axis in order not to unnecessarily limit the torque transmitted because of slippage on a smaller pulley.

As with many types of design, this first working model suggested a number of areas of possible improvement. The first area is the motors. More powerful motors would be better, and at this point likely candidates are small stepping motors. Their price is high but they offer impressive torques along with the possibility of open loop control and straightforward interface hardware.

The elasticity of the belts, though small, offers another area where some additional thought might prove rewarding. A number of manufacturers sell small toothed belts

86

February 1979 0UYTE Publications Inc

THIS IS YOUR CHANCE TO STOCK ONLY WHAT YOU NEED FOR THE FAST-GROWING FOTO SKETCH BUSINESS

Buy wholesale at special prices! Now, from the country's largest supplier of computer portrait systems, you can purchase a complete system or only those components you need. Since a complete system normally retails for $12,500, the savings are tremendous! These prices are in effect only until March 15,1979, so stock now for the Spring market.

Q • O O

w

v

NOW... THE CYGNUS COMPUTER IS AVAILABLE BY ITSELF!

• Model 400

• Extremely reliable

• Compact, rugged

• Full 1 year warranty

Reg: $5,000

Sale Price: $2,660

. . . AND YOU CAN INTERFACE WITH

A FLORIDA DATA PB600, A

PRINTRONICS

OR A

CENTRONICS

102BL PRINTER,

TO MAKE THIS

TYPE OF

PICTURE

Charcoal Adapter for printer also available at $250

FLORIDA DATA PB 600 PRINTER

Reg: $5,595

Sale Price: $3,295

Knight Economatic Heat Transfer Press

Reg:$595

Sale Price: $475

Panasonic TV Monitors

9" Screen — $250 19" Screen —$375

Panasonic VI000

Camera $350

Zoom Lens $285

Tripod $ 50

All orders shipped F.O.B. our warehouse. Mass. residents add 5% Sales Tax. For more information, call or write —

FOTO-FUN, INC.

Corporate Offices:

189 Dean Street, Raynham, Massachusetts 02767

Telephone: (617) 823-7781 ■ Warehouse: Stoughton, Mass.

Circle 141 on inquiry card.

BYTE February 1979

87

thai would permit higher torques, with an increase in the complexity of the pulleys. Perhaps the simpler solution of doubling up the pulleys might be the answer.

A more powerful grip in the fingers without making them too heavy (as a bigger solenoid implies) would be another useful improvement. Perhaps an additional set of belts would work in this case also, with a gripper motor on the motor support plate.

Using the Arm

Eventually the arm will be connected to a microprocessor. There are two methods of controlling the arm. The first is open loop; the second is closed loop.

Open loop control requires a command from the computer that tells each axis where to go. It is assumed that the axes in fact reach these locations. The number of turns each driving motor takes to position its axis is determined through a minor feedback loop around the motors, or, in the case of stepping motors, by counting the number of step commands issued. This is the least expensive method but it requires high accuracy in the arm.

Going dotty over the quality of your printing? BeSELECTRIC® in the future.

Any microcomputer can interface with any model IBM SELECTRIC®

Prices*

S-100 Parallel RS-S32 IEEE-488

$496.00 $525.00 $549.00 $560.00

All prices include mechanical assembly, electronics, cables and manuals.

Units tested and assembled.

* Prices valid in USA only.

Escon Products, Inc.

171 Mayhew Way, Suite 204, Pleasant Hill, CA 94523 (415) 935-4590

With closed loop control the position of the arm is monitored by the use of feedback potentiometers returning a voltage proportional to the position of the arm. This voltage is subtracted from a position voltage produced by the computer and the difference is used to drive the motors. When the signals match, the difference is zero and the motors stop. In general, feedback tends to cover a multitude of mechanical sins. Accuracy in positioning with this method depends on the linearity of the feedback potentiometers. For this reason industrial arms often use optical encoders instead of potentiometers for feedback signals. An optical encoder produces a digital output by means of a series of light beams and photodetectors interrupted by a rotating disk which selectively transmits or blocks the light depending on its position. Such encoders cost several hundred dollars. A challenge to readers would be to come up with a scaled-down version of these to use with a hobbyist arm.

Computer control allows velocity and acceleration information to be used to obtain better control of the dynamics of the arm. Nonlinear feedback potentiometers can be compensated for by using correction lookup tables. Interaction of joints can also be removed. Finally, the computer can be used to write programs for a higher level manipulator language where machine commands such as move axis are replaced with commands such as move hand from A to B in a straight line. Herein lies the future of robot manipulators."

REFERENCE

Pieper, Donald L, "The Kinematics of Manipulators Under Computer Control," October 24 1968, CS116 Al 72, Computer Science Dept, Stanford UniversitySources of parts for the builder of small manipulators

O-rings (nylon-core, clear neoprene):

Winfred M Berg Inc

POB B

499 Ocean Av

East Rockaway NY 11518

(516) 599-5010 Miniature timing belts and pulleys:

Stock Drive Products

55 S Denton Av

New Hyde Park NY 11040

(516) 328-3300 Small motors:

North American Philips Controls Corp

POB 768

Cheshire CT06410

(203) 272-0301

88

February 1979© BYTE Publications Inc

Circle 138 on inquiry card.

the $988 Surprise ..

If you haven't looked carefully at the Level-II 16K TRS-80, you're in for a big surprise! Level-II BASIC gives TRS-80 advanced features like comprehensive string handling, multi-dimension arrays, multi-letter variable names, named cassette files, full editing, integer arithmetic, single (6-digit) and double (16-digit) precision arithmetic, formatted printing, memory-mapped video (print directly at any of 1024 screen positions), 128x48 video graphics (may be intermixed with text), error trapping, auto line numbering, TRACE, PEEK and POKE ... to name just a few. Because Level-II is in ROM, TRS-80 powers-up ready to go with the full 16K RAM available for your use.

This means TRS-80's memory is equivalent to a 28K RAMbased system.

New for 1979—TRS-80's numeric (calculator) keypad included on every 16K computer, and available as an add-on for present owners.

TRS-80's modular design allows easy expansion. Add up to 48K RAM, Expansion Interface, printers, 1 to 4 Mini-Disks, RS232C, telephone acoustic couplers, Voice Synthesizer, dual cassette recorders, our System Desk and Printer Stand. Surprisingly, these are not promises of things to come, but real products being delivered right now. Software from games to General Ledger are available, with more cassette and disk software being added monthly.

Radio Shack's 58 years of consumer electronics leadership, our 50 regional repair centers (growing to 100 this year), our new Radio Shack computer centers, and our NYSE-listed billion-dollar parent, Tandy Corporation, insure that customer support is always available right where it should be—locally.

So if you haven't seriously looked at TRS-80 yet, ask your local Radio Shack for our new 20-page fact-filled catalog and be prepared for a $988 surprise. Surprising power— features—price—support! Level-II 16K systems include everything pictured, plus the manual. Better to be surprised now . . . before you choose the wrong microcomputer system.

16K Available RAM 12K Level-II BASIC in ROM Full-Size Typewriter Keyboard U.L. Listed, Portable Complete . . . Plug in and Use

BYTE February 1979

89

Photo I: Exploded view of a permanent magnet stepper motor. The rotor has gear-like teeth on the ends of the magnet, making one huh north and the other south. The stator also has a set of teeth machined on its surface (photo courtesy of Superior Electric).

A Stepping Motor Primer

Part 1: Theory of Operation

Paul Giacomo

51 Farmington Chase

Farmington CT 06032

Introduction

Many times the computer experimenter would like to control the movement of some object by the computer, but servomotor systems are either too complicated or expensive. An alternative approach is to use a stepping motor, which in many cases is simpler in design and cheaper.

The only major problem with stepping motors is understanding how they work and how to drive them efficiently. This article describes what stepping motors arc and how to use them. Since most applications involve the use of cither the permanent magnet or variable reluctance type of stepping motor, the article concentrates on these two types. They can vary from a light duty stepper the size of a quarter to an eight inch diameter (.64 to .32 cm), one horsepower motor.

What Is a Stepper Motor?

A stepping motor is a motor possessing the ability to rotate in either direction as well as stop and start at various mechanical rotational positions, and whose shaft (rotor) moves in precise angular increments for each input excitation change or step. The dis

placement is repeated for each input step command. The result of this type of movement is the motor's ability to accurately position the rotor in a known repeatablc direction.

The stepper motor allows control of position, velocity, distance and direction. Because each step moves the shaft to a known position, the only shaft position error (regardless of distance or direction of movement) will amount to the single step accuracy. This accuracy is generally 5 percent of one step. The number of steps in each revolution of the shaft varies, depending on the intended application.

Stepper motors are typically available in steps-per-rcvolution sizes of 200, 180, 144, 72, 24 and 12 steps per revolution. This gives an incremental shaft angle per step of 1.8°, 2.0°, 2.5°, 5.0°, 15° and 30°, respectively. Each motor is built for one particular step angle. They may be run at one-half the step angle, but at a reduced torque.

Most stepper motors are constructed with windings for 2, 3 or 4 phase operation. The bifilar winding, however, differs in that it has twice as many windings as the standard type. The advantage of this type of motor is that it gives better high speed performance

90

February 1979©BYTE Publications Inc

GLOSSARY OF STEPPING MOTOR TERMS

Back EMF: voltage generated by the motor that opposes the polarity of the voltage applied to the motor. EMF (electromotive force) increases as the speed of the motor increases until it causes the motor to lose synchronism.

Bifilar: special type of permanent magnet motor with two windings on each stator pole. The advantages: requires only one power supply, allows a simpler drive and has higher performance characteristics than a standard motor. This motor is manufactured by the Superior Electric Company.

Closed Loop: operating mode in which the drive or computer receives a signal from the sensor which tells what position the motor or actuator is in and which is used to improve control of the system. In all but very high performance systems, this form of operation is not needed.

Damping: reduction or elimination of oscillations or overshoot of the rotor in a move. Different types of damping methods used include mechanical, electrical and viscous.

Detent Torque: torque present at standstill of a permanent magnet stepper motor when the motor is turned off. There is no detent torque in a variable reluctance motor. Same as residual torque.

Drives: circuitry which controls the stepping motor. This can include the power supply, control circuits, and output switching transistors.

Half Step: switching sequence in which the motor is moved half its norma! distance

o per step. As an example, a 1.8 , 200 step

per revolution motor would become a 0.9 , 400 step per revolution motor. When running the motor with this type of sequence, the average amount of torque is reduced to roughly 70 percent of full step operation. This mode, however, gives a finer resolution, less resonance effects, and higher speed capability.

Holding or Static Torque: torque required to move the motor shaft from standstill (zero RPM) position when at rated power.

Inertia: tendency of an object to resist changes in movement by an external force. It is expressed in terms of mass X length2 (ie: ounce-inch2 or kg-m2).

L/R Time Constant: value used to determine how fast current can build up or decay in a stepping motor, obtained by dividing the inductance in the circuit path by the total resistance in that path.

Moment of Inertia: the inertia of an object when rotating about a point. It is given in units of mass X length2.

Open Loop: operating mode of a stepping motor in which the position of the shaft can be determined exactly using only the information sent to the motor. Stepping motors have this capability, which makes them more attractive than DC servomotors in certain applications.

Pull-In Torque: the maximum switching rate at which a stepping motor can start running from standstill.

Ramping: gradual acceleration and deceleration of a stepping motor. Since stepping motors are limited to a given starting speed.

the motor must be accelerated to maximum if it is to operate above the pull in torque. Residual Torque: the force which holds the stepping motor shaft at a fixed position after power is turned off, due to the magnetic attraction of the rotor teeth to the stator teeth. It feels like a "ratcheting" movement when the shaft is rotated by hand.

Resonance: the speed range in which a stepper motor's performance deteriorates. This is due to the physical construction and electrical characteristics of the motor. Various techniques can be used to reduce the effect of resonance on the system.

Rotor: the portion of a motor that rotates.

Speed-Torque Curve: graphic representation of the performance characteristics of a particular stepping motor and drivers. It usually shows the maximum speed/load ratio at which the motor is capable of operating. This graph is extremely useful when designing a stepping motor into a system.

Start/Stop Without Error: curve found on some speed versus torque graphs showing the maximum rate at which the motor can start or stop without losing steps or falling out of synchronism. This curve is usually given for a negligible load inertia.

Stator: the stationary part of a motor.

Step Accuracy: the position accuracy of a stepper motor, commonly given as a percentage of one step, since there is no accumulated error in a step motor. When a frictional load is put on the motor, the accuracy decreases.

Step Angle or Step: the amount of rotation of a stepping motor in response to one input command, expressed in degrees. Motors are made with a fixed step angle. 0.72°, 1.8°, 2 °, 2.5 °, 5 °, 1 5 ° and 30 ° are typical sizes.

Stepping (or Stepper) Motor: a motor possessing the ability to rotate in either direction, and whose shaft moves in precise angular increments for each input excitation change or step.

Steps Per Revolution: the number of input steps required to rotate the shaft of a motor one complete revolution. To obtain the step angle of the motor from the steps per revolution, divide 360° by the number of steps per revolution.

Torque: force acting on an object at a certain perpendicular distance away from it, and tending to rotate the object. Torque has dimensions of force X distance. As an example, a two ounce force pushing an object from a 2 inch (5 cm) rod perpendicular to the force is said to have 4 ounce inches (0.0003 kg-m) of torque.

Torque to Inertia Ratio: ratio obtained by dividing the rated holding torque by the inertia of the rotor. The better the ratio, the better the performance of the motor.

Variable Reluctance Motor: a stepping motor that does not have a permanent magnet in the rotor. It therefore relies on the windings to create the forces to move the rotor. The variable reluctance motor, understandably, does not have any residual torque when it is turned off.

February 1979® BYTE Publications Inc

91

b)

OFF

Figure J: Energization sequence. Alternating power to the windings of the stator while changing the direction of polarity with each step produces movement in the motor. Reversing the sequence shown produces movement in the opposite direction. See text for a detailed description.

d)

and simplifies the drive needed for the motor.

Stepper motors are generally controlled by a DC power supply and drive and logic circuitry. The drive provides the intelligence as well as the main key to performance of the motor. The degree of complexity of a drive can vary from a simple pulse translator to a high-performance unit with automatic acceleration and electronic damping.

Because the drive knows the shaft's position for all but high speed performance drives, the system can run in an open loop mode (ic: without the need for feedback position potentiometers, encoders or other transducers). This feature makes the stepper motor attractive over a DC servomotor system, which must be run in a closed loop mode. Stepper motors normally available are limited to less then one horsepower. However, the DC servomotor is available in larger power ratings, so it might be the choice for heavy duty applications.

Permanent Magnet Stepping Motor

The permanent magnet stepping motor's

basis of operation is taken from a basic permanent magnet characteristic: like poles repel while unlike poles attract. The rotor of a permanent magnet stepper consists of an axially-oriented magnet with two gearlike hubs on each end of the magnet, as shown in photo 1. The north end of the rotor has teeth that are 180° out of phase from the south end. The stator, or stationary part of the motor, also has teeth, as shown in photo 1; but the magnetic poles are generated by the windings. The number of teeth on the rotor is different from that of the stator, so that all the teeth on the rotor will never be lined up exactly with those on the stator. It is this fact that actually creates predicted movement in the rotor, since there is a magnetic attraction between the closest stator and rotor tooth. Even when the motor is depowcred, the permanent magnet motor will hold its position, although at a low torque (called residual torque).

The energization sequence of the windings is fairly simple. Consider the south end of a rotor, as shown in figure 1: if pole A is energized as a north and pole C is ener

92

February I9790BYTE Publications Inc

Introducing

the simple

TRS-80 Up-grade

Fast, easy, guaranteed expansion to 16K at less than half the price of Radio Shack.

Ithaca Audio makes it simple

No false starts and finding you need some little item or special tool. Our Kit contains all the parts: 8 prime dynamic RAMs and a complete set of preprogrammed jumpers. 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 installation time to just minutes. You can do it yourself—with no soldering! All you need is a household screwdriver.

100% Guarantee

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

Available now

Order from your favorite retailer. If by chance he hasn't stocked them yet we'll ship him your Kit right away.

Only $140

For technical assistance call or write to:

ITHACA AUDIO

Phone: 607/273-3271

P.O. Box 91 Ithaca, New York 14850

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

1978 Ithaca Audio

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

BYTE February 1979 93

Figure 2: Connection diagram of a standard permanent magnet step motor and its switching sequence.

CLOCKWISE

COUNTERCLOCKWISE

STEP

SWITCH 1

SWITCH 2

SWITCH 1

SWITCH 2

1

OFF

OFF

2

+

OFF

OFF

3

OFF

+

OFF

+

A

OFF

+

OFF

BIFIlAR STEP MOTOR

STEP

SWITCH 1

SWITCH 2

1

5

2

1

1

3

3

4

4

3

5

1

1

5

Figure 3: Connection diagram for a bififar permanent magnet step motor and switching sequence. To run in the opposite direction, the stepping sequence is done in reverse order. Note that this motor requires only one power supply.

INCREASING LOAD CAPABILITY (TORQUE)

r

\

\.

BIFI

LAR

STANDAR

l i 1

l i l

^v

1

INCREASING SPEED

Figure 4: Performance of bifilar motor versus standard 3 lead permanent magnet motor. The standard motor has more capability at low speeds but quickly loses it as speed increases. Note also that the bifilar motor can run at a higher speed under the same conditions of load and drive.

gizcd as a south, with poles B and D not activated, the rotor will line up with pole A, as shown in figure la. If pole B is then energized as north and pole D as south, with A and C de-energized, the rotor will go in a clockwise direction, lining up with pole B, as in figure lb. To take another step, the current is reversed from the original direction in poles A and C, and power is removed from poles B and D. This will make the rotor line up with pole C, as shown in figure Ic. To continue in a clockwise direction, power is applied to poles B and D with the opposite voltage polarity of before, as shown in figure Id. The next step sequence is to apply power to poles A and C as in the original position. Repeating this sequence continues motion in the clockwise direction.

If the rotor is to be stepped in a counterclockwise direction, power should be applied in the reverse order. For more resolution in a practical motor, four more stator windings can be added, and teeth arc machined on each stator pole and the rotor. In effect, each tooth acts as a pole. This is how the number of steps per revolution can be increased to 200 or more with a minimum number of windings. The windings on the stator are normally connected internally, with three to eight leads brought out for external connection. A simplified diagram of a standard 3 lead motor is shown in figure 2, along with the stepping sequence for clockwise and counterclockwise rotation.

Bifilar Stepping Motor

The bifilar stepping motor is a special variation on the permanent magnet stepper. In this case, there are twice as many windings as on the standard motor (see figure 3), but there are two windings on each pole. The wire is of a thinner gauge than the standard permanent magnet motor so it will fit in the frame size. The thinner wire results in a higher resistance, giving the motor a lower time constant and therefore increased high speed performance. Another advantage of the bifilar motor over the standard type is that the motor may be operated from a single-ended supply with a simpler drive. A graph of a bifilar motor performance versus a 3 lead motor is shown in figure 4.

94 February 1979 ©BYTE Publications Inc

Personal Computers & Microprocessing

Here are two inexpensive programmed learning courses designed to keep you up-to-date in digital electronics.

Design of Digital Systems - six volumes

The products of digital electronics technology will play an important role in your future. Calculators, digital watches and TV games are already commonplace. Now, microprocessors are generating a whole new range of products. Personal computers will be in widespread use very soon. Your TV, telephone and computer will combine to change your children's education, your job— your entire way of life.

WRITTEN BY EXPERTS

These courses were written by experts in electronics and learning systems so that you could teach yourself the theory and application of digital logic. Learning by selfinstruction has the advantages of being faster and more thorough than classroom learning. You work at your own pace and respond by answering questions on each new piece of information before proceeding.

After completing these courses you will have broadened your career prospects as well as your understanding of the rapidly changing technological world around you.

The courses are designed as much for the professional engineer as for the amateur enthusiast. You'll learn about microprocessing as well as personal computing — not to mention all the other aspects of digital electronics design.

ADVANCED COURSE DESIGN OF DIGITAL SYSTEMS

Design of Digital Systems is written for the engineer and serious hobbyist who wants to learn more about digital electronics. Its six large-format volumes—each 11%" x 8%" are packed with information, diagrams and questions designed to lead you step by step through number systems and Boolean algebra to memories, counters and simple arithmetic circuits.and finally to a complete understanding of the design and operation of microprocessors and computers. CONTENTS

The contents of Design of Digital Systems include:

Book 1: Octal, hexadecimal and binary number systems; representation of negative numbers; complementary systems; binary mulitplication and division.

Book 2: OR and AND functions; logic gates; NOT, exclusive-OR, NAND.NOR and exclusive - NOR functions; multiple input gates; truth tables; DeMorgan's Laws; canonical forms; logic conventions; Karnaugh mapping; three-state and wired logic.

Also available at leading computer stores: Ene Computer Co.. 1253 West 8th St.. Ene. PA. Computet Matt ol Royal Oak, 1800 W 14 Mile Rd., Royal The Madison Computet Stote. 1863 Mnntoe St., Madison. Pctsona! Computet Cotp., Lancastei Ave & Rt. 52. Frazer, Computer Shoppe, 3225 Danny Pk„ Melnitie. LA. Computet Comet, 200 Hamilton Ave.. White Plains. NY. Imperial Computet Systems, Inc., 2105 23td Ave., Rocklo Home Computet Center, 6101 Vonge St.. Willowdale, Ontl and many others. Ask yout dealer

Book 3: Half adders and full adders; subtractors; serial and parallel adders; processors and arithmetic logic units (ALUs); multiplication and division systems.

Book 4: Flip-flops; shift registers; asynchronous counters; ring, Johnson and exclusive -OR feedback counter; random access memories (RAMs); read-only memories (ROMs).

Book 5: Structure of calculators; keyboard encoding; decoding display data; register systems; control unit; program ROM; address decoding; instruction sets; instruction decoding; control program structure.

Book 6: Central processing unit (CPU); memory organization; character representation; program storage; address modes; input/output systems; program interrupts; interrupt priorities; programming; assemblers; executive programs, operating systems, and time-sharing.

BASIC COURSE

NO RISK GUARANTEE

There's absolutely no risk to you. If you're not completely satisfied with your courses, simply return them to GFN within 30 days. We'll send you a prompt, full refund, Plus return postage.

TAX DEDUCTIBLE

In most cases, the full cost of GFN's courses can be a tax deductible expense,

HOW TO ORDER

To order by credit card, call GFN's tollfree number - (800)331-1 000; or send your check or money order (payable to GFN Industries, Inc.) to the address below.

Prices include overseas surface mail postage. Air Mail: additional costs (10 volumes), $1 0. Or write for exact quote.

Write for educational discounts, quantity discounts and dealer costs.

LOW PRICES-SAVE $5

We ship promptly from stock. There are no extras—we pay all shipping costs; we even pay your sales tax where required. And if you order both courses, you save $5. Order at no obligation today.

FREE OFFER

When you order both courses, we'll also send you a copy of The Algorithm Writer's Guide - a S5.95 value — free of charge, and yours to keep even if you decide to return the other volumes.

Design of Digital Systems $19.95

- 6 volumes

Digital Computer Logic $14.95

& Electronics - 4 volumes

Both courses - 10 volumes $29.90

Digital Computer Logic & Electronics

CONTENTS

Digital Computer Logic and Electronics is designed for the beginner. No mathmetical knowledge other than simple arithmetic is assumed, though you should have an aptitude for logical thought. It consists of 4 volumeseach 11V4" x 8V-and serves as an introduction to the subject of digital electronics.

Contents include: Binary, octal and decimal number systems; conversion between number systems; AND, OR, NOR and NAND gates and inverters; Boolean algebra and truth tables; DeMorgan's Laws; design of logical circuits using NOR gates; R-S and J-K flipflops; binary counters, shift registers and half-adders.

fr

GFN Industries, Inc. Suite 400-D 888 Seventh Ave. New York N.Y. 10019

Call TOLL-FREE (800)331-1000

(orders only) 7 days - 24 hours

Circle 144 on inquiry card.

BYTE February 1979

95

+

DROP RESISTOR

DC SUPPLY

MOTOR X* WINDING

+

DC SUPPLY

SWITCHES

^a

Figure 5: Simplified bipolar stepping motor diagram. This type of drive requires two supplies to run the motor.

, SWITCH PAIR B

PAIR A

'

Ac

)j

i

PROTECTION DIODES (4)

1

<(

^

DROP MOTOR

RESISTOR WINDING

-vw rvYYViri

\

1

+

1

>

^

DC SUPPLY

SWITCH i PAIR B

i 1

1 i

I SWITCH PAIR A

^k

f

i

1

' (

4

ff3

>

1

1 '

Figure 6: H drive configuration for one phase. By alternately turning on the switch pairs, the direction of current in the winding (hence the magnetization polarity) is reversed. This method requires eight transistors for a two phase drive.

MOTOR PHASE IB

DROP RESISTOR

MOTOR PHASE IA

C^

SWITCH A

<n

T

Figure 7: Simplified drive configuration for one half of a hifilar motor. The switches alternately turn on, causing the current to flow in one phase at a time. Each time the transistors switch, the magnetic polarity of the pole that the winding is on reverses. The drive requires another set of switches for the other phase of the motor.

Variable Reluctance Stepper Motor

The main difference between a variable reluctance motor and a permanent magnet motor is that the variable reluctance motor contains no magnet in the rotor. Since the rotor is unmagnctized, the rotor position is independent of the polarity of the stator phase excitation. This means that a singleended power source can be used and bifilar windings arc not required. Since there is no magnet in the motor, there is no residual or unenergized torque to hold the rotor at one position when turned off.

A comparison of permanent magnet and variable reluctance stepper motors shows that a permanent magnet motor has residual torque when windings are unenergized, a lower inductance that yields faster current response, and higher total inertia which gives a slower mechanical response. Both motors have advantages in certain applications. The specific application usually determines the type and size of the stepper motor required.

Basic Drives

The purpose of the drive is to get the correct voltage and current into the motor within a short time period and in an efficient manner. The direction of the current in the windings of the permanent magnet motors is important, as is the proper timing of motor excitation.

Figure 5 is a simplified diagram of one stepper motor winding, representing the motor winding as an inductor. The switches can alternately connect the winding to a plus and minus voltage supply. This results in a directional change in the current (and therefore the magnetic polarity) in the winding. This is a bipolar configuration. Notice that this requires two supplies in order to operate.

By using more switches, we can eliminate one supply, as shown in figure 6. This is commonly called the H drive or bridge drive. By turning on one opposite pair at a time, the winding leads are switched back and forth from ground to the supply. This achieves the desired result of changing the current direction in the winding. Care must be taken in both these drives to be sure that the switches arc not turned on at the wrong time or they will short out the power supply (not to mention the rest of the system).

A bifilar motor, however, does not have this problem, because there are two windings on each pole. A drive configuration for a bifilar motor winding is shown in figure 7. Each pole has the windings connected so

96 February 1979 © BYTE Publications Inc

Wondering which memory is best for you?

bQ/e 2* offers the following products to the S'100 market at the industry's lowest prices:

8K Static Memory Board

This 8K board is available in two versions. The 8KS-B operates at 450ns for use with 8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The 8KS-Z operates at 250ns and is suitable for use with Z-80 systems operating at 4MHz. Both kits feature factory fresh 2102's (low power on 8KS-B) and includes sockets for alllC's. Support logic is lowpowerSchottky to minimizepowerconsumption. Address and data lines are fully buffered and 4K bank addressing is DIP switch selectable. Memory Protect/Unprotect, selectable wait states and battery backup are also designed into the board. Circuit boards are solder masked and silk-screened for ease of construction. These kits are the best memory value on the market! Available from stock . . . 8KS-B $125 (assembled and tested add $25.00)

8KS-Z $145 (assembled and tested add $25.00)

16K Static Memory Board

Base2 can nowofferthesame price/performance in a 16K static RAM as in its popular 8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on DIP switches. This low power unit provides on-board bank selection for unlimited expansion... No MUX board required. Using highest quality boards and components we expect this kit to be one of the most popular units on the market. Available in two speed ranges, the 16KS-B operates at 450ns while the 16KS-Z operates at 250ns. 16KS-B $285 (assembled and tested add $25.00) 16KS-Z $325 (assembled and tested add $25.00)

Z-80 CPU Board

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

S-lOOfor Digital Group Systems

This kit offers, at long last, the ability to take advantage of S-100 products within your existing DigitalGroup mainframe. Once installed, up to four S-100 boards can be used in addition to the existing boards in the D.G. system. The system includes an "intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100 board and a power wiring harness. The DGS-100 is designed to fit in the 5-3/4" x 12" empty area in the standard D.G. cabinet. It may seem expensive but there'sa lot here! End your frustration! DGS-100 $295

MM fJJ

bo/e

2

inc.

Send for more details on these products. Get on our mailing listfor information on more soon to beannouncedproducts at factory-direct prices from BASE 2. Why pay more when you can get the best at these prices???

P.O. Box 3548 • Fullerton, Calif. 92634

(714) 992-4344

CA residents add 6% tax

MC/BAC accepted • FOB

U.S. destination

Circle 27 on inquiry card.

BYTE February 1979

97

SWITCH A

a) 2 PHASE - 3 OR 4 LEADS

PHASE I r „ PHASE 2

3 LEADS

h

h

(J

h

Figure 8: Drive scheme for a 3 phase variable reluctance stepper motor. Since there is no permanent magnet inside, only one power supply is needed.

that current in one winding creates an opposite polarity on the pole from the other winding. The switches now decide which winding will be energized. The net effect is the same as the bipolar drives above, but only one supply is required, and the switching transistors (or motor) will not be damaged if they are accidentally turned on at the same time. On the other hand, the bipolar drives can give higher torque at lower speeds than the bifilar drives. Depending on which winding leads arc available, the bifilar motor may also be connected to a bipolar type drive.

The variable reluctance motor docs not depend on the direction of current flow since there is no magnet inside. Therefore it can use a drive scheme like the one in figure 8. Remember, however, that the variable reluctance motor does not have any holding power when de-energized. A connection diagram for several standard wiring configurations is shown in figures 9a, 9b and 9c. Figure 9a is a standard 3 or 4 lead bipolar stepper. Figures 9b and 9c are standard 4, 5, 6 and 8 lead motors. The only difference between the various types is that the common leads on the 6 and 8 lead types are connected internally on the 4 and 5 lead style.

A straight voltage supply drive for a bifilar step motor system is shown in figure 10. This type of drive exhibits some difficulty in forcing current into the windings. The inherent problem with this circuit is that there is a long time constant in the motor windings which prevents any quick, large buildup of current. As a result, little torque is produced. This can be improved, resulting in a common, fairly inexpensive stepper drive called the series resistance limiting drive (figure II).

In figure 11, a resistor is inserted in series with the motor common leads, and the supply voltage is increased. A general rule

b) 3 PHASE - 4 OR 6 LEADS

PHASE I 4 LEADS PHASE 3

PHASE 2

h h

h (j A

2 4 6

C)

4 PHASE - 5,6 OR 8 LEADS

v1 v1

Q v1

■•-6 LEADS ■ 5 LEADS

PHASE 2

PHASE 3

PHASE 4

h (J

A (j

Figure 9: Connection diagrams for various motors. The dotted line in each configuration is an internal connection when less than the maximum number of leads are brought out. The number of leads brought out of the motor gives an approximate idea of the number of phases it has. By using an ohmmeter and measuring the difference between leads, the exact connection between phases of the motor can be found. If the motor is powered up and does not run correctly, reversing the leads of one of the phases should correct the problem (ie: in a 6 lead motor, exchange wires on terminals 3 and 4). The best thing to do if you are not sure of the wiring is to get the manufacturer's literature on the exact motor in question.

98

Icbnwn 1979 ~ BVTI Publications Inc

f

INTRODUCING

DUAL DRIVE MINIFLOPPY FOR PET!

A FULL RANGE PROFESSIONAL

OF PERIPHERALS J. SOFTWARE TO COMPLETELY our IWMrtC ,

SUPPORT YOUR PET SUPPORT

A TOTALLY INTEGRATED PET* SYSTEM

DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON DISK SYSTEM & MEMORY

THE DISKDRIVER,

DOS, ANDEXPANDAPET

ARE ALL PRODUCTS OF

COMPUTHINK

NOW THE DISKDRIVER DUAL DRIVE DISK SYSTEM CAN ADD TOTAL SYSTEM CAPABILITIES TO PET!

DUAL MINI FLOPPY DRIVE (5.5") WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINE.

EXPANDABLE IN MARCH/APRIL 1979 TO 400K ON LINE VIA DOUBLE DENSITY FORMAT.

DISKMON-DISK OPERATING SYSTEM (DOS) IS RESIDENT IN PROM VIA DISK CONTROLLER BOARD THAT PLUGS

DIRECTLY INTO THE INTERNAL EXPANDAPET MEMORY BOARD.

DISKMON COMMANDS EXIST SIMULTANEOUSLY WITH THE BASIC LANGUAGE COMMANDS.

DISKMON ADDS 16 COMMANDS TO BASIC INCLUDING DISK DATA FILE COMMANDS.

DESIGNED FOR COMMERCIAL SPEED REQUIREMENTS — READS AN ENTIRE TRACK AT A TIME.

DISK DRIVES ARE AUTOMATICALLY TURNED OFF BETWEEN COMMANDS FOR LESS WEAR.

EXCELLENT DOCUMENTATION AND FULL SOFTWARE SUPPORT VIA FUTURE SOFTWARE.

DISKMON AUTOMATICALLY SUPPORTS COMMERCIAL TYPE PRINTER (CENTRONICS MODELS) VIA PARALLEL PORT.

DISKDRIVER COMES COMPLETE WITH ATTRACTIVE BEIGE CABINET, BUILT IN POWER SUPPLY. DISK CONTROLLER

BOARD. ALL PLUG COMPATIBLE WITH YOUR PET (DISKDRIVER REQUIRES THE EXPANDAPET)

NOW FOR THE FIRST TIME YOUR PET CAN BE UTILIZED AS A COMPLETE, TOTAL SYSTEM.

APPLICATION/DEVELOPMENT SOFTWARE AVAILABLE * BUSINESS PACKAGES IN MARCH/APRIL.

FULL PRODUCT (HARDWARE & SOFTWARE) SUPPORT FROM COMPUTHINK AND DEALERS.

HARDWARE/SOFTWARE PRODUCT DIRECTORY

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FUTURE BUSINESS AND PROFESSIONAL PACKAGES STARTING IN JAN./FEB.

• NOTE PET IS A TRADEMARK OF COMMODORE AND IS SOLD ONLY BY AUTHORIZED DEALERS.

NEECO

EASTERN U.S. & EUROPEAN

NEW ENGLAND ELECTRONICS

248 BRIDGE ST.

SPRINGFIELD, MASS., 01103

(413)739-9626

COMPU/VTHINK

WESTERN U.S. & CANADA

COMPUTHINK

3260 ALPINE ROAD

MENLO PARK, CA., 94025

Circle 281 on inquiry card.

BYTE February 1971

99

Figure 10: Simple drive for a 4 phase bifilar stepping motor.

~x

of thumb for this scheme is to make the supply voltage approximately 5 times the voltage of the motor. The resistor is picked to drop the increase in voltage of the drive. The reason for the superiority of this modification is that the addition of the resistor changes the motor's time constant, allowing current flow to increase faster in a given time period. In order to maintain the rated current, the supply voltage is increased. The biggest disadvantage of this type of drive is in the power loss in the series resistors, which makes it very inefficient.

Various schemes have been developed and arc used to improve upon the design. Figure 12a shows a scheme that uses a transistor and diode to switch out a high voltage from the windings once current has built up sufficiently. Figure 12b shows a method similar to that of a switching regulator. An initial controlled pulse source independent of the motor switches power to an inductor. A second pulse that increases in frequency as the speed of the motor increases also controls the power switch. In this design, there is enough current at standstill to supply adequate current for static torque (power on, but motor and switches not running). As the speed of the motor increases, the voltage increases because of the faster switching pulses. This continues until the motor sup

E>

X

ply voltage reaches the main supply voltage. At these speeds, the impedance of the motor is much higher and it can withstand the higher voltage present on the windings.

Figure 12c is a more efficient but more expensive scheme known as a chopper drive. In this scheme a high voltage is applied to the winding and removed when the current sense circuit detects a predetermined current in the windings.

For the personal computer experimenter, the scries resistance limiting supply should be adequate for most applications.

Once the type of drive to be used has been decided upon, the most important item to consider is the drive transistor switches and protection circuits around them. The motor coil appears to the driver switch as a series connected inductor and resistor. An inductor in a switching circuit will cause problems if not dealt with properly. The winding also complicates matters by generating back electromotive force (back EMF), or voltage, which opposes the motor power supply. Since the motors are usually high current, low impedance devices, the drives require several stages of amplification.

In selecting the transistor, other characteristics are also important. First of all, the transistor must handle the current rating

Figure 11: Series resistance limiting drive.

~x

<a

100 February 1979 6 BYTE Publications hie

a)

+ V|_OW

Figure 12: Three types of higher performance drives, (a) Dual voltage supply that turns off the high voltage supply when current is built up in the windings, leaving the low voltage supply on. (b) Switching regulator approach that increases the voltage to the windings as the motor speed increases, thus trying to keep the maximum current in the windings at any speed, (c) Chopper drive configuration which applies a high voltage to the windings to build up current quickly and then turns it off when a predetermined current is attained.

b)

'"^SUPPLY

SWITCHING TRANSISTOR

INDUCTOR

FIXED PULSES

VARIABLE

PULSES

OFF

CONDUCTION DIODE

-o

+VMOTOR

(TO WINDINGS)

FILTER CAPACITOR

ft!

c)

of the drive. Since the current rating of the motor is usually for 25°C and motor heating causes increased resistance, the transistor must be derated to take the heating of the motor into account. And they can get hot! The peak current seen in the transistor, which is about twice the average DC current, occurs when the coil phases are switched. A good rule is to not exceed 50 to 60 percent of the transistor's rating.

The next concern of the transistor is the

reverse voltage rating of the collector-emitter and collector-base junctions. If the supply is 28 V, it doesn't mean that the rating of the transistor should be 28 V. Voltages in a bifilar motor winding, when switching, can peak at around 100 V with a 28 V supply, due to the transformer action of the windings.

Another concern of the transistor is the switching time. The longer the transistor takes to switch on or off, the more power

February 1979 ©BYTE Publications Inc

101

there will be to dissipate. Common switching times for power transistors are from 1 to 2/is. A switching time of longer duration begins

a)

^>

ANY OPEN

COLLECTOR

DRIVER

b)

o-^w—W

1 MOTOR

Figure 13: Various transistor drive circuits, (a) Low power drive for small motors. Diode protects logic from high voltage if transistor shorts, (b) Darlington arrangement to boost power from logic levels, (c) High power drive arrangement in which only the switching transistor and motor use the high voltage supply.

m

VSWITCH

I

I MOTOR I

'motor

o

SWITCHING I RANSISTOR

Figure 14: Switching transients in an unprotected winding. When the switch tries to open at time Tl, the motor winding forces the voltage high so that it can maintain the same current.

to waste power. An efficient switching transistor and an adequate protection network will help to keep the transistor's temperature down. Make sure that the heat sink is large enough for the power transistor, since most of the heat is created at low speeds.

Since the computer output port cannot drive the power transistors directly, several stages of gain must be provided. The gain of the transistors is important since it is necessary to provide enough current for motor rating, yet keep the middle stages in low saturation. The amplifier stages can be kept to a minimum by using Darlington power transistors. Remember that Darlingtons get hotter than normal power transistors, so they need a larger heat sink.

Tabic 1 gives a rough comparison of transistors available on the market that are suitable for stepper motor applications. Drive schemes for several different power levels arc shown in figure 13. They all provide isolation between the processor interface and motor windings. The first is a low power drive for small motors. The second is a higher power drive that uses two discrete transistors in a Darlington configuration. The third technique utilizes the +5 V supply for the switching section and uses the motor supply only for the motor and output transistor.

Now that wc have a method of getting power to the motor, we must be able to control the transient effects of the energy generated in the motor. The basic problem is shown in figure 14. Here, the switch (or transistor) has been on for some time and current is flowing through the winding. Suddenly, the switch is opened. Because the winding is an inductor, the current will continue to flow for some time and the voltage will instantly rise in order to keep it flowing at that rate. Al this point the transient could easily knock out a transistor.

As figures 15a, 15b and 15c demonstrate, there arc many ways to avoid this problem. The simplest method, shown in figure 15a, is to connect a diode from the winding back to the supply. This causes the current in the inductor to flow back around to the supply and eventually die out. The voltage across the switch at maximum would be only one diode voltage drop above the supply voltage. Figure 15b follows the same idea, but a resistor is added to the diode path. This allows a large voltage spike upon tumoff, but current flowing in the winding decays more rapidly. This is advantageous when running at higher speeds. A third arrangement (figure 15c) uses a zener diode in place of the resistor, limiting the voltage peak to a level approximately the same as that of the supply voltage plus the zener

102 February 1979 O BYTE Publications Inc

,$#* + *&

Twins... Well, Almost.

TWO EGGS FROM TELETEK? NOT QUITE.

Our avian friends are helping us tell everybody that two S-100 Floppy Disk Controllers are the newest additions to the Teletek product family.

FLOPPY CONTROLLER I A state of the art device designed to assist the O.E.M. and the hobbyist. The most capable Floppy Disk Controller available anywhere.

• Single/double density, single/double sided Floppy Disk Controller for mini or maxi drives.

• Z-80A CPU, EPROM & RAM on board can form the basis of a stand - alone system or can be added to existing systems as a smart controller.

• Two RS-232C serial ports and one parallel port.

• Compatible with Shugart, Calcomp®, Siemens and similar drives.

• CP/M® and FAMOS® compatible.

• On-board buffer for multiple sector read.

• Reset-jump and power-on-clear.

Circle 362 on inquiry card.

FLOPPY CONTROLLER II

An exceptionally clean design providing many of the same features of its big brother.

• Single/double density, single/double sided Floppy Disk Controller for mini or maxi drives.

• Compatible with Shugart, Calcomp®, Siemens and similar drives.

• CP/M® and FAMOS® compatible.

• Bootstrap loader on-board.

• On-board buffer, up to 8 sectors.

INTERESTED?

FOR MORE INFORMATION, ASK YOUR DEALER

OR CONTACT US DIRECTLY AT (916) 351-0535.

TELETEK

11505B Douglas Rd. Rancho Cordova, CA 95670

BYTE Fchruary 1979

103

SWITCHING TRANSISTOR

t :MOTOR

SWITCHING TRANSISTOR

SWITCHING TRANSISTOR

Figure 15: Suppression circuits for a stepping motor. The techniques shown allow one of several alternatives, (a) Use of lower voltage transistors, (b) Increase of motor performance, (c) A combination of both.

voltage. The rate of current decay is linear in this case and is still faster than the straight diode.

Another type of suppression circuit for bifilar motors is shown in figure 16. In this case, the other winding of the pole is used like a transformer to discharge the current. As an example, let's say that the motor is carrying 5 A and transistor Q1 shuts off. In order to keep current flowing in the windings, the motor finds a path from diode D1 through the other winding and back to the power supply. But what does this do to the voltages? First of all, the winding connected to diode D1 would be at -1 V. If there were 5 A flowing, the motor common would be at +45 V to cause 5 A to flow through the 4 i7 series resistor. On the other hand, the voltage across Ql goes up to +95 V because the windings are acting like a center-tapped transformer. The same thing happens in the other winding when Q2 is turned off.

Part 2 of this article will describe techniques for interfacing stepper motors to personal computers."

REFERENCES

1. "Focus on Stepping Motors," Electronic Design, volume 25, number 22, October 1977, page 48.

2. Proceedings From Stepping Motors and Controls Seminar, Superior Electric Company, 1976.

3. "Stepper Motors Respond to Direct Digital Command," Control Engineering, volume 21, number 1, January 1974, page 46.

4. "Use Stepper Motors in Motion-Control Applications," EDN, volume 23, number 14, August 5 1978, page 89.

Where to get a stepper motor:

Sigma Instruments Inc Braintree MA 02184

18-1408 S22

18-2013 S23

Minimum billing is S35.

North American Philips Controls Corporation Cheshire Industrial Park Cheshire CT 06410

Empire Electrical Company 54 Mystic Av Medford MA 02155

K82201 S17

K82401 S17.85

American Design Components 39 Lispenard St New York NY 10013

Berger-Lahr Corporation Peterborough Rd Jaffrey NH 03452

1 04 February 1979 © BYTE Publications In

Figure 16: Suppression circuit for bifilar motor. This technique uses the off winding in the bifilar pair to continue the current flow as it decays. For example, assume that transistor Q1 shuts off. The arrow shows the path of current flow. Diode Dl is forced to conduct, which puts the off lead at —7 V. Since the current in this example is 5 A, the voltage across the 4 SI resistor must be 20 V. This voltage must be added to the +25 V of the supply because the current flows into it. Therefore, the motor common lead will be at +45 V. The motor at this point can be thought of as a center tapped transformer and so the voltage from one coil to the center tap is +51 V (—5 drop due to motor resistance plus diode drop of —7 V). The total voltage across the transformer would then be +102 V because one end of the transformer is at —6 V.

Low Power

Device

'c

BVceo

Gain

Power

Type

Case Type

T15135

2N2222A

2N2907A

0.5 A 0.5 A 0.5 A

50 V 40 V 60 V

20 10 50

0.7 W 0.5 W 0.4 W

NPN NPN PNP

To -92

To-5 To -18

Medium Power

Device

'«

BVceo

Gain

Power

Type

Case Type

2N3054

4.0 A

55 V

25

40 W

NPN

To -66

MJE13002

1.5 A

300 V

5

20 W

NPN

To-3

D45C5

4.0 A

45 V

10

30 W

PNP

To -229

TIP29C

1.0 A

100 V

20

2 W

NPN

To -229

High Power

Device

'c

BV

ceo

Gain

Power

Type

Case Type

TIP125

5 A

60 V

500

2 W

PNP

Darlington

2N3055

10 A

60 V

5

60 W

NPN

To -3

2N6056

8 A

80 V

750

70 W

NPN

Darlington

2N678B

15 A

60 V

50

30 W

PNP

Germanium

D56W1

5 A

200 V

3

70 W

NPN

GETo -3

2N3715

10 A

60 V

10

100 W

NPN

To-3

2N3716

10 A

80 V

10

100 W

NPN

To-3

TIP122

5 A

100 V

1000@3A

65 W

NPN

Darlington

TIP142

10 A

100 V

1000(9>5A

125 W

NPN

Darlington

TIP34C

10 A

100 V

20@3A

60 W

PNP

To -3

Table I: Comparison of several transistors suitable for stepping motors. The transistors are available from most surplus electronics dealers.

f0^?*

DFT Ifini PERSONAL ~E I £vUI COMPUTER

Quite portable, very affordable and unbelievably versatile, the PET computer may very well be a lifetime investment. * **f\&

with 8K RAM r XjrO

NEW HICKOK

LX303

DIGITAL

MULTIMETER

CoiT

Jad V,"

act. Accu

d of

g. Depend. ;tai display vVeigl

lie. Wu

. _.jIv S ounces. Operates up to 200 hrs on a single 9 volt battery. Nineteen ranges including 200mV to 1000VDC 100 to 10 Megohms, 100 and 1000 VAC ranges IOuA and 10mA ranges. Excellent overload pro„_,.„,- tection, color coordinaied case nmJ S7495 color coded panel.

KIM-1 MICROCOMPUTER

s 179 oo H

Including Documents

Ballantine Model 1010A Dual Channel/X-Y Scope

A professional oscilloscope

to fit

your | * • basic

■ t) • ^i I needs. •"•• '• ■••' S695

Intersil LED or LCD

3V2 DIGIT PANEL

METER KITS

BUILD A WORKING DPM IN 1/2 HOUR WITH THESE COMPLETE EVALUATION KITS

prototyping Mil, campion- with A/DconWIU ana LCD Display

(for the 710G1 or LED display (for tns 7107) Kns provide all mnlefials. including PC tioard. lor a functioning panel moler

ICL7106EV(LCD) $29.95 ICL7107(LED) S24.95

»»*»

tf»

w

The Instructor 50

from SIGNETICS

Complete, ReadyTo-Use Microprocessor Learning Package

S350oo

SUPE R KIM

P/N Power Transformer

SI-1010GM0W) S 6.95 TRIO S 7.90 SI-1020GI20W) S13.95 TR20 S10.90 A-SI-8ISocket far above) .95

SI-1030GI30W) S19.00 TR30 S12.90 SI-1050GI5OW) S27.80 TR50 S17.90 A-SI-10(Socket for above) .95

FUNCTION GENERATOR KIT XR2206KB XR2206KA

$19.95

S14.95

GRI-ASCII KEYBOARD KIT

753K Keyboard S59.95

756KKevboard S64.95

701 Enclosura{753only)$14.95

702 Enclosure (both) S29.95

SYM-1

FILM *»

$1.69

5% CARBON

RESISTORS

All values from WV. to 10 Mil- Only in multiples of WO pes per value

S1.79

ANCRONA HAS THE SOURCERER™ COMPUTER S89500

STANDARD FEATURES: 280-4K ROM8K RAM-Dual Cassette I/O-30 Lines of 64 CharacIers-64 Defined Characters and 64 User Defined Characters-512 x 240 Graphic Resolution-Edge Card Connection to S100 Bus-Serial and Parallel I/O OPTIONS: Expandable to 32K RAM-8-Slot S100 Bus-Printer-Disk Storage-Telephone- Voice-Home Controller

1802 SERIES

LD Cer;

-55

i 125" C

1B021D

S19.95

1854LD

1822LD

ia.00

1856LD

1824LD

7.75

1B57LD

1852LD

8.25

1S58LO

1853LO

5.65

1859LD

5.65

1802LE

SI I 20

ISMLF.

1822LE

B.05

1B5GLE

3.55

1852LE

1 90

1858LE

18!)3LE

115

Send Check or . Money Order in; P.O. Box 2208Y. Culver City, CA 90230. California residents add 6% sales tax. Minimum Order; S10.00. Add

SI.00 to cover postage and handling. Master Charge and 'isa welcomed. Please include your charge card number. Interbank umber and expiration date. PHONE ORDERS (213) 641-4064

16021 881-2348

(604) 324-0707

1213) 390-3595

(408) 243-4121

(404) 261-7100

(5031 2545541

1713) 529-348!)

Circle 6 on inquiry Card. February 1979©8YTE Publications Inc 105

PET / TRS-80 / APPLE: Personal Software brings you the finest!

NEW! THE ELECTRIC PAINTBRUSH by Ken Anderson for 4K

Level I and II TRS-80s: Create the most dazzling graphics displays you have ever seen with a minimum of effort. The Electric Paintbrush is actually a simple 'language' in which you can write 'programs' directing your paintbrush around the screen—drawing lines, turning corners, changing white to black, etc. Once defined, these programs may be called by other programs or repetitively executed, each time varying the parameters of brush movement.

The macnine language interpreter executes your programs almost instantaneously, allowing you to create real-time, animated graphics displays. The screen photos above are actually 'snapshots' of the action of a single one-line program over about thirty seconds. Mesmerize your friends with visual effects they've never seen on a TV screen! There's no limit to the variety of exciting and artistic graphics displays you can create with The Electric Paintbrush. And it's available now for only $14.95

MICROCHESS is the culmination of two years of chessplaying program development by Peter Jennings, author of the famous 1K byte chess program for the KIM-1. MICROCHESS 2.0 for 8K PETs and 16K APPLEs, in 6502 machine language, offers 8 levels of play to suit everyone from the beginner learning chess to the serious player. It examines positions as many as 6 moves ahead, and includes a chess clock for tournament play. MICROCHESS 1.5 for

BRIDGE CHALLENGER by George Duisman for 8K PETs, Level II 16K TRS-80S, and 16K APPLEs: You and the dummy play 4 person Contract Bridge against the computer. The program will deal hands at random or according to your criterion for high card points. You can review tricks, swap sides or replay hands when the cards are known. No longer do you need 4 people to play! $14.95

STIMULATING SIMULATIONS by Dr. C.W. Engel for 8K PETs, 4K Level I and II TRS-80s, and APPLEs with Applesoft II: Ten original simulation games such as Forest Fire, LostTreasure, Gone Fishing and Diamond Thief, progressing from elementary toquitecomplex with most suitable for schoolchildren. Includes a 64 page book giving flowcharts, listings and suggested modifications ... $14.95

WHERE TO GET IT: Look tor the Personal Software™ display rack

at your local computer store. Nearly 200 dealers throughout the United States, Canada, Europe and Australia now carry the Personal Software™ line. (And TRS-80 Microchess is available through all 7,000 Radio Shack® and Tandy Electronics stores!) New dealers are being added at the rate of two every business day. If your local dealer doesn't already carry Personal Software™ products, ask him to call us at (617) 782-5932. Or you can order direct from us by check, money order or VISA/Master Charge. If you have questions, call us at (617) 783-0694. If you know what you want and have your VISA/MC card ready, you can use any phone to

DIAL TOLL FREE 1-800-325-6400

24 hrs In Missouri dial 1-800-342-6600 7 days

Or you can mail your order to the address below. To add your name to our mailing list for free literature and announcements of new products, use the reader service card at the back of this magazine.

Personal Software™

P.O. Box 136-B2, Cambridge, MA 02138

4K TRS-80s, in Z-80 machine language, offers 3 levels of play (both Level I and Level II versions are included and can be loaded on any TRS-80 without TBUG). MICROCHESS checks every move for legality and displays the current position on a graphic chessboard. You can play White or Black, set up and play from special board positions, or even watch the computer play against itself! Available now at a special introductory price of only $19.95

106

BYTE February 1979

Circle 302 on inquiry card.

Look for Personal Software™ products at the dealer nearest you!

COMPUTERLAND Hunlsville. AL 35805

ALASKA

ALPHA ELECTRONICS Anchorage. AK 99503

ARIZONA

COMPUTER SHOWROOM Tucson, AZ 85710

DATACOPE

Little ROCk, AR 72204

CALIFORNIA

JAY-KEN ELECTRONICS Bakorsfietd, CA 93305

BYTE SHOP Burbank CA 91506

BYTE SHOP OF SACRAMENTO Citrus Heights. CA

COMPUTERLAND OF EL CERRITO El Cerrito, CA 94530

BUSINESS ENHANCEMENT COMPUSERVICE Escondido. CA 92027

CHANNEL DATA SYSTEMS Golela. CA 93017

RAINBOW COMPUTING Granada Hills. CA 91344

BYTE SHOP OF HAYWARD Hayward. CA 94541

COMPUTERLAND OF HAYWARD Hayward. CA 94541

COMPUTERLAND OF WEST LA Inglewood, CA 90302

COMPUTERLAND OF SOUTH BAY Lawndale. CA 90280

A-VIDD ELECTRONICS Long Beach CA 90815

HOBBY WORLD ELECTRONICS Norlhndge. CA 91324

COMPUTERS-MADE-EASY Palmdale, CA 93550 BYTE SHOP OF PLACENTIA Placentia. CA 92670

CAPITOL COMPUTER SYSTEMS Sacramento CA 95616

COMPUTERLAND

San Bernadino. CA 92404

COMPUTERLAND OF SAN DIEGO San Diego. CA 92111

COMPUTERLAND OF

SAN FRANCISCO

San Francisco, CA 94105

COMPUTERLAND OF SAN JOSE San Jose. CA 95129

BYTE SHOP

San Louis Obispo, CA 93401

MARIN COMPUTER CENTER San Rafael. CA 94903

ADVANCED COMPUTER PRODUCTS Santa Ana. CA 92705

THE COMPUTER STORE Santa Monica CA 90401

BYTE SHOP Suisan, CA 94585

BYT E SHOP OF TARZANA Tarzana, CA 91356

COMPUTERLAND OF THOUSAND OAKS Thousand Oaks. CA 91360

SMALL SYSTEM SOFTWARE Thousand Oaks, CA 91360

COMPUTER COMPONENTS Van Nuys. CA 91411

COMPUTERLAND Walnul Creek CA 94598

BYTE SHOP Weslminster. CA 92683

COMPUTER COMPONENTS OF ORANGE COUNTY Westminster. CA 92683

AMPTEC Denver. CO 80216

COMPUTERLAND Denver, CO 80222

CONNECTICUT

COMPUTERLAND OF FAIRFIELD Fairfield, CT 06430

Circle 302 on inquiry card.

JRV COMPUTER STORE Hamden, CT 06518

THE COMPUTER STORE Hartlord, CT 06103

THE COMPUTER STORE Windsor Locks. CT 06096

WASHINGTON D.C.

COMPUTER CABLEVISION Washington DC 20007

COMPUTERLAND Boca Raton. FL 33432

THE COMPUTER STORE Bradenlon. FL 33505

THE COMPUTER STORE Clearwater. FL 33516

UCATAN Destin. FL 32541

BYTE SHOP

Fort Lauderdale. FL 33334

COMPUTERLAND

Fori Lauderdale. FL 33308

COMPUTERS FOR YOU Fort Lauderdale, FL 33312

DATA MOVERS

Fort Meyers, FL 33901

FOCUS SCIENTIFIC ENTERPRISES Miami. FL 33132

GRICE ELECTRONICS Pensacola. FL 32589

COMPUTERAGE Pompano Beach. FL 33062

MICRO COMPUTER SYSTEMS Tampa. FL 33609

COMPUTER CENTER OF

PALM BEACHES

West Palm Beach. FL 33409

GEORGIA

ADVANCE COMPUTER TECHNOLOGIES Allanta. GA 30328

DATAMART Allanta. GA 30305

COMPUTERLAND OF ATLANTA Smyrna, GA 30080

COMPUTER SYSTEMS DESIGN Wichita, KS 67214

COMPUTER SHOPPE Melaire. LA 70002

COMPUTERLAND Rockville. MD 20855

COMPUTERS ETC Towson. MD 21204

COMPUTERS UNLIMITED Towson, MD 21204

MASSACHUSETTS

THE COMPUTER STORE Burlington. MA 01803

THE COMPUTER STORE Cambridge. MA 02139

MAD HATTER SOFTWARE Chelsea. MA 02150

NEW ENGLAND ELECTRONICS Springfield, MA 01103

MICROCOMPUTER SYSTEMS Honolulu. HA 96813

RADIO SHACK (Dealer! Lihue. HA 96766

ILLINOIS

COMPUTERLAND OF ARLINGTON HEIGHTS Arlmglon Heights. IL 03904

FARNSWORTH COMPUTER CENTER Aurora, IL 60505

KAPPEL'S COMPUTER STORE Belleville. IL 62220

BYTE SHOP Champaign, IL 61820

THE ELEKTRIK KEYBOARD Chicago. IL 60614

EMMANUEL B GARCIA JR AND ASSOCIATES Chicago. IL 60613

PERSONAL COMPUTER Chicago, IL 61820

COMPUTERLAND Downers Grove. IL 60515

COMPUTER STATION Granite Cily. IL 62040

COMPUTERLAND OF NILES Niles. IL 60648

COMPUTERLAND Oak Lawn. IL 60453

COMPUTERLAND OF PEORIA Peoria. IL 61614

DATA DOMAIN Schaumburg. IL 60195

DATA DOMAIN OF FORT WAYNE Fort Wayne. IN 46805

PUBLIC COMPUTING Lafayette, IN 47904

IOWA

THE COMPUTER CENTER Waterloo, IA 50701

KANSAS

PERSONAL COMPUTER CENTER Overland Park, KS 66206

THE COMPUTER CORNER White Plains, NY 10601

NORTH CAROLINA

COMPUTERLAND Charlotte, NC 28205

THE HI-FI SHOP

Salt Lake City. UT 84117

NEWMAN COMPUTER EXCHANGE Ann Arbor. Ml 48104

NEW DIMENSIONS IN COMPUTING East Lansing, Ml 48823

COMPUTERLAND OF GRAND RAPIDS Kentwood, Ml 49508

COMPUTER MART OF ROYAL OAK Royal Oak Ml 43073

TRI CITY COMPUTER MART Saginaw Ml J8603

COMPUTERLAND Southfield, Ml 48034

LEVEL FOUR PRODUCTIONS Wcsttand Ml 48185

MINNESOTA

COMPUTERLAND Blooniington. MN 55431

MMS

Minneapolis, MN 55454

FUTUREWORLD Durham. NC 27707

BYTE SHOP Greensboro. NC 27401

MICROCOMPUTER SERVICES Hickory. NC 28601

BYTE SHOP OF RALEIGH Raleigh, NC 27605

OHIO

BASIC COMPUTER SHOP Akron OH 44314

CINCINNATI COMPUTER STORE Cincinnati. OH 45246

21ST CENTURY SHOP Cincinnati, OH 45202

CYBER SHOP Columbus. OH 43227

MICRO MINI COMPUTER WORLD Columbus. OH 43213

ASTRO VIDEO ELECTRONICS Lancasler, OH 43130

COMPUTERLAND OF CLEVELAND Mayfield Heights. OH 44121

RADIO SHACK (Dealer) St Clairsville OH 43950

OKLAHOMA

BUSINESS MICRO SYSTEMS Oklahoma City OK 73108

HIGH TECHNOLOGY Oklahoma City OK 73106

HIGH TECHNOLOGY Tulsa OK 74129

OXFORD SOFTWARE CO Oxford. MS 30655

COMPUTER COUNTRY Florissant MO 63031

COMPUTERMART Essex Junction. VT 05452

COMPUTER HARDWARE STORE Alexandria. VA 22314

COMPUTERS PLUS Alexandria, VA 22304

HOME COMPUTER CENTER Newport News, VA 23606

THE COMPUTER PLACE Roanoke, VA 24015

WISCONSIN

BYTE SHOP OF MILWAUKEE Greenfield, Wl 53227

COMPUTERLAND Madison. Wl 53711

MADISON COMPUTER STORE Madison. Wl 53711

FOX VALLEY COMPUTER STORE Neenha, Wl 54956

WASHINGTON

HOME COMPUTERS Las Vegas NV 89109

NEW HAMPSHIRE

COMPUTERLAND OF NASHUA Nashua NH 03060

NEW JERSEY

COMPUTER LAB OF NJ Budd Lake. NJ 07828

COMPUTER EMPORIUM Cherry Hill NJ 08002

COMPUTER MART OF NJ Iselin, NJ 08830

COMPUTERLAND

Paramus, NJ 07652

COMPUTER NOOK Pine Brook NJ 07058

COMPUTER ENCOUNTER Princeton NJ 08540

TYPTRONIC COMPUTER STORE Ramsey. NJ 07446

NEW YORK

COMPUTERLAND Carl Place, NY 11514

COMPUTER SHOP OF SYRACUSE De Wilt. NY 13214

THE COMPUTER TREE Endwell. NY 13760

LONG ISLAND COMPUTER GENERAL STORE Lynbrook. NY 11563

COMPUTER MICROSYSTEMS Manhasset, NY 11030

THE COMPUTER FACTORY New York. NY 10017

AUTOMATIC SYSTEMS Poughkeepsie. NY 12603

COMPUTER HOUSE Rochesler. NY 14609

THE COMPUTER STORE Rochester. NY 14618

THE COMPUTER STORE Corvallis OR 97330

CAMERA AND COMPUTER

EMPORIUM

Portland. OR 97205

COMPUTERLAND OF PORTLAND Tigarl. OR 97223

PENNSYLVANIA

PERSONAL COMPUTER CENTER Frazer. PA 19355

COMPUTER AID Latrobe PA 15650

THE COMPUTER WORKSHOP Murrysville. PA 15668

RADIO SHACK (Dealer) North Wales. PA 19454

A B COMPUTERS Perkasie. PA 18944

MICROTRONIX Philadelphia. PA 19106

SOUTH CAROLINA

DATA MART Greenville SC 29607

MICROCOMPUTER STORE Knoxville TN 37919

COMPUTER LABS OF MEMPHIS Memphis TN 38117

DOC'S COMPUTER SHOP Nashville. TN 37211

TEXAS

COMPUTERLAND OF AUSTIN

Auslin, TX 78757

COMPUSHOP Dallas. TX 75243

COMPUTERLAND Dallas. TX 75231

KA ELECTRONICS SALES Dallas. TX 75247

COMPUTER TERMINAL El Paso. TX 79901 COMPUTERCRAFT Houston. TX 77063 NEIGHBORHOOD COMPUTER Leavilt. TX 79401

THE COMPUTER SHOP San Antonio, TX 78216 COMPUTER SOLUTIONS San Antonio. TX 78229 WICHITA COMPUTER SYSTEMS Wichita Falls. TX 76301

COMPUTERLAND OF SOUTH KING COUNTY Federal Way WA 98003

YE OLDE COMPUTER SHOPPE Richland. WA 99352

AUSTRALIA

ELECTRONIC CONCEPTS PTY LTD

COMPUTERLAND

Sydney. N.S W.

CANADA

COMPUSHOP

Calgary. Alberta T2N 2A4

THE COMPUTER SHOP Calgary, Albena T2T 4T9

COMPUTER CITY Winnepeg, Manitoba R3P 0H8

COMPUTERLAND Winnepeg. Manitoba R3G 0M8

INTERACTIVE COMPUTER SYSTEMS Fredenckton. New Brunswick

KOBETEK SYSTEMS Wclfville. Nova Scotia BOP 1X0

COMPUTER INNOVATIONS Ottawa, Ontario K1B 4A8

FUTUR BYTE

Montreal Quebec H3B 3C9

BYTE SHOP lllord, Essex

INFOGUIDE London

CYTEK

Manchester M4 3E4

PETSOFT

Newbury. Berkshire RG13 1PB

KEEN COMPUTERS Notlingham NG7 1FN

PETALECT Woking. Surrey

OPTRONICS Twickenham TW1 4RY

ING W HOFACKER 8 Munchen 75

COMPUTRON Den Haag 2502 ER

ITALY

HOME MICROCOMPUTERS SRL 20123 Milano

SWEDEN

MICROFUTURE Stockholm 10322

SEMIDAKO Uposala 75353

SWITZERLAND

INTERFACE TECHNIQUE Basel

DIALOG COMPUTER Lucerne

ELBATEX Welti ngen

BYTE February 1979 107

Fast Fourier for the 6800

Richard H Lord Bennett Rd Durham NH 03824

If you're involved with music or speech processing applications with your computer, you've probably wished you could look at the frequency spectrum of your sampled signals. This may not be as difficult as you might guess, because here is a simple, straightforward fast Fourier transform (FFT) subroutine that can do the trick in just a few seconds.

A Microhistory of the Fast Fourier Transform

The analysis of waveforms for harmonic content has a long and fascinating history. Bernoulli and Euler developed the mathematics of the transform while experimenting with musical strings in 1728, nearly a hundred years before Jean Baptiste Fourier gave his name to the equations. Interest in prediction of the tides led Lord Kelvin to build a mechanical harmonic synthesizer that inspired the construction of increasingly complex mechanical harmonic analyzing machines. This trend culminated in the MaderOtt machine of 1931, which is on display at the Smithsonian Institute in Washington DC.

With the growth of the telephone and the communication industry came sampling theory and the discrete Fourier transform. At first, discrete Fourier transforms were hand calculated and tabular forms called "schedules" were soon employed to speed the process. With the development of digital computers in the 1940s this task became somewhat easier to perform. The number of calculations required still made the concept of real time discrete Fourier transforms unlikely even on the ever faster new computers.

Then in the 1960s a number of matrix theory mathematicians, including J W Cooley and J W Tukey, went back to the "schedules" and discovered that a great many of the terms were redundant and could be factored out. The procedure they evolved became known as the fast Fourier transform, which reduces the number of calculations to the point that special hardware can be built to perform the transform in real time and display the frequency spectrum continuously on a video display.

The Basic Concepts

A number of books have been published describing the mathematics of the fast Fourier transform in some detail. A few of these contain sample programs in FORTRAN, ALGOL, or BASIC. However, the use of a high level language to perform this computation not only costs a great deal in speed and efficiency, but also obscures the simple binary processes that characterize the algorithm. Since high level languages do not usually support bit manipulation, these processes can become almost as time consuming as the arithmetic.

Clearly, assembly language programming of the fast Fourier transform offers many advantages, but the literature seldom provides any examples of assembly level code to illustrate how the equations are implemented. Thus the program described in this article may well be the reinvention of someone else's "wheel."

The details of the inner workings of the fast Fourier transforms are left to the technical references, but the basic concepts are not difficult to grasp. The transform involves complex products which behave in the manner of the coordinates of a rotating vector. When this vector is at angles which are multiples of 90 degrees, the sine and cosine terms of the equations become +1, 0, or —1. Since terms containing these values do not require computed multiplication, the arithmetic becomes very simple. Other terms cancel each other out in order to simplify the equations at other angles. By factoring these terms out of the transform, many unnecessary calculations may be eliminated.

The input data may be thought of as elements of an input matrix which will be multiplied by a transform matrix. The product is a matrix containing the transformed data. The redundant elements may be factored out of the transform matrix, converting it to the product of a number of simpler transforms. For an input array of 256 points, a discrete Fourier transform would require 256 by 256 complex products or 262,144 binary multiplications. The fast Fourier transform reduces this to eight simpler trans

108 February 1979 © BYTE Publications Inc

(a)

i r

(b)

tcl

FREQUENCY

1

t

1

1 *

FREQUENCY

J L

FREQUENCY

Figure I: Fast Fourier transform of a square wave using the author's technique. The real (or sine) part of the transform is shown in (a). The imaginary (or cosine) part of the transform is shown in (b). The resulting transform is at (c). The resulting transform values are normally found by taking the square root of the sum of the squares of the cosine and sine elements. In order to save computational time, however, the author takes the sum of the absolute values of the terms, which introduces slight errors into the relative magnitudes of the components.

forms and ultimately requires 8 by 2 by 256 complex products, or 16,384 binary multiplications (1/16 the number of previous multiplications). Even greater savings are realized as the number of points increases.

Each of the simplified transforms operates on the data in pairs of complex points. The real and imaginary parts of a pair are transformed and the new values placed back in the array so that the transform is performed "in place." The algorithm then moves on to the next pair until all pairs have been transformed. The process is repeated for each of the eight stages of our 256 point transform, but on each pass the distance between pairs is changed.

On the first pass, adjacent points are paired. After completing a pair the algorithm skips down to the next. In a sense, the data has been split into 128 adjacent 2 point transforms. These 128 groups are known as

cells. On each subsequent pass the distance between elements of the pair is doubled. In the second pass there are 64 cells, each four elements wide. On the final pass there is only one cell containing all 256 elements.

This process of forming pairs and cells causes the elements of the array to become scrambled. On the final pass the data is completely mixed up and must be sorted out before it can be used. The way it is scrambled is very interesting, though. If each element is assigned a binary number that represents its location in the array, the scrambled data makes it appear that the computer has read this binary address backwards. It is as if the binary word were swapped end for end so the most significant bit (MSB) appears where the least significant bit (LSB) should be.

This rearrangement of the data may be corrected by swapping each data point with its bit reverse addressed mate. The procedure

February 1979 ©BYTE Publications Inc 109

Listing 1: Routine in 6800 assembly language to perform a 256 point fast Fourier transform.

60091 00002 00003 00004 00005 00006 0000? 00008 00009 00010 00011 00012 00013 00014 00015 00016 0001? 00018 00019 00020 00021

00022 06023 00024 00025 00026

0002?

80028 00029

00830 00031

00032 00033 00034 09035 00036

0003?

00038 00039

00040 00041

00042 00043 00044 00045 00046

0004?

00048

00050 00051

60052 06053 00054 00055 00056 00057 00058 00059

00060 00061

00062 00063 00064 00065 00066 00067 00068 00069

00070

00071 00672

0800 0500 0600 0400

0020

0020

0022 0024 0826 0028

002fl

002B 002C 002D 002E 002F

0030

0031 0032 0033 0034 0035 0036

0U02 0002

0002 0002 0002 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0004

NAM FFT#2

OPT 0, Si NOGEN

**********************

** FfiST FOURIER ** ++ TRANSFORM ** ** SUBROUTINE ** ********************** ** BY R. H. LORD ** ** 21 APRIL. 1978 **

********************** **

** THIS SUBROUTINE PERFORMS A 256 POINT FFT

** ON THE DATA IN THE INPUT DATA TABLE.

** INPUT DATA IS ASSUMED TO BE TWO'S COMPLEMENT.

** THE SUBROUTINE GENERATES A COSINE (REAL) AND SINE

** CIMAGINARY) DATA TABLE AT "REAL" AND "IMAG"

** THE RESULTANT TRANSFORM DATA IS 128 POINTS

** SYMMETRICALLY REFLECTED ABOUT THE CENTER OF

** THE 256 POINT TABLE.

**

** THE SUBROUTINE ASSUMES THAT THE INPUT DATA

** IS ALL REAL AND THEREFORE DOES NOT MANIPULATE

** THE IMAGINARY PORTION UNTIL AFTER THE FIRST

** PASS.

**

** ALL DATA AREAS MUST BE ON PAGE BOUNDARIES CXX00)

** SINCE THE ROUTINE MANIPULATES ONLY THE LSB'S.

**

** THE TWO'S COMPLEMENT MULTIPLICATION IS KEPT AS A

++ SEPARATE SUBROUTINE. IT MAY BE PERFORMED WITH

** A CONVENTIONAL SOFTWARE MULTIPLY SUBROUTINE

** OR WITH A HARDWARE MULTIPLIER FOR HIGHER SPEED.

**

** THE SUBROUTINE SCALES THE DATA WHENEVER

** IT ANTICIPATES OVERFLOW. THE SCALE FACTOR

** COUNT IS AVAILABLE IN "SCLFCT".

**

**

**

**

+* DATA AREAS **

**********************

INPUT EQU $0800

REALT EQU $0500

IMAGT EQU $0600

SINET EQU $0466

ORG $0026

**********************

** BASE PAGE PTRS ** **********************

RLPT1 RMB 2

INPUT DATA TABLE "REAL" DATA TABLE 111 MAG" DATA TABLE SINE LOOKUP TABLE

RMB RMB RMB RMB

RLPT2 IMPT1 IMPT2 SINPT CELNUM RMB CELCT RMB PAIRNM RMB CELDIS RMB DELTA RMB SCLFCT RMB COSfl RMB SI HA RMB TREAL TIMfiG MSBY LSBV MPA

RMB RMB RMB RMB RMB

"REAL" DATA POINTERS

"IMAG. " DATA POINTERS

SINE TABLE POINTER CELLS FOR THIS PASS CELL COUNTER FOR PASS PAIRS/CELL

CELL OFFSETCDISTANCE) ANGLE INCREMENT SCALE FACTOR CTR. TEMPORARY COSINE TEMPORARY SINE TEMP. REAL DATA TEMP. I MAG DATA MULTIPLY MSB MULTIPLY LSB SOFTWARE MPV ACCUM.

*****************************

is called "bit swapping" and may be performed either at the end of the fast Fourier transform or before it is begun. The pretransform swap is more convenient because less points need be swapped and because the vector rotation within each cell is simpler. In the posttransform version the vector angles would also have to be bit swapped.

Implementation

Now that we have looked at the concept, let us look at how it can be implemented. The algorithm has been written as a subroutine (see listing 1) to be called by a signal gathering and display program. It assumes that this program has stored some time dependent data in 2's complement form and that a 256 byte sample of this is to be transformed to the frequency domain.

The fast Fourier transform subroutine begins with an address lookup table for the data areas. This table makes the reassignment of these areas very simple. The INPUT data area may be anywhere in memory, but the SINE, REAL, and IMAG arrays must be at address page boundaries (ie: at hexadecimal XXOO), and REAL and IMAG must be in adjacent pages forming a continuous 512 byte block. These restrictions greatly simplify address calculation within the program. SINE is the address of a 256 byte sine and cosine lookup table which must be loaded in with the transform subroutine.

The first instruction of the subroutine clears the variable SCLFCT which keeps track of the number of times the data has to be scaled to prevent overflow. The IMAG array is then cleared and at MOVE the INPUT data is copied into REAL, where the transform will take place. The data is then prescrambled to put it in bit reverse order for the transform process. The bit reversed address is calculated by rotating the least significant bit of the address into the carry and rotating the reversed address out in the opposite direction. The new address is compared with the first address to prevent swapping the data back to the original order, then the two array elements are exchanged.

Once the swapping is complete, the data is ready to be transformed. The fast Fourier transform is performed in eight separate passes; before each pass begins, the data is tested by SCALE to prevent any overflow. For the first pass there are 128 cells formed by adjacent pairs of data. In this pass the vector angle steps in multiples of 180 degrees. This means that all the sine terms are 0 and the cosine terms are either +1 or -1. Also there is no data yet in the IMAG array. The general equations thus become greatly simplified and the pass is reduced to addition and subtraction among elements of the

110

February 1979 © BYTE Publications ]lie

32Kx8 BOARDS... STATIC, 4 MHz Guaranteed, DIFFERENT BUSSES, FULL FEATURES, and BEST OF ALL.

they're from (ompuKit

Cost-effective, low power, reliable memory. . . backed with a 1 year warranty. Available as unkits [sockets, bypass caps pre-soldered in place tor easy assembly), assembled/tested, or qualified under the Certified System Component (CSC) program. CSC boards are burned-in for 200 hours and immediately replaced if failure occurs within 1 year of invoice date.

Name

ECONORAM X M

Storage Design 32K X 8 static

Buss S-100

Guar. Speed

4 MHz

Unkit $599

Assm $649

CSC $789

ECONORAM IX m

32K X 8 static

DigGrp

4 MHz

$650

N/A

N/A

ECONORAM XI™

32K X 8 static

SBC

4 MHz

N/A

N/A

$1050

We have other Econorams, too...

ECONORAM II™

8K X 8 static

S-100

2 MHz

$139

$159

N/A

ECONORAM IV ™

16K X 8 static

S-100

4 MHz

$279

$314

$414

ECONORAM VI ™

12K X 8 static

H8

2 MHz

$200

$270

N/A

ECONORAM VH M

24K X 8 static

S-100

4 MHz

$445

$485

$605

SPECIAL MEMORY OFFER

1K of memory still isn't as cheap as a 741, but we're working on it. The popular 2102-L1 static 1K RAM (high speed, low power) is now available from us for only 99c. Sorry, price only good on orders of 10 or more ICs.

TRS-80 CONVERSION KIT $109 (3/S320)

Our kit includes DIP shunts, 250 ns chips for 4 MHz operation, and a 1 year guarantee. Upgrades 4K TRS-80 to 16K or populates Memory Expansion Module — our novice level instructions show you how. Also suitable for APPLE computers.

KEYBOARD SPECIAL: $99 (LTD QTY)

Microswitch keyboard, already encoded with upper and lower case ASCII. Silent switches (not reed type). Requires +5 and -12V @ 2 mA. With edge connectors — just plug in and go. Keyboards like this don't show up too often at this low a price, so act now if you need one.

FREE FLYER: This is only the tip of the iceberg. Send us your name and address, we'll send you a flyer (or send 41c in stamps for 1st class delivery).

TERMS: Orders under $15 add $1. Cal res add tax. VISA®/ Mastercharge® ($15 min) call (415) 562-0636, 24 hrs. Allow 5% shipping, excess refunded. COD OK with street address for UPS.

BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT, CA 94614

Circle 150 on inquiry card.

BYTE February 1979 111

Listing 7, continued:

0007 s

00074 00075 00876 00077 00078 00073

00080 00081

00082 80083 00084 00085 00086 00087 00088 00089

00090 00091

** START OF TRANSFORM **

ORG *0200

BRA START JUMP AROUND PARAMETERS

** ADDRESS LOOK-UP TABLE ** ** FOR DATA AREAS +*

INPD FDB INPUT SET UP DATA AREAS

REAL FDB REALT

IMAG FDB IMAGT

SINE FDB SINET ****4<iMt* ********************* **

020A 7F Q02F START CLR SCLFCT NOTHING SCALED YET **

■t4 n> "T" *T* ■!■ A'' :T- :T- -T- -T* "T -T" 'HT" "T^ 'T' ■T- *T' -+■ 'T» 'T' -T* t* 'T* 'T' T- "1^ ■!* T" T^

** INPUT DATA SET-UP **

****#+***********************

0200 0200

0202 0204

0206 0208

20 08

0800 0500 0600 0400

00093 00094 00095 00096 60097 00098 00099

00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116 00117 0GU18 00119 00120 00121

00122 00123 00124 00125 00126 06127 00128 00129

06130 00131

00132 00133 00134 00135 00136 00137 00138 00139

00140 00141

00142 00143

020D 0210 0211 0213 0214 0215 0217 021A 021C 021F 0221 0223 0225 0226 0228 022A 022C 022F

0231 0234 0236 0238 023A 023C 023D 0240 0241 0243 0245 0247 0249 024B 024D 024F 0251 0253 0255 0257 025A

FE 0206 5F

6F 00 08 5A

26 Ffl FE 0202 DF 26 FE 0204 DF 22 DE 20 A6 00 08

DF 20 DE 22 A7 00 7C 0023 26 F0

CLEAR

CLR1

MOVE

MOV1

LDX

I MAG

CLEAR OUT I MAG.

CLR B

SET UP COUNTER

CLR

0, X

CLEAR MEMORV

I NX

DEC B

BNE

CLR1

LDX

INPD

SET UP POINTERS

STX

RLPT1

LDX

REAL

STX

RLPT2

LDX

RLPT1

MOVE INPUT DATA

LDA A

0, X

TO "REAL" ARRAY

I NX

STX

RLPT1

LDX

RLPT2

STA A

0, X

INC

RLPT2+1

BNE

MOV1

TEST PAGE OVERFl

*##*l|ei|!!|C!|!!|C****************!|t***

** PRE-TRANSFORM BIT SWAP **

*****************************

FE 0204 DF 20 DF 22 C6 OS 96 21 46

79 0023 5A

26 F9 96 23 91 21

25 0E DE 20 A6 00 DE 22 E6 00 A7 00 DE 20 E7 00 7C 00;

26 DC

LDX STX STX BITREV LDA B LDA A

BRV1

SWAP

1 SWP1

ROR A ROL DEC B BNE LDA A CMP A BCS LDX LDA A LDX LDA B STA A LDX STA B INC BNE

REAL

RLPT1

RLPT2

#8

RLPT1+1

RLPT2+1

SET UP DATA POINTERS

SET BIT COUNTER GET POINTER 1 REVERSE BIT ORDER FOR SECOND POINTER COUNT BITS

BRV1 RLFT2+1 RLPT1+1 SUP1

RLPT1 0.X RLPT2 0, X 0, X RLPT1 0, X

RLPT1+1 BITREV

*************************************

** FFT FIRST PASS ** *************************************

+* SINCE IN PASS 1 ALL ANGLES **

** ARE MULTIPLES OF 180 DEG. **

** THERE ARE NO PRODUCT TERMS. ++

** AND NO IMAGINARY TERMS YET **

** HENCE A FAST VERSION OF PASS 1 **

*************************************

025C BD 0333 PASS! JSR SCALE SCALE IF ANY OVER-RANGE DATA

GET REVERSED BYTE

COMPARE WITH #1

BRANCH IF ALREADY SWAPPED

GET POINTER 1

GET VAL 1

GET POINTER 2

GET VAL 2

REPLACE WITH VAL 1

GET FIRST POINTER

COMPLETE SWAP

DO NEXT POINT PAIR

UNLESS ALL ARE DONE

REAL array. Considerable time is saved by making this pass separate and bypassing the unneeded table lookup and multiply routines.

Once this pass is completed, the arithmetic gets much more complex. The remaining seven passes are performed by a general fast Fourier transform algorithm. It begins at FPASS by setting up 64 cells of four elements with the pairs separated by two units. The vector angle is set to increment by 90 degrees by setting DELTA to 64. At NPASS the pointers are set up for the first cell and the pass then begins with a sine and cosine table lookup. The complex data pair is then processed using the standard fast Fourier transform equations:

TR= RNCOS(w) + IN SIN(w) Tl = INCOS(w)- RNSIN(w)

RM'= RM +TR RN'= RM IM' = IM +TI IN'= IM

TR

After each pair has been transformed the angle is incremented by DELTA and the next pair processed. When all pairs in a cell have been transformed the routine moves down to the next cell and returns to NCELL to continue the process. When the last cell has been done, CELCT becomes 0 and the pass is complete.

At the end of each pass the number of cells and the angle increment are divided in half and the pair separation and number of pairs per cell are doubled. The whole process is then repeated by branching to NPASS until the end of the last pass when the number of cells becomes 0. The routine then branches to DONE and returns to the calling program.

The SCALE subroutine is used to anticipate and prevent overflow of the 8 bit data. It is called before each pass and begins by testing the value of each data point. If any point exceeds the range of -64 to +64 the subroutine branches to SCL4 where the entire array is scaled down by a factor of 2. The variable SCLFCT is incremented to indicate the total number of times the data has been scaled.

The multiply routine has been placed at the end of the program to make substitution of other versions easy. The original program was written for a hardware multiplier similar to the device described by Bryant and Swasdee in April 1978 BYTE, page 28. To eliminate the need for such exotic hardware, a software multiply routine has been substituted with some increase in transform time. After the multiplication is completed

112

February 1979 © BYTE Publications Inc.

EVERYTHING YOU NEED SMALL COMPUTER SYSTEMS

COMPARE PRICE, QUALITY, DELIVERY, SERVICE AND YOU'LL SEE WHY YOU DON'T HAVE TO LOOK ANYPLACE ELSE!

TERMINALS

LEAR-SIEGLERADM 3aB ^^$854.95 ADM 31 T^^^r^.1450.00 ADM 42 1795.00

HAZELTINE

1500

1400

Mod 1 Edit

1149.00 .699.00 1650.00

ADDS Regent

100

1095.00

PRINTERS

TEXAS INSTRUMENT

810 1799.00

820 2195.00

745 1795.00

TELETYPE

OKI DATA

2449.00 1199.00

CENTRONICS

779 700 761 703

1294.00 1520.00 2025.00 2805.00

We do complete customizing of Hardware and Software to meet your specific needs

COMPUTERS

IMSAI VDP 80..^ PP^$6995.00

VDP 40 . . . yT7. 3995.00

VDP42 4195.00

VDP 44 4495.00

PCS-80/15 929.00

PCS-80/10 (Kit) 599.00

N0RTHSTAR

Horizon II (Kit). .

1699.00

DIGITAL SYSTEMS

DSC-2

Double Density Dual Drive Disk .

.4995.00 2745.00

CR0MEMC0

System 3

5990.00

MORE SPECIALS

Decwriter II 1395.00

Qume Sprint 5/45 R0 2795.00

Persci 277 Dble Density 1395.00

SOFTWARE

Accounts Receivable. . ,^QQ 250.00

Inventory ^8Q 250.00

Order Entry f&8Q 500.00

Word Processing 350 195.00

Payroll 2fre«. 1000.00

Sort & Merge 250.00

SYNCHRO-SOUND

The Computer People

193-25 Jamaica Avenue, Jamaica, New \brk 11423

212/468-7067 TWX 710-582-5886

ENTERPRISES, INC.

Hours 9-4 Daily and Saturday

Visit our new showroom Working units on display

BankAmericard Master Charge

Circle 355 on inquiry card.

BYTE February 1979 113

Listing 7, continued:

00144 025F FE 0204

LDX

REAL

SET UP POINTERS

00145 0262 DF 20

STX

RLPT1

00146 0264 DE 20

Pfll LDX

RLPT1

GET POINTER

00147 0266 fi6 00

LDfl

A

0, X

GET RM

00148 0268 E6 01

LDfl

B

1, X

AND RN

00149 026fl 26

PSH

A

SAVE RM

00150 026B IB

HBR

RM'=RM+RN

00151 026C R7 00

STfl

A

0.. X

STORE NEW RM'

00152 026E 32

PUL

A

GET OLD RM

00152 026F 10

SBFl

RN'=RM-RN

00154 0270 07 01

STFI

A

1, X

STORE RN'

00155 0272 7C 0021

INC

RLPT1+1

MOVE TO NEXT PAIR

00156 0275 7C 0021

INC

RLPT1+1

00157 8278 26 Efi

BNE

Pfll

KEEP GOING TILL DONE

00158

********************************

00159

** COMPUTATION OF FFT

**

00160

** PflS

i

2 THRU N

**

00161

********************************

00162 027(i 86 40

FPflSS LDfl

A

#64

SET UP PARAMETERS

00163 027C 97 2fl

STfl

fl

CELNUM

FOR CELL COUNT

00164 027E 97 2E

STfl

fl

DELTA

AND ANGLE

00165 0280 86 82

LDfl

fl

#2

AND FOR

00166 0282 97 2C

STfl

fl

PfllRNM

PAIRS/CELL

00167 0284 97 2D

STR

A

CELDIS

DISTANCE BETWEEN PAIRS

00168 0286 BD 0333

NPflSS JSR

SCALE

KEEP DATA IN RANGE

00169 0289 96 2fl

LDfl

A

CELNUM

GET NUMBER OF CELLS

00170 028B 97 2B

STfl

fl

CELCT

PUT IN COUNTER

00171 028D FE 0204

LDX

REAL

SET UP POINTERS

00172 0290 DF 20

STX

RLPT1

00173 0292 DF 22

STX

RLPT2

00174 0294 FE 0206

LDX

I MAG

00175 0297 DF 24

STX

IMPT1

00176 0299 DF 26

STX

IMPT2

00177 029B FE 0208

HCELL LDX

SINE

00178 029E DF 28

STX

SINPT

00179 02H0 D6 2C

LDR

B

PfllRNM

GET PAIRS/CELL CTR.

00180 02R2 96 21

NCI LDfl

A

RLPT1+1

GET POINTER 1 LSBV

00181 0204 9B 2D

ADD

fl

CELDIS

ADD PAIR OFFSET

00182 02R6 97 23

STfl

fl

RLPT2+1

SET BOTH POINTER 2'S

00183 02A8 97 27

STfl

A

IMPT2+1

00184 02Rfl 37

PSH

B

SAVE PAIR CTR

00185 02RB DE 28

LDX

SINPT

SET UP SINE LOOKUP

00186 02FID fl6 80

LDfl

A

0,X

GET COSINE OF ANGLE

00187 82fiF 97 30

STA

A

COSfl

SAVE ON BASE PAGE

00188 02B1 R6 40

LDA

A

64.X

GET SINE

00189 02B3 97 31

STfl

fl

SINfl

AND SAVE IT

00190 02B5 DE 22

LDX

RLPT2

GET "REAL" POINTER 2

00191 02B7 A6 00

LDfl

fl

0, X

GET RN

00192 02B9 36

PSH

A

SAVE IT

00193 02BR D6 30

LDfl

B

COSA

GET COSINE

00194 02BC BD 036fl

JSR

MPV

MAKE RN*COS<fl)

00195 02BF 97 22

STfl

A

TREAL

SAVE IT

00196 02C1 22

PUL

fl

RESTORE RN

00197 02C2 D6 31

LDfl

B

SINfl

GET SINE

00198 02C4 BD 036fl

JSR

MPV

RN*SIN(A>

00199 02C7 97 32

STfl

A

TIMRG

00200 02C9 DE 26

LDX

IMPT2

GET I MAG. POINTER 2

00201 02CB fl6 00

LDfl

A

0, X

GET IN

00202 02CD 36

PSH

A

SAVE IT

00202 02CE D6 21

LDfl

B

SINfl

GET SINE

00204 02D0 BD 026FI

JSR

MPV

IN*SIN<fl)

00205 02D2 9B 22

ADD

A

TREAL

TR=RN*COS+IN*SIN

00206 02D5 97 22

STfl

A

TREAL

00207 02D7 22

PUL

fl

RESTORE IN

00208 02D8 D6 30

LDfl

B

COSfl

GET COSINE

00209 02Dfl BD 036fl

JSR

MPV

IN*COS(A>

00210 02DD 90 22

SUB

A

TIMflG

TI=IN*COS-RN*SIN

00211 02DF 97 23

STR

R

TIMflG

00212 02E1 DE 20

LDX

RLPT1

00212 02E2 R6 00

LDfl

fl

0. X

GET RM

00214 02E5 16

TRB

SAVE IT

the data must be scaled up by a factor of 2. This is because the sine and cosine terms represent fractional binary values. The least significant bit is shifted in from the lower byte to preserve accuracy.

Analyzing the Results

After working with all this mathematics and software, what do you end up with? We started with a 256 point time domain sample in REAL. The fast Fourier transform converts this to a frequency domain sample corresponding to the spectrum of the input. The first element of each array represents the DC component of the input. The next element represents the sine wave with period equal to the duration of the input sample. Each remaining element depicts a multiple of this frequency until the middle of the array is reached, representing 128 cycles per period. The remainder of the array is symmetrical to the first 128 points.

Each element in the REAL and IMAG arrays represents information about one frequency component of the input sample. But why do we end up with two arrays, and what do the cosine terms of REAL and the sine terms of IMAG really mean to us? Usually this information is described in terms of amplitude and phase of the component, and often the phase information is of little interest. The cosine and sine terms represent the X and Y components of a vector with length and angle equal to the amplitude and phase terms that we are after. All we have to do is find the length of the vector from the square root of the sum of squares of the cosine and sine terms.

The only problem is that this calculation requires almost as much time as the transform, due to the square root. If we bypass the root and display the sum of squares (the power spectrum) we miss most of the detail of the lesser components. I have found that the highly unmathematical solution of displaying the sum of the absolute values is fairly satisfactory, although it introduces some error in the relative amplitude of peaks. This value is then sent to a digital to analog converter for display on an oscilloscope.

Putting the Fast Fourier Transform to Work

This program has a number of interesting applications for speech recognition, image processing, and the synthesis of musical instruments. A recent issue of The Computer Music Journal even describes a program for transcribing recordings back into sheet music (see bibliography, page 118).

114 February 1979 © BYTE Publications Inc

MEASUREMENT

systems & controls

PROUDLY ANNOUNCES:

64K BYTES OF RAM

FOR ONLY:

$695

NOT A KIT

FULLY ASSEMBLED

COMPLETELY TESTED

ON BOARD CRYSTAL &

TIMING OSCILLATORS

COMPATIBLE WITH PROPOSED IEEE S-IOO TIMING STANDARD

SPECIFICATIONS &< FEATURES^ 64k byte dynamic RAM with on board

transparent refresh. S-100 interface compatible with crystal

controlled timing INDEPENDENT of

bus or processor timinsNo wait states or cycle stealins with

8080 or Z-80 to4Mhz. Up to 5

Mhz with wait states. 200 ns access time and 375ns cycle

time memory devices. DMA compatible to 1 Mhz rate. Inputs buffered with 1 LS TTL load. Outputs are all tri-state. Memory selectable and deselectable

in 4k increments to 64k. Phantom-memory disable jumper

selectable on pin 67. Low power on board voltage regulators.

• Reliability- all boards are fully tested: a. bus address & control line maximum timing skew tests, "soft" error tests, word pattern sensitivity tests.

m as

b. c.

8KB

d. all boards burned-in.

• Full documentation

• Industrial quality design &. compo

nents. Glass epoxy boards. Silk screened legends. Gold plated edge connector contacts.

• Delivery stock to 30days.

Guaranteed performance for one year on parts &. labor. Full refund if returned undamaged in 14 days.

867 North Main Street • Orange. California 92667 • (714)633-4460

I would like to order the following fully assembled and tested RAM:

Model 6400, 64k RAM $695.00

Model 4800, 48k RAM $559.00

Model 3200, 32k RAM $429.00

Model 1600, 16k RAM $295.00

Enclosed is check or money order for:

(Calif, residents please add 6% sales tax. Please allow 14 days for checks to clear the bank. Thank you.)

Please bill my VISA or MASTERCHARGE account.

Name

Address

City State

Zip

Phone

Card number:

.Expiration date:

Four(4) digits above name on MASTERCHARGE card:

MEASUREMENT

systems &. controls

867 North Main Street • Orange California 92668

Circle 216 on inquiry card.

BYTE February 1979 115

Circle 2 on inquiry card.

MAXIMIZE

YOUR MICRO!

8080/Z80 System Software

Purchasing a microcomputer system, even at today's low prices, is a significant investment. And to utilize that investment to its full extent requires a solid base in system software. Don't just accept what comes with your hardware... there's a better alternative!

OPUS/ONE: Business-oriented, block-structured high-level language. Includes such capabilities as extended arithmetic precision (up to 55 digits), multi-character variable names, and easy to use string operations. Includes a built-in DOS with random access files. OPUS/ONE $99.00

OPUS/TWO: Extends the capabilities of OPUS/ONE with such features as error trapping, machine code and OPUS subroutine calls, overlays, and more disc file commands. OPUS/TWO $195.00

FORTE: An OPUS run-only system monitor, perfect for end-user installations. Runs all OPUS Language programs. FORTE $60.00

S.O.S.: (Single-user Operating System) A fullfunction DOS which includes OPUS/THREE, a text editor (TEXTED), an assembler (ASSEMBL), and a package of useful system utility programs. S.O.S $385.00

TEMPOS: The ultimate microcomputer system software package. A multi-user/multitasking DOS which will handle up to 7 interrupt-driven terminals simultaneously, in a true time-sharing environment. Includes OPUS/THREE, TEXTED, ASSEMBL, and many utility programs. TEMPOS $785.00

All packages are upward-compatible. That is, programs and data developed under OPUS/ONE may be run at any higher level, up to and including TEMPOS.

Standard device drivers are available for many common peripherals; all packages include System Generation capability, allowing the user to inferacfiue/y add drivers for any I/O device, including disc drives.

Like to know more? Circle the inquiry number below or contact your dealer for your free copy of our system software brochure! For complete information, order your user's manual now, and we'll apply the price toward purchase of the software. Please add$1.50 per manual (set) for shipping/handling within the U.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

116 February 1979© BYTE Publication! Inc

Listing 1, continued:

60215 S2E6 9B

32

fiDD ft

TREftL

RM'=RM+TR

00216 02E8 A7

00

STA ft

0, X

00217 02EFI DE

22

LDX

RLPT2

00218 02EC DO

32

SUB B

TREfiL

RN'=RM-TR

00219 02EE E7

00

STfi B

0, X

08220 02F0 DE

24

LDX

IMPT1

00221 02F2 A6

00

LDft Fl

0, X

GET IM

00222 02F4 16

TftB

SAVE IT

00223 82F5 9B

33

fiDD Fl

TIMAG

IM'" = IM+TI

00224 02F7 A7

68

STFI Fl

0, X

00225 02F9 DE

26

LDX

IMPT2

00226 02FB DO

7?

SUB B

TIMfiG

IN'=IM-TI

00227 02FD E7

08

STfi B

0,X

00228 02FF 96

29

LDfi fi

SINPT+1

INCREMENT ANGLE

80229 0i01 9B

2E

FIDD fi

DELTA

00236 6303 97

29

STfi fi

SINPT+1

00231 0305 7C

0021

INC

RLPT1+1

INCREMENT POINTERS

00232 0368 7C

0025

INC

IMPT1+1

00233 030B 33

PUL B

GET PAIR COUNTER

00234 030C 5fi

DEC B

DECREMENT

00235 030D 26

93

BNE

NCI

DO NEXT PAIR

60236 030F 96

21

LDfi fi

RLPT1+1

GET POINTERS

00237 6311 9B

2D

fiDD fi

CELDIS

ADD CELL OFFSET

00238 6313 97

21

STFI fi

RLPT1+1

00239 0315 97

25

STfi fi

IMPT1+1

00240 0317 7fl

002B

DEC

CELCT

DECR. CELL COUNTER

00241 031fl 27

03

BEG

NP1

NEXT PASS?

00242 031C 7E

029B

JMP

NCELL

NO, DO NEXT CELL

00243

#*

00244

** CHANGE PARAMETERS FOR NEXT PRSS **

00245

+•+

00246 031F 74

662fi

NP1

LSR

CELNUM

HALF AS MfiNV CELLS

00247 0322 27

8C

BEQ

DONE

NO MORE CELLS

00248 0324 78

662C

FlSL

PftlRNM

TWICE AS MANV PAIRS

00249 0327 78

002D

fiSL

CELDIS

TWICE AS FAR APART

00250 032A 74

002E

LSR

DELTR

HALF THE ANGLE

00251 632D 7E

6286

JMP

NPFISS

DO NEXT PASS

00252

********************************

00253

+* END OF FFT ROUTINE

**

00254

********************************

06255

**

00256 0330 39

DONE

RTS

EXIT FFT SUBROUTINE

00257 0331 0002

RMB

it

ROOM FOR JUMP EXIT

00258

*+

00259

*****************************

00260

*+ OVER-RfiNGE DfiTfi SCALE +*

80261

*****************************

00262 0333 FE

0204

SCALE

LDX

RERL

SET UP DATA POINTER

00263 0336 5F

CLR B

SET UP PAIR CTR

00264 0337 37

SCL1

PSH B

SAVE PRIR CTR.

00265 0338 C6

02

LDfi 8

#2

SET UP PAIR

00266 033R fib

00

SCL2

LDfi fi

0, X

GET DATA

69267 033C 08

I NX

BUMP POINTER

00268 033D 81

C0

CMP ft

#$C0

TEST LOWER LIMIT

60269 033F 22

04

BHI

SCL3

SKIP TO NEXT POINT

00270 0341 81

46

CMP ft

#$40

TEST UPPER LIMIT

80271 0343 24

03

BCC

SCL4

SCALE IF OUT OF RANGE

00272 6345 5fi

SCL3

DEC B

TEST NEXT POINT

00273 0346 26

F2

BNE

SCL2

00274 0348 33

PUL B

06275 0349 5fl

DEC B

00276 634fi 26

EB

BNE

SCL1

06277 034C 39

RTS

DONE TESTING

66278 634D 33

SCL4

PUL B

RESTORE STACK

00279 034E 7C

062F

INC

SCLFCT

BUMP SCALE FACTOR COUNT

00280 0351 FE

6264

LDX

REftL

SET UP TABLE PTR.

00281 0354 5F

CLR B

SET UP PAIR CTR

00282 0355 37

SCL5

PSH B

SAVE IT

00233 0356 C6

02

LDfi B

#2

SET UP PAIR

00284 0358 fi6

00

SCL6

LDfi ft

0, X

GET DATA

00285 635FI 8B

86

FIDD fi

#$88

MAKE IT ABSOLUTE

Listing J, continued:

To get meaningful information from the transform, the input data must be sampled judiciously. While this program in theory is capable of analyzing 128 harmonics of a given sample, this is only true when the input represents exactly one complete cycle ol the waveform being analyzed. Most data just doesn't come packaged that way.

To accurately measure the pitch of a sound you must sample many cycles. To analyze harmonics you want to sample few. The best result for real data will always be a compromise between range (bandwidth) and resolution. Both can be increased only by analyzing more points, which takes more time.

After experimenting with one sample at a time you will probably want to try continuous analysis. The input data pointer at hexadecimal address 0202 can be moved through an input buffer by the program that calls the transform. At roughly three seconds per transform, the data cannot suitably be analyzed in real time. A sample of a few seconds of data can be continuously analyzed and the changes slowly displayed. This is probably most easily accomplished by transferring the "sum of absolute value" data to a display buffer which is then scanned by an interrupt driven display program.

Bigger, Better, and Faster

Like most software, this program exists to be rewritten. No attempt was made to optimize execution speed. Preliminary experiments with an MMI-67558 hardware multiplier took slightly under one second. This relatively minor improvement was probably due to the time wasted in moving the data in and out of the multiplier. Perhaps it can be streamlined to the extent that a continuous display can be created. I plan to try a version for the 6502 microprocessor with hope of adding still more speed.

The algorithm is simple enough so that conversion should be easy. Enterprising 8080 and Z-80 enthusiasts shouldn't have too much trouble adapting the principles to their computers, either. Conversion to double precision or 512 to 1024 points should also be possible, although the present addressing scheme would have to be abandoned.

I hope this program will provide you with a tool that will be a lot of fun to play with. Please write and tell me what uses you find for it and any improvements you would like to suggest.

Continued on page 118

06286 035C

44

LSR

fl

DIVIDE IT BV 2

0028? 035D

80 40

SUB

R

tt$46

MAKE IT 2'S COMP.

0028S 635F

R7 00

STR

fl

0,X

00285 0361

68

I NX

BUMP POINTER

00290 0362

5fl

DEC

B

NEXT POINT

00291 0363

26 F3

BNE

SCL6

00292 0365

33

PUL

B

80293 0366

5R

DEC

B

NEXT PAIR

00294 0367

26 EC

BNE

SCL5

00295 0369

39

RTS

RETURN

00296

# + *+:+:+**+.*#*++•+#*#+*■+****+*#*+*+

0029?

++ 2'

S COMP.

MULTIPLY

bUBR. **

00298

+:4c:t:.f5*(+++jf:*jf()f:jt::+:;4(+54:-++^<^+)t;:t::t:^;)4<^^:^^<-4(

00299 036fl

97 37

MPV

STR

A

MPH+1

STORE MULTIPLIER

00300 036C

D7 39

STR

B

MPR+3

AND MULTIPLICAND

00301 036E

4F

CLR

R

00302 036F

9? 36

STR

R

MPR

CLEAR MSB'S

00303 0371

97 38

STR

R

MPR+2

00304 0373

97 34

STR

fl

MSBV

CLEAR PRODUCT

08305 0375

97 35

STR

fl

LSBV

00306 0377

5D

TST

B

60307 0378

2C 63

BGE

MPV1

NEGATIVE MULTIPLICAND '

00308 037FI

73 0038

COM

MPfl+2

EXTEND NEG TO MSB

00309 637D

?D 6037

MPV1

TST

MPfl+1

00316 0380

2C 03

BGE

MPV2

NEG MULTIPLIER ?

06311 6382

73 0036

COM

MPR

EXTEND NEG TO MSB

60312 0385

C6 0F

MPV2

LDR

B

«15

SET UP COUNTER

60313 633?

77 0036

MPV3

RSR

MPR

SHIFT X RIGHT

60314 038fl

76 8837

R0R

MPfi+1

00315 033D

24 0C

BCC

MPV4

BIT WAS ZERO

00316 038F

96 39

LDR

fl

MPR+3

RDD V TO PRODUCT

00317 0391

9B 35

RDD

fl

LSBV

00318 0393

97 35

STR

fl

LSBV

00319 0395

96 38

LDR

fl

MPfl+2

MSB'S

00326 0397

99 34

RDC

fl

MSBV

00321 0399

97 34

STR

fl

MSBV

66322 039E

73 6639

MPV4

RSL

MPR+3

SHIFT V LEFT

66323 639E

79 8038

R0L

MPfl+2

66324 83R1

5fl

DEC

B

60325 63R2

26 E3

BNE

MPV3

06326

**

00327

** SCRLE n

UP +*

00328

++

06329 03R4

96 34

LDR

fl

MSBV

00338 63R6

79 6635

R0L

LSBV

86331 83R9

49

ROL

fl

06332

**

66333

** RETURN WITH PRODUCT

IN R

60334

**

00335 03flfl

39

RTS

00336

*****+++***++++++**+*•+*+++++**+*

06337

**

END

OF

FFT PROGRAM +*

68338

■T- 'T- "t- ■+■ t* -T* -T- n"' mK "T" "T^ 'I* T' t^ '"{* ^T" 'T' ^T" "l"* "T" -T' t- -t^ 'T- ■'t'- -1- T' ttttt

66339

END

INPUT

6800

RERLT

0S

;e@

IMRGT

8668 SINET

8486

RLPT1

0020

RLPT2

0022

IMPT1

6624 IMPT2

8026

SINPT

8028

CELNUM 802R

CELCT

882B PRIRNM

002C

CELDIS

802D

DELTR

082E

SCLFCT 682F COSfl

0836

SINR

0031

TRERL

0032

TIMflG

6033 MSBV

0034

LSBV

6035

I1PR

6636

INPD

0202 REAL

0204

I MRU

8206

SINE

8288

START

020A CLEAR

020D

CLR1

0211

MOVE

6217

M0V1

0221 BITREV

0238

BRV1

623C

SURP

8249

SHP1

6257 PASS1

025C

PR1

8264

FPRSS

827R

NPRSS

8286 NCELL

029B

NCI

62R2

NP1

831F

DONE

8336 SCALE

0333

SCL1

0337

SCL2

8]

an

SCL3

8345 SCL4

034D

SCL5

8355

SCL6

8353

MPV

836R MPV1

637D

MPV2

0385

MPV3

0:

>>8?

MPV4

839B

T0TRL ERRORS 00600

February 1979©BYTE Publications Inc 117

VECTOR PACKAGING MATERIALS SAVE TIME & MONEY

S100 CARDS-100 PLUG CONTACTS-Convenient universal tinned pads and bus lines. For interface, memory expansion, breadboarding. Mount almost anything anywhere on card.

R681-2

iiiiHHi

rn'ri'iTri'irrrm

S100 CONNECTORS for WIRE WRAPPING or SOLDERING

BEAUTIFUL Model VP2

NEW VECTOR-PAK

CASES for micro-computer

circuitry, assembled. Constructed

of aluminum, finished in vinyl. Slide out covers for easy

access. Includes card guides, heavy chassis plate, perforated

bottom cover for cooler operation.

Card guides perpendicular to front panel, Model VP1, $163.00.

Card guides parallel to front panel, Model VP2, $159.00.

Model 8803

S100 MOTHERBOARD, $29.50. 11 positions ready for connectors. Glass epoxy, etched circuitry for passive or active termination, 12 tantalum capacitors and instructions.

PLUS revolutionary Slit-N-Wrap wiring tools, Micro-Vectorbord,® printed circuit kits, I.C. sockets, extenders. Prices subject to change without notice. Send for new catalog.

VECTOR ELECTRONIC COMPANY, Inc.

12460 Gladstone Avenue, Sylmar, CA 91342

phone (213) 365-9661, twx 910-496-1539 Our toil-free number which can be used bv customers outside of California Is 800-423-5659 »«0777

Continued from page 117

BIBLIOGRAPHY

1. Brigham, E Oran, The Fast Fourier Transform, Prentice-Hall, Englewood Cliffs NJ, 1974.

2. Bryant, J, and Swasdee, M, "How to Multiply in a Wet Climate," BYTE, volume 3, number 4, April 1978, page 28.

3. Cooper, James W, The Minicomputer in the Laboratory, John Wiley and Sons Inc, New York, 1977.

4. Moorer, J, "On the Transcription of Musical Sound by Computer," Computer Music Journal, volume 1, number 4, November 1977, page 32.

5. Stearns, Samuel D, Digital Signal Analysis, Hayden Book Co Inc, Rochelle Park NJ, 1975.

Listing 2: The object code listing in hexadecimal format of the assembly language program given in listing I. This listing can be used to manually enter the program or as a confirmation copy for the PAPERBYTEtm bar code representation given in figure 2. The format used for this listing is a 2 byte address field, followed by up to 16 bytes of data, with a I byte check digit at the end of each line. Note that the data in hexadecimal locations 0400 to 04FF constitute the sine and cosine lookup table which must be loaded with the transform subroutine.

0200

20

08

08

00

05

00

06

00

04

00

7F

00

2F

FE

02

06

F3

02 10

5F

6F

00

08

5A

26

FA

FE

02

02

DF

20

FE

02

04

DF

34

0220

22

DE

20

A6

00

08

DF

20

DE

22

A7

00

7C

00

23

26

39

02 30

F0

FE

02

04

DF

20

DF

22

C6

08

96

21

46

79

00

2 3

5B

0240

5A

26

F9

96

23

91

21

25

0E

DE

20

A6

00

DE

22

E6

Al

02 50

00

A7

00

DE

20

E7

00

7C

00

21

26

DC

BD

03

33

FE

1C

0260

02

04

DF

20

DE

20

A6

00

E6

01

36

IB

A7

00

32

10

CA

0270

A7

01

7C

00

21

7C

00

21

26

EA

86

40

97

2A

97

2E

3E

0280

86

02

97

2C

97

2D

BD

03

33

96

2A

97

2B

FE

02

04

88

0290

DF

20

DF

22

FE

02

06

DF

24

DF

26

FE

02

08

DF

28

ID

02A0

D6

2C

96

21

9B

2D

97

23

97

27

37

DE

28

A6

00

97

73

02B0

30

A6

40

97

31

DE

22

A6

00

36

D6

30

BD

03

6A

97

81

02C0

32

32

D6

31

BD

03

6A

97

33

DE

26

A6

00

36

D6

3 1

46

02D0

BD

03

6A

9B

32

97

32

32

D6

30

BD

03

6A

90

33

97

7C

02E0

33

DE

20

A6

00

16

9B

32

A7

00

DE

22

DO

32

E7

00

4A

0 2F0

DE

24

A6

00

16

9B

33

A7

00

DE

26

DO

33

E7

00

96

B7

0300

29

9B

2E

97

29

7C

00

21

7C

00

25

33

5A

26

93

96

CC

03 10

21

9B

2D

97

21

97

25

7A

00

2B

27

03

7E

02

9B

74

BB

0320

00

2A

27

OC

78

00

2C

78

00

2D

74

00

2E

7E

02

86

4E

03 30

39

00

00

FE

02

04

5F

37

C6

02

A6

00

08

81

CO

2 2

AC

0340

04

81

40

24

08

5A

26

F2

33

5A

26

EB

39

33

7C

00

E9

0 3 5 0

2F

FE

02

04

5F

37

C6

02

A6

00

8B

80

44

80

40

A7

ED

0360

00

08

5A

26

F3

33

5A

26

EC

39

97

37

D7

39

4F

97

17

0370

36

97

38

97

34

97

35

5D

2C

03

73

00

38

7D

00

37

87

0380

2C

03

73

00

36

C6

OF

77

00

36

76

00

37

24

OC

9 6

CD

0390

39

9B

35

97

35

96

38

99

34

97

34

78

00

39

79

00

6 5

03A0

38

5A

26

E3

96

34

79

00

35

49

39

9 5

0400

7F

7F

7F

7F

7F

7F

7E

7E

7D

7D

7C

7B

7A

79

78

77

C9

04 10

76

75

73

72

71

6F

6D

6C

6A

68

66

65

63

61

5E

5C

A4

0420

5A

58

56

53

51

4E

4C

49

47

44

41

3F

3C

39

36

3 3

78

0410

31

2E

2B

28

25

22

IF

1C

19

16

12

OF

OC

09

06

03

A 2

0440

00

FD

FA

F7

F4

Fl

EE

EA

E7

E4

El

DE

DB

D8

D5

D2

8F

0450

CF

CD

CA

C7

C4

CI

BF

BC

B9

B7

B4

B2

AF

AD

AA

A8

Bl

0460

A6

A4

A2

9F

9D

9B

9A

98

96

94

93

91

8F

8E

8D

8B

78

0470

8A

89

88

87

86

85

84

83

83

82

82

81

81

81

81

8 1

40

0480

81

81

81

81

81

81

82

82

83

83

84

85

86

87

88

89

3 7

0490

8A

8B

8D

8E

8F

91

93

94

96

98

9A

9B

9D

9F

A2

A4

5C

04A0

A6

A8

AA

AD

AF

B2

B4

B7

B9

BC

BF

CI

C4

C7

CA

CD

88

04B0

CF

D2

D5

D8

DB

DE

El

E4

E7

EA

EE

Fl

F4

F7

FA

FD

5E

04C0

00

03

06

09

0C

OF

12

16

19

1C

IF

22

25

28

2B

2E

7 1

04D0

31

33

36

39

3C

3F

41

44

47

49

4C

4E

51

53

56

58

4F

04E0

5A

5C

5E

61

63

65

66

68

6A

6C

6D

6F

71

72

73

75

88

04F0

76

77

78

79

7A

7B

7C

7D

7D

7E

7E

7F

7F

7F

7F

7F

CO

118 February 1979©byte Publications inc Circle 394 on inquiry card.

0 0 0 0 0 0 0 0 0 0 0 0 0 00000000000000000000000000 0

00000000 0 01 I 1 I I I ! I I 122222222223333333333

01 234 5678901 23456789 01 234567890 I 23456789

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22222222222 3 3 3 3 3 3 .54 4 44 4444444 4 013 4679AGDF02356890124578ABDEF 0A2B3C4B3B3B3C4C4C06E6C3C4A2AF

Figure 2: PAPERBYTEtm bar code version of listing 2. For details on how to read bar codes, see Bar Code Loader, a PAPERBYTEtm book by Ken Budnick.

0 0000000000 00000000000000000000000000000 0 0 0 0 0 0 0 0 0 0 1 I I I I I I I I 12 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 012 3 4567890123456789012345678 9 01234 56789

February 1979© BYTE Publications Inc 119

Approaching Game Program Design

H L Stuck POB 2207 Chapel Hill NC 27514

One of the common applications of a personal computer system is developing and playing game programs. There are various ways the computer can be used in game playing. First, it can be used in the analysis of games such as poker and blackjack. The analysis has generally been done in an effort to get a deeper understanding of tactics and strategy. Another use is having the computer assist in the play of a game. Sports gives examples of this. The computer can analyze play patterns to provide the coach with information. In assisting, the computer can remember previous plays and provide advice on what moves should be made based on past experiences. Table 1 summarizes some of the ways computers can enter the field of gamesmanship.

The common use of the personal computer in games is as a game master. The program serves as a bookkeeper, and a rule user. It enforces the rules, and, hopefully, explains them. A further use of a game program is where the program is a participant.

Most game programs act as game master and quite a few provide a game player function. Some games provide a form of advisor, but generally the advisor function is in the form of unrequested information warning the player when certain conditions have occurred.

Design

It may be obvious that the program design is a separate activity from coding the program. Rarely does it make sense to start

Game Master

Bookkeeper

Rule User Rule Enforcer Rule Explainer

Game Player

Acts as one or more players.

Game Advisor

Provides analysis and suggests moves.

Table I: There are three basic functions a computer may perform in game playing. It can keep track of the rules and permissible moves of an entire game; it may review the current state of the game and provide advice as to the best move; or it may act as an actual player. The game player function is actually composed of both the game master and advisor functions. The game master function notifies the game player function about the rules. The advisor function is used to decide which move will be made.

programming right off. Quite often, someone starts programming because they understand part of the problem and believe it is easier to program the section that is known and let the rest fall into place. The problem with this method is that it is like building a house without a plan. It is much easier to do the plumbing and wiring as the rest of the house is being built. Likewise, the failure to have a plan of the program before coding begins can cause major changes in parts that were coded before the program design is complete.

For very simple game programs it is possible to go from concept to program with no intermediate steps. As the game program gets larger it gets increasingly difficult to avoid an intermediate step or steps. Doing a large game in a single leap from concept to program usually results in a rough program requiring extensive debugging and modification before it is functional. As changes occur, the program grows in complexity. Hopefully, the program converges on the desired result. Most often, the process and the end result leave something to be desired. If the program is to be used by anybody else, and especially if it may be modified by someone besides the designer, a thorough groundwork should be laid. First the game is designed, then comes the program design stage, followed by the implementation of the program.

Assuming that you already have a game design mapped out, we can discuss the actual design of the program. This discussion is for single terminal games and does not specifically cover either multiple terminal game program design or real time game program design. Program design is broken into two sections, external design and internal design. External design covers what the user of a game program sees and notices. Internal design discusses the implementation of the game.

External Design

The first suggested step is to write an abbreviated game description, such as listing 2, to show what you are trying to do. Try to answer some of the following questions. Who will be the end users of the game?

120

February 1979 @ BYTE Publications Inc

The MICRO-TERM Equation:

A

With the flip of a switch, our $795 MIME terminal

^esB^

The MIME fron? Micro-Term is really four terminals in one. By

simply selecting the appropriate setting, you can command it to react to computer outputs just like Lear Siegler's ADM3A? Hazeltine's 1500,® DEC'S VT52® and Micro-Term's Act IV would react. Imagine, one terminal to do the work of four!

And the MIME isn't merely a mimic. When you change its control code assignment, it becomes software compatible with programs written on any of the above terminals. In addition, the user can select an enhanced mode of operation which adds the entire repertoire of MIME features to the set of features contained in the code assignments of the other four terminals. And you don't sacrifice software compatibility!

Some of the many standard features you will find on the MIME include:

• Printer port • Current loop and RS232 interface • Absolute cursor position • Protected fields • Cursor controls • Graphics mode • Hold screen mode • Insert/ delete line • Print line and screen • Send line and screen • Request cursor position • Reverse line feed • Tab • Underline

emulates four of the industry's most popular terminals.

The MIME from Micro-Term...mime is an art, Micro-Term has made it a science.

AND NOW FROM MICRO-TERM...THE ACT V.

Another value story from Micro-Term, the Act V is software compatible to the Act IV yet has many additional features. A separate numeric key pad is just one of the extras you'll find on this new terminal.

Other standard features include: • Printer port • Current loop and RS232 interface • Data rates from 110 to 9,600 baud • Absolute cursor position • Protected fields • Display control codes • Graphics mode • Insert/delete character and line • Print line and screen • Send line and screen • Underline

The Act V... only $865... simplified circuitry inside, beautiful design outside.

All Micro-Term products are fully assembled, tested and guaranteed for 90 days. All prices quoted here are single unit prices.

micRo-TCRm, inc.

1314 Hanley Industrial Ct. • St. Louis, MO 63144 • 968-8151

Circle 219 on inquiry card.

BYTE February 1979

121

Request for Input:

HOUR 7, AT WHAT ANGLE DO YOU WISH TO SEND YOUR PROTON BOMB? 200

HOW FAR OUT DO YOU WISH TO DETONATE IT? 150 Original Response:

YOUR PROTON BOMB EXPLODED 14159.9 FROM THE ROMULAN SHIP. New Response:

AT ANGLE 200, RANGE 15,000

EXPLODED 14159.9 FROM THE ROMULAN SHIP. Original Ending:

If successful:

YOU HAVE SUCCESSFULLY COMPLETED YOUR MISSION. If unsuccessful:

YOU HAVE ALLOWED THE ROMULANS TO ESCAPE. New Ending:

If successful:

SHIP EXPLOSION AT ANGLE 217 DISTANCE 26100. YOU HAVE SUCCESSFULLY COMPLETED YOUR MISSION. If unsuccessful:

A SHIP WENT INTO WARP DRIVE AT ANGLE 37 DISTANCE 10800. THE ROMULANS HAVE ESCAPED.

Listing 1: Feedback is an important part of a game program. Without information returning to the players it can be difficult to improve play strategy. The original program responses in the example were scanty and did not give much information about what was happening. In the original program the ending summary leaves the players wondering how to improve their games since it is impossible to tell exactly how close they were to winning. In the new version, it is possible to check over the response and alter strategy on the basis of the given information.

What age bracket will the end users be in? Is the same game playable by 5 year olds and by persons with doctorates? What is the target market? Will it be just a program or will it be a program product with the generalization, testing, and documentation that such entails? How long should the game run? What are the variations in the playing time? How does the game begin? A lot of game programs just begin. They give no prologue, no query to ask the user if the game is familiar and if the play procedure is understood.

In group simulation games, a person acts as moderator. The moderator normally gives an introduction, which provides orientation and instructions. When the simulation ends, the moderator provides a summary. This wrap-up allows the participants to discuss with the moderator what happened during the game.

Likewise, a game program should give the

Listing 2: Game design outlines such as this are a great aid when developing a game. This type of written description helps to formulate clearly the main purposes of the game.

Game: Mazewizard Version 0

Description: Mazewizard is a game in which the player is a wizard in a three-dimensional

maze attempting to collect treasure. Playing Data:

Age Level: Ten years to adult.

Number of Players: One.

Playing time:Ten to twenty minutes. Game Start: Ask if the player wants a description of the game. If so, print out a brief

description of the game and how moves are made. Game Play: The player enters a move direction. Treasure is automatically accumulated.

The portion of the maze that can be seen is printed. Game Termination: Play ends three ways. First, half of the treasure is found. Second,

the player encounters a fatal maze hazard, ending play. Last, a player requests

termination by entering a move of no change. In all three cases, the total treasure

found will be printed, and the average treasure found per move is printed.

player feedback at the end. Every pinball machine and gaming device in an amusement park counts points on some basis to give the player a measure of performance; a game program should do likewise. In 101 Computer Games the program for Orbit allows seven hours to shoot down a Romulan ship. If the seven hours pass, that is that. The player has no idea where the Romulan ship was when it left orbit. Similarly, even if the ship gets shot down by a photon bomb, the only result is that the player knows the ship has been destroyed. The simple addition of information such as the orbit and specific position in the orbit gives desirable feedback. Listing 1 shows this type of feedback in an example output. The player now knows whether or not the hypothesis being used was even close. Giving a recapitulation in a game program can keep the user coming back to play it again.

The amount of feedback given may depend on the output device. A teletypewriter is slow; a player may get impatient waiting for long messages to be delivered. A video terminal can display a screen full of information in very little time. Too much feedback may not be good, but a player does not have to read all the information presented. However, a player cannot use what a program does not give as feedback.

One area often overlooked when designing a program is causes of termination. In group simulation games, a moderator can be told to quit while ahead. A moderator can also determine if further playing is futile and can end the simulation. Some game programs are open ended and will run forever. A program should allow the user to terminate the program in an orderly fashion. Even better is the ability of the player to restart the game where it was stopped.

A part of the external design is what the user sees and does to begin and end a game. Another part of the external design is to determine how information is entered for play of the game.

Now that you have written down the goals of the game and some of the factors of the program, you should make some fake output. Show what a typical run of the game program might look like. Make up output showing how the program begins, how the play begins, and what introductory and help information is displayed. If turns are repetitive, only a few turns need be shown. Show what happens when the game ends.

The next step is for the program designer to make up a set of user instructions. The information shown in the sample output of listing 2 serves this purpose for a game called "Mazewizard." In some cases other

122

February 1979©BYTE Publications Inc

'My Structured Systems business software has paid for itself in labor hours

saved alone.

Mr. Ken Tunnali, CoUoid-A-Tron Inc., Buffalo, New York

9*

Says Mr. Tunnah: "The program is designed from a CPA standpoint, for multiple corporations, which we have. It is flexible and gives me the ability to change reporting by profit centers easily. It is up and running quickly, and it just keeps on running. I think it's the best business software available."

The best software available. That's what Structured Systems Group set out to create.

Structured Systems offers three sophisticated accounting systems. Our General Ledger software is big enough for multi-client write-up by the CPA, or multi-corporate reporting for the business, but small enough for the micro budget. The very comprehensive Accounts Receivable and Accounts Payable packages will operate independently, or they will coordinate with the General Ledger.

Our systems record transactions easily and correctly, and provide an audit trail from source document to financial statements. And they will maintain monthly and year-to-date information in dollars and in percentages. And they are reliable.

The three systems interact with the user to set up parameters such as format and headings, account titles and numbering, automatic billing or reminder notices, credit limits, sales reports, a check register, and much more.

Circle 353 on inquiry card.

Ken Tunnah is one of many innovators bringing the micro revolution to the small business. As a programmer, he knows computers and their languages. As a businessman, he knows business and its languages. And when Mr. Tunnah decided to microcomputerize the accounting function at Colloid-A-Tron, he turned to Structured Systems software.

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

We provide the capability to computerize complex accounting functions on relatively inexpensive microcomputer equipment. Ken Tunnah has told us what that means: "I've bucked some trends. I looked around, and decided that with the right software, I could get a micro to outperform a $45,000 mini. I'm satisfied. It's simple economics."

We can refer you to a growing number of sophisticated retailers experienced in Structured Systems Group business systems. Or we can work directly with you. We'd be happy to provide you with more information on our product line, which includes QSORT™ (a sort/merge program), CBASIC (a business BASIC), NAD™ (a mailing and addressing system), and our General Ledger, Accounts Receivable, and Accounts Payable packages.

* CP/M is a registered trademark of Digital Research

/tructurecl /y/tem/ Group

INCORPORATED

5208 Claremont Avenue

Oakland, CA 94618

Call us at (415) 547-1567. Or write Dept. B7.

Putting the Microcomputer in Business.

BYTE February 1979 123

Listing 3: This logic structure for a I player game indicates play cannot be stopped until the end of the game is reached. This is not always desirable; thought should be given to ending the game in some fashion such that it may be continued later from where it was stopped.

Listing 4: This logic flow is designed for a multiple user game. All of the players' moves are gathered before any processing is done. After all moves are made, the information resulting from the move processing is provided to all of the players.

Listing 5: Another form of the multiple user game allows single move acquisition and processing. This type of approach would be useful in board games such as Monopoly where only one person moves at a time, yet the information from that move is needed by the other players before they can move intelligently.

BEGIN

PLAYGAME

END

introduction (instruction if requested) initialization loop till game over

set up turn

obtain player's move

validate move

echo move

apply move end loop summary stop

BEGIN

introduction

(instructions if requested)

initialization

PLAYGAME

loop till game over

set up turn

loop till have all moves

set up move

obtain player's move

validate move

echo move

end get move loop

apply move

end turn loop

END

summary

stop

BEGIN introduction

(instructions if requested) initialization PLAYGAME loop till game over set up turn

loop till have all moves set up move obtain player's move validate move echo move apply move end get move loop end turn loop END summary

stop

information may be desired. It may be useful to list some features not implemented in this version.

At this point you have gathered information on what the program will look like to a user. Now let us see what the design of the actual program entails.

Internal Design

When designing the internal structure of the program, there are several areas which must be covered. These can be broken down into logic flow, algorithms, and data structure.

Some game programs have a structure similar to listing 3. This structure is for a one player game. It does not show a method of stopping the game before the conditions for the end of the game are met.

Multi-player games are somewhat more involved. The program may gather information from all players for a turn, then process that turn. This is commonly done in many business games. After all players make a move, the program processes the information, determines results and provides it to the players. An alternative approach is where the information is used after a player makes a move and before the next player enters a move. In programs of board and card games this is quite common. Listings 4 and 5 illustrate these two approaches.

The preceding discussion has covered the general logic flow of a program. The expansion of the basic steps is dependent on the game. The program designer needs to develop algorithms to implement the game. The major work will probably be in the move application portion of the program. The algorithms will manipulate various entities. These should be documented and named before coding begins. The larger the program, the more important is the documentation of the variables used in the program. Actions manipulate the variables. By analogy, the variables are the nouns and the actions are the verbs in the program, which is the instructions. For example, if a program deals with ships, the basic items may be ships, cargo, ports and oceans. The actions may include docking at port, setting sail, loading cargo, unloading cargo, setting course and speed, etc. The use of state diagrams can clarify the values that an item can have and how these values are allowed to change states. Gaps in game design are shown sometimes when state diagrams are used. Figure 1 shows a pair of state diagrams for the above shipping example. In figure I a ship is either in port or sailing. A ship can load or unload cargo only at a port. The two simple diagrams in figure 1 do not represent the state of the cargo when the ship is sailing. Figure 2 shows both the state of the ship and the state of the cargo at all times.

State diagrams suggest a method of segmentation or modularization; each routine could handle a single state transition. First the routine verifies that it is in the proper state(s) for the requested transition. Then it performs the variable manipulations that are part of the state change. The verification portion could be a separate routine that is part of the move validation section of the program. Alternatively, a state table could be used. The state table consists of new states indexed by the current state and the requested action. To make a move, find the current state in the table, index to the action being requested, and go to the new slate indicated by that location. For some game

124

February 1979SBYTE Publications Inc

RADIO SHACK i-STM EDITIOH

RADIO SHUCK

_.*****

onion] ^ ^^^========^===

8MBEBB

COMPLEX variables].

MACHOKffS^-™* UHKIHG IBHB >°»*33S&U*d

FORTRAN and assemo« execution

SDDBOin HE UBHABY acgg*,,

liable modulesior FORTRA

DISKTEKTEOnOB,o^>e^™«

FORTRAN and ^^^a general purpose SeSSo^t^oe and order

documents

IgeS Ml doouj^nja«°n'spERC0wmER system

OISC0U(nPBlCEOF$^^r

cuiecnr»"_

=325'

IX

:alerlnqu,nes invited

LIFEBOAT ASSOCIATES

164 West 83rd Street/New York, NY 10024 (212)580-0082

Name_

Address.

Please send me the

TRS-80 FORTRAN

Package @ $325.00

(plus $2.00 shipping or

$5.00 foreign)

□ Check enclosed

. C.O.D. ($1.00add'l) Acct No

I . Master Charge

VISA Signature.

City, State, Zip_

_Expires_

designs, state diagram usage will make little sense. Other games will lend themselves to state analysis very well.

Conclusion

In this article, I have covered an approach to the design of computer games. Planning

SET SAIL

DOCK AT PORT

LOAD CARGO

UNLOAD CARGO

Figure I: This pair of state diagrams can be used in the shipping example in the text. The first state diagram shows the pattern that is followed by the sailing and docking of a ship and its related states. The second diagram shows the states of the cargo that is on board the ship.

DOCK AT PORT

Figure 2: From the diagrams of figure 1 it is not possible to keep track of what the cargo is doing in relation to the state of the ship. For instance, can the cargo be unloaded when the ship is sailing? This diagram relates the state of the cargo with the state of the ship at all times.

the internals and externals of a game program can ease the actual programming and result in a game program that is more satisfying to the user. The discipline involved can and should make the inspiration and creativeness of a new game easier to realize.

The references in the bibliography are suggested to those involved in the design of game programs. The volume edited by Robert Horn is probably the best reference for game ideas."

BIBLIOGRAPHY

1. Ahl, David H, 101 Basic Computer Games,

Digital Equipment Corporation, 1975.

2. Brooks, Frederick P, The Mythical ManMonth, Addison-Wesley Publishing Co Inc. Reading MA, 1975.

3. Gilb, Tom and Weinberg, Gerald M, Humanized Input Techniques for Reliable Keyed Input, Winthrop Publishers Inc, Cambridge MA, 1977.

4. Graham, Robert G, and Gray, Clifford F, Business Games Handbook, American Management Association Inc, New York, 1967.

5. Hausraith, Alfred H, Venture Simulation in War, Business, and Politics, McGraw Hill Book Co, New York, 1971.

6. Henshaw, Richard C, Jr, and Jackson, James R, The Executive Game, Richard D. Irwin Inc, Homewood I L, 1966.

7. Horn, Robert E, editor, The Guide to Simulations/Games for Education and Training,

Combined volumes 1 and 2, Didactic Systems Inc.

8. Jackson, Philip C, Introduction to Artificial Intelligence, Petrocelli Books, New York, 1974.

9. McHuch, F J, Fundamentals of War Gaming, US Naval War College, 1966.

10. Martin, James, Design of Man-Computer Dialogues, Prentice-Hall, Englewood Cliffs NJ, 1973.

11. Greenberg, A, "War Gaming: Third Generation" Naval War College Review Vol XXVII No. 5 March/April 1975, pages 71-75.

12. Spencer, Donald, Game Playing with the Computer, Spartan Books, New York, 1968.

13. Yourdon, Edward, Techniques of Program Structure and Design, Prentice-Hall, Englewood Cliffs NJ, 1975.

14. What to Do After You Hit Return, People's Computing Co, Menlo Park CA, 1975.

15. Williams, Thomas G, Game Playing with a Digital Computer, Management Information Services, St Clair Shores Ml, 1973.

126

February 19790BYTE Publications Inc

tffoQ IL£$?IISt? ta ^£>q §^3&3ra

*

NEW!

MODEL CC-9

$200.00 (4800 Baud)

$220.00 (9600 Baud and 220V/50 Hz)

9600 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error rate 108 at 4800 BAUD. Can be used from 110 to 9600 BAUD into a UART - no clocking required. This is not an audio recorder. It takes RS232 or TTL signals from the terminal or computer and gives back the same signals. No audio interface is used. Motor start/stop is manual or through TTL or RS232 signals.

Tape speeds are 1.6" / 3.0" and 6.0" per second. 110 volt, 60 Hz, 5 watts. (220 Volts on special order). Can use high quality audio cassettes (Philips Type) or certified data cassettes.

Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PROGRAM RELOADING and DATA STORAGE. Manual control except for motor start/stop. 6800, 8080 or Z80 software for file or record searching available on request with order. Used by major computer manufacturers, Bell Telephone and U.S. Government for program reloading and field servicing.

AVAILABILITY - Off the shelf.

PROVIDES MONITOR AND TAPE SOFTWARE in ROM. TERMINAL and TAPE PORTS on SAME BOARD. CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3B).

This is a complete 8080, 8085, or Z80 system controller. It provides the terminal I/O (RS232, 20 mA or TTL) and the data cartridge I/O, plus the motor controlling parallel I/O latches. Two kilobytes of on board ROM provide turn on and go control of your Altair or IMSAI. NO MORE BOOTSTRAPPING. Loads and Dumps memory in hex on the terminal, formats tape cartridge files, has word processing and paper tape routines. Best of all, it has the search routines to locate files and records by means of six, five, and four letter strings. Just type in the file name and the recorder and software do the rest. Can be used in the BiSync (IBM), BiPhase (Phase encoded) or NRZ modes with suitable recorders, interfaces and software.

This is Revision 8 of this controller. This version features 2708 type EPROM's so that you can write your own software or relocate it as desired. One 2708 preprogrammed is supplied with the board. A socket is available for the second ROM allowing up to a full 2K of monitor programs.

Fits all SI00 bus computers using 8080 or Z80 MPU's. Requires 2 MHz clock from bus. Cannot be used with audio cassettes without an interface. Cassette or cartridge inputs are TTL or RS232 level.

AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER $190.00, Tested & Assmb.

t*

&

l*

0*

—► DOUBLE DENSITY FLOPPY DISK CONTROLLER

A new floppy controller for 5" and 8" drives utilizing the new 1791 chip to provide single or double density recording. Flip the switch to use one or the other mode. Can load memory from single density and re-record it double density on the same drive so you can transfer or re-record your programs and files. Comes with new format program for double density on disk to replace your old single density format program. (Soft Sector IBM format). $295. Assembled and tested.

SHIPPING STARTED OCTOBER '78.

—► PEGASUS DOUBLE DISK ENCLOSURE and POWER SUPPLY

Holds one or two drives, has two drive power supply. 110 or 220V. Comes empty or filled with Shugart drives. Variations preclude listing prices. Call or write for full details.

SHIPPING STARTED OCTOBER '78.

Z 80 BOARD for SWTP COMPUTER

Now you can use the 8080/Z80 software programs in your SWTP 6800 machine. Replaces your MPU board with a Z80 and ROM so that you are up and running with your present SWTP memory and MPS card. 1 K ROM on board replaces MIKBUG and enables you to use XITAN Z80 software which we can supply.

AVAILABILITY - Off the shelf.

$190.00, Tested & Assmb.

For U.P.S. delivery, add $3.00. Overseas and air shipments charges collect, N.J. Residents add 5% Sales Tax. WRITE or CALL for further information. Phone Orders on Master Charge and BankAmericard accepted.

National Multiplex Corporation

„^ j 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 t-^^„

Circle 279 on inquiry card.

BYTE February 1979 127

Nybbles

Computerized

Wine Cellar

Listing 1: Typical output from the Wine Cellar program showing how the system can search through data records,

WINE CELLAR

DO YOU WANT TO:

1) ADD A NEW LISTING

2) ACCESS EXISTING LISTINGS

3) DELETE A LISTING

4) GET NUMBER OF BOTTLES STORED

5) CHANGE OUTPUT DEVICE

6) END

?2

FILE ACCESSDO YOU WANT YOUR ACCESS RESULTS OUTPUTTO: CRT OR PRINTER? PRINTER

FILE ACCESSHOW DO YOU WANT TO ACCESS? BY:

1) BOTTLE NUMBER

2) TYPE (RED, WHITE, SPECIAL)

3) VARIETAL NAME

4) VINTNER OR PRODUCER

5) SPECIAL NAME

6) VINTAGE DATE

7) PRINT ALL ENTRIES

8) MULTIPLE SEARCH

9) RETURN TO COMMAND LEVEL

?1

BOTTLE #? 165

BOTTLE = 165

CABERNET SAUVIGNON, CHARLES KRUG, 1973.

10TH. Large bottle in long term storage (-18). Soft, fruity wine, characteristic of

Krug tradition. Finigan 4/77, pg. 61. $2.69

(TYPE t TO RETURN TO ACCESS LEVEL)

t

FILE ACCESSHOW DO YOU WANT TO ACCESS? BY:

1) BOTTLE NUMBER

2) TYPE (RED, WHITE, SPECIAL)

3) VARIETAL NAME

4) VINTNER OR PRODUCER

5) SPECIAL NAME

6) VINTAGE DATE

7) PRINT ALL ENTRIES

8) MULTIPLE SEARCH

9) RETURN TO COMMAND LEVEL

?8

MULTIPLE SEARCH MODEHOW DO YOU WANT TO ACCESS? BY: 1) VARIETAL NAME + VINTNER

Rodney W Jolliffe

POB 2109

Alameda CA 94501

The blending of two hobbies can make each more interesting, and one can often enhance the satisfaction of the other. This has happened with me in the happy combination of computers and wines. My wife and I greatly enjoy the collecting and drinking of fine wines, and I also enjoy working with personal computers at home and work. Our wine cellar has grown to the point where, when we want to drink a particular wine, we hardly know what we have in our stock. While thinking about this dilemma I realized that perhaps I could put my Processor Technology SOL to work on the problem. I developed a program that stores information for each bottle in a BASIC file on a North Star disk for access at a later time.

The program has been immensely useful and has made finding a bottle for drinking much simpler. It has helped us to take our inventory; now it is much easier to know what we have in certain categories of wine (ic: Zinfandels from a specific winery); therefore we can purchase more wisely.

Usage Instructions

The storage file called CELLAR is set up for the storage of up to 260 bottles. As bottles are entered using the ENTER command, they are assigned a sequential bottle number beginning with bottle number one. When a bottle has been used, it may be deleted from the file with the DELETE command. When the next bottle is entered, it will be assigned the number of the first available space—either a deleted space where it will be assigned that bottle number or the first space at the end of the file where it will be assigned a new number. As each bottle is assigned a number, take some small adhesive circles (available in any stationery store) put the bottle number just

128 February 1979SBYTC Publications Inc

/TRS-80 owners!

AVAILABLE FOR IMMEDIATE DELIVERY CASSETTE SOFTWARE DISKETTE

Package # 1036 (Level II) $495.00

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

Package # 1038 (Level II) $ 99 95

ACCOUNTS RECEIVABLE

Package # 1039 (Level II) $ 99.95

ACCOUNTS PAYABLE

Package # 1044 (Level II) $125.00

INVENTORY CONTROL

Package # 1045 (Level II) $ 99.95

INVOICING

Package # 1046 (Level II) $ 99.95

PAYROLL

Package # 1047 (Level II) $ 99.95

MAILING LIST

Package #1024

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR I - BANNER - UFO ATTACK - PILE UP

BIORHYTHM - AUTO RACE and WORDS.

Package #1026

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR II - CIVIL WAR - TRAP THE TRIBBLE

LIFE - KNIGHT - CONCENTRATION and LUNAR

LANDER.

EDUCATION

OVER 150 EXCITING PROGRAMS * MORE EVERY DAY *

ELECTRONICS

MARKETING

Also available for PET and APPLE. All SOFTWARE-80 programs are guaranteed.

Programs available in Level I and Level II Basic. All of our business programs will operate with printer; custom programs also available. With certified check or money order, all orders shipped within 24 hours. Personal checks allow 2 weeks. Send for our complete catalogue.

— SOFTWARE-80 =

18228 Cabrillo Court

Fountain Valley, CA 92708

(714) 962-3423

ALL PRICES AND PROGRAMS ARE SUBJECT TO CHANGE WITHOUT NOTICE

Circle 321 on inquiry card.

BYTE February 1979 129

Listing 1, continued:

2) VARIETAL NAME + DATE

3) VINTNER + DATE

4) RETURN TO ACCESS LEVEL

?1

VARIETAL NAME: RHEIN

VINTNER OR PRODUCER: RAUNTHALER

RHEIN RAUNTHALER

BOTTLE #66

RHEIN, RAUNTHALER ROTHENBERG, 1976.

RIESLING SPATLESE, von Simmern. Nicely balanced, handsome wine. Finigan 5/77,

pg. 69. $11.50

BOTTLE fF68

RHEIN, RAUNTHALER BAIKEN, 1976.

RIESLING SPATLESE. See bottle #67 fordetails. Keepto 1982+. Purchased Jackson's.

$9.75

SEARCH COMPLETED (TYPE I TO RETURN TO ACCESS LEVEL) t

FILE ACCESSHOW DO YOU WANT TO ACCESS? BY:

1) BOTTLE NUMBER

2) TYPE (RED, WHITE, SPECIAL)

3) VARIETAL NAME

4) VINTNER OR PRODUCER

5) SPECIAL NAME

6) VINTAGE DATE

7) PRINT ALL ENTRIES

8) MULTIPLE SEARCH

9) RETURN TO COMMAND LEVEL

?9

DO YOU WANT TO:

WINE CELLAR

1) ADD A NEW LISTING

2) ACCESS EXISTING LISTINGS

3) DELETE A LISTING

4) GET NUMBER OF BOTTLES STORED

5) CHANGE OUTPUT DEVICE

6) END

?6

CHEERS

assigned onto the label and attach the label to the cork end of the bottle for quick identification purposes.

Information stored in the file can be retrieved with several commands:

BOTTLE NUMBER: Will print out the complete listing for that bottle.

TYPE OF WINE: Will print out all entries of that type (red, white, special).

VARIETAL NAME: Will print out all wines of that varietal name (ie: all Cabernet Sauvignon).

VINTNER NAME: Prints out all wines produced by that vintner (ie: all Robert Mondavi).

VINTAGE DATE: Prints out all wines that have entries for that year.

MULTIPLE: Searches for three types of multiple entries; VARIETAL NAME and VINTNER NAME, VARIETAL NAME and VINTAGE DATE, VINTNER NAME and VINTAGE DATE. All of these search the file for any entry that has both characteristics and prints it.

ALL ENTRIES: Prints out a listing of all current entries in the file.

A typical user session with the Wine Cellar program is shown in listing 1. The program always checks any of the operations performed with the user before actually executing them. This helps reduce the number of erroneous changes made to the file.

The complete Wine Cellar program listing with documentation and hints on using other disk systems and BASICs besides North Star BASIC is available from BYTE for $1.50 postage paid. Please use the coupon below and order BYTE document #103."

Please send.

::opies of BYTE Nybble #_

.at

.postpaid.

. Check Enclosed

Signature _

Bill my BAC -_

Bill my MC #_

Name

Exp Date. . Exp Date _

Street. City

. State_

.Zip Code.

Nyttiles

BYTE Nybbles Library, 70 Main St, Peterborough NH 03458

You may photocopy this page if you wish to keep your BYTE intact.

130 February 19790 BYTE Publications Inc

the electric pencil II

^^ c 1Q7R Mirhapl braver

TM

1978 Michael Shrayer

The Elect

Word Proces

ric Penci L II

sing System

is a Character Oriented

entered as is man i pu L enormous f handling of delineated lines or pa anywhe re i shifts and view of the as well as since Ii nes

a st ri ng of c at ed as such reedom and e

text. Since , any number ragraphs may n the text, opens up or c user. The ty word hyphen of text are

Thi s means t ontinuous ch . This alio ase in the line end i ng of charact be inserted The entirety loses as nee ping of carr at i on is no formatted au

hat text is aracters and ws the user movement and s are never ers, words, or deleted of the text ded in full i age retu rns t required tomat i caIly.

As text i line is re shifted to Whenever t text is pu a round fas display scr guesswork vari able sp reverse d i search and characters any other s

s t yped i n ached, a pa the beginnin ext is inse shed down o hion. Everyt een as it oc . Text may eed scrolIi n re c t i ons . B replace fu may be loc tring of cha

and the end

rtialLy compI

ig of the foil

■ rted or de let

r pulled up

hing appears

:urs wh i ch el

be reviewed

g both in the

y using the s

net ion, any

ated and/or r

racters as de

of a screen

eted word is

owing line.

ed, ex i sti ng

in a wrap

on the video

iminates any

at will by

forward and

earch or the

string of

eplaced with

s i red.

When text is printed, The ELectric Pencil II automatically inserts carriage returns where they are needed. Numerous combinations of line length, page length, line spacing and page spacing allow for any form to be handled. Character spacing, BOLD FACE, multicolumn as well as bidirectional printing are included in the Diablo versions. Right justification gives right-hand margins that are even. Pages may be numbered as well as titled. This entire page (excepting the large titles and logo) 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 with Imsa i ' s IMDOS. HELIOS versions SSH and DSH are now ready. The NEC print package is now available. A utility program that converts PENCIL to CP/M to PENCIL files is ready. "CONVERT" is only $35.00.

NEW FEATURES: * CP/M, IMDOS and HELIOS Compatible * Supports Four Disk Drives * Dynamic Print Formatting * DIABLO as well as NEC printer packages * Multicolumn Printing * Print Value Chaining * Page-at-a-time Scrolling * New Bidirectional Multispeed Scrolling Controls * New Subsystem with Print Value Scoreboard * Automatic Word and Record Number Tally * Cassette backup for additional storage * Full Margin Control * End-of-Page Control * Non-Printing Text Commenting * Line and Paragraph Indentation * Centering * Under lining * BOLD FACE *

WIDE SCREEN VIDEO!!!

Available to Imsai VIO video users for a huge 80x24 character screen. These versions put almost twice as many characters on the screen !!!

HAVE WE GOT A VERSION FOR YOU ?

The Electric Pencil II operates with any 8080/Z80 based microcomputer that supports a CP/M disk system and uses a Imsai VIO, Processor Technology VDM-1, Polymorphic VTI, Solid State Music VB-1B or any similar memory mapped video interface. REX versions now available. Specify when using CP/M that has been modified for Micropolis or North Star disk systems as follows: For North Star add suffix A to version number, for Micropolis add suffix B to version number, e.g. SS-IIA, DV-IIB.

Vers

Video

Printer

Price

SS-II

SOL

TTY or

similar

$225.

SP-II

VTI

TTY or

si milar

$225.

SV-II

VDM

TTY or

similar

$225.

SR-II

REX

TTY or

similar

$250.

SI-II

VIO

TTY or

similar

$250.

DS-II

SOL

Diablo

1610/20

$275.

DP-II

VTI

Diablo

1610/20

$275.

DV-II

VDM

Diablo

1610/20

$275.

DR-II

REX

Diablo

1610/20

$300.

DI-II

VIO

Diablo

1610/20

$300.

NS-II

SOL

NEC Sp

i nwri ter

$275.

NP-II

VTI

NEC Sp

i nwri ter

$275.

NV-II

VDM

NEC Sp

i nwri ter

$275.

NR-II

REX

NEC Sp

inwri ter

$300.

NI-II

VIO

NEC Sp

i nwri te r

$300.

SSH

SOL

Helios

/TTY

$250.

DSH

SOL

Heli os

/ Diablo

$300.

UPGRADING POLICY: Any version of The Electric Pencil may be upgraded at any time by simply returning the original disk or cassette and the price difference between versions plus $15.00 to MSS. Accept only original medi a at time of purchase.

MICHAEL SHRAYER SOFTWARE, INC.

1253 Vista Superba Drive

Glendale, CA 91205

(213) 956-1593

Electric Pencil I is still available for non CP/M users:

Vers Video

Printer

SS

SP

SV

SSN

SPN

SVN

DS

DP

DV

DSN

DPN

DVN

SOL VTI VDM SOL VTI VDM SOL VTI VDM SOL VTI VDM

TTY

TTY

TTY

TTY

TTY

TTY

Diablo

Diablo

Diablo

Diablo

Di ablo

Diablo

si milar similar simi lar simi lar simi lar simi lar 1610/20 1610/20 1610/20 1610/20 1610/20 1610/20

Cassette

CUTS Tarbell Tarbell

CUTS Tarbell Tarbell

CUTS Tarbell Tarbe 11

CUTS Tarbell Tarbell

Disk Drive

North Star North Star North Star

North Star North Star North Star

Pri 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 February 1979 131

Responses to the Queens

We received so many responses and letters to Terry Smith's article "Solving the Eight Queens Problem" (October 1978 BYTE, page 122) that we decided to have a one-time, special column.

Following are several solutions and comments on the eight Queens problem. They range from adding graphics

to the output to shortening the search time. All of these programs, except the Pascal versions, were run on our Apple and TRS-80 office computers. Several of the programs gave output so quickly that we barely had time to note the solutions. We thank all those who spent time on these programs for their comments. . . .RGAC

Patching the Eight Queens

I enjoyed Mr Smith's article on the eight Queens problem. I found it amusing that the problem solved by Mr Smith's program, described as ". . . a blow to structured programming. . .", is the same problem used by Dr Dijkstra in his classic illustration of the development of a structured program (see Structured Programming, Dahl et al, Academic Press, New York, 1972, pages 72 thru 82).

Both programs overlook an observation which would reduce the total solution time by one half. This is that the reflection of any solution about the axis between the fourth and fifth ranks of the board is also a solution. As the Queen on file (1) starts on rank (1) and moves to higher ranks only after all possible solutions with the Queen

Paul J Kosicki

FOB 18374

Denver CO 80218

on that rank are generated, all reflected solutions with Queen(l) on rank(1) gives all solutions with Queen(l) on rank(8). Therefore, by moving Queen(l) only to rank(4) and reflecting all of these solutions, we generate all solutions in half the time.

In Mr Smith's program, the following changes will accomplish this:

362 IF C#1 THEN 380 364 IF E = 4THEN480.

Lines 250 thru 321 are copied in line, with the first line of the second copy changed to:

322 FOR X = 1 TO 8.

This will print the reflected solutions as they occur."

IM^DIATEDEUVERY^

MODEL 40 300 LPM PRINTERS

TELETYPES

• Mechanism or complete assembly

• 80-column friction feed

• 80-column tractor feed

• 132-column tractor feed

INTERFACES

• EIA-RS232

• Simplified EIA-Iike interface

• Standard serial interface

• Parallel device interface

CCnCDAI Communications rCUCnAL Corporation

11126 Shady Trail, Dallas, Texas 75229, (214) 620-0644,

TELEX 732211 TWX 910-860-5529

MODEL 43 TERMINALS

• 4310 RO (Receive Only)

• 4320 KSR (Keyboard Send-Receive)

• 4340 BSR (Buffered Send-Receive)

INTERFACES

• TTL Serial

• EIA RS232 or DC20 to 60ma

• 103-type built-in modem

132

Tcliruary 1979© BYTL Publications Int

Circle 137 on inquiry card.

CAREER OPPORTUNITIES IN

ft 6F IN'RuDE^

WL*J

E SCMAWRf vf

FA hRPnnwiFR

SOFTWARE ENGINEERING

Grumman Aerospace Corporation seeks qualified specialists at all levels of experience to participate in the development of a broad spectrum of embedded software applications including

■ MILITARY AND SPACE AVIONICS

m SIMULATORS AND TRAINERS

m AUTOMATED TEST LANGUAGE DEVELOPMENT

Challenging opportunities, with corresponding professional recognition, exist within our Software Development Department. Orient your skills to meet many new program assignments utilizing state of the art software system technology being developed at Grumman:

□ Perform analyses to support advanced design concepts in complex real time distributed systems.

[J Synthesize functional, operational hardware requirements into software system design/software architecture.

□ Design, develop and test operating systems and applications programs using assembler and higher order languages.

D Develop automated software tools to facilitate the development of large scale software systems.

□ Develop language processors and operating systems software for minicomputer based Automated Test Equipment.

i i Provide software analysis support for proposals and new business activities.

□ Perform state of the art evaluations and studies on advanced software development techniques.

Highly competitive salaries, outstanding fringe benefits, and moving allowances will be offered to qualified individuals. Assignments are on Long Island, the playground of New York State, at suburban Bethpage (30 miles from New York City) and at rural Calverton (80 miles from New York City).

Qualified individuals should send their resume to Mr.B. Nettuno, Manager Professional Employment

BETHPAGE, NEW YORK 11714

AN EQUAL OPPORTUNITY EMPLOYER M/F U.S. CITIZENSHIP REQUIRED

BYTE February 1979 133

James C Puckett

2201 Eastlawn Dr Apt 12

Midland Ml 48640

23 or 12 Solutions?

I was intrigued by Terry Smith's clever solution to the eight Queens problem. His statement, "There are 92 solutions of which 23 are discrete," aroused my curiosity.

It seemed logical to me that any unique solution to the problem should have eight variations: the solution, its mirror image, and each of these viewed from each of the four sides of the board. Therefore, to test the solutions from Mr Smith's program, I wrote a program to generate the eight variations for each solution from the program and to test the following solutions

for repetitions. This program used the 8 digit number to represent each solution as Mr Smith suggested.

This program found 12 unique solutions from the first 18 solutions generated by Mr Smith's program. The remaining 80 solutions from his program turned out to be variations of these 12. Thus it would seem that there are 96 solutions, 12 of which are unique.

I made no effort to determine if there might be other unique solutions, but perhaps a mathematician among the readers has already derived an equation to determine the maximum number.

This exercise points out the necessity of checking data generated by programs before relying on it too heavily. Sometimes this checking can be as challenging as the original problem. Table 1 is a copy of the solutions and variations as generated by my program."

Table I.

UNIQUE

MIRROR

UNI+90"

MIR+90"

UNI+180"

MIR+180

UNI+270°

UNI+270"

1

36428571

17582463

15863724

84136275

82417536

63571428

57263148

42736851

2

35286471

17468253

16837425

83162574

82531746

64713528

47526138

52473861

3

47382516

61528374

24683175

75316824

38471625

52617483

42861357

57138642

4

63728514

41582736

25713864

74286135

58417263

36271485

53168247

46831752

5

63724815

51842736

25741863

74258136

48157263

36275184

63185247

36814752

6

64285713

31758246

26174835

73825164

68241753

35714286

46152837

53847162

7

37286415

51468273

26831475

73168524

48531726

62713584

42586137

57413862

8

52468317

71386425

27368514

72631485

28613574

47531682

58413627

41586372

9

42736815

51863724

27581463

72418536

48136275

57263184

63581427

36418572

10

46827135

53172864

35281746

64718253

46827135

53172864

35281746

64718253

11

36824175

57142863

35841726

64158273

42857136

63175824

37285146

62714853

12

57248136

63184275

36258174

63741825

36815724

42751863

52814736

47185263

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 4K

byte arrays.

TMS '

S 4044 memory chips with 450ns maximum access 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 for each 4K array.

• Fully buffered bus interface.

• Single t5V supply.

• Available in 8K version - same board with 8K of memory 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.Q. H3Z-2V8

(514) 481-5431

•Trademarks of Motorola Inc. "Single quantity price in US funds.

134

February 1979 © BYTE Publications Inc

Circle 313 on inquiry card.

<f*

OSBORNE & ASSOCIATES, INC.

The World Leaders in Microprocessor Books

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

AP & AR

#13-6

$15.00

G. Ledger

#20-9

$15.00

Some Common BASIC.Programs

76 short practical programs, most of which can be used on any microcomputer with any version of BASIC. Complete with program descriptions, listings, remarks and examples. 200 pages. #06-3 $8.50

Assembly Language Programming

8080A/8085

Assembly Language Programming 6800 Assembly Language Programming Z80 Assembly Language Programming 6502 Assembly Language Programming

These books describe how to program a microcomputer using assembly language. They discuss classical programming techniques, and contain simplified programming examples relevant to today's microcomputer applications. 400 pages each.

808OA/8085 ALP #10-1 $8.50

6800 ALP #12-8 $8.50

280 ALP #21-7, available soon (see

6502 ALP not yet available below)

Programming for Logic Design

8080 Programming for Logic Design 6800 Programming for Logic Design Z80 Programming for Logic Design

These books describe the meeting ground of programmers and logic designers; written for both, they provide detailed examples to illustrate effective usage of microprocessors in traditional digital applications. 300 pages each.

8080 PFLD 6800 PFLD Z80 PFLD

#04-7 #05-5

#11-X

$8.50 $8.50 $8.50

An Introduction to Microcomputers

Volume 0 - The Beginner's Book

If you're not familiar with computers, but would tike to be, then this is the book for you. Computer logic and terminology are introduced in a language the beginner can understand. Computer software, hardware and component parts are described, and simple explanations given for how they work. Text is supplemented with creative illustrations and numerous photographs. 300 pages. #08-X $7.95

Volume 1 - Basic Concepts

A must for anyone in the computer field, this best selling text explains hardware and programming concepts common to all microprocessors. Its universal appeal is reflected by its having the greatest yearly sales volume of any computer text. 350 pages. #02-2 $8.50

Volume 2 - Some Real Microprocessors Volume 3 - Some Real Support Devices and update subscriptions

These two books provide complete descriptions of virtually every microprocessor and most support devices. There are no other books like these: they provide detailed part descriptions from an independent source.

To cope with the rapid evolution of microprocessor products, each volume has its own series of six bimonthly updates, allowing you to remain current with all parts as soon as they are really available. Update subscriptions sold separately.

These two books replace the 1977 edition of Volume II - Some Real Products. Volume 2, 1400 pages; Volume 3, 700 pages; printed loose leaf. Binders sold separately.

Volume 2 w/o binder #15-2

$25.00

Volume 2 binder #16-0

$ 5.00

Volume 3 w/o binder #18-7

$15.00

Volume 3 binder #19-5

$ 5.0C

Volume 2 update only

$25.00/yr.

Volume 3 update only

$25.0O/yr.

Volume 2 and 3 updates

$40.00/yr.

I OSBORNE & ASSOCIATES. INC. P.O. Box 2036, Berkeley, CA 94702 630 Bancroft Way, Berkeley, CA 94710 Attention;

(415)548-2805 • TWX 910-366-7277 Dept. 117

Please send the following information:

□ Becoming an O&A dealer O School discounts

□ List of foreign distributors

D More information on O&A books

Please notify me when available:

Q Z80 Assembly Language Programming

D 6502 Assembly Language Programming

Payment in advance must be enclosed for purchases of up to $70.00. Invoicing U.S. purchases over $70.00 available upon approval of your account. All foreign orders must be prepaid in U.S. dollars drawn on a U.S. bank.

BOOK

PRICE

QUANTITY

AMOUNT

s

Subtotal California residents tax

Updates:

HIPPING (Shipping for large orders to be arranged) shipping

D All foreign orders $4,00 per 6-issue subscription for airmail

Books & Binders:

D A1I foreign orders $4.00 per book for airmail

□ $0.45 per item 4th class (allow 2-3 weeks in the U.S.)

□ $0.75 per item UPS in the U.S. (allow 10 days)

□ $1.50 per item special rush shipment by air in the U.S.

Calif, residents add 6% sales tax.

S.F. BART residents add 6-1/2 % sales tax.

No tax on update subscriptions.

F11

SI 000 Circle 292 on inquiry card.

BYTE February 1979 135

Dr Randall S Matthews Box 157 Chemistry Dept Harvard University Cambridge MA 02138

An Apple and the Queens

Terry Smith's excellent article concerning the eight Queens problem prompted me to write my own eight Queens program for the Apple II. Broadly speaking, the logic is a synthesis of Smith's second and third methods, with a few judicious improvements. There are several advantages to this program vis-a-vis the published one as follows:

1. It is far shorter, and uses considerably less memory.

2. It is much faster, taking approximately 5 seconds per solution.

3. Apple's color graphics allows the user to watch as the computer "searches" for a solution.

My program is shown in listing 1. It is written in integer BASIC and is easily translated to other systems. The disadvantage of this program, in its present form, is that it does not allow one to systematically search for all the solutions."

Listing 7.

1LIST

10 CALL-936: GR : DIM A$(5),Q(

8) 20COLOR = 14: FOR 1=2 TO 32: HLIN

2,32 AT I: NEXT I 30 COLOR=2: FOR 1 = 1 TO 33 STEP

4 40 HLIN 1,33 AT l:VLIN 1,33 AT

I: NEXT I: GOTO 100 50 COLOR = 14: FOR 1 = 1 TO C~1: PLOT (l*4)-1, (Q(I)M)-1: NEXT I 100 FOR C=1 TO 8:X= RND (8)+1 110CTR=1: IF C=1 THEN 180 120 FOR 1=1 TO C-1 130 IF Q(l)OX AND ABS (Q(l)-X)

<>ABS (l-C) THEN 170 140 X=X+1: IF X=9THEN X = 1 150CTR=CTR+1: IF CTR=9 THEN 50

160 GOTO 120

170 NEXT I

180 Q(C)=X: COLOR=9: PLOT (C*4)

-1. (Q(C)*4)-1 190 NEXTC 200 VTAB 23: PRINT "HERE IS ONE SOLU

TION.": PRINT 210 INPUT "DO YOU WANT ANOTHER? (Y 0

R N)",A$ 220 PRINT : IF A$="Y" THEN 50 230 END

SAVE THE WHALE

The Fin Whale is the world's greatest \ong-distance communicator.

Scientists believe that loud, deep-tone, low-frequency sounds made by Fin Whales (frequencies around 20 hertz, or cycles per second) actually travel underwater for distances of at least 500 miles, and under optimum conditions might carry for a radius of i 4,000 miles, potentially reach ing an area greater than the

d& if

entire Atlantic Ocean

Fin Whales, the second largest creatures ever to have lived on planet earth, grow up to 24 meters in length (exceeded only by the 30-meter Blue Whale), and habit all the oceans of the world. Tens of thousands of Fin Whales have been "harvested" in recent years, by agreement of the International Whaling Commission, for the sale of products for which substitutes are readily available.

The CONNECTICUT CETACEAN SOCIETY is a small, totally volunteer, non-profit education and conservation organization dedicated to seeking the abolition of all whale killing. Any concerned citizen can help our efforts by sending name and address and a $15 or more contribution to: CCS, P. O. Box 145, Wethersfield CT 061 09.

136

February 1979 ©BYTE Publications Inc

This Valentine's Day.

c?

Treat yourself & your favorite computer to 3 NEW BOOKS

CALCULATING WITH BASIC

Here's a variety of programs in BASIC language to help the student, scientist, engineer, technician or hobbyist apply the language to practical problems. Covers mathematics, finance and statistics, mechanical engineering and electronics. For fun between such serious applications. Hangman and Space Capture games are also provided. A real steal at only $7.95. Order now. Available for shipment in March. Check No. 1 on coupon.

MICROCOMPUTER POTPOURRI

Data at your fingertips. A pocket-sized reference for the beginner . . . for the technician . . . for the engineer. Contains a really great glossary that covers all the jargon. Helps the beginner to understand computer magazines, manufacturers literature and serves as a reference for the pro. Special section reviews all the popular microprocessor chips in detail. You also get a complete text on understanding microcomputers in digest form. It's the handiest microcomputer guide yet. And at an amazingly low $2.95.* Place your order now. Available for shipment in March. Check No. 2 on coupon.

PIMS

Personal Information Management System, make no mistake about it, is indeed a data base management program. It's carefully customized for the small system owner. You can define and construct your own data bases. Each record can contain up to ten fields. You define what goes in each. Then modify it whenever you want through use of just three simple commands: ADD, RUBOUT, CHANGE. You can search, list and sort. There's even a command that lets you SUM columns of numbers. Complete source listing is included. This kind of power would be unbeatable at ten times the price. Just $9.95.* Check No. 3 on the coupon.

Special pre-publication offer. Place your order now for Calculating with BASIC + Microcomputer Potpourri. Buy both and you pay only $9.95* combined. Offer expires March 1, 1979. Check No. 4 on coupon.

Interested in ham radio? Ask about SCELBI's fantastic books for the radio amateur. Check No. 5 on coupon for free literature.

IMPORTANT ORDERING INFO!

Include 754 postage/handling for each

item to be delivered by U.S. Mail

book rate, or $2 for each item to be

shipped via First Class or UPS.

Prices shown are for North American

customers. Master Charge, VISA,

Postal and Bank Money Orders

preferred. Personal checks delay

shipping up to 4 weeks.

mM

SCELBI Publications

1

P.O. Box 133PPSTN,

Milford, CT

06460

203-874-1573

Please send the books indicated below is enclosed, or better yet, please charge

My payment (including shipping/handling charges) my Master Charge or VISA account.

□No. 1

□No. 2 DNo. 3

□No. 4

□No. 5

Name (pie; Card No. Address

ise print)

Bank No.

Exp.

City and S Signature

tate

Zip

BYTE February 1979 137

Checking Permutation Generation

100

REM 8 QUEENS

110

DIM X(7,7), l(7)

120

INPUTN\M = 1 \X(0,0) = 0

130

KM) = 0

140

FOR J = 0TO KM)- 1 \X(J,M)

= X(J,M-1)\NEXT J

150

X(I(M),M) = M

160

FOR J = KM) + 1 TO M\X(J,M

= X(J-1,M-1)\NEXTJ

170

IF M = N THEN 180\M = M +

\GOTO 130

180

FOR J = 0 TO N - 1 \ FOR K =

J + 1 TO N

190

IF ABS(X(K,N)- X(J,N)) =K~

J THEN 220

200

NEXT K\NEXTJ

210

FOR J = 0TO N\ PRINT X(J,N); \ NEXT J \ PRINT

220

IF KM) = MTHEN 230\l(M) =

KM) + 1 \GOTO 140

230

IF M = 1 THEN 120\M = M - 1

\GO TO 220

240

END

Listing 2.

James C Wilcox

2200 Via Alamitos

Palos Verdes Estates CA 90274

I found "Solving the Eight Queens Problem," by Terry Smith, to be an entertaining description of an example of the actual problem solving process. However he asked the wrong "friends" about generating the 8! permutations of the numbers 1 to 8, which actually is not a "difficult task" at all. In fact the algorithm seems to be rather wellknown; however, I can't recall where I first heard of it. Without implying that a solution based upon generating these permutations would be better than the solution presented, I would like to describe the method of generating permutations which may be of general interest for other applications as well.

Let us use 0 thru 7 instead of 1 thru 8.

We start with the permutations of 0, that is: 0. We take 1 and place it before and after each digit of each permutation of 0 to get the permutations of 0 and 1, that is: 10, 01. We take 2 and place it before and after each digit of each permutation of 0 and 1 to get the permutations of 0, 1, and 2, that is: 210, 120, 102, 201, 021, 012. We continue in this pattern with 3, 4, 5, 6, and 7. We arrange the code so that we generate each permutation of 1, 2, 3, 4, 5, 6, 7, and 8 digits only once—and we test each permutation for the presence of Queens on the same diagonal (absolute value of slope of line connecting Queens equal to 1) immediately after generating it so that we don't have to "file all those 40,320 8 digit numbers." The BASIC program in listing 2 solves the problem for boards up to 8 by 8 (N = 7). It took 5050 seconds to find all 92 solutions to the 8 by 8 problem on my HTI. Generating the permutations required 2495 seconds or 62 ms per permutation. Testing the permutations required 2555 seconds or an average of 63 ms per test. The time required for each test varies widely, with a successful permutation taking the longest. Lines 180 thru 210 are peculiar to the eight Queens problem and can be replaced by code appropriate to other problems involving permutations. The rest of the code generates the permutations."

TRS-80

NEW SOFTWARE FOR:

PET

APPLE

Hitch up your horse sense, wind up your wits, load the computer, and get ready to play Bulls • Hits'". It means spellbinding, sophisticated, stimulating fun for the entire family. One, two players, or partners will be at odds trying to beat each other or the computer. The action is fast and furious. Completely interactive.. .Enjoy.

ORDERS: SEND CHECK OR MONEY ORDER TO:

the COMPUTER BUS

If you enjoyed Microchess, you'll love Bulls • Hits'". A NEW game of logic and luck developed by Michael OToole for the TRS-80 Level I and Level II, Apple or Pet. Please specify computer model...Only $14.95. Programs and cassettes 100% guaranteed. 30 day money back guarantee if not completely satisfied. Dealer inquiries invited.

P.O. BOX 397D GRAND RIVER, OHIO 44045

138 February 1979 © BYTE Publications Inc

Circle 67 on inquiry card.

::■'

iBia

DID YOU KNOW ... PASCAL IS ALIVE ... AND WELL

AND WORKING IN A GRAIN ELEVATOR?

When you've decided to let PASCAL work for you, give it the best home -the UDS 470 micro-computer.

Hardware for the rugged UDS 470, designed for work in hostile environments, has performed successfully for over two years to control grain elevator operations:

- Houston, Texas

- New Orleans, Louisiana

- Duluth, Minnesota

- Winnipeg, Canada

UCSD PASCAL

6800 based now; upgradable to 6809 or 68000

32K RAM

16K EPROM

S 1,200 to $8,000 OEM, depending on configuration desired

mm.

CONTROL SYSTEMS, iNC.

MiCROSYSTEMS DiVtSiON

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

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

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

Circle 87 on inquiry card.

BYTE February 1979 139

Scott Banks

James S Coan

Community Computer Corp

185 W School House Ln

Philadelphia PA 19144

Systematic Approach to the Eight Queens

10

DIM R(8)

100

CO

200

C=C+1

300

R(C)=0

400

IF R(C)<8THEN 600

500

C=C~1

510

IF C=0THEN 9999

520

GOTO 400

600

R(C)=R(C)+1

605

IF C<2 THEN 660

610

FOR C1 = 1 TOC-1

620

IF R(C)=R(C1) OR R(C)+C=R(C1)+C1 OR R(C)-C=R(C1 )-C1 THEN 400

650

NEXTC1

660

IFC<8THEN 200

700

FOR C1=1 TO 8

710

PRINT R(C1);" " ;

720

NEXTC1

730

PRINT

740

GOTO 500

9999

END

Listing 3.

The eight Queens problem is indeed a fascinating one. However, the discussion in Terry Smith's article in the October 1978 BYTE, while it presents some very good ideas, cries out for comment. The fundamental algorithm presented has merit, yet the implementation leaves much to be desired. Given a specific algorithm, our experience strongly indicates that trial and error is an absurd method to employ whenever an organized thought process can be applied. As Mr Smith's search algorithm appeared well-defined, we chose to take the structured route to implementing the program. The results of this endeavor yielded a drastic decrease in program development time as well as enormous benefits in program space, data storage, and execution speed. Could it be an accident that code produced as such is so easily readable? A couple of hours well-invested in structured coding is an excellent trade for several days of cut-and-try frustration.

It seems unlikely that Terry has the most efficient program implementation for his algorithm. Why store the entire chessboard when all that is required is a row with eight column positions, or if you prefer, a column with eight row positions? Now all that we need to identify are the conditions required for avoiding positions of attack. Two Queens on a chessboard must not share a common row, a common column or a common dia

gonal in either direction. That constitutes four conditions.

We can assure different columns by making the column number the subscript of a one-dimensional row array. We can store the row number of each Queen in the column position of the row array. For example: if R(2)=5 there is a Queen in the fifth row of column 2. Now we simply assure that there are no duplicate values stored in the R array. For two Queens at points (X,Y) and (X',Y') one diagonal is shared if X-X-Y-Y', while the other diagonal is shared if X+X-Y+Y'. The last three of these conditions may be tested in a single BASIC statement (see line 620 of the accompanying program listing 3). It should be evident that the four conditions defined above did not come from a hit or miss process. It is clearly more efficient to use eight stored values than to use 64. Clearly it is more efficient to do a single test on all possible pairs in an 8 element array than to roam about a chessboard setting flags and later testing them. The accompanying program generates solutions in exactly the same order that Terry Smith's program does, because it uses the procedures suggested by him in his article.

The program in listing 3 ran to completion on a timeshared PDP-11 /70 in about 2 minutes. On a Cromemco it printed the first solution in 44 seconds and ran to completion in less than 14 minutes. Terry Smith's program, when run on the Cromemco, printed the first solution in 3 minutes and 18 seconds and printed the 92nd solution in 1 hour and 9 minutes. But the best time was logged by coding our solution in FORTRAN. That ran to completion on the Cromemco in less than 30 seconds. Imagine what an IBM 370 would do.

Possibly Terry Smith's greatest oversight in his search for an efficient program to implement his excellent algorithm is that his program has no termination! When will people realize that efficient, elegant code is not complicated and filled with mystery and magic? Efficient, elegant code is simple, clear and often short."

140

February 1979 ©BYTE Publications Inc

16KPLUS

HIGH RELIABILITY

MEMORYBOARD

FOR THE S-W BUS

NEW STATE-OF-THE-ART LEADER..

Fully meets proposed IEEE Standard

IDEAL FOR CROMEMCO 64KDISC SYSTEMS

Specially designed for the new high speed disc systems using DMA and Time Sharing

• Bank Select

This feature allows running up to 512K of RAM and multiple users on your system. It is fully compatible with Cromemco software, using output port 40H.

• High Reliability

Reliability begins at Seattle Computer Products with proper design. All inputs to the board have Schmitt triggers which provide superior noise immunity. Next, we select only first quality components for assembly. To catch infant mortality, we test all boards following assembly, fully burn them in, and then retest at full operating speed. Rigorous quality control is used throughout the manufacturing process.

250 nsec. chips — $495

Z-80A 4 Mhz. Fast—This fully assembled and tested 16K board was designed to operate without wait states in a 4 Mhz. Z-80A system allowing over-generous time for CPU board buffers. It "loafs along" in slower 8080 and 8085 systems.

450 nsec. chips — $465

For 2 Mhz. Systems — Same circuit as above but priced lower because of less expensive memory chips. It is fully assembled, burned-in, tested, guaranteed.

Guaranteed — Parts and labor guaranteed for one full year.

• Fully Static TMS 4044

These Texas Instruments 4K by 1 fully static memory chips require no critical clocks or refresh. They allow a straight-forward, clean design ensuring S-100 bus DMA compatibility.

See at your local computer store

This product offered to individuals only through computer stores. If your local store does not carry the 16K PLUS RAM, call us for the location of our nearest dealer.

* Parallel Addressing Feature

You may choose to locate blocks of RAM at more than one address simultaneously. This feature is ideal for mixing North Star software, which begins at 2000H, with other software beginning at 0000H. With parallel addressing you can locate blocks of RAM in the lowest 8K and at some higher address at the same time.

fSe

Seattle Computer Products, Inc.

*-1"^ 1114 Industry Drive, Seattle, WA. 98188 (206) 575-1830

Circle 324 on inquiry card.

BYTE February 1979 141

William Rubenstein

500 Rebecca Dr

St Charles MO 63301

APL Permutations

Terry Smith's article concerning the eight Queens problem was a disappointment. The problem has been treated instructively and solved elegantly by Wirth (in Algorithms + Data Structures = Programs), and the muddy, unorganized approach to a solution taken by Mr Smith demonstrates poor problem solving skills which should not be perpetuated. His inability to write a program which generates permutations is to be expected.

I am offering a permutation function in APL. Input to the function consists of two vectors, X and Y. X is the left side (or the high order end) of a partially completed permutation. Y is the set of available symbols to be concatenated with X. At statement 1, I (a local variable) is initialized to 1. If Y contains only one element, statement 2 will be executed next, else statement 4. At statement 2 the completed permutation (Y concatenated with X) is displayed and the function is exited at statement 3.

At statement 4 an element of Y is concatenated with X and becomes X to a recursive invocation of the function. The Y for

Fastest EPROMErasing!

WITH RELIABLE JjPECTROLINE ® SYSTEMS

Whether you're erasing one EPROM chip or a thousand, you'll want the latest and most advanced UV erasing system available. We have seven high performance systems to match your specific needs and your pocketbook. Prices start at $59.50. You can erase safely and completely in as little as 7 minutes! And each system is backed by Spectronics Corporation...leader in ultraviolet technology since 1955. Write or call for more information and the name of your nearest authorized stocking dealer.

Automatic

Timer

Chip

System

Control

Capacity

Price

PE-14

No

6 $

59.50

PE-14T

Yes

6

84.50

PE-24T

Yes

9

114.50

PR-125T

Yes

16

259.00

PR-320T

Yes

36

425.00

PC-1000

Yes

72

895.00

PC-2000

Yes

144

1,345.00

220 VOLT UNITS AVAILABLE

D

SPECTRONICS CORPORATION

956 BRUSH HOLLOW ROAD, PO BOX 483 WESTBURY, NEW YORK 11590 516-333-4840

the recursive invocation is all elements of the set Y with the exception of the one which was concatenated with X. Further recursive invocations will eventually reduce the set Y to one element and cause output of a completed permutation. Statement 5 steps the local variable I and causes a return to statement 4 until each element of Y has been processed.

In an initial invocation (see listing 4), X is an empty vector and Y contains all symbols of the set to be permuted. The method assures a systematic and complete production of all permutations. The Y vector may be either numeric or alphabetic.

My solution is a "first cut" at the problem. I am certain that much better solutions will occur to me and are known to others. A nonrecursive solution can be found in Dr Dijkstra's book A Discipline of Programming.

It could be that Smith's problem stems from his choice of the BASIC language, whose lack of recursiveness and local variables (among other deficiencies) presents constant barriers to problem solving. I recommend APL or Pascal to him. I also recommend that he find some different "software experts" with whom to consult."

Listing 4.

V X PERM Y;J [ 1 J -tlMd-ll/pl'

[2] x,y

[ 3 1 ->0

[4| L:(X,Y[.I] )PERM(.T*\pY)/Y

[5 j •*( (pnai<-r+i)/£

PERM 'ABCD'

ABCD ARDC ACHD ACDR ADHC ADCB BACD RADC BCAD BCDA BDAC BDCA CARD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA

142 February 1979© BYTE Publications hie

Circle 359 on inquiry card.

STARVING FOR SOFTWARE?

Hayden serves up a feast for software hungry people!

Available now are Hayden Computer Program Tapes — complete, ready-to-run programs on cassettes, compatible with these best-selling machines: PET, KIM, TRS-80 Level I, TRS-80 Level II, Apple II, andExidy's Sorcerer. Full documentation is available with each tape or in separate guides.

Right now, these tapes are available:

SARGON: A Computer Chess Program (the winner at the 1978 West Coast Computer Faire Chess Tournament)

Game Playing with BASIC (27 game-playing programs on 3 cassettes)

How to Build a Computer-Controlled Robot

(the 5 control programs for a computerized robot)

'The First Book of KIM (28 recreational and 13

utility programs to be used with the KIM-1) ^General Math (9 programs covering basic math

topics)

^Complex and Matrix Math (8 programs on these two advanced topics)

^Introductory Engineering Math (8 programs on basic engineering math topics)

run * Available now

1 ^ 1 at your local computer store!

Hayden Book Company, Inc. 50 Essex Street, Rochelle Park, NJ 07662

Circle 1 58 on inquiry card.

BYTE February 1979

143

The Queens Encounter MUMPS

Listing 5.

Frank Freeman 7265 W Pineview Dr Littleton CO 80123

I enjoyed reading the solution to the eight Queens problem by Terry Smith. The method is, indeed, very nonstructured. So, I hope not vindictively, I did it with a structured method. That is, I coded the solution in eight lines of MUMPS code (see listing 5); and ran it on my microNOVA. The computer printed the 92 solutions in 1 5 minutes 30 seconds.

A

F

S

R

D

T

S

S

U

I

S

P

w

A=1:1:8S Q(A)=0,H(A)=0 F B=1:1:8S D(A~B)=0,E(A+B)=0 A=1,B=0,Q(0)=0 T,U G:A R Q

B=B+1 Q:B>8 G:H(B)!D(A"B)!E(A+B) T Q(A)=B,H(B)=1,D(A-B)=1,E(A+B)=1 Q B<9 S A=A+1,B=0 Q:A<9 D P A=A-1,B=Q(A),H(B)=0,D(A-B)=0,E(A+B)=0 Q ! F J-i:1:8WQ(J)

Here is the structure, as after writing the program:

verbalized it

A: initialize the test points. There are eight vertical columns; eight horizontal rows; and 30 diagonals, all set to "false."

R: main loop. Exit: no more solutions.

T: test a column for the next nonattacked point. Valid, set test points to "true." Invalid, top of row: B=9.

U:try another column. Valid test: next column: A=A+1. If A is greater than 8, print result, and "fall thru" to invalid test: back up a column and set its test points to "false."

P: print result.

Voila! A return blow from structured programming. My MUMPS which combines the interpreter, a data base handler, and an operating system cost $3000."

SPECIALIZING IN

QUALITY MICROCOMPUTER HARDWARE

INDUSTRIAL • EDUCATIONAL • SMALL BUSINESS • PERSONAL

BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT

Irnkh,;,!

I/O

t

Wmr

2K ROM 2K RAM

3 Serial Ports 1 Parallel Port

16 K RAM

FULLY STATIC MEMORY

ECT-100-F

RACKMOUNT CARD CAGES

POWER SUPPLIES, CPU'S, MEMORY, OEM VARIATIONS

763 RAMSEY AVE. HILLSIDE, N.J. 07205

ELECTRONIC CONTROL TECHNOLOGY ami m-soso

144 February 1979 0 BYTE Publications Inc

Circle 120 on inquiry card.

Write bug-free code faster in BASIC, FORTRAN, or COBOL with our unique software development system

Enjoy a bonus in better documentation and easier modification, too

Yes, you really can get flawless code faster, using the Stirling/Bekdorf™system of software development tools with structured programming concepts. Not only does the system help prevent errors, it also helps you trap errors you do make, quickly.

Each tool is human-engineered to do its job better. Every step in the programming process, from initial logic design through print-out or display layout, flows more smoothly with the Stirlrng/Bekdorf system. Designed to make fullest use of structured programming concepts, our software development tools are human-engineered to reduce initial errors, improve de-bugging speed, and aid concept communication.

When you use "top-down" structured programming, the first part of our system to help you is the 78F2 Flowchartrix™ no matter what language you're using. You use it first to lay out your original concept blocks. Then you use it to write a finely detailed flowchart quite smoothly.

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

Unique matrix can show your loops AS loops. The 7 x 11 matrix gives you a central column to use for executive control logic, plus 3 columns on each side to describe loops and subroutines. In fact, these 3 columns on each side give plenty of room to write loops laid out visually as loops (sort of a squared circle). This makes loops and subroutines easier to recognize, because their form is readily apparent at a glance. Since they're easier to find, and may even 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 point for each cell makes your program much easier to describe clearly.

With Flowchartrix, you don't need a shape template to draw remarkably regular logic symbols. Guides for the most-used logic symbols are right in each matrix cell. They help you draw most standard flowchart symbols entirely free-hand. With 78F2, your pencil can fly as fast as you can write, without interruption. When a flash of insight strikes, now you can keep your pen on paper, flowing rapidly from one step to the next without breaking to pick up a template.

78P4 Print-Out Designers are the next step. When you finish flowcharting, you're ready to lay out the printed reports your program will generate. This helps you focus your thinking on the end result to be produced from all your effort. Then when you begin to follow the flowchart to write actual code you'll be ready to blaze through the report generation segments right along with the sorts and computations.

Unique 70 x 160 matrix accommodates even proportional-spacing word processor formats. The 160-column width can handle practically any printer format. The 78P4 is big, 14'.s x 22 inches, because we've scaled the cell size to human writing comfort,

Circle 352 on inquiry card.

not machine print. Each 78P4 character cell is 3mm wide by 5mm high, giving nearly twice the characterwriting area of other printout design sheets. Special markings at columns 80, 96, and 132 show you the relative position of each printed character. Scaled page length arrows reference the last possible printed line for standard 8'2" and 11" paper (for printers with 6 vertical lines per inch).

Special 5-coliimn area records the program line number of the code which creates each printed line. This unique feature makes the control code much faster to debug and modify. It shows, at a glance, exactly which line of code creates each line of your report, saving hours of needless search time when you must make a change in the report format (and don't you always have to. sooner or later7)

Now you've done your flowcharting and planned the printed reports, you're ready to write the cleanest code you've ever created. And Stirling/Bekdorf's 78C1 Combination Coding/CRT Layouts will help you do it faster. If you're using separate coding forms and CRT layouts now, you'll really enjoy the improvements we've designed for you in the combination 78C1.

Every sheet gives you 2 form uses for the price of one. When display layout and line folding points aren't critical, use 78Cl's full 28 line x 80 column grid area for regular program steps. Then for interactive or instructional sections, to plan display layouts simply keep your characters within the appropriate CRT indicator lines, and you'll automatically Know where every character will show on your CRT screen.

Gives you 4 extra coding lines on every sheet. Full 28 line x 80 column coding capacity saves you 14 sheets out of every 100, comparer] to 24-line forms. 86 sheets hold more program steps than 100 sheets of any 24-line form, yet we offer fullsize 6mm x 3mm grid blocks to give you comfortable writing room and visual space between lines.

Works with your CRT display, no matter what brand you own. Equipped for both 16 line x 64 column and 24 line x 80 column display formats, 78C1 is compatible with your video terminal.

Available in three separate versions (one for BASIC languages, one for FORTRAN, another for COBOL), the 78C1 is so powerful we include a 7page instruction manual with every order, to help you discover every facetofitsunmatchedcapabilities.

Every tool in the Stirling/Bekdorf system is surface-engineered to take both pen & pencil without blotching. Our tough, extra-heavy, 22# paper is pure enough to use with critical magnetic ink character readers, although you'll probably never use it that way. We use it because it gives crisp, sharp characters whether you write with pencil or plastictip pens.

Every part of our system uses eye-comfortable soft blue grids. All grid rulings, tints, and division rules are reproduced in a special shade of blue. We chose it because it's easy on your eyes, even after hours of continuous programming. If you write software as a professional programmer, you'll particularly appreciate the improvement over the green lines you've been writing on.

A 3-ring binder is one more of our secrets for your success. Every tool in the S/B system is designed to work together in a standard 3-ring binder. All your notes, logic concepts, flowcharts, code, CRT layouts, print-out designs, and documentation can be kept together, in order, in one place. This saves time every time you sit down to write. It also makes debugging and modification immensely simpler. By ensuring everything you create stays together, you assure you can find the area you need to modify when the time comes, whether it's next week or next year. You can readily recapture your original train of thought by scanning your flowcharts, then go directly to the area of code you need to alter. In fact, when you use our system to its fullest, even another programmer can quickly comprehend your original thinking, so he can help you make changes or extensions.

Order your supply of the world's most advanced software development tools, right now, before you hatch even one more bug. Ask your local computer store for Stirling/Bekdorf 78F2's,78P4's,and78Cl's, or use the coupon below to get your supply

YES! Please rush the programming aids indicated below:

78F2 Flowchartrix

I1 2 pads ol 50= $7 90 + $2.85 pkng 8 shpg

D 10 pads of 50 = $34.35 + $6 45 pkng 8 shpg

78P4 Print-Out Design Sheets

D lpad of 50 - $7 45-$3.15 pkng & shpg

D 5 pads of 50-$32.10-$6.75 pkng 8 shpg

3-hole punched vinyl pockets for 78P4 Design Sheets

n set of 5 for $2.65+ $1.35 pkng & shpg □ set ol 12 for $5.00 + $1.85 pkng 8 shpg

78C1 Combination Coding/CRT Layouts

All are the same price, but please check which language

format you want:

D for BASIC □ for FORTRAN D for COBOL

n 2 pads ol 50= $6.35+ $1.95 pkng 8 shpg n 10 pads ol 50 = $26.85 + $3.35 pkng 8 shpg

Texas residents please add 5 5?o sales tax to base price. We ship UPS so P.O. Box address must give phone number Prices shown for packing & shipping are U.S A only International shipping rates are highei. write tor details.

"1 I I I

□ Sample of one sheet of each form + associated labels & literature: $2.50

Enclosed is my check for $

Name

Address

City

Charge to: □ Master Charge D Visa exp. date.

Card i

Signature—

Phone.

State.

Zip

i Stirling/Bekdorf

j 4407 Parkwood a San Antonio, TX 78218 □ (512) 824-5643

jP^ © 1978 Stirling/Bekdort Div. ot Blackman Mktg. Gp., Inc.

BYTE February 1979

.J

145

Eight Calculating Queens

Bill White

113 Wayside Ct

Cherry Hill NJ 08034

Terry Smith's article on the eight Queens problem brought back fond memories of the first time I "solved" the problem—more than 20 years ago, on an IBM 650. Just for the fun of it, I resurrected my program and adapted it to a programmable pocket calculator—the Texas Instruments SR-56. Listing 6, the resulting 100 step program, is shown. The running time for the entire set of 92 solutions is around 14 hours.

A word or two about the algorithm underlying this program—the problem becomes quite a bit simpler if it is restated from a geometric to a numeric orientation, namely:

Determine all 8 digit numbers of the

form

D, D2 D3 D4 D5 D6 D7 D8

consisting of all the digits I thru 8 such that

the absolute value of the difference of any pair of digits Da and DD does not equal the difference between their relative positions in the number, ie:

D,

DbHa

As a matter of further interest, I programmed the same approach on my Signetics 2650 microprocessor. The program, with initialization but excluding display steps, required 63 bytes of memory, and it took a little less than 4 seconds to display all 92 solutions on my screen.

I feel that four further comments on Mr Smith's article are relevant.

1. The number of unique solutions to the Queens problem is 12, not 23 as reported. This becomes more obvious when the solutions are represented as numbers rather than as geometric figures as stated

A price that's hard to beat.

Because of new technology and high-volume company sales, Central Data Corporation has reduced the price of its 16K RAM board by $40 and its 32K RAM board by $50. Plus, we now offer full 48K and 64K RAM boards. Our 16K, 32K, and 48K boards are expandable to 64K in 16K increments.

• 16KRAM—$249 • 48K RAM—$599

• 32K RAM—$425 • 64K RAM—$775 • Memory Expansion Package (16K)—$185

As always, our boards come complete—fully assembled, burned-in, and ready to use.

A product that's better than ever.

We've also made improvements to our board's design at no extra cost to you.

• Deselectable in 2K increments. Our deselect feature enables you to switch off any 2K to avoid overlap with your existing memory.

• Fully socketed memory. This feature enables you to expand the memory board yourself.

• Plug selectable addressing. Now you can readdress without soldering.

■fill

Central Data Corporation's RAM Board

Standard Features

• Power-saving dynamic board with on-board invisible refresh

• One-year guarantee on parts and labor

• S-100 and Z-80 compatible

For specifications and other information, or to place an order, contact:

Central Data Corporation

P.O. Box 2484, Station A

Champaign, 1L 61820

Ph.(217)359-8010

146

February 1979 © BYTE Publications Inc

Circle 45 on inquiry card.

MEMORY SALE! have it your way

16K $295.00!! (450 NS) $327.00!! (250 NS)

32K $485.00!! (450 NS) $549.00!! (250 NS)

ASSEMBLED AND TESTED ONLY ! Check features before you buy any other memory

• Extended addressing allows board to exist anywhere • Static, of course

• Phantom line

• Each 4K block locateable anywhere

• Fully tested and burned in for 48 hours ADD-ON MEMORY CHIPS - $4.95 EACH !! (TMS 4044 or MM 5267) - 8 Chips - Minimum order

in 1 megabyte of memory on standard S-100 bus

• LOW Power, 1.8 Amp per 16K

• 9 Regulators for perfect heat distribution

16K

32K

i - •■ •

MEMORY MANAGEMENT $135.00 ! !

• Turn banks of memory on and off

• "Sensitize" board to 1 5 CPU instructions (similar to DEC System)

• Extends addressable memory space to 1 megabyte

$195.00 ! !

Z-80 CPU

• 2 Parallel + 2 Serial Ports

• 2 MHz or 4 MHz Switch Selectable

• Baud Rates 150-9600

• Power on Jump to On Board Eprom (2708 or 2716)

VIDEO TERMINAL SIMULATOR $295.00 ! !

• Plugs into S-100 Bus and simulates all functions of a Soroc or other RS-232 type terminal. A simple video monitor such as a Sanyo or Sony TV will perform as a smart terminal by writing into an 10 Port.

• 2K Eprom, 4K Ram (2 video pages)

• Lower Case Descenders (16 x 64 or 24 x 80)

• Tabs, protected fields, home/load cursor, blink, reverse video, underline, page erase, etc.

West Coast:

ORDER NOW ! !

East Coast:

DELTA PRODUCTS

1653 E. 28th Street Long Beach, Calif. 90806

Tel. (213) 595-7505

Personal checks must clear before shipment Circle 89 on inquiry card.

SALES

&

SER VICE

NEW LENOX ELECTRONICS

1254 South Cedar Road New Lenox, III. 60451

Tel. (815)485-9072

90 clay unconditional warranty • B of A, MjC Okay

BYTE February 1979 147

before. With no convention defined for displaying a "solution," we are free to define the "home position" (1 in Di) as occupying any of the 4 corners of the chessboard. Also, we are further free to measure the digit values Di either horizontally or vertically from the home position, with the digit position i being measured in the other (vertical or horizontal) direction. Thus, each solution is one of a family of eight identical solutions (ie: the first solution, 15863724, leads immediately to the solutions 17582463, 36428571, 42736851, 57263148, 63571428, 82417536, and 84136275). The "sharp" reader will note that the total number of solutions, 92, is not divisible by 8. The reason is that one of the solutions— 35281746 in its minimum form—is partially symmetrical and generates itself as a variation.

2. Mr Smith suggests that his next problem will be to substitute "Maharajahs" for Queens, where a Maharajah combines the

moves of Queen and Knight. Inspection of the solutions will demonstrate that this is impossible—any solution of the Maharajahs problem must also be a solution to the Queens problem, and each of the solutions to the Queens problem has at least one pair of pieces that are a Knight's move apart.

3. A more interesting variation to the problem is to generalize the problem for an n by n chessboard.

4. In the 1950s, a game manufacturer had a somewhat popular game consisting of an 8 by 8 pegboard together with eight sets of colored pegs, each set a different color and consisting of eight pegs. The object of the game was to place all 64 pegs into the board so that there were no two pegs of the same color in any horizontal, vertical, or diagonal row. If you try to program this problem, you'll find it very difficult to debug. (A clue is that the game manufacturer offered a $1000 prize to anyone who could send in a solution—and he's still in business.)"

Listing 6.

LOC CODE KEY

LOC CODE KEY

LOC CODE KEY

LOC CODE KEY

Registers

0 Trial Digit

1 Solution

2 Number of digits

3 A

4 Partial solution

5 8

6 Number of solutions

00

38

01

00

02

32

03

34

04

00

05

35

06

01

07

92

08

01

09

30

10

01

11

34

12

02

13

74

14

08

15

33

16

00

17

94

18

37

19

09

20

00

21

01

22

35

23

02

24

00

CD

(rcl)

CD

(sum)

CD CZD

CD

(*prod)

CD

(rcl)

CD

CD CD CD CD) CD CD CD CD CD)

(sum)

CD) CD

Execution Notes: Load Program,

25

33

(STO)

26

03

( 3 )

27

34

(RCL)

28

01

(1 )

29

33

(STO)

30

04

( 4 )

31

01

( 1 )

32

35

(sum)

33

03

( 3 )

34

34

(RCL)

35

04

( 4 )

36

37

(*x=t)

37

00

( o )

38

03

CD

39

64

( x )

40

01

(1 )

41

00

( o )

42

74

(~1

43

12

(iNV )

44

29

(*int)

45

33

(STO)

46

04

( 4 )

47

74

CD

48

34

(RCL)

49

00

( o )

m,(

rst),( r/s),

50

94

51

37

52

06

53

03

54

28

55

74

56

34

57

03

58

94

59

12

60

37

61

03

62

01

63

27

64

02

65

04

66

01

67

12

68

35

69

02

70

34

71

02

72

37

73

09

74

09

CZ3 CD CD) CD) CD CD

(rcl)

CD

(iNV )

QD CD

(m5sz)

CD

CD CD)

(iNV )

(sum)

CD

CD) GE)

CD

CD)

75

34

76

01

77

64

78

01

79

00

80

74

81

29

82

33

83

00

84

94

85

33

86

01

87

22

88

06

89

03

90

01

91

35

92

09

93

34

94

01

95

41

96

22

97

07

98

05

99

41

^rcl

CD

CD) CD) CD

(*int)

CD) CD)

CD

CD CD CD CD

(sum)

CD)

CD CD CD CD) CD

solution. Be Patient!!

148

February 1979©BYTE Publications lnc

SYM-1, 6502-BASED MICROCOMPUTER

FULLY-ASSEMBLED AND COMPLETELY INTEGRATED SYSTEM that's ready-to-use

ALL LSI IC'S ARE IN SOCKETS

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

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

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

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

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

USER PROM/ROM: The system is equipped with 3 PROM/ROM expansion sockets for 2316/2332 ROMs or 2716 EPROMs ENHANCED SOFTWARE with simplified user interface STANDARD INTERFACES INCLUDE: —Audio Cassette Recorder Interface with Remote Control (Two

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

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

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

SEPARATE POWER SUPPLY connector for easy disconnect of the d-c power AUDIBLE RESPONSE KEYPAD

QUALITY EXPANSION BOARDS DESIGNED

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

SYM-1 User Manual Only 7.00

SYM-1 Expansion Kit 75.00

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

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

8K Basic ROM $159.00

TV Interface Board 349.00

SPECIFICALLY FOR KIM-1, SYM-1 & AIM 65

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

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

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

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

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

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

less than forty-eight hours for repair.

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

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

charge per board.

VAK-1 8-SLOT MOTHERBOARD

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

VAK-2/4 16K STATIC RAM BOARD

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

VAK-2 16K RAM Board with only $239.00

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

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

VAK-5 2708 EPROM PROGRAMMER

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

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

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

VAK-5 2708 EPROM Programmer $269.00

VAK-6 EPROM BOARD

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

16K of 2716 or 2516

$129.00

VAK-7 COMPLETE FLOPPY-DISK SYSTEM (Feb. '79)

VAK-8 PROTYPING BOARD

This board allows you to create your own interfaces to plug into the motherboard. Etched circuitry is provided for regulators, address and data bus drivers; with a large area for either wire-wrapped or soldered IC circuitry.

VAK-8 Protyping Board $49.00

POWER SUPPLIES

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

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

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

more. ____^_^^^^^^^_^__^^^__^^____^___^^^^___

Provides +5 VDC @ 10 Amps & +12 VDC VAK-EPS Power Supply

1 Amp

SYM-1 Custom P.S. provides 5 VDC @ 1.4 Amps $125.00 VCP-1 Power Supply

*KIM is a product of MOS Technology

$41.50

ENTERPRISES

INCORPORATED

2967 W. Fairmount Avenue Phoenix AZ. 85017 (602)265-7564

Prices in effect Nov. '78

Circle 318 on inquiry card.

BYTE February 1979

149

Technical

Fwum

Interfacing TTL

H S Hsiao 1915 White Plains Rd Chapel Hill IMC 27514

to 20 mA Current Loop

- o

GROUND o

1—^ OUT

o+ ©

o-©

^7

0 ©

<Zr

FROM TELETYPE KEYBOARD

TELETYPE KEYBOARD

- <o

LZ>

<3+ ©

<a-©

Figure I: Interface circuit for connecting a TTL compatible circuit with RS-232.

In a small computer system with an ASR 33 Teletype-compatible terminal it would be convenient to connect a video terminal or a cassette interface to work in parallel with the terminal. Figure 1 shows a simple circuit with only two integrated circuits and six resistors which can convert a 20 mA current loop format to RS-232 format or to standard transistor-transistor logic (TTL) format. This circuit uses two 311 comparators, one in parallel with the wires to the printer and one in series with the wires from the keyboard. The 311 chips allow this circuit to be used with a microprocessor voltage range of ±15 V. Consequently, this circuit can be directly used with most types of 20 mA current loop interfaces.

The circuit shown is designed to interface with standard TTL levels. For example, this can be connected to a cassette interface board (S D Sales) to make your cassette look like a paper tape punch/reader. If you use it in this way, a switch can be installed, shorting A to B in order to eliminate the echo to the microprocessor during record. This switch is then opened during play. It is also possible to operate without a Teletype altogether by installing a switch which places a 15 ohm resistor across the printer wires (C and D) and shorting the keyboard wires (E and F).

In order to convert this circuit to RS-232, simply reconnect pin 1 on the 311 (A) from ground to -5 V. If your system uses ±1 2 V then put -12 V on pin 1 instead of -5 V and connect the pull up resistor (1 k located at pin 7) to +12 V instead of +5 V. If your microprocessor system only uses a positive supply to generate and receive the 20 mA current loop, then it is possible to save the negative power supply. Just use ground instead of the -1 5 V supply to pin 4 of both comparators."

150 February 1979 © BYTE Publications Inc

First Time Offer for the Micro Market

Go First Class

MODEL 501

DATA-SCREEN® TERMINAL

A NEW LOW COST, MICROPROCESSOR CONTROLLED CRT TERMINAL

QUALITY — APPEARANCE ECONOMY

ONLY $995.00 (QTYi)

DELIVERED CONT. USA

90 DAY WARRANTY GUARANTEES YOU YOUR EQUIPMENT WORKS PROPERLY

1 YEAR EXTENDED WARRANTY AT SPECIAL RATES

p^ Our Specifications Before You Buy

DISPLAY

SCREEN CAPACITY, CHARACTERS

SPECIFICATIONS

INTERFACE

2000

CHARACTERS PER LINE 80

NUMBER OF LINES 25

SCREEN P4 phosphor (white)

TU8E SIZE(DIAGONAL) 12 inches (30.4 cml

VIEWING AREA 54 square inches (137.1 cml

CHARACTER SIZE 0.20" high x .08" wide (5.08

mm high X 2.03 mm widel

REFRESH RATE 60 Hz (50 Hz available!

SCAN METHOD Raster

CHARACTER GENERATION 5 x 7 character in an 8

x 10 dot matrix CURSOR Blinking block

MEMORY

TYPE Random Access Memory

CAPACITY 2000 characters

OPERATOR CONTROLS

POWER ON/OFF SWITCH On rear of unit

BRIGHTNESS CONTROL On rear of unit

POWER REQUIREMENTS

DATA FORMAT

DATA BITS 7 serial, asynchronous

DATA BIT 8 1,0 or deleted

PARITY Odd, even or deleted

with error displayed as

DLE STOP BITS 1 or 2

DATA TRANSFER RATE 50,75,110,134.5,150,

300.600, 1200, 1800, 2000, 2400. 3600, 4800, 7200, 9600 BAUD

STANDARD FEATURES

INVERSE VIDEO Operator or software

selectable

TRANSMIT MODES Half or full duplex (switch

selectable)

DATA ENTRY Top or bottom line

END OF LINE BELL Switch selectable

CURSOR POSITIONING X-Y

CURSOR ADDRESS Load and read

DISPLAY ABLE CHARACTERS 126 (including space)

CURSOR CONTROLS Up. down, left, right.

Model 501 Model 502

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

AUTOMATIC ROLL-UP . . AUTO CARRIAGE RETURN AND LINE FEED

home, return Switch selectable

Switch selectable

MONITOR MODE Special "Monitor" Mode

NATIONAL DISTRIBUTOR FOR

allows display of control codes (first two columns) of ASCII Code Chart).

>»\VV

DEALER NETWORK IS NOW BEING SET UP - YOUR INQUIRY IS INVITED

VISA'

master charge

^

OLDEST INDEPENDENT

COMMERCIAL CRT TERMINAL

MANUFACTURER

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

918 - 622-1058

Circle 364 on inquiry card.

BYTE February 1979 151

Circle 382 on inquiry card.

MORE BANG

BUCK

The PERKIN-ELMER BANTAM

$799.00

All the Features of the Hazeltine 1400 & LSI ADM-3A Plus

Upper/Lower Case 7x10 Char. Matrix White or Black Char. Transparent Mode

Tab Function Backspace Key Shiftlock Key Print Key

Integrated Numeric Pad

Cp4- I .0 I per month Lease-Purchase

$1095.00

TELETYPE MODEL 43 KSR

with RS232

10 or 30 CHAR/SEC

132 COLUMNS

UPPER/LOWER CASE

USR-310

Originate

Acoustic

$149.00 Coupler

0-300 Baud Stand Alone

Crystal Controlled RS232

^rtftk USR-330 1 A Originate

N3 ^ Auto-Answer

^ $324.00 Modem

FCC Certified for Direct Connection to Phone Lines USR-320 Auto-Answer Only Modem $299.00

All Units include a 120 day warranty. Optional Maintenance package available

Any Product may be returned within 10 days for a full refund.

U.S. RDBDTICS, INC.

1035 W. LAKE ST.

CHICAGO, ILL. 6D6D7

Sales (312)733-0497

General Offices (312) 733-0498 Service (312)733-0499

152 February I979© BYTE Publications Inc

Continued from page 10

have RATFOR for the PDP-lls in the Engineering Faculty and the main UNIVAC 1100/10, the latter which the author did. The penalty in machine code length works out to only 5% to 10% while compilation time is roughly twice (once through RATFOR and once through FORTRAN). This is offset by the need for less recompilation. In fact, getting a program to run first time is no longer a matter of luck.

I wholeheartedly support Pascal, but if your favorite computer (or local installation) does not have it yet, don't despair. As an interim solution, get a copy of Software Tools and write a RATFOR preprocessor. You may, as I did, learn a few things about language translation in the process.

I feel that users of RATFOR can make the transition to Pascal painlessly. Perhaps people could be weaned off FORTRAN in this way? Incidentally, the rest of Software Tools is very readable and gives good code for utilities such as an editor and a text formatter.

One small grouse: I feel that braces make better block markers than begin . . .end tokens as they clutter the page less.

Sue-Ken Yap

4 Pesiaran Syed Putra

Kuala Lumpur 08-06

MALAYSIA

USE OF DESCRIPTIVE VARIABLES

I would like to make one criticism about the Pascal program, Chess 0.5, by Peter Frey and Larry Atkin ("Creating a Chess Player, Part 2: Chess 0.5," November 1978 BYTE, page 162). Although their program was not written solely to demonstrate the merits of Pascal as a programming language, it remains an important showcase of the language. In addition, I feel thai people unfamiliar with the language should realize how a minor change can improve the program and demonstrate more fully the power of the Pascal language.

The one change is to use long, descriptive procedure and variable names throughout the program thus following the spirit and letter of the Pascal language definition. By doing this, ZK becomes MAXSCHDEPTH and ZW becomes MOVESTKLIM. The increased readability is obvious. Readers who feel that the advantage gained by using longer names is not worth the increased coding and program entry effort will find that effort more than repaid when the program has to be corrected or extended sometime in the distant future, usually not by the original programmer.

Incidentally, I have just received confirmation that UCSD Pascal is now up and running on an Apple II.

Paul Kelley

The Analysts

4120D Directors Row

Houston TX 77092"

ADVERTISE YOUR PROGRAMS IN OUR NEW

Computer

Software

Directory

FOR AS LITTLE AS $20/YEAR! EVEN IF YOU ONLY HAVE ONE PROGRAM TO SELL, WRITE:

CYBERTRON P.O. BOX 5056 BETHLEHEM, PA.18015

Circle 88 on inquiry card.

CONTROL ON-OFF DEVICES

from your computer with the

2YR LINK®

11 Bit Serial on 2 wire link 110 baud in excess of 2000 ft.

Select 110 to 4800 baud.

Control up to 1000 channels

All CMOS but output driver

Verifies status of output

Relay output for 115 VAC

from

REMOTE STATION CONTROLS

217Minnetonka Ave.

Wayzata, MN 55391

(612)473-1225

Circle 361 on inquiry card.

I

Special Sale!

£ CRT's $695 2

s

V,

^ We Buy-Sell-Trade all brands & ^

Sj models of Data

Processing

Equipment.

*s£%>- T

Hazeltine 2000 110 thru 9600 Baud Editing Detached Keyboard TTY or Batch Modes 74 Col. x 24 Lines Format, Auto-Tab

Nearly a million dollars in inventory Call for price quotes

< 214/357-5725

^ U.S. BROKERS CO.

^> I A Division of CM Corp.

2636 Walnut Hill Lane Suite 347 Dallas, Texas 75229

m

^mmmmmm

Circle 383 on inquiry card.

BITS

Books to eroso the impossible

Presents . . .

A Programmer's Delight

PRACTICAL MICROCOMPUTER PROGRAMMING: The Z80 by W J Weller. □ Here from W J Weller and Northern Technology Books is the third in the Practical Microcomputer Programming series. It is a comprehensive text covering assembly language programming for Z80 based microcomputers. The first 16 chapters cover Z80 programming comprehensively, from binary operations to interrupt handling. Included are chapters on moving data, logical and arithmetic operations, use of the stack, communications with the terminal, floating point arithmetic and graphic output. All programming techniques are illustrated with formal tested examples. An important feature of the book is that it uses the universal standard 8080 mnemonics. This is of great help to users who are upgrading their machines and software to utilize the Z80 processor.

The last part of the book is software; an editor/assembler which will run on any 8080 or Z80 machine, and a debugging monitor. Paper tape object copies of this software are supplied free to the purchaser of this book. A valuable book for the Z80 generation. 481 pp. $29.95.

AN EDITOR/ASSEMBLER SYSTEM FOR 8080/8085 BASED COMPUTERS by W J Weller and W T Powers.

Q This 148-page book contains complete information for initializing and using a powerful new editor/assembler and debugging monitor system, and the full SOURCE text of both. The assembler fully supports all Intel instruction mnemonics as well as the entire language used in Practical Microcomputer Programming™: The Intel 8080. The editor/assembler is resident in less than 8K RAM and will run on any 8080, 8085 or Z80 based computer with peripherals which transfer on a character by character basis or can be made to do so by buffering. The user supplies his or her own I/O drivers. The text editor is extremely simple to use and does not require irrelevant line numbers. Also included is a program to convert Processor Technology™ format tapes to a format useable by the editor/assembler.

This system is not the usual "quickie" software, riddled with errors and limitations, but a professionally created, thoroughly tested and debugged system. At $14.95 it is the best software bargain you are ever likely to see.

AND BY THE WAY. . . paper tape object copies of all this software are sent FREE to book purchasers when the coupon at the back of the book is returned to Northern Technology Books. 8% x 11 format. $14.95.

ASSEMBLY LEVEL PROGRAMMING FOR SMALL COMPUTERS by W J Weller. □ This is one of the most professionally produced books we've seen. From front cover to back, it is clear, detailed, and beautifully produced. Using a pseudo mnemonic assembly language, Walter Weller takes you inside the whys and hows of table referencing, data stacks, number conversions, floating point arithmetic, and much, much more. Surely one of the most complete books on this topic, Assembly Level Programming for Small Computers is a must for the serious small systems user. $15.95 hardcover.

, t^W jpi"^ ■

PRACTICAL MICROCOMPUTER PROGRAMMING: THE INTEL 8080 by W J Weller, A V Shatzel, and H Y Nice.

□ Here is a comprehensive source of programming information for the present or prospective user of the 8080 microcomputer, including moving data, binary arithmetic operations, multiplication and division, use of the stack pointer, subroutines, arrays and tables, conversions, decimal arithmetic, various I/O options, real time clocks and interrupt driven processes, and debugging techniques.

This 306-page hardcover book is well worth its $21.95 price and should be in every 8080 or Z80 user's library.

PRACTICAL MICROCOMPUTER PROGRAMMING: THE M6800 by W J Weller.

□ This second volume of the Practical Microcomputer Programming series addresses the problems of applications programming at assembly level for the M6800. In 16 chapters and more than 100 formal examples, the fundamental techniques of assembly level programming are applied to the solution of specific problems with the 6800. Nowhere theoretical, it is a thorough and detailed methods text for the beginning and intermediate application programmer using the 6800. $21.95 hardcover.

[^®®iJS§lS®Ij?(l? 25 Route 101 West, Peterborough NH 03458

BITS

For your convenience in ordering, please use this page plus the order form on page 161. You may photocopy this page.

DIAL YOUR CHARGE CARD ORDERS TOLL-FREE 1-800-258-5477.

BYTE February 1979 153

Unlimited Precision Division

Jef Raskin 10696 Flora Vista Cupertino CA 95014

The Apple II, which I own, is a fine computer, especially since most programs that interest me get along quite well with integer arithmetic. Text editing, graphics, and the music programs I experiment with have little need of decimal notation or quantities. Besides, if I really need numbers like 3.14159 I can always load Apple's Applesoft BASIC which has floating point arithmetic.

The problems involved in using integer arithmetic show up occasionally when I need to perform a division, though. If you add, subtract or multiply two integers, you get an integer. But if you divide one integer by another, you may or may not get an integer result. From a mathematical standpoint, integers are closed under addition, subtraction, and multiplication, but not under division.

I started to write a program to do real division on the Apple II. I thought it would be difficult, but it turned out to be very easy. Let us say you want to divide X by Y and print the answer to N decimal places. Listing 1 does the job, assuming X, Y and N are defined elsewhere.

Line 1020 determines the integer portion of the quotient. If X is 10 and Y is 3, Q is calculated to be exactly 3. This is, after all, integer division. Since we have the whole number part of the answer, line 1030 prints it. The semicolon means leave no space between the item just printed and the next item to be printed. The next item is a period (used as a decimal point). The final semi

1020 Q=X/Y

1030 PRINT Q;".";

1040 X=(X-Q*Y)*10

1050 Q=X/Y

1060 PRINT Q;

1070 N = N-1

1080 IF N>0THEN GOTO 1040

1090 END

Listing I: The BASIC program for unlimited integer division is really quite simple. It is explained fully in the text.

colon makes sure that the rest of the answer will be printed immediately after the decimal point.

Line 1040 is the heart of the routine. It does what you do in long division. The original value of Q might not be exactly the right answer. Q is most likely too small (at best it is exactly right). By how much is it too small? You can find out by calculating the quantity QXY, and then subtracting that from X. In other words, check the division by multiplication (QXY) and see how much it missed X by subtraction. The quantity X-(QXY) is also called X MOD Y or, more simply, the remainder obtained after dividing X by Y. If your BASIC package has a modulus (MOD) function (as the Apple II BASIC does), you can simplify line 1040 to:

1040 X = 10(X MOD Y).

In long division, any remainder is handled by writing it down, and putting a 0 after it. Try performing a division and see. In the computer, multiplying by 10 puts a 0 after a number. Line 1040 imitates what you do by hand. Then, in line 1050, the remainder multiplied by 10 is divided by the original divisor, Y. This gives us the next digit, which is printed in line 1060. The next two lines merely count how many digits have been printed and stop the program after N digits. If you take lines 1070 and 1080 and replace them with:

1070 GOTO 1040

then you get truly unlimited precision. As long as you keep the computer running, it will turn out digits and they will all be correct. In the Apple II this means that no calculation ever exceeds 32,767. This is most likely to happen in line 1040. If you are using the modulus function, this can happen without getting a message and an incorrect result can appear. With the original line 1040, either the answer is exactly correct or the program halts.

If you experiment with this program,

1 54 February 1979 © BYTE Publications Inc

introducing

YOUR NEW LIFE STYLE!

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

■ Increase your personal capabilities

• Save money

• Improve your ability to plan

• Locate important facts quickly ■Eliminate the drudgery of routine

chores

These all add up to a better life style for you! . A new way of living which can be more pleasant, bring you more happiness and success.

Information. That's the key. Your command of information is what gives you the power to succeed.

Information For What?

Information you need to make decisions ... to solve problems ... to seek creative solutions in real life situations. Information that when under your control will amplify your personal abilities.

You've Heard of the Information Explosion?

Now it's time for an explosion in your personal capacity to deal with a wealth of information. The personal computer is the answer. And now the means is available for you to use it to your personal advantage.

Can a Computer Really Do It?

You bet it can! The power of a personal computer is fantastic. Untold amounts of information can be processed in the blinking of an eye. Chores you've found laborious can be done by your simple command. Facts that have taken hours to find can now be located at the snap of your finger. That's what a personal computer can do . . .

.. . if YOU know how!

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

Until now only the programmers and designers could make such profitable use of the personal computer. PIMS — the Personal Information Management System — has changed that. You don't have to be a programmer to use PIMS. PIMS is a program which you type into a personal computer. Then

it's just a matter of following the instructions for setting up your own tasks for computer assistance.

Can It Really Be That Easy?

Sure. That's the beauty of a program for information management. It's an alternative to programming from your standpoint. All you do is define the job you want the microcomputer to do. Express yourself in simple commands and statements. Then the microcomputer plus PIMS does the rest.

What Can It Do?

PIMS will enable you to function with increased effectiveness. Use it to balance your check book. It can keep an inventory of your possessions. (Ever store something and afterwards forget where? PIMS will tell you the location!) Use PIMS to plan your day, vacation, education and important life events. PIMS can tutor math, keep your personal mailing list or telephone directory. Use it to keep track of personal disbursements. It can even be used to schedule your TV viewing. And more. Much more. There's practically no limit to the type of applications.

Here's what you get.

All in one neatly bound volume,

■ The microcomputer and its potential

for personal use

■ Ways in which your microcomputer

can be helpful in everyday life and serving basic personal needs

■ PIMS — Personal Information Manage

ment System. All the basics and jargon • PIMS program outline and flow chart

■ 15 sample ways in which PIMS can

work to your personal advantage

■ The complete listing of a practical

functional program. Written in BASIC language. Ready to use!

The PIMS program was prepared by SCELBI using Microsoft! compatible BASIC as used in a wide variety of personal computers. Systems like Apple II, Radio Shack TRS-80 (level II), Ohio Scientific 400 and many other small computer systems.

Don't Have a Computer?

Even if you are still just thinking about getting your own personal computer, you should have this book. It will show you in clear understandable terms what you'll be able to accomplish with your own microcomputer.

Is the Message Clear?

: ttHMULE

ment System can help you. If you're interested in understanding what role a computer can play in enhancing your life style, get PIMS. It will give you the inside track for getting the most out of a personal computer system.

Get Yours!

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

Don't Wait.

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

*Prices shown are for North American customers. Pricing, specifications, availability subject to change without notice. Personal checks may delay shipment. IMPORTANT! Include 750 postage/ handling for each item to be delivered by U.S. Mail Book Rate, or $2 for each item to be shipped First Class or UPS.

t A trade mark of Microsoft, Inc.

| SCELBI Publications ,P.O. Box133PPSTN

■■F Milford, CT 06460

YES! I want PIMS. Enclosed is $9.95 plus 750 postage/handling. Or, better yet, please charge my Master Charge or VISA account:

© 1978 SCELBI Publications

Circle 77 on inquiry card.

□AM YOUR COMPUTER

Data

Acquisition sy Modules

Cm,

NOW your computer can listen to the

REAL WORLD YOU GET 16 8 BIT ANALOG INPUTS WITH OUR AIMit.

AIM 161 STARTER SET

AIM161

P0W1 ICON

MEASURE - RECORD - CONTROL

POWER MODULE

INPUT CONNECTOR ■ 20 PINS SOLDER EYELETS

OUTPUT CONNECTOR IB PINS SOLDER EYELETS

TEMPERATURE

DIRECTION

PRESSURE

LIGHT LEVELS

db

POLLUTION CONTROLS

DARKROOMS

HUMIDITY

LIGHT

JOYSTICKS

ENERGY CONSERVATION EQUIPMENT

GREENHOUSES

SPEED

WEATHERSTATIONS

NOISE POLLUTION

pH

EARTHQUAKE TREMORS

VELOCITY

ACCELERATION

GAMES

S5f

ImkAmiiicud

•189.00

CONNECTICUT microCOMPUTER

ISO POCONO ROAD ■ BROOKFIELD. CONNECTICUT 06804 1203) 775 9659

10 0 2 2 9 3 5

7 7 9 8

16 5 1

3 7 6 14 6 7 8

89908256

8 8 0 7

3 3 9 4

4 9 5 4 12 8 4

40366972

4 7 7 0

6 4 2 2

0 18 3 4 8 6 2

3 8 5 3 2 1 10

0 9 17

4 3 11

92660550

4 5 8 7 15 5 9

6 3 3 0

2 7 5 2

2 9

Table 1: The result of dividing the number 43 7 by 436. The last three

digits (229) begins the

repetition

sequence.

Quite often, dividing

two numbers which are

very close

to each o

'her produces interesting

repetition patterns with

>ery long periods.

0100 PRINT "THIS PROGRAM DOES A VERY LONG, LONG DIVISION"

0110 INPUT "WHAT IS THE NUMBER TO BE DIVIDED? (THE NUMERATOR)" ,X

0120 INPUT "WHAT IS IT TO BE DIVIDED BY? (THE DENOMINATOR)" ,Y

0130 PRINT "HOW MANY DECIMAL PLACES SHOULD THE ANSWER (THE QUOTIENT)"

0135 INPUT "BE CARRIED OUT TO" ,N

0140 GOSUB 1020

0150 GOTO 110

Listing 2: This is a demonstration program which will allow you to input any two integer values and have the result printed on an arbitrary precision.

you will find that most decimal expansions of fractions repeat rather quickly. 1411 divided by 999 is 1.412412412 with the expression 412 repeating forever. More interesting is the quotient of 437 divided by 463, shown in table 1. [Incidentally, 355 divided by 113 gives a good approximation ofn. .. .CM/ While most decimal expansions repeat quickly, every decimal expansion of a fraction is a repeating decimal. It is not too hard to prove this, but the proof is a bit outside the realm of this article.

To make this into a demonstration, I use the program in listing 2. Lines:

1090 PRINT 1100 RETURN

are added to convert the routine into a subroutine, and the request for a new numerator appears on a new line, not just after the last quotient.

[Once you 've been using this routine for a while, try dividing some prime numbers. Of particular interest is the quotient of 99991 divided by 99989. So far we have generated 2500 decimal digits for this value at the BYTE offices without encountering a repetition. . . . RGAC/"

New and Unusual SOUNDS for your Computer $149.95

The Microsounder is an S-100 compatible sound generating card that can be programmed in BASIC or assembly language. Three to five lines of code generates such sounds as: organ music, sirens, phasers, shotguns, explosions, trains, bird calls, helicopters, race cars, airplanes, machine guns, barking dogs, and many thousands more. Only a few minutes of time is needed to patch the sound code into existing programs.

The Microsounder is assembled and tested, and comes complete with sample code, two game programs, and two utility programs for creating almost any sound.

156 February 1979© BYTE Publications Inc

Circle 33 on inquiry card.

BITS

Books to erase the impossible

POB428, 25 Route 101 West Peterborough, NH 03458

Offer/ The Be/I In

Software for qour microcomputer...

MICROCHESS - by Peter Jennings - from Personal Software™

Peter Jennings has been pioneering computer chess programs for the personal microcomputer, and MICROCHESS is the mature fruition of two years of this development. With several levels of play it will sharpen your game and prove to be a challenging opponent.

MICROCHESS 1 .5 - for 4K TRS-80's

This is a 4K Z-80 machine language program utilizing every byte of available memory on the TRS-80. It displays a graphic chessboard and even flashes the piece on which the computer narrows its attention prior to making its move. Based on earlier chess programs for the 8080 and 6502 microprocessors, Microchess incorporates the improvements suggested by hundreds of users, and offers three levels of play to challenge all players from beginners to real chess enthusiasts.

Microchess can be fun on any TRS-80 and is easily loaded from cassette with the CLOAD command. Standard algebraic notation is.used to describe the moves, and a simple command lets you temporarily number the squares to assist in move entry. Every move is checked for legality, and the program even handles castling and en passant captures. You can play white or black, set up special board situations and play them out against the computer, or even watch the computer play against itself.

MICROCHESS 2.0 - for 8K PET's and 1 6K Apples

In 6502 machine language, this version of Microchess offers eight levels of play to suit everyone from beginner to the serious player. It examines positions as many as six moves ahead, and includes a chess clock for tournament play. $ 1 9.95 each. TRS-80 (4K) □ PET (8K) □ Apple (1 6K) □

BRIDGE CHALLENGER - by George Duisman — from Personal Software™

If you like to play bridge but have trouble getting four people together to play, or if you'd just like to practice a little to improve your play, this program cassette is for you. With Bridge Challenger you and the dummy play against the computer in regular contract bridge. You can let the computer deal, or set up hands for study and practice play and save them on cassette. Created by George Duisman, an expert bridge player and programmer, this program takes full advantage of the PET's BASIC and requires all of the 8K RAM to run. Standard bridge notation, like that found in books and newspaper columns, is used to help you analyze the hands. Complete instructions, including an introduction to bridge for the novice, are included in six pages of documentation. $14.95 each.

TRS-80 (1 6K Level II) DPet (8K) □ Apple (16K) □

STIMULATING SIMULATIONS - by Dr. C. William Engel — from Personal Software™ This is a set of ten original simulation games written by Dr. Engel. The games are fun, and the 64 page paperback book which accompanies the cassette giving instructions, flowcharts, program listings and suggested modifications makes Stimulating Simulations an educational tool too. The games begin on an elementary level and progress to more complex problem situations, but most can be played by schoolchildren. The program listings in the book are in PET or TRS-80 Level II BASIC but special versions of the programs are provided for Level I BASIC users. $14.95 each. TRS-80D PETD

•••now!

GRAPHICS PACKAGE - from Personal Software"™

This set of four programs provides a quick and easy way for you to use your PET for several of the most common graphics applications: plotting equations or data, drawing pictures, and creating headlines of block letters. These programs, written by Dr. Peter Maggs, make use of the PET's graphic capabilities and can provide another dimension in your personal computing. PET □

ASSEMBLER IN BASIC - from Personal Software™

Now you can write programs in assembly language for the 6502 microprocessor and have them translated to machine language for direct execution on your PET. The assembler accepts all standard 6502 mnemonics, pseudo-ops and addressing modes plus a new TEXT pseudo-op, and evaluates binary, octal, decimal, hexadecimal and character constants, symbols and expressions. You can create assembly source programs with the text editor which is supplied, and save

them on cassette. The assembler reads its source code from cassette or from DATA statements, and assembles machine code directly at any location in memory. You can save machine language subroutines in the PET's second cassette, buffer, and execute them immediately with keyboard and display input/output. $24.95 PET □

ASTROLOGY PROGRAMS - by Michael Erlewine — from Personal Software™

You enter the date, time, and place of your birth. The program computes the sidereal time on the equator of your birth and your ascendant or rising sign, midheaven, and vertex angles in degrees / sign of zodiac / minutes of arc format. The helio and geocentric planetary positions are also given,and the program will optionally calculate and display the Local Space positions of the planets, the Local Space chart for a locality shift, give the position and direction in azimuth along the horizon of any city in the world, or display the equatorial coordinates for your natal planets. You can even input the right ascension and declination of any celestial object, and the program will compute its position on the horizon or Local Space chart. This program is loaded with celestial mechanics equations, and will save you or your astrologer hours of calculating time. $14.95 PET □

SARGON - A COMPUTER CHESS PROGRAM - by Dan and Kathe Spracklen from Hayden

SARGON is the computer chess program that won the 78 West Coast Computer Faire tournament for microcomputers. Now you can run it on your own TRS-80 Level II. It is available in two forms: the book which contains the program listing in Z-80 assembly language and enough documentation to enable you to tailor and run it on your 8K Z-80 machine, and in cassette form ready to run on any TRS-80 Level II. Test your skill in this classic game; the machines are getting better! Sargon Book with listing □ $14.95

Cassette for TRS-80 Level II (with brief instruction booklet) D $19.95

DIAL YOUR BANK CARD ORDERS ON OUR TOLL-FREE HOT LINE: 1-800-258-5477.

You may photocopy this pageDealer Inquiries Invited.

For convenience in ordering, please use this page plus the order form on page

BYTE February 1979 157

Event Gueue

In order to gain optimum coverage of your organization's computer conferences, seminars, workshops, courses, etc, notice should reach our office at least three months in advance of the date of the event. Entries should be sent to: Event Queue, BYTE Publications, 70 Main St, Peterborough NH 03458. Each month we publish the current contents of the queue for the month of the cover date and the two following calendar months. Thus a given event may appear as many as three times in this section if it is sent to us far enough in advance.

February 1-3, Future Fair, Memorial Coliseum, Portland OR. This northwest regional exposition will feature both professional and personal data processing products and services. Contact WES/COM, POB 4047, Portland OR 97208.

February 1-3, Microprocessor Programming Workshop with a Take-Home Microprocessor, Jefferson Plaza Building, Arlington VA. Sponsored by the IEEE, this 3 day workshop is intended for the practicing engineer, engineering manager and programmer. The course objective is to provide state of the art information in order to acquire an understanding of the place of microprocessors as replacements for wired logic and as controllers; to provide the capability of understanding the design of systems involving microprocessors; and the ability to program the Motorola M6800 microprocessor in machine language. All students will have their own microprocessor and laboratory equipment. Contact IEEE Service Center, 2145 Hoes Ln, Piscataway N] 08854.

February 5-7, Data Processing Operations Management, Los Angeles CA.

6800 PERFORMANCE PRODUCTS FROM MICROWARE

A/BASIC COMPILER Unmatched for speed, versatility and efficiency, generates pure 6800 machine language from BASIC source. Fast integer math, strings, logical and array operations. Output is ROMable and requires no runtime package. Cassette version requires RT/68 and 8K RAM. Disk versions require 12K and have complete disk I/O statements plus other extensions. Cassette Version — A/Basic V1.0C $ 65.00

SWTPC Miniflex — A/BASIC V2.1F $150.00

SSB DOS-68 — A/BASIC V2.1S $150.00

RT/68 OPERATING SYSTEM Compatible MIKBUC replacement ROM with expanded, improved monitor plus real-time multiprogramming executive. 1000's in use since 1976.

RT/68 MX on 6830 ROM (Mikbug pin compatible) $ 55.00

RT/68 MXP on 2708 ROM (EPROM pin compatible) $ 55.00

6800 CHESS challenging chess program, two difficulty levels. Runs in 8K RAM. Mikbug-compatible object plus A/BASIC source. Specify cassette, SSB or SWTPC minidisk. CHESS V1.0 $ 50.00

DR. ELIZA 6800 version of famous MIT artificial intelligence program. Computer as psychoanalyst communicates in plain English dialog. Mikbug compatible object plus A/BASIC source. Specify cassette, SSB or SWTP minidisk. ELIZA 1.0 $ 30.00

AS-1 A/D INTERFACE.

I/O buss. Assembled.

Eight channel,

-bit high speed A/D system for SS-50

$115.00

AS-4 D/A INTERFACE Four channel 8-bit ultra fast D/A system for SS-50 I/O buss. Independent isolated Z-axis strobe output for oscilliscope or plotter graphics. Assembled. $195.00

U.S. orders add $2 for shipping. VISA and MASTERCHARGE welcome. Call or write for free 6800/6809 catalog.

MICROWARE

SYSTEMS CORPORATION

2035 East Ovid Ave. Des Moines, IA 50317 (515) 265-6121

This seminar will emphasize the management skill and techniques applicable to the data processing operations function. The curriculum is designed toward practical, applied management techniques to provide a sounder understanding of the ways of managing data processing operations more effectively. For further information contact The University of Chicago, Center for Continuing Education, 1307 E 60th St, Chicago IL 60637.

February 13-15, The National Office Exhibition and Conference, Harbour Castle Hilton Convention Center, Toronto, Ontario. This 3 day exhibition will provide a showplace for approximately 100 exhibitors in the areas of word processing, office computers, office equipment and furniture. Contact Canadian Office Magazine, 2 Bloor St W, Suite 2504, Toronto, Ontario CANADA M4W3E2, (416) 967-6200.

February 14-16, The IEEE International Solid-State Circuits Conference, Philadelphia PA. Forum for the presentation of new advancements in all aspects of solid-state circuits. Contact Lewis Winner, 301 Almeria Av, POB 343788, Coral Gables FL 33134.

February 19-21, Minicomputers and Distributed Processing, Chicago IL. This seminar will examine the uses, economics, programming, and implementation of minicomputers. Current hardware and software will also be evaluated. Contact The University of Chicago, Center for Continuing Education, 1307 E 60th St, Chicago IL 60637.

February 20-21, The Seventh Annual Midwest Digital Equipment Exhibit and Seminar, Thunderbird Motel, Minneapolis MN. Manufacturers of computer terminals, data communication equipment, peripherals, data acquisition systems, and digital test instruments will be displaying their products. In addition, appropriate seminars will be held every day. Contact Clarence K Peterson, Deerland Distributors Inc, Hennepin Square Bldg, Minneaplis MN 5541 3.

February 22-23, 1979 ACM Computer Science Conference and SIGCSE Symposium, Dayton Convention Ctr, Dayton OH. Several invited speakers will give full-length talks, and short current research papers will be presented. There will also be a technical symposium on computer science education held in conjunction with the conference. Contact Marshall Yovits, Computer and Information Science Dept, Ohio State University, Columbus OH 43210.

March 3-4, Micro-Expo '79, Texas A and M University Memorial Student Ctr, College Station TX. Sponsored by The Texas A and M Microcomputer Club, the activities at the third annual MicroExpo '79 will include exhibits by dealers

158 February 1979© BYTE Publications Inc

Circle 211 on inquiry card.

and hobbyists, a programming contest, and a computer chess tournament, as well as seminars on topics of interest to both the novice and the experienced computer enthusiast. Contact Larry Brown at (713) 693-5748 or Scott Edwards at (713) 845-553 I.

March 10-11, Personal Computer Fair,

Pacific Science Ctr, Seattle WA. The fair will acquaint people with personal, home and hobby computer applications. Visitors will see a variety of nontechnical demonstrations and have numerous opportunities for hands-on experimentation. Contact Susan Stocker, Pacific Science Ctr, 200 Second Av N, Seattle WA 98109.

March 19-20, Microcomputers: Operating Principles, Hardware and Software Seminar, Holiday Inn, Palo Alto CA. Polytechnic Institute of New York and the Institute for Advanced Professional Studies are presenting this 2 day seminar for engineers, programmers, and technical managers involved with selection of microprocessors and design of microprocessor-based systems. The seminar will cover the underlying concepts governing microprocessor operation, architecture, and systems design. Microcomputer elements and their interrelationships will be discussed, emphasizing features important in determining whether a particular microcomputer will be suitable for a given task. Contact Prof Donald D French, Institute for Advanced Professional Studies, 1 Gateway Ctr, Newton MA 02158, (617) 964-1412.

March 19-21, Project Management for Computer Systems, Atlanta GA. This seminar is designed for the computer oriented professional responsible for the development and implementation of complex EDP systems. The seminar will illustrate techniques for planning, implementing, installing, and controlling projects. Contact The University of Chicago, Center for Continuing Education, 1307 E60th St, Chicago IL 60637.

March 19-21, Federal DP Expo Conference and Exposition, Sheraton Park Hotel, Washington DC. This fifth annual government show will feature computer related hardware, software and service.

March 19-21, Modern Integrated Circuits, George Washington University, Washington DC. This course is structured to meet the needs of engineers, scientists, and technical managers who desire a better understanding of the latest technological advances in the area of integrated circuits. As such it examines all aspects of integrated circuit technology, starting from fundamental principles of construction and operation, to the most recent devices, their characteristics and specifications. A significant part of the course deals with the application of integrated circuits in linear and digital systems. Specific topics to be

covered include detailed design examples of circuits using operational amplifiers and active filters, as well as computer arithmetic units, registers, and memories. Contact George Washington University, Continuing Engineering Education Program, Washington DC 20052.

March 21-23, Microcomputer Hardware and System Design Seminar, Holiday Inn, Palo Alto CA. Polytechnic Institute of New York and the Institute for Advanced Professional Studies are presenting this 3 day seminar for engineers, programmers and technical managers with a working knowledge of digital hardware design and familiarity with the underlying concepts governing microprocessor operation, architecture, and systems design. This seminar will cover the operation, architecture, instruction set, and design techniques for 8 bit microprocessors. The spectrum of applications from data processing to control will be illustrated with fully developed case studies. Contact Prof Donald D French, Institute for Advanced Professional Studies, 1 Gateway Ctr, Newton MA 02158, (617) 9641412.

March 25-28, Expo '79 Los Angeles Marriott, Los Angeles CA. Expo '79 is

held in conjunction with the 16th Numerical Control Society Annual Meeting and Technical Conference. Contact Numerical Control Society, 1800 Pickwick Av, Glenview IL 60025, (312) 724-7700.

March 26-28, Data Processing Operations Management, Houston TX. See February 5-7, Los Angeles CA.

March 26-28, Minicomputers and Distirbuted Processing, New York NY. This seminar will examine the uses, economics, programming and implementation of minicomputers. Current hardware and software will also be evaluated. Contact The University of Chicago, Center for Continuing Education, 1307 E 60th St, Chicago IL 60637.

March 27-29, The Midwestern Computer Expo, McCormick PI, Chicago IL. Exposition by the leading vendors of data processing equipment and services. Contact Lee Mulder, The Caravan Group, 60 Austin St, Newton MA, (617) 9644550.

April 3-5, Specifications of Reliable Software, Hyatt Regency Hotel, Cambridge MA. This conference is sponsored by the IEEE Computer Society. Contact

HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS!

Write and run machine language programs at home, display video graphics on your TV set and design microprocessor circuits—the very first night—even if you've never used a computer before!

II lealuringRCA COSMAC

microprocessor COMPUTER *9995

Stop reading about computers and get your hands on one! With a $99.95 ELF II and our Short Course by Tom Pitt man, you master computers in no time at all! ELF II demonstrates all 91 commands an RCA 1802 can execute and the Short Course quickly leaches you to use each of the 1802's capabilities. ELF II also displays graphics on any TV set, including an exciting new target/missile Shown with *"^F BUn Bamc' Add-ons are among the most advanced available anywhere, You get

optional 4k Minon/ JMnw^^^d Mw*-lr massive computing potential. No wonder IEEE chapters, universities and major

GIAHT BOARD'" I KJaf* Board. ^^^*^^mmf corporations all use ELF II to train engineers and students! Kit is easily assembled

in a single evening and you may still have time to run your first programs before going tobed! ccunmnAVi . _

Nelronics R&D Ltd., Dept. BY-2

333 Litchfield Road, Phone ■

ELF II bj NETR0NICS

As faatursd in POPULAR ELECTRONICS

NOW AVAILABLE FOR ELF II—

□ Tom Pittman's Short Course On Microprocessor & Computer Programming teaches you just about everything there is to know about ELF II or any RCA 1802 computer. Written in nontechnical language, it's a learning breakthrough for engineers and laymen alike. $5.00 postpaid!

□ Deluxe metal cabinet with plexiglas dust cover for ELF II, $29.95 plus $2.50 p&h

. — SEND TODAY! — — ■

D Deluxe metal cabinet for ASCII Keyboard, $19.95 plus $2.50 p&h. D ELF II Tiny BASIC on cassette tape. Commands include SAVE, LOAD, S<,+,| ), 26 variables A-Z, LET, IF/THEN, INPUT, PRINT, GOTO, GO SUB, RETURN, END, REM, CLEAR. LIST. RUN, PLOT, PEEK, POKE. Comes fully documented and includes alphanumeric generator required to display alphanumeric 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 ware. Also plays tick-tack-toe plus a your antenna terminals, order RF drawing game that uses ELF ITs hex

Modulator, $8.95 postpaid. I D GIANT BOARD10 kit with cassette J I/O, RS 232-C/TTY I/O, 8-bit P I/O. I decoders for 14 separate I/O instrucJ tions and a system monitor/editor. I $39.95 plus $2 p&h. | D Kluge (Prototype) Board accepts up I to 36 IC's. $17.00 plus $1 p&h. 1 D 4k Static RAM kit. Addressable to I any 4k page to 64k. $89.95 plus $3 p&h.

ID Gold plated 86-pin connectors (one required for each plug-in board). $5.70 - postpaid. I □ Professional ASCII Keyboard kit

I with 128 ASCII upper/lowercase set, 96 printable characters, onboard reguIlator, parity, logic selection and choice of 4 handshaking signals to mate with almost any computer. $64.95 plus $2 p&h.

Lain P&

heyboard as a joystick. 4k memory re quired. $14.95 postpaid. C Tom Pittman's Short Course on Tiny BASIC for ELF 11, $5 postpaid. □ Expansion Power Supply (required when adding 4k RAM). $34.95 plus $2 P&h.

D ELF-BUG1* Deluxe System Monitor on cassette tape. Allows displaying the contents of all registers on your TV at any point in your program. Also displays 24 bytes of memory with full addresses, blinking cursor and auto scrolling. A must for the serious programmer! $14.95 postpaid. Coming Soon: A-D. D-A Converter, Light Pen, Controller Board, Color Graphics & Music System...and more!

Call or write for wired prices!

New Milford, CT 06776 (203) 354-9375

Yes! 1 want to run programs at home and have enclosed: □ $99.95 plus S3 postage & handling for RCA COSMAC ELF II kit, G $4.95 for power supply (required)', a $5 (or RCA 1802 User's Manual. D '$5 I for Short Course on Microprocessor & Computer Programming. U I want mine wired and tested with power supply, RCA 1802 User's Manual and Short Course included for just $149.95 plus S3 p&h!

□ I am also enclosing payment (including postage & handling) for the items checked at the left. Total Enclosed (Conn. res. add tax)

$ _ D Check here it

you are enclosing Money Order or Cashier's

Check to expedite shipment.

USE YOUR D VISA D Master Charge

(Interbank # )

Account #

Signature Exp. Date

PHONE ORDERS ACCEPTED (203) 354-9375 j

Print

Name _

Address

City

State _

-Zip

Circle 280 on inquiry card.

. _ DEALER INQUIRIES INVITED

February 1979 ©BYTE Publications Inc 159

Power, Popularity And Low Prices.

Three personal computers with three characteristics you demand most... Now at special systems prices!

32K APPLE DISK SYSTEM

Apple II 16K Additional 16K RAM Disk II w/controller

$1195. 300. 595.

SUP'R' MOD II

30.

Regular Price

$2120.

This special offer

$1908.

Standard Apple II with: Low resolution graphics • High resolution graphics • Interger Basic in ROM • Floating Point BASIC on disk • All documentation and manuals • All cables • Game Paddles

8K PET

DUAL CASSETTE SYSTEM

PET 2001-8 $795.

SECOND CASSETTE DRIVE 99.

Regular Price $894.

This special offer $805,

Standard 8K PET with: • 8K BASIC in ROM • 8K RAM • Built in Cassette • Built-in 9" video • Full graphics • All documentation

16K SORCERER COMPUTER SYSTEM

Sorcerer 6K $1150.

12" Teco Video Monitor 250.

Regular Price

This special Offer

$1400. $1260.

Standard Sorcerer with:

• 8K Microsoft BASIC ROM PAC™ • Full keyboard with numeric pad • Serial I/O Port •

64 defined graphics • 64 use programmable graphics • Upper/lower case • 16K RAM

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

Delivery is stock to 30 days on most items. Shipment is immediate for payment by cashier's check, money order or charge card. Allow 3 weeks for personal checks to clear. N.Y. State residents add approp. sales tax. Availability, prices and specs may change without notice.

To take advantage of these special prices send check or money order today to:

computer cfflerpri/es

Monday thru Friday

10AM-5PM

Eastern Time

Closed Sat. & Sun.

P.O. Box 71, Fayetteville, N.Y. 13066 (315)637-6208

Douglas T Ross, Softech Inc, 460 Totten Pond Rd, Waltham MA 02154, (617) 890-6900.

April 5-6, Computers in Ophthalmology, St Louis MO. This is a course in application of computers to ophthalmic patient care and clinical reseach. Sessions dealing with data bases, automated patient testing, artificial intelligence, and image processing are being planned. Contact Robert Greenfield, DSc, Biomedical Computer Laboratory, Washington University School of Medicine, 700 S Euclid Av, St Louis MO 63110.

April 6-8, Northeast Personal and Business Computer Show, Hynes Auditorium, Boston MA. Displays and exhibits will showcase microcomputers and small computer systems of interest to businesspeople, hobbyists, professionals, etc. Lectures and seminars will be presented for all categories and levels of enthusiasts, including introductory classes for novices.

April 9-11, Data Processing Operations Management, Miami FL. See February 5-7, Los Angeles CA.

April 9-12, Interface '79, McCormick PI, Chicago IL. This is the seventh annual conference and exposition on data communications and computers. Contact The Interface Group, 160 Speen St, F'ramingham MA 01701.

April 16-20, Data Communication Systems and Networks, George Washington University, Washington DC. This course is designed for systems analysts, engineers, managers, and others who need a better working knowledge of data communication systems. The course will be of particular value to those who are currently planning, designing or implementing a computer that involves data communications. The objective of the course is to provide participants with an understanding of the basic principles and current techniques involved in computer to computer and terminal to computer communications and networking. Contact Continuing Engineering Education, George Washington University, Washington DC. 20052.

April 23-26, Middle Eastern Electronic Communications Show and Conference, Bahrain Exhibition Ctr, Bahrain. The exhibition will consist of companies marketing communication systems, products, and services. Contact Gerry Dobson, MECOM '79, Arabian Exhibition Management, 11 Manchester Sq, London WIM 5AB.

April 24-26, Electro/79 Show and Convention, New York Coliseum and American Hotel. Contact William C Weber Jr, general manager, Electronic Conventions Inc, 999 N Sepulveda Blvd, El Segundo CA 90245."

160 February 1979©BYTE Public

Circle 70 on inquiry card.

Microcomputer Problem Solving Using

PASCAL by Kenneth L Bowles. This book is designed both for introductory courses in computer problem solving at the freshman and sophomore college level, and for individual self-study. Graphics is stressed in this version of the book, in many cases borrowing from the "Turtle Graphics" approach originated by Seymour Papert of MIT. A complete single-user software system based on PASCAL has been developed at the University of California at San Diego, where the author is a professor in the Department of Applied Physics and Information Science. This system embodies extensions to the standard PASCAL which include the necessary functions and procedures for handling graphics and strings. 563 pp. S9.80.

An Introduction to Programming and

Problem Solving With PASCAL by G M

Schneider, S Weingart, and D Perlman. This

book has three major goals:

(1)To introduce all aspects of the programming and problem solving process, including problem specification and organization, algorithms, coding, debugging, testing, documentation, and maintenance.

(2) To teach good programming style and how to produce a high quality finished product. This is brought out in numerous style examples throughout the text.

(3) To teach the syntax of the PASCAL programming language.

PASCAL is used as a vehicle to teach various aspects of programming techniques. $13.95.

USER MANUAL AND REPORT

Solving

Us*ig

PAS&U.

Programnvng in RASCAL

Speaking of

PASCAL

rASCAL User Manual and Report (Second Edition) by K Jensen

and N Wirth consists of two parts: the User Manual and the Revised Report. The Manual is directed to those who have some familiarity with computer programming and who wish to get acquainted with the PASCAL language. It is mainly tutorial and includes many helpful examples to demonstrate the various features of the language. The Report is a concise reference for both programmers and implementors. It defines Standard PASCAL, which constitutes a common base between various implementations of the language. $7.90.

Programming in PASCAL by Peter Grogono. This book is an ex

cellent introduction to one of the fastest growing programming languages. The text is arranged as a tutorial containing both examples and exercises to increase reader proficiency in PASCAL. Besides sections on procedures and files, there is a chapter on dynamic data structures such as trees and linked lists. These concepts are put to use in an example bus service simulation. Other examples range from the Tower of Hanoi problem to circumscribing a circle about a triangle. Programming in PASCAL is sure to hold the reader's interest. 359 pp. $9.95.

All books in stock. No delay in

I he Design of Well-structured and

Correct Programs by S Alagic and M A Arbib. This book represents ten years of research in top-down program design and verification of program correctness, and demonstrates how these techniques can be used in day-to-day programming with PASCAL. An explanation of control and data structures and many examples of programs and proof development are provided. As a programming text, this book contains an introduction to the language, provides algorithms which operate on sophisticated data structures, and offers the full axiomatic definition of PASCAL in terms of proof rules. To use this book, no particular mathematical background is necessary beyond the basic idea of a mathematical proof, although an introductory course in programming is required. 292 pp. $12.80. shipment.

BITS

DIAL YOUR BANK CARD ORDERS ON OUR TOLL-FREE HOT LINE: 1-800-258-5477.

inc

Books to ©rose the impossible

Name.

POB428, 25 Route 101 West Peterborough NH, 03458

My check enclosed:

Check - :

Amount:

Address. City

-State.

.Zip.

Signature.

Total

Number of books

My card —

Postage $.75/book or $1.00 outside U.S.

Expires:Prices subject to change without notice.

Grand Total Dealer Inquiries Invited.

You may photocopy this page.

BYTE February 1979

161

Build a Computer Controlled Security System for Your Home: Part 2

Bispcia's Circuit Qellsp

Steve Ciarcia POB 582 Glastonbury CT 06033

Photo 1: View of author's house. Professional electrician Russ Molitoris is shown stringing electrical conduit pipe for high intensity outside lighting. Conduit from all external lights runs to central control panel in basement which accepts DC on/off control commands from the computer. Conduit is used to meet electrical code requirements.

"Hi, Lloyd. What brings you over this afternoon?" Lloyd often came over unannounced, so I wasn't surprised. I barely lifted my eyes from the circuit I was inspecting as he approached.

"I just wanted to see how the security system was coming. I brought along the telephone number of the alarm company that did my house, should you care to reconsider and be more conventional."

"It's more fun this way," I responded.

"I just about made it into the driveway out there. It's like Grand Central Station. What's going on?"

"You can't have remotely controlled perimeter lighting without installing floodlights." There were two electricians wiring eight sets of high intensity floodlights to a central control panel in the basement (see photo 1). This control panel in turn would be connected to the computer for automatic

control of the lights. "Besides those are high intensity 250 W lights. With three or four of them on a circuit, they had better be wired correctly."

"Electricians? Floodlights? Wouldn't it be cheaper to wire it yourself?"

"When you install this kind of system, you have to be extremely careful not to create a problem greater than the one you're trying to alleviate. Outside weatherproof cabling isn't exactly my bag. I'd much rather sit here and make the modifications to the SDK-85 controller. Sit down and I'll explain what has to be done."

SDK-85 Modifications

The program necessary for this application requires slightly under 1 K bytes of memory. Since the control algorithms are fixed and do not change, they should be written in nonvolatile storage of some kind. For our purposes an ultraviolet erasable read only memory such as a 2708 or 2716 is recommended. As supplied, the SDK-85 contains 256 bytes of programmable memory used by the control program for stack storage and variable tables. While 256 bytes is adequate once the system is operational, additional programmable memory is suggested for checkout purposes. The larger area allows room for multiple diagnostic subroutines. Once checkout is completed, the 1 K byte memory buffer can be removed and the software readdressed to the location of the 256 byte buffer. This is not a requirement, however.

There are two ways to add additional erasable read only memory to the SDK-85. The simplest is to buy an 8755 2 K byte integrated circuit and plug it directly into the slot already provided for extra memory on the board (this slot can accommodate an 8355 read only memory or 8755 erasable read only memory). In industrial applications where the latest chips on the market are no problem to obtain, this is the only reasonable approach. For the computer experimenter, however, these parts are relatively hard to find, and the second approach must be investigated.

162 February 1979 © BYTE Publications Inc

The 8085 differs from the 8080 in its method of multiplexing bus information to peripheral circuits. The new exotic large scale integration circuits like the 8755 incorporate full decoding logic which minimizes external support circuit requirements. Using the 8085, a complete computer with central processor, read only memory, programmable memory and I/O can be constructed with three integrated circuits, The addressing of these multifunction support circuits differs from the common variety of memory and I/O devices we have become familiar with. To use devices other than the 8755 and 8155 generation requires a series of demultiplexing registers and buffer drivers to break out the address and data lines to a logical equivalent to the 8080. The SDK-85 allows for optional bus expansion and provides nine blank, prewired integrated circuit locations for just this purpose.

Some of these registers and bus drivers are relatively expensive considering our requirements. With the nine integrated circuits inserted, a full 65 K bytes of expansion memory can be accommodated. The additional 1 K bytes required in the present application does not warrant this much expense. The method illustrated for expanding the memory of the SDK-85 using readily available components is predicated on its staying a small system, ie: less than 8 K bytes. The full expansion circuitry is required above this value. Table 1 shows the necessary modifications.

Photo 2 is a close-up of the header

I

24

2

23

3

22

<z

4

21 J

- 5

20

(.'

6

19 l>

- 7

18 .

c;

8

17 .)

. 9

16 •

c;

IO

15 '>

11

14

2

13

TYPE

AT LOCATION

FOR

I

Al

HIGH

ADDRESS

n

A4

HIGH

DATA

n

A7

LOW

3ATA

n

A2

,A5,A3

CONTROL

TYPE H

1

16

2

15

£

3

14 •

QZ

4

i3 ;>

5

12 v>

Cl

6

ii .

c.

7

IO )

8

9 n>

Modifications to SDK-85 Board (for small system)

Note: An Intel (single 5 V supply) 2716 can be substituted by removing the _5 and +12 V supply connections and tying pin 19 to BA10. (Numbers with J prefixes refer to connector pins on the SDK-85 board. Numbers with A prefixes are integrated circuit locations.)

• Solder in 40 pin wire wrap headers at J1 and J2.

• Solder in 34 pin wire wrap headers at J3.

• Solder in 26 pin wire wrap headers at J4 and J5. (I used Scotchflex wire wrap headers.)

• Insert 821 2 at A6 to hold low address lines mutliplexed.

• Insert jumper headers as in table 1.

• Add 74S00 at A8 and 74LS74 at A9 to enable line DSI 8212 (except during HOLD). Other buses are unbuffered, and will be floated at 8085.

• Meaning of signals on J1 and J2 remains the same as with SDK-85 circuitry, just less drive level for a small system.

• Now add standard 8080 I/O memory devices via J1 and J2 wire wrap posts.

Table I: Modifications which must be made to the SDK-85 board to expand the memory capabilities.

Photo 2: To add the additional memory to the SDK-85, nine integrated circuits are required. If a limited quantity of expansion is required, the technique described in the text using three integrated circuits and jumpers can be used. This photo illustrates these jumper headers installed in the circuit.

Software consulting for this series of articles was provided by Steve Sunderland.

February 1979© BYTE Publications Inc

163

CS6 O

FROM J2

BIO/M OBRD O

J^y

BAO OBAI C>

TO

ADDRESS < BUS

BA2 OBA3 OBA4 L~~>BA5 OBA6 O" BA7 £>BA8 OBA9 L~~>

22

20

CS/WE

A3 A4

*5 *6 <*7 A8 A9

IC5 2708

0| 02

03 °4 05

°6 07 °8

-O BDO -O BDI -O BD2 -O BD3 -O BD4 -T_~> BD5 -O BD6 -O BD7

TO

) DATA

BUS

jumpers installed in the appropriate sockets on the board. Figure 1 illustrates the circuit connections for adding a 2708 to the basic board once the address lines have been brought out. Similarly, figure 2 details the circuit for adding 1 K bytes of programmable memory. The suggested placement of these components is in the prototype assembly area provided on the board. Photo 3 demonstrates a viable placement and photo 4 shows how much wiring will be required to make these modifications.

If wired as described, the system memory will be mapped as in table 2.

Computer Software

As stated in the first article in this series,

Hexadecimal Memory Location

Figure 1: Circuit for adding a 2708 erasable read only memory to the SDK-85 computer board. Note that an Intel 2716 (single 5 V supply) can be substituted by removing the ~5 V and +12 V power supply connections and tying pin 19 to BAW.

2000 thru 20FF 3800 thru 3C00 0000 thru 07FF 3000 thru 3400

Figure 2: Circuit for adding 1 K bytes of programmable memory to the SDK-85 computer.

Description

original on board programmable memory

1 K byte programmable memory expansion

2 K byte read only memory monitor

read only memory expansion area

7408

BWR \Z>

BRD O

BI0/M D>

CS7 fZ>

bwr r_~>

Table 2: A memory map of the SDK-85 computer after additional memory is added.

DEVICE

PIN ASSIGNMENT

NUMBER

TYPE

+ 5V

GND

-5V

+ I2V

ICI

7408

14

7

IC2

7432

14

7

IC3

21 14

18

9

IC4

21 14

18

9

IC5

2708

24

12

21

19

0 0 0 0

BDO BDI BD2 BD3

0 0 0 0

BD4 BD5 BD6 BD7

TO DATA BUS (Jl)

164

February 1979 © BYTE Publications Inc

Photo 3: Left side of the SDK-85 board contains a prototyping area which, in this case, has been used for the extra memory circuitry. The photo shows an Intel 2716 2 K byte erasable read only memory which was used because of a desire for single supply power backup. The software only requires I K bytes and can use a 2 708 instead. Scotch flex connectors to the right of the 2114 and 2716 attach the SDK-85 to the external sensor inputs and control output.

Photo 4: Attachment of additional memory can be easily done using wire wrap techniques. This photo demonstrates the complexity of the connections.

February 1979 @ BYTE Publications Inc 165

the two major factors involved in developing the software for the home security system are simplicity and flexibility. Simplicity will lead to a straightforward implementation of the design during the coding process and will greatly reduce the time required to debug the code and get on the air.

This approach requires that a considerable amount of time be spent before one line of code is written. During the conceptual phase, an overall system logic is developed. Then the designer begins the task of defining the tables, files, records and logic requirements in detail.

Iterative reflection allows for the development of a "simple" design which is clear and easy for others to follow. In addition, the designer will find that upon completion of

this process, the various software modules will have virtually coded themselves, greatly reducing the time required to code and implement a given design.

System Overview

Figure 3 illustrates the flow of information in this security system.

The cold start procedure causes the system to initialize the sensor state transfer table, delay timer file and time of day File. This procedure requires time of day entry through the keyboard in hours and minutes (24 hour clock) so that the system will be able to activate events in the proper sequence. Upon completion of this procedure the cold start initializes the digital input or

SENSOR STATE TRANSFER I TABLE

Figure 3: The information flow diagram within the security system.

I DIGITAL | OUTPUT I RECORD

INDEX I I

V— <

DISCRETE SENSOR INPUT

DIGITAL

SCAN

MODULE

DIGITAL OUTPUT SUBPROCESSOR

I REAL TIME CLOCK INTERRUPT

TIME OF DAY FILE

TIMER PROCESSOR

EVENT

| RECORD | <;

I ADDRESS

DELAY TIMER FILE

EVENT

RECORD

PROCESSOR

' RESPONSE

I RECORD -O

■ INDEX

EVENT

RECORD

FILE

RESPONSE

RECORD

PROCESSOR

USER

APPLICATION

MODULES

RESPONSE FILE

I DELAY I

I TIMER I

| RECORD

1 INDEX I

-<_'

DELAY

INITIATION

SUBPROCESSOR

T"

DELAY TIMER DEACTIVATION SUBPROCESSOR

DIGITAL OUTPUTS

DIGITAL OUTPUT FILE

DELAY TIMER FILE

'J-H

TIMEOF-DAY RECORD INDEX 1

I

h-o

TIME-OF-DAY

ACTIVATION

SUBPROCESSOR

T

TIME-OF-DAY DEACTIVATION SUBPROCESSOR

T

TIMEOFDAY FILE

166 February 1979 © BYTE Publications Inc

Circle 265 on inquiry card.

sensor states, activates the real time clock interrupt, and starts scanning the sensors. (Intruders beware, for the security system is now active!)

The system continually monitors the state of the various sensors via the digital scan module; and periodically (once a second) checks to see if any time events are to be initiated. In order to demonstrate how a timed event function is processed, let's assume that one of the time of day records initiates the sequence that tells the system to turn the percolator on at 0600. As the system processes each interrupt from the real time clock, the time in this record will be compared to the current time of day. When they are equal, the events leading to a freshly brewed cup of coffee would be under way.

The first step in this example is effected by the timer processor which extracts an event record address from the time of day record and passes it to the event record processor. The event record processor assumes control, and using the record address passed to it, obtains from the event record file the list of response records to be processed for this event.

Only one response record is required. However, for more complex functions the event record can be structured to execute up to 255 different responses to an event. The response record index, which the event record processor obtains from the event record, is now transferred to the response record processor.

The response record processor, using the index supplied, obtains a record from the response file. In our example this record directs the processor to activate the digital output subprocessor and passes the index of the digital output record to be used in turning on the percolator. Having accomplished this function the subprocessor returns control to the event record processor, which checks to determine if any further responses are required. If so, it will initiate the response. In our example no further response is required and control is returned to the timer processor. This completes processing of those delay and time of day records requiring servicing. This same procedure is used in the servicing of delay timer records whose delay time has expired.

The servicing of a sensor event is initiated by a different mechanism. However, once control is transferred to the event record processor the servicing of the event follows the same sequence as our percolator example. The event record processor will return control to the digital scan module when it completes initiation of all the responses associated with the event.

Why Pay More?

Why pay for more printer than you need? Our series 40 printers offer more features for less bucks than any other commercial quality printer on the market today. A complete stand-alone 40 column impact dot matrix printer with a 64 character ASCII set. Includes power supply, casework and interface electronics. Single quantity price for the parallel ASCII interface model is $425. Serial RS232/current loop interface models start at $575. OEM discounts available.

For more information write to:

MPI 2099 West 2200 South, Salt Lake City, Utah 84119 or call (801) 973-6053.

Tremendous Savings on Refurbished AJ Couplers/Modems

Your chance to buy the best from the world leader in data communications. We have a variety of couplers and modems—formerly on lease to our customers —fully refurbished. This is a rare opportunity for you to have the same models used by the largest companies in the world.

• Some models under $100!

• 30-day parts/labor warranty

• Nationwide AJ service network

• Fast delivery

• Variety of models—up to 1200 baud

• Limited quantities

Act now. First come, first served. Write Anderson Jacobson, Inc., 521 Charcot Ave., San Jose, CA 95131. Or call your nearest AJ office:

Sunnyvale, CA Rosemont, IL Hackensack, NJ (408) 744-1785 (312) 671-7155 (201) 488-2525

ANDERSON JACOBSON

Circle 10 on inquiry card.

February 1979©BYTE Publications Inc 167

Circle 368 on inquiry card.

TURTLES

* 1 .i

by Tt'irai tin. I'm'

Small home robots

controllable

by your computer.

Attachable to any computer via parallel interface (not included.)

Use your Turtle to map rooms, solve mazes, dance, explore Artificial Intelligence, teach geometry or programming.

Computer not included (batteries not needed).

Brochures available

Terrapin, Inc.

Kit $300, Assembled $500 33 Edinborough Street

S-100 Bus Interface Kit $40, 6th Floor

Assembled $50 Boston, MA 02111

U.S. postage $5 (617)482-1033

Mass. residents add 5% sales tax

The

8100 £yH)

\M I \# \# : ELECTRONICS

An S-100 Bus Adapter/Motherboard

fortheTRS-80

plus a whole lot more!!!

S-100 BUS INTERFACE 6 SLOT MOTHERBOARD

T]n<moi>hiisiisuwpliplli.ini>>l<>i jppihpri»>prd wlutli indudea nur unique card paudt' syslypi whicli keepi thr l*ipr<U in tlifir places.

Ttii' HI1I0 tins support mppili-y urn! socki-is lip- piphl ItiK clvnumii' HAM chip* iillinvpip \pp Ippxpapp Hip ph-piurv prypurTHS-MO bv 1HK wilhpul hayipp (p l.py ;uiv S-1IHI HAM bounbi

• SERIAL RS232/20ma I/O

• PARALLEL INPUT AND OUTPUT

• SPACE FOR 16K DYNAMIC RAM

• CAN USE LEFT OVER 4K CHIPS

• LOW COST- PRICES START AT S1B5*

• AVAILABLE IMMEDIATELY

"1l'lMw1lV.',,?,|l1l',''".;bl.

K RAM chips and nowhere to

in the HAM Bockeu instead! bar 4K or 1BK chip^ ami ;id

fcutu

!■■, include 1W.ll .im n- |iru|jr.iitiiii.il>iL- li.ii

re programmable nu

t-iinnecuir unci mwli

HW tmi si-ritil Interface who's I rate from DC to 6BK baud.

^Lm

■e 8100 ato has un

il|N.r.i!l.>l.i,,l,>i.l nor

!>il parallel !ii|)ul purl :iiid Both are Iniirl-iL-d. have both inputa iiml autpula und hava

PRICES START AS LOW AS $185* (S-100 BUS INTERFACE ONLY)

huh)

■ ELECTRONICS

1429 Maple St.

San Mateo, CA

94402

(415) 573-7359

DEALER INQUIRIES INVITED

-EJKa S-100 connpclpis. RAM su| I/O cucpiiry oplippai USA DOMESTIC PRICE ONLY

To illustrate the processing of a sensor detected event, let's assume that you have installed a photodetector at the entrance to your driveway. When this sensor is activated, an exterior light in your home is to be turned on.

The digital scan module is continually scanning the state of the sensors connected to the input ports of the security system. When this module detects that the photoelectric device has been tripped, the sequence that turns on the light is initiated. Using the information it has, the scan module obtains from the sensor state transfer table the record associated with the driveway sensor. This record contains two entries: one for the sensor going to a set (1) state, and one for a reset (0) state. These two entries are provided so that event processing can be initiated on a transfer to a set state, a transfer to a reset state, or both.

Assuming that a reset state triggers an event, the light beam is broken and the signal goes to a logic 0. The digital scan module extracts from the sensor state transfer table the address of the event record to be processed and transfers control to the event record processor. This results in the turning on of the exterior light.

These two examples should illustrate the manner in which the software modules interact with one another. A detailed description of the functions of each module and the structure of the various records, tables and files used in the system follows.

Cold Start

The cold start module requires some special tailoring for each system. It is the responsibility of this module to start the operation of the system.

There are a few basic functions which this module must perform (see figure 4). The primary functions are to transfer the state transfer vector table, time of day file and delay time file from erasable read only memory to a preset location in programmable memory. The records in these files and tables contain volatile fields (data which will be periodically updated).

Another major function of the cold start module is obtaining the current time of day from the person initiating the system. The user enters this data via the keyboard located on the SDK-85 printed circuit board. (The SDK-85 is a good choice for this system because it provides the basic requirements for data entry and display.) The time of day as entered is displayed on the 6 digit LEDs and updated periodically by the real time clock.

The two remaining functions necessary

168 February I979 © BYTE Publications Inc

Circle 172 on inquiry card.

Circle 310 on inquiry card.

(COLD START \ MODULE J

TRANSFER STATE TRANSFER VECTOR TABLE, DELAY TIMER FILE , AND TIME-OF-DAY FILE TO PROGRAMMABLE MEMORY

GET TIME-OF-DAY (HRS/MINUTES) FROM KEYBOARD AND INITIALIZE TIME-OF-DAY

DISPLAY TIME-OF-DAY ON ADDRESS AND DATA DISPLAY

SET THE REAL TIME CLOCK INTERRUPT TRANSFER ADDRESS AND ENABLE INTERRUPT

TRANSFER CONTROL TO DIGITAL SCAN MODULE

)

Figure 4: Cold start logic module.

to the cold start process are the initiation of the digital input state table and enabling of the real time clock interrupt. The detection of a digital event is the result of a comparison of the current state of a digital output with its previous state. Therefore, the initial' state must be explicitly set. The state table for all digital or sensor inputs resides in volatile memory and must be set to zero to avoid ambiguity caused by powering up the system.

Since the SDK-85 provides the user with a vectored interrupt capability, the final function of the cold start module is to set the final timer (user vectored interrupt) vector address. This is accomplished by placing a jump instruction at a previously defined address followed by the address of the real time clock interrupt module, ie: JP RTC + JUMP TO REAL TIME CLOCK.

After initiating the interrupt transfer address, the cold start module enables the real time clock interrupt and transfers control to the digital scan module.

Digital Scan Module

The responsibility for detecting an intruder, fire, smoke, etc, lies with the digital scan module. This module continually monitors the state of the digital sensor inputs and when it detects that an input has changed state (gone from a set (1) to a reset (0) con

At last... the mechanical" interface!

Turn your electric typewriter into a low cost, high quality hard copy printer.

User list $39500

The all new

I/O Pakfrom

Rochester Data.

Inc. interfaces the keyboard

of any commercially available

electric typewriter with any

computer. The result: low cost, high

quality hard copy.

Write today for more information.

Incorporated 3100 Monroe Avenue, Rochester, New York 14618

NO FRILLS! NO GIMMICKS! JUST GREAT

DISCOUNTS

MAIL ORDER ONLY

HAZELTINE

1400 S 650.00

1500 995.00

Mod 1 1495.00

CENTRONICS

779 895.00

779 tractor 950.00

700 tractor 1095.00

761 KSR tractor 1595.00

703 tractor 2195.00

NORTHSTAR

Horizon I assembled.. 1629.00

kit 1339.00

Horizon II assembled. . 1999.00

kit 1599.00

Disk System 589.00

TELETYPE

Mod 43 1095.00

IMS

16K Static Memory. . . 459.95

DIGITAL SYSTEMS

Computer $4345.00

Double Density Dual Drive 2433.00

IMSAI

VDP 80/1000 $5895.00

VDP40 3795.DO

VDP42 3895.D0

VDP44 4195.00

16K Memory assem.. . 399.00

PCS 80/15 679.00

15% off on all other IMSAI products

CROMEMCO

System III $1000 off .. 4990.00

10% off on all other Cromemco products

TEXAS INSTRUMENT

810 Printer 1625.00

ADDS

Regent 100 1095.00

Most items in stock for immediate delivery. Factory-fresh, sealed cartons.

DATA DISCOUNT CENTER p.o. box 100

135-53 Northern Blvd., Flushing, New York 11354,212/465-6609 N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y. I BankAmericard, Master Charge add 3%. COD orders require 25% deposit

Circle 91 on inquiry card.

February 1979©BYTE Publications Inc

169

Circle 213 on inquiry card.

IMMEDIATE DELIVERY

Domestic & Export

dec La-u

COMPONENTS

A full and complete line with software support available.

^^*r

mini Computer Suppliers. Inc.

25 CHATHAM ROAD

SUMMIT, NEW JERSEY 07901

SINCE 1973

(201) 277-6150 Telex 13-6476

Hit :

• NOT A KIT

• 8v(«15A, ±16v(?>3A power

• Rack mountable

• 15 slot motherboard

• Card cage

• Fan, line cord, fuse, switch, EMI filter

• Desk top version option

• 8v@30A, ±16v@10A option

• voltage monitor option

• 100 pin connectors optional

Rack mounted model From S200

Desk top model From 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 9288 We accept BankAmericard/Visa and Master Charge

dition, or a reset (0) to a set (1) condition), initiates the processing of the event.

As can be seen from the flowchart (figure 5), the digital scan module reinitializes itself after each scan. As it scans the current status of the system sensors, the input data is compared bit by bit until all input bits have been processed. If the module determines that no change has taken place in the state of the sensor, the next bit in the sensor state table is processed. This function continues until all sensor states have been checked, at which time the process is started over.

If, however, the above mentioned technique detects that a sensor has changed state, the state history table is updated to reflect the new state of the sensor. The sensor state transfer record is extracted from the sensor state transfer vector table (see table 3).

The sensor state transfer vector table contains two fields for each sensor or digital input. These two entries comprise one record within the table or file, with each digital input requiring one record. The first entry or field within a sensor record contains the event record address to be passed to the event record processor upon a transition to a set (1) condition by the sensor, and the active/inactive flag (bit 7 of the upper address byte). The second field or entry contains the same information as the first, but is used when a transition to a reset (0) condition has taken place. If the active/inactive flag is reset (0) the entry is considered to be active and further processing may take place; if the flag is set (1) no further processing is allowed.

In the event that the sensor has undergone a transition to a set (1) condition, the first entry of the sensors state transfer vector record is obtained from the table, else the second entry is obtained. Then the active flag is examined. If this flag is found to be reset (0), the event record address is transferred to the event record processor for additional processing.

However, if the flag indicates the entry is inactive (flag equals 1), no further processing of the transition event will take place and the digital scan module will continue to process inputs in its normal manner.

As you may have noticed, the manner in which inputs are processed to completion is sequential in nature. That is, when a transition of a sensor requires processing, all processing associated with that event is completed before the next sensor input is processed. This is possible because the processing of a given event will not substantially delay the processing of the next sensor, since no appreciable I/O processing is required. One

170 February 1979 © BYTE Publications Inc

Circle 179 on inquiry card.

other feature afforded by this design is that one or more sensors may use the same event record since after the digital input processing there is no further need to maintain the identity of the sensor undergoing the transition.

Since the processing of all inputs is sequential, the user should not incorporate lengthy input or output procedures in a user supplied application module.

Event Record Processor Module

As stated in the digital scan module description, the event record processor is activated when the digital scan module detects a state transition which requires processing. This module is also activated when an active delay timer (see timer interrupt processor module) or time of day event occurs.

c

DIGITAL SCAN MODULE

3

Byte

0-1

INPUT CURRENT STATE OF SENSORS FROM INPUT PORTS

Record 1

Record n

2-3

3-4

5-6

INITIALIZE DIGITAL, INPUT PROCESSING INDEX

OBTAIN LAST STATE OF SENSOR n FROM SENSOR HISTORY TABLE

Record n<

(2n-1)-2n

(2n+1)-(2n+2)

Description

Table 3: Sensor state transfer vector table format.

Event Record Address for RESET to SET State Transfer for Digital Input 1 (High Order Bit=Active Flag)

Event Record Address for SET to RESET State Transfer for Digital Input 1 (High Order Bit=Active Flag)

Event Record Address for RESET to SET Transfer for Digital Input 2 (High Order Bit=Active Flag)

Event Record Address for SET to RESET Transfer for Digital Input 2 (High Order Bit=Active Flag)

Event Record Address for RESET to SET State Transfer for Digital Input n (High Order Bit=Active Flag)

Event Record Address for SET to RESET State Transfer for Digital Input n (High Order Bit=Active Flag)

OBTAIN CURRENT STATE OF SENSOR n FROM CURRENT SENSOR INPUT DATA

UPDATE SENSOR

n STATE IN THE STATE

HISTORY TABLE

OBTAIN EVENT RECORD ADDRESS FROM BYTES 2 AND 3 OF EVENT RECORDn

INCREMENT DIGITAL INPUT PROCESSING INDEX

OBTAIN EVENT RECORD ADDRESS FROM BYTES 0 AND I OF EVENT RECORD n

SAVE DIGITAL PROCESSING INDEX ON STACK

EVENT RECORD PROCESSOR

(ADDRESS OF EVENT RECORD)

RETRIEVE DIGITAL PROCESSING INDEX FROM STACK

Figure 5: Digital scan logic design.

February 1979© BYTE Publications Inc 171

Figure 6: Representation of chained records in memory space.

RECORD I (

RECORD 2 I

RECORD 3 {

RECORD

2

=OINTER

RECORD 1 DATA

RECORD

3

POINTER

• RECORD

2 DATA

RECORD

4

POINTER

RECORD

3 DATA

The address of the event record requiring servicing is given to the event record processor. The event record (see table 4) contains the addresses of the response records to be processed when a digital scan (sensor), delay timer or time of day event occurs. The records in the table or file of event records are of varying length in order to allow one or more specific responses to be associated with any event.

This structure of the event record dictates the manner in which the record being processed must be accessed. Generally all records within a file are of fixed length and can be referenced by an index which serves as a relative pointer into the file to access the record in question. However, when the records within a file are of variable length, an absolute or relative address must be provided to obtain access to the record in question. This address may be obtained via two different techniques. The first technique requires that all records inafilebe "chained" together. This means that there is a data field in the first record which points to the second record in the file, which in turn points to the third record, etc (see figure 6).

To access a record in this type of file the record index is supplied to the access module which then sequences the chain down (or up) until the proper record is located. This structure is used when a record search is required to extract data from one or more records in the file, but in the case of this system offers no advantages.

The second technique, and the one employed in this system, requires a directory of record addresses (see table 3), so that the module detecting the requirement for event

Figure 7; Event records are accessed through sensor state transfer vectors.

SENSOR STATE TRANSFER VECTORS

DELAY TIMER FILE

SENSOR i <

SET STATE EVENT RECORD ADDRESS

RESET STATE EVENT RECORD ADDRESS

ADDRESS OF EVENT RECORD

EVENT RECORD FILE

EVENT RECORD I

EVENT RECORD 2

Table 4: Event record format.

Byte

Description

0

Number of response record indices within the record

1

Relative index of response record i

2

Relative index of response record j

*

*

n

Relative index of response record z

EVENT RECORD 3

TIME OF DAY FILE

ADDRESS 0 EVENT RECO

mo/ J

RECORD n

172 February 1979©BYTE Publications Inc

Circle 86 on inquiry card.

processing will have access to the event record associated with the event (see tables 7 and 8) as is done with the timer delay and time of day records. An event record can therefore be isolated via one of three sources in the security system: the sensor state transfer vector table, the time of day records and the delay records (see figure 7).

Since an event record may contain more than one response directive, the first data field (byte 0) of the record contains the number of response records (see table 5) associated with the event in question. Those fields following within the record contain the relative indices of the response records that require processing.

(EVENT RECORD ~\ PROCESSOR J

OBTAIN NUMBER OF RESPONSES TO BE PROCESSED FROM EVENT RECORD

INITIALIZE EVENT RECORD PROCESS INDEX

OBTAIN RESPONSE RECORD INDEX FOR THE Nth RESPONSE FROM EVENT RECORD AND CALCULATE ADDRESS OF RECORD

SAVE EVENT RECORD PROCESSING INDEX ON STACK

RESPONSE PROCESSOR

(RESPONSE RECORD ADDRESS)

RETRIEVE EVENT RECORD PROCESSING INDEX FROM STACK

INCREMENT EVENT RECORD PROCESSING INDEX

HAVE ALL

1 RESPONSES BEEN

PROCESSED

1

( RETURN J

Figure 8: Event record processor logic diagram.

LSI-11 TIME

It's TIME you brought your LSI-11 up to DATE. TIME and

DATE, two important parameters in the computer world, are available to your LSI-11 on one DUAL SIZE BOARD. When requested, the TCU-50D will present you with the date (month and day), time (hour and minutes), and seconds. Turn your computer off and forget about the time — your battery supported TCU-50D won't, not for 3 months anyway. The correct date and time will be there when you power up.

The TCU-50D is shipped preset to your local time, but can be set to any time you want by a simple software routine.

AT $295 YOU CANT AFFORD TO IGNORE TIME

Time is only one way we can help you upgrade your LSI-11 or PDP-11 system. We'd also like to tell you about the others. So contact Digital Pathways if you're into -ll's. We are too.

DIGITAL P/ITHWrfYf IMC.

4151 Middlefield Road • Palo Alto, California 94306 • Telephone (415) 493-5544

the ULTIMATE in CHEAP VIDEO

BOOK & KIT ONLY $42.95

Don Lancaster's "CheapVideo"concept allows almost unlimited options, including:

* Scrolling- Full performance cursor.

* Line/Character formats of 16/32, 24/80, 32/64 .... or almost anything.

* Graphics-up to 256 X 256 B&W; 96 X 128 COLOR

C requires low-cost option modules )

* Works with 6502 , 6800 and other micros.

SPECIAL OFFER: Buy the Kit Cupper case alphanumeric option included ) & get the Book at 1/2 price.

.ELECTRONICS. DEPT.2-B, 1020 W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

I'm Sold, PLEASE RUSH C 3 SEND FREE CATALOG

C ) TVT-6 5/8 Kit & Cheap Video Cookbook- $42.95 lenclosedl C ) TVT-6 5/g Kit only Cbook required for assembly)-$39.95

name:__

address:

city:

. state:

zip: ,

ELECTRONICS DEPT.2-B , 1020W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

Circle 297 on inquiry card.

February ]979©BYTE Publications Inc 173

Upon entry, the module saves the event record address in a temporary working area and then extracts from the event record the number of response records to be processed (see figure 8). This data will then be used to initialize the event record processor counter and the initial response record address will be calculated:

Response Record Address = (Response Record Index-1)x3 + Base address of Response Record File

This response record address is then passed to the response processor for execution. When completed, control is returned to the event record processor. If additional records require processing, the next effective response record address is calculated and control is transferred to the response record processor. If all records have been processed, control is returned to the module initiating the request for service, either the digital scan module or the timer interrupt module.

Response Record Processor

The function of the response record processor (figure 9) is to determine from the response record the type of action required, and to activate the appropriate response subprocessor. The activated subprocessor will

effect the final response and then return control to the event record processor. There are six basic responses associated with an event. These responses are defined by the response record (table 5) and are:

• Activation of a digital output

• Execution of an application module

• Initiation of a delay timer

• Deactivation of a delay timer

• Activation of a time of day record

• Deactivation of a time of day record

The user should be aware of the function of each subprocessor and certain idiosyncrasies. The processing of a digital output is the function of the output subprocessor. This processor will, upon activation, receive from the response processor the index of the digital output record (table 6) it is to process. The digital output record contains the information necessary to effect the desired output. The current output state of each output bit of the port is maintained in the port's state word in the output port state file. Each set (1) bit in the state word represents an activated output, and each reset bit represents a deactivated output.

The output port identifier (byte 0) of the digital output record is used to extract the state data from the output port state file.

LEARN TO PROGRAM WITH THE 6502

MICROCOMPUTER PROGRAMMING:

TO ORDER

• BY PHONE: call (415)848-8233 BankAmencard/Mastercharge accepted

• SHIPPING: no charge when paymenl included.

ADD: SI 50/book for last shipping

• TAX: in California, add sales tax. •OVERSEAS:

SYBEX-EUROPE.313 rue Lecourbe, 75015 - PARIS. France Tel (118282502

• MICROCOMPUTER PROGRAMMING:6502

By Rodnay Zaks, ref C202 $9.95

This text will teach you how to program with the 6502, from ground zero it necessary: arithmetic, input-output, including polling and interrupts, addressing techniques. Completely selt-contained, it can be used by the novice to learn programming or by anyone who wants to learn about basic techniques, using the 6502.

(The author has taught programming to more than 1000 persons).

6502 APPLICATIONS BOOK

(For SYM and KIM), ref D3Q2

$12.95

A series ot practical (hardware and software) applications for a 6502 board (SYM preferred or KIM) which can be used as experiments, or implemented at minimal cost. Examples are: morse generator, electronic piano, digital clock, home alarm system, traffic controller.

• WITH SYM-MICROCOMPUTER BOARD (COMPLETE SELF-STUDY)

C202 + D302 + SYM Board + cassette $330 (shipping add'l)

I

NAME

POSITION

COMPANY

ADDRESS

CITY

STATE/ZIP

2020 Mllvia St. Berkeley, Calif 94704

(Dept B)

DC201 DC207 DC200 DC202 DD302 Olher. D Payment enclosed DC.O.D.

ADD $1 50/BOOK FOR FAST SHIPPING D charge my D Visa D Master charge □ American Express

D Number .. Exp date

Signature _ . . D Send catalog.

□ FREE CATALOG/ ORDER FORM D

174

February 1979 © BYTE Publications Inc

Circle 356 on inquiry card.

Table 5: Response record format. Byte Description

1-2

Type of response to be performed (value ' 0-5)

Address of module or record index

Figure 9: Response record processor logic diagram.

Response Type

Address (Byte 1-2) Definition

0

Index of Digital Output Record

1

Address of Special Application Module

2

Index of Delay Time Record to Activate

3

Index of Delay Time Record to Deactivate

4

Index of Time of Day Record to Activate

5

Index of Time of Day Record to Deactivate

(RE.

Vpr

ESPONSE RECOR 0CESSOR

D

OBTAIN RESPONSE TYPE FROM BYTE 0 OF RESPONSE RECORD

OBTAIN ADDRESS OF RESPONSE SUBPR0CESS0R FROM SUBPR0CESS0R ADDRESS TABLE

RESPONSE TYPE 0

DIGITAL OUTPUT SUBPROCESSOR

OBTAIN DIGITAL OUTPUT RECORD INDEX FROM RESPONSE RECORD

CALCULATE ADDRESS OF OUTPUT RECORD USING RECORD INDEX

OBTAIN OUTPUT PORT NUMBER FROM BYTE 0 OF OUTPUT RECORD

OBTAIN CURRENT STATE OF OUTPUTS ON THE PORT (PORT STATUS WORD)

ISOLATE BIT IN QUESTION USING THE BIT ISOLATION MASK (BYTE I)

SET BIT IN PORT'S STATUS WORD

OUTPUT PORT STATUS WORD TO OUTPUT PORT

c

")

JUMP TO THE APPROPRIATE SUBPROCESSOR

RESPONSE TYPE I

APPLICATION

MODULE

SUBPROCESSOR

■H

RESPONSE TYPE

RESPONSE TYPE 2

DELAY

INITIATION

SUBPROCESSOR

OBTAIN ADDRESS OF APPLICATION MODULE FROM RESPONSE RECORD

OBTAIN DELAY TIMER INDEX FROM RESPONSE RECORD

APPLICATION MODULE

PERFORM APPLICATION

c

CALCULATE DELAY TIMER RECORD ADDRESS USING RECORD INDEX

J

I 1

I IS DELAY

. TIMER CURRENTLY \ACTIVE ■ 0

RESET BIT IN PORT'S STATUS WORD

RESPONSE TYPE 3

DELAY TIMER DEACTIVATION SUBPROCESSOR

OBTAIN DELAY TIMER RECORD INDEX FROM RESPONSE RECORD

CALCULATE DELAY TIMER RECORD ADDRESS USING RECORD INDEX

SET ACTIVE FLAG ("I) IN BYTE 0, (BIT 7) OF DELAY TIMER RECORD

c

J

OBTAIN DELAY TIMER VALUE FROM BYTES 2 AND 3 OF DELAY TIMER RECORD

SET TIMER, BYTES 0 AND I OF DELAY RECORD EQUAL TO THE DELAY TIMER VALUE

c

D

RESPONSE TYPE 4

TIME-OF-DAY

ACTIVATION

SUBPROCESSOR

OBTAIN TIME-OFDAY RECORD INDEX FROM RESPONSE RECORD

CALCULATE TIME-OFDAY RECORD ADDRESS USING RECORD INDEX

RESET ACTIVE FLAG (=0) IN TIME-OF-DAY RECORD

C

RESPONSE TYPE 5

TIME-OF-DAY DEACTIVATION SUBPROCESSOR

OBTAIN TIME-OFDAY RECORD INDEX FROM RESPONSE RECORD

CALCULATE TIME-OFDAY RECORD ADDRESS USING RECORD INDEX

SET ACTIVE FLAG ( = l) IS TIME-OF-DAY RECORD

J c

J

February 1979 © BYTE Publications Inc

175

ONLY PROGRAMMERS

SHOULD BE ALLOWED TO SORT!

Isn't that ridiculous? They're your files, your information and your needs. Take control of them now with

SORT-80

available separately (for only $95.00) or as part of FMS-80, the only fully integrated microcomputer File Management System. From initial file definition through selective report generation, FMS-80 takes you every step of the way interactively.

Also ask about REMOTE-80 Intelligent Terminal Software; SCREEN DESIGNER—interactively create and utilize video forms; and MLU—the complete Mailing List Utility. All run under any CP/M-based system (IMDOS, CDOS, etc.). BASIC interfaces implemented for most through CALL, and all have unique benefits.

DEALERS: Have we got a deal for you! Liberal discounts and painless evaluation packages— we're waiting to hear from you.

COMPUTERS PLUS, INC.

678 S. Pickett St.

Alexandria, VA 22304. (703) 751-5656

DIGITAL/ _TL

RELIABILITY m QUALITY • DEPENDABILITY

ADDRESSING

PROTECT

BUFFERING

LOW POWER

WAIT STATES

QUALITY

GUARANTEE

DELIVERY

PHANTOM

TESTING

8K STATIC RAM ASSEMBLED S-100

MEMORY DISABLE IS IMPLEMENTED VIA PHANTOM (PIN 67)

SPECIAL

INTRODUCTORY

PRICE

ASSEMBLED/TESTED

(714)992-5540 2555 E. CHAPMAN AVE. SUITE 604 FULLERTON, CA 92631

$14995 $18925

CALIFORNIA RESIDENTS ADD 6°* TAX

J DIGITAL/ _TL

Byte

Description

0

Output Port for Output

1

Bit Isolation Mask

2

Output Condition Flag

Table 6: Digital output record format. If the output condition flag is 0, the output bit is turned off (0). If the output condition flag is I, the output bit is turned on (I).

The bit to be operated upon is then isolated using the bit isolation mask (byte 1), and the state of the bit is set or reset as directed by the output condition flag (byte 3). The output bit is then merged back into the port's state word, stored in the output port state file, and the port's new state is outputted. This procedure allows the output subprocessor to effect a state change on a device without affecting the state of any other device connected to the port in question.

User supplied application modules may be activated by the response record processor by setting the response type equal to 1 in the response record and providing the initial execution address of the module in bytes 1 and 2 (low order in byte 1) of the response record. This will cause the response record processor to execute a jump to the specified execution address. Since all response subprocessors must return control to the event record processor, the user must exit his module with a return instruction.

The initiation of delay timers (used to delay a response) is the responsibility of the delay initiation subprocessor. This module is, upon activation, given the index of the delay record (table 7) to be initiated. Upon initiation the subprocessor determines if the delay timer record is currently active. In the event that the time is active, control is returned to the event record processor, leaving the delay timer in its current state. In other words, an active delay timer is not reactivated, nor is its delay time reset to the initial value indicated in the record. However, should the subprocessor determine

Table 7: Delay time record format. If the active flag is 0, the timer is active. If the active flag is I, the timer is inactive.

Byte Description

0-1

2-3

4-5

Active Flag (Bit 7, Byte 0)

Delay Time (Seconds)-(Bit 6-0, Byte 0,

Bit 7-0, Byte 1)

Timer Activation Value (Maximum value : 32,767 seconds)

Address of Event Record associated with Delay Record

176

February 1979 © BYTE Publications Inc

Circle 294 on inquiry card.

Circle 374 on inquiry card.

Byte

Description

0

Active Flag (Bit 7) Hours (Bit 6-0) (0-23 hours)

1

Minutes (0-59 minutes)

2-3

Address of Event Record Associated with Time of Day Record

Table 8: Time of day record format. If the active flag is 0, the record is active. If the active flag is 1, the record is inactive.

that the record is inactive, the active flag is reset, the timer's activation time is transferred to bytes 0 and 1 of the record, and control returns to the event record processor.

The deactivation or disabling of active delay timers is the responsibility of the delay timer deactivation subprocessor. This module is passed the index of the delay time record to be deactivated. Using this data the address of the record in question is determined and the active flag (bit 7, byte 0) is set equal to 1, thereby disabling the timer. This same procedure is also used to deactivate a time of day record (table 8).

The activation of a time of day record is performed by the time of day activation subprocessor. This module is, upon activation, given the index of the time of day record (table 8) to be initiated. Upon initiation the subprocessor will determine the address of the record and the active flag (bit 7, byte 0) will be reset (0), thereby enabling the time of day record. The subprocessor will then return control to the event record processor.

Timer Processor

As stated in part 1 (January 1979 BYTE, page 56), a real time clock with a frequency of 1 Hz was used to provide the time base for the system. This periodic signal causes the processor to generate an interrupt, thereby causing the current contents of the program counter register to be saved on the stack and control to be given to the timer processor (figure 8). The functions of the timer processor are:

• Handle real time clock interrupts

• Display current time of day

• Process delay timer records

• Process time of day records

Since the timer process is interrupt driven and capable of assuming control during any function of the system, it must be assured that the program it interrupted may resume

TERMINALS FROM TRANSNET

PURCHASE

12-24 MONTH FULL OWNERSHIP PLAN

36 MONTH LEASE PLAN

PURCHASE PER MONTH

DESCRIPTION PRICE 12 M0S. 24 IYI0S. 36 M0S.

DECwriter II $1,495 $145 $ 75 $ 52

DECwriter III, KSR .... 2,195 210 112 77

DECwriter III, RO 1,995 190 102 70

DECprinter I 1,795 172 92 63

VT100 CRT DECscope 1,595 153 81 56

Tl 745 Portable 1,875 175 94 65

Tl 765 Bubble Mem. ... 2,995 285 152 99

Tl 810 RO Printer 1,895 181 97 66

Tl 820 KSR Terminal .. 2,395 229 122 84

QUME, Ltr. Qual. KSR . 3,195 306 163 112

QUME, Ltr. Qual. RO .. 2,795 268 143 98

ADM 3A CRT 875 84 45 30

HAZELTINE 1400 CRT. 845 81 43 30

HAZELTINE 1500 CRT 1,195 115 67 42

HAZELTINE 1520 CRT. 1,595 153 81 56

Dataproducts 2230.... 7,900 725 395 275

DATAMATE Mini floppy 1,750 167 89 61

FULL OWNERSHIP AFTER 12 OR 24 MONTHS 10% PURCHASE OPTION AFTER 36 MONTHS

ACCESSORIES AND PERIPHERAL EQUIPMENT

ACOUSTIC COUPLERS • MODEMS • THERMAL PAPER

RIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS

PROMPT DELIVERY • EFFICIENT SERVICE

m

IraissNet Corpora tion

2005 ROUTE 22, UNION, N.J. 07083

201-688-7800

16K STATIC RAM

Fully Assembled, Tested, Guaranteed.

450 nsec $310 250 nsec $345

Static TMS 4044-Fully Static 4Kx1 Memory Chips for reliability and DMA capability.

Fully S-100 Bus Compatible-Dip Switch Addressable in two 8K blocks, 4K increments. Write Protectable in 8K blocks. Memory Disable using Phantom (pin 67) or strappable to any other pin. Built in Wait States (selectable 0 to 3).

Bank Select—Built in Bank Select using device code 40H (Cromemco software compatible)-addressable to 512 KB. Also has alternate strappable code 80H-making addressable over 1 million bytes.

Quality Components—First quality factory parts, fully socketed, Input/outputs fully buffered. Glass epoxy board with silk screened legends, solder masks, Gold Contacts.

Guaranteed—Parts and labor for 90 days. If not satisfied, return the undamaged board within 10 days for a full refund (U.S. only).

Orders—You may phone for Visa, MC orders 10 to 4 CST. Personal checks must clear prior to shipping. Shipping - Normally from stock. Expected shipping date will be promptly notified in case of delay. Illinois residents add 5% Sales Tax. No COD. Please include phone number with your order.

S.C. digital

P.O. Box 906 Aurora, IL 60507

Phone: 312-897-7749

Circle 31 2 on inquiry card.

February 1979 © BYTE Publications Inc 177

execution. To assure this capability, the timer processor immediately upon activation saves the registers of the interrupted program on the stack. Using this technique it is possible upon completion of the timer processor to restore the registers to the state they were before the interrupt and to return control to the interrupted module.

Upon completion of the saving of the interrupted modules registers, the time of

day being maintained by the computer is updated and displayed. Hours are displayed in the upper two digits of the address display, minutes in the lower two digits of the address display, and seconds in the data display. To avoid any ambiguity in discerning AM from PM, time is maintained using a 24 hour clock. In this system, then, 0 hours, 1 minute, 0 seconds corresponds to 12:01 AM; 13 hours, 0 minutes, 0 seconds corresponds to 1 PM.

Figure 10: Timer processor logic diagram.

c

TIMER PROCESSOR

J

SAVE USERS REGISTERS ON STACK

INCREMENT SECONDS

SET SECONDS = 0

INCREMENT MINUTES

SET SECONDS = 0

INCREMENT HOURS

SET HOURS = 0

-*'

INITIALIZE DELAY TIMER RECORD PROCESSING ADDRESS AND DISPLAY CURRENT HRS, MIN, 8 SEC

l DELAY TIMER ' H RECORD n |

I ACTIVE

J

DECREMENT DELAY VALUE IN RECORD (BYTE 0 8 I

OBTAIN EVENT RECORD ADDRESS FROM DELAY TIMER RECORD

SAVE DELAY TIMER RECORD PROCESSING ADDRESS ON THE STACK

EVENT RECORD PROCESSOR

(EVENT RECORD ADDRESS)

RETRIEVE DELAY TIMER PROCESSING ADDRESS FROM THE STACK

INCREMENT THE PROCESSING ADDRESS TO THE NEXT DELAY RECORD

I 1

HAVE ALL DELAY TIMER RECORDS BEEN ' PROCESSED I

NITIALIZE THE TIME-OF-DAY PROCESSING ADDRESS

I 1

IS |

, TIME-OF-DAY *] RECORD n !

I ACTIVE I I

IS CURRENT I HRS,MIN,SEC -\ = TO TIME

SPECIFIED IN . RECORD i

OBTAIN EVENT RECORD ADDRESS FROM TIME-OFDAY RECORD

SAVE TIME-OF-DAY RECORD PROCESSING ADDRESS ON THE STACK

EVENT RECORD PROCESSOR

(EVENT RECORD ADDRESS)

RETRIEVE THE TIME-OF-DAY RECORD PROCESSING ADDRESS FROM THE STACK

INCREMENT THE PROCESSING ADDRESS TO THE NEXT TIME-OF-DAY RECORD

I 1

I HAVE ALL I

_, TIME-OF-DAY i "■ RECORDS BEEN

PROCESSED

178 February 1979 © BYTE Publications Inc

Circle 72 on inquiry card.

The timer processor scans the file of delay timer records (table 7) to process those records which are active. The function of the delay timer record is to provide a delay of a preset number of seconds before processing an event record. To demonstrate how this function works, let's assume that one wishes to activate an audible alarm 50 seconds after a particular sensor has been tripped. You would structure the event and response records so that the tripping of the sensor would activate the delay timer record you were associating with this event. The activation of the delay timer causes the active flag to be reset and the timer activation value (bytes 2 and 3) to be transferred to the delay time. In our example this will cause the value 50 to be loaded into bytes 0 and 1 of our delay timer value.

As each real time clock interrupt causes the timer processor to scan the file of delay time records, it will find that our record is active. Once the processor determines that a record is active it will decrement the current delay time remaining and then check to see if the time remaining is zero. If there is still delay time remaining (time greater than zero) no further action is taken.

However, if there is no time remaining (time equals zero) the active flag is set, the current registers saved, the address of the event record is extracted from the delay time record, and control transferred to the event processor. The sequence of operations performed from this point will directly result in the audible alarm being turned on.

The processing of the records in the time of day file (see table 6 for record format) is performed upon the completion of all delay time records. Time of day records are processed in a manner very similar to that described for delay timer records. When an active record is encountered during the scan of the time of day file, the current time of day being maintained by the system will be compared to the time of day specified in bytes 0 and 1 of the record. Should these times be identical, the records flag is set to 1 and the processing of the event record specified in bytes 2 and 3 is initiated as described above. After servicing all records in the time of day file, control is returned to the interrupted modules."

Next Month: Part 3 of the Computerized Security System illustrates the design of some of the sensors, gives listings of a few of the control modules, and describes the design of the remote sensor display panel.

NOBODY SELLS THE BEST FOR LESS! COMPUTER LAB OF NEW JERSEY

f

PRICE

SPECIAL PRICE

Solid State Music 8080 CPU Board Kit

$149.95

$127.45

Mountain Hardware Introl System

$329.00

$279.00

IMC Keyboard

$169.00

$143.65

All Versions of Electric Pencil

15% off

Problem Solver — All Products

15% off

Vector Graphics All Products

15% off

Imsai — All Products

v

15% off

)

V

SUBJECT TO AVAILABLE QUANTITIES SHIPPING AND INSURANCE EXTRA. SHIPPING FREE ON PREPAID ORDERS.

COMPUTER LAB OF NEW JERSEY

141 ROUTE 46

BUDD LAKE, NEW JERSEY 07828

(201) 691-1984

SURPLUS PRINTER FOR TRS80*

0KIDATACP110

LINE PRINTER

WITH INTERFACE

BOARD.

T.M. ■ RADIO SHACK

NO SOFTWARE OR HARDWARE CHANGES REQUIRED. JUST PLUG IN AND RUN!

• 5x7 Impact Dot Matrix

• 80 Char/Line

•64 Char ASCI I (Uppercase)

• 110 Char/Sec.

• 66 Lines/Min.

• Accepts 8-1/2"TTY Roll paper

PRINTER $650.00

INTERFACE: BUILT $100.00

KIT $ 60.00

INF0R & SCHEMATIC $ 5.00

Shipped Freight collect. Send check, M.O.; ^_

INCLUDES - Power Supply, Built in Selftest, Parallel Interface, Line Buffer and Cables. Housed in a three piece plastic cabinet with all control electronics. Retail for over $1,100. PRINTER BRAND NEW NEVER USED IN FACTORY SEALED CARTON. Operating Manual Included, supplies

Limited

Guaranteed to be in good working order at time of delivery.

Write for Interface Info on Heath, Apple, Imsai, Sol, Northstar

INTERNATIONAL ELECTRONICS EQUIPMENT CORP.

P.O. Box 522542, Miami, Florida 33152

Circle 1 88 on inquiry card.

February 19796BYTE Publications Inc 179

Hamming Error Correcting Code

Michael Wimble

6026 Underwood Av SW

Cedar Rapids IA 52404

One of the most frustrating aspects of computers is that they make errors. Large computers have ample redundancy and error correcting hardware to make these errors virtually nonexistent, but owners of smaller computers must typically live with the problem. These errors are not all due to unreliable hardware; they are also caused by noisy environments, line crosstalk, power fluctuations, thermal variations and so on. To meet these problems several techniques have been developed. One of them is called Hamming codes.

The use of Hamming codes is analogous to the use of the common parity bit. A single parity bit merely provides detection of single bit errors, however. In contrast, the Hamming code described herein corrects single bit errors and detects double bit errors. An ideal use for Hamming codes is in cassette recording where single bit dropouts due to tape inconsistencies are common. Larger computers also use Hamming codes to detect and correct memory errors.

Alas, as with all real systems, you don't get something for nothing. To record eight bits of data without any error detection or correction scheme requires only eight bits of memory space. To use the common parity bit approach adds only one more bit of data: nine bits of memory space. But the Hamming code described here requires eight extra bits of memory space for every eight bits of data recorded. There are other Hamming codes available which use considerably less extra memory space per data space, but this one is particularly appropriate for microcomputers and for cassette recording, the most frequent source of errors in atypical hobbyist microcomputer system.

No attempt will be made to discuss the mathematics behind Hamming codes. The reader is referred to any good book on data transmission or error correcting codes for more information.

Building the Hamming Code

Building the Hamming code information is as simple as a table lookup. Every byte (eight bits) of data is recorded a nybble (four bits) at a time. Also, each group of four bits of data has four bits of Hamming data appended so that each byte of data to be recorded actually requires two bytes of storage.

Recording a byte of data is straightforward. Take the leftmost (most significant) nybble of data and record the corresponding byte of data shown in table 1. Next take the rightmost or least significant nybble of data and, again, record instead the corresponding byte from table 1.

For example, to record the data byte, hexadecimal 1F, perform the following:

• Extract the leftmost nybble (hexadecimal 01).

• Replace with corresponding byte from table 1 (hexadecimal El).

• Record the byte.

• Extract rightmost nybble (hexadecimal OF)

• Replace with corresponding byte from table 1 (hexadecimal FF).

• Record the byte.

Thus the single hexadecimal byte 1F is actually recorded as the two hexadecimal bytes E1FF. If it is not already obvious, each byte in table 1 has the actual data in its rightmost nybble and error correcting data in its leftmost nybble.

Reconstructing the Data

We are now ready to see how the Hamming code functions. As each byte of stored data is retrieved, with or without errors, four parity bits are constructed which give information as to the correctness of the retrieved byte. Using these parity bits, any required corrections are made to the re

180

February 1979 © BYTE Publications Inc

Data Nybble

Hamming Byte

0 1 2

00 E1 72

Data Word

01100111

3

93

01100111

4

B4

01100111

5

55

01101111

6

C6

7

27

Table 2:

8

D8

Oil 0011

9

39

which cat

A

AA

B

4B

C

6C

D

E

8D

1E

P3 I

F

FF

0

Table I: Table for transforming data nybbles into Hamming code bytes for storage.

trieved byte after which the original nybble of data is extracted.

Parity bit 4 (P4), the most significant parity bit, is simply the parity of the entire 8 bit retrieved byte. If the 8 bit data word has an odd number of 1s, then P4 is set to 1. Similarly, if the 8 bit data word has an even number of 1s, P4 is set to 0. To form parity bit 3 (P3), the 8 bit data word is first ANDed with hexadecimal 27 and the 8 bit parity of the result determines P3 just as P4 was calculated. Likewise parity bit 2 (P2) is formed by AN Ding the retrieved data word with hexadecimal 4B; parity bit 1 (PI), the least significant parity bit, is formed from ANDing the retrieved data word with hexadecimal 8D. Table 2 shows a sample calculation of the parity bits when hexadecimal is retrieved.

Error detection and correction is performed by detecting one of three cases:

• If all four parity bits are 0, the retrieved data word is correct. The original nybble of data is correctly formed in the rightmost nybble of the retrieved data word.

• If P4 is 0 but one or more of the parity bits PI, P2, or P3 is not 0, then a double bit error has occurred. The program should probably inform the operator and then halt.

• If P4 is not 0, a single bit error has occurred, which can be corrected.

To correct single bit errors, a byte chosen from table 3 is exclusive-ORed with the retrieved data byte. Parity bits P3, P2, and P1 (P3 is most significant and P1 is least significant) determine which byte to select from table 3. Table 4 demonstrates the correction and detection process for several different cases.

AND

Result

Parity Bit

_

01100111

P4= 1

00100111

00100111

P3 = 0

01001011

01000011

P2 = 1

10001101

00000101

P1 =0

A sample calculation of parity bits for the binary data word 01100111 (hexadecimal 6 7). Since P4 is not 0, a single bit error has occurred,

P3

P2

P1

Error Correction Byte

0

0

0

10

0

0

1

80

0

1

0

40

0

1

1

08

1

0

0

20

1

0

1

04

1

1

0

02

1

1

1

01

Table 3: Single bit error correction table.

Case 1 :

No errors.

Data

AND

Parity

E1

_

P4 = 0

E1

27

P3 =0

E1

4B

P2 = 0

E1

8D

P1 =0

Comments

All parity bits 0 implies no error.

Case 2:

Single bit error.

Data

AND

Parity

Comments

E3

—

P4 = 1

P4 not 0 implies single bit

E3

27

P3 = 1

correctable error.

E3

4B

P2 = 1

P3P2P1 = 110

E3

8D

P1 =0

Corrector from table 3 = 0 Data E3 Exclusive OR 02 Correct data E1

02

Case 3: Single bit error.

Data

AND

Parity

Comments

CI

_

P4 = 1

P4 not 0 implies single bit

C1

27

P3 = 1

correctable error.

C1

4B

P2 =0

P3P2P1 = 100

C1

8D

P1 =0

Corrector from table 3 = 20 Data C1 Exclusive OR 20 Correct data E1

Case 4:

Double bit error.

Data

AND

Parity

E2

—

P4 = 0

E2

27

P3 = 0

E2

4B

P2 = 0

E2

8D

P1 = 1

Comments

P4 equal to 0 and P3, P2, or P1 not 0 implies a double bit error. Note: data in P3, P2, and P1 for a double bit error does not imply any information about which bits are in error.

Table 4: Examples of uses of the Hamming code. For each case the transmitted information is hexadecimal El. When a 1 bit error is detected, the parity bits P3, P2, and PI are used to look up a correcting factor from table 3.

February 1979 © BYTE Publications Inc

181

Circle 396 on inquiry card.

get your hands t

on...

Hands on microprocessor short course with FREE take home microcomputer included in the $499 tuition.

March 5, 6, 7, 8, 9 March 19, 20, 21, 22, 23 April 2, 3,4,5,6 May 7, 8, 9, 10, 11 June 11, 12,13, 14,15

III V ,.'i*i

Atlanta, GA Lafayette, IN Los Angeles, CA Boston, MA New York, NY

Learn microprocessors first hand from the original hands on people.

For more information call Jerilyn Williams,

(317) 742-6802 or write Wintek Corp.,

902 North 9th Street, Lafayette, Indiana47904.

■ 6800 Hardware/Software Custom Hardware/Software In-house short courses

Conclusion

The algorithm described here has been programmed on several different microcomputers. Not many bytes of program are actually needed and the benefits are great. One need only read a large program from tape into main memory several times to realize the utility of the approach. If your current read in software informs you of any errors encountered, you probably must still find the errors and correct them, assuming you even know what the correct data should be.

Hamming codes can be extended to correct double bit errors, or to perform any practical n bit detection and m bit correction, but the extra memory costs can climb fast. Also it is very easy to build a hardware Hamming generator and detector using only a few discrete integrated circuits.

The Hamming code described here is both practical and valuable. Manufacturers should seriously consider incorporating this technique in hardware. The cassette enthusiast should incorporate this technique in any standardization or interchange effort. Even the everyday experimenter will find that the hour spent programming the algorithm will save many hours of frustration in the future."

0,'ty

Video

Professional Equipment

• Z80A cpu, 32K

RAM and PerSci

8" dual drives.

High speed line printer*,

1 50 characters per second.

• Word processing primer* with metal

print wheel.

terminal with eapaeitive keyboard, Choice of one.

24 x 80 display.

TEXT 2000rm Word Processing CPA 2000tm Business Accounting

•Accounts Receivable •Accounts Payable

• General Ledger -(multi-co.)

• User defined formats for bal. sheet, income statement, changes in financial position.

•Integrated A/R, A/P, G/L.

Complete program development software — Basic, Fortran, Cobol, Pascal, macro-assembler, debugger-available. INFO 2000 Business System, complete with TEXT 2000 and CPA 2000 software, can be purchased for less than $13,000. 90-day warranty with system. Extended warranty available. Write for complete information packet. Dealer inquiries welcome.

'True proportional spacing ' Full-screen text editing with

simple commands. 'Bidirectional, bold face, under lining, tab, right and left justi fication, centering, auto, pagination, name & address list.

COMPARE

THESE

UNIQUE FEATURES:

•PerSci Dual Disk Drives •Full size 8" floppy diskettes. 'Shundreds less than comparable

systems. 'Intelligent controller boards for each type of bus increases computer capabilities.

Additional I/O ports and drivers. •CP/M* Disk Operating System. 'Voice-coil positioning 8 times faster than others •IBM 3740 compatible. 'Takes less than 1/2 the space of others. 'Includes cabinet, power supply, fan and cables.

' Factory assembled and tested for immediate plug-in-and-go operation.

• Extensive software library available: Basic, Fortran, Cobol,

iscal, macro-assembler, debugger.

• Backed by 90-day warranty.

Write for complete information packet. Dealer inquiries welcome.

"Trademark of tfgital Research

Digit,

CORPORATION (213) 532-1702 20620 S. Leapwood Ave., Carson, California 90746

182

February 1979 (8 BYTE Publications Inc

Circle 178 on inquiry card.

Get Down to Business

from your IYtnotihI ComrmUT

How to Profit From

your Personal

Computer

by Ted G Lewis

If you want to use your personal computer in a profitable manner, and you need some help planning programming techniques this book is for you. It contains suggestions for accounting, payroll handling, inventory management, and sorting mailing lists. Many terms and notations are explained. Sample programs in BASIC, the use of blueprints to design program structure, and a full glossary of terms are a few of this book's special features. 191 pp. $7.95.

Up your OWN Organization!

by Donald M Dible

A great handbook on how to start and

finance a new business, this is the most comprehensive reference we've seen on the subject. For the programmer-consultant or the basement homebrewer-turned-entrepreneur, this is your book. It is recommended in the Bank of America Small Business Reporter and Changing Times magazines. 372 pp. Available for $14.95 in hardcover.

FUNDAMENTALS

OF

RECORDKEEPING

AND

FINANCE

FOR

THE

SMALL

Fundamentals of

Recordkeeping and

Finance for the Small

Business

by Robert C Ragan,

CPA,

and Jack Zwick, Ph.D

Once you have your organization or

business up and running, records must be kept. What should I keep, and how do I record them? This book on fundamentals will give you a helpful start. Section one deals with maintaining records, protecting assets, and providing a basis for planning. Section two provides a starting point for owner-managers wanting to sharpen their financial management skills. 196 pp. $10.00.

Payroll With Cost Accounting in BASIC

by Lon Poole

and Mary Borchers

This book includes program listings with

remarks, descriptions, discussion of the principles of each program, file layouts, and a complete user's manual with step-bystep instructions, flowcharts and sample reports with CRT displays. All 35 programs are written in the widely used computer language BASIC, and work together to produce a payroll, right down to the printing of paychecks and maintaining of employee records. $15.00.

BASIC with Business Applications

by Richard W Lott

This book focuses on the BASIC language and its application to specific business problems. The book is divided into two sections. Part one introduces the BASIC language and the concept of logical flowcharting. Part two presents problems and possible solutions. Topics include: interest rate calculation, break-even analysis, loan rates, and depreciation. Exercises at the end of each chapter give a greater understanding of BASIC by actual programming. $10.50.

Accounts Payable

and

Accounts Receivable

by Lon Poole

and Mary Borchers

This is a set of 21 programs which

constitute an invoice-linked accounts payable and a low-volume invoice accounts receivable system for small businesses. It is the third in Osborne & Associates' series of BASIC business programs and will be complemented by the soon to be published General Ledger. 318 pp. $15.00.

Charging for Computer Services

by D Bernard,

J C Emery,

R L Nolan, and

R H Scott

This book is written for managers who

must deal with service charges. This book provides the manager with principles and guidelines for a better understanding of the charge problem. The book provides general design principles along with specific suggestions to deal with specific problem areas. Charging for Computer Services is a necessary book for the manager making decisions in this vital area. 120 pp. $10.00, hardcover.

WRITING AT WORK: DOs.DON'Ts,

4f

*e*

Writing at Work: Do's Don't's, and How To's

by Ernst Jacobi

8 ®WjcM

covf*6

This is not a grammar or usage text. The

goal of this informative book is "to turn writers into communicators." Addressed to the educated business or professional person who can write adequately, this guide is full of practical advice that will help you make your writing enjoyable, effective, and successful. 198 pp. $7.95.

An Introduction to Personal and Business Computing

by Rodnay Zaks

A practical and comprehensive introduction to concepts, peripherals and techniques. The author explains available computers today and warns of the pitfalls for the businessperson in choosing and implementing a system. An invaluable information sourcebook! 245 pp. $6.95.

BITS

For your convenience in ordering, please use this page plus the order form on page 1 61. You may photocopy this page. DIAL YOUR CHARGE CARD ORDERS TOLL-FREE 1-800-258-5477.

The Microcomputer Bookstore

25 Route 101 West, Peterborough, NH 03458

BYTE February 1979

183

Glebs and Newsletters

FreeTRS-80 Newsletter

The TRS-80 Club of Arlington MA is offering a free semiannual newsletter. For a copy, send a SASE to TRS-80 Newsletter, 96 Dothan St, Arlington MA 02174.

User Group for TRS-80 Owners North of San Francisco

A TRS-80 user group has been formed north of San Francisco. Called the Redwood Empire TRS-80 Users Group, it is handy for owners in Sonoma, Marin, Lake, and Mendocino counties. Anyone is welcome regardless of

whether or not they own a TRS-80. Contact John Revelle, 7136 Belita Av, Rohnert Park CA 94928.

New Computer Club Formed in Greene County MO

A group of small computer users met in October 1978 for the purpose of organizing a computer club within the greater Greene County MO area. Two user groups were formed and the decision was made that separate users groups would be formed representing computers which have four or more users. The existing user groups are IBM 5110/5100 and Radio Shack TRS-80. The dues are

Content-Addressable Memory

for the S-100 bus

Discussed and dreamed about by computer scientists for years, Content-Addressable Memory (CAM) is now here at an affordable price. CAMs have been so costly to build that few have actually been produced. Now Semionics has developed a simplified design, lowering the cost by two orders of magnitude. This new memory is called Recognition Memory (REM), since (like the human brain) it can recognize words, patterns, etc.

Adding a REM board to an ordinary microcomputer converts it into a very powerful machine known as a Content-Addressable Parallel Processor (CAPP). Features: 4K bytes per board Static—no refresh needed Can be used as ordinary RAM or as CAM

RAM access time: 200 ns i

CAM access time: 4 /us A

Multiwrite—writing into multiple locations with one instruction Masking—for individual bit access

Multiple REM boards accessed in parallel

Adds 17 associative memory functions to instruction set of Z-80 or 8080. Applications:

Pattern Recognition • Information Retrieval • Compiling & Interpreting • Natural Language Processing • Code Compression • Artificial Intelligence Price: $325

4K firmware package of REM routines: $80

X SEMIONICS

41 Tunnel Road • Berkeley »CA 94705 (415) 548-2400

$12 a year, which includes a newsletter. Anyone in the Ozarks area interested in the club or in one of the user groups should contact Andrew Griffin, 2145 W Central Av, Springfield MO 65802, (417) 866-2447.

The Liberated Calculator Users Club

A number of the readers of the newsletter Calculator Lib (see "Clubs and Newsletters," January 1978 BYTE, page 141) have organized The Liberated Calculator Users Club, an independent group of calculator users dedicated to exploring the limits of the state of the art in calculator mathematics. Their goal is to profit mutually from members' knowledge of calculators and related fields and create a forum that allows club members to meet and identify with each others' interests. Contact Gene Hegedus, POB 2151,Oxnard CA 93034.

ACG-NJ News

The Amateur Computer Group of New Jersey continues to publish the impressive ACG-NJ News. This 20 page monthly publication is packed full of informative articles, club news, interesting tidbits about the computer industry, and much more. Membership to ACG-NJ is $15 a year (US and Canada) and $12 (foreign). Contact ACG-NJ, UCTI, 1776 Raritan Rd, Scotch Plains NJ 07076.

Microware Products Users Group

A users group for Microware products, which include the RT68 multitasking monitor and the ABASIC compiler, has recently been formed. The name of the newsletter is Microware Forum. The first issue contains adaptations of the compiler to video terminals, printers and the SwTPC calculator card. A year's subscription is $10. Contact Microware Forum, POB 3630, Minneapolis MN 55403.

New TRS-80 Publication

The 80-Northwest Journal is a new publication devoted entirely to the TRS80 computer. The journal features complete BASIC and machine language program listings. It covers the entire spectrum of TRS-80 capability, including programs and articles on business, audiovisual and scientific applications, and games. Currently it is running a series on machine language programming for beginners. Hardware features and product reviews are also included. The 80Northwest Journal is published bimonthly by 80-Northwest Publishing, POB 7112, Tacoma WA 98407. The subscription price is $16 per year.

Poly-88 Users Group Expands Services

The Poly-88 Users Group has announced expansion of services to PolyMorphic 8813/8810 disk system owners. Most of the current library of programs for the Poly-88 will be available on a

184

February 1979 ©BYTE Publications Inc

Circle 323 on inquiry card.

basis similar to the cassette versions. Members may contribute a new program in exchange for a program from the library or credit for a future choice. Members may also request programs for $2.50 each for handling and shipping on a furnished disk. Optionally, the users group will also provide the blank disk for $3. The membership fee is $5 (US, Canada and Mexico), $15 foreign and includes 12 issues of the newsletter which is published every two or four months depending on the number of additions to the library and general news of interest to Poly owners. Contact Poly-88 Users Group, 1477 Barrington #17, Los Angeles CA 90025.

Atlanta Computer Society

The Atlanta Area Microcomputer Hobbyist Club has changed its name to the Atlanta Computer Society. Meetings are held the last Wednesday of each month at 7:30 PM. The meeting location is the Community Room of Decatur Federal Savings and Loan Association, Dunwoody Branch, 1630 Mount Vernon Rd, Dunwoody GA. Visitors are welcome. For more information, write ACS, POB 88771, Atlanta GA 30338.

Attention: New York City TRS-80 Owners

We have been notified of the existence of a TRS-80 users group in New York City. Called the Metro TRS-80 Users Group, they meet the second Wednesday of every month at the Beverly East Bridge Club, Beverly Hotel (third floor), 125 E 50th St, New York NY. The meeting time is 6 PM and there is a $1 admission fee.

Newsletter for RCA VIP Owners

The VIPER is an independent user newsletter dedicated to the RCA COSMAC VIP. The $15 subscription price includes ten issues of volume 1. The first three issues contain articles revealing the machine language code for CHIP-8 (the VIP's user language), an annotated listing of the operating system and the first in a series of articles describing a text editor for the VIP. Contact The VIPER, POB 43, Audubon PA 19407.

Toronto Region Association of Computer Enthusiasts

TRACE is the monthly newsletter of the Toronto Region Association of Computer Enthusiasts (TRACE), POB 545, Streetsville, Ontario CANADA L5M 2C1. Membership in the association is open and dues are $15 per year, which includes the newsletter and admission to all meetings. The newsletter is available separately for $7 per year. The association has two meetings each month; one at the Ontario Science Ctr, 770 Don Mills Rd, Toronto at 2 PM on the second Sunday of the month; and the other at Humber College, Rexdale, at 7:30 PM on the fourth Friday of each month in room J209."

SOFTWARE ENGINEERS

Fischer S. Porter, an expanding leader in the commercial process control industry, has several key positions available for talented software professionals to develop advanced digital systems with the assistance of modern software technology such as:

• An Interactive, UNIX* based computer network

• High Level System Implementation Languages—PASCAL, C, FORTRAN

• Structured Analysis, Design and Programming

• A Virtual Target Machine Environment—PDP-11, LSI-11, 8080

To qualify you should have a technical degree, preferably advanced, with experience in one of the following areas:

• Distributed System Architecture

• Portable Operating Systems

• Interactive Graphics

• Compiler Design

• Data Base System Design

• Software Tools

We can offer you an excellent salary, a complete benefit package, a highly professional environment and an opportunity for technical career enrichment.

Our modern systems center is surrounded by a number of attractive communities offering excellent schools, shopping and cultural activities, plus the advantage of nationally known resort areas such as the Pocono Mtns. and the New Jersey seashore, all within a convenient drive.

To apply for one of these positions, or for further information:

Call Collect (215) 674-6022

Any Time Day or Night

or send your resume to Mr. Tom Haines, Department (B).

&

FISCHER PORTER

E. County Line Road Warminster, Pa. 1B974 Equal Opportunity Employer

"UNIX is a trademark of Bell Laboratories

Circle 139 on inquiry card.

February 1979©BYTE Publications Inc 185

Mark Klein

Sanborn Regional School District

Kingston IMH 03848

A computer's power comes from several sources, including its speed, memory, and the logic capability of its software and hardware. This article is about computer memory — in particular, it describes files, the organizational structures computers use to manage information on secondary memory devices like disks and cassettes. What kinds of information are kept in files, how different devices store files, how programs use files, and how operating systems manipulate files are subjects that will be covered in this 2 part article.

Files on Parade

Part 1: Types of Files

Since the subjects apply to all computer systems and are largely the same from one computer system to another, the material is presented in general terms. In fact, it is the generality of the concept of files and file techniques that makes them so powerful and so much fun to use. But specific examples help us learn, so scattered throughout the article are descriptions of how the concepts are implemented on the three computers I use regularly:

• A microcomputer (TDL Xitan 2, with audio cassette and dual PerSci floppy disk drives, at Sanborn Regional High School.

• A minicomputer (DEC PDP-11/10 with dual digital cassettes and 2.5 megabyte hard disk drive, also at Sanborn Regional).

• A big midicomputer (DECsystem-10 with 1 megaword of main memory and all the trimmings, at the University of New Hampshire).

The microcomputer needs no justification. The minicomputer is interesting because its RT-11 operating system and Multiuser BASIC are the same systems DEC uses for

its LSI-11 based PDP-11/V03 with floppy disks. The LSI-11 of course is the heart of the Heath kit H11 system. The DEC-10 is included because its big system features are appearing on the newer microcomputers.

What's in a File?

Anything can be kept in a file. That's reason number one for the importance of files. There are several ways to organize files, and one of the simplest ways is to separate them into program files and data files. Program files could include a BASIC game or business payroll program, a FORTRAN compiler, an assembler, a text editor, a debugging tool — in short, anything from higher level language application programs to system software.

Programs with little data handling often keep the data right in the program (using, for example, the READ and DATA statements in BASIC), but the more powerful and versatile technique is to store the information in data files. In that way several programs can access the same data by calling that data file, or one analysis program can call in several different data files. A simple example of the latter type might be a payroll program that works on the data file containing this week's time clock records today, and next week uses a similar data file containing employee work records for that week. The data in these files could be strings or integers or floating point numbers.

Sometimes the distinction between program files and data files becomes blurred. Using a software tool such as a text editor we could produce the source listing for an assembly language program. In the sense that this listing is an output file from the text editor and is destined to be an input file for another tool, the assembler, it is certainly a data file. However, it is most often called a source program because eventually, after we feed it through a few more programs (called linkers, loaders, and debuggers), we do run it as a program. (For a brief but clear description of the functions of these software tools, see "Beyond BASIC" by Alan B Salisbury in November-December 1976 Creative Computing, page 28.)

ASCII versus Binary Files

A different way to organize information is by the kind of characters used to encode the information in the file: ASCII or binary. The full ASCII character set includes the digits 0 thru 9; upper and lower case letters; special symbols like parentheses, comma, and semicolon; and control characters like carriage return, record separator(RS), end of

186 February 1979 © BYTE Publications Inc

file(EOF), and start of header(SOH). Binary encoding means that only logical 1s and Os are used. Executable object programs are commonly kept in binary files.

When a software supplier wants to keep the inner workings of one of its products a secret, that piece of software is supplied as an object program, typically in binary. A listing of the sources in some higher language is often available but at additional cost. Thus our Multiuser BASIC from DEC was delivered as a binary file. For other binary files in our systems, we might also have the source listings in ASCII files. In this category are FORTRAN or assembly language programs that were fed into assemblers or compilers to produce the binary files. Both programs and data can be encoded in binary files, as shown in table 1.

Many kinds of programs and data are stored as ASCII files, including text files for word processing programs, BASIC application programs, assembly source files, and mailing lists. ASCII files often use only a subset of the characters in the full 128 character set. Common subsets are the 64 character set with only upper case characters, the Radix 50 set, and the ASCII hexadecimal set (0,1,...,9,A,B,...,F), among others. The floppy disk handler program on our microcomputer for example is stored in ASCII hexadecimal format. Listing 1, produced with the TDL Zapplc monitor's S command, shows the part of this file which was loaded into memory beginning at hexadecimal F900.

Types of File Access

The best way to access a file depends on whether the whole file or just part of it is needed. When loading a higher level language application program from disk into memory the whole file is required in memory in serial order. But when updating an item in a data base, one usually wants to address one or two bytes within a record. Between these two extremes are applications in which a program calls one or more records from a file, such as an assembler processing a source file, reading a statement at a time from the input file. Each of these applications has an access type, sequential or random, for which is it best suited.

Advantages of Random Access

Before choosing an access type for a file, one should understand the difference between them, as summarized in table 2. The first two rows point out a major difference:

Table 1: Examples of information types used in files.

^^^. Character ^\. Type File ^\ Used ^^ As ^s^

ASCII

Binary

Program

assembly language source listing

BASIC application program

the Multiuser BASIC interpreter

object modules from assembler

Data

mailing list

virtual arrays

As we have seen, there are many ways to characterize files. The most illuminating way, and for the programmer the most important way, is in terms of how a file is accessed, either sequentially or randomly. A typical file is composed of header or label, data items, and an end of file mark. These components are contained in subdivisions of the file called records or blocks. (See "Fundamentals of Sequential File Processing," October 1977 BYTE, page 114, for a full description of one kind of sequential file.)

Table 2: Comparison of sequential versus random access files.

■;, I'VOO DB- I

1 2

f- e:& co c

2- 1

•,

F 908

t. li

AF:.

rv

CD- 70 19

3E

04

F 91 0

en

BE

rv

CD- 7 A- IV"

IIA

IF

f 91 a

F9

CM

49

FA- C3- 13'

1 V

FE

F 920

04

CfV

a:

F 0 - FE- 01

CA

31

F928

F9

Ft

oa

CA 4E- rv

C3

13

1 9 50

F 9

2A

AA

T9 1 II 09

FA

l.li

F938

/A

F9

OA

42- FV- 77

23

C3

F940

i via

37 09

F 9 ■

FS

2B- 22- AC

F9

CI.i

Listing I: ASCII hexadecimal format file generated by using the TDL Zapple monitor.

^-\^^ File

File ^\^^ Characteristic

Sequential

Random

file contents accessible in sequential order

yes

yes

file contents accessible in random order

no

yes

speed of access to a particular record

slower

faster

file size

variable — can change with each update

usually fixed at time of creation

method of creation

under application program control, or using a text editor

usually under application program control

method of update

must rewrite the whole file

individual elements can be changed

amount of data transferable as a unit

byte,record,sector or file

byte or sector

February 1979 © BYTE Publications Inc 187

to get to an item in a sequential file, the user must first read all the preceding items (records, sectors, blocks, or bytes). In a random access file, individual bytes can be directly addressed because information within the file is usually segmented or delimited by a number of bytes. A sequential file might use record separators or end of file marks as delimiters, with a correspondingly larger lower limit on the size of the smallest amount of information transferred.

The same applies when a file is updated. The entire sequential file must be rewritten to change one byte, while individual items can be changed in a random access file without rewriting the whole file. These differences account for the faster speed of access to any given byte in a random access file, since the preceding bytes do not have to be read first. The last byte in such a file can be read just as quickly as the first.

These distinctions make clear why random access files are chosen for data base applications. However, when moving a whole file at once (for example, saving an application program that currently is in main memory on disk), these differences disappear because the transfer is done sequentially as a continuous stream of data bytes. This type of transfer is commonly called stream 10.

Virtual Arrays

The shorter access times of random access files are utilized on some systems (for example, DEC's RT-11 and Multiuser BASIC) to provide a virtual array facility. Instead of moving a data structure into primary memory and then operating on it, the data structure is stored in a random access file. Whenever the user's program wants to operate on a piece of the data, the system fetches that piece from the file, letting the user pretend that the piece of data is already in primary memory. The jargon phrase for "letting the user pretend" is "making the data fetch transparent" to the user.

The reason for having virtual array capability is that application programs can use virtual arrays to handle data structures too large to fit into primary memory. Large arrays can be stored on the disk, with only a portion of the file in primary memory at one time. Since virtual arrays (containing string or numerical data) are usually stored as unformatted binary data, 10 conversions can be eliminated during storage and retrieval. This means no loss of precision, nor time wasted doing conversions.

The most visible difference between a real array and a virtual array is the time needed to access a particular array element as a function of where that element is in the

array (its referencing order). For real arrays, access time is independent of referencing order; for very large virtual arrays, referencing order could noticeably affect program execution time. Knowing the algorithm used by the virtual array processor to search the random access files can help optimize the user's program, but any execution time differences are a small price to pay for the ability to handle the data in the first place.

Sequential Access

All the advantages do not lie with random access files. The need to update the whole sequential file at update time carries it with some built-in flexibility. The size of the file can expand or contract to match the size of the file contents. Random access file size is usually fixed at the time of creation. If the random access file is used to handle, say, a data base, a guess must be made at creation time as to the maximum number of items in the data base. If the guess is far too big, a lot of the storage device where the file resides may be tied up unnecessarily, with large blocks reserved for data that never appears. If the guess is too small and data threatens to overflow the fixed file space allocated to it, a programmer will have to create a new file, with larger file size parameters, and then transfer the data from the old file to the new one. Foresight and good system design can avoid both extremes, but it is easier said than done.

Sequential files can also be more convenient to create, since there are often more ways to do so than for random access files. For example, data is usually entered into a random access data base under the control of an application program. This program calls for the data at some input port and transfers it to the file. The flexibility of this process and the opportunity for error correction and verification depend on the flexibility of the application program.

This same method is also used for sequential files, but there are other ways, too. Several kinds of sequential files, both program and data, can be created using the system's text editor with its generally powerful editing capability. In some cases, for instance in the DECsystem 10's BASIC, some sequential files are directly listable at the user's terminal without having to write a program that calls the file into main memory and then prints it out piece by piece. These directly listable sequential files can then be edited easily using commands that delete or change lines.

The capability for direct listing is related to how the information is stored. Binary characters, used for virtual arrays, are usu

188

February 1979 © BYTE Publications Inc

Circle 326 on inquiry card.

Circle 3 on inquiry card.

TRS-80 USERS:

Make

Two Bits

Perform

Like16K.

If you missed the first two issues of SoftSide, you missed:

Cribbage A 16K you vs. computer game that's hard to beat. Calculator Just what it says. End Zone A 2-player 16K football game, from coin toss to 2-minute warning. Pillbox Computerized artillery for 2 players. Shopping List An aid for consumers Plus, Troll's Gold, Octal to Hexadecimal Converter, Death Star and much more ! A 1-year subscription will bring you about sixty top quality programs for $15.00 — or about 25 cents apiece. Think about it . . . how else can you get so many K bytes of programming out of two bits !

1 Year Subscription—$15

Check, money order or

charge to VISA or Master

Charge (send full address,

signature, card numbers,

exp. date with order, or

telephone 603-673-5144) to:

SoftSide Subscriptions

POBox68

Milford.NH 03055

READY-TO-RUN SOFTWARE

TRS-80 • NORTH STAR • APPLE

INTEGRATED BUSINESS SYSTEM $1 75.00

A/P; A/R; Gen Led; Pay; Bus Stat; Letter Writer. Comes "Ready-to-Run" with easy-to-follow instructions. Requires 2 disc drives. Specify: TRS-80, NORTH STAR, or APPLE II (must have Applesoft).

TUTORIALS $40.00

Computer Aided Instruction, teaches the idiosyncracies of your version of disk basic. Specify: TRS-80, NORTH STAR, APPLE II (Applesoft).

HOMEMAKER I $50.00

Includes: Appointment Minder, Shopping List, Menu Planner, Diet Planner. Specify: TRS-80, NORTH STAR, APPLE II.

EDUCATOR I $50.00

Includes: Math Tutor, Grading System, Hangmath, Spelling, IQ Test, Games. Specify: TRS-80, NORTH STAR, APPLE II.

WORD PROCESSOR $35.00

Comes complete with simple, easy-to-follow instructions.

ALL SOFTWARE PACKAGES ARE WRITTEN IN BASIC ON

DISKETTE ONLY

Send for Free Catalog

Packages containing Program Listings only are available.

OD

(714) 774-1270

i ■ AJA SOFTWARE

P.O. Box 2528 • Orange, CA 92669

TRS-80 LEVEL

RENUMBER WITH 'REMODEL' - MERGE WITH 'PROLOAD'

REnumber any section or an entire program.

MOve program segments. DELete program lines.

All line references readjusted as required.

COMBINE programs with renumber and merge.

LOAD or SAVE any portion ol program from tape. GENERAL SUBROUTINE FACILITIES 'GSF'

Collection of fast easy-louse machine language routines.

IN-MEMORY SORT with multiple variables and keys.

ARRAY read/write lo tape, compress/uncompress/move data.

SCREEN scrolling, save screen displays, and more

DISK SORT PROGRAM 'DSP'

SORT/MERGE multi-diskette files. Fast and easy to use.

MULTIPLE variables and keys. User input/output sort exits.

Includes GSF machine language inmemory sort. etc. 32 or 48K. COPY SYSTEM TAPES WITH 'COPSYS'

COPY and VERIFY machine language ob|ecl tapes.

MERGE object tapes to form single load module.

MICROCOMPUTER CASSETTES 'C-20Y

SPECIAL formulation optimized for microcompulers. Extremely broad FREQUENCY response. Clean recordings. Exceptional DENSITY characteristics. Broad range. CONSISTENCY in recording characteristics. TOP DUALITY shells ■ liners and five-screw construction.

REMODEL

REMODEL + PROLOAD GENERAL SUBROUTINE FACILITIES DISK SORT PROGRAM

Must specify 16. 32. or 48K on above. COPSYS (Not DOS) For TAPES that TEST best

^■RACET

702 Palmdale,

COMPUTES -g Orange CA 92665

Order TS21D at S24.95

Order TS22D at S34.95 Order TS25D at S24.95 Order TS26D at $34.95 System house discounts. Order TS24D at $14.95 Order 10 ca al S14.95

Check. VISA. M/C.C.O.D. Calif, residents add 6 '■>, (7141637 5016

M

22 START-AT-HOME COMPUTER BUSINESSES

in "The Datasearch Guide to Low Capital, Startup Computer Businesses"

CONSULTING • PROGRAMMING • SOFTWARE PACKAGES • COM • FREELANCE WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • PUBLISHING • TIME BROKERS • HARDWARE DISTRIBUTORS • SALES AGENCIES • HEADHUNTING • TEMPORARY SERVICES • USED COMPUTERS • FINDER'S FEES • SCRAP COMPONENTS • COMPUTER PRODUCTS AND SERVICES FOR THE HOME. Plus — Loads of ideas on moonlighting, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and more. No career planning tool like it. Order now. If not completely satisfied, return within 30 days for full immediate refund.

• 8% x 11 ringbound • 156 pp. • $20.00 Phone Orders 901-382-0172

/

DATASEARCH

Incorporated 5694 Shelby Oaks Dr., Suite 105, Dept. B, Memphis, TN 38134

Rush copies of "Low Capital Startup Computer Businesses" at $20

per copy to me right away.

NAME/COMPANY ADDRESS

CITY/STATE/ZIP _ D Check Enclosed

D Bankamericard D Master Charge

Circle 31 7 on inquiry card.

Circle 93 on inquiry card.

BYTE February 1979 189

ally transmitted through a parallel 10 port interface such as might connect a floppy disk unit to the processor board. However, most terminals are connected by a serial interface and handle ASCII characters.

Input and Output Modes

Another file characteristic that sorts according to file access type is the need for file mode, either input (read) mode or output (write) mode. When a program needs to access a sequential file, that file must first be placed in the appropriate mode. Setting or resetting the mode moves the data pointer to the beginning of the file so that the access can be sequential from the start of the file.

Usually random access files do not distinguish between input and output mode; a data pointer is merely set to the point of access. In practice, the necessity to set the mode for sequential files is only a minor inconvenience.

Other differences between sequential and random access files may exist under particular languages or operating systems. These differences can be very important locally as software producers add extensions to standard languages to gain a competitive edge (see table 3 for one manufacturer's file management system). The programmer's job is still to choose the file access category that best fits the program being designed.

Devices That Hold Files

Access Method

Storage and

Retrieval

Delimiter

Access

Type

Stream

as a continuous stream of data bytes

next file name

sequential

Punctuated

as a sequence of variable length records

ASCII

RS character

sequential

Relative

as byte addressable random access memory

number of bytes

random or sequential

Direct

as specific sectors on specific tracks

sector number

random or sequential

Table 3: Various file access methods used by the PerSci floppy disk operating system.

(a)

k *0*/l

FJLES OB-09 09 771219 rEXTPROC.TM. BIORUMP. mi. BAHIC.mi

Erur.tdi

[ODRIUER.EEN

01-01 0023 0022 064 771219 771219

01-24 0074 0073 033 771219 771219

04-20 0065 0064 001 771219 771219

07-07 0023 0022 001 771219 771219

OS 04 0005 0004 051 77 1219 771219

(b)

"C

,R PIP

**.MPK/L/C/W 19-DEC-77 TESFIL.MPK 1 TALK2 .hPK 7 LEVEL2.MPK 5 FILART.MPK 12 4 FILES. 25 BLOCKS 1323 FREE BLOCKS

19-DEC-77 19-DEC-77 19-DEC-77 19-HEC-77

7321 7322 7331 7336

(c)

DIRECT

dskc:

PBOOT HART <3W ITCH PFAM EEN

HART 10 Total

C2000i

STC

APL

INI

TXT

APL

ADA

of 12!

101463 10 <0

7> 05 7> 055> 05 7 > 055>

12 1

14

39

49 <255>

blocks in 6

23-Nov-77 26-Jul-77 13-Nov-77 17-NOV-77 l?-Jul-77 27-Jul-77 files on DSKC:

C2000.101463

Table 4: Three tables showing the displayed file organization on three different processors. Table 4a is a TDL Zapple microcomputer floppy disk directory. Table 4b shows a disk directory from a PDP-11. Table 4c is the user's directory from a DECsystem-W.

A computer system is a collection of devices, many of them addressable: disks, magnetic tape drives, cassettes, card or paper tape readers, paper tape punch, printers, terminals, etc. Files can be transferred to and from all of these devices, but of the devices mentioned, only disks are random access devices — devices that allow data to be processed in random order independent of its physical location on the device or its location relative to other information. These devices are sometimes called block replaceable devices. The other devices process information in the same order as the physical order of the data on the device. These are called sequential access devices.

File Structured Devices

Disks, tapes, and cassettes are all file structured devices; ones that allow the storage of data under assigned file names. In some systems that use audio rather than digital cassettes, this could be a minimal storage system. The TDL 8 K BASIC, for example, lets the user store files with a 1 letter file name on cassette. Reading that file requires proper manual positioning of the tape, but since it won't load back into memory unless the load command addresses the file by its correct 1 letter title, it is probably legitimate to call those cassettes file structured. Devices which are not file structured contain a single logical collection of data, such as a line printer or terminal.

Directory Devices

The file structured devices can be further classified according to whether or not they are directory devices. A directory device is one that contains a table of contents with critical information about the files on that device. Tables 4a, 4b, and 4c are partial

190

February 1979 © BYTE Publications Inc

Circle 81 on inquiry card.

Circle 372 on inquiry card.

DATAFACS

Software now for: Micropolis and NorthStar

Good Software is Essential for an Efficient Business. Now, the finest in software at a price you can afford. We are definitely the affordables!

PROGRAMS CURRENTLY AVAILABLE: INVENTORY PROGRAM PACKAGE

• Inventory Addition • Update

• Analysis (Current month) • Analysis (Year to date)

• Search • Vendor File Also generates 7 additional user reports and much, much more.

— Cost $175.00 — MAILING LIST PROGRAM (Single Drive)

•Print formating in 80 or 132 columns.

— Cosl $20.00 —

The above programs are designed to run under the following: *CP/M in CBASIC j Micropolis and NorthStar

> 2 drives required

*CP/M in BASIC E \ also IMSAI IMDOS (2) 8" disc IBM 3740 Format required EXTENSIVE CONTRACTORS ESTIMATING PROGRAM

Literature available upon receipt of your letterhead

Currently Under Development:

• Billing ) Available

• Payroll > early in 79

• General ledger) in new CBASIC-2 Specializing in custom software for the AM-100**

Datafacs System Inc. Eastern Division 2440 W. Catalpa, Chicago, III. 60625

Phone (312) 784-0300

•CP/M is a Trademark of Digital Research Corp. "AM-100 is a Trademark of Alpha Microsystems

n=-i

APPLE II USERS WE'VE GOT SOFTWARE!

We have the best disk file management system in the market. Use it for your mailing list, accounts receivable, payables, personnel records, etc.

In addition, we offer not only the most fascinating basic programming course for people with little or no programming experience, but also commercial software for North Star Horizon Computers and Ohio Scientific Computers, and over one hundred programs for Apple II Computers.

The file management system is available for $60.00 and the programming course for $30.00.

Please specify tape or disk version.

Check, money orders and credit cards accepted. Florida residents add4% tax.

TRANS-DATA CORPORATION

161 Almeria Avenue

Coral Gables, FL 33134

(305) 576-7666

Send $1.00 for software catalog or call our toll free number (800) 327-8455.

CATCH THE

S-100INC. BUS!

S.D. Expandoram 32/64K Memory Board Kit-(No RAM) for each additional 8K add for each additional 16K add

North Star MDS-A-D Dual Density Kit

S.D. Floppy Disk Controller Kit

Exidy Sorcerer 8K Version

TDL 32K Dynamic Memory Factory assembled and tested

Call for Our Prices on:

Cromemco, IMSAI, Vector Graphic,

North Star, Sanyo, Hazeltine, IMC

Plus Most Other Major Lines.

Subject to Available Quantities. • Prices Quoted Include Cash Discounts Shipping & Insurance Extra.

bus 5-100,inc.

Address 7 White Place

Clark, N.J. 07066 Interface . .201-382-1318

'©I

■?Bft?l

OUR SPECIAL

LIST

CASH

PRICE

PRICE

)

141.00

120.00

58.00

45.00

143.00

120.00

699.00

589.00

159.00

135.00

895.00

765.00

869.00 650.00

PET WORD PROCESSOR

This program permits composing and printing letters, flyers, advertisements, manuscripts, etc., using the COMMODORE PET and a printer. Script directives include line length, left margin, centering, and skip. Edit commands allow the user to insert 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 RS232 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

150POCONO ROAD

BROOKFIELD, CONNECTICUT 06804

(203) 775-9659

Circle 316 on inquiry card.

Circle 77 on inquiry card.

BYTE February 1979 191

Circle 197 on inquiry card.

ENCOU'

ID kind..,

TheP

Chine from JF

Introducing the JF68. A Computer System that's both affordable and expandable. The JF68 is finding widespread use in hobbyist, small business, and OEM applications. Its expandability and low cost will make it the affordable solution to your every processing problem. You can order it the way you like it. Either in KIT Form for $549.95, or fully assembled and tested for $749.95. At these prices, shouldn't our computer be solving that problem instead of you?

FEATURES

• Woodgrain Cabinet • MIKBUG Compatible

• SS50 Based System • 16 Slot Motherboard

• Cassette I/O Included • 2K ROM Monitor on CPU

• Serial Communications to 9600 BAUD

PRODUCTS 1441-5 POMONA RD. CORONA, CA 91720 (714) 734-6900

master charge

PET™ EXPANDOR PRINTER

from PETSHACK Software House

P.O. Box 966 Mishawaka, IN 46544

Tel:(219) 255 3408 ^^ PRINTER PRICE with pet interface $495

• Small size of 4.5"H * 12'A"W * g'/V'D

• Impact printing - 3 copies

• Prints 80 colomns wide

• Print Cylinder ■ not a matrix

• Uses 8'/2" paper, pressure or pin feed

• Easy to maintain yourself, or return to us

• Regular Paper ■ Coated paper not required

• Lightweight, 11K lbs. with cover

• Prints 10 characters per second

• 64 Character ASCII Character Set

• Full Documentation Included

This is the ideal, low cost, reliable, self maintained printer with which to complete your PET system.

PET ROM LISTINGS

PET SCHEMATICS

PET TO PARALLEL INTERFACE with 5V .8A power supply

PET TO 2nd CASSETTE INTERFACE

BUDGET - NEW - Keep track of Bills and Checks. Update as needed

NUMBERAMA - Number Guessing Game based on 'MASTERMIND'

STATES - Help the kids with their geography. Match States & Capitals

MATH TUTOR - Help youngsters learn math in an enjoyable way

6502 DISASSEMBLER

MAD LIBS - PARTY FAVORITE! Hilarious stories created

WORLD CONQUEST - Advanced game of Strategy

STARTREK - All-time favorite written for the PET's special Graphics

MORTAR - Advanced game with X-Y coordinates & angles

PSYCHO ANNIE - Tell your problems to Psycho Annie

COMPUTER DERBY - Up to 4 people can play the horses

MAILING LIST - For personal or business applications.

HOME UTILITIES - Loans, Savings, Electricity, & miles per gallon

MACHINE LANGUAGE MONITOR - Write Machine Code. Save on tape

PET is a trademark of Commodore Business Mach

SIS.95

$24.95

$74.95

$49.95

$14.95

$5.95

$5.95

$5.95

$12.95

$5.95

$5.95

$5.95

$5.95

$5.95

$5.95

$9.95

$9.95

$9.95

ines

Device

Access Type

Directory?

disks

random

yes

magnetic tapes

sequential

varies with operating system

cassettes

sequential

no

Table 5: Comparison of three file structured devices in order of increasing access time.

file directories from various processors. Besides the file name and date of creation or modification, the directory contains the size and address of the file on the device, although the directory listing on the terminal may not show all of this information. File access times are orders of magnitude faster on directory devices because the hardware can first examine the directory and then go right to the sector where the wanted information resides.

Table 5 summarizes the access time comparison for file structured devices and shows why cassettes are so much slower than disks: they are neither random access nor directory devices. Even a digital cassette drive run by an intelligent controller must spin a lot of tape, examining each file header in turn until it finds the one desired. To appreciate the time differences involved, consider the time it takes to load the TDL 8 K BASIC interpreter on our microcomputer: using the fast TDL cassette format (1200 bps), the cassette tape takes 3.5 minutes; and using the PerSci floppy disk, it takes about 2 seconds.

Magnetic tapes occupy the middle ground between cassettes and disks because while they are sequential, they can have high data transfer rates. But as with cassettes, updated files must be tagged onto the end of the tape, drastically increasing their access time. Cassettes and magnetic tapes typically contain directory type information headers at the beginning of each file, so the system can at least read them sequentially and produce a table of contents on the user's terminal. Magnetic tape units, however, are seldom seen on microcomputer systems because they are much more expensive than floppy disks.

Today, floppy disks represent a good trade-off between price and performance (speed and information capacity) in handling files. But remember that files are just a way of organizing memory, and newer memory devices like bubble memories and charge coupled devices are likely to change people's opinions about the best ways to handle files.

Part 2 of this article will describe the detailed techniques of managing files."

192 February 1979 © BYTE Publications Inc

Circle 303 on inquiry card.

Circle 354 on inquiry card.

Circle 156 on inquiry card.

Build Your Own Low Cost

S-100 Bus Micro-Computer

POWER SUPPLIES

Unregulated Output: t 8.5VDC & 117VDC With Heavy Currents: 15 Amp or 25 Amp @ + 8.5VDC

BRIDGE RECT.

D-i: 35 Amp. 50piv D2; 4 Amp. 50piv

COMPUTER CAPS:

Ci:100,000UF, 15V $

Ci: 52.000UF, 15V $

C,: 6.000UF, 50V $

3.75 1.95

9.50 4.75 2.50

TRANSFORMERS:

T-: Supplies + 8.5V/15A, - 8.5V/2A & t 17V/2A $18.50

SIZE: 33/8"(L) x 4"(W) x 23/i6"(H), mtg. bracket incl. T : Supplies + 8.5V/25A, - 8.5V/3A & +17V/3A $24.50

SIZE: 33/4"(L) x 41/8"(W) x 3i/8"(H). mtg. bracket incl. POWER SUPPLY KITS: Dimensions; 13"(L) x 5"(W) x 47/8"(H) KIT "A": Output; + 8.5V/25A, - 8.5V/3A & ± 17V/3A $58.50

Incl. trans. T2, Ci, (100,000UF),3XC2(6000UF), Di, D2, 4x resis., fuse, holder, barrier strip, alum, chases plate & all nece. mtg. parts. 3 hrs. assy, time & instructions incl. KIT "B": Output; + 8.5V/15A, - 8.5V/2A & t 17V/2A $48.50

All parts same as kit A, except trans. T) , & C, (52.000UF) SHIPPING: $4.75 per transformer. For each kit: $5.00 in Calif., $7.00 for all other states. Calif, residents add 6% sales tax, Master Charge/B of A, OEM are available.

SUNNY INTERNATIONAL

MAIL ORDER:

P.O. Box 4296

Torrance, Ca. 90510

STORE:

7245 E. Alondra Blvd.

Paramount, Ca. 90723

STORE HOURS: 9 AM-6 PM

PHONE: (213) 633-8327, 530-3732

Radio Shack Computer Users

Tl JC fi^ monthly I nw'OU newsletter

The largest publication devoted to the TRS-80 System

• Business • Software Exchange

• Personal Finance • Market Place

• Practical Applications • Questions and Answers

• Gambling—Games • Program Printouts

• Latest RADIO SHACK Developments «... and more

MAJOR PROGRAMS PUBLISHED MONTHLY • INCOME TAX PROGRAM - LONG AND SHORT FORMS • INVENTORY CONTROL • EXTENSIVE MAILING LIST AND FILE PROGRAM • PAYROLL • STOCK SELECTION • PICKING WINNING HORSES •RENUMBER PROGRAM LINES • CHESS • CHECKERS • FINANCIAL APPLICATIONS PACKAGE • PERSONAL FINANCE PACKAGE • GRAPHICS "STATISTICS'MATHEMATICS "EDUCATION . . . AND MORE

$24. Per Year

iCQMPLITRQNICSi

MATHEMATICAL APPLICATIONS SERVICE*"

Box 149RB, New City, New York 10956 (914) 425-1535

Send for FREE Software Catalogue (Including listings of hundreds of TRS programs available on cassette and diskette).

AVAILABLE NOW

$1695 T.I. 810 printer

• 150 cps bi-directional impact printer

• Tractor feed, 3" to 15", up to 6-part

• Programmable forms length

• EIA RS-232 serial, 110-9600 baud

Options:

• Upper/lower case $90—Stand & paperbasket $135

• Forms Length Control $90—Vertical Format Control $180

• FLC/Compressed Print $180—VFC/Compressed Print $270

SOROC IQ 120

*795

Upper/lower case, 24 X 80 12" display Numeric keypad, cursor control keys RS-232 interface plus extension port

Need more intelligence?

SOROC IQ 140 $1345

Need a Texas Instruments portable, ASR or KSR? Call MICROMAIL

FROM MICROMAIL

Teletype 43 $999

• Upper/lower case, 132 columns

• RS 232 serial, 110 or 300 baud

• 12" X 8V2" pin-feed paper

(1620 pictured)

Diablo 1641/3 $2910

• Letter-quality printing

• HyType II daisywheel printer

• RS 232 serial, 110-1200 baud

To order: Send a certified check or money order. Personal or

company checks require two weeks to clear.

Handling: Less than $2000, add 2%; over $2000, add 1%.

Tax: California residents add 6% sales tax.

All terminals shipped freight collect in original carton with

manufacturer's warranty.

Write for free catalogue

eCT.CR[]Mfl.L

[

MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 (714) 731-4338

J

Circle 222 on inquiry card.

BYTE February 1979

193

64KB MICROPROCESSOR

MEMORIES

• S-100 - $695.00

CI-S100 64K X 8

ll'ijliii v„ , 111(1111 Sill ,

CI-1103 32K x 16

liffi i nnn^ifiiiinifjilmllniiii

CI-6800 64K x 8

msrrv

Qiaiait I «jlulu

Q|VM t$ u 'jBKsarji

CI-8080 64K x 8

LSI 11 - $890.00

• 6800 - $995.00

CI-S100 — 64K x 8 on a single board. Plugs directly into the I MSA I, MITS, TDL, SOL and most other S-100 Bus computers. No wait states even with Z80 at 4Mhz. Addressable in 4K increments. Power requirement 6 watts. Price $695.00.

CI-1103 — 8K words to 32K words in a single option slot. Plugs directly into LSI 11, LSI 11/2, H11 & PDP 1103. Addressable in 2K increments up to 128K. 8K x 16 $390.00. 32K x 16 $890.00 qty. one.

CI-6800 — 16KB to 64KB on a single board. Plugs directly into Motorola's EXORcisor and compatible with the evaluation modules. Addressable in 4K increments up to 64K. 16KB $390.00 64KB $995.00.

CI-8080 — 16KB to 64KB on single board. Plugs directly into Intel's MDS 800 and SBC 80/10. Addressable in 4K increments up to 64K. 16KB $390.00. 64KB $890.00.

Tested and burned-in. Full year warranty.

Chrislin Industries, Inc.

i Computer Products Division

31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254

Circle 47 on inquiry card.

c

Continued from page 7

Raphael's book The Thinking Machine: Mind Inside Matter, required a Xerox XDS-940 computer with 64 K 24 bit words of memory in its first version circa 1969. In the second version of Shakey, the robot was driven by a PDP-10 with roughly 200,000 words of 36 bit memory (ie: close to a million bytes of memory.) Shakey is no doubt one of the best mobile robotic systems seen to date.

The advances in computer power allow many more individuals to experiment with such mechanisms. The present crop of microprocessors have a 23 and 24 bit byte address space that is complemented by the extremely large 64 K bit (and in years to come, 256 K bit) dynamic memory parts. These are the latest examples of how microelectronics creates the kind of computer power needed to control autonomous mechanisms inexpensively and, therefore, practically. We are now seeing the possibility of inexpensive (under $1000) computer electronics equivalent to Shakey's 1971 era PDP-10. The processing power needed to make a robot perform complicated visual recognition and manipulation tasks will be available to the creative individual experimenter. Even without the latest state of the art of integrated circuit design, the typical personal computer's 8 bit processor with 64 K address space, floppy disks and displays is more than adequate for experimenting with automated mechanisms including arms and mobile robot platforms.

In this issue we have two articles by various personal computer experimenters on designs of robotic arms that can be built and programmed using readily available components. In the pursuit of the successful robotic system, the arm is one of the most challenging subsystems to design; we are mapping a physical space, getting sensor feedback about the objects in that physical space, and manipulating the objects. Of course, the open loop manipulation of objects without feedback is possible, and is a step in the right direction. But real adaptive interaction with the design evironment requires some form of feedback. Put all these details together, and a challenging project results. It includes elements of software design of the control programs for the system, elements of mechanical design for the proper fabrication of a balanced and reliable arm, and elements of electronic design for the interface between mechanism and logic levels.

The task of designing an arm subsystem as described in this issue's articles has been one of creating it from scratch. But what about the prospect of taking a shortcut by

194 February 1979 © BYTE Publications Inc

Circle 203 on inquiry card.

Circle 386 on inquiry card.

V

TRS 80 PET-APPLE SOFTWARE

GALACTIC BLOCKADE RUNNER--an exc.lmg .different ano soph.siicated space war game with interesting graphic displays Plays belief than many o\ the Star Treks Out there Tl/4 T2/1E P A $9 95

SCI-FI GAME SAMPLER —includes 3 games-Space Monsler Lunar Lander and Space Battle all with graphics Tl/4 T?'I6 P $5 95

SOLARIA —a sophisticated fantasy economic simulation— yuu won t oeNeve the complemy of this one's output T2/16 P J9 95

MICROCHESS- play chess with your computer Uses graphic display and provides various levels o( dilticulty Tt/4 T2/4 P A S19 95

BRIDGE CHALLENGER-why wait to get 3 other people together lo play7 Your computer s ready anytime T2/16 P A $14 95

PILOT— The CAI language This version has more features lhan many ol I nose on the market including a built in editor Tl/4 T2/4 SI 4 95

MICRO-TAX 78 - |usl in lime lo help you prepare your returns Does form 1040 and schedules A. B. C. SE. D « 4797 T2M6 $12 95

RENUMBER —a machine language program lor renumbering you' BASIC programs one ol your most useful programming tools T2/4 $14 95 PERSONAL FINANCE PACKAGE -3 programs m this one Cnec*ingAc count Budget Planner and Interest Calculalor Tl/4 T2/4 $9 95 AIR RAID —a machine language, real time arcade lype gam" Shoni down planes as they lly by Tl/4 T2/4 $14 95 RSM-2s —a machine language monitoi for Ihe TRS-80 Many many features including a built in disassembler $26 95 Disk Version $29 95 APPLETALKER- speach synthesis lor your APPLE compuler' $15 9S APPLELISTFNER —speech recognition lor your APPLE compute' A nice companion program to Ihe one above Jusl think ol what you can do1 $19 95 MANY MORE - SFND FOR FREE CATALOG - GIVE TYPF OF COMPUTER

I IKS ho Level Man P Gimmntlnrc Ph? A Apple 11 15% OFF IF YOU BUY 3 OR MORE!

was GiwWBa eeiAra&je

2I9 WASHINGTON AVE DEPT —

CHELSEA MA 02I50 [617)884-7291 —

A

•

COMPUTALKER

AND

VOTRAX

OWNERS

Our ANGLOPHONE program for the 8080 converts ordinary English in real time into phonetic codes to drive your speech synthesizer. Price includes source and object codes and a comprehensive manual. The version for the Computalker occupies 7K bytes and requires Computalker's CSR1 software. The version for the VOTRAX occupies 11K bytes.

For Computalker For VOTRAX VSK For VOTRAX VS-6

Available on: CUTS Cassette CP/M 8" diskette North Star diskette Paper tape

$ 45

$100

$200

Order from:

UPPER CASE

2011 Silver Ct. E.

Urbana, 111.61801

INCOME TAX PROGRAMS FOR TRS-80

TM

FOR INDIVIDUALS (LINE PRINTER OR

DISK NOT REQUIRED)

1040A 4K 7.95

1040 (with Schedule A 4K 14.95

& C thru F Routine)

TC&G (Income Averaging) 4K 14.95

• • • STATE LEVEL I OR II • • •

BUSINESS & PROFESSIONAL: Full systems with line printer output start at 189.95

FREE 7-PAGE CATALOG AND DESCRIPTION

CONTRACT SERVICES ASSOCIATES

1846 W. Broadway Anaheim, CA 92804

P<

PCE Electronics

>Q

PCE/ITHACA AUDIO IA-II00 64XI6 Video Interface with white on black or black on white, switch select blinking cursor, 6\ there's NO SNOW or WAVE. S-I00 kit $II5 °° add $35 °° for assembled ft tested

PCE I6/4 + I EPROM/RAM

Sockets for up to 16 2708's with

0 to 4 wait states, addressable in

four 4K blocks, with IK of RAM

that may run within one of the 4K

blocks or at any IK boundary. S-IOO

kit $I30°° add $5°° for 250ns RAM

add $30°°for assembled ft tested

I

We have much more, call or write for our flyer.

PCE Electronics, 4782 Dewey dr., Fair Oaks, Ca. 95628

(9I6) 966-2208

5 % for shipping excess refunded

Master Charge Visa

COD requires 50% deposit

Calif, residents add 6% sales tax

Special packing for international orders.

Circle 83 on inquiry card.

Circle 288 on inquiry card.

BYTE February 1979

195

Articles Policy

BYTE is continually seeking quality manuscripts written by individuals who are applying personal computer systems, designing such systems, or who have knowledge which will prove useful to our readers. For a more formal description of procedures and requirements, potential authors should send a selfaddressed, stamped envelope to BYTE Authors' Guide, 70 Main St, Peterborough NH 03458.

Articles which are accepted are purchased with a rate of up to $50 per magazine page, based on technical quality and suitability for BYTEs readership. Each month, the authors of the two leading articles in the reader poll (BYTE's Ongoing Monitor Box or "BOMB") are presented with bonus checks of 5100 and S50. Unsolicited materials should be accompanied by full name and address, as well as return postage."

purchasing some form of "experimenter's arm" kit?

There has been one attempt at a commercial kit product for the robot arm experimenter, a product which was advertised in this magazine starting last spring. I refer to the Gallahcr Research "Grivet" arm, which is shown in photo 1.

The photograph was taken using the kit I bought for $400 and put together one Sunday morning in September. In a phone conversation with Mr Gallahcr, I have since been informed that the Grivet will no longer be available by the time this issue reaches readers, although he is filling orders already placed.

Mr Gallaher's robot arm was a crude start at best, for all we got is a rather shaky mechanism with six DC motors. The purchaser's inventiveness must supply the details of electronic interface and control. A suggestion, in the marketing literature supplied with the kit, is that relays be used to provide control of the 6 VDC which will run the motors. This kit provided what you see in the photograph: a limited mechanical start on a complete arm which must include a mounting of some sort, power supplies, bidirectional motor drive electronics, and sensory feedback. There is not even a suggestion of how to mount and use sensors to provide feedback control of the arm in a practical object manipulation environment such as a chessboard with chess pieces as the objects.

The designer of this arm did his homework with respect to balance, for it will sit upright on its counterweight with no particular urge to topple over. The photograph was taken with the arm in this position. But

if mounted in a horizontal position as suggested by the sales literature (assembly drawings, but no instruction manual, come with this device) several of the parts are under enough stress to be visibly bent. The only way I can see to practically mount this arm is by having it hang down from the shaft furthest from the hand mechanism (flipping it 180 degrees around the vertical axis of photo 1).

The Gallaher arm kit's parts are apparently handcrafted. When you think of the time and energy that went into its creation, it is obviously a bargain at $400, even if incomplete. Some of the first microcomputer kits such as the Mark-8, Altair and Sphere were similarly incomplete, and a whole industry was formed filling in the gaps to provide a complete computer system in assembled form. Therefore, we can expect more complete robotic systems as further products are offered to the experimenter. Just as "hardheaded realists" (ie: unimaginative people) scoffed only four years ago at the idea of a personal computer, I can almost hear the equivalent comments about domestic robots being uttered as I pen these words at the keyboard of my personal computer.

As this text is prepared on November 11 using the editor facilities of the UCSD Pascal system running on a Northwest Microcomputer Systems 85/P, I know of no kit products which are available to the experimenter for creation of the integrated mechanical and electronic parts of an arm such as those described in the articles by Andrew Filo, Keith Baxter and Timothy Daly in this issue. In order experiment with arms, readers will have to use the philosophy of "do it yourself" to create the mechanical

THE INDUSTRY LEADER IN AFFORDABLE

HI-RES VIDEO ANALYSIS FOR ALL S-100

AND S-SQ COMPUTERS

The Micro Works DS-68 Digisector, already the most popular and powerful video digitizer for the S-50 bus, is now available to S-100 owners.

000"01

U.P.C. IMAGE PROCESSED BY DS-80 (See pg. 184 In BYTE December 1978)

The DS-80 features full compatibility with the proposed IEEE S-100 standard and all current S-100 CPUs. New improved circuit design enhances performance. The DS-80 offers random access video digitization of up to 256 X 256 spatial resolution and 64 levels of grey scale, plus controls for brightness, contrast and width. It is versatile enough to handle any video processing task—from U.P.C. codes (above) and blood cell counting to computer portraiture and character recognition. The DS-80 comes fully assembled, tested and burned in. Included is portrait software compatible with the Vector Graphic High Resolution Graphics Display Board.

DS-80 for the S-100 bus $349.95 Please allow two weeks for delivery. DS.65 F0R THE APPLE—

DS-68 for the S-50 bus 169.95 Master Charge and BankAmencard COMING SOON!

P.O. BOX IIIO DEL MAR, CA. 9B014 714-756-EGS7

196

February 1979 © BYTE Publications Inc

Circle 231 on inquiry card.

Circle 95 on inquiry card.

Circle 314 on inquiry card.

CP/M™

LOW-COST

MICROCOMPUTER

SOFTWARE

CP/M™ OPERATING SYSTEM:

• Includes Editor, Assembler, Debugger and Utilities.

• For 8080, Z80, or Intel MDS.

• For IBM-compatible floppy discs.

• $100-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 DJGJTflL RESEARCH

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

Improve your game with

>» FnsTGnmmon > > >

An exciting new backgammon opponent!

>>>FnsTGnmmon>>>

ON THE TRS-80

You Play X's

Computer Plays O's

OUTSTANDING FEATURES! — Computer makes good moves instantaneously. Literal and graphic displays of each move. Option to replay same rolls. Eight-page instruction manual.

Available on cassette ($20) for:

TRS-80 (level II)* COMPAL-80*

APPLE II* POLYMORPHICS*

SOL*

Available on diskette ($25) for:

TRS-80* COMPAL-80***

APPLE II**

"I6K RAM required. ""24K RAM required. ""Micropolis dual density.

SEE IT NOW AT YOUR LOCAL COMPUTER DEALER

OR ORDER DIRECT FROM

Quality Software

10051 Odessa Avenue, Sepulveda, CA 91343

(California residents add 6% sales tax)

Sawyer Software

Quality Business Software ForPETlmorTRS-80,m (level

16K)

AP1 is a general ledger package with check journal, income statement, balance sheet and checkbook reconciliation routine. Designed for the small business or homeowner. Up to 50 entries and 40 accounts per period. $25.00

Payroll computes tax information and updates totals for quarterly and yearly reports. Employees can be salaried or hourly and pay periods can be either weekly, bi-weekly, semi-monthly or monthly. Any number of employees (8 per cassette). $30.00

AP2 has all the features of AP1, plus up to 250 entries per period, Menu, formatter for reports and more. Requires at least 16K in PET or TRS-80. $45.00

B.A. allows management to have available to them information for financial planning decisions utilizing ratio and growth analysis. $30.00

Call or write for your free brochure on all our PETtm & TRS-80lm programs.

SAWYER SOFTWARE

201 Worley Rd., Dexter, Mo. 63841

(314)624-7611

Telephone Orders Welcome

ATTENTION SWTPC DISC SYSTEM USERS

aii Ed smiths M6800 SOFTWARE TOOLS

are now available in mim-FLEX format 3S well as Smoke Signal Broadcasting format. See July BYTE for diskette media prices. Disc users specify SSB OR SWTPCO. M6800 RELOCATING ASSEMBLER AND LINKING LOADER software for rapid program development and debugging. Some of its features are RELOCATABLE CODE-FULL ALPHABETIZED CROSS REFERENCE LISTING-BOTH GLOBAL AND LOCAL LABELS-LISTING OF EXECUTION TIME -RELATIVE BRANCH TARGET ADDRESSES-8 CHARACTER LABELS-CORESIDENT EDITOR-ENGLISH ERROR MESSAGES80 COLUMN LISTING USING PR40-etc.

M6BAS . . cassette 550.00

M68AS-D . .minifloppy $55.95

M6800 RELOCATABLE DISASSEMBLER AND SEGMENTED SOURCE TEXT GENERATOR. This software tool enables you to modify and adapt those large sized object programs and re-assemble them on your system without requiring enormous memory. This program will produce segmented source text files with all the external linkage information required for reassembly usmg the above Relocating Assembler.

M6BRS . .cassette $35.00

M68RS-D . .minifloppy $40.95

M68ASPK Above two programs on single diskette $85.00

The above two programs are furnished in relocatable formatted code with instruction manuals and commented assembly listings. The loader is also supplied in standard MIKBUG format on cassette or as a binary file on disc to initially load the linking loader at any desired address.

The linking loader is also available in EPROM on two 2708's for $45.00. Specify desired address and version, i.e. cassette, FLEX or SSB.

8-FvH-T-H-e-U-C

FIRMWARE from Ed Smith's SOFTWARE WORKS

A 2k Monitor Disassembler-Trace Debugging Tool in EPROM. Use as stand-alone monitor or as an adjunct to your Smartbug or Swtbug. Requires ACIA as control port. Provides all the monitor commands (23) you could ever ask for. plus the convenience of a mnemonic disassembler and single stepping disassembler-trace display. Interactive use of single or dual breakpoint with trace pickup at breakpoint, plus many new monitor functions and subroutines, 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 assembly listing. Specify ACIA location and present monitor in order to keep $A000 RAM compatibility. SMITHBUG ON 2708's $60.00

SMITHBUG USER SUPPLY $40.00

Get under Ed Smith's Software RUG (Relocating assembler Users Group). All RUG members will have use of a building software support library in relocatable format. Upcoming items are a Floating Point package and a Trig package.

Order direct by check. Specify system configuration if other than SwTPCo. California residents add 6% sales tax.

Ed smiths SOFTWARE WORMS

P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3350

Circle 307 on inquiry card.

Circle 327 on inquiry card.

BYTE February 1979 197

and electrical control parts of the system. This is a philosophy which many people (including myself) have successfully used in learning about and creating homebrew computers from scratch using microprocessor and TTL integrated circuit components. Until we see some commercial products it will be the only way.

Of course, the comments above regarding a paucity of kits apply only to arm mechanisms. There is the Terrapin Inc "Turtle" kit which has been available since this past summer. This mechanism is a product of a group of free spirited indivduals associated with the MIT artificial intelligence laboratory. It is a direct outgrowth of the Logo project which began several years ago. The kit gives one a mobile object mounted on two wheels and casters, but tethered to the computer by an umbilical cord. (The people at Terrapin say a remote controlled version using a sonic system and on board batteries may be in the works for a next model.)

The Turtle, is, of course, intended to be used to teach children (large and small) concepts that are illustrated by motion of a real object which may deposit tracks below it. The Turtle is the ideal real object for demonstrating strategies of search and motion which are a subset of the techniques needed to implement a real version of an "R2D2" robot.

For delighting family and friends with a mobile mechanism, there is an area of peripheral devices which has yet to be discussed in these pages. This is an area which has a fairly obvious and relatively inexpensive open loop output. The kind of device I refer to is the traditional marionette hooked up to computer controlled actuators.

Photo 2 shows an example of a marionette which I purchased with the idea of making this point through a photograph. The marionette cost $32.50 at a wonderful store called Geppetto's located in a pushcart in Boston's Faneuil Hall marketplace. Looking around for actuators, I found a box of tiny DC motors in Eli Hefron's store in Cambridge MA which set me back about $20 for more than enough motors to pull all the strings of this puppet. Counting the electronics and tiny gear boxes needed to pull the strings in a simple binary manner (up or down for any given string) the guts of the marionette output device will probably run less than $75. Add some wood to build a little theater, and the cost of the completed output device will probably total under $100 in parts. Of course, I have not built such a device, and may never get around to doing so. I present the idea as a possibility for some reader to use as a source of some challenging fun.

Control of such a marionette output device can be accomplished with a computer as simple as a single board machine language oriented development kit, or it can be made quite elaborate using the software tools of the more complete personal computers now on the market. The goal of the software support for the marionette is of course identical to the goal of software support for stored performances on a music synthesizer: creation and execution of strings of commands to be sent to the mechanism. The programming of such a project can be handled by the implementation of a special purpose interpretive language using whatever software tools are available.

This brings the discussion back to that all

SEND:

$95 MORSE TRANSCEIVER

- 1 to 150 WPM (set from terminal)

• 32 character FIFO buffer j with editing

Auto Space on word boundries

• Grid/Cathode key output

• LED Readout for WPM and Buffer space remaining i

SERIAL INTERFACE:

ASCII (110, 300; 600, 1200)

or Baudot (45, 50, 57, 74) compatible

• Simplex Hi V Loop or T;' L electrical 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 components and circuit boards; less box and analog components)

- $225 Complete Kit (includes box, power supply, and all other components)

• $295 Assembled and tested unit (as shown)

Overseas Orders and dealer inquires welcome

COPY:

" 1 to 150 WPM with Auto-Sync.

' Continuously computes and displays Copy WPM

80 HZ Bandpass filter

• Re-keyed Sidetone Osc. with onboard speaker

Fully compensating to copy any 'fist style'

See your local dealer or contact XITEX® direct.

MC/Visa accepted

»XIT€X COM?

198 February 1979 © BYTE Publications Inc

Circle 400 on inquiry card.

important question: "How does the personal computer fit into this concept of robotics and the control of mechanisms?" It fits elegantly, due to the software tools that are now so inexpensively available, built into a black box that is the personal computer. To date the tools have been almost exclusively assembly language or BASIC on the bigger machines, and BASIC built into read only memories of the smaller machines. But the boundary line between "big machine" and "affordable by the individual experimenter" is eroding away with the prices of computers. With one appliance computer presently on the market sporting a pseudo-APL as its consumer oriented command language, and Pascal available on the more expensive ($2000 and up) personal computers, can it be long before we see a LISP, small talk, or Logo kernel appearing in the personalities of small computers?

Even if one is confined to BASIC as the built-in personality of a small computer, it is possible to do significant things. I have seen an attempted implementation of LISP, sent in by a reader, using only Microsoft's widely available interpreter (the Applesoft version). Ray Cote of BYTE has also quite effectively adapted and extended a Microsoft BASIC implementation of the macrolanguage called GPM, adding a few features that address the color graphics hardware of the Apple computer. The particular 50 line BASIC implementation he started from was written one weekend last spring by Walter Banks of the University of Waterloo. Each of these examples used the built-in tools of the BASIC oriented computer at hand to build better tools that would prove most useful in the artificial intelligence programs

required for robotics experimentation. The GPM interpreter superimposed on the Microsoft BASIC interpreter runs surprisingly fast. Two layers of interpretation isolating the application from the machine language of the 6502 in the Apple do not get in the way of serious experimentation using GPM. I expect that the same will prove true when the LISP interpreter written in Microsoft BASIC is finally debugged in its Applesoft incarnation.

Whatever the kernel of software tools that one has available in the personal computer, one of the most important design considerations is using these tools to create an interpretive language which fits the mechanism. Special purpose interpretive languages are not hard to implement, as I have demonstrated for myself recently, using a 6800 macroassembler to implement an interpretive language for musical texts, coordinating the organ keyboard and music synthesizer peripherals of my homebrew system. Having tools such as my present Pascal system, a LISP or a GPM would certainly have helped this process. But the program had already been nearly completed using last year's tools of my system.

The subject of special purpose interpretive languages for particular applications such as robotics (or music, or household control, etc) is one which is worthy of much tutorial discussion. The problems of designing such a language include identifying the primitive operations required, picking a strategy for creating and debugging interpretive texts, and choosing control structures appropriate for the application. Choosing an existing interpreter for a language such as LISP or GPM as a basis upon

(95 Stand Alone Video Terminal

m wmmivftmmm

abcdefQhi jkli-inopqrstuywxyzil^-l

* * * *

SCT-100 FEATURES:

• 64 X 16 line format with 128 displayable characters • Serial ASCII op BAUDOT with multiple Baud rates • $187 Assembled or $157 Kit (Partial Kit $95) • Full cursor control with scrolling and paging • On board power supply MC/VISA accepted Call or write today.

k »XIT€X CORP

A 13628 Neutron P. O. Box 4021II.

I Dallas, Texas 75240 (214i 386-3859

Overseas orders and dealers inquiries welcome

Circle 401 on inquiry card.

February 1979 © BYTE Publications Inc 199

Circle 77 on inquiry card.

PET PRINTER ADAPTER

GET HARD COPY FROM YOUR COMMODORE PET USING A STANDARD RS-232 PRINTER

1200B ^ 1200C

The CmC ADA 1200 drives an RS-232 printer from the PET IEEE-488 bus. Now, the PET owner can obtain hard copy listings and can type letters, manuscripts, mailing labels, tables of data, pictures, invoices, graphs, checks, needlepoint patterns, etc., using a standard RS-232 printer or terminal.

$98.50 ADA1200B

Assembled and tested

$169.00 ADA1200C

With case, power supply and RS-232 connector

m m

Order direct or contact your local computer store. Add $3.00 for postage and handling per order.

O CONNECTICUT microCOMPUTER

(5J(j) r=j 150POCONO RD. BROOKFIELD, CT 06804

La I203) 775-9659

which to build more detailed software is often a good strategy. One can also use the "reinvent the wheel" method at a low level, as I did with my music execution language.

This problem of designing a control discipline for a complicated electronic or mechanical system is what unifies the experimentation with software and hardware that is robotics. It is impossible to build a robot arm which can be the output peripheral of a Chess 4.7 unless one has as good an understanding of the software of motion as one has of the mechanical aspects of motion. It is impossible to verify a simulation of motion which exists in software unless one is willing to build the mechanical system as well. The interaction of the many phases of the mechanical, electronic, and software systems leads to all kinds of opportunity for design error and the feedback process which produces a better design. Just as readers have taken it upon themselves to get into the nitty gritty details of computer systems and software in order to become educated about this exciting technology, I expect to see much more evidence of this experimenting in robotics as time goes on.

In summary, the state of robotics for

individuals is a field which is only now beginning. Without the microprocessor innovations that make intelligent machines inexpensive the personal computer would be impossible. And the personal computer, which provides inexpensive software tools for experimentation, is what makes the key part of robots possible: their intelligent operation. It is still a basement or garage activity with respect to engineering of the mechanical portions of a robotic system, as further evidenced by this issue's articles. But science fiction is full of examples to tantalize the willing experimenter to take a chance on creating a real system that works. For the true experimenter, the fun is in the challenge of making science fiction real. The personal computer is an eminently useful component in this form of fun."

REFERENCES

Loofbourrow, T, How to Build a Computer-Controlled Robot, Hayden Book Company Inc. Rochelle Park NJ, 1978.

Raphael, B, The Thinking Computer, Mind Inside Matter, W H Freeman and Company, San Francisco, 1976.

The Independent Newsletter of Heath Co. Computers

fH

The ind its signi of Heath ucts is p of Benton of the ma first iss and LSI-1 on the H8 of owners is far mo

ependence of Bu. ficance to user Co. computers, resented to Bus

Harbor, not he nufacturer. Th ue, which direc 1 months before

and HI 1. Buss ' experiences w re valuable tha

s is a cru s (and pros

Informatio o readers a Id back to is has been ted attenti

any advert

features c ith their c n an articl

cial factor in pective users) n on new prods it leaks out suit the plans true from its on to the 8080 ising appeared andid accounts omputers--this e based on the

opinions of a single reviewer. It shares news of compatible hardware & software from other vendors as well as reviews of books that can help you get the most out of your computer system.

Every issue of Buss travels by first class mail (outside North America it goes by air for only $2 extra). Your 12-issue subscription can be on its way to you within a week. You have the choice of starting either with the latest issue or with all available back issues. Send $7.50 to Buss, 325-B Pennsylvania Ave. SE, Washington, DC 20003.

200 February 1979 © BYTE Publications Inc

Circle 32 on inquiry card.

Control Logic Introduces IEEE-488 Bus Interface

Control Logic Inc has announced the addition of a bus for its M Series of modular microcomputers. The MEE-888 is an interface bus (GPIB) that meets the requirements of IEEE Standard 488. The functions of talker, listener and controller may all be accomplished using this interface with the appropriate controlling software. The MEE-888 is contained on a single 3.5 by 4 inch (8.89 by 10.1 6 cm) card.

The M Series microcomputer uses either the 8080 or Z-80 processor and has up to 64 K bytes of memory in any combination of programmable memory (1 K and 4 K byte boards) and erasable read only memory (2 K byte, 2708 or 8 K byte, 2716). In addition to the IEEE-488 interface, both serial and digital interface boards are offered as well as

a complement of analog input and output (IO) with 4 to 20 mA signal conditioning options.

The MEE-888 interface bus is priced at $495. For further information contact Control Logic Inc, Nine Tech Circle, Natick MA 01760. ■

Circle 544 on inquiry card.

Teletek System Central Interface

The System Central Interface (SCI) is designed for use with the S-100 bus. The SCI provides a serial port with RS-232 and 20 mA or 60 mA current loop capabilities and speeds from 45 to 9600 bps; three independent 8 bit parallel ports; a high speed cassette port capable of reading and writing biphase (Tarbell), CUTS, and Kansas City with data speeds from 800 to 1 00,000 bps; two on board relays for control of two recorders; three status lines to control an automatic tape deck; 256 bytes of programmable memory for stack space and buffer storage; a 2708 programmer; two 2708s with a 2 K byte system monitor program and space for an additional 2708.

Contact Teletek Enterprises Inc, Dept 16, 11505B Douglas Rd, Rancho Cordova CA 95670."

Circle 546 on inquiry card.

Tracing Computer History

This pictorial evolutionary illustration traces the history of computers through more than 30 years of development. Beginning with the Mark I, the tree branches out to link together each successive generation within a company, forming a continual family structure.

This 18 by 24 inch poster names each model and the year it was introduced. As

an example, the tree shows the IBM 607 making its appearance in the 1950s. It branches off to the IBM 7094 in the early 1960s, the IBM System 360 starting in 1965 and the IBM System 370 in the early 1970s.

The poster is available for $10, and outside the United States, for $15. For further information, contact MIC, 140 Barclay Ctr, Cherry Hill NJ 08034."

Circle 545 on inquiry card,

8 Digit Panel Display

' ti

"i V. «.

* ;

//'

f

X^ 1 A* i

a7

tjLii

—Z_

1 f-.i l/V

A N A •%.%,

a »

v' Li .jkT" XL

i>S

" -f/k

L s^g- ^/l".

if" V

~/-\

Tffi

*'"" \ f *>•*■ in**—

V/' '■"

\

L *■ / > ' / L~~'*~

"*..—*r"™"y

i\ j

*^"~~"

r~~$~^hzH^~:

&

.j

«-.—

*"* "V** ** 3r

. 4- -. i~eduL

. fe^

m

■- " "^ ""' - -""""

■?? r~

»

■st?*

I > 1

i

H/Ar '<'mfiiii'4 , ,tMr ^

******^—

\

^

n

x *

K

*N

Err-RQ^g

The Microport 8 is an 8 digit, selfcontained, general purpose panel display. Packaged much like a data processing manager, it contains all the timing, memory and multiplexing electronics required for interfacing to an 8 bit microprocessor port (one TTL load). The processor provides the unit with an 8 bit output word only when the display is to be updated (three bits to select the character to be updated, four bits to select the data and one bit to strobe).

Two character fonts, hexadecimal and extended decimal, are provided. Each can be used on either half of the 0.5 inch high LED display.

A holder is provided for the user to insert a legend strip or'log. 5 V at 800 mA maximum is required.

The price is $109 and the unit can be obtained from Telesis Laboratory, POB 1843, Chillicothe OH 45601."

Circle 547 on inquiry card.

February 1979©BYTE Publications Inc 201

What's New?

3 Color Wire Dispenser Cuts and Strips

The WD-30-TRI dispenser from OK Machine and Tool holds three colors of wire and features a built-in cutting and stripping mechanism. The refillable dispenser holds 50 feet (15.2 meters) each of red, white and blue Kynar insulated silver plated solid copper wire. Designed for wire wrapping, this dispenser is also usable for other wiring jobs. The WD-30-TRI is priced at $5.95; the R-30-TRI 3 color refill is $3.95. Contact OK Machine and Tool Corp, 3455 Conner St, Bronx NY 10475.■

Circle 627 on inquiry card.

Service and Repair Manual for Electronic Games

how to

RBpOif

! Video ««

How to Repair Video Games by Robert Goodman is a 270 page service manual containing information on products sold by manufacturers of electronic games. Each chapter of the manual is devoted to an individual manufacturer's equipment. The three integrated circuit manufacturers covered are General Instrument, Texas Instrument and National Semiconductor; equipment manufacturers include Magnavox, Atari, Radio Shack, RCA and Midway. The manual is $7.95 and is available from Tab Books, Blue Ridge Summit PA 17214."

Circle 628 on inquiry card.

New Flowchart Form Speeds Debugging and Aids Logic Clarity

Flowchartrix is a new flowchart worksheet designed especially for individuals who develop programs for minicomputers and microcomputers. The Flowchartrix 78F2 contains a matrix of 77 logic blocks (seven columns by 11 rows). The 7 by 11 matrix has a central column for executive control logic, plus three columns on each side to describe loops and subroutines. These columns allow room for users to write loops that are laid out visually as loops. Each matrix cell is labeled with an alphanumeric code to give it a reference address when added to the page number in order to help track logic flow from page to page, and give a specific reference to note when actual coding begins. To further speed initial logic development, the 78F2 incorporates special guide marks in every matrix cell to aid in the drawing of most common standard flowchart shapes freehand using a pen or soft pencil.

The 78F2 is 3 hole punch with folding guides designed to fit neatly in a standard 3 ring binder. 50 sheets to the pad, the new forms are available in 2 pad packages, 10 pad boxes, and 43 pad cases. Inquiries should be addressed to Stirling/Bekdorf, 4407 Parkwood, San Antonio TX 78218."

Circle 629 on inquiry card.

New EXP-4B Quad Bus Strip

The newest member of the Experimentor family, the Model EXP-4B quad bus strip, has been introduced by Continental Specialties Corp, 70 Fulton Ter, New Haven CT 06509.

The EXP-4B adds signal, supply and control line expansion capabilities. The unit is 3/8 by 3/4 inches (0.95 by 1.9 cm) and includes four 40 point bus strips. It also features tongue and groove sides for assembly into interlocked arrays. The EXP-4B is priced at $4."

Circle 630 on inquiry card.

Data Rate Generator Operates with 5 V Power Supply

This Model COM8046 data rate generator is a program divider using depletion mode loads to allow operation from a single +5 V power supply. The COM8046 is dedicated to generating the full spectrum of 16 asynchronous data communication frequencies for 1X, 16X and 32X USART, ASTRO, and USYNRT devices.

The unit contains an on chip crystal oscillator for use in providing the master reference frequency. Alternately, an external reference may be supplied by applying complementary TTL level signals to pins 1 and 2.

Contact Standard Microsystems Corp, 35 Marcus Blvd, Hauppauge NY 11787."

Circle 631 on inquiry card.

202 February 1979 © BYTE Publications Inc

THE BEST FOR BOTH WORLDS

Factory prime electronic equipment for both the discerning hobbyist and the professional

The New Hobby World Catalog

Your source for factory prime, professional quality equipment. Computers, add-on Poards, IC's, sockets, resistors, supplies, tools, test equipment, books, and more. Shop your buy list at Hobby World. You'll find what you want, and at a solid savings.

This month's specials.

16K MEMORY ADD-ON FOR TRS-80, APPLE, & EXIDY SORCERER

With RAMs, jumpers, and instructions. Hobby World price only $98. (Specify when ordering)

THE NEW ELENCO 31/2 DIGIT SOLID STATE MULTIMETER

Tops in performance! Measures resistance to .01 ohms voltage to 100 /nV, current to! ^A. Our price only $75 assembled &. tested. $60 kit.

16K STATIC RAM KIT, MODEL XVI. IEEE S-100 compatible, requires only +5 Volts. 450 ns, fully buffered. Bank switching capability. Phantom Line, wait state, addressable in 4K blocks. New from CALIFORNIA COMPUTER SYSTEMS! Our Price only $265 kit, $27 Bare Board.

C-10 DATA CASSETTES

Perfect for TRS-80 and all recorders operating under KC or Tarbell standards. With positive tape path control. Price only $2 each! 10 for $17.50.

PROM PROGRAMMER

New from OAE! Pocket size, Read, program, verify, duplicate. Plugs into any read only PROM socket. With features like Zero insertion force socket, cermet trimmers, and 5' of connecting ribbon cable. Hobby World price only $275. Type # 1087 programs 2708's and TMS2716's Type # 1088 programs Intel 2708's.

PORTABLE PAPER TAPE READER

No moving parts, interfaces with all microprocessors via an 8 bit parallel port. Complete with precision optical sensor array, high speed data buffers, all required handshake logic, 4 status LED's, flat ribbon interface cable and complete instructions. Hobby World price only $74.00 kit, $87.50 assembled and tested.

TRS-80 SOFTWARE

Order by Catalog Number.

CAT NO.

TITLE

LEVEL

PRICE

1093

Sargon: Chess Program

2

$19.95

1040

Galactic Blockade Runner

Vi

9.95

1041

Star Trek III

2

14.95

1043

Small Business Bookkeeping

y2

14.95

1045

Bingo

Vi

5.95

1036

SCI-FI Game Sampler

1/2

5.95

1037

The Magic Isle

Vi

5.95

1038

Inventory (Modular)

Vi

19.95

1047

Othello

y2

5.95

1048

Machine Language Monitor

2

23.95

1049

Micro Text Editor

2

5.95

1050

100 Programs, Home, Business,

and Games

2

49.50

1051

Daily Biorhythm Program

Vi

5.95

Hobby World

19355 Business Center Drive #6 Northridge, CA 91324 SEND ME A CATALOG!

SEND ME THE FOLLOWING SPECIALS!

Name

City

Slate

Item

Quantity

Price

Postage/Handling

S1.50

Satisfaction 100% Guaranteed

Order by mail. Just write. Or order by phone. Toll free outside California.

TELEPHONE ORDERS Inside Calif: 213 886-9200 Outside Calif: 800 423-5387

VISA

m m

California Residents add 6% Sales Tax Charge My MC #

VISA

Signature

Expiration

Circle 170 on inquiry card.

BYTE February 1979

203

our new retail loco

»fi»

Prices reduced to

|LM3A3dig 1% DC $120:60

ILM3.5A 3'/i dig .5% DC $142.65

|l_M40A 4 dig .1% DC $188.10

|LM4A 4 dig .03% DC $225.00

Rechargeable batteries and charger Included

Measures DC Volts, AC Volts, Ohms and

Current

Automatic polarity, decimal and overload

Indication !• Measures DC Volts, AC Volts, Ohms and

Current ' Automatic polarity, decimal and overload

Indication ' No zero adjustment and no full-scale ohms

adjust > Battery-operated — NICad batteries; also AC

line operation. ' Large LED display lor easy reading without

Interpolation

Size: 1.9"Hx2.7"Wx4"D Parts & labor guaranteed 1 year

Tilt stand option S 3.50

Leather case $20.00

$318.

MS-15 MINISCOPE

Rachargaabla Battalias 4 Charger Unit

• 15 megahertz bandwidth.

' External and internal trigger.

1 Time base — .1 microsac. lo 0.5 Sec/dlv - 21 PROBE "It

■ laMeTorllnl'operatlor,. (jffe PROBE K w,,h the

■ Automatic & line sync modes. IIUSJ Purchase of SCOPE Powei consumption < I5watts \^B^ "'"■' lh'1 MENTION o

this MAGAZINE

il Gain — .01 10 50V

* 7.5"0. 3 pounds

i MS-215 Dual Trace Version of MS-15 $435.

S100.WWG MMOO Com 125 ctrs 3 LEVEL WIRE WRAP 025' sq posts on 250 spaced rows GOLD plated

14 59 10-24

5400 $3.75 J3.50

R081G SWIM Coni 125 ctr SOLDER TAIL on 140 spacm tor ALTAIR motherboa'ds

1-4 5-9 10-24

tS.OO 54.75 $4.50

DIP

S100STG 50M00 Conl 125 ctis DIP SOLDER TAIL on 250 SB rows ior VECTOR and MASI mc boards GOLD plated 1-4 5-9 10-24

13.50 $375 $3.00 R681-3 50(100 Com I25ctrs PIERCED SOLDER EYELET GOLD $7.53

Other Popular Edge Connectors

R644-G 22M4 Conl !56clrs R6443 22M4 Cont 156 ctts Wll

PIERCED SOLDER EYLET tails WRAP tails GOLD

GOLD plated 1-4 5-9 10-24

1-4 5-9 10-24 $4.00 $3.75 $3.50 $3.00 $2.75 $2.50 CG-1 IMSAI Stylo Card Guides 5/$t.O0

ATTN: OEM's and Dollars, many other connectors available call or quotal

3 LEVEL

GOLD WIRE WRAP SOCKETS

Sockets purchased in multiples of 50 per type may be combined for best price. 1-24 25-49 50-99 100-249 250-999 1K-5K

8 pin' 14 pin* 16 pin'

18 pin 20 pin 22 pin'

24 pin 28 pin 40 pin

All sockets are

.41 .39 .43

.63 .80 .90

.90 1.10 1.50

.38 .38 .42

.58 75

.85

84 1.00 1.40

.35 .36 .39

.54 .70

80

78

.90

1.30

.31 .32 .35

.47 .63 .70

.68

.84 1.20

.27 .29 .32

.42 58 .61

63

.76

1 04

.23 .27 .30

36 .53 .57

58

71 89

GOLD 3 level closed entry ' End and side stacable 2 level. Solder Tail. Low . Tin Sockets and Dip Plugs available CALL FOR QUOTATION

LIQUID CRYSTAL DIGITAL CLOCK-CALENDAR

• For Auto, Home, Of Ilea •Small in size (2x2Wxtt)

• Push button for seconds release lor date.

• Clocks mount anywhere with either 3M double Bided tape or VELCRO, Included.

» 2 MODELS AVAILABLE: LCD 101. ponabla model runs on salt-contained batteries lor better than a year. i CO 102. runs on 12 Volt system and ia backlighted

' LCD-101 orLCD-102 *"> J AC

yourcimca $o4.yb.*

tonlM *$. ♦i2.

— 12t)Ut*l JIM M1M

UIM mounting ipjctrj • Wiring txM inovn Com

noneni w)e dju ttxuy

gun win wtuit nurkingt

compontnl Mutant ■ C10ipo>ygiais0Mr0mih!ognn

tOpM'. Hlottf pli'M jnd QJB Cirrj

• Solder n

in wider windows

Vector pjrl number H68>7o

• lnc<udei«<crted[iicgilttni Kim. pui' up. or Mojlmg I

• Urggbu.et tSV.muGN AMPS! Current riling; jit

.Price: $29.50

1/16 jfafflt BOARD

.042 dia holes on 0.1 spacing for ICs

8800V

Universal Microcompuler/processor plugboard, use wilh S-100 bus Complete wild heat sink & hardware 5.3" x 10"x 1/16"

1-4 5-9 10-24

J19.95 S17.95 $1596

8801-1

Same as 8800V except plain, less powe buses & heal sink

1-4 5-9 10-24

814.95 $13.46 $11 96

3682 9.6" x 4.5"

$10.97

3682-2 6.5" «4.5"

59 81

Hi-Density Oual-ln-Line Plugboard lor Wire Wrap with Power & Grd. Bus Epoxy Glass 1/16" 44 pin con spaced .156

Phenolic

PART NO. 64P44XXXP 169P44XXXP

SIZE 4.5x6.5" 4.5x17"

PRICE

1-9 10-19

$1.56 $1.40

$3.69 $3.32

"""" ""I..- '"- '■"" , ."I. "'" , • '". '*j

II

3677 9 6"x4.5"

$10.90

3677-2 6.5" X 4.5"

$9.74

Gen. Purpose D.I.P. Boards with Bus Pattern lor Solder or Wire Wrap. Epoxy Glass 1/16" 44 pin con, spaced .156

3662 6.5"x4.5"

$7.65

3662-2 9.6" X 4.5"

$11.45

P paltern plugboards for ICs Epoxy Glass 1/16" 44plncon spaced .156

3690-12 CARD EXTENDER

Card Extender has 100 contacts 50 per side on .125 centers-Attached connector-is compatible with S-100 Bus Systems. $25.83 3690 6.5" 22/44 pin .156 ctrs. Extenders .... $13.17 .

MEMO

»ANS.QN KITS RAWS

300ns)

2708

8K 450 ns

EPROM

FACTORY PRIME

$ 9.00 EA.

25 + Call For Price

14 & 16 PIN

^OLD 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 8t Side stackable, closed entry

IM-10A List $85.00

SPECIAL $54.95 with tube

Perfectly balanced fluorescent lighting wilh precision magnifier lens. Tough thermoplastic shade. Easy lens removal. New wire clip design permits easy installation and removal of fluorescent tube. Comes with plastic shield to protect tube from soiling and damage.

Colors: Gray, Black, and Chocolate Brown. Comes with one 22 wall T-9 Clrcllne fluoreacent tube. 3 diopter lens.

ORDER TOLL FREE

1 8004235633

except CA.. AtC, I 1., 13)894-8171

Price Breakthrough

! SA6»

or 3IH5K

MA1003 CAR CLOCK

Bright Green Fluorescent Display Crystal Time Base Assembled, just add switches and 12VDC.

WRAP POST

for .042 dia. holes ,i J (all boards on this page) IT44/C pkg. 100 . . $ 2.34 |T44JMpkg.

1000 J14.35 \

IA-13 hand installing l

tool $ 2.94

SPECIAL

14CS2100for"14" ^,16CS2100for'18"

[I 14 pin CS210 lor '2" l||f 19olnCS2 8 for "2" These tow cost DIP sockets will eccept both standard width plugs and chips. For use with chips the sockets otter a low profile height ot only .125" above the board. These sockets are end stackable.

ELECTRONICS

©

^f 16723B Roscoe Blvd. Sepulveda CA 91343 '

Terms: VISA, MC, BAC, check, Money Order, C.O.D.. U.S. Funds Only. CA residents add 6% sales lax. Minimum order $10.00. Orders less than $75.00 include 10% shipping and handling; excess refunded. Just in case please include your phone no. GOOD THUR MARCH '79

Send lor our latest brochure.

phone orders welcome (213) 894-8171 oem and institutional inquiries invited

24 PIN DIP PLUGS WITH COVERS

3/$i.oi

40/$10.00

Visit our new retail location

sit our new re"

ra

PROBLEM SOWER SYSTEMS, JMC.

CM5000 COMPUTER MAINFRAME

I Includes cabinet, 18 amp power supply S-100 compatible STREAKER-12® (12-slot motherboard), and dual-disk provision with disk power supply. The CM5000 is fancooled, has AC line filter to eliminate EM

land is fully-assembled and factory-tested.

I Power and reset switches are located on

Ifront panel. $cy|Q00*

J549<

CM4800 COMPUTER MAINFRAME

Includes cabinet, 30 amp power supply, and the S-100 compatible STREAKER-22* (22-slot motherboard). The CM4800 is fan-cooled, has AC line filter to eliminate EMI, and is fully-assembled and factory-tested. Power and reset switches are located on front panel. OPTION: Model CM4800D—includes provision for floppy disk power supply. Also available: Mode CM4900—with 18 amp power supply and STREAKER-12-' (12-slot motherboard)

DM2700 DISK CABINET WITH

POWER SUPPLY

Accepts either PerSci or Shugart mini-floppy] disks. Includes data cable and AC line filter tol eliminate EMI. Operates from 100 to 125 volts orl 200 to 250 volts, 50 or 60Hz. Fully assembled andl tested at factory. (Disk drive not included). OP-[ TION: Model DM2700S—Includes Shugart Series] 800 minifloppy disk.

$249

00'

s549

00'

STREAKER® MOTHERBOARDS

In 7, 12, and 22-slot versions • S-100 compatible j» Connectors have bifurcated, gold-plated contacts ■• Ground plane surrounding each signal |» Competible with Imsai chassis

Power connections compatible with power supplies ir |PSS"s CM4800, CM5000, and CM5200 Computer main I frames.

I" Fully-assembled and tested at factory l« No isolation hardware required for mounting.

Istreaker 7 $79.95

IStreaker 12 $99.00

Streaker 22 $159.0'

KM8B / KIM-4® COMPATIBLE

• KIM-' compatible, 8K x 8 bit static RAM

' Can be connected directly to KIM-1®

> Plugs directly into KIM-4* motherboard • 2MHz

1 Addressable in 8K steps

1 Allows expansion of KIM1 computer up to 65K

of memory ' Memory protection activated / deactivated by

DIP Switch 1 Buffered address and data lines 1 Operates from either an unregulated 8 volt or a

regulated 5 volt power supply 1 All IC's mounted in low-profile sockets 1 Assembled, tested, burned-in at factory.

RAM 8S19900

• S-100, 8Kx 8 bit static RAM

• 4MHz

• Addressable in 8K steps

• Memory protection in 1K increments, from bottom board| address up or top down

• Memory protection activated / deactivated by large, easily accessible switch

• May deactivate up to six 1K segments of board by use | of jumpers to create "holes" for other devices

• DIP switch selectable wait states

• Phantom line jumper

• Schmitt trigger-buffered I/O lines

• All IC's mounted in low-profile sockets

• Assembled, tested, burned-in at factory. OPTION: RAM8B—2MHz £4 ^/\fll

$179(

J179

00

RAM 16$449

• S-100, 16K x 8 bit static RAM • 4MHz

• Addressable in 4K steps

• Memory protection in 1K increments, from bottom board address up or top down

• Memory protection activated / deactivated by large, easily accessible switch

• May deactivate up to six 1K segments of board by use of jumpers to create "holes for other devices

• DIP switch selectable wait states

• Phantom line DIP switch

• All IC's mounted in low-profile sockets f\0

• Assembled, tested, burned-in at factorty "V-ft

°cTmArB~2MHz - PRIORITY I $42goo

• Bank-select for expansion beyond 65K of memory *$&& +f% Schmitt trigger-buffered I/O lines _v\-* **'V^

'Please include sufficient funds to cover cost of shipping of Mainframes.

RAM 65 $495

• S-100, 16K x 8 bit static RAM • 4MHz

• Addressable in 4K steps

• Memory protection in 1K increments, from bottom board address up or top down

• Memory protection activated / deactivated by large, easily accessible switch

• May deactivate up to six 1K segments of board by use of jumpers to create "holes" for other devices

• DIP switch selectable wait states

• Phantom line DIP switch

• Features bank selection by I/O instruction using any one of 256 DIP switch-selectable codes—allows up to 256 software-controlled memory banks,

• Schmitt trigger-buffered I/O lines • All IC's mounted in low-profile sockets

• Assembled, tested, burned-in at factory

OPTION: RAM65B—2MHz

ELECTRONICS © $ a cooo

Sent) for our latest broch

16723B Roscoe Blvd. Sepulveda CA 91343

terms VISA. MC. BAC. check. Money Order COO US Funds Only CA residents add 6% sales lax Minimum order $10 00 Orders less than $75 00 include 10% shipping and handling, excess relunded. Just in case please include your phone no GOOD THUR MARCH '79

phone orders welcome (213)894-8171 ogMandinswutionauia!

$459(

'Please include sufficient funds to cover cost of shipping of Mainframes.

C,cle 306 enquiry card. \f j 5 j f QiJ f HGW ^01

What's New?

Data Splitter Kit

■A* ■ :'

—m

Intelligent Power Strip Controls up to Four Power Devices

The Intelligent Power Strip (IPS) allows a computer to control up to four high power devices. Transistor-transistor logic (TTL) level lines make interfacing with a computer easy. The IPS allows phase control, letting software control motor speeds and dim lights. It also allows on and off control and random or zero voltage switching of all common household appliances. Using one of the power outlets, the driving computer can

turn itself off. All inputs from the computer are optically coupled to protect the computer hardware. Full protection against power failure and voltage surges is also provided. The Intelligent Power Strip sells for $129.50 and comes fully assembled with a 5 foot power cord and an applications manual. Contact Research Computer Systems, POB 1214, Richardson TX 75080.

Circle 551 on inquiry card.

New Vector Jump and Prototype Board

The OB-1 board is a vector jump and prototyping board that is plugcompatible with all S-100 bus mainframes. The board has a full 16 bits of vector jump address and can jump to any individual addressable location. Additional features of the OB-1 include prototyping areas on the board for ten 16 pin integrated circuits, three 24 or 28 pin integrated circuits, plus two spare regulator patterns.

The OB-1 will work with or without phantom disable, and can be set to jump on power on clear, reset, or both. The board includes gold plated edge connector contacts, and Tl low profile sockets.

The price for the OB-1 is $54.95. For further information contact SSM, 2116 Walsh Av, Santa Clara CA 95050." Circle 554 on inquiry card.

Terminal Data Corporation has made its Model 1200 RS-232 Data Splitter available in kit form. The Model 1200 gives the video terminal user a second interface for a printer, plotter, cassette or tape drive. It operates at any speed and isolates the two output devices from each other, while providing two RS-232 interfaces from the terminal.

The kit consists of three RS-232 connectors, printed circuit board, all necessary components, enclosure, mounting hardware and assembly instructions. It is priced at $49 and can be obtained by writing the company at 11878 Coakley Cir, Rockville MD 20852..

Circle 552 on inquiry card.

Tape Signal Conditioning Unit Makes Program Loading Easier

The Futureworld FW-100 tape signal conditioning unit features generation of saturated rectangular waveforms from noisy cassettes (the unit will tolerate at least 5 decibels of dropout) and works equally well with low (TRS-80) or high (Apple, Tarbell, etc) transmission rates. It is contained in a small, insulated potted module which measures 9.84 by 11.81 by 3.94 inches (25 by 30 by 10 cm). Four wires connect to the supply voltage, input, output and ground. The unit uses all CMOS circuitry and operates from +4 V to +9 V; current drain is less than 1 mA when operated from a +5 V supply. It may be installed inside the computer if desired.

The FW-100 is priced at $7.69 and is available from Futureworld Personal Systems Store, POB 2252, Chapel Hill NC 27514. ■

Circle 553 on inquiry card.

Desk with Slide Out Card Cage

An attractively styled desk with slide out card cage and power supply rack has been introduced by RD Electronics, POB 243, Richfield Springs NY 13439. Plug-in power line filters, power supplies and blank cards are available.

RD Electronics carries a complete line of electronic components, power supplies and accessories for the personal computer user.*

Circle 555 on inquiry card.

206 February 1979 © BYTE Publications Inc

Visit our new

HICKOK

the value innovator

LX303

ALL THE MOST WANTED FEATURES AT A MOST WANTED PRICE . .

BIG V2" HIGH LCD DISPLAY

USE INDOORS OR OUT

200 HOUR 9V BATTERY LIFE

AUTO ZERO, POLARITY,

OVERRANGE

INDICATION

fi OfF V mA

Removable cover stores test lead] set furnished as part ot the unit.

Available Accessories

RC-3 115V AC Adapter $7.50|

CC-3 Deluxe Padded Vinyl

Carrying Case $7.50|

VP-10 X10 DCV Probe Adapter/

Protector 10Kv $14,951

VP-40 40Kv DC Probe J35.00I

CS-1 10 Amp Current Shunt $14.951

.

PRIORITY

$74.95

100 mV DC F.S. SENSITIVITY 19 RANGES AND FUNCTIONS

Here is the handfull of accuracy you've been waiting for. Handsomely encased. Compact. Efficient. Only 8 ounces. Hickok's exciting, new LX 303, 31/2 digit MiniMultimeter with high ^quality components, one year guarantee and rugged Cycolac® case offers features previously found only in expensive units ... at a price under $75.00! So why wait any longer? The amazing LX 303 is here, NOW! Another American made test equipment breakthrough from Hickok.

SPECIFICATIONS

DC VOLTS (5 RANGES): 0.1mV to 1000V; Accuracy ±0.5% rdg ±0.5% f.s.; Input imped: 10Mn; Max. input 1kV except 500V on 200mV range. AC VOLTS (40Hz to 5kHz): 0.1V to 600V; Accuracy: ± 1.0% rdg ±0.5% f.s. (—2dB max. at 5kHz); Max. Input: 600V.

RESISTANCE (6 LOW POWER RANGES): 0.1st to 20Msi; Accuracy: ±.05% rdg ±0.5% f.s. (±1.5% rdg on 20MS! range); input protected to 120VAC all ranges. DC CURRENT (6 RANGES): .01nA to 100mA; Accuracy: ±1.0% rdg ±0.5% f.s.

DIMENSIONS AND WEIGHT: 5-7/8" X 3-3/8" x 1-3/4", 8 oz.; POWER: 9V battery (not Included) or Hickok AC adapter; READ RATE: 3/sec.

ELECTRONICS

jj^p 16723B Roscoe Blvd. Sepulveda CA 91343

Terms VISA. MC. BAC. ctieck. Money Order. C0 0. US Funds Only (JA residents add 6% sales lax Minimum order $10 00 Orders less man $75 00 include 10% snipping and handling, excess refunded. Just in case please include your phone no GOOD THUR MARCH '79

Send lor our latest brochure

phone orders welcome (213) 894-8171 oem and institutional inquiries invited

Circle 306 on inquiry

Visit our new n

ocaiion

7400 TTL

SN7-100N

SN7401N SN7402N SN7103N SN7404N SN74D5N SN74Q6N SN7407N SN7408N SN7409N SN7410N SN7411N SN7412N 3W413N SN7414N SN7416N SN7417N SN7420N SPJ7421N SN7422N SN7423N SN7425N SN7426N SN74?7N SN7429N SN7430N SN7432N SM7437N SN7438N SN7439N SN7440N SN7441N SN7442N SN7443N SN7444N SN7445N SN7446N SN7447N SN7448N SN7450N SN7451N SN7453N SN7454M SN7459A SN7460N 20% Diicount

tM pel

5N7470N SN7472N SN7473N SN7474N

SN7475N SN7476N SN7479N SN7480N SN7482N SN7483N SN74B5N SN7486N SN7489N SN7490N SN7491N SN7492N SN7493N SN7494N SN7495N SN749GN SN7497N SN74100N SN74107N SN74109N SN74116N SN74121N SN74122N SN74123N SN74125M SN74126N SN74132N SN74136N SN74I41N SN74142N SN74143N SN74144N SN74145N SN74147N SM74148N SN74150N SN74151N SN74152N SN74153N SN741S4N SM74I55N SN74156N SN74I57N combined order

WUfi

35 SN74160N .89

35 SN74161N .89

.49 SN74162N 1.95

.35 SN74163N .89

5.00 SN74164N 89

50 SN74165N .89

99 SN74166N 1.25

59 5N74167N 1.95

79 SN7417QN 1.59

.35 SN74172N 6.00

1.75 SM74173H 1.25

45 SN74174N ,89

59 SN74175N .79

43 SN74176N .79

,43 SN74177N .79

65 SN74179N 1.95

55 SN74180N .79

.65 SN74181N 1.95

3 00 SN74182N .79

.89 SN74184N 1.95

35 SN741B5N 1,95

59 SM741B6N 9.95

1.95 SN74188N 3.95

35 SN74T90N 1.25

39 SN74191N 1.25

49 SN74192N .79

49 SN74193N .79

49 SN74194N .89

75 SN74195N .69

75 SN74196N .89

79 SN74197N .89

2 95 SN74198N 1.49

2 95 SN74199N 1.49

2 95 SN74S200 4.95

79 SN74251N 1.79

1 95 SN74279N .79

1 29 SN742B3N 2.25

89 SN74284N 3.95

59 SN742B5N 3.95

59 SN74365N .69

59 SN74366N 69

99 SN74367N .69

79 SN74368N 69

79 SN7439DN 1.95

G5 SN74393N 1.95

25% -1000 pci combined order

CD4000 CO4001 CD40O2

CD4006 CO4007 CD4O09 CD4010 CD4011 CD4012 CD4013 CO4014 CD401S CD4016 CD4017 CD401B C04019 CD4020 CD4Q21 CD4022 CD4023 C04024 CD4025 CD4026 CD4027

74COD

74C02 74C04 74C08 74C10 74C14 74C20 74C30 74C42 74C4B 74C73 ^4£74^

7BMG LM106H LM30QH LM301CN/H LM302H LM304H LM305H LM307CN/H LM3Q8CN/H LM3Q9H LM3Q9K LM310CN LM311N/H LM312H LM317K

lm3iscn/h

LM319N

LM320K-5

LM320K-5.2

LM32QK-12

LM320K-15

LM320K-IB

LM320K-24

LM320T-5

LM320T-52

LM320T-B

LM320I-12

LM320T-15

LM320T-18

LM320T-24

LM323K-5

LM324N

LM339N

LM340K-5

LM340K-6

LM340K-8

LM340K-12

LM340K-15

74LSOO 74LS01 74LS02 74LS03 74LS04 74LS05 74LS08 74LS09 74LS10 74LS1I 74LS13 74LS14 74LS15 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS32 74LS37

C/MOS

CD402B CD4029 CO4030 C04D35

CD4040 CD4041 CO4042 CD4043 CD4044 CD4046 CD4047 CO4048 CD4049 CO4050 CD4051 CD4053 CD4D56 CD4059 CD4060 CO4066 C114068 CD4069

C04070

CD4071

CD4072

CD4076

CD4081

CD4082

CD4093

CD4098

MC14409

MC14410

MC14411

MC14419

MC14433

MCI 4506

MC14507

MC14562

MCI 4583

C04508

CD4510

CD4511

CD4515

CD4518

CD4520

C04566

74C00

74C85 74C90 74C93 74C95 74C107 74C151 74C154 74C157 74C160 74C161

74C163 74C164 74C173 74C192 74C193 74C195 74C92Z 74C923 74C925 74C9ZS B0C95 80C97

2.49 2.49 2.60 2.49 2.49 2.49

1.50

LINEAR

LM340K-18 1.35

LM340K-24 1.35

LM340T-5 1.25

LM340T-6 1.25

LM340T-8 1.25

LM340I-12 1.25

LM340T-15 1.25

LM340T-1B 1.25

LM340T-24 1.25

LM358N 1.00

LM370N

LM373N

LM377N

LM3B0N

LM380CN

LM381N

LM382N

NE501N

NE510A

NE529A

NE531H/V

NE536T

NE540L

NE544N

ME550N

NE555V

NE556N

NE560B

NE5618

NE562B

NE565N/H

NE566CN

NE567V/H

NE570N

LM703CN/H

LM709N/H

1 95

3.25

LM710N .79

LM711N .39

LM723N/H .55

LM733N 1.00

LM739N 1.19

LM741CN/H .35

LH74M4N .39

LM747N/H .79

LM748N/H ,39

LM1310N 2.95

LM14S8CN/H .59

MC148BN 1.95

MC1489N 1,95

LU1496N .95

LM1556V 1.75

MCT741SCP 3.00

LM2111M 1.95

LM2901N 2.95

LM3053N 1.50

LM3065N 1,49 LM3900N(3401).49 LM3905N LM3909N MC555BV

LM75450N

75451CN

75452CN

75453CN

75454CN

75491CN

75492CN

75493N

75494CN

RC4136

RC4151

RC4194

RC4195

4.95

74LS00TTL

74LS47 74LS51 74LS54 74LS55 74LS73 74LS74 74LS75 74LS76 74LS78 74LS83 74LS85 74LS86 74L590 74LS92 74LS93 74LS95 74LS96 74LS107 74LS109 74LS112 74LS123 74LS125 74LS132 74LS136

74LS138 74LS139 74LS151 74LS155 74LS157 74LS1B0 74LS161 74LS162 74LS163 74LS164 74LS175 74LS1B1 74LS190 74LS191 74LS192 74LS193 74LS194 74LS195 74LS253 74LS257 74LS258 74LS260 74LS279 74LS367 74LS368 74LS670

J

ameco

mBEemE

Digital Stopwatch Kit

n k n . Use Intersil 7205 Chip . Plated thru doutile-stded

PC. Board . LED display (red) . Times to 59 mm 59 59 sec. with

auto reset . Quartz crystal controlled • Three stopwatches In one

single event, split (cummulative)

and taylor (seqiienlial liming] . Uses 3 penlite batteries . Size: 4.5" x 2 15" x 90'

JE900 $39.95

ALSO AVAILABLE:

6-Digit

Clock

Kit

. Briglit 300lil common calhode display

. Uses MM5314 clock chip

. .Switches lor hours, minutes and hold functions

. Hours easily viewable lo 20 (eel

• 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

5-3/4"

JE701

$19.95

JE200 5v lamp power supply$14.95 JE2206B Function Generator $19.95 JE73Q 4-digit clock kit 14.95 JE747 Jumbo 6-digit clock kit 29.95

DISCRETE LEDS

.200- dia. XC556R red XC556G green XC556V yellow XCS56C clear

.200" ilia.

XC22R XC22G XC22Y

5/S1 4/S1 4/J1 4/$l

5/$1

4/J1 4/S1

red

green

yellow

.170- dla.

10B red 4/!

.085" dla. 50 red 6/:

INFRA-RED LED

1/4-x1/4-x1/16"llal

S/S1

XC209R XC209G XC209Y

XC526R ' XC526G XC526Y XC526C

XC111R ' XC1I1G XC111Y XC111C

green yellow clear

green yellow clear

5/S1 4/51 4/S1

5/11

4/S1 4/$1 4/11

5/S1 4/$1 4/J1 4/S1

TIMEXT1001 LIQUID CRYSTAL DISPLAY

FIELD EFFECT

THREE ENUNCIATORS 2.00" X t.20" PACKAGE INCLUDES CONNECTOR

TIOOI-Transmisiiye S7.95

T1001A ReilcctivG B.25

DISPLAY LEDS

TYPE

MAN 1 MAN 2 MAN 3 MAN 4 MAN 7G MAN 7Y MAN 72 MAN 74 MANS2 MAN U MAN 3620 MAN 3630 MAN 3640 MAN 4610 MAN 4640 MAN 4710 MAN 4730 MAN 4740 MAN 4810 MAN 4040 MAN 6610 MAN 6630 MAN 6640 MAN 6650 MAN 6660 MAN 6680 MAN 6710

POLARITY I

Common Anode-red 5 x 7 Do! Matrix-red Common Cathode-red Common Cath arte-red Common Anode-green Common Anode-yellow Common Anade-red Common Cathode-red Common Anode'yellow Common Cathode-yullo* Common Anode-orange Common Anode-orange -1 Common Caihode-oriinge Common Anode-orange Common Cathode-orange Common Anode-red Common Anode-red t I Common Cfllhodo-red Common Anode-yollow Common Caltiodo-yellow Common Anode-orange-D.t) Common Anode-orange a 1 Common Caltioile-orsnge-DD Common Calhode-orange - 1 Common Anode-orange Common Cathode-orange Common Anodo-red-0 D

TYPE

MAN 6730

MAN G740

MAN 6750

MAN 6760

MAN 6780

OL701

01704

DL707

DL728

DL741

DL74G

D 1.747

DL749

DL750

DL33B

FNO70

FND358

FND359

FND503

FND507

5082-7730

tmSP-3400

HDSP-3403

5082-7300

5082-7302

5082-7304

5082-7340

POLARITY

Common Anode-red ± 1 Common Caitiodc-red-0 D Common Calhode-red t 1 Common Anode-red Common Csthode-red Common Anode-red ^ 1 Common Calhode-red Common Anode-red Common Cainode-red Common Anode-red Common Anode-red S 1 Common Anode-red Common Caltiode-red t i Common Calhode-red Common Cathode-red Common Calhode Common Cathode ± I Common Calhode Common Calhorie(FND500| Common Anode (FND510] Common Anode-red Common Anode-red Common Cathode red 4 x 7syl Digit-RHDP 4 i 7 Sgl Digit-LHDP Overrange character (-1) 4 x 7 Sgl. Digil-Hexadecimal

RCA LINEAR

CA3013T CA2023T CA3035T CA3039T CA3046N CA3059N CA3060N CA3080T CA3081N

2.15 CA3082N

2 56 CA3083N

2 4S CA3086N 1.35 CA3089N 1 30 CA3130T

3 25 CA3140T 3.25 CA3160T

85 CA3401N

2.00 CA360ON

CALCUUTOR CHIPS/DRIVERS

MM5725 S2 95

MM573B 2 95

0M8864 2 00

DMB865 1.00

K

B pin LP ,$17

14 pin LP .20

16 pin LP ,22

18 pin LP .29

20 pin LP ,34

14 pin ST S.27

16 pin ST .30

IB pin ST .35

24 pin ST ,49

8 pin SG $.30

14 pin SG .35

16 pin SG .38

16 pin SG .52

Spin WW s 39

10 pin WW .45

14 pin WW .39

16 pin WW .43

18 pin WW .75

SOLDEflTAIL

50-100

.20

CLOCK CH

IPS

MOTOROLA

MM5309

S4.95

MC1408L7

It4 95

MM5311

4 95

MC1408LB

S 75

MM5312

4.95

MC1439L

2 95

MM5314

4 95

MC3022P

?95

MM5316

6 95

MC3061P

3 5(1

MM531B

995

MC4016(744161

7 50

MM5369

2.95

MC4024P

3.95

MM5387/199BA

4 95

MC4040P

ess

MM5841

9.95

MC4044P

4 50

LOW PROFILE (TIN) SOCKETS

22 pin LP J 37 24 pin LP .38

.27

28 pin LP 36 pin LP

.60

30 SOLDERTAIL STANDARD (TIN)

28 pin ST I .99 36 pin ST 1.39 40 pin ST 1.59 SOLDEflTAIL STANDARD (GOLD)

24 pin SG $ 70

.24

WIRE WRAP SOCKETS (GOLD)LEVEL #3

8 pin SG

36 pin SG 1-fiS

40 pin SG 1.76

22 pin WW $ 95

24 pin WW 1,05

28 pin WW 1 40

36 pin WW 1.59

40 pin WW 1,75

1/4 WATT RESISTOR ASSORTMENTS -5%

ASST.

1

ASST.

2

ASST

3

ASST

4

ASST

5

ASST

6

ASST

ASST

7

8R

KIO 11HM l?0 OHM ibO OHM .'70 OHM JW OHM iflf] OHM 680 OHM B2QOHM IR

Includes Resistor Assortments 1 -7(350 PCS

$1.75 1.75 1.75 1.75 1.75 1.75

so pes 1.75

i $9.95 ea.

SDPCS 50 PCS SO PCS 50 PCS 50 PCS 50 PCS

S5.00 Minimum Order - U.S. Funds Only California Residents - Add 6% Sales Tax

Spec Sheets - 254

1979 Catalog Available—Send 41 c stamp

*?«

cjl*

I ameco

ELECTRONICS

PHONE

ORDERS

WELCOME

(415) 592-8097

TELEPHONE/KEYBOARD CHIPS

AY-5-9100 Push Burlon Telephone Dialler

AY-5-9200 Repertory Dialler

AV-5-9500 CMOS Clock Generator AY-5-2376 Keyboard Encoder IB8 keys)

HD0165 Keyboard Encoder 16 keys

?1C922 Keyboard Encoder 16 keys)

ICM7045

1CM7205 ICM7207 ICM7208 ICM7209

ICM CHIPS

CMOS Precision Timer CMOS LED Slopwalch/Timei Oscillator Controller Seven Decade Counter Clock Generator

2195 19.95

7.50 19:95

6 95

NMOS READ ONLY MEMORIES

MCM6571 128 X 9 X 7 ASCII Shitted with Greek 13.50

MCM6574 128 X 9 X 7 Math Symbol & Pictures 13.50

MCM6575 126 X 9 X 7 Alphanumeric Control 13 50

Character Generator

MISCELLANEOUS

TL074CN Quad Low Noise bi-lel Op Amp 2 49

TL494CN Switching Regulator 4.49

TL496CP Single Switching Regulator 175

11C90 Divide 10/11 PrescaTer 19.95

95H90 Hi-Speed Divide 10/11 Prescaler 11.95

4N33 Photo-Darlington Opto-lsolator 3.95

MK50240 Top Octave Freq. Generator 17.50

DS0026CH 5Mhz 2-phase MOS clock driver 3.75

TIL308 27" red num. display w/integ logic chip 10.50

MM5320 TV Camera Sync. Generator 14.95

MM5330 4ft Digit DPM Logic Slock 5.95

LD110/111 3ft Digit A/D Converter Set 25 00/sel

LITROHIX ISO-LIT 1

Photo Transistor Opto-lsolator

(Same as MCT 2 or 4N25(

2/990

SN 76477

SOUND GENERATOR Generaies Complex Sounds Low Power - Programmable

3.95 each

TV GAME CHIP AND CRYSTAL

AY-3-8500-1 and 2.01 MH2 Crystal (Chip & Crystal -y nc ,

includes score display. 6 games and select angles, elc 7 . 35/SB1

XR205

XR210

XR215

XR320

XR-L555

XR555

XR556

XR567CP

XR567CT

XR1310P

XR1468CN 3.85

XR1488 1.39

XR1489 1.39

S3.40 4.40 4.40 1.55 1.50 .39 .99 .99 1.25 1.30

EXAR

JE2206KA 14.95

JE2206KB 19.95

XR1800 3.20

XR2206 4.40

XR2208 5.20

XR2212 4.35 XR2240 3.45

XR2242CP

XR2264

XR2556

XR2567

XR3403

XR4136

XR4151

XR4194

XR4202

XR4212

XR4558

XR4739

XR4741

TYPE

1N746

1N751

1N752

1N753

IN 75-1

1N757

1N759

1N959

IN965

1N5^3^

1N5234

1N5235

1N5236

1NK42

1N52-15

1N456

1N4S8

1N485A

IH4M1

DIODES

VOLTS W

3.3 40Dm

5 1 400m

5.6 ■100m

6.2 400m

G.B 400m

9.0 400m

12 0 400m

8.2 400m

15 400m

TYPE

1fJ.!002 1N4003 IN4004 1N4005 1N4D06 IN4007 1N3600 1N4148 1N4154 1W4305 1N4734 1N4735

VOLTS W 100PIV1 AMP 200 PIV 1 AMP

400 PIV 1 AMP t>00 PIV I AMP 800 PIV 1 AMP 1000 PIV I AMP 50 200m

12.1 00 12.1 00 12/1 00 10:1 00 10/1 00 10,1 00 6/1 00 15'1 i 12/1 (

12 1w

15 1w

50 PIV 35 AMP 100 PIV 35 AMP 150 PIV 35 AMP 200 PIV 35 AMP 400 PIV 35 AMP

C360 C38M 2N232B MDA 980-1 MDA 980-3

SCR AND FW BRIDGE RECTIFIERS

ii 400V 35A m 600V t.6Afc 300V

C106Q1

MPSA05

MPSAD6

TIS97

T1SS8

40409

40410

40673

2N918

2N2219A

2N2221A

2N2222A

PN2222 Plastic

2N2369

2N2369A

MPS2369

202484

2N290G

2N29D7

PN2907 Plastic

2N2925

MJE2955

2M3053

5/1 00 7/1.00 5/1 00 4/1 00 5/1 00 4/1 00 4/1 00 5/1.00 7/1.00 5/1 00

TRANSISTORS

2N3055 89

MJE3055 1 00

2N3392 5 1 00

2fJ3398 51 00

PN3567 31 00

PN3568 4,1 00

PN3569 4100

MPS3638A 5/1 00

MPS3702 5-1.00

2N3704 5.1.00

MPS3704 5/1 00

2N3705 5r'1.Q0

MPS3705 3(1.00

2\3706 5/1.00

MPS3706 5/1.00

2N3707 5/1 00

2N371I 5,1 00

2N3724A 65

2N3725A 1 00

2N3772 2 25

2H3923 1 00

2N3903 5/1 00

1 95

2N390J J ! 00

2N3905 in 00

2N3906 4 1 00

2N4013 3 1 DO

2N4123 6 1 00

PN4249 4 1 00

PN4250 4/1 00

2N4400 4/1.00

2N4401 4 1.00

2N4402 J 1 00

2N4403 4 1 00

2N4409 5 100

2N5086 4/1 00

2N5087 4 1 00

2N5088 4 1 DO

2N50S9 4,1 00

2N5129 5 I 00

PN5134 5'1 00

PN5138 5 1 00

2N5139 5 1 00

2N5210 5,1 00

2N5449 3,1 00

2N5951 31 00

CAPACITOR

CORNER

MAIL ORDER ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE. SAN CARLOS. CA 94070

ADVERTISED PRICES GOOD THRU FEBRUARY

22 pi 47 pt 100 pi 220 pi 470 Dl

0022 0047ml

01 ml

1/35V 15/35V 22/35V 33/35V 47/35V 68/35V 1 0/35V

41/50V

1.0/50V

3 3/50V

4.7/25V

10/25V

10/50V

22/25V

22/50V

47/25V

47/50V

100/25V

100/50V

220/25V

220/50V

470/25V

1000/16V

2200/16V

07

OOVf 0O47,.F OI^F 022(1f

047m 1ml

17

22ml 33 27

+ 20% DIPPED TANTALUMS ISOLIOI CAPACITORS 28 23 17 1 5,35V 30 26

.28 23 17 2 2,25V 31 27

28 23 17 33,25V 31 27

28 23 17 4 7/25V 32 28

28 23 17 6 B/25V 36 31

2B 23 17 1Q/25V 40 35

.28 23 17 15/25V 63 50

MINIATURE ALUMINUM ELECTROLTTIC CAPACITORS

13

10

47/25V 47,50V 1 0/16V 1 0/25V I 0/50V 4 7/I5V 4 7/25V 4.7/50V 10/16V 10/25V lOffiOV 47/50V 10D16V 100/25V 100/50V 220/16V 470,25V

Radial Laa 15

18 28

208

BYTE February 1979

Circle 200 on inquiry card.

CONNECTORS

25 Pin-D Subminiature

DB25P (as pictured) PLUG (Meets RS232) $2.95

DB25S SOCKET (Meets RS232) $3.50

DB51226-1 Cable Cover lor DB25P or OB25S S1.75

PRINTED CIRCUIT EDGE-CARD

156 SMCinglm-OouOW ReiO-OuT — Bifuracled Contatft — FUS 054 [(

REMOTE CONTROL TRANSMITTER fr RECEIVER

Custom Cables & Jumpers

Part No. DB25P-4-P D825P-J-S DB25S-4-S

DJ14-1

DJ16-I DJ24-1 DJI4-1-14 0J16-1-16

DJ24-1-24

OB 25 Series Cables

Cable Length Connectors Price

1 Ft 2-DP25P SI5.95 ea.

4 Ft 1-DP25P/1-25S S16.95ea

4 It 2-DP25S Dip Jumpers

1 II I 14 Pin

I II 1-16 Pin

I It 1-24 Pin

I It 2-14 Pin

1 It 2-16 Pin

1 II 2-24 Pin

S17 95 ea

SI 59 ea

1 79 ea

2 79ea 2.79 ea

3 19 ea. 4.95 ea

For Cuslom Cabins & Jumpars, Sen JAMECO 1979 Catalog lor Pricing

15/30

18/36

22/44

50/100 (.100 Spacing)

50/100 (.125 Spacing)

PINS (Solder Eyelet)

PINS (Solder Eyelet)

PINS (Solder Eyelet)

PINS (Wire Wrap)

PINS (Wire Wrap)

070 P C Card

$1.95

$2.49

$2.95

$6.95

1-1 56.95

MINI-BUZZER

• Thousands of applications

• Operates on +6 to +9 VDC

• Output Frequency 800 Hz

• Draws only 15 MA fa 600 ohms

• Size: 1 "<" x %i"

PART NO. MB-1

1-24 S1.95 ea

25-49 S1.75 ea

50-99 S1.49 ea

SONALERT

m

#SC628

$7.50 each

AUDIBLE SIGNAL DEVICE

Use as a warning Device or Audible Reminder"

• Turns on and oft with low power transistor. SCR or IC

• Can be battery operated 6-28 volts

• Solid Slate - No moving parts

• Panel mounts in 1.25" round hole

• Black Plastic case-includes MTG nut

• Operating Volts (DC): 6 (Min) - 2B (Max)

• Current MA: 3 (Min) - 14 (Max) . riHA. G8 (Mini- B0 (Max)

• Frequency: 2900Hz 1500

AC Wall Transformer

Ideal for use with clocks, power

other lype ol ) application.

AC 250 117V/60HZ 12 VAC 250mA AC 500 117V/60HZ 12 VAC 500mA

S3.95 S4.95

Regulated Power Supply

. Uses LM 309K

* Heat sink provided

• P.C. board construction

. Provides a solid 1 amp Cn

5V - Includes components,

hardware and instructions . Sizes:3-1/2"x5"x2"high

JE200 $14.95

INSTRUMENT/CLOCK CASE

This case is an injection molded unit that is ideal for uses such as DVM. COUNTER, or CLOCK cases. It has dimensions ot 4Vi" in length by 4" in width by 1-9/16" in height. It comes complete with a red bezel.

Vj

PART NO: IN-CC $3.49 each

MICROPROCESSOR COMPONENTS

-BOBOA/aOBDA SUPPORT DEVICESCPU

8-Bit Input/Oulpul

Priority Interrupt Control

Bi-Directional Bus Driver

Clock Generator/Driver

Bus Drivei

System Controller'Bus Dnver

System Controller

Prog Comm 1/0(USART)

Prog Interval Timer

Prog Perinh i;0 (PPI)

Prog. DMA Control

Prog Interrupt Control —ee0D>S8Q0 SUPPORT DEVICES—

MPU

-MICROPROCESSOR MANUALS

S 9.K 3.25 595 3.49 395 3 49 5 95 5 95 7 95 14 95 9 95 19 95 19 95

M-Z80 User Manual

M-COP1802 User Manual M-2650 User Manual

$7.50 7.50 5.00

- ROM'S

2513(2140) Character Generator (upper case) S9.95

2513(3021) Character Generaior<lower case) , 9.95

2516 Character Geneialor 10 95

MM5230N 2048-Bit Read Only Memory 1 95

MCGB02CP MPU with Clock and Ham

MC6810API 128X8 Sialic Ram

MC6821 Penph Inter Adapl (MC682QI

MC6828 Priority Interrupt Controller I

MC6830LB I024X8 Bit ROM IMC68A30-8)

MC6850 Asynchronous Comm Adapter

MCG852 Synchionous Serial Data Adapt

MC6860 B-6O0 Ops Signal MODEM

MC6862 2400 Ops Modulator

MC6880A Ouarj 3-SUIe Bus Trans (MC8T26)

MICROPROCESSOR CHIPS—MISCELLANEOUS

280(780C) CPU S

280A|780-1i CPU I

COP1802 CPU

2650 MPU

3-B.I MPU v

$14.95

IMS9900JL

CPU

dock, RAM, 1/0 lines

1995 19 95 19 95

tl MPU whardware. multiply

viae

MMSOOH

MM503H

MM5Q4H

MM506H

MM510H

MM5016H

2504T

2518

2522

2524

2525

2527

2528

2529

2532

2533

3341

74LS670

-SHIFT REGISTERS —

Dual 25 Bit Dynamic Dual 50 Bit Dynamic Dual 16 Bit Static Dual 100 Bit Static Dual 64 Bit Accumulator 500/512 Bit Dynamic 1024 Dynamic Hex 32 Bit Static Dual 132 Bit Sialic 512 Static 1024 Dynamic Dual 256 Bit Stake Dual 250 Static Dual 240 Bit Static Quad BO Bil Static 1024 Sialic filo

4X4 Register File fTnStaie) ' UART'S

1101

1103

2101(8101)

2102

21L02

2111(8111)

2112

2114

21141

2114-3

2114L-3

5101

5280/2107

7469

74S200

93421

UPD414

(MK4027) UP0416

(MK4116) IMS4044

45NL TMS4045 2117

MM5262

256X1

1024X1

256X4

1024X1

1024X1

256X4

256X4

1024X4

1024X4

1024X4

1024X4

256X4

4096X1

16X4

256X1

256X1

4K

- RAMS

Sialic

Dynamic

Static

Sialic

Static

Static

Sialic MDS

Sialic 450ns

Sialic 450ns low power

Sialic 300ns

Static 300ns low power

Sialic

Dynamic

Static

Sialic Instate Sialic Dynamic 16 pin

Dynamic 16 pin

Sialic

Static'

Dynamic 350ns (house marked) Dynamic

3.95 4.95 9.95 10.95 10 95 11.95 7.95 4 95

14.95 14.95

3 95

4 95 295

99 2 95 2.95 4 00 4O0 2 95 295 6 95 1 95

1702A

TMS2516

(2716)

1MS2532

2708

2716 I I

5203

6301-1(7611) 1024 6330-1(7602) 256

A-Y-5-1013 30K BAUD

B2S23 82S115 82S123 74186 74188 74S287

PROM'S

2048 FAMOS

16K- EPROM(lnlel 2716)

•Requires single t5V power supply

4KX8 EPROM

8K EPROM

16K" EPROM

Requires 3 voltages. —SV. >5V,

2048 FAMOS

Tnslate Bipolar

Open C Bipolar

Open Coll eel or

Bipolar

Tnsiate

TTL Open Collector

TTL Open Collector

2V

89.95 10.95 29.95

32X8 4096 32X8

1024

Sialic

3.49 2.95 3.95 19.95 3.95 9.95 3.95 2.95

POWERACE 101 -General purpose model to' prototyping all types of circuit. #923101 S 84.95

POWERACE 102 -Complete digit prototyping lab with built-in logic probe #923102 $114.95

POWERACE 103 -Triple-output power supply for prototyping both linear and digit circuits. #923103 S124.95

„ NEW!! IN STOCK...

Q POWERACE

ALL-CIRCUIT EVALUATORS WITH POWER

■ 1680 solrfeiless. plug-in lie points, will hold up to IB 14-pin DIP'S

» Breadboard elements accept all DIP sizes...including RTL. DTL, TTL and CMOS devices TO-5's and discreles with leads up to 032'dia.

■ All connections lo/troni switches, indicators, power supplies and meters are made via solderless. plug-in. tie-point blocks on conttol panels.

• Interconnect with any solid 20 to 30 AWG wire.

• Breadboard elements are mounted on ground planes. ideal lor high-frequency and high-speed/low-noise circuits.

• Short-arcuil-prool fused power supplies

• Operate on 110 to 130 VAC at 60 Hz

• Space-age compacl styling and high-grade components permit convenient, organized and qjick prototyping.

• All models are 7.5" wide 11 5' deep and 4.0' high (rear) 0.75" high (tronl) and weigh approx 2.5 lbs.

3"*-Digit Portable DMM

■ Oveiioid Proleclerj

• 3 nigh LED Display

• Battery nr AC operation

■ trrw lVa 0 ' DIM resolution

• Overange 'eaomg

• 10 meg input impendence

• DC Accuracy- P. typical Ranges: DC Voltage D^IOOOV AC Voltage 0 10D0V

Freq Response 50-tOO HZ DC/AC Cunent 0-lOOmA Resistance 0-10 meg ohm Sue 6-1 (44 i 2

Accessories: AC Adapter BC-28 $9.00 Rechargeable

Batteries BP-26 20.00 Carrying Case LC-28 7.50

100 MHz -Digit

. 20 Hi-100 MM; Range COUfltBf

. 6" LED Display . Four power souces. i e . Crysial-coniiolleO Hmetiase banenes, I'O or 220V with

i fully AuTomalic charger 12V with auto

i Portable — completely lighter adapter and external

sell-contained 7 2 10V power supply

' t'"6y ' """' ™_ MWt-100

134.95

ACCESSORIES FOR MAX 100:

Mobile Chirger Eliminator

use power Irom car battery Model 100 — CLA S3.95

Chirgsr/Ellmlmtor

use 110 V AC Modal 1 DO — CAI S3 95

" Mini-MaX 6 Digit SOMHz Frequency Counter

• Guaranteed frequency range of 100 Hz to 50 MHz

• Full 6 digit display with antiglare window

• Fully automatic-range, polarity, slope, trigger. Input level switching not required.

• Lead-zero blanking—All zeros to the left of Itie first non-zero digit ate blanked. Kilo Hertz and Meoa Hertz decimal points automatically light up when the unit is turned on.

• Built in input overvoltago protection.

• Use 9V Battery or I1Q/220V power.

rfSBBMMT* MINI-MAX $89.95

Accessories For Mini-Max

Part No. Description Price

MM-AJ Antenna $ 3 95

MM-C5 Carrying case 5.95

MM-IPC Input cable with clip leads 3.95

MM-AC2 110V adapter 9.95

MM-AC3 220V adapter 9.95

$5.00 Minimum Order - U.S. Funds Only Spec Sheets - Ki

California Residents - Add 6% Sales Tax 1979 Catalog Available—Send 41 c stamp

J a

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE.SAN CARLOS, CA 94070

ADVERTISED PRICES GOOD THRU FEBRUARY

The Incredible Pennywhistle 103"

$139.95

Kit Only

Ths Ptnnywtilitli 103 is cajaoifl at recording data to arid Irom audio tape without

critical speed requirements lor the recorder and il is able to communicate diretlly with

another modem and terminal for telephone "hamming' and communicahens In

addition, il is Iree ol critical adiustments ami is built with non -precision, readily available

parts.

Dill Trintmlillon Method Frequency -Shth Keying, full-duple* {hall-dupffli

selectable).

Miilmum Olti rial* 300 Baud.

Dili Formal Asynchronous Serial (return to mark level required

between each character). Receive Channel Friquinclet .. .2025 Hz lor space; 2225 Hi lor mark. Trinimll Chinnil Fnqutnclu ..Switch selectable: Low (normal) ■» 1070 space.

1270 mark: High -- 025 space. 2225 mark

Hiceivi Seniltlvlly -46 dbm accoustically coupled.

Trinimll Livtl -15 dbm nominal Adiustable Irom -6 dbm

1o -20 dbm ReceiM Frequency Toliranu ...Frequency reference automatically adjusts to

allow lor operation between 1800 Hz and 2400 Hi Digital Dili Inltriici EIA RS-232C or 20 mA current loop (recever is

optoisolated and non-polar)

Power Riquirimanli 120 VAC. single phase. 10 Walls

Pfiyticil All components mount on a single 5" by 9'

printed circuit board All components included Roauues a VOM. Audio Oscillator. Frequency Counter and/or Oscilloscope to align

fRS-80 16K Conversion Kit

Expand your 4K TRS-80 System to 16K. Kit comes complete with:

* 8 each UPD416 (16K Dynamic Rams)

* Documentation for conversion

TRS-16K $115.00

Special Offer - Order both your TRS-16K and the Sup'R' MOD II Interface kit together (retail value $144.95) for only $139.95

COMPUTER CASSETTES

. 6 EACH 15 MINUTE HIGH QUALITY C-15 CASSETTES

. PLASTIC CASE INCLUDED 12 CASSETTE CAPACITY

. ADDITIONAL CASSETTES AVAILABLE #C-15-$2.50 ea

S£ CAS-6

$14.95

(Case and 6 Cassettes)

SUP 'R' MOD II

UHF Channel 33 TV Interface Unit Kit

Wide Band B/W or Color System

* Converts TV to Video Display tor home computers, CCTV camera, Apple II, works with Cromeco Dazzler. SOL-20. IRS-80. Challenger, etc.

* MOD II is pretuned to Channel 33 (UHF).

* Includes coaxial cable and antenna transformer.

A

MOD II

$29.95 Kit

RS-232 CONTROL CENTER

Plug in your modem, computer

prom programmer, -W""^'•^SW

terminal, printer, etc. *

and selectively control

data flow.

• Same Conlour as "Pennywhistle 103"

• Totally selt-containecr ■ Includes 2 master pons and 3 slave pons.

PART NO, „on nc RS-232CC $89.95 mi only

Ideal tor use witti the TRS 80 and others.

"Plug/Jack interlace to any computer system requiring remote control of cassette functions"

Tne CC100 controls cassette motor functions, monitors tape location with its internal speaker and requires no power. Eliminates the plugging and unplugging of cables during computer loading operation from cassette.

#CC-100

$29.50

63-Key Unencoded Keyboard

This is a 63-key, terminal keyboard newly manufactured by a large computer manufacturer. It is unencoded with SPST keys, unattached to any kind of PC board. A very solid molded plastic 13 x 4" base suits most application. IN STOCK £29 95/eacfl

Hexadecimal

Unencoded

Keypad

19-key pad includes 1-10 keys, ABCDEF and 2 optional keys and a shift key. $10.95/each

Circle 200 on inquiry card.

BYTE February 1979

209

What's Mew?

SOFTWARE

Structured Programming Macros for the 8080 and Z-80

Structured Analysis Systems has developed SP80, a set of structured programming macros for the 8080 and Z-80. Macro libraries are available for the TDL Z-80 assembler V2.2 and the Intel macro standard. SP80 is said to provide all common structured programming constructs such as: DO for count iteration, IF-ELSE for 2 path conditions, SELECT-CASE for multiple path branching, REPEAT-UNTIL and WHILE loop constructs as well as a special LOOP-EXITIF-ENDLOOP which allows multiple exits from embedded loops. All constructs allow signed and unsigned relational tests (EQ, NE, LE, LT, GE, GT) and condition code testing. Available with the TDL version is the use of conjunction (AND) and disjunction (OR) in any construct.

A manual containing listings of all macros in the two libraries; a discussion of macro syntax, constraints, memory and execution time requirements; a detailed example with corresponding conventional program, and general notes and suggestions is available for $19. A disk containing the macro libraries is available for $19 in CP/M file format. Contact Structured Analysis Systems, POB 2745, Reston VA 22091."

Circle 535 on inquiry card.

COSMAC 1802 Simulator

The COSMAC 1802 simulator program enables a 6502 processor to execute the COSMAC 1802 instruction set. The simulator does this by interpreting COSMAC instructions in a normal program sequence. All internal COSMAC registers are available for examination. They may be viewed statically in a single step mode or dynamically in a trace mode. All COSMAC software features are presently supported with the exception of direct memory access (DMA).

This simulator is now available in a KIM-1 version as a development and debugging tool for COSMAC software. It will run on a KIM-1 with no additional hardware or software required. In its minimum configuration the simulator leaves two full pages of memory open for COSMAC programs. It can be relocated in read only memory and can be readily adapted to other microcomputers using the 6502 processors.

The complete package contains a KIM-1 format cassette tape, user manual and a complete assembly level source and object listing. It is priced at $10 plus $1.50 for postage and handling. For further information write to Dann McCreary, 4758 Mansfield St, #2B,San Diego CA 92116."

Circle 537 on inquiry card.

Software for CP/M Systems

Two related software products, Sort and File Index, which will operate on any size CP/M system, have been announced by Rothenberg Information Systems Inc, 260 Sheridan Av, Palo Alto CA 94306.

Sort will sort ASCII files in ascending or descending order. Short records are treated as if they contained blanks in the extended areas. The keys may be as long or short as desired and the multikey version permits up to 20 different keys.

File Index reads a series of floppy disks placed in the B drive and writes a copy of their directories onto the named file on drive A. This file may be listed or directly sorted with the sort program to produce an alphabetized list of files across all of the disks. A provision is made to prefix each directory entry with a disk name. If the disk has a file which has a second name of. LBL, then File Index will use the first name as the disk name. If this file does not exist, the program will prompt the user for a name for the disk.

The Sort program is available in a single key version for $95; a multikey version is available for $145. The File Index program is available for $45 and requires either Sort program to produce the alphabetized list. Order information should include registered CP/M serial number."

Circle 536 on inquiry card.

System Software for the 8080, 8085 and Z-80 Microprocessors

A new system software for the 8080, 8085, and Z-80 processors has been announced by ComputerCo Inc, 5833 Dorchester Rd, Charleston SC 29405. Designed around North Star's BASIC version 6 with 14 digit precision, KFAM saves the user time in coding the original application program or modifying an existing subsystem.

The application programmer utilizes KFAM subroutines to handle data transmittal, packing and unpacking of data to maximize storage area, sorting upon input by keys, opening and closing of files, self-verifying of files, and the modular design of application software. KFAM contains a keyboard input utility for displaying data on a video screen, accepting the keyboard input, cursor positioning, and validation of data. Utilities to add records, delete records, and examine or alter existing records are included.

KFAM eliminates the need for sorting of input data by utilizing keys as new records are written to the files. The key allows for random access during batch processing.

The KFAM system software is available complete with documentation for $550. Documentation only without source code is $75. It is available on tape or disk. Application software is also available. ■

Circle 538 on inquiry card.

Software for 8080 Processor

Micro Business software is designed to run on an 8080 processor with a FORTRAN compiler.

The general ledger (G/L) is designed for accountants and is generalized and flexible. There are over 20 programs in the system. It allows over 200 accounts with nine levels of totals, percentages on profit and loss capabilities. It forces balanced entry of transactions, verifies validity of accounts, and automatically puts income and expense totals in balance sheet form.

The payroll program (P/R) prints checks; calculates taxes; handles multipay periods, salaried and hourly employees, W2 forms, check register, department reporting, check numbers and more.

The G/L and P/R (object code) are priced at $775 each; A/R, and A/P are $495 each, or all four for $2250. The user's manual is $15 with credit towards purchase of software. For more information contact Engram Associates Inc, POB 9885, Little Rock AR 72219."

Circle 539 on inquiry card.

Screen Oriented Text Editor

Aox Associates announces MATE, a screen oriented text editor for 8080 or Z-80 microcomputers with floppy disks running under iCOM or TDL FDOS. MATE expands upon the capabilities of other text editors by dividing the screen into text display and command string sections. TECO-like command strings use iteration, conditional branching, and macros to operate on ten allocated buffers.

The independent text section of the screen instantly reflects any changes in the edit buffer, with text moving up and down or right and left as commands modify the buffer. In another mode, keystrokes are directly entered on the screen and in the text. MATE can be used with the VDM-1 or a similar video display board. Fast screen updates can also be obtained with a video terminal, since extensive display driver software utilizes the addressable cursor to make only necessary changes.

A wide variety of character, word, line and paragraph oriented commands are entered in the separately scrolling command section of the display. Command strings can range in complexity from a single character through full text editing programs.

MATE is available on an 8 inch floppy disk for $49.50, including 9 K bytes of object code for the editor, and object and source code for several screen, keyboard, and printer drivers. The user and interface manual (which can be purchased separately for $5, refundable with complete order), gives instructions to help adapt these drivers to other hardware. For further information contact Aox Associates, POB 558, Somerville MA 02143. ■

Circle 540 on inquiry card.

210 February 1979 IS BYTE Publications Inc

ITHACA AUDIO

THE OEM MARKETPLACE

IA Expands S-lOOLine

Video

Display

Board

Featuring a full 128 upper/lower case ASCII character set stored in a 1K buffer memory. Easy to read 16 line x 64 character format can be displayed on an inexpensive video monitor or a modified TV set. Includes a TTY software driver. Add our powerful K 2 FDOS to create a versatile operator console.

$25.00

Disk

Controller

Board

Controls up to 4 single or double sided drives. Data protect features include automatic disable of write-gate during power-down for data integrity. Supported by a reliable software package, K 2 FDOS and complete diagnostic documentation.

$35.00

K2

Operating

System

Power full disk software in the DEC tradition. Includes Text Editor (TED), File Package (PIP), Debugger (HDT), Assembler (ASMBLE), HEXBlfl, 1 COPY, System Generator fSYSGEN). Command syntax follows Digitals 0S-8.RT/11 format. First in a family of high level software. Soon to be released, FORTRAN & Pascal Compilers.

$75.00

Field-proven reliable engineering

Over 10,000 boards worldwide prove Ithaca Audio provides the quality and reliability you demand.

Ithaca Audio Boards are fully s-100 compatible, featuring gold edge connectors and blated-through holes. All Doards (except the Protoboard) have fully buffered data and address lines, DIP switch addressing, solder mask and parts legend.

Z-BO CPU Board Most powerful 8 bit central processor available. Featuring power-on|ump, provision for on-board 2708. Accepts most 8080 software. $35.00

BK Static RAM Board High speed static memory at the lowest cost per bit. Includes memory protect/unprotect and selectable wait states.

$25.00

2708/2716 EPROM Board Indispensable for storing dedicated programs ana often used software. Accepts up to 16K of 2708's or 32K of 2716's. $25.00

Protoboard Universal wire-wrap board for developing custom circuitry. Accepts any size DIP socket. $25.00

RAM!

32K for $359.

Ithaca Audio is now stocking the Mostek 4115 add-on RAM for S.D.'s Expandoram. Buy their basic board, 32K of RAM from us and SAVE.

S.D. SALES Expandoram board $199

Ithaca Audio 32 4115s @ $5.00 ea. 160

32K Only $359

• 1978 ITHACA AUDIO

Mass Storage at Incomparable

Prices.

Ithaca Audio Floppy Disk

• Up to 250K bytes, single sided

• Up to 500K bytes, double sided

• Data protect

• Powerful software operating system includes 8 utility programs, text editor.

Add the capacity of full size disk to your S-100 microcomputer. Controller, Disk Drive, and Software available separately.

Memorex single sided

550 Flexible Disk Drive $456.

Memorex double sided

552 Flexible Disk Drive $830.

Disk Controller Board $35.

K2 FDOS Available on 8"

floppy disk w. manual $75.

Quality Components

ZILOG Z-80

$19.00

ZILOG Z-80A

23.00

INTEL 2708

11.00

FAIRCHILD 2102 LHPC

1.60

FAIRCHILD 2102 LIPC

1.35

IMSAI 8080 Kit with 22 Slot MB.

$560.00

plus $10.00 shipping.

HOW TO ORDER

Send check or money order, include $2.00 shipping per order N.Y.S Residents include tax.

For technical assistance call or write to:

ITHACA AUDIO

P.O. Box 91

Ithaca, New York 14850

Phone: 607/273-3271

Circle 190 on inquiry card.

BYTE February 1979 211

Computer Products

it DISK DRIVES *

B51 - 5%" $295.00

by Micro Peripherals, Inc. Operates in either single density (125KB, unformatted) or double density (250KB, unformatted) modes, upto 40 tracks, with a track-to-track access time of only 5 ms.

SA801R $495.00

by Shugart. Single-sided 8" floppy disk drive.

8" DISK DRIVE $395.00

by GSI/Siemans. Direct equivalent of Shugart 801R.

DM 2700-S

$750.00

Includes SA801R, 10"x10"x16" cabinet, power supply, data cable, fan, AC line filter.

• TWO SIEMENS/GSI 8" FLOPPY

DRIVES

• POWER SUPPLY FOR ABOVE

• JADE/TARBELL DISK CONTROL

KIT ISIOOI

• CP/M OPERATING SYSTEM WITH

BASIC-E

• PACKAGE OF 10 BLANK

8" DISKETTES Price If purchased separately:

S1192.50 JADE SPECIAL PACKAGE DEAL:

$1050.00

^.VERBATIM™ FLOPPY DISKS

5V4 in. Minidiskettes

Soft sector, 10 sector, or 16 sector

$4.40 each or

box of 10 for $40.00

8 in. Standard Floppy Disks

Soft Sector

$4.75 each—10 for $42.50

FLOPPY DISK INTERFACE

JADE FLOPPY DISK (Tarbell

board)

Kit $175.00

Assembled & Tested $250.00

S.D. Computer Products "Versa

Floppy"

Kit $159.95

Assembled & Tested $189.95

MINISCOPES

' 'j J-,■>

• 15 megahertz bandwidth.

• External and internal trigger.

•Time Base - 0.1 microseconds to 0.5 Sec/div - 21 settings.

• Battery or line operation.

• Automatic and line sync modes.

• Power consumption less than 15W. •Verticle Gain - 0.01 to 50 volts/div

12 settings.

• Weight is only 3 pounds.

MS-15 $318

MS-215 Dual Trace Version $435

With Rechargeable Batteries & Charger Unit

10 to 1,10 meg probe $27

Leather carrying case $45

LOGIC PROBES**f*\

TTL.' OTL., HTL. o

CMOS, Input lmp*dinc»:

10

0

o ohm*

Minimum DUtcllbli

Pulw: 50

ft|, Mutmun

Signal

(Fi.mn.M:yl 10 MH

. Pulu Or

■elm ILED1' ^

o<

or liiiglr event. Pulu

M.mnry P

CSCModtl LP 1 Log.

Prot»-Net

MODEL LP 3

Hicjli iprcd loyic probe. Caplurci

I.T.|..i..n,.i. 500.000

ohms. Mini

ill r II (J.I.Cl.UI

■1 IFr.qutn

ry): 50 MHi.

}*uciur

(LED): High spend t

Tin ur in.ijl.

nvent Pulu M

fllB

'V

CSCMod.l LP-3 Logii

3-LEVEL GOLD WIRE WRAP SOCKETS

14 PIN 39eeach

16 PIN 43c each

100 for $30.00

Sockets are end and side stackable, closed entry.

GOLD PLATED S-100 EDGE CONNECTORS

Soldertail $3.25 each

10 for $30.00 Wire Wrap $4.50 each

10 for $40.00

EXPANDOR'S BLACK BOX PRINTER

This 64-character ASCII impact printer with 80-column capability is portable and uses standard 8V2" paper and regular typewriter ribbon. Base, cover and parallel interface are included. Assembled and complete with manual and documentation. _ . <Mri-7 nn

only $517.00

(90 day manufacturer's warranty)

TRS-80 Interface Cable for Black Box Printer

with mating connectors: $48.00 (must be used with expansion module, +8v/l amp power supply required.)

Power Supply for TRS—80/Black Box Printer

$49.00

METERS

Rechargeable batteries and cnarger

Measures DC Volts, AC Volts, Ohms and

Current

Automatic polarity, decimal and overload

indication

No zero adjustment and no full-scale

ohms adjust

Battery-operated - NiCad batteries; also

AC line operation

Large LED display for easy reading

without interpolation

Size: 1.9"H x 2.7"W x 4"D

Parts Si labor guaranteed 1 year

Tilt stand option S 3.50

Leather Case S20.00

LM3A 3 dig 1°/. DC S134.00

LM3.5A3Vidig.5%DC S158.50

LM40A4 dig .1% DC $209.00

LM4A 4 dig .03% DC S250.00

S-100 MOTHER BOARDS

JADE 6-SLOT

Kit $41.95

Assembled & Tested $56.95

Bare Board $24.95

9-SLOT "LITTLE MOTHER"

Kit $85.00

Assembled & Tested $99.00 Bare Board $35.00

13-SLOT "QUIET MOTHER" Kit $95.00

Assm. & Tested $110.00

Bare Board $40.00

22-SLOT"STREAKER"

Assm. & Tested $149.00

VIDEO INTERFACE

S-100 Compatible Serial Interface with Sockets Included. Kit $117.95

Assembled & Tested $159.95 Bare Board w/manual $ 35.00

Z80A SPECIAL

4MHz Zilog CPU Chip

fa $14.95 fa Zilog

SEE OPPOSITE PAGE FOR ORDERING INSTRUCTIONS.

TJ -i

Convert your T,V. Video Monitor Kit

set into a $8.95

ELECTRONIC

SYSTEMS

"KANSAS CITY STANDARD" TAPE INTERFACE

Part No. 111

Board $7.60; with parts $27.50

RS-232/TTL INTERFACE

Part No. 232

Converts TTL to RS-232

and RS-232 to TTL

Board only $4.50;

with parts $7.00

RS-232/TTY INTERFACE

Part No. 600

Converts RS-232 to 20mA

current loop, and 20mA current

loop to RS-232

Board only $4.50;

with parts $7.00

LIQUID CRYSTAL DIGITAL CLOCK-CALENDAR

• For Auto, Home, Office. •Small in size (2x21/3x'/I).

• Push button for seconds release for date. •Clocks mount anywhere with either 3M

double-sided tape or VELCRO, included.

•2 MODELS AVAILABLE, LCD-101, portable model runs on selfcontained batteries for better than a year.

LCD-102, runs on 12 Volt system and is back lighted.

•LCD-101 or LCD-102 your choice S34.95 ea.

• Clear desk stand for S2.00

8" FLOPPY DISK SPECIAL

Slemans/GSI 8" Drive

Exact replacement for Shugart 801R

SALE PRICE

$450.00

PARALLEL/SERIAL INTERFACE

S-100 compatible 2 serial I/O ports, 1 parallel I/O.

KltJG-P/S $124.95

Assembled & Tested: JG-P/SA

Bare Board w/Manual

$179.95 $ 30.00

iiijiwi

3690-12 CARD EXTENDER

Card Extender has 100 contacts. 50 per side on .125 centers. Attached connector is compatible with S-100 Bus Systems . . $25.00 3690 6.5" 22/4 pin. 158 ctra. Extend«r* $12.00

pem Plugboards

8800V

Gen. Purpose D.l.P. Boards with Bus Pattern for Solder or Wire Wrap. Epoxy Glass 1/16" 44 pin con. spaced .156.

Universal Microcomputer /processor plugboard. Use with S-100 bus. Complete with heat sink fit hardware. 5.3" x 10" x 1/16".

8801-1

Same as 8800V except plain: less power buses & heat sink.

3677 9.6" x 4.5" . 3677-2 6.5" x 4.5"

$10.90 . S9.74

1-4

5-9

10-24

880DV

19.95

17.95

15.96

8801-1

14.95

13.46

11.96

P pattern plurjbo; Epoxv Glass 1/16" spaced .156.

3662 6.5" x 4.6" S7.65

36622 9.6" x 4.5". . . $11.45

Hi-Density Dual-in-Line Plugboard lor Wire Wrap with Power & Grd. Bus Epoxv Glass 1/16" 44 pin con. spaced .156.

3682 9.6" x 4.5" . 3682-2 6.5" x 4.5"

$10.97 . S9.81

212 BYTE February 1979

Circle 195 on inquiry card.

PLACE ORDERS TOLL FREE

800/421-5809 Continental U.S. 800/262-1710 Inside California

IB.95 20.00 25.00 17.95 20.00 11.95 16.95 25.00 12.95 20.00 21.00 10.00 23.00 49.95

MICROPROCESSORS

F8

280 12MHz)

Z80A 14MHz)

CDP1802CD

AM2901

6502

6800

6802

8008-1

8035

8035-8

8080A

8085

TMS9900TL

8080A SUPPORT DEVICES

8212 2.90

8214 4.65

8216 2.75

8224 12MHz) 4.30

8224-4 (4MHz) 9.95

8226 2.75

8228 6.40

8238 6.40

8243 8.00

8251 7.50

8253 20.00

8255 8.50

8257 20.00

8259 20.00

8275 75.00

8279 18.50

6800 PRODUCT

681 OP 4.00 6820P 6.60

682 IP 6.60 6828P 11.25 6834P 16.95 6844L 29.95 6845L 29.95 6846LI 35.00 D846P1 30.00 6850P 8.65 6852P 11.00 6860P 9.25 6862P 12.00 6871P 28.75 6875P 8.75 6880P 2.50

KIM SUPPORT DEVICES

6102 8.00

6502 11.95

6520 10.00

6522 9.25

6530-002 15.95

6530-003 15.95

6530-004 15 95

6530-005 15.95

6532 17.95 USRT

S2350 10.95

UARTS

AY5-1013A 5 25

AY5 1014A 8.25

TR1602B 5.25

TMS6011 5.95

IM6402 9.00

IM6403 9.00

BAUD RATE GENERATORS

MC14111 10.00

1441 1 Crvstal 4.95

CHARACTER GENERATORS

2513 Upper 1-12^51 6.75

2513 Lower 112 t5l 6.75

2513 Upper (5volll g.75

2513 Lower (5 volt) 10 95

MCM6571 - Up Scan 10 95

MCM6571A - Down Scan 10.95

FLOPPY DISC CONTROLLER

1771801 39.95

1791 49.95

KEYBOARD CHIPS

AY5-2376 13.75

AY5 3600 13.75

MM5740 18.00 PROMS

1702A 8.00

2708 9.95

2716I5+12ITI 25.00

2716(5v) INTL 60.00

2758l5vl 23.40

DYNAMIC RAMS

416D/41 16 (250nsl 12.50

2104/4096 4.00

2107B-4 3.95

TMS4027/4096 (300nsl 4.00

MM5270 4.50

MM5280 3.60 STATIC RAMS i-24 25-99

21L02 (450ns) 1.50 1.20

21L02 I250nsl 175 1 50

2101-1 2.95 2.60

21111 3.25 3.00

21121 2.95 2.65

iRocKwell AIM-65: The Head-Start l in microcomputers

A KIM-1 compatible machine with on-board printer and a real keyboard

§375.00 w/1K RAM 450.00 w/4K RAM 4K assembler/editor in ROM 8K BASIC in ROM: Power supply: Case for AIM-65:

$ 80.00 $100.00 $ 59.95 $ 49.95

Special Package Price: $599.00

AIM-65 (4K), Power Supply, Case, and 8K BASIC ROM

TRS-80

I

$179

Low price includes KIM-1 Module monitor programs stoied in 2048 ROM Bytes User Manual, wall size Schematic Hardware Manual. Programming Manual Programmers Reteience Card Keyboard/Display

$245

6502 - Dased single board computer with keyboard/display, KIM-1 hardware compatible, complete documentation.

KIMSI

INTERFACE/MOTHERBOARD

Makes S-100 cards plug-in compatible with KIM! Kit $125.00

Assembled & $l65.00

Tested ___

BETSI

INTERFACE/MOTHERBOARD

Makes S-100 cards plug-in

compatible with PET!

Kit $119.00

Assembled & t.cann

Tested $159.00

with full documentation

Kit $100.00

Assembled & Tested $149.95 Bare Board $ 30.00

with provisions for ONBOARD

2708 and

Kit Assembled

POWER 2MHz

& Tested 4 MHz

Kit

Assembled & Tested

Bare Board

ON JUMP

$135.00 $185.00

$149.95 $199.95 $ 35.00

+ STATIC RAM^L * SPECIALS *

2114's, low power (1024x4)

1-15 16-99 100 +

450ns 8.00 6.95 5.50

250ns 9.00 8.00 6.50

TMS4044/MM5257, low power 450ns 8.00 7.50 6.50

250ns 9.95 8.75 8.00

4200A (4Kxl, 200ns)

9.95 8.50 8.00

B

jfiinniuri

1 lili'lUil..''

ZIP DIP® II Socket

This new type of zero insertion pressure dual in-line package socket (ZIP DIP II) is perfectly suited for both hand test and burn-in requirements.

The ZIP DIP II socket has been designed for the utmost simplicity in its mechanical action. Coupled with a thoughtful system of ramps and bevels to guide the device leads into the contacts results in a socket, into which, the device can literally be dropped. With the flip of a locking lever the socket is ready to operate with exceptionally good electrical contact. Flip the lover again and the device may be extracted with zero pressure being exerted on the leads by the socket contacts.

PRICES:

16 pin Zip Dip II

$5.50

24 pin Zip Dip II

$7.50

40 pin Zip Dip II

$10.25

Computer Products

4901 W. ROSECRANS AVENUE Department "B" HAWTHORNE, CALIF. 90250 U.S.A.

Telephone: (213) 679-3313 Telex: 18-1823

Cash, checks, money orders, and credit cards accepted. Add freight charge of $2.50 for orders under 10 lbs. and $1.00 service charge for orders under $10.00. Add 6% sales tax on all parts delivered In California. Discounts available at OEM quantities.

WRITE FOR OUR FREE CATALOG

All prices subject to change without notice.

J

MEMORY EXPANSION KITS

4116's

8 for $85.00

(16K x 1, 200ns)

includes dip plugs and Instructions

•TRS-80 Kit •

(16K x 1, 300ns)

Includes connectors and

instructions

$90.00

"IMSAI"-TYPE CARD GUIDE SPECIAL:

Regular Price 30d each

SPECIAL: 10 for $1.00!

Satcf

DYNAMIC RAM BOARDS

EXPANDABLE TO 64K

32K VERSION • KITS

Uses 4115 (8Kx1, 250ns) Dynamic RAM's, can be expanded in 8K increments up to 32K:

8K $159.00

16K $199.00

24K $249.00

32K $299.00

64K VERSION • KITS

Uses 4116 (16Kx1,200ns) Dynamic RAM's, can be expanded in 16K increments up to 64K:

16K $249.00

32 K $369.00

48 K $475.00

64K $575.00

EPROM BOARD KITS

EPM-1 (uses up to 4K

Of 1702) $59.95

JG8/16 (uses 2708 or

2716) $69.95

STATIC RAM BOARDS

JADE 8K

Kits: 450ns $125.95

250ns $149.75

Assembled & Tested:

450ns $139.75

250ns $169.75

Bare Board: $ 25.00

16K - Uses 2114's (low power)

Assembled & Tested:

RAM 16 (250ns) $375.00 RAM 16B (450ns) $325.00

16K with memory management

Assembled and Tested:

RAM 65 (250ns) $390.00 RAM 65B (450ns) $350.00

32K Static

Assembled & Tested:

250ns $795.00

450ns $725.00

250ns Kit $575.00

Circle 195 on inquiry card.

BYTE February 1979

213

Whal's New?

PERIPHERALS

Bus Addressable Numeric Display

Versatile Impact Printer

The Integral IP-125 impact printer features an RS-232C serial interface, parallel transistor-transistor logic level interface and full upper and lower case ASCII character set (96 characters) as standard equipment. Capable of printing multiple copies on 8.5 inch (21.59 cm) roll, fanfold or sheet paper, the

processor-controlled IP-125 incorporates a 256 character multiline buffer to achieve an instantaneous print rate up to 100 characters per second, with a sustained throughput of 50 characters per second at 80 columns per line.

The printer has few moving parts and features a re-inking ribbon. The unit measures 17.25 by 7 by 11.5 inches (43.82 by 17.78 by 29.21 cm). Line length is 80 columns at 10 columns per inch (7 by 7 dot matrix format), with line lengths to 132 columns, print rates to 165 characters per second, print densities of 8.3, 10, 12 and 16.5 characters per inch and a full video screen size multiline buffer (2048 characters) optional. Serial transmission rates of 110 to 1200 bps are switch selectable.

The Integral IP-125 impact printer sells for $799. Literature is available from Integral Data Systems Inc, 5 Bridge St, Watertown MA 02172."

Circle 579 on inquiry card.

S-100 Floppy Disk System

A floppy disk system for use in S-100 bus computers is available from Quay Corp, POB 386, Freehold NJ 07728. The Quay 80 F1 system includes the Q/80 FDC floppy disk controller board (capable of supporting up to four disks); QDOS disk based operating system; the Q/FD1 125 KB 5% inch band driven disk drive with power regulator and interface cable; and the Q/80 FC floppy disk cabinet. In addition

to the floppy disk support, the Q/FDC has available a programmable 8 bit, transistor-transistor logic compatible parallel input and output (10) port capable of supporting standard peripheral devices such as line printers, tape punches, keyboards, etc.

The Quay 80 Fl system is priced at $795. The add-on drive (Q/FD1) is priced at $395.■

Circle 580 on inquiry card.

Video Monitor and Receiver

The new model VMR-120 is a 12 inch (30 cm) diagonal monochrome video monitor and receiver. It is suited for industrial, security, studio or computer display applications, with separate UHF connections for video in and thru; RCA connector for audio in, and a termination switch. The VMR-120 is also available as a monitor only. Model

VMR-120A has the additional feature of an 8 pin video tape recorder (VTR) connector, separate UHF and RCA connectors for TV video, and audio out for off the air recording. Power requirements are 11 7 V 60 Hz 30 W, or 1 2 to 1 6 VDC, 14 W. Weight is 16 pounds (7.26 kg) and the units are equipped with a carrying handle. The prices are $199 for the VMR-120 and $215 for the VMR-120A.

The Pichler DP08 is an 8 digit busaddressable panel display with its address encoded in the bus connector to facilitate interchanging or replacement without internal adjustment or rewiring. This permits virtually unlimited system configurations. Binary weighted address select lines allow up to 32 of the peripheral interface adapter compatible displays to operate from the same 9 wire signal bus. Once addressed the display accepts up to eight binary coded decimal encoded digits from the bus at 200 K byte digits per second and stores them in a programmable memory for subsequent display. While accessing the programmable memory, the unit automatically blanks.

Available in table top and front and rear panel mount versions, the DP08 measures 5 by 2 by 6 inches (12.7 by 5.08 by 15.25 cm). Both can be supplied with an optional integral thumbwheel for address selection. The DP08 is priced from $215 depending on configuration. Contact Pichler Associates, 410 Great Rd, Littleton MA 01460."

Circle 581 on inquiry card.

Hard Disk for All Popular Microcomputer Based Systems

The EXCOMP DCF10 disk controller provides an interface for fixed and removable disk media. Using industry standard 3, 6, and 12 M byte disk drives, the DCF10 can control and format up to four drives for a total formatted storage capacity of 40 M bytes. The disk drives may use an IBM 2315 or 5440 removable cartridge and up to three fixed platters. The DCF10 may also be used with fixed only disk drives. A universal 8 bit processor interface permits the controller to be used with popular microcomputer based systems. Due to the high data rates involved, the controller should be connected to the processor through either a direct memory access or buffer storage system. The DCF10 is priced at $2100 in quantities of 1 to 4. For further information contact XComp Inc, 9915-A Business Park Av, San Diego CA 92131."

Circle 582 on inquiry card.

A 19 inch (48 cm) monochrome receiver and monitor is available for $350. For further information contact Video Marketing Inc, 328 Maple Av, Horsham PA 19044."

Circle 583 on inquiry card.

214

February 1979 © BYTE Publications Inc

QUEST Cosmac Super Elf Computer $106.95

Compare features before you decide to buy any other computer. There is no other computer on the market today that has all the desirable benefits of the Super Elf for so little money. The Super Elf is a small single board computer that does many big things. It is an excellent computer for training and for learning programming with its machine language and yet it is easily expanded with additional memory, Tiny Basic, ASCII Keyboards, video character generation, etc. The Super Elf includes a ROM monitor for program loading, editing and execution with SINGLE STEP lor program debugging which Is not included in others at the same price. With SINGLE STEP you can see the microprocessor chip operating with the unique Quest address and data bus displays before, during and after executing instructions. Also, CPU mode and instruction cycle are shown on several LED indicator lamps.

An RCA 1861 video graphics chip allows you to connect to your own TV with an inexpensive video modulator to do graphics and games. There is a speaker system included for writing your own music or using many music programs already written. The speaker amplifier may also be used to drive relays for control purposes. A 24 key HEX keyboard includes 16 HEX keys plus load, reset, run, Input, memory protect,

memory select, monitor select and single step.

Large, on board displays provide output and optional high and low address. There is a 44 pin standard connector for PC cards and a 50 pin connector for the Guest Super Expansion Board. Power supply and sockets for all IC's are included in the price plus a detailed 90 page instruction manual.

Many schools and universities are using the Super Elf as a course of study. OEM's use it for training and research and development. Remember, other computers only offer Super Elf features at additional cost or not at all. Compare before you buy. Super Elf Kit $106.95, High address option $8.95, Low address option $9.95. Custom Hardwood Cabinet with drilled and labelled front panel $24.95. NiCad Battery Backup Kit $4.95. All kits and options also come completely assembled and tested. Questdata. a 12 page monthly software publication for 1802 computer users is available by subscription for $12.00 per year. New 100 page software manual Vol.1 $4.95.

Tiny Basic for ANY 1802 System

Cassette $10.00. On ROM Monitor $38.00.

Super Elf owners, 30% off. Object code listing or paper tepe with manual $5.50.

Original ELF Kit Board $14.95.

Super Expansion Board with Cassette interface $89.95

This is truly an astounding value! This board has been designed to allow you to decide how you want it optioned. The Super Expansion Board comes with 4K of low power RAM fully addressable anywhere in 64K with built-in memory protect and a cassette interface. Provisions have been made for all other options on the same board and it fits neatly into the hardwood cabinet alongside the Super Elf. The board includes slots for up to 6K of EPROM (2708, 2758. 2716 or Tl 2716) and is fully socketed ($12.00 value). EPROM can be used for the monitor and Tiny Basic or other purposes. A IK Super ROM Monitor $19.95 is available as an on board option in 2708 EPROM which has been preprogrammed with a program loader/ editor and error checking multi file cassette read/write software, (relocatible cassette file) another exclusive from Quest. It includes register save and readout, block move capability, and video graphics driver with blinking cursor. The Super Monitor is written with subroutines allowing users to take advantage of monitor functions

simply by calling them up. Improvements and revisions are easily done with the monitor. If you have the Super Expansion Board and Super Monitor ttic monitor is up and running at the push of a button.

Other on board options include Parallel Input and Output Ports with full handshake. They allow easy connection of an ASCII keyboard to the input port. RS 232 and 20 ma Current Loop for teletype or other device are on board and if you need more memory there are two S-100 slots for static RAM or video boards. A Godbout 8K RAM board is available for $135.00. Parallel I/O Ports $9.85, RS 232 $4.50, TTY 20 ma l/F $1.95, S-100 $4.50. A 50 pin connector set with ribbon cable is available at $12.50 for easy connection between the Super Elf and the Super Expansion Board.

The Power Supply for the Super Expan sion Board is a 5 amp supply with + 8v ± 18y + 12v - 5v. Regulated voltages are ±5v & + 12v $29.95. -12 volt optional. Deluxe version includes the case at $39.95.

P.O. Box 4430X Santa Clara, CA 95054 Forwillcanoniy: (408)988-1640

^ 2322 Walsh Ave. ^k

rELECTRONICS

CLOCK MODULES Complete alarm docks ready 1o nook up with transformer anil switches. Very compact with .50' and .84- digits.

MA1002A, C or £ .SO 1.95

102P3 Transformer 2 25

HA101QA, Cor E.84' 11.95

1D2P2 Itmttormir 1,25

Spatial Innilormar and ill

! witches when purthltld

w/moduli 2.9S

MA 1003 car module ,V

griifi rluor. display 15.95

RESISTORS V, watt 5%

10 per type 03 1000 per type Oil 25 per type .025 350 piece pack 100 par type .015 5 per type 6.75 KEYBOARD!

56 key ASCII keyboard kit $62.50 Fully assembled 72 50

53 key ASCII keyboard kit 55.00

Folfy assem&ied 65 00 Enclosure 14.95

LEDS

Red TOin .15

Green, Orange. Yellow T016 .20

Jumbo Red .20

■ wre wns ooio Greer, 0(1„oe YeNow Jumb0 25

ilno.rt™ m CllpIHe LEO Mounting Cllpi 8/S1.25

(specify red. amber, green, yellow, clear) CONTINENTAL SPECIALTIES In alack Complete line ol breadboard tesl equip, MAX-1O0 8 dlgll Froq. Or S128.9S

74LS0O TTL

74LS00N 74LS02N 74LS04N

74LS05N 74LS0BN 74LS10N 74LS13N 74LSI4N 74L520N 74LS22N 74LS2BN 74LS3DN 74LS33N 74LS38N 74LS74N 74LS75N 74LS90N 74LS93N 74LS95N 74LS107N 74LS112N 74LS113N 74LS132N 74LSI36N 74LS15IN 74LS155N 74L5157N 74LSI62N 74LS1B3N 74LSI74N 74LS190N 74LS22IN 74LS25BN 74LS367N

UNEAR

CA3045

CA3046

CA3081

CA3082

CA3089

LM30IAN/AH

LM305H

LM307N

LM308N

LM309H

LM3D9K

LM311H/N

LM317T/K

LM318

LM320K-5

LM323K-5

LM320KI2

LM320K-I5

LM320T-5

LM320T-8

LM320M2

LM320M5

LM324N

LM339N

LM340K-5

LM340K-B

LM340K-12

LM340K-15

LM340K-24

LM340F-5

LM340T-8

LM340T-12

LM34DM5

DIGITAL THERMOMETER $48.50

Bart. oper. General purpose or med.caJ 32"-230 F Disposable probe cover ~.Z° accuracy. Comp. Assy. In compact case. Switches (torn f to C. -, 95 COMPUTER BOARD KITS 2 at. BK RAM Board Kit S1J4.95

350 4K EPROM Krl 114.95

- I/O Board Kit 44.50

Extender Board w/connector 12.50 Video Interlace board kit 125.00

16K EPROM board kit w/o PROMS 74.50 16K Static RAM board kit 395.00

North Stir Floppy Oitk Kll $665.00

415.0

__ B700CJ

.25 8701CN

.40 8750CJ

90 LO130

.25 94Q0CJWF

.25 ICL7103

.41 ICL7107

39 CMOS

.30 CD34Q01 Fail

.35 C04000

.47 CD4001

51 CD4O02

.51 CD4006

1.89 C04007 35 CO400S .35 CD4009 .35 CD4010 .72 CD40I1 .35 CD4012 .67 CD40I3 .67 C04014 .67 CD4015 .91 CO40I6 .91 CD4017 .95 CD4018

1.06 CD4019

1.95 CO4O20

.67 CO4021

.89 CD4022 CD4023 CD4024

,90 CD4025

.67 CD4026

1.80 CD4027

1.90 C04028 2 95 CD4029

.35 CD4030

.87 CD4035

.35 C04O40

.89 CD4042

1.15 CD4043

95 CD4044

.90 C04046

292 CD4049

1.35 CO4050

1.20 CO4051

6.95 CO4060

1.35 CD40G6

1.35 CD4068

1.60 CD4069

1.60 CD4070

1.50 CD4071

1.60 C04072

1.15 CD4073

1.55 CD4075

1.10 CO4076

MO CD4078

1.10 CD4081

1 10 CD4062

1.10 CD4116

1.10 C04490

1,10 CD4507

1.10 CO450S

1.10 CD4510

13,95 22.00 13.95 9.95

4.50 9.9S 995 3.50 10.00 16.00

2102-1 2102AL-4

21F02

2104A-4

2107B

2111-1

2112-2

2114

4116

2513B

21L02-1

MM5262

MM52S0

MM5320

MM5330

PO4110-3

P0411D-4

P5101L

4200ft

B2S25

91L02A

HD0165-5

MM57100

GIAY38500-1

MGN6571A

9368

410D

CLOCKS

MMS309

MM5311

MM5312

MM5313

MM5314

MM5315

MM531B

MM531B

MM5369

MM5S41

MM5865

CT70Q1

CT7O02

CT7010

CT7015

MM5375AA/N

MM5375WM

7205

7207

7208

7209

DSO026CN

OSD056CN

MM53104

MICROPROCESSOR 6900 17.50

6S02 24.95

B080A with data 8.95 8065 27.00

ZBOA 24.50

20 MIL' 32 MHz 32768 MHz 1 8432 MH: 3.5795 MMz 2.0100 MHi 2.097152 MHz 2.4576 MHz 3.2768 MHz 5 0688 MHz 5.185 MHz 5.7143 MHz 6.5536 MHz 14.31816 MHz 18.432 MHz 22.1184 MHz

CONNECTORS

KEYBOARD ENCODERS

3 fjfj AY5-2376

3 go AY5-3600

4 80 "C922 3GO 74C923 390 HD0165-5 4.00

5.00 IC Tett Cllpi

Adddional Drive Kit

SPECIAL PRODUCTS MM5865 Stopwatch Timer 9.00 PC board 7.50

Swltchai Mom. Pushbutton .27

3 pos. slide .25

Encoder H00165-5 6.95

3 Digit Unlvtreal Counter Board Kit Operates 5-18 Volt DC to 5 MHi typ. .125" LEO display 10.60 Voice actuated twitch .50

Paritronlet 10OA Logic AnaryztrKII $224.00

Model 10 Trigger

Expander Kit Model 150 Bus

Grabber Kll TRANSFORMERS 6V 300 ma 3.25

12 Voll 300 ma transformer 1.25 12.GVCT600ma 3.75

12V 250 ma wall plurj 2.95

12V CT 250 ma wall plug 3.50 24V CT 400 ma 3.95

10V 1.2 amp wall plug 4.B5

12V 6 amp 12.95

DISPLAY LEDS

MAN! CA .270 2.90

MAN3 CC .125 .39

MAN72/74 CA'CA .300 1.00 DL704 CC .300 1.25

DL707/DL707R CA .300 1.00 OL727/728 CrVCC .500 1 "

S229.00 S369.00

(12.50 DL747/7S0 CAJCC .600 1.95

13.50 DL750 CC .600 1.95

5.50 FND359 CC .357 .70

5.50 FND500/507 CC/CA .500 1-35

G.95 FN0503/510 CC/CA .500 .90

FND8O0/807 CC/CA .BOO 2.20

" " It Bubble .60

2 50

TRANSISTORS

2N1893 2N2222A 2N2369

2N2904A

2N2907A

2N3053

2(13033

2N3643

2N3904

2N3906

2N3055

2N4400

2N4401

2N4402

TIPS!

TIP33A

4 digit bi DGB Fluorescent DG10 Fluorescent

5 digit 14 pin display NSN69 9 digit display 7520 Clan a* photocells TIL311 Hex

2OO0 3200 5500 5800 6100 6100 7700 8000 9400 10000 12000 35000 55000 82000 160000

Auto Clock Kit $15.95

DC clock with 4-.50" displays. Uses National MA-1012 module with alarm option. Includes light dimmer, crystal timebase PC boards. Fully regulated, comp. instructs. Add $3.95 for beautiful dark gray case. Best value anywhere.

RCA Cosmac VIP Kit $229.00

Video computer with games and graphics. Fully assem. and test. $249.00

Not a Cheap Clock Kit $14.95

Includes everything except case. 2-PC boards. 6-.50" LEU Displays. 5314 clock chip, transformer, al components and full instrucs. Green and orange displays also avail. Same kit w/.BO" displays. Red only. $21.95 Case $11.75

60 Hz Crystal Time Base Kit $4.40

Converts digital clocks from AC line frequency to crystal time base. Outstanding accuracy. Kit includes: PC board, iC, crystal, resistors, capacitors and trimmer.

Digital Temperature Meter Kit

Indoor and outdoor. Switches back and forth. Beautiful. 50" LED readouts. Nothing like it available. Needs no additional parts for complete, full operation. Will measure -100° to + 200°F, tenths of a degree, air or liquid. Very accurate. $39.95

Beautiful woodgrain case w/bezel $11.75

Sinclair 3% Digit Multimeter

Bar)./ACoper. ImVand . INAresolution. Resistance to 20 meg. 1 % accuracy. Small, portable, completely assem. in case. 1 yr. guarantee. Best value ever! $59.95

NiCad Battery Fixer/Charger Kit

Opens shorted cells that won't hold a charge and then charges them up, all in one kit w/full parts and instructions. $7.25

Video Modulator Kit $8.95

Convert your TV set into a high quality monitor without affecting normal usage. Complete kit with full instructions.

PROM Eraser

Ultraviolet, assembled

$34.50

2.5 MHz Frequency Counter Kit

Complete kit less case $37.50

30 MHz Frequency Counter Kit

Complete kit less case $47.75

Prescaler kit to 350 MHz $19.95

Clock Calendar Kit $23.95

CT7015 direct drive chip displays date and time on .6" LEDS with AM-PM indicator. Alarm/doze feature includes buzzer. Complete with all parts, power supply and instructions, less case.

1978 IC Update Master Manual

1978 IC Update Master Manual $19.50. Complete IC data selector, 2175 pg. Master reference guide. Over 42,000 cross references. Free update service through 1978. Domestic

postage $3.50. Foreign S5.00. 1979 IC Update available late Jan. $30.00.

Stopwatch Kit $26.95

Full six digit battery operated. 2-5 volts. 3.2768 MHz crystal accuracy. Times to 59 min., 59 sec, 991/100sec. Times std., split and Taylor. 7205 chip, all components minus case. Full instructions.

D Connectors RS232

25 Pin Subminiatures

DS25P 2.95

DE9P 1.50

DB25S 3.95

DE9S 1.95

Cover 1.50

DA15P 2.10

RS232 Complete Set 6.50

DA15S 3.10

S-100 Computer Boards

8K Static RAM Kit

$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

$139.00

Motherboard $39. Extender Board $8.99

TERMS: S5.00 min. order U.S. Funds. Calif residents add 6% tax. BankAmerlcard and Master Charge accepted. Shipping charges will be added on charge cards.

FREE: Send lor your copy ol our NEW 1978 QUEST CATALOG. Include 28c stamp.

Circle 311 on inquiry card.

BYTE February 1979

Circle 230 on inquiry card.

ssm

FORMERLY CYBERCOM/SOLID STATE MUSIC.

CB-1 8080 Processor Board. 2K ol PROM 256 BYTE RAM power on/rest Vector Jump Parallel port with

status. Kit $125.95 PCBD $28.95

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100

buss. Kit 450 NSEC $123.95. PCBD $24.95

MB-7 16KX8, Static RAM uses «P410 Protection,

fully buffered KIT $299.95

MB-8A 2708 EROM Board, S-100, 8K8X or 16KX8

kit without PROMS $75.00 PCBD $28.95

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or 82S129 PROM kit without RAMS or PROMS $72.00 IO-2 S-100 8 bit parallel /IO port. J/J of boards is for

kludging. Kit $46.00 PCBD $26.95

IO-4 Two serial I/O ports with full handshaking 20/60 ma current loop: Two parallel I/O ports.

Kit $130.00 PCBD $26.95

VB-1B 64 x 16 video board, upper lower case Greek, composite and parallel video with software, S-100.

Kit $125.00 PCBD $26.95

Altair Compatible Mother Board, 11 x 11 Vi x Ve".

Board only $39.95. With 15 connectors.. $94.95

Extended Board full size. Board only $ 9.49

With connector $13.45

SP-1 Synthesizer Board S-100 PCBD $42.95

$135.95

B2S23 •.....$1.50

82S123 1.50

82S126 1.95

825129 1.95

825130 3.95

825131 3.95

MMI6330

IM5600

IM 5603

IM 5604

IM5610

IM5623

IM5624

1.50 1.50 1.95 3.95 1.50 1.95 3.95

PRIME SUPPORT

8080A $ 9.95

8212 3.25

8214 6.50

8224 3.49

L2114 (450 NSEC) 7.25 L2114 (250 NSEC) 7.99

2102A-2L 1.60

2102A-4L 1.25

2708 450 NSEC .. . 8.95

1702A-6 3.50

4116 (Apple RAM) .12.95 8/89.95

wmc

inc.

WAMECO INC.

FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remic 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM (not inclulded). PCBD $42.95

FPB-1 Front Panel. (Finnally) AMSAI size hex displays. Byte or instruction single step. PCBD $42.95

MEM-1 8KX8 fully buffered. S-100. uses 2102 type

rams PCBD $24.95

QM-12 MOTHER BOARD. 13 slot, terminated, S-100

board only $34.95

CPU-1 8080A Processor board S-100 with 8 level

vector interrupt PCBD $25.95

RTC-1 Realtime clock board. Two independent interrupts. Software programmable. PCBD $25.95

EPM-1 1702A 4K Eprom card PCBD $25.95

EPM-2 2708/2716 16K/32K

EPROM CARD PCBD $24.95

QM-9 MOTHER BOARD. Short Version ol QM-12.

9 Slots PCBD $30.95

MEM-2 16K x 8 Fully Buffered

2114 Board PCBD $25.95

16K RAM BOARD by HWE fully buffered, bank select standard to IEE buss gold fingers, solder mask, plated thru holes, silk screened PCBD $25.95

KLUDGE BOARD by HWE for S-100 glass epoxy over 2600 plated through holes, 4 regulators with CAPS all S-100 functions labeled, gold fingers. PCBD $29.95

m

419 Portofino Drive San Carlos, California 94070

Please send lor IC, Xistor and Computer pans list

FEB. SPECIAL SALE ON PREPAID ORDERS

(charge cards not included on this offer)

WAMECO REAL TIME CLOCK BOARD. Kit with

all factory marked parts $54.95

PCBD $23.95

4Kx8 EPROM. Fully' buffered with Intel 1702A. Kit $74.86

MIKOS PARTS ASSORTMENT WITH WAMECO AND CYBERCOM PCBDS

MEM-2 with MIKOS #7 16K ram

with L2114 450 NSEC $249.95

MEM-2 with MIKOS #13 16K ram

with L2114 250 NSEC $269.95

MEM-1 with MIKOS #1 450 NSEC 8K

RAM $123.95

CPU-1 with MIKOS #2 8080A CPU 89.95

MEM-1 with MIKOS #3 250 NSEC 8K

RAM 144.95

QM-12 with MIKOS #4 13 slot mother

board 89.95

RTC-1 with MIKOS #5 real time clock 60.95

VB-1B with MIKOS #6 video board less

molex connectors 99.95

EMP-1 with MIKOS #10 4K 1702 less

EPROMS 49.95

EPM-2 with MIKOS #11 16-32K EPROMS

less EPROMS 49.95

QM-9 with MIKOS #12 9 slot mother

board . 67.95

MIKCS PAHTS ASSORTMENTS ARE ALL FACTORY PRIME PARTS KITS INCLUDE ALL PARTS LISTED AS REQUIRED FOR THE COMPLETE KIT LESS PARTS LISTED ALL SOCKETS INCLUDED.

VISA or MASTERCHARGE Send account number interbank number expiration date and sign your order. Approx postage will be added Check or money order will be sent post paid in US If you are not a regular customer please use charge. cashier's check or postal money order Otherwise there will be a two-week delay lor checks to clear. Calit. residents add 6% tax Money back 30 day guarantee. We cannot accept returned IC s that have been soldered lo. Prices subject to change without notice $10 minimum order. $1.50 lenrlca chargt on orders Ittt than $10.00.

LOW COST WORD-PROCESSING & MASS STORAGE!

Here is a complete business package at an unbelievably low price: Selectric communicating memory typewriter as work-station for keyboard data entry and letter-quality print-out, with plug-in interface to popular TRS-80 microcomputer for visual text-editing. POS RS232 I/O interface utilizes TRS-80 audio cassette port (no need for costly expansion module or disk-operating system.), for hardware and software compatibility between the Selectric terminal and TRS-80 ELECTRIC PENCIL word-processing program. Data recorded on digital cassette drive of Selectric terminal can be read into computer for visual editing and formatting, and then be transmitted back to digital cassette at 1200 baud rate for storage. Printing is carried out off-line from tape to typewriter at speed of 15 cps.

System features refurbished GTE/IS Model 560 ASCII Selectric Terminal with built-in digital cassette drive for data storage - 70,000 character capacity per tape. Typewriter has 15" carriage, interchangeable type balls, fabric/carbon ribbons, and keyboard familiar to your typist. Optional modem, forms tractor.

POS 103/202 'MIX OR MATCH" MODEM

THIS IS THE MODEM the microcomputerist has been waiting fori Highest commercial quality, the VADIC Corp. modem modules' utilized are the same ones selected by a subsidiary of the telephone company for use with its own equipment. PACIFIC OFFICE SYSTEMS has packaged the VADIC circuit cards in an attractive desk-top case with standard serial interface, plug-compatible with any terminal or computer having an EIA RS-232 I/O port. Telephone line interface is user-selectable via acoustic coupler, manual Data Access Arrangement (CDT), or auto-answer DAA (CBS) Isold separately.) FULLY ADJUSTED; no special tools required.

15 DAY APPROVAL ON ALL MAILORDERS. FULL REFUND ON RETURNS. ,

■ ■ » * —

COMPLETE PACKAGE

TRS-80™ Level I COMPUTER with MONITOR $ 599.00

16K Add-on RAM Memory 100.00

POS RS-232 I/O Interface for TRS-80 100.00

GTE/IS ASCII Selectric Memory Terminal 1,295.00

ELECTRIC PENCIL™ Word Processing Program 100.00

SYSTEM PRICE $2,194.00

BELL 103 and/or BELL 202 FREQUENCIES: Unique control design permits interchangeability in one housing of Bell-compatible

103 (0-300 baud) and 202C (0-1200 baud) modem circuit cards.

BELL 103 PRICES:

Standard Features $179.95

VADIC Circuit Card only, with interface instructions $ 89.95

Acoustic Coupler with Receiver Amplifier $ 29.95

DAA Kit (private line only) $ 14.95 BELL 202 PRICES:

Standard Features, includes Reverse Channel $249.95

Standard Features, with Rev. Ch. and Auto Answer $279.95 VADIC Circuit Card only, with interface instructions;

with Reverse Channel, Manual DAA $149.95

with Reverse Channel, Auto-Answer DAA $179.95

-4~»

Cal! or write for POS catalog of other products including tape drives, power supplies, video monitors, forms tractors, paper tape readers, etc.

Call or write for details, quantity prices, catalog. 1 5 day return privilege PLUS 90 day no charge replacement of defective parts. All orders shipped from stock. No back orders, no substitutions. M/C & VISA accepted.

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 COD order is received. Prices may change without notice.

216

BYTE February 1979

Circle 296 on inquiry card.

BUY FROM THE BIGGEST

NCE/CompuMart

1250 North Main Street, Department BY29 P.O. Box 8610 Ann Arbor, Michigan 48107

MICRO TECH POWER SUPPLY

KIM ENCLOSURE

G've your KIM a professional appearHyde- 100 Black *«*» ma

Cbmpucolorll

TC-71 SELECTRIC TERMINALS

Hazeltine 1400

^rK^0>N 0n|y \t4 S^°c* $749.00

Now a 5th Generation in Terminals: Introductory Sale Price —

Immediate Delivery

• 24 x 80 display

• RS-232C interface

• 110 to 9600 Baud

• 12" CRT Monitor

• Remote screen control

• Uses 8048 microprocessor

• State-of-the-art design

A full capability terminal completely assembled with a 90 day warranty for less than you'd pay for a kit.

.©

JB64

leas

$495

S339

ASCII INTERFACE FOR TC-71

30 day aei'-er* Normal* Si99 NOW Acoustic Coupler tor use win ASCn K

SYM-1

From Synertek $269.00

$&& SANYO MONITOR

VM42099 goai.ly mon.to. $149

New Acoustic Coupler

WfffflMSffiM

■&&M

,<*»

4^TI

PROGRRMM€R

Reg. $59.95

*°;

i*

$49.95

A Home Computer & A Video Game in a Single Unit!

INTERACT Model One

14 FREE CASSETTES worth $294

' Music and si

i Built-in cassi

1 Large 53-hey

' Two |oys1ickl

i Edu-BASIC c

< 8080 Mlcropr

I SK HAM 2K

$4991

>le programs

The memory game

• 90 day limited warranty

• Newest, most exciting products in personal computing

• Outstanding values

• All items fully assembled and tested unless otherwise stated.

• Send lor our catalog for more detailed product information.

(313) 994-3200

One is for you. Hook n lorTVandyou vegol

i load Edu-BASIC and own games You can

n cassette tape drive II you gel over S294 ree cassettes includ

AIMB5

n - Ounhghl Trailoloiei — Cut off y Blank — Save progta

• Michigan residents add 4% sales tax • Foreign order (except Canada) add 10% additional handling (U.S. currency only) ■ P.O.'s accepted from DSB rated companies — shipment contingent upon receipt of signed purchase order • Phones open from 9:00 a.m.-7:00 p.m. EST Monday-Friday, 10:00 a.m.-5:00 p.m. Saturdays • Open accounts

invited—call for credit application • Most items in stock for Immediate shipment—call for delivery quotation • Sorry—no C.O.O.'s • All prices subject to change without notice. • In the Ann Arbor area? Retail store open 11:00 a.m.-7:00 p.m. TuesdayFriday, 10:00 a.m.-5:00 p.m. Saturdays (closed Sunday & Monday)

Circle 283 on inquiry card.

BYTE February 1979

What's New?

MASS STORAGE

Apple Minifloppy Disk Drive

The Apple II disk drive is available from Apple Computer Inc, 10260 Bandley Dr, Cupertino CA 95014. Disk H's rapid access to programs and data makes possible a wide variety of new applications including personal finance, small business systems, home record keeping and many more.

Disk H's disk operating system (DOS) software provides dynamic disk space allocation so a system user need not be concerned with the size or physical location of a file on a disk. The DOS performs this housekeeping function; the user simply indicates the name of the file being stored or retrieved. The DOS provides compatibility with existing languages through the use of standard BASIC commands.

The Disk II subsystem consists of an intelligent interface card and either one or two minifloppy drives. The computer will handle up to seven controller cards and 14 drives for instant access to more than 1.6 million bytes of data. The combination of a bootstrap loader in read only memory and an operating system in programmable memory provides powerful disk handling capability with the following features: full disk capability for systems with as little as 16 K bytes of programmable memory, the ability to load and store files by name, random and sequential access, automatically generated file name directories, storage capacity of 116 K bytes per disk, and the ability to be driven from Apple II power supply with no other power required. The Disk II is priced at $495.■

Circle 556 on inquiry card.

Dual-Sided Floppy Disk Drive Compatible with IBM Disk 2 and 2D

This new 8 inch, dual-sided floppy disk drive is capable of recording and reading data on both sides of an IBM (or equivalent) disk 2 or 2D. The drive,

designated FD650, offers an immediately addressable unformatted storage capacity of 1.6 M bytes.

The FD650 is capable of double density operation using modified frequency modulation encoding. All electronics are on a single printed circuit board. Track to track access time is three ms, with head load time of 35 ms, and track settling time of 15 ms. The user can daisy chain up to eight drives.

Head -positioning is achieved by a steel band attached to the head carriage and to a drive pulley on the shaft of a 4 phase 1.8° permanent magnet stepper motor. Each step of the motor causes the head to move one track.

The FD650 is priced at $755 in single quantities. Contact Pertec Computer Corp, 9600 Irondale Av, Chatsworth CA 91311..

Circle 557 on inquiry card.

Where Do New Product Items Come From?

The information printed in the new products pages of BYTE is obtained from "new product" or "press release" copy sent by the promoters of new products. We openly solicit releases and photos from manufacturers and suppliers to this marketplace. The information is printed more or less as a first in first out queue, subject to occasional priority modifications. While we would not knowingly print untrue or inaccurate data, or data from unreliable companies, our capacity to evaluate the products and companies appearing in the "What's New?" feature Is necessarily limited. We therefore cannot be responsible for product quality or company performance.

Modular Minifloppy Storage System

Designated the Diskwriter SA-11, this modular minifloppy storage system allows the user to field upgrade to a dual drive and/or add memory for programmability.

The normal operating software such as insert, delete, selective print, split data rate, global find or replace, columnar insert, etc, are included. The software allows the user, as an extra option, to set up prompts from the keyboard or from a disk. Any dumb terminal can

be upgraded to intelligent terminal capability.

The price of the Diskwriter SA-11 is $1495. For further information, contact Hands On Terminals Inc, 1215 S E Won, Portland OR 97202."

Circle 558 on inquiry card.

218 February 1979 © BYTE Publications I nc

••••

••••■

•••••

•••■§•••■ ••••• •••».

• ••••

••••• •••••

••••• ••••• ••••• •••••

•••.. •••••

••••• •••••

•••••

•••••■

••••••

••••••

{••••• ••••• ••••••

•••••■

•••••■

••••••

••••••

•••••■

••••••

•••••■

••••••

•••••■

• ••••• •••••■ •••••■ ••••■■

••••••

••••••

•••••■

••••••

•••••■

:••••• ••••• ••••••

••••••

••••■■

•••••■

:••... ••••• ••••■•

•••••■

••••••

•••••■

••••••

• ••••■

••••••

$•••••

••••••

:••••• •••••

• ••••■

••••••

•••••

•••••■

••••■•

••••••

§••••■

••••■■

:••■•• ••••■ •••••■ ••••••

•••••■

• •••••

••••••

••••••

••••••

•••••■ •••••■

• •••■■ $•••

• ••••• ••••••

••••••

•••••■

•••••■

•••••■

••••••

•••••■

•••••■

• ••••■

(••••< ••••• •••••■

:•••■ ••••

•v.

USES 2708's!

Thousands of personal and business systems around the world use this board with complete satisfaction. Puts 16K of software on line at ALL TIMES! Kit features a top quality soldermasked and silk-screened PC board and first run parts and sockets. All parts (except 2708's) are included. Any number of EPROM locations may be disabled to avoid any memory conflicts. Fully buffered and has WAIT STATE capabilities.

OUR 450NS 2708'S ARE $8.95 EA. WITH PURCHASE OF KIT

ASSEMBLED

AND FULLY TESTED

ADD $25

Use21L02 450 NS RAMS!

Thousands of computer systems rely on this rugged, work horse, RAM board. Designed for error-free, NO HASSLE, systems use. KIT FEATURES:

1. Doubled sided PC Board with solder mask and silk screen layout.Gold plated contact fingers

2. All sockets included.

3. Fully buffered on all address and data lines.

4. Phantom is jumper selectable to pin 67.

5. FOUR 7805 regulators are provided v on card.

Blank PC Board w/Documentation

$29.95

Low Profile Socket Set...13.50

Support ICs (TTL & Regulators)

$9.75

Bypass CAP'S (Disc & Tantalums)

$4.50

ASSEMBLED AND FULLY BURNED IN ADD $30 ,

16K STATIC RAM KIT-S 100 BUSS

$295

KIT

FULLY

STATIC, AT

DYNAMIC PRICES

I1IIITI11EEIIIII

■ ■■■iiiiiiiiiiM

sum

WHY THE 2114 RAM CHIP?

We feel the 2114 will bethenexl industry standard RAM chip (like the 2102 was) This means price, availability, and quality will all be good1 Next, the 2114 is FULLY STATIC We feel this istheONLY way to go on the S-100 Buss! We've all heard the HORROR stories about some Dynamic Ram Boards having trouble with DMA and FLOPPY DISC DRIVES. Who needs these kinds of problems? And finally, even among other 4K Static RAM's the 2114 stands out! Not all 4K static Rams are created equal! Some of the other 4K's have clocked chip enable lines and various timing windows just as critical as Dynamic RAM's. Some of our competitor's 16K boards use these "tricky'' devices. But not us! The 2114 is the ONLY logical choice for a trouble-free, straightforward design.

BLANK PC BOARD W/DATA—$33 LOW PROFILE SOCKET SET-$12 ASSEMBLED & TESTED-ADD $30 l SUPPORT ICS & CAPS-$19.95 2114 RAM'S-8 FOR $69.95

'"''unniiiiiinini

KIT FEATURES

1. Addressable as four separate 4K Blocks.

2. ON BOARD BANK SELECT circuitry. (Cromemco Standard!) Allows up to 512K on line!

3 Uses 2114 (450NS) 4K Static Rams 4. ON BOARD SELECTABLE WAIT STATES 5 Double sided PC Board, with solder mask and silk screened layout. Gold plated contact fingers. 6. All address and data lines fully buffered. 7 Kit includes ALL parts and sockets.

8. PHANTOM is jumpered to PIN 67.

9. LOW POWER: under 2 amps TYPICAL from the *8 Volt Buss.

10 Blank PC Board can be populated as any multiple of 4K.

16K STATIC RAM KIT SWTPC (SS-50) 6800 BUSS

USES 2114 4K RAMS!

$295

COMPLETE KIT

WHY PAY MORE

FOR FINNICKY

DYNAMIC BOARDS?

At last an affordable static RAM board for this popular buss. Quality PC Board with solder mask and silkscreen. Fully buffered with plenty of bypassing for reliable operation. FOUR ON-BOARD REGULATORS.

16K DYNAMIC RAM CHIP

16K X 1 Bits. 16 Pin Package Same as Mostek 4116-4 250 NS access. 410 NS cycle time Our best price yet for this state of the art RAM 32K and 64K RAM boards using this chip are readily available. These are new. fully guaranteed devices by a major mfg. VERY LIMITED STOCK!

8 FOR $89.95

NOT ASSOCIATED

WITH DIGITAL RESEARCH

OF CALIFORNIA,

THE SUPPLIERS OF

CPM SOFTWARE

45o 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. $995

PRICE CUT

4 FOR $50°°

NATIONAL SEMICONDUCTOR

JUMBO CLOCK MODULE

ASSEMBLED! NOT A KIT! ZULU VERSION!

We have a limited number ot the 24 HR Real lime version ot this module in stock

#MA100BD — $9.95

(AC XFMR SI 95I

PERFECT FOR USE WITH A TIMEBASE.

FEATURES

• FOUR JUMBO « INCH LED DISPLAYS « 12 HR REAL TIME FORMAT

* 24 HR ALARM SIGNAL OUTPUT

• 50 OR 60 Hi OPERATION

• LED BRIGHTNESS CONTROL

• POWER FAILURE INDICATOR

* SLEEP & SNOOZE TIMERS

* DIRECT LED DRIVE (LOW RFI)

* COMES WITH FULL DATA

COMPARE AT UP TO TWICE

OUR PRICE!

Z-80 PROGRAMMING MANUAL

By MOSTEK, orZILOG. The most detailed explanation ever on the working of the Z-80 CPU CHIPS. At least one tull page on each of the 158 Z-80 instructions. A MUST reference manual for any user of the Z-80. 300 pages. Just off the press. $12.95

WESTERN DIGITAL UART

TR1602A. PIN FOR PIN SUB FOR AY5-1013 AND TMS6011.

FOR SERIAL I/O

$299

EACH

SURPLUS SPECIAL

COMPUTER PARTS

Z-80 - 19.95 8?1? - 2.25

Z-80A 24.95 8?55 - 6.95

8080A -6.95 2111AI J 2.25

8080A-2 - 8.95 ?708 9.95

SALE!

1N4148 DIODES. SILICON.

Same as 1N914. New,

factory prime. Full Leads.

100 FOR $2

1000 FOR $17.50

New! REAL TIME Computer Clock Chip

N.S. MM531 3. Features BOTH 7 segment and BCD outputs. 28 Pin DIP. $4.95 with Date

MOTOROLA 7805R VOLTAGE

REGULATOR. Same as standard 7805 except 750 MA output. TO-220. 5VDC output.

44$ each or 10 for $3.95

-X

Digital Research Corporation

" (OF TEXAS)

P.O. BOX 401247Y' GARLAND, TEXAS 75040 • (214) 271-2461

TERMS: Add 30C postage, we pay balance Orders under $15 add 75C handling No COD We accept Visa, MasterCharge, and American Express cards Tex Res add 5% Tax Foreign orders (except Canada add 20% P & H 90 Day Money Back Guarantee on all items

••••

••••••

■•••••

■••••a

■•••• •••• •••••

■•••••

••••••

••••••

■•••••

•

•••••§ ••••#

•

■••••#

■••••

•••••

■•••••

••••••

••••••

••••••

■•••••

■•••••

••••§

••••••

-.. •••

••••••

■•••••

••••••

••••••

••••••

■••••#

■•••••

■•••••

■•••••

■•••••

•••••■

••••••

■••••!

■•••••

■■•••« ■••••«

•••••I

•••••i

■••••I

■■•••<

•••••i •••••i •••••« ■••••I .••••I •••••i •••••i •••••i •••••i ■••••i

•••••i

■•••••

■•••••

••••••

■•••••

•■••••

••••••

■■••••

••••••

■••••«

■••••«

•■•••< •••••(

•••••I

■••••1

•••••i

•••••i

•••••<

••••••

■••»•(

•••••i

■••••<

•••••i

■••••i

■••••I

■••••«

'••••1

■••••«

■••••I

■••••«

-•••i •••••■

■••••I

-•••I ■•••••

••••••

• •••I

••••a

••••• ••••• •••••

■.•••.••

Circle 100 on inquiry card.

BYTE February 1979 219

• FLOPPY DISKS, MINI OR STANDARD MEMOREX OR 3M

• 3M DATA CARTRIDGES DC300A, DCIOOA

■ 3M DIGITAL CASSETTES

■ 3M OR MEMOREX AUDIO CASSETTES, C-60

• 3MDISK CARTRIDGES

WE OFFER: ■COMPETITIVE PRICING •IMMEDIATE DELIVERIES

(Any Quantity) • UNCONDITIONAL GUARANTEE

BETA BUSINESS SYSTEMS 8369 VICKERSST., #G

SSAN DIEGO, CA 92111 17141 565^1505

■

Short Cassettes for Personal Computers

c-io

List $1.00 10 for $7.50 50 for $32.50

I MICROSETTE CO. \ 777 Palomar Ave. ■ Sunnyvale. CA 94086

1 1

Duplication Services

Microsette also offers professional duplication services for Commodore PET and Radio Shack TRS-80 Level I and Level II cassettes. Our service provides mastering, quality control, all material including twopiece box, affixing of your labels or supplying our blank labels and shipping. Prices start at $1.00 each in 100 quantity.

MICROSETTE CO.

777 Palomar Ave. • Sunnyvale, CA 94086

TEXT WRITER II

WORD PROCESSING AT A REASONABLE PRICE

• PRINT FILES CREATED BY YOUR EDITING PROGRAM

• GENERATE FORM L.ETTI-RS FROM A MAII ING LIST

• PERSONALIZE LETTERS WITH AUTOMATIC NAME INSERTION

• BUILD CONTRACTS, SPECIFICATIONS. OR OTHER DOCUMENTS FROM A PARAGRAPH I IBRARY

• FEFT AND RIGHT JUSTIFICATION. TABS. CENTERING. PARAGRAPH FILLING. ETC.

• AUTOMATIC PAGE AND CHAPTER NUMBERING

• WORKS WITH ANY TERMINAL AND PRINTER

VERSIONS AVAILABLE FOR:

VECTOR MZ with LINEEDIT

MICROPOLIS 3.0oi 4.0 with LINEEDIT

NORTH STAR wilh ALS8

'65.00 For Diskette and Manual

MO.OO For Manual Alone (Calif, residents add 6% sales tax)

ORGANIC SOFTWARE

1492 Windsor Way • Livcrmore, CA 94550 (415)455-4034

Circle 31 on inquiry card.

Circle 229 on inquiry card.

Circle 291 on inquiry card.

ffm

CATCH-APULSEII

9 LOGIC PROBE^

N- r"*^i^i^LV» Open circtJil detection ^^W ^^^^^ ▼ ^^■W' Replaceable dp 6 cord

*Bk ^^F*5<c- * i'<9)i input impedance

v V^^v * Pulse s,re,cll'nB

IONsbcSPEEDAT 4 tc '%v . M,,„„ 15U LEVELS 0NLV$4495",%

TRS-80

16K MEMORY EXPANSION KIT $ 79.95

DISK DRIVES $ 399.00

CENTRONICS 779 TRACTOR PRINTERS $1179.00

TRS-80 & PET SOFTWARE. SEND FOR FREE CATALOG.

A

PPARAT, INC.

6000 E. Evans Ave. Bldg. 2 Denver, CO 80222 303-758-7275

Circle 227 on inquiry card.

Circle 23 on inquiry card.

Circle 9 on inquiry card.

•'CRT INTERFACES" black ■ white/colon

Monitors * Combination Rcvr/monitor sets • Modulator kits * B-W Cameras " Color Cameras • Audio Subcarrier kits * Parts

WRITE or PHONE for DETAILS & PRICING.

DIAL: 402-987-37711

Dealers welcomed. Well established program. Broadway

ATV Research Dakota City, NE. 68731

6SOO OWNERS

At last a real world fully addressable 55-50 control interface. Control robots, appliances, organs, solar devices, etc. Applications limited only by your imagination. Easy to use with machine language as well as basic. Fully buffered board plugs directly onto mother board and responds to any address defined by user. 8 fast relays latch data while 8 opto-isolators allow handshaking capacity. u\* egg qq

Assembled and tested S125.00

EXTENDER BOARDS

Extend both the 30 and 50 pin buses in SWTP 6800 Both for $19.95.

Visa & Master Criarge ■ Ariz Res. add 5% Sales Tax

WRITE FOR DETAILS

TRANSITION ENTERPRISES INC.

Star Route, Bok 241, Buckeye, AZ 95326

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 • Heat Sinks • Printers • Components Many other items

Write for free catalog WORLDWIDE ELECT. INC. 130 NORTHEASTERN BLVD. NASHUA. N.H. 03060 Phone orders accepted using VISA or MC. Toll Free 1-800-258-1036 In N.H. 603-889-7661

Circle 22 on inquiry card.

Circle 373 on inquiry card.

Circle 395 on inquiry card.

CaMFornja DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

Hazeltine1400

cost effective

CRT TERMINAL

*735

plus shipping

The Hazeltine 1400 Vidio Display Terminal is designed to optimize interactive real-time operations. The interface is capable of either local or remote connection through an EIA RS232-C interface at baud rates that are switch selectable up to 9600 baud.

,l:lfm;l;l;l;l;l?l;l;h+'

• All 128 ASCII Codes |... o | » | c | a | ■ | t | u | i |-„-| ; \:«\ .,...

• 64 Displayable Characters !™| , I t] .1 pi o I » I ,1 I I J I * I ' ]-;

• 24 Lines; 12 inch Screen ' |J„| , I ' I ' I , I , I I | ' I ' I ■ i ' I...1

• 80 Characters per Line I—LJ—I—I—I—LlLttJ—I—Ljll—L

• Self Diagnostic Test | I

Immediate Delivery

S-100 Mother Board Quiet

18 slot IMSA

TELETYPE MODEL 43

Even if we have to give them away, we're going to ship more 43's in 1979 than the aggregate of all our competitors.

(TTL) 10 _25_

$925. 875. 850. 825.

RS-232 Interface"!*" «dd*75.00

Model 43AAA EACH 3

875.

shfc rED

CONNECTORS

■g

3s

El

IB

your choice

DB25P

male plug&hood

or

DB25S female

'3.95

Qty. fe. male hd. 10 3,45 2.45 1.15 25 3.15 2.25 1.05 100 2.85 1.90 .95 500 2.25 1.60 .85 IK 1.97 1.37 .73

Edge Connectors

GOLD 100 PIN

IMSAI/ALTAIR

Imsai solder .1251.250 Imsai w/w.l25centers Aitalr soldertail.l40row SPECIALS 22/44 Kim eyelet.156" 25/50 solder tab .156" 36/72 wide post W/W.156

14.95 3/110.00 •4.95 3/113.00 S5.95 3/S15.00

S1.95 3/15.00 ♦ 1.09 3/12.00 11.95 3/15.00

5498

llOlor S45.

0

■■_ —^ Certified Digital

SCOtCn CASSETTES

Diskettes

8inchSoft(IBM) 8 inch 32 sector Mini Soft sec. Mini 10 sector Mini 16 sector

Won't drop a BIT!

CALIFORNIA INDUSTRIAL

is an

Authorized

Dealer of

Scotch Brand

Data Products

MEMDRY

Shugart Associates

SA800-R Floppy Disk Drive

The most cost effective way to store data processing information, when random recall is a prime factor. The SA800 is fully compatible with the IBM 3740 format. Write protect circuitry, low maintenance & Shugart quality.

$44950

'24.88

i:.'i i • ^N.

s Y^UNIVAC KEYBOARD

The famous Spp'

APPLE RS-232

Serial Interface *59.95

Interfaces Apple II to Teletype or other serial printer.

ELECTRONIC SYSTEMS

TRS-80S| APPLE II

16k memory (8) 4116's

COLOR TELEVISION

R.E MODULATOR '13?5

compute isplayed diruclly upon your ■sting tele

DISKETTES

Xfcxr\\c*+\m APPLE/TRS-80 VerDdlim. M'"' - Soft sector

SPECiPL

APPLE ((

I6K MEMOR

COLOR •GRAPHICS* SOUND

$1024

Mfg.Suf, Retail....

PLUS SHIPPING

(S) dataphone

$249.

model 8400

Factory new Bell System modems. Some units show cosmetic damage. Documentation not included. Other models available call for price and quantities.

Extender Board

rtlullen 34 s

Facilitates design and troubleshooting of all S-100 microsystems. Includes logic probe along with high-low and pulse LED display. Also available, the Mullin CB-1 controller board $88.

EI

• As you may be aware, publishers require advertisers to submit their ad copy 60 to 90 days prior to "press" date. That much lead time in a volatile market place, sucli as memory circuits, makes it extremely difficult to project future cost and availability. To obtain the best pricing on memory we have made volume commitments to our suppliers, which in turn affords us the opportunity to sell these circuits at the most competitive prices. Please contact us if you if you have a demand for volume state of the art memory products.

STATIC

21L02 450nS. 21L02 250nS. 2114 1KX4 450 2114 1Kx4 300 4044 4Kxl 450

4044 4Kxl 250

4045 1Kx4 450 4045 1Kx4 250 5257 low pow.

1-31 1. 49 1. 69 6.95 8. 95 5.95 9.95 8.95 9.95 7.95

32-99 100-5C -999

1K+

1. 19 1.49 6. 50 8.50 5.50 9.50 8.50 9. 50 7.50

1.05 1. 45 6.25

8. 00 5.00 9,00 8.00

9. 00 7. 05

6.00 5.75

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.95 Floppy Disc Controllers WD 1771 single D. 39. 95 WD1781 Double D 65. 00 WD 1791 D/D3740 *

E PROMS 1-15

1702A 2K 4.95 2708 ■ BK 9. 95 2716 16K 19.95 2532 32K *

VISA

16-63 4.50 9.50

64+ 4. 00 9.00

CLAREPENDAR

General Instrument Corp.

KEYBOARD

ASCII ENCODED

This is a one time purchase of NEW Surplus keyboards, recently aquired from the Telecommunications Division of the Singer Corporation. The keyboard features 128 ASCII characters in a 63 key format, MOS encoder circuitry "N" key rollover, lighted shift lock, control, escape and repete functions.

Sloped pannel and positive feel switches, makes this professional quality keyboard an excellent buy at only $64.95. Limited Quantities.

•19.98

S-100 PROTOTYPE BOARD |

QPlOO-Mailmum design var- $ m sallllty along wllh standard address decoding and bulIfltlllg laf S100 systems. Room lot 32 uncommitted 16 pin iC's, 5 bus butter & decoding chips. 1 DIP address select switch, a 5 volt regulator and more. WWlOO-Wlre wrap breadboard, similar 1o ihe GP100. Allows wire wrop ol all sizes ol sockets In any sizes ot sockets In any combination. An exlra regulator position lor multiple voltage oppllcations

Thumbwheel scKL switch

Ten position

BCD

*

V

I

!l?9e

10 50

S1.18 .89

Miniature Switches

V

63

KEY

'64.95

$.69

Conductor Ft.

RIBBON WIRE

TWISTED PAIR

Transistors

ea. 10 50 100

2N2222A .20 .18 .16.15 2N3055 .69 .65.59.55 .79 .75 .69.65 1.59 149 1.39129 .15 .11 .09.07 .15 .11 .09.07

Diodes

10 25 100 1N4002 lOOv. .08 06.05 1N4005 600v.10.08.07

1N4148 signal .07.05.04

umbo red ea. 10 25 100 fl5.13.11.09

Ml 3055 2N3772 2N3904 2N3906

i'umfao red .ED'<

r» .J »__ SPECIALSPECIALSPECIAL

Power Adapter 0„i, 10,000 Available

6vdc,140mAS1.39 7vdc,1.4 A. 5.50 9vdc,200mA. 1.19

10vAc,300mA

CAPACITORS

ELECTROLYTICS

ea. 10 50

80,000/10v. 395 349 2.95 4500/50V.H49 135 119

1000/15V S.55 49 .45

asial

your choice » - 10 50 100 IK $.98 j,88 .81.73.66 SPOT Miniature Toggles

7101C&K 0N-N0NE-0N

7107 jbt ON-OFRiimt.ON)

7108 CK ON-(momcnt.ON) |

Rocker 1BT DPDT

Rotary 3P-4-Pos.

Rotary 3P-6POS.

PushBtN.O.) S.39ea.4/Sl

"'&

*98

Dutput: 12v.ct. 175mA. TRANSFORMER

TRIMMER

POTENTIOMETERS 2K 5H 10K50K, 5.or '.98

16' 14' 12'

NE555H

\ Mini DIP

forS.98 7.00-100 • 19.50

DIP Switch

'l49

DISCOUNT <

Wire Wrap Center

Heavy duty grounded power cord and mating chassis connectors.

Page Wire Wrap Kits precut & stripped

KITNo.1 *6?s

900 Assorted Lengths

KITNo.2*19?5

2800 Assorted Lengths 250'Bulh Wire

IC SOCKETS

wire wrap ea. 25 SO

low profile ea. 25 50

i

17' 16 15

14

37'36 35

18 17 16

16

38 37 36

19 18 17

24

99 93 85

36 35 34

40

169 155 139

63 60 58

325.95 |

50ft.

s.98

KYNARwMr

500 1,000 11,000 *9. 515. S105.

(213)679-9001

Circle 39 on inquiry card.

What's New?

of INTEREST to DESIGNERS

Low Cost Impact Printing System

A family of impact print mechanisms, the associated controls, and power supplies for inexpensive column printing have been announced by Sodeco, 4 Westchester Plz, Elmsford NY 10523. Series PR15 and PR21 printing mechanisms can print either 15 or 21 columns, respectively, numeric only or full alphanumeric data. The printing is done at speeds of up to three lines per second for numeric models, or 15 lines per second for full alphanumeric. Measuring 5.8 by 6 by 2.3 inches (14.73 by 15.24 by 5.84 cm), the PR series printers use snap-in 2 color ribbon cartridges. The second color permits the highlighting of more important data or messages. Quantities of 100 or more are $105 for the 15 column printer and $130 for the 21 column model.

Sodeco also offers two interface/ controllers. Model 4-621-9205 uses a F8 microprocessor while Model 4-6219210 uses a Mostek 3870 processor. Both interfaces accept ASCII serial and

8 bit parallel, RS232C or BCD parallel data formats. Both interfaces contain all the circuitry required to operate the printers, including the hammer solenoid drivers, read only memory character generator, a full line buffer, timing control, full handshaking facilities and related logic necessary for interfacing and controlling the series PR printer. Prices for the 3870 based interface board are $120 and $250 for the F8 based board. In addition, the 3870 integrated circuit, completely programmed, is available separately for $40.

To provide power for the above system, Sodeco offers a custom power supply that has all the voltages required by the Series PR15 and 21 column printers and the associated interfaces. Designated the Model CP242, the unit is 2 3/4 by 3% by 7 3/4 inches (6.99 by 8.26 by 19.69 cm) and can operate either on 120 VAC, 60 Hz or 220 VAC, 50 Hz line. The CP242 is priced at $90."

Circle 599 on inquiry card.

Keyboard Provides ASR 37 Teletype Format

The 77 key Model L69601 provides the ASR 37 Teletype format with all 128 ASCII characters and a high speed numeric entry pad, five cursor control keys and four spare key positions for custom use. This keyboard features 77 capacitive, low profile solderless key switches, double shot molded keytops, lighted Teletype lock, and two key rollover. The keyswitches offer the standard travel and force of the electric typewriter. This OEM keyboard is available assembled and tested for $139. For further information, contact Yestronics, POB 1892, S Hackensack NJ 07602."

Circle 600 on inquiry card.

New Programmable Keyboard

ICORTRON

programmable

keyboard

This standard ASR 33 keyboard is solid state and offers maximum flexibility due to programmable read only memory encoding. The ASR 33 can be purchased fully encoded or without programmable read only memory for customer programming to provide completely unique codes. Some of the standard features include N key rollover, working life in excess of 100,000,000 operation per keystation, MOS scanning and interlock generation. For additional information request Product Bulletin #K5001 from Cortron Division, Illinois Tool Works Inc, 6601 W Irving Park Rd, Chicago IL 60634."

Circle 601 on inquiry card.

Synchronous Data Link Controller Circuit

This MOS/LSI programmable synchronous data link controller (SDLC)

integrated circuit has been introduced by Western Digital Corp, 3128 Red Hill Av, Newport Beach CA 92663. This new device, the SD 1933A/B, has an NRZI encode and decode option and digital phase lock loop when in 32X mode. Fully compatible with IBM, HDLC, and ADCCP specifications, the SD 1933 controller interfaces parallel digital systems to synchronous serial data communication channels employing ADLC line protocol. In applications such as telecommunications, switching networks, packet switching, or in mainframe terminal communications, the SD 1933 replaces nearly 70 logic integrated circuits currently required for the same function. Featuring synchronous full duplex

operation, programmable modem control interrupts, error detection, and go ahead option for loop applications, the 40 pin chip is able to support bps rates to 1.5 MHz. Its 8 bit architecture enables it to provide a full set of modem controls. The SDLC controller may be used with all types of mainframe, minicomputer and microcomputer data buses. The protocol includes zero insertion and deletion, CRC generation and checking and automatic detection and generation of special control characters. A direct memory access mode is available. Double buffering of data enables the receiver buffer to hold data and status information while the transmitter buffer contains data and control information."

Circle 602 on inquiry card.

222 February 1979©BYTE Publications Inc

E.S.

TRS-80 SERIAL I/O

• RS-232 compatible • Can be used with or without the expansion bus • On board switch selectable baud rates of 110, 150, 300,600,1200,2400, parity or no parity odd or even, 5 to 8 data bits, and 1 or 2 stop bits. D.T.R. line. Board only $19.95 Part No. 8010, with parts $59.95 Part No. 801OA, assembled $79.95 Part No. 801OC. No connectors provided, see below.

HEX ENCODED KEYBOARD

This HEX keyboard has 19 keys, 16 encoded with 3 user definable. The encoded TTL outputs, 8-4-2-1 and STROBE are debounced and available in true and complement form. Four onboard LEDs indicate the HEX code generated for each key depression. The board requires a single +5 volt supply. Board only $15.00 Part No. HEX-3, with parts $49.95 Part No. HEX3A. 44 pin edge connector $4.00 Part No. 44P.

E.S.

4K EPROM

wmc/nc.

EIA/RS-a32 connector Part No. DBS5PSa00.*fch 9', B conductor

cable Si 0 95 Part No. D825P9

3' ribbon catte with attached connectora to fit TRS80 and our serial boardS19.95Part No. 3CAB40.

9 AND 13 SLOT/mm MOTHER BOARDS

All traces are reflow solder covered and both sides are solder masked. The connectors used on these boards are the IMSAI™ type (.125" between pins, .250" between rows). Spacing between connectors is .750". All lines, except power and ground, have a passive RC network termination available. There is a kluge area available that will accept two 40 pin sockets and one 36 pin socket. The circuitry for supplying three separate regulated voltages to the kluge area is contained on the board. Part No. QMB-12 $40 bare, $105 kit, $120 assembled. Part No. QMB-9 $35 bare, $90 kit, $105 assembled.

This board is designed to operate with any speed or power 1702A. Addressable in 4K byte increments and can be configured to occupy either 2K or 4K segments. It can be populated one memory chip at a time. Bare board $30, board with parts $200, assembled $230. Part No. EPM-1

16K OR 32K EPROM

Designed to operate with any speed or power 270B or single voltage (+5V) 2716. Addressable in 4K increments and can occupy multiples of 4K. It can be populated one memory chip at a time. Has bank addressing and Phantom Disable. The board comes with an exclusive software program that can be placed in a 2708 or 2716 that will, when used in conjunction with a RAM memory board, check out every line on the EPM-2. Bare board $30, board with parts with 2708 $455, assembled $485. Board with parts with 2716 $1,225, assembled $1.255. Part No. EPM-2

S-100 BUS ACTIVE TERMINATOR *

Board only $14.95 Part No. 900, with parts $24.95 Part No. 900A

PIICEON

65K DYNAMIC RAM

Main memory for microcomputers, intelligent terminals, business systems, medical systems, and OEM systems. • High density random access memory 48K bytes or 64K bytes • Fully buffered • S-100 bus compatible • Low power (dynamic memory) • Transparent refresh • Digital delay line techniques for reliable operation • Multiple boards allowed using hardware or software controlled bank select • "Phantom" signal for RAM/ ROM overlap • All boards are fully tested prior to shipment. Operating System test and extensive bit pattern testing. • Works directly in B080A processors or Z-80 environment at 2MHz • Currently used by industry • 1 year warranty. Only available assembled and tested with 48K $1,250 Part No. 48K, or with 65K $1,475 Part No. 65^

8080A CPU .With Eight L.v.l Victor interrupt Capability! wmc

Uses the 8080A and the 8224 clock chip. The crystal frequency used is 18 MHz and the vector interrupt chip is the 8214. The board will function normally without the interrupt circuitry. When the interrupt circuitry is built up, the board will respond to eight levels of interrupts. Designed to be a plug-in replacement for the IMSAI CPU board and will work in other computers with the appropriate modifications made to the ribbon cable connector pin out from the front panel. The board will work in systems without a front panel if the system has a PROM board that simulates the functions of the front panel. Bare board $30. with parts $185, assembled $220. Part No. CPU-1

16K STATIC RAM.

Operates with any speed or power 2114. All input and output lines are fully buffered. Addressable in 4K byte increments. If the system has a front panel, the board will allow itself to be protected. If there is no front panel, the board will, not allow itself to be protected. The board has Bank Address capability. Phantom Disable, MWRITE, and selectable wait states. Bare board $30, board with parts $665. Part No. MEM2

8K EPROM piiceon

Saves programs on PROM permanentlyluntil erased via UV light) up to 8K bytes. Programs may be directly run from the program saver such as fixed routines or assemblers. • S100 bus compatible • Room for 8K bytes of EPROM non-volatile memory(2708's). •Onboard PROM programming • Address relocation of each 4K or memory to any 4K boundary within 64K • Power on jump and reset jump option for "turnkey" systems and computers without a front panel • Program saver software available • Solder mask both sides • Full silkscreen for easy assembly. Program saver software in 1 2708 EPROM $25. Bare board $35 including custom coil, board with parts but no EPROMS $139, with 4 EPROMS $179, with 8 EPROMS $219.

TV C\rr\CkT ■ Mention Part number, description, and price. In USA. shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VIS/?

Iw \J\ Uwl ■ number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5% for tax. Outside USA add 10°/o for air mail ' postage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs. components, and circuit board. Documentation is included with all products. 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) 926-4064 -W- Circuits designed by John Bell

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

.ELECTRONIC SYSTEMS DePf- B> *0. Box 21638, San Jose, CA. USA 9515ll

Circle 125 on inquiry card.

BYTE February 1979 223

DIABLO

HYTYPEI

$1595

lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

Discounts on

Xitan, Cromemco, SD Systems, Vector, TEI, North Star, Apple, Hytype II, Qume, Axiom, Tl, Centronics, Integral Data Systems, Soroc, Lear Siegler, Intertec, Micromation, PerSci, Micropolis, SSM, Computalker, Heuristics, Mountain Hardware, Summagraphics, MiniTerm, CompuColor, Exidy.

iiiiiiiiiiiiminiiiiiiiiiiiiimiiiimiiiiiiiiiiiiiiiiiiiiiii

UlSflE fllflPST

Microcomputers, Peripherals and Software

1015 NAVARRO

SAN ANTONIO. TEXAS 78205 512/222 1427

HAZELTINE 1400

only

$649.95!

Verbatim Mini Diskettes $3.70 each (boxes of 10) Two-tier walnut formica enclosure for SA-400 Shugart. . . $39.95 Typewriter Ribbons (many makes such as Diablo, Centronics, DEC and print wheels) North Star check balancing program. . .$50.00

Centronics 779 tractor -$1150.00 Horizon II ass. - $1999.00

Mail Order Only.

TORA SYSTEM INC.

29-02 23rd Avenue

Astoria NY 11105

(212) 932-3533

*

COMPUTER MART of NEW HAMPSHIRE, Inc.

SPECIALIZING IN BUSINESS .u AND PERSONAL COMPUTERS "**

TXAAci/kq,'

DATA GENERAL microNOVA® XITAN, NORTH STAR HORIZON, MICROMATION, IDS PRINTERS, APPLE II

S 100 Bus Products SOFTWARE currently available: AH, GL, AP, Inv., Payroll, Word Processing, and Dental Office Manager.

□

170 Main Street Nashua, NH 03060 603/883 2386

rmcroNOVA* is a registered

trademark of Data General Corp

□

Circle 221 on inquiry card.

Circle 371 on inquiry card.

Circle 76 on inquiry card.

•£&)Texas Instruments

THERMAL PRINTER

$49 95

HANDLING CHARGE INCLUDED

• 12 characters/line

• 5 x 7 dot matrix

• Alphanumeric capability

• Weighs 6 ounces

• Uses 2% inch thermal paper

Send check, money order, or Master Charge or VISA number and expiration date to:

BOOTSTRAP ENTERPRISES

100 N. Centra] Expressway

Richardson, Texas 75080

(214) 238-9262

Circle 33 on inquiry card.

NOW AVAILABLE PET AND SOL SOFTWARE IN BASIC

STATISTICS: D.I

FINANCIAL: Dep'e

S 5 95

and Regression 5 95

Anafyi'l 5 95

n 5 95

all four for only 18 95

5 95 5 95 5 95

i 5 95

4 95

e lor only 10.95

FOR THE KIM-1

A real time PROCESS CONTROL OPERATING SYSTEM

including a process language interpreter [operates in the 1 k KIM 1 RAM)

Assembly lifting S24 95

Cassette tape with users manual 14.95

Schematic for relay control board 9 95

Send check or money-order to

H. GELLER COMPUTER SYSTEMS

Dept. B, P. O. Box 350 NEW YORK, NEW YORK 10040

(New York State residents add 8% sales tax)

APPLE OWNERS

Star Base Aries

ISDG, specialists in apple software, are pleased to announce the availability of the first of many realistic, real time simulations utilizing high resolution graphics. True to the laws of orbital mechanics, this program simulates the acquisition of and docking with a rotating space station.

The program is available in tape

($15.00) and disc ($18.00). The tape

version requires 16K of ram. Forward

check or money order to:

ISDG Inc.

312 Highgate Avenue

Buffalo, New York 14215

(N Y State residents add 7% sales tax)

ALLOW 6 WEEKS FOR DELIVEHV

Circle 187 on inquiry card.

It's

LOGIC

for graphics!

Software

Graphic drivers for Dazzler, Matrox ALT-256**2, and Vector Graphics.

Plus 3D Graphics for Apple II, 8080 and Z80, and M6800.

Hardware —

Matrox ALT-256 display boards.

The engineering & graphics software people

(217)367-0299

LOGIC

BoxV, Savoy, IL 61874

Turn your Hobby into a Profit

New England based Computer Dating Business for Sale

Software, Forms, Marketing

Information, Active Files,

Artwork, etc.

YANKEE DATA GROUP, INC.

P.O. BOX 763

MERRIMACK, Nil 03054

(603) 424-6942

Circle 402 on inquiry card.

P™

♦apple)

SUPER SALE 16K Apple II $1039.95

Apple Disk II

w/controller Applesoft Cards Carrying Case Super Mod

$495.00

$149.95

$29.95

$29.95

UCATAN CORP.

P.O. Box 1000

Destin, Fla. 32541

904-837-2022 Credit Cards Accepted

Ls

Circle 154 on inquiry card.

Circle 351 on inquiry card.

Circle 378 on inquiry card.

rni rw? o^i A "Smart" VIDEO BOARD (*• Ihe EW-2001 KIT At A "Dumb" Price!

^* A VD3E0 BOARD + A MEMORY BOARD + AN I/O BOARD - ALL IN ONE!

■ STATE OF THE ART TECHNOLOGY USING DEDICATED MICROPROCESSOR I.C.

■ NUMBER OF I.C.s REDUCED BY 50% FOR HIGHER RELIABILITY ■ MASTER PIECE OF ENGINEERING ■ FULLY SOFTWARE CONTROLLED Priced at ONLY Basic Software Included

$199.95

SPECIAL FEATURES:

■ S-l 00 bus compatible

■ Parallel keyboard port

■ On board 4K screen memory (optional)* relocatable to main computer memory

■ Text editing capabilities (software optional)

■ Scrolling: up and down through video memory

■ Blinking characters

■ Reversed video

■ Provision for on board ROM

■ CRT and video controls fully programmable (European TV)

■ Programmable no. of scan lines

■ Underline blinking cursor

■ Cursor controls: up, down, left, right, home, carriage return

■ Composite video

*Min. 2K required for operation of this board.

DISPLAY FEATURES:

■ 128 displayable ASCII characters (upper and lower case alphanumeric, controls)

■ 64 or 32 characters per line Gumper selectable)

■ 32 or 16 lines Gumper selectable)

■ Screen capacity 2048 or 512

■ Character generation: 7x11 dot matrix

OPTIONS:

Sockets

SI 0.00

2K Static Memory

(with Sockets)

S45.00

4K Static Memory

(with Sockets)

S90.00

Complete unit, assembled and tested with 4K Memory

S335.00

Basic software on ROM .

$20.00

Text editor on ROM ....

S75.00

DEALER

INQUIRIES WELCOMED

Tl PROGRAMMER $53.9

(Hexadecimal. Octal. Decimal.

lEnter a number in base 8, 10, or 16. Tl Programmer can

■quickly convert to either of the other bases. Rapidly hai

■arithmetic in all three bases giving you more time for inr

lant programming or troubleshooting tasks.

■Ideal for use with any size computer. Tl Programmer u

linteger "two's complement" arithmetic in hexadecimal

(octal bases.

omasa

OBIBQ

$44.95 DATA CHROM

ASCII KEYBOARD KIT $74.00

.Large, easy-to-read 8-digit liquid crystal display. Clock mode displays time, day, date, and AM/PM. Stopwatch mode displays hours, minutes, seconds and tenths of seconds up to 9-59-59.9.

Economical—you'll get typically 12 months normal operation on a single set of batteries.

Attractive—comes in brown vinyl wallet folder with insert pockets for business cards. Makes a neat addition to your personal or business accessories. 24-hour alarm.

Stopwatch records and displays lap and total elapsed times. Up to one-tenth of a second accuracy.

Additional Improvements: Double Size Return Key

Control Characters Molderd on Key Caps

Power: +5V 275mA

OPTIONS:

■ Metal Enclosure Painted Blue and White $27.50

■ 18 Pin Edge Con. $ 2.00

■ l.C. Sockets $ 4.00

SHIPPING: $3.50 California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD. d°p< REDONDO BEACH, CA. 90278

TEL. (213)376-8005 WRITE FOR FREE CATALOG

Minimum Order: $10

Upper and Lower Case Full ASCII Set 7 or 8 Bits Parallel Data Optional Serial Output

Selectable Positve or Negative Strobe, and Strobe Pulse Width

2 Key Roll-Over

3 User DEfineable Keys

P.C. Board Size:

17-3/16" x 5"

■ Serial Output Provision

(Shift Register) $ 2.00

■ Upper Case Lock Switch for Capital Letters and Nos. $ 2.00

Assembled (on Sockets)

and Tested $90.00

APPLE II I/O BOARD KIT

Plugs Into Slot of Apple II Mother Board

18 Bit Parallel Output Port (Expandable to 3 Ports)

1 Input Port

15mA Output Current Sink or Source

Can be used for peripheral equipment such as printers, floppy discs, cassettes, paper tapes, etc.

1 free software listing for SWTP PR40 or IBM selectric

PRICE:

1 Input and 1 Output Port for $49.00

I Input and 3 Output Ports for $64.00 Dealer Inquiries Invited

What's New?

Computer Jargon Made Easy

PUBLICATIONS

Self-Instruction Course in Design of Digital Systems

Design of Digital Systems is a 6 volume set for the engineer and serious electronics and personal computer user. The course leads the reader step by step through number systems and Boolean algebra to memories, counters and arithmetic circuits, and finally to a complete

understanding of microprocessor and computer design. These volumes are priced at $19.95. For further information contact GFN Industries Inc, Suite 400, 888 Seventh Av, New York NY 10019."

Circle 636 on inquiry card.

Book Covers New FORTRAN Standard

This 201 page book by Harry Kalzan Jr covers the new FORTRAN standard, FORTRAN 77, and its language extensions. It shows how FORTRAN'S scope has been broadened in such areas as input and output (IO) facilities, data declaration facilities, subprogram facilities, and the use of integer expressions rather than simple integers. The book provides examples, semantical descrip

tions, and specially prepared syntactical forms that provide specifications of new FORTRAN facilities as well as those of the old 1966 FORTRAN standard.

Language characteristics such as statement structure and program organization are discussed. Data types and constants are also described. Coverage of data structures encompasses variables, character string processing, and arrays. Information on the structure of expressions ranges from conventional FORTRAN arithmetic to relational, logical and the new character expressions. The book explains how FORTRAN statements are executed, storage management, the new specification statements In FORTRAN 77, the new character assignment, variations inherent in the new control statements, and the new block IF facility for structuring programming.

Appendices present generic functions and new facilities, and provide a syntax of FORTRAN 77 statements that can be used as a handy reference, plus a syntax chart that allows comparisons of FORTRAN 77 with its 1966 counterpart.

FORTRAN 77 is priced at $16.95. Contact Van Nostrand Reinhold, 135 W 50th St, New York NY 10020."

Circle 638 on inquiry card.

Informative yet entertaining, Cartoon Computer Dictionary is ideal for anyone new to the world of microcomputers, especially younger people. It contains over 100 commonly used computer terms with easy to understand cartoon style illustrations. This book is priced at $4.95 and it can be ordered from EDFAC Publishing Co, 3507 Hunter Cir, San Antonio TX 78230."

Circle 637 on inquiry card.

New Catalog on Microcircuits for Data Conversion

This recently published 48 page catalog by Datel Systems describes in detail a broad line of monolithic and hybrid data converters. The product line encompasses many new state of the art products including analog to digital and digital to analog converters, analog multiplexers, sample and holds, fast operational amplifiers, voltage to frequency converters and active filters. These devices are specifically designed for a wide range of measurement, control and instrumentation applications. To obtain this free catalog, write to Datel Systems Inc, 1020 Turnpike St, Canton MA 02021."

Circle 639 on inquiry card.

226 February 1979 © BYTE Publications Inc

SOLID STATE SALES. . . <j4n>nounceb a iyiua&f/vmuijfJi vn toom/tufai, yjecAtvo4on-u

A PICTURE MAY BE TAKEN BY OUR CAMERA,

STORED IN A COMPUTER IN REAL TIME AND THEN

DISPLAYED ON A CRT AT AN AFFORDABLE PRICE

VIDEO COMPUTER

PROCESSING SYSTEM

THIS REMARKABLE VP-1 COMPUTER/ INTERFACE KIT HAS THE FOLLOWING:

FEATURES

• IT PRODUCES COMPOSITE VIDEO OUTPUT IN A 128X 128 MATRIX FROM A DIRECT MONITOR CONNECTION USING 8K OF MEMORY

• THE SYSTEM USES A STANDARD S100 BUSS

• WILL NOT TIE UP COMPUTER SOFTWARE WHEN NOT ADDRESSED

• IT DISPLAYS CONTINUOUSLY WHEN NOT ADDRESSED

• IT MAY PRODUCE PSEUDO COLOR AND/OR GRAPHICS (UP TO 16 GREY LEVELS, 4 BIT BINARY)

GRAY LEVELS

THE CAMERA WILL TAKE BETWEEN 15 AND 100 FRAMES/SECOND. THE CAMERA CONNECTS TO THE PROCESSOR WITH SEVEN LINES. THIS INCLUDES VIDEO ANDTIMING SIGNALS APPLICATIONS

• CONTINUOUS SURVEILLANCE

• INSPECTION OF MOVING PARTS WITH PROPER STROBING

• VISUAL GRAPHIC INPUT TO A COMPUTER

• CHARACTER OR PATTERN RECOGNITION

• PICTURES MAY BE TAKEN DIRECTLY FROM A TV WITHOUT ELECTRICAL CONNECTIONS

• THE INTERFACE KIT MAY BE USED SEPARATELY AS A 128 X 128

16 LEVEL GRAPHIC DISPLAY

OUR VP1 VIDEO SYSTEM CONSISTS OF THE FOLLOWING KITS:

• CCD 202C SOLID STATE VIDEO CAMERA KIT(CASE INCLUDED) .$39900

• VP-1 COMPUTER/VIDEO INTERFACE KIT (3 BOARDS) $59900

• ASSEMBLED 8K MEMORY

BOARD (OPTIONAL) $23500

THIS VIDEO COMPUTER KIT CAN WORK WITH THE GE, REDICON, OR ANY OTHER 128 X 128 SENSOR CAMERA

REGULATED POWER SUPPLIES

POWER SYSTEMS # PS1111

115-230V 50/60 cy. in 5v DC at 35A out.

6"x 16y."x 15'/." 26 lbs. shipping weight !

POWER SYSTEMS H PS1106

115-230V 50/60 cy. in 12v DC at 15Aout.

5"x 16«"x 5" 19 lbs. shipping weight. S

4001

4002 4006 4007

4009 4010 4011 4012 4013 4014 4015

C/MOS (DIODE CLAMPED)

18 4019

.18 4020

95 4021

18 4022

.37 4023

.37 4024

.18 4025

.18 4027

.29 4028

.75 4029

.75 4030

29 4035

.90 4042

.90 4046

37 4049

.90 4050

.90 4053

.90 4055

18 4066

75 4071

.18 4076

1.15

37

520

.80 74C00

.95 74C02

.33 74C04

.97 74C08

.65 74C10

1.35 74C73

.35 74C74 .35 74C83

1.10 74C86

1 25 74C93

.70 74C151 1.40

.18 74C160 1.05

.97 74C161 1.05

70 74C174 t.OS

22 74CI75 1.05

.22 74C192 1.20

,24 74C193 1.20

.22 74C901 48

.27 74C902 48

.65 74C914 1.70

«WRS?3] INTERFACE

HOOB"

01 1 JMi*STATIC II 1 256.4SIAIIC 13 1 IM.lSIATlC

BKUCTELEnrHlBBU A/0 CONVERT

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

?N 602B PROG UJT S 65

MINIATURE MULTI-TURN TRIM POTS 100, 1K, 2K, 5K, 10K, 20K, 50K, 100K, 200K. 500K, IMeg, 2Meg, $.75 each 3/$2.00

CHARGED COUPLE DEVICES

CCD 201C 100x100 Imago Sensor S95.00

CCD 202C 100x100 Imago Sensor $145.00

VERIPAX PC BOARD $4.00

This board is a 1/16"single sided paper epoxy board, 4»"x6H" DRILLED and ETCHED wPilch will hold up to 21 single 14 pin IC's or 8,16 or LSI DIP 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 0PTOISOLATOR $ .76

MCT-6 OPTO ISOLATOR $ .80

1 WATT ZENERS: 3.3, 4.7, 5.1, 5.6, 9.1, 10

12, 15, 18, or 22V 6/S1.00

MC6860 MODEM CHIP S9.95

MCM6571A 7x 9 character gen ... S10.75

Silicon Power Rectifiers

'■!.:.i,

RIBBON CABLE » LAT (COLOR CODED) #30 WIRE 26 cond. - .50/pcr loot 40 cond. -.75/per foot 50 cond. - .90/ner foot

CTS 2068 eignt position d.p switch C rs-206-4 lour nosiiior dip switch LIGHT ACTIVATED SCR's TO 18. 200V 'A

. S1.60

SILICON SOLAR CELLS meter .4V at 500 ma $4.00

FND 359 C.C. .4" $ .50 LED READOUTS

FCS 8024 4 digit DL-704 C.A. .3"

C.C. 8" display $5.95 DL 747 C.A. .6"

FND 503 C.C. .8" $ .85 FND 803 C.C. .8"

FND 510 C.A. .5" S .85 FND 810 C.A 8" DL 704 .3" C.C S .85

?CiA

24JJA

100 06 14 30 .80 3 70 $,00 200 07 .20 .35 115 4 25 6.5Q 400 09 25 50 1 40 G 50 9.50 600 11 .30 .70 1 80 8.50 -12.50 800 15 .35 90 2 30 10.50 16.50 1000 20 45 MO 2 75 12 50 20.00 SAD 1024 a REDICON 1024 stage annloo '-Bucket Brigade" shift register. S14.95

IN 4148 IIN914I 15.Si 00

RS232 DB25PmaIe. $2 25

CONNECTORS DB 25S female . , S2.95

HOODS $1.00

REGULATORS

309K $ 1.20 340K-12.15

723 S .50 or 24V. .... $ 95

LM 376 .... S .60 340T-5 6812 320T i5-18 or 24V S 95

S,1o7245....S1.25 3JJ£ • ■■■fj-a

TRANSISTOR SPECIALS

2N6233NPN SWITCHING POWER $1.95 MRF-8004 a CB RF Transistor NPN * -75

2N3772 NPN S.TO-3 $ 1.00

2N1546 PNP GE TO-3 $ .75

2N4908 PNP Si TO 3 S 1 00

2N6056 NPN Si TO 3 DailidRton S 1.70 2N5086 PNP Si TO-92 . . . 4/S 1.00

2N3137 NPN Si RF $ .55

2N39I9 NPN Si TO-3 RF S 1.50

2N1420 NPN Si TO 5 3/$ 1.00

2N3767 NPN Si TO 66 . S .70

2N2222 NPN S. TO 18 5'S 1.00

2N3055 NPN S. TO 3 S .60

2N3904 NPN S. TO 92 6/$ 1.00

2N3906PNPSi TO 92 . 6/$ 1.00

2N5296 NPN Si TO 220 . . S .50

2N6109 PNP Si TO 220 S .55

2N3G38 PNP Si TO 5 5/S 1.00

MPSA 13 NPN Si. . . 4/$ 1.QQ

^^^Tpp|p€^535^^5^^74151-^r~

i il iu aemco7446_ 6B 74153- .61

7400- .13 7447- .58 74154- .94

7401- .13 7448- .68 74155- .58

7402- .13 7450- .15 74157- .55

7403- .13 7472- .25 74161- .55

7404- .15 7473- .28 74162- .79

7405- .13 74/4- .28 74163- .55

7406- .16 7475- .45 74164- .85

7407- .20 7476- .30 74165- .95

7408- .18 7480- .31 74170- 1.68

7409- .18 7483- .65 74173- 1.20

7410- .13 7485- .87 74174- .95

7411- .18 74B8- .28 74175- .85

7412- .13 7489-1.25 74176- .75

7413- .36 7490- .42 74177- .75

7414- .60 7491- .58 74180- .65

7416- .22 7492- .43 74181- 1.90

7417- .25 7493- .43 74190- 1.00 7420- .13 7494- .87 74191- 1.00

7425- .25 7495- .65 74192- .79

7426- .22 7496- .65 74193- .79

7427- .19 7497 - .90 74194- .80 7430- .13 74107- .28 74195 .50 7432- .22 74121- .29 74196- .86

7437- .21 74122- .38 74279- .55

7438- .21 74123- ,45 74298- .90

7440- 13 74125- .40 75325- 1.50

7441- .70 74126- .40 75491- .50

7442- .37 74150- .94 75492- .50

DATA CASSETTES 1/2 HR $.95 22/44 Pin Solder Tail .156" Conn. $1.95

MM 5387AA new clock chip which will directly drive LED's 12/24 hrs., 1 supply & alarm $5.95

NO. 30 WIRE WRAP WIRE SINGLE

STRAND 100' $1.40

ALCO MINIATURE TOGGLE SWITCHES

MTA 106 SPDT S .95

MTA 206 DPDT S 1.70

MTA 206 PDPDT CENTER OFF $ i g5

MSD 206 PDPDT CENTER OFF LEVERSW1TCH $ 185

Full Wave Bridges

DIP 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

St 1020 G 20 WATTS $15.70

Si 1050 G 50 WATTS $28.50

TANTULUM CAPACITORS

22UF 35V 5/S1 00 47UF 35V 5'S1 00 68UF 35V 5 SI 00 1UF 35V 5 SI 00 2.2 UF 20V5.S1.00 3 3UF 20V 4'St 00 4.7UF 15V 5/S1.00

?4LS seRIK

68UF 10UF 22UF 15UF

30UF

47UF

68 UF

100 UF

MLS*)

35V 4-S1 00

10V $ .25

25V S 40

35V 3/S1.00

6V 5/$ 100

20V $ .35

15V $ .50

10V $ .

.76

■nnrorni

LM 101

LM 301.7*8

LM307

LM30H

LMJII

LM318

LM 374

LM339

LM3S8

LM 370

LM377

LM3B0

LM382

LM386

LM387

LM537

LM553

LM555

LM5S6

NE540L

560

565

LM 1310 -250

3900

- .40

BG3BCC

-3.90

791

-1 05

LF3S6H

- 1.20

Circle 340 on inquiry card.

BYTE February 1979 227

VANGUARD

1€l\ STATIC CAM

Designed for IEEE S100 Bus

Standards.

Fully static and fully buffered.

Configured as four 4K blocks

within a 64K address space.

Each block separately addressj able and write-protectable. • Components and assembly

fully burned-in and tested.

One year guarantee.

Assembled Kit Board 250 nsec chips $340. $300. $35 450 nsec chips $300. $260 Order direct by check, Visa or Master Charge. California residents please add 6'/2% tax.

A%tr

Advanced Memory Technology 480 Mercury Drive, Sunnyvale, CA (408) 736-3864 94086

PASCAL $2995

COMPUTER

Call (714) 979-9920

MONTHLY SPECIALS

• Floppy Kit (S100)

SA 801 lloppy (8") & cont S599

• Add On Floppy Drives

SA B00/1 (8") lloppy $469

SA 400 mini lloppy $285

Pertec FD 200 $285

Perlec FD 514 $479

• Centronics 779 printer S999

Centronics P1 $399

Centronics 700/w tractor $1475

• Miscellaneous

Tarbell Controller Kit $185

CP/M Operating System/Manuals .$89

8" Verbatim Diskettes $3.99

5" Diskettes $3.39

16k RAM chips $9.75

Pwr Supply cabinet (mini floppy)... $79

Wr

CO/VOTER INfERMCE TECHNOLOGY

Peripheral Pi odder) Division 2080South Grand. Grand Centre. Sania Ana, CA92705

WILD & CRAZY

ASSEMBLY PROGRAMMERS

The number 2 manufacturer of stand alone POS terminals needs experienced assembly programmers to help introduce 14 new software based products in 1979. Challenging assignments currently exist at all levels including applications, diagnostics and systems software development. Great benefits including yearly vacation to Europe. Starting salary 16-30K. Please call or write Dave Adams, (617) 246-2815. N.E. Recruiters, 6 Lakeside Office Park, Wakefield, MA 01880. Collect calls accepted. Strict confidence assured. All fees, relocation and interviewing expenses assumed by company.

Circle 4 on inquiry card.

Circle 74 on inquiry card.

CANADIANS

Announcing

HAMILTON LOGIC SYSTEMS

Specializing in logic devices, microprocessors,

memorys, TTL, Cmos , etc.

Send for your catalogue

Box 7

STONEY CREEK

ONTARIO L8G 3X7

NATIONWIDE

PROFESSIONAL PLACEMENTS

• Hardware Engineers

• Software Engineers

• Technical Writers

• Technicians

JUDGE

ELECTRONICS SERVICES, INC.

Two Newton Executive Park Newton,MA 02162

(617)965-9700

16K RAMS & RAM CONTROLLERS

I6k x I DYNAMIC RAM MK411B P3

• 200 NSEC ACCESS/375 NSEC CYCLE TIMES

• 16 PIN CERAMIC DEVICE/TTL COMPATIBLE

• ALL CHIPS BURNED IN 3 125°C AND FULLY TESTED, BOTH DYNAMICALLY £ STATICALLY

• PRICEIWITH DATA SHEETJi

• S 76.00 IN QTY OF B/THAT'S $9.50 EACH

• $136.00 IN OTY OF 16/SAVE SI6.00

DYNAMIC MEMORY CONTROLLER MC3480L

• GENERATES RAS/CAS t REFRESH TIMING

FOR 16K TO 64K BYTE MEMORIES

• PRICEtWITH OATA SHEET)t S13.95 EACH

MEMORY ADDRESS MUX/COUNTER MC3242HP

• MUX ADDRESS E REFRESH COUNTER FOR

16K TO 6<tK BYTE MEMORIES

• PRICE(WITH DATA SHEET). $12.50 EACH

QUANTITY DISCOUNTS AVAILABLE ALL ORDERS POSTPAID. U.S. FUNDS DN INTERNATIONAL ORDERS. CHECK OR MONEY ORDER. VISA/BA/MC ALSO ACCEPTED. SEND ACCT.NO., EXPIRATION DATE, fc INTERBANK NO. WITH SIGNED ORDER. CALIF.RESIDENTS PLEASE ADD 6% SALES TAX. PHOr-E ORDERS: 714/633-4460

MEASUREMENT SYSTEMS £ CONTROLS. INC.

MEMORY DEVICES DIVISION 867 NORTH MAIN ST., ORANGE, CA 92668

Circle 157 on inquiry card.

Circle 202 on inquiry card.

Circle 217 on inquiry card.

► WE SHIP FROM STOCK

•TELETYPE MODEL43 $985.00

JwithRS232 $1085.00

a HAZELTINE 1500 995.00

• M9900 MARINCHIP CPU

• Kit: $550.00 Assembled: $700.00

•PROM/RAM/SIO

I Kit: $275.00 Assembled: $350.00

I M9900 SYSTEM

• Assembled and Tested including: Tarbell Disk Constroller, PerSci 277 Disk Drive £t cabinet, IMS Static

■Ram 64 K, all in a TEI S-100 Bus $5,800.00

{PER SCI Model 277

I Dual Disk Drive, single density $1210,00

• Slimline Cabinet w/power supply $299.00

I IMS MEMORY BOARDS 16KB,

J FULLY STATIC Tested and burned in. Uses 2114

: low power IC's $349.00

J S-100 MAINFRAME

ft12 slot, TEI Model MCS-112 $433.00

» To Order: $10 shipping for Teletype, Ha2eltine,

• PerSci and Mainframe. $3 shipping for other items. ^24 hr. shipping upon receipt of certified check or t money order. Personal checks: allow 10 days. Credit | cards: 4% charge. NY residents add tax.

• - We Export

We have no reader inquiry number. Please call or write.

» JOHN D.OWENS ASSOCIATES,inc.

• 147 NORWOOD AVENUE STATEN ISLAND. NEW YORK 10304

I Day, Evening, Weekend, Holiday Calls Welcome!

• (2121448-6283 (212) 448-6298

TRS-80 QUALITY Field-tested Software

WORD PROCESSOR: Helps prepare letters, manuals, books. Use diskette file for text. Page, line control, centering, margin |UStification, etc. Diskette $35 Level II16K vers. $25

MAIL: Lets you enter, display, search, update.

delete name & address info. Labels sorted in

name, state, city or zip order and printed or

displayed.

Diskette $35 Level II 1 Bl< $1 9

DISKETTE DATA BASE Manager, 32K required

$49

INVENTORY: Full inventory control.

Diskette $35 Level lor II BK $20

KEY ACCESS: Blocking and hashing. Diskette required $16

SORT & LINKED-LIST: Level II $16.

Level I or II

Cassette data base manager [8K]

$20

Stock security info & analysis

$10

Check balance

$10

Stock & check

$15

MICRO ARCHITECT

96 Dothan St

1 Arlington MA 021 74

WPDAISY DATABASE

On screen WORD PROCESSING with

a serial terminal

DAISY with a built in text formatter.

A complete dati management lystem with on tcreen updating.

Our operating system. Include* a full library of diik, terminal and device driven.

A relocatable linking macro assembler with linking loader and symbolic debugger.

We provide well tested product! with the tupport you need on both coasts.

- DEALER INQUIRIES INVITED

39 Williami Drive

Monroe, CT 06468

(203) 2617963

Circle 218 on inquiry card.

Circle 377 on inquiry card.

Circle 68 on inquiry card.

for a little more than the cost of a microfloppy, you can buy the best of the dual density 8 inch disc drives.

We are pleased to announce that The Computer Factory has become an authorized sales/service center for the industry-proven Excello Remex line of disc drives. To celebrate this event, we are offering, for a limited time, the Remex RFD1000B Disc Drive at an introductory price of

*P*S%#9hh

$395. This is the lowest price ever advertised for a full size disc drive. This drive can operate in either single or double density mode, and can store up to 800 kbytes unformatted. It has been on the market for three years, and has been proven in the field.

Remember that we are also a service center, and ready to service what we sell at rates that keep hobbyist and small OEM budgets in mind.

BONUS OFFER: We will include two important options — Optical Write Protect and a Door Lock Mechanism (prevents opening door when head is loaded) — list price value $50. for only $25. For ordering promptly. If you include check or M.O. with your order, we will include these two options absolutely FREE.

The Computer Factory P.O. Box 155 Arlington Ma. 02174

Name

Address

City

State Zip

Disc Drives© $395.

Options Packages @ $25.

Shipping ($6.00/drive)

Tax (Mass. Residents)

TOTAL

O Check or M.O. with order (Get free options package)

□ C.O.D. (Include 25% with order)

DM.C.I

□ Visa#

Signature

hurry i

ATTENTION TRS-80 & APPLE USERS

A PRINTER FOR YOUR COMPUTER

TERMS: VISA, MASTER CHARGE, Cashier Check or Money Order. C.O.D. with 10% down. Shipping Via Air or Truck collect.

3 S SALES

P.O. BOX 45944 TULSA, OK 74145 918/622-1058

$99500

MODEL 3S-80 for TRS-80 Ready to plug into your expansion interface.

MODEL 3S-PP

for computers with 8 bit serial port.

MODEL 3S-SS

for computers with RS-232 port.

*109500 for

MODEL 3S-AA

Includes RS-232 card for Applel Specify model number on order.

• Ready to plug into your computer

• Very high quality print

• Completely refurbished IBM 731 I/O Selectric terminal

in a new table

• Upper & lower case removable type ball

• Special I/O interface

• Heavy duty re-mfg. IBM power supply

Circle 364 on inquiry card.

BYTE February 1979 229

Unclassified Ads

FOR SALE: 6800 microprocessors. Have more than I need. All new parts. $12 each. Mike Connolly, 7911 Langdon, Houston TX 77036.

FOR SALE: Heath H9 video terminal. Up and running, all documentation. $425 and I pay shipping. Andy Thornburg, RR2. Thompsonville IL 62890, (618)627-2166.

FOR SALE: Heath ETS-3400 microprocessor course and trainer, mint condition, expertly assembled, including all study materials and final examination, $250. 36 K of Motorola MCM6605 4 KM dynamic programmable memory chips, ceramic, removed from new boards, tested and meet full specs (470 ns). Complete memory design using these chips is outlined in the M6800 applications manual, $75. M6800 applications manual, M6800 programming reference manual, both for $20. All new, unused parts for complete unregulated power supply. Highly filtered +5 V (25 A), -6 V (3 A),±12V (3 A). Chassis included, $60. William Blair, PSC 1 Box 81042, DavisMonthan AFB AZ 85707.

FOR SALE: DEC PDP-8m, mint, with teletype interface, with 4 K core memory, $1100. With 8 K core memory, $1800. 8 K MOS board, $475- Most peripherals and software available, repairs and custom interfacing, systems consulting, trades. PORTACOM, briefcase, impact, ASCII terminals complete with modems. Reconditioned. With manuals $595. New cost is $1500. New boxed ASR 33, $1100. Used, $595. K2DCY, POB 632, W Caldwell NJ 07006. (201) 226-9185 evenings.

FOR SALE: Digital Group Z-80 microcomputer, with 34 K static programmable memory, 4 10,

16 by 64 TVCF, two Phidecks, Phimon. cable, and more. Less than one year old, beautiful, complete system. $2000. P Santi, 73 Tamarack St, Mahtomedi MN 55115, (612) 373-7873.

FOR SALE: Heath H11 computer (LSI-11 based) with 16 K bytes programmable memory, serial IO board, parallel IO board, H10 paper tape reader/ punch, EIS/FIS extended instruction chip, documentation, software. 100 percent assembled and tested. $1800 or best offer. Dave Morrill, 1260 NW

17 Av #4, Rochester MN 55901, (5071 282-0758 evenings.

FOR SALE: Teletype model KSR-35, heavy duty ASCII hardcopy, $450, call about demonstration and delivery. Two (2) OSI 420 memory boards, $75 each. S P Smith, 106 E Clearview, State College PA 16801, (814) 237-3886.

MUST SELL: S-100 Equipment, all assembled and tested, with complete documentation. Three SSM 8 K memory boerds (model MB-6AI $100 each. Thinker Toys Keyed-Up 8080 processor board $180. ECT 8080 Jump-on-Start processor board $100. Speakeasy Multiple IO board with cassette system $90. ECT 20-Slot mother board with ground plane and 10 connectors $60. Send check or money order to: David A Cook, POB 137, Boone NC 28607. (7041 264-3868. Please enclose SASE with all orders or enquiries.

NEW UNCLASSIFIED POLICY

Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect. To he considered for publication, an advertisement must be clearly noncommercial, typed double spaced on plain white paper, contain 75 words or less, and include complete name and address information.

These notices are free of charge and will be printed one time only on a space available basis. Notices can be accepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in an issue of BYTE.

Please note that it may take three or four months for an ad to appear in the magazine. ■

FOR SALE: 15 MHz portable oscilloscope, MS

15 by NLS. Virtually unused, $300 with 10:1 probe. SASE for details. RL Harding, RD=2 Box 10, Middlebury Ctr PA 16935.

FOR SALE: JOLT processor fully socketed and assembled, unused JOLT prototype board, full documentation, and MOS 6502 hardware and programming manuals. $140 postpaid. Jack Ball, Rt 2, Durham MO 63438, (314) 439-5789.

FOR SALE: Hard copy print out fpr your TRS-80 programs. For copyrights, documentation, debugging. Level I or Level II cassettes. Quality listings by tractor-feed printer on full size 14 7/8 by 11 fan folded paper. $2 up to 4 K. $4 up to

16 K. $6 up to 36 K. All orders shipped same day by first class mail. Lydia Urbassik, 13519 Carter Rd, Painesville OH 44077.

FOR SALE: Digital Group Phi-Deck cassette system. Four computer controlled tape drives in handsome cabinet, controller, cable, documentation and software. 2 megabytes on line (C-60 cassettes} with any system. $675 or best offer. Write John Ciaccia, 5707 Valley Pt, San Antonio TX 78233, or call evenings (51 2) 654-0338.

FOR SALE: Digital Group Z-80 system, 34 K, four digital cassette drives (Phi-decks), keyboard, monitor; all software (Maxi BASIC, Business BASIC, assembler, chess, startrek, etc). Total price as kit over $3300. Up and running for $2900 or best offer. John Case, 6703 Timberhill, San Antonio TX 78238, (512)681-7504.

FOR SALE: SwTPC CT-64 terminal, with SwTPC CT-VM green phosphor monitor, $400. In excellent condition and configured for 16 lines of 64 characters. Serial interface is RS-232 with switch selectable bps rate. All documentation included. Will consider trade for printer with parallel interface. Ralph Solli, 117 Walktey Dr, Southington CT 06489, (203) 621-3970.

FOR SALE: Altair 8800 with 18 slot mother board and 11 connectors, 2S IO with both parts (RS-232 and teletypewriter), 16 K static and 8 K dynamic memory. ASR 33 Teletype with paper tape input and punch, both RS-232 and teletypewriter connectors, cables and stand. BASIC operating software and documentation. North Star floppy disk with controller, DOS and BASIC, all documentation. Original cost over $3400, you pay $2250 and shipping costs. Francis Palms, 292 Shawmut Av, Boston MA 02118, (617) 423-3899 or 482-6983.

FOR SALE: SwTPC multiuser board and 4 K BASIC. Assembled, fully socketed, tested-never used. $179. Steve Brainerd, 510 E Washington, Chagrin FIs OH 44022.

WANTED: RCA COSMAC VIP, working or not. John Jensen, 704 Avocado St, St Cloud FL 32729, (305) 892-5015 evenings.

FOR SALE: Kennedy model 330 cartridge tape drive for 3M Vi inch cartridge with serial read/write and control electronics and 4 track RAW head; Kennedy model 339 power supply for above tape drive (will power two decks); Kennedy ANSI compatible format control unit for above tape drive (will control four decks); rack mountable with all necessary cables and connectors and manuals. All equipment has never been used—in original cartons. Asking $1,200. Also have some video terminal equipment. Ed Paul, 6 Pleasant St, S Natick MA 01760, (617) 653-5297.

FOR SALE: Heath H11 system. H11, H9, H10, H11-1, two H11-2s, H11-5, and H11-6, all assembled and tested, $2900. Richard Lyman, 730 11th Av, San Francisco CA 94118, (415) 387-1902.

OLD MANUALS: SDS, XDS, IBM, NCR, Honeywell, UNIVAC, DEC, Burroughs, etc. Send SASE for list. R Rodgers, 508 Sumneytown Pk, North Wales PA 19454, (215) 699-8459.

FOR SALE: Digital Group system; all or part; four 8 K static boards, one 32 K board, 64 by 16 display board. Phi-deck controller, two Phi-decks with cabinet, disk controller, mainframe cabinet, mother board, Z-80 processor, IO board factory assembled and running. Will sell for 10 percent under kit prices. John G White, 216 E 5th St, Port Angeles WA 98362, (206) 457-391 7.

FOR SALE: Selling system to pay for house repairs. . . .wife insists. Six 4 K programmable memory boards (IMSAI programmable memory board 4A-4 with software memory protect) $120 each, all six for $650. One 8K programmable memory board (Ithaca audio) $180. One 2 port serial IO (IMSAI SIO 2-2) $150. One multiple port IO (IMSAI MIO, one serial, two parallel, one cassette tape port) $190. One IMSAI 8080 mainframe (includes chassis, power supply, front panel, microprocessor, 22 slot mother board) $700. One IMSAI floppy and controller (Calcomp 142M in cabinet, FDC 2-1, FIF and cable, uses separate 8080 and performs DMA transfers from controller to system microprocessor address space) $1850. One Lear Siegler ADM-3 video display with upper/lower case, $700. All hardware working and accompanied by available documentation. Buyer pays shipping. Ed Reich, 805 N Cleveland St. Arlington VA 22201, (703) 243-3131 after 6 PM EST.

FOR SALE: Altair 8800A, 12 K, Universal IO board (1 serial 1 Parallel and 3 Cassette ports KC standard with motor control and monitor in read only memory). Heathkit H9 terminal. Assembler and text editor. Assembled and tested. All reasonable offers considered, D Busse, 1510 W Dempster, Mt Prospect IL, (312) 364-0147.

FOR SALE: SwTPC MP6800/I with 32 K memory, DMA controller for PerSci model 277 dual floppy drive, AC-30 2 MP-S boards, MP-T, erasable read only memory programmer, CT-1024 with cursor 'control and RS232, $1500. LA-36 Decwriter excellent condition with coasters and dust cover, $1400. John Sterne, 3880 San Rafael Av, Los Angeles CA 90065, (213) 225-2471.

FOR SALE: Brand new Altair 8800B Microcomputer, 32 K memory, two serial ports, ACR cassette interface. Radio Shack tape recorder, programmable memory board, programmable memory bootstrap loaders, 3202 dual disk, ADM-3A terminal, Altair 8 K extended-disk BASIC, DOS, 10 Dysan diskettes, BASIC programs. Best offer over $8,000. B Verner, 11404 Woodland Dr, Lutherville MD 21093, (301} 828-8422.

FOR SALE: CONRAC 23 inch black and white television monitors. 800 line resolution. Accepts composite video input or external sync. 75 ohm or high impedance input. Capable of "loop through" operation. Heavy duty cabinet equipped with studs for suspension mount, $200. R Meushaw, 4188 Brittany Dr, Ellicott City MD 21043, (301) 4658882.

FOR SALE: ALTAIR 8800B with 20 connectors, 3 to 4 K static memory, 88PMC with BASIC 4.0 boot programmable memory and Polymorphic/BASIC programmable memory, 88ACR, Polymorphic video, SwTPC keyboard with case, 12 inch black and white video display with video conversion, portable cassette player, 8 K BASIC 3.2 and 4.0 patched for Polymorphic video. System runs great but no time to enjoy. Sell all for $2500 or sell mainframe only for $900. C E Chase, 16408 Donmetz St, Granada Hills CA 91343.

FOR SALE: RADAR 1200 bps programmable memory dump and restore routine for SWTBUG (and others with minor modifications) and AC30 — no hardware modifications. Loads 8 K in 94 second. Nine times faster than SWTBUG. Extremely reliable, with error correction capability. 512 bytes. Object tape, relocator, instructions, $20. G Trollope, 466 Caswallen, W Chester PA 19380.

WANTED: Two items: one used Viatron 21 typewriter robot, with documentation and one used parallel-out, ASCII encoded keyboard, prefer separate numeric pad. R J Hartwick, 1158 River Rd, Trenton NJ 08628.

230 February 1979© BYTE Publications Inc

Circle 30 on inquiry card.

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.

ALTAIRS-100: Cont./Ctrs. .12 50/100 Dip Sold. 50/100 Sold. Eye.

IMSAI S-100: Cont./Ctrs. .125" 50/100 Dip Sold. 50/100 W/Wrap 3 IMSAI CARD GUIDES:

CROMEMCO S-100: Cont./Ctrs. 50/100 Dip Sold. (Or short W/Wrapl

5 Row Spacing, .140

$3.95 ea.

6.95 ea.

Row Spacing, .250

$4.20 ea.

3.75 ea.

0.19 ea.

125 Row Spacing, .'. $6.50 ea.

5 pes. 5 pes.

5 pes. 5 pes. 5 pes.

5 pes.

OTHER CONNECTORS AVAILABLE

100 Contact Ctrs.

22/44 Dip Sold. 25/50 Sold. Eye. 40/80 Sold. Eye. 43/86 Dip Sold. 43/86 Sold. Eye.

156 Contact Ctrs. .140

6/- Sgle. Row (PET) 22/44 Sold. Eye. IKIM) 22/44 Dip Sold. IKIM) 43/86 Dip Sold.

Row Spacing.

$2.30 ea. 2.95 ea. 4.80 ea. 4.90 ea. 4.90 ea.

Row Spacing.

$1.00 ea. 1.90 ea. 1.90 ea. 4.90 ea.

156 Contact Ctrs., .200 Row Spacing.

15/30 W/Wrap 3 22/44 W/Wrap 3 36/72 Sold. Eye. 36/72 W/Wrap 3 43/86 W/Wrap 3

$T05 ea. 2.30 ea. 3.45 ea. 3.85 ea. 5.50 ea.

5 pes. 5 pes. 5 pes. 5 pes. 5 pes.

5 pes. 5 pes. 5 pes. 5 pes.

5 pes 5 pes 5 pes 5 pes 5 pes

$3.75 6.50

$3.95 3.50 0.16

$6.00 ea

$2.10 ea.

2.75 ea.

4.50 ea.

4.70 ea.

4.70 ea.

$0.90 1.80 1.80 4.70

$0.95 ea.

2.10 ea.

3.30 ea.

3.70 ea.

5.00 ea.

POLARIZING KEYS FOR ALL OF THE ABOVE:

Specify: IN Contact or BETWEEN Contact:

1 to 49 pes. $0.10 ea. 50 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.10ea.

SUBMINIATURE CONNECTORS: (DB 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

$2.20 ea.

3.40 ea.

1.10 ea.

1.20 ea.

0.70 ea.

1 DB25P, 1 DB25S, Any Hood.) 1 Set: $6.35 ea. 5 sets: $6.15 ea.

NOTE: For Hardware. (D20418-2) Add $.65/Set.

WHISPER FANS

Excellent for computer cabinet cooling. This is the most quiet fan you will find. Only measures 4 3/4 square by 1'/? deep. U. L. Listed.

$21.00 ea. 5 pes. $19.00 ea.

I.C. SOCKETS. GOLD. WIRE WRAP 3 TURN.

$0.36 e 0.38 ea.

Tbe^ianwterprises ♦ ™"*H3!53*^1

I I I I I I I I I I I I

2708 EPROMS PRIME $14.00 ea.

I. C. SOCKETS. Dip Solder. Tin.

14 pin $0.15 ea. 16 pin 0.17 ea.

8080 PRIME

S9.00 ea.

WRITE FOR LARGER WELCOME.

QUANTITY DISCOUNTS. DEALER INQUIRIES ARE

WE ARE CONNECTOR IEDGE CARD) SPECIALISTS. IF YOU DO NOT SEE WHAT YOU NEED IN THIS ADVERTISEMENT, PLEASE WRITE US. WE WILL REPL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders oner $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

—Electrolabs

*}

Tl Sockets! cent per pin.

All low profile solder tail 8 pin - 40 pin.

The "Pro" fully encoded ASCII KEYBOARD by Cherry. Auto REPEAT feature, 5 special function keys. 300mA/5V. (Shown as mounted in The Case', Below) $119.00, 3/99.00,10+/89.00

USED SYLVAN I A

12" MONITORS Working: $69.95 Cold Chassis, 25 lbs. With New P39 (GR) or New P4 (WH) Tube - $99.00

The Dumb Terminal for Smart People

80X24 with full 128 char. ASCII UC+LC font with all control characters displayed. 300-19,200 baud RS232. 2nd font addressable from keyboard in you-program-it 2708 for APL, Graphics sets, etc. Plug in monitor I/O connector, 110VAC and you are ready. INCLUDES: 'The Case', Cherry Kbd. A used monitor, ESAT 200A, all options except vector addressable cursor and modem. Bulletproof design and construction. Normally $675.00 What you always wanted your ADM3 to be:

SYSTEIW'A" $649.00 10/S599.00

CRT Tubes Only

P39-$39.00 "jijg Case" Beautiful and sturdy

anodized aluminum case in deep black designed to contain the ESAT 200A, and with a bezel cut out for the Cherry 'Pro' keyboard, (installed as shown above) Choose deep brown, light yellow, or crimson to accent or color code your installation. The only choice for hard-use institutional and educational applications. $69.00

■PO Box 6721 Stanford^

THE FANTASTIC!

MEMOREX FIVE-FIFTY

a. 94305 415-321-5601

TLX 345567 800-227-8266

► '•■ «

* Hard and Soft Sectoring

* Single and Dual Density

* Double side configuration as a retrofit at any time.

* 110/220 V, 50/60Hz

*Pin for pin compa table with Shugart 800,801,850,851 (50 pin edge connector)

* PRICE BREAKTHROUGH! $425 EACH

Double Sided Retrofit$300

LATEST REVISION: ESAT 200B (BILINGUAL)

Stand Alone Single Board Communicating Terminal

80X24 Standard Format ZT)Q nn

Split Speed 110 to 19,200 Baud *J'b-uu

Two Fonts, 128 Char. ea. in 2708 EPFtOM

Full Feature Cursor, Page Xmit., Scrolling

5V(°>3A, 8"X14" Board. Requires only a

keyboard and almost any monitor for the

best terminal for the money anywhere!

Supplied with U&LC ASCII in one

font, you may easily program the

other one.

•New Items! TRS-80 APPLE Ad on Set-eight and a spare 4116 Type Rams plus instructions $99.00. " Hene Laser Tubes .05-2.0 mW - metal $49.00 Glass $39.00. 'CALL for unbelievable prices GSI/siemens 8' floppy drives starting at $399.00. *Our new catalog is now out! Ask for your free copy.

Shipping and Handling: Surface: $o.40/ib. Air: $0;75/ib., Cal. Tax: 6.5% Insurance: so.so per $1 oo.oo

1.00 minimum

Circle 115 on inquiry card.

BYTE February 1979

231

Resdep Service

To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from the list. Add a 15 cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by B YTE. This helps us bring you a bigger B YTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

2 Administrative Systems 116

4 Advanced Memory Technology 228

3 AJA Software 1 89 6 Ancrona 105

10 Anderson Jacobson 167 9 Apparat Inc 220

22 ATV Research 220

23 AVR Electronics 220 27 Base 2 Inc 97

30 Beckian Enterprises 231

31 Beta Business Systems 220

• BITS Inc 153, 157, 181. 183 33 Bootstrap Enterprises 156, 224

32 Buss/Charles Floto 200

36 BYTE Books 59, 60. 61, 62

37 California Computer Systems 8,9 39 California Digital 221

45 Central Data 146

47 Chrlslin Industries Inc 194

67 Computer Bus 138

70 Computer Enterprises 1 60

68 The Computer Factory of MA 229

• The Computer Factory of NY 49

74 Computer Interface Technology 228 72 Computer Lab of NJ 1 79

75 Computerland 44, 45

76 Computer Mart of NH 224

• Computer Plus Inc 1 76

77 CT Micro Computer 156, 191, 200 83 Contract Services Associates 1 95

87 Control Systems Inc 139

80 Cromemco 1, 2

88 The Cybertron Co 1 52

91 Data Discount Center 169

81 Datafacs System Inc 191 93 DataSearch 189

89 Delta Products 1 47 86 Digital Pathways 173 95 DRC ICA) 197

100 DRC ITX) 219

115 Electrolabs 231

120 Electronic Control Technology 144

125 Electronic Systems 223

130 Electronics Warehouse 225

138 137 139 140 141 142 144 150 154

156 157 158 160 170 173 172 178 179 187

188

190

197 195 200 202

203 216 217 218 222 221 223 224 227 229 228 219 211

ESCON Products 88 231

Federal Communications Corp 132 226

Fisher & Porter 185 230

Forethought Products 68 213

Foto-Fun 87 255

Gallaher Research Inc 68 267

GFN Industries 95 265

Godbout Electronics 111 279

H Geller Computer Systems 224 281

Grumman Aerospace Corporation 1 33 280

H & E Computronics 193 "

Hamilton Logic Systems 228 283

Hayden Book Company 143 285

Heath Company 1 7 282

Hobby World 203 290

Houston Instruments 23 291

HUH Electronics 168 292 Info 2000 182

Integrand 170 294

Interactive Systems 296

Design Group 224 297

International Electronic 288

Equipment Corp 179 301

Ithaca Audio 211 302

Ithaca Audio 93 303

JF Products 192 304

Jade Company 212, 213 306

Jameco Electronics 208, 209 305

Judge Electronics 228 309

Lifeboat Associates 82 314

Lifeboat Associates 125 311

Mad Hatter Software 195 317

Measurement Systems & Controls 115 *

Measurement Systems & Controls 228 313

Micro Architect 228 322

Micro Mail 193 361

Micro Mart 224 318

Micromation 25 310

Micro Pro International 51 316

Micro Puzzles 220 307

Microsette Company 220 312

Micro Soft 75 •

Micro Term 121 ■

Microware 1 58 324

The Micro Works 1 96

Micro World 77

Mikos 216

Mini Computer Supplies Inc 170

Morrow/Thinker Toys 1 5, Clll

Mullen Computer Boards 74

mpi 1 67

National Multiplex 127

NEECO 99

Netronics Research 1 59

New England Recruiter 228

Newman Computer Exchange 217

North Star Computer 19, 27

NRI Schools (Electronics Div) 81

Ohio Scientific 30, 31, 83. CIV

Organic Software 220

Osborne & Associates 135

Owens Associates 228

Pacific Digital 176

Pacific Office Systems 216

PAIA Electronics 1 73

PC Electronics 195

Per Com Data 56, 57

Personal Software 106,107

Pet Shack Software House 1 92

Phone I 43

Priority I 204, 205, 207

Processor Technology 10, 11

PRS 73

Quality Software 197

Quest Electronics 215

RACET Computer 189

Radio Shack 89

Rank Peripherals of Canada Ltd 134

RCA 53

Remote Station Controls 1 52

RNB Enterprises 149

Rochester Data 169

S-100 191

Sawyer Software 197

SC Digital 177

Scelbi 41, 137, 155

Scientific Research 71

Seattle Computer Products 141

323 Semionics 184

319 Michael Shrayer Software 131

320 Shugart 5

327 Ed Smith's Software Works 197

328 Smoke Signal Broadcasting 55 326 SoftSide 189

321 Software 80 129 335 SSM 65

340 Solid State Sales 227

350 Southwest Technical Products Corp Cll

359 Spectronics Corporation 1 42

352 Stirling Bekdorf 145

353 Structured Systems Group 1 23

351 SubLogic 224

354 Sunny International 193

356 Sybex 174

355 Synchro Sound 113

357 Talos Systems Inc 21

360 Tarbell Electronics 69

362 Teletek 103

363 Technical Systems Consultants 79

364 3 S Sales Inc 151, 229

368 Terrapin Inc 1 68

369 Robert Tinney 35

371 Tora System Inc 224

372 TransData Inc 191

373 Transition Enterprises 220

374 TransNet Corp 1 77

377 TSA Software 228

378 Ucatan 224 383 US Brokers 152 382 US Robotics 152

386 Upper Case Books 195

394 Vector Electronics 11 8 396 Wintek Corp 182

395 Worldwide Electronics 220

400 Xitex 1 98

401 Xitex 199

402 Yankee Data Group Inc 224

GYTE's Ongoing Monitor Gox

*Correspond directly with Company

Scanner and Bulletin Board Tie for First Place BOMB

Article No.

ARTICLE

1 Filo: Designing a Robot from Nature

2 Ritter, Boney: A Microprocessor for the Revolution

3 Loos: Use Your Television Set as a Video Monitor

4 Lucas: Another Plotter to Toy With

5 Schaeffer: The Eclectic Card Reader

6 Franson: Assembling the ADM-3A

7 Baxter, Daly: A Hobbyist Robot Arm

8 Giacomo: A Stepping Motor Primer

9 Lord: Fast Fourier for the 6800

10 Stuck: Approaching Game Problem Design

11 Raskin: Unlimited Precision Division

12 Ciarcia: Build a Computer Controlled Security System for Your Home

13 Wimble: Hamming Error Correcting Code

14 Klein: Files on Parade

PAGE

12

32

46

66

70

76

84

90

108

120

154

162

180

186

Two articles tied for first place in the November 1978 BOMB: "Hobbyist Computerized Bulletin Board," by Ward Christensen and Randy Suess (page 150), and "I've Got You in My Scanner! A Computer Controlled Stepper Motor Light Scanner," by Steve Ciarcia (page 76). In second place was "The Sky's the Limit" by Joe Kasser (page 48). The first and second prizes are $100 and $50, respectively.

The third place article was "A Multiuser Data Network" by Robert Bruninga (page 120); fourth place was held by "Functional Approximations" by Fred Ruckdeschel (page 34).■

232 February 1979 © BYTE Publications In

The Microcomputers you should take seriously.

The C3 Series is the microcomputer family with the hardware features, high level software and application programs that serious users in business and industry demand from a computer system, no matter what its size.

Since its introduction in August, 1977, the C3 has become one of the most successful mircocomputer systems in small business, educational and industrial development applications. Thousands of C3's have been delivered and today hundreds of demonstrator units are set up at systems dealers around the country.

Now the C3 systems offer features which make their performance comparable with today's most powerful minibased systems. Some of these features are:

Three processors today, more tomorrow.

The C3 Series is the only computer system with the three most popular processors— the 6502A, 68B00 and Z-80. This allows you to take maximum advantage of the Ohio Scientific software library and the tremendous number of programs offered by independent suppliers and publishers. And all C3's have provisions for the next generation of 16 bit micros via their 16 bit data BUS, 20 address bits, and unused processor select codes. This means you'll be able to plug a CPU expander card with two or more 16 bit micros right in to your existing C3 computer. Systems Software for three processors.

Five DOS options including development, end user, and virtual data file single user systems, real time, time share, and networkable multi-user systems.

The three most popular computer languages including three types of BASIC

Circle 290 on inquiry card.

C3-B

plus FORTRAN and COBOL with more languages on the way. And, of course, complete assembler, editor, debugger and run time packages for each of the system's microprocessors. Applications Software for Small Business Users.

Ready made factory supported small business software including Accounts Receivable. Payables, Cash Receipts. Disbursements. General Ledger. Balance Sheet, P & L Statements, Payroll, Personnel files, Inventory and Order Entry as stand alone packages or integrated systems. A complete word processor system with full editing and output formatting including justification, proportional spacing and hyphenation that can compete directly with dedicated word processor systems.

There are specialized applications packages for specific businesses, plus the vast general library of standard BASIC, FORTRAN and COBOL software. OS-DMS, the new software star.

Ohio Scientific has developed a remarkable new Information Management system which provides end user

The C3 Series from Ohio Scientific.

□a

□□

MIUMM*

III

intelligence far beyond what you would expect from even the most powerful minisystems. Basically, it allows end users to store any collection of information under a Data Base Manager and then instantly obtain information, lists, reports, statistical analysis and even answers to conventional "English" questions pertinent to information in the Data Base. OS-DMS allows many applications to be computerized without any programming! The new "GT" option heralds the new era of sub-microsecond microcomputers.

Ohio Scientific now offers the 6502C microprocessor with 150 nanosecond main memory as the GT option on all C3 Series products. This system performs a memory to register ADD in 600 nanoseconds and a JUMP (65K byte range) in 900 nanoseconds. The system performs an average of 1.5 million instructions per second executing typical end user applications software (and that's a mix of 8. 16 and 24 bit instructions!). Mini-system Expansion Ability.

C3 systems offer the greatest expansion capability in the microcomputer industry, including a full line of over 40 expansion accessories. The maximum configuration is 768K bytes RAM. four 80 million byte Winchester hard disks, 16 communications ports, real time clock, line printer, word processing printer and numerous control interfaces.

Prices you have to take seriously.

The C3 systems have phenomenal performance-to-cost ratios. The C3-S1 with 32K static RAM, dual 8" floppies, RS-232 port, BASIC and DOS has a suggested retail price of under $3600. 80 megabyte disk based systems start at under $12,000. Our OS-CP/M software package with BASIC. FORTRAN and COBOL is only $600. The OS-DMS nucleus package has a suggested retail price of only $300. and other options are comparably priced.

To get the full story on the C3 systems and what they can do for you. contact your local Ohio Scientific dealer or call the factory at (216) 562-3101

C3-B wins Award of Merit al WESCON '78 as Ihe outslanding microcomputer application for Small Business

<3B

C3-S1

_

1333 S. Chillicothe Road • Aurora,

C30EM

DOUBLE DENSITY

SOLID SAVINGS!

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

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

DISCUS/2D™ is a second generation disk memory system that's compatible with the new IBM System 34 format. The disk drive is a full-size Shugart 800R, the standard of reliability and performance in disk drives. It's delivered in a handsome cabinet with built-in power supply.

The S-100 controller utilizes the amazing Western Digital 1791 dual-density controller chip... plus power-on jump circuitry, 1K of RAM, 1K of ROM with built-in monitor, and a hardware UART to make I/O interfacing a snap.

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

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

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

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

*CP/M is a trademark of Digital Research.

9 Circle 255 on inquiry card.

Morrow makes disk memory for

i milker Tbys